diff -Nru firefox-esr-115.10.0esr+build1/BUILDID firefox-esr-115.11.0esr+build1/BUILDID --- firefox-esr-115.10.0esr+build1/BUILDID 2024-04-08 19:17:34.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/BUILDID 2024-05-07 06:10:56.000000000 +0000 @@ -1 +1 @@ -20240408145128 \ No newline at end of file +20240506144012 \ No newline at end of file diff -Nru firefox-esr-115.10.0esr+build1/CLOBBER firefox-esr-115.11.0esr+build1/CLOBBER --- firefox-esr-115.10.0esr+build1/CLOBBER 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/CLOBBER 2024-05-07 06:03:34.000000000 +0000 @@ -22,4 +22,4 @@ # changes to stick? As of bug 928195, this shouldn't be necessary! Please # don't change CLOBBER for WebIDL changes any more. -Merge day clobber 2024-03-18 \ No newline at end of file +Merge day clobber 2024-04-15 \ No newline at end of file diff -Nru firefox-esr-115.10.0esr+build1/SOURCE_CHANGESET firefox-esr-115.11.0esr+build1/SOURCE_CHANGESET --- firefox-esr-115.10.0esr+build1/SOURCE_CHANGESET 2024-04-08 19:10:37.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/SOURCE_CHANGESET 2024-05-07 06:04:01.000000000 +0000 @@ -1 +1 @@ -64fc0d6e7ff6b1d626e40d45c492fa210591a1c0 \ No newline at end of file +36d2dde067333d0c181cb8e21b12b73c307575db \ No newline at end of file diff -Nru firefox-esr-115.10.0esr+build1/browser/base/content/tabbrowser.js firefox-esr-115.11.0esr+build1/browser/base/content/tabbrowser.js --- firefox-esr-115.10.0esr+build1/browser/base/content/tabbrowser.js 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/base/content/tabbrowser.js 2024-05-07 06:03:35.000000000 +0000 @@ -2128,18 +2128,6 @@ // doesn't keep the window alive. b.permanentKey = new (Cu.getGlobalForObject(Services).Object)(); - // Ensure that SessionStore has flushed any session history state from the - // content process before we this browser's remoteness. - if (!Services.appinfo.sessionHistoryInParent) { - b.prepareToChangeRemoteness = () => - SessionStore.prepareToChangeRemoteness(b); - b.afterChangeRemoteness = switchId => { - let tab = this.getTabForBrowser(b); - SessionStore.finishTabRemotenessChange(tab, switchId); - return true; - }; - } - const defaultBrowserAttributes = { contextmenu: "contentAreaContextMenu", message: "true", diff -Nru firefox-esr-115.10.0esr+build1/browser/base/content/test/performance/browser_startup_content.js firefox-esr-115.11.0esr+build1/browser/base/content/test/performance/browser_startup_content.js --- firefox-esr-115.10.0esr+build1/browser/base/content/test/performance/browser_startup_content.js 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/base/content/test/performance/browser_startup_content.js 2024-05-07 06:03:35.000000000 +0000 @@ -55,12 +55,6 @@ ]), }; -if (!Services.appinfo.sessionHistoryInParent) { - known_scripts.modules.add( - "resource:///modules/sessionstore/ContentSessionStore.sys.mjs" - ); -} - if (AppConstants.NIGHTLY_BUILD) { // Browser front-end. known_scripts.modules.add("resource:///actors/InteractionsChild.sys.mjs"); @@ -71,7 +65,6 @@ const intermittently_loaded_scripts = { modules: new Set([ "resource://gre/modules/nsAsyncShutdown.sys.mjs", - "resource://gre/modules/sessionstore/Utils.sys.mjs", // Translations code which may be preffed on. "resource://gre/actors/TranslationsChild.sys.mjs", diff -Nru firefox-esr-115.10.0esr+build1/browser/components/customizableui/CustomizeMode.sys.mjs firefox-esr-115.11.0esr+build1/browser/components/customizableui/CustomizeMode.sys.mjs --- firefox-esr-115.10.0esr+build1/browser/components/customizableui/CustomizeMode.sys.mjs 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/components/customizableui/CustomizeMode.sys.mjs 2024-05-07 06:03:34.000000000 +0000 @@ -27,7 +27,6 @@ ChromeUtils.defineESModuleGetters(lazy, { AddonManager: "resource://gre/modules/AddonManager.sys.mjs", DragPositionManager: "resource:///modules/DragPositionManager.sys.mjs", - SessionStore: "resource:///modules/sessionstore/SessionStore.sys.mjs", URILoadingHelper: "resource:///modules/URILoadingHelper.sys.mjs", }); ChromeUtils.defineModuleGetter( @@ -225,7 +224,6 @@ gTab = aTab; gTab.setAttribute("customizemode", "true"); - lazy.SessionStore.persistTabAttribute("customizemode"); if (gTab.linkedPanel) { gTab.linkedBrowser.stop(); diff -Nru firefox-esr-115.10.0esr+build1/browser/components/enterprisepolicies/Policies.sys.mjs firefox-esr-115.11.0esr+build1/browser/components/enterprisepolicies/Policies.sys.mjs --- firefox-esr-115.10.0esr+build1/browser/components/enterprisepolicies/Policies.sys.mjs 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/components/enterprisepolicies/Policies.sys.mjs 2024-05-07 06:03:34.000000000 +0000 @@ -1725,6 +1725,8 @@ "places.", "pref.", "print.", + "privacy.userContext.enabled", + "privacy.userContext.ui.enabled", "signon.", "spellchecker.", "toolkit.legacyUserProfileCustomizations.stylesheets", @@ -1904,13 +1906,11 @@ onBeforeAddons(manager, param) { if (param.Locked) { manager.disallowFeature("changeProxySettings"); - lazy.ProxyPolicies.configureProxySettings(param, setAndLockPref); - } else { - lazy.ProxyPolicies.configureProxySettings( - param, - PoliciesUtils.setDefaultPref - ); } + lazy.ProxyPolicies.configureProxySettings( + param, + PoliciesUtils.setDefaultPref + ); }, }, diff -Nru firefox-esr-115.10.0esr+build1/browser/components/enterprisepolicies/helpers/ProxyPolicies.sys.mjs firefox-esr-115.11.0esr+build1/browser/components/enterprisepolicies/helpers/ProxyPolicies.sys.mjs --- firefox-esr-115.10.0esr+build1/browser/components/enterprisepolicies/helpers/ProxyPolicies.sys.mjs 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/components/enterprisepolicies/helpers/ProxyPolicies.sys.mjs 2024-05-07 06:03:35.000000000 +0000 @@ -31,6 +31,22 @@ ["autoConfig", Ci.nsIProtocolProxyService.PROXYCONFIG_PAC], ]); +let proxyPreferences = [ + "network.proxy.type", + "network.proxy.autoconfig_url", + "network.proxy.socks_remote_dns", + "signon.autologin.proxy", + "network.proxy.socks_version", + "network.proxy.no_proxies_on", + "network.proxy.share_proxy_settings", + "network.proxy.http", + "network.proxy.http_port", + "network.proxy.ssl", + "network.proxy.ssl_port", + "network.proxy.socks", + "network.proxy.socks_port", +]; + export var ProxyPolicies = { configureProxySettings(param, setPref) { if (param.Mode) { @@ -107,5 +123,13 @@ if (param.SOCKSProxy) { setProxyHostAndPort("socks", param.SOCKSProxy); } + + // All preferences should be locked regardless of whether or not a + // specific value was set. + if (param.Locked) { + for (let preference of proxyPreferences) { + Services.prefs.lockPref(preference); + } + } }, }; diff -Nru firefox-esr-115.10.0esr+build1/browser/components/enterprisepolicies/tests/xpcshell/test_simple_pref_policies.js firefox-esr-115.11.0esr+build1/browser/components/enterprisepolicies/tests/xpcshell/test_simple_pref_policies.js --- firefox-esr-115.10.0esr+build1/browser/components/enterprisepolicies/tests/xpcshell/test_simple_pref_policies.js 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/components/enterprisepolicies/tests/xpcshell/test_simple_pref_policies.js 2024-05-07 06:03:34.000000000 +0000 @@ -1034,6 +1034,18 @@ "extensions.formautofill.creditCards.enabled": false, }, }, + + // POLICY: Proxy - locking if no values are set + { + policies: { + Proxy: { + Locked: true, + }, + }, + lockedPrefs: { + "network.proxy.type": 5, + }, + }, ]; add_task(async function test_policy_simple_prefs() { diff -Nru firefox-esr-115.10.0esr+build1/browser/components/sessionstore/ContentRestore.sys.mjs firefox-esr-115.11.0esr+build1/browser/components/sessionstore/ContentRestore.sys.mjs --- firefox-esr-115.10.0esr+build1/browser/components/sessionstore/ContentRestore.sys.mjs 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/components/sessionstore/ContentRestore.sys.mjs 1970-01-01 00:00:00.000000000 +0000 @@ -1,435 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -const lazy = {}; - -ChromeUtils.defineESModuleGetters(lazy, { - SessionHistory: "resource://gre/modules/sessionstore/SessionHistory.sys.mjs", - Utils: "resource://gre/modules/sessionstore/Utils.sys.mjs", -}); - -/** - * This module implements the content side of session restoration. The chrome - * side is handled by SessionStore.sys.mjs. The functions in this module are called - * by content-sessionStore.js based on messages received from SessionStore.sys.mjs - * (or, in one case, based on a "load" event). Each tab has its own - * ContentRestore instance, constructed by content-sessionStore.js. - * - * In a typical restore, content-sessionStore.js will call the following based - * on messages and events it receives: - * - * restoreHistory(tabData, loadArguments, callbacks) - * Restores the tab's history and session cookies. - * restoreTabContent(loadArguments, finishCallback) - * Starts loading the data for the current page to restore. - * restoreDocument() - * Restore form and scroll data. - * - * When the page has been loaded from the network, we call finishCallback. It - * should send a message to SessionStore.sys.mjs, which may cause other tabs to be - * restored. - * - * When the page has finished loading, a "load" event will trigger in - * content-sessionStore.js, which will call restoreDocument. At that point, - * form data is restored and the restore is complete. - * - * At any time, SessionStore.sys.mjs can cancel the ongoing restore by sending a - * reset message, which causes resetRestore to be called. At that point it's - * legal to begin another restore. - */ -export function ContentRestore(chromeGlobal) { - let internal = new ContentRestoreInternal(chromeGlobal); - let external = {}; - - let EXPORTED_METHODS = [ - "restoreHistory", - "restoreTabContent", - "restoreDocument", - "resetRestore", - ]; - - for (let method of EXPORTED_METHODS) { - external[method] = internal[method].bind(internal); - } - - return Object.freeze(external); -} - -function ContentRestoreInternal(chromeGlobal) { - this.chromeGlobal = chromeGlobal; - - // The following fields are only valid during certain phases of the restore - // process. - - // The tabData for the restore. Set in restoreHistory and removed in - // restoreTabContent. - this._tabData = null; - - // Contains {entry, scrollPositions, formdata}, where entry is a - // single entry from the tabData.entries array. Set in - // restoreTabContent and removed in restoreDocument. - this._restoringDocument = null; - - // This listener is used to detect reloads on restoring tabs. Set in - // restoreHistory and removed in restoreTabContent. - this._historyListener = null; - - // This listener detects when a pending tab starts loading (when not - // initiated by sessionstore) and when a restoring tab has finished loading - // data from the network. Set in restoreHistory() and restoreTabContent(), - // removed in resetRestore(). - this._progressListener = null; -} - -/** - * The API for the ContentRestore module. Methods listed in EXPORTED_METHODS are - * public. - */ -ContentRestoreInternal.prototype = { - get docShell() { - return this.chromeGlobal.docShell; - }, - - /** - * Starts the process of restoring a tab. The tabData to be restored is passed - * in here and used throughout the restoration. The epoch (which must be - * non-zero) is passed through to all the callbacks. If a load in the tab - * is started while it is pending, the appropriate callbacks are called. - */ - restoreHistory(tabData, loadArguments, callbacks) { - this._tabData = tabData; - - // In case about:blank isn't done yet. - let webNavigation = this.docShell.QueryInterface(Ci.nsIWebNavigation); - webNavigation.stop(Ci.nsIWebNavigation.STOP_ALL); - - // Make sure currentURI is set so that switch-to-tab works before the tab is - // restored. We'll reset this to about:blank when we try to restore the tab - // to ensure that docshell doeesn't get confused. Don't bother doing this if - // we're restoring immediately due to a process switch. It just causes the - // URL bar to be temporarily blank. - let activeIndex = tabData.index - 1; - let activePageData = tabData.entries[activeIndex] || {}; - let uri = activePageData.url || null; - if (uri && !loadArguments) { - webNavigation.setCurrentURIForSessionStore(Services.io.newURI(uri)); - } - - lazy.SessionHistory.restore(this.docShell, tabData); - - // Add a listener to watch for reloads. - let listener = new HistoryListener(this.docShell, () => { - // On reload, restore tab contents. - this.restoreTabContent(null, false, callbacks.onLoadFinished); - }); - - webNavigation.sessionHistory.legacySHistory.addSHistoryListener(listener); - this._historyListener = listener; - - // Make sure to reset the capabilities and attributes in case this tab gets - // reused. - SessionStoreUtils.restoreDocShellCapabilities( - this.docShell, - tabData.disallow - ); - - // Add a progress listener to correctly handle browser.loadURI() - // calls from foreign code. - this._progressListener = new ProgressListener(this.docShell, { - onStartRequest: () => { - // Some code called browser.loadURI() on a pending tab. It's safe to - // assume we don't care about restoring scroll or form data. - this._tabData = null; - - // Listen for the tab to finish loading. - this.restoreTabContentStarted(callbacks.onLoadFinished); - - // Notify the parent. - callbacks.onLoadStarted(); - }, - }); - }, - - /** - * Start loading the current page. When the data has finished loading from the - * network, finishCallback is called. Returns true if the load was successful. - */ - restoreTabContent(loadArguments, isRemotenessUpdate, finishCallback) { - let tabData = this._tabData; - this._tabData = null; - - let webNavigation = this.docShell.QueryInterface(Ci.nsIWebNavigation); - - // Listen for the tab to finish loading. - this.restoreTabContentStarted(finishCallback); - - // Reset the current URI to about:blank. We changed it above for - // switch-to-tab, but now it must go back to the correct value before the - // load happens. Don't bother doing this if we're restoring immediately - // due to a process switch. - if (!isRemotenessUpdate) { - webNavigation.setCurrentURIForSessionStore( - Services.io.newURI("about:blank") - ); - } - - try { - if (loadArguments) { - // If the load was started in another process, and the in-flight channel - // was redirected into this process, resume that load within our process. - // - // NOTE: In this case `isRemotenessUpdate` must be true. - webNavigation.resumeRedirectedLoad( - loadArguments.redirectLoadSwitchId, - loadArguments.redirectHistoryIndex - ); - } else if (tabData.userTypedValue && tabData.userTypedClear) { - // If the user typed a URL into the URL bar and hit enter right before - // we crashed, we want to start loading that page again. A non-zero - // userTypedClear value means that the load had started. - // Load userTypedValue and fix up the URL if it's partial/broken. - let loadURIOptions = { - triggeringPrincipal: - Services.scriptSecurityManager.getSystemPrincipal(), - loadFlags: Ci.nsIWebNavigation.LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP, - }; - webNavigation.fixupAndLoadURIString( - tabData.userTypedValue, - loadURIOptions - ); - } else if (tabData.entries.length) { - // Stash away the data we need for restoreDocument. - this._restoringDocument = { - formdata: tabData.formdata || {}, - scrollPositions: tabData.scroll || {}, - }; - - // In order to work around certain issues in session history, we need to - // force session history to update its internal index and call reload - // instead of gotoIndex. See bug 597315. - let history = webNavigation.sessionHistory.legacySHistory; - history.reloadCurrentEntry(); - } else { - // If there's nothing to restore, we should still blank the page. - let loadURIOptions = { - triggeringPrincipal: - Services.scriptSecurityManager.getSystemPrincipal(), - loadFlags: Ci.nsIWebNavigation.LOAD_FLAGS_BYPASS_HISTORY, - // Specify an override to force the load to finish in the current - // process, as tests rely on this behaviour for non-fission session - // restore. - remoteTypeOverride: Services.appinfo.remoteType, - }; - webNavigation.loadURI( - Services.io.newURI("about:blank"), - loadURIOptions - ); - } - - return true; - } catch (ex) { - if (ex instanceof Ci.nsIException) { - // Ignore page load errors, but return false to signal that the load never - // happened. - return false; - } - } - return null; - }, - - /** - * To be called after restoreHistory(). Removes all listeners needed for - * pending tabs and makes sure to notify when the tab finished loading. - */ - restoreTabContentStarted(finishCallback) { - // The reload listener is no longer needed. - this._historyListener.uninstall(); - this._historyListener = null; - - // Remove the old progress listener. - this._progressListener.uninstall(); - - // We're about to start a load. This listener will be called when the load - // has finished getting everything from the network. - this._progressListener = new ProgressListener(this.docShell, { - onStopRequest: () => { - // Call resetRestore() to reset the state back to normal. The data - // needed for restoreDocument() (which hasn't happened yet) will - // remain in _restoringDocument. - this.resetRestore(); - - finishCallback(); - }, - }); - }, - - /** - * Finish restoring the tab by filling in form data and setting the scroll - * position. The restore is complete when this function exits. It should be - * called when the "load" event fires for the restoring tab. Returns true - * if we're restoring a document. - */ - restoreDocument() { - if (!this._restoringDocument) { - return; - } - - let { formdata, scrollPositions } = this._restoringDocument; - this._restoringDocument = null; - - let window = this.docShell.domWindow; - - // Restore form data. - lazy.Utils.restoreFrameTreeData(window, formdata, (frame, data) => { - // restore() will return false, and thus abort restoration for the - // current |frame| and its descendants, if |data.url| is given but - // doesn't match the loaded document's URL. - return SessionStoreUtils.restoreFormData(frame.document, data); - }); - - // Restore scroll data. - lazy.Utils.restoreFrameTreeData(window, scrollPositions, (frame, data) => { - if (data.scroll) { - SessionStoreUtils.restoreScrollPosition(frame, data); - } - }); - }, - - /** - * Cancel an ongoing restore. This function can be called any time between - * restoreHistory and restoreDocument. - * - * This function is called externally (if a restore is canceled) and - * internally (when the loads for a restore have finished). In the latter - * case, it's called before restoreDocument, so it cannot clear - * _restoringDocument. - */ - resetRestore() { - this._tabData = null; - - if (this._historyListener) { - this._historyListener.uninstall(); - } - this._historyListener = null; - - if (this._progressListener) { - this._progressListener.uninstall(); - } - this._progressListener = null; - }, -}; - -/* - * This listener detects when a page being restored is reloaded. It triggers a - * callback and cancels the reload. The callback will send a message to - * SessionStore.sys.mjs so that it can restore the content immediately. - */ -function HistoryListener(docShell, callback) { - let webNavigation = docShell.QueryInterface(Ci.nsIWebNavigation); - webNavigation.sessionHistory.legacySHistory.addSHistoryListener(this); - - this.webNavigation = webNavigation; - this.callback = callback; -} -HistoryListener.prototype = { - QueryInterface: ChromeUtils.generateQI([ - "nsISHistoryListener", - "nsISupportsWeakReference", - ]), - - uninstall() { - let shistory = this.webNavigation.sessionHistory.legacySHistory; - if (shistory) { - shistory.removeSHistoryListener(this); - } - }, - - OnHistoryGotoIndex() {}, - OnHistoryPurge() {}, - OnHistoryReplaceEntry() {}, - - // This will be called for a pending tab when loadURI(uri) is called where - // the given |uri| only differs in the fragment. - OnHistoryNewEntry(newURI) { - let currentURI = this.webNavigation.currentURI; - - // Ignore new SHistory entries with the same URI as those do not indicate - // a navigation inside a document by changing the #hash part of the URL. - // We usually hit this when purging session history for browsers. - if (currentURI && currentURI.spec == newURI.spec) { - return; - } - - // Reset the tab's URL to what it's actually showing. Without this loadURI() - // would use the current document and change the displayed URL only. - this.webNavigation.setCurrentURIForSessionStore( - Services.io.newURI("about:blank") - ); - - // Kick off a new load so that we navigate away from about:blank to the - // new URL that was passed to loadURI(). The new load will cause a - // STATE_START notification to be sent and the ProgressListener will then - // notify the parent and do the rest. - let loadFlags = Ci.nsIWebNavigation.LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP; - let loadURIOptions = { - triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal(), - loadFlags, - }; - this.webNavigation.loadURI(newURI, loadURIOptions); - }, - - OnHistoryReload() { - this.callback(); - - // Cancel the load. - return false; - }, -}; - -/** - * This class informs SessionStore.sys.mjs whenever the network requests for a - * restoring page have completely finished. We only restore three tabs - * simultaneously, so this is the signal for SessionStore.sys.mjs to kick off - * another restore (if there are more to do). - * - * The progress listener is also used to be notified when a load not initiated - * by sessionstore starts. Pending tabs will then need to be marked as no - * longer pending. - */ -function ProgressListener(docShell, callbacks) { - let webProgress = docShell - .QueryInterface(Ci.nsIInterfaceRequestor) - .getInterface(Ci.nsIWebProgress); - webProgress.addProgressListener(this, Ci.nsIWebProgress.NOTIFY_STATE_WINDOW); - - this.webProgress = webProgress; - this.callbacks = callbacks; -} - -ProgressListener.prototype = { - QueryInterface: ChromeUtils.generateQI([ - "nsIWebProgressListener", - "nsISupportsWeakReference", - ]), - - uninstall() { - this.webProgress.removeProgressListener(this); - }, - - onStateChange(webProgress, request, stateFlags, status) { - let { STATE_IS_WINDOW, STATE_STOP, STATE_START } = - Ci.nsIWebProgressListener; - if (!webProgress.isTopLevel || !(stateFlags & STATE_IS_WINDOW)) { - return; - } - - if (stateFlags & STATE_START && this.callbacks.onStartRequest) { - this.callbacks.onStartRequest(); - } - - if (stateFlags & STATE_STOP && this.callbacks.onStopRequest) { - this.callbacks.onStopRequest(); - } - }, -}; diff -Nru firefox-esr-115.10.0esr+build1/browser/components/sessionstore/ContentSessionStore.sys.mjs firefox-esr-115.11.0esr+build1/browser/components/sessionstore/ContentSessionStore.sys.mjs --- firefox-esr-115.10.0esr+build1/browser/components/sessionstore/ContentSessionStore.sys.mjs 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/components/sessionstore/ContentSessionStore.sys.mjs 1970-01-01 00:00:00.000000000 +0000 @@ -1,686 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs"; -import { - clearTimeout, - setTimeoutWithTarget, -} from "resource://gre/modules/Timer.sys.mjs"; - -const lazy = {}; - -ChromeUtils.defineESModuleGetters(lazy, { - ContentRestore: "resource:///modules/sessionstore/ContentRestore.sys.mjs", - SessionHistory: "resource://gre/modules/sessionstore/SessionHistory.sys.mjs", -}); - -// This pref controls whether or not we send updates to the parent on a timeout -// or not, and should only be used for tests or debugging. -const TIMEOUT_DISABLED_PREF = "browser.sessionstore.debug.no_auto_updates"; - -const PREF_INTERVAL = "browser.sessionstore.interval"; - -const kNoIndex = Number.MAX_SAFE_INTEGER; -const kLastIndex = Number.MAX_SAFE_INTEGER - 1; - -class Handler { - constructor(store) { - this.store = store; - } - - get contentRestore() { - return this.store.contentRestore; - } - - get contentRestoreInitialized() { - return this.store.contentRestoreInitialized; - } - - get mm() { - return this.store.mm; - } - - get messageQueue() { - return this.store.messageQueue; - } -} - -/** - * Listens for and handles content events that we need for the - * session store service to be notified of state changes in content. - */ -class EventListener extends Handler { - constructor(store) { - super(store); - - SessionStoreUtils.addDynamicFrameFilteredListener( - this.mm, - "load", - this, - true - ); - } - - handleEvent(event) { - let { content } = this.mm; - - // Ignore load events from subframes. - if (event.target != content.document) { - return; - } - - if (content.document.documentURI.startsWith("about:reader")) { - if ( - event.type == "load" && - !content.document.body.classList.contains("loaded") - ) { - // Don't restore the scroll position of an about:reader page at this - // point; listen for the custom event dispatched from AboutReader.sys.mjs. - content.addEventListener("AboutReaderContentReady", this); - return; - } - - content.removeEventListener("AboutReaderContentReady", this); - } - - if (this.contentRestoreInitialized) { - // Restore the form data and scroll position. - this.contentRestore.restoreDocument(); - } - } -} - -/** - * Listens for changes to the session history. Whenever the user navigates - * we will collect URLs and everything belonging to session history. - * - * Causes a SessionStore:update message to be sent that contains the current - * session history. - * - * Example: - * {entries: [{url: "about:mozilla", ...}, ...], index: 1} - */ -class SessionHistoryListener extends Handler { - constructor(store) { - super(store); - - this._fromIdx = kNoIndex; - - // By adding the SHistoryListener immediately, we will unfortunately be - // notified of every history entry as the tab is restored. We don't bother - // waiting to add the listener later because these notifications are cheap. - // We will likely only collect once since we are batching collection on - // a delay. - this.mm.docShell - .QueryInterface(Ci.nsIWebNavigation) - .sessionHistory.legacySHistory.addSHistoryListener(this); // OK in non-geckoview - - let webProgress = this.mm.docShell - .QueryInterface(Ci.nsIInterfaceRequestor) - .getInterface(Ci.nsIWebProgress); - - webProgress.addProgressListener( - this, - Ci.nsIWebProgress.NOTIFY_STATE_DOCUMENT - ); - - // Collect data if we start with a non-empty shistory. - if (!lazy.SessionHistory.isEmpty(this.mm.docShell)) { - this.collect(); - // When a tab is detached from the window, for the new window there is a - // new SessionHistoryListener created. Normally it is empty at this point - // but in a test env. the initial about:blank might have a children in which - // case we fire off a history message here with about:blank in it. If we - // don't do it ASAP then there is going to be a browser swap and the parent - // will be all confused by that message. - this.store.messageQueue.send(); - } - - // Listen for page title changes. - this.mm.addEventListener("DOMTitleChanged", this); - } - - get mm() { - return this.store.mm; - } - - uninit() { - let sessionHistory = this.mm.docShell.QueryInterface( - Ci.nsIWebNavigation - ).sessionHistory; - if (sessionHistory) { - sessionHistory.legacySHistory.removeSHistoryListener(this); // OK in non-geckoview - } - } - - collect() { - // We want to send down a historychange even for full collects in case our - // session history is a partial session history, in which case we don't have - // enough information for a full update. collectFrom(-1) tells the collect - // function to collect all data avaliable in this process. - if (this.mm.docShell) { - this.collectFrom(-1); - } - } - - // History can grow relatively big with the nested elements, so if we don't have to, we - // don't want to send the entire history all the time. For a simple optimization - // we keep track of the smallest index from after any change has occured and we just send - // the elements from that index. If something more complicated happens we just clear it - // and send the entire history. We always send the additional info like the current selected - // index (so for going back and forth between history entries we set the index to kLastIndex - // if nothing else changed send an empty array and the additonal info like the selected index) - collectFrom(idx) { - if (this._fromIdx <= idx) { - // If we already know that we need to update history fromn index N we can ignore any changes - // tha happened with an element with index larger than N. - // Note: initially we use kNoIndex which is MAX_SAFE_INTEGER which means we don't ignore anything - // here, and in case of navigation in the history back and forth we use kLastIndex which ignores - // only the subsequent navigations, but not any new elements added. - return; - } - - this._fromIdx = idx; - this.store.messageQueue.push("historychange", () => { - if (this._fromIdx === kNoIndex) { - return null; - } - - let history = lazy.SessionHistory.collect( - this.mm.docShell, - this._fromIdx - ); - this._fromIdx = kNoIndex; - return history; - }); - } - - handleEvent(event) { - this.collect(); - } - - OnHistoryNewEntry(newURI, oldIndex) { - // Collect the current entry as well, to make sure to collect any changes - // that were made to the entry while the document was active. - this.collectFrom(oldIndex == -1 ? oldIndex : oldIndex - 1); - } - - OnHistoryGotoIndex() { - // We ought to collect the previously current entry as well, see bug 1350567. - this.collectFrom(kLastIndex); - } - - OnHistoryPurge() { - this.collect(); - } - - OnHistoryReload() { - this.collect(); - return true; - } - - OnHistoryReplaceEntry() { - this.collect(); - } - - /** - * @see nsIWebProgressListener.onStateChange - */ - onStateChange(webProgress, request, stateFlags, status) { - // Ignore state changes for subframes because we're only interested in the - // top-document starting or stopping its load. - if (!webProgress.isTopLevel || webProgress.DOMWindow != this.mm.content) { - return; - } - - // onStateChange will be fired when loading the initial about:blank URI for - // a browser, which we don't actually care about. This is particularly for - // the case of unrestored background tabs, where the content has not yet - // been restored: we don't want to accidentally send any updates to the - // parent when the about:blank placeholder page has loaded. - if (!this.mm.docShell.hasLoadedNonBlankURI) { - return; - } - - if (stateFlags & Ci.nsIWebProgressListener.STATE_START) { - this.collect(); - } else if (stateFlags & Ci.nsIWebProgressListener.STATE_STOP) { - this.collect(); - } - } -} -SessionHistoryListener.prototype.QueryInterface = ChromeUtils.generateQI([ - "nsIWebProgressListener", - "nsISHistoryListener", - "nsISupportsWeakReference", -]); - -/** - * A message queue that takes collected data and will take care of sending it - * to the chrome process. It allows flushing using synchronous messages and - * takes care of any race conditions that might occur because of that. Changes - * will be batched if they're pushed in quick succession to avoid a message - * flood. - */ -class MessageQueue extends Handler { - constructor(store) { - super(store); - - /** - * A map (string -> lazy fn) holding lazy closures of all queued data - * collection routines. These functions will return data collected from the - * docShell. - */ - this._data = new Map(); - - /** - * The delay (in ms) used to delay sending changes after data has been - * invalidated. - */ - this.BATCH_DELAY_MS = 1000; - - /** - * The minimum idle period (in ms) we need for sending data to chrome process. - */ - this.NEEDED_IDLE_PERIOD_MS = 5; - - /** - * Timeout for waiting an idle period to send data. We will set this from - * the pref "browser.sessionstore.interval". - */ - this._timeoutWaitIdlePeriodMs = null; - - /** - * The current timeout ID, null if there is no queue data. We use timeouts - * to damp a flood of data changes and send lots of changes as one batch. - */ - this._timeout = null; - - /** - * Whether or not sending batched messages on a timer is disabled. This should - * only be used for debugging or testing. If you need to access this value, - * you should probably use the timeoutDisabled getter. - */ - this._timeoutDisabled = false; - - /** - * True if there is already a send pending idle dispatch, set to prevent - * scheduling more than one. If false there may or may not be one scheduled. - */ - this._idleScheduled = false; - - this.timeoutDisabled = Services.prefs.getBoolPref(TIMEOUT_DISABLED_PREF); - this._timeoutWaitIdlePeriodMs = Services.prefs.getIntPref(PREF_INTERVAL); - - Services.prefs.addObserver(TIMEOUT_DISABLED_PREF, this); - Services.prefs.addObserver(PREF_INTERVAL, this); - } - - /** - * True if batched messages are not being fired on a timer. This should only - * ever be true when debugging or during tests. - */ - get timeoutDisabled() { - return this._timeoutDisabled; - } - - /** - * Disables sending batched messages on a timer. Also cancels any pending - * timers. - */ - set timeoutDisabled(val) { - this._timeoutDisabled = val; - - if (val && this._timeout) { - clearTimeout(this._timeout); - this._timeout = null; - } - } - - uninit() { - Services.prefs.removeObserver(TIMEOUT_DISABLED_PREF, this); - Services.prefs.removeObserver(PREF_INTERVAL, this); - this.cleanupTimers(); - } - - /** - * Cleanup pending idle callback and timer. - */ - cleanupTimers() { - this._idleScheduled = false; - if (this._timeout) { - clearTimeout(this._timeout); - this._timeout = null; - } - } - - observe(subject, topic, data) { - if (topic == "nsPref:changed") { - switch (data) { - case TIMEOUT_DISABLED_PREF: - this.timeoutDisabled = Services.prefs.getBoolPref( - TIMEOUT_DISABLED_PREF - ); - break; - case PREF_INTERVAL: - this._timeoutWaitIdlePeriodMs = - Services.prefs.getIntPref(PREF_INTERVAL); - break; - default: - console.error("received unknown message '" + data + "'"); - break; - } - } - } - - /** - * Pushes a given |value| onto the queue. The given |key| represents the type - * of data that is stored and can override data that has been queued before - * but has not been sent to the parent process, yet. - * - * @param key (string) - * A unique identifier specific to the type of data this is passed. - * @param fn (function) - * A function that returns the value that will be sent to the parent - * process. - */ - push(key, fn) { - this._data.set(key, fn); - - if (!this._timeout && !this._timeoutDisabled) { - // Wait a little before sending the message to batch multiple changes. - this._timeout = setTimeoutWithTarget( - () => this.sendWhenIdle(), - this.BATCH_DELAY_MS, - this.mm.tabEventTarget - ); - } - } - - /** - * Sends queued data when the remaining idle time is enough or waiting too - * long; otherwise, request an idle time again. If the |deadline| is not - * given, this function is going to schedule the first request. - * - * @param deadline (object) - * An IdleDeadline object passed by idleDispatch(). - */ - sendWhenIdle(deadline) { - if (!this.mm.content) { - // The frameloader is being torn down. Nothing more to do. - return; - } - - if (deadline) { - if ( - deadline.didTimeout || - deadline.timeRemaining() > this.NEEDED_IDLE_PERIOD_MS - ) { - this.send(); - return; - } - } else if (this._idleScheduled) { - // Bail out if there's a pending run. - return; - } - ChromeUtils.idleDispatch(deadline_ => this.sendWhenIdle(deadline_), { - timeout: this._timeoutWaitIdlePeriodMs, - }); - this._idleScheduled = true; - } - - /** - * Sends queued data to the chrome process. - * - * @param options (object) - * {flushID: 123} to specify that this is a flush - * {isFinal: true} to signal this is the final message sent on unload - */ - send(options = {}) { - // Looks like we have been called off a timeout after the tab has been - // closed. The docShell is gone now and we can just return here as there - // is nothing to do. - if (!this.mm.docShell) { - return; - } - - this.cleanupTimers(); - - let flushID = (options && options.flushID) || 0; - let histID = "FX_SESSION_RESTORE_CONTENT_COLLECT_DATA_MS"; - - let data = {}; - for (let [key, func] of this._data) { - if (key != "isPrivate") { - TelemetryStopwatch.startKeyed(histID, key); - } - - let value = func(); - - if (key != "isPrivate") { - TelemetryStopwatch.finishKeyed(histID, key); - } - - if (value || (key != "storagechange" && key != "historychange")) { - data[key] = value; - } - } - - this._data.clear(); - - try { - // Send all data to the parent process. - this.mm.sendAsyncMessage("SessionStore:update", { - data, - flushID, - isFinal: options.isFinal || false, - epoch: this.store.epoch, - }); - } catch (ex) { - if (ex && ex.result == Cr.NS_ERROR_OUT_OF_MEMORY) { - Services.telemetry - .getHistogramById("FX_SESSION_RESTORE_SEND_UPDATE_CAUSED_OOM") - .add(1); - this.mm.sendAsyncMessage("SessionStore:error"); - } - } - } -} - -/** - * Listens for and handles messages sent by the session store service. - */ -const MESSAGES = [ - "SessionStore:restoreHistory", - "SessionStore:restoreTabContent", - "SessionStore:resetRestore", - "SessionStore:flush", - "SessionStore:prepareForProcessChange", -]; - -export class ContentSessionStore { - constructor(mm) { - if (Services.appinfo.sessionHistoryInParent) { - throw new Error("This frame script should not be loaded for SHIP"); - } - - this.mm = mm; - this.messageQueue = new MessageQueue(this); - - this.epoch = 0; - - this.contentRestoreInitialized = false; - - this.handlers = [ - this.messageQueue, - new EventListener(this), - new SessionHistoryListener(this), - ]; - - XPCOMUtils.defineLazyGetter(this, "contentRestore", () => { - this.contentRestoreInitialized = true; - return new lazy.ContentRestore(mm); - }); - - MESSAGES.forEach(m => mm.addMessageListener(m, this)); - - mm.addEventListener("unload", this); - } - - receiveMessage({ name, data }) { - // The docShell might be gone. Don't process messages, - // that will just lead to errors anyway. - if (!this.mm.docShell) { - return; - } - - // A fresh tab always starts with epoch=0. The parent has the ability to - // override that to signal a new era in this tab's life. This enables it - // to ignore async messages that were already sent but not yet received - // and would otherwise confuse the internal tab state. - if (data && data.epoch && data.epoch != this.epoch) { - this.epoch = data.epoch; - } - - switch (name) { - case "SessionStore:restoreHistory": - this.restoreHistory(data); - break; - case "SessionStore:restoreTabContent": - this.restoreTabContent(data); - break; - case "SessionStore:resetRestore": - this.contentRestore.resetRestore(); - break; - case "SessionStore:flush": - this.flush(data); - break; - case "SessionStore:prepareForProcessChange": - // During normal in-process navigations, the DocShell would take - // care of automatically persisting layout history state to record - // scroll positions on the nsSHEntry. Unfortunately, process switching - // is not a normal navigation, so for now we do this ourselves. This - // is a workaround until session history state finally lives in the - // parent process. - this.mm.docShell.persistLayoutHistoryState(); - break; - default: - console.error("received unknown message '" + name + "'"); - break; - } - } - - // non-SHIP only - restoreHistory(data) { - let { epoch, tabData, loadArguments, isRemotenessUpdate } = data; - - this.contentRestore.restoreHistory(tabData, loadArguments, { - // Note: The callbacks passed here will only be used when a load starts - // that was not initiated by sessionstore itself. This can happen when - // some code calls browser.loadURI() or browser.reload() on a pending - // browser/tab. - - onLoadStarted: () => { - // Notify the parent that the tab is no longer pending. - this.mm.sendAsyncMessage("SessionStore:restoreTabContentStarted", { - epoch, - }); - }, - - onLoadFinished: () => { - // Tell SessionStore.sys.mjs that it may want to restore some more tabs, - // since it restores a max of MAX_CONCURRENT_TAB_RESTORES at a time. - this.mm.sendAsyncMessage("SessionStore:restoreTabContentComplete", { - epoch, - }); - }, - }); - - if (Services.appinfo.processType == Services.appinfo.PROCESS_TYPE_DEFAULT) { - // For non-remote tabs, when restoreHistory finishes, we send a synchronous - // message to SessionStore.sys.mjs so that it can run SSTabRestoring. Users of - // SSTabRestoring seem to get confused if chrome and content are out of - // sync about the state of the restore (particularly regarding - // docShell.currentURI). Using a synchronous message is the easiest way - // to temporarily synchronize them. - // - // For remote tabs, because all nsIWebProgress notifications are sent - // asynchronously using messages, we get the same-order guarantees of the - // message manager, and can use an async message. - this.mm.sendSyncMessage("SessionStore:restoreHistoryComplete", { - epoch, - isRemotenessUpdate, - }); - } else { - this.mm.sendAsyncMessage("SessionStore:restoreHistoryComplete", { - epoch, - isRemotenessUpdate, - }); - } - } - - restoreTabContent({ loadArguments, isRemotenessUpdate, reason }) { - let epoch = this.epoch; - - // We need to pass the value of didStartLoad back to SessionStore.sys.mjs. - let didStartLoad = this.contentRestore.restoreTabContent( - loadArguments, - isRemotenessUpdate, - () => { - // Tell SessionStore.sys.mjs that it may want to restore some more tabs, - // since it restores a max of MAX_CONCURRENT_TAB_RESTORES at a time. - this.mm.sendAsyncMessage("SessionStore:restoreTabContentComplete", { - epoch, - isRemotenessUpdate, - }); - } - ); - - this.mm.sendAsyncMessage("SessionStore:restoreTabContentStarted", { - epoch, - isRemotenessUpdate, - reason, - }); - - if (!didStartLoad) { - // Pretend that the load succeeded so that event handlers fire correctly. - this.mm.sendAsyncMessage("SessionStore:restoreTabContentComplete", { - epoch, - isRemotenessUpdate, - }); - } - } - - flush({ id }) { - // Flush the message queue, send the latest updates. - this.messageQueue.send({ flushID: id }); - } - - handleEvent(event) { - if (event.type == "unload") { - this.onUnload(); - } - } - - onUnload() { - // Upon frameLoader destruction, send a final update message to - // the parent and flush all data currently held in the child. - this.messageQueue.send({ isFinal: true }); - - for (let handler of this.handlers) { - if (handler.uninit) { - handler.uninit(); - } - } - - if (this.contentRestoreInitialized) { - // Remove progress listeners. - this.contentRestore.resetRestore(); - } - - // We don't need to take care of any StateChangeNotifier observers as they - // will die with the content script. The same goes for the privacy transition - // observer that will die with the docShell when the tab is closed. - } -} diff -Nru firefox-esr-115.10.0esr+build1/browser/components/sessionstore/SessionStore.sys.mjs firefox-esr-115.11.0esr+build1/browser/components/sessionstore/SessionStore.sys.mjs --- firefox-esr-115.10.0esr+build1/browser/components/sessionstore/SessionStore.sys.mjs 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/components/sessionstore/SessionStore.sys.mjs 2024-05-07 06:03:35.000000000 +0000 @@ -119,59 +119,6 @@ statusbar: "status", }; -// Messages that will be received via the Frame Message Manager. -const MESSAGES = [ - // The content script sends us data that has been invalidated and needs to - // be saved to disk. - "SessionStore:update", - - // The restoreHistory code has run. This is a good time to run SSTabRestoring. - "SessionStore:restoreHistoryComplete", - - // The load for the restoring tab has begun. We update the URL bar at this - // time; if we did it before, the load would overwrite it. - "SessionStore:restoreTabContentStarted", - - // All network loads for a restoring tab are done, so we should - // consider restoring another tab in the queue. The document has - // been restored, and forms have been filled. We trigger - // SSTabRestored at this time. - "SessionStore:restoreTabContentComplete", - - // The content script encountered an error. - "SessionStore:error", -]; - -// The list of messages we accept from s that have no tab -// assigned, or whose windows have gone away. Those are for example the -// ones that preload about:newtab pages, or from browsers where the window -// has just been closed. -const NOTAB_MESSAGES = new Set([ - // For a description see above. - "SessionStore:update", - - // For a description see above. - "SessionStore:error", -]); - -// The list of messages we accept without an "epoch" parameter. -// See getCurrentEpoch() and friends to find out what an "epoch" is. -const NOEPOCH_MESSAGES = new Set([ - // For a description see above. - "SessionStore:error", -]); - -// The list of messages we want to receive even during the short period after a -// frame has been removed from the DOM and before its frame script has finished -// unloading. -const CLOSED_MESSAGES = new Set([ - // For a description see above. - "SessionStore:update", - - // For a description see above. - "SessionStore:error", -]); - // These are tab events that we listen to. const TAB_EVENTS = [ "TabOpen", @@ -434,10 +381,6 @@ SessionStoreInternal.deleteCustomGlobalValue(aKey); }, - persistTabAttribute: function ss_persistTabAttribute(aName) { - SessionStoreInternal.persistTabAttribute(aName); - }, - restoreLastSession: function ss_restoreLastSession() { SessionStoreInternal.restoreLastSession(); }, @@ -583,18 +526,6 @@ } } }, - - /** - * Prepares to change the remoteness of the given browser, by ensuring that - * the local instance of session history is up-to-date. - */ - async prepareToChangeRemoteness(aTab) { - await SessionStoreInternal.prepareToChangeRemoteness(aTab); - }, - - finishTabRemotenessChange(aTab, aSwitchId) { - SessionStoreInternal.finishTabRemotenessChange(aTab, aSwitchId); - }, }; // Freeze the SessionStore object. We don't want anyone to modify it. @@ -1047,8 +978,6 @@ "privacy.resistFingerprinting" ); Services.prefs.addObserver("privacy.resistFingerprinting", this); - - this._shistoryInParent = Services.appinfo.sessionHistoryInParent; }, /** @@ -1127,33 +1056,26 @@ } break; case "browsing-context-did-set-embedder": - if (Services.appinfo.sessionHistoryInParent) { - if ( - aSubject && - aSubject === aSubject.top && - aSubject.isContent && - aSubject.embedderElement && - aSubject.embedderElement.permanentKey - ) { - let permanentKey = aSubject.embedderElement.permanentKey; - this._browserSHistoryListener.get(permanentKey)?.unregister(); - this.getOrCreateSHistoryListener(permanentKey, aSubject, true); - } + if ( + aSubject && + aSubject === aSubject.top && + aSubject.isContent && + aSubject.embedderElement && + aSubject.embedderElement.permanentKey + ) { + let permanentKey = aSubject.embedderElement.permanentKey; + this._browserSHistoryListener.get(permanentKey)?.unregister(); + this.getOrCreateSHistoryListener(permanentKey, aSubject, true); } break; case "browsing-context-discarded": - if (Services.appinfo.sessionHistoryInParent) { - let permanentKey = aSubject?.embedderElement?.permanentKey; - if (permanentKey) { - this._browserSHistoryListener.get(permanentKey)?.unregister(); - } + let permanentKey = aSubject?.embedderElement?.permanentKey; + if (permanentKey) { + this._browserSHistoryListener.get(permanentKey)?.unregister(); } break; case "browser-shutdown-tabstate-updated": - if (Services.appinfo.sessionHistoryInParent) { - // Non-SHIP code calls this when the frame script is unloaded. - this.onFinalTabStateUpdateComplete(aSubject); - } + this.onFinalTabStateUpdateComplete(aSubject); this._notifyOfClosedObjectsChange(); break; } @@ -1266,10 +1188,6 @@ } } - if (!Services.appinfo.sessionHistoryInParent) { - throw new Error("This function should only be used with SHIP"); - } - if (!permanentKey || browsingContext !== browsingContext.top) { return null; } @@ -1383,29 +1301,27 @@ return; } - if (Services.appinfo.sessionHistoryInParent) { - let listener = this.getOrCreateSHistoryListener( - permanentKey, - browsingContext - ); + let listener = this.getOrCreateSHistoryListener( + permanentKey, + browsingContext + ); - if (listener) { - let historychange = - // If it is not the scheduled update (tab closed, window closed etc), - // try to store the loading non-web-controlled page opened in _blank - // first. - (forStorage && - lazy.SessionHistory.collectNonWebControlledBlankLoadingSession( - browsingContext - )) || - listener.collect(permanentKey, browsingContext, { - collectFull: !!update.sHistoryNeeded, - writeToCache: false, - }); + if (listener) { + let historychange = + // If it is not the scheduled update (tab closed, window closed etc), + // try to store the loading non-web-controlled page opened in _blank + // first. + (forStorage && + lazy.SessionHistory.collectNonWebControlledBlankLoadingSession( + browsingContext + )) || + listener.collect(permanentKey, browsingContext, { + collectFull: !!update.sHistoryNeeded, + writeToCache: false, + }); - if (historychange) { - update.data.historychange = historychange; - } + if (historychange) { + update.data.historychange = historychange; } } @@ -1416,98 +1332,6 @@ this.onTabStateUpdate(permanentKey, win, update); }, - /** - * This method handles incoming messages sent by the session store content - * script via the Frame Message Manager or Parent Process Message Manager, - * and thus enables communication with OOP tabs. - */ - receiveMessage(aMessage) { - if (Services.appinfo.sessionHistoryInParent) { - throw new Error( - `received unexpected message '${aMessage.name}' with ` + - `sessionHistoryInParent enabled` - ); - } - - // If we got here, that means we're dealing with a frame message - // manager message, so the target will be a . - var browser = aMessage.target; - let win = browser.ownerGlobal; - let tab = win ? win.gBrowser.getTabForBrowser(browser) : null; - - // Ensure we receive only specific messages from s that - // have no tab or window assigned, e.g. the ones that preload - // about:newtab pages, or windows that have closed. - if (!tab && !NOTAB_MESSAGES.has(aMessage.name)) { - throw new Error( - `received unexpected message '${aMessage.name}' ` + - `from a browser that has no tab or window` - ); - } - - let data = aMessage.data || {}; - let hasEpoch = data.hasOwnProperty("epoch"); - - // Most messages sent by frame scripts require to pass an epoch. - if (!hasEpoch && !NOEPOCH_MESSAGES.has(aMessage.name)) { - throw new Error(`received message '${aMessage.name}' without an epoch`); - } - - // Ignore messages from previous epochs. - if (hasEpoch && !this.isCurrentEpoch(browser.permanentKey, data.epoch)) { - return; - } - - switch (aMessage.name) { - case "SessionStore:update": - // |browser.frameLoader| might be empty if the browser was already - // destroyed and its tab removed. In that case we still have the last - // frameLoader we know about to compare. - let frameLoader = - browser.frameLoader || - this._lastKnownFrameLoader.get(browser.permanentKey); - - // If the message isn't targeting the latest frameLoader discard it. - if (frameLoader != aMessage.targetFrameLoader) { - return; - } - - this.onTabStateUpdate(browser.permanentKey, browser.ownerGlobal, data); - - // SHIP code will call this when it receives "browser-shutdown-tabstate-updated" - if (data.isFinal) { - if (!Services.appinfo.sessionHistoryInParent) { - this.onFinalTabStateUpdateComplete(browser); - } - } else if (data.flushID) { - // This is an update kicked off by an async flush request. Notify the - // TabStateFlusher so that it can finish the request and notify its - // consumer that's waiting for the flush to be done. - lazy.TabStateFlusher.resolve(browser, data.flushID); - } - - break; - case "SessionStore:restoreHistoryComplete": - this._restoreHistoryComplete(browser, data); - break; - case "SessionStore:restoreTabContentStarted": - this._restoreTabContentStarted(browser, data); - break; - case "SessionStore:restoreTabContentComplete": - this._restoreTabContentComplete(browser, data); - break; - case "SessionStore:error": - lazy.TabStateFlusher.resolveAll( - browser, - false, - "Received error from the content process" - ); - break; - default: - throw new Error(`received unknown message '${aMessage.name}'`); - } - }, - /* ........ Window Event Handlers .............. */ /** @@ -1607,21 +1431,6 @@ // internal data about the window. aWindow.__SSi = this._generateWindowID(); - if (!Services.appinfo.sessionHistoryInParent) { - let mm = aWindow.getGroupMessageManager("browsers"); - MESSAGES.forEach(msg => { - let listenWhenClosed = CLOSED_MESSAGES.has(msg); - mm.addMessageListener(msg, this, listenWhenClosed); - }); - - // Load the frame script after registering listeners. - mm.loadFrameScript( - "chrome://browser/content/content-sessionStore.js", - true, - true - ); - } - // and create its data object this._windows[aWindow.__SSi] = { tabs: [], @@ -2090,11 +1899,6 @@ // Cache the window state until it is completely gone. DyingWindowCache.set(aWindow, winData); - if (!Services.appinfo.sessionHistoryInParent) { - let mm = aWindow.getGroupMessageManager("browsers"); - MESSAGES.forEach(msg => mm.removeMessageListener(msg, this)); - } - this._saveableClosedWindowData.delete(winData); delete aWindow.__SSi; }, @@ -3615,12 +3419,6 @@ this.saveStateDelayed(); }, - persistTabAttribute: function ssi_persistTabAttribute(aName) { - if (lazy.TabAttributes.persist(aName)) { - this.saveStateDelayed(); - } - }, - /** * Undoes the closing of a tab or window which corresponds * to the closedId passed in. @@ -4782,13 +4580,6 @@ tab.updateLastAccessed(tabData.lastAccessed); } - if ("attributes" in tabData) { - // Ensure that we persist tab attributes restored from previous sessions. - Object.keys(tabData.attributes).forEach(a => - lazy.TabAttributes.persist(a) - ); - } - if (!tabData.entries) { tabData.entries = []; } @@ -4958,7 +4749,6 @@ let browser = aTab.linkedBrowser; let window = aTab.ownerGlobal; - let tabbrowser = window.gBrowser; let tabData = lazy.TabState.clone(aTab, TAB_CUSTOM_VALUES.get(aTab)); let activeIndex = tabData.index - 1; let activePageData = tabData.entries[activeIndex] || null; @@ -4966,36 +4756,9 @@ this.markTabAsRestoring(aTab); - let isRemotenessUpdate = aOptions.isRemotenessUpdate; - let explicitlyUpdateRemoteness = !Services.appinfo.sessionHistoryInParent; - // If we aren't already updating the browser's remoteness, check if it's - // necessary. - if (explicitlyUpdateRemoteness && !isRemotenessUpdate) { - isRemotenessUpdate = tabbrowser.updateBrowserRemotenessByURL( - browser, - uri - ); - - if (isRemotenessUpdate) { - // We updated the remoteness, so we need to send the history down again. - // - // Start a new epoch to discard all frame script messages relating to a - // previous epoch. All async messages that are still on their way to chrome - // will be ignored and don't override any tab data set when restoring. - let epoch = this.startNextEpoch(browser.permanentKey); - - this._sendRestoreHistory(browser, { - tabData, - epoch, - loadArguments, - isRemotenessUpdate, - }); - } - } - this._sendRestoreTabContent(browser, { loadArguments, - isRemotenessUpdate, + isRemotenessUpdate: aOptions.isRemotenessUpdate, reason: aOptions.restoreContentReason || RESTORE_TAB_CONTENT_REASON.SET_STATE, }); @@ -6049,10 +5812,8 @@ // The browser is no longer in any sort of restoring state. TAB_STATE_FOR_BROWSER.delete(browser); - if (Services.appinfo.sessionHistoryInParent) { - this._restoreListeners.get(browser.permanentKey)?.unregister(); - browser.browsingContext.clearRestoreState(); - } + this._restoreListeners.get(browser.permanentKey)?.unregister(); + browser.browsingContext.clearRestoreState(); aTab.removeAttribute("pending"); @@ -6076,9 +5837,6 @@ return; } - if (!Services.appinfo.sessionHistoryInParent) { - browser.messageManager.sendAsyncMessage("SessionStore:resetRestore", {}); - } this._resetLocalTabRestoringState(tab); }, @@ -6357,10 +6115,6 @@ * history restores. */ _restoreHistory(browser, data) { - if (!Services.appinfo.sessionHistoryInParent) { - throw new Error("This function should only be used with SHIP"); - } - this._tabStateToRestore.set(browser.permanentKey, data); // In case about:blank isn't done yet. @@ -6452,10 +6206,6 @@ * history restores. */ _restoreTabContent(browser, options = {}) { - if (!Services.appinfo.sessionHistoryInParent) { - throw new Error("This function should only be used with SHIP"); - } - this._restoreListeners.get(browser.permanentKey)?.unregister(); this._restoreTabContentStarted(browser, options); @@ -6480,14 +6230,7 @@ }, _sendRestoreTabContent(browser, options) { - if (Services.appinfo.sessionHistoryInParent) { - this._restoreTabContent(browser, options); - } else { - browser.messageManager.sendAsyncMessage( - "SessionStore:restoreTabContent", - options - ); - } + this._restoreTabContent(browser, options); }, _restoreHistoryComplete(browser, data) { @@ -6631,68 +6374,12 @@ delete options.tabData.storage; } - if (Services.appinfo.sessionHistoryInParent) { - this._restoreHistory(browser, options); - } else { - browser.messageManager.sendAsyncMessage( - "SessionStore:restoreHistory", - options - ); - } + this._restoreHistory(browser, options); if (browser && browser.frameLoader) { browser.frameLoader.requestEpochUpdate(options.epoch); } }, - - // Flush out session history state so that it can be used to restore the state - // into a new process in `finishTabRemotenessChange`. - // - // NOTE: This codepath is temporary while the Fission Session History rewrite - // is in process, and will be removed & replaced once that rewrite is - // complete. (bug 1645062) - async prepareToChangeRemoteness(aBrowser) { - aBrowser.messageManager.sendAsyncMessage( - "SessionStore:prepareForProcessChange" - ); - await lazy.TabStateFlusher.flush(aBrowser); - }, - - // Handle finishing the remoteness change for a tab by restoring session - // history state into it, and resuming the ongoing network load. - // - // NOTE: This codepath is temporary while the Fission Session History rewrite - // is in process, and will be removed & replaced once that rewrite is - // complete. (bug 1645062) - finishTabRemotenessChange(aTab, aSwitchId) { - let window = aTab.ownerGlobal; - if (!window || !window.__SSi || window.closed) { - return; - } - - let tabState = lazy.TabState.clone(aTab, TAB_CUSTOM_VALUES.get(aTab)); - let options = { - restoreImmediately: true, - restoreContentReason: RESTORE_TAB_CONTENT_REASON.NAVIGATE_AND_RESTORE, - isRemotenessUpdate: true, - loadArguments: { - redirectLoadSwitchId: aSwitchId, - // As we're resuming a load which has been redirected from another - // process, record the history index which is currently being requested. - // It has to be offset by 1 to get back to native history indices from - // SessionStore history indicies. - redirectHistoryIndex: tabState.requestedIndex - 1, - }, - }; - - // Need to reset restoring tabs. - if (TAB_STATE_FOR_BROWSER.has(aTab.linkedBrowser)) { - this._resetLocalTabRestoringState(aTab); - } - - // Restore the state into the tab. - this.restoreTab(aTab, tabState, options); - }, }; /** diff -Nru firefox-esr-115.10.0esr+build1/browser/components/sessionstore/TabAttributes.sys.mjs firefox-esr-115.11.0esr+build1/browser/components/sessionstore/TabAttributes.sys.mjs --- firefox-esr-115.10.0esr+build1/browser/components/sessionstore/TabAttributes.sys.mjs 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/components/sessionstore/TabAttributes.sys.mjs 2024-05-07 06:03:35.000000000 +0000 @@ -2,27 +2,13 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ -// We never want to directly read or write these attributes. -// 'image' should not be accessed directly but handled by using the -// gBrowser.getIcon()/setIcon() methods. -// 'muted' should not be accessed directly but handled by using the -// tab.linkedBrowser.audioMuted/toggleMuteAudio methods. -// 'pending' is used internal by sessionstore and managed accordingly. -const ATTRIBUTES_TO_SKIP = new Set([ - "image", - "muted", - "pending", - "skipbackgroundnotify", -]); +// Tab attributes which are persisted & restored by SessionStore. +const PERSISTED_ATTRIBUTES = ["customizemode"]; // A set of tab attributes to persist. We will read a given list of tab // attributes when collecting tab data and will re-set those attributes when // the given tab data is restored to a new tab. export var TabAttributes = Object.freeze({ - persist(name) { - return TabAttributesInternal.persist(name); - }, - get(tab) { return TabAttributesInternal.get(tab); }, @@ -33,21 +19,10 @@ }); var TabAttributesInternal = { - _attrs: new Set(), - - persist(name) { - if (this._attrs.has(name) || ATTRIBUTES_TO_SKIP.has(name)) { - return false; - } - - this._attrs.add(name); - return true; - }, - get(tab) { let data = {}; - for (let name of this._attrs) { + for (let name of PERSISTED_ATTRIBUTES) { if (tab.hasAttribute(name)) { data[name] = tab.getAttribute(name); } @@ -57,15 +32,11 @@ }, set(tab, data = {}) { - // Clear attributes. - for (let name of this._attrs) { + // Clear & Set attributes. + for (let name of PERSISTED_ATTRIBUTES) { tab.removeAttribute(name); - } - - // Set attributes. - for (let [name, value] of Object.entries(data)) { - if (!ATTRIBUTES_TO_SKIP.has(name)) { - tab.setAttribute(name, value); + if (name in data) { + tab.setAttribute(name, data[name]); } } }, diff -Nru firefox-esr-115.10.0esr+build1/browser/components/sessionstore/TabStateFlusher.sys.mjs firefox-esr-115.11.0esr+build1/browser/components/sessionstore/TabStateFlusher.sys.mjs --- firefox-esr-115.10.0esr+build1/browser/components/sessionstore/TabStateFlusher.sys.mjs 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/components/sessionstore/TabStateFlusher.sys.mjs 2024-05-07 06:03:35.000000000 +0000 @@ -2,11 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ -const lazy = {}; -ChromeUtils.defineESModuleGetters(lazy, { - SessionStore: "resource:///modules/sessionstore/SessionStore.sys.mjs", -}); - /** * A module that enables async flushes. Updates from frame scripts are * throttled to be sent only once per second. If an action wants a tab's latest @@ -33,23 +28,6 @@ }, /** - * Resolves the flush request with the given flush ID. - * - * @param browser () - * The browser for which the flush is being resolved. - * @param flushID (int) - * The ID of the flush that was sent to the browser. - * @param success (bool, optional) - * Whether or not the flush succeeded. - * @param message (string, optional) - * An error message that will be sent to the Console in the - * event that a flush failed. - */ - resolve(browser, flushID, success = true, message = "") { - TabStateFlusherInternal.resolve(browser, flushID, success, message); - }, - - /** * Resolves all active flush requests for a given browser. This should be * used when the content process crashed or the final update message was * seen. In those cases we can't guarantee to ever hear back from the frame @@ -69,9 +47,6 @@ }); var TabStateFlusherInternal = { - // Stores the last request ID. - _lastRequestID: 0, - // A map storing all active requests per browser. A request is a // triple of a map containing all flush requests, a promise that // resolve when a request for a browser is canceled, and the @@ -79,7 +54,6 @@ _requests: new WeakMap(), initEntry(entry) { - entry.perBrowserRequests = new Map(); entry.cancelPromise = new Promise(resolve => { entry.cancel = resolve; }).then(result => { @@ -96,7 +70,6 @@ * all the latest data. */ flush(browser) { - let id = ++this._lastRequestID; let nativePromise = Promise.resolve(); if (browser && browser.frameLoader) { /* @@ -106,24 +79,6 @@ nativePromise = browser.frameLoader.requestTabStateFlush(); } - if (!Services.appinfo.sessionHistoryInParent) { - /* - In the event that we have to trigger a process switch and thus change - browser remoteness, session store needs to register and track the new - browser window loaded and to have message manager listener registered - ** before ** TabStateFlusher send "SessionStore:flush" message. This fixes - the race where we send the message before the message listener is - registered for it. - */ - lazy.SessionStore.ensureInitialized(browser.ownerGlobal); - - let mm = browser.messageManager; - mm.sendAsyncMessage("SessionStore:flush", { - id, - epoch: lazy.SessionStore.getCurrentEpoch(browser), - }); - } - // Retrieve active requests for given browser. let permanentKey = browser.permanentKey; let request = this._requests.get(permanentKey); @@ -134,22 +89,10 @@ this._requests.set(permanentKey, request); } - // Non-SHIP flushes resolve this after the "SessionStore:update" message. We - // don't use that message for SHIP, so it's fine to resolve the request - // immediately after the native promise resolves, since SessionStore will - // have processed all updates from this browser by that point. - let requestPromise = Promise.resolve(); - if (!Services.appinfo.sessionHistoryInParent) { - requestPromise = new Promise(resolve => { - // Store resolve() so that we can resolve the promise later. - request.perBrowserRequests.set(id, resolve); - }); - } - - return Promise.race([ - nativePromise.then(_ => requestPromise), - request.cancelPromise, - ]); + // It's fine to resolve the request immediately after the native promise + // resolves, since SessionStore will have processed all updates from this + // browser by that point. + return Promise.race([nativePromise, request.cancelPromise]); }, /** @@ -167,41 +110,6 @@ }, /** - * Resolves the flush request with the given flush ID. - * - * @param browser () - * The browser for which the flush is being resolved. - * @param flushID (int) - * The ID of the flush that was sent to the browser. - * @param success (bool, optional) - * Whether or not the flush succeeded. - * @param message (string, optional) - * An error message that will be sent to the Console in the - * event that a flush failed. - */ - resolve(browser, flushID, success = true, message = "") { - // Nothing to do if there are no pending flushes for the given browser. - if (!this._requests.has(browser.permanentKey)) { - return; - } - - // Retrieve active requests for given browser. - let { perBrowserRequests } = this._requests.get(browser.permanentKey); - if (!perBrowserRequests.has(flushID)) { - return; - } - - if (!success) { - console.error("Failed to flush browser: ", message); - } - - // Resolve the request with the given id. - let resolve = perBrowserRequests.get(flushID); - perBrowserRequests.delete(flushID); - resolve(success); - }, - - /** * Resolves all active flush requests for a given browser. This should be * used when the content process crashed or the final update message was * seen. In those cases we can't guarantee to ever hear back from the frame diff -Nru firefox-esr-115.10.0esr+build1/browser/components/sessionstore/content/content-sessionStore.js firefox-esr-115.11.0esr+build1/browser/components/sessionstore/content/content-sessionStore.js --- firefox-esr-115.10.0esr+build1/browser/components/sessionstore/content/content-sessionStore.js 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/components/sessionstore/content/content-sessionStore.js 1970-01-01 00:00:00.000000000 +0000 @@ -1,13 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -/* eslint-env mozilla/frame-script */ - -"use strict"; - -const { ContentSessionStore } = ChromeUtils.importESModule( - "resource:///modules/sessionstore/ContentSessionStore.sys.mjs" -); - -void new ContentSessionStore(this); diff -Nru firefox-esr-115.10.0esr+build1/browser/components/sessionstore/jar.mn firefox-esr-115.11.0esr+build1/browser/components/sessionstore/jar.mn --- firefox-esr-115.10.0esr+build1/browser/components/sessionstore/jar.mn 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/components/sessionstore/jar.mn 2024-05-07 06:03:34.000000000 +0000 @@ -5,4 +5,3 @@ browser.jar: * content/browser/aboutSessionRestore.xhtml (content/aboutSessionRestore.xhtml) content/browser/aboutSessionRestore.js (content/aboutSessionRestore.js) - content/browser/content-sessionStore.js (content/content-sessionStore.js) diff -Nru firefox-esr-115.10.0esr+build1/browser/components/sessionstore/moz.build firefox-esr-115.11.0esr+build1/browser/components/sessionstore/moz.build --- firefox-esr-115.10.0esr+build1/browser/components/sessionstore/moz.build 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/components/sessionstore/moz.build 2024-05-07 06:03:35.000000000 +0000 @@ -10,8 +10,6 @@ JAR_MANIFESTS += ["jar.mn"] EXTRA_JS_MODULES.sessionstore = [ - "ContentRestore.sys.mjs", - "ContentSessionStore.sys.mjs", "GlobalState.sys.mjs", "RecentlyClosedTabsAndWindowsMenuUtils.sys.mjs", "RunState.sys.mjs", diff -Nru firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/browser.ini firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/browser.ini --- firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/browser.ini 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/browser.ini 2024-05-07 06:03:35.000000000 +0000 @@ -218,7 +218,6 @@ support-files = file_async_flushes.html run-if = crashreporter [browser_async_remove_tab.js] -skip-if = !sessionHistoryInParent [browser_async_window_flushing.js] https_first_disabled = true skip-if = @@ -319,7 +318,6 @@ ccov # Bug 1625525 [browser_privatetabs.js] [browser_purge_shistory.js] -skip-if = !sessionHistoryInParent # Bug 1271024 [browser_remoteness_flip_on_restore.js] [browser_reopen_all_windows.js] https_first_disabled = true @@ -348,8 +346,6 @@ !fission os == "linux" # Bug 1716445 [browser_scrollPositionsReaderMode.js] -[browser_send_async_message_oom.js] -skip-if = sessionHistoryInParent # Tests that the frame script OOMs, which is unused when SHIP is enabled. [browser_sessionHistory.js] https_first_disabled = true support-files = diff -Nru firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/browser_687710_2.js firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/browser_687710_2.js --- firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/browser_687710_2.js 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/browser_687710_2.js 2024-05-07 06:03:35.000000000 +0000 @@ -38,61 +38,31 @@ add_task(async function test() { let tab = BrowserTestUtils.addTab(gBrowser, "about:blank"); await promiseTabState(tab, state); - if (!SpecialPowers.Services.appinfo.sessionHistoryInParent) { - await SpecialPowers.spawn(tab.linkedBrowser, [], function () { - function compareEntries(i, j, history) { - let e1 = history.getEntryAtIndex(i); - let e2 = history.getEntryAtIndex(j); - - ok(e1.sharesDocumentWith(e2), `${i} should share doc with ${j}`); - is(e1.childCount, e2.childCount, `Child count mismatch (${i}, ${j})`); - - for (let c = 0; c < e1.childCount; c++) { - let c1 = e1.GetChildAt(c); - let c2 = e2.GetChildAt(c); - - ok( - c1.sharesDocumentWith(c2), - `Cousins should share documents. (${i}, ${j}, ${c})` - ); - } - } - - let history = docShell.browsingContext.childSessionHistory.legacySHistory; - - is(history.count, 2, "history.count"); - for (let i = 0; i < history.count; i++) { - for (let j = 0; j < history.count; j++) { - compareEntries(i, j, history); - } - } - }); - } else { - function compareEntries(i, j, history) { - let e1 = history.getEntryAtIndex(i); - let e2 = history.getEntryAtIndex(j); - - ok(e1.sharesDocumentWith(e2), `${i} should share doc with ${j}`); - is(e1.childCount, e2.childCount, `Child count mismatch (${i}, ${j})`); - - for (let c = 0; c < e1.childCount; c++) { - let c1 = e1.GetChildAt(c); - let c2 = e2.GetChildAt(c); - - ok( - c1.sharesDocumentWith(c2), - `Cousins should share documents. (${i}, ${j}, ${c})` - ); - } + + function compareEntries(i, j, history) { + let e1 = history.getEntryAtIndex(i); + let e2 = history.getEntryAtIndex(j); + + ok(e1.sharesDocumentWith(e2), `${i} should share doc with ${j}`); + is(e1.childCount, e2.childCount, `Child count mismatch (${i}, ${j})`); + + for (let c = 0; c < e1.childCount; c++) { + let c1 = e1.GetChildAt(c); + let c2 = e2.GetChildAt(c); + + ok( + c1.sharesDocumentWith(c2), + `Cousins should share documents. (${i}, ${j}, ${c})` + ); } + } - let history = tab.linkedBrowser.browsingContext.sessionHistory; + let history = tab.linkedBrowser.browsingContext.sessionHistory; - is(history.count, 2, "history.count"); - for (let i = 0; i < history.count; i++) { - for (let j = 0; j < history.count; j++) { - compareEntries(i, j, history); - } + is(history.count, 2, "history.count"); + for (let i = 0; i < history.count; i++) { + for (let j = 0; j < history.count; j++) { + compareEntries(i, j, history); } } diff -Nru firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/browser_705597.js firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/browser_705597.js --- firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/browser_705597.js 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/browser_705597.js 2024-05-07 06:03:35.000000000 +0000 @@ -26,14 +26,8 @@ let browser = tab.linkedBrowser; promiseTabState(tab, tabState).then(() => { - let entry; - if (!Services.appinfo.sessionHistoryInParent) { - let sessionHistory = browser.sessionHistory; - entry = sessionHistory.legacySHistory.getEntryAtIndex(0); - } else { - let sessionHistory = browser.browsingContext.sessionHistory; - entry = sessionHistory.getEntryAtIndex(0); - } + let sessionHistory = browser.browsingContext.sessionHistory; + let entry = sessionHistory.getEntryAtIndex(0); whenChildCount(entry, 1, function () { whenChildCount(entry, 2, function () { diff -Nru firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/browser_707862.js firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/browser_707862.js --- firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/browser_707862.js 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/browser_707862.js 2024-05-07 06:03:34.000000000 +0000 @@ -26,26 +26,14 @@ let browser = tab.linkedBrowser; promiseTabState(tab, tabState).then(() => { - let entry; - if (!Services.appinfo.sessionHistoryInParent) { - let sessionHistory = browser.sessionHistory; - entry = sessionHistory.legacySHistory.getEntryAtIndex(0); - } else { - let sessionHistory = browser.browsingContext.sessionHistory; - entry = sessionHistory.getEntryAtIndex(0); - } + let sessionHistory = browser.browsingContext.sessionHistory; + let entry = sessionHistory.getEntryAtIndex(0); whenChildCount(entry, 1, function () { whenChildCount(entry, 2, function () { promiseBrowserLoaded(browser).then(() => { - let newEntry; - if (!Services.appinfo.sessionHistoryInParent) { - let newSessionHistory = browser.sessionHistory; - newEntry = newSessionHistory.legacySHistory.getEntryAtIndex(0); - } else { - let newSessionHistory = browser.browsingContext.sessionHistory; - newEntry = newSessionHistory.getEntryAtIndex(0); - } + let newSessionHistory = browser.browsingContext.sessionHistory; + let newEntry = newSessionHistory.getEntryAtIndex(0); whenChildCount(newEntry, 0, function () { // Make sure that we reset the state. diff -Nru firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/browser_async_flushes.js firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/browser_async_flushes.js --- firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/browser_async_flushes.js 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/browser_async_flushes.js 2024-05-07 06:03:34.000000000 +0000 @@ -44,58 +44,6 @@ gBrowser.removeTab(tab); }); -add_task(async function test_crash() { - if (Services.appinfo.sessionHistoryInParent) { - // This test relies on frame script message ordering. Since the frame script - // is unused with SHIP, there's no guarantee that we'll crash the frame - // before we've started the flush. - ok(true, "Test relies on frame script message ordering."); - return; - } - - // Create new tab. - let tab = BrowserTestUtils.addTab(gBrowser, URL); - gBrowser.selectedTab = tab; - let browser = tab.linkedBrowser; - await promiseBrowserLoaded(browser); - - // Flush to empty any queued update messages. - await TabStateFlusher.flush(browser); - - // There should be one history entry. - let { entries } = JSON.parse(ss.getTabState(tab)); - is(entries.length, 1, "there is a single history entry"); - - // Click the link to navigate. - await SpecialPowers.spawn(browser, [], async function () { - return new Promise(resolve => { - docShell.chromeEventHandler.addEventListener( - "hashchange", - () => resolve(), - { once: true, capture: true } - ); - - // Click the link. - content.document.querySelector("a").click(); - }); - }); - - // Crash the browser and flush. Both messages are async and will be sent to - // the content process. The "crash" message makes it first so that we don't - // get a chance to process the flush. The TabStateFlusher however should be - // notified so that the flush still completes. - let promise1 = BrowserTestUtils.crashFrame(browser); - let promise2 = TabStateFlusher.flush(browser); - await Promise.all([promise1, promise2]); - - // The pending update should be lost. - ({ entries } = JSON.parse(ss.getTabState(tab))); - is(entries.length, 1, "still only one history entry"); - - // Cleanup. - gBrowser.removeTab(tab); -}); - add_task(async function test_remove() { // Create new tab. let tab = BrowserTestUtils.addTab(gBrowser, URL); diff -Nru firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/browser_async_remove_tab.js firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/browser_async_remove_tab.js --- firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/browser_async_remove_tab.js 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/browser_async_remove_tab.js 2024-05-07 06:03:34.000000000 +0000 @@ -92,15 +92,7 @@ ok(browser.isRemoteBrowser, "browser is still remote"); // Remove the tab before the update arrives. - let promise = promiseRemoveTabAndSessionState(tab); - - // With SHIP, we'll do the final tab state update sooner than we did before. - if (!Services.appinfo.sessionHistoryInParent) { - // No tab state worth saving (that we know about yet). - ok(!isValueInClosedData(r), "closed tab not saved"); - } - - await promise; + await promiseRemoveTabAndSessionState(tab); // Turns out there is a tab state worth saving. ok(isValueInClosedData(r), "closed tab saved"); @@ -117,15 +109,7 @@ ok(!browser.isRemoteBrowser, "browser is not remote anymore"); // Remove the tab before the update arrives. - let promise = promiseRemoveTabAndSessionState(tab); - - // With SHIP, we'll do the final tab state update sooner than we did before. - if (!Services.appinfo.sessionHistoryInParent) { - // No tab state worth saving (that we know about yet). - ok(!isValueInClosedData(r), "closed tab not saved"); - } - - await promise; + await promiseRemoveTabAndSessionState(tab); // Turns out there is a tab state worth saving. ok(isValueInClosedData(r), "closed tab saved"); @@ -151,15 +135,7 @@ await entryReplaced; // Remove the tab before the update arrives. - let promise = promiseRemoveTabAndSessionState(tab); - - // With SHIP, we'll do the final tab state update sooner than we did before. - if (!Services.appinfo.sessionHistoryInParent) { - // Tab state deemed worth saving (yet). - ok(isValueInClosedData(r), "closed tab saved"); - } - - await promise; + await promiseRemoveTabAndSessionState(tab); // Turns out we don't want to save the tab state. ok(!isValueInClosedData(r), "closed tab not saved"); diff -Nru firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/browser_async_window_flushing.js firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/browser_async_window_flushing.js --- firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/browser_async_window_flushing.js 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/browser_async_window_flushing.js 2024-05-07 06:03:35.000000000 +0000 @@ -116,17 +116,10 @@ await SpecialPowers.spawn(browser, [], async function () { // Epic hackery to make this browser seem suddenly boring. docShell.setCurrentURIForSessionStore(Services.io.newURI("about:blank")); - - if (!SpecialPowers.Services.appinfo.sessionHistoryInParent) { - let { sessionHistory } = docShell.QueryInterface(Ci.nsIWebNavigation); - sessionHistory.legacySHistory.purgeHistory(sessionHistory.count); - } }); - if (SpecialPowers.Services.appinfo.sessionHistoryInParent) { - let { sessionHistory } = browser.browsingContext; - sessionHistory.purgeHistory(sessionHistory.count); - } + let { sessionHistory } = browser.browsingContext; + sessionHistory.purgeHistory(sessionHistory.count); // Once this windowClosed Promise resolves, we should have finished // the flush and revisited our decision to put this window into diff -Nru firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/browser_attributes.js firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/browser_attributes.js --- firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/browser_attributes.js 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/browser_attributes.js 2024-05-07 06:03:35.000000000 +0000 @@ -38,45 +38,68 @@ ok(tab.hasAttribute("muted"), "tab.muted exists"); // Make sure we do not persist 'image' and 'muted' attributes. - ss.persistTabAttribute("image"); - ss.persistTabAttribute("muted"); let { attributes } = JSON.parse(ss.getTabState(tab)); ok(!("image" in attributes), "'image' attribute not saved"); ok(!("muted" in attributes), "'muted' attribute not saved"); - ok(!("custom" in attributes), "'custom' attribute not saved"); + ok(!("customizemode" in attributes), "'customizemode' attribute not saved"); - // Test persisting a custom attribute. - tab.setAttribute("custom", "foobar"); - ss.persistTabAttribute("custom"); + // Test persisting a customizemode attribute. + { + let customizationReady = BrowserTestUtils.waitForEvent( + gNavToolbox, + "customizationready" + ); + gCustomizeMode.enter(); + await customizationReady; + } - ({ attributes } = JSON.parse(ss.getTabState(tab))); - is(attributes.custom, "foobar", "'custom' attribute is correct"); + let customizeIcon = gBrowser.getIcon(gBrowser.selectedTab); + ({ attributes } = JSON.parse(ss.getTabState(gBrowser.selectedTab))); + ok(!("image" in attributes), "'image' attribute not saved"); + is(attributes.customizemode, "true", "'customizemode' attribute is correct"); - // Make sure we're backwards compatible and restore old 'image' attributes. + { + let afterCustomization = BrowserTestUtils.waitForEvent( + gNavToolbox, + "aftercustomization" + ); + gCustomizeMode.exit(); + await afterCustomization; + } + + // Test restoring a customizemode tab. let state = { - entries: [{ url: "about:mozilla", triggeringPrincipal_base64 }], - attributes: { custom: "foobaz" }, - image: gBrowser.getIcon(tab), + entries: [], + attributes: { customizemode: "true", nonpersisted: "true" }, }; + // Customize mode doesn't like being restored on top of a non-blank tab. + // For the moment, it appears it isn't possible to restore customizemode onto + // an existing non-blank tab outside of tests, however this may be a latent + // bug if we ever try to do that in the future. + let principal = Services.scriptSecurityManager.createNullPrincipal({}); + tab.linkedBrowser.createAboutBlankContentViewer(principal, principal); + // Prepare a pending tab waiting to be restored. let promise = promiseTabRestoring(tab); ss.setTabState(tab, JSON.stringify(state)); await promise; ok(tab.hasAttribute("pending"), "tab is pending"); - is(gBrowser.getIcon(tab), state.image, "tab has correct icon"); + ok(tab.hasAttribute("customizemode"), "tab is in customizemode"); + ok(!tab.hasAttribute("nonpersisted"), "tab has no nonpersisted attribute"); + is(gBrowser.getIcon(tab), customizeIcon, "tab has correct icon"); ok(!state.attributes.image, "'image' attribute not saved"); // Let the pending tab load. gBrowser.selectedTab = tab; - await promiseTabRestored(tab); // Ensure no 'image' or 'pending' attributes are stored. ({ attributes } = JSON.parse(ss.getTabState(tab))); ok(!("image" in attributes), "'image' attribute not saved"); ok(!("pending" in attributes), "'pending' attribute not saved"); - is(attributes.custom, "foobaz", "'custom' attribute is correct"); + ok(!("nonpersisted" in attributes), "'nonpersisted' attribute not saved"); + is(attributes.customizemode, "true", "'customizemode' attribute is correct"); // Clean up. gBrowser.removeTab(tab); diff -Nru firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/browser_bfcache_telemetry.js firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/browser_bfcache_telemetry.js --- firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/browser_bfcache_telemetry.js 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/browser_bfcache_telemetry.js 2024-05-07 06:03:35.000000000 +0000 @@ -39,7 +39,6 @@ add_task(async () => { await test_bfcache_telemetry( - Services.appinfo.sessionHistoryInParent && - Services.prefs.getBoolPref("fission.bfcacheInParent") + Services.prefs.getBoolPref("fission.bfcacheInParent") ); }); diff -Nru firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/browser_docshell_uuid_consistency.js firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/browser_docshell_uuid_consistency.js --- firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/browser_docshell_uuid_consistency.js 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/browser_docshell_uuid_consistency.js 2024-05-07 06:03:35.000000000 +0000 @@ -4,38 +4,18 @@ let tab = BrowserTestUtils.addTab(gBrowser, TEST_URL); await BrowserTestUtils.browserLoaded(tab.linkedBrowser); - if (!Services.appinfo.sessionHistoryInParent) { - await SpecialPowers.spawn(tab.linkedBrowser, [], function () { - let docshell = content.window.docShell.QueryInterface( - Ci.nsIWebNavigation - ); - let shEntry = docshell.sessionHistory.legacySHistory.getEntryAtIndex(0); - is(shEntry.docshellID.toString(), docshell.historyID.toString()); - }); - } else { - let historyID = tab.linkedBrowser.browsingContext.historyID; - let shEntry = - tab.linkedBrowser.browsingContext.sessionHistory.getEntryAtIndex(0); - is(shEntry.docshellID.toString(), historyID.toString()); - } + let historyID = tab.linkedBrowser.browsingContext.historyID; + let shEntry = + tab.linkedBrowser.browsingContext.sessionHistory.getEntryAtIndex(0); + is(shEntry.docshellID.toString(), historyID.toString()); let tab2 = gBrowser.duplicateTab(tab); await BrowserTestUtils.browserLoaded(tab2.linkedBrowser); - if (!Services.appinfo.sessionHistoryInParent) { - await SpecialPowers.spawn(tab2.linkedBrowser, [], function () { - let docshell = content.window.docShell.QueryInterface( - Ci.nsIWebNavigation - ); - let shEntry = docshell.sessionHistory.legacySHistory.getEntryAtIndex(0); - is(shEntry.docshellID.toString(), docshell.historyID.toString()); - }); - } else { - let historyID = tab2.linkedBrowser.browsingContext.historyID; - let shEntry = - tab2.linkedBrowser.browsingContext.sessionHistory.getEntryAtIndex(0); - is(shEntry.docshellID.toString(), historyID.toString()); - } + historyID = tab2.linkedBrowser.browsingContext.historyID; + shEntry = + tab2.linkedBrowser.browsingContext.sessionHistory.getEntryAtIndex(0); + is(shEntry.docshellID.toString(), historyID.toString()); BrowserTestUtils.removeTab(tab); BrowserTestUtils.removeTab(tab2); @@ -47,24 +27,10 @@ let tab = BrowserTestUtils.addTab(gBrowser, TEST_URL); await BrowserTestUtils.browserLoaded(tab.linkedBrowser); - if (!Services.appinfo.sessionHistoryInParent) { - await SpecialPowers.spawn(tab.linkedBrowser, [], function () { - let docshell = content.window.docShell.QueryInterface( - Ci.nsIWebNavigation - ); - let sh = docshell.sessionHistory; - is(sh.count, 1); - is( - sh.legacySHistory.getEntryAtIndex(0).docshellID.toString(), - docshell.historyID.toString() - ); - }); - } else { - let historyID = tab.linkedBrowser.browsingContext.historyID; - let sh = tab.linkedBrowser.browsingContext.sessionHistory; - is(sh.count, 1); - is(sh.getEntryAtIndex(0).docshellID.toString(), historyID.toString()); - } + let historyID = tab.linkedBrowser.browsingContext.historyID; + let sh = tab.linkedBrowser.browsingContext.sessionHistory; + is(sh.count, 1); + is(sh.getEntryAtIndex(0).docshellID.toString(), historyID.toString()); // Force the browser to navigate to the chrome process. BrowserTestUtils.loadURIString(tab.linkedBrowser, "about:config"); @@ -74,31 +40,17 @@ let docShell = tab.linkedBrowser.frameLoader.docShell; // 'cause we're in the chrome process, we can just directly poke at the shistory. - if (!Services.appinfo.sessionHistoryInParent) { - let sh = docShell.QueryInterface(Ci.nsIWebNavigation).sessionHistory; + sh = docShell.browsingContext.sessionHistory; - is(sh.count, 2); - is( - sh.legacySHistory.getEntryAtIndex(0).docshellID.toString(), - docShell.historyID.toString() - ); - is( - sh.legacySHistory.getEntryAtIndex(1).docshellID.toString(), - docShell.historyID.toString() - ); - } else { - let sh = docShell.browsingContext.sessionHistory; - - is(sh.count, 2); - is( - sh.getEntryAtIndex(0).docshellID.toString(), - docShell.historyID.toString() - ); - is( - sh.getEntryAtIndex(1).docshellID.toString(), - docShell.historyID.toString() - ); - } + is(sh.count, 2); + is( + sh.getEntryAtIndex(0).docshellID.toString(), + docShell.historyID.toString() + ); + is( + sh.getEntryAtIndex(1).docshellID.toString(), + docShell.historyID.toString() + ); BrowserTestUtils.removeTab(tab); }); diff -Nru firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/browser_history_persist.js firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/browser_history_persist.js --- firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/browser_history_persist.js 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/browser_history_persist.js 2024-05-07 06:03:35.000000000 +0000 @@ -25,54 +25,27 @@ browser = tab.linkedBrowser; await promiseTabState(tab, state); - if (!SpecialPowers.Services.appinfo.sessionHistoryInParent) { - await SpecialPowers.spawn(browser, [], function () { - let sessionHistory = - docShell.browsingContext.childSessionHistory.legacySHistory; - - is(sessionHistory.count, 1, "Should be a single history entry"); - is( - sessionHistory.getEntryAtIndex(0).URI.spec, - "about:blank", - "Should be the right URL" - ); - }); - } else { - let sessionHistory = browser.browsingContext.sessionHistory; - - is(sessionHistory.count, 1, "Should be a single history entry"); - is( - sessionHistory.getEntryAtIndex(0).URI.spec, - "about:blank", - "Should be the right URL" - ); - } + let sessionHistory = browser.browsingContext.sessionHistory; + + is(sessionHistory.count, 1, "Should be a single history entry"); + is( + sessionHistory.getEntryAtIndex(0).URI.spec, + "about:blank", + "Should be the right URL" + ); // Load a new URL into the tab, it should replace the about:blank history entry BrowserTestUtils.loadURIString(browser, "about:robots"); await promiseBrowserLoaded(browser, false, "about:robots"); - if (!SpecialPowers.Services.appinfo.sessionHistoryInParent) { - await SpecialPowers.spawn(browser, [], function () { - let sessionHistory = - docShell.browsingContext.childSessionHistory.legacySHistory; - - is(sessionHistory.count, 1, "Should be a single history entry"); - is( - sessionHistory.getEntryAtIndex(0).URI.spec, - "about:robots", - "Should be the right URL" - ); - }); - } else { - let sessionHistory = browser.browsingContext.sessionHistory; - - is(sessionHistory.count, 1, "Should be a single history entry"); - is( - sessionHistory.getEntryAtIndex(0).URI.spec, - "about:robots", - "Should be the right URL" - ); - } + + sessionHistory = browser.browsingContext.sessionHistory; + + is(sessionHistory.count, 1, "Should be a single history entry"); + is( + sessionHistory.getEntryAtIndex(0).URI.spec, + "about:robots", + "Should be the right URL" + ); // Cleanup. BrowserTestUtils.removeTab(tab); @@ -99,64 +72,33 @@ tab = BrowserTestUtils.addTab(gBrowser, "about:blank"); browser = tab.linkedBrowser; await promiseTabState(tab, state); - if (!SpecialPowers.Services.appinfo.sessionHistoryInParent) { - await SpecialPowers.spawn(browser, [], function () { - let sessionHistory = - docShell.browsingContext.childSessionHistory.legacySHistory; - - is(sessionHistory.count, 1, "Should be a single history entry"); - is( - sessionHistory.getEntryAtIndex(0).URI.spec, - "about:blank", - "Should be the right URL" - ); - }); - } else { - let sessionHistory = browser.browsingContext.sessionHistory; - - is(sessionHistory.count, 1, "Should be a single history entry"); - is( - sessionHistory.getEntryAtIndex(0).URI.spec, - "about:blank", - "Should be the right URL" - ); - } + + let sessionHistory = browser.browsingContext.sessionHistory; + + is(sessionHistory.count, 1, "Should be a single history entry"); + is( + sessionHistory.getEntryAtIndex(0).URI.spec, + "about:blank", + "Should be the right URL" + ); // Load a new URL into the tab, it should replace the about:blank history entry BrowserTestUtils.loadURIString(browser, "about:robots"); await promiseBrowserLoaded(browser, false, "about:robots"); - if (!SpecialPowers.Services.appinfo.sessionHistoryInParent) { - await SpecialPowers.spawn(browser, [], function () { - let sessionHistory = - docShell.browsingContext.childSessionHistory.legacySHistory; - - is(sessionHistory.count, 2, "Should be two history entries"); - is( - sessionHistory.getEntryAtIndex(0).URI.spec, - "about:blank", - "Should be the right URL" - ); - is( - sessionHistory.getEntryAtIndex(1).URI.spec, - "about:robots", - "Should be the right URL" - ); - }); - } else { - let sessionHistory = browser.browsingContext.sessionHistory; - - is(sessionHistory.count, 2, "Should be two history entries"); - is( - sessionHistory.getEntryAtIndex(0).URI.spec, - "about:blank", - "Should be the right URL" - ); - is( - sessionHistory.getEntryAtIndex(1).URI.spec, - "about:robots", - "Should be the right URL" - ); - } + + sessionHistory = browser.browsingContext.sessionHistory; + + is(sessionHistory.count, 2, "Should be two history entries"); + is( + sessionHistory.getEntryAtIndex(0).URI.spec, + "about:blank", + "Should be the right URL" + ); + is( + sessionHistory.getEntryAtIndex(1).URI.spec, + "about:robots", + "Should be the right URL" + ); // Cleanup. BrowserTestUtils.removeTab(tab); diff -Nru firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/browser_send_async_message_oom.js firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/browser_send_async_message_oom.js --- firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/browser_send_async_message_oom.js 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/browser_send_async_message_oom.js 1970-01-01 00:00:00.000000000 +0000 @@ -1,75 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - http://creativecommons.org/publicdomain/zero/1.0/ */ -/* eslint-disable mozilla/no-arbitrary-setTimeout */ - -const HISTOGRAM_NAME = "FX_SESSION_RESTORE_SEND_UPDATE_CAUSED_OOM"; - -/** - * Test that an OOM in sendAsyncMessage in a framescript will be reported - * to Telemetry. - */ - -add_setup(async function () { - Services.telemetry.canRecordExtended = true; -}); - -function frameScript() { - // Make send[A]syncMessage("SessionStore:update", ...) simulate OOM. - // Other operations are unaffected. - let mm = docShell.messageManager; - - let wrap = function (original) { - return function (name, ...args) { - if (name != "SessionStore:update") { - return original(name, ...args); - } - throw new Components.Exception( - "Simulated OOM", - Cr.NS_ERROR_OUT_OF_MEMORY - ); - }; - }; - - mm.sendAsyncMessage = wrap(mm.sendAsyncMessage.bind(mm)); - mm.sendSyncMessage = wrap(mm.sendSyncMessage.bind(mm)); -} - -add_task(async function () { - // Capture original state. - let snapshot = Services.telemetry.getHistogramById(HISTOGRAM_NAME).snapshot(); - - // Open a browser, configure it to cause OOM. - let newTab = BrowserTestUtils.addTab(gBrowser, "about:robots"); - let browser = newTab.linkedBrowser; - await ContentTask.spawn(browser, null, frameScript); - - let promiseReported = new Promise(resolve => { - browser.messageManager.addMessageListener("SessionStore:error", resolve); - }); - - // Attempt to flush. This should fail. - let promiseFlushed = TabStateFlusher.flush(browser); - promiseFlushed.then(success => { - if (success) { - throw new Error("Flush should have failed"); - } - }); - - // The frame script should report an error. - await promiseReported; - - // Give us some time to handle that error. - await new Promise(resolve => setTimeout(resolve, 10)); - - // By now, Telemetry should have been updated. - let snapshot2 = Services.telemetry - .getHistogramById(HISTOGRAM_NAME) - .snapshot(); - gBrowser.removeTab(newTab); - - Assert.ok(snapshot2.sum > snapshot.sum); -}); - -add_task(async function cleanup() { - Services.telemetry.canRecordExtended = false; -}); diff -Nru firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/browser_sessionHistory.js firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/browser_sessionHistory.js --- firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/browser_sessionHistory.js 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/browser_sessionHistory.js 2024-05-07 06:03:35.000000000 +0000 @@ -296,12 +296,9 @@ * Ensure that document wireframes can be persisted when they're enabled. */ add_task(async function test_wireframes() { - // Wireframes only works when Fission and SHIP are enabled. - if ( - !Services.appinfo.fissionAutostart || - !Services.appinfo.sessionHistoryInParent - ) { - ok(true, "Skipping test_wireframes when Fission or SHIP is not enabled."); + // Wireframes only works when Fission is enabled. + if (!Services.appinfo.fissionAutostart) { + ok(true, "Skipping test_wireframes when Fission is not enabled."); return; } diff -Nru firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/head.js firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/head.js --- firefox-esr-115.10.0esr+build1/browser/components/sessionstore/test/head.js 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/components/sessionstore/test/head.js 2024-05-07 06:03:35.000000000 +0000 @@ -671,35 +671,9 @@ } function promiseOnHistoryReplaceEntry(browser) { - if (SpecialPowers.Services.appinfo.sessionHistoryInParent) { - return new Promise(resolve => { - let sessionHistory = browser.browsingContext?.sessionHistory; - if (sessionHistory) { - var historyListener = { - OnHistoryNewEntry() {}, - OnHistoryGotoIndex() {}, - OnHistoryPurge() {}, - OnHistoryReload() { - return true; - }, - - OnHistoryReplaceEntry() { - resolve(); - }, - - QueryInterface: ChromeUtils.generateQI([ - "nsISHistoryListener", - "nsISupportsWeakReference", - ]), - }; - - sessionHistory.addSHistoryListener(historyListener); - } - }); - } - - return SpecialPowers.spawn(browser, [], () => { - return new Promise(resolve => { + return new Promise(resolve => { + let sessionHistory = browser.browsingContext?.sessionHistory; + if (sessionHistory) { var historyListener = { OnHistoryNewEntry() {}, OnHistoryGotoIndex() {}, @@ -718,13 +692,8 @@ ]), }; - var { sessionHistory } = this.docShell.QueryInterface( - Ci.nsIWebNavigation - ); - if (sessionHistory) { - sessionHistory.legacySHistory.addSHistoryListener(historyListener); - } - }); + sessionHistory.addSHistoryListener(historyListener); + } }); } diff -Nru firefox-esr-115.10.0esr+build1/browser/config/version.txt firefox-esr-115.11.0esr+build1/browser/config/version.txt --- firefox-esr-115.10.0esr+build1/browser/config/version.txt 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/config/version.txt 2024-05-07 06:03:35.000000000 +0000 @@ -1 +1 @@ -115.10.0 +115.11.0 diff -Nru firefox-esr-115.10.0esr+build1/browser/config/version_display.txt firefox-esr-115.11.0esr+build1/browser/config/version_display.txt --- firefox-esr-115.10.0esr+build1/browser/config/version_display.txt 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/config/version_display.txt 2024-05-07 06:03:35.000000000 +0000 @@ -1 +1 @@ -115.10.0esr +115.11.0esr diff -Nru firefox-esr-115.10.0esr+build1/browser/locales/l10n-changesets.json firefox-esr-115.11.0esr+build1/browser/locales/l10n-changesets.json --- firefox-esr-115.10.0esr+build1/browser/locales/l10n-changesets.json 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/browser/locales/l10n-changesets.json 2024-05-07 06:03:35.000000000 +0000 @@ -15,7 +15,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "09170737faea4b3c1002b7b171423b26d6a84249" + "revision": "01d0b95d9e814dbe3498ffcc4826536e7bfa982d" }, "af": { "pin": false, @@ -33,7 +33,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "f75b56616bce86d35d7224d5d92a619184ad20e3" + "revision": "4b4e1ac99efc91c8d452e2fa6493443cd41f7bdd" }, "an": { "pin": false, @@ -51,7 +51,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "7dd08c770f7d6467384592dc4a9a9a3271159840" + "revision": "a7fb8ee7157c3256bb2bc41ed7de2e32c8fc7fb2" }, "ar": { "pin": false, @@ -69,7 +69,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "4c7e24ef78bdc7567d43b849345ae880c8bb20a8" + "revision": "c25d000804793caac2244435604876fa7c7ac53b" }, "ast": { "pin": false, @@ -87,7 +87,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "64e0c51ec3b5b947743ed79b4481ce26f32fc5ad" + "revision": "9e8adc849e5fd31664f6b34f9c94a9e68d8a17b4" }, "az": { "pin": false, @@ -105,7 +105,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "f95282c649779d047fda89692d5d6aad083c1d7b" + "revision": "f9a497246603da23af3f8f7cfb6eb93c329fcfa0" }, "be": { "pin": false, @@ -123,7 +123,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "0bed491fdb27e5052aef5083a8a10cc68809d071" + "revision": "c72d29fbba5665b6d09c8163d70f17c861de5b68" }, "bg": { "pin": false, @@ -141,7 +141,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "612502562eb1788688de1a4973e939c91782ac78" + "revision": "9f8e00927a58304657f69e68c45bb08b283c7bb4" }, "bn": { "pin": false, @@ -159,7 +159,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "503468755f8cff15b732e2bb9c3ddf7f3be07380" + "revision": "d8cff26d13b63763623a45fc1e0ac2346b1b07ad" }, "br": { "pin": false, @@ -177,7 +177,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "7b4ddecda399bc6a8137afc9d2ea8415d02ea5ad" + "revision": "90580336afef095faa56a66bf4d002c39bd78733" }, "bs": { "pin": false, @@ -195,7 +195,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "0231a77ce204f5b1a8dbf3e06d1d9d2b9aec9261" + "revision": "80e6a955d8735d71a89cfb6ac8a76dbee6b47538" }, "ca": { "pin": false, @@ -213,7 +213,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "24d50653ab5c9b99335a8e65cdf4d92ccc6a2b14" + "revision": "2de60e3d6d0cadadfe9115752aaad0bd7223c98a" }, "ca-valencia": { "pin": false, @@ -231,7 +231,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "8bf62f9aa0cbc1ebb1b1c5d373c48dcd50dbfd9c" + "revision": "e79bb891751b8859609abe02840780b675002131" }, "cak": { "pin": false, @@ -249,7 +249,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "aedb8eeab1dbde2eacd079e6c9d1ce134ec338b8" + "revision": "87a4bdc479c2957a4a336691e8c30566f718392d" }, "cs": { "pin": false, @@ -267,7 +267,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "0d96b6b04bfb8a29ba7040144db80cc47f64b09d" + "revision": "609edd15f9a971e3eaa2b6939f4b3ef29bb401a2" }, "cy": { "pin": false, @@ -285,7 +285,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "3d1694ddd8f1b79d6af3fef4404918041d9fe0a9" + "revision": "9a284d9a640870b3a94bc40ec6c410539ba13e6c" }, "da": { "pin": false, @@ -303,7 +303,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "0a0b774407cc88a245653d3f258147f1bbe466fb" + "revision": "2197a99c9a080c756920436e8cf541616f542ae4" }, "de": { "pin": false, @@ -321,7 +321,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "633986260777ba4127fb9e672b96fb46b94b0a9d" + "revision": "b7a533e5edc9912add2ed53286a85b4cbffaaffc" }, "dsb": { "pin": false, @@ -339,7 +339,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "74247a862227c161b9a5973bc9e58e50e9bcb56c" + "revision": "299b082e1a91ef8acb6446de73f51aee1f2a2622" }, "el": { "pin": false, @@ -357,7 +357,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "e2f2d1541e385f8a4d44d7c7e19ae9cd7030f0b6" + "revision": "20baf15379d8dc5d6913942bff393c292399000f" }, "en-CA": { "pin": false, @@ -375,7 +375,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "12633b822526555f840e2a6b914362e470307af6" + "revision": "23c3ed7ee451bcf07e2e12c68a3ac1e349e95876" }, "en-GB": { "pin": false, @@ -393,7 +393,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "e1234cb64b89c34f3a88d8c6b164df35825fe8d9" + "revision": "9de9183c97d3bfaa0a90fb7e8b466070c35e25f3" }, "eo": { "pin": false, @@ -411,7 +411,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "8fc31a6f9a320f77339ed2d2a53d9ef38555888d" + "revision": "1b750fc7abd455d7eac20f9d7922f2d7d7b002bd" }, "es-AR": { "pin": false, @@ -429,7 +429,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "78b3c38741dffc0f17a848e4faf873a1b86d2ca3" + "revision": "42228ca4434593daaf0c00730bdb49fc82380082" }, "es-CL": { "pin": false, @@ -447,7 +447,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "1335f004be927c39ee0fefb37021a2969519b5e7" + "revision": "78d913d7193ab71fa909f7f029874be302672c09" }, "es-ES": { "pin": false, @@ -465,7 +465,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "accf5e4506c03ec14eabb67e5fb79badfefb8f3b" + "revision": "beff1baac7c5d71e84eb26c356472af091a82d48" }, "es-MX": { "pin": false, @@ -483,7 +483,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "b92e1730f01bcf5499dbb772f17a13abd3a68c58" + "revision": "175f671c5b64e680d2fb80bd676d6e4469f8f2e4" }, "et": { "pin": false, @@ -501,7 +501,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "d780fe37dfc6ab2be41baa886a83dad3e5e93af4" + "revision": "79be34d00ff06d857ad720b8aedf553b6c402501" }, "eu": { "pin": false, @@ -519,7 +519,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "1f33c97dd4b9ded434f47ed1001f7258eabca501" + "revision": "f0f0a5d2807fdfe77f7d3eb4ed6eee0cc3997765" }, "fa": { "pin": false, @@ -537,7 +537,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "37aa71d77cb6de6cc9f1d67696f978deef2ade74" + "revision": "ebe0b60b0b367779c55a807661e383696401f6b2" }, "ff": { "pin": false, @@ -555,7 +555,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "eb3ca2b29eb8e75b28b723f64eecc2c5ff993117" + "revision": "a437fb813f99bb8acb221a8db1000cd078e0bfee" }, "fi": { "pin": false, @@ -573,7 +573,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "dc40a4fd5d0e787da56408576c6d673191827dc6" + "revision": "d5ae6a933d714f734e6da192150bbf63f9a61149" }, "fr": { "pin": false, @@ -591,7 +591,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "415c1f0e84bd3287d07ed84aa23ce4da4673d46f" + "revision": "496c2eb73b82d5bb7fc3a10ccd159f3df0d76e7c" }, "fur": { "pin": false, @@ -609,7 +609,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "c0f7e4e5ccca3f2c98a4d3c039f571310e95a08c" + "revision": "16d5fc065f997ad6db555debb9eb75bd096dda30" }, "fy-NL": { "pin": false, @@ -627,7 +627,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "45d949d7a90e669b8b9f4f7d950c336ea91de987" + "revision": "b9ae5d7ce6f436f239478b2a6386edaa9cc6757a" }, "ga-IE": { "pin": false, @@ -645,7 +645,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "d271f275cf48a006acf046519793dde34bd0fbeb" + "revision": "2fcccb5b19b300f4368399f83f38c962de907e6f" }, "gd": { "pin": false, @@ -663,7 +663,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "2b950e306295533e891ebf5ad4bdc945f1afc503" + "revision": "f89f7d0090410bd6071fdd10acdb725fd42dc683" }, "gl": { "pin": false, @@ -681,7 +681,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "a060dd864d61fd4d074d3d558955dcdb57c1c35e" + "revision": "d60053a8338abc292231feb6c72a480cbfe09282" }, "gn": { "pin": false, @@ -699,7 +699,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "372cc7e9a7d3da912da9f911b261110d0d5e2c6f" + "revision": "2f630869db524c00f32f2c1a86cb74dfa6b96e8c" }, "gu-IN": { "pin": false, @@ -717,7 +717,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "ae2b9c18cfab55abf7ac8a50e371c3d8dd714060" + "revision": "6e7a555c8a2d8a0df4791c49636b735b2e3e892b" }, "he": { "pin": false, @@ -735,7 +735,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "46f8d7c031a6a4cd9ce99fd6d2fa1d97049aa9fb" + "revision": "c53cea027f8f98f9b672232d2bb3a129fc8669f7" }, "hi-IN": { "pin": false, @@ -753,7 +753,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "0061583f8a467014c7267e52745986f405aa8468" + "revision": "3226adb8b31f20b5a1e511c39d96475bd981c64f" }, "hr": { "pin": false, @@ -771,7 +771,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "3244c23d50d1ef88729b015af3829053e831b4a3" + "revision": "da0cae20d707fde4238bcb079bc9c9a572ca70ad" }, "hsb": { "pin": false, @@ -789,7 +789,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "10dec0b4c8a0f360a86ed2c734d260d3d5928773" + "revision": "1e13c9b155321cb9b904386d5c90736baaf52f9b" }, "hu": { "pin": false, @@ -807,7 +807,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "086ac0260d6b5adc2a40751ac18d00ee6f32fdc5" + "revision": "5a76dd3b5d5ca290e2d3bed08cd2378c0a89f4bc" }, "hy-AM": { "pin": false, @@ -825,7 +825,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "932f864ceb4b455ea072ab4fde99768ed6892743" + "revision": "dc1b03d7cfb8d6aba009ce32c2198f10b4ffab5f" }, "ia": { "pin": false, @@ -843,7 +843,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "b8ce45c9cc30ffd2839f6f566c3322fda1579fc7" + "revision": "0a8e921a71ddea28aa8279d9cc30a2c228514285" }, "id": { "pin": false, @@ -861,7 +861,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "f03a6b3069a51f4142fa6f6df11df96b3ada8a55" + "revision": "6e6de17dcac401dbb916db954c39c571c13995bf" }, "is": { "pin": false, @@ -879,7 +879,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "5c4b61165e1dbb5bb5c053bc88056520abc985d4" + "revision": "536265635dfec9c1f466d9716b9ef0ad28ac7a09" }, "it": { "pin": false, @@ -897,7 +897,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "07d5e1ff5f9b76a48b141ecbea23d20061bd969c" + "revision": "91951e37e2b85976c6a2cf42f2412e77433eca13" }, "ja": { "pin": false, @@ -913,7 +913,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "e6f9db9ce3e67576196c0e888bb8628a300ab8af" + "revision": "895dcf8bb52453b39c8953adb81b2cb728c4465d" }, "ja-JP-mac": { "pin": false, @@ -921,7 +921,7 @@ "macosx64", "macosx64-devedition" ], - "revision": "b166ef1a805efb1ab0ee998108213de08e5be069" + "revision": "90a5078ce63ddff8cc0eb1e8f15bc0cb05483ce8" }, "ka": { "pin": false, @@ -939,7 +939,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "a15eb9feea2cc1add03a14b2a2d7e2a41deaabdc" + "revision": "d0819a64fc401ea706eb618da80438765b636aeb" }, "kab": { "pin": false, @@ -957,7 +957,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "4d619e0aace95075132d8e708a8f9055f95a784f" + "revision": "f2e6e32f3903bd964eca9919dad4ce24c69aa61f" }, "kk": { "pin": false, @@ -975,7 +975,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "b6a707bf746107ef1dd3979b973f06a85d61aa2d" + "revision": "0d31157370f1ccafab11b1a144de43d227512e2e" }, "km": { "pin": false, @@ -993,7 +993,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "006435264ce37b6daf75558316730614936ce5e8" + "revision": "34fd1eee4268442bde103bae424da5e03350ef01" }, "kn": { "pin": false, @@ -1011,7 +1011,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "2bd68cc25a04fe321dac1ad6fa102c1424976e8f" + "revision": "5290237e824838c10238776252c2404eafd17318" }, "ko": { "pin": false, @@ -1029,7 +1029,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "805b85981696e9145d1a677c6624abe100267fc0" + "revision": "6ef881aff44bb92e5a6a95f369064c4c339620b9" }, "lij": { "pin": false, @@ -1047,7 +1047,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "7c0f7f96530b48bd7ce46df25645ec91581ee19e" + "revision": "d5074f9a22e6fa13c5ee8abc60636ce37e658716" }, "lt": { "pin": false, @@ -1065,7 +1065,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "943a26276832c09522fc9134e9f930cb0506f497" + "revision": "afcbc29a15e5429879fd336d16e2627b57549e31" }, "lv": { "pin": false, @@ -1083,7 +1083,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "c67ce680ac800c004b22b9787166be20a7aae201" + "revision": "9e9a2a3c2432a27f48559d94f26e2a207dc99d84" }, "mk": { "pin": false, @@ -1101,7 +1101,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "fbef80de5499995a75db64bf06903e16f22dee4e" + "revision": "84f3d6c7e2dacce64f1ec9eb845a2ba1f6ca5849" }, "mr": { "pin": false, @@ -1119,7 +1119,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "019be6e3370b7a27e434d3a61e5f229160d4ed84" + "revision": "e5561a32b37ee3e26032b1ab534df138de588e49" }, "ms": { "pin": false, @@ -1137,7 +1137,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "20ec0915ec354d674a835ace3615aebfdf7f5219" + "revision": "c9ec27a5db3da7cec0ae60128506692f6dcbe17e" }, "my": { "pin": false, @@ -1155,7 +1155,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "4ab6f0d05aa6ead61e2ba4ff34dff79a696b9318" + "revision": "5c1480ccc04021dbf4fde8d04ffab591d26fe80b" }, "nb-NO": { "pin": false, @@ -1173,7 +1173,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "561b0cd86ec1561ca575ce663d4e21f5b43cda41" + "revision": "fc1896a0a24d1ae5708a76aea1f437fda566ce84" }, "ne-NP": { "pin": false, @@ -1191,7 +1191,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "6367a1ca431c536985f8cab4597e569329bf9ba8" + "revision": "8c9eac262db978fca8fc3a5c70f032bc3f3776ff" }, "nl": { "pin": false, @@ -1209,7 +1209,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "2a55df0cc3892d7f8dc789c33f377a64debe3c85" + "revision": "7e6da4f01bdbfd9615d541073109a1dd1371792e" }, "nn-NO": { "pin": false, @@ -1227,7 +1227,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "f1e4c9dfd98e74f5bbd21e137f58bd4cf008e0f0" + "revision": "c3d8b68621dab95b03dbb55b1fa61b7662eb6444" }, "oc": { "pin": false, @@ -1245,7 +1245,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "f562a64f01acb4acc47f51e46619232a83a7068f" + "revision": "a550cf8ec350953cf895a3f84f7e657965b17303" }, "pa-IN": { "pin": false, @@ -1263,7 +1263,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "f7f5f1096400869357e85aa17155cfd7a5d8cb86" + "revision": "7531f541ae0ac61c3579417475e67ae5d399edfa" }, "pl": { "pin": false, @@ -1281,7 +1281,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "a64a7dab01c4ee4bcdc765de6cd03a0b2defeaa9" + "revision": "e86a451a9cb5fd5e6dc796735317261280697fe6" }, "pt-BR": { "pin": false, @@ -1299,7 +1299,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "33bf2a9f4c49e719ecb305dec731c83b94b5cccd" + "revision": "94c3dbb67a5d8c6047f4a16750de0297e5e55b3b" }, "pt-PT": { "pin": false, @@ -1317,7 +1317,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "051c2c722aad78ac8327d7c919a54bdf65ef2c9b" + "revision": "76783945baff030a643ea073164d64ffd35937b0" }, "rm": { "pin": false, @@ -1335,7 +1335,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "b97faa95a0c7083253ec08230f74290ad45ea357" + "revision": "34552c78b72222b6f21d664df253dd4eb75e741f" }, "ro": { "pin": false, @@ -1353,7 +1353,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "a367feeadd33275bcf1584719c45a401db376e84" + "revision": "470b13b5805b83864f3d6acee12747dfe38703de" }, "ru": { "pin": false, @@ -1371,7 +1371,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "528b76d6aaca450ecde21fd12ad3bb5aa13dc925" + "revision": "402b2ecbf04d3e3ab9258f103d4e97e7ea2d107c" }, "sc": { "pin": false, @@ -1389,7 +1389,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "64a2a98ded661dc9540df18dfaf3341983d96461" + "revision": "a2964e3447a3a8de26ceb31fe8f31273bb4fa050" }, "sco": { "pin": false, @@ -1407,7 +1407,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "da7bf2f8f68856930d61dae836d25c422837a8ee" + "revision": "b0e67df5c86da77177388bcd8010bd22445e2230" }, "si": { "pin": false, @@ -1425,7 +1425,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "dae09adba9b54655fbc84a3583726d6b45f613df" + "revision": "05344a3721f083f18ba8fa427f742939724eb409" }, "sk": { "pin": false, @@ -1443,7 +1443,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "0dc3e74cf7ec420f7a288f1d6f549d7e9da930e3" + "revision": "af01c2969bb64ea5493ff7997ba318ff928e5065" }, "sl": { "pin": false, @@ -1461,7 +1461,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "8f1f703422a54854a6c145b3b4fd271143078932" + "revision": "0692f748e6fe6397c049f0586dee54b5cbd6c62b" }, "son": { "pin": false, @@ -1479,7 +1479,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "6bf85312780bcff64c8879897ec811a2726d1e43" + "revision": "fc8d6dee9c1a803a0f6ef9f51583a47068301269" }, "sq": { "pin": false, @@ -1497,7 +1497,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "fa28d9d79cd3fde0d37d3459019446a8b2c5beab" + "revision": "f637484e72b685f254224dbb7dc65f45414f6f91" }, "sr": { "pin": false, @@ -1515,7 +1515,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "47887eb6e6d9818ede91d5277ec943e4819d0a83" + "revision": "944c72f995e4c8983920eb88cacbf187e145407d" }, "sv-SE": { "pin": false, @@ -1533,7 +1533,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "cc8e8962e59c94b97b70db64bf41e0b87a8ede53" + "revision": "bb2d5d96d69ef9fb98ed291232344aa863e237bd" }, "szl": { "pin": false, @@ -1551,7 +1551,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "d8acb10b26c9347971b547157b60bc5b19be1796" + "revision": "a8afff859aca86ae43810fcf8b6b45a5ed753ad4" }, "ta": { "pin": false, @@ -1569,7 +1569,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "eafb88f45784c47606333379ccf7c95bcf5d8faa" + "revision": "19b03e8569563cb3e5991a27e980baf897b88bd1" }, "te": { "pin": false, @@ -1587,7 +1587,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "42666d51ccf74a64e8c86519470ce53d0afc3093" + "revision": "4e32fe69464240002479e3c87ef13f039166c9ce" }, "tg": { "pin": false, @@ -1605,7 +1605,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "76c1aaea44b1f1299627101fd304cd4df52a70c5" + "revision": "fedff34feae8325766d7ca970f8eaaebac207134" }, "th": { "pin": false, @@ -1623,7 +1623,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "d361502c559ef169c866b6fff0ff3cad0e7ddd5e" + "revision": "0e6c56bf2ac9f3596e99646e8b8e880b2bde5502" }, "tl": { "pin": false, @@ -1641,7 +1641,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "c15307863103ae3cb7c6859888a32051d98d3530" + "revision": "d1c7cd905296829b32e00ed97c16f07216e591a6" }, "tr": { "pin": false, @@ -1659,7 +1659,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "f6173aca47620504c5bb9a20eb5cf9c7dadb852a" + "revision": "91e611ae3f19ef8be9dde02414b3140827aa68ba" }, "trs": { "pin": false, @@ -1677,7 +1677,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "87850b4b6da8190359bc0837850cee17e3a93bbe" + "revision": "269c1be15683651ee2cac1ad55dea4ad6da43aa6" }, "uk": { "pin": false, @@ -1695,7 +1695,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "c5ad4d4f70ebe7db1265f24fc89237808219b34c" + "revision": "99d5ffa0b81e03f66693a61c128237572f6810ee" }, "ur": { "pin": false, @@ -1713,7 +1713,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "46cb98f8118cd844018df84eeb1f4f9d85d79a01" + "revision": "02ab0cc3169d110862ba0dfed1133d25070d03e3" }, "uz": { "pin": false, @@ -1731,7 +1731,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "6eee9399633944011a3ebecc45fa0d5de758e81e" + "revision": "8ad4e2f1c365f50e4c79976a94fe364d457c9141" }, "vi": { "pin": false, @@ -1749,7 +1749,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "0e75c226763d2548044afe1d0f7b2b3158b7c56d" + "revision": "5fd44724e22de01fe90767faba16be42236b7f7e" }, "xh": { "pin": false, @@ -1767,7 +1767,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "b0a85e71398518c848ecf0512fa5f7c0afdcfb4c" + "revision": "802582e42c552f5412369d56855c53bc0ffe0665" }, "zh-CN": { "pin": false, @@ -1785,7 +1785,7 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "df2d025ed63149f522134e928a3977b331b12873" + "revision": "081aeb1aa3080ea25c46b15950cb3257d791ec35" }, "zh-TW": { "pin": false, @@ -1803,6 +1803,6 @@ "win64-aarch64-devedition", "win64-devedition" ], - "revision": "11f8d68148a4c6aa5b496f57c2f466347e1e4827" + "revision": "9015a180602e18b71d4068f6581557542b392344" } } \ No newline at end of file diff -Nru firefox-esr-115.10.0esr+build1/config/milestone.txt firefox-esr-115.11.0esr+build1/config/milestone.txt --- firefox-esr-115.10.0esr+build1/config/milestone.txt 2024-04-08 19:10:10.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/config/milestone.txt 2024-05-07 06:03:35.000000000 +0000 @@ -10,4 +10,4 @@ # hardcoded milestones in the tree from these two files. #-------------------------------------------------------- -115.10.0 +115.11.0 diff -Nru firefox-esr-115.10.0esr+build1/debian/changelog firefox-esr-115.11.0esr+build1/debian/changelog --- firefox-esr-115.10.0esr+build1/debian/changelog 2024-04-08 19:12:59.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/debian/changelog 2024-05-07 06:10:56.000000000 +0000 @@ -1,3 +1,9 @@ +firefox-esr (115.11.0esr+build1-0ubuntu0.24.04.1~mt1) noble; urgency=medium + + * New upstream stable release (FIREFOX_115_11_0esr_BUILD1) + + -- Rico Tzschichholz Tue, 07 May 2024 08:10:56 +0200 + firefox-esr (115.10.0esr+build1-0ubuntu0.24.04.1~mt1) noble; urgency=medium * New upstream stable release (FIREFOX_115_10_0esr_BUILD1) diff -Nru firefox-esr-115.10.0esr+build1/devtools/client/debugger/test/mochitest/browser_dbg-call-stack.js firefox-esr-115.11.0esr+build1/devtools/client/debugger/test/mochitest/browser_dbg-call-stack.js --- firefox-esr-115.10.0esr+build1/devtools/client/debugger/test/mochitest/browser_dbg-call-stack.js 2024-04-08 19:10:09.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/devtools/client/debugger/test/mochitest/browser_dbg-call-stack.js 2024-05-07 06:03:35.000000000 +0000 @@ -19,6 +19,8 @@ const button = toggleButton(dbg); ok(!button, "toggle button shouldn't be there"); + + await resume(dbg); }); add_task(async function () { @@ -53,9 +55,13 @@ const found = findElement(dbg, "callStackBody"); is(found, null, "Call stack is hidden"); - SpecialPowers.spawn(gBrowser.selectedBrowser, [], function () { - content.document.querySelector("button.pause").click(); - }); + const pausedContent = SpecialPowers.spawn( + gBrowser.selectedBrowser, + [], + function () { + content.document.querySelector("button.pause").click(); + } + ); await waitForPaused(dbg); const $group = findElementWithSelector(dbg, ".frames .frames-group"); @@ -69,6 +75,11 @@ "Angular", "Group has expected location" ); + + await resume(dbg); + + info("Wait for content to be resumed"); + await pausedContent; }); function toggleButton(dbg) { diff -Nru firefox-esr-115.10.0esr+build1/dom/base/Document.cpp firefox-esr-115.11.0esr+build1/dom/base/Document.cpp --- firefox-esr-115.10.0esr+build1/dom/base/Document.cpp 2024-04-08 19:10:10.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/dom/base/Document.cpp 2024-05-07 06:03:35.000000000 +0000 @@ -196,6 +196,7 @@ #include "mozilla/dom/NetErrorInfoBinding.h" #include "mozilla/dom/NodeInfo.h" #include "mozilla/dom/NodeIterator.h" +#include "mozilla/dom/nsHTTPSOnlyUtils.h" #include "mozilla/dom/PContentChild.h" #include "mozilla/dom/PWindowGlobalChild.h" #include "mozilla/dom/PageTransitionEvent.h" diff -Nru firefox-esr-115.10.0esr+build1/dom/media/gmp/ChromiumCDMProxy.cpp firefox-esr-115.11.0esr+build1/dom/media/gmp/ChromiumCDMProxy.cpp --- firefox-esr-115.10.0esr+build1/dom/media/gmp/ChromiumCDMProxy.cpp 2024-04-08 19:10:11.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/dom/media/gmp/ChromiumCDMProxy.cpp 2024-05-07 06:03:36.000000000 +0000 @@ -7,6 +7,7 @@ #include "ChromiumCDMProxy.h" #include "ChromiumCDMCallbackProxy.h" #include "MediaResult.h" +#include "mozilla/StaticPrefs_media.h" #include "mozilla/dom/MediaKeySession.h" #include "GMPUtils.h" #include "nsPrintfCString.h" @@ -381,13 +382,19 @@ } uint32_t linkMask{}; - uint32_t protectionMask{}; // Unused/always zeroed. + uint32_t protectionMask{}; if (aCheckStatus == OutputProtectionCheckStatus::CheckSuccessful && aCaptureStatus == OutputProtectionCaptureStatus::CapturePossilbe) { // The result indicates the capture is possible, so set the mask // to indicate this. linkMask |= cdm::OutputLinkTypes::kLinkTypeNetwork; } + // `kProtectionNone` can cause playback to stop if HDCP_V1 is required. Report + // HDCP protection if there's no potential capturing. + if (linkMask == cdm::OutputLinkTypes::kLinkTypeNone && + StaticPrefs::media_widevine_hdcp_protection_mask()) { + protectionMask = cdm::OutputProtectionMethods::kProtectionHDCP; + } mGMPThread->Dispatch(NewRunnableMethod( "gmp::ChromiumCDMParent::NotifyOutputProtectionStatus", cdm, &gmp::ChromiumCDMParent::NotifyOutputProtectionStatus, diff -Nru firefox-esr-115.10.0esr+build1/dom/media/gmp/GMPChild.cpp firefox-esr-115.11.0esr+build1/dom/media/gmp/GMPChild.cpp --- firefox-esr-115.10.0esr+build1/dom/media/gmp/GMPChild.cpp 2024-04-08 19:10:11.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/dom/media/gmp/GMPChild.cpp 2024-05-07 06:03:36.000000000 +0000 @@ -38,6 +38,7 @@ #include "nsThreadManager.h" #include "nsXULAppAPI.h" #include "nsIXULRuntime.h" +#include "nsXPCOMPrivate.h" // for XUL_DLL #include "prio.h" #ifdef XP_WIN # include // for _exit() @@ -283,15 +284,11 @@ #endif #if defined(XP_WIN) -# define FIREFOX_FILE u"firefox.exe"_ns -# define XUL_LIB_FILE u"xul.dll"_ns -#elif defined(XP_MACOSX) -# define FIREFOX_FILE u"firefox"_ns -# define XUL_LIB_FILE u"XUL"_ns +# define FIREFOX_FILE MOZ_APP_NAME u".exe"_ns #else -# define FIREFOX_FILE u"firefox"_ns -# define XUL_LIB_FILE u"libxul.so"_ns +# define FIREFOX_FILE MOZ_APP_NAME u""_ns #endif +#define XUL_LIB_FILE XUL_DLL u""_ns static nsCOMPtr GetFirefoxAppPath( nsCOMPtr aPluginContainerPath) { diff -Nru firefox-esr-115.10.0esr+build1/dom/media/gmp/moz.build firefox-esr-115.11.0esr+build1/dom/media/gmp/moz.build --- firefox-esr-115.10.0esr+build1/dom/media/gmp/moz.build 2024-04-08 19:10:11.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/dom/media/gmp/moz.build 2024-05-07 06:03:36.000000000 +0000 @@ -129,6 +129,8 @@ if CONFIG["OS_TARGET"] in ["WINNT", "Darwin"]: DEFINES["SUPPORT_STORAGE_ID"] = 1 +DEFINES["MOZ_APP_NAME"] = '"%s"' % CONFIG["MOZ_APP_NAME"] + include("/ipc/chromium/chromium-config.mozbuild") if CONFIG["MOZ_SANDBOX"]: diff -Nru firefox-esr-115.10.0esr+build1/dom/quota/ActorsParent.cpp firefox-esr-115.11.0esr+build1/dom/quota/ActorsParent.cpp --- firefox-esr-115.10.0esr+build1/dom/quota/ActorsParent.cpp 2024-04-08 19:10:11.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/dom/quota/ActorsParent.cpp 2024-05-07 06:03:37.000000000 +0000 @@ -3541,13 +3541,25 @@ ScopedLogExtraInfo scope{ScopedLogExtraInfo::kTagContext, "dom::quota::QuotaManager::Shutdown"_ns}; + // We always need to ensure that firefox does not shutdown with a private + // repository still on disk. They are ideally cleaned up on PBM session end + // but, in some cases like PBM autostart (i.e. + // browser.privatebrowsing.autostart), private repository could only be + // cleaned up on shutdown. ClearPrivateRepository below runs a async op and is + // better to do it before we run the ShutdownStorageOp since it expects all + // cleanup operations to be done by that point. We don't need to use the + // returned promise here because `ClearPrivateRepository` registers the + // underlying `ClearPrivateRepositoryOp` in `gNormalOriginOps`. + ClearPrivateRepository(); + // This must be called before `flagShutdownStarted`, it would fail otherwise. // `ShutdownStorageOp` needs to acquire an exclusive directory lock over // entire /storage which will abort any existing operations and wait // for all existing directory locks to be released. So the shutdown operation // will effectively run after all existing operations. - // We don't need to use the returned promise here because `ShutdownStorage` - // registers `ShudownStorageOp` in `gNormalOriginOps`. + // Similar, to ClearPrivateRepository operation above, ShutdownStorageOp also + // registers it's operation in `gNormalOriginOps` so we don't need to assign + // returned promise. ShutdownStorage(); flagShutdownStarted(); diff -Nru firefox-esr-115.10.0esr+build1/dom/security/nsHTTPSOnlyUtils.cpp firefox-esr-115.11.0esr+build1/dom/security/nsHTTPSOnlyUtils.cpp --- firefox-esr-115.10.0esr+build1/dom/security/nsHTTPSOnlyUtils.cpp 2024-04-08 19:10:12.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/dom/security/nsHTTPSOnlyUtils.cpp 2024-05-07 06:03:37.000000000 +0000 @@ -808,6 +808,12 @@ return uriEquals; } +/* static */ +uint32_t nsHTTPSOnlyUtils::GetStatusForSubresourceLoad( + uint32_t aHttpsOnlyStatus) { + return aHttpsOnlyStatus & ~nsILoadInfo::HTTPS_ONLY_UPGRADED_HTTPS_FIRST; +} + /*static*/ void nsHTTPSOnlyUtils::PotentiallyClearExemptFlag(nsILoadInfo* aLoadInfo) { // if neither HTTPS-Only nor HTTPS-First mode is enabled, then there is diff -Nru firefox-esr-115.10.0esr+build1/dom/security/nsHTTPSOnlyUtils.h firefox-esr-115.11.0esr+build1/dom/security/nsHTTPSOnlyUtils.h --- firefox-esr-115.10.0esr+build1/dom/security/nsHTTPSOnlyUtils.h 2024-04-08 19:10:11.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/dom/security/nsHTTPSOnlyUtils.h 2024-05-07 06:03:37.000000000 +0000 @@ -164,6 +164,18 @@ nsILoadInfo* aLoadInfo); /** + * Determines which HTTPS-Only status flags should get propagated to + * sub-resources or sub-documents. As sub-resources and sub-documents are + * exempt when the top-level document is exempt, we need to copy the "exempt" + * flag. The HTTPS-First "upgraded" flag should not be copied to prevent a + * unwanted downgrade (Bug 1885949). + * @param aHttpsOnlyStatus The HTTPS-Only status of the top-level document. + * @return The HTTPS-Only status that the sub-resource/document should + * receive. + */ + static uint32_t GetStatusForSubresourceLoad(uint32_t aHttpsOnlyStatus); + + /** * Checks a top-level load, if it is exempt by HTTPS-First/ Only * clear exemption flag. * @param aLoadInfo nsILoadInfo of the request diff -Nru firefox-esr-115.10.0esr+build1/dom/security/test/https-first/browser.ini firefox-esr-115.11.0esr+build1/dom/security/test/https-first/browser.ini --- firefox-esr-115.10.0esr+build1/dom/security/test/https-first/browser.ini 2024-04-08 19:10:11.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/dom/security/test/https-first/browser.ini 2024-05-07 06:03:37.000000000 +0000 @@ -33,3 +33,7 @@ test.wav [browser_beforeunload_permit_http.js] support-files = file_beforeunload_permit_http.html +[browser_subdocument_downgrade.js] +support-files = + file_empty.html + file_subdocument_downgrade.sjs diff -Nru firefox-esr-115.10.0esr+build1/dom/security/test/https-first/browser_subdocument_downgrade.js firefox-esr-115.11.0esr+build1/dom/security/test/https-first/browser_subdocument_downgrade.js --- firefox-esr-115.10.0esr+build1/dom/security/test/https-first/browser_subdocument_downgrade.js 1970-01-01 00:00:00.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/dom/security/test/https-first/browser_subdocument_downgrade.js 2024-05-07 06:03:37.000000000 +0000 @@ -0,0 +1,60 @@ +/* Any copyright is dedicated to the Public Domain. + https://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +const EMPTY_URL = + "http://example.com/browser/dom/security/test/https-first/file_empty.html"; +const SUBDOCUMENT_URL = + "https://example.com/browser/dom/security/test/https-first/file_subdocument_downgrade.sjs"; + +add_task(async function test_subdocument_downgrade() { + await SpecialPowers.pushPrefEnv({ + set: [ + // We want to test HTTPS-First + ["dom.security.https_first", true], + // Makes it easier to detect the error + ["security.mixed_content.block_active_content", false], + ], + }); + + // Open a empty document with origin http://example.com, which gets upgraded + // to https://example.com by HTTPS-First and thus is marked as + // HTTPS_ONLY_UPGRADED_HTTPS_FIRST. + await BrowserTestUtils.withNewTab(EMPTY_URL, async browser => { + await SpecialPowers.spawn( + browser, + [SUBDOCUMENT_URL], + async SUBDOCUMENT_URL => { + function isCrossOriginIframe(iframe) { + try { + return !iframe.contentDocument; + } catch (e) { + return true; + } + } + const subdocument = content.document.createElement("iframe"); + // We open https://example.com/.../file_subdocument_downgrade.sjs in a + // iframe, which sends a invalid response if the scheme is https. Thus + // we should get an error. But if we accidentally copy the + // HTTPS_ONLY_UPGRADED_HTTPS_FIRST flag from the parent into the iframe + // loadinfo, HTTPS-First will try to downgrade the iframe. We test that + // this doesn't happen. + subdocument.src = SUBDOCUMENT_URL; + const loadPromise = new Promise(resolve => { + subdocument.addEventListener("load", () => { + ok( + // If the iframe got downgraded, it should now have the origin + // http://example.com, which we can detect as being cross-origin. + !isCrossOriginIframe(subdocument), + "Subdocument should not be downgraded" + ); + resolve(); + }); + }); + content.document.body.appendChild(subdocument); + await loadPromise; + } + ); + }); +}); diff -Nru firefox-esr-115.10.0esr+build1/dom/security/test/https-first/file_empty.html firefox-esr-115.11.0esr+build1/dom/security/test/https-first/file_empty.html --- firefox-esr-115.10.0esr+build1/dom/security/test/https-first/file_empty.html 1970-01-01 00:00:00.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/dom/security/test/https-first/file_empty.html 2024-05-07 06:03:37.000000000 +0000 @@ -0,0 +1 @@ + diff -Nru firefox-esr-115.10.0esr+build1/dom/security/test/https-first/file_subdocument_downgrade.sjs firefox-esr-115.11.0esr+build1/dom/security/test/https-first/file_subdocument_downgrade.sjs --- firefox-esr-115.10.0esr+build1/dom/security/test/https-first/file_subdocument_downgrade.sjs 1970-01-01 00:00:00.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/dom/security/test/https-first/file_subdocument_downgrade.sjs 2024-05-07 06:03:37.000000000 +0000 @@ -0,0 +1,8 @@ +function handleRequest(request, response) { + if (request.scheme === "https") { + response.setStatusLine("1.1", 429, "Too Many Requests"); + } else { + response.setHeader("Content-Type", "text/html", false); + response.write(""); + } +} diff -Nru firefox-esr-115.10.0esr+build1/dom/workers/ScriptLoader.cpp firefox-esr-115.11.0esr+build1/dom/workers/ScriptLoader.cpp --- firefox-esr-115.10.0esr+build1/dom/workers/ScriptLoader.cpp 2024-04-08 19:10:11.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/dom/workers/ScriptLoader.cpp 2024-05-07 06:03:37.000000000 +0000 @@ -1764,12 +1764,6 @@ NS_ConvertUTF16toUTF8(aScriptURL).get()); switch (aLoadResult) { - case NS_ERROR_FILE_NOT_FOUND: - case NS_ERROR_NOT_AVAILABLE: - case NS_ERROR_CORRUPTED_CONTENT: - aRv.Throw(NS_ERROR_DOM_NETWORK_ERR); - break; - case NS_ERROR_MALFORMED_URI: case NS_ERROR_DOM_SYNTAX_ERR: aRv.ThrowSyntaxError(err); @@ -1785,7 +1779,7 @@ // make it impossible for consumers to realize that our error was // NS_BINDING_ABORTED. aRv.Throw(aLoadResult); - return; + break; case NS_ERROR_DOM_BAD_URI: // This is actually a security error. @@ -1793,15 +1787,16 @@ aRv.ThrowSecurityError(err); break; + case NS_ERROR_FILE_NOT_FOUND: + case NS_ERROR_NOT_AVAILABLE: + case NS_ERROR_CORRUPTED_CONTENT: + case NS_ERROR_DOM_NETWORK_ERR: + // For lack of anything better, go ahead and throw a NetworkError here. + // We don't want to throw a JS exception, because for toplevel script + // loads that would get squelched. default: - // For lack of anything better, go ahead and throw a NetworkError here. - // We don't want to throw a JS exception, because for toplevel script - // loads that would get squelched. - aRv.ThrowNetworkError(nsPrintfCString( - "Failed to load worker script at %s (nsresult = 0x%" PRIx32 ")", - NS_ConvertUTF16toUTF8(aScriptURL).get(), - static_cast(aLoadResult))); - return; + aRv.Throw(NS_ERROR_DOM_NETWORK_ERR); + break; } } diff -Nru firefox-esr-115.10.0esr+build1/gfx/cairo/cairo/src/cairo-cff-subset.c firefox-esr-115.11.0esr+build1/gfx/cairo/cairo/src/cairo-cff-subset.c --- firefox-esr-115.10.0esr+build1/gfx/cairo/cairo/src/cairo-cff-subset.c 2024-04-08 19:10:12.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/gfx/cairo/cairo/src/cairo-cff-subset.c 2024-05-07 06:03:37.000000000 +0000 @@ -3154,7 +3154,7 @@ cairo_status_t status; cairo_cff_font_t *font; - font = _cairo_malloc (sizeof (cairo_cff_font_t)); + font = calloc (1, sizeof (cairo_cff_font_t)); if (unlikely (font == NULL)) return _cairo_error (CAIRO_STATUS_NO_MEMORY); diff -Nru firefox-esr-115.10.0esr+build1/gfx/cairo/cff-font-creation.patch firefox-esr-115.11.0esr+build1/gfx/cairo/cff-font-creation.patch --- firefox-esr-115.10.0esr+build1/gfx/cairo/cff-font-creation.patch 1970-01-01 00:00:00.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/gfx/cairo/cff-font-creation.patch 2024-05-07 06:03:37.000000000 +0000 @@ -0,0 +1,12 @@ +diff --git a/gfx/cairo/cairo/src/cairo-cff-subset.c b/gfx/cairo/cairo/src/cairo-cff-subset.c +--- a/gfx/cairo/cairo/src/cairo-cff-subset.c ++++ b/gfx/cairo/cairo/src/cairo-cff-subset.c +@@ -3154,7 +3154,7 @@ static cairo_int_status_t + cairo_status_t status; + cairo_cff_font_t *font; + +- font = _cairo_malloc (sizeof (cairo_cff_font_t)); ++ font = calloc (1, sizeof (cairo_cff_font_t)); + if (unlikely (font == NULL)) + return _cairo_error (CAIRO_STATUS_NO_MEMORY); + diff -Nru firefox-esr-115.10.0esr+build1/l10n/ach/browser/browser/preferences/preferences.ftl firefox-esr-115.11.0esr+build1/l10n/ach/browser/browser/preferences/preferences.ftl --- firefox-esr-115.10.0esr+build1/l10n/ach/browser/browser/preferences/preferences.ftl 2024-04-08 19:11:31.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ach/browser/browser/preferences/preferences.ftl 2024-05-07 06:04:51.000000000 +0000 @@ -8,28 +8,21 @@ .label = Keken kace kitero { -brand-short-name } me gengo lulub kor ma ngene do-not-track-option-always = .label = Jwijwi - pane-general-title = Lumuku category-general = .tooltiptext = { pane-general-title } - pane-home-title = Acakki category-home = .tooltiptext = { pane-home-title } - pane-search-title = Yeny category-search = .tooltiptext = { pane-search-title } - pane-privacy-title = Mung ki Ber bedo category-privacy = .tooltiptext = { pane-privacy-title } - help-button-label = Cwak me { -brand-short-name } - focus-search = .key = f - close-button = .aria-label = Lor @@ -50,17 +43,6 @@ ## is going to be replaced by the extension icon. ## ## Variables: -## $name (String): name of the extension - - -## Extension Control Notifications -## -## These strings are used to inform the user -## about changes made by extensions to browser settings. -## -## is going to be replaced by the extension icon. -## -## Variables: ## $name (string) - Name of the extension # This string is shown after the user disables an extension to notify the user @@ -73,58 +55,43 @@ ## Preferences UI Search Results search-results-header = Adwogi me yeny - search-results-help-link = Imito kony? Lim Kony pa { -brand-short-name } ## General Section startup-header = Caki - always-check-default = .label = Jwijwi rot kace { -brand-short-name } tye layeny mamegi makwongo .accesskey = j - is-default = { -brand-short-name } kombedi tye layeny mamegi makwongo is-not-default = { -brand-short-name } pe tye layeny mamegi makwongo - set-as-my-default-browser = .label = Mi obed makwongo… .accesskey = m - startup-restore-warn-on-quit = .label = Niangi kace tye kaloro layeny - disable-extension = .label = Juk lamed - tabs-group-header = Dirica matino - ctrl-tab-recently-used-order = .label = Ctrl+Tab wire ikin dirica matino i kit ma ki tiyo kwedgi cokki .accesskey = T - open-new-link-as-tabs = .label = Yab kakube i dirica matino me kaka i dirica manyen .accesskey = w - warn-on-open-many-tabs = .label = Niangi ka ce yabo dirica matino mapol dwoko dwiro pa { -brand-short-name } piny .accesskey = p - show-tabs-in-taskbar = .label = Nyut nen me dirica matino iye gintic me Dirica .accesskey = t - browser-containers-enabled = .label = Cak Dirica matino me mako jami .accesskey = a - browser-containers-learn-more = Nong ngec mapol - browser-containers-settings = .label = Ter… .accesskey = r - containers-disable-alert-title = Lor dirica matino weng me mako jami? ## Variables: @@ -135,7 +102,6 @@ [one] Ka ijuko Dirica matino me mako jami kombedi, ki biloro dirica matidi { $tabCount } me mako jami. Imoko ada ni imito juko Dirica matino me mako jami? *[other] Ka ijuko Dirica matino me mako jami kombedi, ki biloro dirica matino { $tabCount } me mako jami. Imoko ada ni imito juko Dirica matino me mako jami? } - containers-disable-alert-ok-button = { $tabCount -> [one] Lor Dirica matida { $tabCount } me mako jami @@ -145,9 +111,7 @@ ## containers-disable-alert-cancel-button = Wek ma kicako - containers-remove-alert-title = Kwany Lamak jami man? - # Variables: # $count (Number) - Number of tabs that will be closed. containers-remove-alert-msg = @@ -155,50 +119,39 @@ [one] Ka i kwanyo Lamak jami man kombedi, ki biloro dirica matidi { $count } me mako jami. Imoko ada ni imito kwanyo Lamak jami man? *[other] Ka i kwanyo Lamak jami man kombedi, ki biloro dirica matino { $count } me mako jami. Imoko ada ni imito kwanyo Lamak jami man? } - containers-remove-ok-button = Kwany Lamak jami man containers-remove-cancel-button = Pe ikwany Lamak jami man ## General Section - Language & Appearance language-and-appearance-header = Leb ki Neno - default-font = Dit coc makwongo .accesskey = D default-font-size = Dit .accesskey = D - advanced-fonts = .label = Ma lamal… .accesskey = M - language-header = Leb - choose-language-description = Yer leb ma imito pi yaro pot buk - choose-button = .label = Yer… .accesskey = e - choose-browser-language-description = Yer leb ma kitiyo kwedgi me nyuto jami ayera, kwena, ki jami angeya ki ii { -brand-short-name }. manage-browser-languages-button = .label = Ter mukene... .accesskey = e confirm-browser-language-change-description = Nwo cako { -brand-short-name } me keto alokaloka magi confirm-browser-language-change-button = Keti ka i Nwo cako - translate-web-pages = .label = Kob gin manonge iye kakube .accesskey = K - # The element is replaced by the logo of the provider # used to provide machine translations for web pages. translate-attribution = Ngat ma okobo aye - translate-exceptions = .label = Ma kiweko woko… .accesskey = a - check-user-spelling = .label = Rot nukta ni kun nongo itye kacoc .accesskey = a @@ -206,12 +159,9 @@ ## General Section - Files and Applications files-and-applications-title = Pwail ki Purugram - download-header = Gam - download-save-where = Gwok pwail bot .accesskey = w - download-choose-folder = .label = { PLATFORM() -> @@ -223,61 +173,47 @@ [macos] r *[other] e } - download-always-ask-where = .label = Jwi penyi kwene me gwoko pwail .accesskey = J - applications-header = Purugram - applications-description = Yer kit ma { -brand-short-name } tiyo ki pwail ma igamo ki i kakube onyo purugram ma itiyo kwedgi ka itye ka yeny. - applications-filter = .placeholder = Yeny kit pwail onyo purugram - applications-type-column = .label = Kit gin manonge iye .accesskey = i - applications-action-column = .label = Tic .accesskey = T - # Variables: # $extension (String) - file extension (e.g .TXT) applications-file-ending = { $extension } pwail applications-action-save = .label = Gwok pwail - # Variables: # $app-name (String) - Name of an application (e.g Adobe Acrobat) applications-use-app = .label = Tii ki { $app-name } - # Variables: # $app-name (String) - Name of an application (e.g Adobe Acrobat) applications-use-app-default = .label = Tii ki { $app-name } (makwongo) - applications-use-other = .label = Tii ki mukene… applications-select-helper = Yer purugram ma Lakony - applications-manage-app = .label = Matut ikom purugram… applications-always-ask = .label = Peny jwijwi - # Variables: # $type-description (String) - Description of the type (e.g "Portable Document Format") # $type (String) - the MIME type (e.g application/binary) applications-type-description-with-type = { $type-description } ({ $type }) - # Variables: # $extension (String) - file extension (e.g .TXT) # $type (String) - the MIME type (e.g application/binary) applications-file-ending-with-type = { applications-file-ending } ({ $type }) - # Variables: # $plugin-name (String) - Name of a plugin (e.g Adobe Flash) applications-use-plugin-in = @@ -289,56 +225,40 @@ applications-use-plugin-in-label = .value = { applications-use-plugin-in.label } - applications-action-save-label = .value = { applications-action-save.label } - applications-use-app-label = .value = { applications-use-app.label } - applications-always-ask-label = .value = { applications-always-ask.label } - applications-use-app-default-label = .value = { applications-use-app-default.label } - applications-use-other-label = .value = { applications-use-other.label } ## play-drm-content-learn-more = Nong ngec mapol - update-application-title = Ngec manyen me { -brand-short-name } - update-application-description = Gwok { -brand-short-name } ki ngec manyen pi tic maber loyo, cung matek ki ber bedo. - update-history = .label = Nyut Ngec manyen mukato… .accesskey = g - update-application-allow-description = Yee ki { -brand-short-name } me - update-application-auto = .label = Ket ngec manyen pire kene (kicwako) .accesskey = K - update-application-check-choose = .label = Rot pi ngec manyen, ento weko iyero kace imito keto gi .accesskey = R - update-application-manual = .label = Pe i rot pi ngec manyen matwal (pe kicwako ber bedo pe gene) .accesskey = P - update-application-use-service = .label = Tii ki tic ma angec me keto ngec manyennen pi keto ngec .accesskey = t - update-in-progress-title = Tye ka keto Ngec Manyen - update-in-progress-message = Imito ni { -brand-short-name } omede ki keto ngec manyen man? - update-in-progress-ok-button = &Juki # Continue is the cancel button so pressing escape or using a platform standard # method of closing the UI will not discard the update. @@ -347,17 +267,13 @@ ## General Section - Performance performance-title = Tic - performance-use-recommended-settings-checkbox = .label = Tii ki ter me tic ma kicimo. .accesskey = T - performance-settings-learn-more = Nong ngec mapol - performance-allow-hw-accel = .label = Tii ki lamed dwiro pa nyonyo ka tye .accesskey = o - # Variables: # $num - default value of the `dom.ipc.processCount` pref. performance-default-content-process-count = @@ -366,41 +282,30 @@ ## General Section - Browsing browsing-title = Yenyo - browsing-use-autoscroll = .label = Tii ki makobo pire kene .accesskey = m - browsing-use-smooth-scrolling = .label = Tii ki kob mapwot .accesskey = a - browsing-use-onscreen-keyboard = .label = Nyut kadiyo coc ma ki gudo aguda ka mite .accesskey = k - browsing-use-cursor-navigation = .label = Jwijwi tii ki lagony me cursor me wot iye pot buk .accesskey = c - browsing-search-on-start-typing = .label = Yeny coc ka acako coyo coc .accesskey = c - browsing-picture-in-picture-learn-more = Nong ngec mapol - browsing-media-control-learn-more = Nong ngec mapol - browsing-cfr-recommendations-learn-more = Nong ngec mapol ## General Section - Proxy network-settings-title = Ter me Netwak - network-proxy-connection-description = Ter kit ma { -brand-short-name } kube ki intanet. - network-proxy-connection-learn-more = Nong ngec mapol - network-proxy-connection-settings = .label = Tero… .accesskey = e @@ -408,25 +313,19 @@ ## Home Section home-new-windows-tabs-header = Dirica ki dirica matino manyen - home-new-windows-tabs-description2 = Yer ngo ma ineno ka iyabo potbuk me acakki mamegi, dirica manyen, ki dirica matino manyen. ## Home Section - Home Page Customization home-homepage-mode-label = Potbuk me acakki ki dirica manyen - home-newtabs-mode-label = Dirica matino manyen - home-restore-defaults = .label = Dwok makwongo .accesskey = D - home-mode-choice-blank = .label = Potbuk ma nono - home-homepage-custom-url = .placeholder = Mwon URL... - # This string has a special case for '1' and [other] (default). If necessary for # your language, you can add {$tabCount} to your translations and use the # standard CLDR forms, or only use the form for [other] if both strings should @@ -438,7 +337,6 @@ *[other] Tii ki pot buk ma kombedi } .accesskey = p - choose-bookmark = .label = Tii ki Alama buk… .accesskey = A @@ -449,10 +347,6 @@ .label = Yeny me kakube ## Variables: -## $provider (String): Name of the corresponding content provider, e.g "Pocket". - - -## Variables: ## $provider (string) - Name of the corresponding content provider, e.g "Pocket". home-prefs-recommended-by-header = @@ -463,7 +357,6 @@ home-prefs-recommended-by-learn-more = Kit ma tiyo kwede home-prefs-recommended-by-option-sponsored-stories = .label = Lok ma kicwako - home-prefs-highlights-option-visited-pages = .label = Potbuk ma kilimo home-prefs-highlights-options-bookmarks = @@ -472,7 +365,6 @@ .label = Gam ma cokcoki loyo home-prefs-highlights-option-saved-to-pocket = .label = Kigwoko potbuk i { -pocket-brand-name } - # For the "Snippets" feature traditionally on about:home. # Alternative translation options: "Small Note" or something that # expresses the idea of "a small message, shortened from something else, @@ -487,24 +379,18 @@ .label = Tii ki lanyut me kanonge me yeny ki wot search-bar-shown = .label = Med lanyut me yeny i gitic - search-engine-default-header = Ingin me yeny makwongo search-separate-default-engine = .label = Tii ki injin yeny man i DIrica me Mung .accesskey = T - search-suggestions-header = Tam amiya me Yeny search-suggestions-desc = Yer kit ma tam amiya ki bot injin yeny nyute kwede. - search-suggestions-option = .label = Mi tam me yeny .accesskey = y - search-show-suggestions-url-bar-option = .label = Nyut tam me yeny i adwogi pa lanyut me kanonge .accesskey = l - - # This string describes what the user will observe when the system # prioritizes search suggestions over browsing history in the results # that extend down from the address bar. In the original English string, @@ -512,32 +398,24 @@ # (appearing before). search-show-suggestions-above-history-option = .label = Nyut tam amia me yeny inyim jami mukato me yeny ii adwogi pa lanyut me kabedo - search-show-suggestions-private-windows = .label = Nyut tam amiya me yeny i Dirica me Mung - search-suggestions-cant-show = Pe ki binyuto tam me yeny i adwogi me lanyut me kabedo pien i tero { -brand-short-name } pe me poo ikom gin mukato matwal. - search-one-click-desc = Yer injin yeny mukene manyute piny ite lanyut kanonge ki lanyut yeny ka i cako keto nyig lok ma pire tek. - search-choose-engine-column = .label = Ingin me Yeny search-choose-keyword-column = .label = Lok mapire tek - search-restore-default = .label = Dwok ingin me yeny makwongo .accesskey = k - search-remove-engine = .label = Kwany .accesskey = K search-add-engine = .label = Med .accesskey = M - search-find-more-link = Med injin me yeny mukene - # This warning is displayed when the chosen keyword is already in use # ('Duplicate' is an adjective) search-keyword-warning-title = Por lok mapire tek @@ -552,19 +430,13 @@ containers-add-button = .label = Med lamak jami manyen .accesskey = e - containers-remove-button = .label = Kwany -## Firefox Account - Signed out. Note that "Sync" and "Firefox Account" are now -## more discrete ("signed in" no longer means "and sync is connected"). - - ## Firefox account - Signed out. Note that "Sync" and "Firefox account" are now ## more discrete ("signed in" no longer means "and sync is connected"). sync-signedout-caption = Ter Kakube ni kwedi - # This message contains two links and two icon images. # `` - Android logo icon # `` - Link to Android Download @@ -575,18 +447,16 @@ # to your language, but should not be changed or translated. sync-mobile-promo = Gam Firefox pi Android onyo iOS me ribo ki nyonyo mamegi me cing. -## Firefox Account - Signed in - - ## Firefox account - Signed in sync-profile-picture = .tooltiptext = Lok cal me propwail - +sync-profile-picture-with-alt = + .tooltiptext = Lok cal me propwail + .alt = Lok cal me propwail sync-sign-out = .label = Kat Woko… .accesskey = K - sync-manage-account = Lo akaunt .accesskey = o @@ -601,11 +471,9 @@ sync-resend-verification = .label = Nwo cwalo moko ada .accesskey = n - sync-remove-account = .label = Kwany akaunt .accesskey = K - sync-sign-in = .label = Dony iyie .accesskey = o @@ -616,11 +484,9 @@ .labelnotsyncing = Rib Kombedi .accesskeynotsyncing = K .labelsyncing = Ribo… - prefs-sync-now-button = .label = Rib Kombedi .accesskey = K - prefs-syncing-button = .label = Ribo… @@ -630,7 +496,6 @@ sync-currently-syncing-history = Gin mukato sync-currently-syncing-tabs = Dirica matino ma ayaba sync-currently-syncing-addons = Med-ikome - sync-change-options = .label = Loki... .accesskey = L @@ -640,26 +505,21 @@ sync-engine-bookmarks = .label = Alama me buk .accesskey = l - sync-engine-history = .label = Gin mukato .accesskey = m - sync-engine-tabs = .label = Yab dirica matino .tooltiptext = Jami ma tye ayaba i nyonyo weng ma kiribo .accesskey = T - sync-engine-addresses = .label = Kanonge .tooltiptext = Kanonge me pocta ma igwoko (desktop keken) .accesskey = i - sync-engine-creditcards = .label = Kad me bank .tooltiptext = Nying, namba ki nino dwe me tum (desktop keken) .accesskey = K - sync-engine-addons = .label = Med-ikome .tooltiptext = Lamed ki theme pi Firefox desktop @@ -668,19 +528,15 @@ ## The device name controls. sync-device-name-header = Nying Nyonyo - sync-device-name-change = .label = Lok nying nyonyo… .accesskey = o - sync-device-name-cancel = .label = Ngol .accesskey = o - sync-device-name-save = .label = Gwoki .accesskey = o - sync-connect-another-device = Kub nyonyo mukene ## These strings are shown in a desktop notification after the @@ -702,16 +558,17 @@ # The search keyword isn't shown to users but is used to find relevant settings in about:preferences. pane-privacy-logins-and-passwords-header = Donyo iyie ki mung me donyo .searchkeywords = { -lockwise-brand-short-name } - # Checkbox to control whether UI is shown to users to save or fill logins/passwords. forms-ask-to-save-logins = .label = Peny me gwoko donyo iyie ki mung me donyo pi kakube .accesskey = k + +## Privacy Section - Passwords + forms-exceptions = .label = Ma kiweko woko… .accesskey = a forms-breach-alerts-learn-more-link = Nong ngec mapol - forms-saved-logins = .label = Donyo iyie ma kigwoko… .accesskey = D @@ -722,17 +579,18 @@ forms-master-pw-change = .label = Lok mung me donyo madit… .accesskey = m - forms-master-pw-fips-desc = Loko mung me donyo Pe olare ## OS Authentication dialog master-password-os-auth-dialog-caption = { -brand-full-name } +## Privacy section - Autofill + + ## Privacy Section - History history-header = Gin mukato - # This label is followed, on the same line, by a dropdown list of options # (Remember history, etc.). # In English it visually creates a full sentence, e.g. @@ -744,37 +602,29 @@ # - As a stand-alone message, for example "Firefox history settings:". history-remember-label = { -brand-short-name } obi .accesskey = o - history-remember-option-all = .label = Poo ikom gin mukato history-remember-option-never = .label = Pe i poo ikom gin mukato matwal history-remember-option-custom = .label = Tii ki ter mamegi pi gin mukato - history-remember-description = { -brand-short-name } bi poo ikom yeny mamegi, gam, pwom ki yeny mukato. history-dontremember-description = { -brand-short-name } bi tic ki ter acel calo yeny me mung, ka pe bi poo ikom gin mukato mo keken kun nongo i yenyo Kakube. - history-private-browsing-permanent = .label = Jwijwi tii ki kit yeny me mung .accesskey = m - history-remember-browser-option = .label = Poo ikom jami mukato me yeny ki gam .accesskey = o - history-remember-search-option = .label = Poo ikom gin mukato me yeny ki pwom .accesskey = p - history-clear-on-close-option = .label = Jwa gin mukato ka { -brand-short-name } olore .accesskey = a - history-clear-on-close-settings = .label = Ter… .accesskey = r - history-clear-button = .label = Jwa gin mukato… .accesskey = j @@ -782,30 +632,23 @@ ## Privacy Section - Site Data sitedata-header = Angija ki Data me kakube - sitedata-learn-more = Nong ngec mapol - sitedata-delete-on-close = .label = Kwany angija ki data me kakube kace kiloro { -brand-short-name } .accesskey = c - sitedata-allow-cookies-option = .label = Yee angija ki data me kakube .accesskey = Y - sitedata-disallow-cookies-option = .label = Geng angija ki data me kakube .accesskey = G - sitedata-option-block-unvisited = .label = Angija ki i kakube mape kilimo gi sitedata-option-block-all = .label = Angija weng (bi weko kakube tur woko) - sitedata-clear = .label = Jwa data… .accesskey = j - sitedata-settings = .label = Lo Data .accesskey = D @@ -813,12 +656,13 @@ ## Privacy Section - Cookie Banner Handling +## Privacy Section - Cookie Banner Blocking + + ## Privacy Section - Address Bar addressbar-header = Lanyut me kanonge - addressbar-suggest = Ka i tye katic ki lanyut me kabedo, mi tam - addressbar-locbar-history-option = .label = Gin mukato me yeny .accesskey = G @@ -828,7 +672,6 @@ addressbar-locbar-openpage-option = .label = Yab dirica matino .accesskey = Y - addressbar-suggestions-settings = Lok ter pi tam ma kimiyo me injin yeny ## Privacy Section - Content Blocking @@ -848,23 +691,19 @@ content-blocking-warning-title = Ngec! content-blocking-warning-learn-how = Nong ngec nining - content-blocking-reload-description = Bi mite ni inwo cano dirica matino mamegi me keto alokoloka magi. content-blocking-reload-tabs-button = .label = Nwo cano dirica matino weng .accesskey = N - content-blocking-tracking-protection-option-all-windows = .label = I dirica weng .accesskey = W content-blocking-option-private = .label = I Dirica me Mung Keken .accesskey = M - content-blocking-cookies-label = .label = Angija .accesskey = A - content-blocking-expand-section = .tooltiptext = Ngec mapol @@ -874,50 +713,39 @@ ## Privacy Section - Permissions permissions-header = Rukuca - permissions-location = Kabedo permissions-location-settings = .label = Ter… .accesskey = t - permissions-xr-settings = .label = Ter… .accesskey = e - permissions-camera = Lamak cal permissions-camera-settings = .label = Ter… .accesskey = t - permissions-microphone = Mikropon permissions-microphone-settings = .label = Ter… .accesskey = t - permissions-notification = Jami angeya permissions-notification-settings = .label = Ter… .accesskey = t permissions-notification-link = Nong ngec mapol - permissions-notification-pause = .label = Juk jami angeya wang ma { -brand-short-name } onwoyo cake .accesskey = n - permissions-autoplay = Tuk pire kene - permissions-autoplay-settings = .label = Ter… .accesskey = r - permissions-block-popups = .label = Geng dirica ma pye-malo .accesskey = G - permissions-addon-install-warning = .label = Niangi ka kakube teme me keto med-ikome .accesskey = N - permissions-addon-exceptions = .label = Ma kiweko woko… .accesskey = M @@ -925,17 +753,13 @@ ## Privacy Section - Data Collection collection-header = { -brand-short-name } coko ki tic ki data - collection-description = Wa tute me miini jami ayera ki wacoko keken ngo ma wa mito me miyo ki yubo maber { -brand-short-name } pi dano weng. Jwijwi wa penyo pi twero ma pud pe kigamo ngec ma ngat moni. collection-privacy-notice = Ngec me mung - collection-health-report-telemetry-disabled-link = Nong ngec mapol - collection-health-report = .label = Yee { -brand-short-name } me cwalo data me diro ki kube bot { -vendor-short-name } .accesskey = r collection-health-report-link = Nong ngec mapol - addon-recommendations-link = Nong ngec mapol ## Privacy Section - Security @@ -944,18 +768,14 @@ ## https://developers.google.com/safe-browsing/developers_guide_v2#AcceptableUsage security-header = Ber bedo - security-browsing-protection = Gwokke ikom jami me bwola ki purugram maraco - security-enable-safe-browsing = .label = Geng jami maraco ki me bwola .accesskey = G security-enable-safe-browsing-link = Nong ngec mapol - security-block-downloads = .label = Geng gam maraco .accesskey = a - security-block-uncommon-software = .label = Niangi ikom purugram ma pe mite ki ma pe nonge ata .accesskey = a @@ -963,15 +783,12 @@ ## Privacy Section - Certificates certs-header = Waraga - certs-enable-ocsp = .label = Yeny lapok tic ma miyo lagam pa OCSP me moko kare me tic ma kombedi pa waraga .accesskey = Y - certs-view = .label = Nen Catibiket… .accesskey = C - certs-devices = .label = Nyonyo me ber bedo… .accesskey = N diff -Nru firefox-esr-115.10.0esr+build1/l10n/ach/browser/browser/protectionsPanel.ftl firefox-esr-115.11.0esr+build1/l10n/ach/browser/browser/protectionsPanel.ftl --- firefox-esr-115.10.0esr+build1/l10n/ach/browser/browser/protectionsPanel.ftl 2024-04-08 19:11:31.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ach/browser/browser/protectionsPanel.ftl 2024-05-07 06:04:51.000000000 +0000 @@ -74,3 +74,9 @@ # Cookie Banner Handling + +## Protections panel info message + +cfr-protections-panel-header = Yeny ma nongo pe kilubo kor in +cfr-protections-panel-body = Gwok data mamegi boti keni. { -brand-short-name } gwoki ki ikom lulub kor mapol ata ma pol kare lubo kor ngo ma itimo iwiyamo. +cfr-protections-panel-link-text = Nong ngec mapol diff -Nru firefox-esr-115.10.0esr+build1/l10n/ach/toolkit/crashreporter/crashreporter.ftl firefox-esr-115.11.0esr+build1/l10n/ach/toolkit/crashreporter/crashreporter.ftl --- firefox-esr-115.10.0esr+build1/l10n/ach/toolkit/crashreporter/crashreporter.ftl 1970-01-01 00:00:00.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ach/toolkit/crashreporter/crashreporter.ftl 2024-05-07 06:04:51.000000000 +0000 @@ -0,0 +1,28 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +crashreporter-title = Ripot me Bal +crashreporter-crash-message = { -brand-short-name } obedo ki peko ci poto woko. +crashreporter-plea = Me konyo wa niang ki yubo peko ne, itwero cwaliwa ripot me poto. +# $details (String) - the reason that a crash report cannot be submitted +crashreporter-error-details = Matut: { $details } +crashreporter-no-run-message = Diro man kitiyo kwede inge nongo lok ki bot ngat ma tye katic kwede. Myro pe kiti kwede atyer. +crashreporter-button-details = Lok kore ki kore… +crashreporter-view-report-title = Kit ma ngec tye kwede kore ki kore +crashreporter-comment-prompt = Med tami (tam romo nonge bot lwak) +crashreporter-report-info = Ngec man bene tye ki kwena ma lube ki kit tic kwede tero poto. +crashreporter-submit-status = Ngec me opotoni kibicwalo mapwod peya iweko woko onyo icako odoco. +crashreporter-submit-in-progress = Tye kacwalo ngeci… +crashreporter-submit-success = Kicwalo ngec maber! +crashreporter-submit-failure = Peko obedo tye i cwalo ngec mamegi. +crashreporter-resubmit-status = Tye kacwalo odoco ngec okwero cwale coni… +crashreporter-button-quit = Wek { -brand-short-name } +crashreporter-button-restart = Cak odoco { -brand-short-name } +crashreporter-button-ok = AYA +crashreporter-button-close = Lor +# $id (String) - the crash id from the server, typically a UUID +crashreporter-crash-identifier = ID ma opoto: { $id } + +# Error strings + diff -Nru firefox-esr-115.10.0esr+build1/l10n/ach/toolkit/toolkit/branding/brandings.ftl firefox-esr-115.11.0esr+build1/l10n/ach/toolkit/toolkit/branding/brandings.ftl --- firefox-esr-115.10.0esr+build1/l10n/ach/toolkit/toolkit/branding/brandings.ftl 2024-04-08 19:11:31.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ach/toolkit/toolkit/branding/brandings.ftl 2024-05-07 06:04:51.000000000 +0000 @@ -41,3 +41,4 @@ -relay-brand-name = Firefox Relay -relay-brand-short-name = Relay +-mozmonitor-brand-name = Mozilla Monitor diff -Nru firefox-esr-115.10.0esr+build1/l10n/ach/toolkit/toolkit/formautofill/formAutofill.ftl firefox-esr-115.11.0esr+build1/l10n/ach/toolkit/toolkit/formautofill/formAutofill.ftl --- firefox-esr-115.10.0esr+build1/l10n/ach/toolkit/toolkit/formautofill/formAutofill.ftl 2024-04-08 19:11:31.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ach/toolkit/toolkit/formautofill/formAutofill.ftl 2024-05-07 06:04:51.000000000 +0000 @@ -14,3 +14,27 @@ # Used on the doorhanger when an credit card change is detected. +# Label for the button in the dropdown menu used to clear the populated form. +autofill-clear-form-label = Jwa pongo pwom pire kene + +## These are brand names and should only be translated when a locale-specific name for that brand is in common use + +autofill-card-network-jcb = JCB +autofill-card-network-mastercard = MasterCard +autofill-card-network-mir = MIR +# The warning text that is displayed for informing users what categories are +# about to be filled. The text would be, for example, +# Also autofills organization, phone, email. +# Variables: +# $categories - one or more of the categories, see autofill-category-X below +autofill-phishing-warningmessage-extracategory = Pongo bene pire kene { $categories } +# Variation when all are in the same category. +# Variables: +# $categories - one or more of the categories +autofill-phishing-warningmessage = Pongo pire kene { $categories } +# Used in autofill drop down suggestion to indicate what other categories Form Autofill will attempt to fill. +autofill-category-address = kanonge +autofill-category-name = nying +autofill-category-organization = dul +autofill-category-tel = cim +autofill-category-email = email diff -Nru firefox-esr-115.10.0esr+build1/l10n/ach/toolkit/toolkit/global/arrowscrollbox.ftl firefox-esr-115.11.0esr+build1/l10n/ach/toolkit/toolkit/global/arrowscrollbox.ftl --- firefox-esr-115.10.0esr+build1/l10n/ach/toolkit/toolkit/global/arrowscrollbox.ftl 1970-01-01 00:00:00.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ach/toolkit/toolkit/global/arrowscrollbox.ftl 2024-05-07 06:04:51.000000000 +0000 @@ -0,0 +1,3 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. diff -Nru firefox-esr-115.10.0esr+build1/l10n/af/browser/browser/preferences/preferences.ftl firefox-esr-115.11.0esr+build1/l10n/af/browser/browser/preferences/preferences.ftl --- firefox-esr-115.10.0esr+build1/l10n/af/browser/browser/preferences/preferences.ftl 2024-04-08 19:11:35.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/af/browser/browser/preferences/preferences.ftl 2024-05-07 06:04:54.000000000 +0000 @@ -5,26 +5,19 @@ do-not-track-learn-more = Meer inligting do-not-track-option-always = .label = Altyd - pane-general-title = Algemeen category-general = .tooltiptext = { pane-general-title } - pane-home-title = Tuis - pane-search-title = Soek category-search = .tooltiptext = { pane-search-title } - pane-privacy-title = Privaatheid en sekuriteit category-privacy = .tooltiptext = { pane-privacy-title } - help-button-label = { -brand-short-name }-ondersteuning - focus-search = .key = f - close-button = .aria-label = Sluit @@ -45,17 +38,6 @@ ## is going to be replaced by the extension icon. ## ## Variables: -## $name (String): name of the extension - - -## Extension Control Notifications -## -## These strings are used to inform the user -## about changes made by extensions to browser settings. -## -## is going to be replaced by the extension icon. -## -## Variables: ## $name (string) - Name of the extension @@ -66,46 +48,34 @@ ## General Section startup-header = Begin - always-check-default = .label = Kontroleer altyd of { -brand-short-name } die verstekblaaier is .accesskey = K - is-default = { -brand-short-name } is tans die verstekblaaier is-not-default = { -brand-short-name } is nie die verstekblaaier nie - set-as-my-default-browser = .label = Maak verstek... .accesskey = D - tabs-group-header = Oortjies - ctrl-tab-recently-used-order = .label = Ctrl+Tab besoek oortjies in die volgorde wat hulle onlangs gebruik is .accesskey = T - open-new-link-as-tabs = .label = Maak skakels oop in oortjies in plaas van nuwe vensters .accesskey = W - warn-on-open-many-tabs = .label = Waarsku wanneer klomp oop oortjies dalk { -brand-short-name } kan stadig maak .accesskey = W - show-tabs-in-taskbar = .label = Wys oortjievoorskoue in die Windows-taakbalk .accesskey = k - browser-containers-enabled = .label = Aktiveer konteksoortjies .accesskey = v - browser-containers-learn-more = Meer inligting - browser-containers-settings = .label = Opstelling… .accesskey = t - containers-disable-alert-title = Sluit alle konteksoortjies? ## Variables: @@ -116,7 +86,6 @@ [one] As konteksoortjies nou gedeaktiveer word, sal { $tabCount } konteksoortjie gesluit word. Wil u definitief konteksoortjies deaktiveer? *[other] As konteksoortjies nou gedeaktiveer word, sal { $tabCount } konteksoortjies gesluit word. Wil u definitief konteksoortjies deaktiveer? } - containers-disable-alert-ok-button = { $tabCount -> [one] Sluit { $tabCount } konteksoortjie @@ -126,9 +95,7 @@ ## containers-disable-alert-cancel-button = Hou geaktiveer - containers-remove-alert-title = Verwyder dié konteks? - # Variables: # $count (Number) - Number of tabs that will be closed. containers-remove-alert-msg = @@ -136,56 +103,42 @@ [one] As dié konteks nou verwyder word, sal { $count } konteksoortjie gesluit word. Wil u definitief dié konteks verwyder? *[other] As dié konteks nou verwyder word, sal { $count } konteksoortjies gesluit word. Wil u definitief dié konteks verwyder? } - containers-remove-ok-button = Verwyder dié konteks containers-remove-cancel-button = Moenie dié konteks verwyder nie ## General Section - Language & Appearance language-and-appearance-header = Taal en Voorkoms - default-font = Verstekfont .accesskey = V default-font-size = Grootte .accesskey = G - advanced-fonts = .label = Gevorderd… .accesskey = G - # Zoom is a noun, and the message is used as header for a group of options preferences-zoom-header = Zoem - preferences-default-zoom = Verstek zoem .accesskey = z - preferences-default-zoom-value = .label = { $percentage }% - language-header = Taal - choose-language-description = Kies u voorkeurtaal waarin bladsye vertoon moet word - choose-button = .label = Kies… .accesskey = K - manage-browser-languages-button = .label = Stel alternatiewe... .accesskey = l - translate-web-pages = .label = Vertaal webinhoud .accesskey = V - # The element is replaced by the logo of the provider # used to provide machine translations for web pages. translate-attribution = Vertalings deur - translate-exceptions = .label = Uitsonderings… .accesskey = i - check-user-spelling = .label = Kontroleer spelling terwyl ek tik .accesskey = t @@ -193,12 +146,9 @@ ## General Section - Files and Applications files-and-applications-title = Lêers en Toepassings - download-header = Aflaaie - download-save-where = Stoor lêers na .accesskey = o - download-choose-folder = .label = { PLATFORM() -> @@ -210,54 +160,42 @@ [macos] e *[other] a } - download-always-ask-where = .label = Vra altyd waar om lêers te stoor .accesskey = V - applications-header = Toepassings - applications-filter = .placeholder = Deursoek lêertipes of toepassings - applications-type-column = .label = Inhoudsoort .accesskey = s - applications-action-column = .label = Aksie .accesskey = A - # Variables: # $extension (String) - file extension (e.g .TXT) applications-file-ending = { $extension }-lêer applications-action-save = .label = Stoor lêer - # Variables: # $app-name (String) - Name of an application (e.g Adobe Acrobat) applications-use-app = .label = Gebruik { $app-name } - # Variables: # $app-name (String) - Name of an application (e.g Adobe Acrobat) applications-use-app-default = .label = Gebruik { $app-name } (verstek) - applications-use-other = .label = Gebruik ander… applications-select-helper = Kies helper-toepassing - applications-manage-app = .label = Toepassingdetail… applications-always-ask = .label = Vra altyd - # Variables: # $type-description (String) - Description of the type (e.g "Portable Document Format") # $type (String) - the MIME type (e.g application/binary) applications-type-description-with-type = { $type-description } ({ $type }) - # Variables: # $plugin-name (String) - Name of a plugin (e.g Adobe Flash) applications-use-plugin-in = @@ -269,30 +207,22 @@ applications-use-plugin-in-label = .value = { applications-use-plugin-in.label } - applications-action-save-label = .value = { applications-action-save.label } - applications-use-app-label = .value = { applications-use-app.label } - applications-always-ask-label = .value = { applications-always-ask.label } - applications-use-app-default-label = .value = { applications-use-app-default.label } - applications-use-other-label = .value = { applications-use-other.label } ## play-drm-content-learn-more = Meer inligting - update-application-title = { -brand-short-name }-bywerkings - update-application-version = Weergawe { $version } Wat’s nuut? - update-application-use-service = .label = Gebruik 'n agtergronddiens om bywerkings te installeer .accesskey = a @@ -300,24 +230,17 @@ ## General Section - Performance performance-title = Werkverrigting - performance-use-recommended-settings-checkbox = .label = Gebruik aanbevole instellings vir werkverrigting .accesskey = u - performance-use-recommended-settings-desc = Hierdie instellings is aangepas vir u rekenaar se hardeware en bedryfstelsel. - performance-settings-learn-more = Meer inligting - performance-allow-hw-accel = .label = Gebruik hardewareversnelling indien beskikbaar .accesskey = r - performance-limit-content-process-option = Perk op inhoudprosesse .accesskey = P - performance-limit-content-process-enabled-desc = Meer inhoudprosesse kan werkverrigting verbeter met klomp oortjies, maar sal ook meer geheue gebruik. - # Variables: # $num - default value of the `dom.ipc.processCount` pref. performance-default-content-process-count = @@ -326,33 +249,25 @@ ## General Section - Browsing browsing-title = Blaai - browsing-use-autoscroll = .label = Gebruik outorol .accesskey = o - browsing-use-smooth-scrolling = .label = Gebruik gladde rol .accesskey = G - browsing-use-onscreen-keyboard = .label = Wys 'n skermsleutelbord indien nodig .accesskey = k - browsing-use-cursor-navigation = .label = Gebruik altyd die por-sleutels om binne bladsye te navigeer .accesskey = p - browsing-search-on-start-typing = .label = Soek vir teks wanneer ek begin tik .accesskey = s - browsing-picture-in-picture-toggle-enabled = .label = Aktiveer beeld-in-beeld videokontroles .accesskey = E - browsing-picture-in-picture-learn-more = Meer inligting - browsing-cfr-recommendations-learn-more = Meer inligting ## General Section - Proxy @@ -368,12 +283,9 @@ ## Home Section - Home Page Customization home-homepage-mode-label = Tuisblad en nuwe vensters - home-newtabs-mode-label = Nuwe oortjies - home-mode-choice-blank = .label = Leë bladsy - # This string has a special case for '1' and [other] (default). If necessary for # your language, you can add {$tabCount} to your translations and use the # standard CLDR forms, or only use the form for [other] if both strings should @@ -385,7 +297,6 @@ *[other] Gebruik huidige bladsye } .accesskey = G - choose-bookmark = .label = Gebruik boekmerk… .accesskey = b @@ -396,10 +307,6 @@ .label = Web soektog ## Variables: -## $provider (String): Name of the corresponding content provider, e.g "Pocket". - - -## Variables: ## $provider (string) - Name of the corresponding content provider, e.g "Pocket". # Variables: @@ -412,7 +319,6 @@ home-prefs-recommended-by-learn-more = Hoe dit werk home-prefs-recommended-by-option-sponsored-stories = .label = Geborgde Verhale - home-prefs-highlights-option-visited-pages = .label = Besoeke Bladsye home-prefs-highlights-options-bookmarks = @@ -421,31 +327,22 @@ ## Search Section search-engine-default-header = Versteksoekenjin - search-suggestions-header = Soekvoorstelle - search-suggestions-option = .label = Verskaf soekvoorstelle .accesskey = s - - search-suggestions-cant-show = Soekvoorstelle sal nie in die liggingbalk gewys word nie omdat { -brand-short-name } opgestel is om nooit geskiedenis te onthou nie. - search-choose-engine-column = .label = Soekenjin search-choose-keyword-column = .label = Sleutelwoord - search-restore-default = .label = Stel versteksoekenjins terug .accesskey = v - search-remove-engine = .label = Verwyder .accesskey = V - search-find-more-link = Vind meer soekenjins - # This warning is displayed when the chosen keyword is already in use # ('Duplicate' is an adjective) search-keyword-warning-title = Dupliseer sleutelwoord @@ -460,19 +357,13 @@ containers-add-button = .label = Voeg nuwe konteks by .accesskey = V - containers-remove-button = .label = Verwyder -## Firefox Account - Signed out. Note that "Sync" and "Firefox Account" are now -## more discrete ("signed in" no longer means "and sync is connected"). - - ## Firefox account - Signed out. Note that "Sync" and "Firefox account" are now ## more discrete ("signed in" no longer means "and sync is connected"). sync-signedout-caption = Neem die Web saam - # This message contains two links and two icon images. # `` - Android logo icon # `` - Link to Android Download @@ -483,14 +374,13 @@ # to your language, but should not be changed or translated. sync-mobile-promo = Laai Firefox af vir Android of iOS om met 'n selfoon te sinkroniseer. -## Firefox Account - Signed in - - ## Firefox account - Signed in sync-profile-picture = .tooltiptext = Verander profielprent - +sync-profile-picture-with-alt = + .tooltiptext = Verander profielprent + .alt = Verander profielprent sync-manage-account = Bestuur rekening .accesskey = o @@ -505,7 +395,6 @@ sync-remove-account = .label = Verwyder Rekening .accesskey = R - sync-sign-in = .label = Meld aan .accesskey = M @@ -522,7 +411,6 @@ sync-currently-syncing-addresses = Adresse sync-currently-syncing-creditcards = Kredietkaarte sync-currently-syncing-addons = Byvoegings - sync-change-options = .label = Verander... .accesskey = C @@ -532,7 +420,6 @@ sync-engine-bookmarks = .label = Boekmerke .accesskey = m - sync-engine-history = .label = Geskiedenis .accesskey = G @@ -540,15 +427,12 @@ ## The device name controls. sync-device-name-header = Toestelnaam - sync-device-name-change = .label = Verander toestelnaam… .accesskey = V - sync-device-name-cancel = .label = Kanselleer .accesskey = n - sync-device-name-save = .label = Stoor .accesskey = t @@ -572,11 +456,13 @@ # The search keyword isn't shown to users but is used to find relevant settings in about:preferences. pane-privacy-logins-and-passwords-header = Aanmeldings en Wagwoorde .searchkeywords = { -lockwise-brand-short-name } - # Checkbox to control whether UI is shown to users to save or fill logins/passwords. forms-ask-to-save-logins = .label = Vra om aanmeldings en wagwoorde vir webwerwe te stoor .accesskey = r + +## Privacy Section - Passwords + forms-exceptions = .label = Uitsonderings… .accesskey = U @@ -584,23 +470,23 @@ .label = Genereer en stel voor sterk wagwoorde .accesskey = u forms-breach-alerts-learn-more-link = Meer inligting - forms-saved-logins = .label = Gestoorde aanmeldings… .accesskey = l forms-master-pw-change = .label = Wysig meesterwagwoord… .accesskey = m - forms-master-pw-fips-desc = Kon nie wagwoord verander nie ## OS Authentication dialog +## Privacy section - Autofill + + ## Privacy Section - History history-header = Geskiedenis - # This label is followed, on the same line, by a dropdown list of options # (Remember history, etc.). # In English it visually creates a full sentence, e.g. @@ -612,28 +498,22 @@ # - As a stand-alone message, for example "Firefox history settings:". history-remember-label = { -brand-short-name } sal .accesskey = s - history-remember-option-all = .label = geskiedenis onthou history-remember-option-never = .label = nooit geskiedenis onthou nie history-remember-option-custom = .label = eie instellings vir geskiedenis gebruik - history-dontremember-description = { -brand-short-name } gebruik dieselfde instellings as private blaaiery en sal nie enige geskiedenis onthou wanneer u die web besoek nie. - history-private-browsing-permanent = .label = Gebruik altyd privaatblaai-modus .accesskey = p - history-remember-search-option = .label = Onthou soek- en vormgeskiedenis .accesskey = v - history-clear-on-close-option = .label = Wis geskiedenis wanneer { -brand-short-name } toemaak .accesskey = r - history-clear-on-close-settings = .label = Opstelling… .accesskey = t @@ -641,12 +521,14 @@ ## Privacy Section - Site Data sitedata-header = Koekies en webwerf-data - sitedata-learn-more = Meer inligting ## Privacy Section - Cookie Banner Handling +## Privacy Section - Cookie Banner Blocking + + ## Privacy Section - Address Bar addressbar-locbar-history-option = @@ -658,13 +540,11 @@ addressbar-locbar-openpage-option = .label = Oop oortjies .accesskey = O - addressbar-suggestions-settings = &Verander voorkeure vir voorstelle vanaf soekenjins ## Privacy Section - Content Blocking content-blocking-enhanced-tracking-protection = Gevorderde beskerming van spoorsnyers - content-blocking-learn-more = Meer inligting ## These strings are used to define the different levels of @@ -683,19 +563,15 @@ .label = In alle vensters .accesskey = A content-blocking-tracking-protection-change-block-list = Verander bloklys - content-blocking-cookies-label = .label = Koekies .accesskey = K - content-blocking-expand-section = .tooltiptext = Meer inligting - # Cryptomining refers to using scripts on websites that can use a computer’s resources to mine cryptocurrency without a user’s knowledge. content-blocking-cryptominers-label = .label = Kriptomyners .accesskey = K - # Browser fingerprinting is a method of tracking users by the configuration and settings information (their "digital fingerprint") # that is visible to websites they browse, rather than traditional tracking methods such as IP addresses and unique cookies. content-blocking-fingerprinters-label = @@ -711,22 +587,16 @@ ## Privacy Section - Permissions permissions-header = Toestemmings - permissions-location = Ligging - permissions-xr = Virtuele Realiteit - permissions-microphone = Mikrofoon permissions-microphone-settings = .label = Instellings… .accesskey = I - permissions-notification = Kennisgewings - permissions-block-popups = .label = Blokkeer opspringers .accesskey = B - permissions-addon-exceptions = .label = Uitsonderings… .accesskey = U @@ -741,15 +611,12 @@ ## https://developers.google.com/safe-browsing/developers_guide_v2#AcceptableUsage security-header = Sekuriteit - security-enable-safe-browsing = .label = Blokkeer gevaarlike en bedrieglike inhoud .accesskey = B - security-block-downloads = .label = Blokkeer gevaarlike aflaaie .accesskey = g - security-block-uncommon-software = .label = Waarsku oor ongewensde en ongewone sagteware .accesskey = d @@ -757,7 +624,6 @@ ## Privacy Section - Certificates certs-header = Sertifikate - certs-enable-ocsp = .label = Bevestig huidige geldigheid van sertifikate deur OCSP-bedieners te vra .accesskey = B diff -Nru firefox-esr-115.10.0esr+build1/l10n/af/toolkit/crashreporter/crashreporter.ftl firefox-esr-115.11.0esr+build1/l10n/af/toolkit/crashreporter/crashreporter.ftl --- firefox-esr-115.10.0esr+build1/l10n/af/toolkit/crashreporter/crashreporter.ftl 1970-01-01 00:00:00.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/af/toolkit/crashreporter/crashreporter.ftl 2024-05-07 06:04:54.000000000 +0000 @@ -0,0 +1,28 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +crashreporter-title = Omvalrapporteerder +crashreporter-crash-message = { -brand-short-name } het 'n probleem gehad en het omgeval. +crashreporter-plea = Om ons die probleem te help diagnoseer en regstel, kan u 'n omvalverslag indien. +# $details (String) - the reason that a crash report cannot be submitted +crashreporter-error-details = Details: { $details } +crashreporter-no-run-message = Hierdie toepassing word laat loop ná 'n omval sodat die probleem aan die toepassingverkoper gerapporteer kan word. Dit moenie direk laat loop word nie. +crashreporter-button-details = Details… +crashreporter-view-report-title = Rapporteer inhoud +crashreporter-comment-prompt = Voeg kommentaar by (kommentaar is publiek sigbaar) +crashreporter-report-info = Hierdie verslag bevat ook tegniese inligting oor die staat van die toepassing toe dit omgeval het. +crashreporter-submit-status = U omvalverslag sal ingedien word voor u afsluit of herbegin. +crashreporter-submit-in-progress = Dien tans in… +crashreporter-submit-success = Verslag suksesvol ingedien! +crashreporter-submit-failure = Kon nie u verslag indien nie. +crashreporter-resubmit-status = Herstuur tans verslae wat voorheen nie wou stuur nie… +crashreporter-button-quit = Sluit { -brand-short-name } af +crashreporter-button-restart = Herbegin { -brand-short-name } +crashreporter-button-ok = OK +crashreporter-button-close = Sluit +# $id (String) - the crash id from the server, typically a UUID +crashreporter-crash-identifier = Omval-ID: { $id } + +# Error strings + diff -Nru firefox-esr-115.10.0esr+build1/l10n/af/toolkit/toolkit/branding/brandings.ftl firefox-esr-115.11.0esr+build1/l10n/af/toolkit/toolkit/branding/brandings.ftl --- firefox-esr-115.10.0esr+build1/l10n/af/toolkit/toolkit/branding/brandings.ftl 2024-04-08 19:11:35.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/af/toolkit/toolkit/branding/brandings.ftl 2024-05-07 06:04:54.000000000 +0000 @@ -41,3 +41,4 @@ -relay-brand-name = Firefox Relay -relay-brand-short-name = Relay +-mozmonitor-brand-name = Mozilla Monitor diff -Nru firefox-esr-115.10.0esr+build1/l10n/af/toolkit/toolkit/global/arrowscrollbox.ftl firefox-esr-115.11.0esr+build1/l10n/af/toolkit/toolkit/global/arrowscrollbox.ftl --- firefox-esr-115.10.0esr+build1/l10n/af/toolkit/toolkit/global/arrowscrollbox.ftl 1970-01-01 00:00:00.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/af/toolkit/toolkit/global/arrowscrollbox.ftl 2024-05-07 06:04:54.000000000 +0000 @@ -0,0 +1,3 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. diff -Nru firefox-esr-115.10.0esr+build1/l10n/an/browser/browser/preferences/preferences.ftl firefox-esr-115.11.0esr+build1/l10n/an/browser/browser/preferences/preferences.ftl --- firefox-esr-115.10.0esr+build1/l10n/an/browser/browser/preferences/preferences.ftl 2024-04-08 19:11:38.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/an/browser/browser/preferences/preferences.ftl 2024-05-07 06:04:58.000000000 +0000 @@ -8,37 +8,28 @@ .label = Nomás quan { -brand-short-name } siga configuau pa blocar los elementos de seguimiento do-not-track-option-always = .label = Siempre - managed-notice = Lo tuyo navegador ye chestionau per la tuya organización. - pane-general-title = Cheneral category-general = .tooltiptext = { pane-general-title } - pane-home-title = Inicio category-home = .tooltiptext = { pane-home-title } - pane-search-title = Mirar category-search = .tooltiptext = { pane-search-title } - pane-privacy-title = Privacidat & Seguranza category-privacy = .tooltiptext = { pane-privacy-title } - pane-experimental-title = Experimentos de { -brand-short-name } category-experimental = .tooltiptext = Experimentos de { -brand-short-name } pane-experimental-subtitle = Ves con cuenta! pane-experimental-search-results-header = Experimentos de { -brand-short-name }: Ves con cuenta - help-button-label = Soporte de { -brand-short-name } addons-button-label = Extensions y temas - focus-search = .key = f - close-button = .aria-label = Zarrar @@ -59,17 +50,6 @@ ## is going to be replaced by the extension icon. ## ## Variables: -## $name (String): name of the extension - - -## Extension Control Notifications -## -## These strings are used to inform the user -## about changes made by extensions to browser settings. -## -## is going to be replaced by the extension icon. -## -## Variables: ## $name (string) - Name of the extension # This string is shown after the user disables an extension to notify the user @@ -82,58 +62,43 @@ ## Preferences UI Search Results search-results-header = Resultaus de buscar - search-results-help-link = Te cal aduya? Vesita Aduya de { -brand-short-name } ## General Section startup-header = Inicio - always-check-default = .label = Comprebar siempre si lo { -brand-short-name } ye o suyo navegador por defecto .accesskey = o - is-default = { -brand-short-name } ye agora o suyo navegador por defecto is-not-default = { -brand-short-name } no ye o suyo navegador por defecto - set-as-my-default-browser = .label = Definir per defecto… .accesskey = D - startup-restore-warn-on-quit = .label = Alvertir-te quan se salga d'o navegador - disable-extension = .label = Desactivar extensión - tabs-group-header = Pestanyas - ctrl-tab-recently-used-order = .label = Ctrl+Tab cambia de pestanya en orden d'uso mas recient .accesskey = T - open-new-link-as-tabs = .label = Ubrir vinclos en pestanyas en cuenta d'en nuevas finestras .accesskey = w - warn-on-open-many-tabs = .label = Alvertir-me quan ubrir multiples pestanyas pueda enlentir lo { -brand-short-name } .accesskey = d - show-tabs-in-taskbar = .label = Amostrar miniaturas d'as pestanyas en a barra de quefers de Windows .accesskey = n - browser-containers-enabled = .label = Habilitar las pestanyas de contenedor .accesskey = H - browser-containers-learn-more = Saber-ne mas - browser-containers-settings = .label = Configuración… .accesskey = g - containers-disable-alert-title = Zarrar totas las pestanyas de contenedor? ## Variables: @@ -144,7 +109,6 @@ [one] Si desactiva agora las pestanyas de contenedor, se zarrará { $tabCount } pestanya de contenedor. Ye seguro de fer-lo? *[other] Si desactiva agora las pestanyas de contenedor, se zarrará { $tabCount } pestanyas de contenedor. Ye seguro de fer-lo? } - containers-disable-alert-ok-button = { $tabCount -> [one] Zarrar { $tabCount } pestanya de contenedor @@ -154,9 +118,7 @@ ## containers-disable-alert-cancel-button = Mantener habilitadas - containers-remove-alert-title = Borrar iste contenedor? - # Variables: # $count (Number) - Number of tabs that will be closed. containers-remove-alert-msg = @@ -164,68 +126,52 @@ [one] Si borra iste contenedor agora, { $count } pestanya de contender se zarrará. Ye seguro que quiere borrar iste contenedor? *[other] Si borra iste contenedor agora, { $count } pestanyas de contender se zarrarán. Ye seguro que quiere borrar iste contenedor? } - containers-remove-ok-button = Borrar iste contenedor containers-remove-cancel-button = No borrar iste contenedor ## General Section - Language & Appearance language-and-appearance-header = Idioma y aparición - default-font = Tipografía por defecto: .accesskey = d default-font-size = Mida: .accesskey = M - advanced-fonts = .label = Abanzadas… .accesskey = A - # Zoom is a noun, and the message is used as header for a group of options preferences-zoom-header = Zoom - preferences-default-zoom = Zoom per defecto .accesskey = Z - preferences-default-zoom-value = .label = { $percentage }% - preferences-zoom-text-only = .label = Zoom nomás en o texto .accesskey = t - language-header = Idioma - choose-language-description = Trigar l'idioma preferiu ta amostrar as pachinas web - choose-button = .label = Trigar… .accesskey = T - choose-browser-language-description = Triar los idiomas usaus pa amostrar los menús, mensaches y notificacions de { -brand-short-name }. manage-browser-languages-button = .label = Definir alternativas… .accesskey = l confirm-browser-language-change-description = Reiniciar { -brand-short-name } pa aplicar estes cambios confirm-browser-language-change-button = Aplicar y reiniciar - translate-web-pages = .label = Traducir o conteniu web .accesskey = T - # The element is replaced by the logo of the provider # used to provide machine translations for web pages. translate-attribution = Traduccions de - translate-exceptions = .label = Excepcions… .accesskey = x - # Variables: # $localeName (string) - Localized name of the locale to be used. use-system-locale = .label = Usar los achustes de “{ $localeName }” d'o tuyo sistema operativo pa lo formato de datas, horas, numersos y midas. - check-user-spelling = .label = Comprebar la ortografía entre que escribo .accesskey = t @@ -233,12 +179,9 @@ ## General Section - Files and Applications files-and-applications-title = Fichers y aplicacions - download-header = Descargas - download-save-where = Alzar os fichers en .accesskey = A - download-choose-folder = .label = { PLATFORM() -> @@ -250,42 +193,32 @@ [macos] T *[other] x } - download-always-ask-where = .label = Preguntar-me siempre aón alzar los fichers .accesskey = a - applications-header = Aplicacions - applications-description = Trigar cómo { -brand-short-name } tracta los fichers que has descargaus d'o web u las aplicacions que fas servir quan navegas. - applications-filter = .placeholder = Mirar los tipos de fichers u aplicacions - applications-type-column = .label = Mena de conteniu .accesskey = M - applications-action-column = .label = Acción .accesskey = A - # Variables: # $extension (String) - file extension (e.g .TXT) applications-file-ending = fichero { $extension } applications-action-save = .label = Alzar o fichero - # Variables: # $app-name (String) - Name of an application (e.g Adobe Acrobat) applications-use-app = .label = Usar { $app-name } - # Variables: # $app-name (String) - Name of an application (e.g Adobe Acrobat) applications-use-app-default = .label = Usar { $app-name } (por defecto) - applications-use-os-default = .label = { PLATFORM() -> @@ -293,26 +226,21 @@ [windows] Usar l'aplicación per defecto de Windows *[other] Usar l'aplicación per defecto d'o sistema } - applications-use-other = .label = Usar unatra… applications-select-helper = Trigue l'aplicación d'aduya - applications-manage-app = .label = Detalles de l'aplicación… applications-always-ask = .label = Preguntar siempre - # Variables: # $type-description (String) - Description of the type (e.g "Portable Document Format") # $type (String) - the MIME type (e.g application/binary) applications-type-description-with-type = { $type-description } ({ $type }) - # Variables: # $extension (String) - file extension (e.g .TXT) # $type (String) - the MIME type (e.g application/binary) applications-file-ending-with-type = { applications-file-ending } ({ $type }) - # Variables: # $plugin-name (String) - Name of a plugin (e.g Adobe Flash) applications-use-plugin-in = @@ -326,72 +254,50 @@ applications-use-plugin-in-label = .value = { applications-use-plugin-in.label } - applications-action-save-label = .value = { applications-action-save.label } - applications-use-app-label = .value = { applications-use-app.label } - applications-open-inapp-label = .value = { applications-open-inapp.label } - applications-always-ask-label = .value = { applications-always-ask.label } - applications-use-app-default-label = .value = { applications-use-app-default.label } - applications-use-other-label = .value = { applications-use-other.label } - applications-use-os-default-label = .value = { applications-use-os-default.label } ## drm-content-header = Conteniu DRM (Digital Rights Management, Chestión de dreitos dichitals) - play-drm-content = .label = Reproducir conteniu controlau per DRM .accesskey = R - play-drm-content-learn-more = Mas información - update-application-title = Actualizacions d'o { -brand-short-name }: - update-application-description = Mantener { -brand-short-name } a lo día pa tener lo millor rendimiento, estabilidat y seguranza. - update-application-version = Versión { $version } Novedatz - update-history = .label = Amostrar l'historial d'actualizacions .accesskey = h - update-application-allow-description = Permitir a { -brand-short-name } - update-application-auto = .label = Instalar automaticament las actualizacions (recomendau) .accesskey = A - update-application-check-choose = .label = Comprebar as actualizacions, pero deixar-me trigar si las quiero instalar .accesskey = C - update-application-manual = .label = No comprebar nunca las actualizacions .accesskey = N - update-application-warning-cross-user-setting = Esta configuración s'aplicará a totas las cuentas de Windows y perfils de { -brand-short-name } que fagan servir esta instalación de { -brand-short-name }. - update-application-use-service = .label = Instalar as actualizacions en un segundo plan .accesskey = p - update-in-progress-title = Actualización en curso - update-in-progress-message = Quiers que { -brand-short-name } contine con esta actualización? - update-in-progress-ok-button = &Descartar # Continue is the cancel button so pressing escape or using a platform standard # method of closing the UI will not discard the update. @@ -400,25 +306,18 @@ ## General Section - Performance performance-title = Rendimiento - performance-use-recommended-settings-checkbox = .label = Usar las caracteristicas de rendimiento recomendadas .accesskey = U - performance-use-recommended-settings-desc = Estos achustes son adaptaus a lo hardware y lo sistema operativo d'o tuyo ordinador. - performance-settings-learn-more = Saber-ne mas - performance-allow-hw-accel = .label = Usar l'acceleración d'hardware quan sía disponible .accesskey = r - performance-limit-content-process-option = Limite de procesado de conteniu .accesskey = L - performance-limit-content-process-enabled-desc = Los procesos de conteniu adicional pueden millorar las prestacions quan se fan servir multiples pestanyas, pero tamién usarán mas memoria. performance-limit-content-process-blocked-desc = Modificar lo numero de procesos de contenius no ye posible soque con la versión multiproceso de { -brand-short-name }. Aprender a comprebar si los multiprocesos son activaus - # Variables: # $num - default value of the `dom.ipc.processCount` pref. performance-default-content-process-count = @@ -427,50 +326,38 @@ ## General Section - Browsing browsing-title = Navegación - browsing-use-autoscroll = .label = Usar o desplazamiento automatico .accesskey = a - browsing-use-smooth-scrolling = .label = Usar o desplazamiento suau .accesskey = d - browsing-use-onscreen-keyboard = .label = Amostrar un teclau tactil quan siga necesario .accesskey = t - browsing-use-cursor-navigation = .label = Fer servir siempre as teclas d'o cursor ta navegar endentro d'as pachinas .accesskey = c - browsing-search-on-start-typing = .label = Mirar textos malas que s'escomienza a tecliar .accesskey = x - browsing-picture-in-picture-toggle-enabled = .label = Activar los controls de video incrustau .accesskey = A - browsing-picture-in-picture-learn-more = Saber-ne mas - browsing-cfr-recommendations = .label = Recomendar extensions mientres navegas .accesskey = R browsing-cfr-features = .label = Recomendar caracteristicas mientres navegas .accesskey = c - browsing-cfr-recommendations-learn-more = Saber-ne mas ## General Section - Proxy network-settings-title = Configuración de ret - network-proxy-connection-description = Configurar cómo { -brand-short-name } se connecta con internet. - network-proxy-connection-learn-more = Saber-ne mas - network-proxy-connection-settings = .label = Configuración… .accesskey = o @@ -478,28 +365,21 @@ ## Home Section home-new-windows-tabs-header = Nuevas finestras y pestanyas - home-new-windows-tabs-description2 = Triar qué ye lo que se vei quan s'ubre la pachina d'inicio, finestras nuevas y pestanyas nuevas. ## Home Section - Home Page Customization home-homepage-mode-label = Pachina d'inicio y nuevas finestras - home-newtabs-mode-label = Nuevas pestanyas - home-restore-defaults = .label = Restaurar valors per defecto .accesskey = R - home-mode-choice-custom = .label = URL personalizadas… - home-mode-choice-blank = .label = Pachina en blanco - home-homepage-custom-url = .placeholder = Apega una URL… - # This string has a special case for '1' and [other] (default). If necessary for # your language, you can add {$tabCount} to your translations and use the # standard CLDR forms, or only use the form for [other] if both strings should @@ -511,7 +391,6 @@ *[other] Usar pachinas actuals } .accesskey = c - choose-bookmark = .label = Usar o marcapachinas… .accesskey = m @@ -522,10 +401,6 @@ .label = Busqueda web ## Variables: -## $provider (String): Name of the corresponding content provider, e.g "Pocket". - - -## Variables: ## $provider (string) - Name of the corresponding content provider, e.g "Pocket". home-prefs-recommended-by-header = @@ -536,7 +411,6 @@ home-prefs-recommended-by-learn-more = Cómo funciona home-prefs-recommended-by-option-sponsored-stories = .label = Articlos esponsorizaus - home-prefs-highlights-option-visited-pages = .label = Pachinas visitadas home-prefs-highlights-options-bookmarks = @@ -545,14 +419,12 @@ .label = Descarga mas recient home-prefs-highlights-option-saved-to-pocket = .label = Pachinas alzadas en { -pocket-brand-name } - # For the "Snippets" feature traditionally on about:home. # Alternative translation options: "Small Note" or something that # expresses the idea of "a small message, shortened from something else, # and non-essential but also not entirely trivial and useless. home-prefs-snippets-header = .label = Retallos - home-prefs-sections-rows-option = .label = { $num -> @@ -567,26 +439,20 @@ .label = Fe servir la barra d'adrezas pa buscar y navegar search-bar-shown = .label = Anyader la barra de busqueda en a barra de ferramientas - search-engine-default-header = Motor de busca por defecto search-engine-default-desc-2 = Este ye lo tuyo motor de busqueda per defecto en a barra d'adrezas y en a barra de busqueda. Puetz cambiar-lo en qualsequier momento. search-engine-default-private-desc-2 = Triar un motor de busqueda per defecto diferent, nomás pa finestras privadas search-separate-default-engine = .label = Fer servir este motor de busqueda en finestras privadas .accesskey = v - search-suggestions-header = Sucherencias de busqueda search-suggestions-desc = Tría cómo amaneixerán las sucherencias d'os motors de busqueda. - search-suggestions-option = .label = Dar sucherencia de busca .accesskey = b - search-show-suggestions-url-bar-option = .label = Amostrar las sucherencias de busqueda en os resultaus d'a barra d'adrezas .accesskey = l - - # This string describes what the user will observe when the system # prioritizes search suggestions over browsing history in the results # that extend down from the address bar. In the original English string, @@ -594,32 +460,24 @@ # (appearing before). search-show-suggestions-above-history-option = .label = Amostrar las sucherencias de busqueda antes de l'hstorial de navegación en os resultasu d'a barra d'adrezas - search-show-suggestions-private-windows = .label = Amostrar las sucherencias de busqueda en as finestras privadas - search-suggestions-cant-show = No s'amostrarán sucherencias de busca a os resultaus d'a barra d'ubicación porque ha configurau o { -brand-short-name } pa que no recuerde nunca o historial. - search-one-click-desc = Triga los motors de busqueda alternativos que amaneixerán debaixo d'a barra d'adrezas y la barra de busqueda quan empecipies a tecliar una parola clau. - search-choose-engine-column = .label = Motors de busca search-choose-keyword-column = .label = Parola clau - search-restore-default = .label = Restaurar os motors de busca por defecto .accesskey = d - search-remove-engine = .label = Borrar… .accesskey = r search-add-engine = .label = Anyadir .accesskey = A - search-find-more-link = Troba mas motors de busqueda - # This warning is displayed when the chosen keyword is already in use # ('Duplicate' is an adjective) search-keyword-warning-title = Duplicar a parola clau @@ -634,23 +492,16 @@ containers-add-button = .label = Anyader nuevo contenedor .accesskey = A - containers-new-tab-check = .label = Triar un contenedor pa cada pestanya nueva .accesskey = T - containers-remove-button = .label = Borrar -## Firefox Account - Signed out. Note that "Sync" and "Firefox Account" are now -## more discrete ("signed in" no longer means "and sync is connected"). - - ## Firefox account - Signed out. Note that "Sync" and "Firefox account" are now ## more discrete ("signed in" no longer means "and sync is connected"). sync-signedout-caption = Leva-te lo web con tu - # This message contains two links and two icon images. # `` - Android logo icon # `` - Link to Android Download @@ -661,18 +512,16 @@ # to your language, but should not be changed or translated. sync-mobile-promo = Descargar Firefos pa Android u bien lo iOS sincronizar con o tuyo dispositivo mobil. -## Firefox Account - Signed in - - ## Firefox account - Signed in sync-profile-picture = .tooltiptext = Cambiar a imachen de perfil - +sync-profile-picture-with-alt = + .tooltiptext = Cambiar a imachen de perfil + .alt = Cambiar a imachen de perfil sync-sign-out = .label = Zarrar la sesión… .accesskey = Z - sync-manage-account = Chestionar la cuenta .accesskey = t @@ -687,11 +536,9 @@ sync-resend-verification = .label = Reninviar la verificación .accesskey = d - sync-remove-account = .label = Borrar la cuenta .accesskey = o - sync-sign-in = .label = Connectar-se .accesskey = g @@ -699,18 +546,14 @@ ## Sync section - enabling or disabling sync. prefs-syncing-on = Sincronización: Activada - prefs-syncing-off = Sincronización: Desactivada - prefs-sync-now = .labelnotsyncing = Sincronizar agora .accesskeynotsyncing = N .labelsyncing = Se ye sincronizando… - prefs-sync-now-button = .label = Sincronizar agora .accesskey = N - prefs-syncing-button = .label = Se ye sincronizando… @@ -723,7 +566,6 @@ sync-currently-syncing-addresses = Adrezas sync-currently-syncing-creditcards = Tarchetas de credito sync-currently-syncing-addons = Complementos - sync-change-options = .label = Cambiar .accesskey = C @@ -737,35 +579,28 @@ .buttonaccesskeyaccept = A .buttonlabelextra2 = Desconnectau… .buttonaccesskeyextra2 = D - sync-engine-bookmarks = .label = Marcapachinas .accesskey = M - sync-engine-history = .label = Historial .accesskey = r - sync-engine-tabs = .label = Ubrir las pestanyas .tooltiptext = Un listau d'o que ye ubierto en totz los dispositivos sincronizaus .accesskey = T - sync-engine-logins-passwords = .label = Inicios de sesión y claus .tooltiptext = Inicios de sesión y claus que has alzau .accesskey = I - sync-engine-addresses = .label = Adrezas .tooltiptext = Adrezas postals que has alzadas (nomás pa sobremesa) .accesskey = e - sync-engine-creditcards = .label = Tarchetas de credito .tooltiptext = Nombres, numeros y calendatas de caducidat (nomás pa sobremesa) .accesskey = c - sync-engine-addons = .label = Complementos .tooltiptext = Extensions y temas pa lo Firefox de sobremesa @@ -774,19 +609,15 @@ ## The device name controls. sync-device-name-header = Nombre d'o dispositivo - sync-device-name-change = .label = Cambiar lo nombre d'o dispositivo... .accesskey = b - sync-device-name-cancel = .label = Cancelar .accesskey = n - sync-device-name-save = .label = Alzar .accesskey = z - sync-connect-another-device = Connectar belatro dispositivo ## These strings are shown in a desktop notification after the @@ -808,11 +639,13 @@ # The search keyword isn't shown to users but is used to find relevant settings in about:preferences. pane-privacy-logins-and-passwords-header = Inicios de sesión y claus .searchkeywords = { -lockwise-brand-short-name } - # Checkbox to control whether UI is shown to users to save or fill logins/passwords. forms-ask-to-save-logins = .label = Demandar alzar usuarios y claus d'os puestos web .accesskey = r + +## Privacy Section - Passwords + forms-exceptions = .label = Excepcions… .accesskey = x @@ -823,7 +656,6 @@ .label = Amostrar alertas sobre claus en puestos relacionaus con filtracions de datos .accesskey = b forms-breach-alerts-learn-more-link = Saber-ne mas - # Checkbox which controls filling saved logins into fields automatically when they appear, in some cases without user interaction. forms-fill-logins-and-passwords = .label = Autorreplenar usuarios y claus @@ -848,7 +680,6 @@ # "Master Password" in your language. If you're editing the FTL file directly, # use { "" } as the value. forms-primary-pw-former-name = Anteriorment clamada «Clau mayestra» - forms-primary-pw-fips-title = Actualment ye en modo FIPS. FIPS requiere una clau primaria. forms-master-pw-fips-desc = O cambio de clau ha fallau @@ -856,7 +687,6 @@ # This message can be seen by trying to add a Primary Password. primary-password-os-auth-dialog-message-win = Pa crear una clau primaria, escribe las tuyas credencials d'acceso a Windows. Esto te aduya a protecher la seguranza d'as tuyas cuentas. - # This message can be seen by trying to add a Primary Password. # The macOS strings are preceded by the operating system with "Firefox is trying to " # and includes subtitle of "Enter password for the user "xxx" to allow this." These @@ -864,10 +694,12 @@ primary-password-os-auth-dialog-message-macosx = Crear una clau primaria master-password-os-auth-dialog-caption = { -brand-full-name } +## Privacy section - Autofill + + ## Privacy Section - History history-header = Historial - # This label is followed, on the same line, by a dropdown list of options # (Remember history, etc.). # In English it visually creates a full sentence, e.g. @@ -879,37 +711,29 @@ # - As a stand-alone message, for example "Firefox history settings:". history-remember-label = Lo { -brand-short-name }: .accesskey = L - history-remember-option-all = .label = remerará l'historial history-remember-option-never = .label = no remerará l'historial history-remember-option-custom = .label = ferá servir a configuración personalizada de l'historial - history-remember-description = { -brand-short-name } recordará la tuya navegación, descargas, formularios y historial de busqueda. history-dontremember-description = O { -brand-short-name } ferá servir a mesma configuración que en a navegación privada, y no remerará garra dato d'o suyo historial entre que navega por a Web. - history-private-browsing-permanent = .label = Emplegar siempre o modo de navegación privada .accesskey = p - history-remember-browser-option = .label = Fer acordanza de l'historial de navegación y descargas .accesskey = r - history-remember-search-option = .label = Remerar l'historial de formularios y buscas .accesskey = f - history-clear-on-close-option = .label = Porgar l'historial quan o { -brand-short-name } se zarre .accesskey = h - history-clear-on-close-settings = .label = Configuración… .accesskey = g - history-clear-button = .label = Borrar l'historial… .accesskey = h @@ -917,50 +741,38 @@ ## Privacy Section - Site Data sitedata-header = Cookies y datos de puestos web - sitedata-total-size-calculating = Calculando los datos d'o puesto y la grandaria d'a caché… - # Variables: # $value (Number) - Value of the unit (for example: 4.6, 500) # $unit (String) - Name of the unit (for example: "bytes", "KB") sitedata-total-size = Las tuyas cookies, datos d'o puesto y caché son usando per agora { $value } { $unit } d'o espacio de disco - sitedata-learn-more = Saber-ne mas - sitedata-delete-on-close = .label = Borrar las cookies y datos d'o puesto quan { -brand-short-name } siga zarrau .accesskey = c - sitedata-delete-on-close-private-browsing = En o modo de navegación privada permanent, las cookies y datos de puesto siempre se borrarán en zarrar { -brand-short-name }. - sitedata-allow-cookies-option = .label = Acceptar cookies y datos d'o puesto .accesskey = A - sitedata-disallow-cookies-option = .label = Blocar cookies y datos d'o puesto .accesskey = B - # This label means 'type of content that is blocked', and is followed by a drop-down list with content types below. # The list items are the strings named sitedata-block-*-option*. sitedata-block-desc = Tipo de conteniu blocau .accesskey = T - sitedata-option-block-cross-site-trackers = .label = Elementos de seguimiento entre puestos sitedata-option-block-unvisited = .label = Cookies de webs no visitaus sitedata-option-block-all = .label = Totas las cookies (qualques puestos no funcionarán correctament) - sitedata-clear = .label = Borrar los datos… .accesskey = r - sitedata-settings = .label = Chestionar datos… .accesskey = C - sitedata-cookies-exceptions = .label = Chestionar excepcions… .accesskey = x @@ -968,12 +780,13 @@ ## Privacy Section - Cookie Banner Handling +## Privacy Section - Cookie Banner Blocking + + ## Privacy Section - Address Bar addressbar-header = Barra d'adrezas - addressbar-suggest = Quan s'use la barra d'adrezas, sucherir - addressbar-locbar-history-option = .label = Historial de navegación .accesskey = H @@ -986,15 +799,12 @@ addressbar-locbar-topsites-option = .label = Puestos mas visitaus .accesskey = F - addressbar-suggestions-settings = Cam&biar las preferencias de sucherencias en motors de busca… ## Privacy Section - Content Blocking content-blocking-enhanced-tracking-protection = Protección reforzada contra seguimiento - content-blocking-section-top-level-description = Los elementos de seguimiento te siguen en linia pa replegar información sobre los tuyos habitos de navegación y intereses. { -brand-short-name } bloca muitos d'estes elementos de seguimiento y atros programas maliciosos. - content-blocking-learn-more = Saber-ne mas ## These strings are used to define the different levels of @@ -1016,7 +826,6 @@ content-blocking-etp-standard-desc = Equilibrau entre protección y rendimiento. Las pachinas se cargarán normalment. content-blocking-etp-strict-desc = Mayor protección, pero podría fer que bella pachina u conteniu no funcione bien. content-blocking-etp-custom-desc = Tría qué elementos de seguimiento y seqüencias de comandos blocar. - content-blocking-private-windows = Conteniu que fa seguimiento en as finestras privadas content-blocking-cross-site-tracking-cookies = Cookies de seguimiento entre puestos content-blocking-cross-site-tracking-cookies-plus-isolate = Las cookies de seguimiento entre puestos, y aíslar las cookies restants @@ -1031,12 +840,10 @@ content-blocking-warning-title = Atención! content-blocking-warning-learn-how = Aprende cómo - content-blocking-reload-description = Habrás de recargar las tuyas pestanyas pa aplicar estes cambios. content-blocking-reload-tabs-button = .label = Tornar a cargar totas las pestanyas .accesskey = r - content-blocking-tracking-content-label = .label = Conteniu de seguimiento .accesskey = t @@ -1047,19 +854,15 @@ .label = Nomás en finestras privadas .accesskey = p content-blocking-tracking-protection-change-block-list = Cambiar a lista de bloqueyos - content-blocking-cookies-label = .label = Cookies .accesskey = C - content-blocking-expand-section = .tooltiptext = Mas información - # Cryptomining refers to using scripts on websites that can use a computer’s resources to mine cryptocurrency without a user’s knowledge. content-blocking-cryptominers-label = .label = Criptominers .accesskey = C - # Browser fingerprinting is a method of tracking users by the configuration and settings information (their "digital fingerprint") # that is visible to websites they browse, rather than traditional tracking methods such as IP addresses and unique cookies. content-blocking-fingerprinters-label = @@ -1075,51 +878,40 @@ ## Privacy Section - Permissions permissions-header = Permisos - permissions-location = Puesto permissions-location-settings = .label = Achustes… .accesskey = t - permissions-xr = Realidat Virtual permissions-xr-settings = .label = Configuración… .accesskey = C - permissions-camera = Camara permissions-camera-settings = .label = Achustes… .accesskey = t - permissions-microphone = Microfono permissions-microphone-settings = .label = Achustes… .accesskey = t - permissions-notification = Notificacions permissions-notification-settings = .label = Achustes… .accesskey = t permissions-notification-link = Saber-ne mas - permissions-notification-pause = .label = Notificacions de pausa dica que { -brand-short-name } se reinicie .accesskey = n - permissions-autoplay = Reproducción automatica - permissions-autoplay-settings = .label = Configuración… .accesskey = C - permissions-block-popups = .label = Blocar finestras emerchents .accesskey = B - permissions-addon-install-warning = .label = Alvertir-te quan bell puesto web mire d'instalar complementos .accesskey = v - permissions-addon-exceptions = .label = Excepcions… .accesskey = E @@ -1127,26 +919,20 @@ ## Privacy Section - Data Collection collection-header = Replega de datos y uso de { -brand-short-name } - collection-description = Nos esforzamos pa dar-te opcions y replegar nomás lo que necesitamos pa ofrir y amillorar { -brand-short-name } pa totz. Siempre demandamos permiso antes de recibir información personal. collection-privacy-notice = Nota sobre privacidat - collection-health-report-telemetry-disabled = Ya no permites que { -vendor-short-name } obtienga datos tecnicos y d'interacción. Totz los datos anteriors se borrarán en 30 días. collection-health-report-telemetry-disabled-link = Saber-ne mas - collection-health-report = .label = Permitir que { -brand-short-name } ninvie datos tecnicos y d'interacción ta { -vendor-short-name } .accesskey = r collection-health-report-link = Saber-ne mas - collection-studies = .label = Permitir que { -brand-short-name } instale y execute estudios collection-studies-link = Veyer estudios de { -brand-short-name } - addon-recommendations = .label = Permite que { -brand-short-name } faga recomendacions d'extensión personalizadas addon-recommendations-link = Saber-ne mas - # This message is displayed above disabled data sharing options in developer builds # or builds with no Telemetry support available. collection-health-report-disabled = Lo reporte de datos ye desactivau en esta configuración de programa @@ -1157,18 +943,14 @@ ## https://developers.google.com/safe-browsing/developers_guide_v2#AcceptableUsage security-header = Seguranza - security-browsing-protection = Protección contra los contenius enganyosos y los programas periglosos - security-enable-safe-browsing = .label = Blocar lo conteniu perigloso y malicioso .accesskey = B security-enable-safe-browsing-link = Saber-ne mas - security-block-downloads = .label = Blocar las descargas periglosas .accesskey = d - security-block-uncommon-software = .label = Alvertir-me sobre software no deseyau u poco común .accesskey = c @@ -1176,15 +958,12 @@ ## Privacy Section - Certificates certs-header = Certificaus - certs-enable-ocsp = .label = Consultar a os servidors respondedors OCSP ta confirmar a valideza actual d'os certificaus .accesskey = u - certs-view = .label = Veyer los certificaus… .accesskey = C - certs-devices = .label = Dispositivos de seguranza… .accesskey = D @@ -1192,17 +971,12 @@ ## Privacy Section - HTTPS-Only httpsonly-header = Modo nomás HTTPS - httpsonly-description = HTTPS permite una connexión segura, encriptada entre { -brand-short-name } y las pachinas web que vesitas. La mayor parte d'os web funcionan con HTTPS, y si s'activa lo modo Nomás-HTTPS, { -brand-short-name } pasará totas las connexions a HTTPS. - httpsonly-learn-more = Saber-ne mas - httpsonly-radio-enabled = .label = Activar lo modo Nomás-HTTPS en totas las finestras - httpsonly-radio-enabled-pbm = .label = Activar lo modo Nomás-HTTPS nomás en as finestras privadas - httpsonly-radio-disabled = .label = No activar lo modo Nomás-HTTPS diff -Nru firefox-esr-115.10.0esr+build1/l10n/an/browser/browser/protectionsPanel.ftl firefox-esr-115.11.0esr+build1/l10n/an/browser/browser/protectionsPanel.ftl --- firefox-esr-115.10.0esr+build1/l10n/an/browser/browser/protectionsPanel.ftl 2024-04-08 19:11:38.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/an/browser/browser/protectionsPanel.ftl 2024-05-07 06:04:58.000000000 +0000 @@ -114,3 +114,9 @@ # Cookie Banner Handling + +## Protections panel info message + +cfr-protections-panel-header = Navegue sin que le sigan +cfr-protections-panel-body = Alce los suyos datos nomás pa vusté. { -brand-short-name } le proteche de muitos d'os elementos de seguimiento mas comuns que espían lo que fa en linia. +cfr-protections-panel-link-text = Saber mas diff -Nru firefox-esr-115.10.0esr+build1/l10n/an/toolkit/crashreporter/crashreporter.ftl firefox-esr-115.11.0esr+build1/l10n/an/toolkit/crashreporter/crashreporter.ftl --- firefox-esr-115.10.0esr+build1/l10n/an/toolkit/crashreporter/crashreporter.ftl 1970-01-01 00:00:00.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/an/toolkit/crashreporter/crashreporter.ftl 2024-05-07 06:04:58.000000000 +0000 @@ -0,0 +1,28 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +crashreporter-title = Chenerador d'informes de fallos +crashreporter-crash-message = O { -brand-short-name } ha trobau un problema y s'ha zarrau. +crashreporter-plea = Ta aduyar-nos a diagnosticar y apanyar iste problema, puede ninviar-nos un informe de fallo. +# $details (String) - the reason that a crash report cannot be submitted +crashreporter-error-details = Detalles: { $details } +crashreporter-no-run-message = Ista aplicación s'executa dimpués d'un fallo ta informar d'o problema a o furnidor de l'aplicación. No habría d'executar-se dreitament. +crashreporter-button-details = Detalles… +crashreporter-view-report-title = Conteniu de l'informe +crashreporter-comment-prompt = Anyada-ie un comentario (os comentarios son visibles ta totz) +crashreporter-report-info = Iste informe tamién contiene información sobre o estau de l'aplicación quan se zarró. +crashreporter-submit-status = O suyo informe de fallo se ninviará antes que salga u reinicie o programa. +crashreporter-submit-in-progress = Se ye ninviando o suyo informe… +crashreporter-submit-success = L'Informe s'ha ninviau correctament! +crashreporter-submit-failure = I ha habiu un problema en ninviar o suyo informe. +crashreporter-resubmit-status = Reninviar informes que no s'han puesto ninviar anteriorment… +crashreporter-button-quit = Salir d'o { -brand-short-name } +crashreporter-button-restart = Reiniciar o { -brand-short-name } +crashreporter-button-ok = Acceptar +crashreporter-button-close = Zarrar +# $id (String) - the crash id from the server, typically a UUID +crashreporter-crash-identifier = ID de fallo: { $id } + +# Error strings + diff -Nru firefox-esr-115.10.0esr+build1/l10n/an/toolkit/toolkit/branding/brandings.ftl firefox-esr-115.11.0esr+build1/l10n/an/toolkit/toolkit/branding/brandings.ftl --- firefox-esr-115.10.0esr+build1/l10n/an/toolkit/toolkit/branding/brandings.ftl 2024-04-08 19:11:38.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/an/toolkit/toolkit/branding/brandings.ftl 2024-05-07 06:04:58.000000000 +0000 @@ -41,3 +41,4 @@ -relay-brand-name = Firefox Relay -relay-brand-short-name = Relay +-mozmonitor-brand-name = Mozilla Monitor diff -Nru firefox-esr-115.10.0esr+build1/l10n/an/toolkit/toolkit/formautofill/formAutofill.ftl firefox-esr-115.11.0esr+build1/l10n/an/toolkit/toolkit/formautofill/formAutofill.ftl --- firefox-esr-115.10.0esr+build1/l10n/an/toolkit/toolkit/formautofill/formAutofill.ftl 2024-04-08 19:11:38.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/an/toolkit/toolkit/formautofill/formAutofill.ftl 2024-05-07 06:04:58.000000000 +0000 @@ -14,3 +14,33 @@ # Used on the doorhanger when an credit card change is detected. +# Label for the button in the dropdown menu used to clear the populated form. +autofill-clear-form-label = Limpiar lo formulario d'autorreplenau + +## These are brand names and should only be translated when a locale-specific name for that brand is in common use + +autofill-card-network-amex = American Express +autofill-card-network-cartebancaire = Carte Bancaire +autofill-card-network-diners = Diners Club +autofill-card-network-discover = Discover +autofill-card-network-jcb = JCB +autofill-card-network-mastercard = MasterCard +autofill-card-network-mir = MIR +autofill-card-network-unionpay = Union Pay +autofill-card-network-visa = Visa +# The warning text that is displayed for informing users what categories are +# about to be filled. The text would be, for example, +# Also autofills organization, phone, email. +# Variables: +# $categories - one or more of the categories, see autofill-category-X below +autofill-phishing-warningmessage-extracategory = Autorreplena tamién { $categories } +# Variation when all are in the same category. +# Variables: +# $categories - one or more of the categories +autofill-phishing-warningmessage = Autorreplena { $categories } +# Used in autofill drop down suggestion to indicate what other categories Form Autofill will attempt to fill. +autofill-category-address = adreza +autofill-category-name = nombre +autofill-category-organization = organización +autofill-category-tel = telefono +autofill-category-email = correu-e diff -Nru firefox-esr-115.10.0esr+build1/l10n/an/toolkit/toolkit/global/arrowscrollbox.ftl firefox-esr-115.11.0esr+build1/l10n/an/toolkit/toolkit/global/arrowscrollbox.ftl --- firefox-esr-115.10.0esr+build1/l10n/an/toolkit/toolkit/global/arrowscrollbox.ftl 1970-01-01 00:00:00.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/an/toolkit/toolkit/global/arrowscrollbox.ftl 2024-05-07 06:04:58.000000000 +0000 @@ -0,0 +1,3 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/aboutDialog.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/aboutDialog.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/aboutDialog.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/aboutDialog.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -25,6 +25,7 @@ update-failed = فشل التحديث. update-failed-main = فشل التحديث. نزّل أحدث نسخة update-adminDisabled = عطّلَ مدير النظام التحديثات +update-policy-disabled = التحديثات مُعطَّلة بواسطة منظّمتك update-noUpdatesFound = { -brand-short-name } مُحدَّث aboutdialog-update-checking-failed = فشل التماس التحديثات. update-otherInstanceHandlingUpdates = يجري تحديث { -brand-short-name } في سيرورة أخرى diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/aboutLogins.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/aboutLogins.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/aboutLogins.ftl 2024-04-08 19:11:41.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/aboutLogins.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -9,6 +9,12 @@ .key = F create-new-login-button = .title = أنشِئ جلسة ولوج جديدة +about-logins-page-title-name = كلمات السر +about-logins-login-filter2 = + .placeholder = البحث في كلمات السر + .key = F +create-login-button = + .title = أضِف كلمة سر fxaccounts-sign-in-text = استعمل كلمات السر لحساباتك في أجهزتك الأخرى fxaccounts-sign-in-sync-button = لِج كي تبدأ المزامنة fxaccounts-avatar-button = @@ -23,6 +29,8 @@ about-logins-menu-menuitem-import-from-a-file = استورِد من ملف… about-logins-menu-menuitem-export-logins = صدّر جلسات الولوج… about-logins-menu-menuitem-remove-all-logins = أزِل كل جلسات الولوج… +about-logins-menu-menuitem-export-logins2 = صدّر كلمات السر… +about-logins-menu-menuitem-remove-all-logins2 = أزِل كل كلمات السر… menu-menuitem-preferences = { PLATFORM() -> [windows] الخيارات @@ -68,9 +76,11 @@ login-list-intro-title = لا جلسات ولوج login-list-intro-description = متى ما حفظت كلمة سر في { -brand-product-name } ستظهر هنا. about-logins-login-list-empty-search-title = لا جلسات ولوج +about-logins-login-list-empty-search-title2 = لم يُعثر على كلمات السر about-logins-login-list-empty-search-description = لا نتائج تطابق البحث. login-list-item-title-new-login = جلسة ولوج جديدة login-list-item-subtitle-new-login = أدخِل معلومات الولوج +login-list-item-title-new-login2 = أضِف كلمة سر login-list-item-subtitle-missing-username = (لا اسم مستخدم) about-logins-list-item-breach-icon = .title = موقع مسرّب بياناته @@ -98,6 +108,8 @@ ## Login login-item-new-login-title = أنشِئ جلسة ولوج جديدة +# Header for adding a password +about-logins-login-item-new-login-title = أضِف كلمة سر login-item-edit-button = حرِّر about-logins-login-item-remove-button = أزِل login-item-origin-label = عنوان الموقع diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/addonNotifications.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/addonNotifications.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/addonNotifications.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/addonNotifications.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -40,6 +40,7 @@ ## xpinstall-disabled-locked = منع مدير النظام تثبيت البرمجيّات. +xpinstall-disabled-by-policy = منعت مؤسستك تثبيت البرمجيّات. xpinstall-disabled = تثبيت البرمجيّات معطل حاليًا. انقر فعّل و حاول مجددًا. xpinstall-disabled-button = .label = فعّل @@ -51,6 +52,13 @@ addon-install-blocked-by-policy = حجب مدير النظام { $addonName } (معرّفها { $addonId }). # This message is shown when the installation of add-ons from a domain is blocked by enterprise policy. addon-domain-blocked-by-policy = منع مدير النظام هذا الموقع من سؤالك بتثبيت برمجيّات على حاسوبك. +# This message is shown when the installation of an add-on is blocked by enterprise policy. +# Variables: +# $addonName (String): the name of the add-on. +# $addonId (String): the ID of add-on. +addon-installation-blocked-by-policy = حجبت مؤسستك { $addonName } (معرّفها { $addonId }). +# This message is shown when the installation of add-ons from a domain is blocked by enterprise policy. +addon-install-domain-blocked-by-policy = منعت مؤسستك هذا الموقع من سؤالك بتثبيت برمجيّات على حاسوبك. addon-install-full-screen-blocked = يُمنع تثبيت الإضافات في وضع ملء الشاشة، أو قبل الدخول إليه. # Variables: # $addonName (String): the localized name of the sideloaded add-on. @@ -80,8 +88,8 @@ [one] ينزّل و يتحقق من إضافة واحدة… [two] ينزّل و يتحقق من إضافتين… [few] ينزّل و يتحقق من { $addonCount } إضافات… - [many] نزّل و يتحقق من { $addonCount } إضافة… - *[other] نزّل و يتحقق من { $addonCount } إضافة… + [many] ينزّل و يتحقق من { $addonCount } إضافة… + *[other] ينزّل و يتحقق من { $addonCount } إضافة… } addon-download-verifying = يتحقق addon-install-cancel-button = diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/appExtensionFields.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/appExtensionFields.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/appExtensionFields.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/appExtensionFields.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -8,13 +8,10 @@ # "Auto" is short for automatic. It can be localized without limitations. extension-default-theme-name-auto = سمة النظام — تلقائي extension-default-theme-description = اتبع إعدادات نظام التشغيل لعرض الأزرار والقوائم والنوافذ. - extension-firefox-compact-light-name = فاتحة extension-firefox-compact-light-description = سمة بمخطّط ألوان فاتح. - extension-firefox-compact-dark-name = داكنة extension-firefox-compact-dark-description = سمة بمخطّط ألوان داكن. - extension-firefox-alpenglow-name = Firefox Alpenglow extension-firefox-alpenglow-description = استعمل مظهرًا ملونًا لعرض الأزرار والقوائم والنوافذ. @@ -24,3 +21,8 @@ ## Variables ## $colorway-name (String) The name of a colorway (e.g. Graffiti, Elemental). +extension-colorways-soft-name = { $colorway-name } — ناعم +extension-colorways-balanced-name = { $colorway-name } — متوازن +# "Bold" is used in the sense of bravery or courage, not in the sense of +# emphasized text. +extension-colorways-bold-name = { $colorway-name } — غامق diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/appmenu.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/appmenu.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/appmenu.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/appmenu.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -94,6 +94,7 @@ appmenuitem-fxa-sign-in = لِج إلى { -brand-product-name } appmenuitem-fxa-manage-account = أدِر الحساب appmenu-fxa-header2 = { -fxaccount-brand-name } +appmenu-account-header = الحساب # Variables # $time (string) - Localized relative time since last sync (e.g. 1 second ago, # 3 hours ago, etc.) @@ -167,10 +168,13 @@ # devtools/client/performance-new/shared/background.jsm.js # Please take care that the same values are also defined in devtools' perftools.ftl. +profiler-popup-presets-web-developer-description = الإعداد المسبق الموصى به لتنقيح أغلبية تطبيقات الوِب دون استهلاك موارد كثيرة. profiler-popup-presets-web-developer-label = .label = مطوّري الوب +profiler-popup-presets-firefox-description = الإعداد المسبق الموصى به لتحليل أداء { -brand-shorter-name }. profiler-popup-presets-firefox-label = .label = { -brand-shorter-name } +profiler-popup-presets-graphics-description = إعداد مسبق للتحقيق في أخطاء الرسومات في { -brand-shorter-name }. profiler-popup-presets-graphics-label = .label = الرسوميات profiler-popup-presets-media-label = @@ -248,3 +252,5 @@ appmenu-developer-tools-subheader = أدوات المتصفّح appmenu-developer-tools-extensions = .label = الامتدادات التي تخصّ المطوّرين +appmenuitem-report-broken-site = + .label = أبلِغ عن موقع معطوب diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/browser.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/browser.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/browser.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/browser.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -48,6 +48,9 @@ # This should match the `data-title-default` attribute in both # `browser-main-window` and `browser-main-window-mac`. browser-main-window-title = { -brand-full-name } +# The non-variable portion of this MUST match the translation of +# "PRIVATE_BROWSING_SHORTCUT_TITLE" in custom.properties +private-browsing-shortcut-text-2 = { -brand-shortcut-name } التصفح الخفي ## @@ -276,16 +279,36 @@ # Opens the print dialog quickactions-print2 = اطبع الصفحة quickactions-cmd-print = اطبع +# Opens the print dialog at the save to PDF option +quickactions-savepdf = احفظ الصفحة بصيغة PDF +quickactions-cmd-savepdf = pdf # Opens a new private browsing window quickactions-private2 = افتح نافذة خاصة quickactions-cmd-private = التصفّح الخاص +# Opens a SUMO article explaining how to refresh +quickactions-refresh = أعد تحميل { -brand-short-name } +quickactions-cmd-refresh = حدّث +# Restarts the browser +quickactions-restart = أعِد تشغيل { -brand-short-name } +quickactions-cmd-restart = أعِد التشغيل # Opens the screenshot tool quickactions-screenshot3 = خذ لقطة شاشة +quickactions-cmd-screenshot = لقطة شاشة # Opens about:preferences quickactions-settings2 = أدِر الإعدادات quickactions-cmd-settings = الإعدادات، التفضيلات، الخيارات +# Opens about:addons page in the themes section +quickactions-themes = أدِر السمات +quickactions-cmd-themes = السمات +# Opens a SUMO article explaining how to update the browser +quickactions-update = حدِّث { -brand-short-name } +quickactions-cmd-update = حدّث # Opens the view-source UI with current pages source quickactions-viewsource2 = اعرض مصدر هذه الصفحة +quickactions-cmd-viewsource = اعرض المصدر، مصدر +# Tooltip text for the help button shown in the result. +quickactions-learn-more = + .title = تعرف على المزيد حول الإجراءات السريعة ## Bookmark Panel @@ -332,6 +355,7 @@ identity-connection-failure = فشل الاتصال identity-connection-internal = هذه صفحة { -brand-short-name } آمنة. identity-connection-file = هذه الصفحة مخزنة على حاسوبك. +identity-connection-associated = حمِّلت هذه الصفحة من صفحة أخرى. identity-extension-page = حمِّلت هذه الصفحة من امتداد. identity-active-blocked = حجب { -brand-short-name } الأجزاء غير الآمنة في هذه الصفحة. identity-custom-root = تثبّت من هذا الاتصال مُصْدِر شهادات لا تعرفه Mozilla. @@ -518,6 +542,10 @@ urlbar-placeholder-search-mode-other-tabs = .placeholder = أدخِل نص البحث .aria-label = ابحث في الألسنة +# This placeholder is used when searching quick actions. +urlbar-placeholder-search-mode-other-actions = + .placeholder = أدخِل نص البحث + .aria-label = إجراءات البحث # Variables # $name (String): the name of the user's default search engine urlbar-placeholder-with-name = @@ -558,6 +586,13 @@ urlbar-result-action-sponsored = نتيجة مموّلة urlbar-result-action-switch-tab = انتقل إلى اللسان urlbar-result-action-visit = زُر +# "Switch to tab with container" is used when the target tab is located in a +# different container. +# Variables +# $container (String): the name of the target container +urlbar-result-action-switch-tab-with-container = انتقل للسان · { $container } +# Allows the user to visit a URL that was previously copied to the clipboard. +urlbar-result-action-visit-from-clipboard = زر من الحافظة # Directs a user to press the Tab key to perform a search with the specified # engine. # Variables @@ -593,6 +628,7 @@ urlbar-result-action-search-bookmarks = ابحث في العلامات urlbar-result-action-search-history = ابحث في التأريخ urlbar-result-action-search-tabs = ابحث في الألسنة +urlbar-result-action-search-actions = إجراءات البحث ## Labels shown above groups of urlbar results @@ -606,6 +642,14 @@ # $engine (String): the name of the search engine providing the suggestions urlbar-group-search-suggestions = .label = اقتراحات { $engine } +# A label shown above Quick Actions in the urlbar results. +urlbar-group-quickactions = + .label = إجراءات سريعة +# A label shown above the recent searches group in the urlbar results. +# Variables +# $engine (String): the name of the search engine used to search. +urlbar-group-recent-searches = + .label = عمليات البحث الأخيرة ## Reader View toolbar buttons @@ -697,6 +741,8 @@ .label = ابحث في العلامات bookmarks-tools = .label = أدوات العلامات +bookmarks-subview-edit-bookmark = + .label = حرّر هذه العلامة… # The aria-label is a spoken label that should not include the word "toolbar" or # such, because screen readers already know that this container is a toolbar. # This avoids double-speaking. @@ -869,15 +915,24 @@ restore-session-startup-suggestion-message = أتريد فتح الألسنة الأخيرة؟ يمكنك استعادة الجلسة السابقة من قائمة تطبيق { -brand-short-name } ، ضمن قائمة التأريخ. restore-session-startup-suggestion-button = ما الطريقة؟ +## Infobar shown when the user tries to open a file picker and file pickers are blocked by enterprise policy + +filepicker-blocked-infobar = حجبت مؤسستك الوصول إلى الملفات المحلية الموجودة على هذا الكمبيوتر + ## Mozilla data reporting notification (Telemetry, Firefox Health Report, etc) data-reporting-notification-message = يُرسل { -brand-short-name } بعض البيانات تلقائيا إلى { -vendor-short-name } لمساعدتنا في تحسين متصفّحك. data-reporting-notification-button = .label = اختر ما الذي أشاركه .accesskey = خ +# Label for the indicator shown in the private browsing window titlebar. +private-browsing-indicator-label = التصفح الخاص ## Unified extensions (toolbar) button +unified-extensions-button = + .label = الامتدادات + .tooltiptext = الامتدادات ## Unified extensions button when permission(s) are needed. ## Note that the new line is intentionally part of the tooltip. @@ -899,7 +954,21 @@ ## Private browsing reset button +reset-pbm-toolbar-button = + .label = إنهِ الجلسة الخاصة + .tooltiptext = إنهِ الجلسة الخاصة +reset-pbm-panel-heading = إنهِ جلستك الخاصة؟ reset-pbm-panel-description = أغلق كل الألسنة الخاصة واحذف التأريخ والكعكات وكل بيانات المواقع الأخرى. +reset-pbm-panel-always-ask-checkbox = + .label = اسألني دائمًا + .accesskey = م +reset-pbm-panel-cancel-button = + .label = ألغِ + .accesskey = غ +reset-pbm-panel-confirm-button = + .label = احذف بيانات الجلسة + .accesskey = ت +reset-pbm-panel-complete = حُذفت بيانات الجلسة الخاصة ## Autorefresh blocker diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/browserContext.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/browserContext.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/browserContext.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/browserContext.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -78,6 +78,12 @@ .label = { -fxaccount-brand-name } .tooltiptext = { -fxaccount-brand-name } +## Account toolbar Button + +toolbar-button-account = + .label = الحساب + .tooltiptext = الحساب + ## Save Page main-context-menu-page-save = @@ -291,6 +297,7 @@ main-context-menu-use-saved-login = .label = استعمل جلسة ولوج محفوظة .accesskey = ع +# Displayed when there are saved passwords and the user clicks inside a username or password field main-context-menu-use-saved-password = .label = استعمل كلمة سر محفوظة .accesskey = ع @@ -306,6 +313,9 @@ main-context-menu-manage-logins2 = .label = أدِر جلسات الولوج .accesskey = د +main-context-menu-manage-passwords = + .label = أدِر كلمات السر + .accesskey = س main-context-menu-keyword = .label = أضِف كلمة رئيسية لهذا البحث… .accesskey = ك diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/customizeMode.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/customizeMode.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/customizeMode.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/customizeMode.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -25,6 +25,10 @@ .label = عادية .accesskey = ع .tooltiptext = عادية +customize-mode-uidensity-menu-compact-unsupported = + .label = الدمج (غير مدعوم) + .accesskey = C + .tooltiptext = الدمج (غير مدعوم) customize-mode-undo-cmd = .label = تراجع customize-mode-lwthemes-link = أدِر السمات diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/editBookmarkOverlay.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/editBookmarkOverlay.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/editBookmarkOverlay.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/editBookmarkOverlay.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -5,57 +5,45 @@ bookmark-overlay-name-2 = .value = الاسم .accesskey = س - bookmark-overlay-url = .value = المسار .accesskey = م - # Location refers to the position of the bookmark within the browser's # bookmarks, not to its URL or address. bookmark-overlay-location-2 = .value = المكان .accesskey = ك - bookmark-overlay-choose = .label = اختر… - bookmark-overlay-folders-expander = .tooltiptext = أظهر كلّ مجلدات العلامات .tooltiptextdown = { bookmark-overlay-folders-expander.tooltiptext } .tooltiptextup = أخفِ - bookmark-overlay-folders-expander2 = .tooltiptext = أظهر كلّ مجلدات العلامات - bookmark-overlay-folders-expander-hide = .tooltiptext = أخفِ - +# bookmark-overlay-folders-tree is used to provide an accessible name to the tree view of the Bookmarks directory, when it is expanded +bookmark-overlay-folders-tree = + .aria-label = المجلدات bookmark-overlay-new-folder-button = .label = مجلد جديد .accesskey = ج - bookmark-overlay-tags-2 = .value = الوسوم .accesskey = و - bookmark-overlay-tags-empty-description = .placeholder = افصل الوسوم بفاصلة - bookmark-overlay-tags-expander = .tooltiptext = أظهر كل الوسوم .tooltiptextdown = { bookmark-overlay-tags-expander.tooltiptext } .tooltiptextup = أخفِ - bookmark-overlay-tags-expander2 = .tooltiptext = أظهر كل الوسوم - bookmark-overlay-tags-expander-hide = .tooltiptext = أخفِ - bookmark-overlay-keyword-2 = .value = الكلمة المفتاحية .accesskey = ف - bookmark-overlay-tags-caption-label = استعمل الوسوم لتنظيم العلامات والبحث عنها من شريط العنوان - bookmark-overlay-keyword-caption-label-2 = استعمل كلمة مفتاحية واحدة لفتح العلامات مباشرةً من شريط العنوان diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/firefoxView.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/firefoxView.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/firefoxView.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/firefoxView.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -2,9 +2,38 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. +toolbar-button-firefox-view = + .label = { -firefoxview-brand-name } + .tooltiptext = { -firefoxview-brand-name } +toolbar-button-firefox-view-2 = + .label = { -firefoxview-brand-name } + .tooltiptext = عرض التصفح الأخير عبر النوافذ والأجهزة +menu-tools-firefox-view = + .label = { -firefoxview-brand-name } + .accesskey = F +firefoxview-page-title = { -firefoxview-brand-name } +firefoxview-page-label = + .label = { -firefoxview-brand-name } +firefoxview-close-button = + .title = أغلِق + .aria-label = أغلِق +firefoxview-empty-state-icon = + .alt = انتباه: +# Used instead of the localized relative time when a timestamp is within a minute or so of now +firefoxview-just-now-timestamp = منذ لحظات +# This is a headline for an area in the product where users can resume and re-open tabs they have previously viewed on other devices. +firefoxview-tabpickup-header = التقاط اللسان +firefoxview-tabpickup-description = افتح الصفحات من الأجهزة الأخرى. +# Variables: +# $percentValue (Number): the percentage value for setup completion +firefoxview-tabpickup-progress-label = اكتمل { $percentValue }٪ firefoxview-tabpickup-step-signin-primarybutton = واصِل firefoxview-syncedtabs-signin-header = اسحب الألسنة من أي مكان firefoxview-syncedtabs-signin-primarybutton = لج أو سجل حسابًا +firefoxview-tabpickup-adddevice-learn-how = اطّلع على الطريقة +firefoxview-tabpickup-network-offline-header = تحقَّق من اتصالك بالإنترنت +firefoxview-tabpickup-network-offline-description = إذا كنت تستخدم جدار حماية أو وكيلًا، فتأكد من أن { -brand-short-name } لديه إذن للوصول إلى الوب. +firefoxview-tabpickup-network-offline-primarybutton = حاول مجددًا firefoxview-tabpickup-sync-disconnected-header = فعل المزامنة للمتابعة firefoxview-closed-tabs-title = المُغلقة حديثًا firefoxview-closed-tabs-description2 = أعِد فتح الصفحات التي أغلقتها في هذه النافذة. @@ -33,6 +62,9 @@ ## +# Placeholder for the input field to search in recently closed tabs ("search" is a verb). +firefoxview-search-text-box-recentlyclosed = + .placeholder = ابحث في الألسنة المُغلقة مؤخرًا ## Variables: ## $date (string) - Date to be formatted based on locale @@ -69,6 +101,8 @@ ## Message displayed in Firefox View when the user has no recently closed tabs data firefoxview-recentlyclosed-empty-header = أغلقت لسان مبكراً؟ +firefoxview-recentlyclosed-empty-description = ستجد هنا الألسنة التي أغلقتها مؤخرًا، حتى تتمكّن من إعادة فتح أيّ منها بسرعة. +firefoxview-recentlyclosed-empty-description-two = للعثور على ألسنة تعود إلى فترة زمنية أطول، اعرض سجل التصفح. ## This message is displayed below the name of another connected device when it doesn't have any open tabs. diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/fxviewTabList.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/fxviewTabList.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/fxviewTabList.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/fxviewTabList.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -15,6 +15,10 @@ fxviewtabrow-tabs-list-tab = .title = افتح { $targetURI } في لسان جديد # Variables: +# $tabTitle (string) - Title of tab being closed +fxviewtabrow-close-tab-button = + .title = أغلِق { $tabTitle } +# Variables: # $tabTitle (string) - Title of tab being dismissed fxviewtabrow-dismiss-tab-button = .title = أخفِ { $tabTitle } @@ -24,8 +28,57 @@ # Strings below are used for context menu options within panel-list. # For developers, this duplicates command because the label attribute is required. +fxviewtabrow-delete = احذف + .accesskey = ذ +fxviewtabrow-forget-about-this-site = انسَ هذا الموقع… + .accesskey = ق +fxviewtabrow-open-in-window = افتح في نافذة جديدة + .accesskey = ف +fxviewtabrow-open-in-private-window = افتح في نافذة خاصة جديدة + .accesskey = ف # “Bookmark” is a verb, as in "Bookmark this page" (add to bookmarks). fxviewtabrow-add-bookmark = علّم… .accesskey = ل +fxviewtabrow-save-to-pocket = احفظ في { -pocket-brand-name } + .accesskey = ظ +fxviewtabrow-copy-link = انسخ الرابط + .accesskey = ن fxviewtabrow-close-tab = أغلق اللسان .accesskey = ق +fxviewtabrow-move-tab = انقل اللسان + .accesskey = ق +fxviewtabrow-move-tab-start = انقل إلى البداية + .accesskey = ن +fxviewtabrow-move-tab-end = انقل إلى النهاية + .accesskey = ن +fxviewtabrow-move-tab-window = انقل إلى نافذة جديدة + .accesskey = ن +fxviewtabrow-send-tab = أرسِل اللسان إلى جهاز + .accesskey = ن +fxviewtabrow-pin-tab = ثبّت اللسان + .accesskey = ن +fxviewtabrow-unpin-tab = أفلِت اللسان + .accesskey = ن +fxviewtabrow-mute-tab = أصمت اللسان + .accesskey = م +fxviewtabrow-unmute-tab = أطلِق صوت اللسان + .accesskey = ت +# Variables: +# $tabTitle (string) - Title of the tab to which the context menu is associated +fxviewtabrow-options-menu-button = + .title = خيارات { $tabTitle } +# Variables: +# $tabTitle (string) - Title of tab being muted +fxviewtabrow-mute-tab-button = + .title = اكتم { $tabTitle } +# Variables: +# $tabTitle (string) - Title of tab being unmuted +fxviewtabrow-unmute-tab-button = + .title = أطلِق صوت { $tabTitle } + +## Strings below are to be used without context (tab title/URL) on mute/unmute buttons + +fxviewtabrow-mute-tab-button-no-context = + .title = اكتم اللسان +fxviewtabrow-unmute-tab-button-no-context = + .title = أطلِق صوت اللسان diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/identityCredentialNotification.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/identityCredentialNotification.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/identityCredentialNotification.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/identityCredentialNotification.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -12,10 +12,17 @@ ## $host (String): the hostname of the site that is being displayed. ## $provider (String): the hostname of another website you are using to log in to the site being displayed +identity-credential-header-providers = لج بمزود ولوج identity-credential-header-accounts = لج باستخدام { $provider } identity-credential-urlbar-anchor = .tooltiptext = افتح لوحة الولوج +identity-credential-cancel-button = + .label = ألغِ + .accesskey = غ identity-credential-accept-button = .label = واصِل .accesskey = و +identity-credential-sign-in-button = + .label = لِج + .accesskey = ل identity-credential-policy-title = استخدم { $provider } كمزود ولوج diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/menubar.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/menubar.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/menubar.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/menubar.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -9,6 +9,12 @@ # NOTE: For Engineers, please don't re-use these strings outside of the menubar. +# NOTE: For English locales, strings in this file should be in APA-style Title Case. +# See https://apastyle.apa.org/style-grammar-guidelines/capitalization/title-case +# +# NOTE: For Engineers, please don't reuse these strings outside of the menubar. + + ## Application Menu (macOS only) menu-application-preferences = @@ -144,6 +150,8 @@ .label = التأريخ menu-view-synced-tabs-sidebar = .label = الألسنة المُزامنة +menu-view-megalist-sidebar = + .label = كلمات السرّ menu-view-full-zoom = .label = قرّب .accesskey = ر @@ -237,6 +245,8 @@ .label = أدِر العلامات menu-bookmark-tab = .label = علّم اللسان الحالي… +menu-edit-bookmark = + .label = حرّر هذه العلامة… # "Search" is a verb, as in "Search in bookmarks" menu-bookmarks-search = .label = ابحث في العلامات @@ -344,3 +354,5 @@ menu-help-not-deceptive = .label = هذا ليس موقعًا مخادعًا… .accesskey = خ +menu-report-broken-site = + .label = أبلِغ عن موقع معطوب diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/newtab/asrouter.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/newtab/asrouter.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/newtab/asrouter.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/newtab/asrouter.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -216,6 +216,8 @@ .accesskey = ض cfr-cbh-dismiss-button = ليس الآن .accesskey = آ +cookie-banner-blocker-cfr-header = { -brand-short-name } حظر ملفات تعريف الارتباط نيابةً عنك +cookie-banner-blocker-cfr-body = نرفض تلقائيًا العديد من النوافذ المنبثقة لملفات تعريف الارتباط لنجعل من الصعب على المواقع تتبعك. ## These strings are used in the Fox doodle Pin/set default spotlights @@ -249,10 +251,13 @@ device-migration-fxa-spotlight-body = انسخ بياناتك إحتياطياً لتتأكد من عدم خسارة المعلومات المهمة مثل العلامات وكلمات السر — خصوصاً إذا انتقلت إلى جهاز جديد. device-migration-fxa-spotlight-primary-button = كيفية عمل نسخة احتياطية من بياناتي device-migration-fxa-spotlight-link = ذكّرني لاحقًا +device-migration-fxa-spotlight-heavy-user-header = لا تنسَ عمل نُسخة احتياطية لبياناتك +device-migration-fxa-spotlight-heavy-user-body = تأكد من أن المعلومات المهمة، مثل العلامات وكلمات السر، مُحدّثة و محمية عبر جميع أجهزتك. device-migration-fxa-spotlight-heavy-user-primary-button = ابدأ device-migration-fxa-spotlight-older-device-header = راحة البال من { -brand-product-name } device-migration-fxa-spotlight-older-device-primary-button = أنشئ حسابًا device-migration-fxa-spotlight-getting-new-device-header-2 = جهاز جديد في مستقبلك؟ +device-migration-fxa-spotlight-getting-new-device-body-2 = اتبع بعض الخطوات البسيطة لجلب العلامات والتأريخ وكلمات السر معك عند البدء على جهاز جديد. device-migration-fxa-spotlight-getting-new-device-primary-button = كيفية عمل نسخة احتياطية من بياناتي ## Set as Default PDF Reader Infobar @@ -266,6 +271,7 @@ ## Launch on login infobar notification +launch-on-login-infobar-message = فتح { -brand-short-name } في كل مرة تقوم فيها بإعادة تشغيل جهاز الكمبيوتر الخاص بك؟ الآن يمكنك ضبط { -brand-short-name } ليتم فتحه تلقائيًا عند إعادة تشغيل جهازك. launch-on-login-learnmore = اطّلع على المزيد launch-on-login-infobar-confirm-button = نعم، افتح { -brand-short-name } .accesskey = ف @@ -275,5 +281,6 @@ ## These string variants are used when the “launch on login” infobar ## notification is displayed for a second time. +launch-on-login-infobar-final-message = افتح { -brand-short-name } في كل مرة تقوم فيها بإعادة تشغيل جهاز الكمبيوتر الخاص بك؟ لإدارة تفضيلات بدء التشغيل، ابحث عن "البدء" في الإعدادات. launch-on-login-infobar-final-reject-button = لا، شكرًا .accesskey = ا diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/newtab/onboarding.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/newtab/onboarding.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/newtab/onboarding.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/newtab/onboarding.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -118,8 +118,16 @@ ## $systemLanguage (String) - The name of the system language, e.g "Español (ES)" ## $appLanguage (String) - The name of the language shipping in the browser build, e.g. "English (EN)" +onboarding-live-language-header = اختر لغتك +mr2022-onboarding-live-language-text = { -brand-short-name } يتحدّث لغتك mr2022-language-mismatch-subtitle = بفضل مجتمعنا، ترجمت { -brand-short-name } بأكثر من 90 لغة. يبدو أن نظامك يستخدم { $systemLanguage }، و { -brand-short-name } يستخدم { $appLanguage }. +onboarding-live-language-button-label-downloading = جارٍ تنزيل حزمة اللغة لـ{ $negotiatedLanguage }… +onboarding-live-language-waiting-button = جارٍ الحصول على اللغات المتاحة... +onboarding-live-language-installing = جارٍ تثبيت حزمة اللغة لـ{ $negotiatedLanguage }... +mr2022-onboarding-live-language-switch-to = التبديل إلى { $negotiatedLanguage } mr2022-onboarding-live-language-continue-in = واصِل في { $appLanguage } +onboarding-live-language-secondary-cancel-download = ألغِ +onboarding-live-language-skip-button-label = تخطَّ ## Firefox 100 Thank You screens @@ -183,6 +191,7 @@ mr2022-onboarding-colorway-title = اختر اللون الذي يلهمك mr2022-onboarding-colorway-subtitle = يمكن للأصوات المستقلة أن تغير الثقافة. mr2022-onboarding-colorway-primary-button-label-continue = حدد و واصِل +mr2022-onboarding-existing-colorway-checkbox-label = اجعل { -firefox-home-brand-name } صفحتك الرئيسية الملونة mr2022-onboarding-colorway-label-default = الافتراضي mr2022-onboarding-colorway-tooltip-default2 = .title = ألوان { -brand-short-name } الحالية @@ -252,3 +261,9 @@ onboarding-device-migration-title = مرحبا بعودتك! onboarding-device-migration-subtitle = لِج إلى { -fxaccount-brand-name(capitalization: "sentence") } لتجلب علاماتك وكلمات السر والتأريخ معك على جهازك الجديد. onboarding-device-migration-primary-button-label = لِج + +## The following screens have been updated to use security and privacy focused strings: + + +## New user time and familiarity survey strings + diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/preferences/permissions.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/preferences/permissions.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/preferences/permissions.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/preferences/permissions.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -107,6 +107,13 @@ .style = { permissions-window2.style } permissions-exceptions-saved-logins-desc = لن تُحفظ جلسات الولوج لمواقع الوِب الآتية +## Exceptions - Saved Passwords + +permissions-exceptions-saved-passwords-window = + .title = الاستثناءات - كلمات السر المحفوظة + .style = { permissions-window2.style } +permissions-exceptions-saved-passwords-desc = لن يحفط { -brand-short-name } كلمات السر للمواقع المدرجة هنا. + ## Exceptions - Add-ons permissions-exceptions-addons-window2 = diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/preferences/preferences.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/preferences/preferences.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/preferences/preferences.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/preferences/preferences.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -204,6 +204,9 @@ } containers-remove-ok-button = أزل الحاوية containers-remove-cancel-button = لا تزِل هذه الحاوية +settings-tabs-show-image-in-preview = + .label = أظهِر معاينة الصورة عند التحويم فوق اللسان + .accessKey = ع ## General Section - Language & Appearance @@ -228,6 +231,10 @@ # This can appear when using windows HCM or "Override colors: always" without # system colors. preferences-web-appearance-override-warning = إن اختياراتك للألوان تهيمن على مظهر موقع الويب. إدارة الألوان +# This can appear when using windows HCM or "Override colors: always" without +# system colors. +preferences-web-appearance-override-warning2 = + .message = إن اختياراتك للألوان تهيمن على مظهر موقع الويب. # This message contains one link. It can be moved within the sentence as needed # to adapt to your language, but should not be changed. preferences-web-appearance-footer = أدِر سمات { -brand-short-name } في الامتدادات والسمات @@ -614,6 +621,9 @@ search-suggestions-option = .label = اعرض اقتراحات البحث .accesskey = ع +search-show-suggestions-option = + .label = اعرض اقتراحات البحث + .accesskey = ت search-show-suggestions-url-bar-option = .label = أظهر اقتراحات البحث في نتائج شريط العناوين .accesskey = ت @@ -695,6 +705,9 @@ sync-profile-picture = .tooltiptext = غيّر صورة الحساب +sync-profile-picture-with-alt = + .tooltiptext = غيّر صورة الحساب + .alt = غيّر صورة الحساب sync-sign-out = .label = اخرج… .accesskey = خ @@ -712,6 +725,9 @@ sync-resend-verification = .label = أعِد إرسال التأكيد .accesskey = س +sync-verify-account = + .label = أكّد الحساب + .accesskey = س sync-remove-account = .label = أزِل الحساب .accesskey = ز @@ -744,8 +760,10 @@ sync-currently-syncing-history = التأريخ sync-currently-syncing-tabs = الألسنة المفتوحة sync-currently-syncing-logins-passwords = جلسات الولوج وكلمات السر +sync-currently-syncing-passwords = كلمات السر sync-currently-syncing-addresses = العناوين sync-currently-syncing-creditcards = بطاقات الائتمان +sync-currently-syncing-payment-methods = طرق الدفع sync-currently-syncing-addons = الإضافات sync-currently-syncing-settings = الإعدادات sync-change-options = @@ -776,6 +794,10 @@ .label = جلسات الولوج وكلمات السر .tooltiptext = أسماء المستخدمين وكلمات السر التي حفظتها .accesskey = س +sync-engine-passwords = + .label = كلمات السر + .tooltiptext = كلمات السر التي حفظتها + .accesskey = ك sync-engine-addresses = .label = العناوين .tooltiptext = العناوين البريدية التي حفظتها (لسطح المكتب فقط) @@ -830,6 +852,13 @@ forms-ask-to-save-logins = .label = اطلب مني حفظ كلمات سر و بيانات ولوج مواقع الوِب .accesskey = ط + +## Privacy Section - Passwords + +# "Logins" is the former term for "Passwords". Users should find password settings +# by searching for the former term "logins". It's not displayed in the UI. +pane-privacy-passwords-header = كلمات السر + .searchkeywords = س forms-exceptions = .label = الاستثناءات… .accesskey = س @@ -885,6 +914,14 @@ primary-password-os-auth-dialog-message-macosx = أنشِئ كلمة سر رئيسية master-password-os-auth-dialog-caption = { -brand-full-name } +## Privacy section - Autofill + +pane-privacy-autofill-header = الملء التلقائي +autofill-addresses-checkbox = حفظ وملء العناوين + .accesskey = ع +autofill-saved-addresses-button = العناوين المحفوظة + .accesskey = ظ + ## Privacy Section - History history-header = التأريخ @@ -1082,6 +1119,18 @@ content-blocking-fingerprinters-label = .label = مسجّلات البصمات .accesskey = ص +# Browser fingerprinting is a method of tracking users by the configuration and settings information (their "digital fingerprint") +# that is visible to websites they browse, rather than traditional tracking methods such as IP addresses and unique cookies. +# +# The known fingerprinters are those that are known for collecting browser fingerprints from user devices. +content-blocking-known-fingerprinters-label = + .label = المسجّلات المعروفة + .accesskey = ف +# The suspected fingerprinters are those that we are uncertain about browser fingerprinting activities. But they could +# possibly acquire browser fingerprints because of the behavior on accessing APIs that expose browser fingerprints. +content-blocking-suspected-fingerprinters-label = + .label = المسجّلات المشتبه بها + .accesskey = س ## Privacy Section - Tracking @@ -1130,7 +1179,7 @@ # "pop-up" so it's included as a search keyword, not displayed in the UI. permissions-block-popups-exceptions-button = .label = الاستثناءات… - .accesskey = س + .accesskey = ت .searchkeywords = popups permissions-addon-install-warning = .label = حذّرني عندما يحاول موقع وِب تثبيت إضافات @@ -1222,22 +1271,44 @@ preferences-doh-header = DNS عبر HTTPS preferences-doh-description = يرسل نظام اسم المجال (DNS) عبر HTTPS طلبك للحصول على اسم المجال من خلال اتصال مُعمّى، مما يؤدي إلى إنشاء DNS آمن ويجعل من الصعب على الآخرين معرفة موقع الوب الذي أنت على وشك الوصول إليه. +# Variables: +# $name (string) - The name of the DNS over HTTPS resolver. If a custom resolver is used, the name will be the domain of the URL. +preferences-doh-resolver = المزود: { $name } +# This is displayed instead of $name in preferences-doh-resolver +# when the DoH URL is not a valid URL +preferences-doh-bad-url = مسار غير صحيح preferences-doh-group-message = تفعيل DNS آمن باستخدام: +preferences-doh-group-message2 = فعّل DNS عبر HTTPS باستخدام: +preferences-doh-expand-section = + .tooltiptext = مزيد من المعلومات +preferences-doh-setting-default = + .label = الحماية المبدئية + .accesskey = ي preferences-doh-default-desc = يقرر { -brand-short-name } متى يستخدم DNS آمن لحماية خصوصيتك. preferences-doh-default-detailed-desc-1 = أستخدم DNS آمن في المناطق التي تكون فيها متاحة preferences-doh-default-detailed-desc-2 = أستخدم محلل DNS المبدئي إذا كان هناك مشكلة مع مزود DNS الآمن +preferences-doh-default-detailed-desc-3 = استخدم مزودًا محليًا، إن أمكن preferences-doh-default-detailed-desc-5 = عطله عندما تخبر الشبكة { -brand-short-name } بأنه لا يجب أن تستخدم DNS آمن preferences-doh-setting-enabled = .label = حماية متزايدة .accesskey = ة preferences-doh-enabled-desc = يمكنك التحكم في الوقت الذي تستخدم فيه DNS آمن و إختيار مزودك. preferences-doh-enabled-detailed-desc-2 = أستخدم فقط محلل DNS المبدئي إذا كانت هناك مشكلة مع DNS آمن +preferences-doh-setting-strict = + .label = أقصى حماية + .accesskey = ح preferences-doh-strict-desc = سيستخدم { -brand-short-name } دائما DNS آمن. سترى تحذير خطر أمني قبل أن نستخدم نظام DNS الخاص بك. +preferences-doh-strict-detailed-desc-1 = استخدم فقط المزود الذي تحدده preferences-doh-strict-detailed-desc-2 = حذر دائما إذا كان DNS الآمن غير متاح preferences-doh-strict-detailed-desc-3 = إذا لم يكن DNS الآمن متاحًا، فلن تتحمل المواقع أو تعمل كما ينبغي +preferences-doh-setting-off = + .label = معطّل + .accesskey = ط +preferences-doh-off-desc = استخدم محلل DNS الافتراضي الخاص بك preferences-doh-checkbox-warn = .label = حذر إذا كان هناك طرف ثالث يمنع DNS الآمن .accesskey = ح +preferences-doh-select-resolver = اختر المزود: preferences-doh-exceptions-description = لن يستخدم { -brand-short-name } DNS الآمن على هذه المواقع preferences-doh-manage-exceptions = .label = أدِر الاستثناءات… diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/protections.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/protections.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/protections.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/protections.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -103,6 +103,12 @@ monitor-sign-up-link = سجّل لتصلك التنبيهات عن التسريبات .title = سجّل لتصلك التنبيهات عن التسريبات على { -monitor-brand-name } auto-scan = مجموع ما فُحص اليوم تلقائيًا +monitor-emails-tooltip = + .title = اعرض عناوين البريد الإلكتروني المراقبة على { -monitor-brand-short-name } +monitor-breaches-tooltip = + .title = اعرض تسريبات البيانات المعروفة في { -monitor-brand-short-name } +monitor-passwords-tooltip = + .title = اعرض كلمات السر المكشوفة على { -monitor-brand-short-name } # This string is displayed after a large numeral that indicates the total number # of email addresses being monitored. Don’t add $count to # your localization, because it would result in the number showing twice. @@ -132,6 +138,8 @@ monitor-partial-breaches-motivation-title-middle = واصل على هذا النحو! monitor-partial-breaches-motivation-title-end = أوشكنا! واصل على هذا النحو. monitor-partial-breaches-motivation-description = حُلّ بقية التسريبات على { -monitor-brand-short-name }. +monitor-resolve-breaches-link = حُلّ التسريبات + .title = حُلّ التسريبات على { -monitor-brand-short-name } ## The title attribute is used to display the type of protection. ## The aria-label is spoken by screen readers to make the visual graph accessible to blind users. @@ -162,3 +170,36 @@ [many] { $count } كعكة من الكعكات التي تتعقّبك بين المواقع ({ $percentage }%) *[other] { $count } كعكة من الكعكات التي تتعقّبك بين المواقع ({ $percentage }%) } +bar-tooltip-tracker = + .title = المحتوى الذي يتعقّبك + .aria-label = + { $count -> + [zero] { $count } محتوى يتعقّبك ({ $percentage }٪) + [one] { $count } محتوى واحد يتعقّبك ({ $percentage }٪) + [two] { $count } محتويان يتعقّبانك ({ $percentage }٪) + [few] { $count } محتويات تتعقّبك ({ $percentage }٪) + [many] { $count } محتوى يتعقّبك ({ $percentage }٪) + *[other] { $count } محتوى يتعقّبك ({ $percentage }٪) + } +bar-tooltip-fingerprinter = + .title = مسجّلات البصمات + .aria-label = + { $count -> + [zero] { $count } مسجّلًا للبصمات ({ $percentage }٪) + [one] { $count } مسجّلٌ واحد للبصمات ({ $percentage }٪) + [two] { $count } مسجّلان للبصمات ({ $percentage }٪) + [few] { $count } مسجّلاتٍ للبصمات ({ $percentage }٪) + [many] { $count } مسجّلًا للبصمات ({ $percentage }٪) + *[other] { $count } مسجّلًا للبصمات ({ $percentage }٪) + } +bar-tooltip-cryptominer = + .title = المُعدّنات المعمّاة + .aria-label = + { $count -> + [zero] { $count } معدّنًا معمّى ({ $percentage }٪) + [one] { $count } معدّنٌ معمّى واحد ({ $percentage }٪) + [two] { $count } معدّنان معمّان ({ $percentage }٪) + [few] { $count } معدّنات معمّاة ({ $percentage }٪) + [many] { $count } معدّنًا معمّى ({ $percentage }٪) + *[other] { $count } معدّنًا معمّى ({ $percentage }٪) + } diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/protectionsPanel.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/protectionsPanel.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/protectionsPanel.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/protectionsPanel.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -29,14 +29,14 @@ ## custom element code. ## $host (String): the hostname of the site that is being displayed. -protections-panel-etp-on-toggle = +protections-panel-etp-toggle-on = .label = الحماية الموسّعة من التعقب .description = مُفعّل لهذا الموقع - .aria-label = تعطيل الحماية ل{ $host } -protections-panel-etp-off-toggle = + .aria-label = الحماية الموسّعة من التعقب: مُفعّل ل{ $host } +protections-panel-etp-toggle-off = .label = الحماية الموسّعة من التعقب .description = مُعطّل لهذا الموقع - .aria-label = تفعيل الحماية ل{ $host } + .aria-label = الحماية الموسّعة من التعقب: مُعطّل ل{ $host } # The link to be clicked to open the sub-panel view protections-panel-site-not-working = ألا يعمل الموقع؟ # The heading/title of the sub-panel view @@ -142,3 +142,12 @@ .label = عطّل protections-panel-cookie-banner-view-turn-on-label = .label = فعّل +protections-panel-report-broken-site = + .label = أبلِغ عن موقع معطوب + .title = أبلِغ عن موقع معطوب + +## Protections panel info message + +cfr-protections-panel-header = تصفّح ولا أحد ورائك +cfr-protections-panel-body = لتعبّر الكاف في ”بياناتك“ عنك أنت. يحميك { -brand-short-name } من عديد من المتعقّبات المعروفة والتي تريد معرفة ما تفعله في المواقع. +cfr-protections-panel-link-text = اطّلع على المزيد diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/sanitize.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/sanitize.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/sanitize.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/sanitize.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -5,20 +5,16 @@ sanitize-prefs2 = .title = إعدادات مسح التأريخ .style = min-width: 34em - sanitize-prefs-style = .style = width: 17em - sanitize-dialog-title = .title = امسح التأريخ الحالي .style = min-width: 34em - # When "Time range to clear" is set to "Everything", this message is used for the # title instead of dialog-title. sanitize-dialog-title-everything = .title = امسح كل التأريخ .style = min-width: 34em - clear-data-settings-label = على { -brand-short-name } مسح كل شيء تلقائيا عندما إغلاقه ## clear-time-duration-prefix is followed by a dropdown list, with @@ -32,22 +28,16 @@ clear-time-duration-prefix = .value = المدى الزمني الذي سيُمسح:{ " " } .accesskey = م - clear-time-duration-value-last-hour = .label = آخر ساعة - clear-time-duration-value-last-2-hours = .label = آخر ساعتين - clear-time-duration-value-last-4-hours = .label = آخر أربع ساعات - clear-time-duration-value-today = .label = التأريخ لهذا اليوم - clear-time-duration-value-everything = .label = التأريخ كله - clear-time-duration-suffix = .value = { "" } @@ -55,55 +45,42 @@ ## to select the items to remove history-section-label = التأريخ - item-history-and-downloads = .label = تأريخ التصفح و التنزيلات .accesskey = ص - item-cookies = .label = الكعكات .accesskey = ت - item-active-logins = .label = جلسات الدخول النشِطة .accesskey = ش - item-cache = .label = ذاكرة مخبّأة .accesskey = ة - item-form-search-history = .label = تأريخ البحث و النماذج .accesskey = ث - +item-site-prefs-description = إعادة تعيين أذوناتك وتفضيلات الموقع إلى الإعدادات الأصلية data-section-label = البيانات - item-site-settings = .label = إعدادات الموقع .accesskey = ع - item-offline-apps = .label = بيانات المواقع للعمل دون اتصال .accesskey = ب - sanitize-everything-undo-warning = لا يمكن التراجع عن هذا الإجراء. - window-close = .key = w - sanitize-button-ok = .label = امسح الآن - # The label for the default button between the user clicking it and the window # closing. Indicates the items are being cleared. sanitize-button-clearing = .label = يُنظّف - # Warning that appears when "Time range to clear" is set to "Everything" in Clear # Recent History dialog, provided that the user has not modified the default set # of history items to clear. sanitize-everything-warning = سوف يُمسح كل التأريخ. - # Warning that appears when "Time range to clear" is set to "Everything" in Clear # Recent History dialog, provided that the user has modified the default set of # history items to clear. diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/screenshots.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/screenshots.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/screenshots.ftl 2024-04-08 19:11:41.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/screenshots.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -5,7 +5,6 @@ screenshot-toolbarbutton = .label = لقطة شاشة .tooltiptext = خُذ لقطة شاشة - screenshots-instructions = اسحب أو انقر في الصفحة لاختيار منطقة. اضغط ESC للإلغاء. screenshots-cancel-button = ألغِ screenshots-save-visible-button = احفظ الجزء المرئي @@ -20,7 +19,6 @@ .title = انسخ اللقطة إلى الحافظة screenshots-cancel-button-title = .title = ألغِ - screenshots-meta-key = { PLATFORM() -> [macos] ⌘ @@ -28,26 +26,26 @@ } screenshots-notification-link-copied-title = نُسخ الرابط screenshots-notification-link-copied-details = نُسِخَ رابط اللقطة إلى الحافظة. اضغط { screenshots-meta-key }-V للصقها. - screenshots-notification-image-copied-title = نُسخت اللقطة screenshots-notification-image-copied-details = نُسخت اللقطة إلى الحافظة. اضغط { screenshots-meta-key }-V للصقها. - screenshots-request-error-title = خارج الخدمة. screenshots-request-error-details = تعذّر حفظ لقطتك. رجاء أعد المحاولة فيما بعد. - screenshots-connection-error-title = تعذّر الاتصال بلقطات شاشتك. screenshots-connection-error-details = رجاء فحص اتصال الإنترنت. إذا كان باستطاعتك الاتصال بالإنترنت، فربما هناك عطل مؤقت في خدمة { -screenshots-brand-name }. - screenshots-login-error-details = تعذّر حفظ لقطتك لعُطل في خدمة { -screenshots-brand-name }. رجاء إعادة المحاولة لاحقًا. - screenshots-unshootable-page-error-title = تعذّر أخذ لقطة شاشة لهذه الصفحة. screenshots-unshootable-page-error-details = ليست هذه صفحة وِب قياسية، لذا لا يمكنك أخذ لقطة لها. - screenshots-empty-selection-error-title = التحديد صغير جدا - screenshots-private-window-error-title = ‏{ -screenshots-brand-name } معطّلة في وضع التصفح الخاص screenshots-private-window-error-details = نأسف على الإزعاج. نعمل على هذه الخاصية للإصدارات اللاحقة. - screenshots-generic-error-title = هناك عطل في { -screenshots-brand-name }. screenshots-generic-error-details = لسنا متأكدين ما المشكلة. أتمانع إعادة المحاولة أو أخذ لقطة لصفحة أخرى؟ +screenshots-component-copy-button-label = انسخ +screenshots-component-download-button-label = نزّل + +## The below strings are used to capture keydown events so the strings should +## not be changed unless the keyboard layout in the locale requires it. + + +## diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/search.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/search.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/search.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/search.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -30,3 +30,4 @@ ## $oldEngine (String) - the search engine to be removed. ## $newEngine (String) - the search engine to replace the removed search engine. +remove-search-engine-button = حسنًا diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/shopping.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/shopping.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/shopping.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/shopping.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -1,3 +1,64 @@ # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. + +shopping-close-button = + .title = أغلق + +## Strings for the letter grade component. +## For now, we only support letter grades A, B, C, D and F. +## Letter A indicates the highest grade, and F indicates the lowest grade. +## Letters are hardcoded and cannot be localized. + + +## Strings for the shopping message-bar + +shopping-message-bar-keep-closed-dismiss-button = لا، شكرًا + +## Strings for the product review snippets card + + +## Strings for show more card + + +## Strings for the settings card + + +## Strings for the adjusted rating component + + +## Strings for the review reliability component + + +## Strings for the analysis explainer component + + +## Strings for UrlBar button + + +## Strings for the unanalyzed product card. +## The word 'analyzer' when used here reflects what this tool is called on +## fakespot.com. If possible, a different word should be used for the Fakespot +## tool (the Fakespot by Mozilla 'analyzer') other than 'checker', which is +## used in the name of the Firefox feature ('Review Checker'). If that is not +## possible - if these terms are not meaningfully different - that is OK. + + +## Strings for the advertisement + + +## Shopping survey strings. + + +## Shopping Feature Callout strings. +## "price tag" refers to the price tag icon displayed in the address bar to +## access the feature. + +shopping-callout-closed-not-opted-in-revised-button = فهمت +shopping-callout-not-opted-in-reminder-close-button = أهمِل + +## Onboarding message strings. + +shopping-onboarding-dialog-close-button = + .title = أغلِق + .aria-label = أغلِق diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/spotlight.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/spotlight.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/spotlight.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/spotlight.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -1,3 +1,14 @@ # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# Dialog close button +spotlight-dialog-close-button = + .title = أغلِق + .aria-label = أغلِق + +## Mobile download button strings + + +## Firefox Focus promo message strings + diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/sync.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/sync.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/sync.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/sync.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -3,22 +3,19 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. fxa-toolbar-sync-syncing2 = يُزامن… - sync-disconnect-dialog-title2 = هل أقطع الاتصال؟ sync-disconnect-dialog-body = سيتوقف { -brand-product-name } عن مزامنة حسابك، لكن لن يحذف أيًا من بيانات تصفحك على هذا الجهاز. sync-disconnect-dialog-button = اقطع الاتصال - fxa-signout-dialog2-title = أتريد الخروج من { -fxaccount-brand-name }؟ +fxa-signout-dialog-title2 = تسجيل الخروج من حسابك؟ fxa-signout-dialog-body = ستبقى البيانات المُزامنة في حسابك. fxa-signout-dialog2-button = اخرج fxa-signout-dialog2-checkbox = احذف البيانات من هذا الجهاز (كلمات السر والتأريخ والعلامات وغيرها). - fxa-menu-sync-settings = .label = إعدادات المزامنة fxa-menu-turn-on-sync = .value = فعّل المزامنة fxa-menu-turn-on-sync-default = فعّل المزامنة - fxa-menu-connect-another-device = .label = صِلْ جهازا آخر… # Variables: @@ -33,13 +30,10 @@ [many] أرسِل { $tabCount } لسانا إلى الجهاز *[other] أرسِل { $tabCount } لسان إلى الجهاز } - # This is shown dynamically within "Send tab to device" in fxa menu. fxa-menu-send-tab-to-device-syncnotready = .label = يُزامن الأجهزة… - # This is shown within "Send tab to device" in fxa menu if account is not configured. fxa-menu-send-tab-to-device-description = أرسِل اللسان مباشرةً إلى أي جهاز ولجت فيه. - fxa-menu-sign-out = .label = اخرج… diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/syncedTabs.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/syncedTabs.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/syncedTabs.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/syncedTabs.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -44,7 +44,7 @@ # consistently with the "Bookmark Tab…" string there. synced-tabs-context-bookmark = .label = علم اللسان… - .accesskey = س + .accesskey = ع synced-tabs-context-copy = .label = انسخ .accesskey = ن diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/tabContextMenu.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/tabContextMenu.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/tabContextMenu.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/tabContextMenu.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -4,7 +4,7 @@ tab-context-new-tab = .label = لسان جديد - .accesskey = س + .accesskey = ج reload-tab = .label = أعِد تحميل اللسان .accesskey = ح @@ -56,7 +56,7 @@ .accesskey = ن tab-context-bookmark-tab = .label = علم اللسان… - .accesskey = س + .accesskey = م tab-context-open-in-new-container-tab = .label = افتح في لسانٍ حاوٍ جديد .accesskey = س @@ -102,7 +102,7 @@ [many] أغلِق { $tabCount } لسانًا *[other] أغلِق { $tabCount } لسان } - .accesskey = س + .accesskey = ا tab-context-move-tabs = .label = { $tabCount -> diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/tabbrowser.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/tabbrowser.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/tabbrowser.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/tabbrowser.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -3,18 +3,16 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. tabbrowser-empty-tab-title = لسان جديد - +tabbrowser-empty-private-tab-title = لسان خاص جديد tabbrowser-menuitem-close-tab = .label = أغلق اللّسان tabbrowser-menuitem-close = .label = أغلق - # Displayed as a tooltip on container tabs # Variables: # $title (String): the title of the current tab. # $containerName (String): the name of the current container. tabbrowser-container-tab-title = ‏{ $title } ‏- ‏{ $containerName } - # Variables: # $tabCount (Number): The number of tabs that will be closed. tabbrowser-close-tabs-tooltip = @@ -123,6 +121,9 @@ tabbrowser-confirm-close-tabs-with-key-title = أتريد إغلاق النافذة ومغادرة { -brand-short-name }؟ tabbrowser-confirm-close-tabs-with-key-button = غادِر { -brand-short-name } +# Variables: +# $quitKey (String): the text of the keyboard shortcut for quitting. +tabbrowser-confirm-close-tabs-with-key-checkbox = أكّد علي قبل المغادرة باستعمال { $quitKey } ## Confirmation dialog when opening multiple tabs simultaneously @@ -144,6 +145,10 @@ ## +# Variables: +# $domain (String): URL of the page that is trying to steal focus. +tabbrowser-allow-dialogs-to-get-focus = + .label = اسمح لإشعارات مثل هذه من { $domain } بنقلك إلى لسانها tabbrowser-customizemode-tab-title = خصّص { -brand-short-name } ## Context menu buttons, of which only one will be visible at a time @@ -162,6 +167,8 @@ tabbrowser-context-unmute-selected-tabs = .label = أطلِق صوت الألسنة .accesskey = ط +# This string is used as an additional tooltip and accessibility description for tabs playing audio +tabbrowser-tab-audio-playing-description = يشغّل صوتا ## Ctrl-Tab dialog @@ -178,3 +185,9 @@ ## Tab manager menu buttons +tabbrowser-manager-mute-tab = + .tooltiptext = اكتم اللسان +tabbrowser-manager-unmute-tab = + .tooltiptext = أطلِق صوت اللسان +tabbrowser-manager-close-tab = + .tooltiptext = أغلِق اللسان diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/textRecognition.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/textRecognition.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/textRecognition.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/textRecognition.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -1,3 +1,9 @@ # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. + + +## Text recognition works through a modal that presents the text that is found +## in an image, and copies the results to the clipboard. + +text-recognition-modal-close-button = أغلِق diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/toolbarContextMenu.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/toolbarContextMenu.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/toolbarContextMenu.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/toolbarContextMenu.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -20,6 +20,8 @@ toolbar-context-menu-select-all-tabs = .label = اختر كل الألسنة .accesskey = خ +# Variables +# $tabCount (number) - Number of tabs toolbar-context-menu-reopen-closed-tabs = .label = { $tabCount -> @@ -32,21 +34,18 @@ *[other] أعِد فتح الألسنة المغلقة } .accesskey = ع - toolbar-context-menu-manage-extension = .label = أدِر الامتداد .accesskey = د toolbar-context-menu-remove-extension = .label = أزِل الامتداد .accesskey = ت - # This label is used in the extensions toolbar buttons context menus, # a user can use this command to submit to Mozilla an abuse report # related to that extension. "Report" is a verb. toolbar-context-menu-report-extension = .label = أبلِغ عن الامتداد .accesskey = ت - # Can appear on the same context menu as toolbar-context-menu-menu-bar-cmd # ("Menu Bar") and personalbarCmd ("Bookmarks Toolbar"), so they should # have different access keys. @@ -56,6 +55,9 @@ toolbar-context-menu-auto-hide-downloads-button-2 = .label = أخفِ الزر إن لم تكن هناك تنزيلات .accesskey = خ +toolbar-context-menu-always-open-downloads-panel = + .label = إظهار اللوحة عند بدء التنزيل + .accesskey = ع toolbar-context-menu-remove-from-toolbar = .label = احذف من شريط الأدوات .accesskey = ح @@ -65,7 +67,11 @@ toolbar-context-menu-view-customize-toolbar-2 = .label = خصّص شريط الأدوات… .accesskey = خ - +# This is only ever shown when toolbar-context-menu-pin-to-overflow-menu +# is hidden, so they can share access keys. +toolbar-context-menu-pin-to-toolbar = + .label = ثبّته في شريط الأدوات + .accesskey = ث toolbar-context-menu-bookmarks-toolbar-always-show-2 = .label = أظهِر دائما .accesskey = ظ @@ -75,11 +81,9 @@ toolbar-context-menu-bookmarks-toolbar-on-new-tab-2 = .label = أظهِر فقط في اللسان الجديد .accesskey = ف - toolbar-context-menu-bookmarks-show-other-bookmarks = .label = أظهِر العلامات الأخرى .accesskey = ه - toolbar-context-menu-menu-bar-cmd = .toolbarname = شريط القوائم .accesskey = ق diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/translations.ftl firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/translations.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/browser/translations.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/browser/translations.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -47,6 +47,8 @@ .label = ترجم { $language } دائمًا translations-panel-settings-always-translate-unknown-language = .label = ترجم هذه اللغة دائمًا +translations-panel-settings-always-offer-translation = + .label = اقترح دائمًا الترجمة # Text displayed for the option to never translate a given language # Variables: # $language (string) - The localized display name of the detected language @@ -117,18 +119,73 @@ ## Firefox Translations language management in about:preferences. translations-manage-header = الترجمات +translations-manage-settings-button = + .label = الإعدادات… + .accesskey = ع translations-manage-description = تنزيل اللغات من أجل الترجمة بلا إنترنت. translations-manage-all-language = كل اللغات translations-manage-download-button = نزّل translations-manage-delete-button = احذف +translations-manage-language-remove-button = + .label = أزِل +translations-manage-language-remove-all-button = + .label = أزِل الكل + .accesskey = ك +translations-manage-error-install = حدثت مشكلة أثناء تثبيت ملفات اللغة. حاول مرة اخرى. translations-manage-error-download = حدثت مشكلة أثناء تنزيل ملفات اللغة. من فضلك حاول ثانية. translations-manage-error-delete = حدثت مشكلة أثناء حذف ملفات اللغة. من فضلك حاول ثانية. +translations-manage-intro = عيّن تفضيلات اللغة وترجمة الموقع وإدارة اللغات المثبتة للترجمة في وضع عدم الاتصال. translations-manage-install-description = تثبيت اللغات للترجمة دون اتصال بالإنترنت translations-manage-language-install-button = .label = ثبّت -translations-manage-language-remove-button = - .label = أزِل +translations-manage-language-install-all-button = + .label = تثبيت الكل + .accesskey = ب +translations-manage-error-remove = حدث خطأ أثناء إزالة ملفات اللغة. حاول مرة اخرى. +translations-manage-error-list = فشل الحصول على قائمة اللغات المتاحة للترجمة. حدّث الصفحة للمحاولة مرة أخرى. +translations-settings-title = + .title = إعدادات الترجمات + .style = min-width: 36em +translations-settings-close-key = + .key = w +translations-settings-always-translate-langs-description = ستتم الترجمة تلقائيًا للغات التالية translations-settings-never-translate-langs-description = لن تُعرض ترجمة للغات التالية translations-settings-never-translate-sites-description = لن تُعرض ترجمة للمواقع التالية translations-settings-languages-column = .label = اللغات +translations-settings-remove-language-button = + .label = أزِل اللغة + .accesskey = ة +translations-settings-remove-all-languages-button = + .label = احذف جميع اللغات + .accesskey = ي +translations-settings-sites-column = + .label = مواقع وِب +translations-settings-remove-site-button = + .label = أزِل الموقع + .accesskey = ل +translations-settings-remove-all-sites-button = + .label = أزِل كل المواقع + .accesskey = ق +translations-settings-close-dialog = + .buttonlabelaccept = أغلِق + .buttonaccesskeyaccept = ق +select-translations-panel-cancel-button = + .label = ألغِ +select-translations-panel-translate-button = + .label = ترجم +select-translations-panel-try-again-button = + .label = حاول مجددًا +# Text displayed when the translation fails to complete. +select-translations-panel-translation-failure-message = + .message = حدثت مشكلة أثناء الترجمة. من فضلك حاول ثانية. +# If your language requires declining the language name, a possible solution +# is to adapt the structure of the phrase, or use a support noun, e.g. +# `Sorry, we don't support the language yet: { $language } +# +# Variables: +# $language (string) - The language of the document. +select-translations-panel-unsupported-language-message-known = + .message = للأسف، لا ندعم { $language } بعد. +select-translations-panel-unsupported-language-message-unknown = + .message = معذرةً، لا ندعم هذه اللغة بعد. diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/chrome/browser/browser.properties firefox-esr-115.11.0esr+build1/l10n/ar/browser/chrome/browser/browser.properties --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/chrome/browser/browser.properties 2024-04-08 19:11:41.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/chrome/browser/browser.properties 2024-05-07 06:05:01.000000000 +0000 @@ -62,6 +62,7 @@ menuOpenAllInTabs.label=افتح الكل في ألسنة # Unified Back-/Forward Popup +tabHistory.reloadCurrent=أعِد تحميل هذه الصفحة tabHistory.goBack=ارجع لهذه الصفحة tabHistory.goForward=انتقل لهذه الصفحة @@ -218,6 +219,7 @@ # It forms the end of the (imaginary) sentence "www.example.com [was] Blocked" contentBlocking.cryptominersView.blocked.label=حُجبت +trackingProtection.icon.activeTooltip2=حظر متعقبات مواقع التواصل الاجتماعي، وكعكات التعقب بين المواقع، ومسجّلات البصمات. trackingProtection.icon.disabledTooltip2=عُطّلت الحماية الموسّعة من التعقب في هذا الموقع. # LOCALIZATION NOTE (trackingProtection.icon.noTrackersDetectedTooltip): %S is brandShortName. trackingProtection.icon.noTrackersDetectedTooltip=لم تُكتشف في هذه الصفحة أي متعقّبات يعرفها %S. @@ -385,6 +387,8 @@ # extension. %2$S is the name of the product (e.g., Firefox) processHang.add-on.label2 = يتسبّب الامتداد ”%1$S“ بإبطاء عمل %2$S. أوقِفه لتسريع المتصفّح. processHang.add-on.learn-more.text = اطّلع على المزيد +processHang.button_stop2.label = أوقِف +processHang.button_stop2.accessKey = S processHang.button_debug.label = نقّح النص البرمجي processHang.button_debug.accessKey = ن @@ -501,11 +505,13 @@ # LOCALIZATION NOTE (panel.back): # This is used by screen readers to label the "back" button in various browser -# popup panels, including the sliding subviews of the main menu. +# popup panels, including the sliding subviews of the main menu. panel.back = إلى الخلف storageAccess1.Allow.label = اسمح +storageAccess1.Allow.accesskey = A storageAccess1.DontAllow.label = احجب +storageAccess1.DontAllow.accesskey = B # LOCALIZATION NOTE (storageAccess4.message, storageAccess1.hintText): # %1$S is the name of the site URL (www.site1.example) trying to track the user's activity. # %2$S is the name of the site URL (www.site2.example) that the user is visiting. This is the same domain name displayed in the address bar. @@ -514,3 +520,4 @@ # LOCALIZATION NOTE (gnomeSearchProviderSearchWeb): # Used for search by Gnome Shell activity screen, %S is a searched string. +gnomeSearchProviderSearchWeb=ابحث في الوِب عن “%S” diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/browser/chrome/browser/downloads/downloads.properties firefox-esr-115.11.0esr+build1/l10n/ar/browser/chrome/browser/downloads/downloads.properties --- firefox-esr-115.10.0esr+build1/l10n/ar/browser/chrome/browser/downloads/downloads.properties 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/browser/chrome/browser/downloads/downloads.properties 2024-05-07 06:05:01.000000000 +0000 @@ -39,10 +39,14 @@ # Displayed when a complete download which is not at the original folder. fileMovedOrMissing=نُقِل الملف أو حُذِف +# LOCALIZATION NOTE (fileDeleted): +# Displayed when a downloaded file has been deleted by Firefox, e.g. by the +# "Delete File" context menu item. + # LOCALIZATION NOTE (unblockHeaderUnblock, unblockHeaderOpen, # unblockTypeMalware, unblockTypePotentiallyUnwanted2, # unblockTypeUncommon2, unblockTip2, unblockButtonOpen, -# unblockButtonUnblock, unblockButtonConfirmBlock, unblockInsecure): +# unblockButtonUnblock, unblockButtonConfirmBlock, unblockInsecure2): # These strings are displayed in the dialog shown when the user asks a blocked # download to be unblocked. The severity of the threat is expressed in # descending order by the unblockType strings, it is higher for files detected @@ -52,6 +56,7 @@ unblockTypeMalware=يحتوي هذا الملف على فيروس أو برنامج تجسس أو برمجية خبيثة أخرى قد تؤذي حاسوبك. unblockTypePotentiallyUnwanted2=هذا الملف، الذي يتخفى في شكل تنزيل مفيد، قد يسبب تغييرات غير متوقعة في برمجياتك و إعداداتك. unblockTypeUncommon2=ليس هذا الملف شائع التنزيل و قد لا يكون من الآمن فتحه. قد يحتوي فيروسًا أو يُحدث تغييرات غير متوقعة على برامجك و إعداداتك. +unblockInsecure2=يتم تقديم التنزيل عبر HTTP على الرغم من تسليم المستند الحالي عبر اتصال HTTPS آمن. إذا تابعت، فقد يكون التنزيل تالفًا أو تعرّض للعبث أثناء عملية التنزيل. unblockTip2=يمكنك البحث عن مصدر بديل أو إعادة المحاولة لاحقًا. unblockButtonOpen=افتح unblockButtonUnblock=اسمح بالتنزيل @@ -74,4 +79,3 @@ # even for right-to-left languages, unless the defaults are not suitable. statusSeparator=‏%1$S‏ — %2$S statusSeparatorBeforeNumber=‏%1$S‏ — %2$S - diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/devtools/client/aboutdebugging.ftl firefox-esr-115.11.0esr+build1/l10n/ar/devtools/client/aboutdebugging.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/devtools/client/aboutdebugging.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/devtools/client/aboutdebugging.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -10,9 +10,9 @@ # Page title (ie tab title) for the Setup page about-debugging-page-title-setup-page = التنقيح - الإعداد - # Page title (ie tab title) for the Runtime page -# { $selectedRuntimeId } is the id of the current runtime, such as "this-firefox", "localhost:6080", ... +# Variables: +# $selectedRuntimeId - ID of the current runtime, such as "this-firefox", "localhost:6080", etc. about-debugging-page-title-runtime-page = التنقيح - زمن التشغيل / { $selectedRuntimeId } # Sidebar strings @@ -20,73 +20,63 @@ # Display name of the runtime for the currently running instance of Firefox. Used in the # Sidebar and in the Setup page. about-debugging-this-firefox-runtime-name = { -brand-shorter-name } هذا - # Sidebar heading for selecting the currently running instance of Firefox +# .name is processed by fluent-react / SidebarFixedItem about-debugging-sidebar-this-firefox = .name = { about-debugging-this-firefox-runtime-name } - # Sidebar heading for connecting to some remote source +# .name is processed by fluent-react / SidebarFixedItem about-debugging-sidebar-setup = .name = الإعداد - # Text displayed in the about:debugging sidebar when USB devices discovery is enabled. about-debugging-sidebar-usb-enabled = الربط عبر USB يعمل - # Text displayed in the about:debugging sidebar when USB devices discovery is disabled # (for instance because the mandatory ADB extension is not installed). about-debugging-sidebar-usb-disabled = الربط عبر USB لا يعمل - # Connection status (connected) for runtime items in the sidebar aboutdebugging-sidebar-runtime-connection-status-connected = متصّل # Connection status (disconnected) for runtime items in the sidebar aboutdebugging-sidebar-runtime-connection-status-disconnected = غير متصّل - # Text displayed in the about:debugging sidebar when no device was found. about-debugging-sidebar-no-devices = لم تُكتشف أي أجهزة - # Text displayed in buttons found in sidebar items representing remote runtimes. # Clicking on the button will attempt to connect to the runtime. about-debugging-sidebar-item-connect-button = اتّصل - # Text displayed in buttons found in sidebar items when the runtime is connecting. about-debugging-sidebar-item-connect-button-connecting = يتّصل… - # Text displayed in buttons found in sidebar items when the connection failed. about-debugging-sidebar-item-connect-button-connection-failed = فشل الاتصال - # Text displayed in connection warning on sidebar item of the runtime when connecting to # the runtime is taking too much time. about-debugging-sidebar-item-connect-button-connection-not-responding = ما زال الاتصال جارٍ، طالِح الرسائل في المتصفح الهدف - # Text displayed as connection error in sidebar item when the connection has timed out. about-debugging-sidebar-item-connect-button-connection-timeout = انتهت المهلة للاتصال - # Text displayed in sidebar items for remote devices where a compatible browser (eg # Firefox) has not been detected yet. Typically, Android phones connected via USB with # USB debugging enabled, but where Firefox is not started. about-debugging-sidebar-runtime-item-waiting-for-browser = ينتظر المتصفح… - # Text displayed in sidebar items for remote devices that have been disconnected from the # computer. about-debugging-sidebar-runtime-item-unplugged = مفصول - # Title for runtime sidebar items that are related to a specific device (USB, WiFi). +# Variables: +# $displayName (string) - Displayed name +# $deviceName (string) - Name of the device about-debugging-sidebar-runtime-item-name = .title = { $displayName } ({ $deviceName }) # Title for runtime sidebar items where we cannot get device information (network # locations). +# Variables: +# $displayName (string) - Displayed name about-debugging-sidebar-runtime-item-name-no-device = .title = { $displayName } - # Text to show in the footer of the sidebar that links to a help page -# (currently: https://developer.mozilla.org/docs/Tools/about:debugging) +# (currently: https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/) about-debugging-sidebar-support = دعم التنقيح - # Text to show as the ALT attribute of a help icon that accompanies the help about # debugging link in the footer of the sidebar about-debugging-sidebar-support-icon = .alt = أيقونة المساعدة - # Text displayed in a sidebar button to refresh the list of USB devices. Clicking on it # will attempt to update the list of devices displayed in the sidebar. about-debugging-refresh-usb-devices-button = أنعِش الأجهزة @@ -95,83 +85,61 @@ # Title of the Setup page. about-debugging-setup-title = الإعداد - # Introduction text in the Setup page to explain how to configure remote debugging. about-debugging-setup-intro = اضبط الطريقة التي تريد بها الاتصال بجهازك لتنقيحه. - # Explanatory text in the Setup page about what the 'This Firefox' page is for about-debugging-setup-this-firefox2 = استعمل { about-debugging-this-firefox-runtime-name } لتنقّح الامتدادات وعمّال الخدمة في إصدارة { -brand-shorter-name } هذه. - # Title of the heading Connect section of the Setup page. about-debugging-setup-connect-heading = أوصِل جهازا - # USB section of the Setup page about-debugging-setup-usb-title = USB - # Explanatory text displayed in the Setup page when USB debugging is disabled about-debugging-setup-usb-disabled = بتفعيل هذا تُنزّل وتُضيف المكوّنات المطلوبة إلى { -brand-shorter-name } لتنقيح أجهزة أندرويد عبر USB. - # Text of the button displayed in the USB section of the setup page when USB debugging is disabled. # Clicking on it will download components needed to debug USB Devices remotely. about-debugging-setup-usb-enable-button = فعّل الأجهزة عبر USB - # Text of the button displayed in the USB section of the setup page when USB debugging is enabled. about-debugging-setup-usb-disable-button = عطّل الأجهزة عبر USB - # Text of the button displayed in the USB section of the setup page while USB debugging # components are downloaded and installed. about-debugging-setup-usb-updating-button = يحدّث… - # USB section of the Setup page (USB status) about-debugging-setup-usb-status-enabled = مفعّل about-debugging-setup-usb-status-disabled = معطّل about-debugging-setup-usb-status-updating = يحدّث… - # USB section step by step guide about-debugging-setup-usb-step-enable-dev-menu2 = فعّل قائمة ”مطوّر البرامج/Developer“ في جهاز أندرويد لديك. - # USB section step by step guide about-debugging-setup-usb-step-enable-debug2 = فعّل ”تصحيح أخطاء USB/‏USB Debugging“ في قائمة ”مطور البرامج/Developer“. - # USB section step by step guide about-debugging-setup-usb-step-enable-debug-firefox2 = فعّل التنقيح عبر USB في متصفح Firefox على أجهزة أندرويد. - # USB section step by step guide about-debugging-setup-usb-step-plug-device = أوصِل جهاز أندرويد بهذا الحاسوب. - # Text shown in the USB section of the setup page with a link to troubleshoot connection errors. -# The link goes to https://developer.mozilla.org/docs/Tools/Remote_Debugging/Debugging_over_USB +# The link goes to https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/index.html#connecting-to-a-remote-device about-debugging-setup-usb-troubleshoot = أتواجه مشاكل بالاتصال بجهازك عبر USB؟ تعقّب المشكلة - # Network section of the Setup page about-debugging-setup-network = .title = مكان على الشبكة - # Text shown in the Network section of the setup page with a link to troubleshoot connection errors. -# The link goes to https://developer.mozilla.org/en-US/docs/Tools/Remote_Debugging/Debugging_over_a_network +# The link goes to https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/index.html#connecting-over-the-network about-debugging-setup-network-troubleshoot = أتواجه مشاكل بالاتصال بمكان على الشبكة؟ تعقّب المشكلة - # Text of a button displayed after the network locations "Host" input. # Clicking on it will add the new network location to the list. about-debugging-network-locations-add-button = أضِف - # Text to display when there are no locations to show. about-debugging-network-locations-empty-text = لم تُضف أي أماكن على الشبكة بعد. - # Text of the label for the text input that allows users to add new network locations in # the Connect page. A host is a hostname and a port separated by a colon, as suggested by # the input's placeholder "localhost:6080". about-debugging-network-locations-host-input-label = المضيف - # Text of a button displayed next to existing network locations in the Connect page. # Clicking on it removes the network location from the list. about-debugging-network-locations-remove-button = أزِل - # Text used as error message if the format of the input value was invalid in the network locations form of the Setup page. # Variables: # $host-value (string) - The input value submitted by the user in the network locations form about-debugging-network-location-form-invalid = المضيف ”{ $host-value }“ غير صالح. التنسيق الذي توقّعتُه هو ‎“hostname:portnumber”‎. - # Text used as error message if the input value was already registered in the network locations form of the Setup page. # Variables: # $host-value (string) - The input value submitted by the user in the network locations form @@ -182,62 +150,64 @@ # Below are the titles for the various categories of debug targets that can be found # on "runtime" pages of about:debugging. # Title of the temporary extensions category (only available for "This Firefox" runtime). +# .name is processed by fluent-react / DebugTargetPane about-debugging-runtime-temporary-extensions = .name = الامتدادات المؤقتة # Title of the extensions category. +# .name is processed by fluent-react / DebugTargetPane about-debugging-runtime-extensions = .name = الامتدادات # Title of the tabs category. +# .name is processed by fluent-react / DebugTargetPane about-debugging-runtime-tabs = .name = الألسنة # Title of the service workers category. +# .name is processed by fluent-react / DebugTargetPane about-debugging-runtime-service-workers = .name = عمال الخدمة # Title of the shared workers category. +# .name is processed by fluent-react / DebugTargetPane about-debugging-runtime-shared-workers = .name = العمال المشتركين # Title of the other workers category. +# .name is processed by fluent-react / DebugTargetPane about-debugging-runtime-other-workers = .name = بقية العمّال # Title of the processes category. +# .name is processed by fluent-react / DebugTargetPane about-debugging-runtime-processes = .name = العمليات - +# Label of the button opening the performance profiler panel in runtime pages for remote +# runtimes. +about-debugging-runtime-profile-button2 = أداء الملف الشخصي # This string is displayed in the runtime page if the current configuration of the -# target runtime is incompatible with service workers. "Learn more" points to MDN. -# https://developer.mozilla.org/en-US/docs/Tools/about%3Adebugging#Service_workers_not_compatible +# target runtime is incompatible with service workers. "Learn more" points to: +# https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/index.html#service-workers-not-compatible about-debugging-runtime-service-workers-not-compatible = إعدادات المتصفح لديك غير متوافقة مع عمّال الخدمة. اطّلع على المزيد - # This string is displayed in the runtime page if the remote browser version is too old. -# "Troubleshooting" link points to https://developer.mozilla.org/docs/Tools/about:debugging#Troubleshooting +# "Troubleshooting" link points to https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/ # { $runtimeVersion } is the version of the remote browser (for instance "67.0a1") # { $minVersion } is the minimum version that is compatible with the current Firefox instance (same format) about-debugging-browser-version-too-old = إصدارة المتصفّح المتّصل قديمة ({ $runtimeVersion }). أدنى إصدارة مدعومة هي ({ $minVersion }). عملية الإعداد هذه غير مدعومة وقد لا تعمل أدوات المطوّرين بناء على ذلك. من فضلك حدّث المتصفّح المتّصل. مواجهة الأعطال - # Dedicated message for a backward compatibility issue that occurs when connecting: # from Fx 70+ to the old Firefox for Android (aka Fennec) which uses Fx 68. about-debugging-browser-version-too-old-fennec = لا يمكن لإصدارة متصفّح Firefox هذه تنقيح Firefox لأندرويد (68). ننصح بتنزيل النسخة الليلية من Firefox لأندرويد على هاتفك لإجراء الاختبارات. تفاصيل أكثر - # This string is displayed in the runtime page if the remote browser version is too recent. -# "Troubleshooting" link points to https://developer.mozilla.org/docs/Tools/about:debugging#Troubleshooting +# "Troubleshooting" link points to https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/ # { $runtimeID } is the build ID of the remote browser (for instance "20181231", format is yyyyMMdd) # { $localID } is the build ID of the current Firefox instance (same format) # { $runtimeVersion } is the version of the remote browser (for instance "67.0a1") # { $localVersion } is the version of your current browser (same format) about-debugging-browser-version-too-recent = إصدارة المتصفّح المتّصل ({ $runtimeVersion }، معرّف البناء { $runtimeID }) أحدث من إصدارة { -brand-shorter-name } هذه ({ $localVersion }، معرّف البناء { $localID }). عملية الإعداد هذه غير مدعومة وقد لا تعمل أدوات المطوّرين بناء على ذلك. من فضلك حدّث Firefox. مواجهة الأعطال - # Displayed for runtime info in runtime pages. # { $name } is brand name such as "Firefox Nightly" # { $version } is version such as "64.0a1" about-debugging-runtime-name = ‏{ $name } ‏({ $version }) - # Text of a button displayed in Runtime pages for remote runtimes. # Clicking on the button will close the connection to the runtime. about-debugging-runtime-disconnect-button = اقطع الاتصال - # Title of a modal dialog displayed on remote runtime pages after clicking on the Profile Runtime button. about-debugging-profiler-dialog-title2 = محلّل الأداء - # Clicking on the header of a debug target category will expand or collapse the debug # target items in the category. This text is used as ’title’ attribute of the header, # to describe this feature. @@ -248,77 +218,59 @@ # Displayed in the categories of "runtime" pages that don't have any debug target to # show. Debug targets depend on the category (extensions, tabs, workers...). about-debugging-debug-target-list-empty = لا شيء بعد. - # Text of a button displayed next to debug targets of "runtime" pages. Clicking on this # button will open a DevTools toolbox that will allow inspecting the target. # A target can be an addon, a tab, a worker... about-debugging-debug-target-inspect-button = افحص - # Text of a button displayed in the "This Firefox" page, in the Temporary Extension # section. Clicking on the button will open a file picker to load a temporary extension about-debugging-tmp-extension-install-button = حمّل إضافة مؤقتا… - # Text displayed when trying to install a temporary extension in the "This Firefox" page. about-debugging-tmp-extension-install-error = حدث عُطل أثناء تثبيت الإضافة مؤقتا. - # Text of a button displayed for a temporary extension loaded in the "This Firefox" page. # Clicking on the button will reload the extension. about-debugging-tmp-extension-reload-button = أعِد التحميل - # Text of a button displayed for a temporary extension loaded in the "This Firefox" page. # Clicking on the button will uninstall the extension and remove it from the page. about-debugging-tmp-extension-remove-button = أزِل - # Message displayed in the file picker that opens to select a temporary extension to load # (triggered by the button using "about-debugging-tmp-extension-install-button") # manifest.json .xpi and .zip should not be localized. # Note: this message is only displayed in Windows and Linux platforms. about-debugging-tmp-extension-install-message = اختر ملف manifest.json أو أرشيف ‎.xpi/.zip - # This string is displayed as a message about the add-on having a temporaryID. about-debugging-tmp-extension-temporary-id = لامتداد WebExtension هذا معرّف مؤقّت. اطّلع على المزيد - # Text displayed for extensions (temporary extensions only) in "runtime" pages, before # displaying the location of the temporary extension. about-debugging-extension-location = .label = المكان - # Text displayed for extensions in "runtime" pages, before displaying the extension's ID. # For instance "geckoprofiler@mozilla.com" or "{ed26ddcb-5611-4512-a89a-51b8db81cfb2}". about-debugging-extension-id = .label = معرّف الامتداد - # This string is displayed as a label of the button that starts a service worker. +# .disabledTitle is processed by the fluent-react / ActionButton code. about-debugging-worker-action-start2 = ابدأ .disabledTitle = بدء عامل الخدمة معطّل حاليًا إذ { -brand-shorter-name } يعمل بأكثر من سيرورة - # Displayed for service workers in runtime pages that are currently running (service # worker instance is active). about-debugging-worker-status-running = يعمل - # Displayed for service workers in runtime pages that are registered but stopped. about-debugging-worker-status-stopped = متوقّف - # Displayed for service workers in runtime pages that are registering. about-debugging-worker-status-registering = يُسجّل - # Displayed as title of the inspect button for zombie tabs (e.g. tabs loaded via a session restore). about-debugging-zombie-tab-inspect-action-disabled = .title = لم يُحمّل اللسان تمامًا ولا يمكن فحصه - -# Displayed instead of the Main Process debug target when the preference -# `devtools.browsertoolbox.fission` is true. +# Displayed as name for the Main Process debug target in the Processes category. Only for +# remote runtimes, if `devtools.aboutdebugging.process-debugging` is true. about-debugging-multiprocess-toolbox-name = شريط أدوات السيرورات المتعددة - # Alt text used for the close icon of message component (warnings, errors and notifications). about-debugging-message-close-icon = .alt = أغلِق الرسالة - # Label text used for the error details of message component. about-debugging-message-details-label-error = تفاصيل العُطل - # Label text used for the warning details of message component. about-debugging-message-details-label-warning = تفاصيل التحذير - # Label text used for default state of details of message component. about-debugging-message-details-label = التفاصيل diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/devtools/client/debugger.properties firefox-esr-115.11.0esr+build1/l10n/ar/devtools/client/debugger.properties --- firefox-esr-115.10.0esr+build1/l10n/ar/devtools/client/debugger.properties 2024-04-08 19:11:41.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/devtools/client/debugger.properties 2024-05-07 06:05:01.000000000 +0000 @@ -3,14 +3,6 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. # LOCALIZATION NOTE These strings are used inside the Debugger -# which is available from the Web Developer sub-menu -> 'Debugger'. -# The correct localization of this file might be to keep it in -# English, or another language commonly spoken among web developers. -# You want to make that choice consistent across the developer tools. -# A good criteria is the language in which you'd find the best -# documentation on web development on the web. - -# LOCALIZATION NOTE These strings are used inside the Debugger # which is available from the Browser Tools sub-menu -> 'Debugger'. # The correct localization of this file might be to keep it in # English, or another language commonly spoken among web developers. @@ -58,32 +50,6 @@ # context menu to remove a directory as root directory removeDirectoryRoot.label=أزِل الدليل الجذر -# LOCALIZATION NOTE (blackBoxAll.label): Text associated with the blackbox context menu item - -# LOCALIZATION NOTE (blackBoxAllInGroup.label): This is the text that appears in the -# context submenu to blackbox all files inside of the selected group - -# LOCALIZATION NOTE (unblackBoxAllInGroup.label): This is the text that appears in the -# context submenu to unblackbox all files inside of the selected group - -# LOCALIZATION NOTE (blackBoxAllOutsideGroup.label): This is the text that appears in the -# context submenu to blackbox all files outside of the selected group - -# LOCALIZATION NOTE (unblackBoxAllOutsideGroup.label): This is the text that appears in the -# context submenu to unblackbox all files outside of the selected group - -# LOCALIZATION NOTE (blackBoxAllInDir.label): This is the text that appears in the -# context submenu to blackbox all files inside of the selected directory - -# LOCALIZATION NOTE (unblackBoxAllInDir.label): This is the text that appears in the -# context submenu to unblackbox all files inside of the selected directory - -# LOCALIZATION NOTE (blackBoxAllOutsideDir.label): This is the text that appears in the -# context submenu to blackbox all files outside of the selected directory - -# LOCALIZATION NOTE (unblackBoxAllOutsideDir.label: This is the text that appears in the -# context submenu to unblackbox all files outside of the selected directory - # LOCALIZATION NOTE (ignoreAll.label): Text associated with the ignore context menu item ignoreAll.label=تجاهَل @@ -152,6 +118,49 @@ # the pause button after it's been clicked but before the next JavaScript to run. pausePendingButtonTooltip=ينتظر التنفيذ التالي +# LOCALIZATION NOTE (startTraceButtonTooltip): The label that is displayed on the trace +# button in the top of the debugger right sidebar. %S is for the log output location (webconsole or stdout). + +# LOCALIZATION NOTE (stopTraceButtonTooltip): The label that is displayed on the trace +# button in the top of the debugger right sidebar. This label is only displayed when we are current tracing +# JavaScript. + +# LOCALIZATION NOTE (startTraceButtonTooltip): The label that is displayed on the trace +# button in the top of the debugger right sidebar. +# %1$S is for the key shortcut +# %2$S is for the log output location (webconsole or stdout). + +# LOCALIZATION NOTE (stopTraceButtonTooltip): The label that is displayed on the trace +# button in the top of the debugger right sidebar. This label is only displayed when we are current tracing +# JavaScript. +# %S is for the key shortcut + +# LOCALIZATION NOTE (traceInWebConsole): The label that is displayed in the context menu +# of the trace button, which is in the top of the debugger right sidebar. +# This is used to force logging JavaScript traces in the Web Console. + +# LOCALIZATION NOTE (traceInWebConsole): The label that is displayed in the context menu +# of the trace button, which is in the top of the debugger right sidebar. +# This is used to force logging JavaScript traces in the stdout. + +# LOCALIZATION NOTE (traceValues): The label that is displayed in the context menu +# of the trace button, which is in the top of the debugger right sidebar. +# This is used to enable logging arguments passed to function calls +# as well as returned values (only for JS function calls, but not native function calls) + +# LOCALIZATION NOTE (traceOnNextLoad): The label that is displayed in the context menu +# of the trace button, which is in the top of the debugger right sidebar. +# This is used to automatically start the tracing on next user interaction (mousedown/keydown) + +# LOCALIZATION NOTE (traceOnNextLoad): The label that is displayed in the context menu +# of the trace button, which is in the top of the debugger right sidebar. +# This is used to automatically start the tracing on next page load. + +# LOCALIZATION NOTE (traceFunctionReturn): The label that is displayed in the context menu +# of the trace button, which is in the top of the debugger right sidebar. +# This is used to also log when a function call just returned. +# Depending on "traceValues", this will log or not log the returned value. + # LOCALIZATION NOTE (resumeButtonTooltip): The label that is displayed on the pause # button when the debugger is in a paused state. resumeButtonTooltip=استأنف %S @@ -176,6 +185,8 @@ # breakpoints and pausing triggers undoSkipPausingTooltip.label=فعّل نقاط التوقف +# LOCALIZATION NOTE (pauseOnDebuggerStatement): The pause on debugger statement checkbox label + # LOCALIZATION NOTE (pauseOnExceptionsItem2): The pause on exceptions checkbox description # when the debugger will pause on all exceptions. pauseOnExceptionsItem2=ألبِث عند الاستثناءات @@ -191,10 +202,22 @@ # program as opposed to worker threads. mainThread=الخيط الرئيس +# LOCALIZATION NOTE (pausedThread): The text to describe the status of paused threads + # LOCALIZATION NOTE (noSourcesText): The text to display in the sources list # when there are no sources. noSourcesText=ليس للصفحة مصادر. +# LOCALIZATION NOTE (ignoredSourcesHidden): Notification message displayed in the +# sources list footer when ignored sources are hidden. + +# LOCALIZATION NOTE (showIgnoredSources): Notification button displayed in the +# source next to the "ignored sources are hidden" string. Clicking on this link +# shows all the ignored sources which are currently hidden. + +# LOCALIZATION NOTE (showIgnoredSources.tooltip.label): Message displayed in the tooltip of the notification +# link displayed in the sources list footer when ignored sources are hidden. + # LOCALIZATION NOTE (eventListenersHeader1): The text to display in the events # header. eventListenersHeader1=نقاط التوقف لمُستمعات الأحداث @@ -295,10 +318,29 @@ # when searching across all of the files in a project. projectTextSearch.placeholder=ابحث في الملفات… +# LOCALIZATION NOTE (projectTextSearch.excludePatterns.label): A label shown +# above the exclude patterns field when searching across all of the files in a project. + +# LOCALIZATION NOTE (projectTextSearch.excludePatterns.placeholder): A placeholder shown +# for the exclude patterns field when searching across all of the files in a project. + # LOCALIZATION NOTE (projectTextSearch.noResults): The center pane Text Search # message when the query did not match any text of all files in a project. projectTextSearch.noResults=لم يُعثر على نتائج +# LOCALIZATION NOTE (projectTextSearch.pageNavigated): Tooltip shown on the refresh +# button, only when it is highlighted because the page navigated to a new document +# and the results might be obsolete. + +# LOCALIZATION NOTE (projectTextSearch.pageNavigated): Tooltip shown on the refresh +# button, only when it is highlighted because the page navigated to a new document +# and the results might be obsolete. + +# LOCALIZATION NOTE (projectTextSearch.sourceNoLongerAvailable): Tooltip message shown +# on Text Search results when the related source no longer exists. +# This typically happens after navigating or reloading the page and search results are obsolete. +projectTextSearch.sourceNoLongerAvailable=هذا المصدر لم يعد متوفراً.\nحدّث البحث للحصول على أحدث المصادر. + # LOCALIZATION NOTE (sourceSearch.search.key2): Key shortcut to open the search # for searching within a the currently opened files in the editor # Do not localize "CmdOrCtrl+F", or change the format of the string. These are @@ -527,6 +569,23 @@ # LOCALIZATION NOTE (settings.toggleSourceMaps.label): Context menu item # label for toggling the source maps feature +# LOCALIZATION NOTE (settings.hideIgnoredSources.tooltip): Context menu item +# tooltip for hiding and showing all the ignored sources + +# LOCALIZATION NOTE (settings.hideIgnoredSources.label): Context menu item +# label for hiding all ignored sources when enabled (indicated by the check mark) +# Ignored sources will be shown when disabled (no check mark). + +# LOCALIZATION NOTE (settings.enableSourceMapIgnoreList.tooltip): Context menu item +# tooltip for ignoring all sources on the sourcemaps ignore list. +# Note: x_google_ignoreList should not be translated. + +# LOCALIZATION NOTE (settings.enableSourceMapIgnoreList.label): Context menu item +# label for ignoring all sources on the sourcemaps ignore list when enabled +# (indicated by the check mark). The sources on the ignore list are un-ignored +# when disabled (no check mark). +# Note: Make sure to also keep 'sourceFooter.ignoreList' in sync when this changes + # LOCALIZATION NOTE (preview.noProperties): Label shown in the preview # popup when there are no properties to show. preview.noProperties=لا خصائص @@ -554,8 +613,18 @@ # LOCALIZATION NOTE (expressions.errorMsg): Error text for expression # input element expressions.errorMsg=التعبير غير صالح… + +# LOCALIZATION NOTE (expressions.placeholder): Placeholder text for expression +# input element + +# LOCALIZATION NOTE (expressions.noOriginalScopes): Expressions right sidebar pane message +# for when the`map variable names`is off and the debugger is paused in an original source + +# LOCALIZATION NOTE (expressions.label): For the "Add watch expression" context menu item in the editor expressions.label=أضف تعبير مراقبة expressions.accesskey=ق + +# LOCALIZATION NOTE (expressions.remove.tooltip): For the tooltip on the button to remove a watch expression expressions.remove.tooltip=أزِل تعبير المراقبة # LOCALIZATION NOTE (xhrBreakpoints.header): The pause on any XHR breakpoints headings @@ -563,6 +632,8 @@ xhrBreakpoints.placeholder=توقّف حين يحتوي العنوان على xhrBreakpoints.label=أضِف نقطة توقف XHR +# LOCALIZATION NOTE (xhrBreakpoints.removeAll.tooltip): For the `Remove all XHR breakpoints' button in the header of the XHR breakpoints panel + # LOCALIZATION NOTE (xhrBreakpoints.item.label): message displayed when reaching a breakpoint for XHR requests. %S is replaced by the path provided as condition for the breakpoint. xhrBreakpoints.item.label=يحتوي المسار على ”%S“ @@ -625,6 +696,21 @@ sourceTabs.prettyPrint=جمّل المصدر sourceTabs.prettyPrint.accesskey=ج +# LOCALIZATION NOTE (sourceFooter.prettyPrint.isPrettyPrintedMessage): Tooltip text for the disabled +# pretty print button in editor footer. This displays when the file is already pretty printed. + +# LOCALIZATION NOTE (sourceFooter.prettyPrint.isOriginalMessage): Tooltip text for the disabled +# pretty print button in editor footer. This displays when the file is an original source. + +# LOCALIZATION NOTE (sourceFooter.prettyPrint.hasSourceMapMessage): Tooltip text for the disabled +# pretty print button in editor footer. This displays when the file has a valid sourcemap with original sources. + +# LOCALIZATION NOTE (sourceFooter.prettyPrint.noContentMessage): Tooltip text for the disabled +# pretty print button in editor footer. This displays when the file has no content. + +# LOCALIZATION NOTE (sourceFooter.prettyPrint.isNotJavascriptMessage): Tooltip text for the disabled +# pretty print button in editor footer. This displays when the file is not JavaScript code. + # LOCALIZATION NOTE (sourceFooter.ignores): Tooltip text associated # with the ignores button sourceFooter.ignore=تجاهَل المصدر @@ -633,6 +719,66 @@ # with the ignore button sourceFooter.unignore=ألغِ تجاهل المصدر +# LOCALIZATION NOTE (sourceFooter.ignoreList): Tooltip text associated +# with the ignore source button when the selected source is on the ignore list + +# LOCALIZATION NOTE (sourceFooter.sourceMapButton.disabled): Label displayed next to the +# Source Map icon displayed in editor footer. +# Displayed when Source Maps are disabled. + +# LOCALIZATION NOTE (sourceFooter.sourceMapButton.sourceNotMapped): Label displayed next to the +# Source Map icon displayed in editor footer. +# Displayed when the selected source is a regular source, without any source map. + +# LOCALIZATION NOTE (sourceFooter.sourceMapButton.isOriginalSource): Label displayed next to the +# Source Map icon displayed in editor footer. +# Displayed when the selected source is an original source. +# i.e. a file which may not be in JavaScript and isn't being executed by Firefox. +# This file is transpiled by the web developer into a "bundle" JavaScript file, which is executed by the page. + +# LOCALIZATION NOTE (sourceFooter.sourceMapButton.isBundleSource): Label displayed next to the +# Source Map icon displayed in editor footer. +# Displayed when the selected source is a bundle. i.e. a file referring to a source map file, +# which will be mapped to one or many original sources. + +# LOCALIZATION NOTE (sourceFooter.sourceMapButton.enable): Label displayed in the menu opened +# from the Source Map icon displayed in editor footer. +# This allows to toggle Source Map support. + +# LOCALIZATION NOTE (sourceFooter.sourceMapButton.showOriginalSourceByDefault): Label displayed in the menu opened +# from the Source Map icon displayed in editor footer. +# This controls the settings which will make the debugger automatically show and open original source by default. +# This typically happens when you pause or hit a breakpoint. + +# LOCALIZATION NOTE (sourceFooter.sourceMapButton.jumpToGeneratedSource): Label displayed in the menu opened +# from the Source Map icon displayed in editor footer. +# This allows to select the related bundle source, when we are currently selecting an original one. + +# LOCALIZATION NOTE (sourceFooter.sourceMapButton.jumpToOriginalSource): Label displayed in the menu opened +# from the Source Map icon displayed in editor footer. +# This allows to select the related original source, when we are currently selecting a bundle. + +# LOCALIZATION NOTE (sourceFooter.sourceMapButton.openSourceMapInNewTab): Label displayed in the menu opened +# from the Source Map icon displayed in editor footer. +# When selecting a bundle with a valid source map, link to open the source map in a new tab. + +# LOCALIZATION NOTE (sourceFooter.sourceMapButton.title): Tooltip displayed on +# the Source Map icon displayed in editor footer. +# This is the default title. + +# LOCALIZATION NOTE (sourceFooter.sourceMapButton.loadingTitle): Tooltip displayed on +# the Source Map icon displayed in editor footer. +# This title is displayed when the source map is still loading. + +# LOCALIZATION NOTE (sourceFooter.sourceMapButton.errorTitle): Tooltip displayed on +# the Source Map icon displayed in editor footer. +# This title is displayed when the source map has an error. +# %S will be the error string. + +# LOCALIZATION NOTE (editorNotificationFooter.noOriginalScopes): The notification message displayed in the editor notification footer +# when paused in an original file and original variable mapping is turned off +# %S is text from the label for checkbox to show original scopes + # LOCALIZATION NOTE (ignoreContextItem.ignore): Text associated # with the ignore context menu item ignoreContextItem.ignore=تجاهَل المصدر @@ -643,6 +789,24 @@ ignoreContextItem.unignore=ألغِ تجاهل المصدر ignoreContextItem.unignore.accesskey=ل +# LOCALIZATION NOTE (overridesContextItem.override): Text associated +# with the add overrides context menu item + +# LOCALIZATION NOTE (overridesContextItem.removeOverride): Text associated +# with the remove override context menu item + +# LOCALIZATION NOTE (ignoreContextItem.ignoreLine): Text associated +# with the ignore line context menu item + +# LOCALIZATION NOTE (ignoreContextItem.unignoreLine): Text associated +# with the unignore line context menu item + +# LOCALIZATION NOTE (ignoreContextItem.ignoreLines): Text associated +# with the ignore lines context menu item + +# LOCALIZATION NOTE (ignoreContextItem.unignoreLines): Text associated +# with the unignore lines context menu item + # LOCALIZATION NOTE (sourceFooter.mappedSource): Text associated # with a mapped source. %S is replaced by the source map origin. sourceFooter.mappedSource=(من %S) @@ -651,6 +815,18 @@ # with a mapped source. %S is replaced by the source map origin. sourceFooter.mappedSourceTooltip=(رُبط المصدر من %S) +# LOCALIZATION NOTE (sourceFooter.mappedOriginalSource.title): Text associated +# with an original source mapped to a bundle. %S is replaced by the bundle url. + +# LOCALIZATION NOTE (sourceFooter.mappedOriginalSource.tooltip): Tooltip text associated +# with an original source mapped to a bundle. %S is replaced by bundle url. + +# LOCALIZATION NOTE (sourceFooter.mappedGeneratedSource.title): Text associated +# with a bundled source mapped to an original source. %S is replaced by the original source url. + +# LOCALIZATION NOTE (sourceFooter.mappedGeneratedSource.tooltip): Tooltip text associated +# with a bundled source mapped to an original source. %S is replaced by the original source url. + # LOCALIZATION NOTE (sourceFooter.mappedSuffix): Text associated # with a mapped source. Displays next to URLs in tree and tabs. sourceFooter.mappedSuffix=(رُبط) @@ -674,6 +850,13 @@ # for when the debugger is paused, but there isn't pause data. scopes.notAvailable=النطاقات غير موجودة +# LOCALIZATION NOTE (scopes.noOriginalScopes): Scopes right sidebar pane message +# for when original variable mapping is disabled. This is only displayed when paused in an original source. +# %S is text from the label for checkbox to show original scopes + +# LOCALIZATION NOTE (scopes.loadingOriginalScopes): Scopes right sidebar pane message +# for when the debugger is still loading the original variable mapping information. + # LOCALIZATION NOTE (scopes.notPaused): Scopes right sidebar pane message # for when the debugger is not paused. scopes.notPaused=غير متوقف @@ -693,6 +876,14 @@ # LOCALIZATION NOTE (scopes.map.label): Checkbox label to map scopes +# LOCALIZATION NOTE (scopes.showOriginalScopesHelpTooltip): Scopes right sidebar pane +# icon tooltip for link to MDN + +# LOCALIZATION NOTE (scopes.showOriginalScopesTooltip): Scopes right sidebar pane +# tooltip for checkbox and label + +# LOCALIZATION NOTE (scopes.showOriginalScopes): Checkbox label to show original scopes + # LOCALIZATION NOTE (scopes.block): Refers to a block of code in # the scopes pane when the debugger is paused. scopes.block=احجب @@ -703,6 +894,8 @@ # LOCALIZATION NOTE (outline.header): Outline left sidebar header outline.header=مخطّط +# LOCALIZATION NOTE (search.header): Search left sidebar header + # LOCALIZATION NOTE (outline.placeholder): Placeholder text for the filter input # element outline.placeholder=رشّح الدوال @@ -810,18 +1003,6 @@ experimental=هذه ميزة تجريبية -# LOCALIZATION NOTE (whyPaused.debuggerStatement): The text that is displayed -# in a info block explaining how the debugger is currently paused due to a `debugger` -# statement in the code - -# LOCALIZATION NOTE (whyPaused.assert): The text that is displayed -# in a info block explaining how the debugger is currently paused on an -# assert - -# LOCALIZATION NOTE (whyPaused.debugCommand): The text that is displayed -# in a info block explaining how the debugger is currently paused on a -# debugger statement - # LOCALIZATION NOTE (ctrl): The text that is used for documenting # keyboard shortcuts that use the control key ctrl=Ctrl diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/devtools/client/netmonitor.properties firefox-esr-115.11.0esr+build1/l10n/ar/devtools/client/netmonitor.properties --- firefox-esr-115.10.0esr+build1/l10n/ar/devtools/client/netmonitor.properties 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/devtools/client/netmonitor.properties 2024-05-07 06:05:01.000000000 +0000 @@ -3,14 +3,6 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. # LOCALIZATION NOTE These strings are used inside the Network Monitor -# which is available from the Web Developer sub-menu -> 'Network Monitor'. -# The correct localization of this file might be to keep it in -# English, or another language commonly spoken among web developers. -# You want to make that choice consistent across the developer tools. -# A good criteria is the language in which you'd find the best -# documentation on web development on the web. - -# LOCALIZATION NOTE These strings are used inside the Network Monitor # which is available from the Browser Tools sub-menu -> 'Network Monitor'. # The correct localization of this file might be to keep it in # English, or another language commonly spoken among web developers. @@ -119,6 +111,7 @@ # LOCALIZATION NOTE (netmonitor.request.raw): This is the label displayed # on the button in the network details request tab that toggles the # view of the network request between the raw data and the formatted display. +netmonitor.request.raw=خام # LOCALIZATION NOTE (requestHeaders): This is the label displayed # in the network details headers tab identifying the request headers. @@ -147,9 +140,11 @@ # LOCALIZATION NOTE (netmonitor.response.raw): This is the label displayed # on the button in the network details response tab that toggles the # view of the network response between the raw data and the formatted display. +netmonitor.response.raw=خام # LOCALIZATION NOTE (netmonitor.response.html): This is the text displayed # in the response tab of the network details pane for an HTML preview. +netmonitor.response.html=HTML # LOCALIZATION NOTE (jsonFilterText): This is the text displayed # in the response tab of the network details pane for the JSON filtering input. @@ -162,6 +157,10 @@ # LOCALIZATION NOTE (jsonpScopeName): This is the text displayed # in the response tab of the network details pane for a JSONP scope. +# LOCALIZATION NOTE (jsonXssiStripped): This is the text displayed +# in a notification in the response tab of the network details pane +# when a JSON payload had XSSI escape characters which were removed + # LOCALIZATION NOTE (responseTruncated): This is the text displayed # in the response tab of the network details pane when the response is over # the truncation limit and thus was truncated. @@ -250,6 +249,9 @@ # in the network menu specifying the size of a request (in bytes). networkMenu.sizeB=%S بايت +# LOCALIZATION NOTE (networkMenu.size.kB): This is the label displayed +# in the network menu specifying the size of a request (in kilobytes). + # LOCALIZATION NOTE (networkMenu.sizeMB): This is the label displayed # in the network menu specifying the size of a request (in megabytes). networkMenu.sizeMB=%S م.بايت @@ -342,6 +344,10 @@ # through the "Server-Timing" header. netmonitor.timings.serverTiming=تواقيت الخادوم +# LOCALIZATION NOTE (netmonitor.timings.serviceWorkerTiming): This is the title of a new section +# in Timings side panel. This section contains service worker timings transferred from the +# service worker. + # LOCALIZATION NOTE (netmonitor.timings.queuedAt): This is relative queued time to the # first request. %S is time expressed in milliseconds or minutes. @@ -380,6 +386,14 @@ # no data available, even after loading it. pieChart.unavailable=فارغ +# LOCALIZATION NOTE (pieChart.ariaLabel): This is the text used for the aria-label attribute +# for SVG pie charts (e.g., in the performance analysis view). + +# LOCALIZATION NOTE (pieChart.sliceAriaLabel): This is the text used for the aria-label attribute +# for SVG pie charts slices (e.g., in the performance analysis view). +# %1$S is the slice label (e.g. "html") +# %2$S is the percentage (e.g. "33.23%"). + # LOCALIZATION NOTE (tableChart.loading): This is the label displayed # for table charts (e.g., in the performance analysis view) when there is # no data available yet. @@ -390,10 +404,19 @@ # no data available, even after loading it. tableChart.unavailable=لا تتوفر بيانات +# LOCALIZATION NOTE (charts.size.kB): This is the label displayed +# in pie or table charts specifying the size of a request (in kilobytes). + +# LOCALIZATION NOTE (charts.transferredSize.kB): This is the label displayed +# in pie or table charts specifying the size of a transferred request (in kilobytes). + # LOCALIZATION NOTE (charts.totalS): This is the label displayed # in pie or table charts specifying the time for a request to finish (in seconds). charts.totalS=%S ث +# LOCALIZATION NOTE (charts.totalTransferredSize.kB): This is the label displayed +# in the performance analysis view for total transferred size, in kilobytes. + # LOCALIZATION NOTE (charts.cacheEnabled): This is the label displayed # in the performance analysis view for "cache enabled" charts. @@ -405,6 +428,9 @@ # in the performance analysis view, with a link to external documentation. charts.learnMore=اعرف المزيد عن تحليل الأداء +# LOCALIZATION NOTE (charts.totalSize.kB): This is the label displayed +# in the performance analysis view for total requests size, in kilobytes. + # LOCALIZATION NOTE (charts.totalSeconds): Semi-colon list of plural forms. # See: http://developer.mozilla.org/en/docs/Localization_and_Plurals # This is the label displayed in the performance analysis view for the @@ -424,6 +450,10 @@ # in the performance analysis view for total requests. charts.totalCount=إجمالي الطلبات: %S +# LOCALIZATION NOTE (charts.requestsNumber): This is the label for the header column in +# the performance analysis view for the number of requests. The label is not visible on screen, +# but is set in the DOM for accessibility sake. + # LOCALIZATION NOTE (charts.size): This is the label displayed # in the header column in the performance analysis view for size of the request. charts.size=الحجم @@ -541,6 +571,9 @@ # in the network table toolbar, above the "method" column. netmonitor.toolbar.method=الطريقة +# LOCALIZATION NOTE (netmonitor.toolbar.priority): This is the label displayed +# in the network table toolbar, above the "priority" column. + # LOCALIZATION NOTE (netmonitor.toolbar.file): This is the label displayed # in the network table toolbar, above the "file" column. netmonitor.toolbar.file=الملف @@ -701,6 +734,24 @@ # for the "Copy Message" menu item displayed in the context menu of a WebSocket frame. netmonitor.ws.context.copyFrame.accesskey=ن +# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsBase64): This is the label displayed +# on the context menu that shows "Copy as Base64" displayed in the context menu of a binary WebSocket frame. + +# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsBase64.accesskey): This is the access key +# for the "Copy as Base64" menu item displayed in the context menu of a binary WebSocket frame. + +# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsHex): This is the label displayed +# on the context menu that shows "Copy as Hex" displayed in the context menu of a binary WebSocket frame. + +# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsHex.accesskey): This is the access key +# for the "Copy as Hex" menu item displayed in the context menu of a binary WebSocket frame. + +# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsText): This is the label displayed +# on the context menu that shows "Copy as Text" displayed in the context menu of a binary WebSocket frame. + +# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsText.accesskey): This is the access key +# for the "Copy as Text" menu item displayed in the context menu of a binary WebSocket frame. + # LOCALIZATION NOTE (netmonitor.ws.connection.closed): This is the text displayed in the # websocket messages panel when the connection is closed netmonitor.ws.connection.closed=أُغلق الاتصال @@ -764,7 +815,7 @@ netmonitor.search.status.labels.error=عُطل أثناء البحث. # LOCALIZATION NOTE (netmonitor.toolbar.requestBlocking): This is the tooltip displayed -# over the toolbar's Request Blocking buttonn +# over the toolbar's Request Blocking button netmonitor.toolbar.requestBlocking=احجب الطلبات # LOCALIZATION NOTE (netmonitor.actionbar.requestBlocking2): This is the label displayed @@ -988,15 +1039,24 @@ # LOCALIZATION NOTE (netmonitor.headers.toolbar.block): This is the # label displayed in the network details headers tab identifying the # block url toolbar button. +netmonitor.headers.toolbar.block=احجب # LOCALIZATION NOTE (netmonitor.headers.address): This is the label displayed # in the network details headers tab identifying the remote address. netmonitor.headers.address=العنوان +# LOCALIZATION NOTE (netmonitor.headers.proxyAddress): This is the label displayed +# in the network details headers tab identifying the proxy address. +netmonitor.headers.proxyAddress=عنوان الوكيل + # LOCALIZATION NOTE (netmonitor.headers.status): This is the label displayed # in the network details headers tab identifying the status code. netmonitor.headers.status=الحالة +# LOCALIZATION NOTE (netmonitor.headers.proxyStatus): This is the label displayed +# in the network details headers tab identifying the status code for the proxy. +netmonitor.headers.proxyStatus=حالة الوكيل + # LOCALIZATION NOTE (netmonitor.headers.size): This is the label displayed # in the network details headers tab identifying the size. netmonitor.headers.size=الحجم @@ -1004,11 +1064,16 @@ # LOCALIZATION NOTE (networkMenu.headers.sizeDetails): This label is displayed # in the network details headers tab providing the size details. # %1$S is the transferred size, %2$S is the size. +netmonitor.headers.sizeDetails=%1$S (حجم %2$S) # LOCALIZATION NOTE (netmonitor.headers.version): This is the label displayed # in the network details headers tab identifying the http version. netmonitor.headers.version=الإصدارة +# LOCALIZATION NOTE (netmonitor.headers.proxyVersion): This is the label displayed +# in the network details headers tab identifying the http version of the proxy. +netmonitor.headers.proxyVersion=نُسخة الوكيل + # LOCALIZATION NOTE (netmonitor.summary.learnMore): This is the label displayed # in the network details headers tab, with a link to external documentation for # status codes. @@ -1020,6 +1085,20 @@ # LOCALIZATION NOTE (netmonitor.headers.contentBlocking): This is the label displayed # in the network details headers tab identifying the content blocking mode. +# LOCALIZATION NOTE (netmonitor.headers.requestPriority): This is the label displayed +# in the network details headers tab identifying the request priority. + +# LOCALIZATION NOTE (netmonitor.headers.dns): This is the label displayed +# in the network details headers tab identifying the DNS resolution. + +# LOCALIZATION NOTE (netmonitor.headers.dns.basic): This is the label value displayed +# in the network details headers tab identifying the Basic DNS resolution. +netmonitor.headers.dns.basic=النظام + +# LOCALIZATION NOTE (netmonitor.headers.dns.doh): This is the label value displayed +# in the network details headers tab identifying the DNS over HTTPS resolution. +netmonitor.headers.dns.overHttps=DNS عبر HTTPS + # LOCALIZATION NOTE (netmonitor.summary.editAndResend): This is the label displayed # on the button in the headers tab that opens a form to edit and resend the currently # displayed request @@ -1086,6 +1165,19 @@ # in a "receive" state. netmonitor.timings.receive=المُستقبل: +# LOCALIZATION NOTE (netmonitor.timings.launchServiceWorker): This is the label displayed +# in the network details timings tab identifying the amount of time spent +# during the launch of the service worker. +netmonitor.timings.launchServiceWorker=البدء: + +# LOCALIZATION NOTE (netmonitor.timings.requestToServiceWorker): This is the label displayed +# in the network details timings tab identifying the amount of time spent while a request is +# made to the service worker. + +# LOCALIZATION NOTE (netmonitor.timings.handledByServiceWorker): This is the label displayed +# in the network details timings tab identifying the amount of time spent while a request is +# handled by the service worker. + # LOCALIZATION NOTE (netmonitor.timings.learnMore): This is the label displayed # in the network details timings tab, with a link to external documentation netmonitor.timings.learnMore=اعرف أكثر عن التواقيت @@ -1166,6 +1258,12 @@ # enhanced tracking protection. netmonitor.enhancedTrackingProtection.learnMore=اطّلع على المزيد عن الحماية الموسّعة من التعقب +# LOCALIZATION NOTE (netmonitor.context.copyValue): This is the label displayed +# for the copy sub-menu in the context menu for a request + +# LOCALIZATION NOTE (netmonitor.context.copyValue.accesskey): This is the access key +# for the copy menu/sub-menu displayed in the context menu for a request + # LOCALIZATION NOTE (netmonitor.context.copyUrl): This is the label displayed # on the context menu that copies the selected request's url netmonitor.context.copyUrl=انسخ المسار @@ -1190,6 +1288,12 @@ # for the Copy POST/PATCH/PUT/DELETE Data menu item displayed in the context menu for a request netmonitor.context.copyRequestData.accesskey=ت +# LOCALIZATION NOTE (netmonitor.context.copyAsPowerShell): This is the label displayed +# on the context menu that copies the selected request as a PowerShell command. + +# LOCALIZATION NOTE (netmonitor.context.copyAsPowerShell.accesskey): This is the access key +# for the Copy as PowerShell menu item displayed in the context menu for a request + # LOCALIZATION NOTE (netmonitor.context.copyAsCurl): This is the label displayed # on the context menu that copies the selected request as a cURL command. # The capitalization is part of the official name and should be used throughout all languages. @@ -1259,6 +1363,12 @@ # for the Copy Image As Data URI menu item displayed in the context menu for a request netmonitor.context.saveImageAs.accesskey=ح +# LOCALIZATION NOTE (netmonitor.context.saveResponseAs): This is the label displayed +# on the context menu that saves the response + +# LOCALIZATION NOTE (netmonitor.context.saveResponseAs.accesskey): This is the access key +# for the Save Response As menu item displayed in the context menu for a request + # LOCALIZATION NOTE (netmonitor.context.copyAll): This is the label displayed # on the context menu that copies all data netmonitor.context.copyAll=انسخ الكل @@ -1377,10 +1487,28 @@ # LOCALIZATION NOTE (netmonitor.custom.query): This is the label displayed # above the query string entry in the custom request form +# LOCALIZATION NOTE (netmonitor.custom.urlParameters): This is the label displayed +# above the query string entry in the custom request form + # LOCALIZATION NOTE (netmonitor.custom.headers): This is the label displayed # above the request headers entry in the custom request form netmonitor.custom.headers=ترويسات الطلب: +# LOCALIZATION NOTE (netmonitor.custom.newRequestHeaders): This is the label displayed +# above the request headers entry in the new custom request form + +# LOCALIZATION NOTE (netmonitor.custom.placeholder.name): This is the placeholder displayed +# on the input on the headers and query params on new custom request form + +# LOCALIZATION NOTE (netmonitor.custom.placeholder.value): This is the placeholder displayed +# on the input on the headers and query params on new custom request form + +# LOCALIZATION NOTE (netmonitor.custom.postBody): This is the label displayed +# above the request body entry in the new custom request form + +# LOCALIZATION NOTE (netmonitor.custom.postBody.placeholder): This is the placeholder displayed +# on the textarea body in the new custom request form + # LOCALIZATION NOTE (netmonitor.custom.postData): This is the label displayed # above the request body entry in the custom request form netmonitor.custom.postData=متن الطلب: @@ -1393,6 +1521,12 @@ # on the button which cancels and closes the custom request form netmonitor.custom.cancel=ألغِ +# LOCALIZATION NOTE (netmonitor.custom.clear): This is the label displayed +# on the button which clears the content of the new custom request panel + +# LOCALIZATION NOTE (netmonitor.custom.removeItem): This is the +# tooltip shown over the remove button for headers and query params item + # LOCALIZATION NOTE (netmonitor.backButton): This is the label displayed # on the button which exists the performance statistics view netmonitor.backButton=إلى الخلف @@ -1470,9 +1604,3 @@ # LOCALIZATION NOTE (netmonitor.settings.copyHarTooltip): This is the tooltip that gets displayed # when the HAR copy menu item is hovered netmonitor.settings.copyHarTooltip=انسخ بيانات الشبكة إلى الحافظة - -# LOCALIZATION NOTE (netmonitor.errorpanel.description): This is the information displayed once the monitor errors out - -# LOCALIZATION NOTE (netmonitor.errorpanel.fileBugButton): This is the text that appears in the button to visit the bug filing link. - -# LOCALIZATION NOTE (netmonitor.errorpanel.reloadPanelInfo): This is the text that appears after Network panel errors to instruct the user to reload the panel. diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/devtools/client/toolbox-options.ftl firefox-esr-115.11.0esr+build1/l10n/ar/devtools/client/toolbox-options.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/devtools/client/toolbox-options.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/devtools/client/toolbox-options.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -10,19 +10,15 @@ # The heading options-select-default-tools-label = أدوات المطورين المبدئية - # The label for the explanation of the * marker on a tool which is currently not supported # for the target of the toolbox. options-tool-not-supported-label = * ليس مدعوما لهدف صندوق الأدوات الحالي - # The label for the heading of group of checkboxes corresponding to the developer tools # added by add-ons. This heading is hidden when there is no developer tool installed by add-ons. options-select-additional-tools-label = أدوات المطورين المنصّبة عن طريق الإضافات - # The label for the heading of group of checkboxes corresponding to the default developer # tool buttons. options-select-enabled-toolbox-buttons-label = أزرار شريط الأدوات المتوفرة - # The label for the heading of the radiobox corresponding to the theme options-select-dev-tools-theme-label = السِمات @@ -30,12 +26,10 @@ # The heading options-context-inspector = الفاحص - # The label for the checkbox option to show user agent styles options-show-user-agent-styles-label = أظهر طُرز المتصفح options-show-user-agent-styles-tooltip = .title = سيؤدّي تفعيل هذا الخيار إلى عرض الأنماط المبدئية التي حمّلها المتصفح. - # The label for the checkbox option to enable collapse attributes options-collapse-attrs-label = ابتِر صفات DOM options-collapse-attrs-tooltip = @@ -46,11 +40,13 @@ options-default-color-unit-label = وحدة الألوان المبدئية options-default-color-unit-name = أسماء الألوان +## Web Console section + + ## Style Editor section # The heading options-styleeditor-label = محرر الطُرز - # The label for the checkbox that toggles autocompletion of css in the Style Editor options-stylesheet-autocompletion-label = أكِل CSS تلقائيا options-stylesheet-autocompletion-tooltip = @@ -60,7 +56,6 @@ # The heading options-screenshot-label = سلوك اللقطات - # Label for the checkbox that toggles the camera shutter audio for screenshot tool options-screenshot-audio-label = شغّل صوت غالِق الكمرة options-screenshot-audio-tooltip = @@ -70,7 +65,6 @@ # The heading options-sourceeditor-label = تفضيلات المحرر - options-sourceeditor-detectindentation-tooltip = .title = خمِّن الإزاحة حسب محتوى المصدر options-sourceeditor-detectindentation-label = اكتشف الإزاحة @@ -86,21 +80,17 @@ ## Advanced section -# The heading +# The heading (this item is also used in perftools.ftl) options-context-advanced-settings = إعدادات متقدّمة - # The label for the checkbox that toggles the HTTP cache on or off options-disable-http-cache-label = عطّل خبيئة HTTP (عندما يكون صندوق الأدوات مفتوحا) - # The label for checkbox that toggles JavaScript on or off options-disable-javascript-label = عطّل جافاسكربت * - +options-disable-javascript-tooltip = + .title = سيؤدي تشغيل هذا الخيار إلى تعطيل JavaScript للسان الحالي. إذا أُغلِق اللسان أو صندوق الأدوات، فسيتم نسيان هذا الإعداد. # The label for checkbox that toggles remote debugging, i.e. the devtools.debugger.remote-enabled preference options-enable-remote-label = فعِّل التنقيح البعيد - # The label for checkbox that toggles the service workers testing over HTTP on or off. options-enable-service-workers-http-label = فعّل عمّال الخدمة عبر HTTP (عندما يكون صندوق الأدوات مفتوحا) - # The message shown for settings that trigger page reload options-context-triggers-page-refresh = * في الجلسة الحالية فقط، تُعيد تحميل الصفحة - diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/dom/chrome/layout/htmlparser.properties firefox-esr-115.11.0esr+build1/l10n/ar/dom/chrome/layout/htmlparser.properties --- firefox-esr-115.10.0esr+build1/l10n/ar/dom/chrome/layout/htmlparser.properties 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/dom/chrome/layout/htmlparser.properties 2024-05-07 06:05:01.000000000 +0000 @@ -8,6 +8,7 @@ EncProtocolUnsupported=أُعلن ترميز محارف غير مدعوم في مستوى ميفاق النقل. تجاهلتُ الإعلان. EncMetaUtf16=استُخدم وسم وصفي لإعلان ترميز المحارف على أنه UTF-16. فُسّر هذا على أنّه إعلان UTF-8 عوضا عن ذلك. EncMetaUserDefined=استُخدم وسم وصفي لإعلان ترميز المحارف على أنه x-user-defined. فُسّر هذا على أنّه إعلان windows-1252 عوضا عن ذلك لغرض التوافقية مع الخطوط العتيقة غير المرمزة كما ينبغي عمدا. على هذا الموقع الانتقال إلى يونيكود. +# The audience of the following message isn't the author of the document but other people debugging browser behavior. # The bulk of the messages below are derived from # https://hg.mozilla.org/projects/htmlparser/file/1f633cef7de7/src/nu/validator/htmlparser/impl/ErrorReportingTokenizer.java @@ -39,6 +40,7 @@ # Tree builder errors errUnclosedElements=رأيتُ وسم نهاية ”%1$S“، ولكن لم تكن هناك عناصر مفتوحة. errUnclosedElementsImplied=رأيتُ وسم نهاية ”%1$S“ مفترض، و لكن لم تكن هناك عناصر مفتوحة. +errUnclosedElementsCell=أُغلِقت خلية الجدول ضمنيًا، ولكن كانت هناك عناصر مفتوحة. errEndTagAfterBody=رأيتُ وسم نهاية بعد إغلاق ”body“. errNoTableRowToClose=لا صف جدول لإغلاقه. errEndWithUnclosedElements=رأيتُ وسم نهاية ”%1$S“، ولكن لم تكن هناك عناصر مفتوحة. diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/toolkit/crashreporter/crashreporter.ftl firefox-esr-115.11.0esr+build1/l10n/ar/toolkit/crashreporter/crashreporter.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/toolkit/crashreporter/crashreporter.ftl 1970-01-01 00:00:00.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/toolkit/crashreporter/crashreporter.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -0,0 +1,28 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +crashreporter-title = مُبلّغ الانهيار +crashreporter-crash-message = واجه { -brand-short-name } مُشكلة وانهيار. +crashreporter-plea = لتساعدنا في حل هذه المشكلة، يمكنك إرسال بلاغ بالانهيار. +# $details (String) - the reason that a crash report cannot be submitted +crashreporter-error-details = التفاصيل: { $details } +crashreporter-no-run-message = يعمل هذا التطبيق بعد حدوث الانهيار لإبلاغ مُنتِج التطبيق. لا يفترض تشغيله مباشرة. +crashreporter-button-details = التفاصيل… +crashreporter-view-report-title = محتويات البلاغ +crashreporter-comment-prompt = ضع تعليقًا (التعليقات علنية) +crashreporter-report-info = يحتوي هذا البلاغ على معلومات تقنيّة عنْ حالة التطبيق عند حدوث الانهيار. +crashreporter-submit-status = سيُرسل بلاغ الانهيار قبل أن تخرج أو تعيد التشغيل. +crashreporter-submit-in-progress = يُرسِل بلاغك… +crashreporter-submit-success = أُرسِل البلاغ بنجاح! +crashreporter-submit-failure = حدثت مشكلة أثناء إرسال البلاغ. +crashreporter-resubmit-status = يُعيد إرسال البلاغات التي فشل إرسالها في السابق… +crashreporter-button-quit = اخرج من { -brand-short-name } +crashreporter-button-restart = أعِد تشغيل { -brand-short-name } +crashreporter-button-ok = حسنا +crashreporter-button-close = أغلق +# $id (String) - the crash id from the server, typically a UUID +crashreporter-crash-identifier = معرّف الانهيار: { $id } + +# Error strings + diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/toolkit/toolkit/branding/brandings.ftl firefox-esr-115.11.0esr+build1/l10n/ar/toolkit/toolkit/branding/brandings.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/toolkit/toolkit/branding/brandings.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/toolkit/toolkit/branding/brandings.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -38,3 +38,4 @@ -firefox-suggest-brand-name = يقترح Firefox +-mozmonitor-brand-name = Mozilla Monitor diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/toolkit/toolkit/formautofill/formAutofill.ftl firefox-esr-115.11.0esr+build1/l10n/ar/toolkit/toolkit/formautofill/formAutofill.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/toolkit/toolkit/formautofill/formAutofill.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/toolkit/toolkit/formautofill/formAutofill.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -14,3 +14,33 @@ # Used on the doorhanger when an credit card change is detected. +# Label for the button in the dropdown menu used to clear the populated form. +autofill-clear-form-label = امسح استمارة الملء الآلي + +## These are brand names and should only be translated when a locale-specific name for that brand is in common use + +autofill-card-network-amex = أمريكان إكسبرِس +autofill-card-network-cartebancaire = Carte Bancaire +autofill-card-network-diners = Diners Club +autofill-card-network-discover = اكتشف +autofill-card-network-jcb = JCB +autofill-card-network-mastercard = ماستِركارد +autofill-card-network-mir = MIR +autofill-card-network-unionpay = Union Pay +autofill-card-network-visa = ڤيزا +# The warning text that is displayed for informing users what categories are +# about to be filled. The text would be, for example, +# Also autofills organization, phone, email. +# Variables: +# $categories - one or more of the categories, see autofill-category-X below +autofill-phishing-warningmessage-extracategory = يملأ { $categories } آليا أيضا +# Variation when all are in the same category. +# Variables: +# $categories - one or more of the categories +autofill-phishing-warningmessage = يملأ { $categories } آليا +# Used in autofill drop down suggestion to indicate what other categories Form Autofill will attempt to fill. +autofill-category-address = العناوين +autofill-category-name = الأسماء +autofill-category-organization = المؤسسات +autofill-category-tel = الهواتف +autofill-category-email = البُرُد الإلكترونية diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/toolkit/toolkit/global/arrowscrollbox.ftl firefox-esr-115.11.0esr+build1/l10n/ar/toolkit/toolkit/global/arrowscrollbox.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/toolkit/toolkit/global/arrowscrollbox.ftl 1970-01-01 00:00:00.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/toolkit/toolkit/global/arrowscrollbox.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -0,0 +1,3 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/toolkit/toolkit/global/notification.ftl firefox-esr-115.11.0esr+build1/l10n/ar/toolkit/toolkit/global/notification.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/toolkit/toolkit/global/notification.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/toolkit/toolkit/global/notification.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -2,5 +2,13 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. +notification-learnmore-default-label = + .value = اطّلع على المزيد +# This label is read by screen readers when focusing the close button for an +# "infobar" (message shown when for example a popup is blocked), +# and shown when hovering over the button +notification-close-button = + .aria-label = أغلِق + .title = أغلِق close-notification-message = .tooltiptext = أغلق هذه الرسالة diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/toolkit/toolkit/global/textActions.ftl firefox-esr-115.11.0esr+build1/l10n/ar/toolkit/toolkit/global/textActions.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/toolkit/toolkit/global/textActions.ftl 2024-04-08 19:11:41.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/toolkit/toolkit/global/textActions.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -5,48 +5,62 @@ text-action-undo = .label = تراجع .accesskey = ت - text-action-undo-shortcut = .key = Z - text-action-redo = .label = أعِد .accesskey = ع - text-action-redo-shortcut = .key = Y - text-action-cut = .label = قصّ .accesskey = ق - text-action-cut-shortcut = .key = X - text-action-copy = .label = انسخ .accesskey = ن - text-action-copy-shortcut = .key = C - +# This command copies the link, removing additional +# query parameters used to track users across sites. +text-action-strip-on-share = + .label = انسخ دون تعقب الموقع + .accesskey = م text-action-paste = .label = ألصق .accesskey = ل - +text-action-paste-no-formatting = + .label = ألصق بلا تنسيق + .accesskey = ص text-action-paste-shortcut = .key = V - text-action-delete = .label = احذف .accesskey = ذ - text-action-select-all = .label = اختر الكل .accesskey = ك - text-action-select-all-shortcut = .key = A - +text-action-spell-no-suggestions = + .label = لا اقتراحات إملاء +text-action-spell-add-to-dictionary = + .label = أضِف إلى القاموس + .accesskey = م +text-action-spell-undo-add-to-dictionary = + .label = تراجع عن الإضافة إلى القاموس + .accesskey = م +text-action-spell-check-toggle = + .label = دقق الإملاء + .accesskey = م +text-action-spell-add-dictionaries = + .label = أضِف قواميس… + .accesskey = م +text-action-spell-dictionaries = + .label = اللغات + .accesskey = ت text-action-search-text-box-clear = .title = امسح +text-action-highlight-selection = + .label = لون التحديد diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/toolkit/toolkit/neterror/netError.ftl firefox-esr-115.11.0esr+build1/l10n/ar/toolkit/toolkit/neterror/netError.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/toolkit/toolkit/neterror/netError.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/toolkit/toolkit/neterror/netError.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -40,7 +40,7 @@ neterror-generic-error = لا يستطيع { -brand-short-name } تحميل هذه الصفحة لسبب ما. neterror-load-error-try-again = قد يكون الموقع متوقفًا مؤقتًا أو مشغولا جدًا. حاول ثانية بعد عدّة دقائق. neterror-load-error-connection = إذا كنت غير قادر على تحميل أي صفحة، افحص اتصال الحاسوب بالشبكة. -neterror-load-error-firewall = إذا كان حاسوبك محميًا بجدار ناري أو وسيط، تأكد من السماح ل‍{ -brand-short-name } بالنفاذ إلى الوِب. +neterror-load-error-firewall = إذا كان حاسوبك محميًا بجدار حماية أو وسيط، تأكد من السماح ل‍{ -brand-short-name } بالوصول إلى الوِب. neterror-captive-portal = تحتاج الولوج إلى هذه الشبكة أولا لتستطيع الوصول إلى الإنترنت. # Variables: # $hostAndPath (String) - a suggested site (e.g. "www.example.com") that the user may have meant instead. @@ -48,15 +48,21 @@ neterror-dns-not-found-hint-header = إذا أدخلت العنوان الصحيح، فيمكنك: neterror-dns-not-found-hint-try-again = حاول مجددًا لاحقاً neterror-dns-not-found-hint-check-network = افحص اتصال الشبكة +neterror-dns-not-found-hint-firewall = تأكد من أن { -brand-short-name } لديه إذن للوصول إلى الوب (قد تكون متصلاً ولكن خلف جدار حماية) ## TRR-only specific messages ## Variables: ## $hostname (String) - Hostname of the website to which the user was trying to connect. ## $trrDomain (String) - Hostname of the DNS over HTTPS server that is currently in use. +neterror-dns-not-found-trr-only-reason = لا يستطيع { -brand-short-name } حماية طلبك للحصول على عنوان هذا الموقع من خلال محلل DNS الموثوق به. إليكم السبب: +neterror-dns-not-found-trr-only-reason2 = لا يستطيع { -brand-short-name } حماية طلبك للحصول على عنوان هذا الموقع من خلال موفر DNS الآمن الخاص بنا. إليكم السبب: neterror-dns-not-found-trr-third-party-warning2 = يمكنك المتابعة مع محلل DNS الافتراضي الخاص بك. ومع ذلك، قد يتمكن طرف ثالث من رؤية مواقع الوب التي تزورها. +neterror-dns-not-found-trr-only-could-not-connect = لم يتمكن { -brand-short-name } من الاتصال بـ { $trrDomain }. +neterror-dns-not-found-trr-only-timeout = استغرق الاتصال بـ { $trrDomain } وقتًا أطول من المتوقع. neterror-dns-not-found-trr-offline = أنت غير متصل بالإنترنت. neterror-dns-not-found-trr-unknown-host2 = لم يتم العثور على موقع الوب هذا بواسطة { $trrDomain }. +neterror-dns-not-found-trr-server-problem = حدثت مشكلة في { $trrDomain }. neterror-dns-not-found-bad-trr-url = مسار غير صحيح. neterror-dns-not-found-trr-unknown-problem = خطأ غير متوقّع. @@ -64,7 +70,10 @@ ## Variables: ## $trrDomain (String) - Hostname of the DNS over HTTPS server that is currently in use. +neterror-dns-not-found-native-fallback-reason = لا يستطيع { -brand-short-name } حماية طلبك للحصول على عنوان هذا الموقع من خلال محلل DNS الموثوق به. إليكم السبب: +neterror-dns-not-found-native-fallback-reason2 = لا يستطيع { -brand-short-name } حماية طلبك للحصول على عنوان هذا الموقع من خلال موفر DNS الآمن الخاص بنا. إليكم السبب: neterror-dns-not-found-native-fallback-heuristic = DNS عبر HTTPS مُعطّل على شبكتك. +neterror-dns-not-found-native-fallback-not-confirmed2 = لم يتمكن { -brand-short-name } من الاتصال بـ { $trrDomain }. ## @@ -81,7 +90,7 @@ neterror-net-offline = اضغط على ”حاول مجددًا“ للتبديل إلى وضع الاتصال و إعادة تحميل الصفحة. neterror-proxy-resolve-failure-settings = افحص إعدادات الوسيط لتتأكد أنها صحيحة. neterror-proxy-resolve-failure-connection = تأكد من أن اتصالك الشبكي يعمل. -neterror-proxy-resolve-failure-firewall = إذا كان حاسوبك محميًا بجدار ناري أو وسيط، تأكد من السماح ل‍{ -brand-short-name } بالنفاذ إلى الوِب. +neterror-proxy-resolve-failure-firewall = إذا كان حاسوبك محميًا بجدار حماية أو وسيط، تأكد من السماح ل‍{ -brand-short-name } بالوصول إلى الوِب. neterror-proxy-connect-failure-settings = افحص إعدادات الوسيط لتتأكد أنها صحيحة. neterror-proxy-connect-failure-contact-admin = اتصل بمدير الشبكة لتتأكد أن الخادوم الوسيط يعمل. neterror-content-encoding-error = من فضلك اتصل بمالكي الموقع لإعلامهم بهذه المشكلة. diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/toolkit/toolkit/pdfviewer/viewer.ftl firefox-esr-115.11.0esr+build1/l10n/ar/toolkit/toolkit/pdfviewer/viewer.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/toolkit/toolkit/pdfviewer/viewer.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/toolkit/toolkit/pdfviewer/viewer.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -39,6 +39,15 @@ pdfjs-print-button = .title = اطبع pdfjs-print-button-label = اطبع +pdfjs-save-button = + .title = احفظ +pdfjs-save-button-label = احفظ +# Used in Firefox for Android as a tooltip for the download button (“download” is a verb). +pdfjs-download-button = + .title = نزّل +# Used in Firefox for Android as a label for the download button (“download” is a verb). +# Length of the translation matters since we are in a mobile context, with limited screen estate. +pdfjs-download-button-label = نزّل pdfjs-bookmark-button = .title = الصفحة الحالية (عرض URL من الصفحة الحالية) pdfjs-bookmark-button-label = الصفحة الحالية @@ -66,6 +75,9 @@ pdfjs-cursor-hand-tool-button = .title = فعّل أداة اليد pdfjs-cursor-hand-tool-button-label = أداة اليد +pdfjs-scroll-page-button = + .title = استخدم تمرير الصفحة +pdfjs-scroll-page-button-label = تمرير الصفحة pdfjs-scroll-vertical-button = .title = استخدم التمرير الرأسي pdfjs-scroll-vertical-button-label = التمرير الرأسي @@ -172,6 +184,9 @@ pdfjs-thumbs-button = .title = اعرض مُصغرات pdfjs-thumbs-button-label = مُصغّرات +pdfjs-current-outline-item-button = + .title = ابحث عن عنصر المخطّط التفصيلي الحالي +pdfjs-current-outline-item-button-label = عنصر المخطّط التفصيلي الحالي pdfjs-findbar-button = .title = ابحث في المستند pdfjs-findbar-button-label = ابحث @@ -201,9 +216,33 @@ pdfjs-find-next-button-label = التالي pdfjs-find-highlight-checkbox = أبرِز الكل pdfjs-find-match-case-checkbox-label = طابق حالة الأحرف +pdfjs-find-match-diacritics-checkbox-label = طابِق الحركات pdfjs-find-entire-word-checkbox-label = كلمات كاملة pdfjs-find-reached-top = تابعت من الأسفل بعدما وصلت إلى بداية المستند pdfjs-find-reached-bottom = تابعت من الأعلى بعدما وصلت إلى نهاية المستند +# Variables: +# $current (Number) - the index of the currently active find result +# $total (Number) - the total number of matches in the document +pdfjs-find-match-count = + { $total -> + [zero] لا مطابقة + [one] { $current } من أصل { $total } مطابقة + [two] { $current } من أصل { $total } مطابقة + [few] { $current } من أصل { $total } مطابقة + [many] { $current } من أصل { $total } مطابقة + *[other] { $current } من أصل { $total } مطابقة + } +# Variables: +# $limit (Number) - the maximum number of matches +pdfjs-find-match-count-limit = + { $limit -> + [zero] { $limit } مطابقة + [one] أكثر من { $limit } مطابقة + [two] أكثر من { $limit } مطابقة + [few] أكثر من { $limit } مطابقة + [many] أكثر من { $limit } مطابقة + *[other] أكثر من { $limit } مطابقات + } pdfjs-find-not-found = لا وجود للعبارة ## Predefined zoom values @@ -255,10 +294,111 @@ ## Editing +pdfjs-editor-free-text-button = + .title = نص +pdfjs-editor-free-text-button-label = نص +pdfjs-editor-ink-button = + .title = ارسم +pdfjs-editor-ink-button-label = ارسم +pdfjs-editor-stamp-button = + .title = أضِف أو حرّر الصور +pdfjs-editor-stamp-button-label = أضِف أو حرّر الصور +pdfjs-editor-highlight-button = + .title = أبرِز +pdfjs-editor-highlight-button-label = أبرِز +pdfjs-highlight-floating-button = + .title = أبرِز +pdfjs-highlight-floating-button1 = + .title = أبرِز + .aria-label = أبرِز +pdfjs-highlight-floating-button-label = أبرِز + +## Remove button for the various kind of editor. + +pdfjs-editor-remove-ink-button = + .title = أزِل الرسم +pdfjs-editor-remove-freetext-button = + .title = أزِل النص +pdfjs-editor-remove-stamp-button = + .title = أزِل الصورة +pdfjs-editor-remove-highlight-button = + .title = أزِل الإبراز + +## + +# Editor Parameters +pdfjs-editor-free-text-color-input = اللون +pdfjs-editor-free-text-size-input = الحجم +pdfjs-editor-ink-color-input = اللون +pdfjs-editor-ink-thickness-input = السماكة +pdfjs-editor-ink-opacity-input = العتامة +pdfjs-editor-stamp-add-image-button = + .title = أضِف صورة +pdfjs-editor-stamp-add-image-button-label = أضِف صورة +# This refers to the thickness of the line used for free highlighting (not bound to text) +pdfjs-editor-free-highlight-thickness-input = السماكة +pdfjs-editor-free-highlight-thickness-title = + .title = غيّر السُمك عند إبراز عناصر أُخرى غير النص +pdfjs-free-text = + .aria-label = محرِّر النص +pdfjs-free-text-default-content = ابدأ الكتابة… +pdfjs-ink = + .aria-label = محرِّر الرسم +pdfjs-ink-canvas = + .aria-label = صورة أنشأها المستخدم ## Alt-text dialog +# Alternative text (alt text) helps when people can't see the image. +pdfjs-editor-alt-text-button-label = نص بديل +pdfjs-editor-alt-text-edit-button-label = تحرير النص البديل +pdfjs-editor-alt-text-dialog-label = اختر خيار +pdfjs-editor-alt-text-dialog-description = يساعد النص البديل عندما لا يتمكن الأشخاص من رؤية الصورة أو عندما لا يتم تحميلها. +pdfjs-editor-alt-text-add-description-label = أضِف وصف +pdfjs-editor-alt-text-add-description-description = استهدف جملتين تصفان الموضوع أو الإعداد أو الإجراءات. +pdfjs-editor-alt-text-mark-decorative-label = علّمها على أنها زخرفية +pdfjs-editor-alt-text-mark-decorative-description = يُستخدم هذا في الصور المزخرفة، مثل الحدود أو العلامات المائية. +pdfjs-editor-alt-text-cancel-button = ألغِ +pdfjs-editor-alt-text-save-button = احفظ +pdfjs-editor-alt-text-decorative-tooltip = عُلّمت على أنها زخرفية +# .placeholder: This is a placeholder for the alt text input area +pdfjs-editor-alt-text-textarea = + .placeholder = على سبيل المثال، "يجلس شاب على الطاولة لتناول وجبة" ## Editor resizers ## This is used in an aria label to help to understand the role of the resizer. +pdfjs-editor-resizer-label-top-left = الزاوية اليُسرى العُليا — غيّر الحجم +pdfjs-editor-resizer-label-top-middle = أعلى الوسط - غيّر الحجم +pdfjs-editor-resizer-label-top-right = الزاوية اليُمنى العُليا - غيّر الحجم +pdfjs-editor-resizer-label-middle-right = اليمين الأوسط - غيّر الحجم +pdfjs-editor-resizer-label-bottom-right = الزاوية اليُمنى السُفلى - غيّر الحجم +pdfjs-editor-resizer-label-bottom-middle = أسفل الوسط - غيّر الحجم +pdfjs-editor-resizer-label-bottom-left = الزاوية اليُسرى السُفلية - غيّر الحجم +pdfjs-editor-resizer-label-middle-left = مُنتصف اليسار - غيّر الحجم + +## Color picker + +# This means "Color used to highlight text" +pdfjs-editor-highlight-colorpicker-label = أبرِز اللون +pdfjs-editor-colorpicker-button = + .title = غيّر اللون +pdfjs-editor-colorpicker-dropdown = + .aria-label = اختيارات الألوان +pdfjs-editor-colorpicker-yellow = + .title = أصفر +pdfjs-editor-colorpicker-green = + .title = أخضر +pdfjs-editor-colorpicker-blue = + .title = أزرق +pdfjs-editor-colorpicker-pink = + .title = وردي +pdfjs-editor-colorpicker-red = + .title = أحمر + +## Show all highlights +## This is a toggle button to show/hide all the highlights. + +pdfjs-editor-highlight-show-all-button-label = أظهِر الكل +pdfjs-editor-highlight-show-all-button = + .title = أظهِر الكل diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/toolkit/toolkit/pictureinpicture/pictureinpicture.ftl firefox-esr-115.11.0esr+build1/l10n/ar/toolkit/toolkit/pictureinpicture/pictureinpicture.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/toolkit/toolkit/pictureinpicture/pictureinpicture.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/toolkit/toolkit/pictureinpicture/pictureinpicture.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -7,6 +7,7 @@ ## Variables: ## $shortcut (String) - Keyboard shortcut to execute the command. + ## Note that this uses .tooltip rather than the standard '.title' ## or '.tooltiptext' - but it has the same effect. Code in the ## picture-in-picture window will read and copy this to an in-document @@ -15,12 +16,18 @@ ## Variables: ## $shortcut (String) - Keyboard shortcut to execute the command. +pictureinpicture-close-btn = + .aria-label = أغلِق + .tooltip = أغلِق ({ $shortcut }) + ## + ## Note that this uses .tooltip rather than the standard '.title' ## or '.tooltiptext' - but it has the same effect. Code in the ## picture-in-picture window will read and copy this to an in-document ## DOM node that then shows the tooltip. + ## diff -Nru firefox-esr-115.10.0esr+build1/l10n/ar/toolkit/toolkit/printing/printUI.ftl firefox-esr-115.11.0esr+build1/l10n/ar/toolkit/toolkit/printing/printUI.ftl --- firefox-esr-115.10.0esr+build1/l10n/ar/toolkit/toolkit/printing/printUI.ftl 2024-04-08 19:11:42.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ar/toolkit/toolkit/printing/printUI.ftl 2024-05-07 06:05:01.000000000 +0000 @@ -5,7 +5,6 @@ printui-title = اطبع # Dialog title to prompt the user for a filename to save print to PDF. printui-save-to-pdf-title = احفظ باسم - # Variables # $sheetCount (integer) - Number of paper sheets printui-sheets-count = @@ -17,35 +16,40 @@ [many] { $sheetCount } ورقة *[other] { $sheetCount } ورقة } - printui-page-range-all = الكل +printui-page-range-current = الحالي +printui-page-range-odd = زوجي +printui-page-range-even = فردي printui-page-range-custom = مخصّص printui-page-range-label = الصفحات printui-page-range-picker = .aria-label = اختر نطاق الصفحات - +printui-page-custom-range-input = + .aria-label = أدخِل نطاق الصفحات المخصّص + .placeholder = كمثال: 2-6، 9، 12-16 # Section title for the number of copies to print printui-copies-label = النُّسخ - printui-orientation = الاتجاه printui-landscape = عرضي printui-portrait = طولي - # Section title for the printer or destination device to target printui-destination-label = الوجهة printui-destination-pdf-label = احفظ كَ‍ PDF - printui-more-settings = إعدادات أكثر printui-less-settings = إعدادات أقل - printui-paper-size-label = مقاس الورق - # Section title (noun) for the print scaling options printui-scale = المقياس printui-scale-fit-to-page-width = تناسَب مع عرض الصفحة # Label for input control where user can set the scale percentage printui-scale-pcent = المقياس - +# Section title (noun) for the two-sided print options +printui-two-sided-printing = الطباعة على الوجهين +printui-two-sided-printing-off = معطّل +# Flip the sheet as if it were bound along its long edge. +printui-two-sided-printing-long-edge = اقلب على الحافة الطويلة +# Flip the sheet as if it were bound along its short edge. +printui-two-sided-printing-short-edge = اقلب على الحافة القصيرة # Section title for miscellaneous print options printui-options = خيارات printui-headers-footers-checkbox = اطبع الترويسات والتذاييل @@ -55,33 +59,53 @@ ## options to select between the original page, selected text only, or a version ## where the page is processed with "Reader View". +# The section title. +printui-source-label = التنسيق +# Option for printing the original page. +printui-source-radio = أصلي +# Option for printing just the content a user selected prior to printing. +printui-selection-radio = التحديد +# Option for "simplifying" the page by printing the Reader View version. +printui-simplify-page-radio = مبسط + ## printui-color-mode-label = وضع الألوان printui-color-mode-color = ملوّن printui-color-mode-bw = أبيض وأسود - printui-margins = الهوامش printui-margins-default = المبدئي printui-margins-min = الأدنى printui-margins-none = بلا +printui-margins-custom-inches = مخصص (بوصة) +printui-margins-custom-mm = مخصص (مم) printui-margins-custom-top = الأعلى +printui-margins-custom-top-inches = القمة (بوصة) +printui-margins-custom-top-mm = القمة (مم) printui-margins-custom-bottom = الأسفل +printui-margins-custom-bottom-inches = القاع (بوصة) +printui-margins-custom-bottom-mm = القاع (مم) printui-margins-custom-left = اليسار +printui-margins-custom-left-inches = يسار (بوصة) +printui-margins-custom-left-mm = يسار (مم) printui-margins-custom-right = اليمين - +printui-margins-custom-right-inches = يمين (بوصة) +printui-margins-custom-right-mm = يمين (مم) printui-system-dialog-link = اطبع باستعمال مربع حوار النظام… - printui-primary-button = اطبع printui-primary-button-save = احفظ printui-cancel-button = ألغِ - +printui-close-button = أغلِق printui-loading = يُحضّر المعاينة - # Reported by screen readers and other accessibility tools to indicate that # the print preview has focus. printui-preview-label = .aria-label = معاينة الطباعة +printui-pages-per-sheet = عدد الصفحات لكل ورقة +# This is shown next to the Print button with an indefinite loading spinner +# when the user prints a page and it is being sent to the printer. +printui-print-progress-indicator = يطبع… +printui-print-progress-indicator-saving = يحفظ… ## Paper sizes that may be supported by the Save to PDF destination: @@ -103,7 +127,7 @@ printui-error-invalid-scale = يجب أن يكون المقياس بين 10 و200. printui-error-invalid-margin = من فضلك أدخِل هامشًا صحيحًا لمقاس الورقة الذي حدّدته. - +printui-error-invalid-copies = يجب أن تكون النُسخ عددًا يتراوح بين 1 و 10000. # Variables # $numPages (integer) - Number of pages printui-error-invalid-range = يجب أن يكون النطاق بين 1 و{ $numPages }. diff -Nru firefox-esr-115.10.0esr+build1/l10n/ast/browser/browser/preferences/preferences.ftl firefox-esr-115.11.0esr+build1/l10n/ast/browser/browser/preferences/preferences.ftl --- firefox-esr-115.10.0esr+build1/l10n/ast/browser/browser/preferences/preferences.ftl 2024-04-08 19:11:45.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ast/browser/browser/preferences/preferences.ftl 2024-05-07 06:05:05.000000000 +0000 @@ -8,9 +8,7 @@ .label = Namás cuando { -brand-short-name } tea configuráu pa bloquiar los rastrexadores conocíos do-not-track-option-always = .label = Siempres - settings-page-title = Axustes - # This is used to determine the width of the search field in about:preferences, # in order to make the entire placeholder string visible # @@ -22,49 +20,37 @@ search-input-box2 = .style = width: 15.4em .placeholder = Atopar n'Axustes - managed-notice = El restolador ta xestionáu pola to organización. - category-list = .aria-label = Estayes - pane-general-title = Xeneral category-general = .tooltiptext = { pane-general-title } - pane-home-title = Aniciu category-home = .tooltiptext = { pane-home-title } - pane-search-title = Busca category-search = .tooltiptext = { pane-search-title } - pane-privacy-title = Privacidá y seguranza category-privacy = .tooltiptext = { pane-privacy-title } - pane-sync-title3 = Sync category-sync3 = .tooltiptext = { pane-sync-title3 } - pane-experimental-title = Esperimentos de { -brand-short-name } category-experimental = .tooltiptext = Esperimentos de { -brand-short-name } pane-experimental-subtitle = Sigui con curiáu pane-experimental-search-results-header = Esperimentos de { -brand-short-name }: Vete con curiáu pane-experimental-description2 = El cambéu de la configuración avanzada pue afeutar al rindimientu o seguranza de { -brand-short-name }. - pane-experimental-reset = .label = Reafitar .accesskey = R - help-button-label = Sofitu de { -brand-short-name } addons-button-label = Estensiones y estilos - focus-search = .key = f - close-button = .aria-label = Zarrar @@ -85,17 +71,6 @@ ## is going to be replaced by the extension icon. ## ## Variables: -## $name (String): name of the extension - - -## Extension Control Notifications -## -## These strings are used to inform the user -## about changes made by extensions to browser settings. -## -## is going to be replaced by the extension icon. -## -## Variables: ## $name (string) - Name of the extension # This string is shown after the user disables an extension to notify the user @@ -108,65 +83,48 @@ ## Preferences UI Search Results search-results-header = Resultaos de la busca - # `` will be replaced by the search term. search-results-empty-message2 = ¡Sentímoslo! Nun hai nengún resultáu n'Axustes pa «» - search-results-help-link = ¿Precises ayuda? Visita Sofitu de { -brand-short-name } ## General Section startup-header = Aniciu - always-check-default = .label = Comprobar siempres si { -brand-short-name } ye'l restolador predetermináu .accesskey = i - is-default = Anguaño { -brand-short-name } ye'l restolador web predetermináu is-not-default = Anguaño { -brand-short-name } nun ye'l restolador web predetermináu - set-as-my-default-browser = .label = Predeterminar… .accesskey = P - startup-restore-warn-on-quit = .label = Avisate al colar del restolador - disable-extension = .label = Desactivar la estensión - tabs-group-header = Llingüetes - ctrl-tab-recently-used-order = .label = Ctrl+Tab percuerre les llingüetes pol orde d'usu recién .accesskey = T - open-new-link-as-tabs = .label = Abrir los enllaces en llingüetes nueves en cuentes de ventanes nueves .accesskey = v - warn-on-open-many-tabs = .label = Avisame cuando abrir munches llingüetes pueda facer lentu a { -brand-short-name } .accesskey = l - switch-to-new-tabs = .label = Al abrir un enllaz, ficheru u otru tipu de conteníu nuna llingüeta nueva, dir pa ella darréu .accesskey = r - show-tabs-in-taskbar = .label = Amosar la previsualización de llingüetes na barra de xeres de Windows .accesskey = x - browser-containers-enabled = .label = Activar los contenedores de llingüetes .accesskey = c - browser-containers-learn-more = Lleer más - browser-containers-settings = .label = Axustes… .accesskey = u - containers-disable-alert-title = ¿Zarrar tolos contenedores de llingüetes? ## Variables: @@ -177,7 +135,6 @@ [one] Si desactives los contenedores de llingüetes agora, va zarrase { $tabCount } llingüeta. ¿De xuru que quies desactivar los contenedores de llingüetes? *[other] Si desactives los contenedores de llingüetes agora, van zarrase { $tabCount } llingüetes. ¿De xuru que quies desactivar los contenedores de llingüetes? } - containers-disable-alert-ok-button = { $tabCount -> [one] Zarrar { $tabCount } llingüeta @@ -187,9 +144,7 @@ ## containers-disable-alert-cancel-button = Caltener n'activo - containers-remove-alert-title = ¿Quitar esti contenedor? - # Variables: # $count (Number) - Number of tabs that will be closed. containers-remove-alert-msg = @@ -197,68 +152,52 @@ [one] Si quites esti contenedor agora, va zarrase { $count } llingüeta. ¿De xuru que quies quitar esti contenedor? *[other] Si quites esti contenedor agora, van zarrase { $count } llingüetes. ¿De xuru que quies quitar esti contenedor? } - containers-remove-ok-button = Quitar esti contenedor containers-remove-cancel-button = Nun quitar esti contenedor ## General Section - Language & Appearance language-and-appearance-header = Llingua y aspeutu - default-font = Fonte predeterminada .accesskey = F default-font-size = Tamañu .accesskey = T - advanced-fonts = .label = Avanzao… .accesskey = v - # Zoom is a noun, and the message is used as header for a group of options preferences-zoom-header = Zoom - preferences-default-zoom = Zoom predetermináu .accesskey = Z - preferences-default-zoom-value = .label = { $percentage }% - preferences-zoom-text-only = .label = Facer zoom namás al testu .accesskey = t - language-header = Llingua - choose-language-description = Escueyi la llingua preferida p'amosar les páxines web - choose-button = .label = Escoyer… .accesskey = o - choose-browser-language-description = Escueyi les llingües que s'usen pa amosar los mensaxes, el menú y los avisos de { -brand-short-name }. manage-browser-languages-button = .label = Afitar alternatives… .accesskey = A confirm-browser-language-change-description = Reanicia { -brand-short-name } p'aplicar estos cambeos confirm-browser-language-change-button = Aplicar y reaniciar - translate-web-pages = .label = Traducir el conteníu web .accesskey = T - # The element is replaced by the logo of the provider # used to provide machine translations for web pages. translate-attribution = Traducción fecha por - translate-exceptions = .label = Esceiciones… .accesskey = s - # Variables: # $localeName (string) - Localized name of the locale to be used. use-system-locale = .label = Usar los axustes del sistema operativu del «{ $localeName }» pa formatiar la data, los númberos, la hora y les midíes. - check-user-spelling = .label = Comprobar la ortografía mentanto treclexes .accesskey = R @@ -266,12 +205,9 @@ ## General Section - Files and Applications files-and-applications-title = Ficheros y aplicaciones - download-header = Descargues - download-save-where = Guardar los ficheros en .accesskey = d - download-choose-folder = .label = { PLATFORM() -> @@ -283,42 +219,32 @@ [macos] e *[other] R } - download-always-ask-where = .label = Entrugar siempres ónde guardar los ficheros .accesskey = m - applications-header = Aplicaciones - applications-description = Escueyi cómo remana { -brand-short-name } los ficheros que baxes de la web o les aplicaciones qu'uses menanto restoles. - applications-filter = .placeholder = Buscar aplicaciones o tipos de ficheros - applications-type-column = .label = Tipu de conteníu .accesskey = T - applications-action-column = .label = Aición .accesskey = A - # Variables: # $extension (String) - file extension (e.g .TXT) applications-file-ending = ficheru { $extension } applications-action-save = .label = Guardar el ficheru - # Variables: # $app-name (String) - Name of an application (e.g Adobe Acrobat) applications-use-app = .label = Usar { $app-name } - # Variables: # $app-name (String) - Name of an application (e.g Adobe Acrobat) applications-use-app-default = .label = Usar { $app-name } (por defeutu) - applications-use-os-default = .label = { PLATFORM() -> @@ -326,26 +252,21 @@ [windows] Usar l'aplicación predeterminada de Windows *[other] Usar l'aplicación predeterminada del sistema } - applications-use-other = .label = Usar otra aplicación… applications-select-helper = Esbilla d'una aplicación auxiliar - applications-manage-app = .label = Detalles de l'aplicación… applications-always-ask = .label = Entrugar siempres - # Variables: # $type-description (String) - Description of the type (e.g "Portable Document Format") # $type (String) - the MIME type (e.g application/binary) applications-type-description-with-type = { $type-description } ({ $type }) - # Variables: # $extension (String) - file extension (e.g .TXT) # $type (String) - the MIME type (e.g application/binary) applications-file-ending-with-type = { applications-file-ending } ({ $type }) - # Variables: # $plugin-name (String) - Name of a plugin (e.g Adobe Flash) applications-use-plugin-in = @@ -359,76 +280,53 @@ applications-use-plugin-in-label = .value = { applications-use-plugin-in.label } - applications-action-save-label = .value = { applications-action-save.label } - applications-use-app-label = .value = { applications-use-app.label } - applications-open-inapp-label = .value = { applications-open-inapp.label } - applications-always-ask-label = .value = { applications-always-ask.label } - applications-use-app-default-label = .value = { applications-use-app-default.label } - applications-use-other-label = .value = { applications-use-other.label } - applications-use-os-default-label = .value = { applications-use-os-default.label } ## drm-content-header = Conteníu con DRM (Xestión de Derechos Dixitales) - play-drm-content = .label = Reproducir el conteníu controláu con DRM .accesskey = R - play-drm-content-learn-more = Lleer más - update-application-title = Anovamientos de { -brand-short-name } - update-application-description = Caltén { -brand-short-name } anováu pal meyor rindimientu, estabilidá y seguranza. - update-application-version = Versión { $version } Novedaes - update-history = .label = Amosar l'historial d'anovamientos… .accesskey = t - update-application-allow-description = Permitir a { -brand-short-name } - update-application-auto = .label = Instalar automáticamente los anovamientos (aconséyase) .accesskey = I - update-application-check-choose = .label = Comprobar los anovamientos mas déxame escoyer si instalalos .accesskey = C - update-application-manual = .label = Nun comprobar enxamás los anovamientos (nun s'aconseya) .accesskey = e - update-application-background-enabled = .label = Cuando { -brand-short-name } nun tea n'execución .accesskey = C - update-application-warning-cross-user-setting = Esti axuste va aplicase a toles cuentes de Windows y perfiles de { -brand-short-name } qu'usen esta instalación de { -brand-short-name }. - update-application-use-service = .label = Usar un serviciu en segundu planu pa instalar los anovamientos .accesskey = p - update-in-progress-title = Anovamientu en cursu - update-in-progress-message = ¿Quies que { -brand-short-name } siga con esti anovamientu? - update-in-progress-ok-button = &Escartar # Continue is the cancel button so pressing escape or using a platform standard # method of closing the UI will not discard the update. @@ -437,25 +335,18 @@ ## General Section - Performance performance-title = Rindimientu - performance-use-recommended-settings-checkbox = .label = Usar los axustes de rindimientu aconseyaos .accesskey = U - performance-use-recommended-settings-desc = Estos axustes adáutense al hardware y sistema operativu del ordenador. - performance-settings-learn-more = Lleer más - performance-allow-hw-accel = .label = Usar l'aceleración del hardware cuando tea disponible .accesskey = h - performance-limit-content-process-option = Llende de procesos de conteníu .accesskey = L - performance-limit-content-process-enabled-desc = Más procesos de conteníu puen ameyorar el rindimientu al usar munches llingüetes, mas tamién van usar más memoria. performance-limit-content-process-blocked-desc = Modificar el númberu de procesos de conteníu namás ye posible col { -brand-short-name } multiprocesu. Llei cómo comprobar si'l multiprocesu ta activáu - # Variables: # $num - default value of the `dom.ipc.processCount` pref. performance-default-content-process-count = @@ -464,56 +355,42 @@ ## General Section - Browsing browsing-title = Restolar - browsing-use-autoscroll = .label = Usar el desplazamientu automáticu .accesskey = d - browsing-use-smooth-scrolling = .label = Usar el desplazamientu suave .accesskey = l - browsing-use-onscreen-keyboard = .label = Amosar un tecláu táctil cuando seya preciso .accesskey = t - browsing-use-cursor-navigation = .label = Usar siempres les tecles del cursor pa navegar peles páxines .accesskey = c - browsing-search-on-start-typing = .label = Buscar el testu cuando comiences a teclexar .accesskey = s - browsing-picture-in-picture-toggle-enabled = .label = Activar los controles de videu nel mou imaxe sobre imaxe .accesskey = A - browsing-picture-in-picture-learn-more = Lleer más - browsing-media-control = .label = Controlar el conteníu multimedia pel tecláu, pelos auriculares o pela interfaz virtual .accesskey = v - browsing-media-control-learn-more = Lleer más - browsing-cfr-recommendations = .label = Aconseyar estensiones mentanto restoles .accesskey = A browsing-cfr-features = .label = Aconseyar carauterístiques mentanto restoles .accesskey = c - browsing-cfr-recommendations-learn-more = Lleer más ## General Section - Proxy network-settings-title = Axustes de rede - network-proxy-connection-description = Configura cómo se conecta { -brand-short-name } a internet. - network-proxy-connection-learn-more = Lleer más - network-proxy-connection-settings = .label = Axustes… .accesskey = A @@ -521,28 +398,21 @@ ## Home Section home-new-windows-tabs-header = Ventanes y llingüetes nueves - home-new-windows-tabs-description2 = Escueyi lo que ves cuando abres la páxina d'aniciu, ventanes nueves y llingüetes nueves. ## Home Section - Home Page Customization home-homepage-mode-label = Páxina d'aniciu y ventanes nueves - home-newtabs-mode-label = Llingüetes nueves - home-restore-defaults = .label = Reafitar .accesskey = R - home-mode-choice-custom = .label = URLs personalizaes... - home-mode-choice-blank = .label = Páxina balera - home-homepage-custom-url = .placeholder = Apiega una URL… - # This string has a special case for '1' and [other] (default). If necessary for # your language, you can add {$tabCount} to your translations and use the # standard CLDR forms, or only use the form for [other] if both strings should @@ -555,7 +425,6 @@ *[other] Usar les páxines actuales } .accesskey = a - choose-bookmark = .label = Usar un marcador… .accesskey = m @@ -571,10 +440,6 @@ .label = Atayos patrocinaos ## Variables: -## $provider (String): Name of the corresponding content provider, e.g "Pocket". - - -## Variables: ## $provider (string) - Name of the corresponding content provider, e.g "Pocket". home-prefs-recommended-by-description-new = Conteníu esceicional de la web esbilláu por { $provider }, parte de la familia de { -brand-product-name } @@ -582,7 +447,6 @@ ## home-prefs-recommended-by-learn-more = Cómo funciona - home-prefs-highlights-option-visited-pages = .label = Páxines visitaes home-prefs-highlights-options-bookmarks = @@ -591,20 +455,16 @@ .label = La descarga más recién home-prefs-highlights-option-saved-to-pocket = .label = Páxines guardaes en { -pocket-brand-name } - home-prefs-recent-activity-header = .label = Actividá recién home-prefs-recent-activity-description = Una esbilla de los sitios y del conteníu recién - # For the "Snippets" feature traditionally on about:home. # Alternative translation options: "Small Note" or something that # expresses the idea of "a small message, shortened from something else, # and non-essential but also not entirely trivial and useless. home-prefs-snippets-header = .label = Cachos d'información - home-prefs-snippets-description-new = Conseyos y noticies de { -vendor-short-name } y { -brand-product-name } - home-prefs-sections-rows-option = .label = { $num -> @@ -619,26 +479,20 @@ .label = Usar la barra de direiciones pa buscar y navegar search-bar-shown = .label = Amestar la barra de busca na barra de ferramientes - search-engine-default-header = Motor de busca predetermináu search-engine-default-desc-2 = Esti ye'l motor de busca predetermináu na barra de direiciones y na barra de busca. Pues cambialu en cualesquier momentu. search-engine-default-private-desc-2 = Escueyi un motor de busca diferente pa namás les ventanes privaes search-separate-default-engine = .label = Usar esti motor de busca nes ventanes privaes .accesskey = U - search-suggestions-header = Suxerencies de busca search-suggestions-desc = Escueyi cómo apaecen les suxerencies de los motores de busca. - search-suggestions-option = .label = Fornir suxerencies de busca .accesskey = s - search-show-suggestions-url-bar-option = .label = Amosar les suxerences de busca nos resultaos de la barra de direiciones .accesskey = n - - # This string describes what the user will observe when the system # prioritizes search suggestions over browsing history in the results # that extend down from the address bar. In the original English string, @@ -646,36 +500,26 @@ # (appearing before). search-show-suggestions-above-history-option = .label = Nos resultaos de la barra de direiciones, amosar les suxerencies de busca enantes del historial de restolar - search-show-suggestions-private-windows = .label = Amosar les suxerencies de busca nes ventanes privaes - suggestions-addressbar-settings-generic2 = Camudar los axustes pa otres suxerencies de la barra de direiciones - search-suggestions-cant-show = Les suxerencies de busca nun van amosase na barra de direiciones porque configuresti { -brand-short-name } pa qu'enxamás recordare l'historial. - search-one-click-header2 = Atayos de busca - search-one-click-desc = Escueyi los motores de busca alternativos qu'apaecen embaxo de la barra de direiciones y barra de busca cuando comiences a introducir una pallabra clave. - search-choose-engine-column = .label = Motor de busca search-choose-keyword-column = .label = Pallabra clave - search-restore-default = .label = Reafitar los motores de busca .accesskey = R - search-remove-engine = .label = Quitar .accesskey = Q search-add-engine = .label = Amestar .accesskey = A - search-find-more-link = Atopar más motores de busca - # This warning is displayed when the chosen keyword is already in use # ('Duplicate' is an adjective) search-keyword-warning-title = Pallabra clave duplicada @@ -690,30 +534,22 @@ containers-add-button = .label = Amestar un contenedor nuevu .accesskey = A - containers-new-tab-check = .label = Esbillar un contenedor pa cada llingüeta nueva .accesskey = E - containers-settings-button = .label = Axustes containers-remove-button = .label = Quitar -## Firefox Account - Signed out. Note that "Sync" and "Firefox Account" are now -## more discrete ("signed in" no longer means "and sync is connected"). - - ## Firefox account - Signed out. Note that "Sync" and "Firefox account" are now ## more discrete ("signed in" no longer means "and sync is connected"). sync-signedout-caption = Lleva la web contigo sync-signedout-description2 = Sincroniza los marcadores, l'historial, les contraseñes, los complementos y los axustes en tolos preseos de to. - sync-signedout-account-signin3 = .label = Aniciar sesión pa sincronizar… .accesskey = i - # This message contains two links and two icon images. # `` - Android logo icon # `` - Link to Android Download @@ -724,18 +560,16 @@ # to your language, but should not be changed or translated. sync-mobile-promo = Baxa Firefox p'Android o iOS pa sincronizar col to preséu móvil. -## Firefox Account - Signed in - - ## Firefox account - Signed in sync-profile-picture = .tooltiptext = Camudar la semeya del perfil - +sync-profile-picture-with-alt = + .tooltiptext = Camudar la semeya del perfil + .alt = Camudar la semeya del perfil sync-sign-out = .label = Zarrar sesión… .accesskey = Z - sync-manage-account = Xestionar la cuenta .accesskey = o @@ -750,7 +584,6 @@ sync-remove-account = .label = Quitar la cuenta .accesskey = Q - sync-sign-in = .label = Aniciar sesión .accesskey = r @@ -758,20 +591,15 @@ ## Sync section - enabling or disabling sync. prefs-syncing-on = Sincronización: ACTIVADA - prefs-syncing-off = Sincronización: DESACTIVADA - prefs-sync-offer-setup-label2 = Sincroniza los marcadores, l'historial, les contraseñes, los complementos y los axustes en tolos preseos de to. - prefs-sync-now = .labelnotsyncing = Sincronizar agora .accesskeynotsyncing = a .labelsyncing = Sincronizando… - prefs-sync-now-button = .label = Sincronizar agora .accesskey = a - prefs-syncing-button = .label = Sincronizando… @@ -785,7 +613,6 @@ sync-currently-syncing-creditcards = Tarxetes de creitu sync-currently-syncing-addons = Complementos sync-currently-syncing-settings = Axustes - sync-change-options = .label = Camudar… .accesskey = C @@ -799,35 +626,28 @@ .buttonaccesskeyaccept = G .buttonlabelextra2 = Desconectase... .buttonaccesskeyextra2 = D - sync-engine-bookmarks = .label = Marcadores .accesskey = m - sync-engine-history = .label = Historial .accesskey = r - sync-engine-tabs = .label = Llingüestes abiertes .tooltiptext = Una llista de lo que ta abierto en tolos preseos sincronizaos .accesskey = L - sync-engine-logins-passwords = .label = Cuentes y contraseñes .tooltiptext = Les cuentes y contraseñes guardaes .accesskey = A - sync-engine-addresses = .label = Señes .tooltiptext = Les direiciones postales que guardesti (namás n'escritoriu) .accesskey = S - sync-engine-creditcards = .label = Tarxetes de creitu .tooltiptext = Los nomes, les dates de caducidá y los númberos (namás nel escritoriu) .accesskey = T - sync-engine-addons = .label = Complementos .tooltiptext = Les estensiones y los estilos pal Firefox d'escritoriu @@ -836,19 +656,15 @@ ## The device name controls. sync-device-name-header = Nome del preséu - sync-device-name-change = .label = Camudar el nome del preséu… .accesskey = m - sync-device-name-cancel = .label = Encaboxar .accesskey = n - sync-device-name-save = .label = Guardar .accesskey = v - sync-connect-another-device = Conectar otru preséu ## These strings are shown in a desktop notification after the @@ -865,11 +681,13 @@ # The search keyword isn't shown to users but is used to find relevant settings in about:preferences. pane-privacy-logins-and-passwords-header = Cuentes y contraseñes .searchkeywords = { -lockwise-brand-short-name } - # Checkbox to control whether UI is shown to users to save or fill logins/passwords. forms-ask-to-save-logins = .label = Entrugar si guardar les cuentes y les contraseñes de los sitios web o non .accesskey = g + +## Privacy Section - Passwords + forms-exceptions = .label = Esceiciones… .accesskey = s @@ -877,7 +695,6 @@ .label = Suxerir y xenerar contraseñes segures .accesskey = S forms-breach-alerts-learn-more-link = Lleer más - # Checkbox which controls filling saved logins into fields automatically when they appear, in some cases without user interaction. forms-fill-logins-and-passwords = .label = Rellenar automáticamente les cuentes y les contraseñes @@ -902,7 +719,6 @@ # "Master Password" in your language. If you're editing the FTL file directly, # use { "" } as the value. forms-primary-pw-former-name = Enantes llamábase «Contraseña maestra» - forms-primary-pw-fips-title = Anguaño tas nel mou FIPS. FIPS rique una contraseña primaria que nun tea balera. forms-master-pw-fips-desc = El cambéu de la contraseña falló @@ -910,7 +726,6 @@ # This message can be seen by trying to add a Primary Password. primary-password-os-auth-dialog-message-win = Pa crear una contraseña primaria, introduz los tos datos d'aniciu de sesión de Windows. Esto ayuda a protexer la seguranza de les tos cuentes. - # This message can be seen by trying to add a Primary Password. # The macOS strings are preceded by the operating system with "Firefox is trying to " # and includes subtitle of "Enter password for the user "xxx" to allow this." These @@ -918,10 +733,12 @@ primary-password-os-auth-dialog-message-macosx = crear una contraseña primaria master-password-os-auth-dialog-caption = { -brand-full-name } +## Privacy section - Autofill + + ## Privacy Section - History history-header = Historial - # This label is followed, on the same line, by a dropdown list of options # (Remember history, etc.). # In English it visually creates a full sentence, e.g. @@ -933,37 +750,29 @@ # - As a stand-alone message, for example "Firefox history settings:". history-remember-label = { -brand-short-name } va: .accesskey = v - history-remember-option-all = .label = Recordar l'historial history-remember-option-never = .label = Dexar de recordar l'historial history-remember-option-custom = .label = Usar unos axustes personalizaos pal historial - history-remember-description = { -brand-short-name } va recordar los historiales de restolar, descargues, formularios y busques. history-dontremember-description = { -brand-short-name } va usar los mesmos axustes del restolar en privao y nun va recordar nengún historial mentanto restoles la web. - history-private-browsing-permanent = .label = Usar siempres el mou de restolar en privao .accesskey = p - history-remember-browser-option = .label = Recordar l'historial de restolar y de descargues .accesskey = r - history-remember-search-option = .label = Recordar l'historial de busques y de formularios .accesskey = f - history-clear-on-close-option = .label = Llimpiar l'historial al zarrar { -brand-short-name } .accesskey = r - history-clear-on-close-settings = .label = Axustes… .accesskey = C - history-clear-button = .label = Llimpiar l'historial… .accesskey = h @@ -971,50 +780,38 @@ ## Privacy Section - Site Data sitedata-header = Cookies y datos de los sitios - sitedata-total-size-calculating = Calcaulando'l tamañu de la caché y los datos de los sitios… - # Variables: # $value (Number) - Value of the unit (for example: 4.6, 500) # $unit (String) - Name of the unit (for example: "bytes", "KB") sitedata-total-size = Anguaño les cookies, los datos de los sitios y la caché tán usando { $value } { $unit } d'espaciu nel discu. - sitedata-learn-more = Lleer más - sitedata-delete-on-close = .label = Desaniciar les cookies y los datos de los sitios al zarrar { -brand-short-name } .accesskey = z - sitedata-delete-on-close-private-browsing = Nel mou de restolar en privao permanente, les cookies y los datos de los sitios van llimpiase al zarrar { -brand-short-name }. - sitedata-allow-cookies-option = .label = Aceptar les cookies y los datos de los sitios .accesskey = A - sitedata-disallow-cookies-option = .label = Bloquiar les cookies y los datos de los sitios .accesskey = B - # This label means 'type of content that is blocked', and is followed by a drop-down list with content types below. # The list items are the strings named sitedata-block-*-option*. sitedata-block-desc = Tipu bloquiáu .accesskey = T - sitedata-option-block-cross-site-trackers = .label = Rastrexadores ente sitios sitedata-option-block-unvisited = .label = Cookies de sitios web ensin visitar sitedata-option-block-all = .label = Toles cookies (va facer que los sitios web s'estropien) - sitedata-clear = .label = Llimpiar los datos… .accesskey = L - sitedata-settings = .label = Xestionar los datos… .accesskey = X - sitedata-cookies-exceptions = .label = Xestionar les esceiciones… .accesskey = X @@ -1022,12 +819,13 @@ ## Privacy Section - Cookie Banner Handling +## Privacy Section - Cookie Banner Blocking + + ## Privacy Section - Address Bar addressbar-header = Barra de direiciones - addressbar-suggest = Al usar la barra de direiciones, suxerir: - addressbar-locbar-history-option = .label = Historial de restolar .accesskey = H @@ -1047,17 +845,13 @@ addressbar-locbar-engines-option = .label = Motores de busca .accesskey = a - addressbar-suggestions-settings = Camudar les preferencies pa les suxerencies de los motores de busca ## Privacy Section - Content Blocking content-blocking-enhanced-tracking-protection = Proteición antirrastrexu ameyorada - content-blocking-section-top-level-description = Los rastrexadores síguente per internet pa recoyer información tocante a los tos vezos de restolar ya intereses. { -brand-short-name } bloquia munchos d'esos rastrexadores y otros scripts maliciosos. - content-blocking-learn-more = Lleer más - content-blocking-fpi-incompatibility-warning = Tas usando Aislamientu Primariu (FPI) lo qu'anula dalgunos axustes cookies de { -brand-short-name } ## These strings are used to define the different levels of @@ -1080,7 +874,6 @@ content-blocking-etp-strict-desc = Más proteición, mas pue estropiar dalgunos sitios o dalgún conteníu content-blocking-etp-custom-desc = Escueyi los rastrexadores y scripts a bloquiar content-blocking-etp-blocking-desc = { -brand-short-name } bloquia: - content-blocking-private-windows = Conteníu que rastrexa nes llingüetes privaes content-blocking-cross-site-tracking-cookies = Cookies de rastrexu ente sitios content-blocking-all-cross-site-cookies-private-windows = Cookies ente sitios dientro de les ventanes en privao @@ -1097,12 +890,10 @@ content-blocking-warning-title = ¡Atención! content-blocking-and-isolating-etp-warning-description-2 = Esti axuste pue causar que dalgunos sitios web nun amuesen el conteníu o nun funcionen correutamente. Si te paez qu'un sitiu ta estropiáu, pues desactivar la proteición antirrastrexu pa esi sitiu y cargar tol conteníu. content-blocking-warning-learn-how = Lleer cómo - content-blocking-reload-description = Tienes de volver cargar les llingüetes p'aplicar estos cambeos. content-blocking-reload-tabs-button = .label = Volver cargar toles llingüetes .accesskey = r - content-blocking-tracking-content-label = .label = Conteníu que rastrexa .accesskey = t @@ -1113,19 +904,15 @@ .label = Namás nes ventanes privaes .accesskey = p content-blocking-tracking-protection-change-block-list = Camudar la llista de bloqueos - content-blocking-cookies-label = .label = Cookies .accesskey = C - content-blocking-expand-section = .tooltiptext = Más información - # Cryptomining refers to using scripts on websites that can use a computer’s resources to mine cryptocurrency without a user’s knowledge. content-blocking-cryptominers-label = .label = Criptomineros .accesskey = i - # Browser fingerprinting is a method of tracking users by the configuration and settings information (their "digital fingerprint") # that is visible to websites they browse, rather than traditional tracking methods such as IP addresses and unique cookies. content-blocking-fingerprinters-label = @@ -1141,58 +928,46 @@ ## Privacy Section - Permissions permissions-header = Permisos - permissions-location = Allugamientu permissions-location-settings = .label = Axustes… .accesskey = t - permissions-xr = Realidá virtual permissions-xr-settings = .label = Axustes… .accesskey = t - permissions-camera = Cámara permissions-camera-settings = .label = Axustes… .accesskey = t - permissions-microphone = Micrófonu permissions-microphone-settings = .label = Axustes… .accesskey = t - permissions-notification = Avisos permissions-notification-settings = .label = Axustes… .accesskey = t permissions-notification-link = Lleer más - permissions-notification-pause = .label = Posar los avisos hasta reaniciar { -brand-short-name } .accesskey = v - permissions-autoplay = Reproducción automática - permissions-autoplay-settings = .label = Axustes... .accesskey = e - permissions-block-popups = .label = Bloquiar los ventanos emerxentes .accesskey = B - # "popup" is a misspelling that is more popular than the correct spelling of # "pop-up" so it's included as a search keyword, not displayed in the UI. permissions-block-popups-exceptions-button = .label = Esceiciones… .accesskey = E .searchkeywords = ventanos emerxentes - permissions-addon-install-warning = .label = Avisate cuando los sitios web tenten d'instalar complementos .accesskey = v - permissions-addon-exceptions = .label = Esceiciones… .accesskey = E @@ -1200,32 +975,27 @@ ## Privacy Section - Data Collection collection-header = Recoyida y usu de datos de { -brand-short-name } - collection-description = Esforciámonos n'apurrite opciones y recoyer namás lo que precisamos pa fornir y ameyorar { -brand-short-name } pa tol mundu. Siempres pidimos permisu enantes de recibir información personal. collection-privacy-notice = Avisu de privacidá - collection-health-report-telemetry-disabled = Yá nun permites que { -vendor-short-name } capture datos téunicos y d'interaición. Tolos datos vieyos van desaniciase en 30 díes. collection-health-report-telemetry-disabled-link = Lleer más - collection-health-report = .label = Permitir a { -brand-short-name } qu'unvie datos téunicos y d'interaición a { -vendor-short-name } .accesskey = r collection-health-report-link = Lleer más - collection-studies = .label = Permitir a { -brand-short-name } qu'instale y execute estudios collection-studies-link = Amosar los estudios de { -brand-short-name } - addon-recommendations = .label = Permitir a { -brand-short-name } qu'aconseye estensiones de forma personalizada addon-recommendations-link = Lleer más - # This message is displayed above disabled data sharing options in developer builds # or builds with no Telemetry support available. collection-health-report-disabled = L'informe de datos ta desactiváu na configuración d'esta compilación - collection-backlogged-crash-reports-with-link = Permtir a { -brand-short-name } qu'unvie por ti los informes de casques acumulaos Llleer más .accesskey = c +collection-backlogged-crash-reports = Permtir a { -brand-short-name } qu'unvie por ti los informes de casques acumulaos + .accesskey = c ## Privacy Section - Security ## @@ -1233,18 +1003,14 @@ ## https://developers.google.com/safe-browsing/developers_guide_v2#AcceptableUsage security-header = Seguranza - security-browsing-protection = Proteición escontra'l software peligrosu y conteníu engañosu - security-enable-safe-browsing = .label = Bloquiar el conteníu engañosu y peligrosu .accesskey = B security-enable-safe-browsing-link = Lleer más - security-block-downloads = .label = Bloquiar les descargues peligroses .accesskey = p - security-block-uncommon-software = .label = Avisame del software non deseáu y poco común .accesskey = c @@ -1252,15 +1018,12 @@ ## Privacy Section - Certificates certs-header = Certificaos - certs-enable-ocsp = .label = Consultar los sirvidores de rempuesta OCSP pa confirmar la validez actual de los certificaos .accesskey = C - certs-view = .label = Ver los certificaos… .accesskey = c - certs-devices = .label = Preseos de seguranza… .accesskey = P @@ -1268,17 +1031,12 @@ ## Privacy Section - HTTPS-Only httpsonly-header = Mou de namás HTTPS - httpsonly-description = HTTPS apurre una conexón segura y cifrada ente { -brand-short-name } y los sitios web que visites. La mayoría d'estos sitios web sofiten HTTPS, polo que si'l mou de namás HTTPS ta activáu, { -brand-short-name } va usar HTTPS en toles conexones. - httpsonly-learn-more = Lleer más - httpsonly-radio-enabled = .label = Activar el mou de namás HTTPS en toles ventanes - httpsonly-radio-enabled-pbm = .label = Activar el mou de namás HTTPS únicamente nes ventanes privaes - httpsonly-radio-disabled = .label = Nun activar el mou de namás HTTPS diff -Nru firefox-esr-115.10.0esr+build1/l10n/ast/browser/browser/protectionsPanel.ftl firefox-esr-115.11.0esr+build1/l10n/ast/browser/browser/protectionsPanel.ftl --- firefox-esr-115.10.0esr+build1/l10n/ast/browser/browser/protectionsPanel.ftl 2024-04-08 19:11:45.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ast/browser/browser/protectionsPanel.ftl 2024-05-07 06:05:05.000000000 +0000 @@ -110,3 +110,9 @@ # Cookie Banner Handling + +## Protections panel info message + +cfr-protections-panel-header = Restola ensin que te sigan +cfr-protections-panel-body = Curia los tos datos. { -brand-short-name } protéxete de la mayoría de rastrexadores comunes que siguen lo que faes en llinia. +cfr-protections-panel-link-text = Lleer más diff -Nru firefox-esr-115.10.0esr+build1/l10n/ast/toolkit/crashreporter/crashreporter.ftl firefox-esr-115.11.0esr+build1/l10n/ast/toolkit/crashreporter/crashreporter.ftl --- firefox-esr-115.10.0esr+build1/l10n/ast/toolkit/crashreporter/crashreporter.ftl 1970-01-01 00:00:00.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ast/toolkit/crashreporter/crashreporter.ftl 2024-05-07 06:05:05.000000000 +0000 @@ -0,0 +1,26 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +crashreporter-title = Informante de casques +crashreporter-crash-message = { -brand-short-name } tuvo un problema y cascó. +crashreporter-plea = P'ayudanos a diagnosticar ya iguar el problema, pues unvianos un informe del casque. +# $details (String) - the reason that a crash report cannot be submitted +crashreporter-error-details = Detalles: { $details } +crashreporter-no-run-message = Esta aplicación execútase darréu de producise un casque pa informar al fornidor de l'aplicación. Nun habría executase direutamente. +crashreporter-button-details = Detalles… +crashreporter-view-report-title = Conteníu del informe +crashreporter-comment-prompt = Amiesta un comentariu (los comentarios son públicos) +crashreporter-report-info = Esti informe tamién contien la información téunica tocante al estáu de l'aplicación cuando cascó. +crashreporter-submit-status = L'informe del casque va unviase enantes de que coles o reanicies. +crashreporter-submit-in-progress = Unviando l'informe… +crashreporter-submit-success = ¡L'informe unvióse con ésitu! +crashreporter-submit-failure = Hebo un problema al unviar l'informe. +crashreporter-resubmit-status = Volviendo unviar los informes que nun pudieron unviase enantes… +crashreporter-button-quit = Colar de { -brand-short-name } +crashreporter-button-restart = Reaniciar { -brand-short-name } +crashreporter-button-ok = Aceptar +crashreporter-button-close = Zarrar + +# Error strings + diff -Nru firefox-esr-115.10.0esr+build1/l10n/ast/toolkit/toolkit/branding/brandings.ftl firefox-esr-115.11.0esr+build1/l10n/ast/toolkit/toolkit/branding/brandings.ftl --- firefox-esr-115.10.0esr+build1/l10n/ast/toolkit/toolkit/branding/brandings.ftl 2024-04-08 19:11:45.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ast/toolkit/toolkit/branding/brandings.ftl 2024-05-07 06:05:05.000000000 +0000 @@ -41,3 +41,4 @@ -relay-brand-name = Firefox Relay -relay-brand-short-name = Relay +-mozmonitor-brand-name = Mozilla Monitor diff -Nru firefox-esr-115.10.0esr+build1/l10n/ast/toolkit/toolkit/formautofill/formAutofill.ftl firefox-esr-115.11.0esr+build1/l10n/ast/toolkit/toolkit/formautofill/formAutofill.ftl --- firefox-esr-115.10.0esr+build1/l10n/ast/toolkit/toolkit/formautofill/formAutofill.ftl 2024-04-08 19:11:45.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ast/toolkit/toolkit/formautofill/formAutofill.ftl 2024-05-07 06:05:05.000000000 +0000 @@ -1,3 +1,28 @@ # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. + + +## OS Prompt Dialog + + +## The credit card capture doorhanger + + +# Used on the doorhanger when an credit card change is detected. + + +## These are brand names and should only be translated when a locale-specific name for that brand is in common use + +autofill-card-network-amex = American Express +autofill-card-network-diners = Diners Club +autofill-card-network-jcb = JCB +autofill-card-network-mastercard = MasterCard +autofill-card-network-mir = MIR +autofill-card-network-unionpay = Union Pay +autofill-card-network-visa = Visa +# Used in autofill drop down suggestion to indicate what other categories Form Autofill will attempt to fill. +autofill-category-address = direición +autofill-category-name = nome +autofill-category-organization = organización +autofill-category-tel = teléfonu diff -Nru firefox-esr-115.10.0esr+build1/l10n/ast/toolkit/toolkit/global/arrowscrollbox.ftl firefox-esr-115.11.0esr+build1/l10n/ast/toolkit/toolkit/global/arrowscrollbox.ftl --- firefox-esr-115.10.0esr+build1/l10n/ast/toolkit/toolkit/global/arrowscrollbox.ftl 1970-01-01 00:00:00.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/ast/toolkit/toolkit/global/arrowscrollbox.ftl 2024-05-07 06:05:05.000000000 +0000 @@ -0,0 +1,3 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. diff -Nru firefox-esr-115.10.0esr+build1/l10n/az/browser/browser/preferences/preferences.ftl firefox-esr-115.11.0esr+build1/l10n/az/browser/browser/preferences/preferences.ftl --- firefox-esr-115.10.0esr+build1/l10n/az/browser/browser/preferences/preferences.ftl 2024-04-08 19:11:48.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/az/browser/browser/preferences/preferences.ftl 2024-05-07 06:05:08.000000000 +0000 @@ -6,29 +6,22 @@ do-not-track-learn-more = Ətraflı öyrən do-not-track-option-always = .label = Həmişə - pane-general-title = Ümumi category-general = .tooltiptext = { pane-general-title } - pane-home-title = Ev category-home = .tooltiptext = { pane-home-title } - pane-search-title = Axtarış category-search = .tooltiptext = { pane-search-title } - pane-privacy-title = Məxfilik və Təhlükəsizlik category-privacy = .tooltiptext = { pane-privacy-title } - help-button-label = { -brand-short-name } Dəstək addons-button-label = Uzantılar və Mövzular - focus-search = .key = f - close-button = .aria-label = Bağla @@ -49,17 +42,6 @@ ## is going to be replaced by the extension icon. ## ## Variables: -## $name (String): name of the extension - - -## Extension Control Notifications -## -## These strings are used to inform the user -## about changes made by extensions to browser settings. -## -## is going to be replaced by the extension icon. -## -## Variables: ## $name (string) - Name of the extension # This string is shown after the user disables an extension to notify the user @@ -72,55 +54,41 @@ ## Preferences UI Search Results search-results-header = Axtarış Nəticələri - search-results-help-link = Kömək lazımdır? { -brand-short-name } Dəstək ziyarət edin ## General Section startup-header = Başlanğıc - always-check-default = .label = { -brand-short-name } səyyahının əsas səyyahınız olub olmadığını hər dəfə yoxla .accesskey = y - is-default = { -brand-short-name } hazırda əsas səyyahınızdır is-not-default = { -brand-short-name } əsas səyyahınız deyil - set-as-my-default-browser = .label = Əsas səyyahım et… .accesskey = m - disable-extension = .label = Uzantını söndür - tabs-group-header = Vərəqlər - ctrl-tab-recently-used-order = .label = Ctrl+Tab son istifadə etmə sırasına görə vərəqlər arasında dönsün .accesskey = T - open-new-link-as-tabs = .label = Keçidləri yeni pəncərə yerinə vərəqlərdə aç .accesskey = p - warn-on-open-many-tabs = .label = Çoxlu vərəq açmağın { -brand-short-name } səyyahını yavaşlada biləcəyindən xəbərdar olun .accesskey = d - show-tabs-in-taskbar = .label = Vərəqlərə ön baxışı Windows tapşırıq panelində göstər .accesskey = e - browser-containers-enabled = .label = Konteyner Vərəqlərini Aktivləşdir .accesskey = n - browser-containers-learn-more = Ətraflı öyrən - browser-containers-settings = .label = Tənzimləmələr… .accesskey = i - containers-disable-alert-title = Bütün konteyner vərəqlər qapatılsın? ## Variables: @@ -131,7 +99,6 @@ [one] Əgər Konteyner Vərəqlərini indi söndürsəniz { $tabCount } konteyner vərəqi qapadılacaq. Konteyner Vərəqləri söndürmək istədiyinizə əminsiniz? *[other] Əgər Konteyner Vərəqlərini indi söndürsəniz { $tabCount } konteyner vərəqi qapadılacaq. Konteyner Vərəqləri söndürmək istədiyinizə əminsiniz? } - containers-disable-alert-ok-button = { $tabCount -> [one] { $tabCount } konteyner vərəqini qapat @@ -141,9 +108,7 @@ ## containers-disable-alert-cancel-button = Açıq tut - containers-remove-alert-title = Bu konteyner silinsin? - # Variables: # $count (Number) - Number of tabs that will be closed. containers-remove-alert-msg = @@ -151,50 +116,39 @@ [one] Əgər bu Konteyneri indi silsəz, { $count } konteyner vərəqi qapadılacaq. Bu Konteyneri silmək istədiyinizə əminsiniz? *[other] Əgər bu Konteyneri indi silsəz, { $count } konteyner vərəqi qapadılacaq. Bu Konteyneri silmək istədiyinizə əminsiniz? } - containers-remove-ok-button = Bu konteyneri sil containers-remove-cancel-button = Bu konteyneri silmə ## General Section - Language & Appearance language-and-appearance-header = Dil və Görünüş - default-font = Əsas şrift .accesskey = f default-font-size = Ölçü .accesskey = l - advanced-fonts = .label = Təkmilləşmiş… .accesskey = T - language-header = Dil - choose-language-description = Səhifələrin göstəriləcəyi dili seçin - choose-button = .label = Seçin… .accesskey = S - choose-browser-language-description = Menyu, mesaj və bildirişlərin { -brand-short-name } səyyahında göstərildiyi dilləri seçin. manage-browser-languages-button = .label = Alternativləri seç .accesskey = l confirm-browser-language-change-description = Dəyişiklikləri tətbiq etmək üçün { -brand-short-name } səyyahını yenidən başladın confirm-browser-language-change-button = Tətbiq et və Yenidən başlat - translate-web-pages = .label = Web məzmunu tərcümə et .accesskey = t - # The element is replaced by the logo of the provider # used to provide machine translations for web pages. translate-attribution = Tərcüməçilər - translate-exceptions = .label = İstisnalar… .accesskey = t - check-user-spelling = .label = Hərf səhvləriniz siz yazdıqca yoxlanılsın .accesskey = y @@ -202,12 +156,9 @@ ## General Section - Files and Applications files-and-applications-title = Fayllar və Tətbiqlər - download-header = Endirilənlər - download-save-where = Faylların saxlandığı yer .accesskey = y - download-choose-folder = .label = { PLATFORM() -> @@ -219,56 +170,43 @@ [macos] S *[other] B } - download-always-ask-where = .label = Faylların saxlanacağı yeri həmişə soruş .accesskey = A - applications-header = Tədbiqetmələr - applications-description = { -brand-short-name } səyyahının internetdən endirdiyiniz faylları və ya internetdə gəzərkən işlətdiyiniz tətbiqetmələri necə idarə edəcəyini seçin. - applications-filter = .placeholder = Fayl növləri və tətbiqetmələri axtar - applications-type-column = .label = Məzmun formatı .accesskey = t - applications-action-column = .label = Əməliyyat .accesskey = Ə - # Variables: # $extension (String) - file extension (e.g .TXT) applications-file-ending = { $extension } faylı applications-action-save = .label = Fərqli saxla - # Variables: # $app-name (String) - Name of an application (e.g Adobe Acrobat) applications-use-app = .label = { $app-name } istifadə olunsun - # Variables: # $app-name (String) - Name of an application (e.g Adobe Acrobat) applications-use-app-default = .label = { $app-name } istifadə olunsun (standart) - applications-use-other = .label = Başqasından istifadə et… applications-select-helper = Köməkçi proqramı seçin - applications-manage-app = .label = Proqram detalları… applications-always-ask = .label = Həmişə soruş - # Variables: # $type-description (String) - Description of the type (e.g "Portable Document Format") # $type (String) - the MIME type (e.g application/binary) applications-type-description-with-type = { $type-description } ({ $type }) - # Variables: # $plugin-name (String) - Name of a plugin (e.g Adobe Flash) applications-use-plugin-in = @@ -280,56 +218,40 @@ applications-use-plugin-in-label = .value = { applications-use-plugin-in.label } - applications-action-save-label = .value = { applications-action-save.label } - applications-use-app-label = .value = { applications-use-app.label } - applications-always-ask-label = .value = { applications-always-ask.label } - applications-use-app-default-label = .value = { applications-use-app-default.label } - applications-use-other-label = .value = { applications-use-other.label } ## drm-content-header = Rəqəmsal Hüquqların İdarəsi (DRM) Məzmunu - play-drm-content = .label = DRM-idarəli məzmunu oxut (güvənilir deyil) .accesskey = o - play-drm-content-learn-more = Ətraflı öyrən - update-application-title = { -brand-short-name } yeniləmələri - update-application-description = Yaxşı məhsuldarlıq, sabitlik və təhlükəsizlik üçün { -brand-short-name } səyyahını daima yeni tutun. - update-application-version = Buraxılış { $version } Yeniliklər - update-history = .label = Yeniləmə tarixçəsini göstər… .accesskey = e - update-application-allow-description = { -brand-short-name } səyyahı - update-application-auto = .label = Yeniləmələri avtomatik qur (məsləhət görülür) .accesskey = A - update-application-check-choose = .label = Yeniləmələri yoxlasın amma qurma qərasını sizə versin .accesskey = Y - update-application-manual = .label = Yeniləmələri heç vaxt yoxlamasın (məsləhətli deyil) .accesskey = N - update-application-use-service = .label = Yeniləmələri quraşdırmaq üçün arxa plan xidmətindən istifadə et .accesskey = a @@ -337,25 +259,18 @@ ## General Section - Performance performance-title = Məhsuldarlıq - performance-use-recommended-settings-checkbox = .label = Məsləhət görülən məhsuldarlıq tənzimləmələrini işlət .accesskey = U - performance-use-recommended-settings-desc = Bu tənzimləmələr kompüterinizin avadanlığı və əməliyyat sistemi üçün hazırlanıb. - performance-settings-learn-more = Ətraflı öyrən - performance-allow-hw-accel = .label = Mümkün olduğu vaxt təchizat sürətlənməsindən istifadə et .accesskey = d - performance-limit-content-process-option = Məzmun proses limiti .accesskey = L - performance-limit-content-process-enabled-desc = Əlavə məzmun prosesləri çox vərəq işlətdikdə məhsuldarlığı artıra bilərlər, amma daha çox yaddaş işlədəcəklər. performance-limit-content-process-blocked-desc = Məzmun proseslərinin sayısının dəyişdirilməsi ancaq çox-prosesli { -brand-short-name } ilə mümkündür. Çox-prosesliliyin aktiv olmasını necə yoxlayacağınızı görün - # Variables: # $num - default value of the `dom.ipc.processCount` pref. performance-default-content-process-count = @@ -364,41 +279,31 @@ ## General Section - Browsing browsing-title = Səyahət - browsing-use-autoscroll = .label = Avtomatik sürüşdürmədən istifadə et .accesskey = A - browsing-use-smooth-scrolling = .label = Axıcı sürüşdürmədən istifadə et .accesskey = c - browsing-use-onscreen-keyboard = .label = Lazım olduqda toxunmalı klaviaturanı göstər .accesskey = k - browsing-use-cursor-navigation = .label = Səhifələrdə hərəkət edərkən yazi kursorundan istifadə et .accesskey = S - browsing-search-on-start-typing = .label = Yazmağa başladığınız zaman söz axtarılsın .accesskey = x - browsing-cfr-recommendations = .label = Gəzərkən uzantıları məsləhət gör .accesskey = R - browsing-cfr-recommendations-learn-more = Ətraflı Öyrən ## General Section - Proxy network-settings-title = Şəbəkə Tənzimləmələri - network-proxy-connection-description = { -brand-short-name } səyyahının internetə necə qoşulduğunu idarə et. - network-proxy-connection-learn-more = Ətraflı öyrən - network-proxy-connection-settings = .label = Nizamlar… .accesskey = a @@ -406,28 +311,21 @@ ## Home Section home-new-windows-tabs-header = Yeni Pəncərələr və Vərəqlər - home-new-windows-tabs-description2 = Ev səhifənizi, yeni pəncərə və vərəqləri açdığınızda nə gördüyünüzü seçin. ## Home Section - Home Page Customization home-homepage-mode-label = Ev səhifəsi və yeni pəncərələr - home-newtabs-mode-label = Yeni vərəqlər - home-restore-defaults = .label = İlkin Seçənəkləri Bərpa et .accesskey = R - home-mode-choice-custom = .label = Fərdi Ünvanlar… - home-mode-choice-blank = .label = Boş Səhifə - home-homepage-custom-url = .placeholder = Ünvan Yapışdır - # This string has a special case for '1' and [other] (default). If necessary for # your language, you can add {$tabCount} to your translations and use the # standard CLDR forms, or only use the form for [other] if both strings should @@ -439,7 +337,6 @@ *[other] Hazırkı səhifələri istifadə et } .accesskey = H - choose-bookmark = .label = Əlfəcin istifadə et… .accesskey = Ə @@ -450,10 +347,6 @@ .label = Web Axtarış ## Variables: -## $provider (String): Name of the corresponding content provider, e.g "Pocket". - - -## Variables: ## $provider (string) - Name of the corresponding content provider, e.g "Pocket". # Variables: @@ -466,7 +359,6 @@ home-prefs-recommended-by-learn-more = Bu necə işləyir home-prefs-recommended-by-option-sponsored-stories = .label = Sponsorlaşdırılmış Hekayələr - home-prefs-highlights-option-visited-pages = .label = Baxılmış Səhifələr home-prefs-highlights-options-bookmarks = @@ -475,14 +367,12 @@ .label = Son Endirmələr home-prefs-highlights-option-saved-to-pocket = .label = { -pocket-brand-name }-ə Saxlanılan Səhifələr - # For the "Snippets" feature traditionally on about:home. # Alternative translation options: "Small Note" or something that # expresses the idea of "a small message, shortened from something else, # and non-essential but also not entirely trivial and useless. home-prefs-snippets-header = .label = Hissələr - home-prefs-sections-rows-option = .label = { $num -> @@ -497,18 +387,13 @@ .label = Ünvan sətrini axtarış və naviqasiya üçün işlədin search-bar-shown = .label = Axtarış sətrini alət sətrinə əlavə et - search-engine-default-header = Əsas axtarış mühərriyi - search-suggestions-option = .label = Axtarış təkliflərini göstər .accesskey = t - search-show-suggestions-url-bar-option = .label = Ünvan sətri nəticələrində axtarış təkliflərini göstər .accesskey = l - - # This string describes what the user will observe when the system # prioritizes search suggestions over browsing history in the results # that extend down from the address bar. In the original English string, @@ -516,26 +401,19 @@ # (appearing before). search-show-suggestions-above-history-option = .label = Ünvan Sətri nəticələrində axtarış təkliflərini səyahət tarixçəsindən əvvəl göstər - search-suggestions-cant-show = { -brand-short-name } səyyahını tarixçəni xatırlamayacaq şəkildə nizamladığınız üçün ünvan sətri nəticələrində axtarış təklifləri göstərilməyəcək. - search-one-click-desc = Ünvan və axtarış sətrinə söz daxil etdiyinizdə gələn axtarış mühərriklərini seçin. - search-choose-engine-column = .label = Axtarış Mühərriyi search-choose-keyword-column = .label = Açar söz - search-restore-default = .label = İlkin axtarış nizamlarını bərpa et .accesskey = b - search-remove-engine = .label = Sil .accesskey = S - search-find-more-link = Daha çox axtarış mühərriyi tap - # This warning is displayed when the chosen keyword is already in use # ('Duplicate' is an adjective) search-keyword-warning-title = Təkrarlanan Açar Söz @@ -550,19 +428,13 @@ containers-add-button = .label = Yeni konteyner əlavə et .accesskey = A - containers-remove-button = .label = Sil -## Firefox Account - Signed out. Note that "Sync" and "Firefox Account" are now -## more discrete ("signed in" no longer means "and sync is connected"). - - ## Firefox account - Signed out. Note that "Sync" and "Firefox account" are now ## more discrete ("signed in" no longer means "and sync is connected"). sync-signedout-caption = Web-inizi özünüzlə gəzdirin - # This message contains two links and two icon images. # `` - Android logo icon # `` - Link to Android Download @@ -573,14 +445,13 @@ # to your language, but should not be changed or translated. sync-mobile-promo = Mobil cihazınızda sinronlaşdırmaq istəyirsinizsə Android və ya iOS üçün Firefox endirin. -## Firefox Account - Signed in - - ## Firefox account - Signed in sync-profile-picture = .tooltiptext = Profil şəklini dəyiş - +sync-profile-picture-with-alt = + .tooltiptext = Profil şəklini dəyiş + .alt = Profil şəklini dəyiş sync-manage-account = Hesabı idarə et .accesskey = b @@ -595,11 +466,9 @@ sync-resend-verification = .label = Təsdiqi təkrar göndər .accesskey = d - sync-remove-account = .label = Hesabı sil .accesskey = H - sync-sign-in = .label = Daxil ol .accesskey = x @@ -615,26 +484,21 @@ sync-engine-bookmarks = .label = Əlfəcinlər .accesskey = c - sync-engine-history = .label = Keçmiș .accesskey = i - sync-engine-tabs = .label = Açıq Vərəqlər .tooltiptext = Sinxronlaşdırılmış cihazlarda açıq olanların siyahısı .accesskey = V - sync-engine-addresses = .label = Ünvanlar .tooltiptext = Saxladığınız poçt ünvanları (ancaq masaüstü) .accesskey = v - sync-engine-creditcards = .label = Kredit kartları .tooltiptext = Adlar, nömrələr və vaxtı çıxma tarixləri (ancaq masaüstü) .accesskey = K - sync-engine-addons = .label = Əlavələr .tooltiptext = Firefox masaüstü üçün uzantı və mövzular @@ -643,19 +507,15 @@ ## The device name controls. sync-device-name-header = Cihaz Adı - sync-device-name-change = .label = Cihaz adını dəyişdir… .accesskey = h - sync-device-name-cancel = .label = Ləğv et .accesskey = L - sync-device-name-save = .label = Saxla .accesskey = S - sync-connect-another-device = Digər cihazı qoş ## These strings are shown in a desktop notification after the @@ -677,30 +537,32 @@ # The search keyword isn't shown to users but is used to find relevant settings in about:preferences. pane-privacy-logins-and-passwords-header = Hesablar və Parollar .searchkeywords = { -lockwise-brand-short-name } - forms-ask-to-save-logins = .label = Daxil olma və parolları saxlamaq üçün soruş .accesskey = r + +## Privacy Section - Passwords + forms-exceptions = .label = İstisnalar… .accesskey = n - forms-saved-logins = .label = Saxlanmış Daxil olmalar… .accesskey = D forms-master-pw-change = .label = Ana parolu dəyişdir… .accesskey = d - forms-master-pw-fips-desc = Parolu dəyişdirmək mümkün olmadı. ## OS Authentication dialog +## Privacy section - Autofill + + ## Privacy Section - History history-header = Tarixçə - # This label is followed, on the same line, by a dropdown list of options # (Remember history, etc.). # In English it visually creates a full sentence, e.g. @@ -712,37 +574,29 @@ # - As a stand-alone message, for example "Firefox history settings:". history-remember-label = { -brand-short-name } səyyahı .accesskey = s - history-remember-option-all = .label = Tarixçəni xatırlayacaq history-remember-option-never = .label = Tarixçəni heç vaxt xatırlama history-remember-option-custom = .label = Tarixçə üçün fərdi tənzimləmələri işlət - history-remember-description = { -brand-short-name } səyahət, endirmə, forma və axtarış tarixçənizi yadda saxlayacaq. history-dontremember-description = { -brand-short-name } gizli baxışdakı nizamlamalardan istifadə edəcək və siz Web-də gəzərkən keçmişlə bağlı heçnə xatırlamayacaq. - history-private-browsing-permanent = .label = Həmişə gizli baxış rejimindən istifadə et .accesskey = g - history-remember-browser-option = .label = Səyahət və endirmə tarixini yadda saxla .accesskey = t - history-remember-search-option = .label = Axtarış və form keçmişini xatırla .accesskey = f - history-clear-on-close-option = .label = { -brand-short-name } bağlananda tarixçəni sil .accesskey = s - history-clear-on-close-settings = .label = Nizamlar… .accesskey = a - history-clear-button = .label = Tarixçəni Təmizlə… .accesskey = T @@ -750,39 +604,29 @@ ## Privacy Section - Site Data sitedata-header = Çərəzlər və Sayt Məlumatları - sitedata-total-size-calculating = Sayt məlumatları və keş ölçüsü hesablanır… - # Variables: # $value (Number) - Value of the unit (for example: 4.6, 500) # $unit (String) - Name of the unit (for example: "bytes", "KB") sitedata-total-size = Saxlanılan çərəz, sayt məlumatları və keşləriniz hazırda { $value } { $unit } disk işlədirlər. - sitedata-learn-more = Ətraflı öyrən - sitedata-delete-on-close = .label = { -brand-short-name } qapatıldığında çərəzləri və sayt məlumatlarını sil .accesskey = s - sitedata-delete-on-close-private-browsing = Daimi məxfi səyahət rejimində çərəzlər və sayt məlumatları { -brand-short-name } hər qapatıldığında silinəcəklər. - sitedata-allow-cookies-option = .label = Çərəz və sayt məlumatlarını qəbul et .accesskey = A - sitedata-disallow-cookies-option = .label = Çərəz və sayt məlumatlarını əngəllə .accesskey = l - # This label means 'type of content that is blocked', and is followed by a drop-down list with content types below. # The list items are the strings named sitedata-block-*-option*. sitedata-block-desc = Əngəllənən növ .accesskey = n - sitedata-clear = .label = Məlumatları təmizlə… .accesskey = l - sitedata-settings = .label = Məlumatları idarə et… .accesskey = M @@ -790,12 +634,13 @@ ## Privacy Section - Cookie Banner Handling +## Privacy Section - Cookie Banner Blocking + + ## Privacy Section - Address Bar addressbar-header = Ünvan Sətri - addressbar-suggest = Ünvan sətrindən istifadə edərkən bunları təklif et: - addressbar-locbar-history-option = .label = Səyahət tarixçəsi .accesskey = H @@ -805,7 +650,6 @@ addressbar-locbar-openpage-option = .label = Açıq vərəqlər .accesskey = A - addressbar-suggestions-settings = Axtarış mühərriyi təklifləri üçün nizamlamaları dəyiş ## Privacy Section - Content Blocking @@ -828,10 +672,10 @@ ## + # The tcp-rollout strings are no longer used for the rollout but for tcp-by-default in the standard section content-blocking-warning-title = Diqqət! - content-blocking-tracking-protection-option-all-windows = .label = Bütün pəncərələrdə .accesskey = B @@ -839,11 +683,9 @@ .label = Ancaq Məxfi Pəncərələrdə .accesskey = p content-blocking-tracking-protection-change-block-list = Qara siyahını dəyişdir - content-blocking-cookies-label = .label = Çərəzlər .accesskey = z - # Cryptomining refers to using scripts on websites that can use a computer’s resources to mine cryptocurrency without a user’s knowledge. content-blocking-cryptominers-label = .label = Kriptomaynerlər @@ -858,40 +700,32 @@ ## Privacy Section - Permissions permissions-header = İcazələr - permissions-location = Mövqe permissions-location-settings = .label = Tənzimləmələr… .accesskey = t - permissions-camera = Kamera permissions-camera-settings = .label = Tənzimləmələr… .accesskey = t - permissions-microphone = Mikrofon permissions-microphone-settings = .label = Tənzimləmələr… .accesskey = t - permissions-notification = Bildirişlər permissions-notification-settings = .label = Tənzimləmələr… .accesskey = t permissions-notification-link = Ətraflı öyrən - permissions-notification-pause = .label = { -brand-short-name } yenidən başladılana qədər bildirişləri dayandır .accesskey = n - permissions-block-popups = .label = Peyda olan pəncərələri blokla .accesskey = b - permissions-addon-install-warning = .label = Saytlar əlavə quraşdırmaq istədikdə xəbərdar olun .accesskey = x - permissions-addon-exceptions = .label = İstisnalar… .accesskey = s @@ -899,21 +733,16 @@ ## Privacy Section - Data Collection collection-header = { -brand-short-name } məlumat toplama və istifadəsi - collection-description = { -brand-short-name } səyyahını hamı üçün yaxşılaşdırmağa lazım olacaq məlumatları yığıb sizi ən yaxşı seçimlərlə təmin etmək üçün işləyirik. Şəxsi məlumatları almazdan əvvəl hər dəfə sizdən icazə istəyirik. collection-privacy-notice = Məxfilik Bildirişi - collection-health-report = .label = { -brand-short-name } səyyahına { -vendor-short-name }ya texniki və qarşılıqlı əlaqə məlumatlarını göndərməyə icazə ver .accesskey = r collection-health-report-link = Ətraflı - collection-studies = .label = { -brand-short-name } səyyahına tədqiqatları qurub və işlətməyə icazə ver collection-studies-link = { -brand-short-name } tədqiqatlarını gör - addon-recommendations-link = Ətraflı öyrən - # This message is displayed above disabled data sharing options in developer builds # or builds with no Telemetry support available. collection-health-report-disabled = Bu quraşdırmanın konfiqurasiyasında məlumat xəbərdarlığı söndürülüb @@ -924,18 +753,14 @@ ## https://developers.google.com/safe-browsing/developers_guide_v2#AcceptableUsage security-header = Təhlükəsizlik - security-browsing-protection = Aldadıcı Məzmun və Təhlükəli Proqram Qoruması - security-enable-safe-browsing = .label = Təhlükəli və aldadıcı məzmunu blokla .accesskey = b security-enable-safe-browsing-link = Ətraflı öyrən - security-block-downloads = .label = Təhlükəli endirmələri blokla .accesskey = d - security-block-uncommon-software = .label = İstənməyən və ümumi olmayan proqramlar haqqında xəbərdar olun .accesskey = o @@ -943,15 +768,12 @@ ## Privacy Section - Certificates certs-header = Sertifikatlar - certs-enable-ocsp = .label = Sertifikatların keçərliliyini təsdiqləmək üçün OCSP cavabdehlik serverlərinə Sorğu göndər .accesskey = S - certs-view = .label = Sertifikatları göstər… .accesskey = S - certs-devices = .label = Təhlükəsizlik cihazları… .accesskey = T diff -Nru firefox-esr-115.10.0esr+build1/l10n/az/toolkit/crashreporter/crashreporter.ftl firefox-esr-115.11.0esr+build1/l10n/az/toolkit/crashreporter/crashreporter.ftl --- firefox-esr-115.10.0esr+build1/l10n/az/toolkit/crashreporter/crashreporter.ftl 1970-01-01 00:00:00.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/az/toolkit/crashreporter/crashreporter.ftl 2024-05-07 06:05:08.000000000 +0000 @@ -0,0 +1,28 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +crashreporter-title = Çökmə Məlumatçısı +crashreporter-crash-message = { -brand-short-name } problemlə üzləşdi və çökdü. +crashreporter-plea = Problemi təyin etməyimiz və həll etməyimizə kömək etmək üçün hesabat göndərə bilərsiniz. +# $details (String) - the reason that a crash report cannot be submitted +crashreporter-error-details = Detallar: { $details } +crashreporter-no-run-message = Bu məlumatçı, çökmədən sonra problemi proqram təchizatçısına bildirmək üçün istifadə olunur. Bu birbaşa açılmamalıdır. +crashreporter-button-details = Detallar… +crashreporter-view-report-title = Hesabat məzmunu +crashreporter-comment-prompt = Fikrinizi yazın (yazılan fikirlər hamı tərəfindən görünə bilər.) +crashreporter-report-info = Bu hesabata proqramın çökmə anındakı vəziyyəti ilə bağlı məlumatlar da daxildir. +crashreporter-submit-status = Hesabatınız siz çıxanda ya da yenidən başladanda göndəriləcək. +crashreporter-submit-in-progress = Hesabatınız göndərilir… +crashreporter-submit-success = Hesabat uğurla göndərildi! +crashreporter-submit-failure = Hesabatınızın göndərilməsində problem baş verdi. +crashreporter-resubmit-status = Daha əvvəl göndərilməyən hesabatlar göndərilir… +crashreporter-button-quit = { -brand-short-name } proqramından çıx +crashreporter-button-restart = { -brand-short-name } proqramını yenidən başlat +crashreporter-button-ok = Tamam +crashreporter-button-close = Bağla +# $id (String) - the crash id from the server, typically a UUID +crashreporter-crash-identifier = Çökmə kimliyi: { $id } + +# Error strings + diff -Nru firefox-esr-115.10.0esr+build1/l10n/az/toolkit/toolkit/branding/brandings.ftl firefox-esr-115.11.0esr+build1/l10n/az/toolkit/toolkit/branding/brandings.ftl --- firefox-esr-115.10.0esr+build1/l10n/az/toolkit/toolkit/branding/brandings.ftl 2024-04-08 19:11:48.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/az/toolkit/toolkit/branding/brandings.ftl 2024-05-07 06:05:08.000000000 +0000 @@ -41,3 +41,4 @@ -relay-brand-name = Firefox Relay -relay-brand-short-name = Relay +-mozmonitor-brand-name = Mozilla Monitor diff -Nru firefox-esr-115.10.0esr+build1/l10n/az/toolkit/toolkit/formautofill/formAutofill.ftl firefox-esr-115.11.0esr+build1/l10n/az/toolkit/toolkit/formautofill/formAutofill.ftl --- firefox-esr-115.10.0esr+build1/l10n/az/toolkit/toolkit/formautofill/formAutofill.ftl 2024-04-08 19:11:48.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/az/toolkit/toolkit/formautofill/formAutofill.ftl 2024-05-07 06:05:08.000000000 +0000 @@ -14,3 +14,33 @@ # Used on the doorhanger when an credit card change is detected. +# Label for the button in the dropdown menu used to clear the populated form. +autofill-clear-form-label = Avtomatik doldurulmuş formanı təmizlə + +## These are brand names and should only be translated when a locale-specific name for that brand is in common use + +autofill-card-network-amex = American Express +autofill-card-network-cartebancaire = Carte Bancaire +autofill-card-network-diners = Diners Club +autofill-card-network-discover = Discover +autofill-card-network-jcb = JCB +autofill-card-network-mastercard = MasterCard +autofill-card-network-mir = MIR +autofill-card-network-unionpay = Union Pay +autofill-card-network-visa = Visa +# The warning text that is displayed for informing users what categories are +# about to be filled. The text would be, for example, +# Also autofills organization, phone, email. +# Variables: +# $categories - one or more of the categories, see autofill-category-X below +autofill-phishing-warningmessage-extracategory = Həmçinin { $categories } bölmələrini avtomatik doldurur +# Variation when all are in the same category. +# Variables: +# $categories - one or more of the categories +autofill-phishing-warningmessage = { $categories } bölməsini avtomatik doldurur +# Used in autofill drop down suggestion to indicate what other categories Form Autofill will attempt to fill. +autofill-category-address = ünvan +autofill-category-name = ad +autofill-category-organization = təşkilat +autofill-category-tel = telefon +autofill-category-email = e-poçt diff -Nru firefox-esr-115.10.0esr+build1/l10n/az/toolkit/toolkit/global/arrowscrollbox.ftl firefox-esr-115.11.0esr+build1/l10n/az/toolkit/toolkit/global/arrowscrollbox.ftl --- firefox-esr-115.10.0esr+build1/l10n/az/toolkit/toolkit/global/arrowscrollbox.ftl 1970-01-01 00:00:00.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/az/toolkit/toolkit/global/arrowscrollbox.ftl 2024-05-07 06:05:08.000000000 +0000 @@ -0,0 +1,3 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/aboutDialog.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/aboutDialog.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/aboutDialog.ftl 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/aboutDialog.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -4,17 +4,13 @@ aboutDialog-title = .title = Пра { -brand-full-name } - releaseNotes-link = Што новага - update-checkForUpdatesButton = .label = Праверыць наяўнасць абнаўленняў .accesskey = П - update-updateButton = .label = Перазапуск для абнаўлення { -brand-shorter-name } .accesskey = П - update-checkingForUpdates = Праверка існавання абнаўленняў… ## Variables: @@ -26,11 +22,10 @@ ## update-applying = Прымяняецца абнаўленне… - update-failed = Няўдача абнаўлення. update-failed-main = Няўдача абнаўлення. Сцягнуць апошнюю версію - update-adminDisabled = Абнаўленні забаронены вашым сістэмным адміністратарам +update-policy-disabled = Абнаўленні адключаны вашай арганізацыяй update-noUpdatesFound = { -brand-short-name } абноўлены aboutdialog-update-checking-failed = Не ўдалося праверыць наяўнасць абнаўленняў. update-otherInstanceHandlingUpdates = { -brand-short-name } абнаўляецца іншым асобнікам @@ -40,11 +35,8 @@ aboutdialog-update-manual-with-link = Абнаўленні даступныя на settings-update-manual-with-link = Абнаўленні даступныя на { $displayUrl } - update-unsupported = Вы не можаце працягнуць абнаўленне на гэтай сістэме. - update-restarting = Перазапуск… - update-internal-error2 = Немагчыма праверыць наяўнасць абнаўленняў з-за ўнутранай памылкі. Абнаўленні даступныя па адрасе ## @@ -52,28 +44,20 @@ # Variables: # $channel (String): description of the update channel (e.g. "release", "beta", "nightly" etc.) aboutdialog-channel-description = Зараз вы на канале абнаўленняў. - warningDesc-version = { -brand-short-name } — эксперыментальны, і можа быць няўстойлівым. - aboutdialog-help-user = Даведка { -brand-product-name } aboutdialog-submit-feedback = Падаць водгук - community-exp = , якое працуе разам, каб захаваць Сеціва адкрытым, публічным і даступным кожнаму. - community-2 = { -brand-short-name } распрацаваны , , якое працуе разам, каб захаваць Сеціва адкрытым, публічным і даступным кожнаму. - helpus = Хочаце дапамагчы? або - bottomLinks-license = Звесткі пра ліцэнзію bottomLinks-rights = Правы канчатковага карыстальніка bottomLinks-privacy = Палітыка прыватнасці - # Example of resulting string: 66.0.1 (64-bit) # Variables: # $version (String): version of Firefox, e.g. 66.0.1 # $bits (Number): bits of the architecture (32 or 64) aboutDialog-version = { $version } ({ $bits }-біт) - # Example of resulting string: 66.0a1 (2019-01-16) (64-bit) # Variables: # $version (String): version of Firefox for Nightly builds, e.g. 66.0a1 diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/aboutLogins.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/aboutLogins.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/aboutLogins.ftl 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/aboutLogins.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -130,6 +130,7 @@ about-logins-login-item-remove-button = Выдаліць login-item-origin-label = Адрас сайта login-item-tooltip-message = Упэўніцеся, што гэта дакладны адрас сайта, на якім вы ўваходзіце ў сістэму. +about-logins-origin-tooltip2 = Увядзіце поўны адрас і пераканайцеся, што ён дакладна адпавядае месцу, дзе вы ўваходзіце. # Variables # $webTitle (String) - Website title of the password being changed. about-logins-edit-password-tooltip = Пераканайцеся, што вы захоўваеце свой дзейны пароль для гэтага сайта. Змена пароля тут не мяняе яго на { $webTitle }. @@ -177,6 +178,9 @@ about-logins-edit-login-os-auth-dialog-message-macosx = рэдагаваць захаваны лагін # This message can be seen when attempting to edit a login in about:logins on Windows. about-logins-edit-login-os-auth-dialog-message2-win = Каб змяніць свой пароль, увядзіце свае ўліковыя дадзеныя для ўваходу ў Windows. Гэта дапамагае захоўваць бяспеку вашых уліковых запісаў. +# This message can be seen when attempting to edit a login in about:logins +# On MacOS, only provide the reason that account verification is needed. Do not put a complete sentence here. +about-logins-edit-login-os-auth-dialog-message2-macosx = змяніць захаваны пароль # This message can be seen when attempting to reveal a password in about:logins on Windows. about-logins-reveal-password-os-auth-dialog-message-win = Каб пабачыць свой пароль, увядзіце свае ўліковыя дадзеныя для ўваходу ў Windows. Гэта дапамагае захоўваць бяспеку вашых уліковых запісаў. # This message can be seen when attempting to reveal a password in about:logins @@ -192,6 +196,11 @@ # This message can be seen when attempting to export a password in about:logins # On MacOS, only provide the reason that account verification is needed. Do not put a complete sentence here. about-logins-export-password-os-auth-dialog-message-macosx = экспартаваць захаваныя лагіны і паролі +# This message can be seen when attempting to export a password in about:logins on Windows. +about-logins-export-password-os-auth-dialog-message2-win = Каб экспартаваць свае паролі, увядзіце свае ўліковыя дадзеныя для ўваходу ў Windows. Гэта дапамагае захоўваць бяспеку вашых уліковых запісаў. +# This message can be seen when attempting to export a password in about:logins +# On MacOS, only provide the reason that account verification is needed. Do not put a complete sentence here. +about-logins-export-password-os-auth-dialog-message2-macosx = экспартаваць захаваныя паролі ## Primary Password notification @@ -263,12 +272,55 @@ [few] Гэта выдаліць усе лагіны, якія вы захавалі ў { -brand-short-name } на ўсіх прыладах, з якімі сінхранізаваны ваш уліковы запіс. Гэта таксама выдаліць папярэджанні аб уцечках, якія з'яўляюцца тут. Вы не зможаце адмяніць гэта дзеянне. *[many] Гэта выдаліць усе лагіны, якія вы захавалі ў { -brand-short-name } на ўсіх прыладах, з якімі сінхранізаваны ваш уліковы запіс. Гэта таксама выдаліць папярэджанні аб уцечках, якія з'яўляюцца тут. Вы не зможаце адмяніць гэта дзеянне. } +# Checkbox for modal to confirm the removal of saved passwords +about-logins-confirm-remove-all-dialog-checkbox-label2 = + { $count -> + [1] Так, выдаліць пароль + [one] Так, выдаліць пароль + [few] Так, выдаліць паролі + *[many] Так, выдаліць паролі + } +# Title for modal to confirm the removal of all saved passwords when user is NOT synced +about-logins-confirm-remove-all-dialog-title2 = + { $count -> + [one] Выдаліць усе { $count } пароляў? + [few] Выдаліць усе { $count } паролі? + *[many] Выдаліць усе { $count } пароляў? + } +# Message for modal to confirm the removal of saved passwords when user is NOT synced +about-logins-confirm-remove-all-dialog-message2 = + { $count -> + [1] Гэта выдаліць пароль, захаваны ў { -brand-short-name }, і любыя папярэджанні аб уцечках. Вы не зможаце адмяніць гэтае дзеянне. + [one] Гэта выдаліць пароль, захаваны ў { -brand-short-name }, і любыя папярэджанні аб уцечках. Вы не зможаце адмяніць гэтае дзеянне. + [few] Гэта выдаліць паролі, захаваныя ў { -brand-short-name }, і любыя папярэджанні аб уцечках. Вы не зможаце адмяніць гэтае дзеянне. + *[many] Гэта выдаліць паролі, захаваныя ў { -brand-short-name }, і любыя папярэджанні аб уцечках. Вы не зможаце адмяніць гэтае дзеянне. + } +# Title for modal to confirm the removal of all saved passwords when user IS SYNCED +about-logins-confirm-remove-all-sync-dialog-title2 = + { $count -> + [one] Выдаліць { $count } пароль з усіх прылад? + [few] Выдаліць усе { $count } паролі з усіх прылад? + *[many] Выдаліць усе { $count } пароляў з усіх прылад? + } +# Message for modal to confirm the removal of saved passwords when user IS synced. +about-logins-confirm-remove-all-sync-dialog-message3 = + { $count -> + [1] Гэта выдаліць пароль, які вы захавалі ў { -brand-short-name }, з усіх вашых сінхранізаваных прылад. Гэта таксама выдаліць папярэджанні аб уцечках, якія з'яўляюцца тут. Вы не зможаце адмяніць гэта дзеянне. + [one] Гэта выдаліць пароль, які вы захавалі ў { -brand-short-name }, з усіх вашых сінхранізаваных прылад. Гэта таксама выдаліць папярэджанні аб уцечках, якія з'яўляюцца тут. Вы не зможаце адмяніць гэта дзеянне. + [few] Гэта выдаліць усе паролі, якія вы захавалі ў { -brand-short-name }, з усіх вашых сінхранізаваных прылад. Гэта таксама выдаліць папярэджанні аб уцечках, якія з'яўляюцца тут. Вы не зможаце адмяніць гэта дзеянне. + *[many] Гэта выдаліць усе паролі, якія вы захавалі ў { -brand-short-name }, з усіх вашых сінхранізаваных прылад. Гэта таксама выдаліць папярэджанні аб уцечках, якія з'яўляюцца тут. Вы не зможаце адмяніць гэта дзеянне. + } ## about-logins-confirm-export-dialog-title = Экспарт лагінаў і пароляў about-logins-confirm-export-dialog-message = Вашы паролі будуць захаваны як звычайны тэкст (напр., BadP@ssw0rd), таму кожны, хто можа адкрыць экспартаваны файл, можа ўбачыць іх. about-logins-confirm-export-dialog-confirm-button = Экспартаваць… +about-logins-confirm-export-dialog-title2 = Заўвага аб экспарце пароляў +about-logins-confirm-export-dialog-message2 = + Калі вы экспартуеце, вашы паролі захоўваюцца ў файл з даступным для чытання тэкстам. + Калі вы скончыце выкарыстоўваць файл, мы рэкамендуем выдаліць яго, каб іншыя, хто карыстаецца гэтай прыладай, не змаглі бачыць вашы паролі. +about-logins-confirm-export-dialog-confirm-button2 = Працягнуць экспарт about-logins-alert-import-title = Імпарт завершаны about-logins-alert-import-message = Паглядзець падрабязную зводку імпарту confirm-discard-changes-dialog-title = Адхіліць незахаваныя змены? @@ -310,6 +362,11 @@ # The default file name shown in the file picker when exporting saved logins. # This must end in .csv about-logins-export-file-picker-default-filename = дадзеныя-для-ўваходу.csv +# Title of the file picker dialog +about-logins-export-file-picker-title2 = Экспарт пароляў з { -brand-short-name } +# The default file name shown in the file picker when exporting saved logins. +# This must end in .csv +about-logins-export-file-picker-default-filename2 = passwords.csv about-logins-export-file-picker-export-button = Экспартаваць # A description for the .csv file format that may be shown as the file type # filter by the operating system. diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/accounts.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/accounts.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/accounts.ftl 2024-04-08 19:11:52.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/accounts.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -5,14 +5,11 @@ # Used as the FxA toolbar menu item value when user has not # finished setting up an account. account-finish-account-setup = Скончыць наладку ўліковага запісу - # Used as the FxA toolbar menu item title when the user # needs to reconnect their account. account-disconnected2 = Уліковы запіс адключаны - # Menu item that sends a tab to all synced devices. account-send-to-all-devices = Даслаць на ўсе прылады - # Menu item that links to the Firefox Accounts settings for connected devices. account-manage-devices = Кіраваць прыладамі… @@ -32,10 +29,8 @@ # Redirects to a marketing page. account-send-tab-to-device-singledevice-status = Няма падключаных прылад - # Redirects to a marketing page. account-send-tab-to-device-singledevice-learnmore = Даведацца больш пра адпраўку картак… - # Redirects to an FxAccounts page that tells to you to connect another device. account-send-tab-to-device-connectdevice = Злучыць іншую прыладу… @@ -50,17 +45,16 @@ # The title shown in a notification when either this device or another device # has connected to, or disconnected from, a Firefox account. account-connection-title = { -fxaccount-brand-name(capitalization: "title") } - +# The title shown in a notification when either this device or another device +# has connected to, or disconnected from, a Firefox account. +account-connection-title-2 = Уліковы запіс # Variables: # $deviceName (String): the name of the new device account-connection-connected-with = Гэты камп'ютар зараз падключаны к { $deviceName }. - # Used when the name of the new device is not known. account-connection-connected-with-noname = Цяпер гэты камп'ютар падключаны да новай прылады. - # Used in a notification shown after a Firefox account is connected to the current device. account-connection-connected = Вы паспяхова ўвайшлі - # Used in a notification shown after the Firefox account was disconnected remotely. account-connection-disconnected = Гэты камп'ютар быў адключаны. @@ -72,7 +66,6 @@ # Variables: # $deviceName (String): the device name. account-single-tab-arriving-from-device-title = Картка з { $deviceName } - # Used when a tab from a remote device arrives but the URL must be truncated. # Should display the URL with an indication that it's been truncated. # Variables: @@ -85,7 +78,6 @@ ## $tabCount (Number): the number of tabs received account-multiple-tabs-arriving-title = Карткі атрыманы - # Variables: # $deviceName (String): the device name. account-multiple-tabs-arriving-from-single-device = diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/addonNotifications.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/addonNotifications.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/addonNotifications.ftl 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/addonNotifications.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -40,6 +40,7 @@ ## xpinstall-disabled-locked = Усталяванне праграмнага забеспячэння забаронена вашым сістэмным спраўнікам. +xpinstall-disabled-by-policy = Усталяванне праграмнага забеспячэння забаронена вашай арганізацыяй. xpinstall-disabled = Усталяванне праграмнага забеспячэння зараз забаронена. Націсніце Дазволіць і паспрабуйце зноў. xpinstall-disabled-button = .label = Дазволіць @@ -51,6 +52,13 @@ addon-install-blocked-by-policy = { $addonName } ({ $addonId }) заблакаваны вашым сістэмным адміністратарам. # This message is shown when the installation of add-ons from a domain is blocked by enterprise policy. addon-domain-blocked-by-policy = Ваш сістэмны адміністратар заблакаваў запыт на ўсталяванне праграм на камп'ютар з гэтага сайта. +# This message is shown when the installation of an add-on is blocked by enterprise policy. +# Variables: +# $addonName (String): the name of the add-on. +# $addonId (String): the ID of add-on. +addon-installation-blocked-by-policy = { $addonName } ({ $addonId }) заблакаваны вашай арганізацыяй. +# This message is shown when the installation of add-ons from a domain is blocked by enterprise policy. +addon-install-domain-blocked-by-policy = Ваша арганізацыя заблакавала запыт на ўсталяванне праграм на камп'ютар з гэтага сайта. addon-install-full-screen-blocked = Усталёўка дататкаў не дапускаецца ў час або перад пачаткам поўнаэкраннага рэжыму. # Variables: # $addonName (String): the localized name of the sideloaded add-on. diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/appmenu.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/appmenu.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/appmenu.ftl 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/appmenu.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -77,6 +77,17 @@ appmenu-remote-tabs-showmore = .label = Паказаць больш картак .tooltiptext = Паказаць больш картак з гэтай прылады +# This is shown when there are inactive tabs which are not being shown. +# Variables +# $count (Number) - The number of inactive tabs which are not being shown (at least 1) +appmenu-remote-tabs-showinactive = + .label = + { $count -> + [one] Паказаць { $count } неактыўную картку + [few] Паказаць { $count } неактыўныя карткі + *[many] Паказаць { $count } неактыўных картак + } + .tooltiptext = Паказаць колькасць неактыўных картак на гэтай прыладзе # This is shown beneath the name of a device when that device has no open tabs appmenu-remote-tabs-notabs = Няма адкрытых картак # This is shown when Sync is configured but syncing tabs is disabled. @@ -168,6 +179,11 @@ # devtools/client/performance-new/shared/background.jsm.js # Please take care that the same values are also defined in devtools' perftools.ftl. + +# Presets and their l10n IDs are defined in the file +# devtools/client/performance-new/shared/background.sys.mjs +# Please take care that the same values are also defined in devtools' perftools.ftl. + profiler-popup-presets-web-developer-description = Рэкамендаваныя папярэднія налады для адладкі большасці вэб-праграм, з невялікімі выдаткамі. profiler-popup-presets-web-developer-label = .label = Распрацоўка Сеціва @@ -257,3 +273,13 @@ .label = Пашырэнні для распрацоўшчыкаў appmenuitem-report-broken-site = .label = Паведаміць пра пашкоджаны сайт + +## Panel for privacy and security products + +appmenuitem-sign-in-account = Увайдзіце ў свой уліковы запіс +appmenuitem-monitor-title = { -monitor-brand-short-name } +appmenuitem-monitor-description = Атрымлівайце абвесткі аб уцечках дадзеных +appmenuitem-relay-title = { -relay-brand-short-name } +appmenuitem-relay-description = Маскіруйце сваю сапраўдную электронную пошту і тэлефон +appmenuitem-vpn-title = { -mozilla-vpn-brand-name } +appmenuitem-vpn-description = Абараніце сваю актыўнасць у інтэрнэце diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/browser.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/browser.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/browser.ftl 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/browser.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -574,6 +574,11 @@ urlbar-result-action-sponsored = Спонсарскі urlbar-result-action-switch-tab = Пераключыцца ў картку urlbar-result-action-visit = Наведаць +# "Switch to tab with container" is used when the target tab is located in a +# different container. +# Variables +# $container (String): the name of the target container +urlbar-result-action-switch-tab-with-container = Перайсці на картку · { $container } # Allows the user to visit a URL that was previously copied to the clipboard. urlbar-result-action-visit-from-clipboard = Наведаць з буфера абмену # Directs a user to press the Tab key to perform a search with the specified @@ -604,6 +609,12 @@ # $result (String): the string representation for a formula result urlbar-result-action-calculator-result = = { $result } +## Strings used for buttons in the urlbar + +# Label prompting user to search with a particular search engine. +# $engine (String): the name of a search engine that searches a specific site +urlbar-result-search-with = Пошук з дапамогай { $engine } + ## Action text shown in urlbar results, usually appended after the search ## string or the url, like "result value - action text". ## In these actions "Search" is a verb, followed by where the search is performed. @@ -898,6 +909,10 @@ restore-session-startup-suggestion-message = Адкрыць папярэднія карткі? Вы можаце аднавіць папярэдні сеанс з меню праграмы { -brand-short-name }, у раздзеле "Гісторыя". restore-session-startup-suggestion-button = Паказаць мне як +## Infobar shown when the user tries to open a file picker and file pickers are blocked by enterprise policy + +filepicker-blocked-infobar = Ваша ўстанова заблакавала доступ да лакальных файлаў на гэтым камп'ютары + ## Mozilla data reporting notification (Telemetry, Firefox Health Report, etc) data-reporting-notification-message = { -brand-short-name } аўтаматычна дасылае асобныя дадзеныя ў { -vendor-short-name }, каб мы маглі палепшыць ваш досвед. @@ -906,6 +921,15 @@ .accesskey = В # Label for the indicator shown in the private browsing window titlebar. private-browsing-indicator-label = Прыватнае агляданне +# Tooltip for the indicator shown in the window titlebar when content analysis is active. +# Variables: +# $agentName (String): The name of the DLP agent that is connected +content-analysis-indicator-tooltip = + .tooltiptext = Прадухіленне страты дадзеных (DLP) ад { $agentName }. Націсніце, каб атрымаць дадатковую інфармацыю. +content-analysis-panel-title = Абарона дадзеных +# Variables: +# $agentName (String): The name of the DLP agent that is connected +content-analysis-panel-text = Ваша арганізацыя выкарыстоўвае { $agentName } для абароны ад страты дадзеных. Падрабязней ## Unified extensions (toolbar) button diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/browserContext.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/browserContext.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/browserContext.ftl 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/browserContext.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -78,6 +78,12 @@ .label = { -fxaccount-brand-name } .tooltiptext = { -fxaccount-brand-name } +## Account toolbar Button + +toolbar-button-account = + .label = Уліковы запіс + .tooltiptext = Уліковы запіс + ## Save Page main-context-menu-page-save = diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/confirmationHints.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/confirmationHints.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/confirmationHints.ftl 2024-04-08 19:11:52.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/confirmationHints.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -22,3 +22,11 @@ confirmation-hint-firefox-relay-mask-created = Створана новая маска! confirmation-hint-firefox-relay-mask-reused = Наяўная маска выкарыстана паўторна! confirmation-hint-screenshot-copied = Здымак экрана скапіяваны! +# Variables: +# $tabCount (Number): The number of duplicate tabs closed, at least 1. +confirmation-hint-duplicate-tabs-closed = + { $tabCount -> + [one] Закрыта { $tabCount } картка + [few] Закрыты { $tabCount } карткі + *[many] Закрыта { $tabCount } картак + } diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/defaultBrowserNotification.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/defaultBrowserNotification.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/defaultBrowserNotification.ftl 2024-04-08 19:11:52.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/defaultBrowserNotification.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -21,3 +21,10 @@ default-browser-prompt-button-primary-alt = Зрабіць прадвызначаным браўзерам default-browser-prompt-checkbox-not-again-label = Больш не паказваць гэтае паведамленне default-browser-prompt-button-secondary = Не зараз + +## Strings for a Windows native guidance notification when the user is forced to +## use Windows Settings to set the default browser. Instructions differ for +## Windows 10 and 11. + +default-browser-guidance-notification-info-page = Паказаць мне +default-browser-guidance-notification-dismiss = Гатова diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/firefoxView.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/firefoxView.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/firefoxView.ftl 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/firefoxView.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -12,6 +12,8 @@ .label = { -firefoxview-brand-name } .accesskey = А firefoxview-page-title = { -firefoxview-brand-name } +firefoxview-page-heading = + .heading = { -firefoxview-brand-name } firefoxview-page-label = .label = { -firefoxview-brand-name } firefoxview-close-button = @@ -51,6 +53,7 @@ firefoxview-syncedtabs-loading-description = Па заканчэнні вы ўбачыце ўсе карткі, адкрытыя на іншых прыладах. Праверце пазней. firefoxview-tabpickup-fxa-admin-disabled-header = У ваша арганізацыі сінхранізацыя адключана firefoxview-tabpickup-fxa-admin-disabled-description = { -brand-short-name } не можа сінхранізаваць карткі паміж прыладамі, таму што ваш адміністратар адключыў сінхранізацыю. +firefoxview-tabpickup-fxa-disabled-by-policy-description = { -brand-short-name } не можа сінхранізаваць карткі паміж прыладамі, таму што ваша арганізацыя адключыла сінхранізацыю. firefoxview-tabpickup-network-offline-header = Праверце падлучэнне да Інтэрнэту firefoxview-tabpickup-network-offline-description = Калі вы карыстаецеся фаерволам або проксі, пераканайцеся, што { -brand-short-name } мае дазвол на доступ у сеціва. firefoxview-tabpickup-network-offline-primarybutton = Паспрабаваць зноў @@ -185,6 +188,8 @@ firefoxview-search-results-empty = Няма вынікаў для «{ $query }» firefoxview-sort-history-by-date-label = Сартаваць па даце firefoxview-sort-history-by-site-label = Сартаваць па сайтах +firefoxview-sort-open-tabs-by-recency-label = Сартаваць па апошняй актыўнасці +firefoxview-sort-open-tabs-by-order-label = Сартаваць па парадку картак # Variables: # $url (string) - URL that will be opened in the new tab firefoxview-opentabs-tab-row = @@ -247,3 +252,25 @@ firefoxview-syncedtabs-device-notabs = На гэтай прыладзе няма адкрытых картак firefoxview-syncedtabs-connect-another-device = Злучыць іншую прыладу +firefoxview-pinned-tabs = + .title = Прышпіленыя карткі +firefoxview-tabs = + .title = Карткі + +## These tooltips will be displayed when hovering over a pinned tab on the Open Tabs page +## Variables: +## $tabTitle (string) - Title of pinned tab that will be opened when selected + +firefoxview-opentabs-pinned-tab = + .title = Пераключыцца на { $tabTitle } +# This tooltip will be shown for a pinned tab whose URL is currently bookmarked. +firefoxview-opentabs-bookmarked-pinned-tab = + .title = Пераключыцца на (з закладкай) { $tabTitle } + +## These tooltips will be displayed when hovering over an unpinned Open Tab +## Variables: +## $url (string) - URL of tab that will be opened when selected + +# This tooltip will be shown for an unpinned tab whose URL is currently bookmarked. +firefoxview-opentabs-bookmarked-tab = + .title = (З закладкай) { $url } diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/fxviewTabList.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/fxviewTabList.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/fxviewTabList.ftl 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/fxviewTabList.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -15,6 +15,10 @@ fxviewtabrow-tabs-list-tab = .title = Адкрыць { $targetURI } у новай картцы # Variables: +# $tabTitle (string) - Title of tab being closed +fxviewtabrow-close-tab-button = + .title = Закрыць { $tabTitle } +# Variables: # $tabTitle (string) - Title of tab being dismissed fxviewtabrow-dismiss-tab-button = .title = Закрыць { $tabTitle } @@ -51,7 +55,30 @@ .accesskey = а fxviewtabrow-send-tab = Адправіць картку на прыладу .accesskey = т +fxviewtabrow-pin-tab = Замацаваць картку + .accesskey = З +fxviewtabrow-unpin-tab = Адмацаваць картку + .accesskey = д +fxviewtabrow-mute-tab = Сцішыць картку + .accesskey = ь +fxviewtabrow-unmute-tab = Раз-цішыць картку + .accesskey = ь # Variables: # $tabTitle (string) - Title of the tab to which the context menu is associated fxviewtabrow-options-menu-button = .title = Варыянты для { $tabTitle } +# Variables: +# $tabTitle (string) - Title of tab being muted +fxviewtabrow-mute-tab-button = + .title = Сцішыць { $tabTitle } +# Variables: +# $tabTitle (string) - Title of tab being unmuted +fxviewtabrow-unmute-tab-button = + .title = Раз-цішыць { $tabTitle } + +## Strings below are to be used without context (tab title/URL) on mute/unmute buttons + +fxviewtabrow-mute-tab-button-no-context = + .title = Сцішыць картку +fxviewtabrow-unmute-tab-button-no-context = + .title = Раз-цішыць картку diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/menubar.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/menubar.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/menubar.ftl 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/menubar.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -147,6 +147,8 @@ .label = Гісторыя menu-view-synced-tabs-sidebar = .label = Сінхранізаваныя карткі +menu-view-megalist-sidebar = + .label = Паролі menu-view-full-zoom = .label = Павелічэнне .accesskey = П diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/newtab/asrouter.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/newtab/asrouter.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/newtab/asrouter.ftl 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/newtab/asrouter.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -65,6 +65,7 @@ cfr-doorhanger-bookmark-fxa-header = Сінхранізуйце свае закладкі ўсюды. cfr-doorhanger-bookmark-fxa-body = Выдатная знаходка! Цяпер не заставайцеся без гэтай закладкі на вашых мабільных прыладах. Пачніце працу з { -fxaccount-brand-name }. +cfr-doorhanger-bookmark-fxa-body-2 = Выдатная знаходка! Цяпер не заставайцеся без гэтай закладкі на вашых мабільных прыладах. Пачніце з уліковага запісу. cfr-doorhanger-bookmark-fxa-link-text = Сінхранізаваць закладкі зараз… cfr-doorhanger-bookmark-fxa-close-btn-tooltip = .aria-label = Кнопка закрыцця @@ -207,8 +208,9 @@ .accesskey = к cfr-cbh-dismiss-button = Не зараз .accesskey = Н -cookie-banner-blocker-cfr-header = { -brand-short-name } толькі што заблакаваў для вас кукі -cookie-banner-blocker-cfr-body = Мы аўтаматычна адмаўляемся ад многіх выплыўных вокнаў пра кукі, каб сайтам было цяжэй асочваць вас. +cookie-banner-blocker-onboarding-header = { -brand-short-name } толькі што адхіліў банер кукі для вас +cookie-banner-blocker-onboarding-body = Менш адцягнення ўвагі, менш кукі, якія асочваюць вас на гэтым сайце. +cookie-banner-blocker-onboarding-learn-more = Падрабязней ## These strings are used in the Fox doodle Pin/set default spotlights @@ -238,10 +240,6 @@ ## Device Migration FxA Spotlight -device-migration-fxa-spotlight-header = Карыстаецеся старой прыладай? -device-migration-fxa-spotlight-body = Зрабіце рэзервовую копію дадзеных, каб упэўніцца, што вы не страціце важную інфармацыю, такую як закладкі і паролі, асабліва калі вы пераходзіце на новую прыладу. -device-migration-fxa-spotlight-primary-button = Як зрабіць рэзервовую копію маіх дадзеных -device-migration-fxa-spotlight-link = Нагадаць пазней device-migration-fxa-spotlight-heavy-user-header = Не забудзьцеся стварыць рэзервовую копію дадзеных device-migration-fxa-spotlight-heavy-user-body = Пераканайцеся, што важная інфармацыя — напрыклад, закладкі і паролі — абнаўляецца і абаронена на ўсіх вашых прыладах. device-migration-fxa-spotlight-heavy-user-primary-button = Пачаць @@ -276,3 +274,14 @@ launch-on-login-infobar-final-message = Адкрываць { -brand-short-name } кожны раз па перазапуску камп'ютара? Каб кіраваць наладамі запуску, шукайце «запуск» у наладах. launch-on-login-infobar-final-reject-button = Не, дзякуй .accesskey = е + +## Tail Fox Set Default Spotlight + +# This title is displayed together with the picture of a running fox with a long tail. +# In English, this is a figure of speech meaning 'stop something from following you'. +# If the localization of this message is challenging, consider using a simplified +# alternative as a reference for translation: 'Keep unwanted trackers away'. +tail-fox-spotlight-title = Трымайце надакучлівыя трэкеры далей ад сябе +tail-fox-spotlight-subtitle = Развітайцеся з надакучлівымі рэкламнымі трэкерамі і пасяліцеся ў больш бяспечным і хуткім Інтэрнэце. +tail-fox-spotlight-primary-button = Адкрываць мае спасылкі ў { -brand-short-name } +tail-fox-spotlight-secondary-button = Не зараз diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/newtab/newtab.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/newtab/newtab.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/newtab/newtab.ftl 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/newtab/newtab.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -45,6 +45,7 @@ newtab-topsites-add-shortcut-header = Новы цэтлік newtab-topsites-edit-topsites-header = Рэдагаваць папулярны сайт newtab-topsites-edit-shortcut-header = Рэдагаваць цэтлік +newtab-topsites-add-shortcut-label = Дадаць цэтлік newtab-topsites-title-label = Загаловак newtab-topsites-title-input = .placeholder = Увядзіце назву @@ -198,6 +199,7 @@ # Variables: # $provider (string) - Name of the corresponding content provider. newtab-section-header-pocket = Рэкамендавана { $provider } +newtab-section-header-stories = Гісторыі, якія прымушаюць задумацца ## Empty Section States: These show when there are no more items in a section. Ex. When there are no more Pocket story recommendations, in the space where there would have been stories, this is shown instead. @@ -206,6 +208,8 @@ # Variables: # $provider (string) - Name of the content provider for this section, e.g "Pocket". newtab-empty-section-topstories = Гатова. Праверце пазней, каб убачыць больш матэрыялаў ад { $provider }. Не жадаеце чакаць? Выберыце папулярную тэму, каб знайсці больш цікавых матэрыялаў з усяго Інтэрнэту. +# Ex. When there are no more story recommendations, in the space where there would have been stories, this is shown instead. +newtab-empty-section-topstories-generic = Гатова. Праверце пазней, каб убачыць больш матэрыялаў. Не жадаеце чакаць? Выберыце папулярную тэму, каб знайсці больш цікавых матэрыялаў з усяго Інтэрнэту. ## Empty Section (Content Discovery Experience). These show when there are no more stories or when some stories fail to load. @@ -259,9 +263,9 @@ newtab-custom-sponsored-sites = Спонсарскія цэтлікі newtab-custom-pocket-title = Рэкамендавана { -pocket-brand-name } newtab-custom-pocket-subtitle = Выключнае змесціва, куратарам якога з'яўляецца { -pocket-brand-name }, частка сям'і { -brand-product-name } -newtab-custom-pocket-toggle = - .label = Рэкамендавана { -pocket-brand-name } - .description = Выключнае змесціва, куратарам якога з'яўляецца { -pocket-brand-name }, частка сям'і { -brand-product-name } +newtab-custom-stories-toggle = + .label = Рэкамендаваныя гісторыі + .description = Выключнае змесціва, курыраванае сямействам { -brand-product-name } newtab-custom-pocket-sponsored = Артыкулы ад спонсараў newtab-custom-pocket-show-recent-saves = Паказваць апошнія захаванні newtab-custom-recent-title = Апошняя актыўнасць @@ -271,3 +275,24 @@ .description = Падборка нядаўніх сайтаў і змесціва newtab-custom-close-button = Закрыць newtab-custom-settings = Кіраваць дадатковымі наладамі + +## New Tab Wallpapers + +newtab-wallpaper-title = Шпалеры +newtab-wallpaper-reset = Скінуць да прадвызначаных +newtab-wallpaper-light-red-panda = Чырвоная панда +newtab-wallpaper-light-mountain = Белая гара +newtab-wallpaper-light-sky = Неба з фіялетавымі і ружовымі аблокамі +newtab-wallpaper-light-color = Сінія, ружовыя і жоўтыя формы +newtab-wallpaper-light-landscape = Горны пейзаж з блакітнага туману +newtab-wallpaper-light-beach = Пляж з пальмамі +newtab-wallpaper-dark-aurora = Палярнае ззянне +newtab-wallpaper-dark-color = Чырвоныя і сінія фігуры +newtab-wallpaper-dark-panda = Чырвоная панда схаваная ў лесе +newtab-wallpaper-dark-sky = Гарадскі пейзаж з начным небам +newtab-wallpaper-dark-mountain = Горны пейзаж +newtab-wallpaper-dark-city = Пурпурны гарадскі пейзаж +# Variables +# $author_string (String) - The name of the creator of the photo. +# $webpage_string (String) - The name of the webpage where the photo is located. +newtab-wallpaper-attribution = Фота { $author_string } з { $webpage_string } diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/newtab/onboarding.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/newtab/onboarding.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/newtab/onboarding.ftl 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/newtab/onboarding.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -53,6 +53,9 @@ mr1-onboarding-theme-header = Зрабіце яго сваім mr1-onboarding-theme-subtitle = Персаніфікуйце { -brand-short-name } з дапамогай тэмы. mr1-onboarding-theme-secondary-button-label = Не зараз +newtab-wallpaper-onboarding-title = Паспрабуйце ўсплёск колеру +newtab-wallpaper-onboarding-subtitle = Выберыце шпалеры, каб надаць новай картцы новы выгляд. +newtab-wallpaper-onboarding-primary-button-label = Усталяваць шпалеры # System theme uses operating system color settings mr1-onboarding-theme-label-system = Сістэмная тэма mr1-onboarding-theme-label-light = Светлая @@ -343,3 +346,22 @@ # Gratitude screen onboarding-gratitude-security-and-privacy-title = { -brand-short-name } прыкрывае вас onboarding-gratitude-security-and-privacy-subtitle = Дзякуй за выкарыстанне { -brand-short-name }, які падтрымліваецца Mozilla Foundation. З вашай падтрымкай мы працуем над тым, каб зрабіць Інтэрнэт больш бяспечным і даступным для кожнага. + +## New user time and familiarity survey strings + +onboarding-new-user-time-based-survey-title = Як доўга вы карыстаецеся { -brand-short-name }? +onboarding-new-user-familiarity-based-survey-title = Наколькі вы знаёмыя з { -brand-short-name }? +onboarding-new-user-survey-subtitle = Ваш водгук дапамагае зрабіць { -brand-short-name } яшчэ лепшым. +# When translating "next" it means the next screen in onboarding. +onboarding-new-user-survey-next-button-label = Далей +onboarding-new-user-survey-legal-link-label = Выбіраючы “{ onboarding-new-user-survey-next-button-label },” вы згаджаецеся з Паведамленнем аб прыватнасці { -brand-product-name } +# When translating "brand new" it means completely new. +onboarding-new-user-survey-time-based-option-1 = Я новенькі +onboarding-new-user-survey-time-based-option-2 = Менш за 1 месяц +onboarding-new-user-survey-time-based-option-3 = Больш за 1 месяц, рэгулярна +onboarding-new-user-survey-time-based-option-4 = Больш за 1 месяц, часам +# When translating "brand new" it means completely new. +onboarding-new-user-survey-familiarity-based-option-1 = Я новенькі +onboarding-new-user-survey-familiarity-based-option-2 = Карыстаўся пэўны час +onboarding-new-user-survey-familiarity-based-option-3 = Мне гэта добра знаёма +onboarding-new-user-survey-familiarity-based-option-4 = Я выкарыстаў яго ў мінулым, але гэта было даўно diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/policies/policies-descriptions.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/policies/policies-descriptions.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/policies/policies-descriptions.ftl 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/policies/policies-descriptions.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -12,10 +12,13 @@ policy-3rdparty = Устанавіць палітыку, згодна з якой WebExtensions маюць доступ праз chrome.storage.managed. policy-AllowedDomainsForApps = Вызначыць дамены, якім дазволены доступ да Google Workspace. +policy-AllowFileSelectionDialogs = Дазволіць дыялогавыя вокны выбару файлаў. policy-AppAutoUpdate = Уключыць або выключыць аўтаматычнае абнаўленне праграмы. policy-AppUpdatePin = Не дазваляць { -brand-short-name } абнаўляцца за межы ўказанай версіі. policy-AppUpdateURL = Задаць свой URL-адрас для абнаўлення праграмы. policy-Authentication = Наладзіць інтэграваную аўтарызацыю для сайтаў, якія яе падтрымліваюць. +policy-AutofillAddressEnabled = Уключыць аўтазапаўненне для адрасоў. +policy-AutofillCreditCardEnabled = Уключыць аўтазапаўненне для спосабаў аплаты. policy-AutoLaunchProtocolsFromOrigins = Вызначыць спіс знешніх пратаколаў, якія можна выкарыстоўваць з пералічаных крыніц, не запытваючы карыстальніка. policy-BackgroundAppUpdate2 = Уключыць або выключыць фонавае абнаўленне. policy-BlockAboutAddons = Заблакаваць доступ да менеджара дадаткаў (about:addons). @@ -25,6 +28,7 @@ policy-Bookmarks = Ствараць закладкі ў паліцы закладак, меню закладак, або ў азначаных каталогах унутры іх. policy-CaptivePortal = Уключае або выключае падтрымку партала перахаплення. policy-CertificatesDescription = Дадаць сертыфікаты або выкарыстоўваць убудаваныя сертыфікаты. +policy-ContentAnalysis = Уключыць або адключыць злучэнне з агентам прадухілення страты дадзеных. policy-Cookies = Дазволіць або забараніць вэб-сайтам устанаўліваць кукі. # Containers in this context is referring to container tabs in Firefox. policy-Containers = Устанавіць палітыку ў дачыненні да кантэйнераў. @@ -121,6 +125,7 @@ policy-SSLVersionMin = Устанаўляе мінімальную версію SSL. policy-StartDownloadsInTempDirectory = Прымусова пачынаць сцягванні ў лакальнае, тымчасовае месца замест прадвызначанага каталога сцягванняў. policy-SupportMenu = Дадае нестандартны элемент у меню даведкі. +policy-TranslateEnabled = Уключыць або выключыць пераклад вэб-старонак. policy-UserMessaging = Не паказваць карыстальніку пэўныя паведамленні. policy-UseSystemPrintDialog = Друкаваць з дапамогай сістэмнага дыялога друку. # “format” refers to the format used for the value of this policy. diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/preferences/connection.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/preferences/connection.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/preferences/connection.ftl 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/preferences/connection.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -9,28 +9,26 @@ [macos] min-width: 44em *[other] min-width: 49em } - connection-close-key = .key = w - connection-disable-extension = .label = Адключыць пашырэнне - connection-proxy-configure = Наладзіць доступ да Інтэрнэту праз проксі - connection-proxy-option-no = .label = Без проксі .accesskey = з connection-proxy-option-system = .label = Ужываць сістэмныя налады проксі .accesskey = У +connection-proxy-option-wpad = + .label = Выкарыстоўваць наладу аўтаматычнага выяўлення вэб-проксі + .accesskey = п connection-proxy-option-auto = .label = Аўтаматычна вызначаць налады проксі для гэтай сеткі .accesskey = ц connection-proxy-option-manual = .label = Ручная наладка проксі .accesskey = р - connection-proxy-http = HTTP проксі .accesskey = п connection-proxy-http-port = Порт @@ -38,17 +36,14 @@ connection-proxy-https-sharing = .label = Выкарыстоўваць гэты проксі таксама для HTTPS .accesskey = ы - connection-proxy-https = HTTPS-проксі .accesskey = H connection-proxy-ssl-port = Порт .accesskey = о - connection-proxy-socks = Трымальнік SOCKS .accesskey = C connection-proxy-socks-port = Порт .accesskey = т - connection-proxy-socks4 = .label = SOCKS 4 .accesskey = 4 @@ -57,43 +52,33 @@ .accesskey = 5 connection-proxy-noproxy = Без проксі для .accesskey = е - connection-proxy-noproxy-desc = Прыклад: .mozilla.org, .net.nz, 192.168.1.0/24 - # Do not translate "localhost", "127.0.0.1/8" and "::1". (You can translate "and".) connection-proxy-noproxy-localhost-desc-2 = Злучэнне з localhost, 127.0.0.1/8 і ::1 заўжды ідзе без без проксі. - connection-proxy-autotype = .label = URL аўтаматычнай наладкі проксі .accesskey = а - connection-proxy-reload = .label = Абнавіць .accesskey = А - connection-proxy-autologin = .label = Не запытваць аўтэнтыфікацыю, калі ёсць захаваны пароль .accesskey = Н .tooltip = Гэта налада аўтэнтыфікуе вас на проксі без запытаў, калі вы маеце захаваныя для іх уліковыя запісы. Пры няўдалай аўтэнтыфікацыі вы атрымаеце запыт. - connection-proxy-autologin-checkbox = .label = Не запытваць аўтэнтыфікацыю, калі ёсць захаваны пароль .accesskey = Н .tooltiptext = Гэта налада аўтэнтыфікуе вас на проксі без запытаў, калі вы маеце захаваныя для іх уліковыя запісы. Пры няўдалай аўтэнтыфікацыі вы атрымаеце запыт. - connection-proxy-socks-remote-dns = .label = Праксіраваць DNS-запыты пры выкарыстанні SOCKS 5 .accesskey = з - # Variables: # $name (String) - Display name or URL for the DNS over HTTPS provider connection-dns-over-https-url-item-default = .label = { $name } (прадвызначаны) .tooltiptext = Выкарыстоўваць прадвызначаны URL для працы DNS паверх HTTPS - connection-dns-over-https-url-custom = .label = Адмысловы .accesskey = с .tooltiptext = Увядзіце ўласны URL-адрас для развязвання DNS праз HTTPS - connection-dns-over-https-custom-label = Адмысловы diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/preferences/formAutofill.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/preferences/formAutofill.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/preferences/formAutofill.ftl 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/preferences/formAutofill.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -9,6 +9,8 @@ autofill-manage-addresses-list-header = Адрасы autofill-manage-credit-cards-title = Захаваныя крэдытныя карткі autofill-manage-credit-cards-list-header = Крэдытныя карткі +autofill-manage-payment-methods-title = Захаваныя спосабы аплаты +autofill-manage-cards-list-header = Карты autofill-manage-dialog = .style = min-width: 560px autofill-manage-remove-button = Выдаліць @@ -37,12 +39,14 @@ .label = Налады адраса address-capture-learn-more-button = .label = Падрабязней +# The dialog title for creating addresses in browser preferences. +autofill-add-new-address-title = Дадаць новы адрас address-capture-open-menu-button = .aria-label = Адкрыць меню address-capture-edit-address-button = .aria-label = Змяніць адрас # The dialog title for creating addresses in browser preferences. -autofill-add-new-address-title = Дадаць новы адрас +autofill-add-address-title = Дадаць адрас # The dialog title for editing addresses in browser preferences. autofill-edit-address-title = Змяніць адрас autofill-address-name = Імя @@ -114,7 +118,6 @@ autofill-cancel-button = Скасаваць autofill-save-button = Захаваць autofill-country-warning-message = Аўтазапаўненне формаў зараз даступна толькі для пэўных краін. -autofill-message-tooltip = Паглядзець паведамленне пра аўтазапаўненне # The dialog title for creating credit cards in browser preferences. autofill-add-new-card-title = Дадаць новую крэдытную картку # The dialog title for editing credit cards in browser preferences. @@ -127,6 +130,11 @@ [windows] { -brand-short-name } спрабуе паказаць інфармацыю крэдытнай карткі. Пацвердзіце доступ да гэтага ўліковага запісу Windows ніжэй. *[other] { -brand-short-name } спрабуе паказаць інфармацыю крэдытнай карткі. } +autofill-message-tooltip = Паглядзець паведамленне пра аўтазапаўненне +# The dialog title for creating credit cards in browser preferences. +autofill-add-card-title = Дадаць карту +# The dialog title for editing credit cards in browser preferences. +autofill-edit-card-title2 = Змяніць карту autofill-card-number = Нумар карткі autofill-card-invalid-number = Калі ласка, увядзіце сапраўдны нумар карты autofill-card-name-on-card = Імя на картцы diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/preferences/moreFromMozilla.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/preferences/moreFromMozilla.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/preferences/moreFromMozilla.ftl 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/preferences/moreFromMozilla.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -8,22 +8,16 @@ more-from-moz-title = Больш ад { -vendor-short-name } more-from-moz-category = .tooltiptext = Больш ад { -vendor-short-name } - more-from-moz-subtitle = Паспрабуйце іншыя прадукты { -vendor-short-name }, якія падтрымліваюць здаровы інтэрнэт. - more-from-moz-firefox-mobile-title = { -brand-product-name } для мабільных прылад more-from-moz-firefox-mobile-description = Мабільны браўзер, які ставіць вашу прыватнасць на першае месца. - more-from-moz-mozilla-vpn-title = { -mozilla-vpn-brand-name } more-from-moz-mozilla-vpn-description = Адкрыйце для сябе дадатковы ўзровень ананімнага аглядання і аховы. - more-from-moz-qr-code-box-firefox-mobile-title = Сцягніце з дапамогай мабільнай прылады. Накіруйце камеру на QR-код. Калі з'явіцца спасылка, націсніце на яе. more-from-moz-qr-code-box-firefox-mobile-button = Замест гэтага адправіць электронны ліст на ваш тэлефон more-from-moz-qr-code-firefox-mobile-img = .alt = QR-код для сцягвання { -brand-product-name } для мабільных прылад - more-from-moz-button-mozilla-vpn-2 = Атрымаць VPN - more-from-moz-learn-more-link = Даведацца больш ## These strings are for the Firefox Relay card in about:preferences moreFromMozilla page @@ -31,3 +25,10 @@ more-from-moz-firefox-relay-title = { -relay-brand-name } more-from-moz-firefox-relay-description = Абараніце сваю паштовую скрыню і сваю асобу з дапамогай бясплатнай маскіроўкі электроннай пошты. more-from-moz-firefox-relay-button = Атрымаць { -relay-brand-short-name } + +## These strings are for the Mozilla Monitor card in about:preferences moreFromMozilla page + +more-from-moz-mozilla-monitor-title = { -mozmonitor-brand-name } +more-from-moz-mozilla-monitor-us-description = Аўтаматычна адклікайце сваю выкрытую асабістую інфармацыю. +more-from-moz-mozilla-monitor-global-description = Атрымлівайце абвесткі, калі вашы дадзеныя выявіліся ва ўцечцы. +more-from-moz-mozilla-monitor-button = Атрымаць { -monitor-brand-short-name } diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/preferences/preferences.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/preferences/preferences.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/preferences/preferences.ftl 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/preferences/preferences.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -32,6 +32,8 @@ .style = width: 15.4em .placeholder = Шукаць у наладах managed-notice = Вашым браўзерам кіруе ваша арганізацыя. +managed-notice-info-icon = + .alt = інфармацыя category-list = .aria-label = Катэгорыі pane-general-title = Агульныя @@ -206,6 +208,9 @@ } containers-remove-ok-button = Выдаліць гэты кантэйнер containers-remove-cancel-button = Не выдаляць гэты кантэйнер +settings-tabs-show-image-in-preview = + .label = Паказваць папярэдні прагляд выявы пры навядзенні курсора на картку + .accessKey = р ## General Section - Language & Appearance @@ -230,6 +235,10 @@ # This can appear when using windows HCM or "Override colors: always" without # system colors. preferences-web-appearance-override-warning = Ваш выбар колераў мае перавагу над знешнім выглядам вэб-сайта. Кіраваць колерамі +# This can appear when using windows HCM or "Override colors: always" without +# system colors. +preferences-web-appearance-override-warning2 = + .message = Ваш выбар колераў мае перавагу над знешнім выглядам вэб-сайта. # This message contains one link. It can be moved within the sentence as needed # to adapt to your language, but should not be changed. preferences-web-appearance-footer = Кіруйце тэмамі { -brand-short-name } у пашырэннях і тэмах @@ -257,6 +266,8 @@ preferences-zoom-text-only = .label = Павялічваць толькі тэкст .accesskey = т +preferences-text-zoom-override-warning = + .message = Папярэджанне: калі вы выбіраеце «Павялічваць толькі тэкст», а ваш прадвызначаны маштаб не ўсталяваны на 100%, гэта можа прывесці да няспраўнасці некаторых сайтаў або змесціва. language-header = Мова choose-language-description = Выберыце мовы, якім вы аддаяце перавагу, для прагляду старонак choose-button = @@ -562,6 +573,9 @@ home-prefs-recommended-by-header = .label = Рэкамендавана { $provider } home-prefs-recommended-by-description-new = Выключнае змесціва, куратарам якога з'яўляецца { $provider }, частка сям'і { -brand-product-name } +home-prefs-recommended-by-header-generic = + .label = Рэкамендаваныя гісторыі +home-prefs-recommended-by-description-generic = Выключнае змесціва, курыраванае сям'ёй { -brand-product-name } ## @@ -700,6 +714,13 @@ sync-profile-picture = .tooltiptext = Змяніць профільную выяву +sync-profile-picture-with-alt = + .tooltiptext = Змяніць профільную выяву + .alt = Змяніць профільную выяву +sync-profile-picture-account-problem = + .alt = Фота профілю ўліковага запісу +fxa-login-rejected-warning = + .alt = Папярэджанне sync-sign-out = .label = Выйсці… .accesskey = і @@ -1004,6 +1025,7 @@ .label = Выдаляць кукі і звесткі сайтаў па закрыцці { -brand-short-name } .accesskey = с sitedata-delete-on-close-private-browsing = У рэжыме сталага прыватнага аглядання кукі і звесткі сайтаў будуць заўсёды выдаляцца па закрыцці { -brand-short-name }. +sitedata-delete-on-close-private-browsing2 = На падставе вашых налад гісторыі { -brand-short-name } выдаляе кукі і звесткі сайтаў з вашага сеансу, калі вы закрываеце браўзер. sitedata-allow-cookies-option = .label = Прымаць кукі і звесткі сайтаў .accesskey = П @@ -1080,10 +1102,10 @@ addressbar-locbar-quickactions-option = .label = Хуткія дзеянні .accesskey = Х +addressbar-suggestions-settings = Змяніць налады для падказак пашукавіка addressbar-locbar-showrecentsearches-option = .label = Паказваць апошнія пошукі .accesskey = к -addressbar-suggestions-settings = Змяніць налады для падказак пашукавіка addressbar-quickactions-learn-more = Падрабязней ## Privacy Section - Content Blocking @@ -1266,6 +1288,8 @@ collection-health-report-disabled = Адпраўка дадзеных адключана для гэтай канфігурацыі зборкі collection-backlogged-crash-reports-with-link = Дазволіць { -brand-short-name } адсылаць запісаныя справаздачы аб збоях ад вашага імя Падрабязней .accesskey = с +collection-backlogged-crash-reports = Дазволіць { -brand-short-name } адсылаць запісаныя справаздачы аб збоях ад вашага імя + .accesskey = с privacy-segmentation-section-header = Новыя функцыі, якія паляпшаюць ваша агляданне privacy-segmentation-section-description = Калі мы прапануем функцыі, якія выкарыстоўваюць вашы дадзеныя, каб даць вам больш персаналізаваны досвед: privacy-segmentation-radio-off = diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/protectionsPanel.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/protectionsPanel.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/protectionsPanel.ftl 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/protectionsPanel.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -29,14 +29,6 @@ ## custom element code. ## $host (String): the hostname of the site that is being displayed. -protections-panel-etp-on-toggle = - .label = Узмоцненая ахова ад сачэння - .description = Уключана на гэтым сайце - .aria-label = Адключыць ахову на { $host } -protections-panel-etp-off-toggle = - .label = Узмоцненая ахова ад сачэння - .description = Адключана на гэтым сайце - .aria-label = Уключыць ахову на { $host } protections-panel-etp-toggle-on = .label = Узмоцненая ахова ад сачэння .description = Уключана на гэтым сайце @@ -149,10 +141,10 @@ protections-panel-cookie-banner-blocker-view-turn-on-for-site = Уключыць блакавальнік банераў кукі для гэтага сайта? protections-panel-cookie-banner-view-cookie-clear-warning = { -brand-short-name } выдаліць файлы кукі гэтага сайта і абновіць старонку. Выдаленне ўсіх файлаў кукі можа прывесці да выхаду з сістэмы або ачышчэння кошыка для пакупак. protections-panel-cookie-banner-view-turn-on-description = { -brand-short-name } спрабуе аўтаматычна адхіляць усе запыты файлаў кукі на сайтах, якія падтрымліваюцца. -protections-panel-cookie-banner-blocker-view-turn-on-description = Уключыце, і { -brand-short-name } паспрабуе аўтаматычна адхіляць банеры кукі на гэтым сайце. protections-panel-cookie-banner-view-cancel = Скасаваць protections-panel-cookie-banner-view-turn-off = Выключыць protections-panel-cookie-banner-view-turn-on = Уключыць +protections-panel-cookie-banner-blocker-view-turn-on-description = Уключыце, і { -brand-short-name } паспрабуе аўтаматычна адхіляць банеры кукі на гэтым сайце. protections-panel-cookie-banner-view-cancel-label = .label = Скасаваць protections-panel-cookie-banner-view-turn-off-label = @@ -162,3 +154,9 @@ protections-panel-report-broken-site = .label = Паведаміць пра пашкоджаны сайт .title = Паведаміць аб зламаным сайце + +## Protections panel info message + +cfr-protections-panel-header = Аглядайце без старонніх вачэй +cfr-protections-panel-body = Захоўвайце свае дадзеныя пры сабе. { -brand-short-name } абараняе вас ад многіх самых распаўсюджаных трэкераў, якія сочаць за тым, што вы робіце ў інтэрнэце. +cfr-protections-panel-link-text = Даведацца больш diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/sanitize.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/sanitize.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/sanitize.ftl 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/sanitize.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -5,21 +5,21 @@ sanitize-prefs2 = .title = Налады ачышчэння гісторыі .style = min-width: 34em - sanitize-prefs-style = .style = width: 17em - +sanitize-dialog-title2 = + .title = Ачысціць звесткі аглядання і кукі + .style = min-width: 34em sanitize-dialog-title = .title = Знішчэнне нядаўняй гісторыі .style = min-width: 34em - # When "Time range to clear" is set to "Everything", this message is used for the # title instead of dialog-title. sanitize-dialog-title-everything = .title = Ачышчэнне ўсёй гісторыі .style = min-width: 34em - clear-data-settings-label = Пры закрыцці { -brand-short-name } павінен аўтаматычна ачышчаць усё +sanitize-on-shutdown-description = Аўтаматычна выдаляць усе азначаныя элементы пры закрыцці { -brand-short-name }. ## clear-time-duration-prefix is followed by a dropdown list, with ## values localized using clear-time-duration-value-* messages. @@ -32,22 +32,19 @@ clear-time-duration-prefix = .value = Дыяпазон часу для ачышчэння: .accesskey = ч - +clear-time-duration-prefix2 = + .value = Калі: + .accesskey = К clear-time-duration-value-last-hour = .label = Апошняя гадзіна - clear-time-duration-value-last-2-hours = .label = Апошнія дзве гадзіны - clear-time-duration-value-last-4-hours = .label = Апошнія чатыры гадзіны - clear-time-duration-value-today = .label = Сёння - clear-time-duration-value-everything = .label = Усё - clear-time-duration-suffix = .value = { "" } @@ -55,55 +52,73 @@ ## to select the items to remove history-section-label = Гісторыю - item-history-and-downloads = .label = Гісторыя аглядання і сцягванняў .accesskey = а - +item-history-form-data-downloads = + .label = Гісторыю + .accesskey = р +item-history-form-data-downloads-description = Ачышчае гісторыю сайтаў і сцягвання, інфармацыю пра захаваныя формы і пошук item-cookies = .label = Кукі .accesskey = К - +# Variables: +# $amount (Number) - Amount of site data currently stored on disk +# $unit (String) - Abbreviation of the unit that $amount is in, e.g. "MB" +item-cookies-site-data-with-size = + .label = Кукі і дадзеныя сайтаў ({ $amount } { $unit }) + .accesskey = у +item-cookies-site-data = + .label = Кукі і дадзеныя сайтаў + .accesskey = у +item-cookies-site-data-description = Можа прывесці да выхаду з сайтаў або ачысціць кошыкі item-active-logins = .label = Дзейныя ўваходы .accesskey = ў - item-cache = .label = Кэш .accesskey = К - +# Variables: +# $amount (Number) - Amount of cached data +# $unit (String) - Abbreviation of the unit that $amount is in, e.g. "MB" +item-cached-content-with-size = + .label = Часовыя кэшаваныя файлы і старонкі ({ $amount } { $unit }) + .accesskey = а +item-cached-content = + .label = Часовыя кэшаваныя файлы і старонкі + .accesskey = а +item-cached-content-description = Ачышчае элементы, якія дапамагаюць сайтам загружацца хутчэй item-form-search-history = .label = Гісторыя пошуку і запаўнення формаў .accesskey = ф - +item-site-prefs = + .label = Налады сайтаў + .accesskey = д +item-site-prefs-description = Скідвае вашы дазволы і параметры сайтаў да зыходных налад data-section-label = Дадзеныя - item-site-settings = .label = Налады сайтаў .accesskey = ы - item-offline-apps = .label = Пазасеткавыя дадзеныя вэб-сайтаў .accesskey = П - sanitize-everything-undo-warning = Гэтае дзеянне немагчыма скасаваць. - window-close = .key = w - sanitize-button-ok = .label = Ачысціць зараз - +sanitize-button-ok2 = + .label = Ачысціць +sanitize-button-ok-on-shutdown = + .label = Захаваць змены # The label for the default button between the user clicking it and the window # closing. Indicates the items are being cleared. sanitize-button-clearing = .label = Ачыстка - # Warning that appears when "Time range to clear" is set to "Everything" in Clear # Recent History dialog, provided that the user has not modified the default set # of history items to clear. sanitize-everything-warning = Уся гісторыя будзе ачышчана. - # Warning that appears when "Time range to clear" is set to "Everything" in Clear # Recent History dialog, provided that the user has modified the default set of # history items to clear. diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/screenshots.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/screenshots.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/screenshots.ftl 2024-04-08 19:11:52.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/screenshots.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -5,10 +5,8 @@ screenshot-toolbarbutton = .label = Здымак экрана .tooltiptext = Зрабіць здымак экрана - screenshot-shortcut = .key = S - screenshots-instructions = Пацягніце або націсніце на старонцы для выбару вобласці. Для адмены націсніце ESC. screenshots-cancel-button = Скасаваць screenshots-save-visible-button = Захаваць бачную вобласць @@ -25,7 +23,6 @@ .title = Скасаваць screenshots-retry-button-title = .title = Паўтарыць здымак экрана - screenshots-meta-key = { PLATFORM() -> [macos] ⌘ @@ -33,28 +30,62 @@ } screenshots-notification-link-copied-title = Спасылка скапіявана screenshots-notification-link-copied-details = Спасылка на ваш здымак была скапіявана ў буфер абмену. Націсніце { screenshots-meta-key }-V для ўстаўкі. - screenshots-notification-image-copied-title = Здымак скапіяваны screenshots-notification-image-copied-details = Ваш здымак скапіяваны ў буфер абмену. Націсніце { screenshots-meta-key }-V, каб уставіць. - screenshots-request-error-title = Здарылася памылка. screenshots-request-error-details = Выбачайце! Нам не ўдалося захаваць ваш здымак. Паспрабуйце пазней. - screenshots-connection-error-title = Мы не можам атрымаць доступ да вашых здымкаў экрана. screenshots-connection-error-details = Калі ласка, праверце ваша злучэнне з Інтэрнэтам. Калі ў вас усё ў парадку з падлучэннем да Інтэрнэту, магчыма, паўсталі часовыя праблемы са службай { -screenshots-brand-name }. - screenshots-login-error-details = Нам не ўдалося захаваць ваш здымак, таму што ўзніклі праблемы са службай { -screenshots-brand-name }. Паспрабуйце пазней. - screenshots-unshootable-page-error-title = Мы не можам зрабіць здымак гэтай старонкі. screenshots-unshootable-page-error-details = Гэта не стандартная вэб-старонка, таму вы не можаце зрабіць яе здымак. - screenshots-empty-selection-error-title = Абраная вобласць занадта малая - screenshots-private-window-error-title = { -screenshots-brand-name } адключаны ў рэжыме прыватнага аглядання screenshots-private-window-error-details = Прабачце за нязручнасць. Мы працуем над даданнем гэтай магчымасці у будучыя выпускі. - screenshots-generic-error-title = Вой! З { -screenshots-brand-name } нешта не так. screenshots-generic-error-details = Мы не ўпэўненыя, у чым праблема. Паспрабаваць яшчэ раз, ці зрабіць здымак іншай старонкі? - screenshots-too-large-error-title = Ваш здымак экрана быў абрэзаны, бо ён занадта вялікі screenshots-too-large-error-details = Паспрабуйце выбраць вобласць, меншую за 32 700 пікселяў па самым доўгім баку, або 124 900 000 пікселяў агульнай плошчы. +screenshots-component-retry-button = + .title = Паўтарыць здымак экрана + .aria-label = Паўтарыць здымак экрана +screenshots-component-cancel-button = + .title = + { PLATFORM() -> + [macos] Скасаваць (esc) + *[other] Скасаваць (Esc) + } + .aria-label = Скасаваць +# Variables +# $shortcut (String) - A keyboard shortcut for copying the screenshot. +screenshots-component-copy-button = + .title = Капіяваць ({ $shortcut }) + .aria-label = Капіяваць +screenshots-component-copy-button-label = Капіяваць +# Variables +# $shortcut (String) - A keyboard shortcut for saving/downloading the screenshot. +screenshots-component-download-button = + .title = Сцягнуць ({ $shortcut }) + .aria-label = Сцягнуць +screenshots-component-download-button-label = Сцягнуць + +## The below strings are used to capture keydown events so the strings should +## not be changed unless the keyboard layout in the locale requires it. + +screenshots-component-download-key = S +screenshots-component-copy-key = C + +## + +# This string represents the selection size area +# "x" here represents "by" (i.e 123 by 456) +# Variables: +# $width (Number) - The width of the selection region in pixels +# $height (Number) - The height of the selection region in pixels +screenshots-overlay-selection-region-size-2 = { $width } x { $height } +# This string represents the selection size area +# "×" here represents "by" (i.e 123 by 456) +# Variables: +# $width (Number) - The width of the selection region in pixels +# $height (Number) - The height of the selection region in pixels +screenshots-overlay-selection-region-size-3 = { $width } × { $height } diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/search.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/search.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/search.ftl 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/search.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -10,10 +10,8 @@ opensearch-error-duplicate-title = Памылка ўсталявання opensearch-error-duplicate-desc = { -brand-short-name } не можа ўсталяваць плагін пошуку з “{ $location-url }”, бо рухавік з такой назваю ўжо існуе. - opensearch-error-format-title = Некарэктны фармат opensearch-error-format-desc = { -brand-short-name } не можа ўсталяваць пашукавік з: { $location-url } - opensearch-error-download-title = Памылка сцягвання opensearch-error-download-desc = { -brand-short-name } не можа сцягнуць плагін пошуку з: { $location-url } @@ -21,11 +19,9 @@ searchbar-submit = .tooltiptext = Даслаць запыт - # This string is displayed in the search box when the input field is empty searchbar-input = .placeholder = Пошук - searchbar-icon = .tooltiptext = Пошук @@ -35,4 +31,5 @@ ## $newEngine (String) - the search engine to replace the removed search engine. removed-search-engine-message = Ваша прадвызначаная пошукавая сістэма была змененая. { $oldEngine } болей недасяжна як прадвызначаная пошукавая сістэма ў { -brand-short-name }. Цяпер ваш прадвызначаны пашукавік — { $newEngine }. Каб змяніць яго на іншую тыповую пошукавую сістэму, перайдзіце ў налады. +removed-search-engine-message2 = Ваша прадвызначаная пошукавая сістэма была змененая. { $oldEngine } болей недасяжна як прадвызначаная пошукавая сістэма ў { -brand-short-name }. Цяпер ваш прадвызначаны пашукавік — { $newEngine }. Каб змяніць яго на іншую тыповую пошукавую сістэму, перайдзіце ў налады. remove-search-engine-button = Добра diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/shopping.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/shopping.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/shopping.ftl 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/shopping.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -64,6 +64,11 @@ shopping-message-bar-page-not-supported = .heading = Мы не можам праверыць гэтыя водгукі .message = На жаль, мы не можам праверыць якасць водгукаў для некаторых відаў прадукцыі. Напрыклад, падарункавыя карты і струменевае відэа, музыка і гульні. +shopping-message-bar-keep-closed-header = + .heading = Трымаць закрытым? + .message = Вы можаце абнавіць налаады, каб трымаць сродак праверкі водгукаў прадвызначана закрытым. Зараз ён адкрываецца аўтаматычна. +shopping-message-bar-keep-closed-dismiss-button = Не, дзякуй +shopping-message-bar-keep-closed-accept-button = Так, трымаць закрытым ## Strings for the product review snippets card @@ -89,6 +94,19 @@ shopping-settings-recommendations-learn-more2 = Вы будзеце час ад часу бачыць рэкламу адпаведных тавараў. Мы рэкламуем толькі прадукты з надзейнымі водгукамі. Падрабязней shopping-settings-opt-out-button = Адключыць сродак праверкі водгукаў powered-by-fakespot = Сродак праверкі водгукаў працуе на аснове { -fakespot-brand-full-name }. +shopping-settings-auto-open-toggle = + .label = Аўтаматычна адкрываць праверку водгукаў +# Description text for regions where we support three sites. Sites are limited to Amazon, Walmart and Best Buy. +# Variables: +# $firstSite (String) - The first shopping page name +# $secondSite (String) - The second shopping page name +# $thirdSite (String) - The third shopping page name +shopping-settings-auto-open-description-three-sites = Калі вы праглядаеце тавары на { $firstSite }, { $secondSite } і { $thirdSite } +# Description text for regions where we support only one site (e.g. currently used in FR/DE with Amazon). +# Variables: +# $currentSite (String) - The current shopping page name +shopping-settings-auto-open-description-single-site = Калі вы праглядаеце тавары на { $currentSite } +shopping-settings-sidebar-enabled-state = Праверка водгукаў уключана ## Strings for the adjusted rating component @@ -112,7 +130,6 @@ Гэта дапаможа вам ацаніць толькі якасць водгуку, а не якасць прадукту. shopping-analysis-explainer-grades-intro = Кожнаму водгуку на прадукт мы прысвойваем літарную адзнаку ад A да F. shopping-analysis-explainer-adjusted-rating-description = Скарэкціраваны рэйтынг заснаваны толькі на водгуках, якія мы лічым надзейнымі. -shopping-analysis-explainer-learn-more = Даведайцеся больш пра тое, як { -fakespot-brand-full-name } вызначае якасць водгукаў. shopping-analysis-explainer-learn-more2 = Даведайцеся больш пра тое, як { -fakespot-brand-name } вызначае якасць водгукаў. # This string includes the short brand name of one of the three supported # websites, which will be inserted without being translated. @@ -133,14 +150,6 @@ ## The word 'analyzer' when used here reflects what this tool is called on ## fakespot.com. If possible, a different word should be used for the Fakespot ## tool (the Fakespot by Mozilla 'analyzer') other than 'checker', which is -## used in the name of the Firefox feature ('Review checker'). If that is not -## possible - if these terms are not meaningfully different - that is OK. - - -## Strings for the unanalyzed product card. -## The word 'analyzer' when used here reflects what this tool is called on -## fakespot.com. If possible, a different word should be used for the Fakespot -## tool (the Fakespot by Mozilla 'analyzer') other than 'checker', which is ## used in the name of the Firefox feature ('Review Checker'). If that is not ## possible - if these terms are not meaningfully different - that is OK. @@ -182,6 +191,22 @@ shopping-callout-pdp-opted-in-subtitle = Адкрыйце праверку водгукаў, каб убачыць скарэкціраваны рэйтынг з выдаленымі ненадзейнымі водгукамі. Акрамя таго, паглядзіце асноўныя моманты з апошніх сапраўдных аглядаў. shopping-callout-closed-not-opted-in-title = Адзін націск да надзейных водгукаў shopping-callout-closed-not-opted-in-subtitle = Паспрабуйце праверку водгукаў кожны раз, калі бачыце цэннік. Хутка атрымлівайце інфармацыю ад рэальных пакупнікоў — перш чым купляць. +shopping-callout-closed-not-opted-in-revised-title = Адзін націск да надзейных водгукаў +shopping-callout-closed-not-opted-in-revised-subtitle = Проста націсніце на значок цэнніка ў адрасным радку, каб вярнуцца да праверкі водгукаў. +shopping-callout-closed-not-opted-in-revised-button = Зразумела +shopping-callout-not-opted-in-reminder-title = Купляйце з упэўненасцю +shopping-callout-not-opted-in-reminder-subtitle = Не ўпэўнены, ці водгукі пра тавар сапраўдныя або падробленыя? Праверка водгукаў ад { -brand-product-name } можа дапамагчы. +shopping-callout-not-opted-in-reminder-open-button = Адкрыць сродак праверкі водгукаў +shopping-callout-not-opted-in-reminder-close-button = Адхіліць +shopping-callout-not-opted-in-reminder-ignore-checkbox = Больш не паказваць +shopping-callout-not-opted-in-reminder-img-alt = + .aria-label = Абстрактная ілюстрацыя трох водгукаў пра тавар. Адзін з іх мае папераджальны сімвал, які паказвае, што ён можа быць ненадзейным. +shopping-callout-disabled-auto-open-title = Сродак праверкі водгукаў цяпер прадвызначана закрыты +shopping-callout-disabled-auto-open-subtitle = Націсніце на значок цэнніка ў адрасным радку, калі захочаце даведацца, ці можна давяраць аглядам прадукту. +shopping-callout-disabled-auto-open-button = Зразумела +shopping-callout-opted-out-title = Праверка водгукаў адключана +shopping-callout-opted-out-subtitle = Каб зноў уключыць яе, націсніце на значок цэнніка ў адрасным радку і выконвайце падказкі. +shopping-callout-opted-out-button = Зразумела ## Onboarding message strings. @@ -197,8 +222,7 @@ # $currentSite (str) - The current shopping page name shopping-onboarding-single-subtitle = Паглядзіце, наколькі надзейныя водгукі аб прадукце на { $currentSite }, перш чым купляць. Праверка водгукаў, эксперыментальная функцыя ад { -brand-product-name }, убудавана наўпрост у браўзер. shopping-onboarding-body = Выкарыстоўваючы магчымасці { -fakespot-brand-full-name }, мы дапамагаем вам пазбегнуць неаб’ектыўных і несапраўдных водгукаў. Наша мадэль штучнага інтэлекту пастаянна ўдасканальваецца, каб абараніць вас у часе куплі. Падрабязней -shopping-onboarding-opt-in-privacy-policy-and-terms-of-use = Выбіраючы “{ shopping-onboarding-opt-in-button }“, вы згаджаецеся з палітыкай прыватнасці і ўмовамі выкарыстання { -fakespot-brand-full-name }. -shopping-onboarding-opt-in-privacy-policy-and-terms-of-use2 = Выбіраючы “{ shopping-onboarding-opt-in-button }“, вы згаджаецеся з палітыкай прыватнасці і ўмовамі выкарыстання { -fakespot-brand-name }. +shopping-onboarding-opt-in-privacy-policy-and-terms-of-use3 = Выбіраючы “{ shopping-onboarding-opt-in-button }“, вы згаджаецеся з палітыкай прыватнасці { -brand-product-name } і ўмовамі выкарыстання { -fakespot-brand-name }. shopping-onboarding-opt-in-button = Так, паспрабаваць shopping-onboarding-not-now-button = Не зараз shopping-onboarding-dialog-close-button = diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/sidebarMenu.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/sidebarMenu.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/sidebarMenu.ftl 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/sidebarMenu.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -4,15 +4,13 @@ sidebar-menu-bookmarks = .label = Закладкі - sidebar-menu-history = .label = Гісторыя - sidebar-menu-synced-tabs = .label = Сінхранізаваныя карткі - +sidebar-menu-megalist = + .label = Паролі sidebar-menu-close = .label = Закрыць бакавую панэль - sidebar-close-button = .tooltiptext = Закрыць бакавую панэль diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/sync.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/sync.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/sync.ftl 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/sync.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -34,3 +34,5 @@ fxa-menu-send-tab-to-device-description = Імгненна адпраўляйце картку на любую прыладу, на якой вы ўвайшлі. fxa-menu-sign-out = .label = Выйсці… +fxa-menu-sync-title = Сінхранізацыя +fxa-menu-sync-description = Доступ да інтэрнэту ў любым месцы diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/tabContextMenu.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/tabContextMenu.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/tabContextMenu.ftl 2024-04-08 19:11:52.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/tabContextMenu.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -72,6 +72,9 @@ tab-context-close-multiple-tabs = .label = Закрыць некалькі картак .accesskey = ь +tab-context-close-duplicate-tabs = + .label = Закрыць дублікаты картак + .accesskey = л tab-context-share-url = .label = Падзяліцца .accesskey = П @@ -106,7 +109,6 @@ *[many] Перамясціць карткі } .accesskey = м - tab-context-send-tabs-to-device = .label = { $tabCount -> diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/translations.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/translations.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/translations.ftl 2024-04-08 19:11:52.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/translations.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -126,8 +126,6 @@ translations-manage-all-language = Усе мовы translations-manage-download-button = Сцягнуць translations-manage-delete-button = Выдаліць -translations-manage-error-download = Пры сцягванні моўных файлаў узнікла праблема. Калі ласка, паспрабуйце яшчэ раз. -translations-manage-error-delete = Пры выдаленні моўных файлаў здарылася памылка. Калі ласка, паспрабуйце яшчэ раз. translations-manage-intro = Вызначце параметры мовы і перакладу сайта і кіруйце мовамі, усталяванымі для аўтаномнага перакладу. translations-manage-install-description = Усталяваць мовы для перакладу па-за сеткаю translations-manage-language-install-button = @@ -135,12 +133,21 @@ translations-manage-language-install-all-button = .label = Усталяваць усе .accesskey = У +translations-manage-intro-2 = Вызначце параметры мовы і перакладу сайтаў і кіруйце мовамі, сцягнутымі для аўтаномнага перакладу. +translations-manage-download-description = Сцягванне моў для перакладу па-за сеткаю +translations-manage-language-download-button = + .label = Сцягнуць +translations-manage-language-download-all-button = + .label = Сцягнуць усе + .accesskey = С translations-manage-language-remove-button = .label = Выдаліць translations-manage-language-remove-all-button = .label = Выдаліць усе .accesskey = В translations-manage-error-install = Пры ўсталяванні моўных файлаў узнікла праблема. Калі ласка, паспрабуйце яшчэ раз. +translations-manage-error-download = Пры сцягванні моўных файлаў узнікла праблема. Калі ласка, паспрабуйце яшчэ раз. +translations-manage-error-delete = Пры выдаленні моўных файлаў здарылася памылка. Калі ласка, паспрабуйце яшчэ раз. translations-manage-error-remove = Пры выдаленні моўных файлаў здарылася памылка. Калі ласка, паспрабуйце яшчэ раз. translations-manage-error-list = Не ўдалося атрымаць спіс даступных моў для перакладу. Абнавіце старонку, каб паўтарыць спробу. translations-settings-title = @@ -170,3 +177,49 @@ translations-settings-close-dialog = .buttonlabelaccept = Закрыць .buttonaccesskeyaccept = ц +# Text displayed in the select translations panel header. +select-translations-panel-header = Пераклад +# Text displayed above the from-language dropdown menu. +select-translations-panel-from-label = З +# Text displayed above the to-language dropdown menu. +select-translations-panel-to-label = На +# Text displayed above the try-another-source-language dropdown menu. +select-translations-panel-try-another-language-label = Паспрабуйце іншую зыходную мову +select-translations-panel-cancel-button = + .label = Скасаваць +# Text displayed on the copy button before it is clicked. +select-translations-panel-copy-button = + .label = Капіяваць +# Text displayed on the copy button after it is clicked. +select-translations-panel-copy-button-copied = + .label = Скапіявана +select-translations-panel-done-button = + .label = Гатова +select-translations-panel-translate-full-page-button = + .label = Перакласці ўсю старонку +select-translations-panel-translate-button = + .label = Перакласці +select-translations-panel-try-again-button = + .label = Паспрабаваць зноў +# Text displayed as a placeholder when the panel is idle. +select-translations-panel-idle-placeholder-text = Перакладзены тэкст з'явіцца тут. +# Text displayed as a placeholder when the panel is actively translating. +select-translations-panel-translating-placeholder-text = Пераклад… +select-translations-panel-init-failure-message = + .message = Не ўдалося загрузіць мовы. Праверце інтэрнэт-злучэнне і паўтарыце спробу. +# Text displayed when the translation fails to complete. +select-translations-panel-translation-failure-message = + .message = Узнікла праблема з перакладам. Калі ласка, паспрабуйце яшчэ раз. +# If your language requires declining the language name, a possible solution +# is to adapt the structure of the phrase, or use a support noun, e.g. +# `Sorry, we don't support the language yet: { $language } +# +# Variables: +# $language (string) - The language of the document. +select-translations-panel-unsupported-language-message-known = + .message = На жаль, мы пакуль не падтрымліваем { $language }. +select-translations-panel-unsupported-language-message-unknown = + .message = На жаль, мы пакуль не падтрымліваем гэтую мову. +# Text displayed on the menuitem that opens the Translation Settings page. +select-translations-panel-open-translations-settings-menuitem = + .label = Налады перакладу diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/webProtocolHandler.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/webProtocolHandler.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/webProtocolHandler.ftl 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/webProtocolHandler.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -12,6 +12,9 @@ protocolhandler-mailto-handler-notificationbox-always = Заўсёды адкрываць спасылкі электроннай пошты з дапамогай { $url }? protocolhandler-mailto-handler-yes-confirm = { $url } цяпер ваш прадвызначаны сайт для адкрыцця спасылак, якія адпраўляюць электронную пошту. +protocolhandler-mailto-handler-set-message = Выкарыстоўваць { $url } у { -brand-short-name } кожны раз, калі вы націскаеце спасылку, якая адкрывае вашу электронную пошту? +protocolhandler-mailto-handler-confirm-message = { $url } у { -brand-short-name } цяпер прадвызначаны апрацоўшчык электроннай пошты на вашым камп'ютары. +protocolhandler-mailto-handler-confirm = { -brand-short-name } будзе адкрываць { $url } кожны раз, калі вы націскаеце спасылку, якая адпраўляе электронную пошту. ## diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/webrtcIndicator.ftl firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/webrtcIndicator.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/browser/browser/webrtcIndicator.ftl 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/browser/webrtcIndicator.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -3,12 +3,6 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. -# Note: This is currently placed under browser/base/content so that we can -# get the strings to appear without having our localization community need -# to go through and translate everything. Once these strings are ready for -# translation, we'll move it to the locales folder. - - ## These strings are used so that the window has a title in tools that ## enumerate/look for window titles. It is not normally visible anywhere. @@ -30,7 +24,6 @@ # This is used for the website origin for the sharing menu if no readable origin could be deduced from the URL. webrtc-sharing-menuitem-unknown-host = Невядомая крыніца - # Variables: # $origin (String): The website origin (e.g. www.mozilla.org) # $itemList (String): A formatted list of items (e.g. "camera, microphone and tab audio") @@ -39,7 +32,6 @@ webrtc-sharing-menu = .label = Прылады з доступам да картак .accesskey = п - webrtc-sharing-window = Вы даяце супольны доступ да іншага акна праграмы. webrtc-sharing-browser-window = Вы адкрываеце доступ да { -brand-short-name }. webrtc-sharing-screen = Вы даяце супольны доступ да ўсяго экрана. @@ -93,7 +85,6 @@ .label = Кіраваць сумесным доступам webrtc-indicator-menuitem-control-sharing-on = .label = Кіраваць сумесным доступам на “{ $streamTitle }” - webrtc-indicator-menuitem-sharing-camera-with = .label = Абагуленне камеры з “{ $streamTitle }” webrtc-indicator-menuitem-sharing-camera-with-n-tabs = @@ -103,7 +94,6 @@ [few] Абагуленне камеры з { $tabCount } карткамі *[many] Абагуленне камеры з { $tabCount } карткамі } - webrtc-indicator-menuitem-sharing-microphone-with = .label = Абагуленне мікрафона з “{ $streamTitle }” webrtc-indicator-menuitem-sharing-microphone-with-n-tabs = @@ -113,7 +103,6 @@ [few] Абагуленне мікрафона з { $tabCount } карткамі *[many] Абагуленне мікрафона з { $tabCount } карткамі } - webrtc-indicator-menuitem-sharing-application-with = .label = Абагуленне праграмы з “{ $streamTitle }” webrtc-indicator-menuitem-sharing-application-with-n-tabs = @@ -123,7 +112,6 @@ [few] Абагуленне праграмы з { $tabCount } карткамі *[many] Абагуленне праграмы з { $tabCount } карткамі } - webrtc-indicator-menuitem-sharing-screen-with = .label = Абагуленне экрану з “{ $streamTitle }” webrtc-indicator-menuitem-sharing-screen-with-n-tabs = @@ -133,7 +121,6 @@ [few] Абагуленне экрана з { $tabCount } карткамі *[many] Абагуленне экрана з { $tabCount } карткамі } - webrtc-indicator-menuitem-sharing-window-with = .label = Абагуленне акна з “{ $streamTitle }” webrtc-indicator-menuitem-sharing-window-with-n-tabs = @@ -143,7 +130,6 @@ [few] Абагуленне акна з { $tabCount } карткамі *[many] Абагуленне акна з { $tabCount } карткамі } - webrtc-indicator-menuitem-sharing-browser-with = .label = Абагуленне карткі з “{ $streamTitle }” # This message is shown when the contents of a tab is shared during a WebRTC @@ -171,6 +157,20 @@ webrtc-allow-share-screen-and-microphone = Дазволіць { $origin } выкарыстоўваць ваш мікрафон і бачыць ваш экран? webrtc-allow-share-screen-and-audio-capture = Дазволіць { $origin } слухаць аўдыё з гэтай карткі і бачыць ваш экран? +## Special phrasing for sharing devices when the origin is a file url. + +webrtc-allow-share-audio-capture-with-file = Дазволіць гэтаму лакальнаму файлу слухаць аўдыё з гэтай карткі? +webrtc-allow-share-camera-with-file = Дазволіць гэтаму лакальнаму файлу выкарыстоўваць вашу камеру? +webrtc-allow-share-microphone-with-file = Дазволіць гэтаму лакальнаму файлу выкарыстоўваць ваш мікрафон? +webrtc-allow-share-screen-with-file = Дазволіць гэтаму лакальнаму файлу бачыць ваш экран? +# "Speakers" is used in a general sense that might include headphones or +# another audio output connection. +webrtc-allow-share-speaker-with-file = Дазволіць гэтаму лакальнаму файлу выкарыстоўваць іншыя дынамікі? +webrtc-allow-share-camera-and-microphone-with-file = Дазволіць гэтаму лакальнаму файлу выкарыстоўваць камеру і мікрафон? +webrtc-allow-share-camera-and-audio-capture-with-file = Дазволіць гэтаму лакальнаму файлу выкарыстоўваць вашу камеру і слухаць аўдыё з гэтай карткі? +webrtc-allow-share-screen-and-microphone-with-file = Дазволіць гэтаму лакальнаму файлу выкарыстоўваць ваш мікрафон і бачыць ваш экран? +webrtc-allow-share-screen-and-audio-capture-with-file = Дазволіць гэтаму лакальнаму файлу слухаць аўдыё з гэтай карткі і бачыць ваш экран? + ## Variables: ## $origin (String): the first party origin. ## $thirdParty (String): the third party origin. @@ -191,7 +191,6 @@ webrtc-share-screen-warning = Паказвайце экран толькі сайтам, якім давяраеце. Такі паказ дапамагае падманлівым сайтам праглядаць старонкі, быццам гэта вы, выкрадаючы вашу прыватную інфармацыю. webrtc-share-browser-warning = Паказвайце { -brand-short-name } толькі сайтам, якім давяраеце. Такі паказ дапамагае падманлівым сайтам праглядаць старонкі, быццам гэта вы, выкрадаючы вашу прыватную інфармацыю. - webrtc-share-screen-learn-more = Падрабязней webrtc-pick-window-or-screen = Выберыце акно ці экран webrtc-share-entire-screen = Увесь экран @@ -228,7 +227,6 @@ webrtc-remember-allow-checkbox = Памятаць гэтае рашэнне webrtc-mute-notifications-checkbox = Адключыць абвесткі сайтаў у час абагульвання - webrtc-reason-for-no-permanent-allow-screen = { -brand-short-name } не можа дазволіць пастаянны доступ да вашага экрана. webrtc-reason-for-no-permanent-allow-audio = { -brand-short-name } не можа даць сталы доступ да аўдыё з карткі, не запытваючы, якой з картак дзяліцца. webrtc-reason-for-no-permanent-allow-insecure = Вашае злучэнне з гэтым сайтам небяспечнае. Каб вас абараніць, { -brand-short-name } дасць доступ толькі на гэты сеанс. diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/chrome/browser/browser.properties firefox-esr-115.11.0esr+build1/l10n/be/browser/chrome/browser/browser.properties --- firefox-esr-115.10.0esr+build1/l10n/be/browser/chrome/browser/browser.properties 2024-04-08 19:11:52.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/chrome/browser/browser.properties 2024-05-07 06:05:12.000000000 +0000 @@ -157,6 +157,11 @@ # Spoof Accept-Language prompt privacy.spoof_english=Змена налад вашай мовы на англійскую ўскладніць выяўленне і паляпшэння вашай прыватнасці. Вы хочаце даваць запыт на ангельскую версію вэб-сайтаў? +webauthn.allow=Дазволіць +webauthn.allow.accesskey=Д +webauthn.block=Блакаваць +webauthn.block.accesskey=Б + # LOCALIZATION NOTE (identity.identified.verifier, identity.identified.state_and_country, identity.ev.contentOwner2): # %S is the hostname of the site that is being displayed. identity.identified.verifier=Праверана: %S @@ -512,7 +517,7 @@ # LOCALIZATION NOTE (panel.back): # This is used by screen readers to label the "back" button in various browser -# popup panels, including the sliding subviews of the main menu. +# popup panels, including the sliding subviews of the main menu. panel.back = Назад storageAccess1.Allow.label = Дазволiць @@ -525,8 +530,6 @@ storageAccess4.message = Дазволiць %1$S выкарыстоўваць свае кукi на %2$S? storageAccess1.hintText = Вы можаце заблакаваць доступ, калі няясна, навошта %1$S патрэбны гэтыя дадзеныя. - - # LOCALIZATION NOTE (gnomeSearchProviderSearchWeb): # Used for search by Gnome Shell activity screen, %S is a searched string. gnomeSearchProviderSearchWeb=Шукаць у Інтэрнэце “%S” diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/browser/chrome/browser/downloads/downloads.properties firefox-esr-115.11.0esr+build1/l10n/be/browser/chrome/browser/downloads/downloads.properties --- firefox-esr-115.10.0esr+build1/l10n/be/browser/chrome/browser/downloads/downloads.properties 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/browser/chrome/browser/downloads/downloads.properties 2024-05-07 06:05:12.000000000 +0000 @@ -47,7 +47,7 @@ # LOCALIZATION NOTE (unblockHeaderUnblock, unblockHeaderOpen, # unblockTypeMalware, unblockTypePotentiallyUnwanted2, # unblockTypeUncommon2, unblockTip2, unblockButtonOpen, -# unblockButtonUnblock, unblockButtonConfirmBlock, unblockInsecure2): +# unblockButtonUnblock, unblockButtonConfirmBlock, unblockInsecure3): # These strings are displayed in the dialog shown when the user asks a blocked # download to be unblocked. The severity of the threat is expressed in # descending order by the unblockType strings, it is higher for files detected @@ -58,6 +58,7 @@ unblockTypePotentiallyUnwanted2=Гэты файл замаскіраваны пад карыснае сцягванне, але ён можа зрабіць нечаканыя змены ў вашых праграмах і наладах. unblockTypeUncommon2=Гэты файл звычайна не сцягваюць, і ён можа быць небяспечны для адкрыцця. Ён можа ўтрымліваць вірус або зрабіць нечаканыя змены ў вашых праграмах і наладах. unblockInsecure2=Сцягванне прапануецца праз HTTP, нягледзячы на тое, што бягучы дакумент быў дастаўлены праз бяспечнае злучэнне HTTPS. Калі вы працягнеце, сцягванне можа быць пашкоджана або падроблена ў часе працэсу сцягвання. +unblockInsecure3=Вы спрабуеце сцягнуць гэты файл праз злучэнне, якое не бяспечнае. Калі вы працягнеце, файл можа быць зменены, выкарыстаны для крадзяжу вашай інфармацыі або пашкоджання вашай прылады. unblockTip2=Вы можаце пашукаць альтэрнатыўную крыніцу для сцягвання, або паўтарыць спробу пазней. unblockButtonOpen=Адкрыць unblockButtonUnblock=Дазволіць сцягванне diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/devtools/client/debugger.properties firefox-esr-115.11.0esr+build1/l10n/be/devtools/client/debugger.properties --- firefox-esr-115.10.0esr+build1/l10n/be/devtools/client/debugger.properties 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/devtools/client/debugger.properties 2024-05-07 06:05:12.000000000 +0000 @@ -151,6 +151,28 @@ # This is used to force logging JavaScript traces in the stdout. traceInStdout=Трасіраваць у стандартным вывадзе +# LOCALIZATION NOTE (traceValues): The label that is displayed in the context menu +# of the trace button, which is in the top of the debugger right sidebar. +# This is used to enable logging arguments passed to function calls +# as well as returned values (only for JS function calls, but not native function calls) +traceValues=Рэгістраваць параметры функцыі і вяртаныя значэнні + +# LOCALIZATION NOTE (traceOnNextLoad): The label that is displayed in the context menu +# of the trace button, which is in the top of the debugger right sidebar. +# This is used to automatically start the tracing on next user interaction (mousedown/keydown) +traceOnNextInteraction=Асочваць толькі пры наступным узаемадзеянні з карыстальнікам (націск мышы/клавішы) + +# LOCALIZATION NOTE (traceOnNextLoad): The label that is displayed in the context menu +# of the trace button, which is in the top of the debugger right sidebar. +# This is used to automatically start the tracing on next page load. +traceOnNextLoad=Трасіраваць толькі пры наступнай загрузцы старонкі (абнаўленне ці навігацыя) + +# LOCALIZATION NOTE (traceFunctionReturn): The label that is displayed in the context menu +# of the trace button, which is in the top of the debugger right sidebar. +# This is used to also log when a function call just returned. +# Depending on "traceValues", this will log or not log the returned value. +traceFunctionReturn=Трасіроўка вяртанняў функцыі + # LOCALIZATION NOTE (resumeButtonTooltip): The label that is displayed on the pause # button when the debugger is in a paused state. resumeButtonTooltip=Націсніце, каб працягнуць (%S) @@ -625,6 +647,10 @@ # input element expressions.placeholder=Дадаць выраз назірання +# LOCALIZATION NOTE (expressions.placeholder): Placeholder text for expression +# input element +expressions.placeholder2=Дадаць выраз + # LOCALIZATION NOTE (expressions.noOriginalScopes): Expressions right sidebar pane message # for when the`map variable names`is off and the debugger is paused in an original source expressions.noOriginalScopes=Супастаўленне назваў зыходных зменных выключана. Значэнні выразаў могуць быць недакладнымі. @@ -632,8 +658,12 @@ # LOCALIZATION NOTE (expressions.errorMsg): Error text for expression # input element expressions.errorMsg=Недапушчальны выраз… + +# LOCALIZATION NOTE (expressions.label): For the "Add watch expression" context menu item in the editor expressions.label=Дадаць выраз для назірання expressions.accesskey=в + +# LOCALIZATION NOTE (expressions.remove.tooltip): For the tooltip on the button to remove a watch expression expressions.remove.tooltip=Выдаліць выраз назірання # LOCALIZATION NOTE (xhrBreakpoints.header): The pause on any XHR breakpoints headings @@ -738,6 +768,71 @@ # with the ignore source button when the selected source is on the ignore list sourceFooter.ignoreList=Гэта крыніца знаходзіцца ў спісе ігнаравання. Калі ласка, адключыце наладу «Ігнараваць вядомыя трэцебаковыя скрыпты», каб уключыць яе. +# LOCALIZATION NOTE (sourceFooter.sourceMapButton.disabled): Label displayed next to the +# Source Map icon displayed in editor footer. +# Displayed when Source Maps are disabled. +sourceFooter.sourceMapButton.disabled = Мапы зыходнікаў адключаны + +# LOCALIZATION NOTE (sourceFooter.sourceMapButton.sourceNotMapped): Label displayed next to the +# Source Map icon displayed in editor footer. +# Displayed when the selected source is a regular source, without any source map. +sourceFooter.sourceMapButton.sourceNotMapped = Мапы зыходнікаў не знойдзены + +# LOCALIZATION NOTE (sourceFooter.sourceMapButton.isOriginalSource): Label displayed next to the +# Source Map icon displayed in editor footer. +# Displayed when the selected source is an original source. +# i.e. a file which may not be in JavaScript and isn't being executed by Firefox. +# This file is transpiled by the web developer into a "bundle" JavaScript file, which is executed by the page. +sourceFooter.sourceMapButton.isOriginalSource = зыходны файл + +# LOCALIZATION NOTE (sourceFooter.sourceMapButton.isBundleSource): Label displayed next to the +# Source Map icon displayed in editor footer. +# Displayed when the selected source is a bundle. i.e. a file referring to a source map file, +# which will be mapped to one or many original sources. +sourceFooter.sourceMapButton.isBundleSource = пакетны файл + +# LOCALIZATION NOTE (sourceFooter.sourceMapButton.enable): Label displayed in the menu opened +# from the Source Map icon displayed in editor footer. +# This allows to toggle Source Map support. +sourceFooter.sourceMapButton.enable = Уключыць мапы зыходнага коду + +# LOCALIZATION NOTE (sourceFooter.sourceMapButton.showOriginalSourceByDefault): Label displayed in the menu opened +# from the Source Map icon displayed in editor footer. +# This controls the settings which will make the debugger automatically show and open original source by default. +# This typically happens when you pause or hit a breakpoint. +sourceFooter.sourceMapButton.showOriginalSourceByDefault = Прадвызначана паказваць і адкрываць зыходнае месцазнаходжанне + +# LOCALIZATION NOTE (sourceFooter.sourceMapButton.jumpToGeneratedSource): Label displayed in the menu opened +# from the Source Map icon displayed in editor footer. +# This allows to select the related bundle source, when we are currently selecting an original one. +sourceFooter.sourceMapButton.jumpToGeneratedSource = Перайсці да адпаведных зыходнікаў пакета + +# LOCALIZATION NOTE (sourceFooter.sourceMapButton.jumpToOriginalSource): Label displayed in the menu opened +# from the Source Map icon displayed in editor footer. +# This allows to select the related original source, when we are currently selecting a bundle. +sourceFooter.sourceMapButton.jumpToOriginalSource = Перайсці да адпаведных арыгінальных зыходнікаў + +# LOCALIZATION NOTE (sourceFooter.sourceMapButton.openSourceMapInNewTab): Label displayed in the menu opened +# from the Source Map icon displayed in editor footer. +# When selecting a bundle with a valid source map, link to open the source map in a new tab. +sourceFooter.sourceMapButton.openSourceMapInNewTab = Адкрыць файл мапы зыходнікаў у новай картцы + +# LOCALIZATION NOTE (sourceFooter.sourceMapButton.title): Tooltip displayed on +# the Source Map icon displayed in editor footer. +# This is the default title. +sourceFooter.sourceMapButton.title = Статус мапы зыходнікаў + +# LOCALIZATION NOTE (sourceFooter.sourceMapButton.loadingTitle): Tooltip displayed on +# the Source Map icon displayed in editor footer. +# This title is displayed when the source map is still loading. +sourceFooter.sourceMapButton.loadingTitle = Мапа зыходнікаў загружаецца + +# LOCALIZATION NOTE (sourceFooter.sourceMapButton.errorTitle): Tooltip displayed on +# the Source Map icon displayed in editor footer. +# This title is displayed when the source map has an error. +# %S will be the error string. +sourceFooter.sourceMapButton.errorTitle = Памылка мапы зыходнікаў: %S + # LOCALIZATION NOTE (editorNotificationFooter.noOriginalScopes): The notification message displayed in the editor notification footer # when paused in an original file and original variable mapping is turned off # %S is text from the label for checkbox to show original scopes @@ -791,6 +886,22 @@ # with a mapped source. %S is replaced by the source map origin. sourceFooter.mappedSourceTooltip=(Крыніца адлюстроўваецца з %S) +# LOCALIZATION NOTE (sourceFooter.mappedOriginalSource.title): Text associated +# with an original source mapped to a bundle. %S is replaced by the bundle url. +sourceFooter.mappedOriginalSource.title=З %S + +# LOCALIZATION NOTE (sourceFooter.mappedOriginalSource.tooltip): Tooltip text associated +# with an original source mapped to a bundle. %S is replaced by bundle url. +sourceFooter.mappedOriginalSource.tooltip=Адкрыць звязаны пакет (%S) + +# LOCALIZATION NOTE (sourceFooter.mappedGeneratedSource.title): Text associated +# with a bundled source mapped to an original source. %S is replaced by the original source url. +sourceFooter.mappedGeneratedSource.title=Да %S + +# LOCALIZATION NOTE (sourceFooter.mappedGeneratedSource.tooltip): Tooltip text associated +# with a bundled source mapped to an original source. %S is replaced by the original source url. +sourceFooter.mappedGeneratedSource.tooltip=Адкрыць павязаны арыгінальны зыходнік (%S) + # LOCALIZATION NOTE (sourceFooter.mappedSuffix): Text associated # with a mapped source. Displays next to URLs in tree and tabs. sourceFooter.mappedSuffix=(супастаўлены) diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/devtools/client/netmonitor.properties firefox-esr-115.11.0esr+build1/l10n/be/devtools/client/netmonitor.properties --- firefox-esr-115.10.0esr+build1/l10n/be/devtools/client/netmonitor.properties 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/devtools/client/netmonitor.properties 2024-05-07 06:05:12.000000000 +0000 @@ -357,6 +357,11 @@ # through the "Server-Timing" header. netmonitor.timings.serverTiming=Час сервера +# LOCALIZATION NOTE (netmonitor.timings.serviceWorkerTiming): This is the title of a new section +# in Timings side panel. This section contains service worker timings transferred from the +# service worker. +netmonitor.timings.serviceWorkerTiming=Таймінг Service Worker + # LOCALIZATION NOTE (netmonitor.timings.queuedAt): This is relative queued time to the # first request. %S is time expressed in milliseconds or minutes. netmonitor.timings.queuedAt=У чарзе: %S @@ -1225,6 +1230,21 @@ # in a "receive" state. netmonitor.timings.receive=Атрыманне: +# LOCALIZATION NOTE (netmonitor.timings.launchServiceWorker): This is the label displayed +# in the network details timings tab identifying the amount of time spent +# during the launch of the service worker. +netmonitor.timings.launchServiceWorker=Запуск: + +# LOCALIZATION NOTE (netmonitor.timings.requestToServiceWorker): This is the label displayed +# in the network details timings tab identifying the amount of time spent while a request is +# made to the service worker. +netmonitor.timings.requestToServiceWorker=Адпраўленне запыту: + +# LOCALIZATION NOTE (netmonitor.timings.handledByServiceWorker): This is the label displayed +# in the network details timings tab identifying the amount of time spent while a request is +# handled by the service worker. +netmonitor.timings.handledByServiceWorker=Апрацоўка запыту: + # LOCALIZATION NOTE (netmonitor.timings.learnMore): This is the label displayed # in the network details timings tab, with a link to external documentation netmonitor.timings.learnMore=Даведайцеся больш пра таймінгі @@ -1426,6 +1446,14 @@ # for the Copy Image As Data URI menu item displayed in the context menu for a request netmonitor.context.saveImageAs.accesskey=З +# LOCALIZATION NOTE (netmonitor.context.saveResponseAs): This is the label displayed +# on the context menu that saves the response +netmonitor.context.saveResponseAs=Захаваць адказ як + +# LOCALIZATION NOTE (netmonitor.context.saveResponseAs.accesskey): This is the access key +# for the Save Response As menu item displayed in the context menu for a request +netmonitor.context.saveResponseAs.accesskey=ь + # LOCALIZATION NOTE (netmonitor.context.copyAll): This is the label displayed # on the context menu that copies all data netmonitor.context.copyAll=Капіяваць усе diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/devtools/client/toolbox-options.ftl firefox-esr-115.11.0esr+build1/l10n/be/devtools/client/toolbox-options.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/devtools/client/toolbox-options.ftl 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/devtools/client/toolbox-options.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -10,19 +10,15 @@ # The heading options-select-default-tools-label = Прадвызначаныя прылады распрацоўшчыка - # The label for the explanation of the * marker on a tool which is currently not supported # for the target of the toolbox. options-tool-not-supported-label = * Не падтрымліваецца для цяперашняй мэты інструмента - # The label for the heading of group of checkboxes corresponding to the developer tools # added by add-ons. This heading is hidden when there is no developer tool installed by add-ons. options-select-additional-tools-label = Прылады распрацоўшчыка, усталяваныя дадаткамі - # The label for the heading of group of checkboxes corresponding to the default developer # tool buttons. options-select-enabled-toolbox-buttons-label = Даступныя кнопкі панэлі прылад - # The label for the heading of the radiobox corresponding to the theme options-select-dev-tools-theme-label = Тэмы @@ -30,27 +26,28 @@ # The heading options-context-inspector = Даследчык - # The label for the checkbox option to show user agent styles options-show-user-agent-styles-label = Паказаць стылі браўзера options-show-user-agent-styles-tooltip = .title = Калі ўключана, будзе паказваць прадвызначаныя стылі, загружаныя браўзерам. - # The label for the checkbox option to enable collapse attributes options-collapse-attrs-label = Абсякаць атрыбуты DOM options-collapse-attrs-tooltip = .title = Абсякаць доўгія атрыбуты ў інспектары - # The label for the checkbox option to enable the "drag to update" feature options-inspector-draggable-properties-label = Націснуць і перацягнуць, каб змяніць значэнні памеру options-inspector-draggable-properties-tooltip = .title = Націснуць і перацягваць для змянення значэнняў памеру ў праглядзе правілаў інспектара. - # The label for the checkbox option to enable simplified highlighting on page elements # within the inspector for users who enabled prefers-reduced-motion = reduce options-inspector-simplified-highlighters-label = Выкарыстоўваць спрошчанае падсвятленне з prefers-reduced-motion options-inspector-simplified-highlighters-tooltip = .title = Уключае спрошчанае падсвятленне, калі ўключана prefers-reduced-motion. Малюе лініі замест залітых прамавугольнікаў вакол падсветленых элементаў, каб пазбегнуць эфектаў мігцення. +# The label for the checkbox option to make the Enter key move the focus to the next input +# when editing a property name or value in the Inspector rules view +options-inspector-rules-focus-next-on-enter-label = Факусаваць наступны ўвод на Enter +options-inspector-rules-focus-next-on-enter-tooltip = + .title = Калі ўключана, націск клавішы Enter пры рэдагаванні селектара, назвы ўласцівасці або значэння перамесціць фокус на наступны ўвод. ## "Default Color Unit" options for the Inspector @@ -62,11 +59,19 @@ options-default-color-unit-hwb = HWB options-default-color-unit-name = Назвы колераў +## Web Console section + +# The heading +options-webconsole-label = Кансоль Сеціва +# The label for the checkbox that toggle whether the Split console is enabled +options-webconsole-split-console-label = Уключыць падзеленую кансоль +options-webconsole-split-console-tooltip = + .title = Адкрываць падзеленую кансоль з дапамогай клавішы Esc + ## Style Editor section # The heading options-styleeditor-label = Рэдактар стыляў - # The label for the checkbox that toggles autocompletion of css in the Style Editor options-stylesheet-autocompletion-label = Аўтадапаўненне CSS options-stylesheet-autocompletion-tooltip = @@ -76,12 +81,10 @@ # The heading options-screenshot-label = Паводзіны здымкаў экрану - # Label for the checkbox that toggles screenshot to clipboard feature options-screenshot-clipboard-only-label = Здымак толькі ў буфер абмену options-screenshot-clipboard-tooltip2 = .title = Захоўвае здымак экрана наўпрост у буфер абмену - # Label for the checkbox that toggles the camera shutter audio for screenshot tool options-screenshot-audio-label = Прайграваць гук затвора камеры options-screenshot-audio-tooltip = @@ -91,7 +94,6 @@ # The heading options-sourceeditor-label = Налады рэдактара - options-sourceeditor-detectindentation-tooltip = .title = Вызначаць водступы па зыходнаму змесціву options-sourceeditor-detectindentation-label = Вызначаць водступы @@ -109,46 +111,37 @@ # The heading (this item is also used in perftools.ftl) options-context-advanced-settings = Дадатковыя налады - # The label for the checkbox that toggles the HTTP cache on or off options-disable-http-cache-label = Выключыць кэш HTTP (калі панэль прылад адкрыта) options-disable-http-cache-tooltip = .title = Калі ўключана, забараняе кэш HTTP для ўсіх картак, на якіх адкрыта панэль прылад. Гэты параметр не дзейнічае на воркеры сэрвісу. - # The label for checkbox that toggles JavaScript on or off options-disable-javascript-label = Забараніць JavaScript * options-disable-javascript-tooltip = .title = Уключэнне гэтага параметра адключыць JavaScript у дзейнай картцы. Параметр забудзецца пасля закрыцця карткі або прылад распрацоўкі. - # The label for checkbox that toggles chrome debugging, i.e. the devtools.chrome.enabled preference options-enable-chrome-label = Уключыць панэлі прылад для адладкі выгляду і дадаткаў браўзера options-enable-chrome-tooltip = .title = Калі ўключана, дазваляе выкарыстоўваць розныя прылады распрацоўшчыка ў кантэксце браўзера (праз Прылады > Вэб-распрацоўка > Прылады браўзера) і адладжваць дадаткі з Кіраўніка дадаткаў - # The label for checkbox that toggles remote debugging, i.e. the devtools.debugger.remote-enabled preference options-enable-remote-label = Уключыць аддаленую адладку options-enable-remote-tooltip2 = .title = Уключэнне гэтага параметра дазволіць аддаленую адладку гэтага экзэмпляра браўзера - # The label for checkbox that enables F12 as a shortcut to open DevTools options-enable-f12-label = Выкарыстоўваць клавішу F12, каб адкрыць або закрыць прылады распрацоўшчыка options-enable-f12-tooltip = .title = Уключэнне гэтай налады прывязвае клавішу F12 да адкрыцця або закрыцця панэлі прылад распрацоўшчыка. - # The label for checkbox that toggles custom formatters for objects options-enable-custom-formatters-label = Уключыць карыстальніцкія сродкі фарматавання options-enable-custom-formatters-tooltip = .title = Уключэнне гэтага параметра дазволіць сайтам вызначаць карыстальніцкія сродкі фарматавання для аб'ектаў DOM - # The label for checkbox that toggles the service workers testing over HTTP on or off. options-enable-service-workers-http-label = Уключыць воркеры сэрвісу праз HTTP (калі панэль прылад адкрыта) options-enable-service-workers-http-tooltip = .title = Калі ўключана, дазваляе воркеры сервісу праз HTTP для ўсіх картак, на якіх адкрыта панэль прылад. - # The label for the checkbox that toggles source maps in all tools. options-source-maps-label = Уключыць мапы зыходнага коду options-source-maps-tooltip = .title = Калі ўключана, зыходныя коды будуць супастаўлены ў інструментах. - # The message shown for settings that trigger page reload options-context-triggers-page-refresh = * Толькі для бягучага сеанса, перазагружае старонку diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/devtools/client/toolbox.properties firefox-esr-115.11.0esr+build1/l10n/be/devtools/client/toolbox.properties --- firefox-esr-115.10.0esr+build1/l10n/be/devtools/client/toolbox.properties 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/devtools/client/toolbox.properties 2024-05-07 06:05:12.000000000 +0000 @@ -160,9 +160,13 @@ toolbox.closebutton.tooltip=Закрыць прылады распрацоўшчыка # LOCALIZATION NOTE (toolbox.errorCountButton.tooltip): This is the tooltip for -# the error count button displayed in the developer tools toolbox. +# the error count button displayed in the developer tools toolbox if the "Enable Split Console" setting is checked. toolbox.errorCountButton.tooltip=Паказаць падзеленую кансоль +# LOCALIZATION NOTE (toolbox.errorCountButtonConsoleTab.tooltip): This is the tooltip for +# the error count button displayed in the developer tools toolbox if the "Enable Split Console" setting is unchecked. +toolbox.errorCountButtonConsoleTab.tooltip=Паказаць кансоль + # LOCALIZATION NOTE (toolbox.errorCountButton.description): This is the description that # will be used for the error count button in the devTools settings panel. toolbox.errorCountButton.description=Паказаць лічбу памылак на старонцы diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/devtools/client/tooltips.ftl firefox-esr-115.11.0esr+build1/l10n/be/devtools/client/tooltips.ftl --- firefox-esr-115.10.0esr+build1/l10n/be/devtools/client/tooltips.ftl 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/devtools/client/tooltips.ftl 2024-05-07 06:05:12.000000000 +0000 @@ -38,6 +38,11 @@ inactive-scroll-padding-when-not-scroll-container = { $property } не ўплывае на гэты элемент, паколькi ён не пракручваецца. inactive-css-border-image = { $property } не мае ніякага ўплыву на гэты элемент, паколькі ён не можа быць ужыты да ўнутраных элементаў табліцы, дзе для border-collapse усталявана значэнне collapse на элемент бацькоўскай табліцы. inactive-css-ruby-element = { $property } не ўплывае на гэты элемент, таму што гэта элемент ruby. Яго памер вызначаны памерам шрыфту тэксту ruby. + +## In the Rule View when a CSS property cannot be successfully applied we display +## an icon. When this icon is hovered this message is displayed to explain how +## the problem can be solved. + inactive-css-highlight-pseudo-elements-not-supported = { $property } не падтрымліваецца на псеўда-элементах вылучэння. inactive-css-cue-pseudo-element-not-supported = { $property } не падтрымліваецца на псеўда-элементах ::cue. # Variables: @@ -52,9 +57,11 @@ ## In the Rule View when a CSS property cannot be successfully applied we display ## an icon. When this icon is hovered this message is displayed to explain how -## the problem can be solved. +## the problem can be solved. CSS properties and values in tags should +## not be translated. inactive-css-not-grid-or-flex-container-fix = Паспрабуйце дадаць display:grid ці display:flex. { learn-more } +inactive-css-not-grid-or-flex-or-block-container-fix = Паспрабуйце дадаць display:grid, display:flex або display:block. { learn-more } inactive-css-not-grid-or-flex-container-or-multicol-container-fix = Паспрабуйце дадаць display:grid, display:flex, або columns:2. { learn-more } inactive-css-not-multicol-container-fix = Паспрабуйце дадаць column-count або column-width. { learn-more } inactive-css-not-grid-or-flex-item-fix-3 = Паспрабуйце дадаць display:grid, display:flex, display:inline-grid цi display:inline-flex да бацькоўскага элемента. { learn-more } diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/devtools/client/webconsole.properties firefox-esr-115.11.0esr+build1/l10n/be/devtools/client/webconsole.properties --- firefox-esr-115.10.0esr+build1/l10n/be/devtools/client/webconsole.properties 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/devtools/client/webconsole.properties 2024-05-07 06:05:12.000000000 +0000 @@ -133,14 +133,18 @@ table.key=Ключ table.value=Значэнні -# LOCALIZATION NOTE (level.error, level.warn, level.info, level.log, level.debug): -# tooltip for icons next to console output +# LOCALIZATION NOTE (level.error, level.warn, level.info, level.log, level.debug, level.jstracer): +# tooltip for icons next to console output. +# "level.jstracer" isn't related to console.api call, but rather to the JavaScript Tracer, +# each item represents a function call being logged in the console. level.error=Памылка level.warn=Папярэджанне level.info=Інфармацыя level.log=Журнал level.debug=Адладка +level.jstracer=Выклік функцыі + # LOCALIZATION NOTE (logpoint.title) # Tooltip shown for logpoints sent from the debugger logpoint.title=Пункты журналу з адладчыка @@ -466,9 +470,14 @@ webconsole.message.commands.startTracingToProfiler=Запушчана трасіроўка ў Прафайлер. Трасіроўкі будуць паказаны ў прафайлеры па спыненні. # LOCALIZATION NOTE (webconsole.message.commands.stopTracing) -# Label displayed when :trace command was executed and the JavaScript tracer stopped. +# Label displayed when the JavaScript tracer stopped webconsole.message.commands.stopTracing=Трасіроўка спынена +# LOCALIZATION NOTE (webconsole.message.commands.stopTracingWithReason) +# Label displayed when the JavaScript tracer stopped with a particular reason +# which isn't user explicit stop request. Can be reaching the max-depth option, or an infinite loop. +webconsole.message.commands.stopTracingWithReason=Трасіроўка спынена (прычына: %S) + # LOCALIZATION NOTE (webconsole.error.commands.copyError): # the error that is displayed when the "copy" command can't stringify an object # "copy" should not be translated, because is a function name. diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/devtools/shared/styleinspector.properties firefox-esr-115.11.0esr+build1/l10n/be/devtools/shared/styleinspector.properties --- firefox-esr-115.10.0esr+build1/l10n/be/devtools/shared/styleinspector.properties 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/devtools/shared/styleinspector.properties 2024-05-07 06:05:12.000000000 +0000 @@ -170,6 +170,14 @@ # The argument is the property name. rule.propertyToggle.label=Уключыць уласцівасць %S +# LOCALIZATION NOTE (rule.newPropertyName.label): +# This is the label for the new property input in the rule view. +rule.newPropertyName.label=Новая назва ўласцівасці + +# LOCALIZATION NOTE (rule.propertyName.label): +# This is the label for the property name input in the rule view. +rule.propertyName.label=Назва ўласцівасці + # LOCALIZATION NOTE (styleinspector.contextmenu.copyColor): Text displayed in the rule # and computed view context menu when a color value was clicked. styleinspector.contextmenu.copyColor=Капіяваць колер diff -Nru firefox-esr-115.10.0esr+build1/l10n/be/dom/chrome/dom/dom.properties firefox-esr-115.11.0esr+build1/l10n/be/dom/chrome/dom/dom.properties --- firefox-esr-115.10.0esr+build1/l10n/be/dom/chrome/dom/dom.properties 2024-04-08 19:11:53.000000000 +0000 +++ firefox-esr-115.11.0esr+build1/l10n/be/dom/chrome/dom/dom.properties 2024-05-07 06:05:12.000000000 +0000 @@ -18,6 +18,7 @@ WaitForScriptButton=Працягнуць DontAskAgain=&Больш не пытацца WindowCloseBlockedWarning=Сцэнары не могуць закрываць вокны, якія не былі адкрыты сцэнарамі. +WindowCloseByScriptBlockedWarning=Скрыпты могуць закрываць толькі тыя вокны, якія былі адкрыты скрыптам. OnBeforeUnloadTitle=Вы ўпэўнены? OnBeforeUnloadMessage2=Старонка запытвае пацвярджэнне вашага намеру пакінуць яе — інфармацыя, якую вы ўвялі, можа не захавацца. OnBeforeUnloadStayButton=Застацца на старонцы @@ -304,16 +305,22 @@ NotificationsRequireUserGestureDeprecationWarning=Запыт дазволу на абвесткі па-за межамі кароткатэрміновага апрацоўшчыка падзей, створанага карыстальнікам, састарэў і не будзе падтрымлівацца ў будучыні. # LOCALIZATION NOTE: Do not translate "content", "Window", and "window.top" WindowContentUntrustedWarning=Атрыбут ‘content’ аб'екта Window пазначаны састарэлым. Калі ласка, выкарыстоўвайце ‘window.top’ замест. + # LOCALIZATION NOTE: The first %S is the tag name of the element that starts the loop, the second %S is the element's ID. SVGRefLoopWarning=SVG <%S> з ідэнтыфікатарам “%S” мае рэферэнсны цыкл. # LOCALIZATION NOTE: The first %S is the tag name of the element in the chain where the chain was broken, the second %S is the element's ID. SVGRefChainLengthExceededWarning=Занадта доўгі рэферэнсны ланцуг SVG <%S> быў пакінуты ў элеменце з ідэнтыфікатарам “%S”. -# LOCALIZATION NOTE: Do not translate SVGSVGElement.deselectAll. -SVGDeselectAll=SVGSVGElement.deselectAll прызнаны састарэлым, паколькі ён дублюе функцыі Selection API. # LOCALIZATION NOTE: Do not translate SVGGraphicsElement.nearestViewportElement or SVGElement.viewportElement. SVGNearestViewportElement=SVGGraphicsElement.nearestViewportElement з'яўляецца састарэлым і будзе выдалены ў будучыні. Замест яго выкарыстоўвайце SVGElement.viewportElement. # LOCALIZATION NOTE: Do not translate SVGGraphicsElement.farthestViewportElement. SVGFarthestViewportElement=SVGGraphicsElement.farthestViewportElement з'яўляецца састарэлым і будзе выдалены ў будучыні. +# LOCALIZATION NOTE: Do not translate SVGSVGElement.deselectAll. +SVGDeselectAllWarning=SVGSVGElement.deselectAll прызнаны састарэлым, паколькі ён дублюе функцыі Selection API. +# LOCALIZATION NOTE: Do not translate SVGGraphicsElement.nearestViewportElement or SVGElement.viewportElement. +SVGNearestViewportElementWarning=SVGGraphicsElement.nearestViewportElement з'яўляецца састарэлым і будзе выдалены ў будучыні. Замест яго выкарыстоўвайце SVGElement.viewportElement. +# LOCALIZATION NOTE: Do not translate SVGGraphicsElement.farthestViewportElement. +SVGFarthestViewportElementWarning=SVGGraphicsElement.farthestViewportElement з'яўляецца састарэлым і будзе выдалены ў будучыні. + # LOCALIZATION NOTE: Do not translate "