diff --git a/CLOBBER b/CLOBBER index 57ca408a475ee5d779195e7c53b96c4ed07afd56..cc5e6c5d52322b27c4d72db86301440309b37460 100644 --- a/CLOBBER +++ b/CLOBBER @@ -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 2023-10-23 \ No newline at end of file +Merge day clobber 2023-11-20 \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index 71b4e9ae36f7d6f27a179845fa97072baea7fd51..1cb46da48977eaca7d42059ceaeac1def6924e94 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2141,6 +2141,8 @@ dependencies = [ "nsstring", "oblivious_http", "origin-trials-ffi", + "oxilangtag", + "oxilangtag-ffi", "prefs_parser", "processtools", "profiler_helper", @@ -3889,6 +3891,20 @@ dependencies = [ "stable_deref_trait", ] +[[package]] +name = "oxilangtag" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d91edf4fbb970279443471345a4e8c491bf05bb283b3e6c88e4e606fd8c181b" + +[[package]] +name = "oxilangtag-ffi" +version = "0.1.0" +dependencies = [ + "nsstring", + "oxilangtag", +] + [[package]] name = "packed_simd" version = "0.3.9" diff --git a/accessible/base/AccGroupInfo.cpp b/accessible/base/AccGroupInfo.cpp index cf51f9b0aacd2b03097aa7fd38159d914339757c..3b536b1aa4622a0d621f5282b8b794d6a0a2188a 100644 --- a/accessible/base/AccGroupInfo.cpp +++ b/accessible/base/AccGroupInfo.cpp @@ -47,13 +47,13 @@ class CompoundWidgetSiblingRule : public PivotRule { }; AccGroupInfo::AccGroupInfo(const Accessible* aItem, role aRole) - : mPosInSet(0), mSetSize(0), mParent(nullptr), mItem(aItem), mRole(aRole) { + : mPosInSet(0), mSetSize(0), mParentId(0), mItem(aItem), mRole(aRole) { MOZ_COUNT_CTOR(AccGroupInfo); Update(); } void AccGroupInfo::Update() { - mParent = nullptr; + mParentId = 0; Accessible* parent = mItem->GetNonGenericParent(); if (!parent) { @@ -89,7 +89,7 @@ void AccGroupInfo::Update() { // (group will be continued). const int32_t siblingLevel = GetARIAOrDefaultLevel(candidateSibling); if (siblingLevel < level) { - mParent = candidateSibling; + mParentId = candidateSibling->ID(); break; } @@ -102,7 +102,7 @@ void AccGroupInfo::Update() { // build group information for this item based on found one. if (siblingGroupInfo) { mPosInSet += siblingGroupInfo->mPosInSet; - mParent = siblingGroupInfo->mParent; + mParentId = siblingGroupInfo->mParentId; mSetSize = siblingGroupInfo->mSetSize; return; } @@ -142,7 +142,7 @@ void AccGroupInfo::Update() { // If the next item in the group has calculated group information then // build group information for this item based on found one. if (siblingGroupInfo) { - mParent = siblingGroupInfo->mParent; + mParentId = siblingGroupInfo->mParentId; mSetSize = siblingGroupInfo->mSetSize; return; } @@ -150,13 +150,13 @@ void AccGroupInfo::Update() { mSetSize++; } - if (mParent) { + if (mParentId) { return; } roles::Role parentRole = parent->Role(); if (ShouldReportRelations(mRole, parentRole)) { - mParent = parent; + mParentId = parent->ID(); } // ARIA tree and list can be arranged by using ARIA groups to organize levels. @@ -177,7 +177,7 @@ void AccGroupInfo::Update() { CompoundWidgetSiblingRule parentSiblingRule{mRole}; Accessible* parentPrevSibling = pivot.Prev(parent, widgetSiblingRule); if (parentPrevSibling && parentPrevSibling->Role() == mRole) { - mParent = parentPrevSibling; + mParentId = parentPrevSibling->ID(); return; } } @@ -188,7 +188,7 @@ void AccGroupInfo::Update() { if (mRole == roles::LISTITEM || mRole == roles::OUTLINEITEM) { Accessible* grandParent = parent->GetNonGenericParent(); if (grandParent && grandParent->Role() == mRole) { - mParent = grandParent; + mParentId = grandParent->ID(); } } } @@ -347,7 +347,7 @@ Accessible* AccGroupInfo::NextItemTo(Accessible* aItem) { } size_t AccGroupInfo::SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) { - // We don't count mParent or mItem since they (should be) counted + // We don't count mParentId or mItem since they (should be) counted // as part of the document. return aMallocSizeOf(this); } @@ -371,6 +371,18 @@ int32_t AccGroupInfo::GetARIAOrDefaultLevel(const Accessible* aAccessible) { return aAccessible->GetLevel(true); } +Accessible* AccGroupInfo::ConceptualParent() const { + if (!mParentId) { + // The conceptual parent can never be the document, so id 0 means none. + return nullptr; + } + if (Accessible* doc = + nsAccUtils::DocumentFor(const_cast<Accessible*>(mItem))) { + return nsAccUtils::GetAccessibleByID(doc, mParentId); + } + return nullptr; +} + static role BaseRole(role aRole) { if (aRole == roles::CHECK_MENU_ITEM || aRole == roles::PARENT_MENUITEM || aRole == roles::RADIO_MENU_ITEM) { diff --git a/accessible/base/AccGroupInfo.h b/accessible/base/AccGroupInfo.h index e0aa552fd93384fef15c8aa4c5c99c2f4110f927..0c62cc4b8e6140f1cd350701330d93855276a066 100644 --- a/accessible/base/AccGroupInfo.h +++ b/accessible/base/AccGroupInfo.h @@ -39,7 +39,7 @@ class AccGroupInfo { * Return a direct or logical parent of the accessible that this group info is * created for. */ - Accessible* ConceptualParent() const { return mParent; } + Accessible* ConceptualParent() const; /** * Update group information. @@ -90,7 +90,7 @@ class AccGroupInfo { uint32_t mPosInSet; uint32_t mSetSize; - Accessible* mParent; + uint64_t mParentId; const Accessible* mItem; a11y::role mRole; }; diff --git a/accessible/base/CacheConstants.h b/accessible/base/CacheConstants.h index ab835b463913814803732ec27f175b1168c4d998..06e45a1921022126c2734b076c8dc1dfb887cd19 100644 --- a/accessible/base/CacheConstants.h +++ b/accessible/base/CacheConstants.h @@ -82,6 +82,10 @@ static constexpr RelationData kRelationTypeAtoms[] = { RelationType::DESCRIPTION_FOR}, {nsGkAtoms::aria_flowto, nullptr, RelationType::FLOWS_TO, RelationType::FLOWS_FROM}, + {nsGkAtoms::aria_details, nullptr, RelationType::DETAILS, + RelationType::DETAILS_FOR}, + {nsGkAtoms::aria_errormessage, nullptr, RelationType::ERRORMSG, + RelationType::ERRORMSG_FOR}, }; // The count of numbers needed to serialize an nsRect. This is used when diff --git a/accessible/base/CachedTableAccessible.cpp b/accessible/base/CachedTableAccessible.cpp index 0d37246e6b4b4ef1d7b64a59d1e7234439cdeb3a..31d5df08e9abc032d2249945f6c03c5d8ee877b9 100644 --- a/accessible/base/CachedTableAccessible.cpp +++ b/accessible/base/CachedTableAccessible.cpp @@ -249,6 +249,11 @@ CachedTableCellAccessible* CachedTableCellAccessible::GetFrom( if (auto cellIdx = cachedTable->mAccToCellIdx.Lookup(aAcc)) { return &cachedTable->mCells[*cellIdx]; } + // We found a table, but it doesn't know about this cell. This can happen + // if a cell is outside of a row due to authoring error. We must not search + // ancestor tables, since this cell's data is not valid there and vice + // versa. + break; } return nullptr; } diff --git a/accessible/base/HTMLMarkupMap.h b/accessible/base/HTMLMarkupMap.h index 893fac1f3103f94cd7fe39d814c34da0db563494..a7e880872b519c0b831872ab3e1d9e5d9597f2e5 100644 --- a/accessible/base/HTMLMarkupMap.h +++ b/accessible/base/HTMLMarkupMap.h @@ -393,6 +393,13 @@ MARKUPMAP( // A <tr> within a row isn't valid. return nullptr; } + const nsRoleMapEntry* roleMapEntry = aria::GetRoleMap(aElement); + if (roleMapEntry && roleMapEntry->role != roles::NOTHING && + roleMapEntry->role != roles::ROW) { + // There is a valid ARIA role which isn't "row". Don't treat this as an + // HTML table row. + return nullptr; + } // Check if this <tr> is within a table. We check the grandparent because // it might be inside a rowgroup. We don't specifically check for an HTML // table because there are cases where there is a <tr> inside a diff --git a/accessible/base/nsAccUtils.cpp b/accessible/base/nsAccUtils.cpp index f918dd97cc1f112e257478b1675e933b7e42806e..1924b5d90b999dbc1c5ecc74e3fc1dfa7493a2c8 100644 --- a/accessible/base/nsAccUtils.cpp +++ b/accessible/base/nsAccUtils.cpp @@ -324,12 +324,17 @@ LayoutDeviceIntPoint nsAccUtils::GetScreenCoordsForParent( LayoutDeviceIntPoint nsAccUtils::GetScreenCoordsForWindow( Accessible* aAccessible) { + LayoutDeviceIntPoint coords(0, 0); a11y::LocalAccessible* localAcc = aAccessible->AsLocal(); if (!localAcc) { localAcc = aAccessible->AsRemote()->OuterDocOfRemoteBrowser(); + if (!localAcc) { + // This could be null if the tab is closing but the document is still + // being shut down. + return coords; + } } - LayoutDeviceIntPoint coords(0, 0); nsCOMPtr<nsIDocShellTreeItem> treeItem( nsCoreUtils::GetDocShellFor(localAcc->GetNode())); if (!treeItem) return coords; diff --git a/accessible/generic/LocalAccessible.cpp b/accessible/generic/LocalAccessible.cpp index 4e9713569783f60b1b28ef5ee26edfbffeb3bf02..a732f03a0892291ae0665b31260b4279f64651dc 100644 --- a/accessible/generic/LocalAccessible.cpp +++ b/accessible/generic/LocalAccessible.cpp @@ -1415,7 +1415,9 @@ void LocalAccessible::DOMAttributeChanged(int32_t aNameSpaceID, } if (aAttribute == nsGkAtoms::aria_controls || - aAttribute == nsGkAtoms::aria_flowto) { + aAttribute == nsGkAtoms::aria_flowto || + aAttribute == nsGkAtoms::aria_details || + aAttribute == nsGkAtoms::aria_errormessage) { mDoc->QueueCacheUpdate(this, CacheDomain::Relations); } diff --git a/accessible/html/HTMLImageMapAccessible.cpp b/accessible/html/HTMLImageMapAccessible.cpp index d7b7521b7e06f4b42e89156760cdbc01e2cb084c..dfcd003e6e91547674e9a1ac20929ed18fc5b7d3 100644 --- a/accessible/html/HTMLImageMapAccessible.cpp +++ b/accessible/html/HTMLImageMapAccessible.cpp @@ -174,21 +174,17 @@ nsRect HTMLAreaAccessible::RelativeBounds(nsIFrame** aBoundingFrame) const { nsRect HTMLAreaAccessible::ParentRelativeBounds() { nsIFrame* boundingFrame = nullptr; nsRect relativeBoundsRect = RelativeBounds(&boundingFrame); - - nsIFrame* parentBoundingFrame = nullptr; - if (mParent) { - parentBoundingFrame = mParent->GetFrame(); - } - - if (!parentBoundingFrame) { - // if we can't get the bounding frame, use the pres shell root for the - // bounding frame RelativeBounds returned - parentBoundingFrame = - nsLayoutUtils::GetContainingBlockForClientRect(boundingFrame); + if (MOZ_UNLIKELY(!boundingFrame)) { + // Area is not attached to an image map? + return nsRect(); } - nsLayoutUtils::TransformRect(boundingFrame, parentBoundingFrame, - relativeBoundsRect); - + // The relative bounds returned above are relative to this area's + // image map, which is technically already "parent relative". + // Because area elements are `display:none` to layout, they can't + // have transforms or other styling applied directly, and so we + // don't apply any additional transforms here. Any transform + // at the image map layer will be taken care of when computing bounds + // in the parent process. return relativeBoundsRect; } diff --git a/accessible/tests/browser/e10s/browser_caching_relations.js b/accessible/tests/browser/e10s/browser_caching_relations.js index c1fc1ea98cb33ad1a23b8a17540c5fa59651d293..cc8393083042cb9c7f983e898568cef6998e6297 100644 --- a/accessible/tests/browser/e10s/browser_caching_relations.js +++ b/accessible/tests/browser/e10s/browser_caching_relations.js @@ -18,6 +18,8 @@ const attrRelationsSpec = [ ["aria-describedby", RELATION_DESCRIBED_BY, RELATION_DESCRIPTION_FOR], ["aria-controls", RELATION_CONTROLLER_FOR, RELATION_CONTROLLED_BY], ["aria-flowto", RELATION_FLOWS_TO, RELATION_FLOWS_FROM], + ["aria-details", RELATION_DETAILS, RELATION_DETAILS_FOR], + ["aria-errormessage", RELATION_ERRORMSG, RELATION_ERRORMSG_FOR], ]; /** diff --git a/accessible/tests/browser/e10s/browser_caching_table.js b/accessible/tests/browser/e10s/browser_caching_table.js index a673401b965ed2e2d909ddf051cbf2b203fdda1d..fa978c08eb65b832dde688552b6ea4752325c37c 100644 --- a/accessible/tests/browser/e10s/browser_caching_table.js +++ b/accessible/tests/browser/e10s/browser_caching_table.js @@ -504,3 +504,29 @@ addAccessibleTask( }, { chrome: true, topLevel: true } ); + +/** + * Verify that we don't crash for authoring error like <tr role="grid">. + */ +addAccessibleTask( + ` +<table id="table"> + <tr><th>a</th></tr> + <tr role="grid"><td id="b">b</td></tr> +</table> + `, + async function (browser, docAcc) { + const table = findAccessibleChildByID(docAcc, "table", [ + nsIAccessibleTable, + ]); + is(table.rowCount, 1, "table rowCount correct"); + is(table.columnCount, 1, "table columnCount correct"); + const b = findAccessibleChildByID(docAcc, "b"); + let queryOk = false; + try { + b.QueryInterface(nsIAccessibleTableCell); + queryOk = true; + } catch (e) {} + ok(!queryOk, "No nsIAccessibleTableCell on invalid cell b"); + } +); diff --git a/browser/actors/PromptParent.sys.mjs b/browser/actors/PromptParent.sys.mjs index 9858a2662ce12117416592d7641255af4744a78d..76eca1a66f68df30997797592a8f39309c32c7d7 100644 --- a/browser/actors/PromptParent.sys.mjs +++ b/browser/actors/PromptParent.sys.mjs @@ -132,6 +132,10 @@ export class PromptParent extends JSWindowActorParent { switch (message.name) { case "Prompt:Open": + if (!this.windowContext.isCurrentGlobal) { + return undefined; + } + if ( (args.modalType === Ci.nsIPrompt.MODAL_TYPE_CONTENT && !lazy.contentPromptSubDialog) || diff --git a/browser/base/content/browser-fullScreenAndPointerLock.js b/browser/base/content/browser-fullScreenAndPointerLock.js index 7a989c6e5cd4356eaeef8375713619bdf8e7d01b..29183138c7b881b1235213bc1446a886954b987a 100644 --- a/browser/base/content/browser-fullScreenAndPointerLock.js +++ b/browser/base/content/browser-fullScreenAndPointerLock.js @@ -6,8 +6,6 @@ // This file is loaded into the browser window scope. /* eslint-env mozilla/browser-window */ -const FS_PERM_PROMPT_TIME_SHOWN_OFFSET_MS = 2000; - var PointerlockFsWarning = { _element: null, _origin: null, @@ -468,11 +466,6 @@ var FullScreen = { this._permissionNotificationIDs ).filter(n => !n.dismissed).length ) { - if (PopupNotifications.panel.firstChild) { - PopupNotifications.panel.firstChild.notification.timeShown += - FS_PERM_PROMPT_TIME_SHOWN_OFFSET_MS; - } - this.exitDomFullScreen(); this._logWarningPermissionPromptFS("fullScreenCanceled"); } diff --git a/browser/components/enterprisepolicies/Policies.sys.mjs b/browser/components/enterprisepolicies/Policies.sys.mjs index f486794af8c4d3a3550ceba45a9f965822596c41..b9e420eae6905a4f9e20111364d56d6ceae16045 100644 --- a/browser/components/enterprisepolicies/Policies.sys.mjs +++ b/browser/components/enterprisepolicies/Policies.sys.mjs @@ -1727,6 +1727,8 @@ export var Policies = { const allowedSecurityPrefs = [ "security.block_fileuri_script_with_wrong_mime", "security.default_personal_cert", + "security.disable_button.openCertManager", + "security.disable_button.openDeviceManager", "security.insecure_connection_text.enabled", "security.insecure_connection_text.pbmode.enabled", "security.mixed_content.block_active_content", diff --git a/browser/components/extensions/parent/ext-browser.js b/browser/components/extensions/parent/ext-browser.js index c7fc36b5bbafdf03d46ec0bc0a60b80b39a51919..3b8a179c8d5c4fb252e21918541057976bf5bebe 100644 --- a/browser/components/extensions/parent/ext-browser.js +++ b/browser/components/extensions/parent/ext-browser.js @@ -1057,11 +1057,6 @@ class Window extends WindowBase { if (window.windowState !== window.STATE_NORMAL) { window.restore(); } - if (window.windowState !== window.STATE_NORMAL) { - // And on OS-X, where normal vs. maximized is basically a heuristic, - // we need to cheat. - window.sizeToContent(); - } break; case window.STATE_FULLSCREEN: diff --git a/browser/components/extensions/test/browser/browser_ext_windows_update.js b/browser/components/extensions/test/browser/browser_ext_windows_update.js index 17942213c78ce5f74f164b6340ebc71ca2792bff..0e02f30cbc4313e170d3485b0e181b25921b86af 100644 --- a/browser/components/extensions/test/browser/browser_ext_windows_update.js +++ b/browser/components/extensions/test/browser/browser_ext_windows_update.js @@ -68,7 +68,7 @@ add_task(async function testWindowUpdate() { } let currentWindowId; - async function updateWindow(windowId, params, expected) { + async function updateWindow(windowId, params, expected, otherChecks) { let window = await browser.windows.update(windowId, params); browser.test.assertEq( @@ -92,6 +92,15 @@ add_task(async function testWindowUpdate() { ); } } + if (otherChecks) { + for (let key of Object.keys(otherChecks)) { + browser.test.assertEq( + otherChecks[key], + window[key], + `Got expected value for window.${key}` + ); + } + } return checkWindow(expected); } @@ -104,11 +113,22 @@ add_task(async function testWindowUpdate() { let window = await browser.windows.getCurrent(); currentWindowId = window.id; + // Store current, "normal" width and height to compare against + // window width and height after updating to "normal" state. + let normalWidth = window.width; + let normalHeight = window.height; + await updateWindow( windowId, { state: "maximized" }, { state: "STATE_MAXIMIZED" } ); + await updateWindow( + windowId, + { state: "normal" }, + { state: "STATE_NORMAL" }, + { width: normalWidth, height: normalHeight } + ); await updateWindow( windowId, { state: "minimized" }, @@ -117,7 +137,8 @@ add_task(async function testWindowUpdate() { await updateWindow( windowId, { state: "normal" }, - { state: "STATE_NORMAL" } + { state: "STATE_NORMAL" }, + { width: normalWidth, height: normalHeight } ); await updateWindow( windowId, @@ -127,7 +148,8 @@ add_task(async function testWindowUpdate() { await updateWindow( windowId, { state: "normal" }, - { state: "STATE_NORMAL" } + { state: "STATE_NORMAL" }, + { width: normalWidth, height: normalHeight } ); browser.test.notifyPass("window-update"); diff --git a/browser/components/search/schema/search-telemetry-schema.json b/browser/components/search/schema/search-telemetry-schema.json index 7d5e1e730a8dd837404c523724b4d5e3fc3e6101..8bca1f30fbf5838a9285f7e468247eabd6805f86 100644 --- a/browser/components/search/schema/search-telemetry-schema.json +++ b/browser/components/search/schema/search-telemetry-schema.json @@ -260,6 +260,82 @@ } }, "required": ["selector", "regexp"] + }, + "domainExtraction": { + "type": "object", + "title": "Domain Extraction", + "description": "An array of methods for extracting domains from a SERP result.", + "properties": { + "ads": { + "type": "array", + "description": "An array of methods for extracting domains from ads.", + "items": { + "$ref": "/schemas/extraction" + } + }, + "nonAds": { + "type": "array", + "description": "An array of methods for extracting domains from non-ads.", + "items": { + "$ref": "/schemas/extraction" + } + } + } + } + }, + "$defs": { + "extraction": { + "$id": "/schemas/extraction", + "anyOf": [ + { + "type": "object", + "properties": { + "selectors": { + "type": "string", + "description": "The query to inspect all elements on the SERP." + }, + "method": { + "enum": ["data-attribute"], + "description": "The extraction method used for the query." + }, + "options": { + "type": "object", + "properties": { + "dataAttributeKey": { + "type": "string", + "description": "The data attribute key that will be looked up in order to retrieve its data attribute value." + } + }, + "required": ["dataAttributeKey"] + } + }, + "required": ["selectors", "method", "options"] + }, + { + "type": "object", + "properties": { + "selectors": { + "type": "string", + "description": "The query to use to inspect all elements on the SERP." + }, + "method": { + "enum": ["href"], + "description": "The extraction method to use for the query." + }, + "options": { + "type": "object", + "properties": { + "queryParamKey": { + "type": "string", + "description": "The query parameter key to inspect in the href." + } + }, + "required": ["queryParamKey"] + } + }, + "required": ["selectors", "method"] + } + ] } } } diff --git a/browser/components/search/schema/search-telemetry-ui-schema.json b/browser/components/search/schema/search-telemetry-ui-schema.json index 883d4f06816428e6f50a378dd675c4f9c3fd217e..01c6e89b7e7c5d53310dc7b1eebacc9b26988eb6 100644 --- a/browser/components/search/schema/search-telemetry-ui-schema.json +++ b/browser/components/search/schema/search-telemetry-ui-schema.json @@ -14,6 +14,7 @@ "adServerAttributes", "components", "nonAdsLinkRegexps", - "shoppingTab" + "shoppingTab", + "domainExtraction" ] } diff --git a/browser/config/version.txt b/browser/config/version.txt index fd9fbc080ec5b70771a051de549cc7c37a15fa94..f89a1b791a058d0b0267a9b560dc5841b80cf3f3 100644 --- a/browser/config/version.txt +++ b/browser/config/version.txt @@ -1 +1 @@ -115.5.0 +115.6.0 diff --git a/browser/config/version_display.txt b/browser/config/version_display.txt index bb350d45598af3a72d173df040675ee1b1aa5f28..0e8b691ffd050fb7acd3dffdf0fd5fac9e2fdbf8 100644 --- a/browser/config/version_display.txt +++ b/browser/config/version_display.txt @@ -1 +1 @@ -115.5.0esr +115.6.0esr diff --git a/build/pgo/server-locations.txt b/build/pgo/server-locations.txt index be5394ac1c6b95e80f638b41a37c11e563c116e2..ac0c47c12191af6cd4ec63f8c586669a78fa0709 100644 --- a/build/pgo/server-locations.txt +++ b/build/pgo/server-locations.txt @@ -378,3 +378,7 @@ https://foo.example.com:4433 privileged,cert=http2-cert.pem # Mochitest https://mochi.test:443 privileged,cert=mochitest-cert.pem + +# External IP address only available via http (Bug 1855734) +http://123.123.123.123:80 privileged +https://123.123.123.123:443 privileged,nocert diff --git a/caps/OriginAttributes.cpp b/caps/OriginAttributes.cpp index b6746a54c430b0fc42abe7b857929efb01b3e065..734a23049582767076aacfa5c7d5f38156ac28d5 100644 --- a/caps/OriginAttributes.cpp +++ b/caps/OriginAttributes.cpp @@ -70,8 +70,19 @@ static void PopulateTopLevelInfoFromURI(const bool aIsTopLevelDocument, nsAString& topLevelInfo = aOriginAttributes.*aTarget; nsAutoCString scheme; - rv = aURI->GetScheme(scheme); - NS_ENSURE_SUCCESS_VOID(rv); + nsCOMPtr<nsIURI> uri = aURI; + // The URI could be nested (for example view-source:http://example.com), in + // that case we want to get the innermost URI (http://example.com). + nsCOMPtr<nsINestedURI> nestedURI; + do { + NS_ENSURE_SUCCESS_VOID(uri->GetScheme(scheme)); + nestedURI = do_QueryInterface(uri); + // We can't just use GetInnermostURI on the nested URI, since that would + // also unwrap some about: URIs to hidden moz-safe-about: URIs, which we do + // not want. Thus we loop through with GetInnerURI until the URI isn't + // nested anymore or we encounter a about: scheme. + } while (nestedURI && !scheme.EqualsLiteral("about") && + NS_SUCCEEDED(nestedURI->GetInnerURI(getter_AddRefs(uri)))); if (scheme.EqualsLiteral("about")) { MakeTopLevelInfo(scheme, nsLiteralCString(ABOUT_URI_FIRST_PARTY_DOMAIN), @@ -84,7 +95,7 @@ static void PopulateTopLevelInfoFromURI(const bool aIsTopLevelDocument, if (scheme.EqualsLiteral("moz-nullprincipal")) { // Get the UUID portion of the URI, ignoring the precursor principal. nsAutoCString filePath; - rv = aURI->GetFilePath(filePath); + rv = uri->GetFilePath(filePath); MOZ_ASSERT(NS_SUCCEEDED(rv)); // Remove the `{}` characters from both ends. filePath.Mid(filePath, 1, filePath.Length() - 2); @@ -103,7 +114,7 @@ static void PopulateTopLevelInfoFromURI(const bool aIsTopLevelDocument, nsCOMPtr<nsIPrincipal> blobPrincipal; if (dom::BlobURLProtocolHandler::GetBlobURLPrincipal( - aURI, getter_AddRefs(blobPrincipal))) { + uri, getter_AddRefs(blobPrincipal))) { MOZ_ASSERT(blobPrincipal); topLevelInfo = blobPrincipal->OriginAttributesRef().*aTarget; return; @@ -115,7 +126,7 @@ static void PopulateTopLevelInfoFromURI(const bool aIsTopLevelDocument, NS_ENSURE_TRUE_VOID(tldService); nsAutoCString baseDomain; - rv = tldService->GetBaseDomain(aURI, 0, baseDomain); + rv = tldService->GetBaseDomain(uri, 0, baseDomain); if (NS_SUCCEEDED(rv)) { MakeTopLevelInfo(scheme, baseDomain, aUseSite, topLevelInfo); return; @@ -126,11 +137,11 @@ static void PopulateTopLevelInfoFromURI(const bool aIsTopLevelDocument, bool isInsufficientDomainLevels = (rv == NS_ERROR_INSUFFICIENT_DOMAIN_LEVELS); int32_t port; - rv = aURI->GetPort(&port); + rv = uri->GetPort(&port); NS_ENSURE_SUCCESS_VOID(rv); nsAutoCString host; - rv = aURI->GetHost(host); + rv = uri->GetHost(host); NS_ENSURE_SUCCESS_VOID(rv); if (isIpAddress) { @@ -160,7 +171,7 @@ static void PopulateTopLevelInfoFromURI(const bool aIsTopLevelDocument, if (isInsufficientDomainLevels) { nsAutoCString publicSuffix; - rv = tldService->GetPublicSuffix(aURI, publicSuffix); + rv = tldService->GetPublicSuffix(uri, publicSuffix); if (NS_SUCCEEDED(rv)) { MakeTopLevelInfo(scheme, publicSuffix, port, aUseSite, topLevelInfo); return; diff --git a/comm/.gecko_rev.yml b/comm/.gecko_rev.yml index 57a7b332e0fac49817d7c3b9fa2a8bf0f7e0b9ee..6a7329e911e691bec3608cc7af08666c7649dda0 100644 --- a/comm/.gecko_rev.yml +++ b/comm/.gecko_rev.yml @@ -1,8 +1,8 @@ --- GECKO_BASE_REPOSITORY: https://hg.mozilla.org/mozilla-unified GECKO_HEAD_REPOSITORY: https://hg.mozilla.org/releases/mozilla-esr115 -GECKO_HEAD_REF: FIREFOX_115_5_0esr_RELEASE -GECKO_HEAD_REV: 8a02a7c43f1eddfd18926f0266d188b4f359c0aa +GECKO_HEAD_REF: FIREFOX_115_6_0esr_BUILD1 +GECKO_HEAD_REV: aa9f02961b2bbb92e17fea5d6b8fd14c097baf72 ### For comm-central # GECKO_BASE_REPOSITORY: https://hg.mozilla.org/mozilla-unified diff --git a/comm/mail/base/content/widgets/tree-view.mjs b/comm/mail/base/content/widgets/tree-view.mjs index 3b307384d4a192458eb12c20d013b7876c0cbf86..aef622fa274a7c6af0c21c543b9a116a8e4dee9d 100644 --- a/comm/mail/base/content/widgets/tree-view.mjs +++ b/comm/mail/base/content/widgets/tree-view.mjs @@ -1160,13 +1160,15 @@ class TreeView extends HTMLElement { } // If the selected row is going to be collapsed, move the selection. + // Even if the row to be collapsed is already selected, set + // selectIndex to ensure currentIndex also points to the correct row. let selectedIndex = this.selectedIndex; - while (selectedIndex > index) { - selectedIndex = this._view.getParentIndex(selectedIndex); + while (selectedIndex >= index) { if (selectedIndex == index) { this.selectedIndex = index; break; } + selectedIndex = this._view.getParentIndex(selectedIndex); } // Check if the view calls rowCountChanged. If it didn't, we'll have to diff --git a/comm/mail/base/test/browser/browser_treeView.js b/comm/mail/base/test/browser/browser_treeView.js index 1bef172c36e31c5171e4e0d1707b1bf1f19b4a7a..bf1eeda35aa6e5f3b623042afe0101b04db2431a 100644 --- a/comm/mail/base/test/browser/browser_treeView.js +++ b/comm/mail/base/test/browser/browser_treeView.js @@ -1260,12 +1260,27 @@ async function subtestExpandCollapse() { "rows property" ); + function checkCurrent(expectedIndex) { + Assert.equal(list.currentIndex, expectedIndex, "currentIndex is correct"); + const current = list.querySelectorAll(".current"); + if (expectedIndex == -1) { + Assert.equal(current.length, 0, "no rows have the 'current' class"); + } else { + Assert.equal(current.length, 1, "only one row has the 'current' class"); + Assert.equal( + current[0].index, + expectedIndex, + "correct row has the 'current' class" + ); + } + } + function checkMultiSelect(...expectedIds) { let selected = [...list.querySelectorAll(".selected")].map(row => row.id); Assert.deepEqual(selected, expectedIds, "selection should be correct"); } - function checkSelected(expectedIndex, expectedId) { + function checkSelectedAndCurrent(expectedIndex, expectedId) { Assert.equal(list.selectedIndex, expectedIndex, "selectedIndex is correct"); let selected = [...list.querySelectorAll(".selected")].map(row => row.id); Assert.deepEqual( @@ -1273,10 +1288,11 @@ async function subtestExpandCollapse() { [expectedId], "correct rows have the 'selected' class" ); + checkCurrent(expectedIndex); } list.selectedIndex = 0; - checkSelected(0, "row-1"); + checkSelectedAndCurrent(0, "row-1"); // Click the twisties of rows without children. @@ -1345,7 +1361,7 @@ async function subtestExpandCollapse() { Assert.equal(list.querySelector(".selected").id, id); } - checkSelected(7, "row-3-1-2"); + checkSelectedAndCurrent(7, "row-3-1-2"); // Click the twisties of rows with children. @@ -1377,49 +1393,49 @@ async function subtestExpandCollapse() { clickTwisty("row-2", "collapsed"); checkRowsAreHidden("row-2-1", "row-2-2"); - checkSelected(5, "row-3-1-2"); + checkSelectedAndCurrent(5, "row-3-1-2"); // Collapse row 3. clickTwisty("row-3", "collapsed"); checkRowsAreHidden("row-2-1", "row-2-2", "row-3-1", "row-3-1-1", "row-3-1-2"); - checkSelected(2, "row-3"); + checkSelectedAndCurrent(2, "row-3"); // Expand row 2. clickTwisty("row-2", "expanded"); checkRowsAreHidden("row-3-1", "row-3-1-1", "row-3-1-2"); - checkSelected(4, "row-3"); + checkSelectedAndCurrent(4, "row-3"); // Expand row 3. clickTwisty("row-3", "expanded"); checkRowsAreHidden(); - checkSelected(4, "row-3"); + checkSelectedAndCurrent(4, "row-3"); // Collapse row 3-1. clickTwisty("row-3-1", "collapsed"); checkRowsAreHidden("row-3-1-1", "row-3-1-2"); - checkSelected(4, "row-3"); + checkSelectedAndCurrent(4, "row-3"); // Collapse row 3. clickTwisty("row-3", "collapsed"); checkRowsAreHidden("row-3-1", "row-3-1-1", "row-3-1-2"); - checkSelected(4, "row-3"); + checkSelectedAndCurrent(4, "row-3"); // Expand row 3. clickTwisty("row-3", "expanded"); checkRowsAreHidden("row-3-1-1", "row-3-1-2"); - checkSelected(4, "row-3"); + checkSelectedAndCurrent(4, "row-3"); // Expand row 3-1. clickTwisty("row-3-1", "expanded"); checkRowsAreHidden(); - checkSelected(4, "row-3"); + checkSelectedAndCurrent(4, "row-3"); // Test key presses. @@ -1434,103 +1450,103 @@ async function subtestExpandCollapse() { list.selectedIndex = 0; pressKey("row-1", "VK_LEFT"); - checkSelected(0, "row-1"); + checkSelectedAndCurrent(0, "row-1"); pressKey("row-1", "VK_RIGHT"); - checkSelected(0, "row-1"); + checkSelectedAndCurrent(0, "row-1"); // Collapse row 2. list.selectedIndex = 1; pressKey("row-2", "VK_LEFT", "collapsed"); checkRowsAreHidden("row-2-1", "row-2-2"); - checkSelected(1, "row-2"); + checkSelectedAndCurrent(1, "row-2"); pressKey("row-2", "VK_LEFT"); checkRowsAreHidden("row-2-1", "row-2-2"); - checkSelected(1, "row-2"); + checkSelectedAndCurrent(1, "row-2"); // Collapse row 3. list.selectedIndex = 2; pressKey("row-3", "VK_LEFT", "collapsed"); checkRowsAreHidden("row-2-1", "row-2-2", "row-3-1", "row-3-1-1", "row-3-1-2"); - checkSelected(2, "row-3"); + checkSelectedAndCurrent(2, "row-3"); pressKey("row-3", "VK_LEFT"); checkRowsAreHidden("row-2-1", "row-2-2", "row-3-1", "row-3-1-1", "row-3-1-2"); - checkSelected(2, "row-3"); + checkSelectedAndCurrent(2, "row-3"); // Expand row 2. list.selectedIndex = 1; pressKey("row-2", "VK_RIGHT", "expanded"); checkRowsAreHidden("row-3-1", "row-3-1-1", "row-3-1-2"); - checkSelected(1, "row-2"); + checkSelectedAndCurrent(1, "row-2"); // Expand row 3. list.selectedIndex = 4; pressKey("row-3", "VK_RIGHT", "expanded"); checkRowsAreHidden(); - checkSelected(4, "row-3"); + checkSelectedAndCurrent(4, "row-3"); // Go down the tree to row 3-1-1. pressKey("row-3", "VK_RIGHT"); checkRowsAreHidden(); - checkSelected(5, "row-3-1"); + checkSelectedAndCurrent(5, "row-3-1"); pressKey("row-3", "VK_RIGHT"); checkRowsAreHidden(); - checkSelected(6, "row-3-1-1"); + checkSelectedAndCurrent(6, "row-3-1-1"); pressKey("row-3-1-1", "VK_RIGHT"); checkRowsAreHidden(); - checkSelected(6, "row-3-1-1"); + checkSelectedAndCurrent(6, "row-3-1-1"); // Collapse row 3-1. pressKey("row-3-1-1", "VK_LEFT"); checkRowsAreHidden(); - checkSelected(5, "row-3-1"); + checkSelectedAndCurrent(5, "row-3-1"); pressKey("row-3-1", "VK_LEFT", "collapsed"); checkRowsAreHidden("row-3-1-1", "row-3-1-2"); - checkSelected(5, "row-3-1"); + checkSelectedAndCurrent(5, "row-3-1"); // Collapse row 3. pressKey("row-3-1", "VK_LEFT"); checkRowsAreHidden("row-3-1-1", "row-3-1-2"); - checkSelected(4, "row-3"); + checkSelectedAndCurrent(4, "row-3"); pressKey("row-3", "VK_LEFT", "collapsed"); checkRowsAreHidden("row-3-1", "row-3-1-1", "row-3-1-2"); - checkSelected(4, "row-3"); + checkSelectedAndCurrent(4, "row-3"); // Expand row 3. pressKey("row-3", "VK_RIGHT", "expanded"); checkRowsAreHidden("row-3-1-1", "row-3-1-2"); - checkSelected(4, "row-3"); + checkSelectedAndCurrent(4, "row-3"); pressKey("row-3", "VK_RIGHT"); checkRowsAreHidden("row-3-1-1", "row-3-1-2"); - checkSelected(5, "row-3-1"); + checkSelectedAndCurrent(5, "row-3-1"); // Expand row 3-1. pressKey("row-3-1", "VK_RIGHT", "expanded"); checkRowsAreHidden(); - checkSelected(5, "row-3-1"); + checkSelectedAndCurrent(5, "row-3-1"); pressKey("row-3-1", "VK_RIGHT"); checkRowsAreHidden(); - checkSelected(6, "row-3-1-1"); + checkSelectedAndCurrent(6, "row-3-1-1"); pressKey("row-3-1-1", "VK_RIGHT"); checkRowsAreHidden(); - checkSelected(6, "row-3-1-1"); + checkSelectedAndCurrent(6, "row-3-1-1"); // Same again, with a RTL tree. @@ -1541,103 +1557,103 @@ async function subtestExpandCollapse() { list.selectedIndex = 0; pressKey("row-1", "VK_RIGHT"); - checkSelected(0, "row-1"); + checkSelectedAndCurrent(0, "row-1"); pressKey("row-1", "VK_LEFT"); - checkSelected(0, "row-1"); + checkSelectedAndCurrent(0, "row-1"); // Collapse row 2. list.selectedIndex = 1; pressKey("row-2", "VK_RIGHT", "collapsed"); checkRowsAreHidden("row-2-1", "row-2-2"); - checkSelected(1, "row-2"); + checkSelectedAndCurrent(1, "row-2"); pressKey("row-2", "VK_RIGHT"); checkRowsAreHidden("row-2-1", "row-2-2"); - checkSelected(1, "row-2"); + checkSelectedAndCurrent(1, "row-2"); // Collapse row 3. list.selectedIndex = 2; pressKey("row-3", "VK_RIGHT", "collapsed"); checkRowsAreHidden("row-2-1", "row-2-2", "row-3-1", "row-3-1-1", "row-3-1-2"); - checkSelected(2, "row-3"); + checkSelectedAndCurrent(2, "row-3"); pressKey("row-3", "VK_RIGHT"); checkRowsAreHidden("row-2-1", "row-2-2", "row-3-1", "row-3-1-1", "row-3-1-2"); - checkSelected(2, "row-3"); + checkSelectedAndCurrent(2, "row-3"); // Expand row 2. list.selectedIndex = 1; pressKey("row-2", "VK_LEFT", "expanded"); checkRowsAreHidden("row-3-1", "row-3-1-1", "row-3-1-2"); - checkSelected(1, "row-2"); + checkSelectedAndCurrent(1, "row-2"); // Expand row 3. list.selectedIndex = 4; pressKey("row-3", "VK_LEFT", "expanded"); checkRowsAreHidden(); - checkSelected(4, "row-3"); + checkSelectedAndCurrent(4, "row-3"); // Go down the tree to row 3-1-1. pressKey("row-3", "VK_LEFT"); checkRowsAreHidden(); - checkSelected(5, "row-3-1"); + checkSelectedAndCurrent(5, "row-3-1"); pressKey("row-3", "VK_LEFT"); checkRowsAreHidden(); - checkSelected(6, "row-3-1-1"); + checkSelectedAndCurrent(6, "row-3-1-1"); pressKey("row-3-1-1", "VK_LEFT"); checkRowsAreHidden(); - checkSelected(6, "row-3-1-1"); + checkSelectedAndCurrent(6, "row-3-1-1"); // Collapse row 3-1. pressKey("row-3-1-1", "VK_RIGHT"); checkRowsAreHidden(); - checkSelected(5, "row-3-1"); + checkSelectedAndCurrent(5, "row-3-1"); pressKey("row-3-1", "VK_RIGHT", "collapsed"); checkRowsAreHidden("row-3-1-1", "row-3-1-2"); - checkSelected(5, "row-3-1"); + checkSelectedAndCurrent(5, "row-3-1"); // Collapse row 3. pressKey("row-3-1", "VK_RIGHT"); checkRowsAreHidden("row-3-1-1", "row-3-1-2"); - checkSelected(4, "row-3"); + checkSelectedAndCurrent(4, "row-3"); pressKey("row-3", "VK_RIGHT", "collapsed"); checkRowsAreHidden("row-3-1", "row-3-1-1", "row-3-1-2"); - checkSelected(4, "row-3"); + checkSelectedAndCurrent(4, "row-3"); // Expand row 3. pressKey("row-3", "VK_LEFT", "expanded"); checkRowsAreHidden("row-3-1-1", "row-3-1-2"); - checkSelected(4, "row-3"); + checkSelectedAndCurrent(4, "row-3"); pressKey("row-3", "VK_LEFT"); checkRowsAreHidden("row-3-1-1", "row-3-1-2"); - checkSelected(5, "row-3-1"); + checkSelectedAndCurrent(5, "row-3-1"); // Expand row 3-1. pressKey("row-3-1", "VK_LEFT", "expanded"); checkRowsAreHidden(); - checkSelected(5, "row-3-1"); + checkSelectedAndCurrent(5, "row-3-1"); pressKey("row-3-1", "VK_LEFT"); checkRowsAreHidden(); - checkSelected(6, "row-3-1-1"); + checkSelectedAndCurrent(6, "row-3-1-1"); pressKey("row-3-1-1", "VK_LEFT"); checkRowsAreHidden(); - checkSelected(6, "row-3-1-1"); + checkSelectedAndCurrent(6, "row-3-1-1"); // Use the class methods for expanding and collapsing. @@ -1672,7 +1688,7 @@ async function subtestExpandCollapse() { ); Assert.equal(listener.collapsedIndex, 5, "row-3-1 fired 'collapsed' event"); checkRowsAreHidden("row-3-1-1", "row-3-1-2"); - checkSelected(5, "row-3-1"); + checkSelectedAndCurrent(5, "row-3-1"); selectHandler.reset(); listener.reset(); @@ -1680,7 +1696,7 @@ async function subtestExpandCollapse() { Assert.ok(!selectHandler.seenEvent, "'select' event did not fire"); Assert.equal(listener.expandedIndex, 5, "row-3-1 fired 'expanded' event"); checkRowsAreHidden(); - checkSelected(5, "row-3-1"); + checkSelectedAndCurrent(5, "row-3-1"); listener.reset(); list.selectedIndex = 7; @@ -1695,7 +1711,7 @@ async function subtestExpandCollapse() { ); Assert.equal(listener.collapsedIndex, 4, "row-3 fired 'collapsed' event"); checkRowsAreHidden("row-3-1", "row-3-1-1", "row-3-1-2"); - checkSelected(4, "row-3"); + checkSelectedAndCurrent(4, "row-3"); selectHandler.reset(); listener.reset(); @@ -1703,7 +1719,7 @@ async function subtestExpandCollapse() { Assert.ok(!selectHandler.seenEvent, "'select' event did not fire"); Assert.equal(listener.expandedIndex, 4, "row-3 fired 'expanded' event"); checkRowsAreHidden(); - checkSelected(4, "row-3"); + checkSelectedAndCurrent(4, "row-3"); listener.reset(); // Click thread for already expanded thread. Should select all in thread. @@ -1717,6 +1733,7 @@ async function subtestExpandCollapse() { ); checkRowsAreHidden(); checkMultiSelect("row-3", "row-3-1", "row-3-1-1", "row-3-1-2"); + checkCurrent(4); // Click thread for collapsed thread. Should expand the thread and select all // children. @@ -1726,6 +1743,21 @@ async function subtestExpandCollapse() { clickThread("row-2", "expanded"); Assert.equal(listener.expandedIndex, 1, "row-2 fired 'expanded' event"); checkMultiSelect("row-2", "row-2-1", "row-2-2"); + checkCurrent(1); + + // Select multiple messages in an expanded thread by keyboard, ending with a + // child message, then collapse the thread. After that, currentIndex should + // be the root message. + selectHandler.reset(); + list.selectedIndex = 1; + checkSelectedAndCurrent(1, "row-2"); + info(`pressing VK_DOWN with shift key twice`); + EventUtils.synthesizeKey("VK_DOWN", { shiftKey: true }, content); + EventUtils.synthesizeKey("VK_DOWN", { shiftKey: true }, content); + checkMultiSelect("row-2", "row-2-1", "row-2-2"); + checkCurrent(3); + clickTwisty("row-2", "collapsed"); + checkSelectedAndCurrent(1, "row-2"); list.removeEventListener("collapsed", listener); list.removeEventListener("expanded", listener); diff --git a/comm/mail/components/MailGlue.jsm b/comm/mail/components/MailGlue.jsm index 182445930d81797e3ce33a79ae30e15d16cf47ef..f14237a55afe1ed4c1f1dde337f18258ffbf83f6 100644 --- a/comm/mail/components/MailGlue.jsm +++ b/comm/mail/components/MailGlue.jsm @@ -1151,7 +1151,9 @@ function reportPreferences() { "layers.acceleration.disabled", "mail.biff.play_sound", "mail.close_message_window.on_delete", + "mail.delete_matches_sort_order", "mail.display_glyph", + "mail.mailnews.scroll_to_new_message", "mail.prompt_purge_threshhold", "mail.purge.ask", "mail.showCondensedAddresses", diff --git a/comm/mail/components/accountcreation/content/accountSetup.js b/comm/mail/components/accountcreation/content/accountSetup.js index 9ba5a8239b331748ed01c62a3e38e2f5fe658740..3a214f2292bae596634d5aba534e0adcd47d07fa 100644 --- a/comm/mail/components/accountcreation/content/accountSetup.js +++ b/comm/mail/components/accountcreation/content/accountSetup.js @@ -1752,7 +1752,7 @@ var gAccountSetup = { // Implicit TLS for SMTP is on port 465. STARTTLS won't work there. if ( outgoing.port == 465 && - outgoing.socketType == Ci.nsMsgSocketType.STARTTLS + outgoing.socketType == Ci.nsMsgSocketType.alwaysSTARTTLS ) { document.getElementById("outgoingPort").value = 587; } @@ -1784,7 +1784,7 @@ var gAccountSetup = { incoming.socketType == Ci.nsMsgSocketType.SSL ) { document.getElementById("incomingSsl").value = - Ci.nsMsgSocketType.STARTTLS; + Ci.nsMsgSocketType.alwaysSTARTTLS; return; } } @@ -1803,7 +1803,7 @@ var gAccountSetup = { incoming.socketType == Ci.nsMsgSocketType.SSL ) { document.getElementById("incomingSsl").value = - Ci.nsMsgSocketType.STARTTLS; + Ci.nsMsgSocketType.alwaysSTARTTLS; } } }, @@ -1829,7 +1829,7 @@ var gAccountSetup = { outgoing.socketType == Ci.nsMsgSocketType.SSL ) { document.getElementById("outgoingSsl").value = - Ci.nsMsgSocketType.STARTTLS; + Ci.nsMsgSocketType.alwaysSTARTTLS; } }, diff --git a/comm/mail/config/version.txt b/comm/mail/config/version.txt index 729e73efa12e0417fdd280f5da7640b2dc32d76d..f89a1b791a058d0b0267a9b560dc5841b80cf3f3 100644 --- a/comm/mail/config/version.txt +++ b/comm/mail/config/version.txt @@ -1 +1 @@ -115.5.2 +115.6.0 diff --git a/comm/mail/config/version_display.txt b/comm/mail/config/version_display.txt index 729e73efa12e0417fdd280f5da7640b2dc32d76d..f89a1b791a058d0b0267a9b560dc5841b80cf3f3 100644 --- a/comm/mail/config/version_display.txt +++ b/comm/mail/config/version_display.txt @@ -1 +1 @@ -115.5.2 +115.6.0 diff --git a/comm/mail/extensions/openpgp/content/modules/mimeDecrypt.jsm b/comm/mail/extensions/openpgp/content/modules/mimeDecrypt.jsm index e52cfb7f30c1d05e93b33a16dcae31e5ffdaa3f7..4072d4080d31790fde87c3b4402a9ba7be7b6cab 100644 --- a/comm/mail/extensions/openpgp/content/modules/mimeDecrypt.jsm +++ b/comm/mail/extensions/openpgp/content/modules/mimeDecrypt.jsm @@ -719,7 +719,15 @@ MimeDecryptHandler.prototype = { console.debug(ex); } + let mightNeedWrapper = true; + + // It's unclear which scenario this check is supposed to fix. + // Based on a comment in mimeVerify (which seems code seems to be + // derived from), it might be intended to fix forwarding of empty + // messages. Not sure this is still necessary. We should check if + // this code can be removed. let i = this.decryptedData.search(/\n\r?\n/); + // It's unknown why this test checks for > instead of >= if (i > 0) { var hdr = this.decryptedData.substr(0, i).split(/\r?\n/); for (let j = 0; j < hdr.length; j++) { @@ -731,11 +739,26 @@ MimeDecryptHandler.prototype = { ); this.addWrapperToDecryptedResult(); + mightNeedWrapper = false; break; } } } + if (mightNeedWrapper) { + let headerBoundaryPosition = this.decryptedData.search(/\n\r?\n/); + if ( + headerBoundaryPosition >= 0 && + !/^Content-Type:/im.test( + this.decryptedData.substr(0, headerBoundaryPosition) + ) + ) { + this.decryptedData = + "Content-Type: text/plain; charset=utf-8\r\n\r\n" + + this.decryptedData; + } + } + this.exitCode = exitCode; }, diff --git a/comm/mail/locales/en-US/chrome/messenger/messengercompose/composeMsgs.properties b/comm/mail/locales/en-US/chrome/messenger/messengercompose/composeMsgs.properties index 28734e8825cf0e66b2db2adc698aea2848d88b13..58e380b580bea79e7aaa5c71e87483ad2459c001 100644 --- a/comm/mail/locales/en-US/chrome/messenger/messengercompose/composeMsgs.properties +++ b/comm/mail/locales/en-US/chrome/messenger/messengercompose/composeMsgs.properties @@ -71,8 +71,8 @@ smtpPasswordUndefined=An error occurred while sending mail: Could not get passwo ## LOCALIZATION NOTE (smtpSendNotAllowed): argument %s is the Outgoing server (SMTP) response smtpSendNotAllowed=An error occurred while sending mail. The mail server responded:\n%s.\nPlease ensure that you are using the correct identity to send and that the used authentication method is correct. Verify that you are allowed to send via this SMTP server with your current credentials from your current network. -## LOCALIZATION NOTE (smtpTempSizeExceeded): argument %s is the Outgoing server (SMTP) response -smtpTempSizeExceeded=The size of the message you are trying to send exceeds a temporary size limit of the server. The message was not sent; try to reduce the message size or wait some time and try again. The server responded: %s. +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. ## LOCALIZATION NOTE (smtpClientid): argument %s is the Outgoing server (SMTP) response smtpClientid=The outgoing server (SMTP) detected an error in the CLIENTID command. The message was not sent. The server responded: %s @@ -80,9 +80,6 @@ smtpClientid=The outgoing server (SMTP) detected an error in the CLIENTID comman ## LOCALIZATION NOTE (smtpClientidPermission): argument %s is the Outgoing server (SMTP) response smtpClientidPermission=The outgoing server (SMTP) response to the CLIENTID command indicates that your device is not permitted to send mail. The server responded: %s -## LOCALIZATION NOTE (smtpPermSizeExceeded1): argument %d is the Outgoing server (SMTP) size limit -smtpPermSizeExceeded1=The size of the message you are trying to send exceeds the global size limit (%d bytes) of the server. The message was not sent; reduce the message size and try again. - ## LOCALIZATION NOTE (smtpPermSizeExceeded2): argument %s is the Outgoing server (SMTP) response smtpPermSizeExceeded2=The size of the message you are trying to send exceeds the global size limit of the server. The message was not sent; reduce the message size and try again. The server responded: %s. diff --git a/comm/mail/locales/l10n-changesets.json b/comm/mail/locales/l10n-changesets.json index 7d221d7113a6305cf6f80208113dda063a598f4d..ba6cd8984c6f81a3dd482fb9157f6b092222028e 100644 --- a/comm/mail/locales/l10n-changesets.json +++ b/comm/mail/locales/l10n-changesets.json @@ -8,7 +8,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "ar": { "pin": false, @@ -19,7 +19,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "ast": { "pin": false, @@ -30,7 +30,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "be": { "pin": false, @@ -41,7 +41,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "bg": { "pin": false, @@ -52,7 +52,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "br": { "pin": false, @@ -63,7 +63,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "ca": { "pin": false, @@ -74,7 +74,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "cak": { "pin": false, @@ -85,7 +85,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "cs": { "pin": false, @@ -96,7 +96,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "cy": { "pin": false, @@ -107,7 +107,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "da": { "pin": false, @@ -118,7 +118,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "de": { "pin": false, @@ -129,7 +129,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "dsb": { "pin": false, @@ -140,7 +140,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "el": { "pin": false, @@ -151,7 +151,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "en-CA": { "pin": false, @@ -162,7 +162,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "en-GB": { "pin": false, @@ -173,7 +173,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "es-AR": { "pin": false, @@ -184,7 +184,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "es-ES": { "pin": false, @@ -195,7 +195,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "es-MX": { "pin": false, @@ -206,7 +206,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "et": { "pin": false, @@ -217,7 +217,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "eu": { "pin": false, @@ -228,7 +228,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "fi": { "pin": false, @@ -239,7 +239,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "fr": { "pin": false, @@ -250,7 +250,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "fy-NL": { "pin": false, @@ -261,7 +261,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "ga-IE": { "pin": false, @@ -272,7 +272,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "gd": { "pin": false, @@ -283,7 +283,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "gl": { "pin": false, @@ -294,7 +294,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "he": { "pin": false, @@ -305,7 +305,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "hr": { "pin": false, @@ -316,7 +316,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "hsb": { "pin": false, @@ -327,7 +327,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "hu": { "pin": false, @@ -338,7 +338,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "hy-AM": { "pin": false, @@ -349,7 +349,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "id": { "pin": false, @@ -360,7 +360,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "is": { "pin": false, @@ -371,7 +371,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "it": { "pin": false, @@ -382,7 +382,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "ja": { "pin": false, @@ -392,14 +392,14 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "ja-JP-mac": { "pin": false, "platforms": [ "macosx64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "ka": { "pin": false, @@ -410,7 +410,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "kab": { "pin": false, @@ -421,7 +421,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "kk": { "pin": false, @@ -432,7 +432,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "ko": { "pin": false, @@ -443,7 +443,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "lt": { "pin": false, @@ -454,7 +454,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "lv": { "pin": false, @@ -465,7 +465,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "ms": { "pin": false, @@ -476,7 +476,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "nb-NO": { "pin": false, @@ -487,7 +487,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "nl": { "pin": false, @@ -498,7 +498,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "nn-NO": { "pin": false, @@ -509,7 +509,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "pa-IN": { "pin": false, @@ -520,7 +520,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "pl": { "pin": false, @@ -531,7 +531,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "pt-BR": { "pin": false, @@ -542,7 +542,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "pt-PT": { "pin": false, @@ -553,7 +553,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "rm": { "pin": false, @@ -564,7 +564,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "ro": { "pin": false, @@ -575,7 +575,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "ru": { "pin": false, @@ -586,7 +586,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "sk": { "pin": false, @@ -597,7 +597,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "sl": { "pin": false, @@ -608,7 +608,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "sq": { "pin": false, @@ -619,7 +619,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "sr": { "pin": false, @@ -630,7 +630,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "sv-SE": { "pin": false, @@ -641,7 +641,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "th": { "pin": false, @@ -652,7 +652,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "tr": { "pin": false, @@ -663,7 +663,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "uk": { "pin": false, @@ -674,7 +674,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "uz": { "pin": false, @@ -685,7 +685,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "vi": { "pin": false, @@ -696,7 +696,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "zh-CN": { "pin": false, @@ -707,7 +707,7 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" }, "zh-TW": { "pin": false, @@ -718,6 +718,6 @@ "win32", "win64" ], - "revision": "06ffee0f4797a13197449224b76ea2b82678be94" + "revision": "ab83e93dc1bbe560992fbeca2e4f3a2cb3db1af8" } } \ No newline at end of file diff --git a/comm/mail/test/browser/smime/data/Bob.p12 b/comm/mail/test/browser/smime/data/Bob.p12 index b651346cb126eb54441eebf201da7697d11850f8..b5c8504a735c074e0f089bf12057fd4837a775ba 100644 Binary files a/comm/mail/test/browser/smime/data/Bob.p12 and b/comm/mail/test/browser/smime/data/Bob.p12 differ diff --git a/comm/mail/test/browser/smime/data/TestCA.pem b/comm/mail/test/browser/smime/data/TestCA.pem index 6cad629d395e31434dbaed327d5bb2759f2c9cb9..0e9f065d6e4337afdf16bd6c5f086a4baff6a0de 100644 --- a/comm/mail/test/browser/smime/data/TestCA.pem +++ b/comm/mail/test/browser/smime/data/TestCA.pem @@ -1,21 +1,21 @@ -----BEGIN CERTIFICATE----- MIIDdTCCAl2gAwIBAgIBATANBgkqhkiG9w0BAQsFADBkMQswCQYDVQQGEwJVUzET MBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAG -A1UEChMJQk9HVVMgTlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQTAgFw0yMjEyMTkx -MTI1MDVaGA8yMDcyMTIxOTExMjUwNVowZDELMAkGA1UEBhMCVVMxEzARBgNVBAgT +A1UEChMJQk9HVVMgTlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQTAgFw0yMzExMjEy +MDUwMDdaGA8yMDczMTEyMTIwNTAwN1owZDELMAkGA1UEBhMCVVMxEzARBgNVBAgT CkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJP R1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUA -A4IBDwAwggEKAoIBAQC2xwYviP0TanRZneQSbQoZZGB3/GwdbyIayXjWeV85N4Cu -8QCA2GXRaZGcZr+U/o62fFeclxvddkz98II7PJKRpOxZNQ3vkm+uGwK6m0386+7F -KwM/GgvbPs8vlNM1fKZyXvPo3p4DDS3m2K124s1UI5U7OOFw7UFmA5RfXTadEOPC -jYD6EJpWsLQbjaQwJf+/SsMzVry7sTAKwtAiv/mBsLyu5EQ71iMNpFJ6YjmlDz4/ -V1MLUxNShDsyG0i0Y93Vb10i5FLmp1bm+MimGG4av797z+AXi3lkNxA4TH6F6kbI -53cF47nYbtCBmLLtJz0EuztKuB+4bLCDccS5WcDrAgMBAAGjMDAuMBEGCWCGSAGG +A4IBDwAwggEKAoIBAQDPL+VBVHBnK32PfKsFz5mwpeOdSOsfqymx2DN1qo42mQ8s +SRmrK7lbi0iiGuU+3jFBh/29wWitHH+1qb/DDSiIYk+RS3mVKdTxDOztwyRW7mf3 +oqK3OR4cQhLxXhIDuhDW4P4CQTwu6CSqwyTkrJeEi77foQ/C1rX1zQWMpJW7n4Iv +9PNMedHpNtoXP7zS8GxV9WwiHFEcRYzwdrlHQJm9+l0OWp8Tl5DFniJjjOuQYr4n +DGJ1R4F74yU9NPrOzAy9Cvm1eO4novQEcUyQ5Mdnw7bHI31ChWf/KyZzDLA+jTMI +30fLNDr512k0Z1429p1n77nzGhSDSbSNKFtyyNy1AgMBAAGjMDAuMBEGCWCGSAGG +EIBAQQEAwIABzAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBBjANBgkqhkiG9w0B -AQsFAAOCAQEAn8rh7DRtpg8o3aBCI1MykMPls+LdzTMgH6hxeQL9JCBz+Us6Xd4z -W1XUlmIqbsoxt6pDOu+PBgYw8dYrc/EKHyPyJhvk9ZlyiiWHLb+keSD/uv9xlaCw -4LUqemBoMkqSVC8CZ6RjHlyttvhQmhSVjE82Lp6BM0sr/JyH+8VFMb+IfAvzefr3 -VlWl8QMLyeuLlJUniQ/UQnPUL8muTUPKzx7Bp3qMsNS8Xl2RfocUDBx8TcFAA8A8 -o4UCyOrZ1fnR3HY2EhlFF3edcyGQ4TA8zivcSRSpWSh+tDcl0fWnJrAyEA64ZfcN -hVkQE7po1/jClTfQu9xwE6ZaZ4hfkvugnQ== +AQsFAAOCAQEAt8reMMu83pDQiZqgq1bI7P1sGznDykMefFITZF3veDas86T9seDZ +pPAT45uo8t/+yuQWciDfBDcB5NnedkTjmXUaG1ZKekTamv6uNaLqr5aZrotnNUwK +CYk4ci1K5MuprqE6kBKKP8cGYL5ZqA4PPIHxlCgU2JR9G8NVn7Nw3Xb6ZTqRWTSn +g2tM3LWBDCu2p6qIZPNu35OYBUmLzsfSSlroj8iwirnOa+LYAmUMTQlnBQpln1WI +q+q0haYFPt9MTGpvwA9JBoElS9I4XxJHbthlsCizas9UJfue37RIR5LRXA8zudRU +Rwo8QS6MTgppRvorz2kvABRmkXiYk3Vn/g== -----END CERTIFICATE----- diff --git a/comm/mail/test/browser/smime/data/multipart-alternative.eml b/comm/mail/test/browser/smime/data/multipart-alternative.eml index a14940b6d353c176949d1cdfcf34aee877ece0f8..0ff896f0483c4c9bcdd823818d8a356e55f3e409 100644 --- a/comm/mail/test/browser/smime/data/multipart-alternative.eml +++ b/comm/mail/test/browser/smime/data/multipart-alternative.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 21:12:39 +0000 From: Alice <alice@example.com> To: Bob <bob@example.com> Subject: a message @@ -11,16 +12,16 @@ Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHA6CAMIACAQAxggGFMIIBgQIBADBpMGQxCzAJBgNVBAYTAlVT MRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIw EAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEoMA0GCSqG -SIb3DQEBAQUABIIBAByaXGnoQAgRiPjvcpotJWBQwXjAxYldgMaT/hEX0Hlnas6m -OcBIOJLB9CHhmBOSo/yryDOnRcl9l1cQYzSEpExYSGoVzPCpPOLKw5C/A+6NFzpe -44EUX5/gVbVeQ4fl2dOB3NbW5Cnx3Js7O1MFr8UPFOh31TBhvWjOMl+3CkMWndUi -G4C/srgdeuQRdKJcWoROtBjQuibVHfn0TcA7olIj8ysmJoTT3Irx625Sh5mDDVbJ -UyR2WWqw6wPAaCS2urUXtYrEuxsr7EmdcZc0P6oikzf/KoMvzBWBmWJXad1QSdeO -s5Bk2MYKXoM9Iqddr/n9mvg4jJNnFMzG0cFKCAgwgAYJKoZIhvcNAQcBMB0GCWCG -SAFlAwQBAgQQ2QrTbolonzr0vAfmGH2nJ6CABIGQKA2mKyOQShspbeDIf/QlYHg+ -YbiqdhlENHHM5V5rICjM5LFzLME0TERDJGi8tATlqp3rFOswFDGiymK6XZrpQZiW -TBTEa2E519Mw86NEJ1d/iy4aLpPjATH2rhZLm3dix42mFI5ToszGNu9VuDWDiV4S -sA798v71TaSlFwh9C3VwODQ8lWwyci4aD3wdxevGBBC3fYMuEns+NIQhqpzlUADX +SIb3DQEBAQUABIIBAJFkVEzBMOiW8RY8h8xH7ZujIgZ/HjTP0NziHV+asAP1ANm1 +EqPqiy8C5/jtrW/rYF+2JYZIe8xW9kOpd4AlKyAvESn/jM+wRwRai3YHJ8DalFzl +4+CsqIzSwmf9KZa0yK72Cy+Lp8/0ycWJstDU/ZXFd6lUsHWiYdPgF1KsceWepyYS +Ggg4n9dopCN7+Xthlj8uW2yG5u+WtJkWJrXqrM4z7pzaW9GDPeOV5jp9CUauZOdV +ItlwPlGH/mMeiJ7KKQVclnN8bx2q/QHOvnSWS6fID1WTBYV1ZhAlxZHWBRSn643J +3ZwLxIS+F1cRc/EClsWv8zgKLfNXrcVSja1vD4UwgAYJKoZIhvcNAQcBMB0GCWCG +SAFlAwQBAgQQ57mGV7ei08u956g0xkC4caCABIGQt8h3XciNdcCwh4xWGWviytVC +Gbt5ZAI/iAsrBbkm2Tx/PxNrcn7+5FBhsTld1Inm8lge2WTNClOxoOecoeZxCe+y +MGqrAsxPIDYpO7HP/n1+RBWy8azv+j2o2+LuguA+xo2wnTbt8BJz6DN8k61PL8Xg +yY8hP+DQsA/6OxB/KA8TJRFxR8N26DseKmuXoo/xBBAJyufRO/Z/JkWOTbTpOIjC AAAAAAAAAAAAAA== ----------BOUNDARY Content-Type: application/pkcs7-mime; smime-type=enveloped-data @@ -29,13 +30,13 @@ Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHA6CAMIACAQAxggGFMIIBgQIBADBpMGQxCzAJBgNVBAYTAlVT MRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIw EAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEoMA0GCSqG -SIb3DQEBAQUABIIBAFGNYa82WrERmsT/PwQGUr5+AMW6s+5fNgq8qpnNkYIfdPK6 -zB8LPgVWuwLYTq6d5r0bDWrGi8A5mzhSuqESyg8B8OzZU1Wck3E4QzSiP7qiW6OB -Db+jZwB5xJy4VIYopGM0JN7c3+rVh56b8aOY3EnMb/Ixiu6YnqKZI+Ga0wo1AqKc -TASrsjp7fheKcde5IbOVFFJOotayilrd1vWqOTghmzDr55aaS4zkz1GD94yLhgfa -3K6oHBT632InROzNnJKa0Mz1877Sc0lBKBoDGNFRMb0sxa3IrUK/MmqJcmEizm87 -6RAjl7YpRvLqAs0L2Mdxl3WpjSyGCUlG29sahVgwgAYJKoZIhvcNAQcBMB0GCWCG -SAFlAwQBAgQQ0x2eQsHkxJVbrWbNuUR4daCABEDsR/uLtS+NWj2QKx7LeeHIpamc -NQND1RlHFQB0UHoBAxSd+444Dk+Jh5+O3d+9OlfWxFbQFDp7J2IPw+uGGiJrBBBX -iKlLJrqqEYXR3Q695NJaAAAAAAAAAAAAAA== +SIb3DQEBAQUABIIBAAZXwFocAUc633rlij5f7h34x/PYispef+6ufoNaQKq1/c9b +SbKRZR4hqBYy1pBxO6tK61gWnFeHdnrq7Kec/i+LOkUG4g8Ki4ELG3MGICaqo7Fu +CAQeSbSD+E8LuO/rRsnNwUwNE2oy7Zie9iqqcJQuCR48WMeVhuGn+RwEDAlZod73 +/us2Xvobl3Q40vcbidegMmP9UXBa45BhIfeq8GrtPOUzVW9zv7fQoNc+1x1JSK7L +Y+o5VPUoJUMsr2jcgpGDb0uPN1xN8qEThEb8YeFLQbynEoEihJLtKfs33E0U2BVe +GhSCHB0w6SvSkhwSYI7OY6vj18JBcjnFTIY2VkEwgAYJKoZIhvcNAQcBMB0GCWCG +SAFlAwQBAgQQECWIfBfTzibznP1cQzICh6CABEBc9eyhZr/eEGCVEcyXi/X5XfUr +YAbZTYjcjislKjI+2R922HPdAtQabWkWY9S8O81XlRNmTr0qhl+IArc3IWUwBBC+ +3oryP+raeGBWDEEj7ZTYAAAAAAAAAAAAAA== ----------BOUNDARY diff --git a/comm/mailnews/compose/src/MimeMessage.jsm b/comm/mailnews/compose/src/MimeMessage.jsm index 7b4aea917460e3a0f1656f615b24331f6ecdd875..1e0715420d0911b885bf425d82673ec88ee4529a 100644 --- a/comm/mailnews/compose/src/MimeMessage.jsm +++ b/comm/mailnews/compose/src/MimeMessage.jsm @@ -419,7 +419,10 @@ class MimeMessage { let part; if (attachment.htmlAnnotation) { part = new MimePart(); - part.bodyText = attachment.htmlAnnotation; + // MimePart.bodyText should be binary string. + part.bodyText = jsmime.mimeutils.typedArrayToString( + new TextEncoder().encode(attachment.htmlAnnotation) + ); part.setHeader("content-type", "text/html; charset=utf-8"); let suffix = /\.html$/i.test(attachment.name) ? "" : ".html"; diff --git a/comm/mailnews/compose/src/MimeMessageUtils.jsm b/comm/mailnews/compose/src/MimeMessageUtils.jsm index e376c6622b3b58d894cede3f4161707bb3cfbfab..65682b6d4c1301c975127ed2cf385f834f204fe3 100644 --- a/comm/mailnews/compose/src/MimeMessageUtils.jsm +++ b/comm/mailnews/compose/src/MimeMessageUtils.jsm @@ -73,7 +73,6 @@ var MsgUtils = { NS_ERROR_SMTP_PASSWORD_UNDEFINED: generateNSError(12584), NS_ERROR_SMTP_SEND_NOT_ALLOWED: generateNSError(12585), NS_ERROR_SMTP_TEMP_SIZE_EXCEEDED: generateNSError(12586), - NS_ERROR_SMTP_PERM_SIZE_EXCEEDED_1: generateNSError(12587), NS_ERROR_SMTP_PERM_SIZE_EXCEEDED_2: generateNSError(12588), NS_ERROR_SMTP_SEND_FAILED_UNKNOWN_SERVER: generateNSError(12589), @@ -945,8 +944,7 @@ var MsgUtils = { [this.NS_ERROR_STARTTLS_FAILED_EHLO_STARTTLS]: "startTlsFailed", [this.NS_ERROR_SMTP_PASSWORD_UNDEFINED]: "smtpPasswordUndefined", [this.NS_ERROR_SMTP_SEND_NOT_ALLOWED]: "smtpSendNotAllowed", - [this.NS_ERROR_SMTP_TEMP_SIZE_EXCEEDED]: "smtpTempSizeExceeded", - [this.NS_ERROR_SMTP_PERM_SIZE_EXCEEDED_1]: "smtpPermSizeExceeded1", + [this.NS_ERROR_SMTP_TEMP_SIZE_EXCEEDED]: "smtpTooManyRecipients", [this.NS_ERROR_SMTP_PERM_SIZE_EXCEEDED_2]: "smtpPermSizeExceeded2", [this.NS_ERROR_SMTP_SEND_FAILED_UNKNOWN_SERVER]: "smtpSendFailedUnknownServer", diff --git a/comm/mailnews/compose/src/SmtpClient.jsm b/comm/mailnews/compose/src/SmtpClient.jsm index cd95eaf8d56f5f1318396d0c8f8040212addf5b7..2eb13985e3bd70b058fbe4d80216c2519ef6e422 100644 --- a/comm/mailnews/compose/src/SmtpClient.jsm +++ b/comm/mailnews/compose/src/SmtpClient.jsm @@ -44,6 +44,17 @@ var { MsgUtils } = ChromeUtils.import( ); class SmtpClient { + /** + * The number of RCPT TO commands sent on the connection by this client. + * This can count-up over multiple messages. + */ + rcptCount = 0; + + /** + * Set true only when doing a retry. + */ + isRetry = false; + /** * Creates a connection object to a SMTP server and allows to send mail through it. * Call `connect` method to inititate the actual connection, the constructor only @@ -477,8 +488,29 @@ class SmtpClient { * @param {nsresult} nsError - A nsresult. * @param {string} errorParam - Param to form the error message. * @param {string} [extra] - Some messages take two arguments to format. + * @param {number} [statusCode] - Only needed when checking need to retry. */ - _onNsError(nsError, errorParam, extra) { + _onNsError(nsError, errorParam, extra, statusCode) { + // First check if handling an error response that might need a retry. + if ([this._actionMAIL, this._actionRCPT].includes(this._currentAction)) { + if (statusCode >= 400 && statusCode < 500) { + // Possibly too many recipients, too many messages, to much data + // or too much time has elapsed on this connection. + if (!this.isRetry) { + // Now seeing error 4xx meaning that the current message can't be + // accepted. We close the connection and try again to send on a new + // connection using this same client instance. If the retry also + // fails on the new connection, we give up and report the error. + this.logger.debug("Retry send on new connection."); + this.quit(); + this.isRetry = true; // flag that we will retry on new connection + this.close(true); + this.connect(); + return; // return without reporting the error yet + } + } + } + let errorName = MsgUtils.getErrorStringName(nsError); let errorMessage = ""; if ( @@ -517,6 +549,7 @@ class SmtpClient { _onClose = () => { this.logger.debug("Socket closed."); this._free(); + this.rcptCount = 0; if (this._authenticating) { // In some cases, socket is closed for invalid username/password. this._onAuthFailed({ data: "Socket closed." }); @@ -531,7 +564,7 @@ class SmtpClient { */ _onCommand(command) { if (command.statusCode < 200 || command.statusCode >= 400) { - // @see rfc5321#section-3.8 + // @see https://datatracker.ietf.org/doc/html/rfc5321#section-3.8 // 421: SMTP service shutting down and closing transmission channel. // When that happens during idle, just close the connection. if ( @@ -1151,18 +1184,19 @@ class SmtpClient { */ _actionMAIL(command) { if (!command.success) { - let errorCode = MsgUtils.NS_ERROR_SENDING_FROM_COMMAND; - if (this._capabilities.includes("SIZE")) { - if (command.statusCode == 452) { - errorCode = MsgUtils.NS_ERROR_SMTP_TEMP_SIZE_EXCEEDED; - } else if (command.statusCode == 552) { - errorCode = MsgUtils.NS_ERROR_SMTP_PERM_SIZE_EXCEEDED_2; - } + let errorCode = MsgUtils.NS_ERROR_SENDING_FROM_COMMAND; // default code + if (command.statusCode == 552) { + // Too much mail data indicated by "size" parameter of MAIL FROM. + // @see https://datatracker.ietf.org/doc/html/rfc5321#section-4.5.3.1.9 + errorCode = MsgUtils.NS_ERROR_SMTP_PERM_SIZE_EXCEEDED_2; + } + if (command.statusCode == 452 || command.statusCode == 451) { + // @see https://datatracker.ietf.org/doc/html/rfc5321#section-4.5.3.1.10 + errorCode = MsgUtils.NS_ERROR_SMTP_TEMP_SIZE_EXCEEDED; } - this._onNsError(errorCode, command.data); + this._onNsError(errorCode, command.data, null, command.statusCode); return; } - this.logger.debug( "MAIL FROM successful, proceeding with " + this._envelope.rcptQueue.length + @@ -1214,10 +1248,12 @@ class SmtpClient { this._onNsError( MsgUtils.NS_ERROR_SENDING_RCPT_COMMAND, command.data, - this._envelope.curRecipient + this._envelope.curRecipient, + command.statusCode ); return; } + this.rcptCount++; this._envelope.responseQueue.push(this._envelope.curRecipient); if (this._envelope.rcptQueue.length) { @@ -1228,7 +1264,10 @@ class SmtpClient { `RCPT TO:<${this._envelope.curRecipient}>${this._getRCPTParameters()}` ); } else { - this.logger.debug("RCPT TO done, proceeding with payload"); + this.logger.debug( + `Total RCPTs during this connection: ${this.rcptCount}` + ); + this.logger.debug("RCPT TO done. Proceeding with payload."); this._currentAction = this._actionDATA; this._sendCommand("DATA"); } @@ -1288,6 +1327,7 @@ class SmtpClient { this.logger.error("Message sending failed."); } else { this.logger.debug("Message sent successfully."); + this.isRetry = false; } this._currentAction = this._actionIdle; diff --git a/comm/mailnews/compose/src/SmtpServer.jsm b/comm/mailnews/compose/src/SmtpServer.jsm index eafafc89ebc88f63501c5a80d029b59fe3578d2e..3ce81ff9363e926260f66d7af12de1c53e0429a0 100644 --- a/comm/mailnews/compose/src/SmtpServer.jsm +++ b/comm/mailnews/compose/src/SmtpServer.jsm @@ -205,12 +205,19 @@ class SmtpServer { return this._getServerURI(true); } + /** + * If pref max_cached_connection is set to less than 1, allow only one + * connection and one message to be sent on that connection. Otherwise, allow + * up to max_cached_connection (default to 3) with each connection allowed to + * send multiple messages. + */ get maximumConnectionsNumber() { let maxConnections = this._getIntPrefWithDefault( "max_cached_connections", 3 ); - return maxConnections > 1 ? maxConnections : 1; + // Always return a value >= 0. + return maxConnections > 0 ? maxConnections : 0; } set maximumConnectionsNumber(value) { @@ -398,7 +405,7 @@ class SmtpServer { } /** - * Get the value of a string preference from this or default SMTP server. + * Get the value of a char preference from this or default SMTP server. * * @param {string} name - The preference name. * @param {number} [defaultValue=""] - The default value to return. @@ -463,9 +470,12 @@ class SmtpServer { this._busyConnections.push(client); return client; } + const maxConns = this.maximumConnectionsNumber + ? this.maximumConnectionsNumber + : 1; if ( this._freeConnections.length + this._busyConnections.length < - this.maximumConnectionsNumber + maxConns ) { // Create a new client if the pool is not full. client = new lazy.SmtpClient(this); @@ -486,9 +496,22 @@ class SmtpServer { let client = await this._getNextClient(); client.onFree = () => { this._busyConnections = this._busyConnections.filter(c => c != client); - this._freeConnections.push(client); - // Resovle the first waiting in queue. - this._connectionWaitingQueue.shift()?.(); + // Per RFC, the minimum total number of recipients that MUST be buffered + // is 100 recipients. + // @see https://datatracker.ietf.org/doc/html/rfc5321#section-4.5.3.1.8 + // So use a new connection for the next message to avoid running into + // recipient limits. + // If user has set SMTP pref max_cached_connection to less than 1, + // use a new connection for each message. + if (this.maximumConnectionsNumber == 0 || client.rcptCount > 99) { + // Send QUIT, server will then terminate the connection + client.quit(); + } else { + // Keep using this connection + this._freeConnections.push(client); + // Resolve the first waiting in queue. + this._connectionWaitingQueue.shift()?.(); + } }; handler(client); client.connect(); diff --git a/comm/mailnews/compose/src/SmtpService.jsm b/comm/mailnews/compose/src/SmtpService.jsm index 86ed347420d1d2de72956faf4b058a81a8d0843f..237ff0708b1e5dce98d857aef0893c5f63af05e2 100644 --- a/comm/mailnews/compose/src/SmtpService.jsm +++ b/comm/mailnews/compose/src/SmtpService.jsm @@ -95,11 +95,14 @@ class SmtpService { deliveryListener?.OnStartRunningUrl(runningUrl, 0); let fresh = true; client.onidle = () => { - // onidle can be emitted multiple times, but we should not init sending - // process again. - if (!fresh) { + // onidle can occur multiple times, but we should only init sending + // when sending a new message(fresh is true) or when a new connection + // replaces the original connection due to error 4xx response + // (client.isRetry is true). + if (!fresh && !client.isRetry) { return; } + // Init when fresh==true OR re-init sending when client.isRetry==true. fresh = false; let from = sender; let to = MailServices.headerParser diff --git a/comm/mailnews/compose/src/nsComposeStrings.cpp b/comm/mailnews/compose/src/nsComposeStrings.cpp index 8d7d7c8528f2451e971031ff3bef251feda05566..666cd14e073fb1c04412154a2dcd3eeaed3f1d52 100644 --- a/comm/mailnews/compose/src/nsComposeStrings.cpp +++ b/comm/mailnews/compose/src/nsComposeStrings.cpp @@ -66,9 +66,7 @@ const char* errorStringNameForErrorCode(nsresult aCode) { case NS_ERROR_SMTP_SEND_NOT_ALLOWED: return "smtpSendNotAllowed"; case NS_ERROR_SMTP_TEMP_SIZE_EXCEEDED: - return "smtpTempSizeExceeded"; - case NS_ERROR_SMTP_PERM_SIZE_EXCEEDED_1: - return "smtpPermSizeExceeded1"; + return "smtpTooManyRecipients"; case NS_ERROR_SMTP_PERM_SIZE_EXCEEDED_2: return "smtpPermSizeExceeded2"; case NS_ERROR_SMTP_SEND_FAILED_UNKNOWN_SERVER: diff --git a/comm/mailnews/compose/src/nsComposeStrings.h b/comm/mailnews/compose/src/nsComposeStrings.h index 14b46a0509969cbb6cbb35c83ab597becda926e3..3d6a24516fa82044c42d5c08877334b0026de88b 100644 --- a/comm/mailnews/compose/src/nsComposeStrings.h +++ b/comm/mailnews/compose/src/nsComposeStrings.h @@ -49,7 +49,6 @@ #define NS_ERROR_SMTP_PASSWORD_UNDEFINED NS_MSG_GENERATE_FAILURE(12584) #define NS_ERROR_SMTP_SEND_NOT_ALLOWED NS_MSG_GENERATE_FAILURE(12585) #define NS_ERROR_SMTP_TEMP_SIZE_EXCEEDED NS_MSG_GENERATE_FAILURE(12586) -#define NS_ERROR_SMTP_PERM_SIZE_EXCEEDED_1 NS_MSG_GENERATE_FAILURE(12587) #define NS_ERROR_SMTP_PERM_SIZE_EXCEEDED_2 NS_MSG_GENERATE_FAILURE(12588) #define NS_ERROR_SMTP_SEND_FAILED_UNKNOWN_SERVER NS_MSG_GENERATE_FAILURE(12589) diff --git a/comm/mailnews/extensions/smime/msgReadSMIMEOverlay.js b/comm/mailnews/extensions/smime/msgReadSMIMEOverlay.js index 011f7e008681ce11854dfb11f50033cb6afbd9a9..bd7672bbe8a9698706254c1288c59ca970676b45 100644 --- a/comm/mailnews/extensions/smime/msgReadSMIMEOverlay.js +++ b/comm/mailnews/extensions/smime/msgReadSMIMEOverlay.js @@ -105,6 +105,7 @@ function loadSmimeMessageSecurityInfo() { case Ci.nsICMSMessageErrors.VERIFY_ERROR_UNVERIFIED: case Ci.nsICMSMessageErrors.VERIFY_ERROR_PROCESSING: case Ci.nsICMSMessageErrors.VERIFY_MALFORMED_SIGNATURE: + case Ci.nsICMSMessageErrors.VERIFY_TIME_MISMATCH: sigInfoLabel = "SIInvalidLabel"; sigInfoHeader = "SIInvalidHeader"; sigInfo_clueless = true; diff --git a/comm/mailnews/extensions/smime/nsCMS.cpp b/comm/mailnews/extensions/smime/nsCMS.cpp index 7b99ff073c9fbc1405f1229ab8cfd73c79ac1562..be743b966320c17ec94e35ab3b4b4d608e1cfdaf 100644 --- a/comm/mailnews/extensions/smime/nsCMS.cpp +++ b/comm/mailnews/extensions/smime/nsCMS.cpp @@ -147,6 +147,23 @@ NS_IMETHODIMP nsCMSMessage::GetEncryptionCert(nsIX509Cert**) { return NS_ERROR_NOT_IMPLEMENTED; } +NS_IMETHODIMP nsCMSMessage::GetSigningTime(PRTime* aTime) { + MOZ_LOG(gCMSLog, LogLevel::Debug, ("nsCMSMessage::GetSigningTime")); + NS_ENSURE_ARG(aTime); + + NSSCMSSignerInfo* si = GetTopLevelSignerInfo(); + if (!si) { + return NS_ERROR_FAILURE; + } + + SECStatus getSigningTimeResult = NSS_CMSSignerInfo_GetSigningTime(si, aTime); + MOZ_LOG(gCMSLog, LogLevel::Debug, + ("nsCMSMessage::GetSigningTime result: %s", + (getSigningTimeResult ? "ok" : "fail"))); + + return getSigningTimeResult == SECSuccess ? NS_OK : NS_ERROR_FAILURE; +} + NS_IMETHODIMP nsCMSMessage::VerifyDetachedSignature(int32_t verifyFlags, const nsTArray<uint8_t>& aDigestData, diff --git a/comm/mailnews/extensions/smime/nsICMSMessage.idl b/comm/mailnews/extensions/smime/nsICMSMessage.idl index 4830eeb329401e309702d86a9f41ffe4bd18f274..ed863e5418b5196ba20967a5d5c76147ed9f6704 100644 --- a/comm/mailnews/extensions/smime/nsICMSMessage.idl +++ b/comm/mailnews/extensions/smime/nsICMSMessage.idl @@ -39,6 +39,7 @@ interface nsICMSMessage : nsISupports void getSignerEmailAddress(out string aEmail); void getSignerCert(out nsIX509Cert scert); void getEncryptionCert(out nsIX509Cert ecert); + void getSigningTime(out PRTime aTime); /** * @param verifyFlags - Optional flags from nsICMSVerifyFlags. diff --git a/comm/mailnews/extensions/smime/nsICMSMessageErrors.idl b/comm/mailnews/extensions/smime/nsICMSMessageErrors.idl index d429cc67117761aaf48eff49f2b5486eb6c2d5a8..7378185f50648341dbb43647f695db91400e3f0c 100644 --- a/comm/mailnews/extensions/smime/nsICMSMessageErrors.idl +++ b/comm/mailnews/extensions/smime/nsICMSMessageErrors.idl @@ -29,6 +29,7 @@ interface nsICMSMessageErrors : nsISupports const long VERIFY_HEADER_MISMATCH = 1038; const long VERIFY_NOT_YET_ATTEMPTED = 1039; const long VERIFY_CERT_WITHOUT_ADDRESS = 1040; + const long VERIFY_TIME_MISMATCH = 1041; const long ENCRYPT_NO_BULK_ALG = 1056; const long ENCRYPT_INCOMPLETE = 1057; diff --git a/comm/mailnews/mime/src/mimecms.cpp b/comm/mailnews/mime/src/mimecms.cpp index e5aa904d97b5c9d97bb39ff5a430ae16dce336a2..e9d2d33ae5cb401decd36bb857134bf86877072e 100644 --- a/comm/mailnews/mime/src/mimecms.cpp +++ b/comm/mailnews/mime/src/mimecms.cpp @@ -234,6 +234,7 @@ class nsSMimeVerificationListener : public nsISMimeVerificationListener { nsSMimeVerificationListener(const char* aFromAddr, const char* aFromName, const char* aSenderAddr, const char* aSenderName, + const char* aMsgDate, nsIMsgSMIMEHeaderSink* aHeaderSink, int32_t aMimeNestingLevel, const nsCString& aMsgNeckoURL, @@ -264,6 +265,7 @@ class nsSMimeVerificationListener : public nsISMimeVerificationListener { nsCString mFromName; nsCString mSenderAddr; nsCString mSenderName; + nsCString mMsgDate; }; class SignedStatusRunnable : public mozilla::Runnable { @@ -322,9 +324,9 @@ NS_IMPL_ISUPPORTS(nsSMimeVerificationListener, nsISMimeVerificationListener) nsSMimeVerificationListener::nsSMimeVerificationListener( const char* aFromAddr, const char* aFromName, const char* aSenderAddr, - const char* aSenderName, nsIMsgSMIMEHeaderSink* aHeaderSink, - int32_t aMimeNestingLevel, const nsCString& aMsgNeckoURL, - const nsCString& aOriginMimePartNumber) + const char* aSenderName, const char* aMsgDate, + nsIMsgSMIMEHeaderSink* aHeaderSink, int32_t aMimeNestingLevel, + const nsCString& aMsgNeckoURL, const nsCString& aOriginMimePartNumber) : mMsgNeckoURL(aMsgNeckoURL), mOriginMimePartNumber(aOriginMimePartNumber) { mHeaderSink = new nsMainThreadPtrHolder<nsIMsgSMIMEHeaderSink>( "nsSMimeVerificationListener::mHeaderSink", aHeaderSink); @@ -335,6 +337,7 @@ nsSMimeVerificationListener::nsSMimeVerificationListener( mFromName = aFromName; mSenderAddr = aSenderAddr; mSenderName = aSenderName; + mMsgDate = aMsgDate; } NS_IMETHODIMP nsSMimeVerificationListener::Notify( @@ -367,8 +370,33 @@ NS_IMETHODIMP nsSMimeVerificationListener::Notify( signature_status = nsICMSMessageErrors::VERIFY_CERT_WITHOUT_ADDRESS; else signature_status = nsICMSMessageErrors::VERIFY_HEADER_MISMATCH; - } else - signature_status = nsICMSMessageErrors::SUCCESS; + } else { + PRTime sigTime; + if (NS_FAILED(aVerifiedMessage->GetSigningTime(&sigTime))) { + // Signing time attribute is optional in CMS messages. + signature_status = nsICMSMessageErrors::SUCCESS; + } else { + // If it's present, check for a rough match with the message date. + PRTime msgTime; + if (PR_ParseTimeString(mMsgDate.get(), false, &msgTime) != PR_SUCCESS) { + signature_status = nsICMSMessageErrors::VERIFY_TIME_MISMATCH; + } else { + PRTime delta; + + if (sigTime > msgTime) { + delta = sigTime - msgTime; + } else { + delta = msgTime - sigTime; + } + + if (delta / PR_USEC_PER_SEC > 60 * 60 * 1) { + signature_status = nsICMSMessageErrors::VERIFY_TIME_MISMATCH; + } else { + signature_status = nsICMSMessageErrors::SUCCESS; + } + } + } + } } if (NS_IsMainThread()) { @@ -558,7 +586,7 @@ static int MimeCMS_write(const char* buf, int32_t buf_size, void* closure) { void MimeCMSGetFromSender(MimeObject* obj, nsCString& from_addr, nsCString& from_name, nsCString& sender_addr, - nsCString& sender_name) { + nsCString& sender_name, nsCString& msg_date) { MimeHeaders* msg_headers = 0; /* Find the headers of the MimeMessage which is the parent (or grandparent) @@ -585,17 +613,19 @@ void MimeCMSGetFromSender(MimeObject* obj, nsCString& from_addr, s.Adopt(MimeHeaders_get(msg_headers, HEADER_SENDER, false, false)); if (!s.IsEmpty()) ExtractFirstAddress(EncodedHeader(s), sender_name, sender_addr); + + msg_date.Adopt(MimeHeaders_get(msg_headers, HEADER_DATE, false, true)); } void MimeCMSRequestAsyncSignatureVerification( nsICMSMessage* aCMSMsg, const char* aFromAddr, const char* aFromName, - const char* aSenderAddr, const char* aSenderName, + const char* aSenderAddr, const char* aSenderName, const char* aMsgDate, nsIMsgSMIMEHeaderSink* aHeaderSink, int32_t aMimeNestingLevel, const nsCString& aMsgNeckoURL, const nsCString& aOriginMimePartNumber, const nsTArray<uint8_t>& aDigestData, int16_t aDigestType) { RefPtr<nsSMimeVerificationListener> listener = new nsSMimeVerificationListener( - aFromAddr, aFromName, aSenderAddr, aSenderName, aHeaderSink, + aFromAddr, aFromName, aSenderAddr, aSenderName, aMsgDate, aHeaderSink, aMimeNestingLevel, aMsgNeckoURL, aOriginMimePartNumber); long verifyFlags = 0; @@ -712,14 +742,15 @@ static int MimeCMS_eof(void* crypto_closure, bool abort_p) { nsCString from_name; nsCString sender_addr; nsCString sender_name; + nsCString msg_date; MimeCMSGetFromSender(data->self, from_addr, from_name, sender_addr, - sender_name); + sender_name, msg_date); MimeCMSRequestAsyncSignatureVerification( data->content_info, from_addr.get(), from_name.get(), - sender_addr.get(), sender_name.get(), data->smimeHeaderSink, - aRelativeNestLevel, data->url, partnum, {}, 0); + sender_addr.get(), sender_name.get(), msg_date.get(), + data->smimeHeaderSink, aRelativeNestLevel, data->url, partnum, {}, 0); } } diff --git a/comm/mailnews/mime/src/mimemcms.cpp b/comm/mailnews/mime/src/mimemcms.cpp index 0f3f23db8257a18021a668b77bbe1029437f5317..d2e5b18f191fa4ef2ff7c99de0355c0216de5080 100644 --- a/comm/mailnews/mime/src/mimemcms.cpp +++ b/comm/mailnews/mime/src/mimemcms.cpp @@ -107,12 +107,10 @@ typedef struct MimeMultCMSdata { extern bool MimeAnyParentCMSSigned(MimeObject* obj); extern void MimeCMSGetFromSender(MimeObject* obj, nsCString& from_addr, nsCString& from_name, nsCString& sender_addr, - nsCString& sender_name); -extern bool MimeCMSHeadersAndCertsMatch( - MimeObject* obj, nsICMSMessage*, bool* signing_cert_without_email_address); + nsCString& sender_name, nsCString& msg_date); extern void MimeCMSRequestAsyncSignatureVerification( nsICMSMessage* aCMSMsg, const char* aFromAddr, const char* aFromName, - const char* aSenderAddr, const char* aSenderName, + const char* aSenderAddr, const char* aSenderName, const char* aMsgDate, nsIMsgSMIMEHeaderSink* aHeaderSink, int32_t aMimeNestingLevel, const nsCString& aMsgNeckoURL, const nsCString& aOriginMimePartNumber, const nsTArray<uint8_t>& aDigestData, int16_t aDigestType); @@ -475,9 +473,10 @@ static char* MimeMultCMS_generate(void* crypto_closure) { nsCString from_name; nsCString sender_addr; nsCString sender_name; + nsCString msg_date; MimeCMSGetFromSender(data->self, from_addr, from_name, sender_addr, - sender_name); + sender_name, msg_date); nsTArray<uint8_t> digest; digest.AppendElements(data->item_data, data->item_len); @@ -485,8 +484,8 @@ static char* MimeMultCMS_generate(void* crypto_closure) { if (!data->reject_signature && data->smimeHeaderSink) { MimeCMSRequestAsyncSignatureVerification( data->content_info, from_addr.get(), from_name.get(), sender_addr.get(), - sender_name.get(), data->smimeHeaderSink, aRelativeNestLevel, data->url, - partnum, digest, data->hash_type); + sender_name.get(), msg_date.get(), data->smimeHeaderSink, + aRelativeNestLevel, data->url, partnum, digest, data->hash_type); } if (data->content_info) { diff --git a/comm/mailnews/mime/test/unit/test_smime_decrypt.js b/comm/mailnews/mime/test/unit/test_smime_decrypt.js index a3a7bb6eb2e9c7802e903805b18ec29bbe78bf02..815f786224039a63ec9e429fc7723ebb3615c692 100644 --- a/comm/mailnews/mime/test/unit/test_smime_decrypt.js +++ b/comm/mailnews/mime/test/unit/test_smime_decrypt.js @@ -231,6 +231,12 @@ var gMessages = [ sig: true, sig_good: true, }, + { + filename: "alice.future.dsig.SHA256.multipart.eml", + enc: false, + sig: true, + sig_good: false, + }, { filename: "alice.dsig.SHA256.multipart.env.eml", enc: true, diff --git a/comm/mailnews/nss-extra.symbols b/comm/mailnews/nss-extra.symbols index f6029df5cf120238e9ea3e650b6378886b33c789..27f5c497f2f7400d8f8dc30659bab09b0f88ada6 100644 --- a/comm/mailnews/nss-extra.symbols +++ b/comm/mailnews/nss-extra.symbols @@ -51,6 +51,7 @@ NSS_CMSSignerInfo_Create NSS_CMSSignerInfo_GetDigestAlgTag NSS_CMSSignerInfo_GetSignerCommonName NSS_CMSSignerInfo_GetSignerEmailAddress +NSS_CMSSignerInfo_GetSigningTime NSS_CMSSignerInfo_GetVerificationStatus NSS_CMSSignerInfo_IncludeCerts NSS_CMSUtil_VerificationStatusToString diff --git a/comm/mailnews/test/data/smime/Alice.p12 b/comm/mailnews/test/data/smime/Alice.p12 index cc40b4a724a997e1a8d10e2a5ff615d88cb90b13..5533001a3c910684942c051f8c9c6282e9db8e3d 100644 Binary files a/comm/mailnews/test/data/smime/Alice.p12 and b/comm/mailnews/test/data/smime/Alice.p12 differ diff --git a/comm/mailnews/test/data/smime/Bob.p12 b/comm/mailnews/test/data/smime/Bob.p12 index b651346cb126eb54441eebf201da7697d11850f8..b5c8504a735c074e0f089bf12057fd4837a775ba 100644 Binary files a/comm/mailnews/test/data/smime/Bob.p12 and b/comm/mailnews/test/data/smime/Bob.p12 differ diff --git a/comm/mailnews/test/data/smime/Dave.p12 b/comm/mailnews/test/data/smime/Dave.p12 index ce8cc40d576c04263a704e4ecd8c1f66fd5d8d1d..ee9fcefe641b2d41f3e30f34d5cdf4d19a2e1f78 100644 Binary files a/comm/mailnews/test/data/smime/Dave.p12 and b/comm/mailnews/test/data/smime/Dave.p12 differ diff --git a/comm/mailnews/test/data/smime/Eve.p12 b/comm/mailnews/test/data/smime/Eve.p12 index e637df652d6ca8c5eec861e5540bd6318b2af151..c0c3d477fb71bbc1365e9f0e78390de44af3be6c 100644 Binary files a/comm/mailnews/test/data/smime/Eve.p12 and b/comm/mailnews/test/data/smime/Eve.p12 differ diff --git a/comm/mailnews/test/data/smime/TestCA.pem b/comm/mailnews/test/data/smime/TestCA.pem index 6cad629d395e31434dbaed327d5bb2759f2c9cb9..0e9f065d6e4337afdf16bd6c5f086a4baff6a0de 100644 --- a/comm/mailnews/test/data/smime/TestCA.pem +++ b/comm/mailnews/test/data/smime/TestCA.pem @@ -1,21 +1,21 @@ -----BEGIN CERTIFICATE----- MIIDdTCCAl2gAwIBAgIBATANBgkqhkiG9w0BAQsFADBkMQswCQYDVQQGEwJVUzET MBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAG -A1UEChMJQk9HVVMgTlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQTAgFw0yMjEyMTkx -MTI1MDVaGA8yMDcyMTIxOTExMjUwNVowZDELMAkGA1UEBhMCVVMxEzARBgNVBAgT +A1UEChMJQk9HVVMgTlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQTAgFw0yMzExMjEy +MDUwMDdaGA8yMDczMTEyMTIwNTAwN1owZDELMAkGA1UEBhMCVVMxEzARBgNVBAgT CkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJP R1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUA -A4IBDwAwggEKAoIBAQC2xwYviP0TanRZneQSbQoZZGB3/GwdbyIayXjWeV85N4Cu -8QCA2GXRaZGcZr+U/o62fFeclxvddkz98II7PJKRpOxZNQ3vkm+uGwK6m0386+7F -KwM/GgvbPs8vlNM1fKZyXvPo3p4DDS3m2K124s1UI5U7OOFw7UFmA5RfXTadEOPC -jYD6EJpWsLQbjaQwJf+/SsMzVry7sTAKwtAiv/mBsLyu5EQ71iMNpFJ6YjmlDz4/ -V1MLUxNShDsyG0i0Y93Vb10i5FLmp1bm+MimGG4av797z+AXi3lkNxA4TH6F6kbI -53cF47nYbtCBmLLtJz0EuztKuB+4bLCDccS5WcDrAgMBAAGjMDAuMBEGCWCGSAGG +A4IBDwAwggEKAoIBAQDPL+VBVHBnK32PfKsFz5mwpeOdSOsfqymx2DN1qo42mQ8s +SRmrK7lbi0iiGuU+3jFBh/29wWitHH+1qb/DDSiIYk+RS3mVKdTxDOztwyRW7mf3 +oqK3OR4cQhLxXhIDuhDW4P4CQTwu6CSqwyTkrJeEi77foQ/C1rX1zQWMpJW7n4Iv +9PNMedHpNtoXP7zS8GxV9WwiHFEcRYzwdrlHQJm9+l0OWp8Tl5DFniJjjOuQYr4n +DGJ1R4F74yU9NPrOzAy9Cvm1eO4novQEcUyQ5Mdnw7bHI31ChWf/KyZzDLA+jTMI +30fLNDr512k0Z1429p1n77nzGhSDSbSNKFtyyNy1AgMBAAGjMDAuMBEGCWCGSAGG +EIBAQQEAwIABzAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBBjANBgkqhkiG9w0B -AQsFAAOCAQEAn8rh7DRtpg8o3aBCI1MykMPls+LdzTMgH6hxeQL9JCBz+Us6Xd4z -W1XUlmIqbsoxt6pDOu+PBgYw8dYrc/EKHyPyJhvk9ZlyiiWHLb+keSD/uv9xlaCw -4LUqemBoMkqSVC8CZ6RjHlyttvhQmhSVjE82Lp6BM0sr/JyH+8VFMb+IfAvzefr3 -VlWl8QMLyeuLlJUniQ/UQnPUL8muTUPKzx7Bp3qMsNS8Xl2RfocUDBx8TcFAA8A8 -o4UCyOrZ1fnR3HY2EhlFF3edcyGQ4TA8zivcSRSpWSh+tDcl0fWnJrAyEA64ZfcN -hVkQE7po1/jClTfQu9xwE6ZaZ4hfkvugnQ== +AQsFAAOCAQEAt8reMMu83pDQiZqgq1bI7P1sGznDykMefFITZF3veDas86T9seDZ +pPAT45uo8t/+yuQWciDfBDcB5NnedkTjmXUaG1ZKekTamv6uNaLqr5aZrotnNUwK +CYk4ci1K5MuprqE6kBKKP8cGYL5ZqA4PPIHxlCgU2JR9G8NVn7Nw3Xb6ZTqRWTSn +g2tM3LWBDCu2p6qIZPNu35OYBUmLzsfSSlroj8iwirnOa+LYAmUMTQlnBQpln1WI +q+q0haYFPt9MTGpvwA9JBoElS9I4XxJHbthlsCizas9UJfue37RIR5LRXA8zudRU +Rwo8QS6MTgppRvorz2kvABRmkXiYk3Vn/g== -----END CERTIFICATE----- diff --git a/comm/mailnews/test/data/smime/alice.dsig.SHA1.multipart.bad.eml b/comm/mailnews/test/data/smime/alice.dsig.SHA1.multipart.bad.eml index 75861dcec98145d74459e643a16b7afc0c4ef3ac..200c40916be862e9bdbacbef725411ca3ca086be 100644 --- a/comm/mailnews/test/data/smime/alice.dsig.SHA1.multipart.bad.eml +++ b/comm/mailnews/test/data/smime/alice.dsig.SHA1.multipart.bad.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: BAD clear-signed sig.SHA1 @@ -22,37 +23,37 @@ Content-Description: S/MIME Cryptographic Signature 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 -PNhtAAAAAAAA +TlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBHjAJBgUrDgMCGgUAoIIBUzAYBgkq +hkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yMzExMjEyMDUy +MDRaMCMGCSqGSIb3DQEJBDEWBBQCH3ANIhscFLil//h1Np3FJ8a3wDB4BgkrBgEE +AYI3EAQxazBpMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYw +FAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNV +BAMTC05TUyBUZXN0IENBAgEeMHoGCyqGSIb3DQEJEAILMWugaTBkMQswCQYDVQQG +EwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmll +dzESMBAGA1UEChMJQk9HVVMgTlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBHjAN +BgkqhkiG9w0BAQEFAASCAQCIyolmFjNhn+RqgufettmYEpqi3dKJSM3/qTykclNQ +zu43v36T+FXEZ6n4aloo7OfHM/q8VCAFNDdEY+StBGA1eViozpAyf0u5+iwb4snA +wec5F8FkP1l2DmHi0IqschOkk3xUP4+YTXE/BT1JWxSpJYyYdn9ZRH4vja9p+xCC +pChh1i5MKYJe6nf3u/R1so5dEx9aTqV3UwBC7LhU92psH77Qjsh89ndgQwHbb625 +lCi/Y1ePLehTqzg67oknqnSYd3bTkZ2H2I9OZTRDfJks392qvlbz5WEb2ThBakXn +MEceLnvWENGa1tgMo1DGiz9+6Qrju+ywvFL/1nN/KWcGAAAAAAAA --------------ms030903020902020502030404-- diff --git a/comm/mailnews/test/data/smime/alice.dsig.SHA1.multipart.eml b/comm/mailnews/test/data/smime/alice.dsig.SHA1.multipart.eml index 10bd579115a179ec5c6f973ca1e49c13f6c13911..49c7722d297093613d10f4522ddbe1fa64c44c3c 100644 --- a/comm/mailnews/test/data/smime/alice.dsig.SHA1.multipart.eml +++ b/comm/mailnews/test/data/smime/alice.dsig.SHA1.multipart.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: clear-signed sig.SHA1 @@ -22,37 +23,37 @@ Content-Description: S/MIME Cryptographic Signature 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 -PNhtAAAAAAAA +TlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBHjAJBgUrDgMCGgUAoIIBUzAYBgkq +hkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yMzExMjEyMDUy +MDRaMCMGCSqGSIb3DQEJBDEWBBQCH3ANIhscFLil//h1Np3FJ8a3wDB4BgkrBgEE +AYI3EAQxazBpMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYw +FAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNV +BAMTC05TUyBUZXN0IENBAgEeMHoGCyqGSIb3DQEJEAILMWugaTBkMQswCQYDVQQG +EwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmll +dzESMBAGA1UEChMJQk9HVVMgTlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBHjAN +BgkqhkiG9w0BAQEFAASCAQCIyolmFjNhn+RqgufettmYEpqi3dKJSM3/qTykclNQ +zu43v36T+FXEZ6n4aloo7OfHM/q8VCAFNDdEY+StBGA1eViozpAyf0u5+iwb4snA +wec5F8FkP1l2DmHi0IqschOkk3xUP4+YTXE/BT1JWxSpJYyYdn9ZRH4vja9p+xCC +pChh1i5MKYJe6nf3u/R1so5dEx9aTqV3UwBC7LhU92psH77Qjsh89ndgQwHbb625 +lCi/Y1ePLehTqzg67oknqnSYd3bTkZ2H2I9OZTRDfJks392qvlbz5WEb2ThBakXn +MEceLnvWENGa1tgMo1DGiz9+6Qrju+ywvFL/1nN/KWcGAAAAAAAA --------------ms030903020902020502030404-- diff --git a/comm/mailnews/test/data/smime/alice.dsig.SHA1.multipart.env.eml b/comm/mailnews/test/data/smime/alice.dsig.SHA1.multipart.env.eml index 0d308a9d34348c861790e4168c58aa859050dcbf..9fc5639e626913f157771f2cd0f4b54027118840 100644 --- a/comm/mailnews/test/data/smime/alice.dsig.SHA1.multipart.env.eml +++ b/comm/mailnews/test/data/smime/alice.dsig.SHA1.multipart.env.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: clear-signed then enveloped sig.SHA1 @@ -11,72 +12,73 @@ Content-Description: S/MIME Encrypted Message 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 -EKNO1ko6+0+I3uwu8IXzsrEAAAAAAAAAAAAA +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 +EOmuA/ZN/RPo9TjuvjEKn5oAAAAAAAAAAAAA diff --git a/comm/mailnews/test/data/smime/alice.dsig.SHA1.multipart.mismatch-econtent.eml b/comm/mailnews/test/data/smime/alice.dsig.SHA1.multipart.mismatch-econtent.eml index 50d85b4825420f317ca13adad6fb5a88a8d9fc72..bc85350c5c3cb98b65d8c704514eae7a5af395b4 100644 --- a/comm/mailnews/test/data/smime/alice.dsig.SHA1.multipart.mismatch-econtent.eml +++ b/comm/mailnews/test/data/smime/alice.dsig.SHA1.multipart.mismatch-econtent.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: BAD mismatch-econtent sig.SHA1 @@ -24,36 +25,37 @@ JIAER0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbg0KDQpUaGlzIGlzIGEgdGVzdCBt ZXNzYWdlIGZyb20gQWxpY2UgdG8gQm9iLg0KAAAAAAAAoIIDYjCCA14wggJGoAMC AQICAR4wDQYJKoZIhvcNAQELBQAwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh bGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VT -IE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0EwHhcNMjIxMjE5MTEyNTQwWhcNMjcx -MjE5MTEyNTQwWjCBgDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWEx +IE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0EwHhcNMjMxMTIxMjA1MDM2WhcNMjgx +MTIxMjA1MDM2WjCBgDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWEx FjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEgMB4G CSqGSIb3DQEJARYRQWxpY2VAZXhhbXBsZS5jb20xDjAMBgNVBAMTBUFsaWNlMIIB -IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu4EtAmqnBt0Ecg+ggjFD+2xy -O9yk6zTky8KXugTornNnT8T/lQPf78Z/oghmOcTOnfxE2YEhvZjocRmDj3mtKV21 -ujcVNcqZxjpChqMqeKWauCax/UyksPGhR+TvLBfHzHil6MDSEu1UBr7flfQ/EHKv -jXaGm+2SWO/oU70+h9U3wcFRcvoVJbVH+gaktzqcO6lJx1CfmaiSA7uAxxj0M90s -nFKpzgkOxTKrO6OU03A2VF2vQBZvqxrrej7JWnNEmgC/Rxr/hcARTlTyYNhN1p35 -KyANQC9dH4lXdvKzu2W64wqvo9Su/R7BJDTtdK1EKfv96FsUOWzCaFhOSTQbwwID -AQABMA0GCSqGSIb3DQEBCwUAA4IBAQA5idbEHuXZcCXaX7Tqpwjwkd0Faj/zfHpr -U3Ovhk+qya+acOmQbn5BRd/Khto1LX2ZY9VFQf22S8g0fl5y9aAlWYgyanUpNf6/ -AoKYdA08ITzjWn4vlytiX9xmkcsmsoa6XNaBp+CCYtR70LCuSXiIr+hxO+AW4XI/ -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 +e9uhSUBVTeVrORDGqQAVtDCSAAAAAAAA --------------ms030903020902020502030404-- diff --git a/comm/mailnews/test/data/smime/alice.dsig.SHA256.multipart.bad.eml b/comm/mailnews/test/data/smime/alice.dsig.SHA256.multipart.bad.eml index 5236cbc6d875f6b4863dff8eb8e2a9dd982bd515..ae989dee6e198534876555b717c7fca07879b08e 100644 --- a/comm/mailnews/test/data/smime/alice.dsig.SHA256.multipart.bad.eml +++ b/comm/mailnews/test/data/smime/alice.dsig.SHA256.multipart.bad.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: BAD clear-signed sig.SHA256 @@ -23,36 +24,37 @@ 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 -vSPlDp/EugO6PwXFxR33Fl4oOq7immAAAAAAAAA= +ggFfMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIz +MTEyMTIwNTIwNlowLwYJKoZIhvcNAQkEMSIEILJrdzzDNYWQV/M1oK41/rfKXs+h +x4nk6HPGaJpiwfmGMHgGCSsGAQQBgjcQBDFrMGkwZDELMAkGA1UEBhMCVVMxEzAR +BgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNV +BAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0ECAR4wegYLKoZIhvcN +AQkQAgsxa6BpMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYw +FAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNV +BAMTC05TUyBUZXN0IENBAgEeMA0GCSqGSIb3DQEBAQUABIIBAB5kCx05RMyY/fvE +LTQK5mVlejmq/cr9ys74Q+xV9Bk79phxzNrBYLcJpfPO0B9jESPn5DIBVx63sdt2 +dQsV19WLJf79c5N3dddHPdN6DuuQ4kmcdvBXPgagwX+99w9crxE0jW1r5O5eVZET +1/wP0fBsjBMkUtBFeEIcoyBJLQ0w4DC6lVQJghMI46Ouc2UNDt3VFSsSyzIGpvmj +M/twajeu68eQD3evco4eVP75SJ/jrFtRaUYLvfBy0vpBemxznDDRqu5O6Bes75tj +bFSYCY1uW3AFfpwN7l3sn47xVlcTwYlK0DUoKqtJ6YYJW6cMf+pSZYFuUQed/v+O +6k/oDIAAAAAAAAA= --------------ms030903020902020502030404-- diff --git a/comm/mailnews/test/data/smime/alice.dsig.SHA256.multipart.eml b/comm/mailnews/test/data/smime/alice.dsig.SHA256.multipart.eml index ae9d203944463a7c643ef525a1926b7a56092777..c3c2ed9067e56d7615b80cb64a784d5196a5de5c 100644 --- a/comm/mailnews/test/data/smime/alice.dsig.SHA256.multipart.eml +++ b/comm/mailnews/test/data/smime/alice.dsig.SHA256.multipart.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: clear-signed sig.SHA256 @@ -23,36 +24,37 @@ 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 -vSPlDp/EugO6PwXFxR33Fl4oOq7immAAAAAAAAA= +ggFfMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIz +MTEyMTIwNTIwNlowLwYJKoZIhvcNAQkEMSIEILJrdzzDNYWQV/M1oK41/rfKXs+h +x4nk6HPGaJpiwfmGMHgGCSsGAQQBgjcQBDFrMGkwZDELMAkGA1UEBhMCVVMxEzAR +BgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNV +BAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0ECAR4wegYLKoZIhvcN +AQkQAgsxa6BpMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYw +FAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNV +BAMTC05TUyBUZXN0IENBAgEeMA0GCSqGSIb3DQEBAQUABIIBAB5kCx05RMyY/fvE +LTQK5mVlejmq/cr9ys74Q+xV9Bk79phxzNrBYLcJpfPO0B9jESPn5DIBVx63sdt2 +dQsV19WLJf79c5N3dddHPdN6DuuQ4kmcdvBXPgagwX+99w9crxE0jW1r5O5eVZET +1/wP0fBsjBMkUtBFeEIcoyBJLQ0w4DC6lVQJghMI46Ouc2UNDt3VFSsSyzIGpvmj +M/twajeu68eQD3evco4eVP75SJ/jrFtRaUYLvfBy0vpBemxznDDRqu5O6Bes75tj +bFSYCY1uW3AFfpwN7l3sn47xVlcTwYlK0DUoKqtJ6YYJW6cMf+pSZYFuUQed/v+O +6k/oDIAAAAAAAAA= --------------ms030903020902020502030404-- diff --git a/comm/mailnews/test/data/smime/alice.dsig.SHA256.multipart.env.eml b/comm/mailnews/test/data/smime/alice.dsig.SHA256.multipart.env.eml index e9ea30856caf000073d8af66ac3e61f10220d4ae..3bf13bb6d7269be4c389cab70b59d5317cc7c3d7 100644 --- a/comm/mailnews/test/data/smime/alice.dsig.SHA256.multipart.env.eml +++ b/comm/mailnews/test/data/smime/alice.dsig.SHA256.multipart.env.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: clear-signed then enveloped sig.SHA256 @@ -11,73 +12,74 @@ Content-Description: S/MIME Encrypted Message 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 -mQAAAAAAAAAAAAA= +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 +EwAAAAAAAAAAAAA= diff --git a/comm/mailnews/test/data/smime/alice.dsig.SHA256.multipart.mismatch-econtent.eml b/comm/mailnews/test/data/smime/alice.dsig.SHA256.multipart.mismatch-econtent.eml index f08bbef71ba81796b5dfe60363edd7bfcd62f9db..6c6477a64cd0c7ad7a6cfa0d59495492ad2ccf7e 100644 --- a/comm/mailnews/test/data/smime/alice.dsig.SHA256.multipart.mismatch-econtent.eml +++ b/comm/mailnews/test/data/smime/alice.dsig.SHA256.multipart.mismatch-econtent.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: BAD mismatch-econtent sig.SHA256 @@ -24,37 +25,37 @@ BwGggCSABEdDb250ZW50LVR5cGU6IHRleHQvcGxhaW4NCg0KVGhpcyBpcyBhIHRl c3QgbWVzc2FnZSBmcm9tIEFsaWNlIHRvIEJvYi4NCgAAAAAAAKCCA2IwggNeMIIC RqADAgECAgEeMA0GCSqGSIb3DQEBCwUAMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQI EwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlC -T0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBMB4XDTIyMTIxOTExMjU0MFoX -DTI3MTIxOTExMjU0MFowgYAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9y +T0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBMB4XDTIzMTEyMTIwNTAzNloX +DTI4MTEyMTIwNTAzNlowgYAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9y bmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1Mx IDAeBgkqhkiG9w0BCQEWEUFsaWNlQGV4YW1wbGUuY29tMQ4wDAYDVQQDEwVBbGlj -ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALuBLQJqpwbdBHIPoIIx -Q/tscjvcpOs05MvCl7oE6K5zZ0/E/5UD3+/Gf6IIZjnEzp38RNmBIb2Y6HEZg495 -rSldtbo3FTXKmcY6QoajKnilmrgmsf1MpLDxoUfk7ywXx8x4pejA0hLtVAa+35X0 -PxByr412hpvtkljv6FO9PofVN8HBUXL6FSW1R/oGpLc6nDupScdQn5mokgO7gMcY -9DPdLJxSqc4JDsUyqzujlNNwNlRdr0AWb6sa63o+yVpzRJoAv0ca/4XAEU5U8mDY -Tdad+SsgDUAvXR+JV3bys7tluuMKr6PUrv0ewSQ07XStRCn7/ehbFDlswmhYTkk0 -G8MCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAOYnWxB7l2XAl2l+06qcI8JHdBWo/ -83x6a1Nzr4ZPqsmvmnDpkG5+QUXfyobaNS19mWPVRUH9tkvINH5ecvWgJVmIMmp1 -KTX+vwKCmHQNPCE841p+L5crYl/cZpHLJrKGulzWgafggmLUe9Cwrkl4iK/ocTvg -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 -3HGW3MfGaD0AAAAAAAA= +AxMLTlNTIFRlc3QgQ0ECAR4wDQYJYIZIAWUDBAIBBQCgggFfMBgGCSqGSIb3DQEJ +AzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIzMTEyMTIwNTIwNlowLwYJ +KoZIhvcNAQkEMSIEIIkBFBAciGamC1l8rrQ9Rf3QYbZ8NKqgsYvmT/s/qgusMHgG +CSsGAQQBgjcQBDFrMGkwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3Ju +aWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEU +MBIGA1UEAxMLTlNTIFRlc3QgQ0ECAR4wegYLKoZIhvcNAQkQAgsxa6BpMGQxCzAJ +BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFp +biBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENB +AgEeMA0GCSqGSIb3DQEBAQUABIIBAIZk5LSUiVMZeaoR/ftlgvF3wGOcJEqIlsSe +wsvFs9CEcbZhLwP5+mX78MBtD20ZmBej3c+6ZUTdELXW6/mpvWKV9+VJpH2mXBAV +OQSxzzLLxmxA3j4CRiOJmYG3vEfgK5oa3fCxoP8Y2j6m0WSreeWJFy4oSvDkgP4I +RSUu86NtzkuCwf6ZD7QObkhMMvIUqMSYDd27YkmuRhIPhjuDfUsxVnEzxuvRgifJ +QVKvpkj5lsgeVa9T3GRXIfdgOo1w/HS/QpiQHCHs0UDHLzuOkQYVNVGLTuLFZJCf +U/Zq3Uc8HGlPKQ5lnPFMzK2mUt2DQyRDubkk102xAkEJGFsujtQAAAAAAAA= --------------ms030903020902020502030404-- diff --git a/comm/mailnews/test/data/smime/alice.dsig.SHA384.multipart.bad.eml b/comm/mailnews/test/data/smime/alice.dsig.SHA384.multipart.bad.eml index a25e58f69a228a0b278daca741776793aed78b06..1423fa94821d5859c1c0a3942c973f814c44b8d5 100644 --- a/comm/mailnews/test/data/smime/alice.dsig.SHA384.multipart.bad.eml +++ b/comm/mailnews/test/data/smime/alice.dsig.SHA384.multipart.bad.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: BAD clear-signed sig.SHA384 @@ -23,36 +24,37 @@ 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 +tsxPOCAraEuvsJffxIEaQYLrpeVKAAAAAAAA --------------ms030903020902020502030404-- diff --git a/comm/mailnews/test/data/smime/alice.dsig.SHA384.multipart.eml b/comm/mailnews/test/data/smime/alice.dsig.SHA384.multipart.eml index b2bdfd64e9b3f32bbc8347fd8295a4a3eb0180cd..a81560e2762ea62b98535d0bb979cbdf726c52c5 100644 --- a/comm/mailnews/test/data/smime/alice.dsig.SHA384.multipart.eml +++ b/comm/mailnews/test/data/smime/alice.dsig.SHA384.multipart.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: clear-signed sig.SHA384 @@ -23,36 +24,37 @@ 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 +tsxPOCAraEuvsJffxIEaQYLrpeVKAAAAAAAA --------------ms030903020902020502030404-- diff --git a/comm/mailnews/test/data/smime/alice.dsig.SHA384.multipart.env.eml b/comm/mailnews/test/data/smime/alice.dsig.SHA384.multipart.env.eml index 18cf8f7edd6b3e6fe04e2cbda130f0be15fd6381..8151234896e4460dace89f39bfc293cde75a5e93 100644 --- a/comm/mailnews/test/data/smime/alice.dsig.SHA384.multipart.env.eml +++ b/comm/mailnews/test/data/smime/alice.dsig.SHA384.multipart.env.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: clear-signed then enveloped sig.SHA384 @@ -11,73 +12,74 @@ Content-Description: S/MIME Encrypted Message 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 +EFRZEjk7+hbeGdekn0pePRwAAAAAAAAAAAAA diff --git a/comm/mailnews/test/data/smime/alice.dsig.SHA384.multipart.mismatch-econtent.eml b/comm/mailnews/test/data/smime/alice.dsig.SHA384.multipart.mismatch-econtent.eml index 818fa4dc415446e05e3b44cd28ea786e42675920..6772b1bbbed03c8ec73c0f6f5be054902b40348f 100644 --- a/comm/mailnews/test/data/smime/alice.dsig.SHA384.multipart.mismatch-econtent.eml +++ b/comm/mailnews/test/data/smime/alice.dsig.SHA384.multipart.mismatch-econtent.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: BAD mismatch-econtent sig.SHA384 @@ -24,37 +25,38 @@ BwGggCSABEdDb250ZW50LVR5cGU6IHRleHQvcGxhaW4NCg0KVGhpcyBpcyBhIHRl c3QgbWVzc2FnZSBmcm9tIEFsaWNlIHRvIEJvYi4NCgAAAAAAAKCCA2IwggNeMIIC RqADAgECAgEeMA0GCSqGSIb3DQEBCwUAMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQI EwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlC -T0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBMB4XDTIyMTIxOTExMjU0MFoX -DTI3MTIxOTExMjU0MFowgYAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9y +T0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBMB4XDTIzMTEyMTIwNTAzNloX +DTI4MTEyMTIwNTAzNlowgYAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9y bmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1Mx IDAeBgkqhkiG9w0BCQEWEUFsaWNlQGV4YW1wbGUuY29tMQ4wDAYDVQQDEwVBbGlj -ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALuBLQJqpwbdBHIPoIIx -Q/tscjvcpOs05MvCl7oE6K5zZ0/E/5UD3+/Gf6IIZjnEzp38RNmBIb2Y6HEZg495 -rSldtbo3FTXKmcY6QoajKnilmrgmsf1MpLDxoUfk7ywXx8x4pejA0hLtVAa+35X0 -PxByr412hpvtkljv6FO9PofVN8HBUXL6FSW1R/oGpLc6nDupScdQn5mokgO7gMcY -9DPdLJxSqc4JDsUyqzujlNNwNlRdr0AWb6sa63o+yVpzRJoAv0ca/4XAEU5U8mDY -Tdad+SsgDUAvXR+JV3bys7tluuMKr6PUrv0ewSQ07XStRCn7/ehbFDlswmhYTkk0 -G8MCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAOYnWxB7l2XAl2l+06qcI8JHdBWo/ -83x6a1Nzr4ZPqsmvmnDpkG5+QUXfyobaNS19mWPVRUH9tkvINH5ecvWgJVmIMmp1 -KTX+vwKCmHQNPCE841p+L5crYl/cZpHLJrKGulzWgafggmLUe9Cwrkl4iK/ocTvg -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 +YuZE1YxxAAAAAAAA --------------ms030903020902020502030404-- diff --git a/comm/mailnews/test/data/smime/alice.dsig.SHA512.multipart.bad.eml b/comm/mailnews/test/data/smime/alice.dsig.SHA512.multipart.bad.eml index 88f3f8fb5c8f051ea07d787860b680b8b7da6d77..c5ec8af01e961a56b6eb2d3b8824e5853a4574b9 100644 --- a/comm/mailnews/test/data/smime/alice.dsig.SHA512.multipart.bad.eml +++ b/comm/mailnews/test/data/smime/alice.dsig.SHA512.multipart.bad.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: BAD clear-signed sig.SHA512 @@ -23,37 +24,37 @@ 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 -mGcuCbEBYwAAAAAAAA== +ggF/MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIz +MTEyMTIwNTIxMFowTwYJKoZIhvcNAQkEMUIEQIDtIdbNbMpZ5GN0mWvd8LPPByCC +dkoPPPx0FE23D5CwnagYOMkbOV35hzVG+C0VDZqE+HLxo4Ki0iR/UTmAz5kweAYJ +KwYBBAGCNxAEMWswaTBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p +YTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMgTlNTMRQw +EgYDVQQDEwtOU1MgVGVzdCBDQQIBHjB6BgsqhkiG9w0BCRACCzFroGkwZDELMAkG +A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWlu +IFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0EC +AR4wDQYJKoZIhvcNAQEBBQAEggEAFYqoaQ1WZBzIZr2ETwX9Zj2NU13Cp2HmCfrF +AagfrDpd3rcuo2q66Eagv7nnEmviP7vV8ouqAHMRr0p3Q+8mS24XbCAKo30mh8/Q +EaHl6sc42SVwJD9zhAfaMzwqKuN5wUEMYApYtg7xv1aaaWq+mzhC13O5aTjD9168 +tY60cUfGKlcg8qhXbkB4kPEZhsGOESkFfn81sD9Ug1FhQ0apYnjLHvBtwy4Zd2t+ +lmfywK6y8udNRmNDSlinfqF0XLnvmPyMVqZ03QDdCnbCGPzem2Zoq0b4Bv1P8NjK +KEAW4jBPoy3A2/83gKCyFfllHIX1nlQ12uc3Mb4CqdlxAqeQlgAAAAAAAA== --------------ms030903020902020502030404-- diff --git a/comm/mailnews/test/data/smime/alice.dsig.SHA512.multipart.eml b/comm/mailnews/test/data/smime/alice.dsig.SHA512.multipart.eml index 97958cdea9b02e0a41838808f15777f2e2012693..21152924146ff01f96c9db1863823cca21f46e77 100644 --- a/comm/mailnews/test/data/smime/alice.dsig.SHA512.multipart.eml +++ b/comm/mailnews/test/data/smime/alice.dsig.SHA512.multipart.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: clear-signed sig.SHA512 @@ -23,37 +24,37 @@ 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 -mGcuCbEBYwAAAAAAAA== +ggF/MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIz +MTEyMTIwNTIxMFowTwYJKoZIhvcNAQkEMUIEQIDtIdbNbMpZ5GN0mWvd8LPPByCC +dkoPPPx0FE23D5CwnagYOMkbOV35hzVG+C0VDZqE+HLxo4Ki0iR/UTmAz5kweAYJ +KwYBBAGCNxAEMWswaTBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p +YTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMgTlNTMRQw +EgYDVQQDEwtOU1MgVGVzdCBDQQIBHjB6BgsqhkiG9w0BCRACCzFroGkwZDELMAkG +A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWlu +IFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0EC +AR4wDQYJKoZIhvcNAQEBBQAEggEAFYqoaQ1WZBzIZr2ETwX9Zj2NU13Cp2HmCfrF +AagfrDpd3rcuo2q66Eagv7nnEmviP7vV8ouqAHMRr0p3Q+8mS24XbCAKo30mh8/Q +EaHl6sc42SVwJD9zhAfaMzwqKuN5wUEMYApYtg7xv1aaaWq+mzhC13O5aTjD9168 +tY60cUfGKlcg8qhXbkB4kPEZhsGOESkFfn81sD9Ug1FhQ0apYnjLHvBtwy4Zd2t+ +lmfywK6y8udNRmNDSlinfqF0XLnvmPyMVqZ03QDdCnbCGPzem2Zoq0b4Bv1P8NjK +KEAW4jBPoy3A2/83gKCyFfllHIX1nlQ12uc3Mb4CqdlxAqeQlgAAAAAAAA== --------------ms030903020902020502030404-- diff --git a/comm/mailnews/test/data/smime/alice.dsig.SHA512.multipart.env.eml b/comm/mailnews/test/data/smime/alice.dsig.SHA512.multipart.env.eml index 6eadabaa8a94f816f2a3328f3e43740a5300e815..32612a28cad8a9f86106f86cea18c3d5dbe12651 100644 --- a/comm/mailnews/test/data/smime/alice.dsig.SHA512.multipart.env.eml +++ b/comm/mailnews/test/data/smime/alice.dsig.SHA512.multipart.env.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: clear-signed then enveloped sig.SHA512 @@ -11,74 +12,75 @@ Content-Description: S/MIME Encrypted Message MIAGCSqGSIb3DQEHA6CAMIACAQAxggGFMIIBgQIBADBpMGQxCzAJBgNVBAYTAlVT MRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIw EAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEoMA0GCSqG -SIb3DQEBAQUABIIBAEtBP7ObMfIgkQfCrZNXTAl5dw2bF4SS80qwXHNDv1f3HSfa -ybg3n4/Ks+B1hjnV1DNddPrlyq1+7wI2N+7MzBX4niwoLuGzBLkoJbOCvYRiFMuZ -nhUFoWS+FKgoES9wcqDRqzRbPvTx0qJHRRRnIS5qCh8O4E2/tYsXHdhwMOe1uGJ+ -4fcW/zpiLLPzIr6o0p2tb3Gu+3HmPkvJK1Fam7mf/byXCM1GcgKyA0blLC65a/I2 -HWtXBtvyMRbnmfJkP8VQuZy9ZnV6g13W5lsMiKh0HZKDEzo1ubLvd/1A93hmNU9p -KX+IEtAPz+g9zZlpy3bdXyvJXaPKC+U/OEa5VuAwgAYJKoZIhvcNAQcBMB0GCWCG -SAFlAwQBAgQQe6ZwtRZGj7j5yUJlPjClQaCABIILoBcHh1WcUiVpHf4QUrCV9Y5N -TkSPCQisjZtC1b+RoE0zxPve6VckeKVLC4/I6x35eoxvHZ9Q3ovQQZMnnrQUbFZH -7Ey4IRsVrjqFI1xsKIQwwQ/p5ljEwK1C1i7iBrvlFeeSEBZ645Ld7NecWGL09iXv -xIHRlUV0ZXyXx/MJIdSL7YqPR1Dz1+6ziywY8vzqvvgxFUwqPoIEzgonZ1oCjQ3l -NmVG++nVBfry4aZ38vIqgnoyp9T6bOIrRtzWsIhqHhKNXWMLr3FnhhY+mWvvmF2e -/XoUc1BraznkOkA/+Hkgm4rCeRO33sdcomP2v7/AxPtn8sqTodxAzmxDcHO4h3MF -i87/doWBF/b4ZS0vApGrGwKIPtJLFcrzIXnRC/AaHtLQUYamAjmsvDzMeA3wEmAS -fZh51fOMkNI6fdjI7DDtarKZdRY2QBdUwL9zf2I1wyWeOVSHm9bv1N04jo3LUKpe -Dv/KuISiNhuQYLTt7Or8OZ+Ju48zJ1DmWFxjKy/rqTpLfLlgvXXJQUfs6qVrnIPC -7M2+7DVaLv4Hc3GduOFfjGhzdAVCEuZJmAI+Auwprw5ahgu/v4c+Dg5CPs11A7sm -tDdHKROly8m6NMkIqQIZErw4RUaiMOiiRSHnUIrVlUngpuywNiQJNwKa/Y+UIAKd -U57sIo9KxU2qSsQsqsei4NT2wDBF8NnN1w4tkE3MUMbwBQrlBVAxsltxNmJz1ROS -DYdpaDHR7oNdmbINMokHF/spqQRd8Z4Q9Vu+XUmw/9d6N5fNu27RslZAu2MVXbB4 -1bLzf9JsyspGCTXf1M2EwdEGggq+2eGTD9nBm9qPR5lqNaOzD1gxdQywrm10JjVB -MZ2TGYfAuYNsrzSkPbnIjVTzBfbHjgHG3cjOJ20vxKe9gP0XKLFMcGVKguTvzdc/ -ZZW2BcCuOghZWSK8vOESy4XDjojJzAT9dSCC9NeNicOlOgJF9KiRIDahzuHr25HS -94F7DMXfEW134hbVFLJAIYzYMhthZnazYfWfqMgktxkEX5Nrr4tcN/bVwDjZ1ByF -wlYTFrOx7uxAQUBUyFY+kHdI7iUc2IaqzdztY3XShtG0yPDw0j9zaAXQIDOek9Mz -e3w6X5X/S5xI2dESxMekNro6Y9f0qLfpTgFzs8dWFHBfWZJTxJ8GHqe05qUaUywr -O0PyK1d4+1ntnOe9Stz/2eMuTVRNO00QhR6grfCALZma+UlEvW2lDAF5CihNQI4U -chPKW1YwipMx5Kc6/usR73tfXC+KyC0Q5ts2Oc0KyaOupUBhcoFFjbUGEtvA/BQ2 -KUIx75/D3ERuxNBfdfBv/D/2WlaGWVu4Y0PbVD61cTrYuJm4/S9ckcwaYEnQAF19 -Vat0ZUMCVCapH5p5ermGizCKof5d3T3Y/NEo6+evXQxg+v8RSflmHxWxezGn2f29 -lEuQ6npda1i8E0B27x6VMo+zucbsMbPnybYkBKkiagrc1sqGIHThyvv12x7iXqOe -wB94nKYp85Dy1Gfdvge2sMHHE5i7MHZXVNTgBpO2OhhLbarx5qPfeErghuz7j6r6 -h6LunMMjFs/IUfQfqjTC53PjWRdkKMnkf2LgJpvLLaYj95bAgQX2GQh+FheVKaap -LPxdAhYq9OAeGQ3IwTY9qLEmSO3cPu9UX3OqOtSubmXDfOqV8eMrrE9gyB8iArPc -mfF2erCNvueQyFEGQ2YVQvH1arERpjh4zGf66qL0YRP/AwrkOioImZ9H6HgaBKJD -OmcxZaTGmbPztL1OwRuordoEpHEmolyKlHEz28P16OgpxxvBKy7ml5E8MwFKEwwq -FHRGiM8cMA/KWuICbcsx0pWQBdBKX/6AyXtZDj3Wmc/4ggXIEuwuzCpGs/ayXFn/ -8/yFOgfgtUu1jBRgmpgq1g4fQQqxVr5ddObHFYSJBmZTyIb4f6iq6ewq9zStoHdM -bzALF19lYVZk2Hkx3cwmzqY4kYvRsHzSxzMWLWtcAl68GfiUEaBNvTXnPyd8/apo -0RlXQ+2xXtJ1bDMTpI7izLh771KnJMFy4DQ39wQkf0lwpxqPLHktOlWD00ZzmW3y -VK6XwAnVgR3IMmSMciW77+J1urjwcgKcujCFjGzNcemWG39vu+81xi4bMi3m6LnB -HvvjDu1tITUcczPzvXZvyAq8zmNgEd/gzafCGORLgVmfvH9XEgNrJhDnPLSJ2JYF -PetVNLG0e6zihH13gV8L/2YhMdI5P9jQoavfDbjQlhE5cERhpENTz4gYKU5JmSMe -SEddnc5H7ZNVWU7LwuFlXnqUDv0uhD56CJ/6elLH+UYBGYYxS4dVqT0HpCsxPznp -kGYH78AOEoRVdVnlXV+FNGPTh0nC7uW5bTRjq5vQg2Tp7yE4r4uoAxPh+fm4sM9b -9+J/Mj4dJAs8UhQOtTrHkWFBd72QgXGkUFynyLBA3PhLRA8KDdJtfcFCJmlT7Na0 -YcmVLgR2zq7OCcbk3WnlU0Jzdmk00hSGHfZtiYW4WCFl4aP4ck4iRKtuFnEixYva -enWAsGL3C6xNIVkSdLRfUEply2JygAt9MKQckwG07LU9r13A4hZ2j+rsUP1M5I8m -c3RrH51waNZIIP7+p+PElpvZ3wU5/8l4HWXDhZh9dHEEGRDIz3nBbvhxdgGrGnmo -ifNxsFb3Day6ArrupkaKxiBpuwGfy2GaliN6+KLdr1IlAhYtacx52nUvshZF1UGP -YaIzcN0Fv7DPKyOBOi6wr3FaocplWgk4CRXGitT6JK4P+lPYhoKCCfbuEbMH8hc5 -hWzSSTFbBgFgJu3yIkek4Pbr/Pp4hzKPq8CO1QzBPmh0comuKQrh/98DGhreXbzS -y32vjnmwV6NZFHciO/vp202RjDjlAj9ctfmYyqliz6MKdPrdCeBTYboH81S3Qtmc -jjlCligI5WUPyEaHQE89wnVKLjZAGZ2zrANYoiAl714k2TQMs/1vJ+HwoaC9c4I7 -xFwcYWyDOCGfcpfu65jq7IMld3NomNqFBF+yigjG4ZFxShcYhUXpQ+RRHJIHpKXx -rXM31PWgwCjhZZiJ2YMZ5jgGeCQcgLyEorDph12CkV7JxnIp8NNzZLhYYCiXfVJp -wwYLFcwIghqArVWJv82G6zLLPgtttbqDKMdtLISuqUahyfHkFozRx2i20OgmCOkK -SFr+Qc/WAtUuv094yIEbxHFXj/aokFVDgA05GY6rSsFfLcSs9qlCu0mMuZ8HLC9W -OMr2KMqgA77LQFz2kD1R1VBAgspepW8hWMH276D6QJGRU2doKqmKzavNz3ffczAn -ex6zyQtJbsfpngJtwdS8r4d+pIyOpXjECVFKbsMQ2awv/Vz4j76Hio0H0+KrPk7Z -z5krPdRgdEDWy44ULOEBa7lOesOXADu6jO/8uycyLsecLNZtBHxVLbUfBb4P6irZ -7I1jtjtjL+tANN+8NpDNeDyZlSxhFH6BacbqXlWs/I+iNGLbrg51HZgG/wGEYmN9 -y5axlQpVlpGUH/i1QaaYdBMpI1gCkS0S4yluFKnt3A7F8tFs1KfnnRLnRCpC54ej -Qp+py9fFCrF+sb36+3oVjuhjlfus8DCbFjjSISSwAqBY/xowAgMj053URAeTVxh5 -Ig0kW/Xpaj19bi8GHZHy0IAuUlK+mgEUuiP6GoblLDmpuAFl6V6S8Er+C8q+TQhG -oFvKQEHRuuhOG58+6rTWqu1SIzuv8LrOp9AShxoMHzCwGf6jVtjVRK/9yK6yGfQL -c0HsJ4kkRXPOQjxdBFQOTYNumLclsyZuOckY2ykhaw05d40HCBsMcxvab6rCwURq -d5SywakPq8lqboCOUxYaJMYZatVqWknHwnNfLnqK3lQABjcKBROfiFm8CPZnnp2L -PFGUYpWlr2vv5miQdBk4opCZu4OdT6bdXxry/qUPtfgsrDsCtt6M+4Hy6pgywAKe -wjFGME8FLBllnWrSIrXzl97/4b4nhbwCqkktd7QG1gQQPR9HKzT6yfCRMpAOfDcZ -SQAAAAAAAAAAAAA= +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 +rwAAAAAAAAAAAAA= diff --git a/comm/mailnews/test/data/smime/alice.dsig.SHA512.multipart.mismatch-econtent.eml b/comm/mailnews/test/data/smime/alice.dsig.SHA512.multipart.mismatch-econtent.eml index 473a0130025c53b064bc4d19564cb3fdd294b5d2..36e95acc0642e26f231db0e93ac7156334024c27 100644 --- a/comm/mailnews/test/data/smime/alice.dsig.SHA512.multipart.mismatch-econtent.eml +++ b/comm/mailnews/test/data/smime/alice.dsig.SHA512.multipart.mismatch-econtent.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: BAD mismatch-econtent sig.SHA512 @@ -24,37 +25,38 @@ BwGggCSABEdDb250ZW50LVR5cGU6IHRleHQvcGxhaW4NCg0KVGhpcyBpcyBhIHRl c3QgbWVzc2FnZSBmcm9tIEFsaWNlIHRvIEJvYi4NCgAAAAAAAKCCA2IwggNeMIIC RqADAgECAgEeMA0GCSqGSIb3DQEBCwUAMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQI EwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlC -T0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBMB4XDTIyMTIxOTExMjU0MFoX -DTI3MTIxOTExMjU0MFowgYAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9y +T0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBMB4XDTIzMTEyMTIwNTAzNloX +DTI4MTEyMTIwNTAzNlowgYAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9y bmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1Mx IDAeBgkqhkiG9w0BCQEWEUFsaWNlQGV4YW1wbGUuY29tMQ4wDAYDVQQDEwVBbGlj -ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALuBLQJqpwbdBHIPoIIx -Q/tscjvcpOs05MvCl7oE6K5zZ0/E/5UD3+/Gf6IIZjnEzp38RNmBIb2Y6HEZg495 -rSldtbo3FTXKmcY6QoajKnilmrgmsf1MpLDxoUfk7ywXx8x4pejA0hLtVAa+35X0 -PxByr412hpvtkljv6FO9PofVN8HBUXL6FSW1R/oGpLc6nDupScdQn5mokgO7gMcY -9DPdLJxSqc4JDsUyqzujlNNwNlRdr0AWb6sa63o+yVpzRJoAv0ca/4XAEU5U8mDY -Tdad+SsgDUAvXR+JV3bys7tluuMKr6PUrv0ewSQ07XStRCn7/ehbFDlswmhYTkk0 -G8MCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAOYnWxB7l2XAl2l+06qcI8JHdBWo/ -83x6a1Nzr4ZPqsmvmnDpkG5+QUXfyobaNS19mWPVRUH9tkvINH5ecvWgJVmIMmp1 -KTX+vwKCmHQNPCE841p+L5crYl/cZpHLJrKGulzWgafggmLUe9Cwrkl4iK/ocTvg -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 +zbNgtMrWvXSl2GL0T48yDpbOYtS4dgAAAAAAAA== --------------ms030903020902020502030404-- diff --git a/comm/mailnews/test/data/smime/alice.env.dsig.SHA1.multipart.dave.sig.SHA1.opaque.eml b/comm/mailnews/test/data/smime/alice.env.dsig.SHA1.multipart.dave.sig.SHA1.opaque.eml index d74fb4ce44812594afec8425d42e57fcffa6a77f..db24e18da0e981d9c82c4d35e2837cc9f81ed154 100644 --- a/comm/mailnews/test/data/smime/alice.env.dsig.SHA1.multipart.dave.sig.SHA1.opaque.eml +++ b/comm/mailnews/test/data/smime/alice.env.dsig.SHA1.multipart.dave.sig.SHA1.opaque.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Dave@example.com To: Bob@example.com Subject: enveloped then clear-signed sig.SHA1 then opaque signed by dave @@ -9,7 +10,7 @@ Content-Disposition: attachment; filename=smime.p7m Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAaCA -JIAEgg8EQ29udGVudC1UeXBlOiBtdWx0aXBhcnQvc2lnbmVkOyBwcm90b2NvbD0i +JIAEgg8sQ29udGVudC1UeXBlOiBtdWx0aXBhcnQvc2lnbmVkOyBwcm90b2NvbD0i YXBwbGljYXRpb24vcGtjczctc2lnbmF0dXJlIjsgbWljYWxnPXNoYS0xOyBib3Vu ZGFyeT0iLS0tLS0tLS0tLS0tbXMwMzA5MDMwMjA5MDIwMjA1MDIwMzA0MDQiCgpU aGlzIGlzIGEgY3J5cHRvZ3JhcGhpY2FsbHkgc2lnbmVkIG1lc3NhZ2UgaW4gTUlN @@ -23,20 +24,20 @@ QU1JQUNBUUF4Z2dHRk1JSUJnUUlCQURCcE1HUXhDekFKQmdOVkJBWVRBbFZUCk1S TXdFUVlEVlFRSUV3cERZV3hwWm05eWJtbGhNUll3RkFZRFZRUUhFdzFOYjNWdWRH RnBiaUJXYVdWM01SSXcKRUFZRFZRUUtFd2xDVDBkVlV5Qk9VMU14RkRBU0JnTlZC QU1UQzA1VFV5QlVaWE4wSUVOQkFnRW9NQTBHQ1NxRwpTSWIzRFFFQkFRVUFCSUlC -QUVzN0loUk9odS93RlN1eXB4V3Fmc2VCTEtzMWxoSkprOWNYN283dEoybWNWU2pK -CnFpQm44RFZ5alhwMEhBUm5rV1RkWXROYVJ2ZEJObkREZExJclRsMEZ1cm13ODVq -YWFtcWhYN2RvK21JZ3ZSUHkKUHZFRmhiZWw5ek5TOW9GeGRkV1lCYk1WbDZJYjNB -RFhxalYrbTN3WjQ2M2lCNFNTeHZJbHhPTVVkcGx1RWh1VApidVpINkF5UzRUSE9F -TWZKYnVNNkhPSDkwMnRLK1Byd3VKa2sxQ1dSOWx6dDZ0bGYxclB1VW5hMEVxNm4w -K3UyCmMwUHBvdnFFTG5TVVViRjBTcFRTNHBKVTRXaElWcFpQb3V6T1NydllnVTRO -SWQ3a2ZKVy9iZFFRbHRzQnNyY04Kd1ZHZS9TUVQrYndnWmlKUWFvY3VGeWxJNGl5 -SzdETk11Y2FXbGtNd2dBWUpLb1pJaHZjTkFRY0JNQjBHQ1dDRwpTQUZsQXdRQkFn -UVFDVHRNUktjdmtQbjk3QlVYVmRmdHA2Q0FCSUdncDJGTHpNU1FGb3BhdEk2TUVZ -bTBMU2IyCmloU1R0Y2NJSDJBUk9FQkQwaStNWDhZVHlwKzNTQVpQRUFJYXdhdlZp -bXFteGZIU0htS1hSak8zWXdqcDMreU8KaFR2RjVTamFTZ3hwUGs4TDBQeWg1bjJS -SytERW9VazF2VXU1eHVmT2lnVmhJOVg2eFZoY2dwWkJQSmtDbVV5ZQpjb1diWG1B -Z3ZacnNYYmZrU0I2WlhxeGZWVmxsQUZLc1ZjcGJLS3ZRVEw5aS9pT0lBYnU3ejF0 -ZnluYkd5QVFRCjA5ZzdieTA2Y0FtN2lNZTIybGR5ZUFBQUFBQUFBQUFBQUFBPQoK +QUxBaWxIWW1RWTlTL0gyTVAwSlprSEx4cWxCc2h6bWthVmVDbTh4cmhKU2pVcUxO +ClkyZG9iODQ5QTgvc1l5c3RWR2t1cmF2dVZBdjVIUUdUbVEwbnRFN1ZsT0pwQkIr +bktzUldVQVo4a3I0SGhBSmwKRzJHaXJPd0tiUW5OckwvZmVCK0FvdFFUSnFFY0t0 +eFVzU2ZrOXRNQnAyRUloL2cwV2FWK2pPY0lqRVJaY25VOApFS3AvekJOMFBrQ3lr +V1AvM3pKS2FWY1BhSC80eWxyUlhlYmNDYmxUWk9oSzliTHVDc3llT3JGRHI3WGNX +c3pMClYxK2JTUzVWdG5wTzNNZzU4NzIwTXl6TlEvckhISFNNbDdMb0c3VjJJd2J4 +QnNNK1JwQk9YYXRlVHQrNzB0bWgKWWkrSXBUWVhrWnFXeHduZndjQ0JGVXp0NlZL +L0JGRDNRWTRTeU5Fd2dBWUpLb1pJaHZjTkFRY0JNQjBHQ1dDRwpTQUZsQXdRQkFn +UVFtSWdhUWNlcVgwcXJJSGhhWjBsRm9hQ0FCSUdnaVBaZURCdmF6aDBGWW5hTlhj +U2JQOWtWCkF3NjMybDl6aVJ5Q0Y3V2d0T0RJN2NmMlpOVVovUUJQWVJvK21yNG5z +TUhsRnFEVjdXNFo1YlppRWNTbW4wMTcKRTQ0TXZ4N3N3blp3aE83Q1dTeVBpZlpx +bkhEanpGTVBleUd2Y3NLY01sRUJCVTJUQ0Y2V3Bzem9KNmFkcktITQpibmFKL3pG +YVJlUi9tWkVJWHRQb1lrRWZHMmFxamtCY0FDYWxtRG03d3cya0hqRWI3RVhtOVZh +VjVTUGlVZ1FRCnl6SXQrSjVncWY0V2kyQ2pVTndvRlFBQUFBQUFBQUFBQUFBPQoK Ci0tLS0tLS0tLS0tLS0tbXMwMzA5MDMwMjA5MDIwMjA1MDIwMzA0MDQKQ29udGVu dC1UeXBlOiBhcHBsaWNhdGlvbi9wa2NzNy1zaWduYXR1cmU7IG5hbWU9c21pbWUu cDdzCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJhc2U2NApDb250ZW50LURp @@ -47,80 +48,81 @@ U3FHU0liM0RRRUhBUUFBCm9JSURZakNDQTE0d2dnSkdvQU1DQVFJQ0FSNHdEUVlK S29aSWh2Y05BUUVMQlFBd1pERUxNQWtHQTFVRUJoTUMKVlZNeEV6QVJCZ05WQkFn VENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVTF2ZFc1MFlXbHVJRlpwWlhj eApFakFRQmdOVkJBb1RDVUpQUjFWVElFNVRVekVVTUJJR0ExVUVBeE1MVGxOVElG -UmxjM1FnUTBFd0hoY05Nakl4Ck1qRTVNVEV5TlRRd1doY05NamN4TWpFNU1URXlO -VFF3V2pDQmdERUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlYKQkFnVENrTmhiR2xt +UmxjM1FnUTBFd0hoY05Nak14Ck1USXhNakExTURNMldoY05Namd4TVRJeE1qQTFN +RE0yV2pDQmdERUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlYKQkFnVENrTmhiR2xt YjNKdWFXRXhGakFVQmdOVkJBY1REVTF2ZFc1MFlXbHVJRlpwWlhjeEVqQVFCZ05W QkFvVApDVUpQUjFWVElFNVRVekVnTUI0R0NTcUdTSWIzRFFFSkFSWVJRV3hwWTJW QVpYaGhiWEJzWlM1amIyMHhEakFNCkJnTlZCQU1UQlVGc2FXTmxNSUlCSWpBTkJn -a3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXU0RXQKQW1xbkJ0MEVj -ZytnZ2pGRCsyeHlPOXlrNnpUa3k4S1h1Z1Rvcm5OblQ4VC9sUVBmNzhaL29naG1P -Y1RPbmZ4RQoyWUVodlpqb2NSbURqM210S1YyMXVqY1ZOY3FaeGpwQ2hxTXFlS1dh -dUNheC9VeWtzUEdoUitUdkxCZkh6SGlsCjZNRFNFdTFVQnI3ZmxmUS9FSEt2alhh -R20rMlNXTy9vVTcwK2g5VTN3Y0ZSY3ZvVkpiVkgrZ2FrdHpxY082bEoKeDFDZm1h -aVNBN3VBeHhqME05MHNuRktwemdrT3hUS3JPNk9VMDNBMlZGMnZRQlp2cXhycmVq -N0pXbk5FbWdDLwpSeHIvaGNBUlRsVHlZTmhOMXAzNUt5QU5RQzlkSDRsWGR2S3p1 -Mlc2NHdxdm85U3UvUjdCSkRUdGRLMUVLZnY5CjZGc1VPV3pDYUZoT1NUUWJ3d0lE -QVFBQk1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQTVpZGJFSHVYWmNDWGEKWDdU -cXB3andrZDBGYWovemZIcHJVM092aGsrcXlhK2FjT21RYm41QlJkL0todG8xTFgy -Wlk5VkZRZjIyUzhnMApmbDV5OWFBbFdZZ3lhblVwTmY2L0FvS1lkQTA4SVR6aldu -NHZseXRpWDl4bWtjc21zb2E2WE5hQnArQ0NZdFI3CjBMQ3VTWGlJcitoeE8rQVc0 -WEkvYjArdDZOK1Y0TGxDdWRJV1RETlFnb1NORlIyVkdSaHY5ZlR2U1phemtQVnkK -cFhuYm1yWnh5dUwzT3FocHZXVy9kb0lRYXdHMlN1b2FXQ2xDWE4yYzZobm52SS9Z -cUJzZW9sQWg5RmtrbDlhUgpMWGI4NERBTUgxVWd3SExIV0ZSem1qRk5nNFRpMk1t -ZDBITTcwTXpPRnF0SnViT1E0WHAvRUNjQ3JaeFFvWEg4CjAyUy9IRnluTVlJQ3lU -Q0NBc1VDQVFFd2FUQmtNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1Ey +a3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQW5ycGgKRXcvSUhsZU9I +bW5yRmpxWVdOZndybmFrbjlWSHZKVmlDcnlPMEdPT3BTVUZMYlNUQWwwNTZhbmg2 +OFNEdm96dQpXRitiSzJ1anN0S1ZYYnk1Ulg4U1ljdWMxdjF6MFdNR0RyMVM1ZlEv +ZFBFbXp1aUxXNlNzNENlTGZtaytGM3FhClA2WUdhRUxzWm9FczZmVWNsM0ZQTU1m +ODFLZFl5Rmx5M1ZqMnRIVkZZOFJzSldvRDlRenJXcGNXa3h5TDVSRDgKdUR0akdP +dCtqQ1ZaMUJKN08xQS9Kb3hpazdZWnRrMzV2WjFvdllvQVE3UUJ6VGg3Z3FocWlp +RDltRVlyd2tDcQo0NlNDcyt5WGVhZUYyTTZ0bERXVnJocmVNczJ6c3dtbEZMQ1pm +T3IrSUF3c1NnZXo3cjZzNTZ2TFJRZTVPd1dnClBSUnlRMzNRSWJzZDdjbUwzUUlE +QVFBQk1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQ0hSSy9TVGZmd3VxSTgKbEdJ +TTRaZFJETmFYeTVQdWttYlRmNGw4RXVhWGpLSld3eTVsYS9UZE94cHFnNXRiZjdr +MUFXeUE4OENWS2pRbgpNbnFYcWJlRC9xYVVVRFV6R0kvMkx0eE5aemNZNUJhVTVQ +YXV2SGxsRGRxNEhwanVVZklvdXB2ajcxWGRzWHZ2Cm5WYkRZZ09aWERiV1JLdWJ5 +M2J5WWVuaHVnVExzZDI3QTQvVmtlTHU5M3JscEphWFM2RWlleEVxUTlLTmZFZzkK +WmF6SzNUWWxBbFFETXAvSXliNzJXVkNKbUxKMVBTc2JES2xwaU1PekxUTDhKeHNJ +UkJJVFdMa0xFYjZaakxCYgp2Q2dhOUtnTCtXbnB6MDZrZXFVYnRPZzZCQmpCT2lY +dzJQWTVhUFZOUkNaZEx1anV4andxTU43SlpuRG1RejBECkg5MjBicDIvTVlJQzV6 +Q0NBdU1DQVFFd2FUQmtNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1Ey RnMKYVdadmNtNXBZVEVXTUJRR0ExVUVCeE1OVFc5MWJuUmhhVzRnVm1sbGR6RVNN QkFHQTFVRUNoTUpRazlIVlZNZwpUbE5UTVJRd0VnWURWUVFERXd0T1UxTWdWR1Z6 -ZENCRFFRSUJIakFKQmdVckRnTUNHZ1VBb0lJQk5UQVlCZ2txCmhraUc5dzBCQ1FN -eEN3WUpLb1pJaHZjTkFRY0JNQ01HQ1NxR1NJYjNEUUVKQkRFV0JCVGtDQkw4d1Rm -amp5S2oKL3RBVXhRVElTL0VWSVRCNEJna3JCZ0VFQVlJM0VBUXhhekJwTUdReEN6 -QUpCZ05WQkFZVEFsVlRNUk13RVFZRApWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdG -QVlEVlFRSEV3MU5iM1Z1ZEdGcGJpQldhV1YzTVJJd0VBWURWUVFLCkV3bENUMGRW -VXlCT1UxTXhGREFTQmdOVkJBTVRDMDVUVXlCVVpYTjBJRU5CQWdFZU1Ib0dDeXFH -U0liM0RRRUoKRUFJTE1XdWdhVEJrTVFzd0NRWURWUVFHRXdKVlV6RVRNQkVHQTFV -RUNCTUtRMkZzYVdadmNtNXBZVEVXTUJRRwpBMVVFQnhNTlRXOTFiblJoYVc0Z1Zt -bGxkekVTTUJBR0ExVUVDaE1KUWs5SFZWTWdUbE5UTVJRd0VnWURWUVFECkV3dE9V -MU1nVkdWemRDQkRRUUlCSGpBTkJna3Foa2lHOXcwQkFRRUZBQVNDQVFBVGIzQkFj -VXRTN2VKTDhLSHQKZUYzczZwVjZKMi9BZ2tnUEY5WmpWRDZMNjdNWVZWNmhEdDlS -aHBadlFrQjExSkxGQ2x0TEV2YzI4akJiMUV6OQpUbW9Ra0dTM2gzWTZvSTJqaDNE -d0lSb1BsaE5LcDRWc2tHb3pnK3loN3BKamNYOUw2c2FtbUhZb1ZMVDduaGFZCmg4 -SDdjRzNwcjhKU0c3SzJrSUJXOFRORjdIREFOVWNqVUF3eURwanNma20vcVMvNWI0 -TElyZCtNcmU4MkdzMjAKVGo4UmNaQ2xaTUE2T1p0dENidzhmeW5RT1FJcGVpcnpY -OEY0dnNEZGJUYllndENXQ3MvcGpwSzdkbC9NRlUrNwpkSCtGZlNaSEhHanZoQjdy -T2JaYWczemFCc3RCWThFazFkcnBKU1h3NWprdzlCRjNEc29WY2FFdkZNQmRGVWJq -CllReUpBQUFBQUFBQQotLS0tLS0tLS0tLS0tLW1zMDMwOTAzMDIwOTAyMDIwNTAy -MDMwNDA0LS0KCgAAAAAAAKCCA18wggNbMIICQ6ADAgECAgEyMA0GCSqGSIb3DQEB -CwUAMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH -Ew1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05T -UyBUZXN0IENBMB4XDTIyMTIxOTExMjU0N1oXDTI3MTIxOTExMjU0N1owfjELMAkG -A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWlu -IFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEfMB0GCSqGSIb3DQEJARYQRGF2ZUBl -eGFtcGxlLmNvbTENMAsGA1UEAxMERGF2ZTCCASIwDQYJKoZIhvcNAQEBBQADggEP -ADCCAQoCggEBAPbEv+wUfxrQE0KtjboTMKx1TjvNL558peoeADTle/Kg67/jbaDE -StNaeoouHzBiNA69nTqinZc1Ev6/envHsIxLdGhTe1ZKWGOIdA612WuEPXOAM36G -kSju3ziQxfQce8bkmur5awuC29cjlOLNW82GINgHWvEhZvMcH+LSY6xt8+se8OTQ -Zhjpcid6KNYqgp7/8lcUYIrE1kP7QQg0ERKvphbif3/Emm5o8hw2/BiLhE49m2zB -t9trDBFKRAGGNG0aqpwShqfeGy3rUECbvoPUh5y+0F3cZbc/qxQ3lLvgHjGB3Xa4 -aPPeJJmc8ng3KAGaDDy1sRCCPEr/IysXPHcCAwEAATANBgkqhkiG9w0BAQsFAAOC -AQEAcsMwkgnG5b6cXqV2JytyqpKs1hRbn7JdrNIIh25kCbZ/voVDOOgbJvBTVKOi -VvfwLB8NbWhaFA+MqyKJEXZgF+QpBTp3VodSs1NiSNNKYFvic/9PxP3/M+/6HOMo -KqzBNMIpGzxxb0U7Zeijz5xeTXSaqAfF1JjubvNotNFi02zgol7M1w3woDE84z0R -Y8ePCiNdTLVHww4N5g9SpZ8ciI2JG0lm4A2TrBKOTxkr3G0j0PGdSOTsD3yYTUOs -a2KfwFrqEvuG2o99zg26d8lgGgiDL3d1nJ+4F8+y84ozCZikWe9IeUOODvBGLrOI -8NaQvwXZpLudSOhNABuvxMgNJDGCAskwggLFAgEBMGkwZDELMAkGA1UEBhMCVVMx -EzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQ -BgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0ECATIwCQYFKw4D -AhoFAKCCATUwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAjBgkqhkiG9w0BCQQx -FgQUqkJeRoONJiga7Ehbn11wfmAxKHcweAYJKwYBBAGCNxAEMWswaTBkMQswCQYD -VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4g -VmlldzESMBAGA1UEChMJQk9HVVMgTlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIB -MjB6BgsqhkiG9w0BCRACCzFroGkwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh -bGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VT -IE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0ECATIwDQYJKoZIhvcNAQEBBQAEggEA -yU/AXKmoIoKY967FKC1UFhrwQvCcpZm2GqVjuuSBZEyrmOzS31bxnbo5QxSmzzFP -ZPP3oRkTX8dqYZeBiJRYrSvhdPKzQ8C2WdAV+TEtSEDDQv/uXJQD80hrTcNCvl1v -rUcbQqEY/2bMDG3AOkcvN9wnSYIg9ZRjLMfomiWwggPpX3S/Ub/lquF64TAXSeom -tzm8uun/QeyQqpUr/V4gWBM68/pWEEDTvsHZ/u9zUPtTrB+s2XXmt+aOXjfqloIU -s28OMCaODhijCQ0eeHP0v7tP/p4akNtWeM6vjufA9SXvq/QcqXuVD6Sae7SD45CV -j/Oaev1E/M2ITamnzwn2YQAAAAAAAA== +ZENCRFFRSUJIakFKQmdVckRnTUNHZ1VBb0lJQlV6QVlCZ2txCmhraUc5dzBCQ1FN +eEN3WUpLb1pJaHZjTkFRY0JNQndHQ1NxR1NJYjNEUUVKQlRFUEZ3MHlNekV4TWpF +eU1EVXkKTURWYU1DTUdDU3FHU0liM0RRRUpCREVXQkJTZWsxVk9GU3Bab2NRODRk +QUxxbWpuL2FMMmRqQjRCZ2tyQmdFRQpBWUkzRUFReGF6QnBNR1F4Q3pBSkJnTlZC +QVlUQWxWVE1STXdFUVlEVlFRSUV3cERZV3hwWm05eWJtbGhNUll3CkZBWURWUVFI +RXcxTmIzVnVkR0ZwYmlCV2FXVjNNUkl3RUFZRFZRUUtFd2xDVDBkVlV5Qk9VMU14 +RkRBU0JnTlYKQkFNVEMwNVRVeUJVWlhOMElFTkJBZ0VlTUhvR0N5cUdTSWIzRFFF +SkVBSUxNV3VnYVRCa01Rc3dDUVlEVlFRRwpFd0pWVXpFVE1CRUdBMVVFQ0JNS1Ey +RnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5UVzkxYm5SaGFXNGdWbWxsCmR6RVNN +QkFHQTFVRUNoTUpRazlIVlZNZ1RsTlRNUlF3RWdZRFZRUURFd3RPVTFNZ1ZHVnpk +Q0JEUVFJQkhqQU4KQmdrcWhraUc5dzBCQVFFRkFBU0NBUUF1V3JFVnhLTytkTCtv +Z1NrYlV1L3ZaYUtiR1pQbUpsNGhybHFzN3EzcAp2NUpvQm0wZkFiSTZaRjJUd2Fa +WHQzUlg3RzJkK2ppT3QzSDFlN1grWU5RWWo4WGtvR3o2TkdJck5yKzI0bllRClND +VllEY2ZVZEg0cVdSZHgzYnBSVEd3RDBsMDY3eHRsUlAwdGQySm1tTStoVUIyRzNF +Y2NURmxjenEzbHhrYjgKb3hGMWRLZUF3RUpSWmlkSnZ1V3hNMHlIZjVWdHVVSVRk +dWhVM2ViNU1GM2tiV01qVmROaEs2ZGpmbC9vWE5YMQpWSUJGWit2RmpxZGpuNEZw +WElWN3I5UlQrWlRBRlRYRWFzK0Y4eFVjdDMrRjdPcVptU1Uwdm04dXl3TFZvTldz +ClVSNmh1ZGl6V3RUQi9CTEdlNkNnL21MSDZibVlOU2ZucHRkMDJFNjQvL21NQUFB +QUFBQUEKLS0tLS0tLS0tLS0tLS1tczAzMDkwMzAyMDkwMjAyMDUwMjAzMDQwNC0t +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 diff --git a/comm/mailnews/test/data/smime/alice.env.dsig.SHA1.multipart.eml b/comm/mailnews/test/data/smime/alice.env.dsig.SHA1.multipart.eml index 9a1d4300dd5583df26a1a0862ad5d035d72c00fd..435850304566327ce5091a5ba6e0366759b71807 100644 --- a/comm/mailnews/test/data/smime/alice.env.dsig.SHA1.multipart.eml +++ b/comm/mailnews/test/data/smime/alice.env.dsig.SHA1.multipart.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: enveloped then clear-signed sig.SHA1 @@ -16,17 +17,17 @@ Content-Description: S/MIME Encrypted Message MIAGCSqGSIb3DQEHA6CAMIACAQAxggGFMIIBgQIBADBpMGQxCzAJBgNVBAYTAlVT MRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIw EAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEoMA0GCSqG -SIb3DQEBAQUABIIBAEs7IhROhu/wFSuypxWqfseBLKs1lhJJk9cX7o7tJ2mcVSjJ -qiBn8DVyjXp0HARnkWTdYtNaRvdBNnDDdLIrTl0Furmw85jaamqhX7do+mIgvRPy -PvEFhbel9zNS9oFxddWYBbMVl6Ib3ADXqjV+m3wZ463iB4SSxvIlxOMUdpluEhuT -buZH6AyS4THOEMfJbuM6HOH902tK+PrwuJkk1CWR9lzt6tlf1rPuUna0Eq6n0+u2 -c0PpovqELnSUUbF0SpTS4pJU4WhIVpZPouzOSrvYgU4NId7kfJW/bdQQltsBsrcN -wVGe/SQT+bwgZiJQaocuFylI4iyK7DNMucaWlkMwgAYJKoZIhvcNAQcBMB0GCWCG -SAFlAwQBAgQQCTtMRKcvkPn97BUXVdftp6CABIGgp2FLzMSQFopatI6MEYm0LSb2 -ihSTtccIH2AROEBD0i+MX8YTyp+3SAZPEAIawavVimqmxfHSHmKXRjO3Ywjp3+yO -hTvF5SjaSgxpPk8L0Pyh5n2RK+DEoUk1vUu5xufOigVhI9X6xVhcgpZBPJkCmUye -coWbXmAgvZrsXbfkSB6ZXqxfVVllAFKsVcpbKKvQTL9i/iOIAbu7z1tfynbGyAQQ -09g7by06cAm7iMe22ldyeAAAAAAAAAAAAAA= +SIb3DQEBAQUABIIBALAilHYmQY9S/H2MP0JZkHLxqlBshzmkaVeCm8xrhJSjUqLN +Y2dob849A8/sYystVGkuravuVAv5HQGTmQ0ntE7VlOJpBB+nKsRWUAZ8kr4HhAJl +G2GirOwKbQnNrL/feB+AotQTJqEcKtxUsSfk9tMBp2EIh/g0WaV+jOcIjERZcnU8 +EKp/zBN0PkCykWP/3zJKaVcPaH/4ylrRXebcCblTZOhK9bLuCsyeOrFDr7XcWszL +V1+bSS5VtnpO3Mg58720MyzNQ/rHHHSMl7LoG7V2IwbxBsM+RpBOXateTt+70tmh +Yi+IpTYXkZqWxwnfwcCBFUzt6VK/BFD3QY4SyNEwgAYJKoZIhvcNAQcBMB0GCWCG +SAFlAwQBAgQQmIgaQceqX0qrIHhaZ0lFoaCABIGgiPZeDBvazh0FYnaNXcSbP9kV +Aw632l9ziRyCF7WgtODI7cf2ZNUZ/QBPYRo+mr4nsMHlFqDV7W4Z5bZiEcSmn017 +E44Mvx7swnZwhO7CWSyPifZqnHDjzFMPeyGvcsKcMlEBBU2TCF6WpszoJ6adrKHM +bnaJ/zFaReR/mZEIXtPoYkEfG2aqjkBcACalmDm7ww2kHjEb7EXm9VaV5SPiUgQQ +yzIt+J5gqf4Wi2CjUNwoFQAAAAAAAAAAAAA= --------------ms030903020902020502030404 @@ -38,37 +39,37 @@ Content-Description: S/MIME Cryptographic Signature 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 -YQyJAAAAAAAA +TlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBHjAJBgUrDgMCGgUAoIIBUzAYBgkq +hkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yMzExMjEyMDUy +MDVaMCMGCSqGSIb3DQEJBDEWBBSek1VOFSpZocQ84dALqmjn/aL2djB4BgkrBgEE +AYI3EAQxazBpMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYw +FAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNV +BAMTC05TUyBUZXN0IENBAgEeMHoGCyqGSIb3DQEJEAILMWugaTBkMQswCQYDVQQG +EwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmll +dzESMBAGA1UEChMJQk9HVVMgTlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBHjAN +BgkqhkiG9w0BAQEFAASCAQAuWrEVxKO+dL+ogSkbUu/vZaKbGZPmJl4hrlqs7q3p +v5JoBm0fAbI6ZF2TwaZXt3RX7G2d+jiOt3H1e7X+YNQYj8XkoGz6NGIrNr+24nYQ +SCVYDcfUdH4qWRdx3bpRTGwD0l067xtlRP0td2JmmM+hUB2G3EccTFlczq3lxkb8 +oxF1dKeAwEJRZidJvuWxM0yHf5VtuUITduhU3eb5MF3kbWMjVdNhK6djfl/oXNX1 +VIBFZ+vFjqdjn4FpXIV7r9RT+ZTAFTXEas+F8xUct3+F7OqZmSU0vm8uywLVoNWs +UR6hudizWtTB/BLGe6Cg/mLH6bmYNSfnptd02E64//mMAAAAAAAA --------------ms030903020902020502030404-- diff --git a/comm/mailnews/test/data/smime/alice.env.dsig.SHA256.multipart.dave.sig.SHA256.opaque.eml b/comm/mailnews/test/data/smime/alice.env.dsig.SHA256.multipart.dave.sig.SHA256.opaque.eml index 55f50f8f5ab81c57fbcb6d87ab6d471261006020..980c55df08101a5e37b4c9f8e307758e6daa595d 100644 --- a/comm/mailnews/test/data/smime/alice.env.dsig.SHA256.multipart.dave.sig.SHA256.opaque.eml +++ b/comm/mailnews/test/data/smime/alice.env.dsig.SHA256.multipart.dave.sig.SHA256.opaque.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Dave@example.com To: Bob@example.com Subject: enveloped then clear-signed sig.SHA256 then opaque signed by dave @@ -9,7 +10,7 @@ Content-Disposition: attachment; filename=smime.p7m Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0B -BwGggCSABIIPIkNvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L3NpZ25lZDsgcHJvdG9j +BwGggCSABIIPS0NvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L3NpZ25lZDsgcHJvdG9j b2w9ImFwcGxpY2F0aW9uL3BrY3M3LXNpZ25hdHVyZSI7IG1pY2FsZz1zaGEtMjU2 OyBib3VuZGFyeT0iLS0tLS0tLS0tLS0tbXMwMzA5MDMwMjA5MDIwMjA1MDIwMzA0 MDQiCgpUaGlzIGlzIGEgY3J5cHRvZ3JhcGhpY2FsbHkgc2lnbmVkIG1lc3NhZ2Ug @@ -23,20 +24,20 @@ UUVIQTZDQU1JQUNBUUF4Z2dHRk1JSUJnUUlCQURCcE1HUXhDekFKQmdOVkJBWVRB bFZUCk1STXdFUVlEVlFRSUV3cERZV3hwWm05eWJtbGhNUll3RkFZRFZRUUhFdzFO YjNWdWRHRnBiaUJXYVdWM01SSXcKRUFZRFZRUUtFd2xDVDBkVlV5Qk9VMU14RkRB U0JnTlZCQU1UQzA1VFV5QlVaWE4wSUVOQkFnRW9NQTBHQ1NxRwpTSWIzRFFFQkFR -VUFCSUlCQUVzN0loUk9odS93RlN1eXB4V3Fmc2VCTEtzMWxoSkprOWNYN283dEoy -bWNWU2pKCnFpQm44RFZ5alhwMEhBUm5rV1RkWXROYVJ2ZEJObkREZExJclRsMEZ1 -cm13ODVqYWFtcWhYN2RvK21JZ3ZSUHkKUHZFRmhiZWw5ek5TOW9GeGRkV1lCYk1W -bDZJYjNBRFhxalYrbTN3WjQ2M2lCNFNTeHZJbHhPTVVkcGx1RWh1VApidVpINkF5 -UzRUSE9FTWZKYnVNNkhPSDkwMnRLK1Byd3VKa2sxQ1dSOWx6dDZ0bGYxclB1VW5h -MEVxNm4wK3UyCmMwUHBvdnFFTG5TVVViRjBTcFRTNHBKVTRXaElWcFpQb3V6T1Ny -dllnVTROSWQ3a2ZKVy9iZFFRbHRzQnNyY04Kd1ZHZS9TUVQrYndnWmlKUWFvY3VG -eWxJNGl5SzdETk11Y2FXbGtNd2dBWUpLb1pJaHZjTkFRY0JNQjBHQ1dDRwpTQUZs -QXdRQkFnUVFDVHRNUktjdmtQbjk3QlVYVmRmdHA2Q0FCSUdncDJGTHpNU1FGb3Bh -dEk2TUVZbTBMU2IyCmloU1R0Y2NJSDJBUk9FQkQwaStNWDhZVHlwKzNTQVpQRUFJ -YXdhdlZpbXFteGZIU0htS1hSak8zWXdqcDMreU8KaFR2RjVTamFTZ3hwUGs4TDBQ -eWg1bjJSSytERW9VazF2VXU1eHVmT2lnVmhJOVg2eFZoY2dwWkJQSmtDbVV5ZQpj -b1diWG1BZ3ZacnNYYmZrU0I2WlhxeGZWVmxsQUZLc1ZjcGJLS3ZRVEw5aS9pT0lB -YnU3ejF0ZnluYkd5QVFRCjA5ZzdieTA2Y0FtN2lNZTIybGR5ZUFBQUFBQUFBQUFB +VUFCSUlCQUxBaWxIWW1RWTlTL0gyTVAwSlprSEx4cWxCc2h6bWthVmVDbTh4cmhK +U2pVcUxOClkyZG9iODQ5QTgvc1l5c3RWR2t1cmF2dVZBdjVIUUdUbVEwbnRFN1Zs +T0pwQkIrbktzUldVQVo4a3I0SGhBSmwKRzJHaXJPd0tiUW5OckwvZmVCK0FvdFFU +SnFFY0t0eFVzU2ZrOXRNQnAyRUloL2cwV2FWK2pPY0lqRVJaY25VOApFS3AvekJO +MFBrQ3lrV1AvM3pKS2FWY1BhSC80eWxyUlhlYmNDYmxUWk9oSzliTHVDc3llT3JG +RHI3WGNXc3pMClYxK2JTUzVWdG5wTzNNZzU4NzIwTXl6TlEvckhISFNNbDdMb0c3 +VjJJd2J4QnNNK1JwQk9YYXRlVHQrNzB0bWgKWWkrSXBUWVhrWnFXeHduZndjQ0JG +VXp0NlZLL0JGRDNRWTRTeU5Fd2dBWUpLb1pJaHZjTkFRY0JNQjBHQ1dDRwpTQUZs +QXdRQkFnUVFtSWdhUWNlcVgwcXJJSGhhWjBsRm9hQ0FCSUdnaVBaZURCdmF6aDBG +WW5hTlhjU2JQOWtWCkF3NjMybDl6aVJ5Q0Y3V2d0T0RJN2NmMlpOVVovUUJQWVJv +K21yNG5zTUhsRnFEVjdXNFo1YlppRWNTbW4wMTcKRTQ0TXZ4N3N3blp3aE83Q1dT +eVBpZlpxbkhEanpGTVBleUd2Y3NLY01sRUJCVTJUQ0Y2V3Bzem9KNmFkcktITQpi +bmFKL3pGYVJlUi9tWkVJWHRQb1lrRWZHMmFxamtCY0FDYWxtRG03d3cya0hqRWI3 +RVhtOVZhVjVTUGlVZ1FRCnl6SXQrSjVncWY0V2kyQ2pVTndvRlFBQUFBQUFBQUFB QUFBPQoKCi0tLS0tLS0tLS0tLS0tbXMwMzA5MDMwMjA5MDIwMjA1MDIwMzA0MDQK Q29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9wa2NzNy1zaWduYXR1cmU7IG5hbWU9 c21pbWUucDdzCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJhc2U2NApDb250 @@ -47,81 +48,82 @@ RUFnRUZBRENBQmdrcWhraUc5dzBCCkJ3RUFBS0NDQTJJd2dnTmVNSUlDUnFBREFn RUNBZ0VlTUEwR0NTcUdTSWIzRFFFQkN3VUFNR1F4Q3pBSkJnTlYKQkFZVEFsVlRN Uk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxTmIzVnVk R0ZwYmlCVwphV1YzTVJJd0VBWURWUVFLRXdsQ1QwZFZVeUJPVTFNeEZEQVNCZ05W -QkFNVEMwNVRVeUJVWlhOMElFTkJNQjRYCkRUSXlNVEl4T1RFeE1qVTBNRm9YRFRJ -M01USXhPVEV4TWpVME1Gb3dnWUF4Q3pBSkJnTlZCQVlUQWxWVE1STXcKRVFZRFZR +QkFNVEMwNVRVeUJVWlhOMElFTkJNQjRYCkRUSXpNVEV5TVRJd05UQXpObG9YRFRJ +NE1URXlNVEl3TlRBek5sb3dnWUF4Q3pBSkJnTlZCQVlUQWxWVE1STXcKRVFZRFZR UUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxTmIzVnVkR0ZwYmlCV2FX VjNNUkl3RUFZRApWUVFLRXdsQ1QwZFZVeUJPVTFNeElEQWVCZ2txaGtpRzl3MEJD UUVXRVVGc2FXTmxRR1Y0WVcxd2JHVXVZMjl0Ck1RNHdEQVlEVlFRREV3VkJiR2xq -WlRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUIKQUx1 -QkxRSnFwd2JkQkhJUG9JSXhRL3RzY2p2Y3BPczA1TXZDbDdvRTZLNXpaMC9FLzVV -RDMrL0dmNklJWmpuRQp6cDM4Uk5tQkliMlk2SEVaZzQ5NXJTbGR0Ym8zRlRYS21j -WTZRb2FqS25pbG1yZ21zZjFNcExEeG9VZms3eXdYCng4eDRwZWpBMGhMdFZBYSsz -NVgwUHhCeXI0MTJocHZ0a2xqdjZGTzlQb2ZWTjhIQlVYTDZGU1cxUi9vR3BMYzYK -bkR1cFNjZFFuNW1va2dPN2dNY1k5RFBkTEp4U3FjNEpEc1V5cXp1amxOTndObFJk -cjBBV2I2c2E2M28reVZwegpSSm9BdjBjYS80WEFFVTVVOG1EWVRkYWQrU3NnRFVB -dlhSK0pWM2J5czd0bHV1TUtyNlBVcnYwZXdTUTA3WFN0ClJDbjcvZWhiRkRsc3dt -aFlUa2swRzhNQ0F3RUFBVEFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBT1luV3hC -N2wKMlhBbDJsKzA2cWNJOEpIZEJXby84M3g2YTFOenI0WlBxc212bW5EcGtHNStR -VVhmeW9iYU5TMTltV1BWUlVIOQp0a3ZJTkg1ZWN2V2dKVm1JTW1wMUtUWCt2d0tD -bUhRTlBDRTg0MXArTDVjcllsL2NacEhMSnJLR3VseldnYWZnCmdtTFVlOUN3cmts -NGlLL29jVHZnRnVGeVAyOVByZWpmbGVDNVFyblNGa3d6VUlLRWpSVWRsUmtZYi9Y -MDcwbVcKczVEMWNxVjUyNXEyY2NyaTl6cW9hYjFsdjNhQ0VHc0J0a3JxR2xncFFs -emRuT29aNTd5UDJLZ2JIcUpRSWZSWgpKSmZXa1MxMi9PQXdEQjlWSU1CeXgxaFVj -NW94VFlPRTR0akpuZEJ6TzlETXpoYXJTYm16a09GNmZ4QW5BcTJjClVLRngvTk5r -dnh4Y3B6R0NBdGt3Z2dMVkFnRUJNR2t3WkRFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFS +WlRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUIKQUo2 +NllSTVB5QjVYamg1cDZ4WTZtRmpYOEs1MnBKL1ZSN3lWWWdxOGp0QmpqcVVsQlMy +MGt3SmRPZW1wNGV2RQpnNzZNN2xoZm15dHJvN0xTbFYyOHVVVi9FbUhMbk5iOWM5 +RmpCZzY5VXVYMFAzVHhKczdvaTF1a3JPQW5pMzVwClBoZDZtaittQm1oQzdHYUJM +T24xSEpkeFR6REgvTlNuV01oWmN0MVk5clIxUldQRWJDVnFBL1VNNjFxWEZwTWMK +aStVUS9MZzdZeGpyZm93bFdkUVNlenRRUHlhTVlwTzJHYlpOK2IyZGFMMktBRU8w +QWMwNGU0S29hb29nL1poRwpLOEpBcXVPa2dyUHNsM21uaGRqT3JaUTFsYTRhM2pM +TnM3TUpwUlN3bVh6cS9pQU1MRW9Icys2K3JPZXJ5MFVICnVUc0ZvRDBVY2tOOTBD +RzdIZTNKaTkwQ0F3RUFBVEFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBaDBTdjBr +MzMKOExxaVBKUmlET0dYVVF6V2w4dVQ3cEptMDMrSmZCTG1sNHlpVnNNdVpXdjAz +VHNhYW9PYlczKzVOUUZzZ1BQQQpsU28wSnpKNmw2bTNnLzZtbEZBMU14aVA5aTdj +VFdjM0dPUVdsT1QycnJ4NVpRM2F1QjZZN2xIeUtMcWI0KzlWCjNiRjc3NTFXdzJJ +RG1WdzIxa1NybTh0MjhtSHA0Ym9FeTdIZHV3T1AxWkhpN3ZkNjVhU1dsMHVoSW5z +UktrUFMKalh4SVBXV3N5dDAySlFKVUF6S2Z5TW0rOWxsUWlaaXlkVDByR3d5cGFZ +akRzeTB5L0NjYkNFUVNFMWk1Q3hHKwptWXl3Vzd3b0d2U29DL2xwNmM5T3BIcWxH +N1RvT2dRWXdUb2w4TmoyT1dqMVRVUW1YUzdvN3NZOEtqRGV5V1p3CjVrTTlBeC9k +dEc2ZHZ6R0NBdmN3Z2dMekFnRUJNR2t3WkRFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFS QmdOVkJBZ1QKQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05WQkFjVERVMXZkVzUwWVds dUlGWnBaWGN4RWpBUUJnTlZCQW9UQ1VKUApSMVZUSUU1VFV6RVVNQklHQTFVRUF4 -TUxUbE5USUZSbGMzUWdRMEVDQVI0d0RRWUpZSVpJQVdVREJBSUJCUUNnCmdnRkJN -QmdHQ1NxR1NJYjNEUUVKQXpFTEJna3Foa2lHOXcwQkJ3RXdMd1lKS29aSWh2Y05B -UWtFTVNJRUlIbUsKNU9pUGM0bzFoRjVsT3JXdDYrVERiUkxPbkZkd3dGTFZsRG5Q -b1d3ek1IZ0dDU3NHQVFRQmdqY1FCREZyTUdrdwpaREVMTUFrR0ExVUVCaE1DVlZN -eEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVTF2CmRX -NTBZV2x1SUZacFpYY3hFakFRQmdOVkJBb1RDVUpQUjFWVElFNVRVekVVTUJJR0Ex -VUVBeE1MVGxOVElGUmwKYzNRZ1EwRUNBUjR3ZWdZTEtvWklodmNOQVFrUUFnc3hh -NkJwTUdReEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRApWUVFJRXdwRFlXeHBabTl5 -Ym1saE1SWXdGQVlEVlFRSEV3MU5iM1Z1ZEdGcGJpQldhV1YzTVJJd0VBWURWUVFL -CkV3bENUMGRWVXlCT1UxTXhGREFTQmdOVkJBTVRDMDVUVXlCVVpYTjBJRU5CQWdF -ZU1BMEdDU3FHU0liM0RRRUIKQVFVQUJJSUJBS1c4TWtaOEFPcEdCWFIxakVIZEkr -QzBBZmpqaUdZOUdUSDZSZFlKejkxYXhnTmpoSjBhWE5zcApvVENIN25nK3lIK0dr -Mkg4VlZKVEd2em93VWZ1aU1STGhISWt3M0VzUEZRRjVOQU9ZOWlKNUtReUtVSlNi -WkxjCk1jZk9GdFR3TXgxSTJSQ0dtK3RUZWtLZFp6NS9EU1NYdEZYenRXZVA0UklW -RUhGV3VnNCt3MjAxMWxxak9QaXgKQy9nbGNXZ2RxNGFkL05sOXpMTk1yRkFQV0Jo -OUZVTktQS2JsZ1NmRWpkMVhkb3Q5a3NXY2IyT25ybkp2ZUc2bwpzR3Bpc1NBVFBD -ZklHby84NEZWUnQyeEpaL3V0eWFkVDhZUEpiNGV1YWZEWlZIQWZ3WW1tVTRKK3NK -cFVsdjlvCitISVNaVCtSVldPWUJITlNDcy9FTFdPQ1d5U1NNUFlBQUFBQUFBQT0K -LS0tLS0tLS0tLS0tLS1tczAzMDkwMzAyMDkwMjAyMDUwMjAzMDQwNC0tCgoAAAAA -AACgggNfMIIDWzCCAkOgAwIBAgIBMjANBgkqhkiG9w0BAQsFADBkMQswCQYDVQQG -EwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmll -dzESMBAGA1UEChMJQk9HVVMgTlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQTAeFw0y -MjEyMTkxMTI1NDdaFw0yNzEyMTkxMTI1NDdaMH4xCzAJBgNVBAYTAlVTMRMwEQYD -VQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQK -EwlCT0dVUyBOU1MxHzAdBgkqhkiG9w0BCQEWEERhdmVAZXhhbXBsZS5jb20xDTAL -BgNVBAMTBERhdmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD2xL/s -FH8a0BNCrY26EzCsdU47zS+efKXqHgA05XvyoOu/422gxErTWnqKLh8wYjQOvZ06 -op2XNRL+v3p7x7CMS3RoU3tWSlhjiHQOtdlrhD1zgDN+hpEo7t84kMX0HHvG5Jrq -+WsLgtvXI5TizVvNhiDYB1rxIWbzHB/i0mOsbfPrHvDk0GYY6XIneijWKoKe//JX -FGCKxNZD+0EINBESr6YW4n9/xJpuaPIcNvwYi4ROPZtswbfbawwRSkQBhjRtGqqc -Eoan3hst61BAm76D1IecvtBd3GW3P6sUN5S74B4xgd12uGjz3iSZnPJ4NygBmgw8 -tbEQgjxK/yMrFzx3AgMBAAEwDQYJKoZIhvcNAQELBQADggEBAHLDMJIJxuW+nF6l -dicrcqqSrNYUW5+yXazSCIduZAm2f76FQzjoGybwU1Sjolb38CwfDW1oWhQPjKsi -iRF2YBfkKQU6d1aHUrNTYkjTSmBb4nP/T8T9/zPv+hzjKCqswTTCKRs8cW9FO2Xo -o8+cXk10mqgHxdSY7m7zaLTRYtNs4KJezNcN8KAxPOM9EWPHjwojXUy1R8MODeYP -UqWfHIiNiRtJZuANk6wSjk8ZK9xtI9DxnUjk7A98mE1DrGtin8Ba6hL7htqPfc4N -unfJYBoIgy93dZyfuBfPsvOKMwmYpFnvSHlDjg7wRi6ziPDWkL8F2aS7nUjoTQAb -r8TIDSQxggLZMIIC1QIBATBpMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxp -Zm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBO -U1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEyMA0GCWCGSAFlAwQCAQUAoIIBQTAY -BgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMC8GCSqGSIb3DQEJBDEiBCBMkpDeg508 -9CSpxob0tr+9Te5k+Dx7Q91OMN+7yvrBjzB4BgkrBgEEAYI3EAQxazBpMGQxCzAJ -BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFp -biBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENB -AgEyMHoGCyqGSIb3DQEJEAILMWugaTBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMK -Q2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9H -VVMgTlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBMjANBgkqhkiG9w0BAQEFAASC -AQDwTeYBPiAvfrxLeOjfi7hIWtitnn4IZ2/Jz7ReDOaQ86x5VNMH6T4sPJ7FIGlE -XJMN4SjQotP8RnNhhOFAloNglZB+CL6+JJ4yCM3EB12s1prNBVMzNu0hIf6WT4MK -Ba7KTfUdfIYdG5wElwpL+3TocbzCcnyJqWU+Wy5lVAzWCJEbPHc6KJDItKT63tCi -M+FUiTQZEhWd+Q9UBibIvXNESa7TsYixhS1CrFuiOdUSUWlAzUVzXUd5KHmaIUGe -ZQJ9x2GfPElI6Wg8ocSzWNdZrqS364bSiSvEBCZz8IykLaG8oNOdS6/xam6vgtyP -iSxXV6xPnTX4FWwic1oLVrVmAAAAAAAA +TUxUbE5USUZSbGMzUWdRMEVDQVI0d0RRWUpZSVpJQVdVREJBSUJCUUNnCmdnRmZN +QmdHQ1NxR1NJYjNEUUVKQXpFTEJna3Foa2lHOXcwQkJ3RXdIQVlKS29aSWh2Y05B +UWtGTVE4WERUSXoKTVRFeU1USXdOVEl3TjFvd0x3WUpLb1pJaHZjTkFRa0VNU0lF +SUVYdEhLaGVVbDA4OXVOUDRrMDlCb2FMSzgrbApueG1xYXYxRGl0RzVGTkxMTUhn +R0NTc0dBUVFCZ2pjUUJERnJNR2t3WkRFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSCkJn +TlZCQWdUQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05WQkFjVERVMXZkVzUwWVdsdUlG +WnBaWGN4RWpBUUJnTlYKQkFvVENVSlBSMVZUSUU1VFV6RVVNQklHQTFVRUF4TUxU +bE5USUZSbGMzUWdRMEVDQVI0d2VnWUxLb1pJaHZjTgpBUWtRQWdzeGE2QnBNR1F4 +Q3pBSkJnTlZCQVlUQWxWVE1STXdFUVlEVlFRSUV3cERZV3hwWm05eWJtbGhNUll3 +CkZBWURWUVFIRXcxTmIzVnVkR0ZwYmlCV2FXVjNNUkl3RUFZRFZRUUtFd2xDVDBk +VlV5Qk9VMU14RkRBU0JnTlYKQkFNVEMwNVRVeUJVWlhOMElFTkJBZ0VlTUEwR0NT +cUdTSWIzRFFFQkFRVUFCSUlCQURhUWVnNWRKbkZFUUxrVAo3UmxDNVEycmZrYjJE +cVVvRkthS2s2N0RQQ3ljSFkrK1FRRXpYUTRsMDYwVUd1SlBsUFhRd2svWkxZSGkx +K3NKCnNHd2J1TmhEa2t6dXNUd3dVa2UxMUJHRnJHbGZ4K3dhTDdTdjlTV1RMR1JG +aFd2QXhibFUyc29LcFRGa29mUHUKM0lGU1ltQkQxK1ZrbTlmd1p4NEQvQ2F5aVVt +Z1I4UFVZR2IwWE9IS0hOY3A0QWVLQlp3eEx3MFBPZmZwc3ZQQQpNandMMktHYXVD +L1RFM09WMWErRERxeHl6SHZ0dEN6TVVNM1VEcjR2OG1NOXNCQ3M2TkhPa3M5VmFi +VkthUFJNCmhKck8wSTR1bWw4NnZDcWI0dEFRVzNCOUdHUkRSWm0zTHRnNDQwS0ZN +SHJhM0ZhQnBuNUo5YWlIbC9rdUFMS3IKUkFjSWpOVUFBQUFBQUFBPQotLS0tLS0t +LS0tLS0tLW1zMDMwOTAzMDIwOTAyMDIwNTAyMDMwNDA0LS0KCgAAAAAAAKCCA18w +ggNbMIICQ6ADAgECAgEyMA0GCSqGSIb3DQEBCwUAMGQxCzAJBgNVBAYTAlVTMRMw +EQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYD +VQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBMB4XDTIzMTEyMTIw +NTA0M1oXDTI4MTEyMTIwNTA0M1owfjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh +bGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VT +IE5TUzEfMB0GCSqGSIb3DQEJARYQRGF2ZUBleGFtcGxlLmNvbTENMAsGA1UEAxME +RGF2ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMhLojKrDSF7Ajwu +SP6dASGcFB9+WAMqtbicVw1nm/NT3Y2/nndkgUOA0w3IyjO2DiKteTOXZn1VfXF5 +rTWID46dYKj3DmxNiqo9gomS1duK3kOvoDllvv/+TEgHkNeKtWVgrdygpLvTzi9r +fVJ1JiR79GASew1ajGfjxZB1110CExDwFRAnNpCanHqLQqCezk2UDg2qxoWXX5/f +a7M5I87LvRvH1QWmu9XHb/Tgtc01AGDQMOWtsc1FiHdIlmysVtK9VNrMhjO86JYm +j9BBw5U10fCoVMbLxkK1SfxLCsi668BGk5icu6YUWyTV8/0cwdxOpJaSX7V/h0Lk +gFBbsg0CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAY03ZxtBzVWOUd5OSWix5b3cx +OHaUSL/MqVLRvIooQUF9KU+CnSO1Bmtq9TGq+3xwI2mfooKgkgmIEejOLi+m1x++ +81dAm/shzy/xC0bdOqr0DZ/48C3Aiee5wY7YlJh+4hzrJ93z7TfjsfwI8N6QByPm +4EdJGKrXWvRS/dSSW2W5Jr9eBUjS80U84xGBfJFHW1YC/jAvhgiBBHrA9Un0t0Hr +vwCGcSWrWo5j1CUrjZbTWlWKe+TljYBZoD8TfIChu0TXei2XgZmeOo0tk2+dnQKq +YK4XzlxpPh881k18Dk2GcUUAZh0ySTYU+Bm0e3xgVoHJKjvdU0USwO+FrvmtyTGC +AvcwggLzAgEBMGkwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWEx +FjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIG +A1UEAxMLTlNTIFRlc3QgQ0ECATIwDQYJYIZIAWUDBAIBBQCgggFfMBgGCSqGSIb3 +DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIzMTEyMTIwNTIwOFow +LwYJKoZIhvcNAQkEMSIEILvHCcJ1Dy4qQ58snaPXylskaZ4duo6RSfw0ipdvOr/p +MHgGCSsGAQQBgjcQBDFrMGkwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm +b3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5T +UzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0ECATIwegYLKoZIhvcNAQkQAgsxa6BpMGQx +CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3Vu +dGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0 +IENBAgEyMA0GCSqGSIb3DQEBAQUABIIBAEZ74HFW+r0S42oHw32z4V3TERM1PyrE +X84SW7sbTIjodeD53SnNdBaduBcu2JfHxDu9MbrNRkk5Y1UZoIeSlZ4K1aJ9Geou +ERGSKyqOVpn4SrAitW+S8un6wwqZ7NiMug+cMFxe3QxBOFrRzwb6n3ABqvLaWeKF +MGXLIdC6OHFgUJsAwwGNE2PzrilHkF25kdAYWc0JYL24JHSDWADizZOuZddSF2xy +185JIZEuLvDD60gpnhPY5M3GQry+xOQcQQR/CDkARDoVw4VRKrGDVFY9bQGUdqnb +Mu9t+7pn/qRaINCWIFQWfuUV5RmaWyEXpJDSaLWkgnJ8iQhUrLKJkkcAAAAAAAA= diff --git a/comm/mailnews/test/data/smime/alice.env.dsig.SHA256.multipart.eml b/comm/mailnews/test/data/smime/alice.env.dsig.SHA256.multipart.eml index 9258c745fa6dc663f9c85d11818a79845c822da3..58af108c004631972526002556dbbc94430aa90c 100644 --- a/comm/mailnews/test/data/smime/alice.env.dsig.SHA256.multipart.eml +++ b/comm/mailnews/test/data/smime/alice.env.dsig.SHA256.multipart.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: enveloped then clear-signed sig.SHA256 @@ -16,17 +17,17 @@ Content-Description: S/MIME Encrypted Message MIAGCSqGSIb3DQEHA6CAMIACAQAxggGFMIIBgQIBADBpMGQxCzAJBgNVBAYTAlVT MRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIw EAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEoMA0GCSqG -SIb3DQEBAQUABIIBAEs7IhROhu/wFSuypxWqfseBLKs1lhJJk9cX7o7tJ2mcVSjJ -qiBn8DVyjXp0HARnkWTdYtNaRvdBNnDDdLIrTl0Furmw85jaamqhX7do+mIgvRPy -PvEFhbel9zNS9oFxddWYBbMVl6Ib3ADXqjV+m3wZ463iB4SSxvIlxOMUdpluEhuT -buZH6AyS4THOEMfJbuM6HOH902tK+PrwuJkk1CWR9lzt6tlf1rPuUna0Eq6n0+u2 -c0PpovqELnSUUbF0SpTS4pJU4WhIVpZPouzOSrvYgU4NId7kfJW/bdQQltsBsrcN -wVGe/SQT+bwgZiJQaocuFylI4iyK7DNMucaWlkMwgAYJKoZIhvcNAQcBMB0GCWCG -SAFlAwQBAgQQCTtMRKcvkPn97BUXVdftp6CABIGgp2FLzMSQFopatI6MEYm0LSb2 -ihSTtccIH2AROEBD0i+MX8YTyp+3SAZPEAIawavVimqmxfHSHmKXRjO3Ywjp3+yO -hTvF5SjaSgxpPk8L0Pyh5n2RK+DEoUk1vUu5xufOigVhI9X6xVhcgpZBPJkCmUye -coWbXmAgvZrsXbfkSB6ZXqxfVVllAFKsVcpbKKvQTL9i/iOIAbu7z1tfynbGyAQQ -09g7by06cAm7iMe22ldyeAAAAAAAAAAAAAA= +SIb3DQEBAQUABIIBALAilHYmQY9S/H2MP0JZkHLxqlBshzmkaVeCm8xrhJSjUqLN +Y2dob849A8/sYystVGkuravuVAv5HQGTmQ0ntE7VlOJpBB+nKsRWUAZ8kr4HhAJl +G2GirOwKbQnNrL/feB+AotQTJqEcKtxUsSfk9tMBp2EIh/g0WaV+jOcIjERZcnU8 +EKp/zBN0PkCykWP/3zJKaVcPaH/4ylrRXebcCblTZOhK9bLuCsyeOrFDr7XcWszL +V1+bSS5VtnpO3Mg58720MyzNQ/rHHHSMl7LoG7V2IwbxBsM+RpBOXateTt+70tmh +Yi+IpTYXkZqWxwnfwcCBFUzt6VK/BFD3QY4SyNEwgAYJKoZIhvcNAQcBMB0GCWCG +SAFlAwQBAgQQmIgaQceqX0qrIHhaZ0lFoaCABIGgiPZeDBvazh0FYnaNXcSbP9kV +Aw632l9ziRyCF7WgtODI7cf2ZNUZ/QBPYRo+mr4nsMHlFqDV7W4Z5bZiEcSmn017 +E44Mvx7swnZwhO7CWSyPifZqnHDjzFMPeyGvcsKcMlEBBU2TCF6WpszoJ6adrKHM +bnaJ/zFaReR/mZEIXtPoYkEfG2aqjkBcACalmDm7ww2kHjEb7EXm9VaV5SPiUgQQ +yzIt+J5gqf4Wi2CjUNwoFQAAAAAAAAAAAAA= --------------ms030903020902020502030404 @@ -39,36 +40,37 @@ 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 -+HISZT+RVWOYBHNSCs/ELWOCWySSMPYAAAAAAAA= +ggFfMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIz +MTEyMTIwNTIwN1owLwYJKoZIhvcNAQkEMSIEIEXtHKheUl089uNP4k09BoaLK8+l +nxmqav1DitG5FNLLMHgGCSsGAQQBgjcQBDFrMGkwZDELMAkGA1UEBhMCVVMxEzAR +BgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNV +BAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0ECAR4wegYLKoZIhvcN +AQkQAgsxa6BpMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYw +FAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNV +BAMTC05TUyBUZXN0IENBAgEeMA0GCSqGSIb3DQEBAQUABIIBADaQeg5dJnFEQLkT +7RlC5Q2rfkb2DqUoFKaKk67DPCycHY++QQEzXQ4l060UGuJPlPXQwk/ZLYHi1+sJ +sGwbuNhDkkzusTwwUke11BGFrGlfx+waL7Sv9SWTLGRFhWvAxblU2soKpTFkofPu +3IFSYmBD1+Vkm9fwZx4D/CayiUmgR8PUYGb0XOHKHNcp4AeKBZwxLw0POffpsvPA +MjwL2KGauC/TE3OV1a+DDqxyzHvttCzMUM3UDr4v8mM9sBCs6NHOks9VabVKaPRM +hJrO0I4uml86vCqb4tAQW3B9GGRDRZm3Ltg440KFMHra3FaBpn5J9aiHl/kuALKr +RAcIjNUAAAAAAAA= --------------ms030903020902020502030404-- diff --git a/comm/mailnews/test/data/smime/alice.env.dsig.SHA384.multipart.dave.sig.SHA384.opaque.eml b/comm/mailnews/test/data/smime/alice.env.dsig.SHA384.multipart.dave.sig.SHA384.opaque.eml index 2823e124b8e1dfeaec553a80e2b71ad3ea5459a9..90705d69e812dc8b166358c70f24ccdf213309fa 100644 --- a/comm/mailnews/test/data/smime/alice.env.dsig.SHA384.multipart.dave.sig.SHA384.opaque.eml +++ b/comm/mailnews/test/data/smime/alice.env.dsig.SHA384.multipart.dave.sig.SHA384.opaque.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Dave@example.com To: Bob@example.com Subject: enveloped then clear-signed sig.SHA384 then opaque signed by dave @@ -9,7 +10,7 @@ Content-Disposition: attachment; filename=smime.p7m Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgIFADCABgkqhkiG9w0B -BwGggCSABIIPNkNvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L3NpZ25lZDsgcHJvdG9j +BwGggCSABIIPX0NvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L3NpZ25lZDsgcHJvdG9j b2w9ImFwcGxpY2F0aW9uL3BrY3M3LXNpZ25hdHVyZSI7IG1pY2FsZz1zaGEtMzg0 OyBib3VuZGFyeT0iLS0tLS0tLS0tLS0tbXMwMzA5MDMwMjA5MDIwMjA1MDIwMzA0 MDQiCgpUaGlzIGlzIGEgY3J5cHRvZ3JhcGhpY2FsbHkgc2lnbmVkIG1lc3NhZ2Ug @@ -23,20 +24,20 @@ UUVIQTZDQU1JQUNBUUF4Z2dHRk1JSUJnUUlCQURCcE1HUXhDekFKQmdOVkJBWVRB bFZUCk1STXdFUVlEVlFRSUV3cERZV3hwWm05eWJtbGhNUll3RkFZRFZRUUhFdzFO YjNWdWRHRnBiaUJXYVdWM01SSXcKRUFZRFZRUUtFd2xDVDBkVlV5Qk9VMU14RkRB U0JnTlZCQU1UQzA1VFV5QlVaWE4wSUVOQkFnRW9NQTBHQ1NxRwpTSWIzRFFFQkFR -VUFCSUlCQUVzN0loUk9odS93RlN1eXB4V3Fmc2VCTEtzMWxoSkprOWNYN283dEoy -bWNWU2pKCnFpQm44RFZ5alhwMEhBUm5rV1RkWXROYVJ2ZEJObkREZExJclRsMEZ1 -cm13ODVqYWFtcWhYN2RvK21JZ3ZSUHkKUHZFRmhiZWw5ek5TOW9GeGRkV1lCYk1W -bDZJYjNBRFhxalYrbTN3WjQ2M2lCNFNTeHZJbHhPTVVkcGx1RWh1VApidVpINkF5 -UzRUSE9FTWZKYnVNNkhPSDkwMnRLK1Byd3VKa2sxQ1dSOWx6dDZ0bGYxclB1VW5h -MEVxNm4wK3UyCmMwUHBvdnFFTG5TVVViRjBTcFRTNHBKVTRXaElWcFpQb3V6T1Ny -dllnVTROSWQ3a2ZKVy9iZFFRbHRzQnNyY04Kd1ZHZS9TUVQrYndnWmlKUWFvY3VG -eWxJNGl5SzdETk11Y2FXbGtNd2dBWUpLb1pJaHZjTkFRY0JNQjBHQ1dDRwpTQUZs -QXdRQkFnUVFDVHRNUktjdmtQbjk3QlVYVmRmdHA2Q0FCSUdncDJGTHpNU1FGb3Bh -dEk2TUVZbTBMU2IyCmloU1R0Y2NJSDJBUk9FQkQwaStNWDhZVHlwKzNTQVpQRUFJ -YXdhdlZpbXFteGZIU0htS1hSak8zWXdqcDMreU8KaFR2RjVTamFTZ3hwUGs4TDBQ -eWg1bjJSSytERW9VazF2VXU1eHVmT2lnVmhJOVg2eFZoY2dwWkJQSmtDbVV5ZQpj -b1diWG1BZ3ZacnNYYmZrU0I2WlhxeGZWVmxsQUZLc1ZjcGJLS3ZRVEw5aS9pT0lB -YnU3ejF0ZnluYkd5QVFRCjA5ZzdieTA2Y0FtN2lNZTIybGR5ZUFBQUFBQUFBQUFB +VUFCSUlCQUxBaWxIWW1RWTlTL0gyTVAwSlprSEx4cWxCc2h6bWthVmVDbTh4cmhK +U2pVcUxOClkyZG9iODQ5QTgvc1l5c3RWR2t1cmF2dVZBdjVIUUdUbVEwbnRFN1Zs +T0pwQkIrbktzUldVQVo4a3I0SGhBSmwKRzJHaXJPd0tiUW5OckwvZmVCK0FvdFFU +SnFFY0t0eFVzU2ZrOXRNQnAyRUloL2cwV2FWK2pPY0lqRVJaY25VOApFS3AvekJO +MFBrQ3lrV1AvM3pKS2FWY1BhSC80eWxyUlhlYmNDYmxUWk9oSzliTHVDc3llT3JG +RHI3WGNXc3pMClYxK2JTUzVWdG5wTzNNZzU4NzIwTXl6TlEvckhISFNNbDdMb0c3 +VjJJd2J4QnNNK1JwQk9YYXRlVHQrNzB0bWgKWWkrSXBUWVhrWnFXeHduZndjQ0JG +VXp0NlZLL0JGRDNRWTRTeU5Fd2dBWUpLb1pJaHZjTkFRY0JNQjBHQ1dDRwpTQUZs +QXdRQkFnUVFtSWdhUWNlcVgwcXJJSGhhWjBsRm9hQ0FCSUdnaVBaZURCdmF6aDBG +WW5hTlhjU2JQOWtWCkF3NjMybDl6aVJ5Q0Y3V2d0T0RJN2NmMlpOVVovUUJQWVJv +K21yNG5zTUhsRnFEVjdXNFo1YlppRWNTbW4wMTcKRTQ0TXZ4N3N3blp3aE83Q1dT +eVBpZlpxbkhEanpGTVBleUd2Y3NLY01sRUJCVTJUQ0Y2V3Bzem9KNmFkcktITQpi +bmFKL3pGYVJlUi9tWkVJWHRQb1lrRWZHMmFxamtCY0FDYWxtRG03d3cya0hqRWI3 +RVhtOVZhVjVTUGlVZ1FRCnl6SXQrSjVncWY0V2kyQ2pVTndvRlFBQUFBQUFBQUFB QUFBPQoKCi0tLS0tLS0tLS0tLS0tbXMwMzA5MDMwMjA5MDIwMjA1MDIwMzA0MDQK Q29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9wa2NzNy1zaWduYXR1cmU7IG5hbWU9 c21pbWUucDdzCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJhc2U2NApDb250 @@ -47,82 +48,83 @@ RUFnSUZBRENBQmdrcWhraUc5dzBCCkJ3RUFBS0NDQTJJd2dnTmVNSUlDUnFBREFn RUNBZ0VlTUEwR0NTcUdTSWIzRFFFQkN3VUFNR1F4Q3pBSkJnTlYKQkFZVEFsVlRN Uk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxTmIzVnVk R0ZwYmlCVwphV1YzTVJJd0VBWURWUVFLRXdsQ1QwZFZVeUJPVTFNeEZEQVNCZ05W -QkFNVEMwNVRVeUJVWlhOMElFTkJNQjRYCkRUSXlNVEl4T1RFeE1qVTBNRm9YRFRJ -M01USXhPVEV4TWpVME1Gb3dnWUF4Q3pBSkJnTlZCQVlUQWxWVE1STXcKRVFZRFZR +QkFNVEMwNVRVeUJVWlhOMElFTkJNQjRYCkRUSXpNVEV5TVRJd05UQXpObG9YRFRJ +NE1URXlNVEl3TlRBek5sb3dnWUF4Q3pBSkJnTlZCQVlUQWxWVE1STXcKRVFZRFZR UUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxTmIzVnVkR0ZwYmlCV2FX VjNNUkl3RUFZRApWUVFLRXdsQ1QwZFZVeUJPVTFNeElEQWVCZ2txaGtpRzl3MEJD UUVXRVVGc2FXTmxRR1Y0WVcxd2JHVXVZMjl0Ck1RNHdEQVlEVlFRREV3VkJiR2xq -WlRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUIKQUx1 -QkxRSnFwd2JkQkhJUG9JSXhRL3RzY2p2Y3BPczA1TXZDbDdvRTZLNXpaMC9FLzVV -RDMrL0dmNklJWmpuRQp6cDM4Uk5tQkliMlk2SEVaZzQ5NXJTbGR0Ym8zRlRYS21j -WTZRb2FqS25pbG1yZ21zZjFNcExEeG9VZms3eXdYCng4eDRwZWpBMGhMdFZBYSsz -NVgwUHhCeXI0MTJocHZ0a2xqdjZGTzlQb2ZWTjhIQlVYTDZGU1cxUi9vR3BMYzYK -bkR1cFNjZFFuNW1va2dPN2dNY1k5RFBkTEp4U3FjNEpEc1V5cXp1amxOTndObFJk -cjBBV2I2c2E2M28reVZwegpSSm9BdjBjYS80WEFFVTVVOG1EWVRkYWQrU3NnRFVB -dlhSK0pWM2J5czd0bHV1TUtyNlBVcnYwZXdTUTA3WFN0ClJDbjcvZWhiRkRsc3dt -aFlUa2swRzhNQ0F3RUFBVEFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBT1luV3hC -N2wKMlhBbDJsKzA2cWNJOEpIZEJXby84M3g2YTFOenI0WlBxc212bW5EcGtHNStR -VVhmeW9iYU5TMTltV1BWUlVIOQp0a3ZJTkg1ZWN2V2dKVm1JTW1wMUtUWCt2d0tD -bUhRTlBDRTg0MXArTDVjcllsL2NacEhMSnJLR3VseldnYWZnCmdtTFVlOUN3cmts -NGlLL29jVHZnRnVGeVAyOVByZWpmbGVDNVFyblNGa3d6VUlLRWpSVWRsUmtZYi9Y -MDcwbVcKczVEMWNxVjUyNXEyY2NyaTl6cW9hYjFsdjNhQ0VHc0J0a3JxR2xncFFs -emRuT29aNTd5UDJLZ2JIcUpRSWZSWgpKSmZXa1MxMi9PQXdEQjlWSU1CeXgxaFVj -NW94VFlPRTR0akpuZEJ6TzlETXpoYXJTYm16a09GNmZ4QW5BcTJjClVLRngvTk5r -dnh4Y3B6R0NBdWt3Z2dMbEFnRUJNR2t3WkRFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFS +WlRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUIKQUo2 +NllSTVB5QjVYamg1cDZ4WTZtRmpYOEs1MnBKL1ZSN3lWWWdxOGp0QmpqcVVsQlMy +MGt3SmRPZW1wNGV2RQpnNzZNN2xoZm15dHJvN0xTbFYyOHVVVi9FbUhMbk5iOWM5 +RmpCZzY5VXVYMFAzVHhKczdvaTF1a3JPQW5pMzVwClBoZDZtaittQm1oQzdHYUJM +T24xSEpkeFR6REgvTlNuV01oWmN0MVk5clIxUldQRWJDVnFBL1VNNjFxWEZwTWMK +aStVUS9MZzdZeGpyZm93bFdkUVNlenRRUHlhTVlwTzJHYlpOK2IyZGFMMktBRU8w +QWMwNGU0S29hb29nL1poRwpLOEpBcXVPa2dyUHNsM21uaGRqT3JaUTFsYTRhM2pM +TnM3TUpwUlN3bVh6cS9pQU1MRW9Icys2K3JPZXJ5MFVICnVUc0ZvRDBVY2tOOTBD +RzdIZTNKaTkwQ0F3RUFBVEFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBaDBTdjBr +MzMKOExxaVBKUmlET0dYVVF6V2w4dVQ3cEptMDMrSmZCTG1sNHlpVnNNdVpXdjAz +VHNhYW9PYlczKzVOUUZzZ1BQQQpsU28wSnpKNmw2bTNnLzZtbEZBMU14aVA5aTdj +VFdjM0dPUVdsT1QycnJ4NVpRM2F1QjZZN2xIeUtMcWI0KzlWCjNiRjc3NTFXdzJJ +RG1WdzIxa1NybTh0MjhtSHA0Ym9FeTdIZHV3T1AxWkhpN3ZkNjVhU1dsMHVoSW5z +UktrUFMKalh4SVBXV3N5dDAySlFKVUF6S2Z5TW0rOWxsUWlaaXlkVDByR3d5cGFZ +akRzeTB5L0NjYkNFUVNFMWk1Q3hHKwptWXl3Vzd3b0d2U29DL2xwNmM5T3BIcWxH +N1RvT2dRWXdUb2w4TmoyT1dqMVRVUW1YUzdvN3NZOEtqRGV5V1p3CjVrTTlBeC9k +dEc2ZHZ6R0NBd2N3Z2dNREFnRUJNR2t3WkRFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFS QmdOVkJBZ1QKQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05WQkFjVERVMXZkVzUwWVds dUlGWnBaWGN4RWpBUUJnTlZCQW9UQ1VKUApSMVZUSUU1VFV6RVVNQklHQTFVRUF4 -TUxUbE5USUZSbGMzUWdRMEVDQVI0d0RRWUpZSVpJQVdVREJBSUNCUUNnCmdnRlJN -QmdHQ1NxR1NJYjNEUUVKQXpFTEJna3Foa2lHOXcwQkJ3RXdQd1lKS29aSWh2Y05B -UWtFTVRJRU1FY1cKa1NQQWd4aVZhTGplV3RFbjhtbG81eEFNeTBtU2F2NkJPd0ZD -Yk5BVUZWalZXaU9rZXl1T3Q3NmU1Nld1QnpCNApCZ2tyQmdFRUFZSTNFQVF4YXpC -cE1HUXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5CmJt -bGhNUll3RkFZRFZRUUhFdzFOYjNWdWRHRnBiaUJXYVdWM01SSXdFQVlEVlFRS0V3 -bENUMGRWVXlCT1UxTXgKRkRBU0JnTlZCQU1UQzA1VFV5QlVaWE4wSUVOQkFnRWVN -SG9HQ3lxR1NJYjNEUUVKRUFJTE1XdWdhVEJrTVFzdwpDUVlEVlFRR0V3SlZVekVU -TUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTlRXOTFiblJo -CmFXNGdWbWxsZHpFU01CQUdBMVVFQ2hNSlFrOUhWVk1nVGxOVE1SUXdFZ1lEVlFR -REV3dE9VMU1nVkdWemRDQkQKUVFJQkhqQU5CZ2txaGtpRzl3MEJBUUVGQUFTQ0FR -Qk9lcWtpV0krRkJ1bG1GaFhmMFVHbCsya0RzUHJqVW9jRgptUnJxZzdCTy9iS2ZR -bGxYeWwwUUtpaXNHTTNUSEJ3Y25xS01iUkpHa29WeFZFRng2eE1tYk9XUnF6eDYr -SU84CkpPVm9vSUFoQmhFSTBGM2dlb1hCcTZhaFFWbGRaNUQ2SmlLNHNwbzE2a09F -Wm0ySEtUc05jYmNoOXRVdHJNcEwKYjZTb3pMOWQ5a1ZGbGhMU0VyL2FOdmNLSlBm -WEhuczlKbG1ZRzIvMUFvZmRYSVJQK1ExOVpnRHhXRTJjL1ZmKwpubFZkVThldEVN -RnRjdU5hMjB5bGd4cjZYVktZbXN6YSs2QzNLa29zODUvRW1hZnkxZmlkS2VobHVa -blAxd0owCkN6WjBDODVuMVhVTTdGek1nU3FkVVgrRlFpSUExdVRialVLVXhFUGJm -VzljRUtacUxtdmVBQUFBQUFBQQotLS0tLS0tLS0tLS0tLW1zMDMwOTAzMDIwOTAy -MDIwNTAyMDMwNDA0LS0KCgAAAAAAAKCCA18wggNbMIICQ6ADAgECAgEyMA0GCSqG -SIb3DQEBCwUAMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYw -FAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNV -BAMTC05TUyBUZXN0IENBMB4XDTIyMTIxOTExMjU0N1oXDTI3MTIxOTExMjU0N1ow -fjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1v -dW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEfMB0GCSqGSIb3DQEJARYQ -RGF2ZUBleGFtcGxlLmNvbTENMAsGA1UEAxMERGF2ZTCCASIwDQYJKoZIhvcNAQEB -BQADggEPADCCAQoCggEBAPbEv+wUfxrQE0KtjboTMKx1TjvNL558peoeADTle/Kg -67/jbaDEStNaeoouHzBiNA69nTqinZc1Ev6/envHsIxLdGhTe1ZKWGOIdA612WuE -PXOAM36GkSju3ziQxfQce8bkmur5awuC29cjlOLNW82GINgHWvEhZvMcH+LSY6xt -8+se8OTQZhjpcid6KNYqgp7/8lcUYIrE1kP7QQg0ERKvphbif3/Emm5o8hw2/BiL -hE49m2zBt9trDBFKRAGGNG0aqpwShqfeGy3rUECbvoPUh5y+0F3cZbc/qxQ3lLvg -HjGB3Xa4aPPeJJmc8ng3KAGaDDy1sRCCPEr/IysXPHcCAwEAATANBgkqhkiG9w0B -AQsFAAOCAQEAcsMwkgnG5b6cXqV2JytyqpKs1hRbn7JdrNIIh25kCbZ/voVDOOgb -JvBTVKOiVvfwLB8NbWhaFA+MqyKJEXZgF+QpBTp3VodSs1NiSNNKYFvic/9PxP3/ -M+/6HOMoKqzBNMIpGzxxb0U7Zeijz5xeTXSaqAfF1JjubvNotNFi02zgol7M1w3w -oDE84z0RY8ePCiNdTLVHww4N5g9SpZ8ciI2JG0lm4A2TrBKOTxkr3G0j0PGdSOTs -D3yYTUOsa2KfwFrqEvuG2o99zg26d8lgGgiDL3d1nJ+4F8+y84ozCZikWe9IeUOO -DvBGLrOI8NaQvwXZpLudSOhNABuvxMgNJDGCAukwggLlAgEBMGkwZDELMAkGA1UE -BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZp -ZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0ECATIw -DQYJYIZIAWUDBAICBQCgggFRMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwPwYJ -KoZIhvcNAQkEMTIEMBjQA4JGPBKfX4DNQ5aN1/aRGZs4C51I6j9d08vw1MvIdhCu -7CVdbv9mxuwZC7jxhzB4BgkrBgEEAYI3EAQxazBpMGQxCzAJBgNVBAYTAlVTMRMw -EQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYD -VQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEyMHoGCyqGSIb3 -DQEJEAILMWugaTBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEW -MBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMgTlNTMRQwEgYD -VQQDEwtOU1MgVGVzdCBDQQIBMjANBgkqhkiG9w0BAQEFAASCAQCl5cNHCcA+bNcf -fhpdHdwddtvbrZ9Im34HfEnP4mR91vMkwxgVJ7DfN0skq6g4bYrllN/u0GoAOHi6 -aSl3wALlsIoEn5/rd7mSi59EmBzsen64Cub8XmXajEbJJQrl7MCX02usbb+M25ub -Y0VqlhFhby9AWtOzrGq8mxtn4f9OP+6SnAFa9q13pqCfz3J6kSqMLLcN+ZX5XZBP -Vb9/Ag0LThAqzyA+LgbcktMhVtUwFjPsqFyDb+krMnhHhaDeVMupkg+nOUwFCGxT -+Sn+wKOvItC7kYzDNAyuu4nXFFqPjZqJvZTnUAsWd/csYZrtqmpebWbMKD8DDp7S -arrXuPaPAAAAAAAA +TUxUbE5USUZSbGMzUWdRMEVDQVI0d0RRWUpZSVpJQVdVREJBSUNCUUNnCmdnRnZN +QmdHQ1NxR1NJYjNEUUVKQXpFTEJna3Foa2lHOXcwQkJ3RXdIQVlKS29aSWh2Y05B +UWtGTVE4WERUSXoKTVRFeU1USXdOVEl3T1Zvd1B3WUpLb1pJaHZjTkFRa0VNVElF +TUhqQVY3TFBPMmV6bzJ6OWM4K1VML3pRanJucQp6U0c2WHhuUGprQ1lCUHRwWUdE +RGludkduZE1WK09kQ012b3l3ekI0QmdrckJnRUVBWUkzRUFReGF6QnBNR1F4CkN6 +QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZB +WURWUVFIRXcxTmIzVnUKZEdGcGJpQldhV1YzTVJJd0VBWURWUVFLRXdsQ1QwZFZV +eUJPVTFNeEZEQVNCZ05WQkFNVEMwNVRVeUJVWlhOMApJRU5CQWdFZU1Ib0dDeXFH +U0liM0RRRUpFQUlMTVd1Z2FUQmtNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVF +CkNCTUtRMkZzYVdadmNtNXBZVEVXTUJRR0ExVUVCeE1OVFc5MWJuUmhhVzRnVm1s +bGR6RVNNQkFHQTFVRUNoTUoKUWs5SFZWTWdUbE5UTVJRd0VnWURWUVFERXd0T1Ux +TWdWR1Z6ZENCRFFRSUJIakFOQmdrcWhraUc5dzBCQVFFRgpBQVNDQVFBNjZCS084 +REFsdlNnaWEzanR5YWx1VVNSREZTWk14TnBqMUozZ3NYMnRHUllkeURXQW5XRDdl +d3ZoCjE3Mm1xVkVWQlIrdXdjRWY4N3VxMWk3MGF2OGNma1hWL2ZlTURXejhKaWJT +a3E3ZmxPelZjMEdSWHAwYzFGcDUKS21FRHhYc29UZ1NhMlJHK0g0bGNrblViRUJ5 +ZytORDY5R1JPaDR2NkMwS1pHaEN4Yk5rR0VKdTJTbFVVdCtCbQpwOHB5VGp1a1V1 +dHd1bUgxd0I0U3FDR2VaZU9oZmZqaWFmODd2VlZ1dHpBdzV2Z1ZMcDd4aHhIZG5S +TmdndktjCnFaSDR2VXk3ekplc2ZKU3IxVHA0NjVKbzR1cWlSRU4zRCtmNjlOU2p1 +b0VwSEpVaEtZcU5iclNSdXcwK2hqOXMKTDZPazVmbk0rOXl6ZEpHZ2RoZ2FyNTIv +Z2JyWEFBQUFBQUFBCi0tLS0tLS0tLS0tLS0tbXMwMzA5MDMwMjA5MDIwMjA1MDIw +MzA0MDQtLQoKAAAAAAAAoIIDXzCCA1swggJDoAMCAQICATIwDQYJKoZIhvcNAQEL +BQAwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcT +DU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNT +IFRlc3QgQ0EwHhcNMjMxMTIxMjA1MDQzWhcNMjgxMTIxMjA1MDQzWjB+MQswCQYD +VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4g +VmlldzESMBAGA1UEChMJQk9HVVMgTlNTMR8wHQYJKoZIhvcNAQkBFhBEYXZlQGV4 +YW1wbGUuY29tMQ0wCwYDVQQDEwREYXZlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAyEuiMqsNIXsCPC5I/p0BIZwUH35YAyq1uJxXDWeb81Pdjb+ed2SB +Q4DTDcjKM7YOIq15M5dmfVV9cXmtNYgPjp1gqPcObE2Kqj2CiZLV24reQ6+gOWW+ +//5MSAeQ14q1ZWCt3KCku9POL2t9UnUmJHv0YBJ7DVqMZ+PFkHXXXQITEPAVECc2 +kJqceotCoJ7OTZQODarGhZdfn99rszkjzsu9G8fVBaa71cdv9OC1zTUAYNAw5a2x +zUWId0iWbKxW0r1U2syGM7zoliaP0EHDlTXR8KhUxsvGQrVJ/EsKyLrrwEaTmJy7 +phRbJNXz/RzB3E6klpJftX+HQuSAUFuyDQIDAQABMA0GCSqGSIb3DQEBCwUAA4IB +AQBjTdnG0HNVY5R3k5JaLHlvdzE4dpRIv8ypUtG8iihBQX0pT4KdI7UGa2r1Mar7 +fHAjaZ+igqCSCYgR6M4uL6bXH77zV0Cb+yHPL/ELRt06qvQNn/jwLcCJ57nBjtiU +mH7iHOsn3fPtN+Ox/Ajw3pAHI+bgR0kYqtda9FL91JJbZbkmv14FSNLzRTzjEYF8 +kUdbVgL+MC+GCIEEesD1SfS3Qeu/AIZxJatajmPUJSuNltNaVYp75OWNgFmgPxN8 +gKG7RNd6LZeBmZ46jS2Tb52dAqpgrhfOXGk+HzzWTXwOTYZxRQBmHTJJNhT4GbR7 +fGBWgckqO91TRRLA74Wu+a3JMYIDBzCCAwMCAQEwaTBkMQswCQYDVQQGEwJVUzET +MBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAG +A1UEChMJQk9HVVMgTlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBMjANBglghkgB +ZQMEAgIFAKCCAW8wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0B +CQUxDxcNMjMxMTIxMjA1MjA5WjA/BgkqhkiG9w0BCQQxMgQwf1+TPmep+x3WlUqO +w8KbxOWv7gxL9a4POWJ7+eC/C20k8A6nVWFNaCXr79aYEztcMHgGCSsGAQQBgjcQ +BDFrMGkwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNV +BAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxML +TlNTIFRlc3QgQ0ECATIwegYLKoZIhvcNAQkQAgsxa6BpMGQxCzAJBgNVBAYTAlVT +MRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIw +EAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEyMA0GCSqG +SIb3DQEBAQUABIIBAH4vrkxGgaQZNW8SMJz5KuK0hYR4hcnALuJlxeza+tDszjUY +nHZb6Jz/yJSbaioQ2Wa/lM9GkbDSyzlDJkSdJTaC6iwYuU+OrYz82KUdVq2xK5YG +bI4anOkujUFw2P45EuXwkzOgttit9GD31WDBcEwr3UrH2Dlfw4QBBanFr763nLAf +vDhxrbKRPChGebM580lE+zg5gfzRMboCQKiTbt1RIp8iq6ZZJiBQcpK9RYmhYAEd +8yrjHcn7KYiBZ7HEE5b5NJR7eSZHZCXgpBMb5LSls3MaizgD2zDznwp6Wwz/2gRA +UseigMEXTawzy9CPnsWVshHXdvJ1xSmY8SNABRQAAAAAAAA= diff --git a/comm/mailnews/test/data/smime/alice.env.dsig.SHA384.multipart.eml b/comm/mailnews/test/data/smime/alice.env.dsig.SHA384.multipart.eml index 92cee1c6622e834082049b1086d38971f65b32a8..e8c28de2cdc7a23b273d95f1d7b70b0a89d74e99 100644 --- a/comm/mailnews/test/data/smime/alice.env.dsig.SHA384.multipart.eml +++ b/comm/mailnews/test/data/smime/alice.env.dsig.SHA384.multipart.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: enveloped then clear-signed sig.SHA384 @@ -16,17 +17,17 @@ Content-Description: S/MIME Encrypted Message MIAGCSqGSIb3DQEHA6CAMIACAQAxggGFMIIBgQIBADBpMGQxCzAJBgNVBAYTAlVT MRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIw EAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEoMA0GCSqG -SIb3DQEBAQUABIIBAEs7IhROhu/wFSuypxWqfseBLKs1lhJJk9cX7o7tJ2mcVSjJ -qiBn8DVyjXp0HARnkWTdYtNaRvdBNnDDdLIrTl0Furmw85jaamqhX7do+mIgvRPy -PvEFhbel9zNS9oFxddWYBbMVl6Ib3ADXqjV+m3wZ463iB4SSxvIlxOMUdpluEhuT -buZH6AyS4THOEMfJbuM6HOH902tK+PrwuJkk1CWR9lzt6tlf1rPuUna0Eq6n0+u2 -c0PpovqELnSUUbF0SpTS4pJU4WhIVpZPouzOSrvYgU4NId7kfJW/bdQQltsBsrcN -wVGe/SQT+bwgZiJQaocuFylI4iyK7DNMucaWlkMwgAYJKoZIhvcNAQcBMB0GCWCG -SAFlAwQBAgQQCTtMRKcvkPn97BUXVdftp6CABIGgp2FLzMSQFopatI6MEYm0LSb2 -ihSTtccIH2AROEBD0i+MX8YTyp+3SAZPEAIawavVimqmxfHSHmKXRjO3Ywjp3+yO -hTvF5SjaSgxpPk8L0Pyh5n2RK+DEoUk1vUu5xufOigVhI9X6xVhcgpZBPJkCmUye -coWbXmAgvZrsXbfkSB6ZXqxfVVllAFKsVcpbKKvQTL9i/iOIAbu7z1tfynbGyAQQ -09g7by06cAm7iMe22ldyeAAAAAAAAAAAAAA= +SIb3DQEBAQUABIIBALAilHYmQY9S/H2MP0JZkHLxqlBshzmkaVeCm8xrhJSjUqLN +Y2dob849A8/sYystVGkuravuVAv5HQGTmQ0ntE7VlOJpBB+nKsRWUAZ8kr4HhAJl +G2GirOwKbQnNrL/feB+AotQTJqEcKtxUsSfk9tMBp2EIh/g0WaV+jOcIjERZcnU8 +EKp/zBN0PkCykWP/3zJKaVcPaH/4ylrRXebcCblTZOhK9bLuCsyeOrFDr7XcWszL +V1+bSS5VtnpO3Mg58720MyzNQ/rHHHSMl7LoG7V2IwbxBsM+RpBOXateTt+70tmh +Yi+IpTYXkZqWxwnfwcCBFUzt6VK/BFD3QY4SyNEwgAYJKoZIhvcNAQcBMB0GCWCG +SAFlAwQBAgQQmIgaQceqX0qrIHhaZ0lFoaCABIGgiPZeDBvazh0FYnaNXcSbP9kV +Aw632l9ziRyCF7WgtODI7cf2ZNUZ/QBPYRo+mr4nsMHlFqDV7W4Z5bZiEcSmn017 +E44Mvx7swnZwhO7CWSyPifZqnHDjzFMPeyGvcsKcMlEBBU2TCF6WpszoJ6adrKHM +bnaJ/zFaReR/mZEIXtPoYkEfG2aqjkBcACalmDm7ww2kHjEb7EXm9VaV5SPiUgQQ +yzIt+J5gqf4Wi2CjUNwoFQAAAAAAAAAAAAA= --------------ms030903020902020502030404 @@ -39,36 +40,37 @@ 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 +L6Ok5fnM+9yzdJGgdhgar52/gbrXAAAAAAAA --------------ms030903020902020502030404-- diff --git a/comm/mailnews/test/data/smime/alice.env.dsig.SHA512.multipart.dave.sig.SHA512.opaque.eml b/comm/mailnews/test/data/smime/alice.env.dsig.SHA512.multipart.dave.sig.SHA512.opaque.eml index e6cd83685aae6971d78a1d46600d7d71b16c17c0..839614557587ecfa1b33e286ad5760cd7ea8e2fc 100644 --- a/comm/mailnews/test/data/smime/alice.env.dsig.SHA512.multipart.dave.sig.SHA512.opaque.eml +++ b/comm/mailnews/test/data/smime/alice.env.dsig.SHA512.multipart.dave.sig.SHA512.opaque.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Dave@example.com To: Bob@example.com Subject: enveloped then clear-signed sig.SHA512 then opaque signed by dave @@ -9,7 +10,7 @@ Content-Disposition: attachment; filename=smime.p7m Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgMFADCABgkqhkiG9w0B -BwGggCSABIIPT0NvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L3NpZ25lZDsgcHJvdG9j +BwGggCSABIIPd0NvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L3NpZ25lZDsgcHJvdG9j b2w9ImFwcGxpY2F0aW9uL3BrY3M3LXNpZ25hdHVyZSI7IG1pY2FsZz1zaGEtNTEy OyBib3VuZGFyeT0iLS0tLS0tLS0tLS0tbXMwMzA5MDMwMjA5MDIwMjA1MDIwMzA0 MDQiCgpUaGlzIGlzIGEgY3J5cHRvZ3JhcGhpY2FsbHkgc2lnbmVkIG1lc3NhZ2Ug @@ -23,20 +24,20 @@ UUVIQTZDQU1JQUNBUUF4Z2dHRk1JSUJnUUlCQURCcE1HUXhDekFKQmdOVkJBWVRB bFZUCk1STXdFUVlEVlFRSUV3cERZV3hwWm05eWJtbGhNUll3RkFZRFZRUUhFdzFO YjNWdWRHRnBiaUJXYVdWM01SSXcKRUFZRFZRUUtFd2xDVDBkVlV5Qk9VMU14RkRB U0JnTlZCQU1UQzA1VFV5QlVaWE4wSUVOQkFnRW9NQTBHQ1NxRwpTSWIzRFFFQkFR -VUFCSUlCQUVzN0loUk9odS93RlN1eXB4V3Fmc2VCTEtzMWxoSkprOWNYN283dEoy -bWNWU2pKCnFpQm44RFZ5alhwMEhBUm5rV1RkWXROYVJ2ZEJObkREZExJclRsMEZ1 -cm13ODVqYWFtcWhYN2RvK21JZ3ZSUHkKUHZFRmhiZWw5ek5TOW9GeGRkV1lCYk1W -bDZJYjNBRFhxalYrbTN3WjQ2M2lCNFNTeHZJbHhPTVVkcGx1RWh1VApidVpINkF5 -UzRUSE9FTWZKYnVNNkhPSDkwMnRLK1Byd3VKa2sxQ1dSOWx6dDZ0bGYxclB1VW5h -MEVxNm4wK3UyCmMwUHBvdnFFTG5TVVViRjBTcFRTNHBKVTRXaElWcFpQb3V6T1Ny -dllnVTROSWQ3a2ZKVy9iZFFRbHRzQnNyY04Kd1ZHZS9TUVQrYndnWmlKUWFvY3VG -eWxJNGl5SzdETk11Y2FXbGtNd2dBWUpLb1pJaHZjTkFRY0JNQjBHQ1dDRwpTQUZs -QXdRQkFnUVFDVHRNUktjdmtQbjk3QlVYVmRmdHA2Q0FCSUdncDJGTHpNU1FGb3Bh -dEk2TUVZbTBMU2IyCmloU1R0Y2NJSDJBUk9FQkQwaStNWDhZVHlwKzNTQVpQRUFJ -YXdhdlZpbXFteGZIU0htS1hSak8zWXdqcDMreU8KaFR2RjVTamFTZ3hwUGs4TDBQ -eWg1bjJSSytERW9VazF2VXU1eHVmT2lnVmhJOVg2eFZoY2dwWkJQSmtDbVV5ZQpj -b1diWG1BZ3ZacnNYYmZrU0I2WlhxeGZWVmxsQUZLc1ZjcGJLS3ZRVEw5aS9pT0lB -YnU3ejF0ZnluYkd5QVFRCjA5ZzdieTA2Y0FtN2lNZTIybGR5ZUFBQUFBQUFBQUFB +VUFCSUlCQUxBaWxIWW1RWTlTL0gyTVAwSlprSEx4cWxCc2h6bWthVmVDbTh4cmhK +U2pVcUxOClkyZG9iODQ5QTgvc1l5c3RWR2t1cmF2dVZBdjVIUUdUbVEwbnRFN1Zs +T0pwQkIrbktzUldVQVo4a3I0SGhBSmwKRzJHaXJPd0tiUW5OckwvZmVCK0FvdFFU +SnFFY0t0eFVzU2ZrOXRNQnAyRUloL2cwV2FWK2pPY0lqRVJaY25VOApFS3AvekJO +MFBrQ3lrV1AvM3pKS2FWY1BhSC80eWxyUlhlYmNDYmxUWk9oSzliTHVDc3llT3JG +RHI3WGNXc3pMClYxK2JTUzVWdG5wTzNNZzU4NzIwTXl6TlEvckhISFNNbDdMb0c3 +VjJJd2J4QnNNK1JwQk9YYXRlVHQrNzB0bWgKWWkrSXBUWVhrWnFXeHduZndjQ0JG +VXp0NlZLL0JGRDNRWTRTeU5Fd2dBWUpLb1pJaHZjTkFRY0JNQjBHQ1dDRwpTQUZs +QXdRQkFnUVFtSWdhUWNlcVgwcXJJSGhhWjBsRm9hQ0FCSUdnaVBaZURCdmF6aDBG +WW5hTlhjU2JQOWtWCkF3NjMybDl6aVJ5Q0Y3V2d0T0RJN2NmMlpOVVovUUJQWVJv +K21yNG5zTUhsRnFEVjdXNFo1YlppRWNTbW4wMTcKRTQ0TXZ4N3N3blp3aE83Q1dT +eVBpZlpxbkhEanpGTVBleUd2Y3NLY01sRUJCVTJUQ0Y2V3Bzem9KNmFkcktITQpi +bmFKL3pGYVJlUi9tWkVJWHRQb1lrRWZHMmFxamtCY0FDYWxtRG03d3cya0hqRWI3 +RVhtOVZhVjVTUGlVZ1FRCnl6SXQrSjVncWY0V2kyQ2pVTndvRlFBQUFBQUFBQUFB QUFBPQoKCi0tLS0tLS0tLS0tLS0tbXMwMzA5MDMwMjA5MDIwMjA1MDIwMzA0MDQK Q29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9wa2NzNy1zaWduYXR1cmU7IG5hbWU9 c21pbWUucDdzCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJhc2U2NApDb250 @@ -47,83 +48,84 @@ RUFnTUZBRENBQmdrcWhraUc5dzBCCkJ3RUFBS0NDQTJJd2dnTmVNSUlDUnFBREFn RUNBZ0VlTUEwR0NTcUdTSWIzRFFFQkN3VUFNR1F4Q3pBSkJnTlYKQkFZVEFsVlRN Uk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxTmIzVnVk R0ZwYmlCVwphV1YzTVJJd0VBWURWUVFLRXdsQ1QwZFZVeUJPVTFNeEZEQVNCZ05W -QkFNVEMwNVRVeUJVWlhOMElFTkJNQjRYCkRUSXlNVEl4T1RFeE1qVTBNRm9YRFRJ -M01USXhPVEV4TWpVME1Gb3dnWUF4Q3pBSkJnTlZCQVlUQWxWVE1STXcKRVFZRFZR +QkFNVEMwNVRVeUJVWlhOMElFTkJNQjRYCkRUSXpNVEV5TVRJd05UQXpObG9YRFRJ +NE1URXlNVEl3TlRBek5sb3dnWUF4Q3pBSkJnTlZCQVlUQWxWVE1STXcKRVFZRFZR UUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxTmIzVnVkR0ZwYmlCV2FX VjNNUkl3RUFZRApWUVFLRXdsQ1QwZFZVeUJPVTFNeElEQWVCZ2txaGtpRzl3MEJD UUVXRVVGc2FXTmxRR1Y0WVcxd2JHVXVZMjl0Ck1RNHdEQVlEVlFRREV3VkJiR2xq -WlRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUIKQUx1 -QkxRSnFwd2JkQkhJUG9JSXhRL3RzY2p2Y3BPczA1TXZDbDdvRTZLNXpaMC9FLzVV -RDMrL0dmNklJWmpuRQp6cDM4Uk5tQkliMlk2SEVaZzQ5NXJTbGR0Ym8zRlRYS21j -WTZRb2FqS25pbG1yZ21zZjFNcExEeG9VZms3eXdYCng4eDRwZWpBMGhMdFZBYSsz -NVgwUHhCeXI0MTJocHZ0a2xqdjZGTzlQb2ZWTjhIQlVYTDZGU1cxUi9vR3BMYzYK -bkR1cFNjZFFuNW1va2dPN2dNY1k5RFBkTEp4U3FjNEpEc1V5cXp1amxOTndObFJk -cjBBV2I2c2E2M28reVZwegpSSm9BdjBjYS80WEFFVTVVOG1EWVRkYWQrU3NnRFVB -dlhSK0pWM2J5czd0bHV1TUtyNlBVcnYwZXdTUTA3WFN0ClJDbjcvZWhiRkRsc3dt -aFlUa2swRzhNQ0F3RUFBVEFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBT1luV3hC -N2wKMlhBbDJsKzA2cWNJOEpIZEJXby84M3g2YTFOenI0WlBxc212bW5EcGtHNStR -VVhmeW9iYU5TMTltV1BWUlVIOQp0a3ZJTkg1ZWN2V2dKVm1JTW1wMUtUWCt2d0tD -bUhRTlBDRTg0MXArTDVjcllsL2NacEhMSnJLR3VseldnYWZnCmdtTFVlOUN3cmts -NGlLL29jVHZnRnVGeVAyOVByZWpmbGVDNVFyblNGa3d6VUlLRWpSVWRsUmtZYi9Y -MDcwbVcKczVEMWNxVjUyNXEyY2NyaTl6cW9hYjFsdjNhQ0VHc0J0a3JxR2xncFFs -emRuT29aNTd5UDJLZ2JIcUpRSWZSWgpKSmZXa1MxMi9PQXdEQjlWSU1CeXgxaFVj -NW94VFlPRTR0akpuZEJ6TzlETXpoYXJTYm16a09GNmZ4QW5BcTJjClVLRngvTk5r -dnh4Y3B6R0NBdmt3Z2dMMUFnRUJNR2t3WkRFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFS +WlRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUIKQUo2 +NllSTVB5QjVYamg1cDZ4WTZtRmpYOEs1MnBKL1ZSN3lWWWdxOGp0QmpqcVVsQlMy +MGt3SmRPZW1wNGV2RQpnNzZNN2xoZm15dHJvN0xTbFYyOHVVVi9FbUhMbk5iOWM5 +RmpCZzY5VXVYMFAzVHhKczdvaTF1a3JPQW5pMzVwClBoZDZtaittQm1oQzdHYUJM +T24xSEpkeFR6REgvTlNuV01oWmN0MVk5clIxUldQRWJDVnFBL1VNNjFxWEZwTWMK +aStVUS9MZzdZeGpyZm93bFdkUVNlenRRUHlhTVlwTzJHYlpOK2IyZGFMMktBRU8w +QWMwNGU0S29hb29nL1poRwpLOEpBcXVPa2dyUHNsM21uaGRqT3JaUTFsYTRhM2pM +TnM3TUpwUlN3bVh6cS9pQU1MRW9Icys2K3JPZXJ5MFVICnVUc0ZvRDBVY2tOOTBD +RzdIZTNKaTkwQ0F3RUFBVEFOQmdrcWhraUc5dzBCQVFzRkFBT0NBUUVBaDBTdjBr +MzMKOExxaVBKUmlET0dYVVF6V2w4dVQ3cEptMDMrSmZCTG1sNHlpVnNNdVpXdjAz +VHNhYW9PYlczKzVOUUZzZ1BQQQpsU28wSnpKNmw2bTNnLzZtbEZBMU14aVA5aTdj +VFdjM0dPUVdsT1QycnJ4NVpRM2F1QjZZN2xIeUtMcWI0KzlWCjNiRjc3NTFXdzJJ +RG1WdzIxa1NybTh0MjhtSHA0Ym9FeTdIZHV3T1AxWkhpN3ZkNjVhU1dsMHVoSW5z +UktrUFMKalh4SVBXV3N5dDAySlFKVUF6S2Z5TW0rOWxsUWlaaXlkVDByR3d5cGFZ +akRzeTB5L0NjYkNFUVNFMWk1Q3hHKwptWXl3Vzd3b0d2U29DL2xwNmM5T3BIcWxH +N1RvT2dRWXdUb2w4TmoyT1dqMVRVUW1YUzdvN3NZOEtqRGV5V1p3CjVrTTlBeC9k +dEc2ZHZ6R0NBeGN3Z2dNVEFnRUJNR2t3WkRFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFS QmdOVkJBZ1QKQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05WQkFjVERVMXZkVzUwWVds dUlGWnBaWGN4RWpBUUJnTlZCQW9UQ1VKUApSMVZUSUU1VFV6RVVNQklHQTFVRUF4 -TUxUbE5USUZSbGMzUWdRMEVDQVI0d0RRWUpZSVpJQVdVREJBSURCUUNnCmdnRmhN -QmdHQ1NxR1NJYjNEUUVKQXpFTEJna3Foa2lHOXcwQkJ3RXdUd1lKS29aSWh2Y05B -UWtFTVVJRVFIMmoKT2dEdklaMmxOSlJxTWhqSVY2TitrUFhURkprT014TCtmMDUw -YTZ1bUtNTUZzWE5yUTd0K1Q1Zmo5ZzhZUDJSKwpQM2NoNnhEN1RTQVVKcWRCYUUw -d2VBWUpLd1lCQkFHQ054QUVNV3N3YVRCa01Rc3dDUVlEVlFRR0V3SlZVekVUCk1C -RUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5UVzkxYm5SaGFX -NGdWbWxsZHpFU01CQUcKQTFVRUNoTUpRazlIVlZNZ1RsTlRNUlF3RWdZRFZRUURF -d3RPVTFNZ1ZHVnpkQ0JEUVFJQkhqQjZCZ3NxaGtpRwo5dzBCQ1JBQ0N6RnJvR2t3 -WkRFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4 -CkZqQVVCZ05WQkFjVERVMXZkVzUwWVdsdUlGWnBaWGN4RWpBUUJnTlZCQW9UQ1VK -UFIxVlRJRTVUVXpFVU1CSUcKQTFVRUF4TUxUbE5USUZSbGMzUWdRMEVDQVI0d0RR -WUpLb1pJaHZjTkFRRUJCUUFFZ2dFQU5ReEs2bWdGVFU3TQpVZ2ZncHlPa2ZoZDdk -cGVydzVSb2sxVnNBMldtSk5NSTFWNXpHbVpHcHdMUXdBNjc2VitydG5QSTVZMkdi -cEpXCnE2QzJyVDRDSVE5MmVVMjFwU0VGR0c3S291VHA4ODlqSW9VYjlpL2t1NnVF -T2JCY045cUh0STBjWlpNaGlEMWQKZE1ZektuanZVa0tKNG1zY1JNMnBjS1FLWkJ4 -ZWZFNGRMUDgraHJXVlplUGV6YkJyLzQ1bWpnTU12Nk1jaHYvdwpMNWMxNWdpcUpo -REo2TnZsZXZxR3NjT1E2RXQ3dFBERmlUdkJVa2RuMXRlVnF4RndiYzhTdWN1L1lT -UGMxUHpBClA4MGsweFRGUHBmWG15Y2gxdyt3dFhRVnR5Mjh0NmIxU1R3eGh4Nmgw -T0ZVdHRaZGdjZDhkN1QyR00zSEYwMGcKcURvN0lWUGo5UUFBQUFBQUFBPT0KLS0t -LS0tLS0tLS0tLS1tczAzMDkwMzAyMDkwMjAyMDUwMjAzMDQwNC0tCgoAAAAAAACg -ggNfMIIDWzCCAkOgAwIBAgIBMjANBgkqhkiG9w0BAQsFADBkMQswCQYDVQQGEwJV -UzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzES -MBAGA1UEChMJQk9HVVMgTlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQTAeFw0yMjEy -MTkxMTI1NDdaFw0yNzEyMTkxMTI1NDdaMH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQI -EwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlC -T0dVUyBOU1MxHzAdBgkqhkiG9w0BCQEWEERhdmVAZXhhbXBsZS5jb20xDTALBgNV -BAMTBERhdmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD2xL/sFH8a -0BNCrY26EzCsdU47zS+efKXqHgA05XvyoOu/422gxErTWnqKLh8wYjQOvZ06op2X -NRL+v3p7x7CMS3RoU3tWSlhjiHQOtdlrhD1zgDN+hpEo7t84kMX0HHvG5Jrq+WsL -gtvXI5TizVvNhiDYB1rxIWbzHB/i0mOsbfPrHvDk0GYY6XIneijWKoKe//JXFGCK -xNZD+0EINBESr6YW4n9/xJpuaPIcNvwYi4ROPZtswbfbawwRSkQBhjRtGqqcEoan -3hst61BAm76D1IecvtBd3GW3P6sUN5S74B4xgd12uGjz3iSZnPJ4NygBmgw8tbEQ -gjxK/yMrFzx3AgMBAAEwDQYJKoZIhvcNAQELBQADggEBAHLDMJIJxuW+nF6ldicr -cqqSrNYUW5+yXazSCIduZAm2f76FQzjoGybwU1Sjolb38CwfDW1oWhQPjKsiiRF2 -YBfkKQU6d1aHUrNTYkjTSmBb4nP/T8T9/zPv+hzjKCqswTTCKRs8cW9FO2Xoo8+c -Xk10mqgHxdSY7m7zaLTRYtNs4KJezNcN8KAxPOM9EWPHjwojXUy1R8MODeYPUqWf -HIiNiRtJZuANk6wSjk8ZK9xtI9DxnUjk7A98mE1DrGtin8Ba6hL7htqPfc4NunfJ -YBoIgy93dZyfuBfPsvOKMwmYpFnvSHlDjg7wRi6ziPDWkL8F2aS7nUjoTQAbr8TI -DSQxggL5MIIC9QIBATBpMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9y -bmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1Mx -FDASBgNVBAMTC05TUyBUZXN0IENBAgEyMA0GCWCGSAFlAwQCAwUAoIIBYTAYBgkq -hkiG9w0BCQMxCwYJKoZIhvcNAQcBME8GCSqGSIb3DQEJBDFCBEBrfXR6xw9pWEHv -9uNI3mlm0/c2Ln/7t1r9k9CMOP0bKDiaYreD0BEpoKzrR2h4BDl/o020Hb6DChmo -WBWVHKIdMHgGCSsGAQQBgjcQBDFrMGkwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgT -CkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJP -R1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0ECATIwegYLKoZIhvcNAQkQAgsx -a6BpMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH -Ew1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05T -UyBUZXN0IENBAgEyMA0GCSqGSIb3DQEBAQUABIIBABmYlAMvmu9wmNyF7ToVbunB -ocUuo/jL1h1rVxXuroDTLs/FYG3acYPr14uMr091ZZKslFG/MtUY9AVsjn+R03LP -Z95r58XcmssN3ZM3Gxr3tAZRoPDGG8SoJt5htSj2030IgELpYYIYvqxvJZukftSz -nHdxgj1totT/Yp8gT14/1EgcWuiYqWwQSiAL92LZprmmBrht6B6ZmJ1X83dzA4LR -Ly6zYLyqI4Gob1frcWdJfWyZNW2XkrMJ1iZq9b6ZhC9clbu1xTtfEzTgW4YwqBtl -WPeXTo/9cg6gWECI6csVtRqGVRapkJXM/g0uV+7ZTX4KqiHm6cV2anAAn2sYMa4A -AAAAAAA= +TUxUbE5USUZSbGMzUWdRMEVDQVI0d0RRWUpZSVpJQVdVREJBSURCUUNnCmdnRi9N +QmdHQ1NxR1NJYjNEUUVKQXpFTEJna3Foa2lHOXcwQkJ3RXdIQVlKS29aSWh2Y05B +UWtGTVE4WERUSXoKTVRFeU1USXdOVEl4TVZvd1R3WUpLb1pJaHZjTkFRa0VNVUlF +UU03LzRNclNXWU9UQmZEUmxrWEhOVkd1eCtNTwpXdG5lV0lGYTkrS3JsbXBPQjRs +NTJvTzBuU051TkJIcng0Q082eXRVYjdhbTdGaVZWZlA2MktwTmxTUXdlQVlKCkt3 +WUJCQUdDTnhBRU1Xc3dhVEJrTVFzd0NRWURWUVFHRXdKVlV6RVRNQkVHQTFVRUNC +TUtRMkZzYVdadmNtNXAKWVRFV01CUUdBMVVFQnhNTlRXOTFiblJoYVc0Z1ZtbGxk +ekVTTUJBR0ExVUVDaE1KUWs5SFZWTWdUbE5UTVJRdwpFZ1lEVlFRREV3dE9VMU1n +VkdWemRDQkRRUUlCSGpCNkJnc3Foa2lHOXcwQkNSQUNDekZyb0drd1pERUxNQWtH +CkExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdO +VkJBY1REVTF2ZFc1MFlXbHUKSUZacFpYY3hFakFRQmdOVkJBb1RDVUpQUjFWVElF +NVRVekVVTUJJR0ExVUVBeE1MVGxOVElGUmxjM1FnUTBFQwpBUjR3RFFZSktvWklo +dmNOQVFFQkJRQUVnZ0VBbllySGZ2Ym1YQnBIb0w1dEM2SkxubFFPV3VrRThGNkxN +MDZPCld3eHF1NWlnU25maTZ2RndoV3RGVE82VGNqVjV4RzRSYjgrdU51aXU2UFNv +TVpTWjROV1l3Q29lNmpOY0JubUEKZXlDN2tybVBpNjhoUjdVbmNqTXVsTjlNTUNI +ckh4QXl2TDAyV0NQdndMZFdqZWtYTTBJVFAvNjJXR2ZmalVEQQpROVpSQlFzRita +QXgwWTcwRGpvMmppekN4MDJWc2w1Y3hkQVBscFR0aGRFY09jaTY1N1pCWktSN2dI +U0NNU3JoClhMNUtBZ1ozNzFZUWxEUWx3ZXFmMXhVQTFaMGxFbzQrNFZsb24yY1NI +OGQrdUJyRmk2aU51d3pVNjAwMkRJWUoKcDA4SzJrU0RtYmgvUDJDTDZkam8rSDkr +b0hNaFB4dlNKZVFub1VtR2dFRHpLWkFTSmdBQUFBQUFBQT09Ci0tLS0tLS0tLS0t +LS0tbXMwMzA5MDMwMjA5MDIwMjA1MDIwMzA0MDQtLQoKAAAAAAAAoIIDXzCCA1sw +ggJDoAMCAQICATIwDQYJKoZIhvcNAQELBQAwZDELMAkGA1UEBhMCVVMxEzARBgNV +BAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoT +CUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0EwHhcNMjMxMTIxMjA1MDQz +WhcNMjgxMTIxMjA1MDQzWjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZv +cm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMgTlNT +MR8wHQYJKoZIhvcNAQkBFhBEYXZlQGV4YW1wbGUuY29tMQ0wCwYDVQQDEwREYXZl +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyEuiMqsNIXsCPC5I/p0B +IZwUH35YAyq1uJxXDWeb81Pdjb+ed2SBQ4DTDcjKM7YOIq15M5dmfVV9cXmtNYgP +jp1gqPcObE2Kqj2CiZLV24reQ6+gOWW+//5MSAeQ14q1ZWCt3KCku9POL2t9UnUm +JHv0YBJ7DVqMZ+PFkHXXXQITEPAVECc2kJqceotCoJ7OTZQODarGhZdfn99rszkj +zsu9G8fVBaa71cdv9OC1zTUAYNAw5a2xzUWId0iWbKxW0r1U2syGM7zoliaP0EHD +lTXR8KhUxsvGQrVJ/EsKyLrrwEaTmJy7phRbJNXz/RzB3E6klpJftX+HQuSAUFuy +DQIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBjTdnG0HNVY5R3k5JaLHlvdzE4dpRI +v8ypUtG8iihBQX0pT4KdI7UGa2r1Mar7fHAjaZ+igqCSCYgR6M4uL6bXH77zV0Cb ++yHPL/ELRt06qvQNn/jwLcCJ57nBjtiUmH7iHOsn3fPtN+Ox/Ajw3pAHI+bgR0kY +qtda9FL91JJbZbkmv14FSNLzRTzjEYF8kUdbVgL+MC+GCIEEesD1SfS3Qeu/AIZx +JatajmPUJSuNltNaVYp75OWNgFmgPxN8gKG7RNd6LZeBmZ46jS2Tb52dAqpgrhfO +XGk+HzzWTXwOTYZxRQBmHTJJNhT4GbR7fGBWgckqO91TRRLA74Wu+a3JMYIDFzCC +AxMCAQEwaTBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQG +A1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMgTlNTMRQwEgYDVQQD +EwtOU1MgVGVzdCBDQQIBMjANBglghkgBZQMEAgMFAKCCAX8wGAYJKoZIhvcNAQkD +MQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTIxMjA1MjExWjBPBgkq +hkiG9w0BCQQxQgRAQcBO43Dx0aNeXXf2pU4y6U36sAtFProN8PEoolCZgeDIjRsi +1OJkxNAmEqrHK21DzmXefNZSB+FHcaKCUY+XSDB4BgkrBgEEAYI3EAQxazBpMGQx +CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3Vu +dGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0 +IENBAgEyMHoGCyqGSIb3DQEJEAILMWugaTBkMQswCQYDVQQGEwJVUzETMBEGA1UE +CBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJ +Qk9HVVMgTlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBMjANBgkqhkiG9w0BAQEF +AASCAQCdJDF3KkiUEoV1n05fuq0MqhZmUVwLOgTvfmnTFj142WNOkiKFKTw+x+BC ++iyFS4tl9lw3roWusYjdOJG4ZduKY6CENN91SEXXkBfgiRGznT17urQEmoFwm37k +JLMb4i3nReaz2XPg17iMz6aOfzHwliWL2Z8CF+TcLitAU5rjD5zuw96dwUBf8G5C +ra2LDSkusMAG3UFvKxwRo1i06MzeYTkTExMqBjatCT4S8eaK3xzH7twehe45FRu/ +6Wdi7hjlmGR1MOSFu5H9haZ58nSscd7xzaPeNRgpsBgHiYwisGJSYek8W71BF5iN +Tlvj60r95OoAI6hb+o+YkzaB9jB0AAAAAAAA diff --git a/comm/mailnews/test/data/smime/alice.env.dsig.SHA512.multipart.eml b/comm/mailnews/test/data/smime/alice.env.dsig.SHA512.multipart.eml index 73e21f4fd0187d3dbc4033725bb80039b45760b0..7eab13caa9438afbc3f24138ef6cbd4e80b99284 100644 --- a/comm/mailnews/test/data/smime/alice.env.dsig.SHA512.multipart.eml +++ b/comm/mailnews/test/data/smime/alice.env.dsig.SHA512.multipart.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: enveloped then clear-signed sig.SHA512 @@ -16,17 +17,17 @@ Content-Description: S/MIME Encrypted Message MIAGCSqGSIb3DQEHA6CAMIACAQAxggGFMIIBgQIBADBpMGQxCzAJBgNVBAYTAlVT MRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIw EAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEoMA0GCSqG -SIb3DQEBAQUABIIBAEs7IhROhu/wFSuypxWqfseBLKs1lhJJk9cX7o7tJ2mcVSjJ -qiBn8DVyjXp0HARnkWTdYtNaRvdBNnDDdLIrTl0Furmw85jaamqhX7do+mIgvRPy -PvEFhbel9zNS9oFxddWYBbMVl6Ib3ADXqjV+m3wZ463iB4SSxvIlxOMUdpluEhuT -buZH6AyS4THOEMfJbuM6HOH902tK+PrwuJkk1CWR9lzt6tlf1rPuUna0Eq6n0+u2 -c0PpovqELnSUUbF0SpTS4pJU4WhIVpZPouzOSrvYgU4NId7kfJW/bdQQltsBsrcN -wVGe/SQT+bwgZiJQaocuFylI4iyK7DNMucaWlkMwgAYJKoZIhvcNAQcBMB0GCWCG -SAFlAwQBAgQQCTtMRKcvkPn97BUXVdftp6CABIGgp2FLzMSQFopatI6MEYm0LSb2 -ihSTtccIH2AROEBD0i+MX8YTyp+3SAZPEAIawavVimqmxfHSHmKXRjO3Ywjp3+yO -hTvF5SjaSgxpPk8L0Pyh5n2RK+DEoUk1vUu5xufOigVhI9X6xVhcgpZBPJkCmUye -coWbXmAgvZrsXbfkSB6ZXqxfVVllAFKsVcpbKKvQTL9i/iOIAbu7z1tfynbGyAQQ -09g7by06cAm7iMe22ldyeAAAAAAAAAAAAAA= +SIb3DQEBAQUABIIBALAilHYmQY9S/H2MP0JZkHLxqlBshzmkaVeCm8xrhJSjUqLN +Y2dob849A8/sYystVGkuravuVAv5HQGTmQ0ntE7VlOJpBB+nKsRWUAZ8kr4HhAJl +G2GirOwKbQnNrL/feB+AotQTJqEcKtxUsSfk9tMBp2EIh/g0WaV+jOcIjERZcnU8 +EKp/zBN0PkCykWP/3zJKaVcPaH/4ylrRXebcCblTZOhK9bLuCsyeOrFDr7XcWszL +V1+bSS5VtnpO3Mg58720MyzNQ/rHHHSMl7LoG7V2IwbxBsM+RpBOXateTt+70tmh +Yi+IpTYXkZqWxwnfwcCBFUzt6VK/BFD3QY4SyNEwgAYJKoZIhvcNAQcBMB0GCWCG +SAFlAwQBAgQQmIgaQceqX0qrIHhaZ0lFoaCABIGgiPZeDBvazh0FYnaNXcSbP9kV +Aw632l9ziRyCF7WgtODI7cf2ZNUZ/QBPYRo+mr4nsMHlFqDV7W4Z5bZiEcSmn017 +E44Mvx7swnZwhO7CWSyPifZqnHDjzFMPeyGvcsKcMlEBBU2TCF6WpszoJ6adrKHM +bnaJ/zFaReR/mZEIXtPoYkEfG2aqjkBcACalmDm7ww2kHjEb7EXm9VaV5SPiUgQQ +yzIt+J5gqf4Wi2CjUNwoFQAAAAAAAAAAAAA= --------------ms030903020902020502030404 @@ -39,37 +40,37 @@ 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 -qDo7IVPj9QAAAAAAAA== +ggF/MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIz +MTEyMTIwNTIxMVowTwYJKoZIhvcNAQkEMUIEQM7/4MrSWYOTBfDRlkXHNVGux+MO +WtneWIFa9+KrlmpOB4l52oO0nSNuNBHrx4CO6ytUb7am7FiVVfP62KpNlSQweAYJ +KwYBBAGCNxAEMWswaTBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p +YTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMgTlNTMRQw +EgYDVQQDEwtOU1MgVGVzdCBDQQIBHjB6BgsqhkiG9w0BCRACCzFroGkwZDELMAkG +A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWlu +IFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0EC +AR4wDQYJKoZIhvcNAQEBBQAEggEAnYrHfvbmXBpHoL5tC6JLnlQOWukE8F6LM06O +Wwxqu5igSnfi6vFwhWtFTO6TcjV5xG4Rb8+uNuiu6PSoMZSZ4NWYwCoe6jNcBnmA +eyC7krmPi68hR7UncjMulN9MMCHrHxAyvL02WCPvwLdWjekXM0ITP/62WGffjUDA +Q9ZRBQsF+ZAx0Y70Djo2jizCx02Vsl5cxdAPlpTthdEcOci657ZBZKR7gHSCMSrh +XL5KAgZ371YQlDQlweqf1xUA1Z0lEo4+4Vlon2cSH8d+uBrFi6iNuwzU6002DIYJ +p08K2kSDmbh/P2CL6djo+H9+oHMhPxvSJeQnoUmGgEDzKZASJgAAAAAAAA== --------------ms030903020902020502030404-- diff --git a/comm/mailnews/test/data/smime/alice.env.eml b/comm/mailnews/test/data/smime/alice.env.eml index 0f11bd2835a202a799a9afa5ad86e7f6cc8d4ff4..d6ff3aa37cfed35aa6da9874fd1be868d22f2a15 100644 --- a/comm/mailnews/test/data/smime/alice.env.eml +++ b/comm/mailnews/test/data/smime/alice.env.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: enveloped @@ -11,15 +12,15 @@ Content-Description: S/MIME Encrypted Message MIAGCSqGSIb3DQEHA6CAMIACAQAxggGFMIIBgQIBADBpMGQxCzAJBgNVBAYTAlVT MRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIw EAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEoMA0GCSqG -SIb3DQEBAQUABIIBAEs7IhROhu/wFSuypxWqfseBLKs1lhJJk9cX7o7tJ2mcVSjJ -qiBn8DVyjXp0HARnkWTdYtNaRvdBNnDDdLIrTl0Furmw85jaamqhX7do+mIgvRPy -PvEFhbel9zNS9oFxddWYBbMVl6Ib3ADXqjV+m3wZ463iB4SSxvIlxOMUdpluEhuT -buZH6AyS4THOEMfJbuM6HOH902tK+PrwuJkk1CWR9lzt6tlf1rPuUna0Eq6n0+u2 -c0PpovqELnSUUbF0SpTS4pJU4WhIVpZPouzOSrvYgU4NId7kfJW/bdQQltsBsrcN -wVGe/SQT+bwgZiJQaocuFylI4iyK7DNMucaWlkMwgAYJKoZIhvcNAQcBMB0GCWCG -SAFlAwQBAgQQCTtMRKcvkPn97BUXVdftp6CABIGgp2FLzMSQFopatI6MEYm0LSb2 -ihSTtccIH2AROEBD0i+MX8YTyp+3SAZPEAIawavVimqmxfHSHmKXRjO3Ywjp3+yO -hTvF5SjaSgxpPk8L0Pyh5n2RK+DEoUk1vUu5xufOigVhI9X6xVhcgpZBPJkCmUye -coWbXmAgvZrsXbfkSB6ZXqxfVVllAFKsVcpbKKvQTL9i/iOIAbu7z1tfynbGyAQQ -09g7by06cAm7iMe22ldyeAAAAAAAAAAAAAA= +SIb3DQEBAQUABIIBALAilHYmQY9S/H2MP0JZkHLxqlBshzmkaVeCm8xrhJSjUqLN +Y2dob849A8/sYystVGkuravuVAv5HQGTmQ0ntE7VlOJpBB+nKsRWUAZ8kr4HhAJl +G2GirOwKbQnNrL/feB+AotQTJqEcKtxUsSfk9tMBp2EIh/g0WaV+jOcIjERZcnU8 +EKp/zBN0PkCykWP/3zJKaVcPaH/4ylrRXebcCblTZOhK9bLuCsyeOrFDr7XcWszL +V1+bSS5VtnpO3Mg58720MyzNQ/rHHHSMl7LoG7V2IwbxBsM+RpBOXateTt+70tmh +Yi+IpTYXkZqWxwnfwcCBFUzt6VK/BFD3QY4SyNEwgAYJKoZIhvcNAQcBMB0GCWCG +SAFlAwQBAgQQmIgaQceqX0qrIHhaZ0lFoaCABIGgiPZeDBvazh0FYnaNXcSbP9kV +Aw632l9ziRyCF7WgtODI7cf2ZNUZ/QBPYRo+mr4nsMHlFqDV7W4Z5bZiEcSmn017 +E44Mvx7swnZwhO7CWSyPifZqnHDjzFMPeyGvcsKcMlEBBU2TCF6WpszoJ6adrKHM +bnaJ/zFaReR/mZEIXtPoYkEfG2aqjkBcACalmDm7ww2kHjEb7EXm9VaV5SPiUgQQ +yzIt+J5gqf4Wi2CjUNwoFQAAAAAAAAAAAAA= diff --git a/comm/mailnews/test/data/smime/alice.env.sig.SHA1.opaque.dave.sig.SHA1.opaque.eml b/comm/mailnews/test/data/smime/alice.env.sig.SHA1.opaque.dave.sig.SHA1.opaque.eml index 5c589abdda99cb447560c4791a3b5de9f298718a..295500f2abbf43453e3d33b440f51845bf38710c 100644 --- a/comm/mailnews/test/data/smime/alice.env.sig.SHA1.opaque.dave.sig.SHA1.opaque.eml +++ b/comm/mailnews/test/data/smime/alice.env.sig.SHA1.opaque.dave.sig.SHA1.opaque.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Dave@example.com To: Bob@example.com Subject: enveloped then opaque-signed sig.SHA1 then opaque signed by dave @@ -9,7 +10,7 @@ Content-Disposition: attachment; filename=smime.p7m Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAaCA -JIAEgg9uQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9wa2NzNy1taW1lOyBuYW1l +JIAEgg+WQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9wa2NzNy1taW1lOyBuYW1l PXNtaW1lLnA3bTsKICAgIHNtaW1lLXR5cGU9c2lnbmVkLWRhdGEKQ29udGVudC1U cmFuc2Zlci1FbmNvZGluZzogYmFzZTY0CkNvbnRlbnQtRGlzcG9zaXRpb246IGF0 dGFjaG1lbnQ7IGZpbGVuYW1lPXNtaW1lLnA3bQpDb250ZW50LURlc2NyaXB0aW9u @@ -27,102 +28,104 @@ VkVGc1ZsUUsKVFZKTmQwVlJXVVJXVVZGSlJYZHdSRmxYZUhCYWJUbDVZbTFzYUUx U1dYZEdRVmxFVmxGUlNFVjNNVTVpTTFaMQpaRWRHY0dKcFFsZGhWMVl6VFZKSmR3 cEZRVmxFVmxGUlMwVjNiRU5VTUdSV1ZYbENUMVV4VFhoR1JFRlRRbWRPClZrSkJU VlJETURWVVZYbENWVnBZVGpCSlJVNUNRV2RGYjAxQk1FZERVM0ZIQ2xOSllqTkVV -VVZDUVZGVlFVSkoKU1VKQlJYTTNTV2hTVDJoMUwzZEdVM1Y1Y0hoWGNXWnpaVUpN -UzNNeGJHaEtTbXM1WTFnM2J6ZDBTakp0WTFaVApha29LY1dsQ2JqaEVWbmxxV0hB -d1NFRlNibXRYVkdSWmRFNWhVblprUWs1dVJFUmtURWx5Vkd3d1JuVnliWGM0Ck5X -cGhZVzF4YUZnM1pHOHJiVWxuZGxKUWVRcFFka1ZHYUdKbGJEbDZUbE01YjBaNFpH -UlhXVUppVFZac05rbGkKTTBGRVdIRnFWaXR0TTNkYU5EWXphVUkwVTFONGRrbHNl -RTlOVldSd2JIVkZhSFZVQ21KMVdrZzJRWGxUTkZSSQpUMFZOWmtwaWRVMDJTRTlJ -T1RBeWRFc3JVSEozZFVwcmF6RkRWMUk1YkhwME5uUnNaakZ5VUhWVmJtRXdSWEUy -CmJqQXJkVElLWXpCUWNHOTJjVVZNYmxOVlZXSkdNRk53VkZNMGNFcFZORmRvU1Za -d1dsQnZkWHBQVTNKMldXZFYKTkU1SlpEZHJaa3BYTDJKa1VWRnNkSE5DYzNKalRn -cDNWa2RsTDFOUlZDdGlkMmRhYVVwUllXOWpkVVo1YkVrMAphWGxMTjBST1RYVmpZ -VmRzYTAxM1owRlpTa3R2V2tsb2RtTk9RVkZqUWsxQ01FZERWME5IQ2xOQlJteEJk -MUZDClFXZFJVVU5VZEUxU1MyTjJhMUJ1T1RkQ1ZWaFdaR1owY0RaRFFVSkpSMmR3 -TWtaTWVrMVRVVVp2Y0dGMFNUWk4KUlZsdE1FeFRZaklLYVdoVFZIUmpZMGxJTWtG -U1QwVkNSREJwSzAxWU9GbFVlWEFyTTFOQldsQkZRVWxoZDJGMgpWbWx0Y1cxNFpr -aFRTRzFMV0ZKcVR6TlpkMnB3TXl0NVR3cG9WSFpHTlZOcVlWTm5lSEJRYXpoTU1G -QjVhRFZ1Ck1sSkxLMFJGYjFWck1YWlZkVFY0ZFdaUGFXZFdhRWs1V0RaNFZtaGpa -M0JhUWxCS2EwTnRWWGxsQ21OdlYySlkKYlVGbmRscHljMWhpWm10VFFqWmFXSEY0 -WmxaV2JHeEJSa3R6Vm1Od1lrdExkbEZVVERscEwybFBTVUZpZFRkNgpNWFJtZVc1 -aVIzbEJVVkVLTURsbk4ySjVNRFpqUVcwM2FVMWxNakpzWkhsbFFVRkJRVUZCUVVG +VVZDUVZGVlFVSkoKU1VKQlRFRnBiRWhaYlZGWk9WTXZTREpOVURCS1dtdElUSGh4 +YkVKemFIcHRhMkZXWlVOdE9IaHlhRXBUYWxWeApURTRLV1RKa2IySTRORGxCT0M5 +eldYbHpkRlpIYTNWeVlYWjFWa0YyTlVoUlIxUnRVVEJ1ZEVVM1ZteFBTbkJDClFp +dHVTM05TVjFWQldqaHJjalJJYUVGS2JBcEhNa2RwY2s5M1MySlJiazV5VEM5bVpV +SXJRVzkwVVZSS2NVVmoKUzNSNFZYTlRabXM1ZEUxQ2NESkZTV2d2WnpCWFlWWXJh +azlqU1dwRlVscGpibFU0Q2tWTGNDOTZRazR3VUd0RAplV3RYVUM4emVrcExZVlpq +VUdGSUx6UjViSEpTV0dWaVkwTmliRlJhVDJoTE9XSk1kVU56ZVdWUGNrWkVjamRZ +ClkxZHpla3dLVmpFcllsTlROVlowYm5CUE0wMW5OVGczTWpCTmVYcE9VUzl5U0Vo +SVUwMXNOMHh2UnpkV01rbDMKWW5oQ2MwMHJVbkJDVDFoaGRHVlVkQ3MzTUhSdGFB +cFphU3RKY0ZSWldHdGFjVmQ0ZDI1bWQyTkRRa1pWZW5RMgpWa3N2UWtaRU0xRlpO +Rk41VGtWM1owRlpTa3R2V2tsb2RtTk9RVkZqUWsxQ01FZERWME5IQ2xOQlJteEJk +MUZDClFXZFJVVzFKWjJGUlkyVnhXREJ4Y2tsSWFHRmFNR3hHYjJGRFFVSkpSMmRw +VUZwbFJFSjJZWHBvTUVaWmJtRk8KV0dOVFlsQTVhMVlLUVhjMk16SnNPWHBwVW5s +RFJqZFhaM1JQUkVrM1kyWXlXazVWV2k5UlFsQlpVbThyYlhJMApibk5OU0d4R2NV +UldOMWMwV2pWaVdtbEZZMU50YmpBeE53cEZORFJOZG5nM2MzZHVXbmRvVHpkRFYx +TjVVR2xtClduRnVTRVJxZWtaTlVHVjVSM1pqYzB0alRXeEZRa0pWTWxSRFJqWlhj +SE42YjBvMllXUnlTMGhOQ21KdVlVb3YKZWtaaFVtVlNMMjFhUlVsWWRGQnZXV3RG +WmtjeVlYRnFhMEpqUVVOaGJHMUViVGQzZHpKclNHcEZZamRGV0cwNQpWbUZXTlZO +UWFWVm5VVkVLZVhwSmRDdEtOV2R4WmpSWGFUSkRhbFZPZDI5R1VVRkJRVUZCUVVG QlFVRkJRVUU5CkNnb0FBQUFBQUFDZ2dnTmlNSUlEWGpDQ0FrYWdBd0lCQWdJQkhq QU5CZ2txaGtpRzl3MEJBUXNGQURCa01Rc3cKQ1FZRFZRUUdFd0pWVXpFVE1CRUdB MVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5UVzkxYm5SaAphVzRn Vm1sbGR6RVNNQkFHQTFVRUNoTUpRazlIVlZNZ1RsTlRNUlF3RWdZRFZRUURFd3RP -VTFNZ1ZHVnpkQ0JEClFUQWVGdzB5TWpFeU1Ua3hNVEkxTkRCYUZ3MHlOekV5TVRr -eE1USTFOREJhTUlHQU1Rc3dDUVlEVlFRR0V3SlYKVXpFVE1CRUdBMVVFQ0JNS1Ey +VTFNZ1ZHVnpkQ0JEClFUQWVGdzB5TXpFeE1qRXlNRFV3TXpaYUZ3MHlPREV4TWpF +eU1EVXdNelphTUlHQU1Rc3dDUVlEVlFRR0V3SlYKVXpFVE1CRUdBMVVFQ0JNS1Ey RnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5UVzkxYm5SaGFXNGdWbWxsZHpFUwpN QkFHQTFVRUNoTUpRazlIVlZNZ1RsTlRNU0F3SGdZSktvWklodmNOQVFrQkZoRkJi R2xqWlVCbGVHRnRjR3hsCkxtTnZiVEVPTUF3R0ExVUVBeE1GUVd4cFkyVXdnZ0Vp -TUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUsKQW9JQkFRQzdnUzBDYXFj -RzNRUnlENkNDTVVQN2JISTczS1RyTk9UTHdwZTZCT2l1YzJkUHhQK1ZBOS92eG4r -aQpDR1k1eE02ZC9FVFpnU0c5bU9oeEdZT1BlYTBwWGJXNk54VTF5cG5HT2tLR295 -cDRwWnE0SnJIOVRLU3c4YUZICjVPOHNGOGZNZUtYb3dOSVM3VlFHdnQrVjlEOFFj -cStOZG9hYjdaSlk3K2hUdlQ2SDFUZkJ3VkZ5K2hVbHRVZjYKQnFTM09wdzdxVW5I -VUorWnFKSUR1NERIR1BRejNTeWNVcW5PQ1E3Rk1xczdvNVRUY0RaVVhhOUFGbSty -R3V0NgpQc2xhYzBTYUFMOUhHditGd0JGT1ZQSmcyRTNXbmZrcklBMUFMMTBmaVZk -MjhyTzdaYnJqQ3ErajFLNzlIc0VrCk5PMTByVVFwKy8zb1d4UTViTUpvV0U1Sk5C -dkRBZ01CQUFFd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFEbUoKMXNRZTVkbHdK -ZHBmdE9xbkNQQ1IzUVZxUC9OOGVtdFRjNitHVDZySnI1cHc2WkJ1ZmtGRjM4cUcy -alV0ZlpsagoxVVZCL2JaTHlEUitYbkwxb0NWWmlESnFkU2sxL3I4Q2dwaDBEVHdo -UE9OYWZpK1hLMkpmM0dhUnl5YXlocnBjCjFvR240SUppMUh2UXNLNUplSWl2NkhF -NzRCYmhjajl2VDYzbzM1WGd1VUs1MGhaTU0xQ0NoSTBWSFpVWkdHLzEKOU85Smxy -T1E5WEtsZWR1YXRuSEs0dmM2cUdtOVpiOTJnaEJyQWJaSzZocFlLVUpjM1p6cUdl -ZThqOWlvR3g2aQpVQ0gwV1NTWDFwRXRkdnpnTUF3ZlZTREFjc2RZVkhPYU1VMkRo -T0xZeVozUWN6dlF6TTRXcTBtNXM1RGhlbjhRCkp3S3RuRkNoY2Z6VFpMOGNYS2N4 -Z2dMSk1JSUN4UUlCQVRCcE1HUXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWUQKVlFR +TUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUsKQW9JQkFRQ2V1bUVURDhn +ZVY0NGVhZXNXT3BoWTEvQ3VkcVNmMVVlOGxXSUt2STdRWTQ2bEpRVXR0Sk1DWFRu +cApxZUhyeElPK2pPNVlYNXNyYTZPeTBwVmR2TGxGZnhKaHk1elcvWFBSWXdZT3ZW +TGw5RDkwOFNiTzZJdGJwS3pnCko0dCthVDRYZXBvL3BnWm9RdXhtZ1N6cDlSeVhj +VTh3eC96VXAxaklXWExkV1BhMGRVVmp4R3dsYWdQMURPdGEKbHhhVEhJdmxFUHk0 +TzJNWTYzNk1KVm5VRW5zN1VEOG1qR0tUdGhtMlRmbTluV2k5aWdCRHRBSE5PSHVD +cUdxSwpJUDJZUml2Q1FLcmpwSUt6N0pkNXA0WFl6cTJVTlpXdUd0NHl6Yk96Q2FV +VXNKbDg2djRnREN4S0I3UHV2cXpuCnE4dEZCN2s3QmFBOUZISkRmZEFodXgzdHlZ +dmRBZ01CQUFFd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFJZEUKcjlKTjkvQzZv +anlVWWd6aGwxRU0xcGZMays2U1p0Ti9pWHdTNXBlTW9sYkRMbVZyOU4wN0dtcURt +MXQvdVRVQgpiSUR6d0pVcU5DY3llcGVwdDRQK3BwUlFOVE1Zai9ZdTNFMW5OeGpr +RnBUazlxNjhlV1VOMnJnZW1PNVI4aWk2Cm0rUHZWZDJ4ZSsrZFZzTmlBNWxjTnRa +RXE1dkxkdkpoNmVHNkJNdXgzYnNEajlXUjR1NzNldVdrbHBkTG9TSjcKRVNwRDBv +MThTRDFsck1yZE5pVUNWQU15bjhqSnZ2WlpVSW1Zc25VOUt4c01xV21JdzdNdE12 +d25Hd2hFRWhOWQp1UXNSdnBtTXNGdThLQnIwcUF2NWFlblBUcVI2cFJ1MDZEb0VH +TUU2SmZEWTlqbG85VTFFSmwwdTZPN0dQQ293CjNzbG1jT1pEUFFNZjNiUnVuYjh4 +Z2dMbk1JSUM0d0lCQVRCcE1HUXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWUQKVlFR SUV3cERZV3hwWm05eWJtbGhNUll3RkFZRFZRUUhFdzFOYjNWdWRHRnBiaUJXYVdW M01SSXdFQVlEVlFRSwpFd2xDVDBkVlV5Qk9VMU14RkRBU0JnTlZCQU1UQzA1VFV5 -QlVaWE4wSUVOQkFnRWVNQWtHQlNzT0F3SWFCUUNnCmdnRTFNQmdHQ1NxR1NJYjNE -UUVKQXpFTEJna3Foa2lHOXcwQkJ3RXdJd1lKS29aSWh2Y05BUWtFTVJZRUZPUUkK -RXZ6Qk4rT1BJcVArMEJURkJNaEw4UlVoTUhnR0NTc0dBUVFCZ2pjUUJERnJNR2t3 -WkRFTE1Ba0dBMVVFQmhNQwpWVk14RXpBUkJnTlZCQWdUQ2tOaGJHbG1iM0p1YVdF -eEZqQVVCZ05WQkFjVERVMXZkVzUwWVdsdUlGWnBaWGN4CkVqQVFCZ05WQkFvVENV -SlBSMVZUSUU1VFV6RVVNQklHQTFVRUF4TUxUbE5USUZSbGMzUWdRMEVDQVI0d2Vn -WUwKS29aSWh2Y05BUWtRQWdzeGE2QnBNR1F4Q3pBSkJnTlZCQVlUQWxWVE1STXdF -UVlEVlFRSUV3cERZV3hwWm05eQpibWxoTVJZd0ZBWURWUVFIRXcxTmIzVnVkR0Zw -YmlCV2FXVjNNUkl3RUFZRFZRUUtFd2xDVDBkVlV5Qk9VMU14CkZEQVNCZ05WQkFN -VEMwNVRVeUJVWlhOMElFTkJBZ0VlTUEwR0NTcUdTSWIzRFFFQkFRVUFCSUlCQUJO -dmNFQngKUzFMdDRrdndvZTE0WGV6cWxYb25iOENDU0E4WDFtTlVQb3Zyc3hoVlhx -RU8zMUdHbG05Q1FIWFVrc1VLVzBzUwo5emJ5TUZ2VVRQMU9haENRWkxlSGRqcWdq -YU9IY1BBaEdnK1dFMHFuaFd5UWFqT0Q3S0h1a21OeGYwdnF4cWFZCmRpaFV0UHVl -RnBpSHdmdHdiZW12d2xJYnNyYVFnRmJ4TTBYc2NNQTFSeU5RRERJT21PeCtTYitw -TC9sdmdzaXQKMzR5dDd6WWF6YlJPUHhGeGtLVmt3RG81bTIwSnZEeC9LZEE1QWls -Nkt2TmZ3WGkrd04xdE50aUMwSllLeittTwprcnQyWDh3VlQ3dDBmNFY5SmtjY2FP -K0VIdXM1dGxxRGZOb0d5MEZqd1NUVjJ1a2xKZkRtT1REMEVYY095aFZ4Cm9TOFV3 -RjBWUnVOaERJa0FBQUFBQUFBPQoAAAAAAACgggNfMIIDWzCCAkOgAwIBAgIBMjAN -BgkqhkiG9w0BAQsFADBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p -YTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMgTlNTMRQw -EgYDVQQDEwtOU1MgVGVzdCBDQTAeFw0yMjEyMTkxMTI1NDdaFw0yNzEyMTkxMTI1 -NDdaMH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH -Ew1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxHzAdBgkqhkiG9w0B -CQEWEERhdmVAZXhhbXBsZS5jb20xDTALBgNVBAMTBERhdmUwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQD2xL/sFH8a0BNCrY26EzCsdU47zS+efKXqHgA0 -5XvyoOu/422gxErTWnqKLh8wYjQOvZ06op2XNRL+v3p7x7CMS3RoU3tWSlhjiHQO -tdlrhD1zgDN+hpEo7t84kMX0HHvG5Jrq+WsLgtvXI5TizVvNhiDYB1rxIWbzHB/i -0mOsbfPrHvDk0GYY6XIneijWKoKe//JXFGCKxNZD+0EINBESr6YW4n9/xJpuaPIc -NvwYi4ROPZtswbfbawwRSkQBhjRtGqqcEoan3hst61BAm76D1IecvtBd3GW3P6sU -N5S74B4xgd12uGjz3iSZnPJ4NygBmgw8tbEQgjxK/yMrFzx3AgMBAAEwDQYJKoZI -hvcNAQELBQADggEBAHLDMJIJxuW+nF6ldicrcqqSrNYUW5+yXazSCIduZAm2f76F -QzjoGybwU1Sjolb38CwfDW1oWhQPjKsiiRF2YBfkKQU6d1aHUrNTYkjTSmBb4nP/ -T8T9/zPv+hzjKCqswTTCKRs8cW9FO2Xoo8+cXk10mqgHxdSY7m7zaLTRYtNs4KJe -zNcN8KAxPOM9EWPHjwojXUy1R8MODeYPUqWfHIiNiRtJZuANk6wSjk8ZK9xtI9Dx -nUjk7A98mE1DrGtin8Ba6hL7htqPfc4NunfJYBoIgy93dZyfuBfPsvOKMwmYpFnv -SHlDjg7wRi6ziPDWkL8F2aS7nUjoTQAbr8TIDSQxggLJMIICxQIBATBpMGQxCzAJ -BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFp -biBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENB -AgEyMAkGBSsOAwIaBQCgggE1MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwIwYJ -KoZIhvcNAQkEMRYEFHy2o1UuyiSWhGVFWb1ldXffTU2cMHgGCSsGAQQBgjcQBDFr -MGkwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcT -DU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNT -IFRlc3QgQ0ECATIwegYLKoZIhvcNAQkQAgsxa6BpMGQxCzAJBgNVBAYTAlVTMRMw -EQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYD -VQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEyMA0GCSqGSIb3 -DQEBAQUABIIBAIHqrCZ2MI7Ug7EgGC97LEKpEFEi7BTSz33xXu64lo5D48yWEpgM -pZHODCQ8jQEeDOGyMHdaHLHTyi9jT4lny0mAlpxhdBbQao5Sh50slIjXHdFQeRQs -bIrveEBX3YizLnuvPp3CA5tB9ETC6Ob/ngWLl9lmScLLmxPpeijXCiRgpyJA+boO -R7RIabrKbRjtliLGgtUU518uxGsCem6Ey8Z138xaDFvQH6wIj7QjtDxjmVKk9Fhc -lXv0jZDHGjUohBi2vxa139KFNw0gqrgj2k03TekKkfDTCbvIF1FEpw8gK1y6Edmo -yw3auH5nJXUiwQ/xko2Gw2qVNkcJWq5RT58AAAAAAAA= +QlVaWE4wSUVOQkFnRWVNQWtHQlNzT0F3SWFCUUNnCmdnRlRNQmdHQ1NxR1NJYjNE +UUVKQXpFTEJna3Foa2lHOXcwQkJ3RXdIQVlKS29aSWh2Y05BUWtGTVE4WERUSXoK +TVRFeU1USXdOVEl3Tmxvd0l3WUpLb1pJaHZjTkFRa0VNUllFRko2VFZVNFZLbG1o +eER6aDBBdXFhT2Y5b3ZaMgpNSGdHQ1NzR0FRUUJnamNRQkRGck1Ha3daREVMTUFr +R0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtCmIzSnVhV0V4RmpBVUJn +TlZCQWNURFUxdmRXNTBZV2x1SUZacFpYY3hFakFRQmdOVkJBb1RDVUpQUjFWVElF +NVQKVXpFVU1CSUdBMVVFQXhNTFRsTlRJRlJsYzNRZ1EwRUNBUjR3ZWdZTEtvWklo +dmNOQVFrUUFnc3hhNkJwTUdReApDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJ +RXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MU5iM1Z1CmRHRnBiaUJXYVdW +M01SSXdFQVlEVlFRS0V3bENUMGRWVXlCT1UxTXhGREFTQmdOVkJBTVRDMDVUVXlC +VVpYTjAKSUVOQkFnRWVNQTBHQ1NxR1NJYjNEUUVCQVFVQUJJSUJBQkk4S2xtM3pR +ZVpOV205cURwUDRlb0lkMmtsRTN3MApWbW1FYi9vUFdZdDgydysrWlhjWDJLam9J +NU0xazRaVVdlQXAzMUx5czF4QndCTEdJR2FMcHY0KzhKQ3cwWFVBCm5wand6eWtN +SWlqUG5zS2d1eWZ0QzluVXdWcHN4S3djNlhLelJUUExsbW5QRWwxU3pMZ1ZEeW1T +ZWhldU8yZWcKdE9udnNoZW9LZ0FxUWhmeUtjTEMwa1lRR3lsL2dBaEhkNFBWTXI5 +N2dsQUpsWWtNN2ZIdFVsRXcya0Q3NW1ZNwpyaE1aSnNLcktXMEZobWE3b1BqaGdk +cDlhdmQ5ZEtPYW5oSFV1bGd4czQxeWFWa3c4VUxCUnZLdTEzU3NTNnlmCkxqSkcv +MlcxQmRrSldzTGhqbmYvak1kOHlmdzZaNUV2YzQ3N1BxbmJQK2sxYjBsSTJxMnFO +K3NBQUFBQUFBQT0KAAAAAAAAoIIDXzCCA1swggJDoAMCAQICATIwDQYJKoZIhvcN +AQELBQAwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNV +BAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxML +TlNTIFRlc3QgQ0EwHhcNMjMxMTIxMjA1MDQzWhcNMjgxMTIxMjA1MDQzWjB+MQsw +CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRh +aW4gVmlldzESMBAGA1UEChMJQk9HVVMgTlNTMR8wHQYJKoZIhvcNAQkBFhBEYXZl +QGV4YW1wbGUuY29tMQ0wCwYDVQQDEwREYXZlMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEAyEuiMqsNIXsCPC5I/p0BIZwUH35YAyq1uJxXDWeb81Pdjb+e +d2SBQ4DTDcjKM7YOIq15M5dmfVV9cXmtNYgPjp1gqPcObE2Kqj2CiZLV24reQ6+g +OWW+//5MSAeQ14q1ZWCt3KCku9POL2t9UnUmJHv0YBJ7DVqMZ+PFkHXXXQITEPAV +ECc2kJqceotCoJ7OTZQODarGhZdfn99rszkjzsu9G8fVBaa71cdv9OC1zTUAYNAw +5a2xzUWId0iWbKxW0r1U2syGM7zoliaP0EHDlTXR8KhUxsvGQrVJ/EsKyLrrwEaT +mJy7phRbJNXz/RzB3E6klpJftX+HQuSAUFuyDQIDAQABMA0GCSqGSIb3DQEBCwUA +A4IBAQBjTdnG0HNVY5R3k5JaLHlvdzE4dpRIv8ypUtG8iihBQX0pT4KdI7UGa2r1 +Mar7fHAjaZ+igqCSCYgR6M4uL6bXH77zV0Cb+yHPL/ELRt06qvQNn/jwLcCJ57nB +jtiUmH7iHOsn3fPtN+Ox/Ajw3pAHI+bgR0kYqtda9FL91JJbZbkmv14FSNLzRTzj +EYF8kUdbVgL+MC+GCIEEesD1SfS3Qeu/AIZxJatajmPUJSuNltNaVYp75OWNgFmg +PxN8gKG7RNd6LZeBmZ46jS2Tb52dAqpgrhfOXGk+HzzWTXwOTYZxRQBmHTJJNhT4 +GbR7fGBWgckqO91TRRLA74Wu+a3JMYIC5zCCAuMCAQEwaTBkMQswCQYDVQQGEwJV +UzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzES +MBAGA1UEChMJQk9HVVMgTlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBMjAJBgUr +DgMCGgUAoIIBUzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJ +BTEPFw0yMzExMjEyMDUyMDZaMCMGCSqGSIb3DQEJBDEWBBSHr4cnoWdpElbFRIhR +Loc6lIJBVzB4BgkrBgEEAYI3EAQxazBpMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQI +EwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlC +T0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEyMHoGCyqGSIb3DQEJEAIL +MWugaTBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UE +BxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMgTlNTMRQwEgYDVQQDEwtO +U1MgVGVzdCBDQQIBMjANBgkqhkiG9w0BAQEFAASCAQAkDvW85/xcFRxE4U95Pv7M +kkTLxfdWIapWFQ5wJ4qTDBQ6OlH4lqE3C5XNsQUPtumsvvfYcl8n+meQsp6yGglX +Icqf09FeyR20d2TC2WgrTeS2V1Ye0Rr9qhJRLLOyQ7FsEExYgvcgGA8U1JCG49cm +z6bDRwarUaJyI8rBTISdYCF70MuqSHRtoe4rmx2yAsyrGVUVTP0WyB9yq7UD27Hg +AL7CuHWiD67JbwrfGX5XXVh8CpBUmsQDhB9hCQ2QIZdQMGp9URuXjii/xMZneTh6 +TWIyNF9D3JakhEpukz/7fTPWfLnTDa4jyHhob41ZoIcu0yb7PBYILA7AyIBZksd2 +AAAAAAAA diff --git a/comm/mailnews/test/data/smime/alice.env.sig.SHA1.opaque.eml b/comm/mailnews/test/data/smime/alice.env.sig.SHA1.opaque.eml index 3a727c2c5a4351110edd72a52b1c3d8887a4f748..ddf0eb3d3cbcff8b0b5a13a758bdeeb5f70c3a02 100644 --- a/comm/mailnews/test/data/smime/alice.env.sig.SHA1.opaque.eml +++ b/comm/mailnews/test/data/smime/alice.env.sig.SHA1.opaque.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: enveloped then opaque-signed sig.SHA1 @@ -18,52 +19,52 @@ NkNBTUlBQ0FRQXhnZ0dGTUlJQmdRSUJBREJwTUdReEN6QUpCZ05WQkFZVEFsVlQK TVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MU5iM1Z1 ZEdGcGJpQldhV1YzTVJJdwpFQVlEVlFRS0V3bENUMGRWVXlCT1UxTXhGREFTQmdO VkJBTVRDMDVUVXlCVVpYTjBJRU5CQWdFb01BMEdDU3FHClNJYjNEUUVCQVFVQUJJ -SUJBRXM3SWhST2h1L3dGU3V5cHhXcWZzZUJMS3MxbGhKSms5Y1g3bzd0SjJtY1ZT -akoKcWlCbjhEVnlqWHAwSEFSbmtXVGRZdE5hUnZkQk5uRERkTElyVGwwRnVybXc4 -NWphYW1xaFg3ZG8rbUlndlJQeQpQdkVGaGJlbDl6TlM5b0Z4ZGRXWUJiTVZsNkli -M0FEWHFqVittM3daNDYzaUI0U1N4dklseE9NVWRwbHVFaHVUCmJ1Wkg2QXlTNFRI -T0VNZkpidU02SE9IOTAydEsrUHJ3dUprazFDV1I5bHp0NnRsZjFyUHVVbmEwRXE2 -bjArdTIKYzBQcG92cUVMblNVVWJGMFNwVFM0cEpVNFdoSVZwWlBvdXpPU3J2WWdV -NE5JZDdrZkpXL2JkUVFsdHNCc3JjTgp3VkdlL1NRVCtid2daaUpRYW9jdUZ5bEk0 -aXlLN0ROTXVjYVdsa013Z0FZSktvWklodmNOQVFjQk1CMEdDV0NHClNBRmxBd1FC -QWdRUUNUdE1SS2N2a1BuOTdCVVhWZGZ0cDZDQUJJR2dwMkZMek1TUUZvcGF0STZN -RVltMExTYjIKaWhTVHRjY0lIMkFST0VCRDBpK01YOFlUeXArM1NBWlBFQUlhd2F2 -VmltcW14ZkhTSG1LWFJqTzNZd2pwMyt5TwpoVHZGNVNqYVNneHBQazhMMFB5aDVu -MlJLK0RFb1VrMXZVdTV4dWZPaWdWaEk5WDZ4VmhjZ3BaQlBKa0NtVXllCmNvV2JY -bUFndlpyc1hiZmtTQjZaWHF4ZlZWbGxBRktzVmNwYktLdlFUTDlpL2lPSUFidTd6 -MXRmeW5iR3lBUVEKMDlnN2J5MDZjQW03aU1lMjJsZHllQUFBQUFBQUFBQUFBQUE9 +SUJBTEFpbEhZbVFZOVMvSDJNUDBKWmtITHhxbEJzaHpta2FWZUNtOHhyaEpTalVx +TE4KWTJkb2I4NDlBOC9zWXlzdFZHa3VyYXZ1VkF2NUhRR1RtUTBudEU3VmxPSnBC +QituS3NSV1VBWjhrcjRIaEFKbApHMkdpck93S2JRbk5yTC9mZUIrQW90UVRKcUVj +S3R4VXNTZms5dE1CcDJFSWgvZzBXYVYrak9jSWpFUlpjblU4CkVLcC96Qk4wUGtD +eWtXUC8zekpLYVZjUGFILzR5bHJSWGViY0NibFRaT2hLOWJMdUNzeWVPckZEcjdY +Y1dzekwKVjErYlNTNVZ0bnBPM01nNTg3MjBNeXpOUS9ySEhIU01sN0xvRzdWMkl3 +YnhCc00rUnBCT1hhdGVUdCs3MHRtaApZaStJcFRZWGtacVd4d25md2NDQkZVenQ2 +VksvQkZEM1FZNFN5TkV3Z0FZSktvWklodmNOQVFjQk1CMEdDV0NHClNBRmxBd1FC +QWdRUW1JZ2FRY2VxWDBxcklIaGFaMGxGb2FDQUJJR2dpUFplREJ2YXpoMEZZbmFO +WGNTYlA5a1YKQXc2MzJsOXppUnlDRjdXZ3RPREk3Y2YyWk5VWi9RQlBZUm8rbXI0 +bnNNSGxGcURWN1c0WjViWmlFY1NtbjAxNwpFNDRNdng3c3duWndoTzdDV1N5UGlm +WnFuSERqekZNUGV5R3Zjc0tjTWxFQkJVMlRDRjZXcHN6b0o2YWRyS0hNCmJuYUov +ekZhUmVSL21aRUlYdFBvWWtFZkcyYXFqa0JjQUNhbG1EbTd3dzJrSGpFYjdFWG05 +VmFWNVNQaVVnUVEKeXpJdCtKNWdxZjRXaTJDalVOd29GUUFBQUFBQUFBQUFBQUE9 CgoAAAAAAACgggNiMIIDXjCCAkagAwIBAgIBHjANBgkqhkiG9w0BAQsFADBkMQsw CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRh aW4gVmlldzESMBAGA1UEChMJQk9HVVMgTlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBD -QTAeFw0yMjEyMTkxMTI1NDBaFw0yNzEyMTkxMTI1NDBaMIGAMQswCQYDVQQGEwJV +QTAeFw0yMzExMjEyMDUwMzZaFw0yODExMjEyMDUwMzZaMIGAMQswCQYDVQQGEwJV UzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzES 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 -oS8UwF0VRuNhDIkAAAAAAAA= +ggFTMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIz +MTEyMTIwNTIwNlowIwYJKoZIhvcNAQkEMRYEFJ6TVU4VKlmhxDzh0AuqaOf9ovZ2 +MHgGCSsGAQQBgjcQBDFrMGkwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm +b3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5T +UzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0ECAR4wegYLKoZIhvcNAQkQAgsxa6BpMGQx +CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3Vu +dGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0 +IENBAgEeMA0GCSqGSIb3DQEBAQUABIIBABI8Klm3zQeZNWm9qDpP4eoId2klE3w0 +VmmEb/oPWYt82w++ZXcX2KjoI5M1k4ZUWeAp31Lys1xBwBLGIGaLpv4+8JCw0XUA +npjwzykMIijPnsKguyftC9nUwVpsxKwc6XKzRTPLlmnPEl1SzLgVDymSeheuO2eg +tOnvsheoKgAqQhfyKcLC0kYQGyl/gAhHd4PVMr97glAJlYkM7fHtUlEw2kD75mY7 +rhMZJsKrKW0Fhma7oPjhgdp9avd9dKOanhHUulgxs41yaVkw8ULBRvKu13SsS6yf +LjJG/2W1BdkJWsLhjnf/jMd8yfw6Z5Evc477PqnbP+k1b0lI2q2qN+sAAAAAAAA= diff --git a/comm/mailnews/test/data/smime/alice.env.sig.SHA256.opaque.dave.sig.SHA256.opaque.eml b/comm/mailnews/test/data/smime/alice.env.sig.SHA256.opaque.dave.sig.SHA256.opaque.eml index fab104fdb829d0f3b8887c222867c7953da248af..3835411fdd2961386970d844214d92996b807115 100644 --- a/comm/mailnews/test/data/smime/alice.env.sig.SHA256.opaque.dave.sig.SHA256.opaque.eml +++ b/comm/mailnews/test/data/smime/alice.env.sig.SHA256.opaque.dave.sig.SHA256.opaque.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Dave@example.com To: Bob@example.com Subject: enveloped then opaque-signed sig.SHA256 then opaque signed by dave @@ -9,7 +10,7 @@ Content-Disposition: attachment; filename=smime.p7m Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0B -BwGggCSABIIPikNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vcGtjczctbWltZTsg +BwGggCSABIIPs0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vcGtjczctbWltZTsg bmFtZT1zbWltZS5wN207CiAgICBzbWltZS10eXBlPXNpZ25lZC1kYXRhCkNvbnRl bnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJhc2U2NApDb250ZW50LURpc3Bvc2l0aW9u OiBhdHRhY2htZW50OyBmaWxlbmFtZT1zbWltZS5wN20KQ29udGVudC1EZXNjcmlw @@ -27,103 +28,105 @@ UW1kT1ZrSkJXVlJCCmJGWlVDazFTVFhkRlVWbEVWbEZSU1VWM2NFUlpWM2h3V20w NWVXSnRiR2hOVWxsM1JrRlpSRlpSVVVoRmR6Rk8KWWpOV2RXUkhSbkJpYVVKWFlW ZFdNMDFTU1hjS1JVRlpSRlpSVVV0RmQyeERWREJrVmxWNVFrOVZNVTE0UmtSQgpV MEpuVGxaQ1FVMVVRekExVkZWNVFsVmFXRTR3U1VWT1FrRm5SVzlOUVRCSFExTnhS -d3BUU1dJelJGRkZRa0ZSClZVRkNTVWxDUVVWek4wbG9VazlvZFM5M1JsTjFlWEI0 -VjNGbWMyVkNURXR6TVd4b1NrcHJPV05ZTjI4M2RFb3kKYldOV1UycEtDbkZwUW00 -NFJGWjVhbGh3TUVoQlVtNXJWMVJrV1hST1lWSjJaRUpPYmtSRVpFeEpjbFJzTUVa -MQpjbTEzT0RWcVlXRnRjV2hZTjJSdksyMUpaM1pTVUhrS1VIWkZSbWhpWld3NWVr -NVRPVzlHZUdSa1YxbENZazFXCmJEWkpZak5CUkZoeGFsWXJiVE4zV2pRMk0ybENO -Rk5UZUhaSmJIaFBUVlZrY0d4MVJXaDFWQXBpZFZwSU5rRjUKVXpSVVNFOUZUV1pL -WW5WTk5raFBTRGt3TW5STEsxQnlkM1ZLYTJzeFExZFNPV3g2ZERaMGJHWXhjbEIx -Vlc1aApNRVZ4Tm00d0szVXlDbU13VUhCdmRuRkZURzVUVlZWaVJqQlRjRlJUTkhC -S1ZUUlhhRWxXY0ZwUWIzVjZUMU55CmRsbG5WVFJPU1dRM2EyWktWeTlpWkZGUmJI -UnpRbk55WTA0S2QxWkhaUzlUVVZRclluZG5XbWxLVVdGdlkzVkcKZVd4Sk5HbDVT -emRFVGsxMVkyRlhiR3ROZDJkQldVcExiMXBKYUhaalRrRlJZMEpOUWpCSFExZERS -d3BUUVVacwpRWGRSUWtGblVWRkRWSFJOVWt0amRtdFFiamszUWxWWVZtUm1kSEEy -UTBGQ1NVZG5jREpHVEhwTlUxRkdiM0JoCmRFazJUVVZaYlRCTVUySXlDbWxvVTFS -MFkyTkpTREpCVWs5RlFrUXdhU3ROV0RoWlZIbHdLek5UUVZwUVJVRkoKWVhkaGRs -WnBiWEZ0ZUdaSVUwaHRTMWhTYWs4eldYZHFjRE1yZVU4S2FGUjJSalZUYW1GVFoz -aHdVR3M0VERCUQplV2cxYmpKU1N5dEVSVzlWYXpGMlZYVTFlSFZtVDJsblZtaEpP -VmcyZUZab1kyZHdXa0pRU210RGJWVjVaUXBqCmIxZGlXRzFCWjNaYWNuTllZbVpy -VTBJMldsaHhlR1pXVm14c1FVWkxjMVpqY0dKTFMzWlJWRXc1YVM5cFQwbEIKWW5V -M2VqRjBabmx1WWtkNVFWRlJDakE1WnpkaWVUQTJZMEZ0TjJsTlpUSXliR1I1WlVG +d3BUU1dJelJGRkZRa0ZSClZVRkNTVWxDUVV4QmFXeElXVzFSV1RsVEwwZ3lUVkF3 +U2xwclNFeDRjV3hDYzJoNmJXdGhWbVZEYlRoNGNtaEsKVTJwVmNVeE9DbGt5Wkc5 +aU9EUTVRVGd2YzFsNWMzUldSMnQxY21GMmRWWkJkalZJVVVkVWJWRXdiblJGTjFa +cwpUMHB3UWtJcmJrdHpVbGRWUVZvNGEzSTBTR2hCU213S1J6SkhhWEpQZDB0aVVX +NU9ja3d2Wm1WQ0swRnZkRkZVClNuRkZZMHQwZUZWelUyWnJPWFJOUW5BeVJVbG9M +MmN3VjJGV0sycFBZMGxxUlZKYVkyNVZPQXBGUzNBdmVrSk8KTUZCclEzbHJWMUF2 +TTNwS1MyRldZMUJoU0M4MGVXeHlVbGhsWW1ORFlteFVXazlvU3psaVRIVkRjM2xs +VDNKRwpSSEkzV0dOWGMzcE1DbFl4SzJKVFV6VldkRzV3VHpOTlp6VTROekl3VFhs +NlRsRXZja2hJU0ZOTmJEZE1iMGMzClZqSkpkMko0UW5OTksxSndRazlZWVhSbFZI +UXJOekIwYldnS1dXa3JTWEJVV1ZoclduRlhlSGR1Wm5kalEwSkcKVlhwME5sWkxM +MEpHUkROUldUUlRlVTVGZDJkQldVcExiMXBKYUhaalRrRlJZMEpOUWpCSFExZERS +d3BUUVVacwpRWGRSUWtGblVWRnRTV2RoVVdObGNWZ3djWEpKU0doaFdqQnNSbTlo +UTBGQ1NVZG5hVkJhWlVSQ2RtRjZhREJHCldXNWhUbGhqVTJKUU9XdFdDa0YzTmpN +eWJEbDZhVko1UTBZM1YyZDBUMFJKTjJObU1scE9WVm92VVVKUVdWSnYKSzIxeU5H +NXpUVWhzUm5GRVZqZFhORm8xWWxwcFJXTlRiVzR3TVRjS1JUUTBUWFo0TjNOM2Js +cDNhRTgzUTFkVAplVkJwWmxweGJraEVhbnBHVFZCbGVVZDJZM05MWTAxc1JVSkNW +VEpVUTBZMlYzQnplbTlLTm1Ga2NrdElUUXBpCmJtRktMM3BHWVZKbFVpOXRXa1ZK +V0hSUWIxbHJSV1pITW1GeGFtdENZMEZEWVd4dFJHMDNkM2N5YTBocVJXSTMKUlZo +dE9WWmhWalZUVUdsVloxRlJDbmw2U1hRclNqVm5jV1kwVjJreVEycFZUbmR2UmxG QlFVRkJRVUZCUVVGQgpRVUZCUFFvS0FBQUFBQUFBb0lJRFlqQ0NBMTR3Z2dKR29B TUNBUUlDQVI0d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClpERUxNQWtHQTFVRUJoTUNW Vk14RXpBUkJnTlZCQWdUQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05WQkFjVERVMXYK ZFc1MFlXbHVJRlpwWlhjeEVqQVFCZ05WQkFvVENVSlBSMVZUSUU1VFV6RVVNQklH -QTFVRUF4TUxUbE5USUZSbApjM1FnUTBFd0hoY05Nakl4TWpFNU1URXlOVFF3V2hj -Tk1qY3hNakU1TVRFeU5UUXdXakNCZ0RFTE1Ba0dBMVVFCkJoTUNWVk14RXpBUkJn +QTFVRUF4TUxUbE5USUZSbApjM1FnUTBFd0hoY05Nak14TVRJeE1qQTFNRE0yV2hj +Tk1qZ3hNVEl4TWpBMU1ETTJXakNCZ0RFTE1Ba0dBMVVFCkJoTUNWVk14RXpBUkJn TlZCQWdUQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05WQkFjVERVMXZkVzUwWVdsdUlG WnAKWlhjeEVqQVFCZ05WQkFvVENVSlBSMVZUSUU1VFV6RWdNQjRHQ1NxR1NJYjNE UUVKQVJZUlFXeHBZMlZBWlhoaApiWEJzWlM1amIyMHhEakFNQmdOVkJBTVRCVUZz YVdObE1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBCk1JSUJDZ0tDQVFF -QXU0RXRBbXFuQnQwRWNnK2dnakZEKzJ4eU85eWs2elRreThLWHVnVG9ybk5uVDhU -L2xRUGYKNzhaL29naG1PY1RPbmZ4RTJZRWh2WmpvY1JtRGozbXRLVjIxdWpjVk5j -cVp4anBDaHFNcWVLV2F1Q2F4L1V5awpzUEdoUitUdkxCZkh6SGlsNk1EU0V1MVVC -cjdmbGZRL0VIS3ZqWGFHbSsyU1dPL29VNzAraDlVM3djRlJjdm9WCkpiVkgrZ2Fr -dHpxY082bEp4MUNmbWFpU0E3dUF4eGowTTkwc25GS3B6Z2tPeFRLck82T1UwM0Ey -VkYydlFCWnYKcXhycmVqN0pXbk5FbWdDL1J4ci9oY0FSVGxUeVlOaE4xcDM1S3lB -TlFDOWRINGxYZHZLenUyVzY0d3F2bzlTdQovUjdCSkRUdGRLMUVLZnY5NkZzVU9X -ekNhRmhPU1RRYnd3SURBUUFCTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCCkFRQTVp -ZGJFSHVYWmNDWGFYN1RxcHdqd2tkMEZhai96ZkhwclUzT3ZoaytxeWErYWNPbVFi -bjVCUmQvS2h0bzEKTFgyWlk5VkZRZjIyUzhnMGZsNXk5YUFsV1lneWFuVXBOZjYv -QW9LWWRBMDhJVHpqV240dmx5dGlYOXhta2NzbQpzb2E2WE5hQnArQ0NZdFI3MExD -dVNYaUlyK2h4TytBVzRYSS9iMCt0Nk4rVjRMbEN1ZElXVEROUWdvU05GUjJWCkdS -aHY5ZlR2U1phemtQVnlwWG5ibXJaeHl1TDNPcWhwdldXL2RvSVFhd0cyU3VvYVdD -bENYTjJjNmhubnZJL1kKcUJzZW9sQWg5RmtrbDlhUkxYYjg0REFNSDFVZ3dITEhX -RlJ6bWpGTmc0VGkyTW1kMEhNNzBNek9GcXRKdWJPUQo0WHAvRUNjQ3JaeFFvWEg4 -MDJTL0hGeW5NWUlDMlRDQ0F0VUNBUUV3YVRCa01Rc3dDUVlEVlFRR0V3SlZVekVU +QW5ycGhFdy9JSGxlT0htbnJGanFZV05md3JuYWtuOVZIdkpWaUNyeU8wR09PcFNV +RkxiU1QKQWwwNTZhbmg2OFNEdm96dVdGK2JLMnVqc3RLVlhieTVSWDhTWWN1YzF2 +MXowV01HRHIxUzVmUS9kUEVtenVpTApXNlNzNENlTGZtaytGM3FhUDZZR2FFTHNa +b0VzNmZVY2wzRlBNTWY4MUtkWXlGbHkzVmoydEhWRlk4UnNKV29ECjlRenJXcGNX +a3h5TDVSRDh1RHRqR090K2pDVloxQko3TzFBL0pveGlrN1ladGszNXZaMW92WW9B +UTdRQnpUaDcKZ3FocWlpRDltRVlyd2tDcTQ2U0NzK3lYZWFlRjJNNnRsRFdWcmhy +ZU1zMnpzd21sRkxDWmZPcitJQXdzU2dlego3cjZzNTZ2TFJRZTVPd1dnUFJSeVEz +M1FJYnNkN2NtTDNRSURBUUFCTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCCkFRQ0hS +Sy9TVGZmd3VxSThsR0lNNFpkUkROYVh5NVB1a21iVGY0bDhFdWFYaktKV3d5NWxh +L1RkT3hwcWc1dGIKZjdrMUFXeUE4OENWS2pRbk1ucVhxYmVEL3FhVVVEVXpHSS8y +THR4Tlp6Y1k1QmFVNVBhdXZIbGxEZHE0SHBqdQpVZklvdXB2ajcxWGRzWHZ2blZi +RFlnT1pYRGJXUkt1YnkzYnlZZW5odWdUTHNkMjdBNC9Wa2VMdTkzcmxwSmFYClM2 +RWlleEVxUTlLTmZFZzlaYXpLM1RZbEFsUURNcC9JeWI3MldWQ0ptTEoxUFNzYkRL +bHBpTU96TFRMOEp4c0kKUkJJVFdMa0xFYjZaakxCYnZDZ2E5S2dMK1ducHowNmtl +cVVidE9nNkJCakJPaVh3MlBZNWFQVk5SQ1pkTHVqdQp4andxTU43SlpuRG1RejBE +SDkyMGJwMi9NWUlDOXpDQ0F2TUNBUUV3YVRCa01Rc3dDUVlEVlFRR0V3SlZVekVU Ck1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5UVzkxYm5S aGFXNGdWbWxsZHpFU01CQUcKQTFVRUNoTUpRazlIVlZNZ1RsTlRNUlF3RWdZRFZR UURFd3RPVTFNZ1ZHVnpkQ0JEUVFJQkhqQU5CZ2xnaGtnQgpaUU1FQWdFRkFLQ0NB -VUV3R0FZSktvWklodmNOQVFrRE1Rc0dDU3FHU0liM0RRRUhBVEF2QmdrcWhraUc5 -dzBCCkNRUXhJZ1FnZVlyazZJOXppaldFWG1VNnRhM3I1TU50RXM2Y1YzREFVdFdV -T2MraGJETXdlQVlKS3dZQkJBR0MKTnhBRU1Xc3dhVEJrTVFzd0NRWURWUVFHRXdK -VlV6RVRNQkVHQTFVRUNCTUtRMkZzYVdadmNtNXBZVEVXTUJRRwpBMVVFQnhNTlRX -OTFiblJoYVc0Z1ZtbGxkekVTTUJBR0ExVUVDaE1KUWs5SFZWTWdUbE5UTVJRd0Vn -WURWUVFECkV3dE9VMU1nVkdWemRDQkRRUUlCSGpCNkJnc3Foa2lHOXcwQkNSQUND -ekZyb0drd1pERUxNQWtHQTFVRUJoTUMKVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xt -YjNKdWFXRXhGakFVQmdOVkJBY1REVTF2ZFc1MFlXbHVJRlpwWlhjeApFakFRQmdO -VkJBb1RDVUpQUjFWVElFNVRVekVVTUJJR0ExVUVBeE1MVGxOVElGUmxjM1FnUTBF -Q0FSNHdEUVlKCktvWklodmNOQVFFQkJRQUVnZ0VBcGJ3eVJud0E2a1lGZEhXTVFk -MGo0TFFCK09PSVpqMFpNZnBGMWduUDNWckcKQTJPRW5ScGMyeW1oTUlmdWVEN0lm -NGFUWWZ4VlVsTWEvT2pCUis2SXhFdUVjaVREY1N3OFZBWGswQTVqMkluawpwRElw -UWxKdGt0d3h4ODRXMVBBekhValpFSWFiNjFONlFwMW5QbjhOSkplMFZmTzFaNC9o -RWhVUWNWYTZEajdECmJUWFdXcU00K0xFTCtDVnhhQjJyaHAzODJYM01zMHlzVUE5 -WUdIMFZRMG84cHVXQko4U04zVmQyaTMyU3haeHYKWTZldWNtOTRicWl3YW1LeElC -TThKOGdhai96Z1ZWRzNiRWxuKzYzSnAxUHhnOGx2aDY1cDhObFVjQi9CaWFaVApn -bjZ3bWxTVy8yajRjaEpsUDVGVlk1Z0VjMUlLejhRdFk0SmJKSkl3OWdBQUFBQUFB -QT09CgAAAAAAAKCCA18wggNbMIICQ6ADAgECAgEyMA0GCSqGSIb3DQEBCwUAMGQx -CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3Vu -dGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0 -IENBMB4XDTIyMTIxOTExMjU0N1oXDTI3MTIxOTExMjU0N1owfjELMAkGA1UEBhMC -VVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcx -EjAQBgNVBAoTCUJPR1VTIE5TUzEfMB0GCSqGSIb3DQEJARYQRGF2ZUBleGFtcGxl -LmNvbTENMAsGA1UEAxMERGF2ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBAPbEv+wUfxrQE0KtjboTMKx1TjvNL558peoeADTle/Kg67/jbaDEStNaeoou -HzBiNA69nTqinZc1Ev6/envHsIxLdGhTe1ZKWGOIdA612WuEPXOAM36GkSju3ziQ -xfQce8bkmur5awuC29cjlOLNW82GINgHWvEhZvMcH+LSY6xt8+se8OTQZhjpcid6 -KNYqgp7/8lcUYIrE1kP7QQg0ERKvphbif3/Emm5o8hw2/BiLhE49m2zBt9trDBFK -RAGGNG0aqpwShqfeGy3rUECbvoPUh5y+0F3cZbc/qxQ3lLvgHjGB3Xa4aPPeJJmc -8ng3KAGaDDy1sRCCPEr/IysXPHcCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAcsMw -kgnG5b6cXqV2JytyqpKs1hRbn7JdrNIIh25kCbZ/voVDOOgbJvBTVKOiVvfwLB8N -bWhaFA+MqyKJEXZgF+QpBTp3VodSs1NiSNNKYFvic/9PxP3/M+/6HOMoKqzBNMIp -Gzxxb0U7Zeijz5xeTXSaqAfF1JjubvNotNFi02zgol7M1w3woDE84z0RY8ePCiNd -TLVHww4N5g9SpZ8ciI2JG0lm4A2TrBKOTxkr3G0j0PGdSOTsD3yYTUOsa2KfwFrq -EvuG2o99zg26d8lgGgiDL3d1nJ+4F8+y84ozCZikWe9IeUOODvBGLrOI8NaQvwXZ -pLudSOhNABuvxMgNJDGCAtkwggLVAgEBMGkwZDELMAkGA1UEBhMCVVMxEzARBgNV -BAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoT -CUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0ECATIwDQYJYIZIAWUDBAIB -BQCgggFBMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwLwYJKoZIhvcNAQkEMSIE -IDczLSK8EmLxpNgBv9BwUL/kxw9phhDBbWvfGW9+w1AZMHgGCSsGAQQBgjcQBDFr -MGkwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcT -DU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNT -IFRlc3QgQ0ECATIwegYLKoZIhvcNAQkQAgsxa6BpMGQxCzAJBgNVBAYTAlVTMRMw -EQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYD -VQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEyMA0GCSqGSIb3 -DQEBAQUABIIBAIVjyqc8KHmfNEDwDOP0qSIhsD7FkkB6+YH985OmWSbYfU/CmngR -C+rFu4FWsLYZ+g1KmuIoOURaCPhcM/CFGWDKmJYFUZjbgXMxPPkPxbDjUmN2CJzN -hi7V94Ed4KbpEUr54L/49UcihTaUcn5poTf7xBEktwrJf6fRWq7IVZJM+4vU/xJw -0CcqYxuVj6j2J79ATm01ubcVj+feYwT9c3xO4Pg3EBoBo90LVH95UVqf1BHpPCob -+F+4Y5g02I6qEHAso1+QEj6lbqwN1ec1IuOoO3qebsl9BMbeqeFRJHnrVQejzNLD -s297BzdUYxMX4tStDPr06/TI/Ylo5R9E9QIAAAAAAAA= +Vjh3R0FZSktvWklodmNOQVFrRE1Rc0dDU3FHU0liM0RRRUhBVEFjQmdrcWhraUc5 +dzBCCkNRVXhEeGNOTWpNeE1USXhNakExTWpBM1dqQXZCZ2txaGtpRzl3MEJDUVF4 +SWdRZ1JlMGNxRjVTWFR6MjQwL2kKVFQwR2hvc3J6NldmR2FwcS9VT0swYmtVMHNz +d2VBWUpLd1lCQkFHQ054QUVNV3N3YVRCa01Rc3dDUVlEVlFRRwpFd0pWVXpFVE1C +RUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5UVzkxYm5SaGFX +NGdWbWxsCmR6RVNNQkFHQTFVRUNoTUpRazlIVlZNZ1RsTlRNUlF3RWdZRFZRUURF +d3RPVTFNZ1ZHVnpkQ0JEUVFJQkhqQjYKQmdzcWhraUc5dzBCQ1JBQ0N6RnJvR2t3 +WkRFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1RDa05oYkdsbQpiM0p1YVdF +eEZqQVVCZ05WQkFjVERVMXZkVzUwWVdsdUlGWnBaWGN4RWpBUUJnTlZCQW9UQ1VK +UFIxVlRJRTVUClV6RVVNQklHQTFVRUF4TUxUbE5USUZSbGMzUWdRMEVDQVI0d0RR +WUpLb1pJaHZjTkFRRUJCUUFFZ2dFQU5wQjYKRGwwbWNVUkF1UlB0R1VMbERhdCtS +dllPcFNnVXBvcVRyc004TEp3ZGo3NUJBVE5kRGlYVHJSUWE0aytVOWREQwpUOWt0 +Z2VMWDZ3bXdiQnU0MkVPU1RPNnhQREJTUjdYVUVZV3NhVi9IN0JvdnRLLzFKWk1z +WkVXRmE4REZ1VlRhCnlncWxNV1NoOCs3Y2dWSmlZRVBYNVdTYjEvQm5IZ1A4SnJL +SlNhQkh3OVJnWnZSYzRjb2MxeW5nQjRvRm5ERXYKRFE4NTkrbXk4OEF5UEF2WW9a +cTRMOU1UYzVYVnI0TU9ySExNZSsyMExNeFF6ZFFPdmkveVl6MndFS3pvMGM2Uwp6 +MVZwdFVwbzlFeUVtczdRamk2YVh6cThLcHZpMEJCYmNIMFlaRU5GbWJjdTJEampR +b1V3ZXRyY1ZvR21ma24xCnFJZVgrUzRBc3F0RUJ3aU0xUUFBQUFBQUFBPT0KAAAA +AAAAoIIDXzCCA1swggJDoAMCAQICATIwDQYJKoZIhvcNAQELBQAwZDELMAkGA1UE +BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZp +ZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0EwHhcN +MjMxMTIxMjA1MDQzWhcNMjgxMTIxMjA1MDQzWjB+MQswCQYDVQQGEwJVUzETMBEG +A1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UE +ChMJQk9HVVMgTlNTMR8wHQYJKoZIhvcNAQkBFhBEYXZlQGV4YW1wbGUuY29tMQ0w +CwYDVQQDEwREYXZlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyEui +MqsNIXsCPC5I/p0BIZwUH35YAyq1uJxXDWeb81Pdjb+ed2SBQ4DTDcjKM7YOIq15 +M5dmfVV9cXmtNYgPjp1gqPcObE2Kqj2CiZLV24reQ6+gOWW+//5MSAeQ14q1ZWCt +3KCku9POL2t9UnUmJHv0YBJ7DVqMZ+PFkHXXXQITEPAVECc2kJqceotCoJ7OTZQO +DarGhZdfn99rszkjzsu9G8fVBaa71cdv9OC1zTUAYNAw5a2xzUWId0iWbKxW0r1U +2syGM7zoliaP0EHDlTXR8KhUxsvGQrVJ/EsKyLrrwEaTmJy7phRbJNXz/RzB3E6k +lpJftX+HQuSAUFuyDQIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBjTdnG0HNVY5R3 +k5JaLHlvdzE4dpRIv8ypUtG8iihBQX0pT4KdI7UGa2r1Mar7fHAjaZ+igqCSCYgR +6M4uL6bXH77zV0Cb+yHPL/ELRt06qvQNn/jwLcCJ57nBjtiUmH7iHOsn3fPtN+Ox +/Ajw3pAHI+bgR0kYqtda9FL91JJbZbkmv14FSNLzRTzjEYF8kUdbVgL+MC+GCIEE +esD1SfS3Qeu/AIZxJatajmPUJSuNltNaVYp75OWNgFmgPxN8gKG7RNd6LZeBmZ46 +jS2Tb52dAqpgrhfOXGk+HzzWTXwOTYZxRQBmHTJJNhT4GbR7fGBWgckqO91TRRLA +74Wu+a3JMYIC9zCCAvMCAQEwaTBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2Fs +aWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMg +TlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBMjANBglghkgBZQMEAgEFAKCCAV8w +GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTIx +MjA1MjA4WjAvBgkqhkiG9w0BCQQxIgQgB5kEehqjBBQgSmmSaJe317lotoCQ61TY +Gu1WJaL4kUsweAYJKwYBBAGCNxAEMWswaTBkMQswCQYDVQQGEwJVUzETMBEGA1UE +CBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJ +Qk9HVVMgTlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBMjB6BgsqhkiG9w0BCRAC +CzFroGkwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNV +BAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxML +TlNTIFRlc3QgQ0ECATIwDQYJKoZIhvcNAQEBBQAEggEARoCTSNz+CTwFJHyK2tk3 +6sk3XrH2WI8S0HbJyjNRNxYPlcn45SDgzMXCvcoEF+/j7N3kvManWseIFyqVvRzo +Afvh/kNZ5Qw8i0RytU1NiLn4uCZsTHrhDXS/WyZFAhr00jKh26LZ4VT/IbGy4o/s +ySauEfhWaqkF3mfihoSVYcXLDOMwSjH9Ixcouf6nzYInccs+c60U4Kxpfo3KTDD6 +Hi14Ic0yj+47ob668xvwOovi+bfFdG36n/rFQ8CKa2CahhHYiGT8ufj/2oPKbRc0 ++ixwUSloHm1b1K1wg5HpuMBn7nydMid4IFPv5z7wMaEL++D68GV44mlUYI+1oLNI +bgAAAAAAAA== diff --git a/comm/mailnews/test/data/smime/alice.env.sig.SHA256.opaque.eml b/comm/mailnews/test/data/smime/alice.env.sig.SHA256.opaque.eml index 6e0ba5db45d88e4471aa958e0206bacb400567d9..d617329d2371c12c47e471e47599396de33c692c 100644 --- a/comm/mailnews/test/data/smime/alice.env.sig.SHA256.opaque.eml +++ b/comm/mailnews/test/data/smime/alice.env.sig.SHA256.opaque.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: enveloped then opaque-signed sig.SHA256 @@ -18,52 +19,53 @@ UUVIQTZDQU1JQUNBUUF4Z2dHRk1JSUJnUUlCQURCcE1HUXhDekFKQmdOVkJBWVRB bFZUCk1STXdFUVlEVlFRSUV3cERZV3hwWm05eWJtbGhNUll3RkFZRFZRUUhFdzFO YjNWdWRHRnBiaUJXYVdWM01SSXcKRUFZRFZRUUtFd2xDVDBkVlV5Qk9VMU14RkRB U0JnTlZCQU1UQzA1VFV5QlVaWE4wSUVOQkFnRW9NQTBHQ1NxRwpTSWIzRFFFQkFR -VUFCSUlCQUVzN0loUk9odS93RlN1eXB4V3Fmc2VCTEtzMWxoSkprOWNYN283dEoy -bWNWU2pKCnFpQm44RFZ5alhwMEhBUm5rV1RkWXROYVJ2ZEJObkREZExJclRsMEZ1 -cm13ODVqYWFtcWhYN2RvK21JZ3ZSUHkKUHZFRmhiZWw5ek5TOW9GeGRkV1lCYk1W -bDZJYjNBRFhxalYrbTN3WjQ2M2lCNFNTeHZJbHhPTVVkcGx1RWh1VApidVpINkF5 -UzRUSE9FTWZKYnVNNkhPSDkwMnRLK1Byd3VKa2sxQ1dSOWx6dDZ0bGYxclB1VW5h -MEVxNm4wK3UyCmMwUHBvdnFFTG5TVVViRjBTcFRTNHBKVTRXaElWcFpQb3V6T1Ny -dllnVTROSWQ3a2ZKVy9iZFFRbHRzQnNyY04Kd1ZHZS9TUVQrYndnWmlKUWFvY3VG -eWxJNGl5SzdETk11Y2FXbGtNd2dBWUpLb1pJaHZjTkFRY0JNQjBHQ1dDRwpTQUZs -QXdRQkFnUVFDVHRNUktjdmtQbjk3QlVYVmRmdHA2Q0FCSUdncDJGTHpNU1FGb3Bh -dEk2TUVZbTBMU2IyCmloU1R0Y2NJSDJBUk9FQkQwaStNWDhZVHlwKzNTQVpQRUFJ -YXdhdlZpbXFteGZIU0htS1hSak8zWXdqcDMreU8KaFR2RjVTamFTZ3hwUGs4TDBQ -eWg1bjJSSytERW9VazF2VXU1eHVmT2lnVmhJOVg2eFZoY2dwWkJQSmtDbVV5ZQpj -b1diWG1BZ3ZacnNYYmZrU0I2WlhxeGZWVmxsQUZLc1ZjcGJLS3ZRVEw5aS9pT0lB -YnU3ejF0ZnluYkd5QVFRCjA5ZzdieTA2Y0FtN2lNZTIybGR5ZUFBQUFBQUFBQUFB +VUFCSUlCQUxBaWxIWW1RWTlTL0gyTVAwSlprSEx4cWxCc2h6bWthVmVDbTh4cmhK +U2pVcUxOClkyZG9iODQ5QTgvc1l5c3RWR2t1cmF2dVZBdjVIUUdUbVEwbnRFN1Zs +T0pwQkIrbktzUldVQVo4a3I0SGhBSmwKRzJHaXJPd0tiUW5OckwvZmVCK0FvdFFU +SnFFY0t0eFVzU2ZrOXRNQnAyRUloL2cwV2FWK2pPY0lqRVJaY25VOApFS3AvekJO +MFBrQ3lrV1AvM3pKS2FWY1BhSC80eWxyUlhlYmNDYmxUWk9oSzliTHVDc3llT3JG +RHI3WGNXc3pMClYxK2JTUzVWdG5wTzNNZzU4NzIwTXl6TlEvckhISFNNbDdMb0c3 +VjJJd2J4QnNNK1JwQk9YYXRlVHQrNzB0bWgKWWkrSXBUWVhrWnFXeHduZndjQ0JG +VXp0NlZLL0JGRDNRWTRTeU5Fd2dBWUpLb1pJaHZjTkFRY0JNQjBHQ1dDRwpTQUZs +QXdRQkFnUVFtSWdhUWNlcVgwcXJJSGhhWjBsRm9hQ0FCSUdnaVBaZURCdmF6aDBG +WW5hTlhjU2JQOWtWCkF3NjMybDl6aVJ5Q0Y3V2d0T0RJN2NmMlpOVVovUUJQWVJv +K21yNG5zTUhsRnFEVjdXNFo1YlppRWNTbW4wMTcKRTQ0TXZ4N3N3blp3aE83Q1dT +eVBpZlpxbkhEanpGTVBleUd2Y3NLY01sRUJCVTJUQ0Y2V3Bzem9KNmFkcktITQpi +bmFKL3pGYVJlUi9tWkVJWHRQb1lrRWZHMmFxamtCY0FDYWxtRG03d3cya0hqRWI3 +RVhtOVZhVjVTUGlVZ1FRCnl6SXQrSjVncWY0V2kyQ2pVTndvRlFBQUFBQUFBQUFB QUFBPQoKAAAAAAAAoIIDYjCCA14wggJGoAMCAQICAR4wDQYJKoZIhvcNAQELBQAw ZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1v dW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRl -c3QgQ0EwHhcNMjIxMjE5MTEyNTQwWhcNMjcxMjE5MTEyNTQwWjCBgDELMAkGA1UE +c3QgQ0EwHhcNMjMxMTIxMjA1MDM2WhcNMjgxMTIxMjA1MDM2WjCBgDELMAkGA1UE BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZp 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 +qIeX+S4AsqtEBwiM1QAAAAAAAA== diff --git a/comm/mailnews/test/data/smime/alice.env.sig.SHA384.opaque.dave.sig.SHA384.opaque.eml b/comm/mailnews/test/data/smime/alice.env.sig.SHA384.opaque.dave.sig.SHA384.opaque.eml index 0965b60be0981b738b0ea61a72a0dbd0f51b1601..38ba154842c3db0f5c7aa0ba7f06f41a77874046 100644 --- a/comm/mailnews/test/data/smime/alice.env.sig.SHA384.opaque.dave.sig.SHA384.opaque.eml +++ b/comm/mailnews/test/data/smime/alice.env.sig.SHA384.opaque.dave.sig.SHA384.opaque.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Dave@example.com To: Bob@example.com Subject: enveloped then opaque-signed sig.SHA384 then opaque signed by dave @@ -9,7 +10,7 @@ Content-Disposition: attachment; filename=smime.p7m Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgIFADCABgkqhkiG9w0B -BwGggCSABIIPn0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vcGtjczctbWltZTsg +BwGggCSABIIPx0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vcGtjczctbWltZTsg bmFtZT1zbWltZS5wN207CiAgICBzbWltZS10eXBlPXNpZ25lZC1kYXRhCkNvbnRl bnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJhc2U2NApDb250ZW50LURpc3Bvc2l0aW9u OiBhdHRhY2htZW50OyBmaWxlbmFtZT1zbWltZS5wN20KQ29udGVudC1EZXNjcmlw @@ -27,104 +28,105 @@ UW1kT1ZrSkJXVlJCCmJGWlVDazFTVFhkRlVWbEVWbEZSU1VWM2NFUlpWM2h3V20w NWVXSnRiR2hOVWxsM1JrRlpSRlpSVVVoRmR6Rk8KWWpOV2RXUkhSbkJpYVVKWFlW ZFdNMDFTU1hjS1JVRlpSRlpSVVV0RmQyeERWREJrVmxWNVFrOVZNVTE0UmtSQgpV MEpuVGxaQ1FVMVVRekExVkZWNVFsVmFXRTR3U1VWT1FrRm5SVzlOUVRCSFExTnhS -d3BUU1dJelJGRkZRa0ZSClZVRkNTVWxDUVVWek4wbG9VazlvZFM5M1JsTjFlWEI0 -VjNGbWMyVkNURXR6TVd4b1NrcHJPV05ZTjI4M2RFb3kKYldOV1UycEtDbkZwUW00 -NFJGWjVhbGh3TUVoQlVtNXJWMVJrV1hST1lWSjJaRUpPYmtSRVpFeEpjbFJzTUVa -MQpjbTEzT0RWcVlXRnRjV2hZTjJSdksyMUpaM1pTVUhrS1VIWkZSbWhpWld3NWVr -NVRPVzlHZUdSa1YxbENZazFXCmJEWkpZak5CUkZoeGFsWXJiVE4zV2pRMk0ybENO -Rk5UZUhaSmJIaFBUVlZrY0d4MVJXaDFWQXBpZFZwSU5rRjUKVXpSVVNFOUZUV1pL -WW5WTk5raFBTRGt3TW5STEsxQnlkM1ZLYTJzeFExZFNPV3g2ZERaMGJHWXhjbEIx -Vlc1aApNRVZ4Tm00d0szVXlDbU13VUhCdmRuRkZURzVUVlZWaVJqQlRjRlJUTkhC -S1ZUUlhhRWxXY0ZwUWIzVjZUMU55CmRsbG5WVFJPU1dRM2EyWktWeTlpWkZGUmJI -UnpRbk55WTA0S2QxWkhaUzlUVVZRclluZG5XbWxLVVdGdlkzVkcKZVd4Sk5HbDVT -emRFVGsxMVkyRlhiR3ROZDJkQldVcExiMXBKYUhaalRrRlJZMEpOUWpCSFExZERS -d3BUUVVacwpRWGRSUWtGblVWRkRWSFJOVWt0amRtdFFiamszUWxWWVZtUm1kSEEy -UTBGQ1NVZG5jREpHVEhwTlUxRkdiM0JoCmRFazJUVVZaYlRCTVUySXlDbWxvVTFS -MFkyTkpTREpCVWs5RlFrUXdhU3ROV0RoWlZIbHdLek5UUVZwUVJVRkoKWVhkaGRs -WnBiWEZ0ZUdaSVUwaHRTMWhTYWs4eldYZHFjRE1yZVU4S2FGUjJSalZUYW1GVFoz -aHdVR3M0VERCUQplV2cxYmpKU1N5dEVSVzlWYXpGMlZYVTFlSFZtVDJsblZtaEpP -VmcyZUZab1kyZHdXa0pRU210RGJWVjVaUXBqCmIxZGlXRzFCWjNaYWNuTllZbVpy -VTBJMldsaHhlR1pXVm14c1FVWkxjMVpqY0dKTFMzWlJWRXc1YVM5cFQwbEIKWW5V -M2VqRjBabmx1WWtkNVFWRlJDakE1WnpkaWVUQTJZMEZ0TjJsTlpUSXliR1I1WlVG +d3BUU1dJelJGRkZRa0ZSClZVRkNTVWxDUVV4QmFXeElXVzFSV1RsVEwwZ3lUVkF3 +U2xwclNFeDRjV3hDYzJoNmJXdGhWbVZEYlRoNGNtaEsKVTJwVmNVeE9DbGt5Wkc5 +aU9EUTVRVGd2YzFsNWMzUldSMnQxY21GMmRWWkJkalZJVVVkVWJWRXdiblJGTjFa +cwpUMHB3UWtJcmJrdHpVbGRWUVZvNGEzSTBTR2hCU213S1J6SkhhWEpQZDB0aVVX +NU9ja3d2Wm1WQ0swRnZkRkZVClNuRkZZMHQwZUZWelUyWnJPWFJOUW5BeVJVbG9M +MmN3VjJGV0sycFBZMGxxUlZKYVkyNVZPQXBGUzNBdmVrSk8KTUZCclEzbHJWMUF2 +TTNwS1MyRldZMUJoU0M4MGVXeHlVbGhsWW1ORFlteFVXazlvU3psaVRIVkRjM2xs +VDNKRwpSSEkzV0dOWGMzcE1DbFl4SzJKVFV6VldkRzV3VHpOTlp6VTROekl3VFhs +NlRsRXZja2hJU0ZOTmJEZE1iMGMzClZqSkpkMko0UW5OTksxSndRazlZWVhSbFZI +UXJOekIwYldnS1dXa3JTWEJVV1ZoclduRlhlSGR1Wm5kalEwSkcKVlhwME5sWkxM +MEpHUkROUldUUlRlVTVGZDJkQldVcExiMXBKYUhaalRrRlJZMEpOUWpCSFExZERS +d3BUUVVacwpRWGRSUWtGblVWRnRTV2RoVVdObGNWZ3djWEpKU0doaFdqQnNSbTlo +UTBGQ1NVZG5hVkJhWlVSQ2RtRjZhREJHCldXNWhUbGhqVTJKUU9XdFdDa0YzTmpN +eWJEbDZhVko1UTBZM1YyZDBUMFJKTjJObU1scE9WVm92VVVKUVdWSnYKSzIxeU5H +NXpUVWhzUm5GRVZqZFhORm8xWWxwcFJXTlRiVzR3TVRjS1JUUTBUWFo0TjNOM2Js +cDNhRTgzUTFkVAplVkJwWmxweGJraEVhbnBHVFZCbGVVZDJZM05MWTAxc1JVSkNW +VEpVUTBZMlYzQnplbTlLTm1Ga2NrdElUUXBpCmJtRktMM3BHWVZKbFVpOXRXa1ZK +V0hSUWIxbHJSV1pITW1GeGFtdENZMEZEWVd4dFJHMDNkM2N5YTBocVJXSTMKUlZo +dE9WWmhWalZUVUdsVloxRlJDbmw2U1hRclNqVm5jV1kwVjJreVEycFZUbmR2UmxG QlFVRkJRVUZCUVVGQgpRVUZCUFFvS0FBQUFBQUFBb0lJRFlqQ0NBMTR3Z2dKR29B TUNBUUlDQVI0d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClpERUxNQWtHQTFVRUJoTUNW Vk14RXpBUkJnTlZCQWdUQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05WQkFjVERVMXYK ZFc1MFlXbHVJRlpwWlhjeEVqQVFCZ05WQkFvVENVSlBSMVZUSUU1VFV6RVVNQklH -QTFVRUF4TUxUbE5USUZSbApjM1FnUTBFd0hoY05Nakl4TWpFNU1URXlOVFF3V2hj -Tk1qY3hNakU1TVRFeU5UUXdXakNCZ0RFTE1Ba0dBMVVFCkJoTUNWVk14RXpBUkJn +QTFVRUF4TUxUbE5USUZSbApjM1FnUTBFd0hoY05Nak14TVRJeE1qQTFNRE0yV2hj +Tk1qZ3hNVEl4TWpBMU1ETTJXakNCZ0RFTE1Ba0dBMVVFCkJoTUNWVk14RXpBUkJn TlZCQWdUQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05WQkFjVERVMXZkVzUwWVdsdUlG WnAKWlhjeEVqQVFCZ05WQkFvVENVSlBSMVZUSUU1VFV6RWdNQjRHQ1NxR1NJYjNE UUVKQVJZUlFXeHBZMlZBWlhoaApiWEJzWlM1amIyMHhEakFNQmdOVkJBTVRCVUZz YVdObE1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBCk1JSUJDZ0tDQVFF -QXU0RXRBbXFuQnQwRWNnK2dnakZEKzJ4eU85eWs2elRreThLWHVnVG9ybk5uVDhU -L2xRUGYKNzhaL29naG1PY1RPbmZ4RTJZRWh2WmpvY1JtRGozbXRLVjIxdWpjVk5j -cVp4anBDaHFNcWVLV2F1Q2F4L1V5awpzUEdoUitUdkxCZkh6SGlsNk1EU0V1MVVC -cjdmbGZRL0VIS3ZqWGFHbSsyU1dPL29VNzAraDlVM3djRlJjdm9WCkpiVkgrZ2Fr -dHpxY082bEp4MUNmbWFpU0E3dUF4eGowTTkwc25GS3B6Z2tPeFRLck82T1UwM0Ey -VkYydlFCWnYKcXhycmVqN0pXbk5FbWdDL1J4ci9oY0FSVGxUeVlOaE4xcDM1S3lB -TlFDOWRINGxYZHZLenUyVzY0d3F2bzlTdQovUjdCSkRUdGRLMUVLZnY5NkZzVU9X -ekNhRmhPU1RRYnd3SURBUUFCTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCCkFRQTVp -ZGJFSHVYWmNDWGFYN1RxcHdqd2tkMEZhai96ZkhwclUzT3ZoaytxeWErYWNPbVFi -bjVCUmQvS2h0bzEKTFgyWlk5VkZRZjIyUzhnMGZsNXk5YUFsV1lneWFuVXBOZjYv -QW9LWWRBMDhJVHpqV240dmx5dGlYOXhta2NzbQpzb2E2WE5hQnArQ0NZdFI3MExD -dVNYaUlyK2h4TytBVzRYSS9iMCt0Nk4rVjRMbEN1ZElXVEROUWdvU05GUjJWCkdS -aHY5ZlR2U1phemtQVnlwWG5ibXJaeHl1TDNPcWhwdldXL2RvSVFhd0cyU3VvYVdD -bENYTjJjNmhubnZJL1kKcUJzZW9sQWg5RmtrbDlhUkxYYjg0REFNSDFVZ3dITEhX -RlJ6bWpGTmc0VGkyTW1kMEhNNzBNek9GcXRKdWJPUQo0WHAvRUNjQ3JaeFFvWEg4 -MDJTL0hGeW5NWUlDNlRDQ0F1VUNBUUV3YVRCa01Rc3dDUVlEVlFRR0V3SlZVekVU +QW5ycGhFdy9JSGxlT0htbnJGanFZV05md3JuYWtuOVZIdkpWaUNyeU8wR09PcFNV +RkxiU1QKQWwwNTZhbmg2OFNEdm96dVdGK2JLMnVqc3RLVlhieTVSWDhTWWN1YzF2 +MXowV01HRHIxUzVmUS9kUEVtenVpTApXNlNzNENlTGZtaytGM3FhUDZZR2FFTHNa +b0VzNmZVY2wzRlBNTWY4MUtkWXlGbHkzVmoydEhWRlk4UnNKV29ECjlRenJXcGNX +a3h5TDVSRDh1RHRqR090K2pDVloxQko3TzFBL0pveGlrN1ladGszNXZaMW92WW9B +UTdRQnpUaDcKZ3FocWlpRDltRVlyd2tDcTQ2U0NzK3lYZWFlRjJNNnRsRFdWcmhy +ZU1zMnpzd21sRkxDWmZPcitJQXdzU2dlego3cjZzNTZ2TFJRZTVPd1dnUFJSeVEz +M1FJYnNkN2NtTDNRSURBUUFCTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCCkFRQ0hS +Sy9TVGZmd3VxSThsR0lNNFpkUkROYVh5NVB1a21iVGY0bDhFdWFYaktKV3d5NWxh +L1RkT3hwcWc1dGIKZjdrMUFXeUE4OENWS2pRbk1ucVhxYmVEL3FhVVVEVXpHSS8y +THR4Tlp6Y1k1QmFVNVBhdXZIbGxEZHE0SHBqdQpVZklvdXB2ajcxWGRzWHZ2blZi +RFlnT1pYRGJXUkt1YnkzYnlZZW5odWdUTHNkMjdBNC9Wa2VMdTkzcmxwSmFYClM2 +RWlleEVxUTlLTmZFZzlaYXpLM1RZbEFsUURNcC9JeWI3MldWQ0ptTEoxUFNzYkRL +bHBpTU96TFRMOEp4c0kKUkJJVFdMa0xFYjZaakxCYnZDZ2E5S2dMK1ducHowNmtl +cVVidE9nNkJCakJPaVh3MlBZNWFQVk5SQ1pkTHVqdQp4andxTU43SlpuRG1RejBE +SDkyMGJwMi9NWUlEQnpDQ0F3TUNBUUV3YVRCa01Rc3dDUVlEVlFRR0V3SlZVekVU Ck1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5UVzkxYm5S aGFXNGdWbWxsZHpFU01CQUcKQTFVRUNoTUpRazlIVlZNZ1RsTlRNUlF3RWdZRFZR UURFd3RPVTFNZ1ZHVnpkQ0JEUVFJQkhqQU5CZ2xnaGtnQgpaUU1FQWdJRkFLQ0NB -VkV3R0FZSktvWklodmNOQVFrRE1Rc0dDU3FHU0liM0RRRUhBVEEvQmdrcWhraUc5 -dzBCCkNRUXhNZ1F3UnhhUkk4Q0RHSlZvdU41YTBTZnlhV2puRUF6TFNaSnEvb0U3 -QVVKczBCUVZXTlZhSTZSN0s0NjMKdnA3bnBhNEhNSGdHQ1NzR0FRUUJnamNRQkRG -ck1Ha3daREVMTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVApDa05oYkdsbWIz -SnVhV0V4RmpBVUJnTlZCQWNURFUxdmRXNTBZV2x1SUZacFpYY3hFakFRQmdOVkJB -b1RDVUpQClIxVlRJRTVUVXpFVU1CSUdBMVVFQXhNTFRsTlRJRlJsYzNRZ1EwRUNB -UjR3ZWdZTEtvWklodmNOQVFrUUFnc3gKYTZCcE1HUXhDekFKQmdOVkJBWVRBbFZU -TVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSApFdzFOYjNW -dWRHRnBiaUJXYVdWM01SSXdFQVlEVlFRS0V3bENUMGRWVXlCT1UxTXhGREFTQmdO -VkJBTVRDMDVUClV5QlVaWE4wSUVOQkFnRWVNQTBHQ1NxR1NJYjNEUUVCQVFVQUJJ -SUJBRTU2cVNKWWo0VUc2V1lXRmQvUlFhWDcKYVFPdyt1TlNod1daR3VxRHNFNzlz -cDlDV1ZmS1hSQXFLS3dZemRNY0hCeWVvb3h0RWthU2hYRlVRWEhyRXlacwo1Wkdy -UEhyNGc3d2s1V2lnZ0NFR0VRalFYZUI2aGNHcnBxRkJXVjFua1BvbUlyaXltalhx -UTRSbWJZY3BPdzF4CnR5SDIxUzJzeWt0dnBLak12MTMyUlVXV0V0SVN2OW8yOXdv -azk5Y2VlejBtV1pnYmIvVUNoOTFjaEUvNURYMW0KQVBGWVRaejlWLzZlVlYxVHg2 -MFF3VzF5NDFyYlRLV0RHdnBkVXBpYXpOcjdvTGNxU2l6em44U1pwL0xWK0owcAo2 -R1c1bWMvWEFuUUxOblFMem1mVmRRenNYTXlCS3AxUmY0VkNJZ0RXNU51TlFwVEVR -OXQ5YjF3UXBtb3VhOTRBCkFBQUFBQUE9CgAAAAAAAKCCA18wggNbMIICQ6ADAgEC -AgEyMA0GCSqGSIb3DQEBCwUAMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxp -Zm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBO -U1MxFDASBgNVBAMTC05TUyBUZXN0IENBMB4XDTIyMTIxOTExMjU0N1oXDTI3MTIx -OTExMjU0N1owfjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAU -BgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEfMB0GCSqG -SIb3DQEJARYQRGF2ZUBleGFtcGxlLmNvbTENMAsGA1UEAxMERGF2ZTCCASIwDQYJ -KoZIhvcNAQEBBQADggEPADCCAQoCggEBAPbEv+wUfxrQE0KtjboTMKx1TjvNL558 -peoeADTle/Kg67/jbaDEStNaeoouHzBiNA69nTqinZc1Ev6/envHsIxLdGhTe1ZK -WGOIdA612WuEPXOAM36GkSju3ziQxfQce8bkmur5awuC29cjlOLNW82GINgHWvEh -ZvMcH+LSY6xt8+se8OTQZhjpcid6KNYqgp7/8lcUYIrE1kP7QQg0ERKvphbif3/E -mm5o8hw2/BiLhE49m2zBt9trDBFKRAGGNG0aqpwShqfeGy3rUECbvoPUh5y+0F3c -Zbc/qxQ3lLvgHjGB3Xa4aPPeJJmc8ng3KAGaDDy1sRCCPEr/IysXPHcCAwEAATAN -BgkqhkiG9w0BAQsFAAOCAQEAcsMwkgnG5b6cXqV2JytyqpKs1hRbn7JdrNIIh25k -CbZ/voVDOOgbJvBTVKOiVvfwLB8NbWhaFA+MqyKJEXZgF+QpBTp3VodSs1NiSNNK -YFvic/9PxP3/M+/6HOMoKqzBNMIpGzxxb0U7Zeijz5xeTXSaqAfF1JjubvNotNFi -02zgol7M1w3woDE84z0RY8ePCiNdTLVHww4N5g9SpZ8ciI2JG0lm4A2TrBKOTxkr -3G0j0PGdSOTsD3yYTUOsa2KfwFrqEvuG2o99zg26d8lgGgiDL3d1nJ+4F8+y84oz -CZikWe9IeUOODvBGLrOI8NaQvwXZpLudSOhNABuvxMgNJDGCAukwggLlAgEBMGkw -ZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1v -dW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRl -c3QgQ0ECATIwDQYJYIZIAWUDBAICBQCgggFRMBgGCSqGSIb3DQEJAzELBgkqhkiG -9w0BBwEwPwYJKoZIhvcNAQkEMTIEMJJjwJPfn9KQAyOsgDvFZozQ2xMPaQ2by5JI -/o0QxkdTGqYwNzmKGe3T8qrQm1l8uzB4BgkrBgEEAYI3EAQxazBpMGQxCzAJBgNV +Vzh3R0FZSktvWklodmNOQVFrRE1Rc0dDU3FHU0liM0RRRUhBVEFjQmdrcWhraUc5 +dzBCCkNRVXhEeGNOTWpNeE1USXhNakExTWpBNVdqQS9CZ2txaGtpRzl3MEJDUVF4 +TWdRd2VNQlhzczg3WjdPamJQMXoKejVRdi9OQ091ZXJOSWJwZkdjK09RSmdFKzJs +Z1lNT0tlOGFkMHhYNDUwSXkrakxETUhnR0NTc0dBUVFCZ2pjUQpCREZyTUdrd1pE +RUxNQWtHQTFVRUJoTUNWVk14RXpBUkJnTlZCQWdUQ2tOaGJHbG1iM0p1YVdFeEZq +QVVCZ05WCkJBY1REVTF2ZFc1MFlXbHVJRlpwWlhjeEVqQVFCZ05WQkFvVENVSlBS +MVZUSUU1VFV6RVVNQklHQTFVRUF4TUwKVGxOVElGUmxjM1FnUTBFQ0FSNHdlZ1lM +S29aSWh2Y05BUWtRQWdzeGE2QnBNR1F4Q3pBSkJnTlZCQVlUQWxWVApNUk13RVFZ +RFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxTmIzVnVkR0ZwYmlC +V2FXVjNNUkl3CkVBWURWUVFLRXdsQ1QwZFZVeUJPVTFNeEZEQVNCZ05WQkFNVEMw +NVRVeUJVWlhOMElFTkJBZ0VlTUEwR0NTcUcKU0liM0RRRUJBUVVBQklJQkFEcm9F +bzd3TUNXOUtDSnJlTzNKcVc1UkpFTVZKa3pFMm1QVW5lQ3hmYTBaRmgzSQpOWUNk +WVB0N0MrSFh2YWFwVVJVRkg2N0J3Ui96dTZyV0x2UnEveHgrUmRYOTk0d05iUHdt +SnRLU3J0K1U3TlZ6ClFaRmVuUnpVV25rcVlRUEZleWhPQkpyWkViNGZpVnlTZFJz +UUhLRDQwUHIwWkU2SGkvb0xRcGthRUxGczJRWVEKbTdaS1ZSUzM0R2FueW5KT082 +UlM2M0M2WWZYQUhoS29JWjVsNDZGOStPSnAvenU5Vlc2M01ERG0rQlV1bnZHSApF +ZDJkRTJDQzhweXBrZmk5VEx2TWw2eDhsS3ZWT25qcmttamk2cUpFUTNjUDUvcjAx +S082Z1NrY2xTRXBpbzF1CnRKRzdEVDZHUDJ3dm82VGwrY3o3M0xOMGthQjJHQnF2 +bmIrQnV0Y0FBQUFBQUFBPQoAAAAAAACgggNfMIIDWzCCAkOgAwIBAgIBMjANBgkq +hkiG9w0BAQsFADBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEW +MBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMgTlNTMRQwEgYD +VQQDEwtOU1MgVGVzdCBDQTAeFw0yMzExMjEyMDUwNDNaFw0yODExMjEyMDUwNDNa +MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1N +b3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxHzAdBgkqhkiG9w0BCQEW +EERhdmVAZXhhbXBsZS5jb20xDTALBgNVBAMTBERhdmUwggEiMA0GCSqGSIb3DQEB +AQUAA4IBDwAwggEKAoIBAQDIS6Iyqw0hewI8Lkj+nQEhnBQfflgDKrW4nFcNZ5vz +U92Nv553ZIFDgNMNyMoztg4irXkzl2Z9VX1xea01iA+OnWCo9w5sTYqqPYKJktXb +it5Dr6A5Zb7//kxIB5DXirVlYK3coKS7084va31SdSYke/RgEnsNWoxn48WQdddd +AhMQ8BUQJzaQmpx6i0Kgns5NlA4NqsaFl1+f32uzOSPOy70bx9UFprvVx2/04LXN +NQBg0DDlrbHNRYh3SJZsrFbSvVTazIYzvOiWJo/QQcOVNdHwqFTGy8ZCtUn8SwrI +uuvARpOYnLumFFsk1fP9HMHcTqSWkl+1f4dC5IBQW7INAgMBAAEwDQYJKoZIhvcN +AQELBQADggEBAGNN2cbQc1VjlHeTkloseW93MTh2lEi/zKlS0byKKEFBfSlPgp0j +tQZravUxqvt8cCNpn6KCoJIJiBHozi4vptcfvvNXQJv7Ic8v8QtG3Tqq9A2f+PAt +wInnucGO2JSYfuIc6yfd8+0347H8CPDekAcj5uBHSRiq11r0Uv3UkltluSa/XgVI +0vNFPOMRgXyRR1tWAv4wL4YIgQR6wPVJ9LdB678AhnElq1qOY9QlK42W01pVinvk +5Y2AWaA/E3yAobtE13otl4GZnjqNLZNvnZ0CqmCuF85caT4fPNZNfA5NhnFFAGYd +Mkk2FPgZtHt8YFaBySo73VNFEsDvha75rckxggMHMIIDAwIBATBpMGQxCzAJBgNV BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBW aWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEy -MHoGCyqGSIb3DQEJEAILMWugaTBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2Fs -aWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMg -TlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBMjANBgkqhkiG9w0BAQEFAASCAQB1 -uzZzLK0TlXxlFaK+8z7G2AsaNwm8hBQCsfkpVK12IZoppDKkxzGXI6Gpuulbpq3a -RMuo2eQYrulqlMMk0d72BoshQx1/LCyhRd8FcD1/zFL2QEGxmM/Ky0qHUprtabUd -iURJqPgy9JuZB+rQUQDM9yhwkTbbiLStfOdFMK9bHILWBliqCx0Xp9gOnvD/o28r -1yYmpz0J2rjekpT75cMHZzTjeeWHYzVp5CQGA50Q7EDpxsFoIpTf4Z0EVqIB4glH -4vAz7YjbrLafm/UgoGneszDRUbzumiUgamNGF6JPn3TagrCyHw0mgY/h5G4ihIoy -WO/ZZwmq9faJ5N5awVidAAAAAAAA +MA0GCWCGSAFlAwQCAgUAoIIBbzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwG +CSqGSIb3DQEJBTEPFw0yMzExMjEyMDUyMTBaMD8GCSqGSIb3DQEJBDEyBDB5QYSN +Co34KSPmqQAB3Vi5UBwOtlGft2/DLFvHmOeXf3XZXzdKa2pQbdU3Zh0+NbYweAYJ +KwYBBAGCNxAEMWswaTBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p +YTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMgTlNTMRQw +EgYDVQQDEwtOU1MgVGVzdCBDQQIBMjB6BgsqhkiG9w0BCRACCzFroGkwZDELMAkG +A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWlu +IFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0EC +ATIwDQYJKoZIhvcNAQEBBQAEggEApdfZ/LaOtlUK8es57GGIjUE7ImY7MqhOyA5g +ASOqiWqSUSlkfQou1TOpQjKKJe6/XngbT+qm559FWXLa/FikDlJqlcbmIVYsYF65 +SNAPgeiyHkrJpzBuBAkoYB7vfGNrZ24DUY3di08GiMB/dyPuNVOdVpPml156quTS +EQ7Uc2HUMZ3hr3XEXrlonzGBrUGB58AaHVmt6R/n/YctkexKgSCSmSnZOqM+Ijng +TA4YQNAVCpOLGWEhRlRNq1iSZ5KDPUGqDjlfwx3Ayt00eyWSEMYG1msf9gjFaRLd +OpILfjJfvmseaxRh011lsMgOHQCEZvFWH15JnWpaDIk/sTD0QgAAAAAAAA== diff --git a/comm/mailnews/test/data/smime/alice.env.sig.SHA384.opaque.eml b/comm/mailnews/test/data/smime/alice.env.sig.SHA384.opaque.eml index 5be172958515118a160756fc64e0f7269bd4d3bc..748a76eaf9833319358687857e5a2924b05998b9 100644 --- a/comm/mailnews/test/data/smime/alice.env.sig.SHA384.opaque.eml +++ b/comm/mailnews/test/data/smime/alice.env.sig.SHA384.opaque.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: enveloped then opaque-signed sig.SHA384 @@ -18,53 +19,53 @@ UUVIQTZDQU1JQUNBUUF4Z2dHRk1JSUJnUUlCQURCcE1HUXhDekFKQmdOVkJBWVRB bFZUCk1STXdFUVlEVlFRSUV3cERZV3hwWm05eWJtbGhNUll3RkFZRFZRUUhFdzFO YjNWdWRHRnBiaUJXYVdWM01SSXcKRUFZRFZRUUtFd2xDVDBkVlV5Qk9VMU14RkRB U0JnTlZCQU1UQzA1VFV5QlVaWE4wSUVOQkFnRW9NQTBHQ1NxRwpTSWIzRFFFQkFR -VUFCSUlCQUVzN0loUk9odS93RlN1eXB4V3Fmc2VCTEtzMWxoSkprOWNYN283dEoy -bWNWU2pKCnFpQm44RFZ5alhwMEhBUm5rV1RkWXROYVJ2ZEJObkREZExJclRsMEZ1 -cm13ODVqYWFtcWhYN2RvK21JZ3ZSUHkKUHZFRmhiZWw5ek5TOW9GeGRkV1lCYk1W -bDZJYjNBRFhxalYrbTN3WjQ2M2lCNFNTeHZJbHhPTVVkcGx1RWh1VApidVpINkF5 -UzRUSE9FTWZKYnVNNkhPSDkwMnRLK1Byd3VKa2sxQ1dSOWx6dDZ0bGYxclB1VW5h -MEVxNm4wK3UyCmMwUHBvdnFFTG5TVVViRjBTcFRTNHBKVTRXaElWcFpQb3V6T1Ny -dllnVTROSWQ3a2ZKVy9iZFFRbHRzQnNyY04Kd1ZHZS9TUVQrYndnWmlKUWFvY3VG -eWxJNGl5SzdETk11Y2FXbGtNd2dBWUpLb1pJaHZjTkFRY0JNQjBHQ1dDRwpTQUZs -QXdRQkFnUVFDVHRNUktjdmtQbjk3QlVYVmRmdHA2Q0FCSUdncDJGTHpNU1FGb3Bh -dEk2TUVZbTBMU2IyCmloU1R0Y2NJSDJBUk9FQkQwaStNWDhZVHlwKzNTQVpQRUFJ -YXdhdlZpbXFteGZIU0htS1hSak8zWXdqcDMreU8KaFR2RjVTamFTZ3hwUGs4TDBQ -eWg1bjJSSytERW9VazF2VXU1eHVmT2lnVmhJOVg2eFZoY2dwWkJQSmtDbVV5ZQpj -b1diWG1BZ3ZacnNYYmZrU0I2WlhxeGZWVmxsQUZLc1ZjcGJLS3ZRVEw5aS9pT0lB -YnU3ejF0ZnluYkd5QVFRCjA5ZzdieTA2Y0FtN2lNZTIybGR5ZUFBQUFBQUFBQUFB +VUFCSUlCQUxBaWxIWW1RWTlTL0gyTVAwSlprSEx4cWxCc2h6bWthVmVDbTh4cmhK +U2pVcUxOClkyZG9iODQ5QTgvc1l5c3RWR2t1cmF2dVZBdjVIUUdUbVEwbnRFN1Zs +T0pwQkIrbktzUldVQVo4a3I0SGhBSmwKRzJHaXJPd0tiUW5OckwvZmVCK0FvdFFU +SnFFY0t0eFVzU2ZrOXRNQnAyRUloL2cwV2FWK2pPY0lqRVJaY25VOApFS3AvekJO +MFBrQ3lrV1AvM3pKS2FWY1BhSC80eWxyUlhlYmNDYmxUWk9oSzliTHVDc3llT3JG +RHI3WGNXc3pMClYxK2JTUzVWdG5wTzNNZzU4NzIwTXl6TlEvckhISFNNbDdMb0c3 +VjJJd2J4QnNNK1JwQk9YYXRlVHQrNzB0bWgKWWkrSXBUWVhrWnFXeHduZndjQ0JG +VXp0NlZLL0JGRDNRWTRTeU5Fd2dBWUpLb1pJaHZjTkFRY0JNQjBHQ1dDRwpTQUZs +QXdRQkFnUVFtSWdhUWNlcVgwcXJJSGhhWjBsRm9hQ0FCSUdnaVBaZURCdmF6aDBG +WW5hTlhjU2JQOWtWCkF3NjMybDl6aVJ5Q0Y3V2d0T0RJN2NmMlpOVVovUUJQWVJv +K21yNG5zTUhsRnFEVjdXNFo1YlppRWNTbW4wMTcKRTQ0TXZ4N3N3blp3aE83Q1dT +eVBpZlpxbkhEanpGTVBleUd2Y3NLY01sRUJCVTJUQ0Y2V3Bzem9KNmFkcktITQpi +bmFKL3pGYVJlUi9tWkVJWHRQb1lrRWZHMmFxamtCY0FDYWxtRG03d3cya0hqRWI3 +RVhtOVZhVjVTUGlVZ1FRCnl6SXQrSjVncWY0V2kyQ2pVTndvRlFBQUFBQUFBQUFB QUFBPQoKAAAAAAAAoIIDYjCCA14wggJGoAMCAQICAR4wDQYJKoZIhvcNAQELBQAw ZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1v dW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRl -c3QgQ0EwHhcNMjIxMjE5MTEyNTQwWhcNMjcxMjE5MTEyNTQwWjCBgDELMAkGA1UE +c3QgQ0EwHhcNMjMxMTIxMjA1MDM2WhcNMjgxMTIxMjA1MDM2WjCBgDELMAkGA1UE BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZp 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 -AAAAAAA= +ZQMEAgIFAKCCAW8wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0B +CQUxDxcNMjMxMTIxMjA1MjA5WjA/BgkqhkiG9w0BCQQxMgQweMBXss87Z7OjbP1z +z5Qv/NCOuerNIbpfGc+OQJgE+2lgYMOKe8ad0xX450Iy+jLDMHgGCSsGAQQBgjcQ +BDFrMGkwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNV +BAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxML +TlNTIFRlc3QgQ0ECAR4wegYLKoZIhvcNAQkQAgsxa6BpMGQxCzAJBgNVBAYTAlVT +MRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIw +EAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEeMA0GCSqG +SIb3DQEBAQUABIIBADroEo7wMCW9KCJreO3JqW5RJEMVJkzE2mPUneCxfa0ZFh3I +NYCdYPt7C+HXvaapURUFH67BwR/zu6rWLvRq/xx+RdX994wNbPwmJtKSrt+U7NVz +QZFenRzUWnkqYQPFeyhOBJrZEb4fiVySdRsQHKD40Pr0ZE6Hi/oLQpkaELFs2QYQ +m7ZKVRS34GanynJOO6RS63C6YfXAHhKoIZ5l46F9+OJp/zu9VW63MDDm+BUunvGH +Ed2dE2CC8pypkfi9TLvMl6x8lKvVOnjrkmji6qJEQ3cP5/r01KO6gSkclSEpio1u +tJG7DT6GP2wvo6Tl+cz73LN0kaB2GBqvnb+ButcAAAAAAAA= diff --git a/comm/mailnews/test/data/smime/alice.env.sig.SHA512.opaque.dave.sig.SHA512.opaque.eml b/comm/mailnews/test/data/smime/alice.env.sig.SHA512.opaque.dave.sig.SHA512.opaque.eml index c7fa169280012035906d34b42d76b1200a063e62..821a48aaa4431663689adbf6dee5e4a67c464df0 100644 --- a/comm/mailnews/test/data/smime/alice.env.sig.SHA512.opaque.dave.sig.SHA512.opaque.eml +++ b/comm/mailnews/test/data/smime/alice.env.sig.SHA512.opaque.dave.sig.SHA512.opaque.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Dave@example.com To: Bob@example.com Subject: enveloped then opaque-signed sig.SHA512 then opaque signed by dave @@ -9,7 +10,7 @@ Content-Disposition: attachment; filename=smime.p7m Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgMFADCABgkqhkiG9w0B -BwGggCSABIIPs0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vcGtjczctbWltZTsg +BwGggCSABIIP3ENvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vcGtjczctbWltZTsg bmFtZT1zbWltZS5wN207CiAgICBzbWltZS10eXBlPXNpZ25lZC1kYXRhCkNvbnRl bnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJhc2U2NApDb250ZW50LURpc3Bvc2l0aW9u OiBhdHRhY2htZW50OyBmaWxlbmFtZT1zbWltZS5wN20KQ29udGVudC1EZXNjcmlw @@ -27,105 +28,106 @@ UW1kT1ZrSkJXVlJCCmJGWlVDazFTVFhkRlVWbEVWbEZSU1VWM2NFUlpWM2h3V20w NWVXSnRiR2hOVWxsM1JrRlpSRlpSVVVoRmR6Rk8KWWpOV2RXUkhSbkJpYVVKWFlW ZFdNMDFTU1hjS1JVRlpSRlpSVVV0RmQyeERWREJrVmxWNVFrOVZNVTE0UmtSQgpV MEpuVGxaQ1FVMVVRekExVkZWNVFsVmFXRTR3U1VWT1FrRm5SVzlOUVRCSFExTnhS -d3BUU1dJelJGRkZRa0ZSClZVRkNTVWxDUVVWek4wbG9VazlvZFM5M1JsTjFlWEI0 -VjNGbWMyVkNURXR6TVd4b1NrcHJPV05ZTjI4M2RFb3kKYldOV1UycEtDbkZwUW00 -NFJGWjVhbGh3TUVoQlVtNXJWMVJrV1hST1lWSjJaRUpPYmtSRVpFeEpjbFJzTUVa -MQpjbTEzT0RWcVlXRnRjV2hZTjJSdksyMUpaM1pTVUhrS1VIWkZSbWhpWld3NWVr -NVRPVzlHZUdSa1YxbENZazFXCmJEWkpZak5CUkZoeGFsWXJiVE4zV2pRMk0ybENO -Rk5UZUhaSmJIaFBUVlZrY0d4MVJXaDFWQXBpZFZwSU5rRjUKVXpSVVNFOUZUV1pL -WW5WTk5raFBTRGt3TW5STEsxQnlkM1ZLYTJzeFExZFNPV3g2ZERaMGJHWXhjbEIx -Vlc1aApNRVZ4Tm00d0szVXlDbU13VUhCdmRuRkZURzVUVlZWaVJqQlRjRlJUTkhC -S1ZUUlhhRWxXY0ZwUWIzVjZUMU55CmRsbG5WVFJPU1dRM2EyWktWeTlpWkZGUmJI -UnpRbk55WTA0S2QxWkhaUzlUVVZRclluZG5XbWxLVVdGdlkzVkcKZVd4Sk5HbDVT -emRFVGsxMVkyRlhiR3ROZDJkQldVcExiMXBKYUhaalRrRlJZMEpOUWpCSFExZERS -d3BUUVVacwpRWGRSUWtGblVWRkRWSFJOVWt0amRtdFFiamszUWxWWVZtUm1kSEEy -UTBGQ1NVZG5jREpHVEhwTlUxRkdiM0JoCmRFazJUVVZaYlRCTVUySXlDbWxvVTFS -MFkyTkpTREpCVWs5RlFrUXdhU3ROV0RoWlZIbHdLek5UUVZwUVJVRkoKWVhkaGRs -WnBiWEZ0ZUdaSVUwaHRTMWhTYWs4eldYZHFjRE1yZVU4S2FGUjJSalZUYW1GVFoz -aHdVR3M0VERCUQplV2cxYmpKU1N5dEVSVzlWYXpGMlZYVTFlSFZtVDJsblZtaEpP -VmcyZUZab1kyZHdXa0pRU210RGJWVjVaUXBqCmIxZGlXRzFCWjNaYWNuTllZbVpy -VTBJMldsaHhlR1pXVm14c1FVWkxjMVpqY0dKTFMzWlJWRXc1YVM5cFQwbEIKWW5V -M2VqRjBabmx1WWtkNVFWRlJDakE1WnpkaWVUQTJZMEZ0TjJsTlpUSXliR1I1WlVG +d3BUU1dJelJGRkZRa0ZSClZVRkNTVWxDUVV4QmFXeElXVzFSV1RsVEwwZ3lUVkF3 +U2xwclNFeDRjV3hDYzJoNmJXdGhWbVZEYlRoNGNtaEsKVTJwVmNVeE9DbGt5Wkc5 +aU9EUTVRVGd2YzFsNWMzUldSMnQxY21GMmRWWkJkalZJVVVkVWJWRXdiblJGTjFa +cwpUMHB3UWtJcmJrdHpVbGRWUVZvNGEzSTBTR2hCU213S1J6SkhhWEpQZDB0aVVX +NU9ja3d2Wm1WQ0swRnZkRkZVClNuRkZZMHQwZUZWelUyWnJPWFJOUW5BeVJVbG9M +MmN3VjJGV0sycFBZMGxxUlZKYVkyNVZPQXBGUzNBdmVrSk8KTUZCclEzbHJWMUF2 +TTNwS1MyRldZMUJoU0M4MGVXeHlVbGhsWW1ORFlteFVXazlvU3psaVRIVkRjM2xs +VDNKRwpSSEkzV0dOWGMzcE1DbFl4SzJKVFV6VldkRzV3VHpOTlp6VTROekl3VFhs +NlRsRXZja2hJU0ZOTmJEZE1iMGMzClZqSkpkMko0UW5OTksxSndRazlZWVhSbFZI +UXJOekIwYldnS1dXa3JTWEJVV1ZoclduRlhlSGR1Wm5kalEwSkcKVlhwME5sWkxM +MEpHUkROUldUUlRlVTVGZDJkQldVcExiMXBKYUhaalRrRlJZMEpOUWpCSFExZERS +d3BUUVVacwpRWGRSUWtGblVWRnRTV2RoVVdObGNWZ3djWEpKU0doaFdqQnNSbTlo +UTBGQ1NVZG5hVkJhWlVSQ2RtRjZhREJHCldXNWhUbGhqVTJKUU9XdFdDa0YzTmpN +eWJEbDZhVko1UTBZM1YyZDBUMFJKTjJObU1scE9WVm92VVVKUVdWSnYKSzIxeU5H +NXpUVWhzUm5GRVZqZFhORm8xWWxwcFJXTlRiVzR3TVRjS1JUUTBUWFo0TjNOM2Js +cDNhRTgzUTFkVAplVkJwWmxweGJraEVhbnBHVFZCbGVVZDJZM05MWTAxc1JVSkNW +VEpVUTBZMlYzQnplbTlLTm1Ga2NrdElUUXBpCmJtRktMM3BHWVZKbFVpOXRXa1ZK +V0hSUWIxbHJSV1pITW1GeGFtdENZMEZEWVd4dFJHMDNkM2N5YTBocVJXSTMKUlZo +dE9WWmhWalZUVUdsVloxRlJDbmw2U1hRclNqVm5jV1kwVjJreVEycFZUbmR2UmxG QlFVRkJRVUZCUVVGQgpRVUZCUFFvS0FBQUFBQUFBb0lJRFlqQ0NBMTR3Z2dKR29B TUNBUUlDQVI0d0RRWUpLb1pJaHZjTkFRRUxCUUF3ClpERUxNQWtHQTFVRUJoTUNW Vk14RXpBUkJnTlZCQWdUQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05WQkFjVERVMXYK ZFc1MFlXbHVJRlpwWlhjeEVqQVFCZ05WQkFvVENVSlBSMVZUSUU1VFV6RVVNQklH -QTFVRUF4TUxUbE5USUZSbApjM1FnUTBFd0hoY05Nakl4TWpFNU1URXlOVFF3V2hj -Tk1qY3hNakU1TVRFeU5UUXdXakNCZ0RFTE1Ba0dBMVVFCkJoTUNWVk14RXpBUkJn +QTFVRUF4TUxUbE5USUZSbApjM1FnUTBFd0hoY05Nak14TVRJeE1qQTFNRE0yV2hj +Tk1qZ3hNVEl4TWpBMU1ETTJXakNCZ0RFTE1Ba0dBMVVFCkJoTUNWVk14RXpBUkJn TlZCQWdUQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05WQkFjVERVMXZkVzUwWVdsdUlG WnAKWlhjeEVqQVFCZ05WQkFvVENVSlBSMVZUSUU1VFV6RWdNQjRHQ1NxR1NJYjNE UUVKQVJZUlFXeHBZMlZBWlhoaApiWEJzWlM1amIyMHhEakFNQmdOVkJBTVRCVUZz YVdObE1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBCk1JSUJDZ0tDQVFF -QXU0RXRBbXFuQnQwRWNnK2dnakZEKzJ4eU85eWs2elRreThLWHVnVG9ybk5uVDhU -L2xRUGYKNzhaL29naG1PY1RPbmZ4RTJZRWh2WmpvY1JtRGozbXRLVjIxdWpjVk5j -cVp4anBDaHFNcWVLV2F1Q2F4L1V5awpzUEdoUitUdkxCZkh6SGlsNk1EU0V1MVVC -cjdmbGZRL0VIS3ZqWGFHbSsyU1dPL29VNzAraDlVM3djRlJjdm9WCkpiVkgrZ2Fr -dHpxY082bEp4MUNmbWFpU0E3dUF4eGowTTkwc25GS3B6Z2tPeFRLck82T1UwM0Ey -VkYydlFCWnYKcXhycmVqN0pXbk5FbWdDL1J4ci9oY0FSVGxUeVlOaE4xcDM1S3lB -TlFDOWRINGxYZHZLenUyVzY0d3F2bzlTdQovUjdCSkRUdGRLMUVLZnY5NkZzVU9X -ekNhRmhPU1RRYnd3SURBUUFCTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCCkFRQTVp -ZGJFSHVYWmNDWGFYN1RxcHdqd2tkMEZhai96ZkhwclUzT3ZoaytxeWErYWNPbVFi -bjVCUmQvS2h0bzEKTFgyWlk5VkZRZjIyUzhnMGZsNXk5YUFsV1lneWFuVXBOZjYv -QW9LWWRBMDhJVHpqV240dmx5dGlYOXhta2NzbQpzb2E2WE5hQnArQ0NZdFI3MExD -dVNYaUlyK2h4TytBVzRYSS9iMCt0Nk4rVjRMbEN1ZElXVEROUWdvU05GUjJWCkdS -aHY5ZlR2U1phemtQVnlwWG5ibXJaeHl1TDNPcWhwdldXL2RvSVFhd0cyU3VvYVdD -bENYTjJjNmhubnZJL1kKcUJzZW9sQWg5RmtrbDlhUkxYYjg0REFNSDFVZ3dITEhX -RlJ6bWpGTmc0VGkyTW1kMEhNNzBNek9GcXRKdWJPUQo0WHAvRUNjQ3JaeFFvWEg4 -MDJTL0hGeW5NWUlDK1RDQ0F2VUNBUUV3YVRCa01Rc3dDUVlEVlFRR0V3SlZVekVU +QW5ycGhFdy9JSGxlT0htbnJGanFZV05md3JuYWtuOVZIdkpWaUNyeU8wR09PcFNV +RkxiU1QKQWwwNTZhbmg2OFNEdm96dVdGK2JLMnVqc3RLVlhieTVSWDhTWWN1YzF2 +MXowV01HRHIxUzVmUS9kUEVtenVpTApXNlNzNENlTGZtaytGM3FhUDZZR2FFTHNa +b0VzNmZVY2wzRlBNTWY4MUtkWXlGbHkzVmoydEhWRlk4UnNKV29ECjlRenJXcGNX +a3h5TDVSRDh1RHRqR090K2pDVloxQko3TzFBL0pveGlrN1ladGszNXZaMW92WW9B +UTdRQnpUaDcKZ3FocWlpRDltRVlyd2tDcTQ2U0NzK3lYZWFlRjJNNnRsRFdWcmhy +ZU1zMnpzd21sRkxDWmZPcitJQXdzU2dlego3cjZzNTZ2TFJRZTVPd1dnUFJSeVEz +M1FJYnNkN2NtTDNRSURBUUFCTUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCCkFRQ0hS +Sy9TVGZmd3VxSThsR0lNNFpkUkROYVh5NVB1a21iVGY0bDhFdWFYaktKV3d5NWxh +L1RkT3hwcWc1dGIKZjdrMUFXeUE4OENWS2pRbk1ucVhxYmVEL3FhVVVEVXpHSS8y +THR4Tlp6Y1k1QmFVNVBhdXZIbGxEZHE0SHBqdQpVZklvdXB2ajcxWGRzWHZ2blZi +RFlnT1pYRGJXUkt1YnkzYnlZZW5odWdUTHNkMjdBNC9Wa2VMdTkzcmxwSmFYClM2 +RWlleEVxUTlLTmZFZzlaYXpLM1RZbEFsUURNcC9JeWI3MldWQ0ptTEoxUFNzYkRL +bHBpTU96TFRMOEp4c0kKUkJJVFdMa0xFYjZaakxCYnZDZ2E5S2dMK1ducHowNmtl +cVVidE9nNkJCakJPaVh3MlBZNWFQVk5SQ1pkTHVqdQp4andxTU43SlpuRG1RejBE +SDkyMGJwMi9NWUlERnpDQ0F4TUNBUUV3YVRCa01Rc3dDUVlEVlFRR0V3SlZVekVU Ck1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5UVzkxYm5S aGFXNGdWbWxsZHpFU01CQUcKQTFVRUNoTUpRazlIVlZNZ1RsTlRNUlF3RWdZRFZR UURFd3RPVTFNZ1ZHVnpkQ0JEUVFJQkhqQU5CZ2xnaGtnQgpaUU1FQWdNRkFLQ0NB -V0V3R0FZSktvWklodmNOQVFrRE1Rc0dDU3FHU0liM0RRRUhBVEJQQmdrcWhraUc5 -dzBCCkNRUXhRZ1JBZmFNNkFPOGhuYVUwbEdveUdNaFhvMzZROWRNVW1RNHpFdjUv -VG5ScnE2WW93d1d4YzJ0RHUzNVAKbCtQMkR4Zy9aSDQvZHlIckVQdE5JQlFtcDBG -b1RUQjRCZ2tyQmdFRUFZSTNFQVF4YXpCcE1HUXhDekFKQmdOVgpCQVlUQWxWVE1S -TXdFUVlEVlFRSUV3cERZV3hwWm05eWJtbGhNUll3RkFZRFZRUUhFdzFOYjNWdWRH -RnBiaUJXCmFXVjNNUkl3RUFZRFZRUUtFd2xDVDBkVlV5Qk9VMU14RkRBU0JnTlZC -QU1UQzA1VFV5QlVaWE4wSUVOQkFnRWUKTUhvR0N5cUdTSWIzRFFFSkVBSUxNV3Vn -YVRCa01Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGcwphV1p2Y201 -cFlURVdNQlFHQTFVRUJ4TU5UVzkxYm5SaGFXNGdWbWxsZHpFU01CQUdBMVVFQ2hN -SlFrOUhWVk1nClRsTlRNUlF3RWdZRFZRUURFd3RPVTFNZ1ZHVnpkQ0JEUVFJQkhq -QU5CZ2txaGtpRzl3MEJBUUVGQUFTQ0FRQTEKREVycWFBVk5Uc3hTQitDbkk2UitG -M3QybDZ2RGxHaVRWV3dEWmFZazB3alZYbk1hWmthbkF0REFEcnZwWDZ1MgpjOGps -alladWtsYXJvTGF0UGdJaEQzWjVUYldsSVFVWWJzcWk1T256ejJNaWhSdjJMK1M3 -cTRRNXNGdzMyb2UwCmpSeGxreUdJUFYxMHhqTXFlTzlTUW9uaWF4eEV6YWx3cEFw -a0hGNThUaDBzL3o2R3RaVmw0OTdOc0d2L2ptYU8KQXd5L294eUcvL0F2bHpYbUNL -b21FTW5vMitWNitvYXh3NURvUzN1MDhNV0pPOEZTUjJmVzE1V3JFWEJ0enhLNQp5 -NzloSTl6VS9NQS96U1RURk1VK2w5ZWJKeUhYRDdDMWRCVzNMYnkzcHZWSlBER0hI -cUhRNFZTMjFsMkJ4M3gzCnRQWVl6Y2NYVFNDb09qc2hVK1AxQUFBQUFBQUEKAAAA -AAAAoIIDXzCCA1swggJDoAMCAQICATIwDQYJKoZIhvcNAQELBQAwZDELMAkGA1UE -BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZp -ZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0EwHhcN -MjIxMjE5MTEyNTQ3WhcNMjcxMjE5MTEyNTQ3WjB+MQswCQYDVQQGEwJVUzETMBEG -A1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UE -ChMJQk9HVVMgTlNTMR8wHQYJKoZIhvcNAQkBFhBEYXZlQGV4YW1wbGUuY29tMQ0w -CwYDVQQDEwREYXZlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA9sS/ -7BR/GtATQq2NuhMwrHVOO80vnnyl6h4ANOV78qDrv+NtoMRK01p6ii4fMGI0Dr2d -OqKdlzUS/r96e8ewjEt0aFN7VkpYY4h0DrXZa4Q9c4AzfoaRKO7fOJDF9Bx7xuSa -6vlrC4Lb1yOU4s1bzYYg2Ada8SFm8xwf4tJjrG3z6x7w5NBmGOlyJ3oo1iqCnv/y -VxRgisTWQ/tBCDQREq+mFuJ/f8SabmjyHDb8GIuETj2bbMG322sMEUpEAYY0bRqq -nBKGp94bLetQQJu+g9SHnL7QXdxltz+rFDeUu+AeMYHddrho894kmZzyeDcoAZoM -PLWxEII8Sv8jKxc8dwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBywzCSCcblvpxe -pXYnK3KqkqzWFFufsl2s0giHbmQJtn++hUM46Bsm8FNUo6JW9/AsHw1taFoUD4yr -IokRdmAX5CkFOndWh1KzU2JI00pgW+Jz/0/E/f8z7/oc4ygqrME0wikbPHFvRTtl -6KPPnF5NdJqoB8XUmO5u82i00WLTbOCiXszXDfCgMTzjPRFjx48KI11MtUfDDg3m -D1KlnxyIjYkbSWbgDZOsEo5PGSvcbSPQ8Z1I5OwPfJhNQ6xrYp/AWuoS+4baj33O -Dbp3yWAaCIMvd3Wcn7gXz7LzijMJmKRZ70h5Q44O8EYus4jw1pC/Bdmku51I6E0A -G6/EyA0kMYIC+TCCAvUCAQEwaTBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2Fs -aWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMg -TlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBMjANBglghkgBZQMEAgMFAKCCAWEw -GAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATBPBgkqhkiG9w0BCQQxQgRADLoLT6Ia -CDO8rFcQukClx8PXIu579OtGpkr4i2ycpr4HzMV9VcN1ISKs3fdYp+Y3V2Gc//uI -yjV6RU9L4dHTSTB4BgkrBgEEAYI3EAQxazBpMGQxCzAJBgNVBAYTAlVTMRMwEQYD -VQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQK -EwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEyMHoGCyqGSIb3DQEJ -EAILMWugaTBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQG -A1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMgTlNTMRQwEgYDVQQD -EwtOU1MgVGVzdCBDQQIBMjANBgkqhkiG9w0BAQEFAASCAQCTGkPJ23NSsI9cETAS -h4iLtS4lQKkf5D9K1WTrVehlHYg/lvjCuA5HMN4wkN9vqrpRVoYEidWy7b8hba/1 -e6c6Sf56qA9Q8gVLxepsVMsPUSPm+8pjrifpv2819NCyXjlw05r8YT+jJRWdfINV -bHEqKG3SPGWMaXAYLYUXpaetsPx4j83rkEb+oqgsg3IP84s5zkpDlbMWNyLZ0uwQ -iDbCU4Toc1lPFv5TaFtxO8ZGDSm6u2Wgeo2TP8A9cKrMaYFQ5yE7uE5iLtY1YYC5 -ls0RjWWgD1AQ/UYw10ciKcTC1p/ymPfp2YBoEoOXEgd+CdvuSfD/465lZs68k1qt -eGfTAAAAAAAA +WDh3R0FZSktvWklodmNOQVFrRE1Rc0dDU3FHU0liM0RRRUhBVEFjQmdrcWhraUc5 +dzBCCkNRVXhEeGNOTWpNeE1USXhNakExTWpFeFdqQlBCZ2txaGtpRzl3MEJDUVF4 +UWdSQXp2L2d5dEpaZzVNRjhOR1cKUmNjMVVhN0g0dzVhMmQ1WWdWcjM0cXVXYWs0 +SGlYbmFnN1NkSTI0MEVldkhnSTdySzFSdnRxYnNXSlZWOC9yWQpxazJWSkRCNEJn +a3JCZ0VFQVlJM0VBUXhhekJwTUdReEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZR +UUlFd3BECllXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MU5iM1Z1ZEdGcGJpQldh +V1YzTVJJd0VBWURWUVFLRXdsQ1QwZFYKVXlCT1UxTXhGREFTQmdOVkJBTVRDMDVU +VXlCVVpYTjBJRU5CQWdFZU1Ib0dDeXFHU0liM0RRRUpFQUlMTVd1ZwphVEJrTVFz +d0NRWURWUVFHRXdKVlV6RVRNQkVHQTFVRUNCTUtRMkZzYVdadmNtNXBZVEVXTUJR +R0ExVUVCeE1OClRXOTFiblJoYVc0Z1ZtbGxkekVTTUJBR0ExVUVDaE1KUWs5SFZW +TWdUbE5UTVJRd0VnWURWUVFERXd0T1UxTWcKVkdWemRDQkRRUUlCSGpBTkJna3Fo +a2lHOXcwQkFRRUZBQVNDQVFDZGlzZCs5dVpjR2tlZ3ZtMExva3VlVkE1YQo2UVR3 +WG9zelRvNWJER3E3bUtCS2QrTHE4WENGYTBWTTdwTnlOWG5FYmhGdno2NDI2Szdv +OUtneGxKbmcxWmpBCktoN3FNMXdHZVlCN0lMdVN1WStMcnlGSHRTZHlNeTZVMzB3 +d0llc2ZFREs4dlRaWUkrL0F0MWFONlJjelFoTS8KL3JaWVo5K05RTUJEMWxFRkN3 +WDVrREhSanZRT09qYU9MTUxIVFpXeVhsekYwQStXbE8yRjBSdzV5THJudGtGawpw +SHVBZElJeEt1RmN2a29DQm5mdlZoQ1VOQ1hCNnAvWEZRRFZuU1VTamo3aFdXaWZa +eElmeDM2NEdzV0xxSTI3CkROVHJUVFlNaGdtblR3cmFSSU9adUg4L1lJdnAyT2o0 +ZjM2Z2N5RS9HOUlsNUNlaFNZYUFRUE1wa0JJbUFBQUEKQUFBQQoAAAAAAACgggNf +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 diff --git a/comm/mailnews/test/data/smime/alice.env.sig.SHA512.opaque.eml b/comm/mailnews/test/data/smime/alice.env.sig.SHA512.opaque.eml index 334582d3db96ef2d521da1285192ea282600c6c7..472aeca9e84d2f7870291abfce88b9cde6077a25 100644 --- a/comm/mailnews/test/data/smime/alice.env.sig.SHA512.opaque.eml +++ b/comm/mailnews/test/data/smime/alice.env.sig.SHA512.opaque.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: enveloped then opaque-signed sig.SHA512 @@ -18,53 +19,54 @@ UUVIQTZDQU1JQUNBUUF4Z2dHRk1JSUJnUUlCQURCcE1HUXhDekFKQmdOVkJBWVRB bFZUCk1STXdFUVlEVlFRSUV3cERZV3hwWm05eWJtbGhNUll3RkFZRFZRUUhFdzFO YjNWdWRHRnBiaUJXYVdWM01SSXcKRUFZRFZRUUtFd2xDVDBkVlV5Qk9VMU14RkRB U0JnTlZCQU1UQzA1VFV5QlVaWE4wSUVOQkFnRW9NQTBHQ1NxRwpTSWIzRFFFQkFR -VUFCSUlCQUVzN0loUk9odS93RlN1eXB4V3Fmc2VCTEtzMWxoSkprOWNYN283dEoy -bWNWU2pKCnFpQm44RFZ5alhwMEhBUm5rV1RkWXROYVJ2ZEJObkREZExJclRsMEZ1 -cm13ODVqYWFtcWhYN2RvK21JZ3ZSUHkKUHZFRmhiZWw5ek5TOW9GeGRkV1lCYk1W -bDZJYjNBRFhxalYrbTN3WjQ2M2lCNFNTeHZJbHhPTVVkcGx1RWh1VApidVpINkF5 -UzRUSE9FTWZKYnVNNkhPSDkwMnRLK1Byd3VKa2sxQ1dSOWx6dDZ0bGYxclB1VW5h -MEVxNm4wK3UyCmMwUHBvdnFFTG5TVVViRjBTcFRTNHBKVTRXaElWcFpQb3V6T1Ny -dllnVTROSWQ3a2ZKVy9iZFFRbHRzQnNyY04Kd1ZHZS9TUVQrYndnWmlKUWFvY3VG -eWxJNGl5SzdETk11Y2FXbGtNd2dBWUpLb1pJaHZjTkFRY0JNQjBHQ1dDRwpTQUZs -QXdRQkFnUVFDVHRNUktjdmtQbjk3QlVYVmRmdHA2Q0FCSUdncDJGTHpNU1FGb3Bh -dEk2TUVZbTBMU2IyCmloU1R0Y2NJSDJBUk9FQkQwaStNWDhZVHlwKzNTQVpQRUFJ -YXdhdlZpbXFteGZIU0htS1hSak8zWXdqcDMreU8KaFR2RjVTamFTZ3hwUGs4TDBQ -eWg1bjJSSytERW9VazF2VXU1eHVmT2lnVmhJOVg2eFZoY2dwWkJQSmtDbVV5ZQpj -b1diWG1BZ3ZacnNYYmZrU0I2WlhxeGZWVmxsQUZLc1ZjcGJLS3ZRVEw5aS9pT0lB -YnU3ejF0ZnluYkd5QVFRCjA5ZzdieTA2Y0FtN2lNZTIybGR5ZUFBQUFBQUFBQUFB +VUFCSUlCQUxBaWxIWW1RWTlTL0gyTVAwSlprSEx4cWxCc2h6bWthVmVDbTh4cmhK +U2pVcUxOClkyZG9iODQ5QTgvc1l5c3RWR2t1cmF2dVZBdjVIUUdUbVEwbnRFN1Zs +T0pwQkIrbktzUldVQVo4a3I0SGhBSmwKRzJHaXJPd0tiUW5OckwvZmVCK0FvdFFU +SnFFY0t0eFVzU2ZrOXRNQnAyRUloL2cwV2FWK2pPY0lqRVJaY25VOApFS3AvekJO +MFBrQ3lrV1AvM3pKS2FWY1BhSC80eWxyUlhlYmNDYmxUWk9oSzliTHVDc3llT3JG +RHI3WGNXc3pMClYxK2JTUzVWdG5wTzNNZzU4NzIwTXl6TlEvckhISFNNbDdMb0c3 +VjJJd2J4QnNNK1JwQk9YYXRlVHQrNzB0bWgKWWkrSXBUWVhrWnFXeHduZndjQ0JG +VXp0NlZLL0JGRDNRWTRTeU5Fd2dBWUpLb1pJaHZjTkFRY0JNQjBHQ1dDRwpTQUZs +QXdRQkFnUVFtSWdhUWNlcVgwcXJJSGhhWjBsRm9hQ0FCSUdnaVBaZURCdmF6aDBG +WW5hTlhjU2JQOWtWCkF3NjMybDl6aVJ5Q0Y3V2d0T0RJN2NmMlpOVVovUUJQWVJv +K21yNG5zTUhsRnFEVjdXNFo1YlppRWNTbW4wMTcKRTQ0TXZ4N3N3blp3aE83Q1dT +eVBpZlpxbkhEanpGTVBleUd2Y3NLY01sRUJCVTJUQ0Y2V3Bzem9KNmFkcktITQpi +bmFKL3pGYVJlUi9tWkVJWHRQb1lrRWZHMmFxamtCY0FDYWxtRG03d3cya0hqRWI3 +RVhtOVZhVjVTUGlVZ1FRCnl6SXQrSjVncWY0V2kyQ2pVTndvRlFBQUFBQUFBQUFB QUFBPQoKAAAAAAAAoIIDYjCCA14wggJGoAMCAQICAR4wDQYJKoZIhvcNAQELBQAw ZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1v dW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRl -c3QgQ0EwHhcNMjIxMjE5MTEyNTQwWhcNMjcxMjE5MTEyNTQwWjCBgDELMAkGA1UE +c3QgQ0EwHhcNMjMxMTIxMjA1MDM2WhcNMjgxMTIxMjA1MDM2WjCBgDELMAkGA1UE BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZp ZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEgMB4GCSqGSIb3DQEJARYRQWxpY2VAZXhh bXBsZS5jb20xDjAMBgNVBAMTBUFsaWNlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEAu4EtAmqnBt0Ecg+ggjFD+2xyO9yk6zTky8KXugTornNnT8T/lQPf -78Z/oghmOcTOnfxE2YEhvZjocRmDj3mtKV21ujcVNcqZxjpChqMqeKWauCax/Uyk -sPGhR+TvLBfHzHil6MDSEu1UBr7flfQ/EHKvjXaGm+2SWO/oU70+h9U3wcFRcvoV -JbVH+gaktzqcO6lJx1CfmaiSA7uAxxj0M90snFKpzgkOxTKrO6OU03A2VF2vQBZv -qxrrej7JWnNEmgC/Rxr/hcARTlTyYNhN1p35KyANQC9dH4lXdvKzu2W64wqvo9Su -/R7BJDTtdK1EKfv96FsUOWzCaFhOSTQbwwIDAQABMA0GCSqGSIb3DQEBCwUAA4IB -AQA5idbEHuXZcCXaX7Tqpwjwkd0Faj/zfHprU3Ovhk+qya+acOmQbn5BRd/Khto1 -LX2ZY9VFQf22S8g0fl5y9aAlWYgyanUpNf6/AoKYdA08ITzjWn4vlytiX9xmkcsm -soa6XNaBp+CCYtR70LCuSXiIr+hxO+AW4XI/b0+t6N+V4LlCudIWTDNQgoSNFR2V -GRhv9fTvSZazkPVypXnbmrZxyuL3OqhpvWW/doIQawG2SuoaWClCXN2c6hnnvI/Y -qBseolAh9Fkkl9aRLXb84DAMH1UgwHLHWFRzmjFNg4Ti2Mmd0HM70MzOFqtJubOQ -4Xp/ECcCrZxQoXH802S/HFynMYIC+TCCAvUCAQEwaTBkMQswCQYDVQQGEwJVUzET +MIIBCgKCAQEAnrphEw/IHleOHmnrFjqYWNfwrnakn9VHvJViCryO0GOOpSUFLbST +Al056anh68SDvozuWF+bK2ujstKVXby5RX8SYcuc1v1z0WMGDr1S5fQ/dPEmzuiL +W6Ss4CeLfmk+F3qaP6YGaELsZoEs6fUcl3FPMMf81KdYyFly3Vj2tHVFY8RsJWoD +9QzrWpcWkxyL5RD8uDtjGOt+jCVZ1BJ7O1A/Joxik7YZtk35vZ1ovYoAQ7QBzTh7 +gqhqiiD9mEYrwkCq46SCs+yXeaeF2M6tlDWVrhreMs2zswmlFLCZfOr+IAwsSgez +7r6s56vLRQe5OwWgPRRyQ33QIbsd7cmL3QIDAQABMA0GCSqGSIb3DQEBCwUAA4IB +AQCHRK/STffwuqI8lGIM4ZdRDNaXy5PukmbTf4l8EuaXjKJWwy5la/TdOxpqg5tb +f7k1AWyA88CVKjQnMnqXqbeD/qaUUDUzGI/2LtxNZzcY5BaU5PauvHllDdq4Hpju +UfIoupvj71XdsXvvnVbDYgOZXDbWRKuby3byYenhugTLsd27A4/VkeLu93rlpJaX +S6EiexEqQ9KNfEg9ZazK3TYlAlQDMp/Iyb72WVCJmLJ1PSsbDKlpiMOzLTL8JxsI +RBITWLkLEb6ZjLBbvCga9KgL+Wnpz06keqUbtOg6BBjBOiXw2PY5aPVNRCZdLuju +xjwqMN7JZnDmQz0DH920bp2/MYIDFzCCAxMCAQEwaTBkMQswCQYDVQQGEwJVUzET MBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAG A1UEChMJQk9HVVMgTlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBHjANBglghkgB -ZQMEAgMFAKCCAWEwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATBPBgkqhkiG9w0B -CQQxQgRAfaM6AO8hnaU0lGoyGMhXo36Q9dMUmQ4zEv5/TnRrq6YowwWxc2tDu35P -l+P2Dxg/ZH4/dyHrEPtNIBQmp0FoTTB4BgkrBgEEAYI3EAQxazBpMGQxCzAJBgNV -BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBW -aWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEe -MHoGCyqGSIb3DQEJEAILMWugaTBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2Fs -aWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMg -TlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBHjANBgkqhkiG9w0BAQEFAASCAQA1 -DErqaAVNTsxSB+CnI6R+F3t2l6vDlGiTVWwDZaYk0wjVXnMaZkanAtDADrvpX6u2 -c8jljYZuklaroLatPgIhD3Z5TbWlIQUYbsqi5Onzz2MihRv2L+S7q4Q5sFw32oe0 -jRxlkyGIPV10xjMqeO9SQoniaxxEzalwpApkHF58Th0s/z6GtZVl497NsGv/jmaO -Awy/oxyG//AvlzXmCKomEMno2+V6+oaxw5DoS3u08MWJO8FSR2fW15WrEXBtzxK5 -y79hI9zU/MA/zSTTFMU+l9ebJyHXD7C1dBW3Lby3pvVJPDGHHqHQ4VS21l2Bx3x3 -tPYYzccXTSCoOjshU+P1AAAAAAAA +ZQMEAgMFAKCCAX8wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0B +CQUxDxcNMjMxMTIxMjA1MjExWjBPBgkqhkiG9w0BCQQxQgRAzv/gytJZg5MF8NGW +Rcc1Ua7H4w5a2d5YgVr34quWak4HiXnag7SdI240EevHgI7rK1RvtqbsWJVV8/rY +qk2VJDB4BgkrBgEEAYI3EAQxazBpMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpD +YWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dV +UyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEeMHoGCyqGSIb3DQEJEAILMWug +aTBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN +TW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMgTlNTMRQwEgYDVQQDEwtOU1Mg +VGVzdCBDQQIBHjANBgkqhkiG9w0BAQEFAASCAQCdisd+9uZcGkegvm0LokueVA5a +6QTwXoszTo5bDGq7mKBKd+Lq8XCFa0VM7pNyNXnEbhFvz6426K7o9KgxlJng1ZjA +Kh7qM1wGeYB7ILuSuY+LryFHtSdyMy6U30wwIesfEDK8vTZYI+/At1aN6RczQhM/ +/rZYZ9+NQMBD1lEFCwX5kDHRjvQOOjaOLMLHTZWyXlzF0A+WlO2F0Rw5yLrntkFk +pHuAdIIxKuFcvkoCBnfvVhCUNCXB6p/XFQDVnSUSjj7hWWifZxIfx364GsWLqI27 +DNTrTTYMhgmnTwraRIOZuH8/YIvp2Oj4f36gcyE/G9Il5CehSYaAQPMpkBImAAAA +AAAA diff --git a/comm/mailnews/test/data/smime/alice.future.dsig.SHA256.multipart.eml b/comm/mailnews/test/data/smime/alice.future.dsig.SHA256.multipart.eml new file mode 100644 index 0000000000000000000000000000000000000000..c2096e561c3d148ba221c380c5b11586c6e3a68b --- /dev/null +++ b/comm/mailnews/test/data/smime/alice.future.dsig.SHA256.multipart.eml @@ -0,0 +1,60 @@ +MIME-Version: 1.0 +Date: Wed, 22 Nov 2023 02:50:06 +0000 +From: Alice@example.com +To: Bob@example.com +Subject: clear-signed sig.SHA256 +Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="------------ms030903020902020502030404" + +This is a cryptographically signed message in MIME format. + +--------------ms030903020902020502030404 +Content-Type: text/plain; charset=utf-8; format=flowed +Content-Transfer-Encoding: quoted-printable +Content-Language: en-US + +This is a test message from Alice to Bob. + +--------------ms030903020902020502030404 +Content-Type: application/pkcs7-signature; name=smime.p7s +Content-Transfer-Encoding: base64 +Content-Disposition: attachment; filename=smime.p7s +Content-Description: S/MIME Cryptographic Signature + +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 +6k/oDIAAAAAAAAA= +--------------ms030903020902020502030404-- + diff --git a/comm/mailnews/test/data/smime/alice.plain.dsig.SHA1.multipart.dave.dsig.SHA1.multipart.eml b/comm/mailnews/test/data/smime/alice.plain.dsig.SHA1.multipart.dave.dsig.SHA1.multipart.eml index 17b0490b8e3385f02cb94e791040b2ccb6e8a697..c09006f695c53a2c8f67e63ba5947478375e2a37 100644 --- a/comm/mailnews/test/data/smime/alice.plain.dsig.SHA1.multipart.dave.dsig.SHA1.multipart.eml +++ b/comm/mailnews/test/data/smime/alice.plain.dsig.SHA1.multipart.dave.dsig.SHA1.multipart.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Dave@example.com To: Bob@example.com Subject: clear-signed sig.SHA1 then clear-signed signed by dave @@ -25,38 +26,38 @@ Content-Description: S/MIME Cryptographic Signature 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 -e20EAAAAAAAA +TlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBHjAJBgUrDgMCGgUAoIIBUzAYBgkq +hkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yMzExMjEyMDUy +MDVaMCMGCSqGSIb3DQEJBDEWBBQ6lsBnOgG++otJRrNIvABL/tlP9DB4BgkrBgEE +AYI3EAQxazBpMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYw +FAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNV +BAMTC05TUyBUZXN0IENBAgEeMHoGCyqGSIb3DQEJEAILMWugaTBkMQswCQYDVQQG +EwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmll +dzESMBAGA1UEChMJQk9HVVMgTlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBHjAN +BgkqhkiG9w0BAQEFAASCAQCC8kXRuO8IiCkyCMhOAp+URAoBKsokWbpFG8Vmr0GF +ge7+rOoOeBwJk+n9Lq0yCsPyOEKe1oPOPAcU48R/B6eh9wfdMcWTdmg0RxxptQIs +E7D37ETRr4aG0kPMD5AyfGsEttlXprBwrsClr3skd05QNlFPEhEsp/SYBeNl21oJ +hFeGq9kxDfP5VJ0vVMEbXEjdP/YiJFBiwX/es7p2BNnmzVPgquHRMtN7ZIR8y3c6 +PgHovAzxvxhVYrKuxaEpu0oKkS+CEQasNYF8nOOkT6ER9KnM9G/wA1aQflDtR9Lf +9gn/QVb12HnVoWhUSKtQe9uhSUBVTeVrORDGqQAVtDCSAAAAAAAA --------------ms030903020902020502030404-- @@ -70,38 +71,38 @@ Content-Description: S/MIME Cryptographic Signature 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 -AAAAAAAA +MRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBMjAJBgUrDgMCGgUAoIIBUzAYBgkqhkiG +9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yMzExMjEyMDUyMDVa +MCMGCSqGSIb3DQEJBDEWBBShyU6bIf3q21OR8eStNLnCLyWJjDB4BgkrBgEEAYI3 +EAQxazBpMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYD +VQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMT +C05TUyBUZXN0IENBAgEyMHoGCyqGSIb3DQEJEAILMWugaTBkMQswCQYDVQQGEwJV +UzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzES +MBAGA1UEChMJQk9HVVMgTlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBMjANBgkq +hkiG9w0BAQEFAASCAQBVPbj0n2gkfXUAsXRvkMVwe68zmXwhaNta7SUS/XTCnmeM +mWTY5bTBmZdQchtIuCxWDla85L9SI/JVl4YrS1qoUX9p7IS0q3wsprFtVE0Hb7iU +tBeJ4xBdR2oZjnFLgZjB98zZenrJjAsC0N4tTkQOUkpROmZjZUe30o9QNkf/w+60 +Thj9Nam/Z0qlrBbjsa20HNamX41AK0e784kDKcvyvEk0G6agbJcH58xQHMFm0Wc3 +tLP1at6GyrW62OeyLKoHBc39/CtZKjd4VPaKahqY7QD/TCKd6gH8d8x4klOz5k9/ +yVA1qMkFtUR1I1D3iKodLRI36e2oMkKt900GzyLvAAAAAAAA --------------ms010205070902020502030809-- diff --git a/comm/mailnews/test/data/smime/alice.plain.dsig.SHA1.multipart.dave.sig.SHA1.opaque.eml b/comm/mailnews/test/data/smime/alice.plain.dsig.SHA1.multipart.dave.sig.SHA1.opaque.eml index 5bd94ab59c2d43d437f68556f7f7752a52c268da..dddae44229224374306a2270b577b86ec66041f2 100644 --- a/comm/mailnews/test/data/smime/alice.plain.dsig.SHA1.multipart.dave.sig.SHA1.opaque.eml +++ b/comm/mailnews/test/data/smime/alice.plain.dsig.SHA1.multipart.dave.sig.SHA1.opaque.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Dave@example.com To: Bob@example.com Subject: clear-signed sig.SHA1 then opaque signed by dave @@ -9,7 +10,7 @@ Content-Disposition: attachment; filename=smime.p7m Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAaCA -JIAEggr8Q29udGVudC1UeXBlOiBtdWx0aXBhcnQvc2lnbmVkOyBwcm90b2NvbD0i +JIAEggskQ29udGVudC1UeXBlOiBtdWx0aXBhcnQvc2lnbmVkOyBwcm90b2NvbD0i YXBwbGljYXRpb24vcGtjczctc2lnbmF0dXJlIjsgbWljYWxnPXNoYS0xOyBib3Vu ZGFyeT0iLS0tLS0tLS0tLS0tbXMwMzA5MDMwMjA5MDIwMjA1MDIwMzA0MDQiCgpU aGlzIGlzIGEgY3J5cHRvZ3JhcGhpY2FsbHkgc2lnbmVkIG1lc3NhZ2UgaW4gTUlN @@ -25,80 +26,82 @@ UUV4Q3pBSkJnVXJEZ01DR2dVQU1JQUdDU3FHU0liM0RRRUhBUUFBCm9JSURZakND QTE0d2dnSkdvQU1DQVFJQ0FSNHdEUVlKS29aSWh2Y05BUUVMQlFBd1pERUxNQWtH QTFVRUJoTUMKVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdO VkJBY1REVTF2ZFc1MFlXbHVJRlpwWlhjeApFakFRQmdOVkJBb1RDVUpQUjFWVElF -NVRVekVVTUJJR0ExVUVBeE1MVGxOVElGUmxjM1FnUTBFd0hoY05Nakl4Ck1qRTVN -VEV5TlRRd1doY05NamN4TWpFNU1URXlOVFF3V2pDQmdERUxNQWtHQTFVRUJoTUNW +NVRVekVVTUJJR0ExVUVBeE1MVGxOVElGUmxjM1FnUTBFd0hoY05Nak14Ck1USXhN +akExTURNMldoY05Namd4TVRJeE1qQTFNRE0yV2pDQmdERUxNQWtHQTFVRUJoTUNW Vk14RXpBUkJnTlYKQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVTF2 ZFc1MFlXbHVJRlpwWlhjeEVqQVFCZ05WQkFvVApDVUpQUjFWVElFNVRVekVnTUI0 R0NTcUdTSWIzRFFFSkFSWVJRV3hwWTJWQVpYaGhiWEJzWlM1amIyMHhEakFNCkJn TlZCQU1UQlVGc2FXTmxNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1J -SUJDZ0tDQVFFQXU0RXQKQW1xbkJ0MEVjZytnZ2pGRCsyeHlPOXlrNnpUa3k4S1h1 -Z1Rvcm5OblQ4VC9sUVBmNzhaL29naG1PY1RPbmZ4RQoyWUVodlpqb2NSbURqM210 -S1YyMXVqY1ZOY3FaeGpwQ2hxTXFlS1dhdUNheC9VeWtzUEdoUitUdkxCZkh6SGls -CjZNRFNFdTFVQnI3ZmxmUS9FSEt2alhhR20rMlNXTy9vVTcwK2g5VTN3Y0ZSY3Zv -VkpiVkgrZ2FrdHpxY082bEoKeDFDZm1haVNBN3VBeHhqME05MHNuRktwemdrT3hU -S3JPNk9VMDNBMlZGMnZRQlp2cXhycmVqN0pXbk5FbWdDLwpSeHIvaGNBUlRsVHlZ -TmhOMXAzNUt5QU5RQzlkSDRsWGR2S3p1Mlc2NHdxdm85U3UvUjdCSkRUdGRLMUVL -ZnY5CjZGc1VPV3pDYUZoT1NUUWJ3d0lEQVFBQk1BMEdDU3FHU0liM0RRRUJDd1VB -QTRJQkFRQTVpZGJFSHVYWmNDWGEKWDdUcXB3andrZDBGYWovemZIcHJVM092aGsr -cXlhK2FjT21RYm41QlJkL0todG8xTFgyWlk5VkZRZjIyUzhnMApmbDV5OWFBbFdZ -Z3lhblVwTmY2L0FvS1lkQTA4SVR6alduNHZseXRpWDl4bWtjc21zb2E2WE5hQnAr -Q0NZdFI3CjBMQ3VTWGlJcitoeE8rQVc0WEkvYjArdDZOK1Y0TGxDdWRJV1RETlFn -b1NORlIyVkdSaHY5ZlR2U1phemtQVnkKcFhuYm1yWnh5dUwzT3FocHZXVy9kb0lR -YXdHMlN1b2FXQ2xDWE4yYzZobm52SS9ZcUJzZW9sQWg5RmtrbDlhUgpMWGI4NERB -TUgxVWd3SExIV0ZSem1qRk5nNFRpMk1tZDBITTcwTXpPRnF0SnViT1E0WHAvRUNj -Q3JaeFFvWEg4CjAyUy9IRnluTVlJQ3lUQ0NBc1VDQVFFd2FUQmtNUXN3Q1FZRFZR +SUJDZ0tDQVFFQW5ycGgKRXcvSUhsZU9IbW5yRmpxWVdOZndybmFrbjlWSHZKVmlD +cnlPMEdPT3BTVUZMYlNUQWwwNTZhbmg2OFNEdm96dQpXRitiSzJ1anN0S1ZYYnk1 +Ulg4U1ljdWMxdjF6MFdNR0RyMVM1ZlEvZFBFbXp1aUxXNlNzNENlTGZtaytGM3Fh +ClA2WUdhRUxzWm9FczZmVWNsM0ZQTU1mODFLZFl5Rmx5M1ZqMnRIVkZZOFJzSldv +RDlRenJXcGNXa3h5TDVSRDgKdUR0akdPdCtqQ1ZaMUJKN08xQS9Kb3hpazdZWnRr +MzV2WjFvdllvQVE3UUJ6VGg3Z3FocWlpRDltRVlyd2tDcQo0NlNDcyt5WGVhZUYy +TTZ0bERXVnJocmVNczJ6c3dtbEZMQ1pmT3IrSUF3c1NnZXo3cjZzNTZ2TFJRZTVP +d1dnClBSUnlRMzNRSWJzZDdjbUwzUUlEQVFBQk1BMEdDU3FHU0liM0RRRUJDd1VB +QTRJQkFRQ0hSSy9TVGZmd3VxSTgKbEdJTTRaZFJETmFYeTVQdWttYlRmNGw4RXVh +WGpLSld3eTVsYS9UZE94cHFnNXRiZjdrMUFXeUE4OENWS2pRbgpNbnFYcWJlRC9x +YVVVRFV6R0kvMkx0eE5aemNZNUJhVTVQYXV2SGxsRGRxNEhwanVVZklvdXB2ajcx +WGRzWHZ2Cm5WYkRZZ09aWERiV1JLdWJ5M2J5WWVuaHVnVExzZDI3QTQvVmtlTHU5 +M3JscEphWFM2RWlleEVxUTlLTmZFZzkKWmF6SzNUWWxBbFFETXAvSXliNzJXVkNK +bUxKMVBTc2JES2xwaU1PekxUTDhKeHNJUkJJVFdMa0xFYjZaakxCYgp2Q2dhOUtn +TCtXbnB6MDZrZXFVYnRPZzZCQmpCT2lYdzJQWTVhUFZOUkNaZEx1anV4andxTU43 +SlpuRG1RejBECkg5MjBicDIvTVlJQzV6Q0NBdU1DQVFFd2FUQmtNUXN3Q1FZRFZR UUdFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnMKYVdadmNtNXBZVEVXTUJRR0ExVUVC eE1OVFc5MWJuUmhhVzRnVm1sbGR6RVNNQkFHQTFVRUNoTUpRazlIVlZNZwpUbE5U TVJRd0VnWURWUVFERXd0T1UxTWdWR1Z6ZENCRFFRSUJIakFKQmdVckRnTUNHZ1VB -b0lJQk5UQVlCZ2txCmhraUc5dzBCQ1FNeEN3WUpLb1pJaHZjTkFRY0JNQ01HQ1Nx -R1NJYjNEUUVKQkRFV0JCUTZsc0JuT2dHKytvdEoKUnJOSXZBQkwvdGxQOURCNEJn -a3JCZ0VFQVlJM0VBUXhhekJwTUdReEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRApW -UVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MU5iM1Z1ZEdGcGJpQldh -V1YzTVJJd0VBWURWUVFLCkV3bENUMGRWVXlCT1UxTXhGREFTQmdOVkJBTVRDMDVU -VXlCVVpYTjBJRU5CQWdFZU1Ib0dDeXFHU0liM0RRRUoKRUFJTE1XdWdhVEJrTVFz -d0NRWURWUVFHRXdKVlV6RVRNQkVHQTFVRUNCTUtRMkZzYVdadmNtNXBZVEVXTUJR -RwpBMVVFQnhNTlRXOTFiblJoYVc0Z1ZtbGxkekVTTUJBR0ExVUVDaE1KUWs5SFZW -TWdUbE5UTVJRd0VnWURWUVFECkV3dE9VMU1nVkdWemRDQkRRUUlCSGpBTkJna3Fo -a2lHOXcwQkFRRUZBQVNDQVFBUGFNQUZ2R0NZaW5WeGE5UHIKZklQdVhxU29DSzFk -RHQzdXpYbk52c0lPQ0liYXhJUjZuZERPRk9OcVdicXhhMWpWVDk4aFAweW4yb2hy -NE95cQpZZExsVTlvWlUwQUxNdGR3bEJmdUs4M0ZjelY5Wko3WnYzaEtuWWVMYnJj -SjNOYkU0TVN3ek80SUJzVHdrSnNUCmZZb3lGdnEwQWVlZDFPOUsvRUlHaUJjd2py -bnJJdC94Nk5Ya3RXaVltSG01SGw3ZnBjN2dTaFdGUmNtc3RZM2UKeDVhVGUvUGxa -TXJWZkpIYkJmNmpKQkxEalBTNDZqUmtjNUo1OUtPbUZxc2RsZHRabUJWa3g5aFVp -b0FvcFFsMgoyU3RlY1N1ZjJkNFJsK2tsWm1DakNHNjRGdkpHQUhQREQzU1ZhdEsx -cy84ZlRkWlAzcm9oOVA4Vk1yQVBnNmxrCmUyMEVBQUFBQUFBQQotLS0tLS0tLS0t -LS0tLW1zMDMwOTAzMDIwOTAyMDIwNTAyMDMwNDA0LS0KCgAAAAAAAKCCA18wggNb -MIICQ6ADAgECAgEyMA0GCSqGSIb3DQEBCwUAMGQxCzAJBgNVBAYTAlVTMRMwEQYD -VQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQK -EwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBMB4XDTIyMTIxOTExMjU0 -N1oXDTI3MTIxOTExMjU0N1owfjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm -b3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5T -UzEfMB0GCSqGSIb3DQEJARYQRGF2ZUBleGFtcGxlLmNvbTENMAsGA1UEAxMERGF2 -ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPbEv+wUfxrQE0KtjboT -MKx1TjvNL558peoeADTle/Kg67/jbaDEStNaeoouHzBiNA69nTqinZc1Ev6/envH -sIxLdGhTe1ZKWGOIdA612WuEPXOAM36GkSju3ziQxfQce8bkmur5awuC29cjlOLN -W82GINgHWvEhZvMcH+LSY6xt8+se8OTQZhjpcid6KNYqgp7/8lcUYIrE1kP7QQg0 -ERKvphbif3/Emm5o8hw2/BiLhE49m2zBt9trDBFKRAGGNG0aqpwShqfeGy3rUECb -voPUh5y+0F3cZbc/qxQ3lLvgHjGB3Xa4aPPeJJmc8ng3KAGaDDy1sRCCPEr/IysX -PHcCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAcsMwkgnG5b6cXqV2JytyqpKs1hRb -n7JdrNIIh25kCbZ/voVDOOgbJvBTVKOiVvfwLB8NbWhaFA+MqyKJEXZgF+QpBTp3 -VodSs1NiSNNKYFvic/9PxP3/M+/6HOMoKqzBNMIpGzxxb0U7Zeijz5xeTXSaqAfF -1JjubvNotNFi02zgol7M1w3woDE84z0RY8ePCiNdTLVHww4N5g9SpZ8ciI2JG0lm -4A2TrBKOTxkr3G0j0PGdSOTsD3yYTUOsa2KfwFrqEvuG2o99zg26d8lgGgiDL3d1 -nJ+4F8+y84ozCZikWe9IeUOODvBGLrOI8NaQvwXZpLudSOhNABuvxMgNJDGCAskw -ggLFAgEBMGkwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAU -BgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UE -AxMLTlNTIFRlc3QgQ0ECATIwCQYFKw4DAhoFAKCCATUwGAYJKoZIhvcNAQkDMQsG -CSqGSIb3DQEHATAjBgkqhkiG9w0BCQQxFgQU7DIrov1ZdspLtthlfNhC43kHXWcw -eAYJKwYBBAGCNxAEMWswaTBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZv -cm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMgTlNT -MRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBMjB6BgsqhkiG9w0BCRACCzFroGkwZDEL -MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50 -YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3Qg -Q0ECATIwDQYJKoZIhvcNAQEBBQAEggEAJBkEh1gzUBrd18C/P2X/G3cfqwKSdlJ4 -o3/SvtwWeXmFSXiJINNjz0AuYVpeauC5d8hTx2Ub7qywm7qpCh42zSZ+U/YlvdUs -Q60B4f0lxdo5pWu/WhaoolDVlUtRwdSHpPQJB9Sf21jWfIn/q8nO4u8lLc+TKho/ -KVJXO7U61gHthIeiY4ywjFP54IYMtNBh7kn9fGuXlZgoHwq/omJbdLe0DGbw4tv7 -9wJEnpmm0uAKKMNm0HHfPA36WBkPx983hSKc6h+MBz+H3YYLfbYFzz5IP0QP5L+3 -yhPA+EaPIjpR0BIZYSkpJAJ6Vw2ZVJatpFbxciE2PRRCA4FhIURh6gAAAAAAAA== +b0lJQlV6QVlCZ2txCmhraUc5dzBCQ1FNeEN3WUpLb1pJaHZjTkFRY0JNQndHQ1Nx +R1NJYjNEUUVKQlRFUEZ3MHlNekV4TWpFeU1EVXkKTURWYU1DTUdDU3FHU0liM0RR +RUpCREVXQkJRNmxzQm5PZ0crK290SlJyTkl2QUJML3RsUDlEQjRCZ2tyQmdFRQpB +WUkzRUFReGF6QnBNR1F4Q3pBSkJnTlZCQVlUQWxWVE1STXdFUVlEVlFRSUV3cERZ +V3hwWm05eWJtbGhNUll3CkZBWURWUVFIRXcxTmIzVnVkR0ZwYmlCV2FXVjNNUkl3 +RUFZRFZRUUtFd2xDVDBkVlV5Qk9VMU14RkRBU0JnTlYKQkFNVEMwNVRVeUJVWlhO +MElFTkJBZ0VlTUhvR0N5cUdTSWIzRFFFSkVBSUxNV3VnYVRCa01Rc3dDUVlEVlFR +RwpFd0pWVXpFVE1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4 +TU5UVzkxYm5SaGFXNGdWbWxsCmR6RVNNQkFHQTFVRUNoTUpRazlIVlZNZ1RsTlRN +UlF3RWdZRFZRUURFd3RPVTFNZ1ZHVnpkQ0JEUVFJQkhqQU4KQmdrcWhraUc5dzBC +QVFFRkFBU0NBUUNDOGtYUnVPOElpQ2t5Q01oT0FwK1VSQW9CS3Nva1dicEZHOFZt +cjBHRgpnZTcrck9vT2VCd0prK245THEweUNzUHlPRUtlMW9QT1BBY1U0OFIvQjZl +aDl3ZmRNY1dUZG1nMFJ4eHB0UUlzCkU3RDM3RVRScjRhRzBrUE1ENUF5ZkdzRXR0 +bFhwckJ3cnNDbHIzc2tkMDVRTmxGUEVoRXNwL1NZQmVObDIxb0oKaEZlR3E5a3hE +ZlA1VkowdlZNRWJYRWpkUC9ZaUpGQml3WC9lczdwMkJObm16VlBncXVIUk10Tjda +SVI4eTNjNgpQZ0hvdkF6eHZ4aFZZckt1eGFFcHUwb0trUytDRVFhc05ZRjhuT09r +VDZFUjlLbk05Ry93QTFhUWZsRHRSOUxmCjlnbi9RVmIxMkhuVm9XaFVTS3RRZTl1 +aFNVQlZUZVZyT1JER3FRQVZ0RENTQUFBQUFBQUEKLS0tLS0tLS0tLS0tLS1tczAz +MDkwMzAyMDkwMjAyMDUwMjAzMDQwNC0tCgoAAAAAAACgggNfMIIDWzCCAkOgAwIB +AgIBMjANBgkqhkiG9w0BAQsFADBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2Fs +aWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMg +TlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQTAeFw0yMzExMjEyMDUwNDNaFw0yODEx +MjEyMDUwNDNaMH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYw +FAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxHzAdBgkq +hkiG9w0BCQEWEERhdmVAZXhhbXBsZS5jb20xDTALBgNVBAMTBERhdmUwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIS6Iyqw0hewI8Lkj+nQEhnBQfflgD +KrW4nFcNZ5vzU92Nv553ZIFDgNMNyMoztg4irXkzl2Z9VX1xea01iA+OnWCo9w5s +TYqqPYKJktXbit5Dr6A5Zb7//kxIB5DXirVlYK3coKS7084va31SdSYke/RgEnsN +Woxn48WQddddAhMQ8BUQJzaQmpx6i0Kgns5NlA4NqsaFl1+f32uzOSPOy70bx9UF +prvVx2/04LXNNQBg0DDlrbHNRYh3SJZsrFbSvVTazIYzvOiWJo/QQcOVNdHwqFTG +y8ZCtUn8SwrIuuvARpOYnLumFFsk1fP9HMHcTqSWkl+1f4dC5IBQW7INAgMBAAEw +DQYJKoZIhvcNAQELBQADggEBAGNN2cbQc1VjlHeTkloseW93MTh2lEi/zKlS0byK +KEFBfSlPgp0jtQZravUxqvt8cCNpn6KCoJIJiBHozi4vptcfvvNXQJv7Ic8v8QtG +3Tqq9A2f+PAtwInnucGO2JSYfuIc6yfd8+0347H8CPDekAcj5uBHSRiq11r0Uv3U +kltluSa/XgVI0vNFPOMRgXyRR1tWAv4wL4YIgQR6wPVJ9LdB678AhnElq1qOY9Ql +K42W01pVinvk5Y2AWaA/E3yAobtE13otl4GZnjqNLZNvnZ0CqmCuF85caT4fPNZN +fA5NhnFFAGYdMkk2FPgZtHt8YFaBySo73VNFEsDvha75rckxggLnMIIC4wIBATBp +MGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1N +b3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBU +ZXN0IENBAgEyMAkGBSsOAwIaBQCgggFTMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0B +BwEwHAYJKoZIhvcNAQkFMQ8XDTIzMTEyMTIwNTIwNVowIwYJKoZIhvcNAQkEMRYE +FNqZhWCqLhrB4Ky7OPY0lZEFpBOJMHgGCSsGAQQBgjcQBDFrMGkwZDELMAkGA1UE +BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZp +ZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0ECATIw +egYLKoZIhvcNAQkQAgsxa6BpMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxp +Zm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBO +U1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEyMA0GCSqGSIb3DQEBAQUABIIBADuT +TJ0xvbdqdRv4vlurLQOfHd8HKalwbq4L1TLlUhrnbBhnTyA+IU2f+xHl8JVKy3/s +IpnCDPrcg1sKu1vPEIBUgZhX3LzcEpHni0/nsD+zAFco9ED4e5Wbw+848bD/97II +6MICkKN+m/iyyrMDurK81QW/6wvsr2sCA52YOC445G7RJCEEg6TdHXPMaE21c2J7 +n2U08LJuRKH1wG1WNDSc6A7px6VbU+otsq9hKWybj1+Z1iUF6ydlTgWTsRrdPoZD +4VM2pKm/+TwMKe2o5IBV22455yzWGs9zTxV7alVZLBtPATS/c4z11ewlIjNuKfYx +p0W7OBLxwEPFtmnO+gwAAAAAAAA= diff --git a/comm/mailnews/test/data/smime/alice.plain.dsig.SHA256.multipart.dave.dsig.SHA256.multipart.eml b/comm/mailnews/test/data/smime/alice.plain.dsig.SHA256.multipart.dave.dsig.SHA256.multipart.eml index e69d21e446f4b316f08d8cbb631af396c95da56b..f884d97d2273bcaeaf816c0df0f33391f81b2a63 100644 --- a/comm/mailnews/test/data/smime/alice.plain.dsig.SHA256.multipart.dave.dsig.SHA256.multipart.eml +++ b/comm/mailnews/test/data/smime/alice.plain.dsig.SHA256.multipart.dave.dsig.SHA256.multipart.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Dave@example.com To: Bob@example.com Subject: clear-signed sig.SHA256 then clear-signed signed by dave @@ -26,37 +27,38 @@ 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 -NYftX1uTBOHO36ojgoZx3HGW3MfGaD0AAAAAAAA= +ggFfMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIz +MTEyMTIwNTIwN1owLwYJKoZIhvcNAQkEMSIEIIkBFBAciGamC1l8rrQ9Rf3QYbZ8 +NKqgsYvmT/s/qgusMHgGCSsGAQQBgjcQBDFrMGkwZDELMAkGA1UEBhMCVVMxEzAR +BgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNV +BAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0ECAR4wegYLKoZIhvcN +AQkQAgsxa6BpMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYw +FAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNV +BAMTC05TUyBUZXN0IENBAgEeMA0GCSqGSIb3DQEBAQUABIIBAFv//74bXIDuvMPo +DhpHBNPAPpSIC1AfxS2RX/zdaGmYJ+Xs5J2A/Klxug41esJLWi8Wkd7cQwDW1E98 +66OtKp4pIOnwXfJzC8kZqt8WGtN6aSJHmy2lLKEGLSvdwAG//e0uwaCN1EiNh0rL +N05kbz7ImmOKgtA775/C2iaISs/ssqTBkbaXqGs05+xwmcUCmTe+qMjNBA3lMVJe +DciPNnsuvRtepoDTZDpVKG56qgglKhjqjGIMXR1Gq1rZGI8tmbGwse/XCfwggcNT +cMiht1NfJe0J9xHjuK4WiTQsInb4RZYlSpqF3O8SwEqqh3CrvFkq7+nx8OB+/Nkt +ouqCozwAAAAAAAA= --------------ms030903020902020502030404-- @@ -71,37 +73,38 @@ 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 -oadsmQIjNonwplSsKSG79QLx4+IAAAAAAAA= +IE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0ECATIwDQYJYIZIAWUDBAIBBQCgggFf +MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIzMTEy +MTIwNTIwN1owLwYJKoZIhvcNAQkEMSIEIEn/cLPP/KB6hIiWM7paTPCOsUYl5Tz6 +Tq6Bv0iYl4seMHgGCSsGAQQBgjcQBDFrMGkwZDELMAkGA1UEBhMCVVMxEzARBgNV +BAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoT +CUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0ECATIwegYLKoZIhvcNAQkQ +Agsxa6BpMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYD +VQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMT +C05TUyBUZXN0IENBAgEyMA0GCSqGSIb3DQEBAQUABIIBAGprZxSl9ugWTrekZPgY +9D8+tnOBakCh1z6RrHSKIa+A44Bk7mzJVxADn+pGxk9yZKHOCXIKJ3dXk/2OdFDB +NgLioA8ITJVeACJ8KlIFPAraCdG+RH3NoOmmywLw5Ep0/+0gSJ3+kDxahR6t4kBD +sMTkQOSSgWShStAuwBAQJVQrC2TXbpgwHi1HOK1I2YLh68Sn6BRiHnH3NsE83gO+ +swsbef40En647jN0t6CksqweHKmxqoS71jOgnIQUc/Bc9uQ6y0VvWwZce83DgPF2 +K9tuW6SvPWhjJlk7uNRzE1sl87vkjZQyDCcX3JpVmNeYYIV9eBMR+VnYgxqL4IMd +mUoAAAAAAAA= --------------ms010205070902020502030809-- diff --git a/comm/mailnews/test/data/smime/alice.plain.dsig.SHA256.multipart.dave.sig.SHA256.opaque.eml b/comm/mailnews/test/data/smime/alice.plain.dsig.SHA256.multipart.dave.sig.SHA256.opaque.eml index fd45097b10bacb1e7dbc02e340072fae5ad07133..2e7b02fd5ce8bea2adbe8c1e6595d2124c8345c8 100644 --- a/comm/mailnews/test/data/smime/alice.plain.dsig.SHA256.multipart.dave.sig.SHA256.opaque.eml +++ b/comm/mailnews/test/data/smime/alice.plain.dsig.SHA256.multipart.dave.sig.SHA256.opaque.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Dave@example.com To: Bob@example.com Subject: clear-signed sig.SHA256 then opaque signed by dave @@ -9,7 +10,7 @@ Content-Disposition: attachment; filename=smime.p7m Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0B -BwGggCSABIILGkNvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L3NpZ25lZDsgcHJvdG9j +BwGggCSABIILQ0NvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L3NpZ25lZDsgcHJvdG9j b2w9ImFwcGxpY2F0aW9uL3BrY3M3LXNpZ25hdHVyZSI7IG1pY2FsZz1zaGEtMjU2 OyBib3VuZGFyeT0iLS0tLS0tLS0tLS0tbXMwMzA5MDMwMjA5MDIwMjA1MDIwMzA0 MDQiCgpUaGlzIGlzIGEgY3J5cHRvZ3JhcGhpY2FsbHkgc2lnbmVkIG1lc3NhZ2Ug @@ -26,80 +27,82 @@ RUFBS0NDQTJJd2dnTmVNSUlDUnFBREFnRUNBZ0VlTUEwR0NTcUdTSWIzRFFFQkN3 VUFNR1F4Q3pBSkJnTlYKQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXli bWxoTVJZd0ZBWURWUVFIRXcxTmIzVnVkR0ZwYmlCVwphV1YzTVJJd0VBWURWUVFL RXdsQ1QwZFZVeUJPVTFNeEZEQVNCZ05WQkFNVEMwNVRVeUJVWlhOMElFTkJNQjRY -CkRUSXlNVEl4T1RFeE1qVTBNRm9YRFRJM01USXhPVEV4TWpVME1Gb3dnWUF4Q3pB +CkRUSXpNVEV5TVRJd05UQXpObG9YRFRJNE1URXlNVEl3TlRBek5sb3dnWUF4Q3pB SkJnTlZCQVlUQWxWVE1STXcKRVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZB WURWUVFIRXcxTmIzVnVkR0ZwYmlCV2FXVjNNUkl3RUFZRApWUVFLRXdsQ1QwZFZV eUJPVTFNeElEQWVCZ2txaGtpRzl3MEJDUUVXRVVGc2FXTmxRR1Y0WVcxd2JHVXVZ Mjl0Ck1RNHdEQVlEVlFRREV3VkJiR2xqWlRDQ0FTSXdEUVlKS29aSWh2Y05BUUVC -QlFBRGdnRVBBRENDQVFvQ2dnRUIKQUx1QkxRSnFwd2JkQkhJUG9JSXhRL3RzY2p2 -Y3BPczA1TXZDbDdvRTZLNXpaMC9FLzVVRDMrL0dmNklJWmpuRQp6cDM4Uk5tQkli -Mlk2SEVaZzQ5NXJTbGR0Ym8zRlRYS21jWTZRb2FqS25pbG1yZ21zZjFNcExEeG9V -Zms3eXdYCng4eDRwZWpBMGhMdFZBYSszNVgwUHhCeXI0MTJocHZ0a2xqdjZGTzlQ -b2ZWTjhIQlVYTDZGU1cxUi9vR3BMYzYKbkR1cFNjZFFuNW1va2dPN2dNY1k5RFBk -TEp4U3FjNEpEc1V5cXp1amxOTndObFJkcjBBV2I2c2E2M28reVZwegpSSm9BdjBj -YS80WEFFVTVVOG1EWVRkYWQrU3NnRFVBdlhSK0pWM2J5czd0bHV1TUtyNlBVcnYw -ZXdTUTA3WFN0ClJDbjcvZWhiRkRsc3dtaFlUa2swRzhNQ0F3RUFBVEFOQmdrcWhr -aUc5dzBCQVFzRkFBT0NBUUVBT1luV3hCN2wKMlhBbDJsKzA2cWNJOEpIZEJXby84 -M3g2YTFOenI0WlBxc212bW5EcGtHNStRVVhmeW9iYU5TMTltV1BWUlVIOQp0a3ZJ -Tkg1ZWN2V2dKVm1JTW1wMUtUWCt2d0tDbUhRTlBDRTg0MXArTDVjcllsL2NacEhM -SnJLR3VseldnYWZnCmdtTFVlOUN3cmtsNGlLL29jVHZnRnVGeVAyOVByZWpmbGVD -NVFyblNGa3d6VUlLRWpSVWRsUmtZYi9YMDcwbVcKczVEMWNxVjUyNXEyY2NyaTl6 -cW9hYjFsdjNhQ0VHc0J0a3JxR2xncFFsemRuT29aNTd5UDJLZ2JIcUpRSWZSWgpK -SmZXa1MxMi9PQXdEQjlWSU1CeXgxaFVjNW94VFlPRTR0akpuZEJ6TzlETXpoYXJT -Ym16a09GNmZ4QW5BcTJjClVLRngvTk5rdnh4Y3B6R0NBdGt3Z2dMVkFnRUJNR2t3 +QlFBRGdnRVBBRENDQVFvQ2dnRUIKQUo2NllSTVB5QjVYamg1cDZ4WTZtRmpYOEs1 +MnBKL1ZSN3lWWWdxOGp0QmpqcVVsQlMyMGt3SmRPZW1wNGV2RQpnNzZNN2xoZm15 +dHJvN0xTbFYyOHVVVi9FbUhMbk5iOWM5RmpCZzY5VXVYMFAzVHhKczdvaTF1a3JP +QW5pMzVwClBoZDZtaittQm1oQzdHYUJMT24xSEpkeFR6REgvTlNuV01oWmN0MVk5 +clIxUldQRWJDVnFBL1VNNjFxWEZwTWMKaStVUS9MZzdZeGpyZm93bFdkUVNlenRR +UHlhTVlwTzJHYlpOK2IyZGFMMktBRU8wQWMwNGU0S29hb29nL1poRwpLOEpBcXVP +a2dyUHNsM21uaGRqT3JaUTFsYTRhM2pMTnM3TUpwUlN3bVh6cS9pQU1MRW9Icys2 +K3JPZXJ5MFVICnVUc0ZvRDBVY2tOOTBDRzdIZTNKaTkwQ0F3RUFBVEFOQmdrcWhr +aUc5dzBCQVFzRkFBT0NBUUVBaDBTdjBrMzMKOExxaVBKUmlET0dYVVF6V2w4dVQ3 +cEptMDMrSmZCTG1sNHlpVnNNdVpXdjAzVHNhYW9PYlczKzVOUUZzZ1BQQQpsU28w +SnpKNmw2bTNnLzZtbEZBMU14aVA5aTdjVFdjM0dPUVdsT1QycnJ4NVpRM2F1QjZZ +N2xIeUtMcWI0KzlWCjNiRjc3NTFXdzJJRG1WdzIxa1NybTh0MjhtSHA0Ym9FeTdI +ZHV3T1AxWkhpN3ZkNjVhU1dsMHVoSW5zUktrUFMKalh4SVBXV3N5dDAySlFKVUF6 +S2Z5TW0rOWxsUWlaaXlkVDByR3d5cGFZakRzeTB5L0NjYkNFUVNFMWk1Q3hHKwpt +WXl3Vzd3b0d2U29DL2xwNmM5T3BIcWxHN1RvT2dRWXdUb2w4TmoyT1dqMVRVUW1Y +UzdvN3NZOEtqRGV5V1p3CjVrTTlBeC9kdEc2ZHZ6R0NBdmN3Z2dMekFnRUJNR2t3 WkRFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1QKQ2tOaGJHbG1iM0p1YVdF eEZqQVVCZ05WQkFjVERVMXZkVzUwWVdsdUlGWnBaWGN4RWpBUUJnTlZCQW9UQ1VK UApSMVZUSUU1VFV6RVVNQklHQTFVRUF4TUxUbE5USUZSbGMzUWdRMEVDQVI0d0RR -WUpZSVpJQVdVREJBSUJCUUNnCmdnRkJNQmdHQ1NxR1NJYjNEUUVKQXpFTEJna3Fo -a2lHOXcwQkJ3RXdMd1lKS29aSWh2Y05BUWtFTVNJRUlJa0IKRkJBY2lHYW1DMWw4 -cnJROVJmM1FZYlo4TktxZ3NZdm1UL3MvcWd1c01IZ0dDU3NHQVFRQmdqY1FCREZy -TUdrdwpaREVMTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNK -dWFXRXhGakFVQmdOVkJBY1REVTF2CmRXNTBZV2x1SUZacFpYY3hFakFRQmdOVkJB -b1RDVUpQUjFWVElFNVRVekVVTUJJR0ExVUVBeE1MVGxOVElGUmwKYzNRZ1EwRUNB -UjR3ZWdZTEtvWklodmNOQVFrUUFnc3hhNkJwTUdReEN6QUpCZ05WQkFZVEFsVlRN -Uk13RVFZRApWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdGQVlEVlFRSEV3MU5iM1Z1 -ZEdGcGJpQldhV1YzTVJJd0VBWURWUVFLCkV3bENUMGRWVXlCT1UxTXhGREFTQmdO -VkJBTVRDMDVUVXlCVVpYTjBJRU5CQWdFZU1BMEdDU3FHU0liM0RRRUIKQVFVQUJJ -SUJBRzRWNmN0MkQ3enVUbmJNd3cybU1IZ0FnMnJUcFpOdTQyUkw1S215QzA3UVd5 -WjN4bThqSjBkTwpObU9zMG5uOFhSRXg0amsweGRIQWlMdGsxS3JPUFVSWWt5dHVl -S3Vkc2VjVXIyOFRRZGJLaEpxMWp6a0hsbDBrCk9KR0tUZEh4QVpCZVRzc2tkM2Rl -d3gvTWU3MGhhZVhoWEZYUE1zVkJwVmdNdnVNNCs5Z3FYbkkwMXRXVUQyczgKYXlS -TTZvelJRMkR3cWpkRnZ2MXRMNTBRM3MyWlZRYTh2MG1Tdkd1TWttaEJXaUkwd0J2 -WmR1aFJFOXZaRCsxNwp3R1cwbHpXUXZmU3BNYmdRaHgvZXdRVURtenByRCtrbFUz -WXlQdjBDVFBvK3l0SE55NmcxSi81bFVjdUxsbTNOCk5ZZnRYMXVUQk9ITzM2b2pn -b1p4M0hHVzNNZkdhRDBBQUFBQUFBQT0KLS0tLS0tLS0tLS0tLS1tczAzMDkwMzAy -MDkwMjAyMDUwMjAzMDQwNC0tCgoAAAAAAACgggNfMIIDWzCCAkOgAwIBAgIBMjAN -BgkqhkiG9w0BAQsFADBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p -YTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMgTlNTMRQw -EgYDVQQDEwtOU1MgVGVzdCBDQTAeFw0yMjEyMTkxMTI1NDdaFw0yNzEyMTkxMTI1 -NDdaMH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQH -Ew1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxHzAdBgkqhkiG9w0B -CQEWEERhdmVAZXhhbXBsZS5jb20xDTALBgNVBAMTBERhdmUwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQD2xL/sFH8a0BNCrY26EzCsdU47zS+efKXqHgA0 -5XvyoOu/422gxErTWnqKLh8wYjQOvZ06op2XNRL+v3p7x7CMS3RoU3tWSlhjiHQO -tdlrhD1zgDN+hpEo7t84kMX0HHvG5Jrq+WsLgtvXI5TizVvNhiDYB1rxIWbzHB/i -0mOsbfPrHvDk0GYY6XIneijWKoKe//JXFGCKxNZD+0EINBESr6YW4n9/xJpuaPIc -NvwYi4ROPZtswbfbawwRSkQBhjRtGqqcEoan3hst61BAm76D1IecvtBd3GW3P6sU -N5S74B4xgd12uGjz3iSZnPJ4NygBmgw8tbEQgjxK/yMrFzx3AgMBAAEwDQYJKoZI -hvcNAQELBQADggEBAHLDMJIJxuW+nF6ldicrcqqSrNYUW5+yXazSCIduZAm2f76F -QzjoGybwU1Sjolb38CwfDW1oWhQPjKsiiRF2YBfkKQU6d1aHUrNTYkjTSmBb4nP/ -T8T9/zPv+hzjKCqswTTCKRs8cW9FO2Xoo8+cXk10mqgHxdSY7m7zaLTRYtNs4KJe -zNcN8KAxPOM9EWPHjwojXUy1R8MODeYPUqWfHIiNiRtJZuANk6wSjk8ZK9xtI9Dx -nUjk7A98mE1DrGtin8Ba6hL7htqPfc4NunfJYBoIgy93dZyfuBfPsvOKMwmYpFnv -SHlDjg7wRi6ziPDWkL8F2aS7nUjoTQAbr8TIDSQxggLZMIIC1QIBATBpMGQxCzAJ -BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFp -biBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENB -AgEyMA0GCWCGSAFlAwQCAQUAoIIBQTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcB -MC8GCSqGSIb3DQEJBDEiBCBBuu7X0+3UwUcsLSxJXngXbTTv2zp7v3wEYcn/7cQ7 -pTB4BgkrBgEEAYI3EAQxazBpMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxp -Zm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBO -U1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEyMHoGCyqGSIb3DQEJEAILMWugaTBk -MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91 -bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMgTlNTMRQwEgYDVQQDEwtOU1MgVGVz -dCBDQQIBMjANBgkqhkiG9w0BAQEFAASCAQCHZjLw7JHMjiShh2oh9dve/mRVsgS5 -umo24woUcohqO2lELgWynd4tobmMF77C2AB9uS8EJjhulJNKD/OCqBrwGTgChRt3 -0Wtg/zrEDn+g+ZeQjK8G0uWtAwhxudKONKMvihaA6OREFYAF07JYjGyBPL+ia/JU -8qeu9mmzqdCQ7tV3rAlPc9MUEV8kvWFW0PfzQhbYA7RT5sDQdJC3Jn9KkrnRNfkD -bmV6oMqrOECvmXwR8rbQRRWfjTkPR07/FjHykcAddAlliZPL8vQ7XlcLMZ2vXgba -oxtHMjLqjAWOhfR/69gS5PAiLdrgAGE4fCiKnu5SV+f6xO9lhV8m5n3EAAAAAAAA +WUpZSVpJQVdVREJBSUJCUUNnCmdnRmZNQmdHQ1NxR1NJYjNEUUVKQXpFTEJna3Fo +a2lHOXcwQkJ3RXdIQVlKS29aSWh2Y05BUWtGTVE4WERUSXoKTVRFeU1USXdOVEl3 +TjFvd0x3WUpLb1pJaHZjTkFRa0VNU0lFSUlrQkZCQWNpR2FtQzFsOHJyUTlSZjNR +WWJaOApOS3Fnc1l2bVQvcy9xZ3VzTUhnR0NTc0dBUVFCZ2pjUUJERnJNR2t3WkRF +TE1Ba0dBMVVFQmhNQ1ZWTXhFekFSCkJnTlZCQWdUQ2tOaGJHbG1iM0p1YVdFeEZq +QVVCZ05WQkFjVERVMXZkVzUwWVdsdUlGWnBaWGN4RWpBUUJnTlYKQkFvVENVSlBS +MVZUSUU1VFV6RVVNQklHQTFVRUF4TUxUbE5USUZSbGMzUWdRMEVDQVI0d2VnWUxL +b1pJaHZjTgpBUWtRQWdzeGE2QnBNR1F4Q3pBSkJnTlZCQVlUQWxWVE1STXdFUVlE +VlFRSUV3cERZV3hwWm05eWJtbGhNUll3CkZBWURWUVFIRXcxTmIzVnVkR0ZwYmlC +V2FXVjNNUkl3RUFZRFZRUUtFd2xDVDBkVlV5Qk9VMU14RkRBU0JnTlYKQkFNVEMw +NVRVeUJVWlhOMElFTkJBZ0VlTUEwR0NTcUdTSWIzRFFFQkFRVUFCSUlCQUZ2Ly83 +NGJYSUR1dk1QbwpEaHBIQk5QQVBwU0lDMUFmeFMyUlgvemRhR21ZSitYczVKMkEv +S2x4dWc0MWVzSkxXaThXa2Q3Y1F3RFcxRTk4CjY2T3RLcDRwSU9ud1hmSnpDOGta +cXQ4V0d0TjZhU0pIbXkybExLRUdMU3Zkd0FHLy9lMHV3YUNOMUVpTmgwckwKTjA1 +a2J6N0ltbU9LZ3RBNzc1L0MyaWFJU3Mvc3NxVEJrYmFYcUdzMDUreHdtY1VDbVRl +K3FNak5CQTNsTVZKZQpEY2lQTm5zdXZSdGVwb0RUWkRwVktHNTZxZ2dsS2hqcWpH +SU1YUjFHcTFyWkdJOHRtYkd3c2UvWENmd2dnY05UCmNNaWh0MU5mSmUwSjl4SGp1 +SzRXaVRRc0luYjRSWllsU3BxRjNPOFN3RXFxaDNDcnZGa3E3K254OE9CKy9Oa3QK +b3VxQ296d0FBQUFBQUFBPQotLS0tLS0tLS0tLS0tLW1zMDMwOTAzMDIwOTAyMDIw +NTAyMDMwNDA0LS0KCgAAAAAAAKCCA18wggNbMIICQ6ADAgECAgEyMA0GCSqGSIb3 +DQEBCwUAMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYD +VQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMT +C05TUyBUZXN0IENBMB4XDTIzMTEyMTIwNTA0M1oXDTI4MTEyMTIwNTA0M1owfjEL +MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50 +YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEfMB0GCSqGSIb3DQEJARYQRGF2 +ZUBleGFtcGxlLmNvbTENMAsGA1UEAxMERGF2ZTCCASIwDQYJKoZIhvcNAQEBBQAD +ggEPADCCAQoCggEBAMhLojKrDSF7AjwuSP6dASGcFB9+WAMqtbicVw1nm/NT3Y2/ +nndkgUOA0w3IyjO2DiKteTOXZn1VfXF5rTWID46dYKj3DmxNiqo9gomS1duK3kOv +oDllvv/+TEgHkNeKtWVgrdygpLvTzi9rfVJ1JiR79GASew1ajGfjxZB1110CExDw +FRAnNpCanHqLQqCezk2UDg2qxoWXX5/fa7M5I87LvRvH1QWmu9XHb/Tgtc01AGDQ +MOWtsc1FiHdIlmysVtK9VNrMhjO86JYmj9BBw5U10fCoVMbLxkK1SfxLCsi668BG +k5icu6YUWyTV8/0cwdxOpJaSX7V/h0LkgFBbsg0CAwEAATANBgkqhkiG9w0BAQsF +AAOCAQEAY03ZxtBzVWOUd5OSWix5b3cxOHaUSL/MqVLRvIooQUF9KU+CnSO1Bmtq +9TGq+3xwI2mfooKgkgmIEejOLi+m1x++81dAm/shzy/xC0bdOqr0DZ/48C3Aiee5 +wY7YlJh+4hzrJ93z7TfjsfwI8N6QByPm4EdJGKrXWvRS/dSSW2W5Jr9eBUjS80U8 +4xGBfJFHW1YC/jAvhgiBBHrA9Un0t0HrvwCGcSWrWo5j1CUrjZbTWlWKe+TljYBZ +oD8TfIChu0TXei2XgZmeOo0tk2+dnQKqYK4XzlxpPh881k18Dk2GcUUAZh0ySTYU ++Bm0e3xgVoHJKjvdU0USwO+FrvmtyTGCAvcwggLzAgEBMGkwZDELMAkGA1UEBhMC +VVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcx +EjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0ECATIwDQYJ +YIZIAWUDBAIBBQCgggFfMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZI +hvcNAQkFMQ8XDTIzMTEyMTIwNTIwN1owLwYJKoZIhvcNAQkEMSIEIPm7XR13fPHa +m+1pxFqf5uXVLsdEoyx1EnutGnO2N1NzMHgGCSsGAQQBgjcQBDFrMGkwZDELMAkG +A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWlu +IFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0EC +ATIwegYLKoZIhvcNAQkQAgsxa6BpMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpD +YWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dV +UyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEyMA0GCSqGSIb3DQEBAQUABIIB +ABxDL+T8yu719yQXuujVUk8aODbyfjLKTruYYMvFswfTigIe9v0sbEOZZXXJkXyS +m9cpbt9AKv1nCfTnBd0iHkRzXaogA10Qu3lIn/OeEjXGiX55j0FtxzfctvgFCpq1 +onGh2rsJGyJs7+Aj0gFB86nClyV2mG0BBPZmh0stKh0KxDr2wECB0JZmKCNoRUyt +kEslAlDoqqVwwSt+QjuttFRM62A3qZK6I2+L6R1q7xefDItw9U3uOvPiPbd9MyOd +0utIu8Kg/ZxgpiRBBDNFi5a9GO/3WIUnA6qZsAjYXAY6kambIqhPbAY7yce4VT4i +YHhOlUFzcLEzCuWB9SmKPKgAAAAAAAA= diff --git a/comm/mailnews/test/data/smime/alice.plain.dsig.SHA384.multipart.dave.dsig.SHA384.multipart.eml b/comm/mailnews/test/data/smime/alice.plain.dsig.SHA384.multipart.dave.dsig.SHA384.multipart.eml index 45987bc0c93c21df9b539ef5ba89cbd54be34a0f..ce76b53615f7f62bd9e2e6cb9bea784573407ad5 100644 --- a/comm/mailnews/test/data/smime/alice.plain.dsig.SHA384.multipart.dave.dsig.SHA384.multipart.eml +++ b/comm/mailnews/test/data/smime/alice.plain.dsig.SHA384.multipart.dave.dsig.SHA384.multipart.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Dave@example.com To: Bob@example.com Subject: clear-signed sig.SHA384 then clear-signed signed by dave @@ -26,37 +27,38 @@ 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 +RCOc2wgdFLRCBiXkhR7iYuZE1YxxAAAAAAAA --------------ms030903020902020502030404-- @@ -71,37 +73,38 @@ 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 +HqfdUNvfhJTf9ZKd5fuFg8xcAAAAAAAA --------------ms010205070902020502030809-- diff --git a/comm/mailnews/test/data/smime/alice.plain.dsig.SHA384.multipart.dave.sig.SHA384.opaque.eml b/comm/mailnews/test/data/smime/alice.plain.dsig.SHA384.multipart.dave.sig.SHA384.opaque.eml index 863ce7eecc966788a27cc4b1ee61c3978fcc20c0..6bf0dd9c1a259ddbf4cb1347d05a6cd9957642c2 100644 --- a/comm/mailnews/test/data/smime/alice.plain.dsig.SHA384.multipart.dave.sig.SHA384.opaque.eml +++ b/comm/mailnews/test/data/smime/alice.plain.dsig.SHA384.multipart.dave.sig.SHA384.opaque.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Dave@example.com To: Bob@example.com Subject: clear-signed sig.SHA384 then opaque signed by dave @@ -9,7 +10,7 @@ Content-Disposition: attachment; filename=smime.p7m Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgIFADCABgkqhkiG9w0B -BwGggCSABIILLkNvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L3NpZ25lZDsgcHJvdG9j +BwGggCSABIILV0NvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L3NpZ25lZDsgcHJvdG9j b2w9ImFwcGxpY2F0aW9uL3BrY3M3LXNpZ25hdHVyZSI7IG1pY2FsZz1zaGEtMzg0 OyBib3VuZGFyeT0iLS0tLS0tLS0tLS0tbXMwMzA5MDMwMjA5MDIwMjA1MDIwMzA0 MDQiCgpUaGlzIGlzIGEgY3J5cHRvZ3JhcGhpY2FsbHkgc2lnbmVkIG1lc3NhZ2Ug @@ -26,81 +27,83 @@ RUFBS0NDQTJJd2dnTmVNSUlDUnFBREFnRUNBZ0VlTUEwR0NTcUdTSWIzRFFFQkN3 VUFNR1F4Q3pBSkJnTlYKQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXli bWxoTVJZd0ZBWURWUVFIRXcxTmIzVnVkR0ZwYmlCVwphV1YzTVJJd0VBWURWUVFL RXdsQ1QwZFZVeUJPVTFNeEZEQVNCZ05WQkFNVEMwNVRVeUJVWlhOMElFTkJNQjRY -CkRUSXlNVEl4T1RFeE1qVTBNRm9YRFRJM01USXhPVEV4TWpVME1Gb3dnWUF4Q3pB +CkRUSXpNVEV5TVRJd05UQXpObG9YRFRJNE1URXlNVEl3TlRBek5sb3dnWUF4Q3pB SkJnTlZCQVlUQWxWVE1STXcKRVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZB WURWUVFIRXcxTmIzVnVkR0ZwYmlCV2FXVjNNUkl3RUFZRApWUVFLRXdsQ1QwZFZV eUJPVTFNeElEQWVCZ2txaGtpRzl3MEJDUUVXRVVGc2FXTmxRR1Y0WVcxd2JHVXVZ Mjl0Ck1RNHdEQVlEVlFRREV3VkJiR2xqWlRDQ0FTSXdEUVlKS29aSWh2Y05BUUVC -QlFBRGdnRVBBRENDQVFvQ2dnRUIKQUx1QkxRSnFwd2JkQkhJUG9JSXhRL3RzY2p2 -Y3BPczA1TXZDbDdvRTZLNXpaMC9FLzVVRDMrL0dmNklJWmpuRQp6cDM4Uk5tQkli -Mlk2SEVaZzQ5NXJTbGR0Ym8zRlRYS21jWTZRb2FqS25pbG1yZ21zZjFNcExEeG9V -Zms3eXdYCng4eDRwZWpBMGhMdFZBYSszNVgwUHhCeXI0MTJocHZ0a2xqdjZGTzlQ -b2ZWTjhIQlVYTDZGU1cxUi9vR3BMYzYKbkR1cFNjZFFuNW1va2dPN2dNY1k5RFBk -TEp4U3FjNEpEc1V5cXp1amxOTndObFJkcjBBV2I2c2E2M28reVZwegpSSm9BdjBj -YS80WEFFVTVVOG1EWVRkYWQrU3NnRFVBdlhSK0pWM2J5czd0bHV1TUtyNlBVcnYw -ZXdTUTA3WFN0ClJDbjcvZWhiRkRsc3dtaFlUa2swRzhNQ0F3RUFBVEFOQmdrcWhr -aUc5dzBCQVFzRkFBT0NBUUVBT1luV3hCN2wKMlhBbDJsKzA2cWNJOEpIZEJXby84 -M3g2YTFOenI0WlBxc212bW5EcGtHNStRVVhmeW9iYU5TMTltV1BWUlVIOQp0a3ZJ -Tkg1ZWN2V2dKVm1JTW1wMUtUWCt2d0tDbUhRTlBDRTg0MXArTDVjcllsL2NacEhM -SnJLR3VseldnYWZnCmdtTFVlOUN3cmtsNGlLL29jVHZnRnVGeVAyOVByZWpmbGVD -NVFyblNGa3d6VUlLRWpSVWRsUmtZYi9YMDcwbVcKczVEMWNxVjUyNXEyY2NyaTl6 -cW9hYjFsdjNhQ0VHc0J0a3JxR2xncFFsemRuT29aNTd5UDJLZ2JIcUpRSWZSWgpK -SmZXa1MxMi9PQXdEQjlWSU1CeXgxaFVjNW94VFlPRTR0akpuZEJ6TzlETXpoYXJT -Ym16a09GNmZ4QW5BcTJjClVLRngvTk5rdnh4Y3B6R0NBdWt3Z2dMbEFnRUJNR2t3 +QlFBRGdnRVBBRENDQVFvQ2dnRUIKQUo2NllSTVB5QjVYamg1cDZ4WTZtRmpYOEs1 +MnBKL1ZSN3lWWWdxOGp0QmpqcVVsQlMyMGt3SmRPZW1wNGV2RQpnNzZNN2xoZm15 +dHJvN0xTbFYyOHVVVi9FbUhMbk5iOWM5RmpCZzY5VXVYMFAzVHhKczdvaTF1a3JP +QW5pMzVwClBoZDZtaittQm1oQzdHYUJMT24xSEpkeFR6REgvTlNuV01oWmN0MVk5 +clIxUldQRWJDVnFBL1VNNjFxWEZwTWMKaStVUS9MZzdZeGpyZm93bFdkUVNlenRR +UHlhTVlwTzJHYlpOK2IyZGFMMktBRU8wQWMwNGU0S29hb29nL1poRwpLOEpBcXVP +a2dyUHNsM21uaGRqT3JaUTFsYTRhM2pMTnM3TUpwUlN3bVh6cS9pQU1MRW9Icys2 +K3JPZXJ5MFVICnVUc0ZvRDBVY2tOOTBDRzdIZTNKaTkwQ0F3RUFBVEFOQmdrcWhr +aUc5dzBCQVFzRkFBT0NBUUVBaDBTdjBrMzMKOExxaVBKUmlET0dYVVF6V2w4dVQ3 +cEptMDMrSmZCTG1sNHlpVnNNdVpXdjAzVHNhYW9PYlczKzVOUUZzZ1BQQQpsU28w +SnpKNmw2bTNnLzZtbEZBMU14aVA5aTdjVFdjM0dPUVdsT1QycnJ4NVpRM2F1QjZZ +N2xIeUtMcWI0KzlWCjNiRjc3NTFXdzJJRG1WdzIxa1NybTh0MjhtSHA0Ym9FeTdI +ZHV3T1AxWkhpN3ZkNjVhU1dsMHVoSW5zUktrUFMKalh4SVBXV3N5dDAySlFKVUF6 +S2Z5TW0rOWxsUWlaaXlkVDByR3d5cGFZakRzeTB5L0NjYkNFUVNFMWk1Q3hHKwpt +WXl3Vzd3b0d2U29DL2xwNmM5T3BIcWxHN1RvT2dRWXdUb2w4TmoyT1dqMVRVUW1Y +UzdvN3NZOEtqRGV5V1p3CjVrTTlBeC9kdEc2ZHZ6R0NBd2N3Z2dNREFnRUJNR2t3 WkRFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1QKQ2tOaGJHbG1iM0p1YVdF eEZqQVVCZ05WQkFjVERVMXZkVzUwWVdsdUlGWnBaWGN4RWpBUUJnTlZCQW9UQ1VK UApSMVZUSUU1VFV6RVVNQklHQTFVRUF4TUxUbE5USUZSbGMzUWdRMEVDQVI0d0RR -WUpZSVpJQVdVREJBSUNCUUNnCmdnRlJNQmdHQ1NxR1NJYjNEUUVKQXpFTEJna3Fo -a2lHOXcwQkJ3RXdQd1lKS29aSWh2Y05BUWtFTVRJRU1NalMKZUgvRU5qUzMxbnpn -OHo2TmxPVC9BOG9DcUtHTVEvL1lLc1YydC9iNUdqd3dVNzhlRm1ld0FZU2dVeFdC -UGpCNApCZ2tyQmdFRUFZSTNFQVF4YXpCcE1HUXhDekFKQmdOVkJBWVRBbFZUTVJN -d0VRWURWUVFJRXdwRFlXeHBabTl5CmJtbGhNUll3RkFZRFZRUUhFdzFOYjNWdWRH -RnBiaUJXYVdWM01SSXdFQVlEVlFRS0V3bENUMGRWVXlCT1UxTXgKRkRBU0JnTlZC -QU1UQzA1VFV5QlVaWE4wSUVOQkFnRWVNSG9HQ3lxR1NJYjNEUUVKRUFJTE1XdWdh -VEJrTVFzdwpDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQk1LUTJGc2FXWnZjbTVw -WVRFV01CUUdBMVVFQnhNTlRXOTFiblJoCmFXNGdWbWxsZHpFU01CQUdBMVVFQ2hN -SlFrOUhWVk1nVGxOVE1SUXdFZ1lEVlFRREV3dE9VMU1nVkdWemRDQkQKUVFJQkhq -QU5CZ2txaGtpRzl3MEJBUUVGQUFTQ0FRQVp5YmpJeEZwSmFXVytvMG4vOFR5M1U0 -RmtQR3RxYmc3NApwSGJ6anZlNE81OGxrRkhneFFvZHhsdEl0NTVjS0ZST0hGZXMx -Rkt6M2dMY2ppZHJBT0FnYlo3dTVEa05wbnpyClRHUFUwcEhJcUI2NFk3emd1blBi -dG9WaTduSDB4S3h0NUZKNXEwSWpwMnFTbmNmUzRKek9IS1V0bnlndUhvY2QKbjNv -VU54UjVlbk5qbUFSVDN0ZmFseWkyMyt5MVRjL25OVTk2cGJLVTEwN3dpZGUrSXF1 -K00reGtVZU5rZUwrWgpieTY5ak1LcGxsMUR0UGNnMi9VaVRHbklJNFZuVTd4Wllq -d0RtbFVHQlRhakhRVS82WkpzOG5lYTJiSU9pM0R4CjBlckdrdzgxOFhCZXZnczBB -bnRlTWZVZzRCNnZMb2dhWWFpQkQ1N0NkN3ZxcEVUa2d4K3ZBQUFBQUFBQQotLS0t -LS0tLS0tLS0tLW1zMDMwOTAzMDIwOTAyMDIwNTAyMDMwNDA0LS0KCgAAAAAAAKCC -A18wggNbMIICQ6ADAgECAgEyMA0GCSqGSIb3DQEBCwUAMGQxCzAJBgNVBAYTAlVT -MRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIw -EAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBMB4XDTIyMTIx -OTExMjU0N1oXDTI3MTIxOTExMjU0N1owfjELMAkGA1UEBhMCVVMxEzARBgNVBAgT -CkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJP -R1VTIE5TUzEfMB0GCSqGSIb3DQEJARYQRGF2ZUBleGFtcGxlLmNvbTENMAsGA1UE -AxMERGF2ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPbEv+wUfxrQ -E0KtjboTMKx1TjvNL558peoeADTle/Kg67/jbaDEStNaeoouHzBiNA69nTqinZc1 -Ev6/envHsIxLdGhTe1ZKWGOIdA612WuEPXOAM36GkSju3ziQxfQce8bkmur5awuC -29cjlOLNW82GINgHWvEhZvMcH+LSY6xt8+se8OTQZhjpcid6KNYqgp7/8lcUYIrE -1kP7QQg0ERKvphbif3/Emm5o8hw2/BiLhE49m2zBt9trDBFKRAGGNG0aqpwShqfe -Gy3rUECbvoPUh5y+0F3cZbc/qxQ3lLvgHjGB3Xa4aPPeJJmc8ng3KAGaDDy1sRCC -PEr/IysXPHcCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAcsMwkgnG5b6cXqV2Jyty -qpKs1hRbn7JdrNIIh25kCbZ/voVDOOgbJvBTVKOiVvfwLB8NbWhaFA+MqyKJEXZg -F+QpBTp3VodSs1NiSNNKYFvic/9PxP3/M+/6HOMoKqzBNMIpGzxxb0U7Zeijz5xe -TXSaqAfF1JjubvNotNFi02zgol7M1w3woDE84z0RY8ePCiNdTLVHww4N5g9SpZ8c -iI2JG0lm4A2TrBKOTxkr3G0j0PGdSOTsD3yYTUOsa2KfwFrqEvuG2o99zg26d8lg -GgiDL3d1nJ+4F8+y84ozCZikWe9IeUOODvBGLrOI8NaQvwXZpLudSOhNABuvxMgN -JDGCAukwggLlAgEBMGkwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3Ju -aWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEU -MBIGA1UEAxMLTlNTIFRlc3QgQ0ECATIwDQYJYIZIAWUDBAICBQCgggFRMBgGCSqG -SIb3DQEJAzELBgkqhkiG9w0BBwEwPwYJKoZIhvcNAQkEMTIEMCKmWAptwGZNaIkW -1QY1o22YpBZANC6eZYhjOCeTOE9UOee1r2o0YTTXhJSVnwYU1zB4BgkrBgEEAYI3 -EAQxazBpMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYD -VQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMT -C05TUyBUZXN0IENBAgEyMHoGCyqGSIb3DQEJEAILMWugaTBkMQswCQYDVQQGEwJV -UzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzES -MBAGA1UEChMJQk9HVVMgTlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBMjANBgkq -hkiG9w0BAQEFAASCAQD0F++xNaKlbFoUT8/fvwzHVDY9/ALvCRsZ6c9xEoGuQGXV -Be9ZY+01+Si7Kch5UUWorIufj3oLKowq8ikW3zp69rWwAuRPCQwjsU9xLVFFBO89 -n7OMPN4wdTNnfhsKPWCn1mK1+AkkPg1t+ehf+V/Tr3mYpeAGJq7hGo955K/ifOEX -VnmL4rcipmHlO1PZyPLru8xig32VBF2YUvYlkrOZLoIFxbeTtlRxAL+DxDJjMG7I -uR+2cbBRxWaU9/F7P1Ps2dz2HD+9TkJQKMOep5PBmpF/8PdwPECCW1i2h43X8wxH -anaO6aIu9ic2F3dFCE2EttCr3DKgXUNteKNmFj5AAAAAAAAA +WUpZSVpJQVdVREJBSUNCUUNnCmdnRnZNQmdHQ1NxR1NJYjNEUUVKQXpFTEJna3Fo +a2lHOXcwQkJ3RXdIQVlKS29aSWh2Y05BUWtGTVE4WERUSXoKTVRFeU1USXdOVEl3 +T0Zvd1B3WUpLb1pJaHZjTkFRa0VNVElFTU1qU2VIL0VOalMzMW56Zzh6Nk5sT1Qv +QThvQwpxS0dNUS8vWUtzVjJ0L2I1R2p3d1U3OGVGbWV3QVlTZ1V4V0JQakI0Qmdr +ckJnRUVBWUkzRUFReGF6QnBNR1F4CkN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZR +UUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFIRXcxTmIzVnUKZEdGcGJpQldh +V1YzTVJJd0VBWURWUVFLRXdsQ1QwZFZVeUJPVTFNeEZEQVNCZ05WQkFNVEMwNVRV +eUJVWlhOMApJRU5CQWdFZU1Ib0dDeXFHU0liM0RRRUpFQUlMTVd1Z2FUQmtNUXN3 +Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFCkNCTUtRMkZzYVdadmNtNXBZVEVXTUJR +R0ExVUVCeE1OVFc5MWJuUmhhVzRnVm1sbGR6RVNNQkFHQTFVRUNoTUoKUWs5SFZW +TWdUbE5UTVJRd0VnWURWUVFERXd0T1UxTWdWR1Z6ZENCRFFRSUJIakFOQmdrcWhr +aUc5dzBCQVFFRgpBQVNDQVFBMTNpUFFVTFkrUGVEV0lsclZmSlpNNnBqdVlZNzdu +WWpxQmFqWmtwUUlVR1ZvL256OW12ZG0weUEvCkJtRWFTT2RLT0lkQWdRRnpsS3h0 +VnZOczlCdEYrcEpsWlJjQmhKcStlWU9qYkZCSXY0KytNeUN6UVdhQklGbmgKYkVS +K09jWERIMHVzcTJvd0NGT2NJemFlUnJlOG1nL2txR2VWeVBMMk94b0hINHFpbzN4 +ekpaQlIwM21uQTBrTApieGh3M1hsRjc3ZFZMSGxiRlVxSUlWSnhZU25YMDlzSVRk +ZkpvbDZzWjgxbE93Yjg0ZzNxeE9QdzFCNko4M3piClpsRmxpQXoxdDc3UExITkJI +SnpEaklxUmpYU05hTUo5Qk8yc3VoY28yQzBuZ2ZWckkxcHUzNGR1cWRsSWdsLzIK +UkNPYzJ3Z2RGTFJDQmlYa2hSN2lZdVpFMVl4eEFBQUFBQUFBCi0tLS0tLS0tLS0t +LS0tbXMwMzA5MDMwMjA5MDIwMjA1MDIwMzA0MDQtLQoKAAAAAAAAoIIDXzCCA1sw +ggJDoAMCAQICATIwDQYJKoZIhvcNAQELBQAwZDELMAkGA1UEBhMCVVMxEzARBgNV +BAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoT +CUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0EwHhcNMjMxMTIxMjA1MDQz +WhcNMjgxMTIxMjA1MDQzWjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZv +cm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMgTlNT +MR8wHQYJKoZIhvcNAQkBFhBEYXZlQGV4YW1wbGUuY29tMQ0wCwYDVQQDEwREYXZl +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyEuiMqsNIXsCPC5I/p0B +IZwUH35YAyq1uJxXDWeb81Pdjb+ed2SBQ4DTDcjKM7YOIq15M5dmfVV9cXmtNYgP +jp1gqPcObE2Kqj2CiZLV24reQ6+gOWW+//5MSAeQ14q1ZWCt3KCku9POL2t9UnUm +JHv0YBJ7DVqMZ+PFkHXXXQITEPAVECc2kJqceotCoJ7OTZQODarGhZdfn99rszkj +zsu9G8fVBaa71cdv9OC1zTUAYNAw5a2xzUWId0iWbKxW0r1U2syGM7zoliaP0EHD +lTXR8KhUxsvGQrVJ/EsKyLrrwEaTmJy7phRbJNXz/RzB3E6klpJftX+HQuSAUFuy +DQIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBjTdnG0HNVY5R3k5JaLHlvdzE4dpRI +v8ypUtG8iihBQX0pT4KdI7UGa2r1Mar7fHAjaZ+igqCSCYgR6M4uL6bXH77zV0Cb ++yHPL/ELRt06qvQNn/jwLcCJ57nBjtiUmH7iHOsn3fPtN+Ox/Ajw3pAHI+bgR0kY +qtda9FL91JJbZbkmv14FSNLzRTzjEYF8kUdbVgL+MC+GCIEEesD1SfS3Qeu/AIZx +JatajmPUJSuNltNaVYp75OWNgFmgPxN8gKG7RNd6LZeBmZ46jS2Tb52dAqpgrhfO +XGk+HzzWTXwOTYZxRQBmHTJJNhT4GbR7fGBWgckqO91TRRLA74Wu+a3JMYIDBzCC +AwMCAQEwaTBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQG +A1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMgTlNTMRQwEgYDVQQD +EwtOU1MgVGVzdCBDQQIBMjANBglghkgBZQMEAgIFAKCCAW8wGAYJKoZIhvcNAQkD +MQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTIxMjA1MjA5WjA/Bgkq +hkiG9w0BCQQxMgQwwQwPXigu0RMNO59T+kDgLPfpY8F3pH0GOgxrfIUdElz9/pRQ +5KiF4by/u8pxOENJMHgGCSsGAQQBgjcQBDFrMGkwZDELMAkGA1UEBhMCVVMxEzAR +BgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNV +BAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0ECATIwegYLKoZIhvcN +AQkQAgsxa6BpMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYw +FAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNV +BAMTC05TUyBUZXN0IENBAgEyMA0GCSqGSIb3DQEBAQUABIIBAGDla+pZkw/9KQka +Kz+5Qkrjoiit+vYmeKPiY2Mq7nv5wUofBt7OzLMbV7yYuFKXcZfVrIKf/K5U1kjz +3L8WV5pP+QimhVmpuehUetGf6fVtmZZoaqxtlwFm7kTLnU6klHgGqF7qWWmARkU8 +9fE+m+Ilu/HM/FcCD5nFTLUcj7dT/jJloqkDiddV1b6V8kJOXy/nAtRj/4Z8Y/rP +oTVWFnM+5ZMkKtL2TyMF92uW9Myhqwrpc/aAgh9Oihk9deY9itGgIHME67j2GCH8 +maLchZfKvC06ESqks63qDDdU0WWu00vYPI8zAlQ5yomSJ+vBM/4vFdEpd+58zh0a +u8MSrhUAAAAAAAA= diff --git a/comm/mailnews/test/data/smime/alice.plain.dsig.SHA512.multipart.dave.dsig.SHA512.multipart.eml b/comm/mailnews/test/data/smime/alice.plain.dsig.SHA512.multipart.dave.dsig.SHA512.multipart.eml index 513c5cb670030747f6e731dede51d0339ec24d11..f642393b9d483f7d371e52783ce02901c28ef33a 100644 --- a/comm/mailnews/test/data/smime/alice.plain.dsig.SHA512.multipart.dave.dsig.SHA512.multipart.eml +++ b/comm/mailnews/test/data/smime/alice.plain.dsig.SHA512.multipart.dave.dsig.SHA512.multipart.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Dave@example.com To: Bob@example.com Subject: clear-signed sig.SHA512 then clear-signed signed by dave @@ -26,38 +27,38 @@ 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 -ndrj2DcVGgAAAAAAAA== +ggF/MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIz +MTEyMTIwNTIxMFowTwYJKoZIhvcNAQkEMUIEQD19WOnX3C9YP8Tz7gGDkLPiv36o +rVfLbv7L5+nHNhBNFBFfPHvCLJPPifynWat+Sam6uw+JXECk2raOQRrOnywweAYJ +KwYBBAGCNxAEMWswaTBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p +YTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMgTlNTMRQw +EgYDVQQDEwtOU1MgVGVzdCBDQQIBHjB6BgsqhkiG9w0BCRACCzFroGkwZDELMAkG +A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWlu +IFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0EC +AR4wDQYJKoZIhvcNAQEBBQAEggEAk2Msj1BJMbEibgaUlV2xqXRzDMn0D6EWKr19 +9+U78lHwDe683Ws3Y3nenl4lEDm8plNVupxwrq+vgB2uWoEzyNklXmY4LswVgNqH +5xY8/pBGui1zAcpHlAFnxoNnTS8Sigydq1TZZ7rauGFaaNBQR/QFWJuxH7P+PhWG +Cojqi78FKmxx97BeXRUvSpGqOg5ggHvPN+7qRQQArmCL/cqF3/GmthZWzXt3JZZL +PZ17wpMDSgyZu6xKZ3589RvvIlxNKoQdzEt7WwFoIkH4N9q3GvKxjy2litolnJBu +HL1L4WmMMyFyW4WC/oPQzbNgtMrWvXSl2GL0T48yDpbOYtS4dgAAAAAAAA== --------------ms030903020902020502030404-- @@ -72,38 +73,38 @@ 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 -angQyAAAAAAAAA== +IE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0ECATIwDQYJYIZIAWUDBAIDBQCgggF/ +MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIzMTEy +MTIwNTIxMVowTwYJKoZIhvcNAQkEMUIEQCKa6K8JdDElNZqgpIMHZfWM4nvfHFVv +gM6sFIbVLqEO29SdKvmGcDYCxL1+CTREv3XgX+qkAdGMlQvNxAknLycweAYJKwYB +BAGCNxAEMWswaTBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEW +MBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMgTlNTMRQwEgYD +VQQDEwtOU1MgVGVzdCBDQQIBMjB6BgsqhkiG9w0BCRACCzFroGkwZDELMAkGA1UE +BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZp +ZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0ECATIw +DQYJKoZIhvcNAQEBBQAEggEAev3JOI7z6ditEucwL+sC6ynzWfGmEv5ABLERl6N0 +i5spavf/+ZHExgmBXy0zg4OYsH4wpde+vT+mE7LbMMZm1GTMLq+qheHW/ZY06ppy +EEyqbogtHhv13OudnDqIT7veFqJEjQXKVpG7vNGZHYUQsZ7n/EGsIFcrkjUch44O +ZaPBJkkCM2r8JeeJWGcIaZ4XZcQvwPr67uqXXhSv59YWzNCc7GU6GXkgnncWygtg +acuB7pbJkXUlyKwAGSMHhzBH56M2O/ef8Z9G629MaoWoCEAsXyb+qK21++OubWAM +rsfDdQv+75ZKQdzE0gfVYWmyjP7ZHlIQzDOzWScsKP7aewAAAAAAAA== --------------ms010205070902020502030809-- diff --git a/comm/mailnews/test/data/smime/alice.plain.dsig.SHA512.multipart.dave.sig.SHA512.opaque.eml b/comm/mailnews/test/data/smime/alice.plain.dsig.SHA512.multipart.dave.sig.SHA512.opaque.eml index 1896932c265a012d6d0804e0d5a648b99f4d8383..5cf6af5917bb4d42ab99c3aff68b859f6d0e07c1 100644 --- a/comm/mailnews/test/data/smime/alice.plain.dsig.SHA512.multipart.dave.sig.SHA512.opaque.eml +++ b/comm/mailnews/test/data/smime/alice.plain.dsig.SHA512.multipart.dave.sig.SHA512.opaque.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Dave@example.com To: Bob@example.com Subject: clear-signed sig.SHA512 then opaque signed by dave @@ -9,7 +10,7 @@ Content-Disposition: attachment; filename=smime.p7m Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgMFADCABgkqhkiG9w0B -BwGggCSABIILR0NvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L3NpZ25lZDsgcHJvdG9j +BwGggCSABIILb0NvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L3NpZ25lZDsgcHJvdG9j b2w9ImFwcGxpY2F0aW9uL3BrY3M3LXNpZ25hdHVyZSI7IG1pY2FsZz1zaGEtNTEy OyBib3VuZGFyeT0iLS0tLS0tLS0tLS0tbXMwMzA5MDMwMjA5MDIwMjA1MDIwMzA0 MDQiCgpUaGlzIGlzIGEgY3J5cHRvZ3JhcGhpY2FsbHkgc2lnbmVkIG1lc3NhZ2Ug @@ -26,82 +27,84 @@ RUFBS0NDQTJJd2dnTmVNSUlDUnFBREFnRUNBZ0VlTUEwR0NTcUdTSWIzRFFFQkN3 VUFNR1F4Q3pBSkJnTlYKQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXli bWxoTVJZd0ZBWURWUVFIRXcxTmIzVnVkR0ZwYmlCVwphV1YzTVJJd0VBWURWUVFL RXdsQ1QwZFZVeUJPVTFNeEZEQVNCZ05WQkFNVEMwNVRVeUJVWlhOMElFTkJNQjRY -CkRUSXlNVEl4T1RFeE1qVTBNRm9YRFRJM01USXhPVEV4TWpVME1Gb3dnWUF4Q3pB +CkRUSXpNVEV5TVRJd05UQXpObG9YRFRJNE1URXlNVEl3TlRBek5sb3dnWUF4Q3pB SkJnTlZCQVlUQWxWVE1STXcKRVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZB WURWUVFIRXcxTmIzVnVkR0ZwYmlCV2FXVjNNUkl3RUFZRApWUVFLRXdsQ1QwZFZV eUJPVTFNeElEQWVCZ2txaGtpRzl3MEJDUUVXRVVGc2FXTmxRR1Y0WVcxd2JHVXVZ Mjl0Ck1RNHdEQVlEVlFRREV3VkJiR2xqWlRDQ0FTSXdEUVlKS29aSWh2Y05BUUVC -QlFBRGdnRVBBRENDQVFvQ2dnRUIKQUx1QkxRSnFwd2JkQkhJUG9JSXhRL3RzY2p2 -Y3BPczA1TXZDbDdvRTZLNXpaMC9FLzVVRDMrL0dmNklJWmpuRQp6cDM4Uk5tQkli -Mlk2SEVaZzQ5NXJTbGR0Ym8zRlRYS21jWTZRb2FqS25pbG1yZ21zZjFNcExEeG9V -Zms3eXdYCng4eDRwZWpBMGhMdFZBYSszNVgwUHhCeXI0MTJocHZ0a2xqdjZGTzlQ -b2ZWTjhIQlVYTDZGU1cxUi9vR3BMYzYKbkR1cFNjZFFuNW1va2dPN2dNY1k5RFBk -TEp4U3FjNEpEc1V5cXp1amxOTndObFJkcjBBV2I2c2E2M28reVZwegpSSm9BdjBj -YS80WEFFVTVVOG1EWVRkYWQrU3NnRFVBdlhSK0pWM2J5czd0bHV1TUtyNlBVcnYw -ZXdTUTA3WFN0ClJDbjcvZWhiRkRsc3dtaFlUa2swRzhNQ0F3RUFBVEFOQmdrcWhr -aUc5dzBCQVFzRkFBT0NBUUVBT1luV3hCN2wKMlhBbDJsKzA2cWNJOEpIZEJXby84 -M3g2YTFOenI0WlBxc212bW5EcGtHNStRVVhmeW9iYU5TMTltV1BWUlVIOQp0a3ZJ -Tkg1ZWN2V2dKVm1JTW1wMUtUWCt2d0tDbUhRTlBDRTg0MXArTDVjcllsL2NacEhM -SnJLR3VseldnYWZnCmdtTFVlOUN3cmtsNGlLL29jVHZnRnVGeVAyOVByZWpmbGVD -NVFyblNGa3d6VUlLRWpSVWRsUmtZYi9YMDcwbVcKczVEMWNxVjUyNXEyY2NyaTl6 -cW9hYjFsdjNhQ0VHc0J0a3JxR2xncFFsemRuT29aNTd5UDJLZ2JIcUpRSWZSWgpK -SmZXa1MxMi9PQXdEQjlWSU1CeXgxaFVjNW94VFlPRTR0akpuZEJ6TzlETXpoYXJT -Ym16a09GNmZ4QW5BcTJjClVLRngvTk5rdnh4Y3B6R0NBdmt3Z2dMMUFnRUJNR2t3 +QlFBRGdnRVBBRENDQVFvQ2dnRUIKQUo2NllSTVB5QjVYamg1cDZ4WTZtRmpYOEs1 +MnBKL1ZSN3lWWWdxOGp0QmpqcVVsQlMyMGt3SmRPZW1wNGV2RQpnNzZNN2xoZm15 +dHJvN0xTbFYyOHVVVi9FbUhMbk5iOWM5RmpCZzY5VXVYMFAzVHhKczdvaTF1a3JP +QW5pMzVwClBoZDZtaittQm1oQzdHYUJMT24xSEpkeFR6REgvTlNuV01oWmN0MVk5 +clIxUldQRWJDVnFBL1VNNjFxWEZwTWMKaStVUS9MZzdZeGpyZm93bFdkUVNlenRR +UHlhTVlwTzJHYlpOK2IyZGFMMktBRU8wQWMwNGU0S29hb29nL1poRwpLOEpBcXVP +a2dyUHNsM21uaGRqT3JaUTFsYTRhM2pMTnM3TUpwUlN3bVh6cS9pQU1MRW9Icys2 +K3JPZXJ5MFVICnVUc0ZvRDBVY2tOOTBDRzdIZTNKaTkwQ0F3RUFBVEFOQmdrcWhr +aUc5dzBCQVFzRkFBT0NBUUVBaDBTdjBrMzMKOExxaVBKUmlET0dYVVF6V2w4dVQ3 +cEptMDMrSmZCTG1sNHlpVnNNdVpXdjAzVHNhYW9PYlczKzVOUUZzZ1BQQQpsU28w +SnpKNmw2bTNnLzZtbEZBMU14aVA5aTdjVFdjM0dPUVdsT1QycnJ4NVpRM2F1QjZZ +N2xIeUtMcWI0KzlWCjNiRjc3NTFXdzJJRG1WdzIxa1NybTh0MjhtSHA0Ym9FeTdI +ZHV3T1AxWkhpN3ZkNjVhU1dsMHVoSW5zUktrUFMKalh4SVBXV3N5dDAySlFKVUF6 +S2Z5TW0rOWxsUWlaaXlkVDByR3d5cGFZakRzeTB5L0NjYkNFUVNFMWk1Q3hHKwpt +WXl3Vzd3b0d2U29DL2xwNmM5T3BIcWxHN1RvT2dRWXdUb2w4TmoyT1dqMVRVUW1Y +UzdvN3NZOEtqRGV5V1p3CjVrTTlBeC9kdEc2ZHZ6R0NBeGN3Z2dNVEFnRUJNR2t3 WkRFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ1QKQ2tOaGJHbG1iM0p1YVdF eEZqQVVCZ05WQkFjVERVMXZkVzUwWVdsdUlGWnBaWGN4RWpBUUJnTlZCQW9UQ1VK UApSMVZUSUU1VFV6RVVNQklHQTFVRUF4TUxUbE5USUZSbGMzUWdRMEVDQVI0d0RR -WUpZSVpJQVdVREJBSURCUUNnCmdnRmhNQmdHQ1NxR1NJYjNEUUVKQXpFTEJna3Fo -a2lHOXcwQkJ3RXdUd1lKS29aSWh2Y05BUWtFTVVJRVFEMTkKV09uWDNDOVlQOFR6 -N2dHRGtMUGl2MzZvclZmTGJ2N0w1K25ITmhCTkZCRmZQSHZDTEpQUGlmeW5XYXQr -U2FtNgp1dytKWEVDazJyYU9RUnJPbnl3d2VBWUpLd1lCQkFHQ054QUVNV3N3YVRC -a01Rc3dDUVlEVlFRR0V3SlZVekVUCk1CRUdBMVVFQ0JNS1EyRnNhV1p2Y201cFlU -RVdNQlFHQTFVRUJ4TU5UVzkxYm5SaGFXNGdWbWxsZHpFU01CQUcKQTFVRUNoTUpR -azlIVlZNZ1RsTlRNUlF3RWdZRFZRUURFd3RPVTFNZ1ZHVnpkQ0JEUVFJQkhqQjZC -Z3NxaGtpRwo5dzBCQ1JBQ0N6RnJvR2t3WkRFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFS -QmdOVkJBZ1RDa05oYkdsbWIzSnVhV0V4CkZqQVVCZ05WQkFjVERVMXZkVzUwWVds -dUlGWnBaWGN4RWpBUUJnTlZCQW9UQ1VKUFIxVlRJRTVUVXpFVU1CSUcKQTFVRUF4 -TUxUbE5USUZSbGMzUWdRMEVDQVI0d0RRWUpLb1pJaHZjTkFRRUJCUUFFZ2dFQUIx -UVdoVk5WRHJhMApYQ2pINTZ0K2NwbjBXY1R6enVYYzV1NFJycFBKVnZUZ0pDM05m -UEZoYWVmckdqRnFLKzZxdW9EZDNtc1VVZUxXCkZuTmZTZURWVTkxdnFGb3FiUlNm -azMwZ0xqZTIrY1RXK3diai9UM1gwem1KcXBRRnBMNUlHdUdGQU41QkU5VTgKL3BE -cHhKeEc2dTc0RVUvRzEzQjlRTFdNMmJzN0JLKzFVL01ZNzNwMWdydkdyQXhHSDUy -QVVtVTZWS2toQUVyNApSQWc2VUFvUEM1RWZPSUl0SmRkZWhNZHdUT2lycExkZUo3 -VnBOVTFsS0lUbERlMkNrL0FwZC9nTjZRSGExOVZlCi9EWkNvUTR5cm03eVpZTis4 -WWMyRXdFS0h5OVc4TlpNalpnMyt2L1QrekJMN05aajRWODcxejJtMG5pZDB0OGgK -bmRyajJEY1ZHZ0FBQUFBQUFBPT0KLS0tLS0tLS0tLS0tLS1tczAzMDkwMzAyMDkw -MjAyMDUwMjAzMDQwNC0tCgoAAAAAAACgggNfMIIDWzCCAkOgAwIBAgIBMjANBgkq -hkiG9w0BAQsFADBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEW -MBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMgTlNTMRQwEgYD -VQQDEwtOU1MgVGVzdCBDQTAeFw0yMjEyMTkxMTI1NDdaFw0yNzEyMTkxMTI1NDda -MH4xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1N -b3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxHzAdBgkqhkiG9w0BCQEW -EERhdmVAZXhhbXBsZS5jb20xDTALBgNVBAMTBERhdmUwggEiMA0GCSqGSIb3DQEB -AQUAA4IBDwAwggEKAoIBAQD2xL/sFH8a0BNCrY26EzCsdU47zS+efKXqHgA05Xvy -oOu/422gxErTWnqKLh8wYjQOvZ06op2XNRL+v3p7x7CMS3RoU3tWSlhjiHQOtdlr -hD1zgDN+hpEo7t84kMX0HHvG5Jrq+WsLgtvXI5TizVvNhiDYB1rxIWbzHB/i0mOs -bfPrHvDk0GYY6XIneijWKoKe//JXFGCKxNZD+0EINBESr6YW4n9/xJpuaPIcNvwY -i4ROPZtswbfbawwRSkQBhjRtGqqcEoan3hst61BAm76D1IecvtBd3GW3P6sUN5S7 -4B4xgd12uGjz3iSZnPJ4NygBmgw8tbEQgjxK/yMrFzx3AgMBAAEwDQYJKoZIhvcN -AQELBQADggEBAHLDMJIJxuW+nF6ldicrcqqSrNYUW5+yXazSCIduZAm2f76FQzjo -GybwU1Sjolb38CwfDW1oWhQPjKsiiRF2YBfkKQU6d1aHUrNTYkjTSmBb4nP/T8T9 -/zPv+hzjKCqswTTCKRs8cW9FO2Xoo8+cXk10mqgHxdSY7m7zaLTRYtNs4KJezNcN -8KAxPOM9EWPHjwojXUy1R8MODeYPUqWfHIiNiRtJZuANk6wSjk8ZK9xtI9DxnUjk -7A98mE1DrGtin8Ba6hL7htqPfc4NunfJYBoIgy93dZyfuBfPsvOKMwmYpFnvSHlD -jg7wRi6ziPDWkL8F2aS7nUjoTQAbr8TIDSQxggL5MIIC9QIBATBpMGQxCzAJBgNV -BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBW -aWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEy -MA0GCWCGSAFlAwQCAwUAoIIBYTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBME8G -CSqGSIb3DQEJBDFCBECcvC3Nx2D8LbIY0bp7BFpqFag2OyEbyjvWK0Heaj4CvmQJ -vFHxIwtyRT4ajVdCG72t2KP94+0WPUqB3GFSXJDbMHgGCSsGAQQBgjcQBDFrMGkw -ZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1v -dW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRl -c3QgQ0ECATIwegYLKoZIhvcNAQkQAgsxa6BpMGQxCzAJBgNVBAYTAlVTMRMwEQYD -VQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQK -EwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEyMA0GCSqGSIb3DQEB -AQUABIIBACli55Nq9eQWUEljq0FzXU7a8zDefFWLk64CbqMzz6zUuakQB/gkVmiD -Zw3mASzDjba+k55FeNYxJwz6gZxBMQC7oeobn84F8vtsgzzVp5SYp9lChrG7j+e6 -UOvaisyDR8uSR9g/xWGATPG65KaXXXxIbRhYVjlKWvmh/W9STQZ0Q3wbHhg4ek1e -aMJruLSvE+5yVqyoMefrhc9oTDoiy7HL5E5mSJgFa5mGErtRKaQJPlyUnWMuVJOq -eOIjIi8K8OvXMQEUFmTEPgqvThNDl6VcJQ2HPmf2FaX5oM/aGyiy8v8Nh6mNatqi -UaP3EQRfArccmYDrJLLBZHIYdjnCPzIAAAAAAAA= +WUpZSVpJQVdVREJBSURCUUNnCmdnRi9NQmdHQ1NxR1NJYjNEUUVKQXpFTEJna3Fo +a2lHOXcwQkJ3RXdIQVlKS29aSWh2Y05BUWtGTVE4WERUSXoKTVRFeU1USXdOVEl4 +TUZvd1R3WUpLb1pJaHZjTkFRa0VNVUlFUUQxOVdPblgzQzlZUDhUejdnR0RrTFBp +djM2bwpyVmZMYnY3TDUrbkhOaEJORkJGZlBIdkNMSlBQaWZ5bldhdCtTYW02dXcr +SlhFQ2sycmFPUVJyT255d3dlQVlKCkt3WUJCQUdDTnhBRU1Xc3dhVEJrTVFzd0NR +WURWUVFHRXdKVlV6RVRNQkVHQTFVRUNCTUtRMkZzYVdadmNtNXAKWVRFV01CUUdB +MVVFQnhNTlRXOTFiblJoYVc0Z1ZtbGxkekVTTUJBR0ExVUVDaE1KUWs5SFZWTWdU +bE5UTVJRdwpFZ1lEVlFRREV3dE9VMU1nVkdWemRDQkRRUUlCSGpCNkJnc3Foa2lH +OXcwQkNSQUNDekZyb0drd1pERUxNQWtHCkExVUVCaE1DVlZNeEV6QVJCZ05WQkFn +VENrTmhiR2xtYjNKdWFXRXhGakFVQmdOVkJBY1REVTF2ZFc1MFlXbHUKSUZacFpY +Y3hFakFRQmdOVkJBb1RDVUpQUjFWVElFNVRVekVVTUJJR0ExVUVBeE1MVGxOVElG +UmxjM1FnUTBFQwpBUjR3RFFZSktvWklodmNOQVFFQkJRQUVnZ0VBazJNc2oxQkpN +YkVpYmdhVWxWMnhxWFJ6RE1uMEQ2RVdLcjE5CjkrVTc4bEh3RGU2ODNXczNZM25l +bmw0bEVEbThwbE5WdXB4d3JxK3ZnQjJ1V29FenlOa2xYbVk0THN3VmdOcUgKNXhZ +OC9wQkd1aTF6QWNwSGxBRm54b05uVFM4U2lneWRxMVRaWjdyYXVHRmFhTkJRUi9R +RldKdXhIN1ArUGhXRwpDb2pxaTc4RktteHg5N0JlWFJVdlNwR3FPZzVnZ0h2UE4r +N3FSUVFBcm1DTC9jcUYzL0dtdGhaV3pYdDNKWlpMClBaMTd3cE1EU2d5WnU2eEta +MzU4OVJ2dklseE5Lb1FkekV0N1d3Rm9Ja0g0TjlxM0d2S3hqeTJsaXRvbG5KQnUK +SEwxTDRXbU1NeUZ5VzRXQy9vUFF6Yk5ndE1yV3ZYU2wyR0wwVDQ4eURwYk9ZdFM0 +ZGdBQUFBQUFBQT09Ci0tLS0tLS0tLS0tLS0tbXMwMzA5MDMwMjA5MDIwMjA1MDIw +MzA0MDQtLQoKAAAAAAAAoIIDXzCCA1swggJDoAMCAQICATIwDQYJKoZIhvcNAQEL +BQAwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcT +DU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNT +IFRlc3QgQ0EwHhcNMjMxMTIxMjA1MDQzWhcNMjgxMTIxMjA1MDQzWjB+MQswCQYD +VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4g +VmlldzESMBAGA1UEChMJQk9HVVMgTlNTMR8wHQYJKoZIhvcNAQkBFhBEYXZlQGV4 +YW1wbGUuY29tMQ0wCwYDVQQDEwREYXZlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAyEuiMqsNIXsCPC5I/p0BIZwUH35YAyq1uJxXDWeb81Pdjb+ed2SB +Q4DTDcjKM7YOIq15M5dmfVV9cXmtNYgPjp1gqPcObE2Kqj2CiZLV24reQ6+gOWW+ +//5MSAeQ14q1ZWCt3KCku9POL2t9UnUmJHv0YBJ7DVqMZ+PFkHXXXQITEPAVECc2 +kJqceotCoJ7OTZQODarGhZdfn99rszkjzsu9G8fVBaa71cdv9OC1zTUAYNAw5a2x +zUWId0iWbKxW0r1U2syGM7zoliaP0EHDlTXR8KhUxsvGQrVJ/EsKyLrrwEaTmJy7 +phRbJNXz/RzB3E6klpJftX+HQuSAUFuyDQIDAQABMA0GCSqGSIb3DQEBCwUAA4IB +AQBjTdnG0HNVY5R3k5JaLHlvdzE4dpRIv8ypUtG8iihBQX0pT4KdI7UGa2r1Mar7 +fHAjaZ+igqCSCYgR6M4uL6bXH77zV0Cb+yHPL/ELRt06qvQNn/jwLcCJ57nBjtiU +mH7iHOsn3fPtN+Ox/Ajw3pAHI+bgR0kYqtda9FL91JJbZbkmv14FSNLzRTzjEYF8 +kUdbVgL+MC+GCIEEesD1SfS3Qeu/AIZxJatajmPUJSuNltNaVYp75OWNgFmgPxN8 +gKG7RNd6LZeBmZ46jS2Tb52dAqpgrhfOXGk+HzzWTXwOTYZxRQBmHTJJNhT4GbR7 +fGBWgckqO91TRRLA74Wu+a3JMYIDFzCCAxMCAQEwaTBkMQswCQYDVQQGEwJVUzET +MBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAG +A1UEChMJQk9HVVMgTlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBMjANBglghkgB +ZQMEAgMFAKCCAX8wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0B +CQUxDxcNMjMxMTIxMjA1MjExWjBPBgkqhkiG9w0BCQQxQgRAByhD0hpw3j+n2w9y +ZknUWmx8n4Wy2/t/6zB/F3YsF/1af6Cxz7w7QoW59OvPVmFfhOPIOxrj3C5cFm2m +4pfq1zB4BgkrBgEEAYI3EAQxazBpMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpD +YWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dV +UyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEyMHoGCyqGSIb3DQEJEAILMWug +aTBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN +TW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMgTlNTMRQwEgYDVQQDEwtOU1Mg +VGVzdCBDQQIBMjANBgkqhkiG9w0BAQEFAASCAQBUHCgfyMRgBgrqs3uTjzYtIZRI +2grYveQQMka98xQOUK0vQgpzZEJCLmlv8A/crkzjAGE9xkXkSS3ul6UKDp4vpIpt +/WG66ew9XE9dThXAHFtFlmNKjL44HAov85iTpDHbYLFJIXbrinjyP0BCK71bhF4I +WDRLahRaj/+uIK5YWACILHIoeIGzjJp3EQEUS4NRKFS39zutSa+G88BlOHSQSLKU +2FinO7oFvr/C3tKKVvVV9AKsIlm1KQNemzDVMFbhCo5dz23Fn6G2MtVUEfCUJ9J5 +THWPoTYU3u1QMFmWXCwDabQfjcxZkPObI1319IqAiEF959OjesIXJHMVM+LsAAAA +AAAA diff --git a/comm/mailnews/test/data/smime/alice.plain.sig.SHA1.opaque.dave.dsig.SHA1.multipart.eml b/comm/mailnews/test/data/smime/alice.plain.sig.SHA1.opaque.dave.dsig.SHA1.multipart.eml index bf6785942ceca267977e083248dfd4903189e045..7cd2374913226906ebff1d17cf35a65c5d24631b 100644 --- a/comm/mailnews/test/data/smime/alice.plain.sig.SHA1.opaque.dave.dsig.SHA1.multipart.eml +++ b/comm/mailnews/test/data/smime/alice.plain.sig.SHA1.opaque.dave.dsig.SHA1.multipart.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Dave@example.com To: Bob@example.com Subject: opaque-signed sig.SHA1 then clear-signed signed by dave @@ -18,37 +19,38 @@ JIAER0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbg0KDQpUaGlzIGlzIGEgdGVzdCBt ZXNzYWdlIGZyb20gQWxpY2UgdG8gQm9iLg0KAAAAAAAAoIIDYjCCA14wggJGoAMC AQICAR4wDQYJKoZIhvcNAQELBQAwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh bGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VT -IE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0EwHhcNMjIxMjE5MTEyNTQwWhcNMjcx -MjE5MTEyNTQwWjCBgDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWEx +IE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0EwHhcNMjMxMTIxMjA1MDM2WhcNMjgx +MTIxMjA1MDM2WjCBgDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWEx FjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEgMB4G CSqGSIb3DQEJARYRQWxpY2VAZXhhbXBsZS5jb20xDjAMBgNVBAMTBUFsaWNlMIIB -IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu4EtAmqnBt0Ecg+ggjFD+2xy -O9yk6zTky8KXugTornNnT8T/lQPf78Z/oghmOcTOnfxE2YEhvZjocRmDj3mtKV21 -ujcVNcqZxjpChqMqeKWauCax/UyksPGhR+TvLBfHzHil6MDSEu1UBr7flfQ/EHKv -jXaGm+2SWO/oU70+h9U3wcFRcvoVJbVH+gaktzqcO6lJx1CfmaiSA7uAxxj0M90s -nFKpzgkOxTKrO6OU03A2VF2vQBZvqxrrej7JWnNEmgC/Rxr/hcARTlTyYNhN1p35 -KyANQC9dH4lXdvKzu2W64wqvo9Su/R7BJDTtdK1EKfv96FsUOWzCaFhOSTQbwwID -AQABMA0GCSqGSIb3DQEBCwUAA4IBAQA5idbEHuXZcCXaX7Tqpwjwkd0Faj/zfHpr -U3Ovhk+qya+acOmQbn5BRd/Khto1LX2ZY9VFQf22S8g0fl5y9aAlWYgyanUpNf6/ -AoKYdA08ITzjWn4vlytiX9xmkcsmsoa6XNaBp+CCYtR70LCuSXiIr+hxO+AW4XI/ -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 +e9uhSUBVTeVrORDGqQAVtDCSAAAAAAAA --------------ms010205070902020502030809 Content-Type: application/pkcs7-signature; name=smime.p7s @@ -60,38 +62,38 @@ Content-Description: S/MIME Cryptographic Signature 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 -AAAAAAAA +MRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBMjAJBgUrDgMCGgUAoIIBUzAYBgkqhkiG +9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yMzExMjEyMDUyMDVa +MCMGCSqGSIb3DQEJBDEWBBR+/Hmem/9+Cxq2rA64h6iPIJjFVzB4BgkrBgEEAYI3 +EAQxazBpMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYD +VQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMT +C05TUyBUZXN0IENBAgEyMHoGCyqGSIb3DQEJEAILMWugaTBkMQswCQYDVQQGEwJV +UzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzES +MBAGA1UEChMJQk9HVVMgTlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBMjANBgkq +hkiG9w0BAQEFAASCAQCN31EIUUnt4otrXECvg6CaEbVXc0++9g6wuqdTCs/JumlM +mp4YI+v2QynVgRE+z1jUaGMvd2+oV3i0YsxP2l1HmgizvPeaULkK0sEJ/kDNG089 +Lu0NytAz7V3rN9wuoQQtKTkFvW/x0R6/sBN5i7aDFL/JKagb4jZQk6VTYfDBPFbK +9Aw+XqCxIAKUqC40D57bDQV0uLfionpIyCIoFdIXgEDw96ILvy3ZfzWBeWWIudvx +fSO5NurTG1FaLEC7wMwnW6TCFpXgIKiAbIQ6XTc/Dw/SOMVskl1gSR360nc7SSld +MDCiExRb8OftDjbE97jFT+5o8JgR0h61BVzKvcv2AAAAAAAA --------------ms010205070902020502030809-- diff --git a/comm/mailnews/test/data/smime/alice.plain.sig.SHA1.opaque.dave.sig.SHA1.opaque.eml b/comm/mailnews/test/data/smime/alice.plain.sig.SHA1.opaque.dave.sig.SHA1.opaque.eml index a988aed131ea696e203eb7b28988d0a1962299c3..e8453479e326cb7b688f74b287bc6e7c0573222a 100644 --- a/comm/mailnews/test/data/smime/alice.plain.sig.SHA1.opaque.dave.sig.SHA1.opaque.eml +++ b/comm/mailnews/test/data/smime/alice.plain.sig.SHA1.opaque.dave.sig.SHA1.opaque.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Dave@example.com To: Bob@example.com Subject: opaque-signed sig.SHA1 then opaque signed by dave @@ -9,7 +10,7 @@ Content-Disposition: attachment; filename=smime.p7m Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAaCA -JIAEggn4Q29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9wa2NzNy1taW1lOyBuYW1l +JIAEggohQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9wa2NzNy1taW1lOyBuYW1l PXNtaW1lLnA3bTsKICAgIHNtaW1lLXR5cGU9c2lnbmVkLWRhdGEKQ29udGVudC1U cmFuc2Zlci1FbmNvZGluZzogYmFzZTY0CkNvbnRlbnQtRGlzcG9zaXRpb246IGF0 dGFjaG1lbnQ7IGZpbGVuYW1lPXNtaW1lLnA3bQpDb250ZW50LURlc2NyaXB0aW9u @@ -21,79 +22,81 @@ UW05aUxnMEtBQUFBQUFBQW9JSURZakNDQTE0d2dnSkdvQU1DCkFRSUNBUjR3RFFZ SktvWklodmNOQVFFTEJRQXdaREVMTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFn VENrTmgKYkdsbWIzSnVhV0V4RmpBVUJnTlZCQWNURFUxdmRXNTBZV2x1SUZacFpY Y3hFakFRQmdOVkJBb1RDVUpQUjFWVApJRTVUVXpFVU1CSUdBMVVFQXhNTFRsTlRJ -RlJsYzNRZ1EwRXdIaGNOTWpJeE1qRTVNVEV5TlRRd1doY05NamN4Ck1qRTVNVEV5 -TlRRd1dqQ0JnREVMTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xt +RlJsYzNRZ1EwRXdIaGNOTWpNeE1USXhNakExTURNMldoY05Namd4Ck1USXhNakEx +TURNMldqQ0JnREVMTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xt YjNKdWFXRXgKRmpBVUJnTlZCQWNURFUxdmRXNTBZV2x1SUZacFpYY3hFakFRQmdO VkJBb1RDVUpQUjFWVElFNVRVekVnTUI0RwpDU3FHU0liM0RRRUpBUllSUVd4cFky VkFaWGhoYlhCc1pTNWpiMjB4RGpBTUJnTlZCQU1UQlVGc2FXTmxNSUlCCklqQU5C -Z2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUF1NEV0QW1xbkJ0MEVj -ZytnZ2pGRCsyeHkKTzl5azZ6VGt5OEtYdWdUb3JuTm5UOFQvbFFQZjc4Wi9vZ2ht -T2NUT25meEUyWUVodlpqb2NSbURqM210S1YyMQp1amNWTmNxWnhqcENocU1xZUtX -YXVDYXgvVXlrc1BHaFIrVHZMQmZIekhpbDZNRFNFdTFVQnI3ZmxmUS9FSEt2CmpY -YUdtKzJTV08vb1U3MCtoOVUzd2NGUmN2b1ZKYlZIK2dha3R6cWNPNmxKeDFDZm1h -aVNBN3VBeHhqME05MHMKbkZLcHpna094VEtyTzZPVTAzQTJWRjJ2UUJadnF4cnJl -ajdKV25ORW1nQy9SeHIvaGNBUlRsVHlZTmhOMXAzNQpLeUFOUUM5ZEg0bFhkdkt6 -dTJXNjR3cXZvOVN1L1I3QkpEVHRkSzFFS2Z2OTZGc1VPV3pDYUZoT1NUUWJ3d0lE -CkFRQUJNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUE1aWRiRUh1WFpjQ1hhWDdU -cXB3andrZDBGYWovemZIcHIKVTNPdmhrK3F5YSthY09tUWJuNUJSZC9LaHRvMUxY -MlpZOVZGUWYyMlM4ZzBmbDV5OWFBbFdZZ3lhblVwTmY2LwpBb0tZZEEwOElUempX -bjR2bHl0aVg5eG1rY3Ntc29hNlhOYUJwK0NDWXRSNzBMQ3VTWGlJcitoeE8rQVc0 -WEkvCmIwK3Q2TitWNExsQ3VkSVdURE5RZ29TTkZSMlZHUmh2OWZUdlNaYXprUFZ5 -cFhuYm1yWnh5dUwzT3FocHZXVy8KZG9JUWF3RzJTdW9hV0NsQ1hOMmM2aG5udkkv -WXFCc2VvbEFoOUZra2w5YVJMWGI4NERBTUgxVWd3SExIV0ZSegptakZOZzRUaTJN -bWQwSE03ME16T0ZxdEp1Yk9RNFhwL0VDY0NyWnhRb1hIODAyUy9IRnluTVlJQ3lU -Q0NBc1VDCkFRRXdhVEJrTVFzd0NRWURWUVFHRXdKVlV6RVRNQkVHQTFVRUNCTUtR +Z2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFucnBoRXcvSUhsZU9I +bW5yRmpxWVdOZncKcm5ha245Vkh2SlZpQ3J5TzBHT09wU1VGTGJTVEFsMDU2YW5o +NjhTRHZvenVXRitiSzJ1anN0S1ZYYnk1Ulg4UwpZY3VjMXYxejBXTUdEcjFTNWZR +L2RQRW16dWlMVzZTczRDZUxmbWsrRjNxYVA2WUdhRUxzWm9FczZmVWNsM0ZQCk1N +ZjgxS2RZeUZseTNWajJ0SFZGWThSc0pXb0Q5UXpyV3BjV2t4eUw1UkQ4dUR0akdP +dCtqQ1ZaMUJKN08xQS8KSm94aWs3WVp0azM1dloxb3ZZb0FRN1FCelRoN2dxaHFp +aUQ5bUVZcndrQ3E0NlNDcyt5WGVhZUYyTTZ0bERXVgpyaHJlTXMyenN3bWxGTENa +Zk9yK0lBd3NTZ2V6N3I2czU2dkxSUWU1T3dXZ1BSUnlRMzNRSWJzZDdjbUwzUUlE +CkFRQUJNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUNIUksvU1RmZnd1cUk4bEdJ +TTRaZFJETmFYeTVQdWttYlQKZjRsOEV1YVhqS0pXd3k1bGEvVGRPeHBxZzV0YmY3 +azFBV3lBODhDVktqUW5NbnFYcWJlRC9xYVVVRFV6R0kvMgpMdHhOWnpjWTVCYVU1 +UGF1dkhsbERkcTRIcGp1VWZJb3Vwdmo3MVhkc1h2dm5WYkRZZ09aWERiV1JLdWJ5 +M2J5Clllbmh1Z1RMc2QyN0E0L1ZrZUx1OTNybHBKYVhTNkVpZXhFcVE5S05mRWc5 +WmF6SzNUWWxBbFFETXAvSXliNzIKV1ZDSm1MSjFQU3NiREtscGlNT3pMVEw4Snhz +SVJCSVRXTGtMRWI2WmpMQmJ2Q2dhOUtnTCtXbnB6MDZrZXFVYgp0T2c2QkJqQk9p +WHcyUFk1YVBWTlJDWmRMdWp1eGp3cU1ON0pabkRtUXowREg5MjBicDIvTVlJQzV6 +Q0NBdU1DCkFRRXdhVEJrTVFzd0NRWURWUVFHRXdKVlV6RVRNQkVHQTFVRUNCTUtR MkZzYVdadmNtNXBZVEVXTUJRR0ExVUUKQnhNTlRXOTFiblJoYVc0Z1ZtbGxkekVT TUJBR0ExVUVDaE1KUWs5SFZWTWdUbE5UTVJRd0VnWURWUVFERXd0TwpVMU1nVkdW -emRDQkRRUUlCSGpBSkJnVXJEZ01DR2dVQW9JSUJOVEFZQmdrcWhraUc5dzBCQ1FN -eEN3WUpLb1pJCmh2Y05BUWNCTUNNR0NTcUdTSWIzRFFFSkJERVdCQlE2bHNCbk9n -Rysrb3RKUnJOSXZBQkwvdGxQOURCNEJna3IKQmdFRUFZSTNFQVF4YXpCcE1HUXhD -ekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saApNUll3 -RkFZRFZRUUhFdzFOYjNWdWRHRnBiaUJXYVdWM01SSXdFQVlEVlFRS0V3bENUMGRW -VXlCT1UxTXhGREFTCkJnTlZCQU1UQzA1VFV5QlVaWE4wSUVOQkFnRWVNSG9HQ3lx -R1NJYjNEUUVKRUFJTE1XdWdhVEJrTVFzd0NRWUQKVlFRR0V3SlZVekVUTUJFR0Ex -VUVDQk1LUTJGc2FXWnZjbTVwWVRFV01CUUdBMVVFQnhNTlRXOTFiblJoYVc0ZwpW -bWxsZHpFU01CQUdBMVVFQ2hNSlFrOUhWVk1nVGxOVE1SUXdFZ1lEVlFRREV3dE9V -MU1nVkdWemRDQkRRUUlCCkhqQU5CZ2txaGtpRzl3MEJBUUVGQUFTQ0FRQVBhTUFG -dkdDWWluVnhhOVByZklQdVhxU29DSzFkRHQzdXpYbk4KdnNJT0NJYmF4SVI2bmRE -T0ZPTnFXYnF4YTFqVlQ5OGhQMHluMm9ocjRPeXFZZExsVTlvWlUwQUxNdGR3bEJm -dQpLODNGY3pWOVpKN1p2M2hLblllTGJyY0ozTmJFNE1Td3pPNElCc1R3a0pzVGZZ -b3lGdnEwQWVlZDFPOUsvRUlHCmlCY3dqcm5ySXQveDZOWGt0V2lZbUhtNUhsN2Zw -YzdnU2hXRlJjbXN0WTNleDVhVGUvUGxaTXJWZkpIYkJmNmoKSkJMRGpQUzQ2alJr -YzVKNTlLT21GcXNkbGR0Wm1CVmt4OWhVaW9Bb3BRbDIyU3RlY1N1ZjJkNFJsK2ts -Wm1DagpDRzY0RnZKR0FIUEREM1NWYXRLMXMvOGZUZFpQM3JvaDlQOFZNckFQZzZs -a2UyMEVBQUFBQUFBQQoAAAAAAACgggNfMIIDWzCCAkOgAwIBAgIBMjANBgkqhkiG -9w0BAQsFADBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQG -A1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMgTlNTMRQwEgYDVQQD -EwtOU1MgVGVzdCBDQTAeFw0yMjEyMTkxMTI1NDdaFw0yNzEyMTkxMTI1NDdaMH4x -CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3Vu -dGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxHzAdBgkqhkiG9w0BCQEWEERh -dmVAZXhhbXBsZS5jb20xDTALBgNVBAMTBERhdmUwggEiMA0GCSqGSIb3DQEBAQUA -A4IBDwAwggEKAoIBAQD2xL/sFH8a0BNCrY26EzCsdU47zS+efKXqHgA05XvyoOu/ -422gxErTWnqKLh8wYjQOvZ06op2XNRL+v3p7x7CMS3RoU3tWSlhjiHQOtdlrhD1z -gDN+hpEo7t84kMX0HHvG5Jrq+WsLgtvXI5TizVvNhiDYB1rxIWbzHB/i0mOsbfPr -HvDk0GYY6XIneijWKoKe//JXFGCKxNZD+0EINBESr6YW4n9/xJpuaPIcNvwYi4RO -PZtswbfbawwRSkQBhjRtGqqcEoan3hst61BAm76D1IecvtBd3GW3P6sUN5S74B4x -gd12uGjz3iSZnPJ4NygBmgw8tbEQgjxK/yMrFzx3AgMBAAEwDQYJKoZIhvcNAQEL -BQADggEBAHLDMJIJxuW+nF6ldicrcqqSrNYUW5+yXazSCIduZAm2f76FQzjoGybw -U1Sjolb38CwfDW1oWhQPjKsiiRF2YBfkKQU6d1aHUrNTYkjTSmBb4nP/T8T9/zPv -+hzjKCqswTTCKRs8cW9FO2Xoo8+cXk10mqgHxdSY7m7zaLTRYtNs4KJezNcN8KAx -POM9EWPHjwojXUy1R8MODeYPUqWfHIiNiRtJZuANk6wSjk8ZK9xtI9DxnUjk7A98 -mE1DrGtin8Ba6hL7htqPfc4NunfJYBoIgy93dZyfuBfPsvOKMwmYpFnvSHlDjg7w -Ri6ziPDWkL8F2aS7nUjoTQAbr8TIDSQxggLJMIICxQIBATBpMGQxCzAJBgNVBAYT -AlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3 -MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEyMAkG -BSsOAwIaBQCgggE1MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwIwYJKoZIhvcN -AQkEMRYEFCIolgBR7zGST6EZhr+Djpb8OrztMHgGCSsGAQQBgjcQBDFrMGkwZDEL -MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50 -YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3Qg -Q0ECATIwegYLKoZIhvcNAQkQAgsxa6BpMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQI -EwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlC -T0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEyMA0GCSqGSIb3DQEBAQUA -BIIBAIp39ALCEKLpDhDoHWMk9n9oPwO6AyfOVcdjQdSN4HTtLc52mLfW7aNuznB8 -Kk/op1Yl1v6By5uqAAV9QtqFk+qFZxC7uJiD/lRg5/wBXB/4Jaz5aC8jsNp6i/l3 -s+GI0gCWfggbTkROkF5xTNoANf1su2LVTgoJ65HoVTCHVV+BvFZxRZiWDYfexGPT -q794JBTqiEZlDMpTG1NkB0nk8eWbGpWNzSlP3QNiN5jAFSa/Wm1pGYxBx3/o3KtE -fPVnuuudi07VbtoRhbl5HiechX9V9KweC8xRgmEvZaKbdTtI3hDegeRLG6Aupsx3 -PNq43BdyGwsll+VBcq1JJ0jFY+kAAAAAAAA= +emRDQkRRUUlCSGpBSkJnVXJEZ01DR2dVQW9JSUJVekFZQmdrcWhraUc5dzBCQ1FN +eEN3WUpLb1pJCmh2Y05BUWNCTUJ3R0NTcUdTSWIzRFFFSkJURVBGdzB5TXpFeE1q +RXlNRFV5TURWYU1DTUdDU3FHU0liM0RRRUoKQkRFV0JCUTZsc0JuT2dHKytvdEpS +ck5JdkFCTC90bFA5REI0QmdrckJnRUVBWUkzRUFReGF6QnBNR1F4Q3pBSgpCZ05W +QkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxoTVJZd0ZBWURWUVFI +RXcxTmIzVnVkR0ZwCmJpQldhV1YzTVJJd0VBWURWUVFLRXdsQ1QwZFZVeUJPVTFN +eEZEQVNCZ05WQkFNVEMwNVRVeUJVWlhOMElFTkIKQWdFZU1Ib0dDeXFHU0liM0RR +RUpFQUlMTVd1Z2FUQmtNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JNSwpR +MkZzYVdadmNtNXBZVEVXTUJRR0ExVUVCeE1OVFc5MWJuUmhhVzRnVm1sbGR6RVNN +QkFHQTFVRUNoTUpRazlIClZWTWdUbE5UTVJRd0VnWURWUVFERXd0T1UxTWdWR1Z6 +ZENCRFFRSUJIakFOQmdrcWhraUc5dzBCQVFFRkFBU0MKQVFDQzhrWFJ1TzhJaUNr +eUNNaE9BcCtVUkFvQktzb2tXYnBGRzhWbXIwR0ZnZTcrck9vT2VCd0prK245THEw +eQpDc1B5T0VLZTFvUE9QQWNVNDhSL0I2ZWg5d2ZkTWNXVGRtZzBSeHhwdFFJc0U3 +RDM3RVRScjRhRzBrUE1ENUF5CmZHc0V0dGxYcHJCd3JzQ2xyM3NrZDA1UU5sRlBF +aEVzcC9TWUJlTmwyMW9KaEZlR3E5a3hEZlA1VkowdlZNRWIKWEVqZFAvWWlKRkJp +d1gvZXM3cDJCTm5telZQZ3F1SFJNdE43WklSOHkzYzZQZ0hvdkF6eHZ4aFZZckt1 +eGFFcAp1MG9La1MrQ0VRYXNOWUY4bk9Pa1Q2RVI5S25NOUcvd0ExYVFmbER0UjlM +Zjlnbi9RVmIxMkhuVm9XaFVTS3RRCmU5dWhTVUJWVGVWck9SREdxUUFWdERDU0FB +QUFBQUFBCgAAAAAAAKCCA18wggNbMIICQ6ADAgECAgEyMA0GCSqGSIb3DQEBCwUA +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 +AA== diff --git a/comm/mailnews/test/data/smime/alice.plain.sig.SHA256.opaque.dave.dsig.SHA256.multipart.eml b/comm/mailnews/test/data/smime/alice.plain.sig.SHA256.opaque.dave.dsig.SHA256.multipart.eml index b87d3c90ca014eb8ac20c5ef6885a560d7a4bc27..78fd4338f04d63d7423e46ea8f166e32796f1363 100644 --- a/comm/mailnews/test/data/smime/alice.plain.sig.SHA256.opaque.dave.dsig.SHA256.multipart.eml +++ b/comm/mailnews/test/data/smime/alice.plain.sig.SHA256.opaque.dave.dsig.SHA256.multipart.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Dave@example.com To: Bob@example.com Subject: opaque-signed sig.SHA256 then clear-signed signed by dave @@ -18,38 +19,38 @@ BwGggCSABEdDb250ZW50LVR5cGU6IHRleHQvcGxhaW4NCg0KVGhpcyBpcyBhIHRl c3QgbWVzc2FnZSBmcm9tIEFsaWNlIHRvIEJvYi4NCgAAAAAAAKCCA2IwggNeMIIC RqADAgECAgEeMA0GCSqGSIb3DQEBCwUAMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQI EwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlC -T0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBMB4XDTIyMTIxOTExMjU0MFoX -DTI3MTIxOTExMjU0MFowgYAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9y +T0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBMB4XDTIzMTEyMTIwNTAzNloX +DTI4MTEyMTIwNTAzNlowgYAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9y bmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1Mx IDAeBgkqhkiG9w0BCQEWEUFsaWNlQGV4YW1wbGUuY29tMQ4wDAYDVQQDEwVBbGlj -ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALuBLQJqpwbdBHIPoIIx -Q/tscjvcpOs05MvCl7oE6K5zZ0/E/5UD3+/Gf6IIZjnEzp38RNmBIb2Y6HEZg495 -rSldtbo3FTXKmcY6QoajKnilmrgmsf1MpLDxoUfk7ywXx8x4pejA0hLtVAa+35X0 -PxByr412hpvtkljv6FO9PofVN8HBUXL6FSW1R/oGpLc6nDupScdQn5mokgO7gMcY -9DPdLJxSqc4JDsUyqzujlNNwNlRdr0AWb6sa63o+yVpzRJoAv0ca/4XAEU5U8mDY -Tdad+SsgDUAvXR+JV3bys7tluuMKr6PUrv0ewSQ07XStRCn7/ehbFDlswmhYTkk0 -G8MCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAOYnWxB7l2XAl2l+06qcI8JHdBWo/ -83x6a1Nzr4ZPqsmvmnDpkG5+QUXfyobaNS19mWPVRUH9tkvINH5ecvWgJVmIMmp1 -KTX+vwKCmHQNPCE841p+L5crYl/cZpHLJrKGulzWgafggmLUe9Cwrkl4iK/ocTvg -FuFyP29PrejfleC5QrnSFkwzUIKEjRUdlRkYb/X070mWs5D1cqV525q2ccri9zqo -ab1lv3aCEGsBtkrqGlgpQlzdnOoZ57yP2KgbHqJQIfRZJJfWkS12/OAwDB9VIMBy -x1hUc5oxTYOE4tjJndBzO9DMzharSbmzkOF6fxAnAq2cUKFx/NNkvxxcpzGCAtkw -ggLVAgEBMGkwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAU +ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ66YRMPyB5Xjh5p6xY6 +mFjX8K52pJ/VR7yVYgq8jtBjjqUlBS20kwJdOemp4evEg76M7lhfmytro7LSlV28 +uUV/EmHLnNb9c9FjBg69UuX0P3TxJs7oi1ukrOAni35pPhd6mj+mBmhC7GaBLOn1 +HJdxTzDH/NSnWMhZct1Y9rR1RWPEbCVqA/UM61qXFpMci+UQ/Lg7YxjrfowlWdQS +eztQPyaMYpO2GbZN+b2daL2KAEO0Ac04e4Koaoog/ZhGK8JAquOkgrPsl3mnhdjO +rZQ1la4a3jLNs7MJpRSwmXzq/iAMLEoHs+6+rOery0UHuTsFoD0UckN90CG7He3J +i90CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAh0Sv0k338LqiPJRiDOGXUQzWl8uT +7pJm03+JfBLml4yiVsMuZWv03TsaaoObW3+5NQFsgPPAlSo0JzJ6l6m3g/6mlFA1 +MxiP9i7cTWc3GOQWlOT2rrx5ZQ3auB6Y7lHyKLqb4+9V3bF7751Ww2IDmVw21kSr +m8t28mHp4boEy7HduwOP1ZHi7vd65aSWl0uhInsRKkPSjXxIPWWsyt02JQJUAzKf +yMm+9llQiZiydT0rGwypaYjDsy0y/CcbCEQSE1i5CxG+mYywW7woGvSoC/lp6c9O +pHqlG7ToOgQYwTol8Nj2OWj1TUQmXS7o7sY8KjDeyWZw5kM9Ax/dtG6dvzGCAvcw +ggLzAgEBMGkwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAU BgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UE -AxMLTlNTIFRlc3QgQ0ECAR4wDQYJYIZIAWUDBAIBBQCgggFBMBgGCSqGSIb3DQEJ -AzELBgkqhkiG9w0BBwEwLwYJKoZIhvcNAQkEMSIEIIkBFBAciGamC1l8rrQ9Rf3Q -YbZ8NKqgsYvmT/s/qgusMHgGCSsGAQQBgjcQBDFrMGkwZDELMAkGA1UEBhMCVVMx -EzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQ -BgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0ECAR4wegYLKoZI -hvcNAQkQAgsxa6BpMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh -MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDAS -BgNVBAMTC05TUyBUZXN0IENBAgEeMA0GCSqGSIb3DQEBAQUABIIBAG4V6ct2D7zu -TnbMww2mMHgAg2rTpZNu42RL5KmyC07QWyZ3xm8jJ0dONmOs0nn8XREx4jk0xdHA -iLtk1KrOPURYkytueKudsecUr28TQdbKhJq1jzkHll0kOJGKTdHxAZBeTsskd3de -wx/Me70haeXhXFXPMsVBpVgMvuM4+9gqXnI01tWUD2s8ayRM6ozRQ2DwqjdFvv1t -L50Q3s2ZVQa8v0mSvGuMkmhBWiI0wBvZduhRE9vZD+17wGW0lzWQvfSpMbgQhx/e -wQUDmzprD+klU3YyPv0CTPo+ytHNy6g1J/5lUcuLlm3NNYftX1uTBOHO36ojgoZx -3HGW3MfGaD0AAAAAAAA= +AxMLTlNTIFRlc3QgQ0ECAR4wDQYJYIZIAWUDBAIBBQCgggFfMBgGCSqGSIb3DQEJ +AzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIzMTEyMTIwNTIwN1owLwYJ +KoZIhvcNAQkEMSIEIIkBFBAciGamC1l8rrQ9Rf3QYbZ8NKqgsYvmT/s/qgusMHgG +CSsGAQQBgjcQBDFrMGkwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3Ju +aWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEU +MBIGA1UEAxMLTlNTIFRlc3QgQ0ECAR4wegYLKoZIhvcNAQkQAgsxa6BpMGQxCzAJ +BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFp +biBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENB +AgEeMA0GCSqGSIb3DQEBAQUABIIBAFv//74bXIDuvMPoDhpHBNPAPpSIC1AfxS2R +X/zdaGmYJ+Xs5J2A/Klxug41esJLWi8Wkd7cQwDW1E9866OtKp4pIOnwXfJzC8kZ +qt8WGtN6aSJHmy2lLKEGLSvdwAG//e0uwaCN1EiNh0rLN05kbz7ImmOKgtA775/C +2iaISs/ssqTBkbaXqGs05+xwmcUCmTe+qMjNBA3lMVJeDciPNnsuvRtepoDTZDpV +KG56qgglKhjqjGIMXR1Gq1rZGI8tmbGwse/XCfwggcNTcMiht1NfJe0J9xHjuK4W +iTQsInb4RZYlSpqF3O8SwEqqh3CrvFkq7+nx8OB+/NktouqCozwAAAAAAAA= --------------ms010205070902020502030809 Content-Type: application/pkcs7-signature; name=smime.p7s @@ -62,37 +63,38 @@ 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 -5EpgiR+FhMpG2pg+uYuiuNCSfFAAAAAAAAA= +IE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0ECATIwDQYJYIZIAWUDBAIBBQCgggFf +MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIzMTEy +MTIwNTIwN1owLwYJKoZIhvcNAQkEMSIEIO6D4Lhj7a6vLFjjv8++1eVnXYSedIs2 +C/lOIdHE4vk4MHgGCSsGAQQBgjcQBDFrMGkwZDELMAkGA1UEBhMCVVMxEzARBgNV +BAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoT +CUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0ECATIwegYLKoZIhvcNAQkQ +Agsxa6BpMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYD +VQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMT +C05TUyBUZXN0IENBAgEyMA0GCSqGSIb3DQEBAQUABIIBAHO+nNdyQDaT7c3eJOs1 +pufm+lLOAtzZSqBceoyFFczusndRCa5EVtEExdjr8q81riBHFeMLSiRS7p3v+EF9 +UvI1ejWDUwcURUUOGjNpLC13Sy01Rtn8i9/1tTM2J1/0tN/D4/Z7QnTfyFLzltRe +orxyFrErLhyqUwSIKknrOr2G/YWb5P8PGz++5zx/OrPAKxhWyCCzmD9Vnu/08kyo +6D/7I9M/HY+1Jc8Z+X3/8JtkVcFIkjUE55TLFj5FY30AFr0luhlZXRk0Hcus0yQQ +SYTsYiEbXh6QZ4i+78jiRn4oiht9Nllq5ccKQAKsXspb3nnJdzYVq5qBTRedS4Ck +2AIAAAAAAAA= --------------ms010205070902020502030809-- diff --git a/comm/mailnews/test/data/smime/alice.plain.sig.SHA256.opaque.dave.sig.SHA256.opaque.eml b/comm/mailnews/test/data/smime/alice.plain.sig.SHA256.opaque.dave.sig.SHA256.opaque.eml index 550cb15734a3b909b011b07accc0c25e10293648..75977ae5d6ce1113fa473c8de00409230ca67caf 100644 --- a/comm/mailnews/test/data/smime/alice.plain.sig.SHA256.opaque.dave.sig.SHA256.opaque.eml +++ b/comm/mailnews/test/data/smime/alice.plain.sig.SHA256.opaque.dave.sig.SHA256.opaque.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Dave@example.com To: Bob@example.com Subject: opaque-signed sig.SHA256 then opaque signed by dave @@ -9,7 +10,7 @@ Content-Disposition: attachment; filename=smime.p7m Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0B -BwGggCSABIIKFUNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vcGtjczctbWltZTsg +BwGggCSABIIKPUNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vcGtjczctbWltZTsg bmFtZT1zbWltZS5wN207CiAgICBzbWltZS10eXBlPXNpZ25lZC1kYXRhCkNvbnRl bnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJhc2U2NApDb250ZW50LURpc3Bvc2l0aW9u OiBhdHRhY2htZW50OyBmaWxlbmFtZT1zbWltZS5wN20KQ29udGVudC1EZXNjcmlw @@ -21,80 +22,82 @@ YVdObElIUnZJRUp2WWk0TkNnQUFBQUFBQUtDQ0EySXdnZ05lTUlJQwpScUFEQWdF Q0FnRWVNQTBHQ1NxR1NJYjNEUUVCQ3dVQU1HUXhDekFKQmdOVkJBWVRBbFZUTVJN d0VRWURWUVFJCkV3cERZV3hwWm05eWJtbGhNUll3RkFZRFZRUUhFdzFOYjNWdWRH RnBiaUJXYVdWM01SSXdFQVlEVlFRS0V3bEMKVDBkVlV5Qk9VMU14RkRBU0JnTlZC -QU1UQzA1VFV5QlVaWE4wSUVOQk1CNFhEVEl5TVRJeE9URXhNalUwTUZvWApEVEkz -TVRJeE9URXhNalUwTUZvd2dZQXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJ +QU1UQzA1VFV5QlVaWE4wSUVOQk1CNFhEVEl6TVRFeU1USXdOVEF6TmxvWApEVEk0 +TVRFeU1USXdOVEF6Tmxvd2dZQXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJ RXdwRFlXeHBabTl5CmJtbGhNUll3RkFZRFZRUUhFdzFOYjNWdWRHRnBiaUJXYVdW M01SSXdFQVlEVlFRS0V3bENUMGRWVXlCT1UxTXgKSURBZUJna3Foa2lHOXcwQkNR RVdFVUZzYVdObFFHVjRZVzF3YkdVdVkyOXRNUTR3REFZRFZRUURFd1ZCYkdsagpa -VENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFMdUJM -UUpxcHdiZEJISVBvSUl4ClEvdHNjanZjcE9zMDVNdkNsN29FNks1elowL0UvNVVE -MysvR2Y2SUlaam5FenAzOFJObUJJYjJZNkhFWmc0OTUKclNsZHRibzNGVFhLbWNZ -NlFvYWpLbmlsbXJnbXNmMU1wTER4b1Vmazd5d1h4OHg0cGVqQTBoTHRWQWErMzVY -MApQeEJ5cjQxMmhwdnRrbGp2NkZPOVBvZlZOOEhCVVhMNkZTVzFSL29HcExjNm5E -dXBTY2RRbjVtb2tnTzdnTWNZCjlEUGRMSnhTcWM0SkRzVXlxenVqbE5Od05sUmRy -MEFXYjZzYTYzbyt5VnB6UkpvQXYwY2EvNFhBRVU1VThtRFkKVGRhZCtTc2dEVUF2 -WFIrSlYzYnlzN3RsdXVNS3I2UFVydjBld1NRMDdYU3RSQ243L2VoYkZEbHN3bWhZ -VGtrMApHOE1DQXdFQUFUQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFPWW5XeEI3 -bDJYQWwybCswNnFjSThKSGRCV28vCjgzeDZhMU56cjRaUHFzbXZtbkRwa0c1K1FV -WGZ5b2JhTlMxOW1XUFZSVUg5dGt2SU5INWVjdldnSlZtSU1tcDEKS1RYK3Z3S0Nt -SFFOUENFODQxcCtMNWNyWWwvY1pwSExKcktHdWx6V2dhZmdnbUxVZTlDd3JrbDRp -Sy9vY1R2ZwpGdUZ5UDI5UHJlamZsZUM1UXJuU0Zrd3pVSUtFalJVZGxSa1liL1gw -NzBtV3M1RDFjcVY1MjVxMmNjcmk5enFvCmFiMWx2M2FDRUdzQnRrcnFHbGdwUWx6 -ZG5Pb1o1N3lQMktnYkhxSlFJZlJaSkpmV2tTMTIvT0F3REI5VklNQnkKeDFoVWM1 -b3hUWU9FNHRqSm5kQnpPOURNemhhclNibXprT0Y2ZnhBbkFxMmNVS0Z4L05Oa3Z4 -eGNwekdDQXRrdwpnZ0xWQWdFQk1Ha3daREVMTUFrR0ExVUVCaE1DVlZNeEV6QVJC +VENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFKNjZZ +Uk1QeUI1WGpoNXA2eFk2Cm1Galg4SzUycEovVlI3eVZZZ3E4anRCampxVWxCUzIw +a3dKZE9lbXA0ZXZFZzc2TTdsaGZteXRybzdMU2xWMjgKdVVWL0VtSExuTmI5YzlG +akJnNjlVdVgwUDNUeEpzN29pMXVrck9BbmkzNXBQaGQ2bWorbUJtaEM3R2FCTE9u +MQpISmR4VHpESC9OU25XTWhaY3QxWTlyUjFSV1BFYkNWcUEvVU02MXFYRnBNY2kr +VVEvTGc3WXhqcmZvd2xXZFFTCmV6dFFQeWFNWXBPMkdiWk4rYjJkYUwyS0FFTzBB +YzA0ZTRLb2Fvb2cvWmhHSzhKQXF1T2tnclBzbDNtbmhkak8KclpRMWxhNGEzakxO +czdNSnBSU3dtWHpxL2lBTUxFb0hzKzYrck9lcnkwVUh1VHNGb0QwVWNrTjkwQ0c3 +SGUzSgppOTBDQXdFQUFUQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFoMFN2MGsz +MzhMcWlQSlJpRE9HWFVReldsOHVUCjdwSm0wMytKZkJMbWw0eWlWc011Wld2MDNU +c2Fhb09iVzMrNU5RRnNnUFBBbFNvMEp6SjZsNm0zZy82bWxGQTEKTXhpUDlpN2NU +V2MzR09RV2xPVDJycng1WlEzYXVCNlk3bEh5S0xxYjQrOVYzYkY3NzUxV3cySURt +VncyMWtTcgptOHQyOG1IcDRib0V5N0hkdXdPUDFaSGk3dmQ2NWFTV2wwdWhJbnNS +S2tQU2pYeElQV1dzeXQwMkpRSlVBektmCnlNbSs5bGxRaVppeWRUMHJHd3lwYVlq +RHN5MHkvQ2NiQ0VRU0UxaTVDeEcrbVl5d1c3d29HdlNvQy9scDZjOU8KcEhxbEc3 +VG9PZ1FZd1RvbDhOajJPV2oxVFVRbVhTN283c1k4S2pEZXlXWnc1a005QXgvZHRH +NmR2ekdDQXZjdwpnZ0x6QWdFQk1Ha3daREVMTUFrR0ExVUVCaE1DVlZNeEV6QVJC Z05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVCkJnTlZCQWNURFUxdmRXNTBZV2x1 SUZacFpYY3hFakFRQmdOVkJBb1RDVUpQUjFWVElFNVRVekVVTUJJR0ExVUUKQXhN -TFRsTlRJRlJsYzNRZ1EwRUNBUjR3RFFZSllJWklBV1VEQkFJQkJRQ2dnZ0ZCTUJn -R0NTcUdTSWIzRFFFSgpBekVMQmdrcWhraUc5dzBCQndFd0x3WUpLb1pJaHZjTkFR -a0VNU0lFSUlrQkZCQWNpR2FtQzFsOHJyUTlSZjNRClliWjhOS3Fnc1l2bVQvcy9x -Z3VzTUhnR0NTc0dBUVFCZ2pjUUJERnJNR2t3WkRFTE1Ba0dBMVVFQmhNQ1ZWTXgK -RXpBUkJnTlZCQWdUQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05WQkFjVERVMXZkVzUw -WVdsdUlGWnBaWGN4RWpBUQpCZ05WQkFvVENVSlBSMVZUSUU1VFV6RVVNQklHQTFV -RUF4TUxUbE5USUZSbGMzUWdRMEVDQVI0d2VnWUxLb1pJCmh2Y05BUWtRQWdzeGE2 -QnBNR1F4Q3pBSkJnTlZCQVlUQWxWVE1STXdFUVlEVlFRSUV3cERZV3hwWm05eWJt -bGgKTVJZd0ZBWURWUVFIRXcxTmIzVnVkR0ZwYmlCV2FXVjNNUkl3RUFZRFZRUUtF -d2xDVDBkVlV5Qk9VMU14RkRBUwpCZ05WQkFNVEMwNVRVeUJVWlhOMElFTkJBZ0Vl -TUEwR0NTcUdTSWIzRFFFQkFRVUFCSUlCQUc0VjZjdDJEN3p1ClRuYk13dzJtTUhn -QWcyclRwWk51NDJSTDVLbXlDMDdRV3laM3htOGpKMGRPTm1PczBubjhYUkV4NGpr -MHhkSEEKaUx0azFLck9QVVJZa3l0dWVLdWRzZWNVcjI4VFFkYktoSnExanprSGxs -MGtPSkdLVGRIeEFaQmVUc3NrZDNkZQp3eC9NZTcwaGFlWGhYRlhQTXNWQnBWZ012 -dU00KzlncVhuSTAxdFdVRDJzOGF5Uk02b3pSUTJEd3FqZEZ2djF0Ckw1MFEzczJa -VlFhOHYwbVN2R3VNa21oQldpSTB3QnZaZHVoUkU5dlpEKzE3d0dXMGx6V1F2ZlNw -TWJnUWh4L2UKd1FVRG16cHJEK2tsVTNZeVB2MENUUG8reXRITnk2ZzFKLzVsVWN1 -TGxtM05OWWZ0WDF1VEJPSE8zNm9qZ29aeAozSEdXM01mR2FEMEFBQUFBQUFBPQoA -AAAAAACgggNfMIIDWzCCAkOgAwIBAgIBMjANBgkqhkiG9w0BAQsFADBkMQswCQYD -VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4g -VmlldzESMBAGA1UEChMJQk9HVVMgTlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQTAe -Fw0yMjEyMTkxMTI1NDdaFw0yNzEyMTkxMTI1NDdaMH4xCzAJBgNVBAYTAlVTMRMw -EQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYD -VQQKEwlCT0dVUyBOU1MxHzAdBgkqhkiG9w0BCQEWEERhdmVAZXhhbXBsZS5jb20x -DTALBgNVBAMTBERhdmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD2 -xL/sFH8a0BNCrY26EzCsdU47zS+efKXqHgA05XvyoOu/422gxErTWnqKLh8wYjQO -vZ06op2XNRL+v3p7x7CMS3RoU3tWSlhjiHQOtdlrhD1zgDN+hpEo7t84kMX0HHvG -5Jrq+WsLgtvXI5TizVvNhiDYB1rxIWbzHB/i0mOsbfPrHvDk0GYY6XIneijWKoKe -//JXFGCKxNZD+0EINBESr6YW4n9/xJpuaPIcNvwYi4ROPZtswbfbawwRSkQBhjRt -GqqcEoan3hst61BAm76D1IecvtBd3GW3P6sUN5S74B4xgd12uGjz3iSZnPJ4NygB -mgw8tbEQgjxK/yMrFzx3AgMBAAEwDQYJKoZIhvcNAQELBQADggEBAHLDMJIJxuW+ -nF6ldicrcqqSrNYUW5+yXazSCIduZAm2f76FQzjoGybwU1Sjolb38CwfDW1oWhQP -jKsiiRF2YBfkKQU6d1aHUrNTYkjTSmBb4nP/T8T9/zPv+hzjKCqswTTCKRs8cW9F -O2Xoo8+cXk10mqgHxdSY7m7zaLTRYtNs4KJezNcN8KAxPOM9EWPHjwojXUy1R8MO -DeYPUqWfHIiNiRtJZuANk6wSjk8ZK9xtI9DxnUjk7A98mE1DrGtin8Ba6hL7htqP -fc4NunfJYBoIgy93dZyfuBfPsvOKMwmYpFnvSHlDjg7wRi6ziPDWkL8F2aS7nUjo -TQAbr8TIDSQxggLZMIIC1QIBATBpMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpD -YWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dV -UyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEyMA0GCWCGSAFlAwQCAQUAoIIB -QTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMC8GCSqGSIb3DQEJBDEiBCDe0mx7 -vszW+5Up7Lv5Kc8usgLig2DAqIuzObzGun5nWjB4BgkrBgEEAYI3EAQxazBpMGQx -CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3Vu -dGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0 -IENBAgEyMHoGCyqGSIb3DQEJEAILMWugaTBkMQswCQYDVQQGEwJVUzETMBEGA1UE -CBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJ -Qk9HVVMgTlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBMjANBgkqhkiG9w0BAQEF -AASCAQAuU3jK8Sm2ruamuxl6mD59LU+3/ddgu30okBPnS57eBox4k3TKeM9zVpGh -SyxMqVcNcZQgFIJPECL7tAtRDGUsWP61/39iHfJdaHAQ/xBB058nqdyHdMHwPFzW -wudRLYeLkQBUY4ZbTPTofTIdTHeozaucFTBacMEQChEHS6k8vUXl/kvm83gajK9r -6x828Lc7YzEHiNYCy906FM3vBK9S3GadX6piLsArUNgKl4Pg2E5/koNmEe5GYDbN -+d22It5ifbdgqYK2Wkwi/BjJ/4c4//V3Ckgi1yEX4+3Xr37x5HIHkKhHgW/5AY9n -d7fjI+KQk2sp+B2+n2NPC87DUvKtAAAAAAAA +TFRsTlRJRlJsYzNRZ1EwRUNBUjR3RFFZSllJWklBV1VEQkFJQkJRQ2dnZ0ZmTUJn +R0NTcUdTSWIzRFFFSgpBekVMQmdrcWhraUc5dzBCQndFd0hBWUpLb1pJaHZjTkFR +a0ZNUThYRFRJek1URXlNVEl3TlRJd04xb3dMd1lKCktvWklodmNOQVFrRU1TSUVJ +SWtCRkJBY2lHYW1DMWw4cnJROVJmM1FZYlo4TktxZ3NZdm1UL3MvcWd1c01IZ0cK +Q1NzR0FRUUJnamNRQkRGck1Ha3daREVMTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05W +QkFnVENrTmhiR2xtYjNKdQphV0V4RmpBVUJnTlZCQWNURFUxdmRXNTBZV2x1SUZa +cFpYY3hFakFRQmdOVkJBb1RDVUpQUjFWVElFNVRVekVVCk1CSUdBMVVFQXhNTFRs +TlRJRlJsYzNRZ1EwRUNBUjR3ZWdZTEtvWklodmNOQVFrUUFnc3hhNkJwTUdReEN6 +QUoKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJRXdwRFlXeHBabTl5Ym1saE1SWXdG +QVlEVlFRSEV3MU5iM1Z1ZEdGcApiaUJXYVdWM01SSXdFQVlEVlFRS0V3bENUMGRW +VXlCT1UxTXhGREFTQmdOVkJBTVRDMDVUVXlCVVpYTjBJRU5CCkFnRWVNQTBHQ1Nx +R1NJYjNEUUVCQVFVQUJJSUJBRnYvLzc0YlhJRHV2TVBvRGhwSEJOUEFQcFNJQzFB +ZnhTMlIKWC96ZGFHbVlKK1hzNUoyQS9LbHh1ZzQxZXNKTFdpOFdrZDdjUXdEVzFF +OTg2Nk90S3A0cElPbndYZkp6QzhrWgpxdDhXR3RONmFTSkhteTJsTEtFR0xTdmR3 +QUcvL2UwdXdhQ04xRWlOaDByTE4wNWtiejdJbW1PS2d0QTc3NS9DCjJpYUlTcy9z +c3FUQmtiYVhxR3MwNSt4d21jVUNtVGUrcU1qTkJBM2xNVkplRGNpUE5uc3V2UnRl +cG9EVFpEcFYKS0c1NnFnZ2xLaGpxakdJTVhSMUdxMXJaR0k4dG1iR3dzZS9YQ2Z3 +Z2djTlRjTWlodDFOZkplMEo5eEhqdUs0VwppVFFzSW5iNFJaWWxTcHFGM084U3dF +cXFoM0NydkZrcTcrbng4T0IrL05rdG91cUNvendBQUFBQUFBQT0KAAAAAAAAoIID +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 +AA== diff --git a/comm/mailnews/test/data/smime/alice.plain.sig.SHA384.opaque.dave.dsig.SHA384.multipart.eml b/comm/mailnews/test/data/smime/alice.plain.sig.SHA384.opaque.dave.dsig.SHA384.multipart.eml index 7810fdb100ffc7de2a936bbf1da1b31aea92959c..f7bba581701ba23be5ecce2f39650ae5c143b5f0 100644 --- a/comm/mailnews/test/data/smime/alice.plain.sig.SHA384.opaque.dave.dsig.SHA384.multipart.eml +++ b/comm/mailnews/test/data/smime/alice.plain.sig.SHA384.opaque.dave.dsig.SHA384.multipart.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Dave@example.com To: Bob@example.com Subject: opaque-signed sig.SHA384 then clear-signed signed by dave @@ -18,38 +19,39 @@ BwGggCSABEdDb250ZW50LVR5cGU6IHRleHQvcGxhaW4NCg0KVGhpcyBpcyBhIHRl c3QgbWVzc2FnZSBmcm9tIEFsaWNlIHRvIEJvYi4NCgAAAAAAAKCCA2IwggNeMIIC RqADAgECAgEeMA0GCSqGSIb3DQEBCwUAMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQI EwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlC -T0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBMB4XDTIyMTIxOTExMjU0MFoX -DTI3MTIxOTExMjU0MFowgYAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9y +T0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBMB4XDTIzMTEyMTIwNTAzNloX +DTI4MTEyMTIwNTAzNlowgYAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9y bmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1Mx IDAeBgkqhkiG9w0BCQEWEUFsaWNlQGV4YW1wbGUuY29tMQ4wDAYDVQQDEwVBbGlj -ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALuBLQJqpwbdBHIPoIIx -Q/tscjvcpOs05MvCl7oE6K5zZ0/E/5UD3+/Gf6IIZjnEzp38RNmBIb2Y6HEZg495 -rSldtbo3FTXKmcY6QoajKnilmrgmsf1MpLDxoUfk7ywXx8x4pejA0hLtVAa+35X0 -PxByr412hpvtkljv6FO9PofVN8HBUXL6FSW1R/oGpLc6nDupScdQn5mokgO7gMcY -9DPdLJxSqc4JDsUyqzujlNNwNlRdr0AWb6sa63o+yVpzRJoAv0ca/4XAEU5U8mDY -Tdad+SsgDUAvXR+JV3bys7tluuMKr6PUrv0ewSQ07XStRCn7/ehbFDlswmhYTkk0 -G8MCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAOYnWxB7l2XAl2l+06qcI8JHdBWo/ -83x6a1Nzr4ZPqsmvmnDpkG5+QUXfyobaNS19mWPVRUH9tkvINH5ecvWgJVmIMmp1 -KTX+vwKCmHQNPCE841p+L5crYl/cZpHLJrKGulzWgafggmLUe9Cwrkl4iK/ocTvg -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 +kd61mwAkAAAAAAAA --------------ms010205070902020502030809 Content-Type: application/pkcs7-signature; name=smime.p7s @@ -62,37 +64,38 @@ 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 +WLqe/skDXHPc931jHNve3ahrAAAAAAAA --------------ms010205070902020502030809-- diff --git a/comm/mailnews/test/data/smime/alice.plain.sig.SHA384.opaque.dave.sig.SHA384.opaque.eml b/comm/mailnews/test/data/smime/alice.plain.sig.SHA384.opaque.dave.sig.SHA384.opaque.eml index 232937b581e3830c41aad67173a76dd8f5338f0e..2bca810f9656786ecc7ce241e5266a7c60d247c5 100644 --- a/comm/mailnews/test/data/smime/alice.plain.sig.SHA384.opaque.dave.sig.SHA384.opaque.eml +++ b/comm/mailnews/test/data/smime/alice.plain.sig.SHA384.opaque.dave.sig.SHA384.opaque.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Dave@example.com To: Bob@example.com Subject: opaque-signed sig.SHA384 then opaque signed by dave @@ -9,7 +10,7 @@ Content-Disposition: attachment; filename=smime.p7m Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgIFADCABgkqhkiG9w0B -BwGggCSABIIKKUNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vcGtjczctbWltZTsg +BwGggCSABIIKUkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vcGtjczctbWltZTsg bmFtZT1zbWltZS5wN207CiAgICBzbWltZS10eXBlPXNpZ25lZC1kYXRhCkNvbnRl bnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJhc2U2NApDb250ZW50LURpc3Bvc2l0aW9u OiBhdHRhY2htZW50OyBmaWxlbmFtZT1zbWltZS5wN20KQ29udGVudC1EZXNjcmlw @@ -21,81 +22,82 @@ YVdObElIUnZJRUp2WWk0TkNnQUFBQUFBQUtDQ0EySXdnZ05lTUlJQwpScUFEQWdF Q0FnRWVNQTBHQ1NxR1NJYjNEUUVCQ3dVQU1HUXhDekFKQmdOVkJBWVRBbFZUTVJN d0VRWURWUVFJCkV3cERZV3hwWm05eWJtbGhNUll3RkFZRFZRUUhFdzFOYjNWdWRH RnBiaUJXYVdWM01SSXdFQVlEVlFRS0V3bEMKVDBkVlV5Qk9VMU14RkRBU0JnTlZC -QU1UQzA1VFV5QlVaWE4wSUVOQk1CNFhEVEl5TVRJeE9URXhNalUwTUZvWApEVEkz -TVRJeE9URXhNalUwTUZvd2dZQXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJ +QU1UQzA1VFV5QlVaWE4wSUVOQk1CNFhEVEl6TVRFeU1USXdOVEF6TmxvWApEVEk0 +TVRFeU1USXdOVEF6Tmxvd2dZQXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJ RXdwRFlXeHBabTl5CmJtbGhNUll3RkFZRFZRUUhFdzFOYjNWdWRHRnBiaUJXYVdW M01SSXdFQVlEVlFRS0V3bENUMGRWVXlCT1UxTXgKSURBZUJna3Foa2lHOXcwQkNR RVdFVUZzYVdObFFHVjRZVzF3YkdVdVkyOXRNUTR3REFZRFZRUURFd1ZCYkdsagpa -VENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFMdUJM -UUpxcHdiZEJISVBvSUl4ClEvdHNjanZjcE9zMDVNdkNsN29FNks1elowL0UvNVVE -MysvR2Y2SUlaam5FenAzOFJObUJJYjJZNkhFWmc0OTUKclNsZHRibzNGVFhLbWNZ -NlFvYWpLbmlsbXJnbXNmMU1wTER4b1Vmazd5d1h4OHg0cGVqQTBoTHRWQWErMzVY -MApQeEJ5cjQxMmhwdnRrbGp2NkZPOVBvZlZOOEhCVVhMNkZTVzFSL29HcExjNm5E -dXBTY2RRbjVtb2tnTzdnTWNZCjlEUGRMSnhTcWM0SkRzVXlxenVqbE5Od05sUmRy -MEFXYjZzYTYzbyt5VnB6UkpvQXYwY2EvNFhBRVU1VThtRFkKVGRhZCtTc2dEVUF2 -WFIrSlYzYnlzN3RsdXVNS3I2UFVydjBld1NRMDdYU3RSQ243L2VoYkZEbHN3bWhZ -VGtrMApHOE1DQXdFQUFUQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFPWW5XeEI3 -bDJYQWwybCswNnFjSThKSGRCV28vCjgzeDZhMU56cjRaUHFzbXZtbkRwa0c1K1FV -WGZ5b2JhTlMxOW1XUFZSVUg5dGt2SU5INWVjdldnSlZtSU1tcDEKS1RYK3Z3S0Nt -SFFOUENFODQxcCtMNWNyWWwvY1pwSExKcktHdWx6V2dhZmdnbUxVZTlDd3JrbDRp -Sy9vY1R2ZwpGdUZ5UDI5UHJlamZsZUM1UXJuU0Zrd3pVSUtFalJVZGxSa1liL1gw -NzBtV3M1RDFjcVY1MjVxMmNjcmk5enFvCmFiMWx2M2FDRUdzQnRrcnFHbGdwUWx6 -ZG5Pb1o1N3lQMktnYkhxSlFJZlJaSkpmV2tTMTIvT0F3REI5VklNQnkKeDFoVWM1 -b3hUWU9FNHRqSm5kQnpPOURNemhhclNibXprT0Y2ZnhBbkFxMmNVS0Z4L05Oa3Z4 -eGNwekdDQXVrdwpnZ0xsQWdFQk1Ha3daREVMTUFrR0ExVUVCaE1DVlZNeEV6QVJC +VENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFKNjZZ +Uk1QeUI1WGpoNXA2eFk2Cm1Galg4SzUycEovVlI3eVZZZ3E4anRCampxVWxCUzIw +a3dKZE9lbXA0ZXZFZzc2TTdsaGZteXRybzdMU2xWMjgKdVVWL0VtSExuTmI5YzlG +akJnNjlVdVgwUDNUeEpzN29pMXVrck9BbmkzNXBQaGQ2bWorbUJtaEM3R2FCTE9u +MQpISmR4VHpESC9OU25XTWhaY3QxWTlyUjFSV1BFYkNWcUEvVU02MXFYRnBNY2kr +VVEvTGc3WXhqcmZvd2xXZFFTCmV6dFFQeWFNWXBPMkdiWk4rYjJkYUwyS0FFTzBB +YzA0ZTRLb2Fvb2cvWmhHSzhKQXF1T2tnclBzbDNtbmhkak8KclpRMWxhNGEzakxO +czdNSnBSU3dtWHpxL2lBTUxFb0hzKzYrck9lcnkwVUh1VHNGb0QwVWNrTjkwQ0c3 +SGUzSgppOTBDQXdFQUFUQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFoMFN2MGsz +MzhMcWlQSlJpRE9HWFVReldsOHVUCjdwSm0wMytKZkJMbWw0eWlWc011Wld2MDNU +c2Fhb09iVzMrNU5RRnNnUFBBbFNvMEp6SjZsNm0zZy82bWxGQTEKTXhpUDlpN2NU +V2MzR09RV2xPVDJycng1WlEzYXVCNlk3bEh5S0xxYjQrOVYzYkY3NzUxV3cySURt +VncyMWtTcgptOHQyOG1IcDRib0V5N0hkdXdPUDFaSGk3dmQ2NWFTV2wwdWhJbnNS +S2tQU2pYeElQV1dzeXQwMkpRSlVBektmCnlNbSs5bGxRaVppeWRUMHJHd3lwYVlq +RHN5MHkvQ2NiQ0VRU0UxaTVDeEcrbVl5d1c3d29HdlNvQy9scDZjOU8KcEhxbEc3 +VG9PZ1FZd1RvbDhOajJPV2oxVFVRbVhTN283c1k4S2pEZXlXWnc1a005QXgvZHRH +NmR2ekdDQXdjdwpnZ01EQWdFQk1Ha3daREVMTUFrR0ExVUVCaE1DVlZNeEV6QVJC Z05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVCkJnTlZCQWNURFUxdmRXNTBZV2x1 SUZacFpYY3hFakFRQmdOVkJBb1RDVUpQUjFWVElFNVRVekVVTUJJR0ExVUUKQXhN -TFRsTlRJRlJsYzNRZ1EwRUNBUjR3RFFZSllJWklBV1VEQkFJQ0JRQ2dnZ0ZSTUJn -R0NTcUdTSWIzRFFFSgpBekVMQmdrcWhraUc5dzBCQndFd1B3WUpLb1pJaHZjTkFR -a0VNVElFTU1qU2VIL0VOalMzMW56Zzh6Nk5sT1QvCkE4b0NxS0dNUS8vWUtzVjJ0 -L2I1R2p3d1U3OGVGbWV3QVlTZ1V4V0JQakI0QmdrckJnRUVBWUkzRUFReGF6QnAK -TUdReEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlFd3BEWVd4cFptOXlibWxo -TVJZd0ZBWURWUVFIRXcxTgpiM1Z1ZEdGcGJpQldhV1YzTVJJd0VBWURWUVFLRXds -Q1QwZFZVeUJPVTFNeEZEQVNCZ05WQkFNVEMwNVRVeUJVClpYTjBJRU5CQWdFZU1I -b0dDeXFHU0liM0RRRUpFQUlMTVd1Z2FUQmtNUXN3Q1FZRFZRUUdFd0pWVXpFVE1C -RUcKQTFVRUNCTUtRMkZzYVdadmNtNXBZVEVXTUJRR0ExVUVCeE1OVFc5MWJuUmhh -VzRnVm1sbGR6RVNNQkFHQTFVRQpDaE1KUWs5SFZWTWdUbE5UTVJRd0VnWURWUVFE -RXd0T1UxTWdWR1Z6ZENCRFFRSUJIakFOQmdrcWhraUc5dzBCCkFRRUZBQVNDQVFB -Wnliakl4RnBKYVdXK28wbi84VHkzVTRGa1BHdHFiZzc0cEhiemp2ZTRPNThsa0ZI -Z3hRb2QKeGx0SXQ1NWNLRlJPSEZlczFGS3ozZ0xjamlkckFPQWdiWjd1NURrTnBu -enJUR1BVMHBISXFCNjRZN3pndW5QYgp0b1ZpN25IMHhLeHQ1Rko1cTBJanAycVNu -Y2ZTNEp6T0hLVXRueWd1SG9jZG4zb1VOeFI1ZW5Oam1BUlQzdGZhCmx5aTIzK3kx -VGMvbk5VOTZwYktVMTA3d2lkZStJcXUrTSt4a1VlTmtlTCtaYnk2OWpNS3BsbDFE -dFBjZzIvVWkKVEduSUk0Vm5VN3haWWp3RG1sVUdCVGFqSFFVLzZaSnM4bmVhMmJJ -T2kzRHgwZXJHa3c4MThYQmV2Z3MwQW50ZQpNZlVnNEI2dkxvZ2FZYWlCRDU3Q2Q3 -dnFwRVRrZ3grdkFBQUFBQUFBCgAAAAAAAKCCA18wggNbMIICQ6ADAgECAgEyMA0G -CSqGSIb3DQEBCwUAMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh -MRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDAS -BgNVBAMTC05TUyBUZXN0IENBMB4XDTIyMTIxOTExMjU0N1oXDTI3MTIxOTExMjU0 -N1owfjELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcT -DU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEfMB0GCSqGSIb3DQEJ -ARYQRGF2ZUBleGFtcGxlLmNvbTENMAsGA1UEAxMERGF2ZTCCASIwDQYJKoZIhvcN -AQEBBQADggEPADCCAQoCggEBAPbEv+wUfxrQE0KtjboTMKx1TjvNL558peoeADTl -e/Kg67/jbaDEStNaeoouHzBiNA69nTqinZc1Ev6/envHsIxLdGhTe1ZKWGOIdA61 -2WuEPXOAM36GkSju3ziQxfQce8bkmur5awuC29cjlOLNW82GINgHWvEhZvMcH+LS -Y6xt8+se8OTQZhjpcid6KNYqgp7/8lcUYIrE1kP7QQg0ERKvphbif3/Emm5o8hw2 -/BiLhE49m2zBt9trDBFKRAGGNG0aqpwShqfeGy3rUECbvoPUh5y+0F3cZbc/qxQ3 -lLvgHjGB3Xa4aPPeJJmc8ng3KAGaDDy1sRCCPEr/IysXPHcCAwEAATANBgkqhkiG -9w0BAQsFAAOCAQEAcsMwkgnG5b6cXqV2JytyqpKs1hRbn7JdrNIIh25kCbZ/voVD -OOgbJvBTVKOiVvfwLB8NbWhaFA+MqyKJEXZgF+QpBTp3VodSs1NiSNNKYFvic/9P -xP3/M+/6HOMoKqzBNMIpGzxxb0U7Zeijz5xeTXSaqAfF1JjubvNotNFi02zgol7M -1w3woDE84z0RY8ePCiNdTLVHww4N5g9SpZ8ciI2JG0lm4A2TrBKOTxkr3G0j0PGd -SOTsD3yYTUOsa2KfwFrqEvuG2o99zg26d8lgGgiDL3d1nJ+4F8+y84ozCZikWe9I -eUOODvBGLrOI8NaQvwXZpLudSOhNABuvxMgNJDGCAukwggLlAgEBMGkwZDELMAkG -A1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWlu -IFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0EC -ATIwDQYJYIZIAWUDBAICBQCgggFRMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEw -PwYJKoZIhvcNAQkEMTIEMHBuW1CSqkmOBcfT7Ydn6gHc/VytCZUMG+U/654Lok9Q -Lpzh4M5jqjr/04dh3mX9UDB4BgkrBgEEAYI3EAQxazBpMGQxCzAJBgNVBAYTAlVT -MRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIw -EAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEyMHoGCyqG -SIb3DQEJEAILMWugaTBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5p -YTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMgTlNTMRQw -EgYDVQQDEwtOU1MgVGVzdCBDQQIBMjANBgkqhkiG9w0BAQEFAASCAQADtJJBFFEf -Htq67a9nK1AwFoW8ncQ1OUW4FESxPMPoEpOaToe3tIVtSfddzXyuUY46+1427NGB -1+TeEALkl5Gjjylea+H69n/2LmfLJHS9iGbSXdpaPncfKEtANlgHGIiiF5uck72e -m/Qwwj4oM2pxIDrNZ7oP+5vA6u0CiOlwgTKwvLeIbpIE5m91dC5XzunCqUsZoiqv -UJe2NyD2NlHSc8kLlFPVyoEleVXjFwRviB6Z7gnlJ/Cg96Ew9osKQ2RuVnbWE77T -ZcIW6C1cBWMeXw0GYEJQJkTQTcItFuKYbdSLvGb9nt0dMeMrUCEcMTYcV0x36/bZ -XKooGqd3nUmYAAAAAAAA +TFRsTlRJRlJsYzNRZ1EwRUNBUjR3RFFZSllJWklBV1VEQkFJQ0JRQ2dnZ0Z2TUJn +R0NTcUdTSWIzRFFFSgpBekVMQmdrcWhraUc5dzBCQndFd0hBWUpLb1pJaHZjTkFR +a0ZNUThYRFRJek1URXlNVEl3TlRJd09Wb3dQd1lKCktvWklodmNOQVFrRU1USUVN +TWpTZUgvRU5qUzMxbnpnOHo2TmxPVC9BOG9DcUtHTVEvL1lLc1YydC9iNUdqd3cK +VTc4ZUZtZXdBWVNnVXhXQlBqQjRCZ2tyQmdFRUFZSTNFQVF4YXpCcE1HUXhDekFK +QmdOVkJBWVRBbFZUTVJNdwpFUVlEVlFRSUV3cERZV3hwWm05eWJtbGhNUll3RkFZ +RFZRUUhFdzFOYjNWdWRHRnBiaUJXYVdWM01SSXdFQVlEClZRUUtFd2xDVDBkVlV5 +Qk9VMU14RkRBU0JnTlZCQU1UQzA1VFV5QlVaWE4wSUVOQkFnRWVNSG9HQ3lxR1NJ +YjMKRFFFSkVBSUxNV3VnYVRCa01Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVD +Qk1LUTJGc2FXWnZjbTVwWVRFVwpNQlFHQTFVRUJ4TU5UVzkxYm5SaGFXNGdWbWxs +ZHpFU01CQUdBMVVFQ2hNSlFrOUhWVk1nVGxOVE1SUXdFZ1lEClZRUURFd3RPVTFN +Z1ZHVnpkQ0JEUVFJQkhqQU5CZ2txaGtpRzl3MEJBUUVGQUFTQ0FRQTJuZENqTDd4 +V2RuNE0KMms4WjJyV2FZakgwU2UwUGRqWHR6V3VCeDQrZno0cFplbTg1eDc2eVlN +OWpYVWoyV00wRk9RSm9MdUdBSTlkVwpkQlpleXF3OGY5amZpZXNLVGd4aEQ3c296 +cy9iN1lOQVJCaHk3Mkh2b013RENGUVFCTmVNbG9Yd0lFeGFic1lkCmlSalhtSWto +cUcwZWdKVXhjcGRYZ0orL29QYS9Yd0h0WXNuT0tGVWZHc3IxNzlhZGZzYkRnZjBx +TG9CekQrck8KRG9tbnYvVHhYblBjdzhQRFF4VXNYZGlEcUVaQ2cvVmdqSkNHdWRB +NXBYQ3JLOEx0dHdNR0swUlJEZ0xvdjViYwpUVHdROExtaHFvcEorU0NnbHhCNE5u +QkJvTklod2RNZ3B5b0M4alZYVGFONXZqQWIrRVEwU1g5aVdRZUxMYXB1CmtkNjFt +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 diff --git a/comm/mailnews/test/data/smime/alice.plain.sig.SHA512.opaque.dave.dsig.SHA512.multipart.eml b/comm/mailnews/test/data/smime/alice.plain.sig.SHA512.opaque.dave.dsig.SHA512.multipart.eml index bd8754f92e63b6e4926534ac65174a3fd55c0679..c213faa60aa5cd6e4cf30fd45a008d91296aed62 100644 --- a/comm/mailnews/test/data/smime/alice.plain.sig.SHA512.opaque.dave.dsig.SHA512.multipart.eml +++ b/comm/mailnews/test/data/smime/alice.plain.sig.SHA512.opaque.dave.dsig.SHA512.multipart.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Dave@example.com To: Bob@example.com Subject: opaque-signed sig.SHA512 then clear-signed signed by dave @@ -18,38 +19,39 @@ BwGggCSABEdDb250ZW50LVR5cGU6IHRleHQvcGxhaW4NCg0KVGhpcyBpcyBhIHRl c3QgbWVzc2FnZSBmcm9tIEFsaWNlIHRvIEJvYi4NCgAAAAAAAKCCA2IwggNeMIIC RqADAgECAgEeMA0GCSqGSIb3DQEBCwUAMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQI EwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlC -T0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBMB4XDTIyMTIxOTExMjU0MFoX -DTI3MTIxOTExMjU0MFowgYAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9y +T0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBMB4XDTIzMTEyMTIwNTAzNloX +DTI4MTEyMTIwNTAzNlowgYAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9y bmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1Mx IDAeBgkqhkiG9w0BCQEWEUFsaWNlQGV4YW1wbGUuY29tMQ4wDAYDVQQDEwVBbGlj -ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALuBLQJqpwbdBHIPoIIx -Q/tscjvcpOs05MvCl7oE6K5zZ0/E/5UD3+/Gf6IIZjnEzp38RNmBIb2Y6HEZg495 -rSldtbo3FTXKmcY6QoajKnilmrgmsf1MpLDxoUfk7ywXx8x4pejA0hLtVAa+35X0 -PxByr412hpvtkljv6FO9PofVN8HBUXL6FSW1R/oGpLc6nDupScdQn5mokgO7gMcY -9DPdLJxSqc4JDsUyqzujlNNwNlRdr0AWb6sa63o+yVpzRJoAv0ca/4XAEU5U8mDY -Tdad+SsgDUAvXR+JV3bys7tluuMKr6PUrv0ewSQ07XStRCn7/ehbFDlswmhYTkk0 -G8MCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAOYnWxB7l2XAl2l+06qcI8JHdBWo/ -83x6a1Nzr4ZPqsmvmnDpkG5+QUXfyobaNS19mWPVRUH9tkvINH5ecvWgJVmIMmp1 -KTX+vwKCmHQNPCE841p+L5crYl/cZpHLJrKGulzWgafggmLUe9Cwrkl4iK/ocTvg -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 +zbNgtMrWvXSl2GL0T48yDpbOYtS4dgAAAAAAAA== --------------ms010205070902020502030809 Content-Type: application/pkcs7-signature; name=smime.p7s @@ -62,38 +64,38 @@ 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 -4W4CQwAAAAAAAA== +IE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0ECATIwDQYJYIZIAWUDBAIDBQCgggF/ +MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIzMTEy +MTIwNTIxMVowTwYJKoZIhvcNAQkEMUIEQKS244uhcwiDn0c6TR1pe8T7kflHweF9 +6hj3VWiJnRUBVcq/gJ5EfodJSCTs2bFTZzZTstJ5KXmjGf1WgeUKKW0weAYJKwYB +BAGCNxAEMWswaTBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEW +MBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMgTlNTMRQwEgYD +VQQDEwtOU1MgVGVzdCBDQQIBMjB6BgsqhkiG9w0BCRACCzFroGkwZDELMAkGA1UE +BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZp +ZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0ECATIw +DQYJKoZIhvcNAQEBBQAEggEAbM4GrVIf7wQ5e/2JFxZVjU6xKgqxwPlk/9YT37XN +bDuMkVbrWAsr8ZcPe8i9c4AN1KvxGV5DI+SHC0dd9ILRYLVpXp307z8mIl8SBuvx +t+6mTGuZJ47XWCoNP0h7OXHTE9byoag2xbv/krwAS0MZuxvDs3gVDGpXlcJvKWaN +F8GbEljQeWEhSv3QKGBIgVq147ndQC4TRzZ1tmYn/Ood/pr8PeqbGr35NNqYPim1 +a96vF0VQhamUkdpt8EcNgOwiShERG/AFbQUof5baawG6YQWXT2iyG4VrqoKFXK60 +NJIn1t4JhEjROP1YhW2tcGkVUcuZtlzSBaD0I+OwO4otrgAAAAAAAA== --------------ms010205070902020502030809-- diff --git a/comm/mailnews/test/data/smime/alice.plain.sig.SHA512.opaque.dave.sig.SHA512.opaque.eml b/comm/mailnews/test/data/smime/alice.plain.sig.SHA512.opaque.dave.sig.SHA512.opaque.eml index 9320c780085bfc126e620411305f4214805acce8..f91a7240b8df2e6fe8f4f65fa53e9428095c2eb0 100644 --- a/comm/mailnews/test/data/smime/alice.plain.sig.SHA512.opaque.dave.sig.SHA512.opaque.eml +++ b/comm/mailnews/test/data/smime/alice.plain.sig.SHA512.opaque.dave.sig.SHA512.opaque.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Dave@example.com To: Bob@example.com Subject: opaque-signed sig.SHA512 then opaque signed by dave @@ -9,7 +10,7 @@ Content-Disposition: attachment; filename=smime.p7m Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgMFADCABgkqhkiG9w0B -BwGggCSABIIKQUNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vcGtjczctbWltZTsg +BwGggCSABIIKakNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vcGtjczctbWltZTsg bmFtZT1zbWltZS5wN207CiAgICBzbWltZS10eXBlPXNpZ25lZC1kYXRhCkNvbnRl bnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJhc2U2NApDb250ZW50LURpc3Bvc2l0aW9u OiBhdHRhY2htZW50OyBmaWxlbmFtZT1zbWltZS5wN20KQ29udGVudC1EZXNjcmlw @@ -21,82 +22,83 @@ YVdObElIUnZJRUp2WWk0TkNnQUFBQUFBQUtDQ0EySXdnZ05lTUlJQwpScUFEQWdF Q0FnRWVNQTBHQ1NxR1NJYjNEUUVCQ3dVQU1HUXhDekFKQmdOVkJBWVRBbFZUTVJN d0VRWURWUVFJCkV3cERZV3hwWm05eWJtbGhNUll3RkFZRFZRUUhFdzFOYjNWdWRH RnBiaUJXYVdWM01SSXdFQVlEVlFRS0V3bEMKVDBkVlV5Qk9VMU14RkRBU0JnTlZC -QU1UQzA1VFV5QlVaWE4wSUVOQk1CNFhEVEl5TVRJeE9URXhNalUwTUZvWApEVEkz -TVRJeE9URXhNalUwTUZvd2dZQXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJ +QU1UQzA1VFV5QlVaWE4wSUVOQk1CNFhEVEl6TVRFeU1USXdOVEF6TmxvWApEVEk0 +TVRFeU1USXdOVEF6Tmxvd2dZQXhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJ RXdwRFlXeHBabTl5CmJtbGhNUll3RkFZRFZRUUhFdzFOYjNWdWRHRnBiaUJXYVdW M01SSXdFQVlEVlFRS0V3bENUMGRWVXlCT1UxTXgKSURBZUJna3Foa2lHOXcwQkNR RVdFVUZzYVdObFFHVjRZVzF3YkdVdVkyOXRNUTR3REFZRFZRUURFd1ZCYkdsagpa -VENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFMdUJM -UUpxcHdiZEJISVBvSUl4ClEvdHNjanZjcE9zMDVNdkNsN29FNks1elowL0UvNVVE -MysvR2Y2SUlaam5FenAzOFJObUJJYjJZNkhFWmc0OTUKclNsZHRibzNGVFhLbWNZ -NlFvYWpLbmlsbXJnbXNmMU1wTER4b1Vmazd5d1h4OHg0cGVqQTBoTHRWQWErMzVY -MApQeEJ5cjQxMmhwdnRrbGp2NkZPOVBvZlZOOEhCVVhMNkZTVzFSL29HcExjNm5E -dXBTY2RRbjVtb2tnTzdnTWNZCjlEUGRMSnhTcWM0SkRzVXlxenVqbE5Od05sUmRy -MEFXYjZzYTYzbyt5VnB6UkpvQXYwY2EvNFhBRVU1VThtRFkKVGRhZCtTc2dEVUF2 -WFIrSlYzYnlzN3RsdXVNS3I2UFVydjBld1NRMDdYU3RSQ243L2VoYkZEbHN3bWhZ -VGtrMApHOE1DQXdFQUFUQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFPWW5XeEI3 -bDJYQWwybCswNnFjSThKSGRCV28vCjgzeDZhMU56cjRaUHFzbXZtbkRwa0c1K1FV -WGZ5b2JhTlMxOW1XUFZSVUg5dGt2SU5INWVjdldnSlZtSU1tcDEKS1RYK3Z3S0Nt -SFFOUENFODQxcCtMNWNyWWwvY1pwSExKcktHdWx6V2dhZmdnbUxVZTlDd3JrbDRp -Sy9vY1R2ZwpGdUZ5UDI5UHJlamZsZUM1UXJuU0Zrd3pVSUtFalJVZGxSa1liL1gw -NzBtV3M1RDFjcVY1MjVxMmNjcmk5enFvCmFiMWx2M2FDRUdzQnRrcnFHbGdwUWx6 -ZG5Pb1o1N3lQMktnYkhxSlFJZlJaSkpmV2tTMTIvT0F3REI5VklNQnkKeDFoVWM1 -b3hUWU9FNHRqSm5kQnpPOURNemhhclNibXprT0Y2ZnhBbkFxMmNVS0Z4L05Oa3Z4 -eGNwekdDQXZrdwpnZ0wxQWdFQk1Ha3daREVMTUFrR0ExVUVCaE1DVlZNeEV6QVJC +VENDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFKNjZZ +Uk1QeUI1WGpoNXA2eFk2Cm1Galg4SzUycEovVlI3eVZZZ3E4anRCampxVWxCUzIw +a3dKZE9lbXA0ZXZFZzc2TTdsaGZteXRybzdMU2xWMjgKdVVWL0VtSExuTmI5YzlG +akJnNjlVdVgwUDNUeEpzN29pMXVrck9BbmkzNXBQaGQ2bWorbUJtaEM3R2FCTE9u +MQpISmR4VHpESC9OU25XTWhaY3QxWTlyUjFSV1BFYkNWcUEvVU02MXFYRnBNY2kr +VVEvTGc3WXhqcmZvd2xXZFFTCmV6dFFQeWFNWXBPMkdiWk4rYjJkYUwyS0FFTzBB +YzA0ZTRLb2Fvb2cvWmhHSzhKQXF1T2tnclBzbDNtbmhkak8KclpRMWxhNGEzakxO +czdNSnBSU3dtWHpxL2lBTUxFb0hzKzYrck9lcnkwVUh1VHNGb0QwVWNrTjkwQ0c3 +SGUzSgppOTBDQXdFQUFUQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FRRUFoMFN2MGsz +MzhMcWlQSlJpRE9HWFVReldsOHVUCjdwSm0wMytKZkJMbWw0eWlWc011Wld2MDNU +c2Fhb09iVzMrNU5RRnNnUFBBbFNvMEp6SjZsNm0zZy82bWxGQTEKTXhpUDlpN2NU +V2MzR09RV2xPVDJycng1WlEzYXVCNlk3bEh5S0xxYjQrOVYzYkY3NzUxV3cySURt +VncyMWtTcgptOHQyOG1IcDRib0V5N0hkdXdPUDFaSGk3dmQ2NWFTV2wwdWhJbnNS +S2tQU2pYeElQV1dzeXQwMkpRSlVBektmCnlNbSs5bGxRaVppeWRUMHJHd3lwYVlq +RHN5MHkvQ2NiQ0VRU0UxaTVDeEcrbVl5d1c3d29HdlNvQy9scDZjOU8KcEhxbEc3 +VG9PZ1FZd1RvbDhOajJPV2oxVFVRbVhTN283c1k4S2pEZXlXWnc1a005QXgvZHRH +NmR2ekdDQXhjdwpnZ01UQWdFQk1Ha3daREVMTUFrR0ExVUVCaE1DVlZNeEV6QVJC Z05WQkFnVENrTmhiR2xtYjNKdWFXRXhGakFVCkJnTlZCQWNURFUxdmRXNTBZV2x1 SUZacFpYY3hFakFRQmdOVkJBb1RDVUpQUjFWVElFNVRVekVVTUJJR0ExVUUKQXhN -TFRsTlRJRlJsYzNRZ1EwRUNBUjR3RFFZSllJWklBV1VEQkFJREJRQ2dnZ0ZoTUJn -R0NTcUdTSWIzRFFFSgpBekVMQmdrcWhraUc5dzBCQndFd1R3WUpLb1pJaHZjTkFR -a0VNVUlFUUQxOVdPblgzQzlZUDhUejdnR0RrTFBpCnYzNm9yVmZMYnY3TDUrbkhO -aEJORkJGZlBIdkNMSlBQaWZ5bldhdCtTYW02dXcrSlhFQ2sycmFPUVJyT255d3cK -ZUFZSkt3WUJCQUdDTnhBRU1Xc3dhVEJrTVFzd0NRWURWUVFHRXdKVlV6RVRNQkVH -QTFVRUNCTUtRMkZzYVdadgpjbTVwWVRFV01CUUdBMVVFQnhNTlRXOTFiblJoYVc0 -Z1ZtbGxkekVTTUJBR0ExVUVDaE1KUWs5SFZWTWdUbE5UCk1SUXdFZ1lEVlFRREV3 -dE9VMU1nVkdWemRDQkRRUUlCSGpCNkJnc3Foa2lHOXcwQkNSQUNDekZyb0drd1pE -RUwKTUFrR0ExVUVCaE1DVlZNeEV6QVJCZ05WQkFnVENrTmhiR2xtYjNKdWFXRXhG -akFVQmdOVkJBY1REVTF2ZFc1MApZV2x1SUZacFpYY3hFakFRQmdOVkJBb1RDVUpQ -UjFWVElFNVRVekVVTUJJR0ExVUVBeE1MVGxOVElGUmxjM1FnClEwRUNBUjR3RFFZ -SktvWklodmNOQVFFQkJRQUVnZ0VBQjFRV2hWTlZEcmEwWENqSDU2dCtjcG4wV2NU -enp1WGMKNXU0UnJwUEpWdlRnSkMzTmZQRmhhZWZyR2pGcUsrNnF1b0RkM21zVVVl -TFdGbk5mU2VEVlU5MXZxRm9xYlJTZgprMzBnTGplMitjVFcrd2JqL1QzWDB6bUpx -cFFGcEw1SUd1R0ZBTjVCRTlVOC9wRHB4SnhHNnU3NEVVL0cxM0I5ClFMV00yYnM3 -QksrMVUvTVk3M3AxZ3J2R3JBeEdINTJBVW1VNlZLa2hBRXI0UkFnNlVBb1BDNUVm -T0lJdEpkZGUKaE1kd1RPaXJwTGRlSjdWcE5VMWxLSVRsRGUyQ2svQXBkL2dONlFI -YTE5VmUvRFpDb1E0eXJtN3laWU4rOFljMgpFd0VLSHk5VzhOWk1qWmczK3YvVCt6 -Qkw3TlpqNFY4NzF6Mm0wbmlkMHQ4aG5kcmoyRGNWR2dBQUFBQUFBQT09CgAAAAAA -AKCCA18wggNbMIICQ6ADAgECAgEyMA0GCSqGSIb3DQEBCwUAMGQxCzAJBgNVBAYT -AlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3 -MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBMB4XDTIy -MTIxOTExMjU0N1oXDTI3MTIxOTExMjU0N1owfjELMAkGA1UEBhMCVVMxEzARBgNV -BAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoT -CUJPR1VTIE5TUzEfMB0GCSqGSIb3DQEJARYQRGF2ZUBleGFtcGxlLmNvbTENMAsG -A1UEAxMERGF2ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPbEv+wU -fxrQE0KtjboTMKx1TjvNL558peoeADTle/Kg67/jbaDEStNaeoouHzBiNA69nTqi -nZc1Ev6/envHsIxLdGhTe1ZKWGOIdA612WuEPXOAM36GkSju3ziQxfQce8bkmur5 -awuC29cjlOLNW82GINgHWvEhZvMcH+LSY6xt8+se8OTQZhjpcid6KNYqgp7/8lcU -YIrE1kP7QQg0ERKvphbif3/Emm5o8hw2/BiLhE49m2zBt9trDBFKRAGGNG0aqpwS -hqfeGy3rUECbvoPUh5y+0F3cZbc/qxQ3lLvgHjGB3Xa4aPPeJJmc8ng3KAGaDDy1 -sRCCPEr/IysXPHcCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAcsMwkgnG5b6cXqV2 -JytyqpKs1hRbn7JdrNIIh25kCbZ/voVDOOgbJvBTVKOiVvfwLB8NbWhaFA+MqyKJ -EXZgF+QpBTp3VodSs1NiSNNKYFvic/9PxP3/M+/6HOMoKqzBNMIpGzxxb0U7Zeij -z5xeTXSaqAfF1JjubvNotNFi02zgol7M1w3woDE84z0RY8ePCiNdTLVHww4N5g9S -pZ8ciI2JG0lm4A2TrBKOTxkr3G0j0PGdSOTsD3yYTUOsa2KfwFrqEvuG2o99zg26 -d8lgGgiDL3d1nJ+4F8+y84ozCZikWe9IeUOODvBGLrOI8NaQvwXZpLudSOhNABuv -xMgNJDGCAvkwggL1AgEBMGkwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlm -b3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5T -UzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0ECATIwDQYJYIZIAWUDBAIDBQCgggFhMBgG -CSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwTwYJKoZIhvcNAQkEMUIEQF7TKNDe8jSU -8WfFYLmDJMizETjcaYe1Mit4wtr6H9JsCsEgaDYWMWFEjdfR2kSuHOP0rC3r77cZ -1WtBWIeZld4weAYJKwYBBAGCNxAEMWswaTBkMQswCQYDVQQGEwJVUzETMBEGA1UE -CBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJ -Qk9HVVMgTlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBMjB6BgsqhkiG9w0BCRAC -CzFroGkwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNV -BAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEUMBIGA1UEAxML -TlNTIFRlc3QgQ0ECATIwDQYJKoZIhvcNAQEBBQAEggEAilmQUGVj3E2fiJ6eZs3Z -506kSEhHllKJe15moH/fPCy4sh8qFKYXTeexIsrWHxDKWOFcUy927yjeO2BZbQKn -meV+hkS/sULOXvfLZT1Wa9mCVe0rJ3bu9VBL38BXgRW3FYWCCvzp2jOvpgi2bUeD -6QzxUIGifeH/NlJ9+nDc5nEQq2yvfUuHhESkKJp4iYWO9aE8OA+eHSTKXU3wzjYB -WZ7+r0T/RCyDpI4dg/r9RsrggjJhKkgmZGlnMiyN6Gbbg4br2Z67rsV1q7icSsvi -RX+nGPvUjg3wDUHd5aCOxzmS/palzsiNoeR03KSJbC8PmsU5bm0Hxg8p+/aylS5O -QwAAAAAAAA== +TFRsTlRJRlJsYzNRZ1EwRUNBUjR3RFFZSllJWklBV1VEQkFJREJRQ2dnZ0YvTUJn +R0NTcUdTSWIzRFFFSgpBekVMQmdrcWhraUc5dzBCQndFd0hBWUpLb1pJaHZjTkFR +a0ZNUThYRFRJek1URXlNVEl3TlRJeE1Gb3dUd1lKCktvWklodmNOQVFrRU1VSUVR +RDE5V09uWDNDOVlQOFR6N2dHRGtMUGl2MzZvclZmTGJ2N0w1K25ITmhCTkZCRmYK +UEh2Q0xKUFBpZnluV2F0K1NhbTZ1dytKWEVDazJyYU9RUnJPbnl3d2VBWUpLd1lC +QkFHQ054QUVNV3N3YVRCawpNUXN3Q1FZRFZRUUdFd0pWVXpFVE1CRUdBMVVFQ0JN +S1EyRnNhV1p2Y201cFlURVdNQlFHQTFVRUJ4TU5UVzkxCmJuUmhhVzRnVm1sbGR6 +RVNNQkFHQTFVRUNoTUpRazlIVlZNZ1RsTlRNUlF3RWdZRFZRUURFd3RPVTFNZ1ZH +VnoKZENCRFFRSUJIakI2QmdzcWhraUc5dzBCQ1JBQ0N6RnJvR2t3WkRFTE1Ba0dB +MVVFQmhNQ1ZWTXhFekFSQmdOVgpCQWdUQ2tOaGJHbG1iM0p1YVdFeEZqQVVCZ05W +QkFjVERVMXZkVzUwWVdsdUlGWnBaWGN4RWpBUUJnTlZCQW9UCkNVSlBSMVZUSUU1 +VFV6RVVNQklHQTFVRUF4TUxUbE5USUZSbGMzUWdRMEVDQVI0d0RRWUpLb1pJaHZj +TkFRRUIKQlFBRWdnRUFrMk1zajFCSk1iRWliZ2FVbFYyeHFYUnpETW4wRDZFV0ty +MTk5K1U3OGxId0RlNjgzV3MzWTNuZQpubDRsRURtOHBsTlZ1cHh3cnErdmdCMnVX +b0V6eU5rbFhtWTRMc3dWZ05xSDV4WTgvcEJHdWkxekFjcEhsQUZuCnhvTm5UUzhT +aWd5ZHExVFpaN3JhdUdGYWFOQlFSL1FGV0p1eEg3UCtQaFdHQ29qcWk3OEZLbXh4 +OTdCZVhSVXYKU3BHcU9nNWdnSHZQTis3cVJRUUFybUNML2NxRjMvR210aFpXelh0 +M0paWkxQWjE3d3BNRFNneVp1NnhLWjM1OAo5UnZ2SWx4TktvUWR6RXQ3V3dGb0lr +SDROOXEzR3ZLeGp5MmxpdG9sbkpCdUhMMUw0V21NTXlGeVc0V0Mvb1BRCnpiTmd0 +TXJXdlhTbDJHTDBUNDh5RHBiT1l0UzRkZ0FBQUFBQUFBPT0KAAAAAAAAoIIDXzCC +A1swggJDoAMCAQICATIwDQYJKoZIhvcNAQELBQAwZDELMAkGA1UEBhMCVVMxEzAR +BgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNV +BAoTCUJPR1VTIE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0EwHhcNMjMxMTIxMjA1 +MDQzWhcNMjgxMTIxMjA1MDQzWjB+MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2Fs +aWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMg +TlNTMR8wHQYJKoZIhvcNAQkBFhBEYXZlQGV4YW1wbGUuY29tMQ0wCwYDVQQDEwRE +YXZlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyEuiMqsNIXsCPC5I +/p0BIZwUH35YAyq1uJxXDWeb81Pdjb+ed2SBQ4DTDcjKM7YOIq15M5dmfVV9cXmt +NYgPjp1gqPcObE2Kqj2CiZLV24reQ6+gOWW+//5MSAeQ14q1ZWCt3KCku9POL2t9 +UnUmJHv0YBJ7DVqMZ+PFkHXXXQITEPAVECc2kJqceotCoJ7OTZQODarGhZdfn99r +szkjzsu9G8fVBaa71cdv9OC1zTUAYNAw5a2xzUWId0iWbKxW0r1U2syGM7zoliaP +0EHDlTXR8KhUxsvGQrVJ/EsKyLrrwEaTmJy7phRbJNXz/RzB3E6klpJftX+HQuSA +UFuyDQIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQBjTdnG0HNVY5R3k5JaLHlvdzE4 +dpRIv8ypUtG8iihBQX0pT4KdI7UGa2r1Mar7fHAjaZ+igqCSCYgR6M4uL6bXH77z +V0Cb+yHPL/ELRt06qvQNn/jwLcCJ57nBjtiUmH7iHOsn3fPtN+Ox/Ajw3pAHI+bg +R0kYqtda9FL91JJbZbkmv14FSNLzRTzjEYF8kUdbVgL+MC+GCIEEesD1SfS3Qeu/ +AIZxJatajmPUJSuNltNaVYp75OWNgFmgPxN8gKG7RNd6LZeBmZ46jS2Tb52dAqpg +rhfOXGk+HzzWTXwOTYZxRQBmHTJJNhT4GbR7fGBWgckqO91TRRLA74Wu+a3JMYID +FzCCAxMCAQEwaTBkMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEW +MBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UEChMJQk9HVVMgTlNTMRQwEgYD +VQQDEwtOU1MgVGVzdCBDQQIBMjANBglghkgBZQMEAgMFAKCCAX8wGAYJKoZIhvcN +AQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTIxMjA1MjExWjBP +BgkqhkiG9w0BCQQxQgRA+hctDIjVkQhyhDSxpWIURZmBcgj3NOVg2HfqCidkdlGG +0VaAooi+DkLe1bQ4QmtOb+KUit5Z7Lk8lL9vdHnv9jB4BgkrBgEEAYI3EAQxazBp +MGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1N +b3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBU +ZXN0IENBAgEyMHoGCyqGSIb3DQEJEAILMWugaTBkMQswCQYDVQQGEwJVUzETMBEG +A1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzESMBAGA1UE +ChMJQk9HVVMgTlNTMRQwEgYDVQQDEwtOU1MgVGVzdCBDQQIBMjANBgkqhkiG9w0B +AQEFAASCAQCdehep/Xr5z7GD2PSCpRuA/NHvbgoGo+Fcy2glRdNo0riWnrdEzqB/ +38TFayd51SKvwcnfluyaX7dS1r7UWkT4Gc3RjtUHPlbw2Q7oQvG9yjFv18ojEH8j +QduOmuxX8Ua/qmlwg2LYEus2tJXhAjRKgFLpmLRtS1yK+EJbsDR0GaCcpOnql/HK +0XXvA3iQ6zSOp7sTy6vruqZLD2WVku9UtVCldvkvMtj27r2pyO039J0dhlNj9SsB +H+S5IDboWbBsK/T2YIutizL3UZaUN82Me6+T9hyZaSe+lOARYnXOTf29s3tTX8Ka +d1PJmURGSYMvoeTGOG7Jt/P5TOQOfZV/AAAAAAAA diff --git a/comm/mailnews/test/data/smime/alice.sig.SHA1.opaque.eml b/comm/mailnews/test/data/smime/alice.sig.SHA1.opaque.eml index 416844efaa646c29b2facd39da6ee20f95543610..8dbc85328a9a62ef5943aa641a2d2dc20f163e76 100644 --- a/comm/mailnews/test/data/smime/alice.sig.SHA1.opaque.eml +++ b/comm/mailnews/test/data/smime/alice.sig.SHA1.opaque.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: opaque-signed sig.SHA1 @@ -13,35 +14,36 @@ JIAER0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbg0KDQpUaGlzIGlzIGEgdGVzdCBt ZXNzYWdlIGZyb20gQWxpY2UgdG8gQm9iLg0KAAAAAAAAoIIDYjCCA14wggJGoAMC AQICAR4wDQYJKoZIhvcNAQELBQAwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh bGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VT -IE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0EwHhcNMjIxMjE5MTEyNTQwWhcNMjcx -MjE5MTEyNTQwWjCBgDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWEx +IE5TUzEUMBIGA1UEAxMLTlNTIFRlc3QgQ0EwHhcNMjMxMTIxMjA1MDM2WhcNMjgx +MTIxMjA1MDM2WjCBgDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWEx FjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEgMB4G CSqGSIb3DQEJARYRQWxpY2VAZXhhbXBsZS5jb20xDjAMBgNVBAMTBUFsaWNlMIIB -IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu4EtAmqnBt0Ecg+ggjFD+2xy -O9yk6zTky8KXugTornNnT8T/lQPf78Z/oghmOcTOnfxE2YEhvZjocRmDj3mtKV21 -ujcVNcqZxjpChqMqeKWauCax/UyksPGhR+TvLBfHzHil6MDSEu1UBr7flfQ/EHKv -jXaGm+2SWO/oU70+h9U3wcFRcvoVJbVH+gaktzqcO6lJx1CfmaiSA7uAxxj0M90s -nFKpzgkOxTKrO6OU03A2VF2vQBZvqxrrej7JWnNEmgC/Rxr/hcARTlTyYNhN1p35 -KyANQC9dH4lXdvKzu2W64wqvo9Su/R7BJDTtdK1EKfv96FsUOWzCaFhOSTQbwwID -AQABMA0GCSqGSIb3DQEBCwUAA4IBAQA5idbEHuXZcCXaX7Tqpwjwkd0Faj/zfHpr -U3Ovhk+qya+acOmQbn5BRd/Khto1LX2ZY9VFQf22S8g0fl5y9aAlWYgyanUpNf6/ -AoKYdA08ITzjWn4vlytiX9xmkcsmsoa6XNaBp+CCYtR70LCuSXiIr+hxO+AW4XI/ -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 +e9uhSUBVTeVrORDGqQAVtDCSAAAAAAAA diff --git a/comm/mailnews/test/data/smime/alice.sig.SHA1.opaque.env.eml b/comm/mailnews/test/data/smime/alice.sig.SHA1.opaque.env.eml index b4e7fe32e7c9cc3ea55d2c18c4b8ab43aedd0ba8..d9ab8a516b68af493045a17795ffa5d6c95f6bb6 100644 --- a/comm/mailnews/test/data/smime/alice.sig.SHA1.opaque.env.eml +++ b/comm/mailnews/test/data/smime/alice.sig.SHA1.opaque.env.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: opaque-signed then enveloped sig.SHA1 @@ -11,65 +12,66 @@ Content-Description: S/MIME Encrypted Message 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 -0gAAAAAAAAAAAAA= +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 +FwAAAAAAAAAAAAA= diff --git a/comm/mailnews/test/data/smime/alice.sig.SHA256.opaque.eml b/comm/mailnews/test/data/smime/alice.sig.SHA256.opaque.eml index 1ceccdd40b48848c32352bdd1f98da39215a9c4f..2d250d71b81adf73a1148a3af5a766b42931d2ae 100644 --- a/comm/mailnews/test/data/smime/alice.sig.SHA256.opaque.eml +++ b/comm/mailnews/test/data/smime/alice.sig.SHA256.opaque.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: opaque-signed sig.SHA256 @@ -13,36 +14,36 @@ BwGggCSABEdDb250ZW50LVR5cGU6IHRleHQvcGxhaW4NCg0KVGhpcyBpcyBhIHRl c3QgbWVzc2FnZSBmcm9tIEFsaWNlIHRvIEJvYi4NCgAAAAAAAKCCA2IwggNeMIIC RqADAgECAgEeMA0GCSqGSIb3DQEBCwUAMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQI EwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlC -T0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBMB4XDTIyMTIxOTExMjU0MFoX -DTI3MTIxOTExMjU0MFowgYAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9y +T0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBMB4XDTIzMTEyMTIwNTAzNloX +DTI4MTEyMTIwNTAzNlowgYAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9y bmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1Mx IDAeBgkqhkiG9w0BCQEWEUFsaWNlQGV4YW1wbGUuY29tMQ4wDAYDVQQDEwVBbGlj -ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALuBLQJqpwbdBHIPoIIx -Q/tscjvcpOs05MvCl7oE6K5zZ0/E/5UD3+/Gf6IIZjnEzp38RNmBIb2Y6HEZg495 -rSldtbo3FTXKmcY6QoajKnilmrgmsf1MpLDxoUfk7ywXx8x4pejA0hLtVAa+35X0 -PxByr412hpvtkljv6FO9PofVN8HBUXL6FSW1R/oGpLc6nDupScdQn5mokgO7gMcY -9DPdLJxSqc4JDsUyqzujlNNwNlRdr0AWb6sa63o+yVpzRJoAv0ca/4XAEU5U8mDY -Tdad+SsgDUAvXR+JV3bys7tluuMKr6PUrv0ewSQ07XStRCn7/ehbFDlswmhYTkk0 -G8MCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAOYnWxB7l2XAl2l+06qcI8JHdBWo/ -83x6a1Nzr4ZPqsmvmnDpkG5+QUXfyobaNS19mWPVRUH9tkvINH5ecvWgJVmIMmp1 -KTX+vwKCmHQNPCE841p+L5crYl/cZpHLJrKGulzWgafggmLUe9Cwrkl4iK/ocTvg -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 -3HGW3MfGaD0AAAAAAAA= +AxMLTlNTIFRlc3QgQ0ECAR4wDQYJYIZIAWUDBAIBBQCgggFfMBgGCSqGSIb3DQEJ +AzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIzMTEyMTIwNTIwNlowLwYJ +KoZIhvcNAQkEMSIEIIkBFBAciGamC1l8rrQ9Rf3QYbZ8NKqgsYvmT/s/qgusMHgG +CSsGAQQBgjcQBDFrMGkwZDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3Ju +aWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxEjAQBgNVBAoTCUJPR1VTIE5TUzEU +MBIGA1UEAxMLTlNTIFRlc3QgQ0ECAR4wegYLKoZIhvcNAQkQAgsxa6BpMGQxCzAJ +BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFp +biBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENB +AgEeMA0GCSqGSIb3DQEBAQUABIIBAIZk5LSUiVMZeaoR/ftlgvF3wGOcJEqIlsSe +wsvFs9CEcbZhLwP5+mX78MBtD20ZmBej3c+6ZUTdELXW6/mpvWKV9+VJpH2mXBAV +OQSxzzLLxmxA3j4CRiOJmYG3vEfgK5oa3fCxoP8Y2j6m0WSreeWJFy4oSvDkgP4I +RSUu86NtzkuCwf6ZD7QObkhMMvIUqMSYDd27YkmuRhIPhjuDfUsxVnEzxuvRgifJ +QVKvpkj5lsgeVa9T3GRXIfdgOo1w/HS/QpiQHCHs0UDHLzuOkQYVNVGLTuLFZJCf +U/Zq3Uc8HGlPKQ5lnPFMzK2mUt2DQyRDubkk102xAkEJGFsujtQAAAAAAAA= diff --git a/comm/mailnews/test/data/smime/alice.sig.SHA256.opaque.env.eml b/comm/mailnews/test/data/smime/alice.sig.SHA256.opaque.env.eml index 2182a248c3fa4d7e5011981862a82fd170089c63..fb141a23a1e67a266e0dee98b642e040da8dde04 100644 --- a/comm/mailnews/test/data/smime/alice.sig.SHA256.opaque.env.eml +++ b/comm/mailnews/test/data/smime/alice.sig.SHA256.opaque.env.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: opaque-signed then enveloped sig.SHA256 @@ -11,65 +12,66 @@ Content-Description: S/MIME Encrypted Message MIAGCSqGSIb3DQEHA6CAMIACAQAxggGFMIIBgQIBADBpMGQxCzAJBgNVBAYTAlVT MRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIw EAYDVQQKEwlCT0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBAgEoMA0GCSqG -SIb3DQEBAQUABIIBAEKxieVibjhi5eEEnNc2zkr4hxm0uIxv2LkWlvdFLuCYxleS -vRC13WxuJcj4t1Kur8rh0mXxrbw92Q1B0aRzngxz1lmmFtebardsyubU1KzigqQA -qQya0YnjxtFg1pLOJlPzOPmt8wCvpfahYu2y7FYbof4SPmgEwTrumGQMkcJNp5Ht -WGPXWfF+5U/87+YdLk9jjlgOK8xfiY2PpenEK8ktDWDlpv9Cd16AFRUmC2gUVKpJ -m/vQT2M4+KG2QfqAc1Oc5jS+rIZO7KiZheA2z99eXsbKdmAwbfR9RXNOZSqCJdUr -mYmafBSFK4KBmQp4/4ezok+KJZXHth2oj/B7cmwwgAYJKoZIhvcNAQcBMB0GCWCG -SAFlAwQBAgQQviEyb8VWZDbV0Ql8P8Dz/aCABIIKEJLAOf/Pu2YT0gwXDrONTGcd -6SoJ6ll0dTP9JYEBo+kU4l75QQYvF8ei4Aj9gbDlAzxYGHk0IS+pQ+8rcDvpowuv -RMNgOaUScb6qevGVgyaO4WphjSS+ZZBpq8R0rjPDRZbD48cZl+8dB7PN8+/cb9QO -sp7UnNWINg++83yKgHXH9v7omp+OF1aWZoSkwPswYm8sve/igi0TYHG4UWK4nptO -FvRp34wHessB8qVHTXTEECS3LsjJGmz8WSu5R39bsVUeZkJ5Kvdte2bFqk/vF5Tg -ssktN2qukfSFW6Ke7yDVg+NBX47yGK3UYmUavvQBBlv1hw5cmAl4917tzhuDE8yK -fHQBn6PSp6EcFQ3wVswsRyYD9i+UGPPOoM7uHXkyeP6ji+d3eST/Cqj1sFFYZY/x -D8fGH2vvueS7PIVaNX680ASoQlwUmuU4HHYkTZZUKXnJzvGuVG5hQ0xKO6sGj+JX -0lcBPye++ZtiWy227ttAHCkwdRghlAra6sXNSjeqr2Q+TTxX2o7Y3Pt6/3l4czRY -EVyIZDBdNI/uclfSPLH/7tuSjUYdsd+2hj6jZc7EAs7dJfWCrbG0plDOb/dggTa7 -0yLU4vhDkPxcJvmH/OzXiym788eb9VUCqiovaV+zIHZ1FGIsCNqnOW/A7C8W4Ozp -Cx4o/b8vSG25pdEZJVrYx5d6uUf2FBBva8UXk9WzAPT6rGc8E7WUgOJf5tQ6CWpq -mDP5Afedcske6t6xaKZLioJWIfJu8QF+cqRIQj1UnxNEFL1ptS6J2ZJwiVk4wXJm -wMnqO2MbgeIWDPiaS+E91eO2/CtY6XotUW7o6Aysqy0ft7n58J7h9Lbnel/zD295 -1jgS7uMbwjUHgrk5JRgrObrjyUz5zaMf6+u+sUoOK1V8NWOlVg+9sZAOFBh6KPyU -rKS+n5PU0Dxielzi7GFCHos5LkB6H8FIh8NU74HB0USGub2ZdJT/d/kjLfJ+lH1o -xXd3jYDSmCu/x7n1w4Ye0KtJkhFYV8DeAQWUDj71vXgGY74rBLH2XvgRbZhBsZoP -aekd94VZirekJHcBuNJslaA10cOtjUm4XoYnsNUMzP3njni7DfeV6JKO6ecLhvp7 -9DggKPIoIeAw0y39yhThUUWoQtxUus/S6o2o0NxT9AaFsYJpI+lcjftJfsq+hl20 -kE19+UfodIY6RJSEtVlz36FGyuI1gKQyvumTROu9tQh+GfxmdkrArJAaQrXm5bTB -hx2ffhlG8p0Xn1oJn3p/1yG4X+MoMBIFNCF8BG8YWCRKl08bnRM8rr7THivVKTtk -ke6h05VTbG6Lmpl83R7FhYqxvGjj15xs1Zju3mT3gYX4BOpoHQa6O8s367x01S9L -OfWXiVIQEZd7+xQjRg6vIij0Gjj8mQC6PH7bFCgbxM6V4P50Fj0LIlp5Cqd+z0ad -d9AcwN1UWxkvD2w/0Uv6uE2cZcBsOpcAcMB3PWDTTMxv03sw4o3egQdaNxaHTi3E -I/yi3jmQqlNodXhiP006zIq5zks2bBJTNLIJh+Sk5d2qjH4+Edr9xre2uwtzeAVB -sTaOdbae/jjvR8aKUeDV4llPqjyjPHY2b8o2j+wOvZn4pcMRzF0yLwTIQnrTNPep -mNh5zVbZn9N4e6QXjP4Rpp4QGrQJSkdaB3epFKubP3ln7aGLyTUZpWze2J2sG63L -vEvZtVw7RoIYhRC9jthd1CQQtts5NN/QiFyNF2Hq9dDaw+7jr2EQ1BoxWraDWRX6 -3JNnpG2PoABamlVez73adaJJuPczATvze0i3gupKQXYtKwVBnEgQ/4xhwU5wYxZk -vz7ZawkiAj2odDPeuiFKqIqJ4aImY+vFhHbkVmYOLCMma8ZpPKt/gnx8p+zV3ZcU -tC9+XhVNvgTLA11uVE7icsCOmpNH/GSXfJk0y7O+N0pK1mArgaaBq/TNtPQUmNkK -kBafwsn/iPp3s1doHxV3cmQlPUh1F/+r8DChsKniDzqQCnfgpaWzSJwRV2y+Mut5 -8MGTGDrEutNMAPuNGG9uh8uCPtRdzxlhyD7fENmHpoNWFLPYo1rTQFc77gNRyGay -n7oW4QrzlYsmA5nqit7XRlGSMW6ZBYQUc0vmX0IZ9d+8lUh40oNMjqCDCL+TlfWf -fZF6hPUZBP5S51//2a4Zg9TpDl+vw+niNJ+mP9DPZdH5mmcVvoDc6L8dzQdfBYmi -+a0OrkcNUQgvm/1e5HJFq5dLAsl0TftIYu7/XksUM59Pld01QwVKl+MHW1aLwCQX -J1LSDgV38nzVNoIF4HkEeKq65Fh00goVyKSWdowQMk/rnHNPwGPl4v32lsDBoyUM -FtfRhePrNHFTfoJr7XI+7AX/MRD1iBex6gxBi90k9JZKgpRF5/aDXNUQBw1UGJlP -5RUlV+9we5mUg7VS8tA4df2ficFLQlz0kt4mQGuWgeFODukaCIgNFSdKHDDER7fF -urjaLYEHxQReN59cing7XCYXY0Y1KeJYBRbi3PX1teHBJhoiLHNErS8qLfqOd6Qx -Ocj3eNYNzQLZqIYT57EHLGM3zCueAEvL5zKRnxFv4YKuDSosIKGsrdljImCJPGKv -+qqa2GBXPvf3jGukqM108Sy5nAHD3BtVBx4uWFpz5kPMNwxf3YK9GXLEfahj5Rul -KiqXxBtBPMMQDytjmptWyd42SBUyc2cc/ZkYtYPlCoHe+csU5V+sKQVaLwKdkJbb -fYsMqe4msEoEnHWlJY48kPkbIpKEG++vQkXIeADcMqHTsPR+LDqv+H97x5Pf4v5s -SviWPwL7HPjOma5JOyjhiCNOopBf4J4tZfeDPr/ztXU2KM96KKFU1B4PaMxPFiO2 -AcN5/4noAbXMDLqeyo4N7OgOLA2ZD+QqzqC69hCNVnozMS9t903wa2F95LCxWKFE -5Yynyml3wF3Tjb3/4p2RZ8IF6b7CbTVA4Br7zHWG0MSDiy/8T9El1uMP2Ha/kjX4 -zEfd59Y6glTx844T9H80xsohXm/ikpiZVBlHJKiowyNi+2fp+XP4fkjjTwdYk4aC -w9jSAAm3P2uuKDqftm1fp+4BD0Rdgt0iIRO67FXeNi+lH0m5eyv8RO4uHJpMVrHU -YbJ2ppHqYC7hCTk8W5VunIgS6R4bNjXExTe518OzjryDTnYl18IjBw/EitrpeHBV -W3V/PBL536BkaC5Egyp1I8uSOCFksIlndTSJUOm2uj4m2g46y8n3fqA2fAKr2ulF -TrE0piRxCbSSV5HmourxjBwbBqYroBTP7AMz+v6yGs2s/YtWopbVGx46xlrL9ERR -1u/u1b5/szFAMC5Fn5dpvOjN2lMbA8cfNt08aQanfum0svvOx4obdKNWpa3Q21jI -ky+mEMYq944Asg7xlnkXLXBVCsOA33OnywS3coekwgGS9IyKiTBzjXSdtzJ/Sbky -mvV8e9dTo7dM74flS5CNBBBlbohUl7sGg6kA0lbPcBudAAAAAAAAAAAAAA== +SIb3DQEBAQUABIIBALK694MHQH2cLnZMl9yM2GIU4/UiLP4h1nyfBDWPHY+DnMLm +yNQZq9kMTdmz7azFzHKhStYI36x7Kp+WsdyOT7okX/l0u5DWTElwkFzAZmQkgnk7 +UUIwXsnt1DAt5CKmCRk10AFLtgW15Q+s3AaAsvrEH2oyt0HVa+xIZCPgysjBOBwV +S4EEJ0H1AJiF0kpbiNVzy28TPfgo0VYYUGvOdXq1JIRBPTNl0L8XPPwoapheYZwx +pMJ0yf0RlvAsHSRv2gGvV7S3DeOKimOp2+sy6QoLflHVktVO8o2nMOiTl7T7PUAp +qm//CuwTBTRbQPNNxithNpVhadfSLYQuye/yrk4wgAYJKoZIhvcNAQcBMB0GCWCG +SAFlAwQBAgQQ5psvSjUNaCq0jgjdZq2Op6CABIIKMEnW8HaM60Sf10fUKxxAO5hn +zlv/k3bjkGljrSSJmwCRJpf21PVDQTNrIeGAXcm3WiQSZpe5GOnKVE8CfEDLzVSS +X60atoDpjLHis2lTbQeGk8tYjZlK0KCc+YR7ZwnJ/WNaMCHQGTe+GYov4CUSXbc9 +RTEavo22RIaDKz899HecswLtJMUNTXcCOxRK/DNyxJdtjSKFhk8rhtsCHmzEW4wb +JJA08s5FCCWqdyhk3BCKVHHz0ASXRZ/wrRCSdYMgWDo2vgh6rWaTIo1H2O/iWhT4 +a7I0DeMQAdqnNWqpdskdMOPpX1+0UJxxp+jXThgHVqrY1eQNHjqAM8/rhGK4d7pm +KG8RY89uiliRYmuZgD+a4n0VKAaLMbXBSF9I5Bx0VXceJaeUnDTZjNzXSet8ZU/k +DA5zxhzJ8yDmIo+wkNc6WxwMjdCiYyArIaJ+s2mD8oIQVBne6sZURYnUKixXwh+L +qjsqxteobHIW3z6PvdAG2O7crLnwaYx39gIJVAYHLicQaQK+NYjuu5EhGdjjKAic +2IWsyyNGPaZX8A4V/r2uCVRz3rbimwGFq4JgT0zoyJg0tF8IVRbKNASkoKdm+3Bh +f2fXj2fRITUjMbiG6N513hw7ieM4me1jcrEV1NTKLpQ0TAqSUJmls7o+7lQJOw+7 +YLL8pA/DTLEhP4T7YqqgUleEpicnRDfkKyvR6FPTt7ERKKEhjP60aFE5ybg5+0yf +/XNGTf5nIMRrlVTgyd4oJth6r6B/AO/XQj14+L4EIvA0+nW0ujvO6g45fOMiqHs1 +zhQh5eNpFeySW/+MsC13cxle97eJxrC7Dx3Paov7iSVPKOPCixs5EyOe3PmOp/XY +ny/E6GRIaqikwNeG6CQu5tziJxaxJzhKAuq1M/asYzL3nsuazJ3dfSvd5tCqTv+v +3gNelvRffOwI2CQLUtYzqkjrX+sGSK+srls12RoDEBhXPswQfOI7E5jOCPXwXFtB +TYyx2iu0mo31R00NPinko849SSm0WDzqB86/tOVze8+Z6zClMY2zJDL+NozcMcHw +YFgoy58hsjX7+KX20nN6fLDzaaw5CtOV8u08Wq25CNb71OyZh9ttoONTtqI+b7L2 +LsYujjJYwIs0H1kz8N+iFcUaQKSCz1IZYl7LXajRapLRziuFp+31CdPnqk4cYptv +n0+QyItmrD2FY/a+P9j04eZD3zMj0xSihh9XHAzAVglJBTpko7iMWGteAi4u2hi6 +JpRf523Yzf3p5mBWhhyiuKsLdskuLBmjDjL2ia5l56TsU1ol2DwTJnJ28S4x0ACV +V4ZfgsUC3U+Ak1EeApop1MjTjAG8StSzmRGwyCW1I7wOBsbaubu6hcrE4Ekwyaei +ti4Zu7Z3/n4ZBznVlcxlsOhl8jA4ul9YsoNMuJlfuyuGXv+V1LVyHOygeakR1AeE +tknZ6bHP6g2QFlfGRs+n6y2D8BHaQahHGB/Ghr1r1AstkiuZ8V1lORdpgPYKDuqh +B84rVsFRDIikhKd2GNS30t94Md+v3TmlRE6LwpKxMx5+E8KuppOtmWpA/0c6IDEh +AcbTnl9BGGSxzhgxS9DkmlPbXc/oRzpx2ojr6GbH5TwG13397Lpgqf5Z6KncGZLY +4piCMRANcTP89VFhCdwU02Lx6bTFWSasUq0Li3nlJcfmYqzpTUwEK0EaFi/+UzPZ +vsrpGIwk7ycOT3gzQ0hlPHu6tiZilbtIJK2g0/RQYl5K7Uy8oZm6d8bxDKcOjEzU +V0PsmBg9WY7Ylgn3MwQzlNRgrzivWdIKFKIwB9ILE6EB2/knkK9V+dGtIjqfx2+E +JsPUe0yfq/crQt7j0zWe0yqyk1mA4WaphuY7R6x5kMR6KZQH8/1RgUAjuKRyPOBu +kOvPzrp4W/xEpIdJOpKUqioC2xvxl6V5N6nmlu8615BYUIcA2eUtd9LOngOwHFvm +50QCrRNw8kpSKWzlIkbv5UkOMUYeiP6JJPDAZC+G4WtPApx4itEcNtiB0VkFcHhN +yn7oqaDUlXBU3OFnTw4dBrPrHnLXgkLMo16fMDncnojxv8zQgxXGE5nVwGSzKTra +MpCFEXv+7bhP1mogDCNfe+WybsXy4yYcZKgqS2xVky+Q8dsSNaBCnC38puj2qYVg +KQB44kWsp2QgSg0EFtNBS+DLkCqaEdIvuqjIKuz0mQVBhoBrlTOKtj+pItpI4DaZ ++Q211MFPQKcutZKQU0d6gzWU025h4oSnJrGL20R1488L0fnQ2Ky8qJxOJL27ztWM +wkTL46vM0zvyN/uuvkwxDTt/c5wGQLKfDchcXg+9JKx1dzzzVeojwO2lxGKE01Gu +QOgCNFAZ3RkUwvuLrfn6UsPYuvJL8UxUeUuXFE08Ngx+ACyI67iYxJ5XplsZ2sJK +XsRgOfIhv9QU2GQvhwIIzYcgYdXCykgaUIyxQu2crs+ZGWl44wtwtyJraV5tnWri +vtReOL2zBb7+mOKEHhl3hZvzpbcnj50aC32GELyD7zs4Du+JSzGmZjcPVYO0Twcx +VbKRO8k2QJuu90zslUIT6S5331Vg472uJt8+xNsH9Ls8GE7zKVGzjdFPeKgepoh+ +QDf2mQfF7pShvYKdJAWPOdXSDqKHr+YkziqcLFx/Oz8h0ZCpbpj5zRak2Es+pLpx +P3GFAOxJyVXgUmjezwLT9XMoWAD5EZEkwMZGYfrZqpKJTKJksxG/AySCWNhTsVbx +H+Qr8Ownj86TJEmxtD4QwLrb8+4vDBpZaY5guLiujTBoYwlPUB1Hr3DXO21LDVts +IOQlCnTRyyR+Qt06GTd3KjAOuZ+s6AGBomzkIxg0mvy1Vb0615yuNvIr1aZQfb5b +cYhWbk6G6ERKNAHy5lJRwIsBEH02y/iFcZCNkiBLv9Np82iiV6rT5U3b9JhmOayQ +Pql45iUYDtJJ+yjeml8duo67I4hFdB1JaljqHICZS5RsFJhfskJkENpy/hhUcSbR +RP52o2rOEbg5smo7WXuvvJNeOfsKGgTzmWkYGTWbjNkP7ToFLj5Gv5g8m+rH68hB +Hk0tYhYyqXJlddJfw0zsvuFa4cgqNWEN08Z2aZ82/1PhojWyGIJDyHGkqg/wF+tR +Jbm1AEtnNB/LDcZuS4rPr8lY7NsciCkC07QWbAYZe9yufm1+WX08eV7AERkTyOz2 +TsjFpmUtJpWYNh6cQy2pngMWGf8BG5KFrvsqgiKKXWE2rGXDG4DqFDNnPR85xPMG +FuLPQj87fAlb6pdTrox3IXjxTD9dw+iaP57SQG/ugYhnVipbGGkFG+Q9y+GAU9f1 +B6KfVAqEdyehoe5yULQebCDKyL6cg9+B2UGL2il0mhc0ngC9y/RcKVpORe8SEK90 +bROxHJ4VUyUP6RcU/mA22T9N15zCkrLhptZkpa3Ul1TDf6uFfjO8b2V1wH3NrWve +Tsz/sMXnwFK4y6cu85PWh2k/49NEKp4CPvxRleUCTPLyWMNsgm+JUNeveW++JUgE +EIYbDmZpsHS76UU1EkjW5jEAAAAAAAAAAAAA diff --git a/comm/mailnews/test/data/smime/alice.sig.SHA384.opaque.eml b/comm/mailnews/test/data/smime/alice.sig.SHA384.opaque.eml index b7c1ebe4b8b58375ff70b5fe5c6358ef40b5510c..12bda4ac0ea9d32f8e32680cf3d11b3e6e5dbdbd 100644 --- a/comm/mailnews/test/data/smime/alice.sig.SHA384.opaque.eml +++ b/comm/mailnews/test/data/smime/alice.sig.SHA384.opaque.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: opaque-signed sig.SHA384 @@ -13,36 +14,37 @@ BwGggCSABEdDb250ZW50LVR5cGU6IHRleHQvcGxhaW4NCg0KVGhpcyBpcyBhIHRl c3QgbWVzc2FnZSBmcm9tIEFsaWNlIHRvIEJvYi4NCgAAAAAAAKCCA2IwggNeMIIC RqADAgECAgEeMA0GCSqGSIb3DQEBCwUAMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQI EwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlC -T0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBMB4XDTIyMTIxOTExMjU0MFoX -DTI3MTIxOTExMjU0MFowgYAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9y +T0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBMB4XDTIzMTEyMTIwNTAzNloX +DTI4MTEyMTIwNTAzNlowgYAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9y bmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1Mx IDAeBgkqhkiG9w0BCQEWEUFsaWNlQGV4YW1wbGUuY29tMQ4wDAYDVQQDEwVBbGlj -ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALuBLQJqpwbdBHIPoIIx -Q/tscjvcpOs05MvCl7oE6K5zZ0/E/5UD3+/Gf6IIZjnEzp38RNmBIb2Y6HEZg495 -rSldtbo3FTXKmcY6QoajKnilmrgmsf1MpLDxoUfk7ywXx8x4pejA0hLtVAa+35X0 -PxByr412hpvtkljv6FO9PofVN8HBUXL6FSW1R/oGpLc6nDupScdQn5mokgO7gMcY -9DPdLJxSqc4JDsUyqzujlNNwNlRdr0AWb6sa63o+yVpzRJoAv0ca/4XAEU5U8mDY -Tdad+SsgDUAvXR+JV3bys7tluuMKr6PUrv0ewSQ07XStRCn7/ehbFDlswmhYTkk0 -G8MCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAOYnWxB7l2XAl2l+06qcI8JHdBWo/ -83x6a1Nzr4ZPqsmvmnDpkG5+QUXfyobaNS19mWPVRUH9tkvINH5ecvWgJVmIMmp1 -KTX+vwKCmHQNPCE841p+L5crYl/cZpHLJrKGulzWgafggmLUe9Cwrkl4iK/ocTvg -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 +YuZE1YxxAAAAAAAA diff --git a/comm/mailnews/test/data/smime/alice.sig.SHA384.opaque.env.eml b/comm/mailnews/test/data/smime/alice.sig.SHA384.opaque.env.eml index 2fa2837c22d3b22b288c06eba81e7e68a6deebd1..0168f706623f839b93775a14455c829a31dfb8c5 100644 --- a/comm/mailnews/test/data/smime/alice.sig.SHA384.opaque.env.eml +++ b/comm/mailnews/test/data/smime/alice.sig.SHA384.opaque.env.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: opaque-signed then enveloped sig.SHA384 @@ -11,66 +12,67 @@ Content-Description: S/MIME Encrypted Message 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 -+gAAAAAAAAAAAAA= +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 +0QAAAAAAAAAAAAA= diff --git a/comm/mailnews/test/data/smime/alice.sig.SHA512.opaque.eml b/comm/mailnews/test/data/smime/alice.sig.SHA512.opaque.eml index ad790f45cc8fafca33936c9bb2ccd42e190d7153..ee2a8801639bfc324831334c4285cae3c17d5214 100644 --- a/comm/mailnews/test/data/smime/alice.sig.SHA512.opaque.eml +++ b/comm/mailnews/test/data/smime/alice.sig.SHA512.opaque.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: opaque-signed sig.SHA512 @@ -13,36 +14,37 @@ BwGggCSABEdDb250ZW50LVR5cGU6IHRleHQvcGxhaW4NCg0KVGhpcyBpcyBhIHRl c3QgbWVzc2FnZSBmcm9tIEFsaWNlIHRvIEJvYi4NCgAAAAAAAKCCA2IwggNeMIIC RqADAgECAgEeMA0GCSqGSIb3DQEBCwUAMGQxCzAJBgNVBAYTAlVTMRMwEQYDVQQI EwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlC -T0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBMB4XDTIyMTIxOTExMjU0MFoX -DTI3MTIxOTExMjU0MFowgYAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9y +T0dVUyBOU1MxFDASBgNVBAMTC05TUyBUZXN0IENBMB4XDTIzMTEyMTIwNTAzNloX +DTI4MTEyMTIwNTAzNlowgYAxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9y bmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRIwEAYDVQQKEwlCT0dVUyBOU1Mx IDAeBgkqhkiG9w0BCQEWEUFsaWNlQGV4YW1wbGUuY29tMQ4wDAYDVQQDEwVBbGlj -ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALuBLQJqpwbdBHIPoIIx -Q/tscjvcpOs05MvCl7oE6K5zZ0/E/5UD3+/Gf6IIZjnEzp38RNmBIb2Y6HEZg495 -rSldtbo3FTXKmcY6QoajKnilmrgmsf1MpLDxoUfk7ywXx8x4pejA0hLtVAa+35X0 -PxByr412hpvtkljv6FO9PofVN8HBUXL6FSW1R/oGpLc6nDupScdQn5mokgO7gMcY -9DPdLJxSqc4JDsUyqzujlNNwNlRdr0AWb6sa63o+yVpzRJoAv0ca/4XAEU5U8mDY -Tdad+SsgDUAvXR+JV3bys7tluuMKr6PUrv0ewSQ07XStRCn7/ehbFDlswmhYTkk0 -G8MCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAOYnWxB7l2XAl2l+06qcI8JHdBWo/ -83x6a1Nzr4ZPqsmvmnDpkG5+QUXfyobaNS19mWPVRUH9tkvINH5ecvWgJVmIMmp1 -KTX+vwKCmHQNPCE841p+L5crYl/cZpHLJrKGulzWgafggmLUe9Cwrkl4iK/ocTvg -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 +zbNgtMrWvXSl2GL0T48yDpbOYtS4dgAAAAAAAA== diff --git a/comm/mailnews/test/data/smime/alice.sig.SHA512.opaque.env.eml b/comm/mailnews/test/data/smime/alice.sig.SHA512.opaque.env.eml index ed1ab7e54d7e7a3a45700d52ce9e2e88af093b54..fce61249d09b64c78229702d353b085358dd0833 100644 --- a/comm/mailnews/test/data/smime/alice.sig.SHA512.opaque.env.eml +++ b/comm/mailnews/test/data/smime/alice.sig.SHA512.opaque.env.eml @@ -1,4 +1,5 @@ MIME-Version: 1.0 +Date: Tue, 21 Nov 2023 20:50:06 +0000 From: Alice@example.com To: Bob@example.com Subject: opaque-signed then enveloped sig.SHA512 @@ -11,66 +12,67 @@ Content-Description: S/MIME Encrypted Message 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 +EI5/6Oncwk+GkFuirsiDR3gAAAAAAAAAAAAA diff --git a/comm/mailnews/test/data/smime/expiration.txt b/comm/mailnews/test/data/smime/expiration.txt index 82654c7813fa8b2fce1938be3defff486b7342e3..18de5dd6f270e24278a3861a2ee800606d5d4e22 100644 --- a/comm/mailnews/test/data/smime/expiration.txt +++ b/comm/mailnews/test/data/smime/expiration.txt @@ -1 +1 @@ -Sun Dec 19 11:25:40 2027 +Tue Nov 21 20:50:36 2028 diff --git a/comm/mailnews/test/data/smime/local-gen.sh b/comm/mailnews/test/data/smime/local-gen.sh index 0128c345e43573e463753078e71b15ca42b13dda..c74b31e73a7a6994b49c638cc49af3f43fb1c7cd 100755 --- a/comm/mailnews/test/data/smime/local-gen.sh +++ b/comm/mailnews/test/data/smime/local-gen.sh @@ -40,7 +40,10 @@ mkdir $TMPDIR BOUNDARY="--------BOUNDARY" +EMAILDATE=$(date --rfc-email --utc) + MSGHEADER="MIME-Version: 1.0 +Date: ${EMAILDATE} From: Alice <alice@example.com> To: Bob <bob@example.com> Subject: a message @@ -84,4 +87,11 @@ MSG=$TMPDIR/msg.eml mv $MSG "$MILLDIR/multipart-alternative.eml" +# Create a message with a mismatching message date (use a later time, +# because the test certificates aren't valid at earlier times). + +GOOD_DATE=$(grep ^Date "alice.dsig.SHA256.multipart.eml" | sed 's/^Date: //') +FUTURE_DATE=$(date --utc --rfc-email --date="${GOOD_DATE} + 6 hours") +sed "s/^Date: .*$/Date: ${FUTURE_DATE}/" "alice.dsig.SHA256.multipart.eml" > "alice.future.dsig.SHA256.multipart.eml" + rm -rf $TMPDIR diff --git a/comm/taskcluster/docker/tb-flatpak/Dockerfile b/comm/taskcluster/docker/tb-flatpak/Dockerfile index 2323aa02d2bcfd2715d092154314bf13dae193aa..0ec129c9f396dbf3f0f5589042a9a432443bb97f 100644 --- a/comm/taskcluster/docker/tb-flatpak/Dockerfile +++ b/comm/taskcluster/docker/tb-flatpak/Dockerfile @@ -7,10 +7,11 @@ WORKDIR /scripts/ # Copy everything in the docker/tb-flatpak folder but the Dockerfile COPY [^D]* /scripts/ +# Set up Python virtual environment RUN /scripts/make_venv.sh +# Manually add close_range syscall to image RUN ["gcc", "-Wall", "-shared", "-o", "/scripts/close_range.so", "/scripts/close_range.c"] - ENV LD_PRELOAD /scripts/close_range.so # Set a default command useful for debugging diff --git a/comm/taskcluster/docker/tb-flatpak/build-desktop-file.py b/comm/taskcluster/docker/tb-flatpak/build_desktop_file.py similarity index 98% rename from comm/taskcluster/docker/tb-flatpak/build-desktop-file.py rename to comm/taskcluster/docker/tb-flatpak/build_desktop_file.py index 78e80cc337fd157ea21ef96c2dfd391aaef1507d..65ed76eeb81f746296c57f4a7d907dfea5f589f8 100644 --- a/comm/taskcluster/docker/tb-flatpak/build-desktop-file.py +++ b/comm/taskcluster/docker/tb-flatpak/build_desktop_file.py @@ -7,7 +7,7 @@ Build the Flatpak .desktop file. Needs to run in the Python virtualenv due to dependencies. -python3 /scripts/build-desktop-file.py -o "$WORKSPACE/org.mozilla.Thunderbird.desktop" \ +python3 /scripts/build_desktop_file.py -o "$WORKSPACE/org.mozilla.Thunderbird.desktop" \ -t "/scripts/org.mozilla.Thunderbird.desktop.jinja2" \ -l "$WORKSPACE/l10n-central" \ -L "$WORKSPACE/shipped-locales" \ diff --git a/comm/taskcluster/docker/tb-flatpak/fluent-requirements.txt b/comm/taskcluster/docker/tb-flatpak/fluent_requirements.txt similarity index 100% rename from comm/taskcluster/docker/tb-flatpak/fluent-requirements.txt rename to comm/taskcluster/docker/tb-flatpak/fluent_requirements.txt diff --git a/comm/taskcluster/docker/tb-flatpak/launch-script.sh b/comm/taskcluster/docker/tb-flatpak/launch_script.sh similarity index 100% rename from comm/taskcluster/docker/tb-flatpak/launch-script.sh rename to comm/taskcluster/docker/tb-flatpak/launch_script.sh diff --git a/comm/taskcluster/docker/tb-flatpak/make_venv.sh b/comm/taskcluster/docker/tb-flatpak/make_venv.sh index d55bcb979428b1cc681af34154099f7f14c686b5..6b807e64f4835f0e18df49132778f21234a3af58 100755 --- a/comm/taskcluster/docker/tb-flatpak/make_venv.sh +++ b/comm/taskcluster/docker/tb-flatpak/make_venv.sh @@ -9,4 +9,4 @@ cd /scripts || exit 1 python -m venv --system-site-packages venv source ./venv/bin/activate -python -m pip install -r fluent-requirements.txt +python -m pip install -r fluent_requirements.txt diff --git a/comm/taskcluster/docker/tb-flatpak/org.mozilla.Thunderbird.desktop b/comm/taskcluster/docker/tb-flatpak/org.mozilla.Thunderbird.desktop deleted file mode 100644 index f935fda0ac1674a3ae0f7d701f97b299585d4d34..0000000000000000000000000000000000000000 --- a/comm/taskcluster/docker/tb-flatpak/org.mozilla.Thunderbird.desktop +++ /dev/null @@ -1,167 +0,0 @@ -[Desktop Entry] -Name=Thunderbird -Comment=Send and receive mail with Thunderbird -Comment[ast]=Lleer y escribir corréu electrónicu -Comment[ca]=Llegiu i escriviu correu -Comment[cs]=Čtení a psaní pošty -Comment[da]=Skriv/læs e-post/nyhedsgruppe med Mozilla Thunderbird -Comment[de]=E-Mails und Nachrichten mit Thunderbird lesen und schreiben -Comment[el]=Διαβάστε και γράψτε γράμματα με το Mozilla Thunderbird -Comment[es]=Lea y escriba correos y noticias con Thunderbird -Comment[fi]=Lue ja kirjoita sähköposteja -Comment[fr]=Lire et écrire des courriels -Comment[gl]=Lea e escriba correo electrónico -Comment[he]=קריאה/כתיבה של דוא״ל/חדשות באמצעות Mozilla Thunderbird -Comment[hr]=Čitajte/šaljite e-poštu s Thunderbird -Comment[hu]=Levelek írása és olvasása a Thunderbirddel -Comment[it]=Per leggere e scrivere email -Comment[ja]=メールの読み書き -Comment[ko]=Mozilla Thunderbird 메일/뉴스 읽기 및 쓰기 클라이언트 -Comment[nl]=E-mail/nieuws lezen en schrijven met Mozilla Thunderbird -Comment[pl]=Czytanie i wysyłanie e-maili -Comment[pt_BR]=Leia e escreva suas mensagens -Comment[ru]=Читайте и пишите письма -Comment[sk]=Čítajte a píšte poštu pomocou programu Thunderbird -Comment[sv]=Läs och skriv e-post -Comment[uk]=Читання та написання листів -Comment[vi]=Đọc và soạn thư điện tử -Comment[zh_CN]=阅读邮件或新闻 -Comment[zh_TW]=以 Mozilla Thunderbird 讀寫郵件或新聞 -GenericName=Mail Client -GenericName[ast]=Client de correu -GenericName[ca]=Client de correu -GenericName[cs]=Poštovní klient -GenericName[da]=E-postklient -GenericName[de]=E-Mail-Anwendung -GenericName[el]=Λογισμικό αλληλογραφίας -GenericName[es]=Cliente de correo -GenericName[fi]=Sähköpostiohjelma -GenericName[fr]=Client de messagerie -GenericName[gl]=Cliente de correo electrónico -GenericName[he]=לקוח דוא״ל -GenericName[hr]=Klijent e-pošte -GenericName[hu]=Levelezőkliens -GenericName[it]=Client email -GenericName[ja]=電子メールクライアント -GenericName[ko]=메일 클라이언트 -GenericName[nl]=E-mailprogramma -GenericName[pl]=Klient poczty -GenericName[pt_BR]=Cliente de E-mail -GenericName[ru]=Почтовый клиент -GenericName[sk]=Poštový klient -GenericName[uk]=Поштова програма -GenericName[vi]=Phần mềm khách quản lý thư điện tử -GenericName[zh_CN]=邮件新闻客户端 -GenericName[zh_TW]=郵件用戶端 -Exec=thunderbird %u -Terminal=false -Type=Application -Icon=org.mozilla.Thunderbird -Categories=Network;Email; -MimeType=message/rfc822;x-scheme-handler/mailto;text/calendar;text/vcard;text/x-vcard;x-scheme-handler/webcal;x-scheme-handler/webcals;x-scheme-handler/mid; -StartupNotify=true -Actions=ComposeMessage;OpenAddressBook; - -[Desktop Action ComposeMessage] -Name=Write new message -Name[ar]=اكتب رسالة جديدة -Name[ast]=Redactar mensaxe nuevu -Name[be]=Напісаць новы ліст -Name[bg]=Съставяне на ново съобщение -Name[br]=Skrivañ ur gemennadenn nevez -Name[ca]=Escriu un missatge nou -Name[cs]=Napsat novou zprávu -Name[da]=Skriv en ny meddelelse -Name[de]=Neue Nachricht verfassen -Name[el]=Σύνταξη νέου μηνύματος -Name[es_AR]=Escribir un nuevo mensaje -Name[es_ES]=Redactar nuevo mensaje -Name[et]=Kirjuta uus kiri -Name[eu]=Idatzi mezu berria -Name[fi]=Kirjoita uusi viesti -Name[fr]=Rédiger un nouveau message -Name[fy_NL]=Skriuw in nij berjocht -Name[ga_IE]=Scríobh teachtaireacht nua -Name[gd]=Sgrìobh teachdaireachd ùr -Name[gl]=Escribir unha nova mensaxe -Name[he]=כתיבת הודעה חדשה -Name[hr]=Piši novu poruku -Name[hu]=Új üzenet írása -Name[hy_AM]=Գրել նոր նամակ -Name[is]=SKrifa nýjan póst -Name[it]=Scrivi nuovo messaggio -Name[ja]=新しいメッセージを作成する -Name[ko]=새 메시지 작성 -Name[lt]=Rašyti naują laišką -Name[nb_NO]=Skriv ny melding -Name[nl]=Nieuw bericht aanmaken -Name[nn_NO]=Skriv ny melding -Name[pl]=Nowa wiadomość -Name[pt_BR]=Nova mensagem -Name[pt_PT]=Escrever nova mensagem -Name[rm]=Scriver in nov messadi -Name[ro]=Scrie un mesaj nou -Name[ru]=Создать новое сообщение -Name[sk]=Nová e-mailová správa -Name[sl]=Sestavi novo sporočilo -Name[sq]=Shkruani mesazh të ri -Name[sr]=Писање нове поруке -Name[sv_SE]=Skriv ett nytt meddelande -Name[tr]=Yeni ileti yaz -Name[uk]=Написати нового листа -Name[vi]=Viết thư mới -Name[zh_CN]=编写新消息 -Name[zh_TW]=寫一封新訊息 -Exec=thunderbird -compose - -[Desktop Action OpenAddressBook] -Name=Open address book -Name[ar]=افتح دفتر العناوين -Name[ast]=Abrir llibreta de direiciones -Name[be]=Адкрыць адрасную кнігу -Name[bg]=Отваряне на адресник -Name[br]=Digeriñ ur c'harned chomlec'hioù -Name[ca]=Obre la llibreta d'adreces -Name[cs]=Otevřít Adresář -Name[da]=Åbn adressebog -Name[de]=Adressbuch öffnen -Name[el]=Άνοιγμα ευρετηρίου διευθύνσεων -Name[es_AR]=Abrir libreta de direcciones -Name[es_ES]=Abrir libreta de direcciones -Name[et]=Ava aadressiraamat -Name[eu]=Ireki helbide-liburua -Name[fi]=Avaa osoitekirja -Name[fr]=Ouvrir un carnet d'adresses -Name[fy_NL]=Iepenje adresboek -Name[ga_IE]=Oscail leabhar seoltaí -Name[gd]=Fosgail leabhar-sheòlaidhean -Name[gl]=Abrir a axenda de enderezos -Name[he]=פתיחת ספר כתובות -Name[hr]=Otvori adresar -Name[hu]=Címjegyzék megnyitása -Name[hy_AM]=Բացել Հասցեագիրքը -Name[is]=Opna nafnaskrá -Name[it]=Apri rubrica -Name[ja]=アドレス帳を開く -Name[ko]=주소록 열기 -Name[lt]=Atverti adresų knygą -Name[nb_NO]=Åpne adressebok -Name[nl]=Adresboek openen -Name[nn_NO]=Opne adressebok -Name[pl]=Książka adresowa -Name[pt_BR]=Catálogo de endereços -Name[pt_PT]=Abrir livro de endereços -Name[rm]=Avrir il cudeschet d'adressas -Name[ro]=Deschide agenda de contacte -Name[ru]=Открыть адресную книгу -Name[sk]=Otvoriť adresár -Name[sl]=Odpri adressar -Name[sq]=Hapni libër adresash -Name[sr]=Отвори адресар -Name[sv_SE]=Öppna adressboken -Name[tr]=Adres defterini aç -Name[uk]=Відкрити адресну книгу -Name[vi]=Mở sổ địa chỉ -Name[zh_CN]=打开通讯录 -Name[zh_TW]=開啟通訊錄 -Exec=thunderbird -addressbook diff --git a/comm/taskcluster/docker/tb-flatpak/runme.sh b/comm/taskcluster/docker/tb-flatpak/runme.sh index d8a9a8cca149bd74c02d26de3face4628b5a582a..389929a1248901a917b5a6d87bbe5eac6ab0a020 100755 --- a/comm/taskcluster/docker/tb-flatpak/runme.sh +++ b/comm/taskcluster/docker/tb-flatpak/runme.sh @@ -17,40 +17,55 @@ test "$RELEASE_NOTES_URL" : WORKSPACE "${WORKSPACE:=/home/worker/workspace}" : ARTIFACTS_DIR "${ARTIFACTS_DIR:=/home/worker/artifacts}" -# This is used to populate the datetime in org.mozilla.Thunderbird.appdata.xml -DATE=$(date +%Y-%m-%d) -export DATE - +# Populate remaining environment variables SCRIPT_DIRECTORY="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" TARGET_TAR_XZ_FULL_PATH="$ARTIFACTS_DIR/target.flatpak.tar.xz" SOURCE_DEST="${WORKSPACE}/source" +DISTRIBUTION_DIR="$SOURCE_DEST/distribution" FREEDESKTOP_VERSION="23.08" FIREFOX_BASEAPP_CHANNEL="23.08" +# Create alias for ideal curl command +CURL="curl --location --retry 10 --retry-delay 10" + +# Get current date +# +# This is used to populate the datetime in org.mozilla.Thunderbird.appdata.xml +DATE=$(date +%Y-%m-%d) +export DATE -# XXX: these commands are temporarily, there's an upcoming fix in the upstream Docker image -# that we work on top of, from `freedesktopsdk`, that will make these two lines go away eventually +# Prepare directories +# +# This command is temporary, there's an upcoming fix in the upstream +# Docker image that we work on top of, from 'freedesktopsdk', that will +# make these two lines go away eventually. mkdir -p /root /tmp /var/tmp mkdir -p "$ARTIFACTS_DIR" rm -rf "$SOURCE_DEST" && mkdir -p "$SOURCE_DEST" -# XXX ensure we have a clean slate in the local flatpak repo +# Ensure a clean slate in the local Flatpak repo rm -rf ~/.local/share/flatpak/ -CURL="curl --location --retry 10 --retry-delay 10" - -# Download en-US linux64 binary +# Download en-US linux64 (English, 64-bit Linux) Thunderbird binary $CURL -o "${WORKSPACE}/thunderbird.tar.bz2" \ "${CANDIDATES_DIR}/${VERSION}-candidates/build${BUILD_NUMBER}/linux-x86_64/en-US/thunderbird-${VERSION}.tar.bz2" -# Use list of locales to fetch L10N XPIs +# Fetch list of Thunderbird locales $CURL -o "${WORKSPACE}/l10n-changesets.json" "$L10N_CHANGESETS" locales=$(python3 "$SCRIPT_DIRECTORY/extract_locales_from_l10n_json.py" "${WORKSPACE}/l10n-changesets.json") +# Fetch langpack extension for each locale +mkdir -p "$DISTRIBUTION_DIR" +mkdir -p "$DISTRIBUTION_DIR/extensions" +for locale in $locales; do + $CURL -o "$DISTRIBUTION_DIR/extensions/langpack-${locale}@thunderbird.mozilla.org.xpi" \ + "$CANDIDATES_DIR/${VERSION}-candidates/build${BUILD_NUMBER}/linux-x86_64/xpi/${locale}.xpi" +done + # Download artifacts from dependencies and build the .desktop file. ( source /scripts/venv/bin/activate -python3 /scripts/build-desktop-file.py -o "$WORKSPACE/org.mozilla.Thunderbird.desktop" \ +python3 /scripts/build_desktop_file.py -o "$WORKSPACE/org.mozilla.Thunderbird.desktop" \ -t "/scripts/org.mozilla.Thunderbird.desktop.jinja2" \ -l "$WORKSPACE/l10n-central" \ -L "$WORKSPACE/l10n-changesets.json" \ @@ -58,29 +73,25 @@ python3 /scripts/build-desktop-file.py -o "$WORKSPACE/org.mozilla.Thunderbird.de -f "mail/messenger/flatpak.ftl" ) -DISTRIBUTION_DIR="$SOURCE_DEST/distribution" -mkdir -p "$DISTRIBUTION_DIR" - -mkdir -p "$DISTRIBUTION_DIR/extensions" -for locale in $locales; do - $CURL -o "$DISTRIBUTION_DIR/extensions/langpack-${locale}@thunderbird.mozilla.org.xpi" \ - "$CANDIDATES_DIR/${VERSION}-candidates/build${BUILD_NUMBER}/linux-x86_64/xpi/${locale}.xpi" -done - +# Generate AppData XML from template, add various envsubst < "$SCRIPT_DIRECTORY/org.mozilla.Thunderbird.appdata.xml.in" > "${WORKSPACE}/org.mozilla.Thunderbird.appdata.xml" cp -v "$SCRIPT_DIRECTORY/distribution.ini" "$WORKSPACE" -cp -v "$SCRIPT_DIRECTORY/launch-script.sh" "$WORKSPACE" +cp -v "$SCRIPT_DIRECTORY/launch_script.sh" "$WORKSPACE" cd "${WORKSPACE}" +# Fetch and install Firefox base app (as user, not system-wide) flatpak remote-add --user --if-not-exists --from flathub https://dl.flathub.org/repo/flathub.flatpakrepo -# XXX: added --user to `flatpak install` to avoid ambiguity flatpak install --user -y flathub org.mozilla.firefox.BaseApp//${FIREFOX_BASEAPP_CHANNEL} --no-deps -# XXX: this command is temporarily, there's an upcoming fix in the upstream Docker image -# that we work on top of, from `freedesktopsdk`, that will make these two lines go away eventually +# Create build directory and add Firefox base app files +# +# This command is temporary, there's an upcoming fix in the upstream +# Docker image that we work on top of, from 'freedesktopsdk', that will +# make these two lines go away eventually. mkdir -p build cp -r ~/.local/share/flatpak/app/org.mozilla.firefox.BaseApp/current/active/files build/files +# Create Flatpak build metadata file for Thunderbird ARCH=$(flatpak --default-arch) cat <<EOF > build/metadata [Application] @@ -94,6 +105,7 @@ autodelete=true locale-subset=true EOF +# Create Flatpak build metadata file for locales cat <<EOF > build/metadata.locale [Runtime] name=org.mozilla.Thunderbird.Locale @@ -102,6 +114,7 @@ name=org.mozilla.Thunderbird.Locale ref=app/org.mozilla.Thunderbird/${ARCH}/${FLATPAK_BRANCH} EOF +# Install Thunderbird files into appdir appdir=build/files install -d "${appdir}/lib/" (cd "${appdir}/lib/" && tar jxf "${WORKSPACE}/thunderbird.tar.bz2") @@ -111,25 +124,37 @@ for size in 16 32 48 64 128; do install -D -m644 "${appdir}/lib/thunderbird/chrome/icons/default/default${size}.png" "${appdir}/share/icons/hicolor/${size}x${size}/apps/org.mozilla.Thunderbird.png" done +# Generate AppStream metadata and add screenshots from Flathub appstream-compose --prefix="${appdir}" --origin=flatpak --basename=org.mozilla.Thunderbird org.mozilla.Thunderbird appstream-util mirror-screenshots "${appdir}"/share/app-info/xmls/org.mozilla.Thunderbird.xml.gz "https://dl.flathub.org/repo/screenshots/org.mozilla.Thunderbird-${FLATPAK_BRANCH}" build/screenshots "build/screenshots/org.mozilla.Thunderbird-${FLATPAK_BRANCH}" -# XXX: we used to `install -D` before which automatically created the components -# of target, now we need to manually do this since we're symlinking +# Install locales, distribution, and launch_script.sh into appdir +# +# We must install each locale individually, since we're symlinking +# each one. +# +# We put the langpacks in /app/share/locale/$LANG_CODE and symlink that +# directory to where Thunderbird looks them up; this way only the subset +# of locales configured on the user's system are downloaded, instead of +# all locales. mkdir -p "${appdir}/lib/thunderbird/distribution/extensions" -# XXX: we put the langpacks in /app/share/locale/$LANG_CODE and symlink that -# directory to where Thunderbird looks them up; this way only subset configured -# on user system is downloaded vs all locales for locale in $locales; do install -D -m644 -t "${appdir}/share/runtime/langpack/${locale%%-*}/" "${DISTRIBUTION_DIR}/extensions/langpack-${locale}@thunderbird.mozilla.org.xpi" ln -sf "/app/share/runtime/langpack/${locale%%-*}/langpack-${locale}@thunderbird.mozilla.org.xpi" "${appdir}/lib/thunderbird/distribution/extensions/langpack-${locale}@thunderbird.mozilla.org.xpi" done install -D -m644 -t "${appdir}/lib/thunderbird/distribution" distribution.ini -install -D -m755 launch-script.sh "${appdir}/bin/thunderbird" +install -D -m755 launch_script.sh "${appdir}/bin/thunderbird" +# Build Flatpak +# # We use features=devel to enable ptrace, which we need for the crash # reporter. The application is still confined in a pid namespace, so # that won't let us escape the flatpak sandbox. See bug 1653852. +# +# We use own-name to ensure Thunderbird has access to DBus, as app ID +# (org.mozilla.Thunderbird) does not match bus names +# (org.mozilla.thunderbird, lowercase "t"). The app ID may be updated +# in the future to match the default bus names. flatpak build-finish build \ --allow=devel \ --share=ipc \ @@ -154,14 +179,20 @@ flatpak build-finish build \ --system-talk-name=org.freedesktop.NetworkManager \ --command=thunderbird +# Export Flatpak build into repo flatpak build-export --disable-sandbox --no-update-summary --exclude='/share/runtime/langpack/*/*' repo build "$FLATPAK_BRANCH" flatpak build-export --disable-sandbox --no-update-summary --metadata=metadata.locale --files=files/share/runtime/langpack repo build "$FLATPAK_BRANCH" + +# Commit screenshots to repo ostree commit --repo=repo --canonical-permissions --branch=screenshots/x86_64 build/screenshots flatpak build-update-repo --generate-static-deltas repo -tar cvfJ flatpak.tar.xz repo +# Package Flatpak repo as tar +tar cvfJ flatpak.tar.xz repo mv -- flatpak.tar.xz "$TARGET_TAR_XZ_FULL_PATH" +# Build Flatpak bundle (.flatpak) from repo flatpak build-bundle "$WORKSPACE"/repo org.mozilla.Thunderbird.flatpak org.mozilla.Thunderbird "$FLATPAK_BRANCH" +# Move bundle to artifacts mv org.mozilla.Thunderbird.flatpak "$ARTIFACTS_DIR/" diff --git a/config/milestone.txt b/config/milestone.txt index e5c0bddcb8ae45a924e1e5efe9c5e4a4f379f8bb..96ab0fd01999ad3805556e9348b6df57df7e9252 100644 --- a/config/milestone.txt +++ b/config/milestone.txt @@ -10,4 +10,4 @@ # hardcoded milestones in the tree from these two files. #-------------------------------------------------------- -115.5.0 +115.6.0 diff --git a/dom/base/Document.cpp b/dom/base/Document.cpp index 5c3224c8c150f28ad2aba898eb251afb3f543ccc..f7853913a5e99574552b2c5626143c1222c11bda 100644 --- a/dom/base/Document.cpp +++ b/dom/base/Document.cpp @@ -2610,7 +2610,7 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INTERNAL(Document) if (mql->HasListeners() && NS_SUCCEEDED(mql->CheckCurrentGlobalCorrectness())) { NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(cb, "mDOMMediaQueryLists item"); - cb.NoteXPCOMChild(mql); + cb.NoteXPCOMChild(static_cast<EventTarget*>(mql)); } } diff --git a/dom/base/GlobalTeardownObserver.cpp b/dom/base/GlobalTeardownObserver.cpp new file mode 100644 index 0000000000000000000000000000000000000000..9f9ac39b479ef0701e9e4253e75bb641c060263c --- /dev/null +++ b/dom/base/GlobalTeardownObserver.cpp @@ -0,0 +1,73 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=8 sts=2 et sw=2 tw=80: */ +/* 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/. */ + +#include "GlobalTeardownObserver.h" +#include "mozilla/Sprintf.h" +#include "mozilla/dom/Document.h" + +namespace mozilla { + +GlobalTeardownObserver::GlobalTeardownObserver() = default; +GlobalTeardownObserver::GlobalTeardownObserver(nsIGlobalObject* aGlobalObject, + bool aHasOrHasHadOwnerWindow) + : mHasOrHasHadOwnerWindow(aHasOrHasHadOwnerWindow) { + BindToOwner(aGlobalObject); +} + +GlobalTeardownObserver::~GlobalTeardownObserver() { + if (mParentObject) { + mParentObject->RemoveGlobalTeardownObserver(this); + } +} + +void GlobalTeardownObserver::BindToOwner(nsIGlobalObject* aOwner) { + MOZ_ASSERT(!mParentObject); + + if (aOwner) { + mParentObject = aOwner; + aOwner->AddGlobalTeardownObserver(this); + // Let's cache the result of this QI for fast access and off main thread + // usage + mOwnerWindow = + nsCOMPtr<nsPIDOMWindowInner>(do_QueryInterface(aOwner)).get(); + if (mOwnerWindow) { + mHasOrHasHadOwnerWindow = true; + } + } +} + +void GlobalTeardownObserver::DisconnectFromOwner() { + if (mParentObject) { + mParentObject->RemoveGlobalTeardownObserver(this); + } + mOwnerWindow = nullptr; + mParentObject = nullptr; +} + +nsresult GlobalTeardownObserver::CheckCurrentGlobalCorrectness() const { + NS_ENSURE_STATE(!mHasOrHasHadOwnerWindow || mOwnerWindow); + + // Main-thread. + if (mOwnerWindow && !mOwnerWindow->IsCurrentInnerWindow()) { + return NS_ERROR_FAILURE; + } + + if (NS_IsMainThread()) { + return NS_OK; + } + + if (!mParentObject) { + return NS_ERROR_FAILURE; + } + + if (mParentObject->IsDying()) { + return NS_ERROR_FAILURE; + } + + return NS_OK; +} + +}; // namespace mozilla diff --git a/dom/base/GlobalTeardownObserver.h b/dom/base/GlobalTeardownObserver.h new file mode 100644 index 0000000000000000000000000000000000000000..e6e3a562991a964494895bb0bda0e45fe41eefb9 --- /dev/null +++ b/dom/base/GlobalTeardownObserver.h @@ -0,0 +1,87 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=8 sts=2 et sw=2 tw=80: */ +/* 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/. */ + +#ifndef DOM_BASE_GLOBALTEARDOWNOBSERVER_H_ +#define DOM_BASE_GLOBALTEARDOWNOBSERVER_H_ + +#include "mozilla/Attributes.h" +#include "mozilla/dom/EventTarget.h" +#include "mozilla/RefPtr.h" +#include "nsCycleCollectionParticipant.h" +#include "nsID.h" +#include "nsIGlobalObject.h" +#include "nsIScriptGlobalObject.h" +#include "nsISupports.h" +#include "nsISupportsUtils.h" +#include "nsPIDOMWindow.h" + +#define NS_GLOBALTEARDOWNOBSERVER_IID \ + { \ + 0xc31fddb9, 0xec49, 0x4f24, { \ + 0x90, 0x16, 0xb5, 0x2b, 0x26, 0x6c, 0xb6, 0x29 \ + } \ + } + +namespace mozilla { + +class GlobalTeardownObserver + : public nsISupports, + public LinkedListElement<GlobalTeardownObserver> { + public: + NS_DECLARE_STATIC_IID_ACCESSOR(NS_GLOBALTEARDOWNOBSERVER_IID) + + GlobalTeardownObserver(); + explicit GlobalTeardownObserver(nsIGlobalObject* aGlobalObject, + bool aHasOrHasHadOwnerWindow = false); + + nsPIDOMWindowInner* GetOwner() const { return mOwnerWindow; } + nsIGlobalObject* GetOwnerGlobal() const { return mParentObject; } + bool HasOrHasHadOwner() { return mHasOrHasHadOwnerWindow; } + + void GetParentObject(nsIScriptGlobalObject** aParentObject) { + if (mParentObject) { + CallQueryInterface(mParentObject, aParentObject); + } else { + *aParentObject = nullptr; + } + } + + virtual void DisconnectFromOwner(); + + // A global permanently becomes invalid when DisconnectEventTargetObjects() is + // called. Normally this means: + // - For the main thread, when nsGlobalWindowInner::FreeInnerObjects is + // called. + // - For a worker thread, when clearing the main event queue. (Which we do + // slightly later than when the spec notionally calls for it to be done.) + // + // A global may also become temporarily invalid when: + // - For the main thread, if the window is no longer the WindowProxy's current + // inner window due to being placed in the bfcache. + nsresult CheckCurrentGlobalCorrectness() const; + + protected: + virtual ~GlobalTeardownObserver(); + + void BindToOwner(nsIGlobalObject* aOwner); + + private: + // The parent global object. The global will clear this when + // it is destroyed by calling DisconnectFromOwner(). + nsIGlobalObject* MOZ_NON_OWNING_REF mParentObject = nullptr; + // mParentObject pre QI-ed and cached (inner window) + // (it is needed for off main thread access) + // It is obtained in BindToOwner and reset in DisconnectFromOwner. + nsPIDOMWindowInner* MOZ_NON_OWNING_REF mOwnerWindow = nullptr; + bool mHasOrHasHadOwnerWindow = false; +}; + +NS_DEFINE_STATIC_IID_ACCESSOR(GlobalTeardownObserver, + NS_GLOBALTEARDOWNOBSERVER_IID) + +} // namespace mozilla + +#endif diff --git a/dom/base/InProcessBrowserChildMessageManager.cpp b/dom/base/InProcessBrowserChildMessageManager.cpp index 937372fcc24e60f1e4fa8c4b52f1cb72817051aa..774b2aa1b260a65d626d5a6f48a6d0b09c0f655e 100644 --- a/dom/base/InProcessBrowserChildMessageManager.cpp +++ b/dom/base/InProcessBrowserChildMessageManager.cpp @@ -154,7 +154,7 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_END NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(InProcessBrowserChildMessageManager) NS_INTERFACE_MAP_ENTRY(nsIMessageSender) NS_INTERFACE_MAP_ENTRY(nsIInProcessContentFrameMessageManager) - NS_INTERFACE_MAP_ENTRY(ContentFrameMessageManager) + NS_INTERFACE_MAP_ENTRY_CONCRETE(ContentFrameMessageManager) NS_INTERFACE_MAP_ENTRY(nsISupportsWeakReference) NS_INTERFACE_MAP_END_INHERITING(DOMEventTargetHelper) diff --git a/dom/base/VisualViewport.cpp b/dom/base/VisualViewport.cpp index 2e466ce0411f56013f0bdaff5411fa205a53c72a..64e66a5ac477fea78d9c2d638a8103c450cedeac 100644 --- a/dom/base/VisualViewport.cpp +++ b/dom/base/VisualViewport.cpp @@ -219,13 +219,15 @@ void VisualViewport::FireResizeEvent() { VVP_LOG("%p, FireResizeEvent, fire mozvisualresize\n", this); WidgetEvent mozEvent(true, eMozVisualResize); mozEvent.mFlags.mOnlySystemGroupDispatch = true; - EventDispatcher::Dispatch(this, presContext, &mozEvent); + EventDispatcher::Dispatch(static_cast<EventTarget*>(this), presContext, + &mozEvent); VVP_LOG("%p, FireResizeEvent, fire VisualViewport resize\n", this); WidgetEvent event(true, eResize); event.mFlags.mBubbles = false; event.mFlags.mCancelable = false; - EventDispatcher::Dispatch(this, presContext, &event); + EventDispatcher::Dispatch(static_cast<EventTarget*>(this), presContext, + &event); } /* ================= Scroll event handling ================= */ @@ -302,7 +304,8 @@ void VisualViewport::FireScrollEvent() { VVP_LOG("%p: FireScrollEvent, fire mozvisualscroll\n", this); WidgetEvent mozEvent(true, eMozVisualScroll); mozEvent.mFlags.mOnlySystemGroupDispatch = true; - EventDispatcher::Dispatch(this, presContext, &mozEvent); + EventDispatcher::Dispatch(static_cast<EventTarget*>(this), presContext, + &mozEvent); } // Check whether the relative visual viewport offset actually changed - @@ -321,7 +324,8 @@ void VisualViewport::FireScrollEvent() { WidgetGUIEvent event(true, eScroll, nullptr); event.mFlags.mBubbles = false; event.mFlags.mCancelable = false; - EventDispatcher::Dispatch(this, presContext, &event); + EventDispatcher::Dispatch(static_cast<EventTarget*>(this), presContext, + &event); } } } diff --git a/dom/base/moz.build b/dom/base/moz.build index 1479761e4ae68cebf633510e9ca210aec89896c4..d04ccb6981b04965a48992a54134fa9ea8e57f14 100644 --- a/dom/base/moz.build +++ b/dom/base/moz.build @@ -132,6 +132,7 @@ EXPORTS.mozilla += [ "CORSMode.h", "FlushType.h", "FullscreenChange.h", + "GlobalTeardownObserver.h", "IdentifierMapEntry.h", "PointerLockManager.h", "RangeBoundary.h", @@ -359,6 +360,7 @@ UNIFIED_SOURCES += [ "FormData.cpp", "FragmentOrElement.cpp", "GeneratedImageContent.cpp", + "GlobalTeardownObserver.cpp", "Highlight.cpp", "HighlightRegistry.cpp", "IdleDeadline.cpp", diff --git a/dom/base/nsContentUtils.h b/dom/base/nsContentUtils.h index 7e368dc1b899aea054fe2e2329c2805f09d9e665..79c2e9c4b11c7f7871063b9392f9954b89a1abfe 100644 --- a/dom/base/nsContentUtils.h +++ b/dom/base/nsContentUtils.h @@ -3622,12 +3622,16 @@ class TreeOrderComparator { } // namespace mozilla::dom #define NS_INTERFACE_MAP_ENTRY_TEAROFF(_interface, _allocator) \ - if (aIID.Equals(NS_GET_IID(_interface))) { \ - foundInterface = static_cast<_interface*>(_allocator); \ - if (!foundInterface) { \ - *aInstancePtr = nullptr; \ - return NS_ERROR_OUT_OF_MEMORY; \ - } \ + NS_INTERFACE_MAP_ENTRY_TEAROFF_AMBIGUOUS(_interface, _interface, _allocator) + +#define NS_INTERFACE_MAP_ENTRY_TEAROFF_AMBIGUOUS(_interface, _implClass, \ + _allocator) \ + if (aIID.Equals(NS_GET_IID(_interface))) { \ + foundInterface = static_cast<_implClass*>(_allocator); \ + if (!foundInterface) { \ + *aInstancePtr = nullptr; \ + return NS_ERROR_OUT_OF_MEMORY; \ + } \ } else /* diff --git a/dom/base/nsGlobalWindowInner.cpp b/dom/base/nsGlobalWindowInner.cpp index 3a973513a65a38ff17754db31ce33f60b999fa15..0e5afafcb509709369410eba108968bd2029589d 100644 --- a/dom/base/nsGlobalWindowInner.cpp +++ b/dom/base/nsGlobalWindowInner.cpp @@ -1226,7 +1226,7 @@ void nsGlobalWindowInner::FreeInnerObjects() { // that the Promises can resolve. CallDocumentFlushedResolvers(/* aUntilExhaustion = */ true); - DisconnectEventTargetObjects(); + DisconnectGlobalTeardownObservers(); #ifdef MOZ_WIDGET_ANDROID DisableOrientationChangeListener(); @@ -6043,15 +6043,16 @@ RefPtr<ServiceWorker> nsGlobalWindowInner::GetOrCreateServiceWorker( const ServiceWorkerDescriptor& aDescriptor) { MOZ_ASSERT(NS_IsMainThread()); RefPtr<ServiceWorker> ref; - ForEachEventTargetObject([&](DOMEventTargetHelper* aTarget, bool* aDoneOut) { - RefPtr<ServiceWorker> sw = do_QueryObject(aTarget); - if (!sw || !sw->Descriptor().Matches(aDescriptor)) { - return; - } + ForEachGlobalTeardownObserver( + [&](GlobalTeardownObserver* aObserver, bool* aDoneOut) { + RefPtr<ServiceWorker> sw = do_QueryObject(aObserver); + if (!sw || !sw->Descriptor().Matches(aDescriptor)) { + return; + } - ref = std::move(sw); - *aDoneOut = true; - }); + ref = std::move(sw); + *aDoneOut = true; + }); if (!ref) { ref = ServiceWorker::Create(this, aDescriptor); @@ -6066,15 +6067,16 @@ nsGlobalWindowInner::GetServiceWorkerRegistration( const { MOZ_ASSERT(NS_IsMainThread()); RefPtr<ServiceWorkerRegistration> ref; - ForEachEventTargetObject([&](DOMEventTargetHelper* aTarget, bool* aDoneOut) { - RefPtr<ServiceWorkerRegistration> swr = do_QueryObject(aTarget); - if (!swr || !swr->MatchesDescriptor(aDescriptor)) { - return; - } + ForEachGlobalTeardownObserver( + [&](GlobalTeardownObserver* aObserver, bool* aDoneOut) { + RefPtr<ServiceWorkerRegistration> swr = do_QueryObject(aObserver); + if (!swr || !swr->MatchesDescriptor(aDescriptor)) { + return; + } - ref = std::move(swr); - *aDoneOut = true; - }); + ref = std::move(swr); + *aDoneOut = true; + }); return ref; } @@ -6181,6 +6183,19 @@ nsIPrincipal* nsGlobalWindowInner::GetClientPrincipal() { return mClientSource ? mClientSource->GetPrincipal() : nullptr; } +bool nsGlobalWindowInner::IsInFullScreenTransition() { + if (!mIsChrome) { + return false; + } + + nsGlobalWindowOuter* outerWindow = GetOuterWindowInternal(); + if (!outerWindow) { + return false; + } + + return outerWindow->mIsInFullScreenTransition; +} + //***************************************************************************** // nsGlobalWindowInner: Timeout Functions //***************************************************************************** @@ -6808,14 +6823,17 @@ void nsGlobalWindowInner::AddSizeOfIncludingThis( mNavigator->SizeOfIncludingThis(aWindowSizes.mState.mMallocSizeOf); } - ForEachEventTargetObject([&](DOMEventTargetHelper* et, bool* aDoneOut) { + ForEachGlobalTeardownObserver([&](GlobalTeardownObserver* et, + bool* aDoneOut) { if (nsCOMPtr<nsISizeOfEventTarget> iSizeOf = do_QueryObject(et)) { aWindowSizes.mDOMSizes.mDOMEventTargetsSize += iSizeOf->SizeOfEventTargetIncludingThis( aWindowSizes.mState.mMallocSizeOf); } - if (EventListenerManager* elm = et->GetExistingListenerManager()) { - aWindowSizes.mDOMEventListenersCount += elm->ListenerCount(); + if (nsCOMPtr<DOMEventTargetHelper> helper = do_QueryObject(et)) { + if (EventListenerManager* elm = helper->GetExistingListenerManager()) { + aWindowSizes.mDOMEventListenersCount += elm->ListenerCount(); + } } ++aWindowSizes.mDOMEventTargetsCount; }); diff --git a/dom/base/nsGlobalWindowInner.h b/dom/base/nsGlobalWindowInner.h index fd2c8a78e5e17a5978d56528fd47890c8585f9dc..d419041b20d24ded8ce9f0769200adec70731575 100644 --- a/dom/base/nsGlobalWindowInner.h +++ b/dom/base/nsGlobalWindowInner.h @@ -1190,6 +1190,10 @@ class nsGlobalWindowInner final : public mozilla::dom::EventTarget, // available. nsIPrincipal* GetClientPrincipal(); + // Whether the chrome window is currently in a full screen transition. This + // flag is updated from FullscreenTransitionTask. + bool IsInFullScreenTransition(); + // This method is called if this window loads a 3rd party tracking resource // and the storage is just been granted. The window can reset the partitioned // storage objects and switch to the first party cookie jar. diff --git a/dom/base/nsGlobalWindowOuter.cpp b/dom/base/nsGlobalWindowOuter.cpp index f8f269ca62f3663665cfc675b47b88f0a17ed033..1dc31e8c3b2575c5ba771b09e64ffba67cecdc2b 100644 --- a/dom/base/nsGlobalWindowOuter.cpp +++ b/dom/base/nsGlobalWindowOuter.cpp @@ -4236,10 +4236,18 @@ FullscreenTransitionTask::Run() { // If the widget has been destroyed before we get here, don't try to // do anything more. Just let it go and release ourselves. NS_WARNING("The widget to fullscreen has been destroyed"); + mWindow->mIsInFullScreenTransition = false; return NS_OK; } if (stage == eBeforeToggle) { PROFILER_MARKER_UNTYPED("Fullscreen transition start", DOM); + + mWindow->mIsInFullScreenTransition = true; + + nsCOMPtr<nsIObserverService> obs = mozilla::services::GetObserverService(); + NS_ENSURE_TRUE(obs, NS_ERROR_FAILURE); + obs->NotifyObservers(nullptr, "fullscreen-transition-start", nullptr); + mWidget->PerformFullscreenTransition(nsIWidget::eBeforeFullscreenToggle, mDuration.mFadeIn, mTransitionData, this); @@ -4280,6 +4288,13 @@ FullscreenTransitionTask::Run() { this); } else if (stage == eEnd) { PROFILER_MARKER_UNTYPED("Fullscreen transition end", DOM); + + mWindow->mIsInFullScreenTransition = false; + + nsCOMPtr<nsIObserverService> obs = mozilla::services::GetObserverService(); + NS_ENSURE_TRUE(obs, NS_ERROR_FAILURE); + obs->NotifyObservers(nullptr, "fullscreen-transition-end", nullptr); + mWidget->CleanupFullscreenTransition(); } return NS_OK; diff --git a/dom/base/nsGlobalWindowOuter.h b/dom/base/nsGlobalWindowOuter.h index f0e9ec469ab74f889ebd1f3a642de3a6a295f7c2..6b3001df08d70e79bbc970f1c749ab93b0c59d82 100644 --- a/dom/base/nsGlobalWindowOuter.h +++ b/dom/base/nsGlobalWindowOuter.h @@ -1171,6 +1171,10 @@ class nsGlobalWindowOuter final : public mozilla::dom::EventTarget, nsWeakPtr mFullscreenPresShell; } mChromeFields; + // Whether the chrome window is currently in a full screen transition. This + // flag is updated from FullscreenTransitionTask. + bool mIsInFullScreenTransition = false; + friend class nsDOMScriptableHelper; friend class nsDOMWindowUtils; friend class mozilla::dom::BrowsingContext; diff --git a/dom/base/nsIGlobalObject.cpp b/dom/base/nsIGlobalObject.cpp index 8a6ddda50ee339fea95a714770f6d63c7fb267d7..c346db4f716ef5c32ae44ece5548d9c105cf23bf 100644 --- a/dom/base/nsIGlobalObject.cpp +++ b/dom/base/nsIGlobalObject.cpp @@ -7,6 +7,7 @@ #include "nsIGlobalObject.h" #include "mozilla/BasePrincipal.h" #include "mozilla/CycleCollectedJSContext.h" +#include "mozilla/GlobalTeardownObserver.h" #include "mozilla/Result.h" #include "mozilla/StorageAccess.h" #include "mozilla/dom/BindingDeclarations.h" @@ -28,6 +29,7 @@ using mozilla::AutoSlowOperation; using mozilla::CycleCollectedJSContext; using mozilla::DOMEventTargetHelper; using mozilla::ErrorResult; +using mozilla::GlobalTeardownObserver; using mozilla::IgnoredErrorResult; using mozilla::MallocSizeOf; using mozilla::Maybe; @@ -67,8 +69,8 @@ bool nsIGlobalObject::IsScriptForbidden(JSObject* aCallback, nsIGlobalObject::~nsIGlobalObject() { UnlinkObjectsInGlobal(); - DisconnectEventTargetObjects(); - MOZ_DIAGNOSTIC_ASSERT(mEventTargetObjects.isEmpty()); + DisconnectGlobalTeardownObservers(); + MOZ_DIAGNOSTIC_ASSERT(mGlobalTeardownObservers.isEmpty()); } nsIPrincipal* nsIGlobalObject::PrincipalOrNull() const { @@ -157,29 +159,31 @@ void nsIGlobalObject::TraverseObjectsInGlobal( NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mByteLengthQueuingStrategySizeFunction) } -void nsIGlobalObject::AddEventTargetObject(DOMEventTargetHelper* aObject) { +void nsIGlobalObject::AddGlobalTeardownObserver( + GlobalTeardownObserver* aObject) { MOZ_DIAGNOSTIC_ASSERT(aObject); MOZ_ASSERT(!aObject->isInList()); - mEventTargetObjects.insertBack(aObject); + mGlobalTeardownObservers.insertBack(aObject); } -void nsIGlobalObject::RemoveEventTargetObject(DOMEventTargetHelper* aObject) { +void nsIGlobalObject::RemoveGlobalTeardownObserver( + GlobalTeardownObserver* aObject) { MOZ_DIAGNOSTIC_ASSERT(aObject); MOZ_ASSERT(aObject->isInList()); MOZ_ASSERT(aObject->GetOwnerGlobal() == this); aObject->remove(); } -void nsIGlobalObject::ForEachEventTargetObject( - const std::function<void(DOMEventTargetHelper*, bool* aDoneOut)>& aFunc) +void nsIGlobalObject::ForEachGlobalTeardownObserver( + const std::function<void(GlobalTeardownObserver*, bool* aDoneOut)>& aFunc) const { // Protect against the function call triggering a mutation of the list // while we are iterating by copying the DETH references to a temporary // list. - AutoTArray<RefPtr<DOMEventTargetHelper>, 64> targetList; - for (const DOMEventTargetHelper* deth = mEventTargetObjects.getFirst(); deth; - deth = deth->getNext()) { - targetList.AppendElement(const_cast<DOMEventTargetHelper*>(deth)); + AutoTArray<RefPtr<GlobalTeardownObserver>, 64> targetList; + for (const GlobalTeardownObserver* deth = mGlobalTeardownObservers.getFirst(); + deth; deth = deth->getNext()) { + targetList.AppendElement(const_cast<GlobalTeardownObserver*>(deth)); } // Iterate the target list and call the function on each one. @@ -197,14 +201,15 @@ void nsIGlobalObject::ForEachEventTargetObject( } } -void nsIGlobalObject::DisconnectEventTargetObjects() { - ForEachEventTargetObject([&](DOMEventTargetHelper* aTarget, bool* aDoneOut) { - aTarget->DisconnectFromOwner(); +void nsIGlobalObject::DisconnectGlobalTeardownObservers() { + ForEachGlobalTeardownObserver( + [&](GlobalTeardownObserver* aTarget, bool* aDoneOut) { + aTarget->DisconnectFromOwner(); - // Calling DisconnectFromOwner() should result in - // RemoveEventTargetObject() being called. - MOZ_DIAGNOSTIC_ASSERT(aTarget->GetOwnerGlobal() != this); - }); + // Calling DisconnectFromOwner() should result in + // RemoveGlobalTeardownObserver() being called. + MOZ_DIAGNOSTIC_ASSERT(aTarget->GetOwnerGlobal() != this); + }); } Maybe<ClientInfo> nsIGlobalObject::GetClientInfo() const { diff --git a/dom/base/nsIGlobalObject.h b/dom/base/nsIGlobalObject.h index b18ecce4bf9209db8ded1c491ae7b20453168c8f..79c87bb120913c40c2063e8faa674b17405a75c5 100644 --- a/dom/base/nsIGlobalObject.h +++ b/dom/base/nsIGlobalObject.h @@ -36,6 +36,7 @@ class nsPIDOMWindowInner; namespace mozilla { class DOMEventTargetHelper; +class GlobalTeardownObserver; template <typename V, typename E> class Result; enum class StorageAccess; @@ -71,8 +72,8 @@ class nsIGlobalObject : public nsISupports, nsTArray<nsCString> mHostObjectURIs; // Raw pointers to bound DETH objects. These are added by - // AddEventTargetObject(). - mozilla::LinkedList<mozilla::DOMEventTargetHelper> mEventTargetObjects; + // AddGlobalTeardownObserver(). + mozilla::LinkedList<mozilla::GlobalTeardownObserver> mGlobalTeardownObservers; bool mIsDying; bool mIsScriptForbidden; @@ -152,18 +153,18 @@ class nsIGlobalObject : public nsISupports, void UnlinkObjectsInGlobal(); void TraverseObjectsInGlobal(nsCycleCollectionTraversalCallback& aCb); - // DETH objects must register themselves on the global when they + // GlobalTeardownObservers must register themselves on the global when they // bind to it in order to get the DisconnectFromOwner() method - // called correctly. RemoveEventTargetObject() must be called - // before the DETH object is destroyed. - void AddEventTargetObject(mozilla::DOMEventTargetHelper* aObject); - void RemoveEventTargetObject(mozilla::DOMEventTargetHelper* aObject); + // called correctly. RemoveGlobalTeardownObserver() must be called + // before the GlobalTeardownObserver is destroyed. + void AddGlobalTeardownObserver(mozilla::GlobalTeardownObserver* aObject); + void RemoveGlobalTeardownObserver(mozilla::GlobalTeardownObserver* aObject); - // Iterate the registered DETH objects and call the given function + // Iterate the registered GlobalTeardownObservers and call the given function // for each one. - void ForEachEventTargetObject( - const std::function<void(mozilla::DOMEventTargetHelper*, bool* aDoneOut)>& - aFunc) const; + void ForEachGlobalTeardownObserver( + const std::function<void(mozilla::GlobalTeardownObserver*, + bool* aDoneOut)>& aFunc) const; virtual bool IsInSyncOperation() { return false; } @@ -282,7 +283,7 @@ class nsIGlobalObject : public nsISupports, void StartForbiddingScript() { mIsScriptForbidden = true; } void StopForbiddingScript() { mIsScriptForbidden = false; } - void DisconnectEventTargetObjects(); + void DisconnectGlobalTeardownObservers(); size_t ShallowSizeOfExcludingThis(mozilla::MallocSizeOf aSizeOf) const; diff --git a/dom/canvas/OffscreenCanvas.cpp b/dom/canvas/OffscreenCanvas.cpp index aef2275e0214e9d661d6a34721fd7503b5f731e4..cfd077b008f88e038647da26592a7d7ef065b118 100644 --- a/dom/canvas/OffscreenCanvas.cpp +++ b/dom/canvas/OffscreenCanvas.cpp @@ -556,7 +556,7 @@ NS_IMPL_ADDREF_INHERITED(OffscreenCanvas, DOMEventTargetHelper) NS_IMPL_RELEASE_INHERITED(OffscreenCanvas, DOMEventTargetHelper) NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(OffscreenCanvas) - NS_INTERFACE_MAP_ENTRY(nsISupports) + NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, EventTarget) NS_INTERFACE_MAP_END_INHERITING(DOMEventTargetHelper) } // namespace mozilla::dom diff --git a/dom/events/DOMEventTargetHelper.cpp b/dom/events/DOMEventTargetHelper.cpp index 7cbe8d5636730a933139760cd087879496fba390..9f8d9ed94217c284b039681233d440e13c4f0a3c 100644 --- a/dom/events/DOMEventTargetHelper.cpp +++ b/dom/events/DOMEventTargetHelper.cpp @@ -24,8 +24,8 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INTERNAL(DOMEventTargetHelper) if (MOZ_UNLIKELY(cb.WantDebugInfo())) { char name[512]; nsAutoString uri; - if (tmp->mOwnerWindow && tmp->mOwnerWindow->GetExtantDoc()) { - Unused << tmp->mOwnerWindow->GetExtantDoc()->GetDocumentURI(uri); + if (tmp->GetOwner() && tmp->GetOwner()->GetExtantDoc()) { + Unused << tmp->GetOwner()->GetExtantDoc()->GetDocumentURI(uri); } nsXPCOMCycleCollectionParticipant* participant = nullptr; @@ -64,7 +64,8 @@ NS_IMPL_CYCLE_COLLECTION_CAN_SKIP_BEGIN(DOMEventTargetHelper) NS_IMPL_CYCLE_COLLECTION_CAN_SKIP_END NS_IMPL_CYCLE_COLLECTION_CAN_SKIP_IN_CC_BEGIN(DOMEventTargetHelper) - return tmp->HasKnownLiveWrapperAndDoesNotNeedTracing(tmp); + return tmp->HasKnownLiveWrapperAndDoesNotNeedTracing( + static_cast<dom::EventTarget*>(tmp)); NS_IMPL_CYCLE_COLLECTION_CAN_SKIP_IN_CC_END NS_IMPL_CYCLE_COLLECTION_CAN_SKIP_THIS_BEGIN(DOMEventTargetHelper) @@ -73,55 +74,29 @@ NS_IMPL_CYCLE_COLLECTION_CAN_SKIP_THIS_END NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(DOMEventTargetHelper) NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY - NS_INTERFACE_MAP_ENTRY(nsISupports) + NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, EventTarget) + NS_INTERFACE_MAP_ENTRY(GlobalTeardownObserver) NS_INTERFACE_MAP_ENTRY(dom::EventTarget) - NS_INTERFACE_MAP_ENTRY(DOMEventTargetHelper) + NS_INTERFACE_MAP_ENTRY_CONCRETE(DOMEventTargetHelper) NS_INTERFACE_MAP_END NS_IMPL_CYCLE_COLLECTING_ADDREF(DOMEventTargetHelper) NS_IMPL_CYCLE_COLLECTING_RELEASE_WITH_LAST_RELEASE(DOMEventTargetHelper, LastRelease()) -DOMEventTargetHelper::DOMEventTargetHelper() - : mParentObject(nullptr), - mOwnerWindow(nullptr), - mHasOrHasHadOwnerWindow(false), - mIsKeptAlive(false) {} +DOMEventTargetHelper::DOMEventTargetHelper() = default; DOMEventTargetHelper::DOMEventTargetHelper(nsPIDOMWindowInner* aWindow) - : mParentObject(nullptr), - mOwnerWindow(nullptr), - mHasOrHasHadOwnerWindow(false), - mIsKeptAlive(false) { - nsIGlobalObject* global = aWindow ? aWindow->AsGlobal() : nullptr; - BindToOwner(global); -} + : GlobalTeardownObserver(aWindow ? aWindow->AsGlobal() : nullptr) {} DOMEventTargetHelper::DOMEventTargetHelper(nsIGlobalObject* aGlobalObject) - : mParentObject(nullptr), - mOwnerWindow(nullptr), - mHasOrHasHadOwnerWindow(false), - mIsKeptAlive(false) { - BindToOwner(aGlobalObject); -} + : GlobalTeardownObserver(aGlobalObject) {} DOMEventTargetHelper::DOMEventTargetHelper(DOMEventTargetHelper* aOther) - : mParentObject(nullptr), - mOwnerWindow(nullptr), - mHasOrHasHadOwnerWindow(false), - mIsKeptAlive(false) { - if (!aOther) { - BindToOwner(static_cast<nsIGlobalObject*>(nullptr)); - return; - } - BindToOwner(aOther->GetParentObject()); - mHasOrHasHadOwnerWindow = aOther->HasOrHasHadOwner(); -} + : GlobalTeardownObserver(aOther ? aOther->GetParentObject() : nullptr, + aOther ? aOther->HasOrHasHadOwner() : false) {} DOMEventTargetHelper::~DOMEventTargetHelper() { - if (mParentObject) { - mParentObject->RemoveEventTargetObject(this); - } if (mListenerManager) { mListenerManager->Disconnect(); } @@ -129,11 +104,8 @@ DOMEventTargetHelper::~DOMEventTargetHelper() { } void DOMEventTargetHelper::DisconnectFromOwner() { - if (mParentObject) { - mParentObject->RemoveEventTargetObject(this); - } - mOwnerWindow = nullptr; - mParentObject = nullptr; + GlobalTeardownObserver::DisconnectFromOwner(); + // Event listeners can't be handled anymore, so we can release them here. if (mListenerManager) { mListenerManager->Disconnect(); @@ -173,8 +145,8 @@ bool DOMEventTargetHelper::ComputeDefaultWantsUntrusted(ErrorResult& aRv) { bool DOMEventTargetHelper::DispatchEvent(Event& aEvent, CallerType aCallerType, ErrorResult& aRv) { nsEventStatus status = nsEventStatus_eIgnore; - nsresult rv = EventDispatcher::DispatchDOMEvent(this, nullptr, &aEvent, - nullptr, &status); + nsresult rv = EventDispatcher::DispatchDOMEvent( + static_cast<EventTarget*>(this), nullptr, &aEvent, nullptr, &status); bool retval = !aEvent.DefaultPrevented(aCallerType); if (NS_FAILED(rv)) { aRv.Throw(rv); @@ -282,45 +254,6 @@ void DOMEventTargetHelper::MaybeDontKeepAlive() { } } -void DOMEventTargetHelper::BindToOwner(nsIGlobalObject* aOwner) { - MOZ_ASSERT(!mParentObject); - - if (aOwner) { - mParentObject = aOwner; - aOwner->AddEventTargetObject(this); - // Let's cache the result of this QI for fast access and off main thread - // usage - mOwnerWindow = - nsCOMPtr<nsPIDOMWindowInner>(do_QueryInterface(aOwner)).get(); - if (mOwnerWindow) { - mHasOrHasHadOwnerWindow = true; - } - } -} - -nsresult DOMEventTargetHelper::CheckCurrentGlobalCorrectness() const { - NS_ENSURE_STATE(!mHasOrHasHadOwnerWindow || mOwnerWindow); - - // Main-thread. - if (mOwnerWindow && !mOwnerWindow->IsCurrentInnerWindow()) { - return NS_ERROR_FAILURE; - } - - if (NS_IsMainThread()) { - return NS_OK; - } - - if (!mParentObject) { - return NS_ERROR_FAILURE; - } - - if (mParentObject->IsDying()) { - return NS_ERROR_FAILURE; - } - - return NS_OK; -} - bool DOMEventTargetHelper::HasListenersFor(const nsAString& aType) const { return mListenerManager && mListenerManager->HasListenersFor(aType); } diff --git a/dom/events/DOMEventTargetHelper.h b/dom/events/DOMEventTargetHelper.h index 622f482a167737a4520dccd53d90b752e89ec955..3734fe0ef4f7e1b5c54f339a70acc329267d0e3c 100644 --- a/dom/events/DOMEventTargetHelper.h +++ b/dom/events/DOMEventTargetHelper.h @@ -9,6 +9,7 @@ #include "mozilla/Attributes.h" #include "mozilla/dom/EventTarget.h" +#include "mozilla/GlobalTeardownObserver.h" #include "mozilla/LinkedList.h" #include "mozilla/RefPtr.h" #include "nsAtom.h" @@ -48,7 +49,7 @@ enum class CallerType : uint32_t; } class DOMEventTargetHelper : public dom::EventTarget, - public LinkedListElement<DOMEventTargetHelper> { + public GlobalTeardownObserver { public: DOMEventTargetHelper(); explicit DOMEventTargetHelper(nsPIDOMWindowInner* aWindow); @@ -56,7 +57,8 @@ class DOMEventTargetHelper : public dom::EventTarget, explicit DOMEventTargetHelper(DOMEventTargetHelper* aOther); NS_DECL_CYCLE_COLLECTING_ISUPPORTS - NS_DECL_CYCLE_COLLECTION_SKIPPABLE_WRAPPERCACHE_CLASS(DOMEventTargetHelper) + NS_DECL_CYCLE_COLLECTION_SKIPPABLE_WRAPPERCACHE_CLASS_AMBIGUOUS( + DOMEventTargetHelper, dom::EventTarget) virtual EventListenerManager* GetExistingListenerManager() const override; virtual EventListenerManager* GetOrCreateListenerManager() override; @@ -75,12 +77,8 @@ class DOMEventTargetHelper : public dom::EventTarget, NS_DECLARE_STATIC_IID_ACCESSOR(NS_DOMEVENTTARGETHELPER_IID) - void GetParentObject(nsIScriptGlobalObject** aParentObject) { - if (mParentObject) { - CallQueryInterface(mParentObject, aParentObject); - } else { - *aParentObject = nullptr; - } + nsIGlobalObject* GetOwnerGlobal() const override { + return GlobalTeardownObserver::GetOwnerGlobal(); } static DOMEventTargetHelper* FromSupports(nsISupports* aSupports) { @@ -107,19 +105,6 @@ class DOMEventTargetHelper : public dom::EventTarget, return nsPIDOMWindowOuter::GetFromCurrentInner(GetOwner()); } - // A global permanently becomes invalid when DisconnectEventTargetObjects() is - // called. Normally this means: - // - For the main thread, when nsGlobalWindowInner::FreeInnerObjects is - // called. - // - For a worker thread, when clearing the main event queue. (Which we do - // slightly later than when the spec notionally calls for it to be done.) - // - // A global may also become temporarily invalid when: - // - For the main thread, if the window is no longer the WindowProxy's current - // inner window due to being placed in the bfcache. - nsresult CheckCurrentGlobalCorrectness() const; - - nsPIDOMWindowInner* GetOwner() const { return mOwnerWindow; } // Like GetOwner, but only returns non-null if the window being returned is // current (in the "current document" sense of the HTML spec). nsPIDOMWindowInner* GetWindowIfCurrent() const; @@ -127,10 +112,8 @@ class DOMEventTargetHelper : public dom::EventTarget, // the current document of its browsing context. Will return null otherwise. mozilla::dom::Document* GetDocumentIfCurrent() const; - virtual void DisconnectFromOwner(); + void DisconnectFromOwner() override; using EventTarget::GetParentObject; - nsIGlobalObject* GetOwnerGlobal() const final { return mParentObject; } - bool HasOrHasHadOwner() { return mHasOrHasHadOwnerWindow; } virtual void EventListenerAdded(nsAtom* aType) override; @@ -162,21 +145,10 @@ class DOMEventTargetHelper : public dom::EventTarget, void IgnoreKeepAliveIfHasListenersFor(nsAtom* aType); - void BindToOwner(nsIGlobalObject* aOwner); - private: - // The parent global object. The global will clear this when - // it is destroyed by calling DisconnectFromOwner(). - nsIGlobalObject* MOZ_NON_OWNING_REF mParentObject; - // mParentObject pre QI-ed and cached (inner window) - // (it is needed for off main thread access) - // It is obtained in BindToOwner and reset in DisconnectFromOwner. - nsPIDOMWindowInner* MOZ_NON_OWNING_REF mOwnerWindow; - bool mHasOrHasHadOwnerWindow; - nsTArray<RefPtr<nsAtom>> mKeepingAliveTypes; - bool mIsKeptAlive; + bool mIsKeptAlive = false; }; NS_DEFINE_STATIC_IID_ACCESSOR(DOMEventTargetHelper, NS_DOMEVENTTARGETHELPER_IID) diff --git a/dom/fetch/FetchDriver.cpp b/dom/fetch/FetchDriver.cpp index 78ac5b45eeb24b80a43cf49063d9bb45c41d4647..8c527ffeaefbaa60b1cdf842b47b345c19e45496 100644 --- a/dom/fetch/FetchDriver.cpp +++ b/dom/fetch/FetchDriver.cpp @@ -358,6 +358,9 @@ FetchDriver::~FetchDriver() { // We assert this since even on failures, we should call // FailWithNetworkError(). MOZ_ASSERT(mResponseAvailableCalled); + if (mObserver) { + mObserver = nullptr; + } } already_AddRefed<PreloaderBase> FetchDriver::FindPreload(nsIURI* aURI) { @@ -969,7 +972,9 @@ FetchDriver::OnStartRequest(nsIRequest* aRequest) { } if (!mChannel) { - MOZ_ASSERT(!mObserver); + // if the request is aborted, we remove the mObserver reference in + // OnStopRequest or ~FetchDriver() + MOZ_ASSERT_IF(!mAborted, !mObserver); return NS_BINDING_ABORTED; } @@ -1310,7 +1315,11 @@ FetchDriver::OnDataAvailable(nsIRequest* aRequest, nsIInputStream* aInputStream, uint64_t aOffset, uint32_t aCount) { // NB: This can be called on any thread! But we're guaranteed that it is // called between OnStartRequest and OnStopRequest, so we don't need to worry - // about races. + // about races for accesses in OnStartRequest, OnStopRequest and + // member functions accessed before opening the channel. + // However, we have a possibility of a race from FetchDriverAbortActions. + // Hence, we need to ensure that we are not modifying any members accessed by + // FetchDriver::FetchDriverAbortActions if (mNeedToObserveOnDataAvailable) { mNeedToObserveOnDataAvailable = false; @@ -1375,6 +1384,14 @@ FetchDriver::OnStopRequest(nsIRequest* aRequest, nsresult aStatusCode) { MOZ_DIAGNOSTIC_ASSERT(!mOnStopRequestCalled); mOnStopRequestCalled = true; + if (mObserver && mAborted) { + // fetch request was aborted. + // We have already sent the observer + // notification that request has been aborted in FetchDriverAbortActions. + // Remove the observer reference and don't push anymore notifications. + mObserver = nullptr; + } + // main data loading is going to finish, breaking the reference cycle. RefPtr<AlternativeDataStreamListener> altDataListener = std::move(mAltDataListener); @@ -1720,7 +1737,10 @@ void FetchDriver::FetchDriverAbortActions(AbortSignalImpl* aSignalImpl) { reason.set(aSignalImpl->RawReason()); } mObserver->OnResponseEnd(FetchDriverObserver::eAborted, reason); - mObserver = nullptr; + // As a part of cleanup, we are not removing the mObserver reference as it + // could race with mObserver access in OnDataAvailable when it runs OMT. + // We will be removing the reference in the OnStopRequest which guaranteed + // to run after cancelling the channel. } if (mChannel) { diff --git a/dom/fetch/FetchDriver.h b/dom/fetch/FetchDriver.h index e7e881bfd23fc2c879aa9254e72ab1b1e5895301..84391ef951873eaab9a5f020f3dd17b23aec271a 100644 --- a/dom/fetch/FetchDriver.h +++ b/dom/fetch/FetchDriver.h @@ -152,6 +152,9 @@ class FetchDriver final : public nsIStreamListener, SafeRefPtr<InternalRequest> mRequest; SafeRefPtr<InternalResponse> mResponse; nsCOMPtr<nsIOutputStream> mPipeOutputStream; + // Access to mObserver can be racy from OnDataAvailable and + // FetchAbortActions. This must not be modified + // in either of these functions. RefPtr<FetchDriverObserver> mObserver; RefPtr<Document> mDocument; nsCOMPtr<nsICSPEventListener> mCSPEventListener; diff --git a/dom/file/uri/BlobURLProtocolHandler.cpp b/dom/file/uri/BlobURLProtocolHandler.cpp index 8ebf1d252ee8d55fbd63fe14b1e8f16848944ee7..756ce0154481881ec5f37f560f702b9d9ecc24d0 100644 --- a/dom/file/uri/BlobURLProtocolHandler.cpp +++ b/dom/file/uri/BlobURLProtocolHandler.cpp @@ -818,7 +818,7 @@ void BlobURLProtocolHandler::Traverse( NS_CYCLE_COLLECTION_NOTE_EDGE_NAME( aCallback, "BlobURLProtocolHandler mozilla::dom::DataInfo.mMediaSource"); - aCallback.NoteXPCOMChild(res->mMediaSource); + aCallback.NoteXPCOMChild(static_cast<EventTarget*>(res->mMediaSource)); } NS_IMPL_ISUPPORTS(BlobURLProtocolHandler, nsIProtocolHandler, diff --git a/dom/html/HTMLFormElement.cpp b/dom/html/HTMLFormElement.cpp index 8f953a90cd340f4e00caf2953e2ae77bd78c6bbc..db0558b9410917a2d76fa62981317fbc1132b08b 100644 --- a/dom/html/HTMLFormElement.cpp +++ b/dom/html/HTMLFormElement.cpp @@ -49,7 +49,6 @@ #include "mozilla/Telemetry.h" #include "mozilla/StaticPrefs_dom.h" #include "mozilla/StaticPrefs_prompts.h" -#include "mozilla/StaticPrefs_signon.h" #include "nsCategoryManagerUtils.h" #include "nsIContentInlines.h" #include "nsISimpleEnumerator.h" @@ -161,10 +160,10 @@ NS_IMPL_ISUPPORTS_CYCLE_COLLECTION_INHERITED(HTMLFormElement, // EventTarget void HTMLFormElement::AsyncEventRunning(AsyncEventDispatcher* aEvent) { - if (mFormPasswordEventDispatcher == aEvent) { - mFormPasswordEventDispatcher = nullptr; - } else if (mFormPossibleUsernameEventDispatcher == aEvent) { - mFormPossibleUsernameEventDispatcher = nullptr; + if (aEvent->mEventType == u"DOMFormHasPassword"_ns) { + mHasPendingPasswordEvent = false; + } else if (aEvent->mEventType == u"DOMFormHasPossibleUsername"_ns) { + mHasPendingPossibleUsernameEvent = false; } } @@ -1169,34 +1168,6 @@ void HTMLFormElement::AssertDocumentOrder( } #endif -void HTMLFormElement::PostPasswordEvent() { - // Don't fire another add event if we have a pending add event. - if (mFormPasswordEventDispatcher.get()) { - return; - } - - mFormPasswordEventDispatcher = - new AsyncEventDispatcher(this, u"DOMFormHasPassword"_ns, CanBubble::eYes, - ChromeOnlyDispatch::eYes); - mFormPasswordEventDispatcher->PostDOMEvent(); -} - -void HTMLFormElement::PostPossibleUsernameEvent() { - if (!StaticPrefs::signon_usernameOnlyForm_enabled()) { - return; - } - - // Don't fire another event if we have a pending event. - if (mFormPossibleUsernameEventDispatcher) { - return; - } - - mFormPossibleUsernameEventDispatcher = - new AsyncEventDispatcher(this, u"DOMFormHasPossibleUsername"_ns, - CanBubble::eYes, ChromeOnlyDispatch::eYes); - mFormPossibleUsernameEventDispatcher->PostDOMEvent(); -} - namespace { struct FormComparator { @@ -1272,16 +1243,6 @@ nsresult HTMLFormElement::AddElement(nsGenericHTMLFormElement* aChild, auto type = fc->ControlType(); - // If it is a password control, inform the password manager. - if (type == FormControlType::InputPassword) { - PostPasswordEvent(); - // If the type is email or text, it is a username compatible input, - // inform the password manager. - } else if (type == FormControlType::InputEmail || - type == FormControlType::InputText) { - PostPossibleUsernameEvent(); - } - // Default submit element handling if (fc->IsSubmitControl()) { // Update mDefaultSubmitElement, mFirstSubmitInElements, diff --git a/dom/html/HTMLFormElement.h b/dom/html/HTMLFormElement.h index 80b40c6bcee01cce1d55ee7a483956b94ae18602..56b11164a6c93c95299352f74f7c1325d1708b2c 100644 --- a/dom/html/HTMLFormElement.h +++ b/dom/html/HTMLFormElement.h @@ -82,6 +82,11 @@ class HTMLFormElement final : public nsGenericHTMLElement, // EventTarget void AsyncEventRunning(AsyncEventDispatcher* aEvent) override; + /** Whether we already dispatched a DOMFormHasPassword event or not */ + bool mHasPendingPasswordEvent = false; + /** Whether we already dispatched a DOMFormHasPossibleUsername event or not */ + bool mHasPendingPossibleUsernameEvent = false; + // nsIContent bool ParseAttribute(int32_t aNamespaceID, nsAtom* aAttribute, const nsAString& aValue, @@ -395,12 +400,6 @@ class HTMLFormElement final : public nsGenericHTMLElement, protected: JSObject* WrapNode(JSContext*, JS::Handle<JSObject*> aGivenProto) override; - void PostPasswordEvent(); - void PostPossibleUsernameEvent(); - - RefPtr<AsyncEventDispatcher> mFormPasswordEventDispatcher; - RefPtr<AsyncEventDispatcher> mFormPossibleUsernameEventDispatcher; - class RemoveElementRunnable; friend class RemoveElementRunnable; diff --git a/dom/html/HTMLInputElement.cpp b/dom/html/HTMLInputElement.cpp index 913a9d4c46dac9936e0e8d5b4b174f8edb86a3a4..583886d43bbac93ff774f4be935ebf37d986f960 100644 --- a/dom/html/HTMLInputElement.cpp +++ b/dom/html/HTMLInputElement.cpp @@ -28,6 +28,7 @@ #include "mozilla/EventStateManager.h" #include "mozilla/PresShell.h" #include "mozilla/StaticPrefs_dom.h" +#include "mozilla/StaticPrefs_signon.h" #include "mozilla/TextUtils.h" #include "nsAttrValueInlines.h" #include "nsCRTGlue.h" @@ -1385,11 +1386,16 @@ void HTMLInputElement::AfterSetAttr(int32_t aNameSpaceID, nsAtom* aName, aNameSpaceID, aName, aValue, aOldValue, aSubjectPrincipal, aNotify); } -void HTMLInputElement::BeforeSetForm(bool aBindToTree) { +void HTMLInputElement::BeforeSetForm(HTMLFormElement* aForm, bool aBindToTree) { // No need to remove from radio group if we are just binding to tree. if (mType == FormControlType::InputRadio && !aBindToTree) { WillRemoveFromRadioGroup(); } + + // Dispatch event when <input> @form is set + if (!aBindToTree) { + MaybeDispatchLoginManagerEvents(aForm); + } } void HTMLInputElement::AfterClearForm(bool aUnbindOrDelete) { @@ -4245,20 +4251,59 @@ nsresult HTMLInputElement::BindToTree(BindContext& aContext, nsINode& aParent) { AttachAndSetUAShadowRoot(NotifyUAWidgetSetup::Yes, DelegatesFocus::Yes); } + MaybeDispatchLoginManagerEvents(mForm); + + return rv; +} + +void HTMLInputElement::MaybeDispatchLoginManagerEvents(HTMLFormElement* aForm) { + // Don't disptach the event if the <input> is disconnected + // or belongs to a disconnected form + if (!IsInComposedDoc()) { + return; + } + + nsString eventType; + Element* target = nullptr; + if (mType == FormControlType::InputPassword) { - if (IsInComposedDoc()) { - AsyncEventDispatcher* dispatcher = - new AsyncEventDispatcher(this, u"DOMInputPasswordAdded"_ns, - CanBubble::eYes, ChromeOnlyDispatch::eYes); - dispatcher->PostDOMEvent(); + // Don't fire another event if we have a pending event. + if (aForm && aForm->mHasPendingPasswordEvent) { + return; } -#ifdef EARLY_BETA_OR_EARLIER - Telemetry::Accumulate(Telemetry::PWMGR_PASSWORD_INPUT_IN_FORM, !!mForm); -#endif + // TODO(Bug 1864404): Use one event for formless and form inputs. + eventType = aForm ? u"DOMFormHasPassword"_ns : u"DOMInputPasswordAdded"_ns; + + target = aForm ? static_cast<Element*>(aForm) : this; + + if (aForm) { + aForm->mHasPendingPasswordEvent = true; + } + + } else if (mType == FormControlType::InputEmail || + mType == FormControlType::InputText) { + // Don't fire a username event if: + // - <input> is not part of a form + // - we have a pending event + // - username only forms are not supported + if (!aForm || aForm->mHasPendingPossibleUsernameEvent || + !StaticPrefs::signon_usernameOnlyForm_enabled()) { + return; + } + + eventType = u"DOMFormHasPossibleUsername"_ns; + target = aForm; + + aForm->mHasPendingPossibleUsernameEvent = true; + + } else { + return; } - return rv; + RefPtr<AsyncEventDispatcher> dispatcher = new AsyncEventDispatcher( + target, eventType, CanBubble::eYes, ChromeOnlyDispatch::eYes); + dispatcher->PostDOMEvent(); } void HTMLInputElement::UnbindFromTree(bool aNullParent) { @@ -4496,12 +4541,7 @@ void HTMLInputElement::HandleTypeChange(FormControlType aNewType, mAttrs.UpdateMappedAttrRuleMapper(*this); } - if (mType == FormControlType::InputPassword && IsInComposedDoc()) { - AsyncEventDispatcher* dispatcher = - new AsyncEventDispatcher(this, u"DOMInputPasswordAdded"_ns, - CanBubble::eYes, ChromeOnlyDispatch::eYes); - dispatcher->PostDOMEvent(); - } + MaybeDispatchLoginManagerEvents(mForm); if (IsInComposedDoc()) { if (CreatesDateTimeWidget(oldType)) { diff --git a/dom/html/HTMLInputElement.h b/dom/html/HTMLInputElement.h index fb7ac0bb7a4e75c7f7cb519d61afe1c7c8fbcae2..d47cc3eee0a531c571a2a7b7e397f16b4dd405ca 100644 --- a/dom/html/HTMLInputElement.h +++ b/dom/html/HTMLInputElement.h @@ -952,7 +952,7 @@ class HTMLInputElement final : public TextControlElement, const nsAttrValue* aValue, const nsAttrValue* aOldValue, nsIPrincipal* aSubjectPrincipal, bool aNotify) override; - void BeforeSetForm(bool aBindToTree) override; + void BeforeSetForm(HTMLFormElement* aForm, bool aBindToTree) override; void AfterClearForm(bool aUnbindOrDelete) override; @@ -1598,6 +1598,12 @@ class HTMLInputElement final : public TextControlElement, aType == FormControlType::InputNumber; } + /** + * Call MaybeDispatchPasswordEvent or MaybeDispatchUsernameEvent + * in order to dispatch LoginManager events. + */ + void MaybeDispatchLoginManagerEvents(HTMLFormElement* aForm); + /** * Fire an event when the password input field is removed from the DOM tree. * This is now only used by the password manager. diff --git a/dom/html/nsGenericHTMLElement.cpp b/dom/html/nsGenericHTMLElement.cpp index a2c85fd6f064bb9da07a4a2ebf1c0a214deaeaa8..c49a896f90f672be654a68bc5cfeb7f38cc021b3 100644 --- a/dom/html/nsGenericHTMLElement.cpp +++ b/dom/html/nsGenericHTMLElement.cpp @@ -2764,7 +2764,7 @@ bool nsGenericHTMLFormControlElement::DoesReadOnlyApply() const { void nsGenericHTMLFormControlElement::SetFormInternal(HTMLFormElement* aForm, bool aBindToTree) { if (aForm) { - BeforeSetForm(aBindToTree); + BeforeSetForm(aForm, aBindToTree); } // keep a *weak* ref to the form here diff --git a/dom/html/nsGenericHTMLElement.h b/dom/html/nsGenericHTMLElement.h index a858fddbb4841359d0dfc8702fd803de426471c0..4dae91a5ef796a2aea912eb31cdecbd657584172 100644 --- a/dom/html/nsGenericHTMLElement.h +++ b/dom/html/nsGenericHTMLElement.h @@ -1063,7 +1063,8 @@ class nsGenericHTMLFormElement : public nsGenericHTMLElement { nsIPrincipal* aMaybeScriptedPrincipal, bool aNotify) override; - virtual void BeforeSetForm(bool aBindToTree) {} + virtual void BeforeSetForm(mozilla::dom::HTMLFormElement* aForm, + bool aBindToTree) {} virtual void AfterClearForm(bool aUnbindOrDelete) {} diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp index b87538d73bef76c7556b7d0fc182c58fe7e98b98..1d0a18f33617322bd09f6c90096a0c5508e8ac4b 100644 --- a/dom/indexedDB/ActorsParent.cpp +++ b/dom/indexedDB/ActorsParent.cpp @@ -235,9 +235,6 @@ class nsPtrHashKey; namespace mozilla { -MOZ_TYPE_SPECIFIC_SCOPED_POINTER_TEMPLATE(ScopedPRFileDesc, PRFileDesc, - PR_Close); - namespace dom::indexedDB { using namespace mozilla::dom::quota; diff --git a/dom/indexedDB/IDBRequest.cpp b/dom/indexedDB/IDBRequest.cpp index 2c410758bd6506001efb8d08fe570e0c151978f2..efc3f9a44e01ca0b5ad0f3fab94b410fea6a5e9c 100644 --- a/dom/indexedDB/IDBRequest.cpp +++ b/dom/indexedDB/IDBRequest.cpp @@ -297,7 +297,7 @@ NS_IMPL_CYCLE_COLLECTION_TRACE_END NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(IDBRequest) if (aIID.Equals(NS_GET_IID(mozilla::dom::detail::PrivateIDBRequest))) { - foundInterface = this; + foundInterface = static_cast<EventTarget*>(this); } else NS_INTERFACE_MAP_END_INHERITING(DOMEventTargetHelper) diff --git a/dom/ipc/BrowserChild.cpp b/dom/ipc/BrowserChild.cpp index d9c660fafec96cd1f90025493c9c942e1c10a007..95fc4de14dc9bd3b6b38b959bc8e76df99a0aa19 100644 --- a/dom/ipc/BrowserChild.cpp +++ b/dom/ipc/BrowserChild.cpp @@ -3783,7 +3783,7 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(BrowserChildMessageManager) NS_INTERFACE_MAP_ENTRY(nsIMessageSender) - NS_INTERFACE_MAP_ENTRY(ContentFrameMessageManager) + NS_INTERFACE_MAP_ENTRY_CONCRETE(ContentFrameMessageManager) NS_INTERFACE_MAP_ENTRY(nsISupportsWeakReference) NS_INTERFACE_MAP_END_INHERITING(DOMEventTargetHelper) diff --git a/dom/ipc/ContentParent.cpp b/dom/ipc/ContentParent.cpp index 7ebd3e18c41abec552e206906a45d756e5ab6c78..969a426e8346b21364be5447e1695ffbe47900d6 100644 --- a/dom/ipc/ContentParent.cpp +++ b/dom/ipc/ContentParent.cpp @@ -3205,7 +3205,8 @@ bool ContentParent::InitInternal(ProcessPriority aInitialPriority) { AutoTArray<uint32_t, 3> namespaces; if (!gpm->CreateContentBridges(OtherPid(), &compositor, &imageBridge, - &vrBridge, &videoManager, &namespaces)) { + &vrBridge, &videoManager, mChildID, + &namespaces)) { // This can fail if we've already started shutting down the compositor // thread. See Bug 1562763 comment 8. MOZ_ASSERT(AppShutdown::IsInOrBeyond(ShutdownPhase::AppShutdown)); @@ -3385,7 +3386,8 @@ void ContentParent::OnCompositorUnexpectedShutdown() { AutoTArray<uint32_t, 3> namespaces; if (!gpm->CreateContentBridges(OtherPid(), &compositor, &imageBridge, - &vrBridge, &videoManager, &namespaces)) { + &vrBridge, &videoManager, mChildID, + &namespaces)) { MOZ_ASSERT(AppShutdown::IsInOrBeyond(ShutdownPhase::AppShutdown)); return; } diff --git a/dom/ipc/WindowGlobalParent.cpp b/dom/ipc/WindowGlobalParent.cpp index 6c9342489a153d02df12f7db49df4b228009bb49..0e345e910706e50896601ed7eff8f2925122d804 100644 --- a/dom/ipc/WindowGlobalParent.cpp +++ b/dom/ipc/WindowGlobalParent.cpp @@ -65,6 +65,7 @@ #include "SessionStoreFunctions.h" #include "nsIXPConnect.h" #include "nsImportModule.h" +#include "nsIXULRuntime.h" #include "mozilla/dom/PBackgroundSessionStorageCache.h" @@ -600,6 +601,11 @@ already_AddRefed<JSActor> WindowGlobalParent::InitJSActor( } bool WindowGlobalParent::IsCurrentGlobal() { + if (mozilla::SessionHistoryInParent() && BrowsingContext() && + BrowsingContext()->IsInBFCache()) { + return false; + } + return CanSend() && BrowsingContext()->GetCurrentWindowGlobal() == this; } diff --git a/dom/media/DOMMediaStream.cpp b/dom/media/DOMMediaStream.cpp index 9f5e1b7ef24a0c8c470d551bb83447a7f1a8f68e..81f7019e3acae797302e5b25acae999e6dc030e0 100644 --- a/dom/media/DOMMediaStream.cpp +++ b/dom/media/DOMMediaStream.cpp @@ -112,7 +112,7 @@ NS_IMPL_ADDREF_INHERITED(DOMMediaStream, DOMEventTargetHelper) NS_IMPL_RELEASE_INHERITED(DOMMediaStream, DOMEventTargetHelper) NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(DOMMediaStream) - NS_INTERFACE_MAP_ENTRY(DOMMediaStream) + NS_INTERFACE_MAP_ENTRY_CONCRETE(DOMMediaStream) NS_INTERFACE_MAP_END_INHERITING(DOMEventTargetHelper) DOMMediaStream::DOMMediaStream(nsPIDOMWindowInner* aWindow) diff --git a/dom/media/imagecapture/ImageCapture.cpp b/dom/media/imagecapture/ImageCapture.cpp index 0e71aa5603a9513e6d507e2354db6d4a87ac251a..d32c22d05436fa996a78410fd77e3e656fe3aede 100644 --- a/dom/media/imagecapture/ImageCapture.cpp +++ b/dom/media/imagecapture/ImageCapture.cpp @@ -173,8 +173,8 @@ nsresult ImageCapture::PostErrorEvent(uint16_t aErrorCode, nsresult aReason) { } } - RefPtr<ImageCaptureError> error = - new ImageCaptureError(this, aErrorCode, errorMsg); + RefPtr<ImageCaptureError> error = new ImageCaptureError( + static_cast<EventTarget*>(this), aErrorCode, errorMsg); ImageCaptureErrorEventInit init; init.mBubbles = false; diff --git a/dom/media/ipc/PRDD.ipdl b/dom/media/ipc/PRDD.ipdl index b7f0534f698d9e5a828dfb4ca5c45688f4753659..e18f65edafab2b2c947d7265f83480d3742ebbf4 100644 --- a/dom/media/ipc/PRDD.ipdl +++ b/dom/media/ipc/PRDD.ipdl @@ -17,6 +17,7 @@ include protocol PSandboxTesting; include "mozilla/ipc/ByteBufUtils.h"; +using mozilla::dom::ContentParentId from "mozilla/dom/ipc/IdType.h"; using mozilla::dom::NativeThreadId from "mozilla/dom/NativeThreadId.h"; using mozilla::media::MediaCodecsSupported from "MediaCodecsSupport.h"; @@ -52,7 +53,7 @@ parent: async InitProfiler(Endpoint<PProfilerChild> endpoint); async NewContentRemoteDecoderManager( - Endpoint<PRemoteDecoderManagerParent> endpoint); + Endpoint<PRemoteDecoderManagerParent> endpoint, ContentParentId childId); async RequestMemoryReport(uint32_t generation, bool anonymize, diff --git a/dom/media/ipc/RDDParent.cpp b/dom/media/ipc/RDDParent.cpp index 0551e1ccd352915708a9f0f884fabf0ceef2f1e3..0fae2703e820307881fb6474d3028b877cbdd590 100644 --- a/dom/media/ipc/RDDParent.cpp +++ b/dom/media/ipc/RDDParent.cpp @@ -181,8 +181,10 @@ mozilla::ipc::IPCResult RDDParent::RecvInitProfiler( } mozilla::ipc::IPCResult RDDParent::RecvNewContentRemoteDecoderManager( - Endpoint<PRemoteDecoderManagerParent>&& aEndpoint) { - if (!RemoteDecoderManagerParent::CreateForContent(std::move(aEndpoint))) { + Endpoint<PRemoteDecoderManagerParent>&& aEndpoint, + const ContentParentId& aParentId) { + if (!RemoteDecoderManagerParent::CreateForContent(std::move(aEndpoint), + aParentId)) { return IPC_FAIL_NO_REASON(this); } return IPC_OK(); diff --git a/dom/media/ipc/RDDParent.h b/dom/media/ipc/RDDParent.h index 64bc0b3185a1150f4e8a9ffa8c01176580362369..9c682453c9a2483bca6776b560456a89e6646ddb 100644 --- a/dom/media/ipc/RDDParent.h +++ b/dom/media/ipc/RDDParent.h @@ -36,7 +36,8 @@ class RDDParent final : public PRDDParent { Endpoint<PProfilerChild>&& aEndpoint); mozilla::ipc::IPCResult RecvNewContentRemoteDecoderManager( - Endpoint<PRemoteDecoderManagerParent>&& aEndpoint); + Endpoint<PRemoteDecoderManagerParent>&& aEndpoint, + const ContentParentId& aParentId); mozilla::ipc::IPCResult RecvInitVideoBridge( Endpoint<PVideoBridgeChild>&& aEndpoint, const bool& aCreateHardwareDevice, diff --git a/dom/media/ipc/RDDProcessManager.cpp b/dom/media/ipc/RDDProcessManager.cpp index 3fd1002d6a1d40106eb8e38bd61057afb61e9101..e7da3c35698c584b26f672b9e9513aaa7d01f306 100644 --- a/dom/media/ipc/RDDProcessManager.cpp +++ b/dom/media/ipc/RDDProcessManager.cpp @@ -192,19 +192,20 @@ RefPtr<GenericNonExclusivePromise> RDDProcessManager::LaunchRDDProcess() { } auto RDDProcessManager::EnsureRDDProcessAndCreateBridge( - base::ProcessId aOtherProcess) -> RefPtr<EnsureRDDPromise> { + base::ProcessId aOtherProcess, dom::ContentParentId aParentId) + -> RefPtr<EnsureRDDPromise> { return InvokeAsync( GetMainThreadSerialEventTarget(), __func__, - [aOtherProcess, this]() -> RefPtr<EnsureRDDPromise> { + [aOtherProcess, aParentId, this]() -> RefPtr<EnsureRDDPromise> { return LaunchRDDProcess()->Then( GetMainThreadSerialEventTarget(), __func__, - [aOtherProcess, this]() { + [aOtherProcess, aParentId, this]() { if (IsShutdown()) { return EnsureRDDPromise::CreateAndReject(NS_ERROR_NOT_AVAILABLE, __func__); } ipc::Endpoint<PRemoteDecoderManagerChild> endpoint; - if (!CreateContentBridge(aOtherProcess, &endpoint)) { + if (!CreateContentBridge(aOtherProcess, aParentId, &endpoint)) { return EnsureRDDPromise::CreateAndReject(NS_ERROR_NOT_AVAILABLE, __func__); } @@ -275,7 +276,7 @@ void RDDProcessManager::DestroyProcess() { } bool RDDProcessManager::CreateContentBridge( - base::ProcessId aOtherProcess, + base::ProcessId aOtherProcess, dom::ContentParentId aParentId, ipc::Endpoint<PRemoteDecoderManagerChild>* aOutRemoteDecoderManager) { MOZ_ASSERT(NS_IsMainThread()); @@ -296,7 +297,8 @@ bool RDDProcessManager::CreateContentBridge( return false; } - mRDDChild->SendNewContentRemoteDecoderManager(std::move(parentPipe)); + mRDDChild->SendNewContentRemoteDecoderManager(std::move(parentPipe), + aParentId); *aOutRemoteDecoderManager = std::move(childPipe); return true; diff --git a/dom/media/ipc/RDDProcessManager.h b/dom/media/ipc/RDDProcessManager.h index 6d14e37a892f40d1c35d12dc9bab998c4c00738e..730ab4fa1f5bf8ff59adea118f2974e3b15d83a1 100644 --- a/dom/media/ipc/RDDProcessManager.h +++ b/dom/media/ipc/RDDProcessManager.h @@ -8,6 +8,7 @@ #include "mozilla/MozPromise.h" #include "mozilla/PRemoteDecoderManagerChild.h" #include "mozilla/RDDProcessHost.h" +#include "mozilla/dom/ipc/IdType.h" #include "mozilla/ipc/TaskFactory.h" #include "mozilla/PRDDChild.h" #include "nsIObserver.h" @@ -38,7 +39,7 @@ class RDDProcessManager final : public RDDProcessHost::Listener { // If not using a RDD process, launch a new RDD process asynchronously and // create a RemoteDecoderManager bridge RefPtr<EnsureRDDPromise> EnsureRDDProcessAndCreateBridge( - base::ProcessId aOtherProcess); + base::ProcessId aOtherProcess, dom::ContentParentId aParentId); void OnProcessUnexpectedShutdown(RDDProcessHost* aHost) override; @@ -101,7 +102,7 @@ class RDDProcessManager final : public RDDProcessHost::Listener { friend class Observer; bool CreateContentBridge( - base::ProcessId aOtherProcess, + base::ProcessId aOtherProcess, dom::ContentParentId aParentId, ipc::Endpoint<PRemoteDecoderManagerChild>* aOutRemoteDecoderManager); const RefPtr<Observer> mObserver; diff --git a/dom/media/ipc/RemoteDecoderManagerParent.cpp b/dom/media/ipc/RemoteDecoderManagerParent.cpp index 39a68bd21592abd7d0eb47508f343a8dbfb75d1a..bf6dd5c6aa4e4ab13ae25167153c5aadfc5fb57c 100644 --- a/dom/media/ipc/RemoteDecoderManagerParent.cpp +++ b/dom/media/ipc/RemoteDecoderManagerParent.cpp @@ -126,7 +126,8 @@ PDMFactory& RemoteDecoderManagerParent::EnsurePDMFactory() { } bool RemoteDecoderManagerParent::CreateForContent( - Endpoint<PRemoteDecoderManagerParent>&& aEndpoint) { + Endpoint<PRemoteDecoderManagerParent>&& aEndpoint, + dom::ContentParentId aChildId) { MOZ_ASSERT(XRE_GetProcessType() == GeckoProcessType_RDD || XRE_GetProcessType() == GeckoProcessType_Utility || XRE_GetProcessType() == GeckoProcessType_GPU); @@ -136,8 +137,8 @@ bool RemoteDecoderManagerParent::CreateForContent( return false; } - RefPtr<RemoteDecoderManagerParent> parent = - new RemoteDecoderManagerParent(sRemoteDecoderManagerParentThread); + RefPtr<RemoteDecoderManagerParent> parent = new RemoteDecoderManagerParent( + sRemoteDecoderManagerParentThread, aChildId); RefPtr<Runnable> task = NewRunnableMethod<Endpoint<PRemoteDecoderManagerParent>&&>( @@ -175,8 +176,8 @@ bool RemoteDecoderManagerParent::CreateVideoBridgeToOtherProcess( } RemoteDecoderManagerParent::RemoteDecoderManagerParent( - nsISerialEventTarget* aThread) - : mThread(aThread) { + nsISerialEventTarget* aThread, dom::ContentParentId aContentId) + : mThread(aThread), mContentId(aContentId) { MOZ_COUNT_CTOR(RemoteDecoderManagerParent); auto& registrar = XRE_IsGPUProcess() ? GPUParent::GetSingleton()->AsyncShutdownService() diff --git a/dom/media/ipc/RemoteDecoderManagerParent.h b/dom/media/ipc/RemoteDecoderManagerParent.h index 9a8c327d56c00ffec46cd826ed2c0300ed626848..772eee323e454c31665aafe349f6a4bfd690379a 100644 --- a/dom/media/ipc/RemoteDecoderManagerParent.h +++ b/dom/media/ipc/RemoteDecoderManagerParent.h @@ -8,6 +8,7 @@ #include "GPUVideoImage.h" #include "mozilla/PRemoteDecoderManagerParent.h" +#include "mozilla/dom/ipc/IdType.h" #include "mozilla/layers/VideoBridgeChild.h" namespace mozilla { @@ -25,7 +26,8 @@ class RemoteDecoderManagerParent final NS_INLINE_DECL_THREADSAFE_REFCOUNTING(RemoteDecoderManagerParent, override) static bool CreateForContent( - Endpoint<PRemoteDecoderManagerParent>&& aEndpoint); + Endpoint<PRemoteDecoderManagerParent>&& aEndpoint, + dom::ContentParentId aContentId); static bool CreateVideoBridgeToOtherProcess( Endpoint<layers::PVideoBridgeChild>&& aEndpoint); @@ -55,6 +57,8 @@ class RemoteDecoderManagerParent final // Can be called from manager thread only PDMFactory& EnsurePDMFactory(); + const dom::ContentParentId& GetContentId() const { return mContentId; } + protected: PRemoteDecoderParent* AllocPRemoteDecoderParent( const RemoteDecoderInfoIPDL& aRemoteDecoderInfo, @@ -78,7 +82,8 @@ class RemoteDecoderManagerParent final void ActorDestroy(mozilla::ipc::IProtocol::ActorDestroyReason) override; private: - explicit RemoteDecoderManagerParent(nsISerialEventTarget* aThread); + RemoteDecoderManagerParent(nsISerialEventTarget* aThread, + dom::ContentParentId aContentId); ~RemoteDecoderManagerParent(); void Open(Endpoint<PRemoteDecoderManagerParent>&& aEndpoint); @@ -88,6 +93,7 @@ class RemoteDecoderManagerParent final nsCOMPtr<nsISerialEventTarget> mThread; RefPtr<PDMFactory> mPDMFactory; + dom::ContentParentId mContentId; }; } // namespace mozilla diff --git a/dom/media/ipc/RemoteVideoDecoder.cpp b/dom/media/ipc/RemoteVideoDecoder.cpp index ed46103eff6915bd980adfa8cd5ec063328f494b..d3587b4a0bc75a7aefd0b91845bfee1eb2366ba5 100644 --- a/dom/media/ipc/RemoteVideoDecoder.cpp +++ b/dom/media/ipc/RemoteVideoDecoder.cpp @@ -228,7 +228,7 @@ MediaResult RemoteVideoDecoderParent::ProcessDecodedData( if (texture) { if (!texture->IsAddedToCompositableClient()) { - texture->InitIPDLActor(mKnowsCompositor); + texture->InitIPDLActor(mKnowsCompositor, mParent->GetContentId()); texture->SetAddedToCompositableClient(); } needStorage = true; diff --git a/dom/media/mediasource/MediaSource.cpp b/dom/media/mediasource/MediaSource.cpp index 3bcfeae6f719d632264416021e01c4b95f14185f..e38f0fdcb563baed3201886b8b7d08647ef28c13 100644 --- a/dom/media/mediasource/MediaSource.cpp +++ b/dom/media/mediasource/MediaSource.cpp @@ -687,7 +687,7 @@ NS_IMPL_ADDREF_INHERITED(MediaSource, DOMEventTargetHelper) NS_IMPL_RELEASE_INHERITED(MediaSource, DOMEventTargetHelper) NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(MediaSource) - NS_INTERFACE_MAP_ENTRY(mozilla::dom::MediaSource) + NS_INTERFACE_MAP_ENTRY_CONCRETE(mozilla::dom::MediaSource) NS_INTERFACE_MAP_END_INHERITING(DOMEventTargetHelper) #undef MSE_DEBUG diff --git a/dom/media/mediasource/MediaSourceDemuxer.cpp b/dom/media/mediasource/MediaSourceDemuxer.cpp index edfb90839834d84ee37e933fa5191fb423e6a82e..9d08eda4fabda76270ff788e7bd80bb55e18fe69 100644 --- a/dom/media/mediasource/MediaSourceDemuxer.cpp +++ b/dom/media/mediasource/MediaSourceDemuxer.cpp @@ -132,6 +132,7 @@ uint32_t MediaSourceDemuxer::GetNumberTracks(TrackType aType) const { already_AddRefed<MediaTrackDemuxer> MediaSourceDemuxer::GetTrackDemuxer( TrackType aType, uint32_t aTrackNumber) { + MonitorAutoLock mon(mMonitor); RefPtr<TrackBuffersManager> manager = GetManager(aType); if (!manager) { return nullptr; @@ -188,6 +189,8 @@ void MediaSourceDemuxer::DoDetachSourceBuffer( [&aSourceBuffer](const RefPtr<TrackBuffersManager> aLinkedSourceBuffer) { return aLinkedSourceBuffer == aSourceBuffer; }); + + AutoTArray<RefPtr<MediaSourceTrackDemuxer>, 2> matchingDemuxers; { MonitorAutoLock mon(mMonitor); if (aSourceBuffer == mAudioTrack) { @@ -196,18 +199,24 @@ void MediaSourceDemuxer::DoDetachSourceBuffer( if (aSourceBuffer == mVideoTrack) { mVideoTrack = nullptr; } + + mDemuxers.RemoveElementsBy( + [&](RefPtr<MediaSourceTrackDemuxer>& elementRef) { + if (!elementRef->HasManager(aSourceBuffer)) { + return false; + } + matchingDemuxers.AppendElement(std::move(elementRef)); + return true; + }); } - for (auto& demuxer : mDemuxers) { - if (demuxer->HasManager(aSourceBuffer)) { - demuxer->DetachManager(); - } + for (MediaSourceTrackDemuxer* demuxer : matchingDemuxers) { + demuxer->DetachManager(); } ScanSourceBuffersForContent(); } TrackInfo* MediaSourceDemuxer::GetTrackInfo(TrackType aTrack) { - MonitorAutoLock mon(mMonitor); switch (aTrack) { case TrackType::kAudioTrack: return &mInfo.mAudio; @@ -219,7 +228,6 @@ TrackInfo* MediaSourceDemuxer::GetTrackInfo(TrackType aTrack) { } RefPtr<TrackBuffersManager> MediaSourceDemuxer::GetManager(TrackType aTrack) { - MonitorAutoLock mon(mMonitor); switch (aTrack) { case TrackType::kAudioTrack: return mAudioTrack; @@ -281,6 +289,7 @@ MediaSourceTrackDemuxer::MediaSourceTrackDemuxer(MediaSourceDemuxer* aParent, } UniquePtr<TrackInfo> MediaSourceTrackDemuxer::GetInfo() const { + MonitorAutoLock mon(mParent->mMonitor); return mParent->GetTrackInfo(mType)->Clone(); } diff --git a/dom/media/mediasource/MediaSourceDemuxer.h b/dom/media/mediasource/MediaSourceDemuxer.h index a4317b9f5e82b082776db80d9bb9284ec6da196f..215b0210e267a93f0d5e518531509cbbd4c268fd 100644 --- a/dom/media/mediasource/MediaSourceDemuxer.h +++ b/dom/media/mediasource/MediaSourceDemuxer.h @@ -79,8 +79,9 @@ class MediaSourceDemuxer : public MediaDataDemuxer, friend class MediaSourceTrackDemuxer; // Scan source buffers and update information. bool ScanSourceBuffersForContent(); - RefPtr<TrackBuffersManager> GetManager(TrackInfo::TrackType aType); - TrackInfo* GetTrackInfo(TrackInfo::TrackType); + RefPtr<TrackBuffersManager> GetManager(TrackInfo::TrackType aType) + MOZ_REQUIRES(mMonitor); + TrackInfo* GetTrackInfo(TrackInfo::TrackType) MOZ_REQUIRES(mMonitor); void DoAttachSourceBuffer(RefPtr<TrackBuffersManager>&& aSourceBuffer); void DoDetachSourceBuffer(const RefPtr<TrackBuffersManager>& aSourceBuffer); bool OnTaskQueue() { @@ -88,17 +89,16 @@ class MediaSourceDemuxer : public MediaDataDemuxer, } RefPtr<TaskQueue> mTaskQueue; - nsTArray<RefPtr<MediaSourceTrackDemuxer>> mDemuxers; - + // Accessed on mTaskQueue or from destructor nsTArray<RefPtr<TrackBuffersManager>> mSourceBuffers; - MozPromiseHolder<InitPromise> mInitPromise; // Monitor to protect members below across multiple threads. - mutable Monitor mMonitor MOZ_UNANNOTATED; - RefPtr<TrackBuffersManager> mAudioTrack; - RefPtr<TrackBuffersManager> mVideoTrack; - MediaInfo mInfo; + mutable Monitor mMonitor; + nsTArray<RefPtr<MediaSourceTrackDemuxer>> mDemuxers MOZ_GUARDED_BY(mMonitor); + RefPtr<TrackBuffersManager> mAudioTrack MOZ_GUARDED_BY(mMonitor); + RefPtr<TrackBuffersManager> mVideoTrack MOZ_GUARDED_BY(mMonitor); + MediaInfo mInfo MOZ_GUARDED_BY(mMonitor); }; class MediaSourceTrackDemuxer @@ -107,7 +107,8 @@ class MediaSourceTrackDemuxer public: MediaSourceTrackDemuxer(MediaSourceDemuxer* aParent, TrackInfo::TrackType aType, - TrackBuffersManager* aManager); + TrackBuffersManager* aManager) + MOZ_REQUIRES(aParent->mMonitor); UniquePtr<TrackInfo> GetInfo() const override; diff --git a/dom/media/webaudio/AudioContext.cpp b/dom/media/webaudio/AudioContext.cpp index e67fbc64487b8ccdd6ec7e2c6eb16537279cab92..80df77e9a61ee315b3eede0be32a9108c2371d42 100644 --- a/dom/media/webaudio/AudioContext.cpp +++ b/dom/media/webaudio/AudioContext.cpp @@ -841,8 +841,8 @@ class OnStateChangeTask final : public Runnable { } return nsContentUtils::DispatchTrustedEvent( - doc, static_cast<DOMEventTargetHelper*>(mAudioContext), - u"statechange"_ns, CanBubble::eNo, Cancelable::eNo); + doc, static_cast<EventTarget*>(mAudioContext), u"statechange"_ns, + CanBubble::eNo, Cancelable::eNo); } private: @@ -1192,7 +1192,7 @@ void AudioContext::ReportBlocked() { AUTOPLAY_LOG("Dispatch `blocked` event for AudioContext %p", self.get()); nsContentUtils::DispatchTrustedEvent( - doc, static_cast<DOMEventTargetHelper*>(self), u"blocked"_ns, + doc, static_cast<EventTarget*>(self), u"blocked"_ns, CanBubble::eNo, Cancelable::eNo); }); Dispatch(r.forget()); diff --git a/dom/media/webspeech/recognition/SpeechRecognitionAlternative.cpp b/dom/media/webspeech/recognition/SpeechRecognitionAlternative.cpp index b119e3fd4324171edab776768e6ba30b1e7b2733..4dee9090a735360ad1833915f3872f48d29a05cc 100644 --- a/dom/media/webspeech/recognition/SpeechRecognitionAlternative.cpp +++ b/dom/media/webspeech/recognition/SpeechRecognitionAlternative.cpp @@ -32,7 +32,7 @@ JSObject* SpeechRecognitionAlternative::WrapObject( } nsISupports* SpeechRecognitionAlternative::GetParentObject() const { - return static_cast<DOMEventTargetHelper*>(mParent.get()); + return static_cast<EventTarget*>(mParent.get()); } void SpeechRecognitionAlternative::GetTranscript(nsString& aRetVal) const { diff --git a/dom/media/webspeech/recognition/SpeechRecognitionResult.cpp b/dom/media/webspeech/recognition/SpeechRecognitionResult.cpp index 6c66d1da5f19c61e4be598dafcf6f2e5736d6cd5..009281b2342bf7d522c675230d40345390dd0050 100644 --- a/dom/media/webspeech/recognition/SpeechRecognitionResult.cpp +++ b/dom/media/webspeech/recognition/SpeechRecognitionResult.cpp @@ -30,7 +30,7 @@ JSObject* SpeechRecognitionResult::WrapObject( } nsISupports* SpeechRecognitionResult::GetParentObject() const { - return static_cast<DOMEventTargetHelper*>(mParent.get()); + return static_cast<EventTarget*>(mParent.get()); } already_AddRefed<SpeechRecognitionAlternative> diff --git a/dom/media/webspeech/recognition/SpeechRecognitionResultList.cpp b/dom/media/webspeech/recognition/SpeechRecognitionResultList.cpp index fc6048fe28d10a1a75a7c9af3a35cb2dbaa99015..2aa81a5982a61537a868731cc9ff9a12e682e5b4 100644 --- a/dom/media/webspeech/recognition/SpeechRecognitionResultList.cpp +++ b/dom/media/webspeech/recognition/SpeechRecognitionResultList.cpp @@ -28,7 +28,7 @@ SpeechRecognitionResultList::SpeechRecognitionResultList( SpeechRecognitionResultList::~SpeechRecognitionResultList() = default; nsISupports* SpeechRecognitionResultList::GetParentObject() const { - return static_cast<DOMEventTargetHelper*>(mParent.get()); + return static_cast<EventTarget*>(mParent.get()); } JSObject* SpeechRecognitionResultList::WrapObject( diff --git a/dom/media/webvtt/TextTrackCue.cpp b/dom/media/webvtt/TextTrackCue.cpp index a1d46e3c2a5463e9adcecaabd6e7cd1c5a538d61..434337a3370f396db0989cc3c322c2627648ac34 100644 --- a/dom/media/webvtt/TextTrackCue.cpp +++ b/dom/media/webvtt/TextTrackCue.cpp @@ -131,7 +131,8 @@ already_AddRefed<DocumentFragment> TextTrackCue::GetCueAsHTML() { } RefPtr<DocumentFragment> frag; - sParserWrapper->ConvertCueToDOMTree(window, this, getter_AddRefs(frag)); + sParserWrapper->ConvertCueToDOMTree(window, static_cast<EventTarget*>(this), + getter_AddRefs(frag)); if (!frag) { return mDocument->CreateDocumentFragment(); } diff --git a/dom/performance/PerformanceMainThread.cpp b/dom/performance/PerformanceMainThread.cpp index 732fee274a07b1cb6fb7daa15e4c626f2f18abb0..d0e942ab5a563f263181117fb44c55bd1d5d41be 100644 --- a/dom/performance/PerformanceMainThread.cpp +++ b/dom/performance/PerformanceMainThread.cpp @@ -85,7 +85,7 @@ NS_IMPL_RELEASE_INHERITED(PerformanceMainThread, Performance) // QueryInterface implementation for PerformanceMainThread NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(PerformanceMainThread) NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY - NS_INTERFACE_MAP_ENTRY(nsISupports) + NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, EventTarget) NS_INTERFACE_MAP_END_INHERITING(Performance) PerformanceMainThread::PerformanceMainThread(nsPIDOMWindowInner* aWindow, diff --git a/dom/quota/EncryptingOutputStream.h b/dom/quota/EncryptingOutputStream.h index d742466e42d69ad89898446f907562d5c1997a44..9a23037731f55e94d2c2d5847882a5bd99406178 100644 --- a/dom/quota/EncryptingOutputStream.h +++ b/dom/quota/EncryptingOutputStream.h @@ -24,6 +24,7 @@ #include "nscore.h" class nsIInputStream; +class nsIRandomGenerator; namespace mozilla::dom::quota { class EncryptingOutputStreamBase : public nsIOutputStream { @@ -83,6 +84,8 @@ class EncryptingOutputStream final : public EncryptingOutputStreamBase { // effective block size at a block boundary. nsTArray<uint8_t> mBuffer; + nsCOMPtr<nsIRandomGenerator> mRandomGenerator; + // The next byte in the plain data to copy incoming data to. size_t mNextByte = 0; diff --git a/dom/quota/EncryptingOutputStream_impl.h b/dom/quota/EncryptingOutputStream_impl.h index ebe6f855cbead6238145e709cd4eb2b5070edeee..bf48d49f69530e57dc0ba714965c222c3287a900 100644 --- a/dom/quota/EncryptingOutputStream_impl.h +++ b/dom/quota/EncryptingOutputStream_impl.h @@ -18,6 +18,8 @@ #include "nsDebug.h" #include "nsError.h" #include "nsIAsyncOutputStream.h" +#include "nsIRandomGenerator.h" +#include "nsServiceManagerUtils.h" namespace mozilla::dom::quota { template <typename CipherStrategy> @@ -207,6 +209,31 @@ nsresult EncryptingOutputStream<CipherStrategy>::FlushToBaseStream() { return NS_OK; } + if (mNextByte < mEncryptedBlock->MaxPayloadLength()) { + if (!mRandomGenerator) { + mRandomGenerator = + do_GetService("@mozilla.org/security/random-generator;1"); + if (NS_WARN_IF(!mRandomGenerator)) { + return NS_ERROR_FAILURE; + } + } + + const auto payload = mEncryptedBlock->MutablePayload(); + + const auto unusedPayload = payload.From(mNextByte); + + uint8_t* buffer; + nsresult rv = + mRandomGenerator->GenerateRandomBytes(unusedPayload.Length(), &buffer); + if (NS_WARN_IF(NS_FAILED(rv)) || !buffer) { + return rv; + } + + memcpy(unusedPayload.Elements(), buffer, unusedPayload.Length()); + + free(buffer); + } + // XXX The compressing stream implementation this was based on wrote a stream // identifier, containing e.g. the block size. Should we do something like // that as well? At the moment, we don't need it, but maybe this were diff --git a/dom/serviceworkers/ServiceWorker.cpp b/dom/serviceworkers/ServiceWorker.cpp index c566c33a9d841060f15068c049e5b7baaf8620e0..c554124fac759d592c4a6b9a1b9bb78dfa613eea 100644 --- a/dom/serviceworkers/ServiceWorker.cpp +++ b/dom/serviceworkers/ServiceWorker.cpp @@ -130,7 +130,7 @@ NS_IMPL_ADDREF_INHERITED(ServiceWorker, DOMEventTargetHelper) NS_IMPL_RELEASE_INHERITED(ServiceWorker, DOMEventTargetHelper) NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(ServiceWorker) - NS_INTERFACE_MAP_ENTRY(ServiceWorker) + NS_INTERFACE_MAP_ENTRY_CONCRETE(ServiceWorker) NS_INTERFACE_MAP_END_INHERITING(DOMEventTargetHelper) JSObject* ServiceWorker::WrapObject(JSContext* aCx, diff --git a/dom/serviceworkers/ServiceWorkerRegistration.cpp b/dom/serviceworkers/ServiceWorkerRegistration.cpp index ed5b9d8571c12a3f3bb183588a15e76d8a68a823..3d9c8f8f5bdebacd43cd12cc2d9f33c2dcf4b455 100644 --- a/dom/serviceworkers/ServiceWorkerRegistration.cpp +++ b/dom/serviceworkers/ServiceWorkerRegistration.cpp @@ -37,7 +37,7 @@ NS_IMPL_ADDREF_INHERITED(ServiceWorkerRegistration, DOMEventTargetHelper) NS_IMPL_RELEASE_INHERITED(ServiceWorkerRegistration, DOMEventTargetHelper) NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(ServiceWorkerRegistration) - NS_INTERFACE_MAP_ENTRY(ServiceWorkerRegistration) + NS_INTERFACE_MAP_ENTRY_CONCRETE(ServiceWorkerRegistration) NS_INTERFACE_MAP_END_INHERITING(DOMEventTargetHelper) namespace { diff --git a/dom/streams/UnderlyingSourceCallbackHelpers.cpp b/dom/streams/UnderlyingSourceCallbackHelpers.cpp index 8c5f52d466dcfd285c63d5a5fb6a389c8e63b3ea..373e46390fc84d20eb1b39e409221111176f50d5 100644 --- a/dom/streams/UnderlyingSourceCallbackHelpers.cpp +++ b/dom/streams/UnderlyingSourceCallbackHelpers.cpp @@ -154,9 +154,10 @@ already_AddRefed<Promise> UnderlyingSourceAlgorithmsWrapper::CancelCallback( NS_IMPL_ISUPPORTS(InputStreamHolder, nsIInputStreamCallback) -InputStreamHolder::InputStreamHolder(InputToReadableStreamAlgorithms* aCallback, +InputStreamHolder::InputStreamHolder(nsIGlobalObject* aGlobal, + InputToReadableStreamAlgorithms* aCallback, nsIAsyncInputStream* aInput) - : mCallback(aCallback), mInput(aInput) {} + : GlobalTeardownObserver(aGlobal), mCallback(aCallback), mInput(aInput) {} void InputStreamHolder::Init(JSContext* aCx) { if (!NS_IsMainThread()) { @@ -169,9 +170,8 @@ void InputStreamHolder::Init(JSContext* aCx) { // Note, this will create a ref-cycle between the holder and the stream. // The cycle is broken when the stream is closed or the worker begins // shutting down. - mWorkerRef = - StrongWorkerRef::Create(workerPrivate, "InputStreamHolder", - [self = RefPtr{this}]() { self->Shutdown(); }); + mWorkerRef = StrongWorkerRef::Create(workerPrivate, "InputStreamHolder", + [self = RefPtr{this}]() {}); if (NS_WARN_IF(!mWorkerRef)) { return; } @@ -180,13 +180,26 @@ void InputStreamHolder::Init(JSContext* aCx) { InputStreamHolder::~InputStreamHolder() = default; +void InputStreamHolder::DisconnectFromOwner() { + Shutdown(); + GlobalTeardownObserver::DisconnectFromOwner(); +} + void InputStreamHolder::Shutdown() { - if (mWorkerRef) { - mInput->CloseWithStatus(NS_BASE_STREAM_CLOSED); - mWorkerRef = nullptr; - // If we have an AsyncWait running, we'll get a callback and clear - // the mAsyncWaitWorkerRef + if (mInput) { + mInput->Close(); } + // NOTE(krosylight): Dropping mAsyncWaitAlgorithms here means letting cycle + // collection happen on the underlying source, which can cause a dangling + // read promise that never resolves. Doing so shouldn't be a problem at + // shutdown phase. + // Note that this is currently primarily for Fetch which does not explicitly + // close its streams at shutdown. (i.e. to prevent memory leak for cases e.g + // WPT /fetch/api/basic/stream-response.any.html) + mAsyncWaitAlgorithms = nullptr; + // If we have an AsyncWait running, we'll get a callback and clear + // the mAsyncWaitWorkerRef + mWorkerRef = nullptr; } nsresult InputStreamHolder::AsyncWait(uint32_t aFlags, uint32_t aRequestedCount, @@ -194,6 +207,7 @@ nsresult InputStreamHolder::AsyncWait(uint32_t aFlags, uint32_t aRequestedCount, nsresult rv = mInput->AsyncWait(this, aFlags, aRequestedCount, aEventTarget); if (NS_SUCCEEDED(rv)) { mAsyncWaitWorkerRef = mWorkerRef; + mAsyncWaitAlgorithms = mCallback; } return rv; } @@ -201,6 +215,7 @@ nsresult InputStreamHolder::AsyncWait(uint32_t aFlags, uint32_t aRequestedCount, NS_IMETHODIMP InputStreamHolder::OnInputStreamReady( nsIAsyncInputStream* aStream) { mAsyncWaitWorkerRef = nullptr; + mAsyncWaitAlgorithms = nullptr; // We may get called back after ::Shutdown() if (mCallback) { return mCallback->OnInputStreamReady(aStream); @@ -215,6 +230,14 @@ NS_IMPL_CYCLE_COLLECTION_WEAK_PTR_INHERITED(InputToReadableStreamAlgorithms, UnderlyingSourceAlgorithmsWrapper, mPullPromise, mStream) +InputToReadableStreamAlgorithms::InputToReadableStreamAlgorithms( + JSContext* aCx, nsIAsyncInputStream* aInput, ReadableStream* aStream) + : mOwningEventTarget(GetCurrentSerialEventTarget()), + mInput(new InputStreamHolder(aStream->GetParentObject(), this, aInput)), + mStream(aStream) { + mInput->Init(aCx); +} + already_AddRefed<Promise> InputToReadableStreamAlgorithms::PullCallbackImpl( JSContext* aCx, ReadableStreamController& aController, ErrorResult& aRv) { MOZ_ASSERT(aController.IsByte()); diff --git a/dom/streams/UnderlyingSourceCallbackHelpers.h b/dom/streams/UnderlyingSourceCallbackHelpers.h index 179ecaee44afc48890521f91cbd970e51c75e954..1859204f324d774398e5145feb41c698bfb7ceaa 100644 --- a/dom/streams/UnderlyingSourceCallbackHelpers.h +++ b/dom/streams/UnderlyingSourceCallbackHelpers.h @@ -7,6 +7,7 @@ #ifndef mozilla_dom_UnderlyingSourceCallbackHelpers_h #define mozilla_dom_UnderlyingSourceCallbackHelpers_h +#include "mozilla/DOMEventTargetHelper.h" #include "mozilla/HoldDropJSObjects.h" #include "mozilla/dom/Promise.h" #include "mozilla/dom/UnderlyingSourceBinding.h" @@ -169,17 +170,21 @@ class InputToReadableStreamAlgorithms; // causing a Worker to assert with globalScopeAlive. By isolating // ourselves from the inputstream, we can safely be CC'd if needed and // will inform the inputstream to shut down. -class InputStreamHolder final : public nsIInputStreamCallback { +class InputStreamHolder final : public nsIInputStreamCallback, + public GlobalTeardownObserver { public: NS_DECL_THREADSAFE_ISUPPORTS NS_DECL_NSIINPUTSTREAMCALLBACK - InputStreamHolder(InputToReadableStreamAlgorithms* aCallback, + InputStreamHolder(nsIGlobalObject* aGlobal, + InputToReadableStreamAlgorithms* aCallback, nsIAsyncInputStream* aInput); void Init(JSContext* aCx); - // Used by Worker shutdown + void DisconnectFromOwner() override; + + // Used by global teardown void Shutdown(); // These just proxy the calls to the nsIAsyncInputStream @@ -202,8 +207,20 @@ class InputStreamHolder final : public nsIInputStreamCallback { RefPtr<StrongWorkerRef> mAsyncWaitWorkerRef; RefPtr<StrongWorkerRef> mWorkerRef; nsCOMPtr<nsIAsyncInputStream> mInput; + + // To ensure the underlying source sticks around during an ongoing read + // operation. mAlgorithms is not cycle collected on purpose, and this holder + // is responsible to keep the underlying source algorithms until + // nsIAsyncInputStream responds. + // + // This is done because otherwise the whole stream objects may be cycle + // collected, including the promises created from read(), as our JS engine may + // throw unsettled promises away for optimization. See bug 1849860. + RefPtr<InputToReadableStreamAlgorithms> mAsyncWaitAlgorithms; }; +// Using this class means you are also passing the lifetime control of your +// nsIAsyncInputStream, as it will be closed when this class tears down. class InputToReadableStreamAlgorithms final : public UnderlyingSourceAlgorithmsWrapper, public nsIInputStreamCallback, @@ -214,12 +231,7 @@ class InputToReadableStreamAlgorithms final UnderlyingSourceAlgorithmsWrapper) InputToReadableStreamAlgorithms(JSContext* aCx, nsIAsyncInputStream* aInput, - ReadableStream* aStream) - : mOwningEventTarget(GetCurrentSerialEventTarget()), - mInput(new InputStreamHolder(this, aInput)), - mStream(aStream) { - mInput->Init(aCx); - } + ReadableStream* aStream); // Streams algorithms diff --git a/dom/vr/VRDisplay.cpp b/dom/vr/VRDisplay.cpp index 7c788a4c578162a673af40d6afcea27c161ab453..474513dc5da8c2c837c4a1a80049f990b58e5bb6 100644 --- a/dom/vr/VRDisplay.cpp +++ b/dom/vr/VRDisplay.cpp @@ -634,7 +634,7 @@ NS_IMPL_RELEASE_INHERITED(VRDisplay, DOMEventTargetHelper) NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(VRDisplay) NS_INTERFACE_MAP_ENTRY(nsIObserver) - NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, DOMEventTargetHelper) + NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, EventTarget) NS_INTERFACE_MAP_END_INHERITING(DOMEventTargetHelper) NS_IMPL_CYCLE_COLLECTION_CLASS(VRFrameData) diff --git a/dom/vr/XRSession.cpp b/dom/vr/XRSession.cpp index 90789de9dbd97a140ab7aa9a60915a577a44b718..a3b659634a5a5ccfbd998b5d62b2b1f040d000e0 100644 --- a/dom/vr/XRSession.cpp +++ b/dom/vr/XRSession.cpp @@ -526,7 +526,8 @@ RefPtr<XRViewerPose> XRSession::PooledViewerPose( pose->Transform()->Update(aTransform); pose->SetEmulatedPosition(aEmulatedPosition); } else { - RefPtr<XRRigidTransform> transform = new XRRigidTransform(this, aTransform); + RefPtr<XRRigidTransform> transform = + new XRRigidTransform(static_cast<EventTarget*>(this), aTransform); nsTArray<RefPtr<XRView>> views; if (IsImmersive()) { views.AppendElement(new XRView(GetParentObject(), XREye::Left)); @@ -534,7 +535,8 @@ RefPtr<XRViewerPose> XRSession::PooledViewerPose( } else { views.AppendElement(new XRView(GetParentObject(), XREye::None)); } - pose = new XRViewerPose(this, transform, aEmulatedPosition, views); + pose = new XRViewerPose(static_cast<EventTarget*>(this), transform, + aEmulatedPosition, views); mViewerPosePool.AppendElement(pose); } diff --git a/dom/webidl/Window.webidl b/dom/webidl/Window.webidl index 07203687cb688547a5fce3a53dc965c27b844fd8..1bee8ab8de95d97bbb2a14d2a2787ff2e429eb10 100644 --- a/dom/webidl/Window.webidl +++ b/dom/webidl/Window.webidl @@ -579,6 +579,14 @@ partial interface Window { */ [ChromeOnly] readonly attribute Principal? clientPrincipal; + + /** + * Whether the chrome window is currently in a full screen transition. This + * flag is updated from FullscreenTransitionTask. + * Always set to false for non-chrome windows. + */ + [ChromeOnly] + readonly attribute boolean isInFullScreenTransition; }; Window includes TouchEventHandlers; diff --git a/dom/websocket/WebSocket.cpp b/dom/websocket/WebSocket.cpp index 63543a6b96cc17bf141f5fb6ce87972a2d0dd5a6..39b3501ea2adeea81b0b89bd094f052124c9502a 100644 --- a/dom/websocket/WebSocket.cpp +++ b/dom/websocket/WebSocket.cpp @@ -2504,13 +2504,14 @@ void WebSocket::Close(const Optional<uint16_t>& aCode, return; } + RefPtr<WebSocketImpl> impl = mImpl; if (readyState == CONNECTING) { - mImpl->FailConnection(closeCode, closeReason); + impl->FailConnection(closeCode, closeReason); return; } MOZ_ASSERT(readyState == OPEN); - mImpl->CloseConnection(closeCode, closeReason); + impl->CloseConnection(closeCode, closeReason); } //----------------------------------------------------------------------------- diff --git a/dom/workers/ScriptLoader.cpp b/dom/workers/ScriptLoader.cpp index ee4936e2df94a16f083d9483b15010ff0a5ebdd7..315be95ffedacfcd3c9fa2fa9e983671834b0ef4 100644 --- a/dom/workers/ScriptLoader.cpp +++ b/dom/workers/ScriptLoader.cpp @@ -621,8 +621,22 @@ already_AddRefed<ScriptLoadRequest> WorkerScriptLoader::CreateScriptLoadRequest( Maybe<ClientInfo> clientInfo = GetGlobal()->GetClientInfo(); - RefPtr<WorkerLoadContext> loadContext = - new WorkerLoadContext(kind, clientInfo, this); + // (For non-serviceworkers, this variable does not matter, but false best + // captures their behavior.) + bool onlyExistingCachedResourcesAllowed = false; + if (mWorkerRef->Private()->IsServiceWorker()) { + // https://w3c.github.io/ServiceWorker/#importscripts step 4: + // > 4. If serviceWorker’s state is not "parsed" or "installing": + // > 1. Return map[url] if it exists and a network error otherwise. + // + // So if our state is beyond installing, it's too late to make a request + // that would perform a new fetch which would be cached. + onlyExistingCachedResourcesAllowed = + mWorkerRef->Private()->GetServiceWorkerDescriptor().State() > + ServiceWorkerState::Installing; + } + RefPtr<WorkerLoadContext> loadContext = new WorkerLoadContext( + kind, clientInfo, this, onlyExistingCachedResourcesAllowed); // Create ScriptLoadRequests for this WorkerScriptLoader ReferrerPolicy referrerPolicy = mWorkerRef->Private()->GetReferrerPolicy(); @@ -1363,7 +1377,8 @@ nsresult ScriptLoaderRunnable::Run() { handle->mRunnable = this; WorkerLoadContext* loadContext = handle->GetContext(); mCacheCreator->AddLoader(MakeNotNull<RefPtr<CacheLoadHandler>>( - mWorkerRef, handle, loadContext->IsTopLevel(), mScriptLoader)); + mWorkerRef, handle, loadContext->IsTopLevel(), + loadContext->mOnlyExistingCachedResourcesAllowed, mScriptLoader)); } // The worker may have a null principal on first load, but in that case its diff --git a/dom/workers/WorkerPrivate.cpp b/dom/workers/WorkerPrivate.cpp index db39206f09c679564392095e51f60aeb3f32628f..fc349c16422da02452d7018be25dd8dbaf1bda75 100644 --- a/dom/workers/WorkerPrivate.cpp +++ b/dom/workers/WorkerPrivate.cpp @@ -3943,7 +3943,7 @@ void WorkerPrivate::ClearMainEventQueue(WorkerRanOrNot aRanOrNot) { // It's appropriate to disconnect event targets at the point that it's no // longer possible for new tasks to be dispatched at the global, and this is // that point. - globalScope->DisconnectEventTargetObjects(); + globalScope->DisconnectGlobalTeardownObservers(); globalScope->WorkerPrivateSaysForbidScript(); } diff --git a/dom/workers/WorkerScope.cpp b/dom/workers/WorkerScope.cpp index 7c5646016293712532af5eac7edcf47fa9817b7c..8a592e4065bc8ec3269754969ce6ffc1ffa6f49a 100644 --- a/dom/workers/WorkerScope.cpp +++ b/dom/workers/WorkerScope.cpp @@ -824,15 +824,16 @@ WorkerGlobalScope::GetServiceWorkerRegistration( const ServiceWorkerRegistrationDescriptor& aDescriptor) const { AssertIsOnWorkerThread(); RefPtr<ServiceWorkerRegistration> ref; - ForEachEventTargetObject([&](DOMEventTargetHelper* aTarget, bool* aDoneOut) { - RefPtr<ServiceWorkerRegistration> swr = do_QueryObject(aTarget); - if (!swr || !swr->MatchesDescriptor(aDescriptor)) { - return; - } - - ref = std::move(swr); - *aDoneOut = true; - }); + ForEachGlobalTeardownObserver( + [&](GlobalTeardownObserver* aObserver, bool* aDoneOut) { + RefPtr<ServiceWorkerRegistration> swr = do_QueryObject(aObserver); + if (!swr || !swr->MatchesDescriptor(aDescriptor)) { + return; + } + + ref = std::move(swr); + *aDoneOut = true; + }); return ref; } diff --git a/dom/workers/loader/CacheLoadHandler.cpp b/dom/workers/loader/CacheLoadHandler.cpp index 1ffa82b077150d2e62fa45c6cd5e3eab7d43904f..3e43ce224c560f7dd79ce46905a2b9dafa00f8e9 100644 --- a/dom/workers/loader/CacheLoadHandler.cpp +++ b/dom/workers/loader/CacheLoadHandler.cpp @@ -237,13 +237,14 @@ void CacheCreator::DeleteCache(nsresult aReason) { CacheLoadHandler::CacheLoadHandler(ThreadSafeWorkerRef* aWorkerRef, ThreadSafeRequestHandle* aRequestHandle, bool aIsWorkerScript, + bool aOnlyExistingCachedResourcesAllowed, WorkerScriptLoader* aLoader) : mRequestHandle(aRequestHandle), mLoader(aLoader), mWorkerRef(aWorkerRef), mIsWorkerScript(aIsWorkerScript), mFailed(false), - mState(aWorkerRef->Private()->GetServiceWorkerDescriptor().State()) { + mOnlyExistingCachedResourcesAllowed(aOnlyExistingCachedResourcesAllowed) { MOZ_ASSERT(aWorkerRef); MOZ_ASSERT(aWorkerRef->Private()->IsServiceWorker()); mMainThreadEventTarget = aWorkerRef->Private()->MainThreadEventTarget(); @@ -373,9 +374,7 @@ void CacheLoadHandler::ResolvedCallback(JSContext* aCx, // storage was probably wiped without removing the service worker // registration. It can also happen for exposed reasons like the // service worker script calling importScripts() after install. - if (NS_WARN_IF(mIsWorkerScript || - (mState != ServiceWorkerState::Parsed && - mState != ServiceWorkerState::Installing))) { + if (NS_WARN_IF(mIsWorkerScript || mOnlyExistingCachedResourcesAllowed)) { Fail(NS_ERROR_DOM_INVALID_STATE_ERR); return; } diff --git a/dom/workers/loader/CacheLoadHandler.h b/dom/workers/loader/CacheLoadHandler.h index c14d5c1d43122b2b19b13fa11f86daab45e9daa3..b1e164b79e9520163422fd9b09324695fb2aadf6 100644 --- a/dom/workers/loader/CacheLoadHandler.h +++ b/dom/workers/loader/CacheLoadHandler.h @@ -82,7 +82,9 @@ class CacheLoadHandler final : public PromiseNativeHandler, CacheLoadHandler(ThreadSafeWorkerRef* aWorkerRef, ThreadSafeRequestHandle* aRequestHandle, - bool aIsWorkerScript, WorkerScriptLoader* aLoader); + bool aIsWorkerScript, + bool aOnlyExistingCachedResourcesAllowed, + WorkerScriptLoader* aLoader); void Fail(nsresult aRv); @@ -110,7 +112,7 @@ class CacheLoadHandler final : public PromiseNativeHandler, RefPtr<ThreadSafeWorkerRef> mWorkerRef; const bool mIsWorkerScript; bool mFailed; - const ServiceWorkerState mState; + bool mOnlyExistingCachedResourcesAllowed; nsCOMPtr<nsIInputStreamPump> mPump; nsCOMPtr<nsIURI> mBaseURI; mozilla::dom::ChannelInfo mChannelInfo; diff --git a/dom/workers/loader/WorkerLoadContext.cpp b/dom/workers/loader/WorkerLoadContext.cpp index 2e565bad4604f5ebb06a4507072a35a29c1b4e64..a788d5173c7acddfb0a52c30ef35e4f88bbf8713 100644 --- a/dom/workers/loader/WorkerLoadContext.cpp +++ b/dom/workers/loader/WorkerLoadContext.cpp @@ -13,11 +13,14 @@ namespace dom { WorkerLoadContext::WorkerLoadContext( Kind aKind, const Maybe<ClientInfo>& aClientInfo, - workerinternals::loader::WorkerScriptLoader* aScriptLoader) + workerinternals::loader::WorkerScriptLoader* aScriptLoader, + bool aOnlyExistingCachedResourcesAllowed) : JS::loader::LoadContextBase(JS::loader::ContextKind::Worker), mKind(aKind), mClientInfo(aClientInfo), - mScriptLoader(aScriptLoader){}; + mScriptLoader(aScriptLoader), + mOnlyExistingCachedResourcesAllowed( + aOnlyExistingCachedResourcesAllowed){}; ThreadSafeRequestHandle::ThreadSafeRequestHandle( JS::loader::ScriptLoadRequest* aRequest, nsISerialEventTarget* aSyncTarget) diff --git a/dom/workers/loader/WorkerLoadContext.h b/dom/workers/loader/WorkerLoadContext.h index 9829eb12093751fec4fe43f897bf8d17ab0e117a..97362f2871ef75069f056192e6d8357a32e11cef 100644 --- a/dom/workers/loader/WorkerLoadContext.h +++ b/dom/workers/loader/WorkerLoadContext.h @@ -98,7 +98,8 @@ class WorkerLoadContext : public JS::loader::LoadContextBase { }; WorkerLoadContext(Kind aKind, const Maybe<ClientInfo>& aClientInfo, - workerinternals::loader::WorkerScriptLoader* aScriptLoader); + workerinternals::loader::WorkerScriptLoader* aScriptLoader, + bool aOnlyExistingCachedResourcesAllowed); // Used to detect if the `is top-level` bit is set on a given module. bool IsTopLevel() { @@ -163,6 +164,11 @@ class WorkerLoadContext : public JS::loader::LoadContextBase { CacheStatus mCacheStatus = Uncached; + // If the requested script is not currently in the cache, should we initiate + // a request to fetch and cache it? Only ServiceWorkers that are being + // installed are allowed to go to the network (and then cache the result). + bool mOnlyExistingCachedResourcesAllowed = false; + bool IsAwaitingPromise() const { return bool(mCachePromise); } }; diff --git a/dom/workers/loader/WorkerModuleLoader.cpp b/dom/workers/loader/WorkerModuleLoader.cpp index f7aa56a1c594f1c25edca59b10e46637d5863e5f..2a2f892edbc3b34d0956c804d00e7a86375f5d81 100644 --- a/dom/workers/loader/WorkerModuleLoader.cpp +++ b/dom/workers/loader/WorkerModuleLoader.cpp @@ -49,9 +49,10 @@ already_AddRefed<ModuleLoadRequest> WorkerModuleLoader::CreateStaticImport( // See Discussion in https://github.com/w3c/webappsec-csp/issues/336 Maybe<ClientInfo> clientInfo = GetGlobalObject()->GetClientInfo(); - RefPtr<WorkerLoadContext> loadContext = - new WorkerLoadContext(WorkerLoadContext::Kind::StaticImport, clientInfo, - aParent->GetWorkerLoadContext()->mScriptLoader); + RefPtr<WorkerLoadContext> loadContext = new WorkerLoadContext( + WorkerLoadContext::Kind::StaticImport, clientInfo, + aParent->GetWorkerLoadContext()->mScriptLoader, + aParent->GetWorkerLoadContext()->mOnlyExistingCachedResourcesAllowed); RefPtr<ModuleLoadRequest> request = new ModuleLoadRequest( aURI, aParent->mFetchOptions, SRIMetadata(), aParent->mURI, loadContext, false, /* is top level */ @@ -90,6 +91,8 @@ already_AddRefed<ModuleLoadRequest> WorkerModuleLoader::CreateDynamicImport( } // Not supported for Service Workers. + // https://github.com/w3c/ServiceWorker/issues/1585 covers existing discussion + // about potentially supporting use of import(). if (workerPrivate->IsServiceWorker()) { return nullptr; } @@ -110,9 +113,16 @@ already_AddRefed<ModuleLoadRequest> WorkerModuleLoader::CreateDynamicImport( Maybe<ClientInfo> clientInfo = GetGlobalObject()->GetClientInfo(); - RefPtr<WorkerLoadContext> context = - new WorkerLoadContext(WorkerLoadContext::Kind::DynamicImport, clientInfo, - GetCurrentScriptLoader()); + RefPtr<WorkerLoadContext> context = new WorkerLoadContext( + WorkerLoadContext::Kind::DynamicImport, clientInfo, + GetCurrentScriptLoader(), + // When dynamic import is supported in ServiceWorkers, + // the current plan in onlyExistingCachedResourcesAllowed + // is that only existing cached resources will be + // allowed. (`import()` will not be used for caching + // side effects, but instead a specific method will be + // used during installation.) + true); RefPtr<ModuleLoadRequest> request = new ModuleLoadRequest( aURI, options, SRIMetadata(), baseURL, context, true, diff --git a/dom/xhr/XMLHttpRequestWorker.cpp b/dom/xhr/XMLHttpRequestWorker.cpp index fb7f2b715e16d6242709837bc1825fa217f2329b..3916ec3a92ace1466fbb3eb28b081929d87a110a 100644 --- a/dom/xhr/XMLHttpRequestWorker.cpp +++ b/dom/xhr/XMLHttpRequestWorker.cpp @@ -92,10 +92,13 @@ class Proxy final : public nsIDOMEventListener { public: // Read on multiple threads. WorkerPrivate* mWorkerPrivate; - XMLHttpRequestWorker* mXMLHttpRequestPrivate; const ClientInfo mClientInfo; const Maybe<ServiceWorkerDescriptor> mController; + // Only ever dereferenced and/or checked on the worker thread. Cleared + // explicitly on the worker thread inside XMLHttpRequestWorker::ReleaseProxy. + WeakPtr<XMLHttpRequestWorker> mXMLHttpRequestPrivate; + // XHR Params: bool mMozAnon; bool mMozSystem; @@ -135,9 +138,9 @@ class Proxy final : public nsIDOMEventListener { const Maybe<ServiceWorkerDescriptor>& aController, bool aMozAnon, bool aMozSystem) : mWorkerPrivate(nullptr), - mXMLHttpRequestPrivate(aXHRPrivate), mClientInfo(aClientInfo), mController(aController), + mXMLHttpRequestPrivate(aXHRPrivate), mMozAnon(aMozAnon), mMozSystem(aMozSystem), mInnerEventStreamId(0), @@ -166,7 +169,7 @@ class Proxy final : public nsIDOMEventListener { bool Init(); - void Teardown(bool aSendUnpin); + void Teardown(); bool AddRemoveEventListeners(bool aUpload, bool aAdd); @@ -310,29 +313,6 @@ class MainThreadProxyRunnable : public MainThreadWorkerSyncRunnable { virtual ~MainThreadProxyRunnable() = default; }; -class XHRUnpinRunnable final : public MainThreadWorkerControlRunnable { - XMLHttpRequestWorker* mXMLHttpRequestPrivate; - - public: - XHRUnpinRunnable(WorkerPrivate* aWorkerPrivate, - XMLHttpRequestWorker* aXHRPrivate) - : MainThreadWorkerControlRunnable(aWorkerPrivate), - mXMLHttpRequestPrivate(aXHRPrivate) { - MOZ_ASSERT(aXHRPrivate); - } - - private: - ~XHRUnpinRunnable() = default; - - bool WorkerRun(JSContext* aCx, WorkerPrivate* aWorkerPrivate) override { - if (mXMLHttpRequestPrivate->SendInProgress()) { - mXMLHttpRequestPrivate->Unpin(); - } - - return true; - } -}; - class AsyncTeardownRunnable final : public Runnable { RefPtr<Proxy> mProxy; @@ -349,9 +329,7 @@ class AsyncTeardownRunnable final : public Runnable { Run() override { AssertIsOnMainThread(); - // This means the XHR was GC'd, so we can't be pinned, and we don't need to - // try to unpin. - mProxy->Teardown(/* aSendUnpin */ false); + mProxy->Teardown(); mProxy = nullptr; return NS_OK; @@ -363,21 +341,17 @@ class LoadStartDetectionRunnable final : public Runnable, WorkerPrivate* mWorkerPrivate; RefPtr<Proxy> mProxy; RefPtr<XMLHttpRequest> mXHR; - XMLHttpRequestWorker* mXMLHttpRequestPrivate; nsString mEventType; uint32_t mChannelId; bool mReceivedLoadStart; class ProxyCompleteRunnable final : public MainThreadProxyRunnable { - XMLHttpRequestWorker* mXMLHttpRequestPrivate; uint32_t mChannelId; public: ProxyCompleteRunnable(WorkerPrivate* aWorkerPrivate, Proxy* aProxy, - XMLHttpRequestWorker* aXHRPrivate, uint32_t aChannelId) : MainThreadProxyRunnable(aWorkerPrivate, aProxy), - mXMLHttpRequestPrivate(aXHRPrivate), mChannelId(aChannelId) {} private: @@ -394,8 +368,9 @@ class LoadStartDetectionRunnable final : public Runnable, aWorkerPrivate->StopSyncLoop(mSyncLoopTarget, NS_OK); } - if (mXMLHttpRequestPrivate->SendInProgress()) { - mXMLHttpRequestPrivate->Unpin(); + XMLHttpRequestWorker* xhrw = mProxy->mXMLHttpRequestPrivate.get(); + if (xhrw && xhrw->SendInProgress()) { + xhrw->Unpin(); } return true; @@ -412,12 +387,11 @@ class LoadStartDetectionRunnable final : public Runnable, }; public: - LoadStartDetectionRunnable(Proxy* aProxy, XMLHttpRequestWorker* aXHRPrivate) + explicit LoadStartDetectionRunnable(Proxy* aProxy) : Runnable("dom::LoadStartDetectionRunnable"), mWorkerPrivate(aProxy->mWorkerPrivate), mProxy(aProxy), mXHR(aProxy->mXHR), - mXMLHttpRequestPrivate(aXHRPrivate), mChannelId(mProxy->mInnerChannelId), mReceivedLoadStart(false) { AssertIsOnMainThread(); @@ -512,7 +486,7 @@ class SyncTeardownRunnable final : public WorkerThreadProxySyncRunnable { ~SyncTeardownRunnable() = default; virtual void RunOnMainThread(ErrorResult& aRv) override { - mProxy->Teardown(/* aSendUnpin */ true); + mProxy->Teardown(); MOZ_ASSERT(!mProxy->mSyncLoopTarget); } }; @@ -799,7 +773,7 @@ bool Proxy::Init() { return true; } -void Proxy::Teardown(bool aSendUnpin) { +void Proxy::Teardown() { AssertIsOnMainThread(); if (mXHR) { @@ -816,12 +790,6 @@ void Proxy::Teardown(bool aSendUnpin) { } if (mOutstandingSendCount) { - if (aSendUnpin) { - RefPtr<XHRUnpinRunnable> runnable = - new XHRUnpinRunnable(mWorkerPrivate, mXMLHttpRequestPrivate); - MOZ_ALWAYS_TRUE(runnable->Dispatch()); - } - if (mSyncLoopTarget) { // We have an unclosed sync loop. Fix that now. RefPtr<MainThreadStopSyncLoopRunnable> runnable = @@ -885,7 +853,10 @@ NS_IMETHODIMP Proxy::HandleEvent(Event* aEvent) { AssertIsOnMainThread(); - if (!mWorkerPrivate || !mXMLHttpRequestPrivate) { + // EventRunnable::WorkerRun will bail out if mXMLHttpRequestWorker is null, + // so we do not need to prevent the dispatch from the main thread such that + // we do not need to touch it off-worker-thread. + if (!mWorkerPrivate) { NS_ERROR("Shouldn't get here!"); return NS_OK; } @@ -941,7 +912,7 @@ Proxy::HandleEvent(Event* aEvent) { mMainThreadSeenLoadStart = false; RefPtr<LoadStartDetectionRunnable> runnable = - new LoadStartDetectionRunnable(this, mXMLHttpRequestPrivate); + new LoadStartDetectionRunnable(this); if (!runnable->RegisterAndDispatch()) { NS_WARNING("Failed to dispatch LoadStartDetectionRunnable!"); } @@ -966,8 +937,8 @@ LoadStartDetectionRunnable::Run() { } else if (mProxy->mOutstandingSendCount == 1) { mProxy->Reset(); - RefPtr<ProxyCompleteRunnable> runnable = new ProxyCompleteRunnable( - mWorkerPrivate, mProxy, mXMLHttpRequestPrivate, mChannelId); + RefPtr<ProxyCompleteRunnable> runnable = + new ProxyCompleteRunnable(mWorkerPrivate, mProxy, mChannelId); if (runnable->Dispatch()) { mProxy->mWorkerPrivate = nullptr; mProxy->mSyncLoopTarget = nullptr; @@ -978,7 +949,6 @@ LoadStartDetectionRunnable::Run() { mProxy = nullptr; mXHR = nullptr; - mXMLHttpRequestPrivate = nullptr; return NS_OK; } @@ -1435,6 +1405,14 @@ void XMLHttpRequestWorker::ReleaseProxy(ReleaseType aType) { if (mProxy) { if (aType == XHRIsGoingAway) { + // Coming here means the XHR was GC'd, so we can't be pinned. + MOZ_ASSERT(!mProxy->mXMLHttpRequestPrivate || + !mProxy->mXMLHttpRequestPrivate->mPinnedSelfRef); + + // We need to clear our weak pointer on the worker thread, let's do it now + // before doing it implicitly in the Proxy dtor on the wrong thread. + mProxy->mXMLHttpRequestPrivate = nullptr; + // We're in a GC finalizer, so we can't do a sync call here (and we don't // need to). RefPtr<AsyncTeardownRunnable> runnable = @@ -1452,6 +1430,13 @@ void XMLHttpRequestWorker::ReleaseProxy(ReleaseType aType) { mProxy->mOuterEventStreamId++; } + // Ensure we are unpinned before we clear the weak reference. + RefPtr<XMLHttpRequestWorker> self = this; + if (mPinnedSelfRef) { + Unpin(); + } + mProxy->mXMLHttpRequestPrivate = nullptr; + // We need to make a sync call here. RefPtr<SyncTeardownRunnable> runnable = new SyncTeardownRunnable(mWorkerPrivate, mProxy); @@ -1485,7 +1470,7 @@ void XMLHttpRequestWorker::MaybePin(ErrorResult& aRv) { return; } - NS_ADDREF_THIS(); + mPinnedSelfRef = this; } void XMLHttpRequestWorker::MaybeDispatchPrematureAbortEvents(ErrorResult& aRv) { @@ -1604,7 +1589,7 @@ void XMLHttpRequestWorker::Unpin() { MOZ_ASSERT(mWorkerRef, "Mismatched calls to Unpin!"); mWorkerRef = nullptr; - NS_RELEASE_THIS(); + mPinnedSelfRef = nullptr; } void XMLHttpRequestWorker::SendInternal(const BodyExtractorBase* aBody, @@ -1651,6 +1636,7 @@ void XMLHttpRequestWorker::SendInternal(const BodyExtractorBase* aBody, return; } + RefPtr<XMLHttpRequestWorker> selfRef = this; AutoUnpinXHR autoUnpin(this); Maybe<AutoSyncLoopHolder> autoSyncLoop; @@ -1900,7 +1886,7 @@ void XMLHttpRequestWorker::Send( return; } - if (!mProxy || mStateData->mFlagSend) { + if (!mProxy || !mProxy->mXMLHttpRequestPrivate || mStateData->mFlagSend) { aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR); return; } diff --git a/dom/xhr/XMLHttpRequestWorker.h b/dom/xhr/XMLHttpRequestWorker.h index 1f7e7351a254ba3937bb65fbb81ba773f42ed26d..0d4c92f04fcadf58fbd45f28083c6f171047a052 100644 --- a/dom/xhr/XMLHttpRequestWorker.h +++ b/dom/xhr/XMLHttpRequestWorker.h @@ -9,6 +9,7 @@ #include "XMLHttpRequest.h" #include "XMLHttpRequestString.h" +#include "mozilla/WeakPtr.h" #include "mozilla/dom/BodyExtractor.h" #include "mozilla/dom/TypedArray.h" @@ -23,7 +24,8 @@ class SendRunnable; class StrongWorkerRef; class WorkerPrivate; -class XMLHttpRequestWorker final : public XMLHttpRequest { +class XMLHttpRequestWorker final : public SupportsWeakPtr, + public XMLHttpRequest { public: // This defines the xhr.response value. struct ResponseData { @@ -60,6 +62,7 @@ class XMLHttpRequestWorker final : public XMLHttpRequest { RefPtr<XMLHttpRequestUpload> mUpload; WorkerPrivate* mWorkerPrivate; RefPtr<StrongWorkerRef> mWorkerRef; + RefPtr<XMLHttpRequestWorker> mPinnedSelfRef; RefPtr<Proxy> mProxy; XMLHttpRequestResponseType mResponseType; diff --git a/editor/libeditor/HTMLEditor.cpp b/editor/libeditor/HTMLEditor.cpp index 0f0a22805d124765bc6b75bd155c213582d59a10..474ce8b841fc156e293acacc368f0092378f5616 100644 --- a/editor/libeditor/HTMLEditor.cpp +++ b/editor/libeditor/HTMLEditor.cpp @@ -4551,6 +4551,24 @@ MOZ_CAN_RUN_SCRIPT_BOUNDARY void HTMLEditor::ContentRemoved( } } +MOZ_CAN_RUN_SCRIPT_BOUNDARY void HTMLEditor::CharacterDataChanged( + nsIContent* aContent, const CharacterDataChangeInfo& aInfo) { + if (!mInlineSpellChecker || !aContent->IsEditable() || + !IsInObservedSubtree(aContent) || + GetTopLevelEditSubAction() != EditSubAction::eNone) { + return; + } + + nsIContent* parent = aContent->GetParent(); + if (!parent || !parent->InclusiveDescendantMayNeedSpellchecking(this)) { + return; + } + + RefPtr<nsRange> range = nsRange::Create(aContent); + range->SelectNodesInContainer(parent, aContent, aContent); + DebugOnly<nsresult> rvIgnored = mInlineSpellChecker->SpellCheckRange(range); +} + nsresult HTMLEditor::SelectEntireDocument() { MOZ_ASSERT(IsEditActionDataAvailable()); diff --git a/editor/libeditor/HTMLEditor.h b/editor/libeditor/HTMLEditor.h index a0ff6bf5f8bc418aeb1c19b35da70b7a2ee882c2..fabdf1d9e4e27f592bad41ef4b164c18331fbdb1 100644 --- a/editor/libeditor/HTMLEditor.h +++ b/editor/libeditor/HTMLEditor.h @@ -102,6 +102,7 @@ class HTMLEditor final : public EditorBase, NS_DECL_NSIMUTATIONOBSERVER_CONTENTAPPENDED NS_DECL_NSIMUTATIONOBSERVER_CONTENTINSERTED NS_DECL_NSIMUTATIONOBSERVER_CONTENTREMOVED + NS_DECL_NSIMUTATIONOBSERVER_CHARACTERDATACHANGED // nsIHTMLEditor methods NS_DECL_NSIHTMLEDITOR diff --git a/editor/libeditor/HTMLStyleEditor.cpp b/editor/libeditor/HTMLStyleEditor.cpp index 2c1b515dc2b54d45cde0a012cf1704825807e5e7..5bee16b3ec87afa3aafae4aa27749ae504e7fa82 100644 --- a/editor/libeditor/HTMLStyleEditor.cpp +++ b/editor/libeditor/HTMLStyleEditor.cpp @@ -2400,19 +2400,30 @@ Result<EditorDOMPoint, nsresult> HTMLEditor::ClearStyleAt( {EmptyCheckOption::TreatListItemAsVisible, EmptyCheckOption::TreatTableCellAsVisible}, &seenBR)) { + if (seenBR && !brElement) { + brElement = HTMLEditUtils::GetFirstBRElement( + *unwrappedSplitResultAtStartOfNextNode.GetNextContentAs<Element>()); + } + // Once we remove <br> element's parent, we lose the rights to remove it + // from the parent because the parent becomes not editable. Therefore, we + // need to delete the <br> element before removing its parents for reusing + // it later. + if (brElement) { + nsresult rv = DeleteNodeWithTransaction(*brElement); + if (NS_FAILED(rv)) { + NS_WARNING("EditorBase::DeleteNodeWithTransaction() failed"); + return Err(rv); + } + } // Delete next node if it's empty. - // MOZ_KnownLive(unwrappedSplitResultAtStartOfNextNode.GetNextContent()): - // It's grabbed by unwrappedSplitResultAtStartOfNextNode. + // MOZ_KnownLive because of grabbed by + // unwrappedSplitResultAtStartOfNextNode. nsresult rv = DeleteNodeWithTransaction(MOZ_KnownLive( *unwrappedSplitResultAtStartOfNextNode.GetNextContent())); if (NS_FAILED(rv)) { NS_WARNING("EditorBase::DeleteNodeWithTransaction() failed"); return Err(rv); } - if (seenBR && !brElement) { - brElement = HTMLEditUtils::GetFirstBRElement( - *unwrappedSplitResultAtStartOfNextNode.GetNextContentAs<Element>()); - } } } @@ -2448,16 +2459,25 @@ Result<EditorDOMPoint, nsresult> HTMLEditor::ClearStyleAt( // the left node left node. This is so we you don't revert back to the // previous style if you happen to click at the end of a line. if (brElement) { - { + if (brElement->GetParentNode()) { Result<MoveNodeResult, nsresult> moveBRElementResult = MoveNodeWithTransaction(*brElement, pointToPutCaret); if (MOZ_UNLIKELY(moveBRElementResult.isErr())) { NS_WARNING("HTMLEditor::MoveNodeWithTransaction() failed"); return moveBRElementResult.propagateErr(); } - MoveNodeResult unwrappedMoveBRElementResult = - moveBRElementResult.unwrap(); - unwrappedMoveBRElementResult.MoveCaretPointTo( + moveBRElementResult.unwrap().MoveCaretPointTo( + pointToPutCaret, *this, + {SuggestCaret::OnlyIfHasSuggestion, + SuggestCaret::OnlyIfTransactionsAllowedToDoIt}); + } else { + Result<CreateElementResult, nsresult> insertBRElementResult = + InsertNodeWithTransaction<Element>(*brElement, pointToPutCaret); + if (MOZ_UNLIKELY(insertBRElementResult.isErr())) { + NS_WARNING("EditorBase::InsertNodeWithTransaction() failed"); + return insertBRElementResult.propagateErr(); + } + insertBRElementResult.unwrap().MoveCaretPointTo( pointToPutCaret, *this, {SuggestCaret::OnlyIfHasSuggestion, SuggestCaret::OnlyIfTransactionsAllowedToDoIt}); diff --git a/editor/libeditor/tests/mochitest.ini b/editor/libeditor/tests/mochitest.ini index f8865c8af7a93fe8ba8862b95ced0fff4e12f52f..d3243700b49b313bea070126462562dfedab5832 100644 --- a/editor/libeditor/tests/mochitest.ini +++ b/editor/libeditor/tests/mochitest.ini @@ -243,6 +243,7 @@ support-files = [test_caret_move_in_vertical_content.html] [test_cmd_absPos.html] [test_cmd_backgroundColor.html] +[test_cmd_fontFace_with_empty_string.html] [test_cmd_fontFace_with_tt.html] [test_cmd_increaseFont.html] [test_cmd_paragraphState.html] @@ -264,6 +265,7 @@ skip-if = os == 'android' [test_initial_selection_and_caret_of_designMode.html] [test_inlineTableEditing.html] [test_inline_style_cache.html] +[test_insertHTML_starting_with_multiple_comment_nodes.html] [test_insertParagraph_in_h2_and_li.html] [test_insertParagraph_in_inline_editing_host.html] [test_join_split_node_direction_change_command.html] @@ -292,7 +294,6 @@ skip-if = xorigin # Testing internal API for comm-central [test_nsIHTMLEditor_selectElement.html] [test_nsIHTMLEditor_setBackgroundColor.html] [test_nsIHTMLObjectResizer_hideResizers.html] -[test_insertHTML_starting_with_multiple_comment_nodes.html] [test_nsITableEditor_deleteTableCell.html] [test_nsITableEditor_deleteTableCellContents.html] [test_nsITableEditor_deleteTableColumn.html] diff --git a/editor/libeditor/tests/test_cmd_fontFace_with_empty_string.html b/editor/libeditor/tests/test_cmd_fontFace_with_empty_string.html new file mode 100644 index 0000000000000000000000000000000000000000..c101aaf6c6a91b217b6f1630ad3138074a15e8c9 --- /dev/null +++ b/editor/libeditor/tests/test_cmd_fontFace_with_empty_string.html @@ -0,0 +1,30 @@ +<!doctype html> +<html> +<head> +<title>Tests typing in empty paragraph after running `cmd_fontFace` with empty string</title> +<script src="/tests/SimpleTest/SimpleTest.js"></script> +<script src="/tests/SimpleTest/EventUtils.js"></script> +<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> +<script> +SimpleTest.waitForExplicitFinish(); +SimpleTest.waitForFocus(() => { + document.designMode = "on"; + document.body.innerHTML = "<p><font face=\"monospace\">abc</font><br></p>"; + getSelection().collapse(document.querySelector("font").firstChild, "abc".length); + document.execCommand("insertParagraph"); + // Calling document.execCommand("fontName", false, "") is NOOP, but HTMLEditor + // accepts empty string param for cmd_fontFace. + SpecialPowers.doCommand(window, "cmd_fontFace", ""); + document.execCommand("insertText", false, "d"); + is( + document.querySelector("p+p").innerHTML, + "d<br>", + "The typed text should not be wrapped in <font face=\"monospace\">" + ); + document.designMode = "off"; + SimpleTest.finish(); +}); +</script> +</head> +<body></body> +</html> diff --git a/editor/spellchecker/tests/mochitest.ini b/editor/spellchecker/tests/mochitest.ini index f728ecf820773f6f6fa2e1f4be1de09347f79bbc..6d3c53d71b10913e5a38a3ae6f89adac701d67e5 100644 --- a/editor/spellchecker/tests/mochitest.ini +++ b/editor/spellchecker/tests/mochitest.ini @@ -40,6 +40,7 @@ skip-if = true [test_bug1602526.html] [test_bug1761273.html] [test_bug1773802.html] +[test_bug1837268.html] [test_bug366682.html] [test_bug432225.html] [test_bug484181.html] diff --git a/editor/spellchecker/tests/test_bug1837268.html b/editor/spellchecker/tests/test_bug1837268.html new file mode 100644 index 0000000000000000000000000000000000000000..1467a328b5dfbbcdc17e341384992b1cdc86776f --- /dev/null +++ b/editor/spellchecker/tests/test_bug1837268.html @@ -0,0 +1,79 @@ +<!DOCTYPE html> +<html> +<head> + <title>Mozilla bug 1837268</title> + <link rel=stylesheet href="/tests/SimpleTest/test.css"> + <script src="/tests/SimpleTest/EventUtils.js"></script> + <script src="/tests/SimpleTest/SimpleTest.js"></script> + <script src="/tests/editor/spellchecker/tests/spellcheck.js"></script> +</head> +<body> +<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1837268">Mozilla Bug 1837268</a> +<p id="display"></p> +<div id="content" style="display: none;"> + +</div> + +<div id="contenteditable" contenteditable=true>aabbcc</div> + +<script> +const { maybeOnSpellCheck } = SpecialPowers.ChromeUtils.importESModule( + "resource://testing-common/AsyncSpellCheckTestHelper.sys.mjs" +); + +SimpleTest.waitForExplicitFinish(); + +function getEditor() { + return SpecialPowers.wrap(window).docShell.editor; +} + +SimpleTest.waitForFocus(async () => { + let contenteditable = document.getElementById("contenteditable"); + contenteditable.addEventListener("beforeinput", (ev) => { + ev.preventDefault(); + let text = contenteditable.textContent; + const sel = window.getSelection(); + let offset = sel.anchorOffset; + switch (ev.inputType) { + case "insertText": + text = text.substring(0, offset) + ev.data + text.substring(offset); + offset += 1; + break; + case "deleteContentBackward": + text = text.substring(0, offset - 1) + text.substring(offset); + offset -= 1; + break; + default: + return; + } + if (contenteditable.firstChild) { + contenteditable.firstChild.nodeValue = text; + } else { + contenteditable.textContent = text; + } + sel.collapse(contenteditable.firstChild ?? contenteditable, offset); + }); + + let misspelledWords = []; + misspelledWords.push("aabbc"); // One c removed. + + contenteditable.focus(); + window.getSelection().collapse(contenteditable.firstChild, contenteditable.firstChild.length); + + // Run spell checker + await new Promise((resolve) => { maybeOnSpellCheck(contenteditable, resolve); }); + + synthesizeKey("KEY_Backspace"); + synthesizeKey(" "); + + await new Promise((resolve) => { maybeOnSpellCheck(contenteditable, resolve); }); + let editor = getEditor(); + // isSpellingCheckOk is defined in spellcheck.js + // eslint-disable-next-line no-undef + ok(isSpellingCheckOk(editor, misspelledWords), "correct word is selected as misspelled"); + + SimpleTest.finish(); +}); +</script> +</body> +</html> diff --git a/gfx/config/gfxVars.h b/gfx/config/gfxVars.h index cbc37872c05b61b7588c1574337c209a44b478c8..087540ad96a38fef930d1e5f7f2f5a5ac183be5c 100644 --- a/gfx/config/gfxVars.h +++ b/gfx/config/gfxVars.h @@ -98,7 +98,8 @@ class gfxVarReceiver; _(AllowBackdropFilter, bool, true) \ _(WebglOopAsyncPresentForceSync, bool, true) \ _(UseAcceleratedCanvas2D, bool, false) \ - _(UseWebRenderDCompSwVideoOverlayWin, bool, false) + _(UseWebRenderDCompSwVideoOverlayWin, bool, false) \ + _(WebglUseHardware, bool, true) /* Add new entries above this line. */ diff --git a/gfx/gl/GLContextProviderEGL.cpp b/gfx/gl/GLContextProviderEGL.cpp index 5de1608d48adecfc3e2789bfe2afe484396bf97a..a685d94eea063c03db967ac4dd59cf1247207ffd 100644 --- a/gfx/gl/GLContextProviderEGL.cpp +++ b/gfx/gl/GLContextProviderEGL.cpp @@ -1139,6 +1139,28 @@ RefPtr<GLContextEGL> GLContextEGL::CreateWithoutSurface( const std::shared_ptr<EglDisplay> egl, const GLContextCreateDesc& desc, nsACString* const out_failureId) { const auto WithUseGles = [&](const bool useGles) -> RefPtr<GLContextEGL> { +#ifdef MOZ_WIDGET_GTK + // First try creating a context with no config and no surface, this is what + // we really want, and seems to be the only way to make selecting software + // Mesa init properly when it's not the first device. + if (egl->IsExtensionSupported(EGLExtension::KHR_no_config_context) && + egl->IsExtensionSupported(EGLExtension::KHR_surfaceless_context)) { + // These extensions have been supported by mesa and nvidia drivers + // since 2014 or earlier, this is the preferred code path + auto fullDesc = GLContextDesc{desc}; + fullDesc.isOffscreen = true; + RefPtr<GLContextEGL> gl = GLContextEGL::CreateGLContext( + egl, fullDesc, EGL_NO_CONFIG, EGL_NO_SURFACE, useGles, EGL_NO_CONFIG, + out_failureId); + if (gl) { + return gl; + } + NS_WARNING( + "Failed to create GLContext with no config and no surface, will try " + "ChooseConfig"); + } +#endif + const EGLConfig surfaceConfig = ChooseConfig(*egl, desc, useGles); if (surfaceConfig == EGL_NO_CONFIG) { *out_failureId = "FEATURE_FAILURE_EGL_NO_CONFIG"_ns; diff --git a/gfx/gl/GLLibraryEGL.cpp b/gfx/gl/GLLibraryEGL.cpp index 6c743ebc7416d630172b83e1e7d4704be219161a..4af5e38d1f6be4c50a72bbc35ce1795eb0a27052 100644 --- a/gfx/gl/GLLibraryEGL.cpp +++ b/gfx/gl/GLLibraryEGL.cpp @@ -210,6 +210,44 @@ static std::shared_ptr<EglDisplay> GetAndInitDeviceDisplay( return EglDisplay::Create(egl, display, true, aProofOfLock); } +static std::shared_ptr<EglDisplay> GetAndInitSoftwareDisplay( + GLLibraryEGL& egl, const StaticMutexAutoLock& aProofOfLock) { + if (!egl.IsExtensionSupported(EGLLibExtension::EXT_platform_device) || + !egl.IsExtensionSupported(EGLLibExtension::EXT_device_enumeration)) { + return nullptr; + } + + EGLint maxDevices; + if (!egl.fQueryDevicesEXT(0, nullptr, &maxDevices)) { + return nullptr; + } + + std::vector<EGLDeviceEXT> devices(maxDevices); + EGLint numDevices; + if (!egl.fQueryDevicesEXT(devices.size(), devices.data(), &numDevices)) { + return nullptr; + } + devices.resize(numDevices); + + EGLDisplay display = EGL_NO_DISPLAY; + for (const auto& device : devices) { + const char* renderNodeString = + egl.fQueryDeviceStringEXT(device, LOCAL_EGL_DRM_RENDER_NODE_FILE_EXT); + // We are looking for a device with no file + if (!renderNodeString || *renderNodeString == 0) { + const EGLAttrib attrib_list[] = {LOCAL_EGL_NONE}; + display = egl.fGetPlatformDisplay(LOCAL_EGL_PLATFORM_DEVICE_EXT, device, + attrib_list); + break; + } + } + if (!display) { + return nullptr; + } + + return EglDisplay::Create(egl, display, true, aProofOfLock); +} + static std::shared_ptr<EglDisplay> GetAndInitSurfacelessDisplay( GLLibraryEGL& egl, const StaticMutexAutoLock& aProofOfLock) { if (!egl.IsExtensionSupported(EGLLibExtension::MESA_platform_surfaceless)) { @@ -904,12 +942,17 @@ std::shared_ptr<EglDisplay> GLLibraryEGL::CreateDisplayLocked( } else { void* nativeDisplay = EGL_DEFAULT_DISPLAY; #ifdef MOZ_WAYLAND - if (!gdk_display_get_default()) { + if (!ret && !gfx::gfxVars::WebglUseHardware()) { + // Initialize a swrast egl device such as llvmpipe + ret = GetAndInitSoftwareDisplay(*this, aProofOfLock); + } + // Initialize the display the normal way + if (!ret && !gdk_display_get_default()) { ret = GetAndInitDeviceDisplay(*this, aProofOfLock); if (!ret) { ret = GetAndInitSurfacelessDisplay(*this, aProofOfLock); } - } else if (widget::GdkIsWaylandDisplay()) { + } else if (!ret && widget::GdkIsWaylandDisplay()) { // Wayland does not support EGL_DEFAULT_DISPLAY nativeDisplay = widget::WaylandDisplayGetWLDisplay(); if (!nativeDisplay) { diff --git a/gfx/ipc/GPUParent.cpp b/gfx/ipc/GPUParent.cpp index 14e8272c25695cfd9b6994bb9c9efda7b086f3b8..90ef74fe21630cfeb90b3f8171d84722e9b28750 100644 --- a/gfx/ipc/GPUParent.cpp +++ b/gfx/ipc/GPUParent.cpp @@ -410,7 +410,8 @@ mozilla::ipc::IPCResult GPUParent::RecvInitSandboxTesting( mozilla::ipc::IPCResult GPUParent::RecvInitCompositorManager( Endpoint<PCompositorManagerParent>&& aEndpoint) { - CompositorManagerParent::Create(std::move(aEndpoint), /* aIsRoot */ true); + CompositorManagerParent::Create(std::move(aEndpoint), ContentParentId(), + /* aIsRoot */ true); return IPC_OK(); } @@ -540,30 +541,34 @@ mozilla::ipc::IPCResult GPUParent::RecvSimulateDeviceReset() { } mozilla::ipc::IPCResult GPUParent::RecvNewContentCompositorManager( - Endpoint<PCompositorManagerParent>&& aEndpoint) { - CompositorManagerParent::Create(std::move(aEndpoint), /* aIsRoot */ false); + Endpoint<PCompositorManagerParent>&& aEndpoint, + const ContentParentId& aChildId) { + CompositorManagerParent::Create(std::move(aEndpoint), aChildId, + /* aIsRoot */ false); return IPC_OK(); } mozilla::ipc::IPCResult GPUParent::RecvNewContentImageBridge( - Endpoint<PImageBridgeParent>&& aEndpoint) { - if (!ImageBridgeParent::CreateForContent(std::move(aEndpoint))) { + Endpoint<PImageBridgeParent>&& aEndpoint, const ContentParentId& aChildId) { + if (!ImageBridgeParent::CreateForContent(std::move(aEndpoint), aChildId)) { return IPC_FAIL_NO_REASON(this); } return IPC_OK(); } mozilla::ipc::IPCResult GPUParent::RecvNewContentVRManager( - Endpoint<PVRManagerParent>&& aEndpoint) { - if (!VRManagerParent::CreateForContent(std::move(aEndpoint))) { + Endpoint<PVRManagerParent>&& aEndpoint, const ContentParentId& aChildId) { + if (!VRManagerParent::CreateForContent(std::move(aEndpoint), aChildId)) { return IPC_FAIL_NO_REASON(this); } return IPC_OK(); } mozilla::ipc::IPCResult GPUParent::RecvNewContentRemoteDecoderManager( - Endpoint<PRemoteDecoderManagerParent>&& aEndpoint) { - if (!RemoteDecoderManagerParent::CreateForContent(std::move(aEndpoint))) { + Endpoint<PRemoteDecoderManagerParent>&& aEndpoint, + const ContentParentId& aChildId) { + if (!RemoteDecoderManagerParent::CreateForContent(std::move(aEndpoint), + aChildId)) { return IPC_FAIL_NO_REASON(this); } return IPC_OK(); diff --git a/gfx/ipc/GPUParent.h b/gfx/ipc/GPUParent.h index 3bacef658e01b2bc57e9f564ee417ac568bd18f9..7b1a5cfad0c271eaf7ea3ba639cfebbd37d52e0f 100644 --- a/gfx/ipc/GPUParent.h +++ b/gfx/ipc/GPUParent.h @@ -71,13 +71,16 @@ class GPUParent final : public PGPUParent { mozilla::ipc::IPCResult RecvUpdateVar(const GfxVarUpdate& pref); mozilla::ipc::IPCResult RecvPreferenceUpdate(const Pref& pref); mozilla::ipc::IPCResult RecvNewContentCompositorManager( - Endpoint<PCompositorManagerParent>&& aEndpoint); + Endpoint<PCompositorManagerParent>&& aEndpoint, + const ContentParentId& aChildId); mozilla::ipc::IPCResult RecvNewContentImageBridge( - Endpoint<PImageBridgeParent>&& aEndpoint); + Endpoint<PImageBridgeParent>&& aEndpoint, + const ContentParentId& aChildId); mozilla::ipc::IPCResult RecvNewContentVRManager( - Endpoint<PVRManagerParent>&& aEndpoint); + Endpoint<PVRManagerParent>&& aEndpoint, const ContentParentId& aChildId); mozilla::ipc::IPCResult RecvNewContentRemoteDecoderManager( - Endpoint<PRemoteDecoderManagerParent>&& aEndpoint); + Endpoint<PRemoteDecoderManagerParent>&& aEndpoint, + const ContentParentId& aChildId); mozilla::ipc::IPCResult RecvGetDeviceStatus(GPUDeviceData* aOutStatus); mozilla::ipc::IPCResult RecvSimulateDeviceReset(); mozilla::ipc::IPCResult RecvAddLayerTreeIdMapping( diff --git a/gfx/ipc/GPUProcessManager.cpp b/gfx/ipc/GPUProcessManager.cpp index d5ea017e7fb356ea81200578a2cb8fc50e275b56..b310d7e6cd16ad6718b911ea1ac527b6371a45ae 100644 --- a/gfx/ipc/GPUProcessManager.cpp +++ b/gfx/ipc/GPUProcessManager.cpp @@ -1132,15 +1132,16 @@ bool GPUProcessManager::CreateContentBridges( ipc::Endpoint<PImageBridgeChild>* aOutImageBridge, ipc::Endpoint<PVRManagerChild>* aOutVRBridge, ipc::Endpoint<PRemoteDecoderManagerChild>* aOutVideoManager, - nsTArray<uint32_t>* aNamespaces) { - if (!CreateContentCompositorManager(aOtherProcess, aOutCompositor) || - !CreateContentImageBridge(aOtherProcess, aOutImageBridge) || - !CreateContentVRManager(aOtherProcess, aOutVRBridge)) { + dom::ContentParentId aChildId, nsTArray<uint32_t>* aNamespaces) { + if (!CreateContentCompositorManager(aOtherProcess, aChildId, + aOutCompositor) || + !CreateContentImageBridge(aOtherProcess, aChildId, aOutImageBridge) || + !CreateContentVRManager(aOtherProcess, aChildId, aOutVRBridge)) { return false; } // VideoDeocderManager is only supported in the GPU process, so we allow this // to be fallible. - CreateContentRemoteDecoderManager(aOtherProcess, aOutVideoManager); + CreateContentRemoteDecoderManager(aOtherProcess, aChildId, aOutVideoManager); // Allocates 3 namespaces(for CompositorManagerChild, CompositorBridgeChild // and ImageBridgeChild) aNamespaces->AppendElement(AllocateNamespace()); @@ -1150,7 +1151,7 @@ bool GPUProcessManager::CreateContentBridges( } bool GPUProcessManager::CreateContentCompositorManager( - base::ProcessId aOtherProcess, + base::ProcessId aOtherProcess, dom::ContentParentId aChildId, ipc::Endpoint<PCompositorManagerChild>* aOutEndpoint) { ipc::Endpoint<PCompositorManagerParent> parentPipe; ipc::Endpoint<PCompositorManagerChild> childPipe; @@ -1172,8 +1173,8 @@ bool GPUProcessManager::CreateContentCompositorManager( } if (mGPUChild) { - mGPUChild->SendNewContentCompositorManager(std::move(parentPipe)); - } else if (!CompositorManagerParent::Create(std::move(parentPipe), + mGPUChild->SendNewContentCompositorManager(std::move(parentPipe), aChildId); + } else if (!CompositorManagerParent::Create(std::move(parentPipe), aChildId, /* aIsRoot */ false)) { return false; } @@ -1183,7 +1184,7 @@ bool GPUProcessManager::CreateContentCompositorManager( } bool GPUProcessManager::CreateContentImageBridge( - base::ProcessId aOtherProcess, + base::ProcessId aOtherProcess, dom::ContentParentId aChildId, ipc::Endpoint<PImageBridgeChild>* aOutEndpoint) { if (!EnsureImageBridgeChild()) { return false; @@ -1208,9 +1209,9 @@ bool GPUProcessManager::CreateContentImageBridge( } if (mGPUChild) { - mGPUChild->SendNewContentImageBridge(std::move(parentPipe)); + mGPUChild->SendNewContentImageBridge(std::move(parentPipe), aChildId); } else { - if (!ImageBridgeParent::CreateForContent(std::move(parentPipe))) { + if (!ImageBridgeParent::CreateForContent(std::move(parentPipe), aChildId)) { return false; } } @@ -1226,7 +1227,7 @@ base::ProcessId GPUProcessManager::GPUProcessPid() { } bool GPUProcessManager::CreateContentVRManager( - base::ProcessId aOtherProcess, + base::ProcessId aOtherProcess, dom::ContentParentId aChildId, ipc::Endpoint<PVRManagerChild>* aOutEndpoint) { if (NS_WARN_IF(!EnsureVRManager())) { return false; @@ -1251,9 +1252,9 @@ bool GPUProcessManager::CreateContentVRManager( } if (mGPUChild) { - mGPUChild->SendNewContentVRManager(std::move(parentPipe)); + mGPUChild->SendNewContentVRManager(std::move(parentPipe), aChildId); } else { - if (!VRManagerParent::CreateForContent(std::move(parentPipe))) { + if (!VRManagerParent::CreateForContent(std::move(parentPipe), aChildId)) { return false; } } @@ -1263,7 +1264,7 @@ bool GPUProcessManager::CreateContentVRManager( } void GPUProcessManager::CreateContentRemoteDecoderManager( - base::ProcessId aOtherProcess, + base::ProcessId aOtherProcess, dom::ContentParentId aChildId, ipc::Endpoint<PRemoteDecoderManagerChild>* aOutEndpoint) { nsresult rv = EnsureGPUReady(); if (NS_WARN_IF(rv == NS_ERROR_ILLEGAL_DURING_SHUTDOWN)) { @@ -1286,7 +1287,8 @@ void GPUProcessManager::CreateContentRemoteDecoderManager( return; } - mGPUChild->SendNewContentRemoteDecoderManager(std::move(parentPipe)); + mGPUChild->SendNewContentRemoteDecoderManager(std::move(parentPipe), + aChildId); *aOutEndpoint = std::move(childPipe); } diff --git a/gfx/ipc/GPUProcessManager.h b/gfx/ipc/GPUProcessManager.h index a36cb763f2fd28a0047f4f3a477b35160af48b3a..f92325ac7086e6f50da882975f16ba1a8b12639e 100644 --- a/gfx/ipc/GPUProcessManager.h +++ b/gfx/ipc/GPUProcessManager.h @@ -110,7 +110,7 @@ class GPUProcessManager final : public GPUProcessHost::Listener { mozilla::ipc::Endpoint<PImageBridgeChild>* aOutImageBridge, mozilla::ipc::Endpoint<PVRManagerChild>* aOutVRBridge, mozilla::ipc::Endpoint<PRemoteDecoderManagerChild>* aOutVideoManager, - nsTArray<uint32_t>* aNamespaces); + dom::ContentParentId aChildId, nsTArray<uint32_t>* aNamespaces); // Initialize GPU process with consuming end of PVideoBridge. void InitVideoBridge( @@ -216,16 +216,16 @@ class GPUProcessManager final : public GPUProcessHost::Listener { void OnPreferenceChange(const char16_t* aData); bool CreateContentCompositorManager( - base::ProcessId aOtherProcess, + base::ProcessId aOtherProcess, dom::ContentParentId aChildId, mozilla::ipc::Endpoint<PCompositorManagerChild>* aOutEndpoint); bool CreateContentImageBridge( - base::ProcessId aOtherProcess, + base::ProcessId aOtherProcess, dom::ContentParentId aChildId, mozilla::ipc::Endpoint<PImageBridgeChild>* aOutEndpoint); bool CreateContentVRManager( - base::ProcessId aOtherProcess, + base::ProcessId aOtherProcess, dom::ContentParentId aChildId, mozilla::ipc::Endpoint<PVRManagerChild>* aOutEndpoint); void CreateContentRemoteDecoderManager( - base::ProcessId aOtherProcess, + base::ProcessId aOtherProcess, dom::ContentParentId aChildId, mozilla::ipc::Endpoint<PRemoteDecoderManagerChild>* aOutEndPoint); // Called from RemoteCompositorSession. We track remote sessions so we can diff --git a/gfx/ipc/PGPU.ipdl b/gfx/ipc/PGPU.ipdl index f0e4d2c3cac534055a2142be2e29e580e1058ffd..89bf585feec19cf01d6129d1220ba43f8b485408 100644 --- a/gfx/ipc/PGPU.ipdl +++ b/gfx/ipc/PGPU.ipdl @@ -26,6 +26,7 @@ include "mozilla/ipc/ByteBufUtils.h"; include "mozilla/layers/LayersMessageUtils.h"; using base::ProcessId from "base/process.h"; +using mozilla::dom::ContentParentId from "mozilla/dom/ipc/IdType.h"; using mozilla::dom::NativeThreadId from "mozilla/dom/NativeThreadId.h"; using mozilla::Telemetry::HistogramAccumulation from "mozilla/TelemetryComms.h"; using mozilla::Telemetry::KeyedHistogramAccumulation from "mozilla/TelemetryComms.h"; @@ -80,10 +81,10 @@ parent: async PreferenceUpdate(Pref pref); // Create a new content-process compositor bridge. - async NewContentCompositorManager(Endpoint<PCompositorManagerParent> endpoint); - async NewContentImageBridge(Endpoint<PImageBridgeParent> endpoint); - async NewContentVRManager(Endpoint<PVRManagerParent> endpoint); - async NewContentRemoteDecoderManager(Endpoint<PRemoteDecoderManagerParent> endpoint); + async NewContentCompositorManager(Endpoint<PCompositorManagerParent> endpoint, ContentParentId childId); + async NewContentImageBridge(Endpoint<PImageBridgeParent> endpoint, ContentParentId childId); + async NewContentVRManager(Endpoint<PVRManagerParent> endpoint, ContentParentId childId); + async NewContentRemoteDecoderManager(Endpoint<PRemoteDecoderManagerParent> endpoint, ContentParentId childId); // Called to notify the GPU process of who owns a layersId. sync AddLayerTreeIdMapping(LayerTreeIdMapping mapping); diff --git a/gfx/layers/client/TextureClient.cpp b/gfx/layers/client/TextureClient.cpp index bc349c0e7f501b6627f44fdda728c87b9d8d09d7..252c6f4d6aafa9f0de87339f07319b9ff7a32a3f 100644 --- a/gfx/layers/client/TextureClient.cpp +++ b/gfx/layers/client/TextureClient.cpp @@ -1023,8 +1023,8 @@ bool TextureClient::InitIPDLActor(CompositableForwarder* aForwarder) { PTextureChild* actor = aForwarder->GetTextureForwarder()->CreateTexture( desc, std::move(readLockDescriptor), - aForwarder->GetCompositorBackendType(), GetFlags(), mSerial, - mExternalImageId); + aForwarder->GetCompositorBackendType(), GetFlags(), + dom::ContentParentId(), mSerial, mExternalImageId); if (!actor) { gfxCriticalNote << static_cast<int32_t>(desc.type()) << ", " @@ -1049,7 +1049,8 @@ bool TextureClient::InitIPDLActor(CompositableForwarder* aForwarder) { return mActor->IPCOpen(); } -bool TextureClient::InitIPDLActor(KnowsCompositor* aKnowsCompositor) { +bool TextureClient::InitIPDLActor(KnowsCompositor* aKnowsCompositor, + const dom::ContentParentId& aContentId) { MOZ_ASSERT(aKnowsCompositor && aKnowsCompositor->GetTextureForwarder()->GetThread() == mAllocator->GetThread()); @@ -1092,7 +1093,7 @@ bool TextureClient::InitIPDLActor(KnowsCompositor* aKnowsCompositor) { PTextureChild* actor = fwd->CreateTexture(desc, std::move(readLockDescriptor), aKnowsCompositor->GetCompositorBackendType(), - GetFlags(), mSerial, mExternalImageId); + GetFlags(), aContentId, mSerial, mExternalImageId); if (!actor) { gfxCriticalNote << static_cast<int32_t>(desc.type()) << ", " << static_cast<int32_t>( diff --git a/gfx/layers/client/TextureClient.h b/gfx/layers/client/TextureClient.h index fa0df57a59a97a1309d2897289d82fb29de28568..f799e34bbed5223b20074b7b2cbc3e1bd3359685 100644 --- a/gfx/layers/client/TextureClient.h +++ b/gfx/layers/client/TextureClient.h @@ -18,6 +18,7 @@ #include "mozilla/Attributes.h" // for override #include "mozilla/DebugOnly.h" #include "mozilla/RefPtr.h" // for RefPtr, RefCounted +#include "mozilla/dom/ipc/IdType.h" #include "mozilla/gfx/2D.h" // for DrawTarget #include "mozilla/gfx/CriticalSection.h" #include "mozilla/gfx/Point.h" // for IntSize @@ -554,7 +555,8 @@ class TextureClient : public AtomicRefCountedWithFinalize<TextureClient> { * Should be called only once per TextureClient. * The TextureClient must not be locked when calling this method. */ - bool InitIPDLActor(KnowsCompositor* aKnowsCompositor); + bool InitIPDLActor(KnowsCompositor* aKnowsCompositor, + const dom::ContentParentId& aContentId); /** * Return a pointer to the IPDLActor. diff --git a/gfx/layers/composite/GPUVideoTextureHost.cpp b/gfx/layers/composite/GPUVideoTextureHost.cpp index 8a6173d242d0651c4d78c84b22b35c285a17d706..69080c984ab508c7919ccdf7c37a039579955db6 100644 --- a/gfx/layers/composite/GPUVideoTextureHost.cpp +++ b/gfx/layers/composite/GPUVideoTextureHost.cpp @@ -17,8 +17,11 @@ namespace mozilla { namespace layers { GPUVideoTextureHost::GPUVideoTextureHost( - TextureFlags aFlags, const SurfaceDescriptorGPUVideo& aDescriptor) - : TextureHost(TextureHostType::Unknown, aFlags), mDescriptor(aDescriptor) { + const dom::ContentParentId& aContentId, TextureFlags aFlags, + const SurfaceDescriptorGPUVideo& aDescriptor) + : TextureHost(TextureHostType::Unknown, aFlags), + mContentId(aContentId), + mDescriptor(aDescriptor) { MOZ_COUNT_CTOR(GPUVideoTextureHost); } @@ -27,8 +30,9 @@ GPUVideoTextureHost::~GPUVideoTextureHost() { } GPUVideoTextureHost* GPUVideoTextureHost::CreateFromDescriptor( - TextureFlags aFlags, const SurfaceDescriptorGPUVideo& aDescriptor) { - return new GPUVideoTextureHost(aFlags, aDescriptor); + const dom::ContentParentId& aContentId, TextureFlags aFlags, + const SurfaceDescriptorGPUVideo& aDescriptor) { + return new GPUVideoTextureHost(aContentId, aFlags, aDescriptor); } TextureHost* GPUVideoTextureHost::EnsureWrappedTextureHost() { @@ -44,7 +48,8 @@ TextureHost* GPUVideoTextureHost::EnsureWrappedTextureHost() { // crashes. return nullptr; } - mWrappedTextureHost = parent->LookupTexture(sd.handle()); + + mWrappedTextureHost = parent->LookupTexture(mContentId, sd.handle()); if (!mWrappedTextureHost) { // The TextureHost hasn't been registered yet. This is due to a race diff --git a/gfx/layers/composite/GPUVideoTextureHost.h b/gfx/layers/composite/GPUVideoTextureHost.h index ef8421ae6aaadcc9f553fb654983c142ca359a21..b4f6cc249ea6544ec83db5c21f309245813cb191 100644 --- a/gfx/layers/composite/GPUVideoTextureHost.h +++ b/gfx/layers/composite/GPUVideoTextureHost.h @@ -15,7 +15,8 @@ namespace layers { class GPUVideoTextureHost : public TextureHost { public: static GPUVideoTextureHost* CreateFromDescriptor( - TextureFlags aFlags, const SurfaceDescriptorGPUVideo& aDescriptor); + const dom::ContentParentId& aContentId, TextureFlags aFlags, + const SurfaceDescriptorGPUVideo& aDescriptor); virtual ~GPUVideoTextureHost(); @@ -71,13 +72,17 @@ class GPUVideoTextureHost : public TextureHost { bool NeedsDeferredDeletion() const override; + const dom::ContentParentId& GetContentId() const { return mContentId; } + protected: - GPUVideoTextureHost(TextureFlags aFlags, + GPUVideoTextureHost(const dom::ContentParentId& aContentId, + TextureFlags aFlags, const SurfaceDescriptorGPUVideo& aDescriptor); TextureHost* EnsureWrappedTextureHost(); RefPtr<TextureHost> mWrappedTextureHost; + dom::ContentParentId mContentId; SurfaceDescriptorGPUVideo mDescriptor; }; diff --git a/gfx/layers/composite/TextureHost.cpp b/gfx/layers/composite/TextureHost.cpp index 2666ed53fb86dc29c552d061c31d2b9e805b0fb7..bb11b3463be95f0df95602169406085a1c13edb7 100644 --- a/gfx/layers/composite/TextureHost.cpp +++ b/gfx/layers/composite/TextureHost.cpp @@ -71,7 +71,8 @@ namespace layers { */ class TextureParent : public ParentActor<PTextureParent> { public: - TextureParent(HostIPCAllocator* aAllocator, uint64_t aSerial, + TextureParent(HostIPCAllocator* aAllocator, + const dom::ContentParentId& aContentId, uint64_t aSerial, const wr::MaybeExternalImageId& aExternalImageId); virtual ~TextureParent(); @@ -89,10 +90,13 @@ class TextureParent : public ParentActor<PTextureParent> { void Destroy() override; + const dom::ContentParentId& GetContentId() const { return mContentId; } + uint64_t GetSerial() const { return mSerial; } HostIPCAllocator* mSurfaceAllocator; RefPtr<TextureHost> mTextureHost; + dom::ContentParentId mContentId; // mSerial is unique in TextureClient's process. const uint64_t mSerial; wr::MaybeExternalImageId mExternalImageId; @@ -116,10 +120,10 @@ static bool WrapWithWebRenderTextureHost(ISurfaceAllocator* aDeallocator, PTextureParent* TextureHost::CreateIPDLActor( HostIPCAllocator* aAllocator, const SurfaceDescriptor& aSharedData, ReadLockDescriptor&& aReadLock, LayersBackend aLayersBackend, - TextureFlags aFlags, uint64_t aSerial, - const wr::MaybeExternalImageId& aExternalImageId) { + TextureFlags aFlags, const dom::ContentParentId& aContentId, + uint64_t aSerial, const wr::MaybeExternalImageId& aExternalImageId) { TextureParent* actor = - new TextureParent(aAllocator, aSerial, aExternalImageId); + new TextureParent(aAllocator, aContentId, aSerial, aExternalImageId); if (!actor->Init(aSharedData, std::move(aReadLock), aLayersBackend, aFlags)) { actor->ActorDestroy(ipc::IProtocol::ActorDestroyReason::FailedConstructor); delete actor; @@ -155,6 +159,14 @@ uint64_t TextureHost::GetTextureSerial(PTextureParent* actor) { return static_cast<TextureParent*>(actor)->mSerial; } +// static +dom::ContentParentId TextureHost::GetTextureContentId(PTextureParent* actor) { + if (!actor) { + return dom::ContentParentId(); + } + return static_cast<TextureParent*>(actor)->mContentId; +} + PTextureParent* TextureHost::GetIPDLActor() { return mActor; } void TextureHost::SetLastFwdTransactionId(uint64_t aTransactionId) { @@ -338,7 +350,8 @@ already_AddRefed<TextureHost> CreateBackendIndependentTextureHost( MOZ_ASSERT(aDesc.get_SurfaceDescriptorGPUVideo().type() == SurfaceDescriptorGPUVideo::TSurfaceDescriptorRemoteDecoder); result = GPUVideoTextureHost::CreateFromDescriptor( - aFlags, aDesc.get_SurfaceDescriptorGPUVideo()); + aDeallocator->GetContentId(), aFlags, + aDesc.get_SurfaceDescriptorGPUVideo()); break; } default: { @@ -764,9 +777,11 @@ size_t MemoryTextureHost::GetBufferSize() { } TextureParent::TextureParent(HostIPCAllocator* aSurfaceAllocator, + const dom::ContentParentId& aContentId, uint64_t aSerial, const wr::MaybeExternalImageId& aExternalImageId) : mSurfaceAllocator(aSurfaceAllocator), + mContentId(aContentId), mSerial(aSerial), mExternalImageId(aExternalImageId) { MOZ_COUNT_CTOR(TextureParent); diff --git a/gfx/layers/composite/TextureHost.h b/gfx/layers/composite/TextureHost.h index c205a5be5f3d120a3132503cb30ae6f0a23249bc..8aedc6be4bdeaf63f8117825f30ca23b4caccb2b 100644 --- a/gfx/layers/composite/TextureHost.h +++ b/gfx/layers/composite/TextureHost.h @@ -12,6 +12,7 @@ #include "mozilla/Assertions.h" // for MOZ_ASSERT, etc #include "mozilla/Attributes.h" // for override #include "mozilla/RefPtr.h" // for RefPtr, already_AddRefed, etc +#include "mozilla/dom/ipc/IdType.h" #include "mozilla/gfx/Logging.h" #include "mozilla/gfx/Matrix.h" #include "mozilla/gfx/Point.h" // for IntSize, IntPoint @@ -527,8 +528,8 @@ class TextureHost : public AtomicRefCountedWithFinalize<TextureHost> { static PTextureParent* CreateIPDLActor( HostIPCAllocator* aAllocator, const SurfaceDescriptor& aSharedData, ReadLockDescriptor&& aDescriptor, LayersBackend aLayersBackend, - TextureFlags aFlags, uint64_t aSerial, - const wr::MaybeExternalImageId& aExternalImageId); + TextureFlags aFlags, const dom::ContentParentId& aContentId, + uint64_t aSerial, const wr::MaybeExternalImageId& aExternalImageId); static bool DestroyIPDLActor(PTextureParent* actor); /** @@ -545,6 +546,8 @@ class TextureHost : public AtomicRefCountedWithFinalize<TextureHost> { static uint64_t GetTextureSerial(PTextureParent* actor); + static dom::ContentParentId GetTextureContentId(PTextureParent* actor); + /** * Return a pointer to the IPDLActor. * diff --git a/gfx/layers/ipc/CompositorBridgeChild.cpp b/gfx/layers/ipc/CompositorBridgeChild.cpp index ad227c611d85fa5740d7df2dda08a0523ff6356e..72210607e2ed81b80abcf12dd324a09cf55e293b 100644 --- a/gfx/layers/ipc/CompositorBridgeChild.cpp +++ b/gfx/layers/ipc/CompositorBridgeChild.cpp @@ -504,7 +504,8 @@ CompositorBridgeChild::GetTileLockAllocator() { PTextureChild* CompositorBridgeChild::CreateTexture( const SurfaceDescriptor& aSharedData, ReadLockDescriptor&& aReadLock, - LayersBackend aLayersBackend, TextureFlags aFlags, uint64_t aSerial, + LayersBackend aLayersBackend, TextureFlags aFlags, + const dom::ContentParentId& aContentId, uint64_t aSerial, wr::MaybeExternalImageId& aExternalImageId) { PTextureChild* textureChild = AllocPTextureChild(aSharedData, aReadLock, aLayersBackend, aFlags, diff --git a/gfx/layers/ipc/CompositorBridgeChild.h b/gfx/layers/ipc/CompositorBridgeChild.h index 6639e671402a70d64f78ad8aeaec017f9334b41b..723cbc5705aaf7cd4a7a031bdf4607e1c82236a0 100644 --- a/gfx/layers/ipc/CompositorBridgeChild.h +++ b/gfx/layers/ipc/CompositorBridgeChild.h @@ -97,7 +97,8 @@ class CompositorBridgeChild final : public PCompositorBridgeChild, nsTArray<AsyncParentMessageData>&& aMessages); PTextureChild* CreateTexture( const SurfaceDescriptor& aSharedData, ReadLockDescriptor&& aReadLock, - LayersBackend aLayersBackend, TextureFlags aFlags, uint64_t aSerial, + LayersBackend aLayersBackend, TextureFlags aFlags, + const dom::ContentParentId& aContentId, uint64_t aSerial, wr::MaybeExternalImageId& aExternalImageId) override; already_AddRefed<CanvasChild> GetCanvasChild() final; diff --git a/gfx/layers/ipc/CompositorBridgeParent.cpp b/gfx/layers/ipc/CompositorBridgeParent.cpp index 510afe932f1946ecb9bbbd3197afb0091e0a505b..0e9cf4fd211c86a49abb48bdf134fadbbbade2ee 100644 --- a/gfx/layers/ipc/CompositorBridgeParent.cpp +++ b/gfx/layers/ipc/CompositorBridgeParent.cpp @@ -119,6 +119,10 @@ CompositorBridgeParentBase::~CompositorBridgeParentBase() = default; ProcessId CompositorBridgeParentBase::GetChildProcessId() { return OtherPid(); } +dom::ContentParentId CompositorBridgeParentBase::GetContentId() { + return mCompositorManager->GetContentId(); +} + void CompositorBridgeParentBase::NotifyNotUsed(PTextureParent* aTexture, uint64_t aTransactionId) { RefPtr<TextureHost> texture = TextureHost::AsTextureHost(aTexture); @@ -1722,9 +1726,9 @@ PTextureParent* CompositorBridgeParent::AllocPTextureParent( const LayersBackend& aLayersBackend, const TextureFlags& aFlags, const LayersId& aId, const uint64_t& aSerial, const wr::MaybeExternalImageId& aExternalImageId) { - return TextureHost::CreateIPDLActor(this, aSharedData, std::move(aReadLock), - aLayersBackend, aFlags, aSerial, - aExternalImageId); + return TextureHost::CreateIPDLActor( + this, aSharedData, std::move(aReadLock), aLayersBackend, aFlags, + mCompositorManager->GetContentId(), aSerial, aExternalImageId); } bool CompositorBridgeParent::DeallocPTextureParent(PTextureParent* actor) { diff --git a/gfx/layers/ipc/CompositorBridgeParent.h b/gfx/layers/ipc/CompositorBridgeParent.h index bec2021cc3a2856a7969bfeafc3efa9fe3d360db..6b15b535f167ad6b69b3716be22ea94106eba9f0 100644 --- a/gfx/layers/ipc/CompositorBridgeParent.h +++ b/gfx/layers/ipc/CompositorBridgeParent.h @@ -126,6 +126,7 @@ class CompositorBridgeParentBase : public PCompositorBridgeParent, // HostIPCAllocator base::ProcessId GetChildProcessId() override; + dom::ContentParentId GetContentId() override; void NotifyNotUsed(PTextureParent* aTexture, uint64_t aTransactionId) override; void SendAsyncMessage( @@ -220,7 +221,7 @@ class CompositorBridgeParentBase : public PCompositorBridgeParent, bool mCanSend; - private: + protected: RefPtr<CompositorManagerParent> mCompositorManager; }; diff --git a/gfx/layers/ipc/CompositorManagerParent.cpp b/gfx/layers/ipc/CompositorManagerParent.cpp index 62210c9545d254415a9f9908a63528c6d42062a2..d0d7bb862bdf64d85f5dcbd186cab1de68a26f25 100644 --- a/gfx/layers/ipc/CompositorManagerParent.cpp +++ b/gfx/layers/ipc/CompositorManagerParent.cpp @@ -47,14 +47,16 @@ CompositorManagerParent::CreateSameProcess() { // The child is responsible for setting up the IPC channel in the same // process case because if we open from the child perspective, we can do it // on the main thread and complete before we return the manager handles. - RefPtr<CompositorManagerParent> parent = new CompositorManagerParent(); + RefPtr<CompositorManagerParent> parent = + new CompositorManagerParent(dom::ContentParentId()); parent->SetOtherProcessId(base::GetCurrentProcId()); return parent.forget(); } /* static */ bool CompositorManagerParent::Create( - Endpoint<PCompositorManagerParent>&& aEndpoint, bool aIsRoot) { + Endpoint<PCompositorManagerParent>&& aEndpoint, + dom::ContentParentId aChildId, bool aIsRoot) { MOZ_ASSERT(NS_IsMainThread()); // We are creating a manager for the another process, inside the GPU process @@ -65,7 +67,8 @@ bool CompositorManagerParent::Create( return false; } - RefPtr<CompositorManagerParent> bridge = new CompositorManagerParent(); + RefPtr<CompositorManagerParent> bridge = + new CompositorManagerParent(aChildId); RefPtr<Runnable> runnable = NewRunnableMethod<Endpoint<PCompositorManagerParent>&&, bool>( @@ -115,8 +118,10 @@ CompositorManagerParent::CreateSameProcessWidgetCompositorBridge( return bridge.forget(); } -CompositorManagerParent::CompositorManagerParent() - : mCompositorThreadHolder(CompositorThreadHolder::GetSingleton()) {} +CompositorManagerParent::CompositorManagerParent( + dom::ContentParentId aContentId) + : mContentId(aContentId), + mCompositorThreadHolder(CompositorThreadHolder::GetSingleton()) {} CompositorManagerParent::~CompositorManagerParent() = default; diff --git a/gfx/layers/ipc/CompositorManagerParent.h b/gfx/layers/ipc/CompositorManagerParent.h index 6fd4a3c5f717cb4a2307b664dfd8d53311c62fa9..1273474649d53410329e70b2f3f6c1b7953e04e5 100644 --- a/gfx/layers/ipc/CompositorManagerParent.h +++ b/gfx/layers/ipc/CompositorManagerParent.h @@ -12,6 +12,7 @@ #include "mozilla/StaticPtr.h" // for StaticRefPtr #include "mozilla/StaticMutex.h" // for StaticMutex #include "mozilla/RefPtr.h" // for already_AddRefed +#include "mozilla/dom/ipc/IdType.h" #include "mozilla/layers/PCompositorManagerParent.h" #include "nsTArray.h" // for AutoTArray @@ -31,7 +32,7 @@ class CompositorManagerParent final : public PCompositorManagerParent { public: static already_AddRefed<CompositorManagerParent> CreateSameProcess(); static bool Create(Endpoint<PCompositorManagerParent>&& aEndpoint, - bool aIsRoot); + dom::ContentParentId aContentId, bool aIsRoot); static void Shutdown(); static already_AddRefed<CompositorBridgeParent> @@ -63,6 +64,8 @@ class CompositorManagerParent final : public PCompositorManagerParent { static void NotifyWebRenderError(wr::WebRenderError aError); + const dom::ContentParentId& GetContentId() const { return mContentId; } + private: static StaticRefPtr<CompositorManagerParent> sInstance; static StaticMutex sMutex MOZ_UNANNOTATED; @@ -72,13 +75,15 @@ class CompositorManagerParent final : public PCompositorManagerParent { static void ShutdownInternal(); #endif - CompositorManagerParent(); + explicit CompositorManagerParent(dom::ContentParentId aChildId); virtual ~CompositorManagerParent(); void Bind(Endpoint<PCompositorManagerParent>&& aEndpoint, bool aIsRoot); void DeferredDestroy(); + dom::ContentParentId mContentId; + RefPtr<CompositorThreadHolder> mCompositorThreadHolder; AutoTArray<RefPtr<CompositorBridgeParent>, 1> mPendingCompositorBridges; diff --git a/gfx/layers/ipc/ContentCompositorBridgeParent.cpp b/gfx/layers/ipc/ContentCompositorBridgeParent.cpp index 9c09d6ac9044fe5c303dda011b3c385c1b1cb9b5..352e7b0d63737dbc977f0d9479f67cf7a489078b 100644 --- a/gfx/layers/ipc/ContentCompositorBridgeParent.cpp +++ b/gfx/layers/ipc/ContentCompositorBridgeParent.cpp @@ -17,6 +17,7 @@ #include "mozilla/layers/AnimationHelper.h" // for CompositorAnimationStorage #include "mozilla/layers/APZCTreeManagerParent.h" // for APZCTreeManagerParent #include "mozilla/layers/APZUpdater.h" // for APZUpdater +#include "mozilla/layers/CompositorManagerParent.h" #include "mozilla/layers/CompositorOptions.h" #include "mozilla/layers/CompositorThread.h" #include "mozilla/layers/LayerTreeOwnerTracker.h" @@ -403,9 +404,9 @@ PTextureParent* ContentCompositorBridgeParent::AllocPTextureParent( << "Texture backend is wrong"; } - return TextureHost::CreateIPDLActor(this, aSharedData, std::move(aReadLock), - aLayersBackend, aFlags, aSerial, - aExternalImageId); + return TextureHost::CreateIPDLActor( + this, aSharedData, std::move(aReadLock), aLayersBackend, aFlags, + mCompositorManager->GetContentId(), aSerial, aExternalImageId); } bool ContentCompositorBridgeParent::DeallocPTextureParent( diff --git a/gfx/layers/ipc/ISurfaceAllocator.h b/gfx/layers/ipc/ISurfaceAllocator.h index ea69b0fc2cb21af0a658f4c5428582df4a226635..77edf4fc5f09e563b5ec20be7c4abc66556d15e0 100644 --- a/gfx/layers/ipc/ISurfaceAllocator.h +++ b/gfx/layers/ipc/ISurfaceAllocator.h @@ -10,6 +10,7 @@ #include <stddef.h> // for size_t #include <stdint.h> // for uint32_t #include "gfxTypes.h" +#include "mozilla/dom/ipc/IdType.h" #include "mozilla/gfx/Point.h" // for IntSize #include "mozilla/ipc/SharedMemory.h" // for SharedMemory, etc #include "mozilla/RefPtr.h" @@ -101,6 +102,8 @@ class ISurfaceAllocator { virtual bool UsesWebRenderBridge() const { return false; } + virtual dom::ContentParentId GetContentId() { return dom::ContentParentId(); } + protected: void Finalize() {} diff --git a/gfx/layers/ipc/ImageBridgeChild.cpp b/gfx/layers/ipc/ImageBridgeChild.cpp index 420ec569241bac20072293b9faa45b1b189043f0..6dcf2be415b805d1800bde68bd5b4db831a4e4ab 100644 --- a/gfx/layers/ipc/ImageBridgeChild.cpp +++ b/gfx/layers/ipc/ImageBridgeChild.cpp @@ -826,7 +826,8 @@ mozilla::ipc::IPCResult ImageBridgeChild::RecvReportFramesDropped( PTextureChild* ImageBridgeChild::CreateTexture( const SurfaceDescriptor& aSharedData, ReadLockDescriptor&& aReadLock, - LayersBackend aLayersBackend, TextureFlags aFlags, uint64_t aSerial, + LayersBackend aLayersBackend, TextureFlags aFlags, + const dom::ContentParentId& aContentId, uint64_t aSerial, wr::MaybeExternalImageId& aExternalImageId) { MOZ_ASSERT(CanSend()); return SendPTextureConstructor(aSharedData, std::move(aReadLock), diff --git a/gfx/layers/ipc/ImageBridgeChild.h b/gfx/layers/ipc/ImageBridgeChild.h index 5777725ae0974bc07736074759f264affb4491aa..ee8ff972994769b83285eb0276e8962f4cea8330 100644 --- a/gfx/layers/ipc/ImageBridgeChild.h +++ b/gfx/layers/ipc/ImageBridgeChild.h @@ -302,7 +302,8 @@ class ImageBridgeChild final : public PImageBridgeChild, PTextureChild* CreateTexture( const SurfaceDescriptor& aSharedData, ReadLockDescriptor&& aReadLock, - LayersBackend aLayersBackend, TextureFlags aFlags, uint64_t aSerial, + LayersBackend aLayersBackend, TextureFlags aFlags, + const dom::ContentParentId& aContentId, uint64_t aSerial, wr::MaybeExternalImageId& aExternalImageId) override; bool IsSameProcess() const override; diff --git a/gfx/layers/ipc/ImageBridgeParent.cpp b/gfx/layers/ipc/ImageBridgeParent.cpp index 4d20d763cec221ecc0f2c6f0ccc5919629f5aff1..bd9b2f6dd7a3b5659896c324636f17ae5c10ea0d 100644 --- a/gfx/layers/ipc/ImageBridgeParent.cpp +++ b/gfx/layers/ipc/ImageBridgeParent.cpp @@ -62,8 +62,10 @@ void ImageBridgeParent::Setup() { } ImageBridgeParent::ImageBridgeParent(nsISerialEventTarget* aThread, - ProcessId aChildProcessId) + ProcessId aChildProcessId, + dom::ContentParentId aContentId) : mThread(aThread), + mContentId(aContentId), mClosed(false), mCompositorThreadHolder(CompositorThreadHolder::GetSingleton()) { MOZ_ASSERT(NS_IsMainThread()); @@ -76,7 +78,7 @@ ImageBridgeParent::~ImageBridgeParent() = default; ImageBridgeParent* ImageBridgeParent::CreateSameProcess() { base::ProcessId pid = base::GetCurrentProcId(); RefPtr<ImageBridgeParent> parent = - new ImageBridgeParent(CompositorThread(), pid); + new ImageBridgeParent(CompositorThread(), pid, dom::ContentParentId()); { MonitorAutoLock lock(*sImageBridgesLock); @@ -98,8 +100,8 @@ bool ImageBridgeParent::CreateForGPUProcess( return false; } - RefPtr<ImageBridgeParent> parent = - new ImageBridgeParent(compositorThread, aEndpoint.OtherPid()); + RefPtr<ImageBridgeParent> parent = new ImageBridgeParent( + compositorThread, aEndpoint.OtherPid(), dom::ContentParentId()); compositorThread->Dispatch(NewRunnableMethod<Endpoint<PImageBridgeParent>&&>( "layers::ImageBridgeParent::Bind", parent, &ImageBridgeParent::Bind, @@ -215,14 +217,14 @@ mozilla::ipc::IPCResult ImageBridgeParent::RecvUpdate( /* static */ bool ImageBridgeParent::CreateForContent( - Endpoint<PImageBridgeParent>&& aEndpoint) { + Endpoint<PImageBridgeParent>&& aEndpoint, dom::ContentParentId aContentId) { nsCOMPtr<nsISerialEventTarget> compositorThread = CompositorThread(); if (!compositorThread) { return false; } RefPtr<ImageBridgeParent> bridge = - new ImageBridgeParent(compositorThread, aEndpoint.OtherPid()); + new ImageBridgeParent(compositorThread, aEndpoint.OtherPid(), aContentId); compositorThread->Dispatch(NewRunnableMethod<Endpoint<PImageBridgeParent>&&>( "layers::ImageBridgeParent::Bind", bridge, &ImageBridgeParent::Bind, std::move(aEndpoint))); @@ -292,8 +294,8 @@ PTextureParent* ImageBridgeParent::AllocPTextureParent( const LayersBackend& aLayersBackend, const TextureFlags& aFlags, const uint64_t& aSerial, const wr::MaybeExternalImageId& aExternalImageId) { return TextureHost::CreateIPDLActor(this, aSharedData, std::move(aReadLock), - aLayersBackend, aFlags, aSerial, - aExternalImageId); + aLayersBackend, aFlags, mContentId, + aSerial, aExternalImageId); } bool ImageBridgeParent::DeallocPTextureParent(PTextureParent* actor) { diff --git a/gfx/layers/ipc/ImageBridgeParent.h b/gfx/layers/ipc/ImageBridgeParent.h index 5f45ec124e2c169c26cca2b242cfc8185a765057..7f2c7ce4ce8d322738e681172ebdbbaa2c2e9565 100644 --- a/gfx/layers/ipc/ImageBridgeParent.h +++ b/gfx/layers/ipc/ImageBridgeParent.h @@ -12,6 +12,7 @@ #include "CompositableTransactionParent.h" #include "mozilla/Assertions.h" // for MOZ_ASSERT_HELPER2 #include "mozilla/Attributes.h" // for override +#include "mozilla/dom/ipc/IdType.h" #include "mozilla/ipc/ProtocolUtils.h" #include "mozilla/ipc/SharedMemory.h" // for SharedMemory, etc #include "mozilla/layers/CompositorThread.h" @@ -39,7 +40,8 @@ class ImageBridgeParent final : public PImageBridgeParent, typedef nsTArray<OpDestroy> OpDestroyArray; protected: - ImageBridgeParent(nsISerialEventTarget* aThread, ProcessId aChildProcessId); + ImageBridgeParent(nsISerialEventTarget* aThread, ProcessId aChildProcessId, + dom::ContentParentId aContentId); public: NS_IMETHOD_(MozExternalRefCountType) AddRef() override { @@ -56,7 +58,8 @@ class ImageBridgeParent final : public PImageBridgeParent, static ImageBridgeParent* CreateSameProcess(); static bool CreateForGPUProcess(Endpoint<PImageBridgeParent>&& aEndpoint); - static bool CreateForContent(Endpoint<PImageBridgeParent>&& aEndpoint); + static bool CreateForContent(Endpoint<PImageBridgeParent>&& aEndpoint, + dom::ContentParentId aContentId); static void Shutdown(); IShmemAllocator* AsShmemAllocator() override { return this; } @@ -71,6 +74,7 @@ class ImageBridgeParent final : public PImageBridgeParent, uint64_t aTransactionId) override; base::ProcessId GetChildProcessId() override { return OtherPid(); } + dom::ContentParentId GetContentId() override { return mContentId; } // PImageBridge mozilla::ipc::IPCResult RecvUpdate(EditArray&& aEdits, @@ -128,6 +132,8 @@ class ImageBridgeParent final : public PImageBridgeParent, void DeferredDestroy(); nsCOMPtr<nsISerialEventTarget> mThread; + dom::ContentParentId mContentId; + bool mClosed; /** diff --git a/gfx/layers/ipc/PVideoBridge.ipdl b/gfx/layers/ipc/PVideoBridge.ipdl index 72da7c380e5e2356865683a402b53fb794eb769e..abb160d239a614e42d71460d5379850281d4650b 100644 --- a/gfx/layers/ipc/PVideoBridge.ipdl +++ b/gfx/layers/ipc/PVideoBridge.ipdl @@ -10,6 +10,7 @@ include protocol PTexture; include "mozilla/GfxMessageUtils.h"; include "mozilla/layers/LayersMessageUtils.h"; +using mozilla::dom::ContentParentId from "mozilla/dom/ipc/IdType.h"; using mozilla::layers::TextureFlags from "mozilla/layers/CompositorTypes.h"; namespace mozilla { @@ -25,8 +26,12 @@ sync protocol PVideoBridge manages PTexture; parent: + /** + * Since PVideoBridge creates textures on behalf of another process, we also + * supply ContentParentId of the owning content process. + */ async PTexture(SurfaceDescriptor aSharedData, ReadLockDescriptor aReadLock, LayersBackend aBackend, - TextureFlags aTextureFlags, uint64_t aSerial); + TextureFlags aTextureFlags, ContentParentId aContentId, uint64_t aSerial); }; } // namespace diff --git a/gfx/layers/ipc/TextureForwarder.h b/gfx/layers/ipc/TextureForwarder.h index 28a2d861ff476bc0477fd821b70daaeed79170fb..af843901430af429e198fc1d26cd88beb65cc5e8 100644 --- a/gfx/layers/ipc/TextureForwarder.h +++ b/gfx/layers/ipc/TextureForwarder.h @@ -9,6 +9,7 @@ #include <stdint.h> // for int32_t, uint64_t #include "gfxTypes.h" +#include "mozilla/dom/ipc/IdType.h" #include "mozilla/ipc/ProtocolUtils.h" #include "mozilla/layers/LayersMessages.h" // for Edit, etc #include "mozilla/layers/LayersTypes.h" // for LayersBackend @@ -75,7 +76,8 @@ class TextureForwarder : public LayersIPCChannel { */ virtual PTextureChild* CreateTexture( const SurfaceDescriptor& aSharedData, ReadLockDescriptor&& aReadLock, - LayersBackend aLayersBackend, TextureFlags aFlags, uint64_t aSerial, + LayersBackend aLayersBackend, TextureFlags aFlags, + const dom::ContentParentId& aContentId, uint64_t aSerial, wr::MaybeExternalImageId& aExternalImageId) = 0; /** diff --git a/gfx/layers/ipc/VideoBridgeChild.cpp b/gfx/layers/ipc/VideoBridgeChild.cpp index e4f022cb43facd6a39c308167bc00a72699c8915..9d956013a01a8c3dcf6eca6f4b5716d206339abe 100644 --- a/gfx/layers/ipc/VideoBridgeChild.cpp +++ b/gfx/layers/ipc/VideoBridgeChild.cpp @@ -145,11 +145,10 @@ bool VideoBridgeChild::DeallocShmem(ipc::Shmem& aShmem) { return result; } -PTextureChild* VideoBridgeChild::AllocPTextureChild(const SurfaceDescriptor&, - ReadLockDescriptor&, - const LayersBackend&, - const TextureFlags&, - const uint64_t& aSerial) { +PTextureChild* VideoBridgeChild::AllocPTextureChild( + const SurfaceDescriptor&, ReadLockDescriptor&, const LayersBackend&, + const TextureFlags&, const dom::ContentParentId& aContentId, + const uint64_t& aSerial) { MOZ_ASSERT(CanSend()); return TextureClient::CreateIPDLActor(); } @@ -164,11 +163,12 @@ void VideoBridgeChild::ActorDestroy(ActorDestroyReason aWhy) { PTextureChild* VideoBridgeChild::CreateTexture( const SurfaceDescriptor& aSharedData, ReadLockDescriptor&& aReadLock, - LayersBackend aLayersBackend, TextureFlags aFlags, uint64_t aSerial, + LayersBackend aLayersBackend, TextureFlags aFlags, + const dom::ContentParentId& aContentId, uint64_t aSerial, wr::MaybeExternalImageId& aExternalImageId) { MOZ_ASSERT(CanSend()); return SendPTextureConstructor(aSharedData, std::move(aReadLock), - aLayersBackend, aFlags, aSerial); + aLayersBackend, aFlags, aContentId, aSerial); } bool VideoBridgeChild::IsSameProcess() const { diff --git a/gfx/layers/ipc/VideoBridgeChild.h b/gfx/layers/ipc/VideoBridgeChild.h index c3014c7d7759ae9649474dabb0a0b463c0d82599..378fa9e337952b103897827c13277c60b62c20c3 100644 --- a/gfx/layers/ipc/VideoBridgeChild.h +++ b/gfx/layers/ipc/VideoBridgeChild.h @@ -32,6 +32,7 @@ class VideoBridgeChild final : public PVideoBridgeChild, ReadLockDescriptor& aReadLock, const LayersBackend& aLayersBackend, const TextureFlags& aFlags, + const dom::ContentParentId& aContentId, const uint64_t& aSerial); bool DeallocPTextureChild(PTextureChild* actor); @@ -45,7 +46,8 @@ class VideoBridgeChild final : public PVideoBridgeChild, // TextureForwarder PTextureChild* CreateTexture( const SurfaceDescriptor& aSharedData, ReadLockDescriptor&& aReadLock, - LayersBackend aLayersBackend, TextureFlags aFlags, uint64_t aSerial, + LayersBackend aLayersBackend, TextureFlags aFlags, + const dom::ContentParentId& aContentId, uint64_t aSerial, wr::MaybeExternalImageId& aExternalImageId) override; // ClientIPCAllocator diff --git a/gfx/layers/ipc/VideoBridgeParent.cpp b/gfx/layers/ipc/VideoBridgeParent.cpp index b8aceebf9181257e56c7154a81e80470ae9c2f1d..89cc85aee35419fe759d4624014c056401b7d0bd 100644 --- a/gfx/layers/ipc/VideoBridgeParent.cpp +++ b/gfx/layers/ipc/VideoBridgeParent.cpp @@ -84,9 +84,19 @@ VideoBridgeParent* VideoBridgeParent::GetSingleton( } } -TextureHost* VideoBridgeParent::LookupTexture(uint64_t aSerial) { +TextureHost* VideoBridgeParent::LookupTexture( + const dom::ContentParentId& aContentId, uint64_t aSerial) { MOZ_DIAGNOSTIC_ASSERT(CompositorThread() && CompositorThread()->IsOnCurrentThread()); + auto* actor = mTextureMap[aSerial]; + if (NS_WARN_IF(!actor)) { + return nullptr; + } + + if (NS_WARN_IF(aContentId != TextureHost::GetTextureContentId(actor))) { + return nullptr; + } + return TextureHost::AsTextureHost(mTextureMap[aSerial]); } @@ -146,10 +156,10 @@ void VideoBridgeParent::ReleaseCompositorThread() { PTextureParent* VideoBridgeParent::AllocPTextureParent( const SurfaceDescriptor& aSharedData, ReadLockDescriptor& aReadLock, const LayersBackend& aLayersBackend, const TextureFlags& aFlags, - const uint64_t& aSerial) { - PTextureParent* parent = - TextureHost::CreateIPDLActor(this, aSharedData, std::move(aReadLock), - aLayersBackend, aFlags, aSerial, Nothing()); + const dom::ContentParentId& aContentId, const uint64_t& aSerial) { + PTextureParent* parent = TextureHost::CreateIPDLActor( + this, aSharedData, std::move(aReadLock), aLayersBackend, aFlags, + aContentId, aSerial, Nothing()); if (!parent) { return nullptr; diff --git a/gfx/layers/ipc/VideoBridgeParent.h b/gfx/layers/ipc/VideoBridgeParent.h index 46420abf1039d446d9be54495a9a8c83e5f93ff3..9a3466f59add42b6e4b27913a6efc6db6cb80fd4 100644 --- a/gfx/layers/ipc/VideoBridgeParent.h +++ b/gfx/layers/ipc/VideoBridgeParent.h @@ -30,7 +30,8 @@ class VideoBridgeParent final : public PVideoBridgeParent, static void Shutdown(); static void UnregisterExternalImages(); - TextureHost* LookupTexture(uint64_t aSerial); + TextureHost* LookupTexture(const dom::ContentParentId& aContentId, + uint64_t aSerial); // PVideoBridgeParent void ActorDestroy(ActorDestroyReason aWhy) override; @@ -38,6 +39,7 @@ class VideoBridgeParent final : public PVideoBridgeParent, ReadLockDescriptor& aReadLock, const LayersBackend& aLayersBackend, const TextureFlags& aFlags, + const dom::ContentParentId& aContentId, const uint64_t& aSerial); bool DeallocPTextureParent(PTextureParent* actor); diff --git a/gfx/layers/wr/WebRenderBridgeParent.cpp b/gfx/layers/wr/WebRenderBridgeParent.cpp index 71a59839aaa22b0342e63c68a88cead2edcf25ea..b8a262e577df10090164ccddcf454d4299ed44f2 100644 --- a/gfx/layers/wr/WebRenderBridgeParent.cpp +++ b/gfx/layers/wr/WebRenderBridgeParent.cpp @@ -2799,6 +2799,11 @@ base::ProcessId WebRenderBridgeParent::GetChildProcessId() { return OtherPid(); } +dom::ContentParentId WebRenderBridgeParent::GetContentId() { + MOZ_ASSERT(mCompositorBridge); + return mCompositorBridge->GetContentId(); +} + bool WebRenderBridgeParent::IsSameProcess() const { return OtherPid() == base::GetCurrentProcId(); } diff --git a/gfx/layers/wr/WebRenderBridgeParent.h b/gfx/layers/wr/WebRenderBridgeParent.h index 672e8fb7cd087ff185ab9feae92d25a5816fb6c8..c96713e752c29de2f8cfcda1b360123e551fc229 100644 --- a/gfx/layers/wr/WebRenderBridgeParent.h +++ b/gfx/layers/wr/WebRenderBridgeParent.h @@ -194,6 +194,7 @@ class WebRenderBridgeParent final : public PWebRenderBridgeParent, // CompositableParentManager bool IsSameProcess() const override; base::ProcessId GetChildProcessId() override; + dom::ContentParentId GetContentId() override; void NotifyNotUsed(PTextureParent* aTexture, uint64_t aTransactionId) override; void SendAsyncMessage( diff --git a/gfx/layers/wr/WebRenderLayerManager.cpp b/gfx/layers/wr/WebRenderLayerManager.cpp index f1ec1c11bdc1c18b56d148598294ca5aa10a43aa..8dc6c13ac1da5859a70232a65a235dc42b75ce43 100644 --- a/gfx/layers/wr/WebRenderLayerManager.cpp +++ b/gfx/layers/wr/WebRenderLayerManager.cpp @@ -534,7 +534,10 @@ void WebRenderLayerManager::MakeSnapshotIfRequired(LayoutDeviceIntSize aSize) { return; } - texture->InitIPDLActor(WrBridge()); + // The other side knows our ContentParentId and WebRenderBridgeChild will + // ignore the one provided here in favour of what WebRenderBridgeParent + // already has. + texture->InitIPDLActor(WrBridge(), dom::ContentParentId()); if (!texture->GetIPDLActor()) { return; } diff --git a/gfx/thebes/SharedFontList-impl.h b/gfx/thebes/SharedFontList-impl.h index 59a6c4b2e47b5ea5d8462febef076287b65b702e..e39e4dd47dba525a5e435b83b86fe9488aca373f 100644 --- a/gfx/thebes/SharedFontList-impl.h +++ b/gfx/thebes/SharedFontList-impl.h @@ -347,8 +347,10 @@ class FontList { /** * Used by child processes to ensure all the blocks are registered. * Returns false on failure. + * Pass aMustLock=true to take the gfxPlatformFontList lock during the + * update (not required when calling from the constructor). */ - [[nodiscard]] bool UpdateShmBlocks(); + [[nodiscard]] bool UpdateShmBlocks(bool aMustLock); /** * This makes a *sync* IPC call to get a shared block from the parent. diff --git a/gfx/thebes/SharedFontList.cpp b/gfx/thebes/SharedFontList.cpp index 42cbcd5896ea4e3364a2048da8e408923ced9647..e9f64089be51d511db63e053ef16a6037d43a87c 100644 --- a/gfx/thebes/SharedFontList.cpp +++ b/gfx/thebes/SharedFontList.cpp @@ -41,8 +41,12 @@ static double WSSDistance(const Face* aFace, const gfxFontStyle& aStyle) { void* Pointer::ToPtr(FontList* aFontList, size_t aSize) const MOZ_NO_THREAD_SAFETY_ANALYSIS { + // On failure, we'll return null; callers need to handle this appropriately + // (e.g. via fallback). + void* result = nullptr; + if (IsNull()) { - return nullptr; + return result; } // Ensure the list doesn't get replaced out from under us. Font-list rebuild @@ -53,9 +57,6 @@ void* Pointer::ToPtr(FontList* aFontList, gfxPlatformFontList::PlatformFontList()->Lock(); } - // On failure, we'll return null; callers need to handle this appropriately - // (e.g. via fallback). - void* result = nullptr; uint32_t blockIndex = Block(); // If the Pointer refers to a block we have not yet mapped in this process, @@ -63,19 +64,23 @@ void* Pointer::ToPtr(FontList* aFontList, // our mBlocks list. auto& blocks = aFontList->mBlocks; if (blockIndex >= blocks.Length()) { - if (XRE_IsParentProcess()) { + if (MOZ_UNLIKELY(XRE_IsParentProcess())) { // Shouldn't happen! A content process tried to pass a bad Pointer? goto cleanup; } + // If we're not on the main thread, we can't do the IPC involved in + // UpdateShmBlocks; just let the lookup fail for now. + if (!isMainThread) { + goto cleanup; + } // UpdateShmBlocks can fail, if the parent has replaced the font list with // a new generation. In that case we just return null, and whatever font // the content process was trying to use will appear unusable for now. It's // about to receive a notification of the new font list anyhow, at which // point it will flush its caches and reflow everything, so the temporary // failure of this font will be forgotten. - // We also return null if we're not on the main thread, as we cannot safely - // do the IPC messaging needed here. - if (!isMainThread || !aFontList->UpdateShmBlocks()) { + // UpdateShmBlocks will take the platform font-list lock during the update. + if (MOZ_UNLIKELY(!aFontList->UpdateShmBlocks(true))) { goto cleanup; } MOZ_ASSERT(blockIndex < blocks.Length(), "failure in UpdateShmBlocks?"); @@ -85,7 +90,7 @@ void* Pointer::ToPtr(FontList* aFontList, // In at least some cases, however, this can occur transiently while the // font list is being rebuilt by the parent; content will then be notified // that the list has changed, and should refresh everything successfully. - if (blockIndex >= blocks.Length()) { + if (MOZ_UNLIKELY(blockIndex >= blocks.Length())) { goto cleanup; } } @@ -93,7 +98,7 @@ void* Pointer::ToPtr(FontList* aFontList, { // Don't create a pointer that's outside what the block has allocated! const auto& block = blocks[blockIndex]; - if (Offset() + aSize <= block->Allocated()) { + if (MOZ_LIKELY(Offset() + aSize <= block->Allocated())) { result = static_cast<char*>(block->Memory()) + Offset(); } } @@ -708,7 +713,7 @@ FontList::FontList(uint32_t aGeneration) { blocks.Clear(); // Update in case of any changes since the initial message was sent. for (unsigned retryCount = 0; retryCount < 3; ++retryCount) { - if (UpdateShmBlocks()) { + if (UpdateShmBlocks(false)) { return; } // The only reason for UpdateShmBlocks to fail is if the parent recreated @@ -864,16 +869,26 @@ FontList::ShmBlock* FontList::GetBlockFromParent(uint32_t aIndex) { return new ShmBlock(std::move(newShm)); } -bool FontList::UpdateShmBlocks() { +// We don't take the lock when called from the constructor, so disable thread- +// safety analysis here. +bool FontList::UpdateShmBlocks(bool aMustLock) MOZ_NO_THREAD_SAFETY_ANALYSIS { MOZ_ASSERT(!XRE_IsParentProcess()); + if (aMustLock) { + gfxPlatformFontList::PlatformFontList()->Lock(); + } + bool result = true; while (!mBlocks.Length() || mBlocks.Length() < GetHeader().mBlockCount) { ShmBlock* newBlock = GetBlockFromParent(mBlocks.Length()); if (!newBlock) { - return false; + result = false; + break; } mBlocks.AppendElement(newBlock); } - return true; + if (aMustLock) { + gfxPlatformFontList::PlatformFontList()->Unlock(); + } + return result; } void FontList::ShareBlocksToProcess(nsTArray<base::SharedMemoryHandle>* aBlocks, diff --git a/gfx/thebes/gfxFont.cpp b/gfx/thebes/gfxFont.cpp index 310c682b9fa46661790d0854c1d33b22f8ff31f2..68bf0d902c2cf962163572b65946a3ee9b3bb091 100644 --- a/gfx/thebes/gfxFont.cpp +++ b/gfx/thebes/gfxFont.cpp @@ -826,7 +826,7 @@ bool gfxShapedText::FilterIfIgnorable(uint32_t aIndex, uint32_t aCh) { void gfxShapedText::AdjustAdvancesForSyntheticBold(float aSynBoldOffset, uint32_t aOffset, uint32_t aLength) { - uint32_t synAppUnitOffset = aSynBoldOffset * mAppUnitsPerDevUnit; + int32_t synAppUnitOffset = aSynBoldOffset * mAppUnitsPerDevUnit; CompressedGlyph* charGlyphs = GetCharacterGlyphs(); for (uint32_t i = aOffset; i < aOffset + aLength; ++i) { CompressedGlyph* glyphData = charGlyphs + i; diff --git a/gfx/thebes/gfxPlatform.cpp b/gfx/thebes/gfxPlatform.cpp index 1c8d164820df652b4cf25c679a8266654d53816a..c9293bd0db79986654dfdcb2e8529f6be1ccbfbd 100644 --- a/gfx/thebes/gfxPlatform.cpp +++ b/gfx/thebes/gfxPlatform.cpp @@ -2931,6 +2931,8 @@ void gfxPlatform::InitWebGLConfig() { IsFeatureOk(nsIGfxInfo::FEATURE_WEBGL_OPENGL)); gfxVars::SetAllowWebglAccelAngle( IsFeatureOk(nsIGfxInfo::FEATURE_WEBGL_ANGLE)); + gfxVars::SetWebglUseHardware( + IsFeatureOk(nsIGfxInfo::FEATURE_WEBGL_USE_HARDWARE)); if (kIsMacOS) { // Avoid crash for Intel HD Graphics 3000 on OSX. (Bug 1413269) diff --git a/gfx/thebes/gfxPlatformGtk.cpp b/gfx/thebes/gfxPlatformGtk.cpp index f19945d2192dd1667e49b95d0c282d6eb540fdb7..ee2362c73c3f60c12be78f52c17c0e86f6346e3f 100644 --- a/gfx/thebes/gfxPlatformGtk.cpp +++ b/gfx/thebes/gfxPlatformGtk.cpp @@ -256,6 +256,11 @@ bool gfxPlatformGtk::InitVAAPIConfig(bool aForceEnabledByUser) { "FEATURE_FAILURE_REQUIRES_EGL"_ns); } + if (!gfxVars::WebglUseHardware()) { + feature.Disable(FeatureStatus::Blocklisted, + "DMABuf disabled with software rendering", failureId); + } + // Configure zero-copy playback feature. if (feature.IsEnabled()) { FeatureState& featureZeroCopy = diff --git a/gfx/vr/ipc/VRManagerParent.cpp b/gfx/vr/ipc/VRManagerParent.cpp index f18c4253c5d4c618488e59801bb8639cb6303260..393d3fea71f8e61169fb6243e06ae0d4d602ce03 100644 --- a/gfx/vr/ipc/VRManagerParent.cpp +++ b/gfx/vr/ipc/VRManagerParent.cpp @@ -27,8 +27,10 @@ namespace gfx { void ReleaseVRManagerParentSingleton(); VRManagerParent::VRManagerParent(ProcessId aChildProcessId, + dom::ContentParentId aChildId, bool aIsContentChild) - : mHaveEventListener(false), + : mChildId(aChildId), + mHaveEventListener(false), mHaveControllerListener(false), mIsContentChild(aIsContentChild), mVRActiveStatus(false) { @@ -79,12 +81,14 @@ void VRManagerParent::UnregisterFromManager() { } /* static */ -bool VRManagerParent::CreateForContent(Endpoint<PVRManagerParent>&& aEndpoint) { +bool VRManagerParent::CreateForContent(Endpoint<PVRManagerParent>&& aEndpoint, + dom::ContentParentId aChildId) { if (!CompositorThread()) { return false; } - RefPtr<VRManagerParent> vmp = new VRManagerParent(aEndpoint.OtherPid(), true); + RefPtr<VRManagerParent> vmp = + new VRManagerParent(aEndpoint.OtherPid(), aChildId, true); CompositorThread()->Dispatch(NewRunnableMethod<Endpoint<PVRManagerParent>&&>( "gfx::VRManagerParent::Bind", vmp, &VRManagerParent::Bind, std::move(aEndpoint))); @@ -109,8 +113,8 @@ void VRManagerParent::RegisterVRManagerInCompositorThread( /*static*/ already_AddRefed<VRManagerParent> VRManagerParent::CreateSameProcess() { - RefPtr<VRManagerParent> vmp = - new VRManagerParent(base::GetCurrentProcId(), false); + RefPtr<VRManagerParent> vmp = new VRManagerParent( + base::GetCurrentProcId(), dom::ContentParentId(), false); vmp->mCompositorThreadHolder = CompositorThreadHolder::GetSingleton(); CompositorThread()->Dispatch( NewRunnableFunction("RegisterVRManagerIncompositorThreadRunnable", @@ -121,7 +125,7 @@ already_AddRefed<VRManagerParent> VRManagerParent::CreateSameProcess() { bool VRManagerParent::CreateForGPUProcess( Endpoint<PVRManagerParent>&& aEndpoint) { RefPtr<VRManagerParent> vmp = - new VRManagerParent(aEndpoint.OtherPid(), false); + new VRManagerParent(aEndpoint.OtherPid(), dom::ContentParentId(), false); vmp->mCompositorThreadHolder = CompositorThreadHolder::GetSingleton(); CompositorThread()->Dispatch(NewRunnableMethod<Endpoint<PVRManagerParent>&&>( "gfx::VRManagerParent::Bind", vmp, &VRManagerParent::Bind, diff --git a/gfx/vr/ipc/VRManagerParent.h b/gfx/vr/ipc/VRManagerParent.h index b86fa40c7cdcb419860e78987246d388fc8e002f..db55356324bc350df91e7f99b2fafaf6887575b8 100644 --- a/gfx/vr/ipc/VRManagerParent.h +++ b/gfx/vr/ipc/VRManagerParent.h @@ -7,6 +7,7 @@ #ifndef MOZILLA_GFX_VR_VRMANAGERPARENT_H #define MOZILLA_GFX_VR_VRMANAGERPARENT_H +#include "mozilla/dom/ipc/IdType.h" #include "mozilla/layers/CompositorThread.h" // for CompositorThreadHolder #include "mozilla/layers/CompositableTransactionParent.h" // need? #include "mozilla/gfx/PVRManagerParent.h" // for PVRManagerParent @@ -27,11 +28,13 @@ class VRManagerParent final : public PVRManagerParent { friend class PVRManagerParent; public: - explicit VRManagerParent(ProcessId aChildProcessId, bool aIsContentChild); + explicit VRManagerParent(ProcessId aChildProcessId, + dom::ContentParentId aChildId, bool aIsContentChild); static already_AddRefed<VRManagerParent> CreateSameProcess(); static bool CreateForGPUProcess(Endpoint<PVRManagerParent>&& aEndpoint); - static bool CreateForContent(Endpoint<PVRManagerParent>&& aEndpoint); + static bool CreateForContent(Endpoint<PVRManagerParent>&& aEndpoint, + dom::ContentParentId aChildId); static void Shutdown(); bool IsSameProcess() const; @@ -85,6 +88,7 @@ class VRManagerParent final : public PVRManagerParent { // Keep the VRManager alive, until we have destroyed ourselves. RefPtr<VRManager> mVRManagerHolder; + dom::ContentParentId mChildId; bool mHaveEventListener; bool mHaveControllerListener; bool mIsContentChild; diff --git a/intl/locale/moz.build b/intl/locale/moz.build index 178598d86e397766ce696193257b2e1ba750cbf8..52d1a2fe4584cd6ac2e65f47618a46ffe0fb1c9d 100644 --- a/intl/locale/moz.build +++ b/intl/locale/moz.build @@ -84,11 +84,15 @@ if CONFIG["COMPILE_ENVIRONMENT"]: "fluent_langneg_ffi_generated.h", inputs=["/intl/locale/rust/fluent-langneg-ffi"], ) + CbindgenHeader( + "oxilangtag_ffi_generated.h", inputs=["/intl/locale/rust/oxilangtag-ffi"] + ) CbindgenHeader( "unic_langid_ffi_generated.h", inputs=["/intl/locale/rust/unic-langid-ffi"] ) EXPORTS.mozilla.intl += [ "!fluent_langneg_ffi_generated.h", + "!oxilangtag_ffi_generated.h", "!unic_langid_ffi_generated.h", ] diff --git a/intl/locale/rust/oxilangtag-ffi/Cargo.toml b/intl/locale/rust/oxilangtag-ffi/Cargo.toml new file mode 100644 index 0000000000000000000000000000000000000000..ee3b1cf5c80c24045695990deac3eb000e6bbd5d --- /dev/null +++ b/intl/locale/rust/oxilangtag-ffi/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "oxilangtag-ffi" +version = "0.1.0" +license = "MPL-2.0" +authors = ["Jonathan Kew <jkew@mozilla.com>"] +edition = "2021" + +[dependencies] +nsstring = { path = "../../../../xpcom/rust/nsstring" } +oxilangtag = "0.1.3" diff --git a/intl/locale/rust/oxilangtag-ffi/cbindgen.toml b/intl/locale/rust/oxilangtag-ffi/cbindgen.toml new file mode 100644 index 0000000000000000000000000000000000000000..21d703000bf5d7c05200243dc7554c3da94cb362 --- /dev/null +++ b/intl/locale/rust/oxilangtag-ffi/cbindgen.toml @@ -0,0 +1,15 @@ +header = """/* 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/. */""" +autogen_warning = """/* DO NOT MODIFY THIS MANUALLY! This file was generated using cbindgen. See RunCbindgen.py */ +""" +include_version = true +braces = "SameLine" +line_length = 100 +tab_width = 2 +language = "C++" +namespaces = ["mozilla", "intl", "ffi"] + +[parse] +parse_deps = true +include = ["oxilangtag"] diff --git a/intl/locale/rust/oxilangtag-ffi/src/lib.rs b/intl/locale/rust/oxilangtag-ffi/src/lib.rs new file mode 100644 index 0000000000000000000000000000000000000000..5a30e9b77f4cd2d4f192e97abb8286e5ade46040 --- /dev/null +++ b/intl/locale/rust/oxilangtag-ffi/src/lib.rs @@ -0,0 +1,126 @@ +/* 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/. */ + +use nsstring::nsACString; +use oxilangtag::LanguageTag; + +pub struct LangTag; // Opaque type for ffi interface. + +/// Parse a string as a BCP47 language tag. Returns a `LangTag` object if the string is +/// successfully parsed; this must be freed with `lang_tag_destroy`. +/// +/// The string `tag` must outlive the `LangTag`. +/// +/// Returns null if `tag` is not a well-formed BCP47 tag (including if it is not +/// valid UTF-8). +#[no_mangle] +pub extern "C" fn lang_tag_new(tag: &nsACString) -> *mut LangTag { + if let Ok(tag_str) = core::str::from_utf8(tag.as_ref()) { + if let Ok(language_tag) = LanguageTag::parse(tag_str) { + return Box::into_raw(Box::new(language_tag)) as *mut LangTag; + } + } + std::ptr::null_mut() +} + +/// Free a `LangTag` instance. +#[no_mangle] +pub extern "C" fn lang_tag_destroy(lang: *mut LangTag) { + if lang.is_null() { + return; + } + let _ = unsafe { Box::from_raw(lang as *mut LanguageTag<&str>) }; +} + +/// Matches an HTML language attribute against a CSS :lang() selector using the +/// "extended filtering" algorithm. +/// The attribute is a BCP47 language tag that was successfully parsed by oxilangtag; +/// the selector is a string that is treated as a language range per RFC 4647. +#[no_mangle] +pub extern "C" fn lang_tag_matches(attribute: *const LangTag, selector: &nsACString) -> bool { + // This should only be called with a pointer that we got from lang_tag_new(). + let lang = unsafe { *(attribute as *const LanguageTag<&str>) }; + + // Our callers guarantee that the selector string is valid UTF-8. + let range_str = unsafe { selector.as_str_unchecked() }; + + if lang.is_empty() || range_str.is_empty() { + return false; + } + + // RFC 4647 Extended Filtering: + // https://datatracker.ietf.org/doc/html/rfc4647#section-3.3.2 + + // 1. Split both the extended language range and the language tag being + // compared into a list of subtags by dividing on the hyphen (%x2D) + // character. Two subtags match if either they are the same when + // compared case-insensitively or the language range's subtag is the + // wildcard '*'. + + let mut range_subtags = range_str.split('-'); + let mut lang_subtags = lang.as_str().split('-'); + + // 2. Begin with the first subtag in each list. If the first subtag in + // the range does not match the first subtag in the tag, the overall + // match fails. Otherwise, move to the next subtag in both the + // range and the tag. + + let mut range_subtag = range_subtags.next(); + let mut lang_subtag = lang_subtags.next(); + // Cannot be None, because we checked that both args were non-empty. + assert!(range_subtag.is_some() && lang_subtag.is_some()); + if !(range_subtag.unwrap() == "*" + || range_subtag + .unwrap() + .eq_ignore_ascii_case(lang_subtag.unwrap())) + { + return false; + } + + range_subtag = range_subtags.next(); + lang_subtag = lang_subtags.next(); + + // 3. While there are more subtags left in the language range's list: + loop { + // 4. When the language range's list has no more subtags, the match + // succeeds. + let Some(range_subtag_str) = range_subtag else { + return true; + }; + + // A. If the subtag currently being examined in the range is the + // wildcard ('*'), move to the next subtag in the range and + // continue with the loop. + if range_subtag_str == "*" { + range_subtag = range_subtags.next(); + continue; + } + + // B. Else, if there are no more subtags in the language tag's + // list, the match fails. + let Some(lang_subtag_str) = lang_subtag else { + return false; + }; + + // C. Else, if the current subtag in the range's list matches the + // current subtag in the language tag's list, move to the next + // subtag in both lists and continue with the loop. + if range_subtag_str.eq_ignore_ascii_case(lang_subtag_str) { + range_subtag = range_subtags.next(); + lang_subtag = lang_subtags.next(); + continue; + } + + // D. Else, if the language tag's subtag is a "singleton" (a single + // letter or digit, which includes the private-use subtag 'x') + // the match fails. + if lang_subtag_str.len() == 1 { + return false; + } + + // E. Else, move to the next subtag in the language tag's list and + // continue with the loop. + lang_subtag = lang_subtags.next(); + } +} diff --git a/ipc/glue/BackgroundParentImpl.cpp b/ipc/glue/BackgroundParentImpl.cpp index 579b3c9b8ea02877096529b70fe4c5f582ca7970..9baa44488ab9b00be2394df778210138b2bbba05 100644 --- a/ipc/glue/BackgroundParentImpl.cpp +++ b/ipc/glue/BackgroundParentImpl.cpp @@ -1704,26 +1704,36 @@ BackgroundParentImpl::RecvEnsureRDDProcessAndCreateBridge( return IPC_FAIL(this, "must be a content actor"); } - RDDProcessManager* rdd = RDDProcessManager::Get(); using Type = std::tuple<const nsresult&, Endpoint<mozilla::PRemoteDecoderManagerChild>&&>; + + RefPtr<ThreadsafeContentParentHandle> parent = + BackgroundParent::GetContentParentHandle(this); + if (NS_WARN_IF(!parent)) { + aResolver( + Type(NS_ERROR_NOT_AVAILABLE, Endpoint<PRemoteDecoderManagerChild>())); + return IPC_OK(); + } + + RDDProcessManager* rdd = RDDProcessManager::Get(); if (!rdd) { aResolver( Type(NS_ERROR_NOT_AVAILABLE, Endpoint<PRemoteDecoderManagerChild>())); - } else { - rdd->EnsureRDDProcessAndCreateBridge(OtherPid()) - ->Then(GetCurrentSerialEventTarget(), __func__, - [resolver = std::move(aResolver)]( - mozilla::RDDProcessManager::EnsureRDDPromise:: - ResolveOrRejectValue&& aValue) mutable { - if (aValue.IsReject()) { - resolver(Type(aValue.RejectValue(), - Endpoint<PRemoteDecoderManagerChild>())); - return; - } - resolver(Type(NS_OK, std::move(aValue.ResolveValue()))); - }); + return IPC_OK(); } + + rdd->EnsureRDDProcessAndCreateBridge(OtherPid(), parent->ChildID()) + ->Then(GetCurrentSerialEventTarget(), __func__, + [resolver = std::move(aResolver)]( + mozilla::RDDProcessManager::EnsureRDDPromise:: + ResolveOrRejectValue&& aValue) mutable { + if (aValue.IsReject()) { + resolver(Type(aValue.RejectValue(), + Endpoint<PRemoteDecoderManagerChild>())); + return; + } + resolver(Type(NS_OK, std::move(aValue.ResolveValue()))); + }); return IPC_OK(); } @@ -1736,13 +1746,19 @@ BackgroundParentImpl::RecvEnsureUtilityProcessAndCreateBridge( } base::ProcessId otherPid = OtherPid(); + RefPtr<ThreadsafeContentParentHandle> parent = + BackgroundParent::GetContentParentHandle(this); + if (NS_WARN_IF(!parent)) { + return IPC_FAIL_NO_REASON(this); + } + dom::ContentParentId childId = parent->ChildID(); nsCOMPtr<nsISerialEventTarget> managerThread = GetCurrentSerialEventTarget(); if (!managerThread) { return IPC_FAIL_NO_REASON(this); } NS_DispatchToMainThread(NS_NewRunnableFunction( "BackgroundParentImpl::RecvEnsureUtilityProcessAndCreateBridge()", - [aResolver, managerThread, otherPid, aLocation]() { + [aResolver, managerThread, otherPid, childId, aLocation]() { RefPtr<UtilityProcessManager> upm = UtilityProcessManager::GetSingleton(); using Type = @@ -1758,7 +1774,7 @@ BackgroundParentImpl::RecvEnsureUtilityProcessAndCreateBridge( })); } else { SandboxingKind sbKind = GetSandboxingKindFromLocation(aLocation); - upm->StartProcessForRemoteMediaDecoding(otherPid, sbKind) + upm->StartProcessForRemoteMediaDecoding(otherPid, childId, sbKind) ->Then(managerThread, __func__, [resolver = aResolver]( mozilla::ipc::UtilityProcessManager:: diff --git a/ipc/glue/PUtilityAudioDecoder.ipdl b/ipc/glue/PUtilityAudioDecoder.ipdl index 31e05f509ece88e4a37f3ee6783bfce13e37754b..cedbd640526af0218ba933091bd47aecceaa1ae8 100644 --- a/ipc/glue/PUtilityAudioDecoder.ipdl +++ b/ipc/glue/PUtilityAudioDecoder.ipdl @@ -7,6 +7,7 @@ include GraphicsMessages; include protocol PRemoteDecoderManager; include protocol PVideoBridge; +using mozilla::dom::ContentParentId from "mozilla/dom/ipc/IdType.h"; using mozilla::media::MediaCodecsSupported from "MediaCodecsSupport.h"; using mozilla::RemoteDecodeIn from "mozilla/RemoteDecoderManagerChild.h"; @@ -20,7 +21,7 @@ protocol PUtilityAudioDecoder { parent: async NewContentRemoteDecoderManager( - Endpoint<PRemoteDecoderManagerParent> endpoint); + Endpoint<PRemoteDecoderManagerParent> endpoint, ContentParentId parentId); #ifdef MOZ_WMF_MEDIA_ENGINE async InitVideoBridge(Endpoint<PVideoBridgeChild> endpoint, diff --git a/ipc/glue/UtilityAudioDecoderParent.cpp b/ipc/glue/UtilityAudioDecoderParent.cpp index 35480a87c9370f830cf53db0fabe5e7f0256144e..edec21c5ee7aae9b205a04978a8f74741389eef2 100644 --- a/ipc/glue/UtilityAudioDecoderParent.cpp +++ b/ipc/glue/UtilityAudioDecoderParent.cpp @@ -118,9 +118,11 @@ void UtilityAudioDecoderParent::Start( mozilla::ipc::IPCResult UtilityAudioDecoderParent::RecvNewContentRemoteDecoderManager( - Endpoint<PRemoteDecoderManagerParent>&& aEndpoint) { + Endpoint<PRemoteDecoderManagerParent>&& aEndpoint, + const ContentParentId& aParentId) { MOZ_ASSERT(NS_IsMainThread()); - if (!RemoteDecoderManagerParent::CreateForContent(std::move(aEndpoint))) { + if (!RemoteDecoderManagerParent::CreateForContent(std::move(aEndpoint), + aParentId)) { return IPC_FAIL_NO_REASON(this); } return IPC_OK(); diff --git a/ipc/glue/UtilityAudioDecoderParent.h b/ipc/glue/UtilityAudioDecoderParent.h index 8c741e52eeec8be05502e498134f9a2122044558..37c9c124331326614cde98eb5a071045934be8d9 100644 --- a/ipc/glue/UtilityAudioDecoderParent.h +++ b/ipc/glue/UtilityAudioDecoderParent.h @@ -33,7 +33,8 @@ class UtilityAudioDecoderParent final : public PUtilityAudioDecoderParent { void Start(Endpoint<PUtilityAudioDecoderParent>&& aEndpoint); mozilla::ipc::IPCResult RecvNewContentRemoteDecoderManager( - Endpoint<PRemoteDecoderManagerParent>&& aEndpoint); + Endpoint<PRemoteDecoderManagerParent>&& aEndpoint, + const ContentParentId& aParentId); #ifdef MOZ_WMF_MEDIA_ENGINE mozilla::ipc::IPCResult RecvInitVideoBridge( diff --git a/ipc/glue/UtilityProcessManager.cpp b/ipc/glue/UtilityProcessManager.cpp index 0b1fb2dd86acf996081842f40552d82dbe21fd04..59946cd3d337485650e2a3a786d2dd35e5e85231 100644 --- a/ipc/glue/UtilityProcessManager.cpp +++ b/ipc/glue/UtilityProcessManager.cpp @@ -307,7 +307,8 @@ RefPtr<GenericNonExclusivePromise> UtilityProcessManager::StartUtility( RefPtr<UtilityProcessManager::StartRemoteDecodingUtilityPromise> UtilityProcessManager::StartProcessForRemoteMediaDecoding( - base::ProcessId aOtherProcess, SandboxingKind aSandbox) { + base::ProcessId aOtherProcess, dom::ContentParentId aChildId, + SandboxingKind aSandbox) { // Not supported kinds. if (aSandbox != SandboxingKind::GENERIC_UTILITY #ifdef MOZ_APPLEMEDIA @@ -332,7 +333,8 @@ UtilityProcessManager::StartProcessForRemoteMediaDecoding( return StartUtility(uadc, aSandbox) ->Then( GetMainThreadSerialEventTarget(), __func__, - [self, uadc, aOtherProcess, aSandbox, remoteDecodingStart]() { + [self, uadc, aOtherProcess, aChildId, aSandbox, + remoteDecodingStart]() { RefPtr<UtilityProcessParent> parent = self->GetProcessParent(aSandbox); if (!parent) { @@ -359,8 +361,8 @@ UtilityProcessManager::StartProcessForRemoteMediaDecoding( rv, __func__); } - if (!uadc->SendNewContentRemoteDecoderManager( - std::move(parentPipe))) { + if (!uadc->SendNewContentRemoteDecoderManager(std::move(parentPipe), + aChildId)) { MOZ_ASSERT(false, "SendNewContentRemoteDecoderManager failure"); return StartRemoteDecodingUtilityPromise::CreateAndReject( NS_ERROR_FAILURE, __func__); diff --git a/ipc/glue/UtilityProcessManager.h b/ipc/glue/UtilityProcessManager.h index 931f9e025289ec830c4d302e4bfdeccc5975961d..2ad3f5041cef6c4ced5f63f0605382d9b4c658d8 100644 --- a/ipc/glue/UtilityProcessManager.h +++ b/ipc/glue/UtilityProcessManager.h @@ -6,6 +6,7 @@ #ifndef _include_ipc_glue_UtilityProcessManager_h_ #define _include_ipc_glue_UtilityProcessManager_h_ #include "mozilla/MozPromise.h" +#include "mozilla/dom/ipc/IdType.h" #include "mozilla/ipc/UtilityProcessHost.h" #include "mozilla/EnumeratedArray.h" #include "mozilla/ProcInfo.h" @@ -56,7 +57,8 @@ class UtilityProcessManager final : public UtilityProcessHost::Listener { SandboxingKind aSandbox); RefPtr<StartRemoteDecodingUtilityPromise> StartProcessForRemoteMediaDecoding( - base::ProcessId aOtherProcess, SandboxingKind aSandbox); + base::ProcessId aOtherProcess, dom::ContentParentId aChildId, + SandboxingKind aSandbox); RefPtr<JSOraclePromise> StartJSOracle(mozilla::dom::JSOracleParent* aParent); diff --git a/js/src/wasm/WasmInstance.cpp b/js/src/wasm/WasmInstance.cpp index b3b13699bb16733356c7b6934659cf47a54fd0ce..557ed4e98896007f33e65c1d5c554454d66a20e0 100644 --- a/js/src/wasm/WasmInstance.cpp +++ b/js/src/wasm/WasmInstance.cpp @@ -227,14 +227,44 @@ bool Instance::callImport(JSContext* cx, uint32_t funcImportIndex, MOZ_ASSERT(argTypes.lengthWithStackResults() == argc); Maybe<char*> stackResultPointer; - for (size_t i = 0; i < argc; i++) { - const void* rawArgLoc = &argv[i]; + size_t lastBoxIndexPlusOne = 0; + { + JS::AutoAssertNoGC nogc; + for (size_t i = 0; i < argc; i++) { + const void* rawArgLoc = &argv[i]; + if (argTypes.isSyntheticStackResultPointerArg(i)) { + stackResultPointer = Some(*(char**)rawArgLoc); + continue; + } + size_t naturalIndex = argTypes.naturalIndex(i); + ValType type = funcType.args()[naturalIndex]; + // Avoid boxes creation not to trigger GC. + if (ToJSValueMayGC(type)) { + lastBoxIndexPlusOne = i + 1; + continue; + } + MutableHandleValue argValue = args[naturalIndex]; + if (!ToJSValue(cx, rawArgLoc, type, argValue)) { + return false; + } + } + } + + // Visit arguments that need to perform allocation in a second loop + // after the rest of arguments are converted. + for (size_t i = 0; i < lastBoxIndexPlusOne; i++) { if (argTypes.isSyntheticStackResultPointerArg(i)) { - stackResultPointer = Some(*(char**)rawArgLoc); continue; } + const void* rawArgLoc = &argv[i]; size_t naturalIndex = argTypes.naturalIndex(i); ValType type = funcType.args()[naturalIndex]; + if (!ToJSValueMayGC(type)) { + continue; + } + MOZ_ASSERT(!type.isRefRepr()); + // The conversions are safe here because source values are not references + // and will not be moved. MutableHandleValue argValue = args[naturalIndex]; if (!ToJSValue(cx, rawArgLoc, type, argValue)) { return false; diff --git a/js/src/wasm/WasmValue.cpp b/js/src/wasm/WasmValue.cpp index b07a66867b27db01cce411bf2f51bdc87aab0eea..f05070d1b9cab903f504dbbf3e889b7f28dfede2 100644 --- a/js/src/wasm/WasmValue.cpp +++ b/js/src/wasm/WasmValue.cpp @@ -353,6 +353,8 @@ template bool wasm::ToJSValue<DebugCodegenVal>(JSContext* cx, const void* src, FieldType type, MutableHandleValue dst, CoercionLevel level); +template bool wasm::ToJSValueMayGC<NoDebug>(FieldType type); +template bool wasm::ToJSValueMayGC<DebugCodegenVal>(FieldType type); template bool wasm::ToWebAssemblyValue<NoDebug>(JSContext* cx, HandleValue val, ValType type, void* loc, @@ -370,6 +372,8 @@ template bool wasm::ToJSValue<DebugCodegenVal>(JSContext* cx, const void* src, ValType type, MutableHandleValue dst, CoercionLevel level); +template bool wasm::ToJSValueMayGC<NoDebug>(ValType type); +template bool wasm::ToJSValueMayGC<DebugCodegenVal>(ValType type); template <typename Debug = NoDebug> bool ToWebAssemblyValue_i8(JSContext* cx, HandleValue val, int8_t* loc) { @@ -817,12 +821,22 @@ bool wasm::ToJSValue(JSContext* cx, const void* src, FieldType type, return true; } +template <typename Debug> +bool wasm::ToJSValueMayGC(FieldType type) { + return type.kind() == FieldType::I64; +} + template <typename Debug> bool wasm::ToJSValue(JSContext* cx, const void* src, ValType type, MutableHandleValue dst, CoercionLevel level) { return wasm::ToJSValue(cx, src, FieldType(type.packed()), dst, level); } +template <typename Debug> +bool wasm::ToJSValueMayGC(ValType type) { + return wasm::ToJSValueMayGC(FieldType(type.packed())); +} + void AnyRef::trace(JSTracer* trc) { if (value_) { TraceManuallyBarrieredEdge(trc, &value_, "wasm anyref referent"); diff --git a/js/src/wasm/WasmValue.h b/js/src/wasm/WasmValue.h index cef65901af0fc0286d15c986beca104970bc21ff..26ff65e327af5acc3b51a1c7dd76e6090262c825 100644 --- a/js/src/wasm/WasmValue.h +++ b/js/src/wasm/WasmValue.h @@ -563,10 +563,13 @@ extern bool ToJSValue(JSContext* cx, const void* src, FieldType type, MutableHandleValue dst, CoercionLevel level = CoercionLevel::Spec); template <typename Debug = NoDebug> +extern bool ToJSValueMayGC(FieldType type); +template <typename Debug = NoDebug> extern bool ToJSValue(JSContext* cx, const void* src, ValType type, MutableHandleValue dst, CoercionLevel level = CoercionLevel::Spec); - +template <typename Debug = NoDebug> +extern bool ToJSValueMayGC(ValType type); } // namespace wasm template <> diff --git a/layout/base/crashtests/1442018-1.html b/layout/base/crashtests/1442018-1.html new file mode 100644 index 0000000000000000000000000000000000000000..3093a67bc2eed3943ee36ef408190e65a01be592 --- /dev/null +++ b/layout/base/crashtests/1442018-1.html @@ -0,0 +1,45 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<script> +document.addEventListener("DOMContentLoaded", () => { + SpecialPowers.wrap(window).printPreview()?.close(); +}) +</script> + +<style> +@page { + /* Default reftest-paged page size: */ + size: 5in 3in; + margin: 0.5in; /* This leaves 2in of height for content */ +} +body { margin: 0; } + +table { + border-collapse: collapse; + border: 5px solid black; +} +th { + height: 0.5in; + border-bottom: 5px solid green; + } +td { + height: 1in; + width: 2in; + border-bottom: 5px solid orange; +} +.float { float: left; } +.clear { clear: both; } +</style> + +<div class="float"> + <table> + <thead> + <tr><th></th></tr> + </thead> + <tbody> + <tr><td></td></tr> + <tr><td></td></tr> + </tbody> + </table> +</div> +<div class="clear"></div> diff --git a/layout/base/crashtests/crashtests.list b/layout/base/crashtests/crashtests.list index ccd798134f984feb39e705b4654283fb1cdd8828..7c284d52e0490965ae8ed90b37cb3119ab5c0a08 100644 --- a/layout/base/crashtests/crashtests.list +++ b/layout/base/crashtests/crashtests.list @@ -482,6 +482,7 @@ load 1429962.html load 1435015.html load 1437155.html load 1439016.html +load 1442018-1.html load 1442506.html load 1443027-1.html load 1448841-1.html diff --git a/layout/generic/nsTextFrame.cpp b/layout/generic/nsTextFrame.cpp index 112c5fe7115e12f69f3317b30e2c7f362bc9ca47..14b2198f4975daa979a9536ca5c3fd41afa6f5b2 100644 --- a/layout/generic/nsTextFrame.cpp +++ b/layout/generic/nsTextFrame.cpp @@ -641,7 +641,11 @@ void GlyphObserver::NotifyGlyphsChanged() { int32_t nsTextFrame::GetContentEnd() const { nsTextFrame* next = GetNextContinuation(); - return next ? next->GetContentOffset() : TextFragment()->GetLength(); + // In case of allocation failure when setting/modifying the textfragment, + // it's possible our text might be missing. So we check the fragment length, + // in addition to the offset of the next continuation (if any). + int32_t fragLen = TextFragment()->GetLength(); + return next ? std::min(fragLen, next->GetContentOffset()) : fragLen; } struct FlowLengthProperty { @@ -1037,9 +1041,10 @@ class BuildTextRunsScanner { // was no previous text frame on this line. nsIFrame* mAncestorControllingInitialBreak; - int32_t GetContentEnd() { - return mEndFrame ? mEndFrame->GetContentOffset() - : mStartFrame->TextFragment()->GetLength(); + int32_t GetContentEnd() const { + int32_t fragLen = mStartFrame->TextFragment()->GetLength(); + return mEndFrame ? std::min(fragLen, mEndFrame->GetContentOffset()) + : fragLen; } }; @@ -9998,10 +10003,7 @@ void nsTextFrame::ToCString(nsCString& aBuf) const { return; } - // Limit the length to fragment length in case the text has not been reflowed. - const uint32_t fragLength = - std::min(frag->GetLength(), AssertedCast<uint32_t>(GetContentEnd())); - + const uint32_t fragLength = AssertedCast<uint32_t>(GetContentEnd()); uint32_t fragOffset = AssertedCast<uint32_t>(GetContentOffset()); while (fragOffset < fragLength) { diff --git a/layout/reftests/bugs/reftest.list b/layout/reftests/bugs/reftest.list index 0f0e249ea40502b1ab6de5b06a5403614ebe3737..ef997b932d375e8da5c78579d7d9cf53ca64e081 100644 --- a/layout/reftests/bugs/reftest.list +++ b/layout/reftests/bugs/reftest.list @@ -2076,7 +2076,7 @@ skip-if(!OSX) != 1608124-2.html 1608124-2-notref.html == 1613380.html 1613380-ref.html fuzzy(0-145,0-48536) == 1614788-1.svg 1614788-1-ref.svg # large fuzz necesary to test bug: 239,202824 is how much it differs when bug exists == blob-fallback-clip.html blob-fallback-clip-ref.html -fuzzy-if(OSX,0-42,0-4) == 1617515-1.html 1617515-1-ref.html +fuzzy-if(OSX,0-42,0-4) fuzzy-if(winWidget,249-249,999-999) == 1617515-1.html 1617515-1-ref.html fuzzy(0-2,0-21184) == 1626259-1.html 1626259-1-ref.html fuzzy(0-2,0-21184) == 1626259-2.html 1626259-2-ref.html != 1642583-1.html 1642583-1-ref.html @@ -2128,7 +2128,7 @@ pref(layout.css.prefers-color-scheme.content-override,2) == 1787127.html 1787127 skip-if(!/^Windows\x20NT\x2010\.0/.test(http.oscpu)) == 1798297-1.html 1798297-1-ref.html skip-if(!/^Windows\x20NT\x2010\.0/.test(http.oscpu)) != 1798297-1.html 1798297-1-notref.html == 1799425-1.html 1799425-1-ref.html -== 1800437-1.html 1800437-1-ref.html +fuzzy-if(winWidget,114-114,738-738) == 1800437-1.html 1800437-1-ref.html == 1803999-1.html 1803999-1-ref.html # testing the same bug but we can hit it via a few different code paths, 1 is raster image, 2 is vector image, 3 is vector image with an image restriction region pref(image.downscale-during-decode.enabled,true) == 1804872-1.html 1804872-1-ref.html diff --git a/layout/style/nsStyleUtil.cpp b/layout/style/nsStyleUtil.cpp index 4bfab913dc9012d43a15f72428e3b424fe33d244..4b9cd52b9e4b3d886509d907e74d08d1b4ed0fa2 100644 --- a/layout/style/nsStyleUtil.cpp +++ b/layout/style/nsStyleUtil.cpp @@ -10,6 +10,7 @@ #include "mozilla/dom/Document.h" #include "mozilla/ExpandedPrincipal.h" #include "mozilla/intl/MozLocaleBindings.h" +#include "mozilla/intl/oxilangtag_ffi_generated.h" #include "mozilla/TextUtils.h" #include "nsIContent.h" #include "nsCSSProps.h" @@ -55,59 +56,55 @@ bool nsStyleUtil::DashMatchCompare(const nsAString& aAttributeValue, bool nsStyleUtil::LangTagCompare(const nsACString& aAttributeValue, const nsACString& aSelectorValue) { - class AutoLangId { + if (aAttributeValue.IsEmpty() || aSelectorValue.IsEmpty()) { + return false; + } + + class MOZ_RAII AutoLangTag final { public: - AutoLangId() = delete; - AutoLangId(const AutoLangId& aOther) = delete; - explicit AutoLangId(const nsACString& aLangTag) : mIsValid(false) { - mLangId = intl::ffi::unic_langid_new(&aLangTag, &mIsValid); + AutoLangTag() = delete; + AutoLangTag(const AutoLangTag& aOther) = delete; + explicit AutoLangTag(const nsACString& aLangTag) { + mLangTag = intl::ffi::lang_tag_new(&aLangTag); } - ~AutoLangId() { intl::ffi::unic_langid_destroy(mLangId); } + ~AutoLangTag() { + if (mLangTag) { + intl::ffi::lang_tag_destroy(mLangTag); + } + } - operator intl::ffi::LanguageIdentifier*() const { return mLangId; } - bool IsValid() const { return mIsValid; } + bool IsValid() const { return mLangTag; } + operator intl::ffi::LangTag*() const { return mLangTag; } void Reset(const nsACString& aLangTag) { - intl::ffi::unic_langid_destroy(mLangId); - mLangId = intl::ffi::unic_langid_new(&aLangTag, &mIsValid); + if (mLangTag) { + intl::ffi::lang_tag_destroy(mLangTag); + } + mLangTag = intl::ffi::lang_tag_new(&aLangTag); } private: - intl::ffi::LanguageIdentifier* mLangId; - bool mIsValid; + intl::ffi::LangTag* mLangTag = nullptr; }; - if (aAttributeValue.IsEmpty() || aSelectorValue.IsEmpty()) { - return false; - } + AutoLangTag langAttr(aAttributeValue); - AutoLangId attrLangId(aAttributeValue); - if (!attrLangId.IsValid()) { - return false; + // Non-BCP47 extension: recognize '_' as an alternative subtag delimiter. + nsAutoCString attrTemp; + if (!langAttr.IsValid()) { + if (aAttributeValue.Contains('_')) { + attrTemp = aAttributeValue; + attrTemp.ReplaceChar('_', '-'); + langAttr.Reset(attrTemp); + } } - AutoLangId selectorId(aSelectorValue); - if (!selectorId.IsValid()) { - // If it was "invalid" because of a wildcard language subtag, replace that - // with 'und' and try again. - // XXX Should unic_langid_new handle the wildcard internally? - if (aSelectorValue[0] == '*') { - nsAutoCString temp(aSelectorValue); - temp.Replace(0, 1, "und"); - selectorId.Reset(temp); - if (!selectorId.IsValid()) { - return false; - } - intl::ffi::unic_langid_clear_language(selectorId); - } else { - return false; - } + if (!langAttr.IsValid()) { + return false; } - return intl::ffi::unic_langid_matches(attrLangId, selectorId, - /* match addrLangId as range */ false, - /* match selectorId as range */ true); + return intl::ffi::lang_tag_matches(langAttr, &aSelectorValue); } bool nsStyleUtil::ValueIncludes(const nsAString& aValueList, diff --git a/layout/tables/nsCellMap.cpp b/layout/tables/nsCellMap.cpp index 6e9ae636d75d0bd4de91900c0ddb14215c7e92da..b0de78adc6373801d55f2583f995bb1815d99748 100644 --- a/layout/tables/nsCellMap.cpp +++ b/layout/tables/nsCellMap.cpp @@ -208,7 +208,16 @@ nsCellMap* nsTableCellMap::GetMapFor(const nsTableRowGroupFrame* aRowGroup, // If aRowGroup is a repeated header or footer find the header or footer it // was repeated from. - if (aRowGroup->IsRepeatable()) { + // Bug 1442018: we also need this search for header/footer frames that are + // not marked as _repeatable_ because they have a next-in-flow, as they may + // nevertheless have been _repeated_ from an earlier fragment. + auto isTableHeaderFooterGroup = [](const nsTableRowGroupFrame* aRG) -> bool { + const auto display = aRG->StyleDisplay()->mDisplay; + return display == StyleDisplay::TableHeaderGroup || + display == StyleDisplay::TableFooterGroup; + }; + if (aRowGroup->IsRepeatable() || + (aRowGroup->GetNextInFlow() && isTableHeaderFooterGroup(aRowGroup))) { auto findOtherRowGroupOfType = [aRowGroup](nsTableFrame* aTable) -> nsTableRowGroupFrame* { const auto display = aRowGroup->StyleDisplay()->mDisplay; diff --git a/layout/tables/nsTableFrame.cpp b/layout/tables/nsTableFrame.cpp index 394818d80ba4d6b4c27db23102524d931a8b1c39..e8f0f64221cdf49cc72f78c7ec36241124095cdd 100644 --- a/layout/tables/nsTableFrame.cpp +++ b/layout/tables/nsTableFrame.cpp @@ -6259,6 +6259,13 @@ void BCPaintBorderIterator::SetNewData(int32_t aY, int32_t aX) { mCellData = nullptr; mBCData = &mTableCellMap->mBCInfo->mBEndBorders.ElementAt(aX); } else { + // We should have set mCellMap during SetNewRowGroup, but if we failed to + // find the appropriate map there, let's just give up. + // Bailing out here may leave us with some missing borders, but seems + // preferable to crashing. (Bug 1442018) + if (MOZ_UNLIKELY(!mCellMap)) { + ABORT0(); + } if (uint32_t(mRowIndex - mFifRgFirstRowIndex) < mCellMap->mRows.Length()) { mBCData = nullptr; mCellData = (BCCellData*)mCellMap->mRows[mRowIndex - mFifRgFirstRowIndex] diff --git a/netwerk/cache2/CacheIOThread.cpp b/netwerk/cache2/CacheIOThread.cpp index 3f43307cb8841f09fcb149405948e313071c8578..fe41e679141d409900956f618947b1cd07552cf7 100644 --- a/netwerk/cache2/CacheIOThread.cpp +++ b/netwerk/cache2/CacheIOThread.cpp @@ -380,6 +380,7 @@ void CacheIOThread::ThreadFunc() { if (threadInternal) threadInternal->SetObserver(this); mXPCOMThread = xpcomThread.forget().take(); + nsCOMPtr<nsIThread> thread = NS_GetCurrentThread(); lock.NotifyAll(); @@ -400,7 +401,6 @@ void CacheIOThread::ThreadFunc() { bool processedEvent; nsresult rv; do { - nsIThread* thread = mXPCOMThread; rv = thread->ProcessNextEvent(false, &processedEvent); ++mEventCounter; diff --git a/netwerk/dns/effective_tld_names.dat b/netwerk/dns/effective_tld_names.dat index fff6e9a494d642a5751192aa654e7e4c70fe6c5d..79248a73f04b476ff022d71e3e354c6cce0bcd0c 100644 --- a/netwerk/dns/effective_tld_names.dat +++ b/netwerk/dns/effective_tld_names.dat @@ -6710,7 +6710,7 @@ org.zw // newGTLDs -// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2023-11-03T15:13:18Z +// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2023-12-06T15:14:09Z // This list is auto-generated, don't edit it manually. // aaa : American Automobile Association, Inc. // https://www.iana.org/domains/root/db/aaa.html @@ -7752,6 +7752,10 @@ dental // https://www.iana.org/domains/root/db/dentist.html dentist +// desi +// https://www.iana.org/domains/root/db/desi.html +desi + // design : Registry Services, LLC // https://www.iana.org/domains/root/db/design.html design @@ -7796,7 +7800,7 @@ discover // https://www.iana.org/domains/root/db/dish.html dish -// diy : Lifestyle Domain Holdings, Inc. +// diy : Internet Naming Company LLC // https://www.iana.org/domains/root/db/diy.html diy @@ -7928,10 +7932,6 @@ esq // https://www.iana.org/domains/root/db/estate.html estate -// etisalat : Emirates Telecommunications Corporation (trading as Etisalat) -// https://www.iana.org/domains/root/db/etisalat.html -etisalat - // eurovision : European Broadcasting Union (EBU) // https://www.iana.org/domains/root/db/eurovision.html eurovision @@ -8104,7 +8104,7 @@ fly // https://www.iana.org/domains/root/db/foo.html foo -// food : Lifestyle Domain Holdings, Inc. +// food : Internet Naming Company LLC // https://www.iana.org/domains/root/db/food.html food @@ -8312,7 +8312,7 @@ goldpoint // https://www.iana.org/domains/root/db/golf.html golf -// goo : NTT Resonant Inc. +// goo : NTT DOCOMO, INC. // https://www.iana.org/domains/root/db/goo.html goo @@ -8908,7 +8908,7 @@ life // https://www.iana.org/domains/root/db/lifeinsurance.html lifeinsurance -// lifestyle : Lifestyle Domain Holdings, Inc. +// lifestyle : Internet Naming Company LLC // https://www.iana.org/domains/root/db/lifestyle.html lifestyle @@ -8948,7 +8948,7 @@ lipsy // https://www.iana.org/domains/root/db/live.html live -// living : Lifestyle Domain Holdings, Inc. +// living : Internet Naming Company LLC // https://www.iana.org/domains/root/db/living.html living @@ -10524,7 +10524,7 @@ ups // https://www.iana.org/domains/root/db/vacations.html vacations -// vana : Lifestyle Domain Holdings, Inc. +// vana : Internet Naming Company LLC // https://www.iana.org/domains/root/db/vana.html vana @@ -10608,10 +10608,6 @@ vlaanderen // https://www.iana.org/domains/root/db/vodka.html vodka -// volkswagen : Volkswagen Group of America Inc. -// https://www.iana.org/domains/root/db/volkswagen.html -volkswagen - // volvo : Volvo Holding Sverige Aktiebolag // https://www.iana.org/domains/root/db/volvo.html volvo @@ -10680,6 +10676,10 @@ weber // https://www.iana.org/domains/root/db/website.html website +// wed +// https://www.iana.org/domains/root/db/wed.html +wed + // wedding : Registry Services, LLC // https://www.iana.org/domains/root/db/wedding.html wedding @@ -11012,10 +11012,6 @@ xin // https://www.iana.org/domains/root/db/xn--mgba7c0bbn0a.html العليان -// xn--mgbaakc7dvf : Emirates Telecommunications Corporation (trading as Etisalat) -// https://www.iana.org/domains/root/db/xn--mgbaakc7dvf.html -اتصالات - // xn--mgbab2bd : CORE Association // https://www.iana.org/domains/root/db/xn--mgbab2bd.html بازار @@ -13193,7 +13189,7 @@ shw.io // Submitted by Jonathan Rudenberg <jonathan@flynn.io> flynnhosting.net -// Forgerock : https://www.forgerock.com +// Forgerock : https://www.forgerock.com // Submitted by Roderick Parr <roderick.parr@forgerock.com> forgeblocks.com id.forgerock.io @@ -14887,7 +14883,7 @@ alpha.bounty-full.com beta.bounty-full.com // Smallregistry by Promopixel SARL: https://www.smallregistry.net -// Former AFNIC's SLDs +// Former AFNIC's SLDs // Submitted by Jérôme Lipowicz <support@promopixel.com> aeroport.fr avocat.fr diff --git a/netwerk/dns/nsDNSService2.cpp b/netwerk/dns/nsDNSService2.cpp index f115cab4de34f6df416b6579711f3528e7b1f95f..d36cf7e9a7f54e90c13daf11f8c228b6b758caf3 100644 --- a/netwerk/dns/nsDNSService2.cpp +++ b/netwerk/dns/nsDNSService2.cpp @@ -876,9 +876,6 @@ nsDNSService::Init() { RegisterWeakMemoryReporter(this); - nsCOMPtr<nsIObliviousHttpService> ohttpService( - do_GetService("@mozilla.org/network/oblivious-http-service;1")); - mTrrService = new TRRService(); if (NS_FAILED(mTrrService->Init())) { mTrrService = nullptr; diff --git a/netwerk/test/unit/xpcshell.ini b/netwerk/test/unit/xpcshell.ini index 32d20538eacbf8ff716065dc445f1d405a490866..456e8ddfc545edc9ec76d2d7613dbc23d8072dfd 100644 --- a/netwerk/test/unit/xpcshell.ini +++ b/netwerk/test/unit/xpcshell.ini @@ -192,7 +192,7 @@ skip-if = bits != 32 [test_dooh.js] head = head_channels.js head_cache.js head_cookies.js head_trr.js head_http3.js trr_common.js run-sequentially = node server exceptions dont replay well -skip-if = socketprocess_networking +skip-if = true # Disabled in 115esr, bug 1868042 [test_cacheflags.js] skip-if = os == "win" && os_version == "6.1" # Skip on Azure - frequent failure diff --git a/remote/shared/RecommendedPreferences.sys.mjs b/remote/shared/RecommendedPreferences.sys.mjs index 58397887ac39fc295e46effcbdd215fe63ac2f2b..27991e233228013084f7fd5457f1d27b8f056d00 100644 --- a/remote/shared/RecommendedPreferences.sys.mjs +++ b/remote/shared/RecommendedPreferences.sys.mjs @@ -331,8 +331,8 @@ const COMMON_PREFERENCES = new Map([ // Do not download intermediate certificates ["security.remote_settings.intermediates.enabled", false], - // Ensure blocklist updates do not hit the network - ["services.settings.server", "http://%(server)s/dummy/blocklist/"], + // Ensure remote settings do not hit the network + ["services.settings.server", "data:,#remote-settings-dummy/v1"], // Do not automatically fill sign-in forms with known usernames and // passwords diff --git a/security/certverifier/CertVerifier.cpp b/security/certverifier/CertVerifier.cpp index f279560fbdcba9fd67651bb904b03afbc861181e..ddf611a6ecb3e8113444fd1348f5d7a86348c9ad 100644 --- a/security/certverifier/CertVerifier.cpp +++ b/security/certverifier/CertVerifier.cpp @@ -854,10 +854,13 @@ Result CertVerifier::VerifySSLServerCert( if (peerBackCert.Init() != Success) { return rv; } - if (rv == Result::ERROR_UNKNOWN_ISSUER && + if ((rv == Result::ERROR_UNKNOWN_ISSUER || + rv == Result::ERROR_BAD_SIGNATURE || + rv == Result::ERROR_INADEQUATE_KEY_USAGE) && CertIsSelfSigned(peerBackCert, pinarg)) { - // In this case we didn't find any issuer for the certificate and the - // certificate is self-signed. + // In this case we didn't find any issuer for the certificate, or we did + // find other certificates with the same subject but different keys, and + // the certificate is self-signed. return Result::ERROR_SELF_SIGNED_CERT; } if (rv == Result::ERROR_UNKNOWN_ISSUER) { diff --git a/security/manager/pki/resources/content/certManager.css b/security/manager/pki/resources/content/certManager.css index b90cedbc0776281e15e6dfaccd07934e6aa0cd91..bf8dcc042d23fa869388d9dc975806c93dda177a 100644 --- a/security/manager/pki/resources/content/certManager.css +++ b/security/manager/pki/resources/content/certManager.css @@ -11,6 +11,11 @@ contain: inline-size; } +treecol { + flex: 1 auto; + width: 0; /* Don't let intrinsic sizes affect our minimum size. */ +} + #certmanager { /* This prevents horizontal scrollbars due to <tree> and non-XUL layout * interactions */ diff --git a/security/manager/pki/resources/content/certManager.xhtml b/security/manager/pki/resources/content/certManager.xhtml index 53053e2bfe10ee0367ca99345e44c9329a641790..9cf0543d78eb09d41de62482b390c63fbba38f68 100644 --- a/security/manager/pki/resources/content/certManager.xhtml +++ b/security/manager/pki/resources/content/certManager.xhtml @@ -60,21 +60,18 @@ data-l10n-id="certmgr-cert-name" primary="true" persist="hidden width ordinal" - flex="1" /> <splitter class="tree-splitter" /> <treecol id="tokencol" data-l10n-id="certmgr-token-name" persist="hidden width ordinal" - flex="1" /> <splitter class="tree-splitter" /> <treecol id="serialnumcol" data-l10n-id="certmgr-serial" persist="hidden width ordinal" - flex="1" /> <splitter class="tree-splitter" /> <treecol @@ -82,14 +79,12 @@ data-l10n-id="certmgr-begins-label" hidden="true" persist="hidden width ordinal" - flex="1" /> <splitter class="tree-splitter" /> <treecol id="expiredcol" data-l10n-id="certmgr-expires-label" persist="hidden width ordinal" - flex="1" /> </treecols> <treechildren ondblclick="viewCerts();" /> @@ -143,20 +138,17 @@ data-l10n-id="certmgr-cert-host" primary="true" persist="hidden width ordinal" - flex="1" /> <treecol id="certcol" data-l10n-id="certmgr-cert-name" primary="true" persist="hidden width ordinal" - flex="1" /> <treecol id="serialnumcol" data-l10n-id="certmgr-serial" persist="hidden width ordinal" - flex="1" /> </listheader> <richlistbox id="rememberedList" flex="1" selected="false" /> @@ -188,16 +180,11 @@ id="certcol" data-l10n-id="certmgr-cert-name" primary="true" - flex="1" /> <splitter class="tree-splitter" /> - <treecol id="emailcol" data-l10n-id="certmgr-email" flex="1" /> + <treecol id="emailcol" data-l10n-id="certmgr-email" /> <splitter class="tree-splitter" /> - <treecol - id="expiredcol" - data-l10n-id="certmgr-expires-label" - flex="1" - /> + <treecol id="expiredcol" data-l10n-id="certmgr-expires-label" /> </treecols> <treechildren flex="1" ondblclick="viewCerts();" /> </tree> @@ -240,12 +227,10 @@ id="sitecol" data-l10n-id="certmgr-cert-server" primary="true" - flex="1" /> <treecol id="sha256col" data-l10n-id="certmgr-fingerprint-sha-256" - flex="1" /> </listheader> <richlistbox @@ -294,14 +279,12 @@ data-l10n-id="certmgr-cert-name" primary="true" persist="hidden width ordinal" - flex="1" /> <splitter class="tree-splitter" /> <treecol id="tokencol" data-l10n-id="certmgr-token-name" persist="hidden width ordinal" - flex="1" /> </treecols> <treechildren ondblclick="viewCerts();" /> diff --git a/security/manager/ssl/NSSSocketControl.cpp b/security/manager/ssl/NSSSocketControl.cpp index bfc04e2876408181dd5828265bc66bfc5571f306..eaeae754a60572be10836a65ad71ee15ef7b9124 100644 --- a/security/manager/ssl/NSSSocketControl.cpp +++ b/security/manager/ssl/NSSSocketControl.cpp @@ -321,7 +321,7 @@ nsresult NSSSocketControl::ActivateSSL() { mHandshakePending = true; - return SetResumptionTokenFromExternalCache(); + return SetResumptionTokenFromExternalCache(mFd); } nsresult NSSSocketControl::GetFileDescPtr(PRFileDesc** aFilePtr) { @@ -508,7 +508,6 @@ PRStatus NSSSocketControl::CloseSocketAndDestroy() { if (status != PR_SUCCESS) return status; popped->identity = PR_INVALID_IO_LAYER; - NS_RELEASE_THIS(); popped->dtor(popped); return PR_SUCCESS; @@ -624,15 +623,15 @@ NSSSocketControl::GetPeerId(nsACString& aResult) { return NS_OK; } -nsresult NSSSocketControl::SetResumptionTokenFromExternalCache() { +nsresult NSSSocketControl::SetResumptionTokenFromExternalCache(PRFileDesc* fd) { COMMON_SOCKET_CONTROL_ASSERT_ON_OWNING_THREAD(); - if (!mFd) { - return NS_ERROR_FAILURE; + if (!fd) { + return NS_ERROR_INVALID_ARG; } // If SSL_NO_CACHE option was set, we must not use the cache PRIntn val; - if (SSL_OptionGet(mFd, SSL_NO_CACHE, &val) != SECSuccess) { + if (SSL_OptionGet(fd, SSL_NO_CACHE, &val) != SECSuccess) { return NS_ERROR_FAILURE; } @@ -659,7 +658,7 @@ nsresult NSSSocketControl::SetResumptionTokenFromExternalCache() { return rv; } - SECStatus srv = SSL_SetResumptionToken(mFd, token.Elements(), token.Length()); + SECStatus srv = SSL_SetResumptionToken(fd, token.Elements(), token.Length()); if (srv == SECFailure) { PRErrorCode error = PR_GetError(); mozilla::net::SSLTokensCache::Remove(peerId, tokenId); diff --git a/security/manager/ssl/NSSSocketControl.h b/security/manager/ssl/NSSSocketControl.h index 332d7a555fe3f75ab426e4fb2da5db7cf7881207..0dfea048807d8d9aafc9b4afc838fb391a1eb9c8 100644 --- a/security/manager/ssl/NSSSocketControl.h +++ b/security/manager/ssl/NSSSocketControl.h @@ -220,7 +220,7 @@ class NSSSocketControl final : public CommonSocketControl { void SetSharedOwningReference(mozilla::psm::SharedSSLState* ref); - nsresult SetResumptionTokenFromExternalCache(); + nsresult SetResumptionTokenFromExternalCache(PRFileDesc* fd); void SetPreliminaryHandshakeInfo(const SSLChannelInfo& channelInfo, const SSLCipherSuiteInfo& cipherInfo); diff --git a/security/manager/ssl/StaticHPKPins.h b/security/manager/ssl/StaticHPKPins.h index 0cf6f6523092c4d4a24f2f9918a04ba048c3ed24..35c0747ebdd9cd633c34020e201dae619409f19e 100644 --- a/security/manager/ssl/StaticHPKPins.h +++ b/security/manager/ssl/StaticHPKPins.h @@ -111,14 +111,6 @@ static const char kFacebookBackupFingerprint[] = static const char kGOOGLE_PIN_DigiCertECCSecureServerCAFingerprint[] = "PZXN3lRAy+8tBKk2Ox6F7jIlnzr2Yzmwqc3JnyfXoCw="; -/* GOOGLE_PIN_GTSCA1O1 */ -static const char kGOOGLE_PIN_GTSCA1O1Fingerprint[] = - "YZPgTZ+woNCCCIW3LH2CxQeLzB/1m42QcCTBSdgayjs="; - -/* GOOGLE_PIN_GlobalSignRootCA_R2 */ -static const char kGOOGLE_PIN_GlobalSignRootCA_R2Fingerprint[] = - "iie1VXtL7HzAMF+/PVPR9xzT80kQxdZeJ+zduCB3uj0="; - /* GOOGLE_PIN_R3LetsEncrypt */ static const char kGOOGLE_PIN_R3LetsEncryptFingerprint[] = "jQJTbIh0grw0/1TkHSumWb+Fs0Ggogr621gT3PvPKG0="; @@ -151,6 +143,10 @@ static const char kGTS_Root_R3Fingerprint[] = static const char kGTS_Root_R4Fingerprint[] = "mEflZT5enoR1FuXLgYYGqnVEoZvmf9c2bVBpiOjYQ0c="; +/* GlobalSign ECC Root CA - R4 */ +static const char kGlobalSign_ECC_Root_CA___R4Fingerprint[] = + "CLOmM1/OXvSPjw5UOYbAf9GKOxImEp9hhku9W90fHMk="; + /* GlobalSign ECC Root CA - R5 */ static const char kGlobalSign_ECC_Root_CA___R5Fingerprint[] = "fg6tdrtoGdwvVFEahDVPboswe53YIFjqbABPAdndpd8="; @@ -308,12 +304,11 @@ static const StaticFingerprints kPinset_test = { }; static const char* const kPinset_google_Data[] = { + kGlobalSign_ECC_Root_CA___R4Fingerprint, kGoogleBackup2048Fingerprint, kGTS_Root_R3Fingerprint, kGTS_Root_R2Fingerprint, - kGOOGLE_PIN_GTSCA1O1Fingerprint, kGTS_Root_R1Fingerprint, - kGOOGLE_PIN_GlobalSignRootCA_R2Fingerprint, kGTS_Root_R4Fingerprint, }; static const StaticFingerprints kPinset_google = { @@ -780,4 +775,4 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = { static const int32_t kUnknownId = -1; -static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1708339972078000); +static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1710759186047000); diff --git a/security/manager/ssl/nsNSSIOLayer.cpp b/security/manager/ssl/nsNSSIOLayer.cpp index 952e8f6a4d4f040ff5d3407663b011cfcb8b801a..1f740eb4c953aaf682e3ff69c9569901555936f7 100644 --- a/security/manager/ssl/nsNSSIOLayer.cpp +++ b/security/manager/ssl/nsNSSIOLayer.cpp @@ -25,6 +25,7 @@ #include "mozilla/Logging.h" #include "mozilla/Preferences.h" #include "mozilla/RandomNum.h" +#include "mozilla/ScopeExit.h" #include "mozilla/StaticPrefs_security.h" #include "mozilla/Telemetry.h" #include "mozilla/ipc/BackgroundChild.h" @@ -321,13 +322,20 @@ PRIOMethods nsSSLIOLayerHelpers::nsSSLIOLayerMethods; PRIOMethods nsSSLIOLayerHelpers::nsSSLPlaintextLayerMethods; static PRStatus nsSSLIOLayerClose(PRFileDesc* fd) { - if (!fd) return PR_FAILURE; + if (!fd) { + return PR_FAILURE; + } - MOZ_LOG(gPIPNSSLog, LogLevel::Debug, - ("[%p] Shutting down socket\n", (void*)fd)); + MOZ_LOG(gPIPNSSLog, LogLevel::Debug, ("[%p] Shutting down socket", fd)); - NSSSocketControl* socketInfo = (NSSSocketControl*)fd->secret; - MOZ_ASSERT(socketInfo, "NSSSocketControl was null for an fd"); + // Take the owning reference from the layer. See the corresponding comment in + // nsSSLIOLayerAddToSocket where this gets set. + RefPtr<NSSSocketControl> socketInfo( + already_AddRefed((NSSSocketControl*)fd->secret)); + fd->secret = nullptr; + if (!socketInfo) { + return PR_FAILURE; + } return socketInfo->CloseSocketAndDestroy(); } @@ -970,17 +978,17 @@ PrefObserver::Observe(nsISupports* aSubject, const char* aTopic, static int32_t PlaintextRecv(PRFileDesc* fd, void* buf, int32_t amount, int flags, PRIntervalTime timeout) { - // The shutdownlocker is not needed here because it will already be - // held higher in the stack NSSSocketControl* socketInfo = nullptr; int32_t bytesRead = fd->lower->methods->recv(fd->lower, buf, amount, flags, timeout); - if (fd->identity == nsSSLIOLayerHelpers::nsSSLPlaintextLayerIdentity) + if (fd->identity == nsSSLIOLayerHelpers::nsSSLPlaintextLayerIdentity) { socketInfo = (NSSSocketControl*)fd->secret; + } - if ((bytesRead > 0) && socketInfo) + if ((bytesRead > 0) && socketInfo) { socketInfo->AddPlaintextBytesRead(bytesRead); + } return bytesRead; } @@ -1246,43 +1254,46 @@ nsresult nsSSLIOLayerNewSocket(int32_t family, const char* host, int32_t port, static PRFileDesc* nsSSLIOLayerImportFD(PRFileDesc* fd, NSSSocketControl* infoObject, const char* host, bool haveHTTPSProxy) { + // Memory allocated here is released when fd is closed, regardless of the + // success of this function. PRFileDesc* sslSock = SSL_ImportFD(nullptr, fd); if (!sslSock) { - MOZ_ASSERT_UNREACHABLE("NSS: Error importing socket"); return nullptr; } - SSL_SetPKCS11PinArg(sslSock, (nsIInterfaceRequestor*)infoObject); - SSL_HandshakeCallback(sslSock, HandshakeCallback, infoObject); - SSL_SetCanFalseStartCallback(sslSock, CanFalseStartCallback, infoObject); + if (SSL_SetPKCS11PinArg(sslSock, infoObject) != SECSuccess) { + return nullptr; + } + if (SSL_HandshakeCallback(sslSock, HandshakeCallback, infoObject) != + SECSuccess) { + return nullptr; + } + if (SSL_SetCanFalseStartCallback(sslSock, CanFalseStartCallback, + infoObject) != SECSuccess) { + return nullptr; + } // Disable this hook if we connect anonymously. See bug 466080. - uint32_t flags = 0; - infoObject->GetProviderFlags(&flags); + uint32_t flags = infoObject->GetProviderFlags(); + SSLGetClientAuthData clientAuthDataHook = SSLGetClientAuthDataHook; // Provide the client cert to HTTPS proxy no matter if it is anonymous. if (flags & nsISocketProvider::ANONYMOUS_CONNECT && !haveHTTPSProxy && !(flags & nsISocketProvider::ANONYMOUS_CONNECT_ALLOW_CLIENT_CERT)) { - SSL_GetClientAuthDataHook(sslSock, nullptr, infoObject); - } else { - SSL_GetClientAuthDataHook(sslSock, SSLGetClientAuthDataHook, infoObject); + clientAuthDataHook = nullptr; } - - if (SECSuccess != - SSL_AuthCertificateHook(sslSock, AuthCertificateHook, infoObject)) { - MOZ_ASSERT_UNREACHABLE("Failed to configure AuthCertificateHook"); - goto loser; + if (SSL_GetClientAuthDataHook(sslSock, clientAuthDataHook, infoObject) != + SECSuccess) { + return nullptr; } - if (SECSuccess != SSL_SetURL(sslSock, host)) { - MOZ_ASSERT_UNREACHABLE("SSL_SetURL failed"); - goto loser; + if (SSL_AuthCertificateHook(sslSock, AuthCertificateHook, infoObject) != + SECSuccess) { + return nullptr; + } + if (SSL_SetURL(sslSock, host) != SECSuccess) { + return nullptr; } return sslSock; -loser: - if (sslSock) { - PR_Close(sslSock); - } - return nullptr; } // Please change getSignatureName in nsNSSCallbacks.cpp when changing the list @@ -1540,11 +1551,6 @@ nsresult nsSSLIOLayerAddToSocket(int32_t family, const char* host, int32_t port, nsITLSSocketControl** tlsSocketControl, bool forSTARTTLS, uint32_t providerFlags, uint32_t providerTlsFlags) { - PRFileDesc* layer = nullptr; - PRFileDesc* plaintextLayer = nullptr; - nsresult rv; - PRStatus stat; - SharedSSLState* sharedState = nullptr; RefPtr<SharedSSLState> allocatedState; if (providerTlsFlags) { @@ -1557,12 +1563,13 @@ nsresult nsSSLIOLayerAddToSocket(int32_t family, const char* host, int32_t port, sharedState = isPrivate ? PrivateSSLState() : PublicSSLState(); } - NSSSocketControl* infoObject = + RefPtr<NSSSocketControl> infoObject( new NSSSocketControl(nsDependentCString(host), port, *sharedState, - providerFlags, providerTlsFlags); - if (!infoObject) return NS_ERROR_FAILURE; + providerFlags, providerTlsFlags)); + if (!infoObject) { + return NS_ERROR_FAILURE; + } - NS_ADDREF(infoObject); infoObject->SetForSTARTTLS(forSTARTTLS); infoObject->SetOriginAttributes(originAttributes); if (allocatedState) { @@ -1573,7 +1580,10 @@ nsresult nsSSLIOLayerAddToSocket(int32_t family, const char* host, int32_t port, bool haveHTTPSProxy = false; if (proxy) { nsAutoCString proxyHost; - proxy->GetHost(proxyHost); + nsresult rv = proxy->GetHost(proxyHost); + if (NS_FAILED(rv)) { + return rv; + } haveProxy = !proxyHost.IsEmpty(); nsAutoCString type; haveHTTPSProxy = haveProxy && NS_SUCCEEDED(proxy->GetType(type)) && @@ -1582,46 +1592,69 @@ nsresult nsSSLIOLayerAddToSocket(int32_t family, const char* host, int32_t port, // A plaintext observer shim is inserted so we can observe some protocol // details without modifying nss - plaintextLayer = + PRFileDesc* plaintextLayer = PR_CreateIOLayerStub(nsSSLIOLayerHelpers::nsSSLPlaintextLayerIdentity, &nsSSLIOLayerHelpers::nsSSLPlaintextLayerMethods); - if (plaintextLayer) { - plaintextLayer->secret = (PRFilePrivate*)infoObject; - stat = PR_PushIOLayer(fd, PR_TOP_IO_LAYER, plaintextLayer); - if (stat == PR_FAILURE) { + if (!plaintextLayer) { + return NS_ERROR_FAILURE; + } + plaintextLayer->secret = (PRFilePrivate*)infoObject.get(); + if (PR_PushIOLayer(fd, PR_TOP_IO_LAYER, plaintextLayer) != PR_SUCCESS) { + plaintextLayer->dtor(plaintextLayer); + return NS_ERROR_FAILURE; + } + auto plaintextLayerCleanup = MakeScopeExit([&fd] { + // Note that PR_*IOLayer operations may modify the stack of fds, so a + // previously-valid pointer may no longer point to what we think it points + // to after calling PR_PopIOLayer. We must operate on the pointer returned + // by PR_PopIOLayer. + PRFileDesc* plaintextLayer = + PR_PopIOLayer(fd, nsSSLIOLayerHelpers::nsSSLPlaintextLayerIdentity); + if (plaintextLayer) { plaintextLayer->dtor(plaintextLayer); - plaintextLayer = nullptr; } - } + }); PRFileDesc* sslSock = nsSSLIOLayerImportFD(fd, infoObject, host, haveHTTPSProxy); if (!sslSock) { - MOZ_ASSERT_UNREACHABLE("NSS: Error importing socket"); - goto loser; + return NS_ERROR_FAILURE; } - infoObject->SetFileDescPtr(sslSock); - - rv = nsSSLIOLayerSetOptions(sslSock, forSTARTTLS, haveProxy, host, port, - infoObject); - - if (NS_FAILED(rv)) goto loser; + nsresult rv = nsSSLIOLayerSetOptions(sslSock, forSTARTTLS, haveProxy, host, + port, infoObject); + if (NS_FAILED(rv)) { + return rv; + } // Now, layer ourselves on top of the SSL socket... - layer = PR_CreateIOLayerStub(nsSSLIOLayerHelpers::nsSSLIOLayerIdentity, - &nsSSLIOLayerHelpers::nsSSLIOLayerMethods); - if (!layer) goto loser; - - layer->secret = (PRFilePrivate*)infoObject; - stat = PR_PushIOLayer(sslSock, PR_GetLayersIdentity(sslSock), layer); - - if (stat == PR_FAILURE) { - goto loser; + PRFileDesc* layer = + PR_CreateIOLayerStub(nsSSLIOLayerHelpers::nsSSLIOLayerIdentity, + &nsSSLIOLayerHelpers::nsSSLIOLayerMethods); + if (!layer) { + return NS_ERROR_FAILURE; } - - MOZ_LOG(gPIPNSSLog, LogLevel::Debug, ("[%p] Socket set up", (void*)sslSock)); - *tlsSocketControl = do_AddRef(infoObject).take(); + // Give the layer an owning reference to the NSSSocketControl. + // This is the simplest way to prevent the layer from outliving the + // NSSSocketControl (otherwise, the layer could potentially use it in + // nsSSLIOLayerClose after it has been released). + // nsSSLIOLayerClose takes the owning reference when the underlying fd gets + // closed. If the fd never gets closed (as in, leaks), the NSSSocketControl + // will also leak. + layer->secret = (PRFilePrivate*)do_AddRef(infoObject).take(); + + if (PR_PushIOLayer(sslSock, PR_GetLayersIdentity(sslSock), layer) != + PR_SUCCESS) { + layer->dtor(layer); + return NS_ERROR_FAILURE; + } + auto layerCleanup = MakeScopeExit([&fd] { + PRFileDesc* layer = + PR_PopIOLayer(fd, nsSSLIOLayerHelpers::nsSSLIOLayerIdentity); + if (layer) { + layer->dtor(layer); + } + }); // We are going use a clear connection first // if (forSTARTTLS || haveProxy) { @@ -1630,28 +1663,22 @@ nsresult nsSSLIOLayerAddToSocket(int32_t family, const char* host, int32_t port, infoObject->SharedState().NoteSocketCreated(); - rv = infoObject->SetResumptionTokenFromExternalCache(); + rv = infoObject->SetResumptionTokenFromExternalCache(sslSock); if (NS_FAILED(rv)) { return rv; } - SSL_SetResumptionTokenCallback(sslSock, &StoreResumptionToken, infoObject); + if (SSL_SetResumptionTokenCallback(sslSock, &StoreResumptionToken, + infoObject) != SECSuccess) { + return NS_ERROR_FAILURE; + } + + MOZ_LOG(gPIPNSSLog, LogLevel::Debug, ("[%p] Socket set up", (void*)sslSock)); + (void)infoObject->SetFileDescPtr(sslSock); + layerCleanup.release(); + plaintextLayerCleanup.release(); + *tlsSocketControl = infoObject.forget().take(); return NS_OK; -loser: - NS_IF_RELEASE(infoObject); - if (layer) { - layer->dtor(layer); - } - if (plaintextLayer) { - // Note that PR_*IOLayer operations may modify the stack of fds, so a - // previously-valid pointer may no longer point to what we think it points - // to after calling PR_PopIOLayer. We must operate on the pointer returned - // by PR_PopIOLayer. - plaintextLayer = - PR_PopIOLayer(fd, nsSSLIOLayerHelpers::nsSSLPlaintextLayerIdentity); - plaintextLayer->dtor(plaintextLayer); - } - return NS_ERROR_FAILURE; } already_AddRefed<IPCClientCertsChild> GetIPCClientCertsActor() { diff --git a/security/manager/ssl/nsSTSPreloadList.inc b/security/manager/ssl/nsSTSPreloadList.inc index 7447719fb58a512231d188c1085b70cc9f0bcb91..991056eee7778888a593396b55e1be5248d973ea 100644 --- a/security/manager/ssl/nsSTSPreloadList.inc +++ b/security/manager/ssl/nsSTSPreloadList.inc @@ -8,7 +8,7 @@ /*****************************************************************************/ #include <stdint.h> -const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); +const PRTime gPreloadListExpirationTime = INT64_C(1713178383031000); %% 0--1.de, 1 0-0.io, 1 @@ -34,7 +34,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 000a9.com, 1 000g.ru, 1 000x2.com, 1 -0010100.net, 1 0011011.xyz, 1 00120012.net, 1 00140014.net, 1 @@ -43,7 +42,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 0017d88.com, 1 001yapan.com, 1 002.ro, 0 -00220022.net, 1 00228.am, 0 00228.org, 1 00228555.com, 1 @@ -189,7 +187,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 02375.net, 1 023sec.com, 1 025500.xyz, 1 -02607.com, 1 02638.net, 1 026637.com, 1 026ks.com, 1 @@ -253,7 +250,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 0555z6.com, 1 056687.com, 0 056697.com, 0 -057180.com, 1 0571z6.com, 1 0575z6.com, 1 0597z6.com, 1 @@ -280,7 +276,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 0712z6.com, 1 071552.com, 0 071615.com, 1 -07365t.com, 1 0737399.com, 1 074696.com, 1 074758.com, 1 @@ -352,7 +347,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 09kanagawa.jp, 1 0akarma.me, 1 0au.de, 0 -0c.gay, 1 0carbon.com, 1 0cdn.ga, 1 0cdn.net, 1 @@ -370,7 +364,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 0iz.net, 1 0knowledge.de, 1 0milemarathon.com, 1 -0n.com, 1 0n3b1t.com, 1 0nnn.top, 1 0o0.edu.pl, 1 @@ -493,6 +486,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 100kraz.ga, 1 100kredite.de, 1 100lib.ru, 1 +100mani.it, 1 100nome.com, 1 100onrainkajino.com, 1 100pay.com, 1 @@ -529,8 +523,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 1020318.com, 1 1020319.com, 1 1020320.com, 1 -10218.com, 1 -10218app.com, 1 10218app10218.com, 1 10218b.com, 1 10218c.com, 1 @@ -932,7 +924,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 123termpapers.com, 1 123verhuislift.nl, 1 123viajando.com, 1 -123womenslife.com, 1 123writings.com, 1 124133.com, 1 1244.tk, 1 @@ -950,7 +941,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 127661.com, 1 12778.com, 1 1277bet.com, 1 -128012.com, 1 128612.com, 1 12877.com, 1 1288366.com, 1 @@ -958,6 +948,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 129.co, 1 12ag8.com, 1 12apostleshotel.com, 1 +12go.asia, 1 12go.co, 1 12gramu.cz, 1 12grid.co.jp, 1 @@ -1393,7 +1384,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 18onlypixels.com, 1 18pee.com, 1 18pioners.tk, 1 -18porn.cc, 1 18teensporn.pro, 1 18upchat.com, 1 18vr.com, 1 @@ -1581,7 +1571,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 1sand0s.nl, 1 1satoshi.org, 1 1scope.com, 1 -1se.co, 1 +1se.co, 0 1se2or3.com, 1 1secretaire.com, 1 1serial.tv, 1 @@ -1741,7 +1731,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 1xbet50.com, 1 1xbet6.com, 1 1xbet7.com, 1 -1xbet733390.top, 1 +1xbet733390.top, 0 1xbet8.com, 1 1xbet82.com, 1 1xbet84.com, 1 @@ -1893,7 +1883,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 21-school.ru, 1 21.co.uk, 1 2113.ch, 1 -2122bet.com, 1 2132vip.com, 1 2137.eu, 1 2138vip.com, 1 @@ -2034,9 +2023,8 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 22i.co.uk, 1 22lc8.com, 0 22momo.com, 1 -22nd.com, 1 +22nd.com, 0 22ndcircuitil.gov, 1 -22ndstreet.show, 1 22ssbb.com, 1 22ssjj.com, 1 22sskk.com, 1 @@ -2180,12 +2168,12 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 24hrbrandbash.com, 1 24images.com, 1 24k.co.jp, 1 -24livene.com, 1 24london.com, 1 24meg.com, 1 24monitor.com, 1 24ohrana.com, 1 24onlain.tk, 1 +24read.com, 1 24see.com, 1 24share.com, 1 24slides.com, 1 @@ -2359,7 +2347,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 2mir.com, 1 2mkz.eu, 1 2mp.ca, 1 -2nains.ch, 1 +2nains.ch, 0 2ndface.info, 1 2ndmileservice.com, 1 2ndtivertonscouts.tk, 1 @@ -2448,11 +2436,9 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 3178b.com, 0 3178bbb.com, 0 3178c.com, 0 -3178ccc.com, 0 3178dd.com, 1 3178ddd.com, 0 3178e.com, 0 -3178eee.com, 1 3178f.com, 0 3178fff.com, 0 3178g.com, 0 @@ -2488,7 +2474,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 31fss.support, 1 320281.net, 1 320331.com, 0 -321132.com, 1 +321132.com, 0 321666365.com, 1 321live.nl, 1 3233bet.com, 1 @@ -2608,7 +2594,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 350.org, 1 35089y.com, 1 351079.com, 1 -351365.com, 1 +351365.com, 0 3539783.com, 1 3555500.com, 1 3559365.com, 1 @@ -2645,6 +2631,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 360dialog.com, 1 360e-commerce.de, 1 360e-commerce.net, 1 +360ecogroup.com, 0 360ecommerce.de, 1 360ecommerce.net, 1 360faces.com, 1 @@ -2670,7 +2657,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 36506088.com, 1 36506099.com, 1 3651145.com, 1 -3651146.com, 1 3651147.com, 1 3651149.com, 1 3651201.com, 1 @@ -2965,7 +2951,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 3d-glow.de, 1 3d-station.fr, 1 3d47.com, 1 -3dagentur.com, 1 3dall.ro, 1 3danimation.tk, 1 3dapartment.com, 1 @@ -3009,6 +2994,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 3dtech.pt, 1 3dvf.com, 1 3dvisual.studio, 1 +3dzip.org, 1 3ecpa.com.hk, 1 3ecpa.com.my, 1 3ecpa.com.sg, 1 @@ -3098,7 +3084,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 3pif.de, 1 3pillarglobal.com, 1 3plusdesign.gr, 1 -3plwow.com, 0 3pm.tw, 1 3prn.com, 1 3pro.ca, 1 @@ -3150,7 +3135,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 3zzbet.com, 1 4-0-4.ga, 1 4-ae.com, 1 -4-it.de, 1 4.com.ms, 1 4.sb, 1 4000milestare.com, 1 @@ -3177,7 +3161,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 404.blue, 0 404.city, 1 404.guide, 1 -404.pw, 1 404888.xyz, 1 4048kkk.com, 1 4048v.com, 1 @@ -3219,10 +3202,9 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 4233339.com, 1 424102.com, 1 4245pay.com, 1 -4251365.com, 1 +4251365.com, 0 425degree.com, 1 426773.com, 0 -427552.com, 0 4285533.com, 1 428northampton.com, 1 429637.com, 1 @@ -3241,7 +3223,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 434365.com, 1 4344bet.com, 1 4345.me, 0 -4351365.com, 1 +4351365.com, 0 436773.com, 1 437348.com, 1 437844.com, 1 @@ -3316,7 +3298,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 44ffyyy.com, 1 44ffzzz.com, 1 451.ooo, 1 -451365.com, 1 +451365.com, 0 452895.com, 1 45365t.com, 1 4544bet.com, 1 @@ -3543,15 +3525,14 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 511in.org, 1 5132vip.com, 1 513651.com, 1 -51365a.com, 1 +51365a.com, 0 51365aa.com, 1 -51365b.com, 1 +51365b.com, 0 51365bb.com, 1 -51365c.com, 1 +51365c.com, 0 51365cc.com, 1 -51365d.com, 1 -51365dd.com, 1 -51365ee.com, 1 +51365d.com, 0 +51365ee.com, 0 513maximus.site, 1 513x.cc, 1 514-media.co.uk, 1 @@ -3696,7 +3677,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 52ncp.net, 1 52pojie.cn, 1 52sykb.com, 0 -52weekspodcast.com, 1 52xuanmi.com, 1 52yanhao.com, 1 531k8.com, 1 @@ -4017,7 +3997,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 632365.com, 1 633663.net, 1 633663.vip, 1 -634365.com, 1 635-488.com, 0 635-588.com, 0 635-788.com, 0 @@ -4509,7 +4488,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 70mpg.org, 1 7100.cf, 1 712kb.com, 1 -713367.com, 0 71365365.com, 0 713kb.com, 1 716176.com, 0 @@ -4568,7 +4546,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 751175.com, 1 751930.com, 1 753345.com, 1 -753365.com, 1 753375.com, 1 7552001.com, 1 7552002.com, 1 @@ -4603,7 +4580,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 761.com, 1 761link.net, 1 763361.com, 1 -763365.com, 1 76365365.com, 1 7654654.xyz, 1 7666321.com, 1 @@ -4629,7 +4605,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 777coin.com, 1 777mage.com, 1 777tv.tv, 1 -7788bet.vip, 1 77909a.com, 0 77909b.com, 0 77909c.com, 0 @@ -4736,7 +4711,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 7akawyna.tk, 1 7bandarqq.com, 1 7bet86.com, 1 -7binaryreviews.com, 1 7daystodie.top, 1 7delights.in, 1 7dies.net, 1 @@ -4744,7 +4718,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 7emka.tk, 1 7extranews.tk, 1 7f.is, 1 -7fi.com.au, 1 7gr.uk, 1 7graus.pt, 1 7hills.us, 1 @@ -4974,10 +4947,8 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 82fss.com, 1 82fss.marketing, 1 82kb88.com, 1 -830891.com, 1 830res.com, 1 831783.com, 1 -832365.com, 1 83365365.com, 1 833792.com, 0 833z6.com, 1 @@ -5078,22 +5049,15 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 86kb88.com, 1 86metro.ru, 1 870.cc, 0 -872291.com, 1 8722ph.com, 1 8722usa.com, 1 872787.com, 1 873394.com, 1 87365365.com, 0 -87577.com, 1 877027.com, 0 877287.com, 1 877791.com, 1 -878365c.com, 0 878365cn.com, 1 -878365ii.com, 0 -878365jj.com, 0 -878365ll.com, 0 -878365nn.com, 0 878431.com, 1 878989.com, 1 8796.jp, 1 @@ -5176,7 +5140,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 888700.xyz, 1 888789j.com, 1 888806.xyz, 1 -88881.pw, 0 888888722.com, 1 88889822.com, 1 888900.xyz, 1 @@ -5578,7 +5541,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 9186.fun, 1 9186119.com, 1 9187.cf, 1 -918991.com, 1 918991a.com, 0 918991b.com, 0 918991c.com, 0 @@ -5665,7 +5627,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 9234.cf, 1 9235.cf, 1 9236.cf, 1 -923601.com, 1 9237.cf, 1 9239.cf, 1 9240.cf, 1 @@ -5854,7 +5815,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 9393.cf, 1 939394.org, 1 939394.xyz, 1 -939493.com, 1 9395.cf, 1 9396.cf, 1 9397.cf, 1 @@ -6081,7 +6041,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 9601.cf, 1 9602.cf, 1 9603.cf, 1 -960303.xyz, 1 9604.cf, 1 9605.cf, 1 9606.cf, 1 @@ -6319,7 +6278,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 9800.cc, 1 9801.cf, 1 980709.xyz, 1 -9822.am, 1 9822.bz, 0 9822am.com, 1 9822cn.com, 1 @@ -6761,7 +6719,6 @@ const PRTime gPreloadListExpirationTime = INT64_C(1710759168853000); 9uelle.jp, 0 9ungnir.xyz, 1 9vx.org, 1 -9wsodl.com, 1 9xbuddy.com, 1 9xbuddy.xyz, 1 9xmoviesapp.com, 1 @@ -6789,7 +6746,6 @@ a-moe.com, 1 a-oben.org, 1 a-players.team, 1 a-pools.com.ua, 0 -a-r-t-house.jp, 1 a-raven.corsica, 1 a-shirouto.com, 1 a-starbouncycastles.co.uk, 1 @@ -6816,9 +6772,10 @@ a12k.nz, 0 a163.top, 1 a1bouncycastlehire.com, 1 a1cashforcar.com.au, 1 +a1cdrinks.com, 1 a1cookingequipment.com.au, 1 a1demolitionhauling.com, 1 -a1expresscarremoval.com.au, 1 +a1expresscarremoval.com.au, 0 a1hypnosis.ga, 1 a1jumpandbounce.co.uk, 1 a1locksafeofnc.net, 1 @@ -6841,7 +6798,6 @@ a2ch.ru, 1 a2g.io, 1 a2gamer.com, 1 a2n-expertise.com, 1 -a2os.club, 1 a2ssrl.duckdns.org, 1 a2zplumbing.com.au, 1 a2zva.com, 1 @@ -6885,7 +6841,6 @@ a6729.co, 1 a6729.com, 0 a6957.co, 1 a77018.com, 0 -a789.top, 1 a7m2.me, 1 a7sa2eat.com, 1 a82365.com, 1 @@ -6964,7 +6919,7 @@ aanyasri.com, 1 aaogaragedoorrepairaustin.com, 1 aaomidi.com, 1 aaoth.xyz, 1 -aapant.org.au, 1 +aapant.org.au, 0 aapifund.org, 1 aapipower.org, 0 aappb.org, 1 @@ -7083,7 +7038,6 @@ abborsjo.fi, 1 abbotkinneys.com, 1 abbottscastles.co.uk, 1 abbreviated-adult-course.com, 1 -abbtw.com, 1 abbuc.de, 1 abbyairsoft.tk, 1 abbystrange.com, 1 @@ -7102,7 +7056,6 @@ abccomputerservices.com, 0 abcdreamusa.com, 1 abcdthesis.net, 1 abceducationacademy.com, 1 -abcempreendimentos.com.br, 1 abcensax.tk, 1 abcfinance.co.uk, 0 abcgruppen.se, 1 @@ -7207,7 +7160,7 @@ abigailstark.com, 1 abigisp.com, 1 abigruppe.de, 1 abileneef.org, 1 -abilenemachine.com, 1 +abilenemachine.com, 0 abilities-inc.jp, 1 abilityone.gov, 1 abilix.tk, 1 @@ -7384,7 +7337,6 @@ abpages.com, 1 abpis.hr, 1 abplive.com, 1 abplusz.hu, 1 -abpoolsub.com, 1 abr.ru, 1 abracadabra.com, 1 abracadabramagicas.com.br, 1 @@ -7504,6 +7456,7 @@ academiadelmolino.com.uy, 1 academiadeufologia.com.br, 1 academiaeureka.tk, 1 academiaofimage.com, 1 +academiasdemodelos.com, 0 academic-master.com, 1 academica.nl, 1 academicassignmentexperts.com, 1 @@ -7522,6 +7475,7 @@ acaeum.com, 0 acafellas.com, 1 acalcio.ga, 1 acallawayroofing.com, 1 +acaltair.com, 1 acandroid.top, 1 acani.xyz, 1 acaonegocios.com.br, 1 @@ -7639,6 +7593,7 @@ accueil-paysan.com, 1 accueillons.org, 1 acculex.co.uk, 1 acculongrange.com, 1 +accuphotography.com, 1 accuracast.com, 1 accurateinfosolutions.in, 1 accuride.com, 1 @@ -7674,7 +7629,6 @@ acecerts.co.uk, 1 acectamentit.tk, 1 acedstudy.com, 1 acefishing.tk, 1 -acefreightco.com, 1 acefront.co.uk, 1 aceinflatables.com, 1 aceinstituteonline.com, 1 @@ -7714,7 +7668,6 @@ acgroupvoyages.com, 1 acgtalktw.com, 1 acgxi.tk, 1 achalay.org, 0 -achat-de-lead.com, 1 achat-volets-roulants.fr, 1 achatroom.co.uk, 1 acheconcursos.com.br, 1 @@ -7831,7 +7784,7 @@ acrepairroundrocktx.com, 1 acrhnc2020.dedyn.io, 1 acriticismlab.org, 1 acroaccounting.au, 1 -acroballe-circus.fr, 1 +acroballe-circus.fr, 0 acrobatic.cf, 1 acrobatic.tk, 1 acrolife.cz, 0 @@ -7977,7 +7930,7 @@ actualsizemusic.tk, 1 actualsolutions.am, 1 actus-banque.fr, 1 actuse.tk, 1 -actzero.ai, 1 +actzero.ai, 0 acuarios.tk, 1 acuarismo-iquique.tk, 1 acuarius.tk, 1 @@ -8040,7 +7993,6 @@ adacomputerscience.org, 1 adacprod.fr, 1 adaera.com, 1 adaeze-wolf.com, 1 -adagencycreatives.com, 1 adagia.eu, 1 adalis.org, 1 adalite-staging-testnet.herokuapp.com, 1 @@ -8150,7 +8102,6 @@ addict.tk, 1 addictedtotravel.pl, 1 addiction-counselors.com, 1 addictioncounsellors.co.nz, 1 -addictionresource.com, 1 addictionsolutionsllc.com, 1 addictlaw.com, 1 addictless.ru, 1 @@ -8165,7 +8116,6 @@ addlink.gq, 1 addmefast.tk, 1 addnewsite.tk, 1 addnine.com, 0 -addo-addo.com, 1 addon.watch, 1 addones.org, 1 addownit.com, 1 @@ -8255,7 +8205,7 @@ adiaz.us, 1 adib.family, 1 adictosdominantescdls.tk, 1 adidas-2020-spring.com, 1 -adiehard.party, 0 +adiehard.party, 1 adiesyndrome.tk, 1 adigolifestyle.com, 1 adiguezel-bau-gmbh.de, 1 @@ -8375,7 +8325,6 @@ adoric.com, 1 adorkable.eu, 1 adorkable.social, 1 adorned.ga, 1 -adoropets.com.br, 1 adotta.me, 1 adoucishop.fr, 1 adoxy.com.br, 1 @@ -8572,7 +8521,6 @@ adventry.tk, 1 adventure-runner.tk, 1 adventureally.com, 1 adventurealpinetreks.com, 1 -adventureartphotography.com.au, 1 adventurearts.tk, 1 adventureboy.co.uk, 1 adventurecorps.cf, 1 @@ -8684,7 +8632,7 @@ ae-dir.org, 1 ae.com, 1 ae.edu.rs, 1 ae86.de, 1 -ae86.dog, 1 +ae86.dog, 0 ae86.in, 1 ae86.plus, 0 ae86.pro, 1 @@ -8905,7 +8853,7 @@ affiliateprograms.gq, 1 affiliates-psychicsource.com, 1 affiliates.trade, 1 affine.space, 1 -affinipay.com, 0 +affinipay.com, 1 affinity.co, 1 affinity.com, 1 affinity.vc, 1 @@ -9041,7 +8989,6 @@ afwd.international, 1 afxsoft.ml, 1 afzaalace.com, 1 afzetbak.nl, 1 -ag018.cc, 1 ag066.vip, 1 ag123.la, 1 ag13842.com, 1 @@ -9202,7 +9149,7 @@ agencyeve.com, 1 agencygood.tk, 1 agencyinmotion.com, 1 agencymanager.be, 1 -agencymasala.com, 1 +agencymasala.com, 0 agenda-loto.net, 0 agenda21senden.de, 1 agendadelvolo.info, 1 @@ -9322,6 +9269,7 @@ agks92.com, 1 agktest1.ga, 1 aglar.com.ec, 1 aglar.tk, 1 +agleventis.com, 1 aglow.nl, 1 agm4545.com, 1 agmarvels.com, 1 @@ -9417,7 +9365,6 @@ agroclan.tk, 1 agroclimat.tk, 1 agroconsultoraplus.com, 1 agrodoki.hu, 1 -agrofetch.co.ke, 1 agrofind.com.br, 1 agrogrup79.com, 1 agroguia.com.co, 1 @@ -9436,7 +9383,7 @@ agropark.tk, 1 agroplas.cf, 1 agropool.tk, 1 agropotter.com.ua, 1 -agrosanus.pt, 1 +agrosanus.pt, 0 agrospan.ga, 1 agrosvit.kz, 1 agroteam.tk, 1 @@ -9491,7 +9438,6 @@ agzy.vip, 1 ahanet.tk, 1 ahansen.is, 0 ahbap.org, 1 -ahbvlp.pt, 1 ahccmadison.com, 1 ahccorleone.tk, 1 ahcpb.com, 1 @@ -9500,7 +9446,6 @@ ahd.com, 0 ahealthyjourney.ca, 1 ahegaoroulette.com, 1 ahelos.tk, 1 -ahero4all.org, 1 ahezu.com, 1 ahg-offices.fr, 1 ahhcomfortshoes.com, 1 @@ -9867,7 +9812,6 @@ aircomet.tk, 1 aircompressormachine.com, 1 airconditioning.tk, 1 airconditioningcondensers.tk, 1 -airconditioningreplacementservice.com, 1 airconditioningservicejohannesburg.co.za, 1 airconsboksburg.co.za, 1 airconservicingcapetown.co.za, 1 @@ -9915,7 +9859,6 @@ airfaretousa.com, 1 airfaretracking.com, 1 airfield.gq, 1 airflightsdeals.com, 1 -airfocused.com, 1 airforce.com, 1 airformosa.com, 1 airfoto.tk, 1 @@ -9972,7 +9915,6 @@ airlinefareprices.com, 1 airlinefarescompare.com, 1 airlinefaresdiscount.com, 1 airlinefee.com, 1 -airlinefees.com, 1 airlinefirstclass.com, 1 airlineflight.biz, 1 airlineflightcheap.com, 1 @@ -10141,7 +10083,6 @@ airporthotelsgatwick.com, 1 airportinrome.com, 1 airportknoxville.com, 1 airportlas.com, 1 -airportnigeria.com, 1 airportnz.com, 1 airportofdubai.com, 1 airportparkingschiphol.nl, 1 @@ -10201,7 +10142,6 @@ airwolfthemes.com, 1 airwudhu.id, 1 airzone.tk, 1 airzox.com, 1 -ais.fashion, 1 aiscale.fr, 1 aischepervers-porn.com, 1 aisedomains.ga, 1 @@ -10226,7 +10166,6 @@ aitidings.com, 1 aitindo.com, 1 aitkincountymn.gov, 1 aitokyolab.com, 1 -aitooling.net, 1 aitosoftware.com, 1 aitrading.uk, 1 aitrust.ro, 1 @@ -10280,6 +10219,7 @@ ajfite.com, 0 ajforum.tk, 1 ajhstamps.co.uk, 1 ajiboye.com, 1 +ajiloot.com, 1 ajinabraham.com, 1 ajitp.com, 1 ajl.io, 1 @@ -10462,9 +10402,9 @@ akshit.me, 1 aksnapshots.com, 1 aksnwn.com, 1 aksot.com, 1 -akssma.com, 1 aktaspompa.com, 1 aktelectric.com.co, 1 +aktia.fi, 0 aktin.cz, 1 aktin.sk, 1 aktion-vielfalt.ch, 1 @@ -10545,7 +10485,6 @@ aladdin.ie, 1 aladdinschools.appspot.com, 1 aladintechnologies.tk, 1 alain-webcreator.cf, 1 -alainbaechlerphotography.ch, 0 alainfrancois.eu, 1 alainfrancois.nl, 0 alainmargot.ch, 0 @@ -10697,7 +10636,6 @@ albstaedter-kids-cup.de, 1 albufeira-car-hire.com, 1 albuic.tk, 1 albumsepeti.com.tr, 1 -albuquerquebaroqueplayers.com, 1 alburquerquerock.tk, 1 albuterol.ga, 1 albuterolonline.ga, 1 @@ -10730,7 +10668,6 @@ alcineconamor.com, 1 alcites.com, 1 alcnutrition.com, 1 alcobendas.tk, 1 -alcoclinica.moscow, 1 alcoclinica.ru, 1 alcogolizmstop.ru, 1 alcoholapi.com, 1 @@ -10787,7 +10724,6 @@ alegromania.tk, 1 alehinta.fi, 1 alejandrocruz.es, 1 alejandromateoconde.tk, 1 -alejandromoda.com, 1 alejandromunoz.es, 1 alejandropernett.tk, 1 alejandrophones.com.mx, 1 @@ -10820,7 +10756,6 @@ alentaja.com, 1 alentaja.fi, 1 alenvlahovljak.com, 1 alenwich.com, 1 -aleph.land, 1 alephindia.in, 1 aleragroup.com, 1 alerbon.net, 1 @@ -11055,7 +10990,6 @@ algoarmada.com, 1 algoentremanos.com, 1 algoexplorer.io, 1 algofactory.de, 1 -algohuper.com, 1 algolia.com, 1 algonaiowa.gov, 1 algopix.com, 1 @@ -11192,7 +11126,6 @@ alissa-group.com, 1 alissagerhard.de, 1 alissanoir.net, 1 alisstyle.tk, 1 -alista.design, 1 alistaku.tk, 1 alisync.com, 1 alitabergert.tk, 1 @@ -11410,7 +11343,6 @@ allfansleak.net, 1 allfashionews.tk, 1 allfatpics.com, 1 allfaucet.ml, 1 -allfile.club, 1 allfoodrecipes.ga, 1 allforcreate.ru, 1 allforex.ml, 1 @@ -11572,22 +11504,19 @@ alltherapies.tk, 1 alltherooms.es, 1 allthethings.co.nz, 1 allthewaynorth.xyz, 1 -allthings.me, 1 +allthings.me, 0 allthingshappen.com, 1 allthingshealthy.org, 1 allthingsroyal.nl, 1 -allthingssquared.com, 1 allthingzit.com, 1 alltimespost.com, 1 alltourism.tk, 1 alltrade.ga, 1 alltrippers.com, 1 -alltubedownload.net, 1 alltwwk.tk, 1 alluance.nl, 1 allucinati.tk, 1 alluel.com, 1 -allufilm.com, 1 allur-club.cf, 1 allurebikerental.com, 1 allurechiro.com, 1 @@ -11705,16 +11634,15 @@ alomendia.tk, 1 alonaku.com, 1 alonas.lv, 1 aloneg.ovh, 1 -alonely.place, 1 alonephoenix.tk, 1 alonetone.com, 1 -alonlevinart.com, 1 alonsoluzgas.es, 1 alonuocsuoi.com, 1 aloo.ga, 1 aloomic.com.au, 1 aloop.cloud, 1 alopezlawfirm.com, 1 +alorica.com, 0 aloris-controle.fr, 1 aloro.io, 1 alotso.com, 1 @@ -11844,7 +11772,6 @@ alquiler-de-furgonetas.tk, 1 alquran-online.tk, 1 alrahman.ch, 1 alrahman.de, 1 -alrawdhawaterproofing.com, 1 alre-outillage.fr, 1 alredho.com, 1 alrehmantech.tk, 1 @@ -11867,7 +11794,7 @@ alstertouch.de, 1 alt-bookings.com, 1 alt-pannekow.de, 1 alt-three.com, 0 -alt-til-windows.dk, 0 +alt-til-windows.dk, 1 alt-wien.com, 1 alt.org, 1 alta-densidad.tk, 1 @@ -11887,7 +11814,7 @@ altai-zemlya.ga, 1 altai-zemlya.ml, 1 altai-zemlya.tk, 1 altai22.tk, 1 -altair.com, 1 +altair.com, 0 altairfp.es, 1 altairlyh.com, 1 altaiscience.com, 1 @@ -11986,7 +11913,6 @@ altius.com.pa, 1 altiusconsulting.com, 1 altiusconsulting.net, 1 altiusondemand.com, 1 -altkia.com, 1 altkremsmuensterer.at, 1 altmaestrat.es, 1 altmann-systems.de, 1 @@ -12117,7 +12043,6 @@ am8213.com, 1 am8811.net, 1 am8898.net, 1 am8900.com, 1 -ama.com.au, 1 ama.ne.jp, 1 amabiligranilhas.com, 1 amac.tv, 1 @@ -12201,7 +12126,6 @@ amatoryasamak.tk, 1 amatsu.xyz, 1 amatutis.lt, 1 amatya.co.uk, 1 -amatzen.dk, 1 amauf.de, 1 amaurijogos.tk, 1 amavis.org, 1 @@ -12221,7 +12145,6 @@ amazingribs.com, 1 amazingstore.gq, 1 amazingtattooideas.com, 1 amazon, 1 -amazon-dynamodb-labs.com, 1 amazon.ae, 1 amazon.at, 1 amazon.care, 1 @@ -12231,12 +12154,10 @@ amazon.pl, 1 amazon.sa, 1 amazon.se, 1 amazonadviser.com, 1 -amazondynamodblabs.com, 1 amazonteckathon.com, 1 amazstaff.com, 1 amaztravail.com, 1 amazwerk.com, 1 -amb.com.br, 1 amb.tf, 1 ambarbyarihant.com, 1 ambasador-dibo.pl, 1 @@ -12365,7 +12286,7 @@ americanmessaging.net, 1 americanpop.be, 1 americanreservations.us, 1 americans.cam, 1 -americanstrategic.com, 1 +americanstrategic.com, 0 americantowers.org, 0 americanunicornparty.tk, 1 americanwalkincoolers.com, 1 @@ -12459,7 +12380,6 @@ aminko.ga, 1 aminoro.de, 1 aminos.tk, 1 aminsabeti.com, 1 -aminta.de, 1 aminullrouted.com, 1 amion.com.ua, 1 amionamiondrugsdotcom.com, 1 @@ -12695,7 +12615,6 @@ anabolics.tk, 1 anabolika.ga, 1 anabolika.gq, 1 anabolika.ml, 1 -anabolitics.com, 1 anachristinarodriguez.com, 1 anachronaeon.tk, 1 anachronis.gq, 1 @@ -12703,7 +12622,6 @@ anacom.pt, 1 anacron.pl, 1 anacruz.es, 1 anadiuvo.fi, 1 -anadlelkheir.com, 1 anaelog.com.au, 1 anaethelion.fr, 1 anafranil.cf, 1 @@ -13129,6 +13047,7 @@ anesterov.xyz, 1 anetaben.nl, 1 anetofwellness.com, 1 anetteolzon.tk, 1 +anewperspectiveconstruction.com, 1 anex.us, 1 anexperimentedblog.tk, 1 anextraordinaryday.net, 1 @@ -13148,7 +13067,6 @@ angel-wing.jp, 1 angel163.ru, 0 angela.baby, 1 angeladietrich.com, 1 -angelaheck.com, 1 angelalombardo.it, 1 angelarellano.tk, 1 angelawhitepornstar.com, 1 @@ -13205,7 +13123,6 @@ angesehen.com, 1 angestoepselt.de, 1 angie-webdesign.ch, 1 angiejones.com, 1 -angiel.com.br, 1 angielynx.net, 1 angiesite.tk, 1 angiewickes.com, 1 @@ -13222,7 +13139,7 @@ angleline.cn, 1 anglersconservation.net, 1 anglertanke.de, 1 anglesgirl.eu.org, 1 -anglesya.win, 1 +anglicanwatch.com, 1 anglictina-sojcak.cz, 1 anglictinasojcak.cz, 1 anglingactive.co.uk, 0 @@ -13345,7 +13262,6 @@ animeai.com, 1 animebits.moe, 1 animecasepremium.id, 1 animecollective.com, 1 -animecracks.net, 1 animecreed.ga, 1 animeday.ml, 1 animeday.tk, 1 @@ -13657,7 +13573,6 @@ anshar.eu, 1 anshlag.co.il, 1 ansibeast.net, 1 ansichtssache.at, 1 -ansocie.com, 1 ansogning-sg.dk, 1 anson.ru, 1 ansoncountync.gov, 1 @@ -13673,7 +13588,6 @@ answering365.com, 0 answernow.cf, 1 answers-online.ru, 1 answersincme.com, 1 -answersreviews.com, 1 antabuse.ga, 1 antabuse500mg.ga, 1 antabuskaufen1.gq, 1 @@ -13698,7 +13612,6 @@ antaresmedia.com.py, 1 antarktida.ru, 1 antarktida.tk, 1 antarlina.com, 1 -antarvasnastory.co.in, 1 antavo.com, 1 antcas.com, 0 antechrista.tk, 1 @@ -13732,7 +13645,6 @@ anthes.is, 1 anthiago.com, 1 anthisis.tv, 1 anthony-bardon.eu, 1 -anthonycarbonaro.com, 0 anthonychampagne.me, 1 anthonydegrande.tk, 1 anthonyellis.com, 1 @@ -13962,6 +13874,7 @@ anya-carter.com, 1 anya.moe, 1 anyad.at, 1 anyboat.com.au, 1 +anybus.com, 0 anycoindirect.eu, 1 anydaytour.cf, 1 anyduchildren.tk, 1 @@ -14007,7 +13920,6 @@ anzalikala.com, 1 anzeiger.ag, 1 anztb.org, 1 ao-vivo.net, 1 -ao.com, 1 ao2.it, 1 ao27.net, 1 ao2law.com, 1 @@ -14087,7 +13999,6 @@ apapinspection.ca, 1 aparaatti.org, 1 aparistravel.com, 0 apart-hotel-weimar.de, 1 -apartamentnawydmie.pl, 1 apartamentosenventaenplayadelcarmen.com, 1 apartamentosenventaplayadelcarmen.com, 1 apartamentoslostejos.tk, 1 @@ -14217,7 +14128,6 @@ apk.li, 1 apk4fun.com, 1 apkclup.com, 1 apkcunk.com, 1 -apkdownloadhunt.com, 1 apkdv.com, 0 apkfame.com, 1 apkfree.com, 1 @@ -14238,7 +14148,7 @@ apkteen.com, 1 apkxi.com, 1 aplaceforpops.com, 1 aplausse.tk, 1 -aplazame.com, 1 +aplazame.com, 0 aplcare.com, 1 aplibrary.org, 1 aplicaciones.ai, 1 @@ -14346,7 +14256,6 @@ app77018.com, 1 appac.com.tr, 1 appac.ltd, 1 appagility.co.nz, 1 -appapi.link, 1 apparatrechose.tk, 1 apparatus.ga, 1 apparelfashionwiki.com, 1 @@ -14366,7 +14275,6 @@ appbot.co, 1 appbydl.com, 1 appcoins.io, 1 appcraver.com, 1 -appdividend.com, 1 appdrinks.com, 1 appearinsequel.tk, 1 appel-aide.ch, 1 @@ -14575,7 +14483,7 @@ apsnewcastle.com, 0 apspayroll.com, 1 apsportseditors.org, 1 apsprofessions.gov.au, 1 -apsreform.gov.au, 1 +apsreform.gov.au, 0 apsreview.gov.au, 1 apssb.in, 1 apssolucoesfinanceiras.online, 1 @@ -14935,7 +14843,7 @@ arcthelad.com, 1 arctic-charge.tk, 1 arctic.ca, 1 arctica.io, 0 -arcticfiber.net, 1 +arcticfiber.net, 0 arcticfox.email, 0 arcticfoxes.net, 1 arcticpolitics.com, 1 @@ -15070,7 +14978,6 @@ aria-sante.org, 1 aria.be, 1 aria2.cf, 1 ariaartgallery.com, 1 -ariacreations.net, 1 ariacres.ca, 1 ariadermspa.com, 1 ariag.tk, 1 @@ -15080,7 +14987,6 @@ ariaman.tk, 1 arian.io, 1 ariana.wtf, 1 ariashii.tk, 1 -ariba.info, 1 aribicara.tk, 1 aric-assurances.fr, 1 aricabus.tk, 1 @@ -15123,7 +15029,6 @@ arihantone.in, 1 arihantsouthwinds.com, 1 arihunt.com.au, 1 arij.net, 1 -arijitdg.net, 1 arilto.com, 1 arima.co.ke, 1 arima.tk, 1 @@ -15176,13 +15081,11 @@ arkadelphia.gov, 1 arkadiahill.tk, 1 arkadian.tk, 1 arkadien.com, 1 -arkadiumdesign.com, 1 arkadiyt.com, 1 arkagis.com, 1 arkagt.ir, 1 arkaic.dyndns.org, 1 arkantos.agency, 1 -arkcorp.com.au, 1 arkenco.net, 1 arkenstone.ml, 1 arkforum.de, 1 @@ -15443,7 +15346,6 @@ art-boeden.ch, 1 art-creative.tk, 1 art-design.tk, 1 art-dolls.com.ua, 1 -art-et-culture.ch, 0 art-et-psyche.com, 1 art-et-tonneaux.fr, 1 art-illustration.tk, 1 @@ -15598,7 +15500,6 @@ artisan-emmanuel.fr, 1 artisan-ravalement-facade.fr, 1 artisan.tk, 1 artisanat2france.fr, 1 -artisandairy.ca, 1 artisanhd.com, 1 artisanportrait.com, 1 artisansbottega.com.au, 1 @@ -15650,6 +15551,7 @@ artouch.com, 1 artozoul.fr, 1 artplaneta-leto.by, 1 artprojectsforkids.org, 1 +artpsd.com, 1 artransparency.gov, 1 artrapid.com, 1 artratio.co.uk, 1 @@ -15809,7 +15711,6 @@ asbestos-awareness.ml, 1 asbestosthedarkarts.com, 1 asbf-rambouillet.fr, 1 asbito.de, 1 -asbrands.co.uk, 1 asburyparkreporter.com, 1 asbweb.org, 1 asc.es, 1 @@ -15832,7 +15733,6 @@ ascgathering.com, 1 aschaefer.net, 0 aschc.co.uk, 1 aschismatic.com, 1 -ascholarship.com, 1 aschool.kiev.ua, 1 asciitable.tips, 1 ascirno.com, 1 @@ -16000,7 +15900,6 @@ asinetasima.com, 1 asisee.co.il, 1 asistencialegal.tk, 1 asistentecx.com, 1 -asitanc.cz, 0 asitt.nl, 1 asiyasia.tk, 1 ask-thenutritionist.com, 1 @@ -16036,7 +15935,6 @@ askmetutoring.com, 1 askmetutoring.org, 1 asko-nabytek.cz, 1 asko-nabytok.sk, 1 -asko.ee, 1 askollelectric.bg, 1 askpam.ai, 1 asktanzania.com, 1 @@ -16144,7 +16042,6 @@ asseenontvonline.ru, 1 assegaimedia.com, 1 asselin.fr, 1 assemblage.gq, 1 -assemble-together.org, 1 assemblee-copropriete.fr, 1 assemblyai.com, 0 assemblywithoutthewalls.org, 1 @@ -16192,7 +16089,6 @@ assistere-a-casa.it, 1 assistere-a-domicilio.it, 1 assistere-in-famiglia.it, 1 assistouest.cloud, 1 -assistouest.fr, 1 assistouest.net, 1 assistouest.shop, 1 assmb.ly, 1 @@ -16205,7 +16101,6 @@ associazionerimborsi.it, 1 associazioneterra.it, 1 assoft.co, 1 assomydesk.fr, 1 -assoservicesweb.org, 1 asspoop.com, 1 assr-online.com, 1 assta.ga, 1 @@ -16255,6 +16150,7 @@ asthowen.fr, 1 asthrdp.com, 1 astiamministrazioni.it, 1 asticon.de, 1 +asticonnectedservices.com, 1 astifan.online, 1 astigmatic.gq, 1 astilleroslagos.es, 1 @@ -16344,7 +16240,6 @@ astucedirecte.tk, 1 astucewebmaster.com, 1 astuna.de, 1 astur.school, 1 -astural.org, 0 asturhackers.es, 1 astutetm.com, 1 astutikhonda.com, 1 @@ -16447,7 +16342,6 @@ atelierfantazie.sk, 1 atelierferro.be, 1 atelierhsn.com, 1 atelierjs.com, 1 -atelierkuni.jp, 1 atelierlk.art, 1 ateliernaruby.cz, 1 ateliernox.com, 1 @@ -16473,7 +16367,6 @@ atgseed.co.uk, 1 atgseed.uk, 1 atgweb.es, 0 ath0.org, 0 -atharsale.com, 1 atheatac.com, 1 atheism.org, 1 atheist-refugees.com, 1 @@ -16549,6 +16442,7 @@ atlantajewishconnector.com, 1 atlantajewishlifefestival.com, 1 atlantareroof.com, 1 atlantatai.org, 1 +atlantclinical.com, 1 atlantica.tk, 1 atlanticbeachacademy.com, 1 atlanticcitycasino.news, 1 @@ -16602,13 +16496,13 @@ atlassen.com, 1 atlassian.net, 1 atlassignsandplaques.com, 1 atlastax.ga, 1 -atlastaxi.eu, 1 atlastravelvic.com.au, 1 atlastube.com, 1 atlasuno.com, 1 atlaswu.com, 1 atlcoaters.com, 1 atletico-guacuano.tk, 1 +atleticocearense.com.br, 1 atletika.hu, 1 atletismomacotera.tk, 1 atlon-nn.ru, 0 @@ -16717,11 +16611,13 @@ attosoft.tk, 1 attractant.com, 1 attractieparken.tk, 1 attsavings.com, 1 +atttrainings.com, 1 attuned.se, 1 attwood.org, 1 attyhub.com, 1 atuallemoveis.ind.br, 1 atuendomr.com, 1 +atugan.com, 1 atunel.tk, 1 atvirtual.at, 1 atvlifesaver.net, 1 @@ -16783,12 +16679,10 @@ audencia.com, 0 audian.com, 1 audible, 1 audiclubbahrain.com, 1 -audiense.com, 1 audifs.com, 1 audilio.it, 1 audio-extractor.net, 1 audio-joiner.com, 1 -audio.servemp3.com, 1 audiobit.es, 1 audioblackmagic.com, 1 audiobone.com, 1 @@ -16990,7 +16884,6 @@ aussagen.com, 1 ausschreibungen-suedtirol.it, 1 ausset.me, 1 aussiebum.com, 1 -aussiecamping.com.au, 1 aussiefinances.com.au, 1 aussiefunadvisor.com, 0 aussiemilfs.com, 1 @@ -17034,7 +16927,7 @@ australianimmigrationadvisors.com.au, 1 australianjewishnews.com, 1 australianonlineappliances.ga, 1 australianpropertyanalytics.ga, 1 -australiantales.com, 1 +australiantales.com, 0 australiantemporarytattoos.com, 1 australiantemporarytattoos.com.au, 1 australien-tipps.info, 1 @@ -17188,7 +17081,7 @@ autoglascenter.com, 1 autoglass.com.my, 1 autohaus-brueggemann.de, 1 autohausmf-nord.de, 1 -autohaussued.de, 1 +autohaussued.de, 0 autohaussued.gmbh, 1 autohero.com.au, 1 autohit.ro, 1 @@ -17221,6 +17114,7 @@ automacity.com, 1 automacro.com, 1 automagischeberegening.nl, 1 automasrl.it, 1 +automastercastlerock.com, 1 automatentest.de, 1 automaticmsp.com, 1 automation-tools.stream, 1 @@ -17450,7 +17344,6 @@ autoscreens.com.au, 1 autoscuola.roma.it, 1 autosdsg.ca, 1 autosecurityfinance.com, 1 -autoshinka72.ru, 1 autoshopsolutions.com, 0 autosiero.nl, 1 autoskolaplzen.cz, 1 @@ -17530,7 +17423,6 @@ auxessenceselfiques.fr, 1 auxiliame.com, 1 auxilius.be, 1 auxmode.com, 1 -auxomedical.com, 1 av-dnepr.com.ua, 1 av-planet.si, 1 av-th.net, 1 @@ -17620,7 +17512,6 @@ avatarka.tk, 1 avatedu.com, 1 avaxprices.com, 1 avay.vn, 1 -avcafe.ru, 0 avcd.cz, 1 avcipets.com, 1 avclub.com, 1 @@ -17709,7 +17600,6 @@ aviconverter.tk, 1 avidmode-dev.com, 1 avidmode-staging.com, 1 avidmode.com, 1 -avie.de, 1 avilas-style.com, 1 avilauto.com.es, 1 avilauto.net, 1 @@ -17730,7 +17620,7 @@ avishanx.com, 1 avisodeprivacidad.info, 1 avisofi-credit-immobilier.fr, 1 avisoshuaraz.tk, 1 -avisoversigten.dk, 0 +avisoversigten.dk, 1 avispl.com, 1 avitahealth.org, 1 avitus.hu, 1 @@ -17796,7 +17686,6 @@ avris.it, 1 avrora-nov.ru, 1 avroramine.tk, 1 avrrom.com, 1 -avspot.net, 1 avstack.io, 1 avt-ukraine.com, 1 avtecmedia.com, 0 @@ -17833,6 +17722,7 @@ avtoyurist.gq, 1 avtoyurist.ml, 1 avtoyurist.tk, 1 avus-automobile.com, 1 +avv.li, 1 avvaterra.ch, 1 avvisatore.it, 1 avvocato.bologna.it, 1 @@ -17880,7 +17770,6 @@ awesomesit.es, 0 awf0.xyz, 1 awfulsport-news.tk, 1 awh.ink, 1 -awinninghabit.com, 1 awk.tw, 1 awksolutions.com, 1 awlonline.tk, 1 @@ -17916,7 +17805,6 @@ axa.ch, 1 axa.de, 1 axavalon.tk, 1 axchap.ir, 1 -axcient.com, 1 axe-formation.com, 1 axe.io, 1 axeapi.au, 1 @@ -17950,7 +17838,6 @@ axioinvest.com, 1 axiom-networks.org, 1 axiom4.net, 1 axiomecpa.com, 1 -axiomeosteopathie.ca, 1 axiomer.com, 1 axiomtechnologies.tk, 1 axios.tk, 1 @@ -18145,7 +18032,6 @@ azaleos.com, 1 azaleos.net, 1 azalhavayolu.com.tr, 1 azallon.com.br, 1 -azam.email, 1 azami.com, 1 azaria.blog, 1 azarkepic.com, 1 @@ -18312,7 +18198,9 @@ b2bhint.com, 1 b2binpay.com, 1 b2bmail.ga, 1 b2bpoke.com, 1 +b2btaz.com, 1 b2markt.de, 1 +b2music.asia, 1 b2socials.com, 1 b3.nu, 1 b3103.com, 0 @@ -18677,7 +18565,7 @@ backmitra.com, 1 backmitra.mx, 1 backmitra.nl, 1 backpacken.org, 1 -backpackinglight.com, 0 +backpackinglight.com, 1 backpackingtours.com, 1 backpacktour.ru, 1 backpagegals.com, 1 @@ -18757,6 +18645,7 @@ baddielatina.com, 1 baddrones.llc, 1 badeand.net, 1 badekappen.com, 1 +baderscott.com, 1 badeurlaub.tk, 1 badf00d.de, 1 badge.rs, 1 @@ -18954,7 +18843,6 @@ bakercounty911or.gov, 1 bakercountyor.gov, 1 bakercountysheriffor.gov, 1 bakersafari.co, 1 -bakersfieldboardup.com, 1 bakersfieldhomeoffer.com, 1 bakerviewdentalcentre.com, 1 bakerymazowsze.co.uk, 1 @@ -19009,7 +18897,6 @@ balancenaturalhealthclinic.ca, 1 balancer.gq, 1 balancingbird.net, 1 balancingbirthbaby.com, 1 -balancingeverything.com, 1 balanda.ga, 1 balashiha-podmoskovie.ml, 1 balasingandaru.cf, 1 @@ -19158,7 +19045,6 @@ bancastato.ch, 1 bancatransilvania.ro, 1 banch.io, 1 banchungcu.com, 1 -banco.bradesco, 1 bancoagricola.com, 1 bancobai.ao, 0 bancobica.com.ar, 1 @@ -19268,7 +19154,6 @@ banket-furshet-spb.ru, 1 banketbesteld.nl, 1 bankffin.kz, 0 bankfreeoffers.com, 1 -bankgradesecurity.com, 1 bankheadvegetables.com, 1 bankhelp.gov, 1 banki-finance-credit.ru, 1 @@ -19278,6 +19163,7 @@ banking-services.tk, 1 bankingheralders.ga, 1 bankinter.pt, 1 bankio.se, 1 +bankiros.ru, 1 bankislami.com.pk, 1 bankitt.network, 1 bankja.net, 1 @@ -19308,6 +19194,7 @@ bankvanbreda.be, 1 bankwithfidelity.com, 1 banland.net, 1 banlinhdanong.com, 0 +banmapvn.com, 1 banned-bitches.tk, 1 banner-design.tk, 1 banner.ga, 1 @@ -19374,7 +19261,6 @@ baracca.es, 1 barakayu.com, 1 baraklava.com, 1 baran-shop.ga, 1 -baranka.ru, 1 baransys.com, 1 baranyavar.hu, 1 barao.tk, 1 @@ -19475,7 +19361,7 @@ barkerandstonehouse.co.uk, 1 barkerjr.xyz, 1 barkingspidersaspets.com, 1 barkio.com, 1 -barklanepets.com, 1 +barklanepets.com, 0 barkstop.net, 1 barkysupplies.com, 1 barlettaviva.it, 1 @@ -19505,13 +19391,11 @@ barnwellcountysc.gov, 1 barobax.tk, 1 baroccofashion.it, 1 baroclean.fr, 1 -barodadiginext.com, 1 barok.tk, 1 baroloboys.de, 1 baron14.be, 1 baronbunny.cn, 1 baronet.cf, 1 -baronpaintingservices.com, 1 baronspices.com, 1 baroquemath.net, 1 baroqueworksstudio.com, 1 @@ -19650,7 +19534,6 @@ basic.is, 1 basic.space, 1 basicapparel.de, 1 basicattentiontoken.org, 1 -basiccloud.nl, 1 basicguitarlessons.com, 1 basicknowledge101.com, 1 basiclimits.tk, 1 @@ -19728,7 +19611,6 @@ bastolino.de, 1 bastter.com, 1 bastun.com, 1 basuramarina.com, 1 -basvurusu.net, 1 baswetter.photography, 1 basyrova.ml, 1 basysconsulting.com, 1 @@ -19741,6 +19623,7 @@ bataviaoh.gov, 1 batca.ca, 1 batcave.tech, 1 batch.com, 0 +batdongsancongnghiep.vn, 0 bateaux-sans-permis.com, 0 batelco.com, 1 baterias.com, 1 @@ -19756,7 +19639,6 @@ bathcountyva.gov, 1 bathok.tk, 1 bathost.net, 1 bathrobes.tk, 1 -bathroomgurureview.com, 1 bathroomremodelinggeorgia.com, 1 bathroomsinkcabinet.tk, 1 bathscobensraker.ga, 1 @@ -19890,7 +19772,6 @@ bayer-stefan.de, 1 bayer-stefan.eu, 1 bayer.earth, 1 bayerhazard.de, 1 -bayernstrikes.com, 1 bayernwaage.de, 1 bayerstefan.com, 1 bayerstefan.de, 1 @@ -19902,7 +19783,7 @@ bayliss.aero, 1 bayliss.co.uk, 1 bayliss.uk, 1 bayly.eu, 1 -baymard.com, 0 +baymard.com, 1 baymark.com, 1 bayofseo.com, 1 bayou.energy, 1 @@ -20196,6 +20077,7 @@ beamitaly.tk, 1 beamitapp.com, 1 beamy-lake.com, 1 beanbot.party, 1 +beanboygames.com, 1 beancount.io, 1 beanilla.com, 1 beanjuice.me, 1 @@ -20241,7 +20123,6 @@ beatfreaks.tk, 1 beatle.tk, 1 beatmaker.ml, 1 beatmalaria.org, 1 -beatolympics.xyz, 1 beaton.tk, 1 beatquantum.com, 1 beatrice-nightscout.herokuapp.com, 1 @@ -20259,7 +20140,6 @@ beatthebastards.tk, 1 beatuprobot.net, 1 beatzone.tk, 1 beau.cat, 1 -beaucrabill.com, 0 beaufortcastawaycharter.com, 1 beaufortcountync.gov, 1 beauhilton.com, 1 @@ -20300,6 +20180,7 @@ beautycarepack.com.ng, 1 beautycom.club, 1 beautycon.ir, 1 beautyeyewear.ga, 1 +beautyfitnessblog.com, 1 beautyforce.bg, 1 beautyforceacademy.bg, 1 beautyindistress.tk, 1 @@ -20309,7 +20190,6 @@ beautykatherin.com, 1 beautykiss.com, 1 beautylookz.nl, 1 beautyoverture.com, 1 -beautysane.com, 1 beautyschool.od.ua, 1 beautyseasons.ru, 1 beautyspaceshop.com, 1 @@ -20410,7 +20290,7 @@ bedrijfsfotoreportages.nl, 1 bedrijfswasmachine.nl, 1 bedrockcommunity.ml, 1 bedrocklinux.org, 1 -bedstecasinobonusser.dk, 0 +bedstecasinobonusser.dk, 1 bedtimeflirt.com, 1 bedum-blues.tk, 1 bedwars.party, 1 @@ -20520,7 +20400,6 @@ begravningsbyranhumana.se, 1 begundal.tk, 1 behamepresrdce.sk, 1 behamzdarma.cz, 1 -behanger.eu, 1 behar-selimi.tk, 1 behatech.tk, 1 behavenet.com, 1 @@ -20538,7 +20417,6 @@ behind-the-mask.tk, 1 behindenemyminds.be, 1 behindenemyminds.eu, 1 behindertenagentur.de, 1 -behindthebuckpass.com, 1 behindthedesk.tk, 1 behindthemars.de, 1 behleem.tk, 1 @@ -20633,7 +20511,7 @@ belarus.tk, 1 belarusmemorials.com, 1 belarustoday.tk, 1 belarustravel.tk, 1 -belastingdienst-in-beeld.nl, 0 +belastingdienst-in-beeld.nl, 1 belastingmiddeling.nl, 1 belayarus.tk, 1 belcanto.cz, 1 @@ -20692,7 +20570,6 @@ beliishko.tk, 1 belindaweb.tk, 1 belinks.tk, 1 belinsky.tk, 1 -belivr.tech, 1 beliyo.tk, 1 belizemap.tk, 1 belk.io, 1 @@ -20705,6 +20582,7 @@ bella-abyssinia.tk, 1 bella-klein.org, 1 bella.network, 1 bellaaroma.com.tw, 1 +bellacasarealtyaz.com, 1 belladeluxxe.net, 1 bellafashion.tk, 1 bellaireroofinginc.com, 1 @@ -20830,7 +20708,6 @@ bendechrai.com, 0 bendemaree.com, 1 bender.ga, 1 benderssportsandspirits.com, 0 -bendhvacpros.com, 1 bendigoland.com.au, 1 bendingtheending.com, 1 bendjadid.com, 1 @@ -21021,7 +20898,6 @@ beraten-entwickeln-steuern.de, 1 beratungswelt.dvag, 1 berbatov.ga, 1 berbervandenberg.tk, 1 -berchialla.it, 1 berchtesgaden-hilft.de, 1 berdan.tk, 1 berdu.id, 1 @@ -21175,7 +21051,6 @@ berrycheapers.ga, 1 berryevent.es, 0 berryvillear.gov, 1 berrywan.com, 1 -bersamatekno.com, 1 bersatu.com.my, 1 berserk.gq, 1 berserk.tk, 1 @@ -21225,6 +21100,7 @@ beskiden.com, 1 besnard.me, 1 besnik.de, 0 besnik.tk, 1 +besola.de, 1 besole.ch, 1 besolov.tk, 1 besonderheit.com, 1 @@ -21252,7 +21128,6 @@ best-cat.tk, 1 best-cats.tk, 1 best-chiter.tk, 1 best-community-colleges.com, 1 -best-credit.de, 0 best-education-schools.com, 1 best-engineering-colleges.com, 1 best-essay-service.com, 1 @@ -21308,7 +21183,6 @@ bestbuyzone.com, 1 bestcamshow.tk, 1 bestcanvaswallart.com, 1 bestcarscyprus.com, 1 -bestcash2020.com, 1 bestcasinositesonline.com, 1 bestchoicehomeinspections.com, 1 bestclassifiedsusa.com, 1 @@ -21366,7 +21240,6 @@ bestgolftrips.ca, 1 bestgriefbooks.com, 1 besthemes.tk, 1 besthobi.com, 1 -besthomescents.com, 1 besthorsebedding.com, 0 besthost.cz, 1 besthouse.co.il, 1 @@ -21385,7 +21258,6 @@ bestjumptrampolines.be, 1 bestkbeauty.com, 1 bestkenmoredentists.com, 1 bestkeys.ga, 1 -bestkitchenbuy.com, 1 bestladyshaver.co.uk, 0 bestlawabundant.tk, 1 bestlawafter.tk, 1 @@ -21627,9 +21499,7 @@ bet166b.com, 1 bet166bbb.com, 1 bet166c.com, 1 bet166ddd.com, 1 -bet166eee.com, 1 bet166fff.com, 1 -bet166hhh.com, 1 bet166uu.com, 1 bet166ww.com, 1 bet166yy.com, 1 @@ -21761,7 +21631,7 @@ bet86zj.com, 1 bet909.com, 1 beta-cell.com, 1 beta-site-staging.azurewebsites.net, 1 -beta.pw, 1 +beta.pw, 0 betaa0.com, 1 betaa2.com, 1 betaa3.com, 1 @@ -21845,6 +21715,7 @@ betonvloerpolijsten.com, 1 betop-lab.com, 1 betor.cz, 1 betor.sk, 1 +betordertr.com, 1 betoskip.tk, 1 betpokies.com, 1 betrifft-mich-dsgvo.ch, 1 @@ -21920,7 +21791,6 @@ bettingbusiness.ru, 1 bettingmalaysia.online, 1 bettingonaverage.com, 1 bettingphilippines.online, 1 -bettingsider.dk, 1 bettolinokitchen.com, 1 betty-baloo.com, 1 bettyblue.tk, 1 @@ -22047,7 +21917,6 @@ beyonds.fr, 1 beyondthecode.io, 1 beyondthecreek.com, 1 beyondthefive.org, 0 -beyondtheflag.com, 1 beyondthemoments.com, 1 beyondthepitch.net, 1 beyondtherealm.tk, 1 @@ -22073,7 +21942,9 @@ bezpiecznyiphone.pl, 1 bezpiecznykierowca.info, 1 bezposrednio.net.pl, 1 bezpredel.tk, 1 +bf-foto.eu, 1 bf2statistics.eu, 1 +bfam.tv, 1 bfas237blog.com, 1 bfbet365.com, 1 bfbs.com, 1 @@ -22087,7 +21958,7 @@ bfh.science, 1 bfharrison.com, 1 bfi.is, 1 bfkcloud.ddns.net, 1 -bflix.tv, 1 +bflix.tv, 0 bflw.pl, 1 bfly.tech, 1 bfob.gg, 1 @@ -22118,8 +21989,9 @@ bghope.com, 1 bghost.xyz, 1 bgjargon.com, 1 bgkoleda.bg, 1 +bglobal.com, 1 bglsingles.de, 1 -bgm.bg, 1 +bgm.bg, 0 bgmall.tk, 1 bgmedia.tk, 1 bgmn.me, 1 @@ -22210,7 +22082,6 @@ biber-bike.de, 1 biberonshop.bg, 1 bibet365.com, 1 bibi-xxx.com, 1 -bibica.net, 1 bibimanga.com, 1 bibit.id, 1 bibitbunga.com, 1 @@ -22222,7 +22093,6 @@ bibleforchildren.ru, 1 bibleinsiderest.ga, 1 bibleonline.ru, 1 biblereadlist.com, 1 -biblesearch.com.tw, 1 biblesearch.tw, 1 biblesignposts.com, 1 bibleversesfordailyliving.com, 1 @@ -22465,6 +22335,7 @@ bigtix.io, 0 bigtown.tk, 1 bigtstexasbbq.com, 1 bigudi.ee, 1 +bigudi.eu, 1 bigwaterut.gov, 1 bigzoo.com.br, 1 biigtigconsulting.ca, 1 @@ -22521,7 +22392,6 @@ bikkelbroeders.nl, 0 biknet.tk, 1 bikroay.com, 1 bikyaku.fun, 1 -bilalkilic.de, 1 bilalozdemir.me, 1 bilanca.com.hr, 1 bilar.tk, 1 @@ -22548,7 +22418,7 @@ biletyplus.ru, 1 biletyplus.ua, 1 bilgehan.net, 1 bilgiliksel.com, 1 -bilgireis.com, 1 +bilgireis.com, 0 bilgisayarkursu.tk, 1 bilgisoft.ir, 1 bilgo.com, 1 @@ -22560,7 +22430,7 @@ bilimoe.com, 1 bilingualunit.tk, 1 bilirrubina.com, 1 bilisimdanismani.com, 1 -biliwind.com, 1 +biliwind.com, 0 biljettmonster.se, 1 bilke.org, 1 bilkovita.bg, 1 @@ -22610,7 +22480,6 @@ billusherwood.com, 1 billview.com.au, 1 billwebb.com.au, 1 billwerk.com, 1 -billwerk.io, 1 billy.pictures, 1 billybluerecords.com, 1 billybob.tk, 1 @@ -22782,7 +22651,6 @@ biogecho.ch, 0 biogeist.de, 1 biogenius.ca, 0 biogiardinaggio.it, 1 -biographybd.com, 1 biographyseriesers.ga, 1 biographyseriesest.ga, 1 biohappiness.com, 1 @@ -22868,7 +22736,6 @@ biot.tk, 1 biotal.ua, 1 biotanquesbts.com, 1 biotec.tk, 1 -biotechheatingservices.co.uk, 1 biotecommunity.com, 1 bioteebook.com, 1 biotin.ch, 1 @@ -22943,6 +22810,7 @@ birthdayapp.io, 1 birthdayapp.today, 1 birthdaybuzz.org, 1 birthdayinsiderest.ga, 1 +birthinjurylawyer.com, 1 birthlight-austria.com, 1 birthright.host, 1 birtles.blog, 1 @@ -23013,7 +22881,7 @@ bitbotster.com, 1 bitbox.me, 1 bitbroker.exchange, 1 bitbucket.com, 1 -bitbucket.io, 0 +bitbucket.io, 1 bitbucket.org, 1 bitburner.de, 1 bitcalt.eu.org, 1 @@ -23102,12 +22970,11 @@ bitcoinx.ro, 1 bitcork.io, 1 bitcrazy.org, 1 bitdefender.de, 1 -bitdelta.com, 0 +bitdelta.com, 1 bitdizzle.xyz, 1 bitdocs.xyz, 1 bitdynamics.au, 1 bitech-ec.com, 1 -bitedge.com, 0 bitedu.pt, 1 bitehazard.cz, 1 bitenose.com, 1 @@ -23448,6 +23315,7 @@ bkin-42740.xyz, 1 bkin-43450.xyz, 1 bkin-46680.xyz, 1 bkk24.de, 1 +bkkf.at, 1 bkkposn.com, 1 bklaindia.com, 1 bkmexpress.com.tr, 1 @@ -23499,7 +23367,6 @@ black-friday.org.il, 1 black-ghost.tk, 1 black-hair-extension.tk, 1 black-holes.org, 1 -black-khat.com, 1 black-magic-love-spells.com, 1 black-mail.nl, 1 black-market.ga, 1 @@ -23615,7 +23482,6 @@ blacksecurityamg.art, 1 blacksega.ga, 1 blacksentry.io, 1 blackshark.cf, 1 -blacksheepsw.com, 1 blackslots.club, 1 blacksniffer.tk, 1 blackspark.tk, 1 @@ -23657,7 +23523,6 @@ blackys-chamber.de, 0 blackzebra.audio, 1 blade-online.tk, 1 bladencountync.gov, 1 -bladesofteal.com, 1 blaetter.de, 1 blaeu.com, 1 blagger.tk, 1 @@ -23744,8 +23609,6 @@ blayneallan.com, 0 blazebd.com, 1 blazeeria.com, 1 blazefire.tk, 1 -blazenet.net, 1 -blazerworks.com, 1 blazeweb.ml, 1 blazing.cz, 1 blazingsaddles.ga, 1 @@ -23798,9 +23661,6 @@ blids.nl, 1 blidz.com, 0 blieque.co.uk, 1 bliesener.com, 1 -blightnight.games, 1 -blightnight.live, 1 -blightnight.net, 1 blijfbij.com, 1 blijfbij.eu, 1 bliker.ga, 1 @@ -23885,7 +23745,6 @@ blockchain.poker, 1 blockchainaiintegra.com, 1 blockchainbulteni.com.tr, 1 blockchaincasinos.online, 1 -blockchaininfo.news, 1 blockchainreporter.net, 1 blockchaintech.ga, 1 blockcheck.network, 1 @@ -24009,7 +23868,6 @@ blogtroterzy.pl, 1 bloguerrilla.it, 1 bloguser.ru, 1 blogvadim.ga, 1 -blogville.us, 1 blogworm.eu, 1 blokino.org, 0 blokmap.be, 1 @@ -24116,7 +23974,6 @@ bluefieldwv.gov, 1 bluefieldwvpd.gov, 1 blueflare.org, 1 blueflow.pl, 1 -blueflystudios.com, 1 bluefrontier.co.uk, 1 bluefurniturerentals.com, 1 bluefuzz.nl, 1 @@ -24134,11 +23991,8 @@ bluekrypt.com, 1 bluelighter.tk, 1 bluelily.ga, 1 bluelime.it, 1 -bluelinestation.com, 1 -bluemagnetinteractive.com, 1 -bluemail24.com, 1 +bluemail24.com, 0 bluemango-studios.com, 1 -bluemanhoop.com, 1 bluemonte.com, 0 bluemoonrescue.org, 1 bluemosh.com, 1 @@ -24181,7 +24035,6 @@ blueskyinsure.com, 1 blueskywebdesign.net, 0 bluesnews.tk, 1 bluesoap.com.au, 1 -bluespace.com.ng, 1 bluespace.ng, 1 bluespirit.com, 1 bluestarbus.co.uk, 1 @@ -24255,7 +24108,6 @@ bmak.me, 1 bmak.xyz, 1 bmbfiltration.com, 1 bmblawfirm.com, 1 -bmcpap.com, 1 bmelecevolution.com, 1 bmhglobal.com.au, 1 bmipestcontrol.com, 1 @@ -24272,7 +24124,6 @@ bmros.com.ar, 1 bmsupermercados.es, 1 bmw-motorradclub-seefeld.de, 1 bmwcolors.com, 1 -bmwdasauto.com, 1 bmwhocking.com, 1 bmwhocking.nz, 1 bmwpartsdeal.com, 1 @@ -24284,7 +24135,6 @@ bnbhome.com, 1 bnboy.cn, 1 bnbsinflatablehire.co.uk, 1 bnc.sh, 1 -bnck.me, 1 bnct.us, 1 bnd.house, 1 bnews.vn, 1 @@ -24292,12 +24142,12 @@ bnext.tech, 1 bngdigital.com, 1 bngs.pl, 1 bngsecure.com, 1 -bnicapital.com, 1 bnin.org, 1 bnjscastles.co.uk, 1 bnkconsulting.info, 1 bnnuy.com, 1 bnpl.kz, 1 +bnpparibas-am.com, 0 bnpparibas.be, 1 bnpparibas.bg, 1 bnpparibas.co.uk, 1 @@ -24332,14 +24182,12 @@ boardgamegeeks.de, 1 boardgameshots.com, 1 boardingschoolreview.com, 1 boardlinks.gov.au, 1 -boardmad.com, 1 boardroommind.com, 1 boards.ie, 1 boardsoftware.net, 1 boardspot.com, 1 boardusersers.ga, 1 boat-engines.eu, 1 -boatandsailboat.com, 1 boathut.com.au, 1 boatmanwindsor.com, 1 boats.com, 0 @@ -24356,7 +24204,6 @@ bob-dylan.tk, 1 bob-fuchs.de, 1 bob.nl, 1 bob.pe, 1 -bob168.net, 1 bobaly.es, 0 bobancoamigo.com, 1 bobandbrians.com.au, 1 @@ -24381,8 +24228,6 @@ bobiji.com, 0 bobijoel.ml, 1 bobkidbob.com, 1 boblog.tk, 1 -bobnbounce.ie, 1 -bobnbouncedublin.ie, 1 boboboboboaji.xyz, 1 bobobox.net, 1 bobotie.ga, 1 @@ -24612,7 +24457,7 @@ bomanufacture.com, 1 bombard.ga, 1 bombasticthoughtexperiments.com, 1 bombe-lacrymogene.fr, 1 -bombeirostv.pt, 1 +bombeirostv.pt, 0 bomberosceuta.tk, 1 bomberus.de, 1 bombgame.tk, 1 @@ -24807,6 +24652,7 @@ booksoncamping.com, 1 bookstores.gq, 1 bookstrap.ga, 1 booksy.com, 1 +booktruestorys.com, 1 bookvuz.tk, 1 bookwear.com, 1 bookworld.gr, 1 @@ -24867,7 +24713,6 @@ boostport.com, 1 boostport.com.au, 1 boostroom.com, 1 boostup.com.tr, 1 -boostyour.bio, 1 booths.cyou, 1 bootlesshacker.com, 1 boots-shop.tk, 1 @@ -24939,12 +24784,10 @@ borhunter.pl, 0 boringnews.tk, 1 boringpoll.com, 1 boringsmith.com, 1 -borisandina.com, 1 borisenko-alexander.com, 1 borisenko.by, 1 borislam.tk, 1 borisof.tk, 1 -borispatagonia.com, 1 borja.io, 1 borjaacost.com, 1 borjalucero.es, 1 @@ -25060,7 +24903,6 @@ bouallaoui.tk, 1 boubyranol-biere.com, 1 bouchard-mathieux.com, 1 boucherie-charcuterie.ca, 1 -boucherie-lesnes.fr, 1 boucherie-restaurant-les-provinces.fr, 1 bouchonville-knifemaker.com, 1 bouckaert-usedcars.be, 0 @@ -25182,7 +25024,6 @@ bountyfactory.io, 0 bountyhunter.tk, 1 bountyhunteredu.org, 1 bountyhuntermetaldetector.tk, 1 -bountyx.com, 1 bourasse.fr, 1 bourbo.net, 1 bourbonridgeretreat.com, 1 @@ -25252,7 +25093,6 @@ boxeomexicano.tk, 1 boxer-shorts.net, 1 boxerdogdiaries.com, 1 boxerdogsaspets.com, 1 -boxfordhistoricalsociety.com, 1 boxhall.co.uk, 1 boxing-kangaroo.ga, 1 boxing-videos.com, 1 @@ -25366,6 +25206,7 @@ braemer-it-consulting.de, 1 bragasoft.com.br, 0 bragaweb.com.br, 1 braggalabel.cf, 1 +bragis.nl, 1 brahammn.gov, 1 brahma.world, 1 brahmins.com, 1 @@ -25499,7 +25340,6 @@ brandons.site, 1 brandontaylor-black.com, 1 brandonwalker.me, 1 brandosvault111.ca, 1 -brandpolgroup.com, 1 brandrocket.dk, 1 brands-clothings.tk, 1 brands-polo.cf, 1 @@ -25676,7 +25516,6 @@ breastdensitynj.com, 1 breastenlargement.gq, 1 breathe-easy.tk, 1 breathedreamgo.com, 0 -breathing-underwater.com, 1 breathingblanket.com, 0 breathingsound.ml, 1 breathingspace.scot, 1 @@ -25726,7 +25565,6 @@ breml.com, 1 bremsscheiben.com, 1 brenbarnes.com, 1 brenbarnes.com.au, 0 -brenda-enzymes.org, 1 brendabecker.com, 1 brendanbatliner.com, 1 brendancroker.tk, 1 @@ -25811,12 +25649,13 @@ briankavanaugh.com, 1 brianlachapelle.tk, 1 brianlanders.us, 1 brianleejackson.com, 1 +brianleemarketing.com, 1 brianm.com, 1 brianmwaters.net, 1 brianna.tk, 1 brianoost.com, 1 brianpagan.net, 1 -brianregan.com, 1 +brianregan.com, 0 brianroadifer.com, 1 briansemrau.com, 1 briansmith.org, 1 @@ -25942,6 +25781,7 @@ brightzonecleaning.com.au, 1 brightzoneofficecleaning.com.au, 1 brigidaarie.com, 1 brigittaseasons.com, 1 +brigittaspromise.org, 1 brigittebutt.tk, 1 brigittefontaine.tk, 1 brignier.com, 1 @@ -26083,7 +25923,6 @@ broadwaytravel.com, 1 broadwayva.gov, 1 broadwayvets.co.uk, 1 broansunited.tk, 1 -brobank.ru, 1 broca.dk, 1 broca.io, 0 brock.guide, 1 @@ -26103,15 +25942,12 @@ broerbv.nl, 0 broersma.com, 1 broerweb.nl, 1 broeselei.at, 0 -brogramo.com, 1 -broilerku.com, 1 broilertrade.com, 1 brojagraphics.de, 1 broke.network, 1 brokeinkorea.tk, 1 brokenbiz-news.tk, 1 brokenbowokpd.gov, 1 -brokenbuild.net, 1 brokencityllc.ga, 1 brokendollsmuseum.com, 1 brokenhands.io, 1 @@ -26158,7 +25994,6 @@ brooklynboyblues.cf, 1 brooklynboyblues.ga, 1 brooklynboyblues.ml, 1 brooklyncentermn.gov, 1 -brooklyncosmetics.net, 1 brooklyndecker.tk, 1 brooklynentdoc.com, 1 brooklynparkmn.gov, 1 @@ -26192,7 +26027,7 @@ brou.com.uy, 1 brouillard.ch, 0 brouskat.be, 1 brouwer-greonterp.nl, 1 -brouwerijdeblauweijsbeer.nl, 1 +brouwerijdeblauweijsbeer.nl, 0 brovary-eda.kiev.ua, 1 brovelton.com, 0 browardvotes.gov, 1 @@ -26209,7 +26044,6 @@ brownforces.desi, 1 brownforces.org, 1 brownie.plus, 1 brownpipe.app.br, 1 -brownrice-life.com, 1 brownstownmi.gov, 1 brownsville360.org, 1 brownsvillewi.gov, 1 @@ -26240,7 +26074,6 @@ bruce-springsteen.tk, 1 brucebenes.com, 1 bruceleeitems.com, 1 brucemines.ca, 1 -bruckenbauer.nl, 1 bruckner.li, 1 brudevelopments.ca, 1 brudkista.nu, 1 @@ -26274,7 +26107,6 @@ brunettipesco.com, 1 brunhild.com, 1 brunhilde.ml, 1 brunner.ninja, 1 -bruno-hoenel.de, 0 bruno-pelletier.tk, 1 brunoamaral.eu, 1 brunobattaglia.tk, 1 @@ -26311,6 +26143,7 @@ brust-zentrum.ch, 1 brutal.systems, 1 brutalica.tk, 1 brutality.cf, 1 +brutdecom.fr, 1 brutecloud.com, 1 brutosanetos.com, 1 brutosshopping.com, 1 @@ -26421,7 +26254,6 @@ bstoked.net, 1 bsuess.de, 1 bsurfcr.com, 1 bsuru.xyz, 1 -bsvfincorp.com, 1 bsw-solution.de, 1 bswears.com, 1 bsystem.net, 0 @@ -26679,7 +26511,6 @@ buildbackbetter.gov, 1 buildbytes.com, 1 buildconcierge.ga, 1 buildcor.com.au, 1 -builddesygner.xyz, 1 buildersdiscount.net, 1 buildersofthesilentcities.tk, 1 buildfood.com, 1 @@ -26701,7 +26532,6 @@ buildingpointne.com, 1 buildingprojectsswanseama.gov, 1 buildingqueries.com, 1 buildingresiliency.org, 1 -buildit.se, 1 buildkite.com, 1 buildmate.ml, 1 buildmorebuslanes.com, 1 @@ -27342,7 +27172,6 @@ butowka.tk, 1 butsa.tk, 1 butserdocumentary.tk, 1 butt.repair, 0 -buttacakes.com, 1 buttedesmortssd1wi.gov, 1 butter.horse, 1 butter.ml, 1 @@ -27371,7 +27200,6 @@ buvik.gov.in, 1 buvocastings.nl, 1 buxru.tk, 1 buxum-communication.ch, 0 -buxxu.com, 1 buy-aleve.gq, 1 buy-amitriptyline.tk, 1 buy-amoxil.ml, 1 @@ -27429,7 +27257,6 @@ buycook.shop, 1 buycostarica.tk, 1 buycultureboxesers.ga, 1 buydataonline.tk, 1 -buydegree.info, 1 buydeltasone.ga, 1 buydeltasone.ml, 1 buydiamox.cf, 1 @@ -27506,7 +27333,6 @@ buyzithromax.ga, 1 buyzithromaxonline.ml, 1 buyzofranonline.tk, 1 buyzoloft.cf, 1 -buzaao.com, 1 buziaczki.pl, 1 buzinessmarket.ml, 1 buzko.pl, 1 @@ -27537,7 +27363,6 @@ buzzybites.com, 1 bv-driver.tk, 1 bv-ferreiradozezere.pt, 1 bvb.moe, 0 -bvbbuzz.com, 1 bvblaboratory.hu, 1 bvbmedia.nl, 1 bvdp-saturn-prod.appspot.com, 1 @@ -27622,7 +27447,6 @@ bycorefi.com, 1 bydik.com, 1 bydisk.com, 0 bydoora.com, 1 -byebyemylove.com, 1 byedzhang.tk, 1 byemediaers.ga, 1 byemediaest.ga, 1 @@ -27651,7 +27475,6 @@ bymike.co, 1 bymogarna.se, 1 bynder.com, 1 bynono.pt, 1 -bynss.com, 1 bynumlaw.net, 1 byootify.com, 1 bypass-link.ga, 1 @@ -27679,11 +27502,9 @@ byte-lab.tk, 1 byte.nl, 1 byte.surf, 1 byte128.com, 0 -bytearts.net, 1 bytebodega.com, 1 bytebolt.at, 1 -bytebucket.org, 0 -bytecrafter.com, 0 +bytebucket.org, 1 bytecrafter.net, 0 bytelink.pro, 1 bytema.cz, 1 @@ -27715,7 +27536,6 @@ bytez.tk, 1 bytheglass.gr, 1 bythen.cn, 0 bytheswordinc.com, 1 -bytovetextilie.cz, 1 bytrain.net, 1 byuro.org, 1 byw.cymru, 1 @@ -27934,7 +27754,7 @@ cactus-search.com, 1 cactusarium.tk, 1 cactusdentrepair.com, 1 cactusgreen.com.br, 1 -cactuskiev.com.ua, 1 +cactuskiev.com.ua, 0 cactuspedia.cf, 1 cactuspedia.ga, 1 cactuspedia.gq, 1 @@ -27971,8 +27791,6 @@ cadiskitchen.ca, 1 cadmail.nl, 1 cadman.pw, 1 cadman.uk, 1 -cadmanlaw.ca, 1 -cadmanlaw.com, 1 cadmechanic.com, 1 cadonau.net, 1 cadoneghe.com, 1 @@ -28054,7 +27872,6 @@ caffe.ga, 1 caffect.com, 1 caffein.cf, 1 caffeinate.co.uk, 1 -caffeinatedengineers.com, 1 caffeineandconcrete.com, 1 caffeinebookly.com, 1 caffeinefiend.org, 1 @@ -28097,7 +27914,6 @@ cainesjannif.com, 1 cainiao.moe, 1 caio.moe, 1 caipai.fm, 1 -caipiao.com.cn, 1 caipsnotes.com, 1 caiqu.com, 1 caiqueparrot.com, 1 @@ -28183,7 +27999,6 @@ calcionews24.com, 1 calcioragusa.tk, 1 calcioweb.eu, 1 calconcontractors.com, 1 -calconnectionnews.com, 1 calcoolator.pl, 1 calcsoft.tk, 1 calculadora-de-derivadas.com, 1 @@ -28319,7 +28134,6 @@ callychat.tk, 1 calmaririshmusicfestival.tk, 1 calmer-cloud.de, 1 calminteractive.fr, 1 -calmtech.com, 1 calomel.org, 1 calonmahasiswa.com, 1 calotte-academy.com, 1 @@ -28556,7 +28370,6 @@ can-tran.com, 1 canabeinternacional.com, 1 canada-tourisme.ch, 0 canadaabroad.com, 0 -canadabread.com, 0 canadacloudpharmacy.com, 1 canadaclub.tk, 1 canadacommunity.org, 1 @@ -28607,7 +28420,6 @@ canaresidences.com, 1 canaria.ga, 1 canariasport.com, 0 canariculturacolor.com, 1 -canary.city, 1 canaryaspets.com, 1 canarymod.net, 1 canarypower.tk, 1 @@ -28760,7 +28572,6 @@ canstar.co.nz, 1 canstar.com.au, 1 canstarblue.co.nz, 1 canstarblue.com.au, 1 -cansworld.com, 1 cantaloupe.ga, 1 cantalupo.tk, 1 cantando.nl, 1 @@ -28816,7 +28627,6 @@ caoyao.com, 1 caozuo.com, 1 cap-study.com, 1 cap21-lrc.fr, 1 -cap50.be, 1 cap73.fr, 1 cap75.com, 1 capa.digital, 1 @@ -28963,7 +28773,6 @@ car-touch.tk, 1 car.info, 1 car24portal.de, 1 car3d.gq, 1 -car4rent.fr, 0 cara-bisnis.tk, 1 cara-mudah-hidup-sehat.tk, 1 carabin.cf, 1 @@ -29016,7 +28825,7 @@ carbonkiller.org, 1 carbonlib.com, 0 carbonmapper.org, 1 carbonmonoxidelawyer.net, 1 -carbonnel.me, 1 +carbonnel.me, 0 carbono.uy, 1 carbonopuro.es, 0 carbonswap.exchange, 1 @@ -29041,10 +28850,8 @@ cardcollectors.ch, 1 carddelivery.com, 1 cardexaminerers.ga, 1 cardexaminerest.ga, 1 -cardiaccane.com, 1 cardiagnose.nl, 1 cardiagnostics.tk, 1 -cardiffjobs.org, 1 cardiffmoneyman.com, 1 cardinauto.fr, 1 cardingforum.co, 1 @@ -29132,7 +28939,6 @@ carevo.id, 1 careyohio.gov, 1 careyolsen.com, 1 carezza.net, 1 -carezzaperu.com, 1 carfamily.com, 1 carfashion.com.mx, 1 carfax.ca, 1 @@ -29151,7 +28957,6 @@ cargosapiens.com.br, 1 cargotariff.ml, 1 cargotransinfo.ru, 1 carhunters.cz, 1 -cari.com.my, 1 caribank.org, 1 caribbeancinemas.com, 1 caribbeanexams.com, 1 @@ -29160,6 +28965,7 @@ caribeeficiente.com.co, 1 caribuku.tk, 1 caricature.fr, 1 caricatureavenue.com, 1 +carien.eu, 1 carif-idf.net, 0 carigami.fr, 1 cariki.gq, 1 @@ -29187,6 +28993,7 @@ carlaschiavone.tk, 1 carlasecrets.com, 1 carlbwade.us, 1 carlcsaposs.com, 1 +carlelo.com, 1 carlesribot.tk, 1 carleycounselingservices.com, 1 carlgo11.com, 1 @@ -29359,7 +29166,6 @@ carriage.fun, 1 carriedin.com, 1 carrier.tools, 1 carrieunderwood.tk, 1 -carringtonrealtygroup.com, 1 carrion.tk, 1 carrmachines.co.nz, 1 carrmachines.com.au, 1 @@ -29623,7 +29429,7 @@ cashworks.tk, 1 cashyourcar.sydney, 1 casian.ir, 1 casillasdecoria.tk, 1 -casino-apps.dk, 0 +casino-apps.dk, 1 casino-cash-flow.com.ru, 1 casino-cash-flow.info, 1 casino-cash-flow.pro, 1 @@ -29768,6 +29574,7 @@ casinologinaustralia.com, 1 casinomucho.com, 1 casinomucho.org, 1 casinomucho.se, 1 +casinonieuws.nl, 1 casinoonlineprova.com, 1 casinoportugal.pt, 1 casinopromote.com, 1 @@ -29939,6 +29746,7 @@ catcut.com, 1 catechese-ressources.com, 1 catedraderechonotarial.es, 1 catedraloscura.tk, 1 +catedralsantodomingo.org, 1 catego.info, 1 catenacondos.com, 1 caterbing.com, 1 @@ -30062,8 +29870,7 @@ cavecreekaz.gov, 1 cavediverharry.com, 1 cavemax.com, 1 cavenderhill.com, 1 -cavialand.de, 1 -caviarbarlv.com, 1 +cavialand.de, 0 caviarmultimedia.com, 1 cavinesswealth.com, 1 cavisson.com, 1 @@ -30184,7 +29991,6 @@ ccatpracticetests.com, 1 ccattestprep.com, 1 ccayearbook.com, 1 ccb.gov, 1 -ccbccc.org, 1 ccbin.tk, 1 ccc-ch.ch, 1 ccc-checker.cn, 1 @@ -30204,7 +30010,7 @@ ccddos.club, 1 ccdgaia.pt, 0 ccdiscussion.com, 1 ccdlab.ooo, 1 -ccdnederland.org, 0 +ccdnederland.org, 1 ccdohnj.gov, 1 ccea.fi, 1 cceifame.com, 1 @@ -30246,10 +30052,8 @@ ccshire.ga, 1 ccsk.training, 1 ccskills.org.uk, 1 ccslt.org.nz, 1 -ccsource.org, 1 ccsrv.eu, 1 ccsys.com, 1 -cctf-m.com, 0 cctld.com, 1 cctv-camera.cf, 1 cctv-supraveghere.ro, 1 @@ -30525,6 +30329,7 @@ centennialrewards.com, 1 center-elite.ml, 1 center-mts.ru, 1 center-strategy.ru, 1 +centeragro.com.br, 1 centerforamericangreatness.com, 1 centerforcreativeconsciousness.com, 1 centergate.se, 0 @@ -30545,6 +30350,7 @@ centr.dn.ua, 1 central-apartman.tk, 1 central4.me, 1 centralbank.ae, 1 +centralbank.ie, 0 centralbetsers.ga, 1 centralbetsest.ga, 1 centralcityjuniorkindergarten.com, 1 @@ -30633,7 +30439,6 @@ centsay.net, 1 centsay.org, 1 centsi.io, 1 centsiwallet.com, 1 -centum.no, 1 centumail.com, 1 centura.de, 1 centuria.co.nz, 1 @@ -30820,7 +30625,6 @@ cevt.ar, 1 cewek.ml, 1 cewood.xyz, 1 cexplorer.io, 1 -ceyhanmolla.com, 1 ceyizlikelisleri.com, 1 ceylontea.org, 1 cezdent.com, 1 @@ -30865,7 +30669,6 @@ cfsh.tk, 1 cfsrportal.org, 1 cfst.eu.org, 1 cftc.gov, 1 -cftcarouge.com, 0 cfurl.cf, 1 cfxdesign.com, 1 cg-consult.fr, 1 @@ -30905,7 +30708,6 @@ cgplumbing.com, 1 cgpn.fr, 1 cgsmart.com, 1 cgsmotors.com, 1 -cgsociety.org, 1 cgstprayagraj.gov.in, 1 cgt-univ-nantes.fr, 1 cgtcaixabank.es, 1 @@ -30931,7 +30733,6 @@ ch4bb.org, 1 cha-ta.com, 1 chaacantik.tk, 1 chaacker.tk, 1 -chabaudparfum.com, 1 chabliscadillac.com, 1 chaboisseau.net, 1 chacoonline.com.py, 1 @@ -31047,13 +30848,13 @@ chandr1000.ga, 1 chandracenter.com, 1 chandradeepdey.com, 1 chandramani.tk, 1 +change10000lives.com.ph, 1 changeactivation.com, 1 changeanalytics.us, 1 changecopyright.ru, 1 changeforfuture.cf, 1 changemywifipassword.com, 1 changenow.io, 1 -changenow.world, 1 changeplan.co, 1 changesfor.life, 1 changethislater.com, 1 @@ -31100,6 +30901,7 @@ chaoxi.io, 1 chaoxi.link, 1 chaoyansuo.com, 1 chaparral.com.au, 1 +chapatuweb.com, 1 chapek9.com, 1 chapel.tk, 1 chapelaria.tf, 1 @@ -31129,7 +30931,6 @@ chargify.com, 1 chariots.tk, 1 charisma.ai, 1 charismadesign.ie, 1 -charismaticgemeventsllc.info, 1 charitocracy.org, 1 charity.cz, 1 chariz.com, 1 @@ -31270,7 +31071,6 @@ chateaudestrainchamps.com, 0 chateaulabrede.com, 1 chateaulacordeliere.fr, 1 chatedit.org.uk, 1 -chatelaine.com, 1 chateroids.com, 1 chatforskning.no, 1 chatfreespeech.com, 1 @@ -31466,7 +31266,7 @@ checkmypsoriasis.com, 1 checknetworks.com.au, 1 checkngo.com, 0 checkout.google.com, 1 -checkr.com, 1 +checkr.com, 0 checkra.in, 1 checkras.tk, 1 checkrente.nl, 1 @@ -31474,7 +31274,7 @@ checkreview.in, 1 checkrobin.com, 1 checkrz.com, 1 checkspf.net, 1 -checktls.nl, 1 +checktls.nl, 0 checktype.com, 1 checkui.com, 1 checkurinsurance.com, 1 @@ -31490,9 +31290,7 @@ cheekycharliessoftplay.co.uk, 1 cheela.org, 1 cheem.co.uk, 1 cheems.rip, 1 -cheerforace.com, 1 cheerios.com, 1 -cheerleading.si, 1 cheers.bio, 1 cheese-storeroom.tk, 1 cheeseemergency.co.uk, 1 @@ -31539,7 +31337,6 @@ cheltenhambouncycastles.co.uk, 1 cheltenhampa.gov, 1 cheltik.ru, 1 chelyaba.tk, 1 -chem.digital, 1 chema.ga, 1 chemapool.bg, 1 chemaxon.com, 1 @@ -31626,7 +31423,7 @@ chesapeakecluttercontrol.com, 1 chesapeakeopticallab.com, 1 chesapeakewv.gov, 1 chescommessa.it, 1 -cheshirex.com, 1 +cheshirex.com, 0 chess.katowice.pl, 1 chesslovin.com, 1 chessmatesny.com, 1 @@ -31817,6 +31614,7 @@ chimpmatic.com, 1 china-midas.net, 1 china-online-news.tk, 1 chinabank.ph, 1 +chinabelt.com, 1 chinablows.com, 1 chinacdn.org, 1 chinacheers.com, 1 @@ -31834,7 +31632,6 @@ chinamallonlin.com, 1 chinamediaproject.org, 1 chinaoptionsfund.cn, 1 chinaoptionsfund.com, 1 -chinasays.com, 1 chinasearch.tk, 1 chinastory.tk, 1 chinasucksass.com, 1 @@ -32065,7 +31862,6 @@ chrislauderback.net, 1 chrislauderback.org, 1 chrisliebaer.de, 1 chrisluen.com, 1 -chrismarker.org, 1 chrismax89.com, 1 chrismcclendon.com, 1 chrismckee.co.uk, 1 @@ -32335,6 +32131,7 @@ churchofsmyrna.com, 1 churchofsmyrna.org, 1 churchplaza.com, 1 churchssja.org, 1 +churchsuite.com, 1 churchthemes.com, 1 churchwebcanada.ca, 1 churchwebsupport.com, 1 @@ -32378,6 +32175,7 @@ cialisusapills.com, 1 cialisvtr.com, 1 cialisworld.net, 1 cialisworld.org, 1 +ciallo.work, 1 cianmawhinney.me, 1 cianmawhinney.xyz, 1 ciao.ro, 1 @@ -32395,7 +32193,6 @@ cica.es, 1 cicavkleci.cz, 1 ciceksohbet.com, 1 ciceron.cloud, 1 -ciceroneberlino.com, 1 cicerony.gov, 1 ciceronypd.gov, 1 cicery.com, 1 @@ -32537,18 +32334,17 @@ cintapersonalizada.es, 1 cintaraso.es, 1 cinteo.com, 1 cinthia.tk, 1 -cio-ciso-interchange.org, 1 -cio-cisointerchange.org, 1 cio-spirit.de, 1 cio.gov, 1 +ciochina.com, 1 cionir.fr, 1 cioscloud.com, 1 -cioudways.com, 1 cioudways.pro, 1 cioxhealth.com, 1 cip.md, 1 cipa.com.co, 0 cipartyhire.co.uk, 1 +cipf.ca, 0 ciph.zone, 1 cipher.team, 1 cipherboy.com, 1 @@ -32588,9 +32384,7 @@ circuit.co.uk, 1 circuitcityelectricaladelaide.com.au, 1 circuitclerkmarioncountyms.gov, 1 circular.fashion, 1 -circular.tw, 1 circularity.id, 1 -circuloescola.com, 1 circulosocial77.com, 1 circumstances.ir, 1 circus-maximus.de, 1 @@ -32602,7 +32396,7 @@ cirocunato.tk, 1 cirriton.de, 1 cirro.io, 1 cirroenergy.com, 1 -cirruslab.ch, 1 +cirruslab.ch, 0 cirruslabs.ch, 0 cirugiaplasticahn.com, 1 cirurgicagervasio.com.br, 1 @@ -32610,7 +32404,7 @@ cirurgicalucena.com.br, 1 cirurgicasaopaulo.com.br, 1 cirurgicavirtual.com.br, 1 cisa.gov, 1 -cisabroad.com, 1 +cisabroad.com, 0 cisco-training.net, 1 ciscoasanetflow.com, 1 ciscobrewers.com, 1 @@ -32895,6 +32689,7 @@ civictech.ngo, 1 civicunicorn.com, 1 civicunicorn.us, 1 civil-works-sri.com, 1 +civilbikes.com, 1 civilconcretellc.com, 1 civilengineeringhandbook.tk, 1 civilhost.tk, 1 @@ -32922,11 +32717,11 @@ cjfinance.fr, 1 cjhzp.net, 1 cjimmobilier.com, 1 cjis.gov, 1 -cjp.nl, 1 cjr.host, 1 cjr.is, 1 cjri.uk, 1 cjs8866.cc, 1 +cjswoodworking.com, 1 cjwagner.net, 1 ck-energy.info, 1 ck-la.tk, 1 @@ -33044,7 +32839,6 @@ clarendon.network, 1 clarendonvt.gov, 1 claresderibota.tk, 1 claretandbluearmy.tk, 1 -claretvillans.com, 1 clarilog.com, 1 clarinet.ga, 1 clarinexonline.gq, 1 @@ -33188,6 +32982,7 @@ cleanenergy.gov, 1 cleanenergywire.org, 1 cleaner-en.com, 1 cleaner.tk, 1 +cleanerstool.com, 1 cleanertoday.com, 1 cleanertool.co.uk, 1 cleanfacesest.ga, 1 @@ -33305,7 +33100,7 @@ clevisto.com, 1 clevon.com, 1 clevon.us, 1 clevoninvestors.com, 1 -clevvi.com.au, 1 +clevvi.com.au, 0 clevyr.ai, 1 clevyr.biz, 1 clevyr.careers, 1 @@ -33500,7 +33295,6 @@ cliomi.gov, 1 clip.cafe, 1 clipchamp.com, 1 clipclip.com, 1 -clippings.com, 1 clips.ga, 1 cliqit.com.au, 1 cliquetis.ddns.net, 1 @@ -33616,7 +33410,6 @@ cloudcloudcloud.cloud, 1 cloudcomputingtechnologies.com, 1 cloudcybersecure.com, 1 clouddark.xyz, 1 -clouddatanotes.com, 1 clouddaten.de, 1 clouddesk.co.uk, 1 clouddog.com.br, 1 @@ -33626,7 +33419,6 @@ cloudeezy.com, 1 cloudengage.com, 1 cloudera.com, 1 cloudevolutionforum.com.br, 1 -cloudeways.com, 1 cloudey.net, 1 cloudfast.cf, 1 cloudfilecomputer.ga, 1 @@ -33751,7 +33543,6 @@ clover-sendai.com, 1 cloverleafmoving.com, 1 cloversonoma.com, 1 clovertwo.com, 1 -clovisdigital.com, 1 clovisoncology.com, 1 clovisplumbingservices.com, 1 clovorin.gq, 1 @@ -33844,7 +33635,6 @@ clubgls.com, 1 clubhousetownhomes.com, 0 clubic.com, 1 clubinhodobaby.com.br, 1 -clubinholiterario.com, 1 clubkalinka.tk, 1 clubkuzmich.ru, 1 clublevelsports.com, 1 @@ -33889,6 +33679,7 @@ cluelesscraft.com, 1 cluin.org, 1 cluj.apartments, 1 cluj.help, 1 +clun.top, 1 clush.pw, 1 cluster.biz.tr, 1 cluster446.fr, 1 @@ -34053,7 +33844,6 @@ coachingmillenium.com, 1 coachingsantcugat.cat, 1 coachjehond.nl, 1 coachment.dk, 1 -coachrobcampos.com, 1 coactive.ai, 1 coag.gov.au, 1 coagclinic.com, 1 @@ -34143,7 +33933,6 @@ cocomelody.com, 0 cocomelody.de, 1 cocomelody.jp, 1 coconutguy.gq, 1 -coconutio.com, 1 coconutoil.ml, 1 coconuts-fashion.gr, 1 cocopah.gov, 1 @@ -34283,8 +34072,6 @@ codetheworld.com, 1 codetrack.se, 1 codetricked.com, 1 codetripping.net, 1 -codetwo.de, 1 -codetwo.pl, 1 codeupstudios.com, 1 codeux.com, 1 codeux.info, 1 @@ -34305,7 +34092,6 @@ codific.eu, 1 codifique.tk, 1 codigodelbonusbet365.com, 1 codigoexactodearea.com, 1 -codigogirls.com.br, 1 codigojose.com, 1 codigomusical.tk, 1 codigosddd.com.br, 1 @@ -34319,7 +34105,6 @@ codingale.com, 1 codingame.com, 1 codingame.eu, 1 codingblog.org, 1 -codingforentrepreneurs.com, 1 codingforspeed.com, 1 codingfromhell.net, 1 codinginfinity.me, 1 @@ -34360,7 +34145,6 @@ coffeeciel.com.tr, 1 coffeeholic.tk, 1 coffeehousewriters.com, 1 coffeemoment.nl, 1 -coffeeonlinemagazine.com, 1 coffeeplazahamburg.com, 1 coffeeruta.ru, 1 coffeestain.ltd, 1 @@ -34406,7 +34190,6 @@ cohob.de, 1 coiffbot.fr, 1 coiffeurschnittstelle.ch, 1 coiffure-website.de, 1 -coignieresentransition.fr, 1 coil.gov, 1 coimmvest.com, 1 coin-exchange.cz, 1 @@ -34639,7 +34422,6 @@ collins4mayor.nz, 1 collins4mayor.org, 1 collins4mayor.org.nz, 1 collinsdictionary.com, 1 -collinselectricco.com, 1 collinssquare.com.au, 1 collinssquarecatering.com.au, 1 collinswyatt.com, 1 @@ -34648,7 +34430,6 @@ colloquio.tk, 1 colloquy.mobi, 1 colmena.biz, 1 colo-tech.com, 1 -colocation-rennes.com, 1 colocolochile.tk, 1 coloffmedia.com, 1 cololi.moe, 1 @@ -34722,7 +34503,6 @@ columbiamspd.gov, 1 columbiaproemergencymovers.com, 1 columbiascaffolding.com, 1 columbiathreadneedle.com, 1 -columbiatrauma.org, 1 columbiatwpmi.gov, 1 columbuscoffeefest.com, 1 columbushydroxide.com, 1 @@ -34752,6 +34532,7 @@ comanchenationpolice.gov, 1 comanchetexas.gov, 1 comaporter.com, 1 comarcadelaranda.tk, 1 +comarch.com, 1 comarch.es, 1 comarch.pl, 1 comarch.ru, 1 @@ -34835,7 +34616,7 @@ comfyliving.net, 1 comhack.com, 1 comic-conmuseum.org, 1 comical.ml, 1 -comicbooktreasury.com, 0 +comicbooktreasury.com, 1 comicborgs.com, 1 comiccrusaders.com, 1 comicsans.tk, 0 @@ -34955,7 +34736,6 @@ comoaliviareldolor.de, 1 comocomprarumcarro.tk, 1 comoculosdesol.pt, 1 comodastore.com, 1 -comodigital.info, 1 comodio.com, 0 comodo.nl, 1 comodosslstore.com, 1 @@ -35008,11 +34788,11 @@ compareweddinginsurance.org.uk, 1 comparexcloudcenter.com, 1 comparic.pl, 1 compartirtrenmesaave.com, 1 -compass-security.com, 1 compassbest.com, 1 compassdirectportal.com, 1 compassfinance.com, 1 compassintladv.com, 1 +compassionandchoices.org, 0 compassionate-biology.com, 1 compasslos.com, 1 compassregroup.com, 1 @@ -35082,7 +34862,6 @@ comprando.tk, 1 compraporinternet.online, 1 comprar.club, 1 comprarefiereygana.com, 1 -comprarimpresoras-3d.com, 1 comprarpapelhigienico.online, 1 comprascuba.online, 1 comprauncelular.com, 1 @@ -35125,7 +34904,6 @@ computer-world.pro, 1 computer-worlds.tk, 1 computer4me.tk, 1 computeradvance.tk, 1 -computerandaccessories.com, 1 computerbas.nl, 1 computerbase.de, 1 computerforum.tk, 1 @@ -35250,6 +35028,7 @@ condignum.com, 1 condit.cf, 1 condit.gq, 1 condit.ml, 1 +conditionyellowacademy.com, 1 condizionatore.roma.it, 1 condo.do, 1 condolencemessages.net, 1 @@ -35302,9 +35081,8 @@ conferencemanagerpro.com, 1 conferencemonkey.org, 1 conferenciaepiscopal.es, 1 confettidogs.com, 1 -confiancefoundation.org, 1 +confia.io, 1 confianza.pe, 1 -confidential.network, 1 confidentielsn.com, 1 confidentliving.gq, 1 confidentliving.tk, 1 @@ -35366,7 +35144,6 @@ conkret.co.uk, 1 conkret.eu, 1 conkret.mobi, 1 conmatic.tk, 1 -conn.cx, 1 connect-ed.network, 1 connect-me.com, 1 connect.facebook.net, 1 @@ -35437,7 +35214,6 @@ conque.sk, 1 conquistar30dias.com.br, 1 conrad-kostecki.de, 1 conrad.am, 1 -conradboraboranuiresort.com, 1 conradcartagena.com, 1 conradkostecki.de, 1 conradkroencke.com, 1 @@ -35513,7 +35289,6 @@ constexpr.org, 1 constinit.org, 1 constipationrecords.tk, 1 constitution.website, 0 -constru-vegas.com.mx, 1 construccionesceyve.com, 1 construct.net, 1 constructexpres.ro, 1 @@ -35627,7 +35402,6 @@ contractalerters.ga, 1 contractdigital.co.uk, 0 contractdirectory.gov, 1 contractormountain.com, 1 -contractorscompare.com, 1 contractorswestga.com, 1 contractstore.com, 1 contractwriters.com, 1 @@ -35644,7 +35418,6 @@ contrastsecurity.com, 1 contratderatisation.com, 1 contratti.it, 1 contrebande-metz.fr, 1 -contreraslandscaping.com, 1 contributopia.org, 1 contributor.google.com, 1 contro.cf, 1 @@ -35805,7 +35578,6 @@ cooperativecogohio.gov, 1 coopercity.gov, 1 coopercityfl.gov, 1 coopermais.tk, 1 -cooptravel.co.uk, 1 coor.info, 1 coordonnees-gps.fr, 1 coore.jp, 1 @@ -35855,7 +35627,7 @@ copyright.gov, 1 copyrightclaimsboard.gov, 1 copyrightcoins.com, 1 copyrightcoins.help, 1 -copyrighted.com, 1 +copyrighted.com, 0 copyrighter.tk, 1 copyrightforabout.tk, 1 copyrightservice.co.uk, 1 @@ -36000,7 +35772,6 @@ cornwallct.gov, 1 cornwallda.co.uk, 1 coroas10.tk, 1 coroimagen.tk, 1 -corona-academy.com, 1 corona-data.eu, 1 corona-renderer.cloud, 1 corona-renderer.com, 1 @@ -36008,6 +35779,7 @@ corona-stats.online, 0 coronacheck.nl, 1 coronasafe.network, 1 coronastationphotography.com, 1 +coronatestalmere.nl, 1 coronavaccinatiedatum.nl, 1 coronavirus-19.es, 1 coronavirus-journal.fr, 1 @@ -36034,7 +35806,6 @@ corporateclash.net, 1 corporatecompany.cz, 1 corporatecomputingsolutions.com, 1 corporategift.com, 1 -corporatehelicopters.com, 1 corporatehitech.com.au, 1 corporateinbound.com, 1 corporatevisions.com, 1 @@ -36257,7 +36028,6 @@ couleursorgue.tk, 1 coun.be, 1 counseling4students.com, 1 counselingforstudents.com, 1 -counselingfw.com, 1 counsellingtime.co.uk, 1 counsellingtime.com, 1 counsellink.net, 1 @@ -36310,7 +36080,6 @@ couponcodefind.com, 1 couponcodesme.com, 1 couponfollow.co.uk, 1 couponsale.tk, 1 -couponsavingcodes.com, 1 couponzil.com, 1 cour4g3.me, 1 courage-sachsen.org, 1 @@ -36397,7 +36166,6 @@ covid19resilience.org, 1 covid19responsepod.com, 1 covid19scotland.co.uk, 0 covid19statstracker.com, 1 -covid19tvm.com, 1 covidactnow.org, 1 covidcoldfacts.com, 1 coviddiary.live, 1 @@ -36482,7 +36250,7 @@ cperegistry.org, 1 cpfpa.com, 1 cpfrancophonie.org, 1 cpfs-group.com, 1 -cpfurni.com, 1 +cpfurni.com, 0 cpg.de, 1 cpgiiaragon.es, 1 cphollywoodproduct.ml, 1 @@ -36498,7 +36266,6 @@ cpme-industrial.com, 1 cpost.com.tr, 1 cppaste.org, 1 cppressinc.com, 1 -cpqcol.gov.co, 1 cpro.pt, 1 cprportal.com, 1 cps-sante.ml, 1 @@ -36515,7 +36282,6 @@ cpu.biz.tr, 1 cpu.wiki, 1 cpucheu.com, 1 cpufanshop.ga, 1 -cpvmatch.eu, 1 cpws.gov, 1 cpxz.nl, 1 cpy.pt, 1 @@ -36529,8 +36295,6 @@ cqswxx.com, 1 cqvradio.ddns.net, 0 cr.search.yahoo.com, 0 cr05.fr, 1 -cr1coffee.com, 1 -cr3zyblog.com, 1 cr8haven.com, 1 cr9499.com, 1 cra-bank.com, 1 @@ -36888,7 +36652,6 @@ creepypastas.com, 1 creepystories.tk, 1 creer-mon-business-plan.fr, 1 creer-une-boutique-en-ligne.com, 1 -creermonsite-wp.com, 1 creerunblog.net, 1 cremalleradenuria.tk, 1 crematory.tk, 1 @@ -36931,7 +36694,9 @@ crex24.com, 1 crfcap.org, 0 crgalvin.com, 1 crgm.net, 1 +crh.org, 0 cria.jp, 1 +criadomorro.com.br, 1 criandosites.com.br, 1 crianma.com, 0 criaraposta.com.br, 1 @@ -36959,7 +36724,6 @@ crigler-najjar.fr, 1 criglernajjarday.com, 1 criktrik.com, 1 crimalelov.gq, 1 -crime-task-force.nl, 1 crimeadsers.ga, 1 crimeadsest.ga, 1 crimeainspire.com, 1 @@ -37260,7 +37024,6 @@ crvenikrst.tk, 1 cry-sys.de, 0 cryne.me, 1 cryo-fit.com, 1 -cryo-informatique.com, 1 cryoflesh.com, 1 cryogeni.fr, 1 cryosite.com, 1 @@ -37291,7 +37054,6 @@ crypto-clix.xyz, 1 crypto-gambling.tv, 1 crypto-gaming.tk, 1 crypto-trade.org, 1 -crypto-twist.com, 1 crypto-unveil.com, 1 crypto-wiki.tk, 1 crypto.cat, 1 @@ -37350,7 +37112,6 @@ cryptomkt.com, 1 cryptomonnaies.io, 1 crypton.academy, 1 crypton.help, 1 -crypton.info, 1 crypton.vercel.app, 1 crypton.wiki, 1 crypton.xyz, 1 @@ -37398,7 +37159,6 @@ crys.me, 1 crys.ovh, 1 crys.pw, 1 crys.tv, 1 -crystal-blindsnottingham.co.uk, 1 crystal-media.tk, 1 crystal-zone.com, 1 crystal.com.co, 1 @@ -37414,7 +37174,6 @@ crystalcube.tk, 1 crystaldesign.tk, 1 crystaldown.de, 0 crystalglass.ml, 1 -crystalhealthandbeauty.co.uk, 1 crystallake.tk, 1 crystalprinting.com.au, 1 crystalsdollz.tk, 1 @@ -37652,7 +37411,6 @@ cuartob.tk, 1 cuasotinhyeu.vn, 1 cuatroporcuatro.tk, 1 cuatroymedia.com, 1 -cuban.wiki, 1 cubanas-shoes.com, 1 cubanchino.tk, 1 cubanda.de, 1 @@ -37777,7 +37535,6 @@ culturess.com, 1 culturestraveled.com, 1 culturevision.com, 1 culturism.ml, 1 -culturs.org, 1 cultuur.gent, 1 cultuurinonderwijs.be, 1 cumberlandcoil.gov, 1 @@ -37814,7 +37571,6 @@ cuo.net, 1 cuoc.org.uk, 1 cuongthach.com, 1 cuongthach.net, 1 -cuongtran.xyz, 1 cuoredesigns.tk, 1 cuorineri.tk, 1 cupabonita.com, 1 @@ -37840,8 +37596,6 @@ cuppen.pro, 1 cuppen.support, 1 cuppycakes.fi, 1 cur.by, 1 -curacao-firma.com, 1 -curacao-license.com, 1 curacao.tk, 1 curacaodiveguide.com, 1 curamail.co.uk, 1 @@ -37853,7 +37607,6 @@ curatednow.ca, 1 curationsblog.com, 1 curbsoftware.com, 1 curbza.com, 1 -curcumyna.com.br, 1 cureatr.com, 1 cureine.com, 1 cureyou.com.tw, 1 @@ -37898,7 +37651,6 @@ currentcryptocurrency.news, 1 currentcryptocurrencynews.com, 1 currenthaus.com, 1 currentlystreaming.com, 1 -currentlyusa.com, 1 currentos.foundation, 1 currycountynm.gov, 1 currycountyor.gov, 1 @@ -38194,6 +37946,7 @@ cyberhelden.nl, 1 cyberhipsters.nl, 1 cyberhost.uk, 1 cyberianhusky.com, 0 +cyberintro.fr, 1 cyberislam.tk, 1 cyberium-planet.cf, 1 cyberjake.xyz, 1 @@ -38230,7 +37983,6 @@ cyberpoint.az, 1 cyberpro.club, 1 cyberproducciones.tk, 1 cyberprogramming.tk, 1 -cyberpubonline.com, 1 cyberpuerta.mx, 1 cyberpunk.guru, 1 cyberquest.cf, 1 @@ -38309,7 +38061,6 @@ cyclemasters.com, 1 cycleshop.com.ua, 1 cycleterrace.jp, 1 cycling74.com, 1 -cyclingbiker.com, 1 cyclingmonthlyest.ga, 1 cyclisjumper.gallery, 1 cyclize.cf, 1 @@ -38567,7 +38318,7 @@ dacha-letom.ml, 1 dacha.today, 0 dachb0den.net, 1 dachdecker-ranzenberger.de, 1 -dachdeckerei-hagen.de, 1 +dachdeckerei-hagen.de, 0 dachdeckermeister-egon-weiss.de, 1 dachdeckermeister-moeller.de, 1 dachet.com, 1 @@ -38625,7 +38376,6 @@ dafengche.com, 1 dafengding.com, 1 daffodilusa.org, 1 dafmeyda.com, 1 -dafnik.me, 1 dafong.com, 1 dafont.com, 1 dafricapress.com, 1 @@ -38684,13 +38434,11 @@ dailydealika.com, 1 dailydodge.com, 1 dailydote.com, 1 dailydoze.com, 1 -dailyenergyinsider.com, 1 dailyfish.ru, 1 dailyhealthylife.ml, 1 dailyhealthylife.tk, 1 dailyjigsawpuzzles.net, 1 dailyjoy.com, 1 -dailyknicks.com, 1 dailykos.com, 1 dailykosbeta.com, 1 dailylime.kr, 1 @@ -38729,8 +38477,7 @@ daisyindia.org, 1 daisypeanut.com, 1 daisypeel.com, 1 daisyscars.cf, 1 -daiwa-union.jp, 1 -daiyafoods.com, 1 +daiwa-union.jp, 0 daja.ml, 1 dajaks.tk, 1 dajaskincare.nl, 1 @@ -38819,6 +38566,7 @@ dambo.tk, 1 dame.cf, 1 damedrogy.cz, 1 dameeq.cf, 1 +dameisports.com, 1 dameshoes.it, 1 damgan.com, 1 damgoodmedia.com, 1 @@ -38853,7 +38601,6 @@ damvdolg.gq, 1 dan-bureau.com, 1 dan-informacijske-varnosti.si, 1 dan-maskiner.tk, 1 -dan-news.info, 1 dan-saba.com, 1 dan.me.uk, 1 dan124.com, 1 @@ -38867,7 +38614,6 @@ danalytics.com.pe, 1 danamica.dk, 1 danandkatiegetmarried.com, 1 danandrum.com, 1 -danangcitytours.com, 1 danarozmarin.com, 1 danashamsters.tk, 1 danasweed.com, 1 @@ -38997,7 +38743,6 @@ danielmicay.com, 1 danielmoch.com, 1 danielmorales917.com, 1 danielmorell.com, 1 -danielnaaman.net, 1 danielnaaman.org, 1 danielnet.co, 1 danielparker.com.au, 1 @@ -39114,7 +38859,6 @@ danwelty.net, 1 danwelty.org, 1 danwillenberg.com, 1 danwin1210.de, 1 -danwin1210.me, 1 danwise.online, 1 danwolff.se, 1 danya.ml, 1 @@ -39194,6 +38938,7 @@ dark.fail, 1 darkag.ovh, 1 darkartstudios.tk, 1 darkbin.net, 1 +darkbit.gr, 1 darkboysmedia.com, 1 darkbyte.com, 1 darkcelebration.tk, 1 @@ -39503,6 +39248,7 @@ datenreiter.cf, 1 datenreiter.gq, 1 datenretter.tk, 1 datensalat.info, 1 +datenschutz-consult.de, 1 datenschutz-gruenwald.de, 1 datenschutz-individuell.de, 1 datenschutz-isny.de, 1 @@ -39559,7 +39305,6 @@ datutoday.tk, 1 datutorials.tk, 1 daubecity.de, 1 daubehosting.de, 1 -dauenhauer.de, 1 daughertyplasticsurgery.com, 1 daughtridgeenergy.com, 1 daugoitot.com, 1 @@ -39623,7 +39368,6 @@ davidbrito.tech, 1 davidbrookes.me, 0 davidbyrne.tk, 1 davidcityne.gov, 1 -davidcook.au, 1 davidcraft.de, 1 davidcrousehouse.com, 1 davidczihak.at, 0 @@ -39709,9 +39453,7 @@ daviesscountyin.gov, 1 daviesscountyinsheriff.gov, 1 davimun.org, 1 davinamccall.tk, 1 -davinciwaldorfschool.org, 1 davisboroga.gov, 1 -daviscannabisco.com, 1 daviscountyelectionsutah.gov, 1 daviscountyiowa.gov, 1 davisdieselandautorepair.com, 1 @@ -39845,6 +39587,7 @@ dbhome.org, 1 dbhouse.tk, 1 dbic.ro, 1 dbildungscloud.de, 1 +dbinderbilling.com, 1 dbjc.tk, 1 dbjg.com, 1 dbl-group.com, 1 @@ -39894,7 +39637,6 @@ dcampusbd.com, 1 dcards.in.th, 1 dcareer.tk, 1 dcave.net, 1 -dcboe.org, 1 dcbouncycastles.co.uk, 1 dcc.cat, 1 dcc.moe, 1 @@ -40216,7 +39958,6 @@ decisiontime.online, 0 decisivetactics.com, 1 deciso.eu, 1 decisora.com, 1 -deckersheaven.com, 1 deckerville-mi.gov, 1 deckfix.co.nz, 1 deckshop.pro, 1 @@ -40269,7 +40010,7 @@ decs.es, 1 decstasy.de, 1 decsys.work, 1 decubex.com, 1 -dedal.store, 1 +dedal.store, 0 dedede.ro, 1 dedelta.net, 1 dedeo.tk, 1 @@ -40305,6 +40046,7 @@ deegeeinflatables.co.uk, 1 deejayladen.de, 1 deejayz.tk, 1 deelmee.nl, 1 +deelmijnreis.nl, 1 deelodge.art, 0 deemasfashion.co.uk, 1 deemasfashion.com, 1 @@ -40350,7 +40092,6 @@ deepu-mathew.tk, 1 deepumathew.tk, 1 deepvalley.tech, 1 deepwoodshop.com, 1 -deerfieldapartmentsstl.com, 1 deerfieldknoll.com, 1 deeringnh.gov, 1 deerlycke.tk, 1 @@ -40445,7 +40186,7 @@ degewonegezondemeid.nl, 1 degilde.tk, 1 degirmenkasi.tk, 1 degit.de, 1 -dego.biz.id, 1 +dego.biz.id, 0 degoeiewebsite.cf, 1 degooglisons-internet.com, 1 degooglisons-internet.fr, 1 @@ -40626,7 +40367,6 @@ delphibasics.tk, 1 delphij.net, 1 delphinarabic.tk, 1 delphine.dance, 1 -delpilarrungue.cl, 1 delprete.me, 1 delpuertohealth.gov, 1 delrayengineering.ca, 1 @@ -40641,7 +40381,6 @@ delta-market.ru, 1 delta.ai, 1 delta.ru, 1 delta24.ml, 1 -delta8.one, 1 deltacity.net, 1 deltacomputer.com, 1 deltacomputer.de, 1 @@ -40654,7 +40393,7 @@ deltafm.tk, 1 deltaloja.com.br, 1 deltamusik.tk, 1 deltamvcd.gov, 1 -deltanio.nl, 1 +deltanio.nl, 0 deltaonlineguards.com, 1 deltaphiepsilon.tk, 1 deltaprise-events.de, 1 @@ -40690,7 +40429,7 @@ demandmatrix.com, 1 demannen.tk, 1 demarestnj.gov, 1 demarit.fi, 1 -demascotas.es, 1 +demascotas.es, 0 demedx.at, 1 demenagement-chalon.fr, 1 demenagement-sfd.fr, 1 @@ -40775,7 +40514,6 @@ dena.pro, 1 denabot.pw, 1 denachtegaalferwert.tk, 1 denaehula.com, 1 -denagallery.ir, 1 denali.net, 1 denarium.com, 1 denatured.tk, 1 @@ -40921,7 +40659,6 @@ denver.show, 1 denver.tk, 1 denver7.com, 1 denverautoinsurancecompany.com, 1 -denverchamber.org, 1 denverclassifieds.net, 1 denverescorts.net, 1 denverfootballofficials.com, 1 @@ -40945,7 +40682,6 @@ deooyevaar.fr, 1 deooyevaar.nl, 0 deoremann.com, 1 deoxy.org, 1 -depa.eu, 1 depaco.com, 1 depak.de, 1 depannage-traceur.fr, 1 @@ -40980,18 +40716,18 @@ depelteau.com, 1 dependonplus.com, 1 dependopolis.com, 1 deperewi.gov, 1 -dephoro.com, 1 depicus.com, 1 depijl-mz.nl, 0 depijp.tk, 1 depilazione.roma.it, 1 depilestil.es, 1 -depiratas.com.es, 1 +depiratas.com.es, 0 depistage-bejune.ch, 1 depleteduranium.tk, 1 deplis.fr, 0 deplorablesdaily.com, 1 depokcity.tk, 1 +depolauncher.cf, 1 depone.net, 0 depop.com, 1 deported.ml, 1 @@ -41055,7 +40791,7 @@ derekheld.com, 1 derekkent.com, 1 dereklow.co, 1 derekseaman.com, 1 -derekseaman.studio, 0 +derekseaman.studio, 1 deremeavocats.be, 1 derewonko.com, 1 derf.fr, 1 @@ -41146,11 +40882,9 @@ desertblockmasonry.com, 1 desertbloomplasticsurgery.com, 0 desertbloomskincare.com, 1 desertbluffs.com, 1 -desertfinancial.com, 1 desertfiredesigns.com, 1 desertfury.tk, 1 desertgrove.com, 1 -desertharvest.com, 1 deserti.tk, 1 desertlinealuminium.com, 1 desertlinegroup.com, 1 @@ -41221,6 +40955,7 @@ desinfectantemanos.org, 1 desinfection-gale.fr, 1 desinfectionfrance.com, 1 desingslash.tk, 1 +desinsectisation-punaise-de-lit.com, 1 desinsectisation.paris, 1 desiplex.tk, 1 desire-host.tk, 1 @@ -41274,7 +41009,6 @@ destinattorneyjohngreene.com, 1 destinomistico.com, 1 destinopiriapolis.com, 0 destinotecnologico.ml, 1 -destiny.ws, 1 destinyofthephoenix.me, 0 destinypedia.com, 1 destinytemplates.tk, 1 @@ -41290,7 +41024,6 @@ destroysilence.ml, 1 destruction-frelon-asiatique.com, 1 destructive-revolution.tk, 1 destructoradepapel.com.es, 1 -destruktiveridingkrew.com, 1 destudio.org.ua, 1 destuurmanskolk.nl, 1 destyntek.com, 1 @@ -41302,7 +41035,6 @@ desvan.tk, 1 deswaffelaars.tk, 1 desy.tk, 1 desyatnichenko.ml, 1 -desygner.com, 1 desynced.rocks, 1 det-te.ch, 1 detailedimage.com, 1 @@ -41415,7 +41147,6 @@ devcf.com, 1 devcftc.gov, 1 devchuli.ml, 1 devcourseweb.com, 1 -devcu.com, 1 devdeb.com, 1 devdesco.com, 1 devdiggers.com, 1 @@ -41528,7 +41259,6 @@ devs-from.asia, 1 devs.men, 1 devs4.com, 1 devsectools.com, 1 -devsjournal.com, 1 devskyport.com, 1 devslash.net, 1 devsrvr.ru, 1 @@ -41620,7 +41350,6 @@ dfm.ae, 0 dfmn.berlin, 1 dfmvf.org, 1 dfpblog.com, 1 -dfpg.com, 1 dfranke.com, 1 dfspdfl.gov, 1 dfstoryteller.com, 1 @@ -41642,7 +41371,6 @@ dg-hyp.net, 1 dg-hyp.org, 1 dg-komm.com, 1 dg-pic.tk, 1 -dg-tal.ir, 1 dg1-test.com, 1 dg1.com, 1 dg1.services, 1 @@ -41673,7 +41401,6 @@ dgpro.click, 1 dgr-wpg.de, 1 dgries.de, 1 dgroups.org, 1 -dgroyals.com, 1 dgschell.com, 1 dgt-portal.de, 1 dgtakano.co.jp, 0 @@ -41715,7 +41442,6 @@ dhlcotizadorexpo-qa.azurewebsites.net, 1 dhlinux.org, 1 dhlkh.com, 1 dhlparcel.nl, 1 -dhoffmanmd.com, 1 dhome.at, 1 dhrupad.tk, 1 dhruv.nz, 1 @@ -41795,8 +41521,8 @@ diana-und-aaron.de, 1 dianaconsultancy.com, 1 dianaconta.pt, 1 dianadeluxe.net, 1 -dianadrive.com, 1 -dianafaraj.de, 1 +dianadrive.com, 0 +dianafaraj.de, 0 dianakaarina.tk, 1 diananeves.pt, 0 dianaqueeny.tk, 1 @@ -41888,11 +41614,12 @@ diclofenaconline.gq, 1 diclofenactopical.ga, 1 diclofenactopical.tk, 1 dico-charentais.tk, 1 +dicoado.org, 1 dicoeste.com, 1 dicomed.tk, 1 dicomsoftware.com, 1 diconium.biz, 1 -diconium.com, 1 +diconium.com, 0 diconium.de, 1 diconium.jobs, 1 diconium.org, 1 @@ -41921,7 +41648,6 @@ didelikarpiai.lt, 1 didesalud.com, 1 didi-online.tk, 1 dididiamond.net, 1 -dididiamond.org, 1 didier-equipereussite.com, 1 didierfle-decibel.fr, 1 didierfle-latelier.fr, 1 @@ -42072,7 +41798,6 @@ digiaika.fi, 1 digiarc.net, 1 digibean.com.au, 0 digibild.ch, 1 -digibook.id, 1 digiboxx.com, 1 digibtw.nl, 1 digibull.email, 1 @@ -42181,7 +41906,6 @@ digitalch.ng, 1 digitalchange.coach, 1 digitalchurch.ng, 1 digitalcitizen.life, 1 -digitalcitizen.ro, 1 digitalcoffeepodcast.com, 1 digitalcomponents.de, 1 digitalcompudev.biz, 1 @@ -42269,7 +41993,6 @@ digitalplaygroundnetwork.com, 1 digitalplaymakers.co.uk, 1 digitalpocketpedometer.tk, 1 digitalposition.com, 1 -digitalprimate.my, 1 digitalproduct.ga, 1 digitalproductivity.online, 1 digitalprojects.com.au, 1 @@ -42296,7 +42019,6 @@ digitaltcertifikat.dk, 1 digitaltech.vip, 1 digitaltechupdates.com, 1 digitaltechviews.com, 1 -digitaltransactions.net, 1 digitaltry.tk, 1 digitalupcoming.tk, 1 digitalvag.tk, 1 @@ -42501,7 +42223,7 @@ directcouriers.com.au, 1 directelectricalltd.co.uk, 1 directfinance.cz, 1 directfitnesssolutions.com, 1 -directholidaysme.com, 1 +directholidaysme.com, 0 directholidaysuae.com, 1 directhomeremodelinginc.com, 1 directinspectionskc.com, 1 @@ -42612,7 +42334,6 @@ discdash.ga, 1 discdash.tk, 1 discgolf.com, 1 disch.com.de, 1 -discinsights.com, 1 disciples.io, 1 disciplescloud.com, 1 disciplesmakingdisciples.ca, 1 @@ -42697,10 +42418,8 @@ disenowebseoolmisur.com, 1 disepho.cl, 1 diseworth.uk, 1 disfigured.tk, 1 -disfold.com, 1 disgruntledcode.com, 1 disguise.cf, 1 -dishalawfirm.com, 0 dishcrawl.com, 0 dishonorablespeechinpolitics.com, 1 dishwashermagic.tk, 1 @@ -42914,6 +42633,7 @@ divienna.nl, 1 diviflash.com, 1 divigear.com, 1 divihosting.nl, 1 +divinaoracion.com, 0 divinasaiamodas.com.br, 1 divineangel.tk, 1 divinedecay.tk, 1 @@ -42970,7 +42690,7 @@ diyeventhire.co.nz, 1 diygeek.com, 1 diymediahome.org, 1 diysec.tk, 1 -diysolarforum.com, 1 +diysolarforum.com, 0 diysonline.com, 1 diyzealot.com, 1 dizainkyhni.ml, 1 @@ -43111,8 +42831,6 @@ djnandoalmenara.tk, 1 djnash.tk, 1 djnefret.tk, 1 djnext.tk, 1 -djnr.agency, 1 -djnr.love, 1 djogani.tk, 1 djoiasoficial.com.br, 1 djoos.de, 1 @@ -43122,7 +42840,6 @@ djovanov.tk, 1 djpatrik.tk, 1 djpiere.tk, 1 djpippoalpar.tk, 1 -djprecisionmachine.com, 1 djpromo.tk, 1 djpyerr.tk, 1 djramage.tk, 1 @@ -43238,7 +42955,7 @@ dlld.com, 1 dlld.org, 1 dlld.us, 1 dllsearch.net, 1 -dlmarket.jp, 0 +dlmarket.jp, 1 dlmeto.com, 1 dlmixcloud.com, 1 dlouwrink.nl, 0 @@ -43355,7 +43072,6 @@ dmtcustoms.co.za, 1 dmu.ac.ae, 1 dmvhomesgroup.com, 1 dmvivienda.pe, 1 -dmvjacks.com, 1 dmwall.cn, 1 dmwaste.com, 0 dmwclan.tk, 1 @@ -43550,7 +43266,7 @@ docplexus.com, 1 docpost.ml, 1 docs-kelis.fr, 1 docs.google.com, 1 -docs.moe, 1 +docs.moe, 0 docs.python.org, 1 docs.tw, 1 docsend.com, 1 @@ -43725,7 +43441,6 @@ dogtrack.tk, 1 dogtrainingnaples.com, 1 dogualp.com, 1 dogvolution.com, 1 -dogwithblog.in, 1 dogwoodceramics.com, 1 dogworld.com.br, 1 doh.pub, 1 @@ -43859,6 +43574,7 @@ domainexpress.de, 0 domainforfree.gq, 1 domainhostingcompany.tk, 1 domainics.ml, 1 +domainify.ca, 1 domainlions.com, 1 domainmonitor.net, 1 domainoo.com, 0 @@ -43866,6 +43582,7 @@ domainoo.fr, 1 domainops.gov, 1 domainproactive.com, 1 domainregistry.ie, 1 +domainresidential.com.au, 1 domains-hoarden-ist-ein-ernstes-problem-suchen-sie-sich-hilfe.jetzt, 1 domains.google.com, 1 domains.lt, 1 @@ -44013,7 +43730,6 @@ donalblaney.cf, 1 donalblaney.ga, 1 donalblaney.gq, 1 donaldduck.nl, 1 -donaldm.co.uk, 1 donaldtrump.ga, 1 donaldwarner.com, 1 donamflor.com, 1 @@ -44195,18 +43911,16 @@ dorisdeluxe.com, 1 dorizonline.tk, 1 dorkface.tk, 1 dorksideoftheforce.com, 1 -dorly.blog, 1 dormi.hu, 1 dormilaine.fr, 1 dorminyeremenyjatek.hu, 1 -dormirmucho.com, 1 +dormirmucho.com, 0 dormitengernyikaland.hu, 1 dormiu.com, 1 dormiu.com.br, 1 dormkitty.com, 1 dorogaminina.tk, 1 dorpshuis-dwarsgracht.nl, 1 -dorpshuiskesteren.nl, 0 dorpsoverlegboskoop.nl, 1 dorpsparade.tk, 1 dorquelle.com, 1 @@ -44279,7 +43993,6 @@ dotcomdesigns.biz, 1 dotcomtest02-single.azurewebsites.net, 1 dotconnor.com, 0 dotfile.tk, 1 -dotflo.io, 1 dotgov.gov, 1 dothaneagle.com, 1 dotheevolution.tk, 1 @@ -44301,7 +44014,7 @@ dotlight.ga, 1 dotlimino.tk, 1 dotneko.net, 1 dotnetdocs.ir, 1 -dotnetfoundation.org, 1 +dotnetfoundation.org, 0 dotnetsandbox.ca, 1 dotnext.co.za, 1 dotovh.ovh, 1 @@ -44437,6 +44150,7 @@ downrightcute.com, 1 downset.tk, 1 downthebayoucharters.com, 1 downtoagony.tk, 1 +downtoearthjewelry.com, 1 downtownafrica.com, 1 downtownboise.org, 1 downtowncharm.is, 1 @@ -44526,6 +44240,7 @@ dpucarriersma.gov, 1 dpwsweeps.co.uk, 1 dqempresas.es, 1 dqfilesonline.com, 1 +dr-aldebert-orthopaedie.com, 1 dr-amar.tk, 1 dr-beyer.de, 1 dr-dedet.com, 1 @@ -44596,6 +44311,7 @@ dragonballzstore.com, 1 dragonbike.by, 1 dragonboatfestival.tk, 1 dragonbox.de, 1 +dragoncave.me, 1 dragoncityhack.tips, 1 dragonclean.gr, 1 dragonclicker.ml, 1 @@ -44735,7 +44451,6 @@ dreadfulsanity.com, 1 dreadlocks.tk, 1 dreadlord.tk, 1 dreadnews.ga, 1 -dreads-expert.com, 1 dream-design.tk, 1 dream-domain.tk, 1 dream-factory.tk, 1 @@ -44750,7 +44465,6 @@ dreamcast-world.tk, 1 dreamcatchers-events.com, 1 dreamcrack.tk, 1 dreamcraft.su, 1 -dreamdestine.com, 1 dreamdivers.com, 1 dreamelegant.ml, 1 dreamersgiftshopec.com, 1 @@ -44889,7 +44603,6 @@ drighes.com, 1 drikaartesanato.com, 1 drikuansvarligt.dk, 1 drill.st, 1 -drillbaz.ir, 1 drillcalendar.ga, 1 drillingsupply.info, 1 drillingsupplystore.com, 1 @@ -45001,7 +44714,6 @@ drk-blutspende.de, 1 drkai.com.tw, 1 drkashany.ir, 1 drkazim.com, 1 -drkbri.ru, 1 drkhsh.at, 1 drksachsen.de, 1 drleoplasticsurgery.com, 1 @@ -45073,6 +44785,7 @@ dropchat.cf, 1 dropchat.ga, 1 dropchat.ml, 1 dropcop.com, 1 +dropden.com, 1 droperplus.com, 1 dropeverythingrecords.com, 1 droply.host, 1 @@ -45168,7 +44881,6 @@ drunkcalc.com, 1 drunkendropkes.tk, 1 drupal.org, 1 drupalfr.be, 1 -drupalspb.org, 0 drusantia.net, 1 drusillas.co.uk, 1 druwe.net, 1 @@ -45188,6 +44900,7 @@ dryashplasticsurgery.com, 1 dryasinakgul.com, 1 drybjed.net, 1 drybms.org, 1 +drybysuperior.com, 1 drycreekphoto.com, 1 drydensfairfax.com, 1 dryerrepairaustin.com, 1 @@ -45205,7 +44918,6 @@ drywallresponse.gov, 1 dryzgov.tk, 1 drzhnn.com, 1 drziyayavuz.com, 1 -ds-market.it, 1 ds-networks.at, 1 ds-networks.eu, 1 ds-srv.net, 1 @@ -45237,7 +44949,6 @@ dsds-ltd.com, 0 dse-assessments.co.uk, 0 dse.com.bd, 1 dsebastien.net, 1 -dsebd.org, 1 dsecure.me, 1 dseg.org, 1 dsektionen.se, 0 @@ -45246,7 +44957,6 @@ dsfzsq.com, 1 dsg.ac.cn, 1 dsg.gd.cn, 1 dsg.lol, 1 -dsgholsters.com, 1 dsgnet.hu, 1 dsgnwrld.com, 1 dsgv.de, 1 @@ -45259,7 +44969,6 @@ dsic.vn, 1 dsimonitor.online, 1 dsiteam.in, 1 dsjbvba.be, 1 -dskbank.bg, 1 dskrecords.tk, 1 dslz.tk, 1 dsm5.com, 1 @@ -45407,7 +45116,6 @@ ducius.net, 1 duckbase.com, 1 duckblade.com, 1 duckcorp.org, 1 -duckduck.horse, 1 duckduckstart.com, 1 duckeight.win, 1 duckerings.com, 1 @@ -45495,6 +45203,7 @@ dukhanstore.com, 1 dukin.tk, 1 dukun.de, 1 dulanic.com, 1 +dulce-reverie.ro, 1 dulcehome.ch, 1 dulceysalado.tk, 1 dulcinea.eu.org, 1 @@ -45558,13 +45267,13 @@ dungeonline.com, 1 dunia-news.tk, 1 dunkelmann.eu, 1 dunkerhosting.nl, 1 -dunkingwithwolves.com, 1 dunkirkin.gov, 1 dunklau.fr, 1 dunkle-seite.org, 1 dunlaptn.gov, 1 dunmanelectric.com, 1 dunmanpoolandspa.com, 1 +dunneworthy.com, 1 dunningtonaudio.co.uk, 1 dunyahalleri.com, 1 duo-tauceti.com, 1 @@ -45830,7 +45539,6 @@ dymdajce.ovh, 1 dyme.com, 1 dymension-uat.co.uk, 1 dymension.co.uk, 1 -dymersion.com, 1 dymfbbs.com, 1 dymmo.tk, 1 dymmovie.com, 1 @@ -45856,6 +45564,7 @@ dynamicathletes.ga, 1 dynamicbusinessconsultants.ga, 1 dynamicdesignuk.com, 1 dynamicdiesupply.com, 1 +dynamicenergy.co, 1 dynamicentertainmentdjs.com, 1 dynamicini.org, 1 dynamiclogodesigns.com, 1 @@ -45887,7 +45596,6 @@ dynet.ru, 1 dynn.be, 0 dynorphin.com, 1 dynorphins.com, 1 -dynotraining.com, 1 dynsoundmax.tk, 1 dynts.pro, 1 dynx.pl, 1 @@ -45945,7 +45653,7 @@ dzus.tk, 1 dzworld.com, 1 dzyabchenko.com, 0 dzyszla.pl, 1 -e-account.by, 0 +e-account.by, 1 e-alink.com, 1 e-andorra.eu, 1 e-antikvar.tk, 1 @@ -46075,7 +45783,6 @@ e-servicerms.com, 1 e-shobai.com, 1 e-shonai.com, 1 e-sisyu.com, 0 -e-skalniak.pl, 1 e-sklep.biz, 1 e-slots.tk, 1 e-smile.tk, 1 @@ -46170,231 +45877,10 @@ ea2drocks.com, 1 eaa-online.org, 1 eaanderson.com, 1 eac.gov, 1 -eac010.com, 1 -eac020.com, 1 -eac021.com, 1 -eac022.com, 1 -eac023.com, 1 -eac024.com, 1 -eac025.com, 1 -eac027.com, 1 -eac028.com, 1 -eac029.com, 1 -eac0310.com, 1 -eac0311.com, 1 -eac0312.com, 1 -eac0313.com, 1 -eac0314.com, 1 -eac0315.com, 1 -eac0316.com, 1 -eac0317.com, 1 -eac0318.com, 1 -eac0319.com, 1 -eac0335.com, 1 -eac0350.com, 1 -eac0351.com, 1 -eac0352.com, 1 -eac0353.com, 1 -eac0354.com, 1 -eac0355.com, 1 -eac0356.com, 1 -eac0357.com, 1 -eac0358.com, 1 -eac0359.com, 1 -eac0370.com, 1 -eac0371.com, 1 -eac0372.com, 1 -eac0373.com, 1 -eac0374.com, 1 -eac0375.com, 1 -eac0376.com, 1 -eac0377.com, 1 -eac0378.com, 1 -eac0379.com, 1 -eac0391.com, 1 -eac0392.com, 1 -eac0393.com, 1 -eac0394.com, 1 -eac0395.com, 1 -eac0396.com, 1 -eac0398.com, 1 -eac0410.com, 1 -eac0411.com, 1 -eac0412.com, 1 -eac0413.com, 1 -eac0414.com, 1 -eac0415.com, 1 -eac0416.com, 1 -eac0417.com, 1 -eac0418.com, 1 -eac0419.com, 1 -eac0421.com, 1 -eac0427.com, 1 -eac0429.com, 1 -eac0431.com, 1 -eac0432.com, 1 -eac0433.com, 1 -eac0434.com, 1 -eac0435.com, 1 -eac0436.com, 1 -eac0437.com, 1 -eac0438.com, 1 -eac0439.com, 1 -eac0440.com, 1 -eac0450.com, 1 -eac0451.com, 1 -eac0452.com, 1 -eac0453.com, 1 -eac0454.com, 1 -eac0455.com, 1 -eac0456.com, 1 -eac0457.com, 1 -eac0458.com, 1 -eac0459.com, 1 -eac0470.com, 1 -eac0471.com, 1 -eac0472.com, 1 -eac0473.com, 1 -eac0474.com, 1 -eac0475.com, 1 -eac0476.com, 1 -eac0477.com, 1 -eac0478.com, 1 -eac0479.com, 1 -eac0482.com, 1 -eac0483.com, 1 -eac0510.com, 1 -eac0511.com, 1 -eac0512.com, 1 -eac0513.com, 1 -eac0514.com, 1 -eac0515.com, 1 -eac0516.com, 1 eac0517.com, 1 -eac0518.com, 1 -eac0519.com, 1 -eac0523.com, 1 -eac0530.com, 1 -eac0531.com, 1 -eac0532.com, 1 -eac0533.com, 1 -eac0534.com, 1 -eac0535.com, 1 -eac0536.com, 1 -eac0537.com, 1 -eac0538.com, 1 -eac0539.com, 1 -eac0550.com, 1 -eac0551.com, 1 -eac0552.com, 1 -eac0553.com, 1 -eac0554.com, 1 -eac0555.com, 1 -eac0556.com, 1 -eac0557.com, 1 -eac0558.com, 1 -eac0559.com, 1 -eac0561.com, 1 -eac0562.com, 1 -eac0563.com, 1 -eac0564.com, 1 -eac0565.com, 1 -eac0566.com, 1 -eac0570.com, 1 -eac0571.com, 1 -eac0572.com, 1 -eac0573.com, 1 -eac0574.com, 1 -eac0575.com, 1 -eac0576.com, 1 -eac0577.com, 1 -eac0578.com, 1 -eac0579.com, 1 -eac0580.com, 1 -eac0591.com, 1 -eac0592.com, 1 -eac0593.com, 1 -eac0594.com, 1 -eac0595.com, 1 -eac0596.com, 1 -eac0597.com, 1 -eac0598.com, 1 -eac0599.com, 1 -eac0660.com, 1 -eac0661.com, 1 -eac0662.com, 1 -eac0663.com, 1 -eac0691.com, 1 -eac0692.com, 1 -eac0701.com, 1 -eac0710.com, 1 -eac0711.com, 1 -eac0712.com, 1 -eac0713.com, 1 -eac0714.com, 1 -eac0715.com, 1 -eac0716.com, 1 -eac0717.com, 1 -eac0718.com, 1 -eac0719.com, 1 -eac0722.com, 1 -eac0724.com, 1 -eac0728.com, 1 -eac0730.com, 1 -eac0731.com, 1 -eac0732.com, 1 -eac0733.com, 1 -eac0734.com, 1 -eac0735.com, 1 -eac0736.com, 1 -eac0737.com, 1 -eac0738.com, 1 -eac0739.com, 1 -eac0743.com, 1 -eac0744.com, 1 -eac0745.com, 1 -eac0746.com, 1 -eac0751.com, 1 -eac0752.com, 1 -eac0753.com, 1 -eac0754.com, 1 -eac0755.com, 1 -eac0756.com, 1 -eac0757.com, 1 -eac0758.com, 1 -eac0759.com, 1 -eac0760.com, 1 -eac0762.com, 1 -eac0763.com, 1 -eac0765.com, 1 -eac0766.com, 1 -eac0768.com, 1 -eac0769.com, 1 -eac0770.com, 1 -eac0771.com, 1 -eac0772.com, 1 -eac0773.com, 1 -eac0774.com, 1 -eac0775.com, 1 -eac0776.com, 1 -eac0777.com, 1 -eac0778.com, 1 -eac0779.com, 1 -eac0790.com, 1 -eac0791.com, 1 -eac0792.com, 1 -eac0793.com, 1 -eac0794.com, 1 -eac0795.com, 1 -eac0796.com, 1 -eac0797.com, 1 -eac0798.com, 1 -eac0799.com, 1 eac0810.com, 1 -eac0811.com, 1 eac0812.com, 1 eac0813.com, 1 -eac0814.com, 1 eac0816.com, 1 eac0817.com, 1 eac0818.com, 1 @@ -46442,35 +45928,7 @@ eac0898.com, 1 eac0899.com, 1 eac0910.com, 1 eac0911.com, 1 -eac0912.com, 1 -eac0913.com, 1 -eac0914.com, 1 -eac0915.com, 1 -eac0916.com, 1 -eac0917.com, 1 -eac0930.com, 1 -eac0931.com, 1 -eac0932.com, 1 -eac0933.com, 1 -eac0934.com, 1 -eac0935.com, 1 -eac0936.com, 1 -eac0937.com, 1 -eac0938.com, 1 -eac0941.com, 1 -eac0943.com, 1 -eac0951.com, 1 eac0952.com, 1 -eac0953.com, 1 -eac0954.com, 1 -eac0971.com, 1 -eac0972.com, 1 -eac0973.com, 1 -eac0974.com, 1 -eac0975.com, 1 -eac0976.com, 1 -eac0977.com, 1 -eac0991.com, 1 eac222.com, 1 eac333.com, 1 eac444.com, 1 @@ -46484,6 +45942,7 @@ eagenda.com.br, 1 eagle-yard.de, 1 eaglecounty.gov, 1 eaglecountyco.gov, 1 +eaglecrest.us, 1 eaglecustomapparel.com, 1 eaglefireid.gov, 1 eaglegrove.gov, 1 @@ -46491,6 +45950,7 @@ eaglehaslended.com, 1 eaglelakefl.gov, 1 eagleled.us, 1 eaglemessaging.com, 1 +eaglemtn.com, 0 eaglenation.net, 1 eaglenusa.my.id, 1 eagleofpa.com, 1 @@ -46603,6 +46063,7 @@ easthamptonctha.gov, 1 easthaven-ct.gov, 1 eastheaven.ml, 1 eastlandcountytexas.gov, 1 +eastleigh.online, 1 eastlothianbouncycastles.co.uk, 1 eastmaintech.com, 1 eastman.com, 1 @@ -46799,7 +46260,6 @@ ebcired-nsn.gov, 1 ebdaa-business.com, 1 eben18.net, 1 ebenda.org, 1 -ebenezersbarnandgrill.com, 1 ebenisterie-de-villenouvelle.fr, 1 ebenvloedaanleggen.nl, 1 eberharter-steine.at, 1 @@ -46917,7 +46377,6 @@ ecgclic.fr, 1 echarity.ae, 1 echbay.com, 1 echi.pw, 1 -echidna-rocktools.eu, 1 echidna-usa.com, 1 echidna.com.au, 1 echidnalock.com.au, 1 @@ -46951,7 +46410,6 @@ echoteam.ml, 1 echotone.tk, 1 echovintage.com.br, 1 echowave.io, 1 -echoworld.ch, 0 echt.ga, 1 echtcache.ga, 1 echtebbq.nl, 1 @@ -46975,7 +46433,6 @@ eckstein.tech, 1 eclectic-al.gov, 1 eclecticbeaver.com, 1 eclectiv.com, 1 -eclinic.vet, 1 eclipse-cross.info, 1 eclipse4academia-startups.com, 1 eclipseforum.tk, 1 @@ -47014,7 +46471,6 @@ ecoeat.ru, 1 ecoefficience.com, 1 ecoelectricsandiego.com, 1 ecoeuropa.cf, 1 -ecofac-bs.com, 1 ecofinancing.com, 1 ecofoolad.com, 1 ecoformeurope.com, 1 @@ -47058,7 +46514,6 @@ ecometalsrl.com, 1 ecomgigs.com, 1 ecomia.dk, 1 ecommerce-bikinsistem.tk, 1 -ecommerce-optimizer.com, 1 ecommercedb.com, 1 ecommercenews.asia, 1 ecommercenews.co.nz, 1 @@ -47135,7 +46590,6 @@ ecowoman-turkey.tk, 1 ecowoman-ukraine.tk, 1 ecozip.it, 1 ecozona.tk, 1 -ecpannualmeeting.com, 1 ecpc.org, 1 ecpic.gov, 1 ecpl.ru, 1 @@ -47144,6 +46598,7 @@ ecrandouble.ch, 0 ecredits-dev-app-backoffice01.azurewebsites.net, 1 ecredits-dev-app-partner01.azurewebsites.net, 1 ecrehabandwellness.com, 1 +ecrehou.com, 1 ecrequipamientos.com, 1 ecriminalrecords.com, 1 ecrownoffire.com, 1 @@ -47332,7 +46787,7 @@ edmondok.gov, 1 edmundcelis.com, 1 edmundy.tk, 1 edmwaves.org, 1 -ednarstore.com, 0 +ednarstore.com, 1 edocperso.fr, 1 edocr.com, 1 edok.com.br, 1 @@ -47545,7 +47000,6 @@ eekelen.net, 1 eelabs.eu, 1 eelcapone.nl, 1 eellak.gr, 1 -eelsaspets.com, 1 eelsden.net, 1 eelzak.nl, 1 eemcevn.com, 1 @@ -47615,7 +47069,7 @@ effex.ru, 1 effexorgeneric.ml, 1 effiasoft.com, 0 effic.es, 1 -efficientip.com, 1 +efficientip.com, 0 efficientsolutions.tk, 1 effigos.com, 1 effigos.de, 1 @@ -47983,7 +47437,6 @@ ekogroszekpieklo.pl, 1 ekokpandm.tk, 1 ekol-2001.tk, 1 ekol.com, 1 -ekole.shop, 1 ekologie.tk, 1 ekologija.tk, 1 ekonbenefits.com, 1 @@ -48039,9 +47492,10 @@ elainerock.com, 1 elakiri.cf, 1 elalmibar.com, 1 elana.lt, 1 +elandador.com.mx, 1 elanterna.ro, 1 elanusparts.com, 1 -elanza.nl, 1 +elanza.nl, 0 elaon.de, 0 elar.tk, 1 elarcoreu.com, 0 @@ -48069,7 +47523,6 @@ elbiahosting.sk, 1 elbir.tk, 1 elbitsystems.com, 1 elblogdezoe.es, 1 -elbohlyart.com, 1 elbrus360.ru, 1 elbrutoconeloso.tk, 1 elburnfire.gov, 1 @@ -48210,7 +47663,7 @@ electricwestlakevillage.com, 1 electricwokstore.com, 1 electriczone.tk, 1 electrobraid.com, 1 -electrocity.ie, 1 +electrocity.ie, 0 electrocomplect.com.ua, 1 electrodomesticos.tk, 1 electrodomesticosmiro.com, 1 @@ -48447,7 +47900,6 @@ elgin.tk, 1 elgintexas.gov, 1 elgoog.im, 1 elgraffo.tk, 1 -elgranodete.com, 1 elgrecohotel.gr, 1 elguillatun.cl, 1 elgustdecreixer.cat, 1 @@ -48508,7 +47960,7 @@ eliomotors.com, 1 eliotchs.org, 1 eliott.cc, 1 eliottlavier.com, 1 -elisa.ee, 0 +elisa.ee, 1 elisabeth-kostecki.de, 1 elisabeth-raendel.de, 1 elisabeth-strunz.de, 1 @@ -48722,7 +48174,6 @@ elradix.eu, 1 elranchofeliz.org, 1 elrealsw.com, 1 elrebollar.tk, 1 -elrefugiodelpirata.com, 1 elrenook.gov, 1 elreportero.tk, 1 elreserva.com, 1 @@ -48733,7 +48184,6 @@ elron.ee, 0 elrubio.tk, 1 elsadonaire.tk, 1 elsas.tk, 1 -elsassdestination.fr, 1 elsbouslanostraaficio.tk, 1 elsector7.tk, 1 elsemanariodesalamanca.tk, 1 @@ -48741,7 +48191,6 @@ elsenzhafen.de, 1 elsg.co.uk, 1 elshop1eu.com, 1 elshou.com, 1 -elskling.no, 1 elstravato.com, 1 elsuccionador.com, 1 elsvanderlugt.nl, 1 @@ -48765,7 +48214,6 @@ eltonpastilha.me, 1 eltormo.tk, 1 eltoroweakly.com, 1 eltransportquevolem.org, 1 -eltrompomedia.com, 1 eltron.com.ua, 1 eltuito.tk, 1 eluancm.net, 1 @@ -48788,7 +48236,6 @@ elvisvrconnect.co.uk, 1 elvonet.hr, 1 elvorti.bg, 1 elvorti.com, 1 -elvtr.com, 1 elwave.org, 1 elweronete.tk, 1 elwix.com, 1 @@ -48860,10 +48307,8 @@ emaygroup.co, 1 emazrin.tk, 1 emazzanti.net, 1 embarcados.com.br, 1 -embarkboathire.com.au, 1 embassycargo.eu, 1 embawood.az, 1 -embebelo.com, 1 embedded.com, 1 embelgium.org, 1 embelize.com, 1 @@ -48928,7 +48373,7 @@ emeraldshield.com, 1 emeres.tk, 1 emergency-broadcast-system.tk, 1 emergency-federal-register.gov, 1 -emergencyhvacservices.com, 1 +emergencycommand.us, 1 emergencymanagementedu.org, 1 emergencyportal.tk, 1 emergenzaduepuntozero.it, 1 @@ -48941,6 +48386,7 @@ emersya.com, 1 emex.ro, 1 emffren.com.tr, 1 emfwk.com, 1 +emgadvisors.com, 1 emi.im, 1 emielraaijmakers.nl, 1 emigrantes.tk, 1 @@ -48990,7 +48436,6 @@ eminafans.tk, 1 emindweb.com, 1 eminem.kim, 1 eminencepools.com, 1 -emirabiz.com, 0 emirates247.com, 1 emiratesairline.co.uk, 1 emirefek.net, 1 @@ -49004,7 +48449,6 @@ emivauthey.com, 0 emkan-furniture.com, 1 emkanrecords.com, 0 emkode.pl, 1 -emkrivoy.com, 1 emla.info, 1 emlcloud.com, 1 emls.fr, 1 @@ -49040,7 +48484,6 @@ emmynet.de, 1 emo-poris.com, 1 emo.ie, 1 emocionado.com, 1 -emocionestlp.com, 1 emocionypensamiento.com, 1 emocje.com, 1 emoforum.tk, 1 @@ -49065,7 +48508,6 @@ emotionsanonymous.org, 1 emotionsgroup.kz, 1 emotive.productions, 1 emoxie.com, 0 -empadaoportugal.com.br, 1 empathogen.com, 1 empathogens.com, 1 empathy.ca, 1 @@ -49327,7 +48769,6 @@ endspamwith.us, 1 enduranceseries.ca, 1 enduroxtrem.tk, 1 endustriyelfirinlar.com, 1 -endustriyelmutfak.com, 1 endviolence.gc.ca, 1 enecivilela.com, 1 enefit.com, 1 @@ -49452,6 +48893,7 @@ engageapp.net, 1 engagelogic.com, 1 engagewarnerrobinsga.gov, 1 engagewell.com, 1 +engagingmuscles.com, 1 engagio.com, 1 engalego.tk, 1 enganchesevilla.es, 1 @@ -49513,7 +48955,6 @@ englishcompany-mobile.jp, 1 englishcompany.jp, 1 englishdirectory.de, 1 englishfamilyzone.tk, 1 -englishforums.com, 1 englishll.com, 1 englishlol.com, 1 englishouse.tk, 1 @@ -49549,7 +48990,6 @@ enigmatry-website-test.azurewebsites.net, 1 enigmatry.com, 1 enigmavault.io, 1 enip2.ru, 1 -enisys.co.jp, 1 enitso.de, 1 enity.tk, 1 eniwa-eye.com, 1 @@ -49584,7 +49024,6 @@ enlightio.com, 1 enlightsec.se, 1 enlnf.link, 1 enloestatebank.com, 1 -enlr.ru, 1 enlyft.com, 0 enmieux.be, 1 enmowe.co.ke, 1 @@ -49592,7 +49031,6 @@ enmowe.tech, 1 ennd.com, 1 enno.mom, 0 ennori.jp, 1 -ennova.com, 1 enoahinc.com, 1 enodais.gr, 1 enoenergy.com, 1 @@ -49620,7 +49058,6 @@ enquos.com, 1 enrack.tk, 1 enrega.com, 1 enrich.email, 1 -enrich.org, 1 enrichdata.ai, 1 enriched.news, 1 enrique-monroy.tk, 1 @@ -49825,7 +49262,7 @@ eooe.me, 1 eoonglobalresources.jp, 1 eopac.net, 1 eoperth.com.au, 1 -eos-croatia.com, 1 +eos-croatia.com, 0 eos-utvalget.no, 0 eosagonline.ru, 1 eoscryptocurrency.com, 1 @@ -49903,7 +49340,6 @@ epidauros.be, 1 epieos.com, 1 epigrafes-led-farmakeia.gr, 1 epikchat.com, 1 -epilino.jp, 1 epilis.gr, 1 epinesdeparadis.com, 1 epiphaniusmacar.com, 1 @@ -50012,7 +49448,6 @@ equinetherapy.ca, 1 equinox.io, 1 equinoxe.de, 1 equip.cz, 1 -equipamentosparapostos.com.br, 1 equipandoloja.net.br, 1 equipedefrance.tv, 0 equipedefrente.tk, 1 @@ -50072,7 +49507,6 @@ erdethamburgeronsdag.no, 1 ereader.uno, 1 erebuildings.com, 1 erechimimoveis.com.br, 1 -erectarack.com.au, 1 erectiepillenwinkel.nl, 1 erector.cf, 1 erector.tk, 1 @@ -50096,7 +49530,7 @@ ergonomic-products.com, 1 ergoseo.com, 1 ergotopia.de, 1 ergovita.com.br, 1 -erhvervsposten.dk, 0 +erhvervsposten.dk, 1 erhydro.com, 1 eric-huber.de, 1 eric-kolelas.tk, 1 @@ -50258,7 +49692,6 @@ erste-hilfe-sbh.de, 1 erste.guru, 1 erstehilfeprodukte.at, 1 ert.ovh, 1 -ertebatatjelve.ir, 1 ertel.xyz, 0 erthisa.tk, 1 ertvag.no, 1 @@ -50320,7 +49753,6 @@ esatn.gov, 1 esautotech.com.au, 1 esb1314.net, 1 esb1668.com, 1 -esb1688.info, 1 esb16888.com, 1 esb369.com, 0 esb518.com, 1 @@ -50338,7 +49770,6 @@ esb999.us, 1 esba11.cc, 1 esba11.com, 1 esba11.in, 1 -esba11.net, 1 esball.in, 0 esball.online, 1 esball888.net, 1 @@ -50347,6 +49778,7 @@ esburgos.info, 1 esc-romania.tk, 1 esc-turkey.tk, 1 esc18.net, 1 +esc3.net, 1 esc9.net, 1 escae.ml, 1 escael.org, 1 @@ -50409,6 +49841,7 @@ escrocratie.tk, 1 escrowalliance.com, 1 escspain.tk, 1 escuelabiblica.com, 1 +escuelacaninalatejera.es, 1 escueladego.tk, 1 escueladelsabor.com, 1 escueladeministerioytecnologia.com, 1 @@ -50562,7 +49995,6 @@ espressonews.gr, 1 espressoservicesplus.com.au, 1 esprihealth.com, 1 espriler.com, 1 -espritgames.ru, 1 espub.org, 1 esq, 1 esquelario.tk, 1 @@ -50620,7 +50052,6 @@ essentta.com, 1 essenttamarketplace-essenttamarketplaceqa.azurewebsites.net, 1 esseriumani.com, 1 essex.cc, 1 -essexcosmeticdentists.co.uk, 0 essexcountyvermont.gov, 1 essexelectricaltraining.co.uk, 1 essexgardenstudios.co.uk, 1 @@ -50664,7 +50095,6 @@ estebanborges.com, 1 estebanoria.net, 1 estedafah.com, 1 esteladigital.com, 1 -estelarix.com, 1 estellaequipment.com, 1 estenio.com.mx, 1 esteniomexico.com, 1 @@ -50945,7 +50375,6 @@ eucollegetours.com, 1 eucustody.com, 1 eucybernet.eu, 0 eudiakok.hu, 1 -eudireto.com, 1 eudore.org, 1 euexia.fr, 1 eufair.com, 1 @@ -50998,7 +50427,6 @@ euphoriaonline.tk, 1 eupm.org, 1 euporos.ch, 0 euprapeace.org, 1 -eupropertysolutions.com, 1 eurasierwelpen.tk, 1 eurazeo.com, 1 eurban.life, 1 @@ -51083,6 +50511,7 @@ europarts-sd.com, 1 europastudien-chemnitz.de, 1 europastudien.de, 1 europatour2005.tk, 1 +europatrans.com.tr, 1 europavilion.com, 1 european-accreditation.org, 1 european-agency.org, 1 @@ -51109,7 +50538,6 @@ europetravelservice.co.uk, 1 europop.com, 1 europrise.ie, 0 europrojekti.com, 0 -eurorecambios24.com, 1 euroregister.com, 1 euroroad17.dk, 1 euroscot.de, 1 @@ -51220,7 +50648,6 @@ evasovova.cz, 1 evatantricmassagelondon.uk, 1 evavolfova.cz, 1 evbox.com, 1 -evcarbontracker.com, 1 evdenevenakliyatankara.name.tr, 1 evdenevenakliyatistanbul.gen.tr, 1 evdeneyapilir.com, 1 @@ -51311,7 +50738,6 @@ everberg.tk, 1 evercheck.com, 1 everdivemarine.com, 1 everestbankltd.com, 1 -everesthealthgroup.com, 1 everettduiattorneys.com, 1 everettsautorepair.com, 0 everfine.com.tw, 1 @@ -51388,7 +50814,6 @@ everything-as-code.com, 1 everything-everywhere.com, 1 everything-mdaemon.com, 1 everythingaccess.com, 1 -everythingbarca.com, 1 everythingcovid-19.com, 1 everythingfree.tk, 1 everythinginoneblog.gq, 1 @@ -51406,6 +50831,7 @@ evga.com, 1 evhoeft.com, 1 eviction.cf, 1 evidecor.com.br, 1 +evidencebased.net, 1 evidenceusa.com.br, 1 evidenciamidiasdigitais.com.br, 1 evidencija.ba, 1 @@ -51426,7 +50852,6 @@ evilsay.com, 0 evilscience.tk, 1 evilsite.cf, 1 eviltricks.tk, 1 -eviltwins.studio, 1 evilways.tk, 1 evin.ml, 1 evin.tk, 1 @@ -51437,13 +50862,11 @@ evisos.com, 1 evisos.com.ar, 1 evisos.com.mx, 1 evisos.es, 1 -evitacion.com, 1 eviz.co, 1 evkitdigital.com.br, 1 evl.one, 1 evlilikilan.com, 1 evlqa1sp1tzb05zo-reoo0vhj9a1t5pousfudnkg.com, 0 -evlvapors.com, 1 evntage.com, 1 evobas.com, 1 evobox.store, 1 @@ -51529,6 +50952,7 @@ ewigetrauringe.de, 1 ewighost.com, 1 ewinstore.com, 1 ewizmo.com, 1 +ewon.biz, 0 eworkflow.ca, 1 eworksmedia.com, 0 eworldmedia.ml, 1 @@ -51576,6 +51000,7 @@ examity.com, 1 examly.io, 1 examone.com, 1 exampaperarchive.com, 1 +example.li, 1 exampleessays.com, 1 examroll.fr, 1 examroo.nl, 0 @@ -51597,7 +51022,6 @@ excaliburtitle.com, 0 excavation.ga, 1 exceed-clan.tk, 1 exceed.global, 1 -excel-group.com, 1 excel-mechanical.com, 1 excelbroadcast.com, 1 exceldatapro.com, 1 @@ -51844,7 +51268,6 @@ exploreeurope.de, 1 exploregulf.ga, 1 exploreit.online, 1 exploretock.com, 1 -exploretravellife.com, 1 exploretsp.gov, 1 exploring-memory.org, 1 exploringmorocco.tours, 1 @@ -51857,6 +51280,7 @@ expo58.tk, 1 expoavanza.com, 1 expobeds.com, 1 expocom.online, 1 +expoconsulting.com.br, 1 expodat.com, 1 expodom.hu, 1 expodom.ro, 1 @@ -51904,7 +51328,6 @@ expressionexpress.net, 1 expressionfunerals.co.nz, 1 expressivee.com, 1 expressmarket.ru, 1 -expressnewspoint.com, 1 expressodasilhas.cv, 1 expresspak.co.nz, 1 expressramps.com, 1 @@ -51969,7 +51392,7 @@ extienso.com, 1 extinctionrebellion.de, 1 extirosli.ga, 1 extmatrix.com, 0 -extrabits.pt, 1 +extrabits.pt, 0 extrabusiness.tk, 1 extract.me, 1 extracting.tk, 1 @@ -52028,7 +51451,6 @@ exxpozed.com, 1 exxpozed.de, 1 exxpozed.eu, 1 exzibit.net, 1 -exzotikfruit.com, 1 eyasc.nl, 1 eye-move.nl, 1 eye.do, 1 @@ -52092,7 +51514,6 @@ ezdog.press, 1 ezec.com.tw, 1 ezee-fix.co.uk, 1 ezekia.com, 1 -ezelukwu-chambers.org, 1 ezeviral.com, 1 ezgif.com, 1 ezhub.de, 1 @@ -52110,7 +51531,6 @@ ezoterizm.info, 1 ezpb.com, 1 ezprints.com, 0 ezpublish-france.fr, 1 -ezpzdelivery.com, 1 ezrent.tk, 1 ezsavers.ga, 1 ezsaversers.ga, 1 @@ -52139,7 +51559,6 @@ f00228.com, 1 f00f.org, 1 f0x.es, 1 f1-onlineliga.com, 1 -f1318.com, 1 f1318.net, 1 f1bigpicture.com, 1 f1classement.com, 0 @@ -52173,7 +51592,7 @@ f45training.com, 1 f4bkv.net, 1 f4jsl.fr, 1 f5.hk, 1 -f51365.com, 1 +f51365.com, 0 f5197.co, 1 f6729.co, 1 f6729.com, 0 @@ -52545,7 +51964,6 @@ fairyth.tk, 1 faisia.tk, 1 faithadvisorers.ga, 1 faithadvisorest.ga, 1 -faithblog.org, 1 faithbulletin.tk, 1 faithcentercogop.net, 1 faithfuladvisor.com, 1 @@ -52554,7 +51972,6 @@ faithfulfaye.nl, 1 faithfully.tk, 1 faithfulroad.org, 1 faithleaks.org, 0 -faithriders.com, 1 faixaazul.com, 1 faizan.net, 1 faizanullah.com, 0 @@ -52581,7 +51998,6 @@ fakehouse.tk, 1 fakehub.com, 1 fakel.ga, 1 fakemoney.ga, 1 -fakeout.no, 1 fakeroses.tk, 1 fakes-ru.tk, 1 faketaxi.com, 1 @@ -52615,6 +52031,7 @@ falcoz.net, 1 faldoria.de, 1 fale.io, 1 falegname-roma.it, 1 +falegname.roma.it, 1 falegnameria.milano.it, 1 falixnodes.net, 1 falkenthal.org, 1 @@ -52634,7 +52051,6 @@ fallenspirits.co.uk, 1 fallfishtenkara.com, 0 falling.se, 1 fallingbrick.co.uk, 1 -fallofthecitadel.com, 1 fallonarrocho.tk, 1 fallout-craft.ru, 1 fallout-tattoo.de, 1 @@ -52701,7 +52117,6 @@ familleenfete.fr, 1 familleseux.net, 1 familleshilton.com, 1 family-clinic.tk, 1 -familyandpets.com, 1 familyclinicstl.com, 1 familyconventioners.ga, 1 familyd-c.com, 1 @@ -52749,7 +52164,6 @@ fancy-bridge.com, 1 fancy.org.uk, 1 fancygaming.dk, 1 fancypanty.cf, 1 -fancysticker.pl, 1 fancywow.com, 1 fandars.com, 1 fandeev.tk, 1 @@ -52833,8 +52247,6 @@ fantinishop.com, 1 fantom.foundation, 1 fantraxhq.com, 1 fanty-online.com, 0 -fanyina.cn, 1 -fanyina.com, 1 fanyue123.tk, 1 fanz.pro, 1 fanzade.com, 1 @@ -52890,7 +52302,6 @@ farescan.com, 1 faresfrom.com, 1 fareto.com, 1 faretravel.co.uk, 1 -faretrotter.com, 1 fareuntrasloco.it, 1 farexpress.it, 0 farfallapets.com.br, 1 @@ -52977,7 +52388,6 @@ fascat.com, 1 fashion-buttons.tk, 1 fashion-family.cf, 1 fashion-hunters.pl, 1 -fashion-stoff.de, 1 fashion-swimwear.tk, 1 fashion-world.tk, 1 fashion.bg, 1 @@ -53096,7 +52506,6 @@ fastcast.ga, 1 fastcats.tk, 1 fastcdn.info, 1 fastcloud.ge, 1 -fastcomcorp.net, 1 fastcommerce.org, 1 fastconfirm.com, 1 fastcp.top, 1 @@ -53160,7 +52569,7 @@ fatalityimmortals.ga, 1 fatalsunrise.com, 1 fatassbooty.com, 1 fatcat.tk, 1 -fate-srd.com, 1 +fate-srd.com, 0 fatecdevday.com.br, 1 fateitalia.it, 1 fatemaalhabsi.com, 1 @@ -53362,7 +52771,6 @@ fearfactory.tk, 1 fearghus.org, 1 fearlessmusic.tk, 1 fearnley.uk, 1 -fearnomoreevents.com, 1 fearstyle.tk, 1 fearunknown.tk, 1 feast-day.tk, 1 @@ -54168,7 +53576,6 @@ fianna.tk, 1 fianoromano.news, 1 fiasgo.dk, 1 fiataldivat.hu, 1 -fibank.bg, 1 fiber.mk, 1 fiberoptikz.tk, 1 fiberxl.com, 1 @@ -54186,7 +53593,6 @@ fibu.email, 1 fibune.com, 1 fibutest.de, 1 fic.is, 1 -ficfellowship.org, 1 fichajes.com, 1 fichier-pdf.fr, 0 fickfreundinnen.net, 1 @@ -54278,7 +53684,6 @@ fighting-turtle.tk, 1 fightinggobbler.com, 1 fightingshit.tk, 1 fightsupplies.co.uk, 1 -figinstitute.org, 1 figl.net, 1 figliasons.com, 1 figma.com, 1 @@ -54359,7 +53764,6 @@ filiotech.com, 1 filiotech.pl, 1 filip-prochazka.com, 0 filipadamczak.com, 1 -filipdima.ro, 0 filipi.no, 1 filipinasdailynews.tk, 1 filipinochinese.tk, 1 @@ -54367,7 +53771,7 @@ filipinostaff.uk, 1 filipn.cz, 1 filippo.io, 1 filippoberio.co.uk, 1 -filippodanesi.it, 1 +filippodanesi.it, 0 filipstaffa.net, 1 filizaker.tk, 1 filleritemsindia.com, 1 @@ -54514,6 +53918,7 @@ finapi.io, 1 finaster.com.br, 1 finax.eu, 1 finbio.cf, 1 +fincabank.kg, 1 fincarebank.com, 1 fincas-ruiz.com, 1 fincent.xyz, 1 @@ -54543,6 +53948,7 @@ findete.tk, 1 findeth.io, 1 findheim.at, 0 findhow.org, 1 +findingawesome.com, 1 findinggenius.com, 1 findingimagesers.ga, 1 findingimagesest.ga, 1 @@ -54551,7 +53957,6 @@ findingneverlandthemusical.com, 1 findings.co, 1 findingtheuniverse.com, 1 findingturkeyers.ga, 1 -finditalldirectory.com, 1 finditez.com, 1 findjeen.com, 1 findlayohio.gov, 1 @@ -54728,12 +54133,12 @@ fireleadership.gov, 1 firelinkshrine.xyz, 1 firemail.de, 1 firemaker.tk, 1 -firemudfm.com, 1 firenews.cf, 1 firenza.org, 1 firenzetoday.it, 1 fireoakstrategies.com, 1 fireperformerstoronto.com, 1 +fireplacerepairlasvegas.com, 1 fireplex.co.uk, 1 fireportal.cz, 1 fireportal.sk, 1 @@ -54771,6 +54176,7 @@ firmale.com, 1 firmament.space, 1 firmament.tk, 1 firmanali.com, 1 +firmant.me, 1 firmapi.com, 1 firmennie-crossovki.tk, 1 firmenwerbung-vermarktung.de, 1 @@ -54800,7 +54206,6 @@ firstcentralsavings.com, 1 firstchoicebouncycastlehire.co.uk, 1 firstchoicefriseur.at, 1 firstchoicejunkservice.com, 1 -firstchoicewaterproofing.com, 1 firstchurchmn.org, 1 firstcitizensbank.com, 1 firstclass.com.kh, 1 @@ -54924,9 +54329,9 @@ fitandfightrijswijk.nl, 1 fitanu.com, 1 fitas.store, 1 fitasdobonfim.com, 1 -fitbang.pk, 1 fitbase.cf, 1 fitbase.fitness, 1 +fitbodyestetica.com.br, 1 fitbylo.com, 1 fitcamp.fitness, 1 fitch.group, 1 @@ -55007,7 +54412,6 @@ fivetecnologia.com, 1 fivethirtyeight.com, 1 fiveyearsahead.com, 1 fix-boredom.ml, 1 -fix-boredom.xyz, 1 fix-css.com, 1 fix-ru.ga, 1 fix-the-timeline.com, 1 @@ -55193,7 +54597,6 @@ flashigra.tk, 1 flashingblinkylights.com, 1 flashissue.com, 1 flashkeysers.ga, 1 -flashlearners.com, 1 flashlightchart.com, 1 flashpegasus.com.br, 1 flashscores.tk, 1 @@ -55488,7 +54891,6 @@ florademurcia.tk, 1 floraexpress.it, 1 florafaunafavourites.co.uk, 1 floragarden.tk, 1 -florahospitality.com, 1 floralin.se, 1 floralworkshopsers.ga, 1 floranext.com, 1 @@ -55590,6 +54992,7 @@ flowcrypt.com, 1 flowdise.com, 1 flower5.org, 1 flowercare.tk, 1 +flowercityflavor.com, 0 flowerdelivery.tk, 1 flowerdesign.tk, 1 flowermound.gov, 1 @@ -55692,6 +55095,7 @@ fluxi.fi, 1 fluxnet.tk, 1 fluxo.space, 1 fluxoid.com, 1 +flvs.net, 0 flvyingeagle.ga, 1 flws.cl, 1 fly, 1 @@ -55776,7 +55180,7 @@ fmbilder.se, 1 fmbonline.com, 1 fmc.gov, 1 fmc.hk, 1 -fmclarity.com, 1 +fmclarity.com, 0 fmcs.gov, 1 fmcsa.fr, 1 fmfp.eu, 1 @@ -55788,7 +55192,7 @@ fmjd64.org, 1 fmlife.tk, 1 fmm-creative.com, 1 fmn.nl, 1 -fmo.ca, 1 +fmo.ca, 0 fmodoux.biz, 0 fmorales.com, 0 fmorales.com.ni, 0 @@ -55842,7 +55246,7 @@ focalpoint.tk, 1 focanamoda.com.br, 1 focanocliente.com.br, 1 focored.com, 1 -focus2career.com, 1 +focus2career.com, 0 focus2move.com, 1 focusbet-api.com, 1 focusbet.cc, 1 @@ -56007,7 +55411,6 @@ foodcrystal.ga, 1 foodculinaryusa.tk, 1 foodcupcake.ga, 1 foodcurious.ga, 1 -fooddeliverybrands.com, 1 fooddeliverypartners.cz, 1 fooddeliverypartners.online, 1 fooddivine.ga, 1 @@ -56135,10 +55538,8 @@ foodusa.gq, 1 foodverde.ga, 1 foodwaterfront.ga, 1 foodwidget.ga, 1 -foodwise.marketing, 1 foodwish.ga, 1 foodyankee.ga, 1 -foodylab.it, 1 foodzpace.com, 1 foogle.cf, 1 fooishbar.org, 0 @@ -56722,7 +56123,6 @@ foxdemos.ml, 1 foxdev.co, 1 foxdirectory.tk, 1 foxes.no, 1 -foxesofleicester.com, 1 foxeworks.net, 1 foxghoul.com, 1 foxgirl.land, 1 @@ -56739,7 +56139,6 @@ foxpad.tk, 1 foxpia.no, 1 foxpointwi.gov, 1 foxquill.com, 0 -foxroy.com, 0 foxscribbler.com, 1 foxstreetcomms.co.za, 0 foxstyle.gq, 1 @@ -56774,7 +56173,6 @@ fpki.sh, 1 fpline.jp, 1 fpnet.tk, 1 fpnpmcdn.net, 1 -fppp.fr, 1 fprinnovaciones.es, 1 fprl39.ru, 1 fprojects.lv, 1 @@ -56785,7 +56183,6 @@ fpsclasico.de, 1 fpsclasico.eu, 1 fpsclassico.com, 1 fpsjp.org, 1 -fpspimart.org, 1 fpstest.org, 1 fpsturk.net, 1 fpsv.de, 1 @@ -57265,7 +56662,6 @@ freedom.press, 1 freedom35.org, 0 freedomains4all.tk, 1 freedomdujour.com, 1 -freedomfinance.se, 1 freedomfinanceuat.azurewebsites.net, 1 freedomflotilla.org, 1 freedomfrontier.tk, 1 @@ -57277,7 +56673,6 @@ freedomkiaparts.com, 1 freedomonline.bg, 1 freedomonthenet.org, 1 freedomperception.com, 1 -freedomrahoitus.fi, 1 freedomsaukwi.gov, 1 freedomscam.com, 1 freedomtoolkit.com, 1 @@ -57313,7 +56708,6 @@ freekdevries.nl, 1 freelance-webdesign.co.uk, 1 freelance.boutique, 1 freelance.nl, 1 -freelancecollab.com, 1 freelanceessaywriters.com, 1 freelancehunt.com, 1 freelancejobs.org.uk, 1 @@ -57321,7 +56715,6 @@ freelancemw.com, 0 freelancerim.ml, 1 freelanceunited.co.uk, 1 freelancewebprogrammer.com, 1 -freelancing.info, 1 freeliferp.de, 1 freeloadfinance.com, 1 freemagi.ga, 1 @@ -57449,11 +56842,9 @@ freezemea.com, 1 freezerrepairaustin.com, 1 freezion.com, 1 freezoneplan.com, 1 -freezvon.com, 1 freezvon.ru, 1 freibesetzt.tk, 1 freiboth.ddns.net, 1 -freie-berufe.de, 1 freie-software.net, 1 freifahrt.de, 1 freifall.tk, 1 @@ -57508,7 +56899,6 @@ frequencymc.cc, 1 frequentlyaskedquestions.cf, 1 frequenttraveller.com.au, 1 freres-marchand.fr, 1 -fresadora.online, 1 fresadorasytornos.com, 1 fresar-engineering.nl, 1 frescafit.com, 1 @@ -57557,6 +56947,7 @@ fresnois.com, 1 freso.dk, 1 fretboardforever.com, 1 fretpal.online, 1 +fretscha.com, 1 frettboard.com, 1 frettennet.tk, 1 freundeskreis-tarjan.de, 1 @@ -57704,7 +57095,6 @@ froicorp.com, 1 frokenblomma.se, 1 frolova.org, 1 from-the-net.com, 1 -from.ga, 1 from.network, 0 from.tk, 1 fromager.net, 1 @@ -57930,7 +57320,6 @@ ftrac.com.br, 1 ftrfnd.me, 1 ftth.eu.org, 0 ftv.re, 1 -ftw.lol, 1 ftworthhousekeeper.com, 1 ftx.io, 1 ftx.tech, 1 @@ -58105,7 +57494,6 @@ fumerolles.ch, 0 fumerx.com, 1 fumify.tk, 1 fumilink.com, 1 -fumonegliocchi.it, 1 fumotousa.com, 1 fun-baby.ru, 1 fun-bounce.co.uk, 1 @@ -58114,15 +57502,12 @@ fun-day.tk, 1 fun-life.com.tw, 0 fun-tasia.co.uk, 1 fun4ubouncycastles.co.uk, 1 -fun9.cc, 1 funadiq.com, 1 funadvisor.ca, 0 funadvisorfrance.com, 1 funaiwhistle.com, 1 -funandbounce.com, 1 funandfriends.tk, 1 funandlearning.es, 1 -funart.hr, 1 funatic.nl, 1 funatic.tk, 1 funboards.cz, 1 @@ -58351,7 +57736,6 @@ furlan.tk, 1 furlog.it, 1 furmap.fr, 1 furnace-zero.tk, 1 -furnacemybuddytheplumber.com, 1 furnfurs.com, 1 furnishedproperty.com.au, 1 furniteco.com, 1 @@ -58365,13 +57749,13 @@ furniturefromthebarn.com, 1 furnitureproduction.tk, 1 furnituresolutions.tk, 1 furniturezoneboone.com, 1 +furniz.sk, 1 furnu.org, 1 furorcanario.tk, 1 furoretferrum.tk, 1 furosemide-lasix.tk, 1 furosemide.gq, 1 furries-united.de, 1 -furry.bot, 1 furry.codes, 1 furry.cool, 1 furry.dk, 1 @@ -58420,9 +57804,10 @@ fusionarmenia.tk, 1 fusionas.tk, 1 fusionauth.io, 1 fusionbd.net, 1 +fusionespeluqueria.es, 1 fusionfactory.tk, 1 fusiongaming.de, 1 -fusionpatrol.com, 1 +fusionpatrol.com, 0 fusionplatter.eu, 1 fusions.co.jp, 1 fusionstudios.tk, 1 @@ -58677,7 +58062,6 @@ g36533.com, 1 g36594.com, 1 g3circuit.com, 1 g3d.ro, 1 -g3dev.ch, 0 g3hardcore.tk, 1 g3homefoods.com, 1 g47.web.id, 1 @@ -58715,7 +58099,6 @@ gabby.vn, 0 gabbyer.ga, 1 gabbyer.gq, 1 gabbyer.ml, 1 -gabe.download, 1 gabe.house, 1 gabe.pics, 1 gabe.watch, 1 @@ -58735,6 +58118,7 @@ gablesplasticsurgery.com, 1 gablesportsga.com, 0 gablesvets.co.uk, 1 gably.net, 1 +gabnotes.org, 1 gabodesign.tk, 1 gabonflash.com, 1 gaborg.hu, 1 @@ -59093,7 +58477,6 @@ gamer-vip.com, 1 gameracinginfo.tk, 1 gamerankings.com, 1 gamerant.com, 1 -gamerbits.net, 1 gamercredo.com, 1 gamereactor.asia, 1 gamereactor.cn, 1 @@ -59136,6 +58519,7 @@ gamesandcasino.com, 1 gamesaviour.com, 1 gamesbap.com, 1 gamescore.tk, 1 +gamescum.ru, 1 gamesdepartment.co.uk, 0 gamesector.tk, 1 gameserver-admin.ga, 1 @@ -59182,7 +58566,6 @@ gamifi.co.uk, 1 gamilab.no, 1 gaming-club.tk, 1 gaming-dice.tk, 1 -gaming-h.xyz, 1 gaming-life.tk, 1 gaming-news.tk, 1 gaming-online.tk, 1 @@ -59206,7 +58589,6 @@ gamingph.com, 1 gamingregulation.com, 1 gamingtech.es, 1 gamingterritory.com, 1 -gamingthingz.com, 1 gamingtilltheend.cf, 1 gamingtoday.ga, 1 gamingtopbox.ga, 1 @@ -59214,7 +58596,6 @@ gamingwesters.ga, 1 gamingwithcromulent.com, 1 gamingx.tk, 1 gamingzoneservers.com, 1 -gamisalya.com, 1 gamishijabsyari.com, 1 gamishou.fr, 1 gamivo.com, 1 @@ -59231,7 +58612,6 @@ gamv.eu, 1 gan.wtf, 1 ganado.org, 0 ganaha.org, 1 -ganapati.fr, 1 ganardinerillo.tk, 1 ganasoku.net, 1 gancedo.com.es, 1 @@ -59326,13 +58706,13 @@ gardinia.ae, 1 gardinpets.com, 1 gardis.ua, 1 gardnerlawyers.com, 1 +gardonslecap-covid19.ch, 1 garduri-electrice-animale.ro, 1 gardurialuminiuiasi.ro, 1 garethbowker.com, 1 garethbowker.uk, 1 garethkirk.com, 1 garethrhugh.es, 1 -garfieldairlines.net, 1 garfieldairlines.tk, 1 garfieldcountyne.gov, 1 garfieldcountywa.gov, 1 @@ -59389,7 +58769,6 @@ gartengutachter.org, 1 gartenplanung-brendes.de, 1 gartmaninsurance.net, 1 garudam.info, 1 -garwoh.de, 1 gary.gov, 1 garycarmell.com, 1 garyjones.co.uk, 1 @@ -59495,7 +58874,6 @@ gavingreer.com, 1 gavinnewsom.com, 1 gavins.stream, 1 gavintang.me, 1 -gavlix.se, 1 gavr.space, 1 gaw.sh, 1 gay-chat.it, 1 @@ -59534,13 +58912,11 @@ gazbonicacidmc.ga, 1 gazeta-n1.ru, 1 gazete.org, 1 gazetefutbol.de, 1 -gazetekarinca.com, 0 gazette.govt.nz, 1 gazettengr.com, 1 gazi.edu.tr, 1 gazik.com.ua, 1 gazizov.tk, 1 -gazobeton-don.ru, 1 gazoneo.fr, 1 gazor.tk, 1 gazoz.ga, 1 @@ -59746,7 +59122,6 @@ geekspace.gq, 1 geeksquadforums.tk, 1 geekstreet.fr, 1 geekstuff.tk, 1 -geekstyle.cz, 1 geektarven.com, 1 geektechsolutions.com.au, 1 geektechypro.tk, 1 @@ -59763,7 +59138,6 @@ geekzone.co.nz, 1 geekzone.fr, 1 geele.co.th, 1 geemprestimos.com, 1 -geenoo.net, 1 geenspam.net, 1 geentsefeesten.be, 1 geeq.ch, 1 @@ -59871,7 +59245,6 @@ gemstones.com, 1 gemwerx.com, 1 gen53.org, 1 genbars.jp, 1 -genbright.com, 1 genbrugge.tk, 1 genchev.io, 0 genclikdunyasi.com, 1 @@ -59944,7 +59317,7 @@ generatorcountry.com, 1 generatorkodowkreskowych.pl, 1 generatormusic.tk, 1 generatorreview.pro, 1 -generators-pro.ru, 0 +generators-pro.ru, 1 generic-noroxin.ml, 1 generic-plavix.ga, 1 generic-sildenafil-citrate.cf, 1 @@ -60006,7 +59379,6 @@ genghan.com, 1 genia-life.de, 1 genial.ly, 1 genie.tk, 1 -genie23.fr, 0 genieall.com, 1 geninspira.com, 1 geniodonna.it, 1 @@ -60050,6 +59422,7 @@ genomesoft.systems, 1 genometrik.de, 1 genomicsinc.com, 1 genomicslab.in, 1 +genomicsplc.com, 0 genoog.com, 1 genophore.com, 1 genoplot.com, 1 @@ -60285,7 +59658,6 @@ gep.ch, 1 gepassociati.cloud, 1 gepe.ch, 1 gepgroup.gr, 1 -gepo69.net, 1 gepps.de, 1 geppy.im, 1 gera-haushaltsaufloesung.de, 1 @@ -60296,7 +59668,6 @@ geranium.dk, 1 gerard-klooster.net, 1 gerardinden.nl, 1 gerardmccabe.com.au, 1 -gerardnass.nl, 1 gerardozamudio.mx, 1 gerards-abenteuer.de, 1 gerbang-singkolo.ga, 1 @@ -60414,7 +59785,6 @@ get.how, 1 getabear.com, 1 getacrane.co.uk, 1 getahearing.com, 1 -getahostnow.com, 1 getaldea.com, 1 getalink.ga, 1 getalitools.ru, 1 @@ -60428,7 +59798,6 @@ getback.ch, 1 getbellhop.co, 1 getbodysmart.com, 1 getboomerangwater.com, 1 -getboost.social, 1 getbootstrap.com, 1 getboubou.com, 1 getbox.me, 1 @@ -60454,7 +59823,6 @@ getdeclutter.com, 1 getdinghy.com, 1 getdirectcredit.com, 1 getdishnow.tk, 1 -getdoc.com.br, 1 getdoges.tk, 1 getdownon.it, 1 getdumpsterdash.com, 1 @@ -60465,6 +59833,7 @@ getelectronics.tk, 1 getemail.io, 1 geterp.ru, 1 getescrowest.ga, 1 +getestudio.com, 1 getevidenceers.ga, 1 getexipure.com, 1 getfastanswer.com, 1 @@ -60472,7 +59841,7 @@ getfedora.org, 1 getfit.md, 1 getfitbee.com, 1 getfitwithkip.com, 1 -getflip.com, 1 +getflip.com, 0 getflorence.co.uk, 0 getfreeelectricity.tk, 1 getfreeltc.ml, 1 @@ -60516,7 +59885,6 @@ getmarksvoice.com, 1 getmdl.io, 1 getme.cf, 1 getmeback.ru, 1 -getmeds.ph, 1 getmello.org, 1 getmeloan.org, 1 getmerch.eu, 1 @@ -60524,7 +59892,6 @@ getmetech.com, 0 getmimo.com, 0 getmonero.cz, 1 getmybosslife.com, 1 -getnerdio.com, 1 getnetset.com, 1 getnew.tk, 1 getnews360.com, 1 @@ -60671,6 +60038,7 @@ gforex.pro, 1 gforex.top, 1 gfoss.gr, 1 gfourmis.co, 1 +gfournier.ca, 1 gfrevenge.com, 1 gfronline.tk, 1 gfsolucoesdigitais.com, 1 @@ -60712,7 +60080,6 @@ ggs.jp, 1 ggservers.com, 1 ggss.cf, 1 ggworld.ga, 1 -ggx.us, 1 gh-sandanski.com, 1 gh16.com.ar, 1 gha.st, 1 @@ -60746,7 +60113,6 @@ ghereben.xyz, 1 ghettonetflix.de, 1 ghgkhalsaschool.com, 1 ghi.gov, 1 -ghiafeh.com, 0 ghil.de, 1 ghimaging.com, 1 ghini.com, 1 @@ -60795,7 +60161,6 @@ ghprinting.net, 1 ghsix.com.br, 1 ghwconline.org, 1 ghyvelde.fr, 1 -gi-plant.shop, 1 giac.net, 1 giac.org, 1 giacomodebidda.com, 1 @@ -60811,7 +60176,6 @@ giannifoti.it, 1 gianproperties.com, 1 giant-panda.com, 1 giant-tortoise.com, 1 -giantbrandsolutions.com, 1 giantratesers.ga, 1 giantratesest.ga, 1 giantslipandslide.co.uk, 1 @@ -60921,7 +60285,6 @@ gigawa.lt, 1 gigawattz.com, 1 gigaway.com, 1 giggear.com.au, 1 -giggletotz.co.uk, 1 gigharborwa.gov, 1 gigindia.in, 1 gigis-pizzeria.de, 1 @@ -60965,7 +60328,6 @@ gim-app.tk, 1 gim.ac.in, 1 gimahhot.com, 1 gimbal.ca, 1 -gimhub.com, 1 gimme.money, 1 gimmickbots.com, 1 gimmickmedia.de, 1 @@ -61022,7 +60384,6 @@ giper.ga, 1 giperfast.tk, 1 gipernn.ru, 1 gipl.tk, 1 -gippert-klein.de, 1 gipsic.com, 1 gipsplitka.ru, 1 gipuzkoabasket.tk, 1 @@ -61165,7 +60526,7 @@ givery.cz, 1 givery.sk, 1 givesunlight.com, 1 giveuselife.org, 1 -givingassistant.org, 1 +givingassistant.org, 0 givingnexus.org, 0 givingpledge.org, 1 givingtools.com, 1 @@ -61319,7 +60680,7 @@ gleentech.com, 1 gleesongs.tk, 1 gleich-aluminium-shop.de, 1 gleisner.io, 1 -gleisner.legal, 0 +gleisner.legal, 1 gleki.com, 1 glemtpassord.dep.no, 1 glenatlasmd.com, 1 @@ -61474,7 +60835,6 @@ globalpolarbear.com, 1 globalproduction.ga, 1 globalprojetores.com.br, 1 globalradio.tk, 1 -globalreachgroup.com, 1 globalrocksummit.com, 1 globalrussia.tk, 1 globalsecuritydatabase.com, 1 @@ -61590,7 +60950,6 @@ gluedtomusic.com, 1 gluglu.jp, 1 gluit.de, 1 glumac.com, 1 -glutenfreeandtasty.com, 1 glutenfreefoods.net, 1 glutenfreehomemaker.com, 1 glutenfreelife.co.nz, 1 @@ -61626,7 +60985,6 @@ gmc-mca.org, 1 gmc-roma.it, 1 gmc.uy, 1 gmcbm.net, 1 -gmccar.it, 1 gmcd.co, 1 gmdu.net, 1 gmfumaria.com, 1 @@ -61754,6 +61112,7 @@ goatbot.xyz, 1 goathub.io, 1 goatlord.tk, 1 goatstore.ca, 1 +goaudits.com, 1 goavio.rest, 1 gobarrelroll.com, 1 gobeline.com, 1 @@ -61882,7 +61241,6 @@ gogocarto.fr, 1 gogocharters.com, 1 gogogirl.fun, 1 gogogirl.vip, 1 -gogohood.com, 1 gogolino.tk, 1 gogomail.ga, 1 gogonano.com, 1 @@ -61896,7 +61254,6 @@ goguarded.com, 1 gohanrecords.tk, 1 gohelixit.com, 1 gohhaksu.sg, 1 -gohighland-tours.com, 1 gohon.org, 1 gohost.kz, 1 gohvac.pro, 1 @@ -61908,7 +61265,7 @@ goinggreenshow.gq, 1 goingreen.com.au, 1 goiymua.com, 1 goizalde.tk, 1 -gojo.global, 1 +gojoebean.com, 1 gokartwiki.com, 0 gokazakhstan.com, 1 gokgids.nl, 1 @@ -62111,6 +61468,7 @@ gongjianwei.com, 1 gongjuhao.com, 1 gonintendo.com, 1 gonitro.com, 1 +gonoodle.com, 1 gonortheast.co.uk, 1 gonorthwest.co.uk, 1 gonumber.ga, 1 @@ -62130,6 +61488,7 @@ gooday.life, 1 goodbargin.com, 1 goodbenefit.com, 1 goodbits.tech, 1 +goodbody.ie, 0 goodbriar.com, 1 goodcas.ca, 1 goodcas.com, 1 @@ -62153,7 +61512,6 @@ goodfeels.net, 1 goodfoodrussia.com, 1 goodfundsgateway.com, 1 goodfundslending.com, 1 -goodgame.lt, 1 goodhealthgateway.com, 1 goodhopemedical.com, 1 goodhotel.co, 1 @@ -62181,7 +61539,6 @@ goodschain.com, 1 goodseed.nl, 1 goodsex4all.com.br, 1 goodsey.com, 1 -goodsfromfactory.com, 1 goodshepherdmv.com, 1 goodshuffle.com, 1 goodsite.ga, 1 @@ -62234,7 +61591,6 @@ goosip.tk, 1 gootax.pro, 0 gooty.ru, 1 gooutdoorskansas.com, 1 -goozp.com, 1 gopass-dev.com, 1 gopass.health, 1 gopher.tk, 1 @@ -62243,7 +61599,6 @@ gopigment.com, 1 gopkg.link, 1 gopnikman.cf, 1 gopornovideo.com, 1 -gopostore.com, 1 goppold.net, 1 gopri.tk, 1 gopro-qa.com, 1 @@ -62324,6 +61679,7 @@ gorymoon.se, 1 gosaavd.tk, 1 gosarh.tk, 1 gosarhiv.tk, 1 +goscg.com, 1 gosch.de, 1 goshawkdb.io, 1 goshin-group.co.jp, 1 @@ -62354,7 +61710,6 @@ gospiritus.com, 1 gosq.co, 1 gosq.com, 1 gossiptimes.tk, 1 -gosstyle.es, 1 gost-energo.ru, 1 gostaffer.com, 1 gostargazing.co.uk, 1 @@ -62522,7 +61877,7 @@ gpltimes.club, 1 gpltimes.com, 0 gpltimes.org, 1 gplvilla.com, 1 -gpnotebook.com, 1 +gpnotebook.com, 0 gpo.gov, 0 gpodev.gov, 1 gpolanco.com, 1 @@ -62622,6 +61977,7 @@ graf.re, 1 grafana.com, 1 grafcaps.com, 1 grafenberg.tk, 1 +graffiti-bloq.nl, 0 graffiti-street-art-ebook.tk, 1 graffitinetwerk.nl, 1 graffitiwall.tk, 1 @@ -62807,7 +62163,6 @@ graphicz.ml, 1 graphiste-freelance-rouen.fr, 1 graphite.org.uk, 1 graphiteconnect.com, 1 -graphobyte.com, 1 grapholio.net, 1 graphpaper.studio, 1 graphviewer.tk, 1 @@ -62828,7 +62183,6 @@ grassreinforcement.com.au, 1 grassroots.org.nz, 1 grast.jp, 1 graszoden.tk, 1 -gratefulwanderertravel.com, 1 gratelin.ga, 1 graticule.life, 1 gratis-hosting.cf, 1 @@ -62848,6 +62202,7 @@ grattan.co.uk, 1 grattecenne.com, 1 gratuitweb.tk, 1 graumeier.de, 1 +grauwasser-blog.de, 1 gravedad-zero.tk, 1 gravedigger.tk, 1 gravelshooters.com, 1 @@ -62924,7 +62279,6 @@ greaterswissmountaindogs.com, 1 greaterzion.com, 1 greatestcampsest.ga, 1 greatestwallsest.ga, 1 -greatestwebsiteonearth.com, 0 greatfallsmt.gov, 1 greatfire.org, 1 greatgooglymoogly.tk, 1 @@ -62998,6 +62352,7 @@ greencapital.gent, 1 greencbd.com, 1 greencircleplantnursery.com.au, 1 greencircleplantnursery.net.au, 1 +greenclouddefense.com, 1 greencocktail.ga, 1 greencoconutresort.cf, 1 greencoconutresort.ga, 1 @@ -63087,7 +62442,6 @@ greensmartplanet.my, 1 greensph.tk, 1 greensquare.tk, 1 greenstation.no, 1 -greenstreethammers.com, 1 greensurpriseers.ga, 1 greensurpriseest.ga, 1 greenswimmingers.ga, 1 @@ -63119,7 +62473,6 @@ greenyway.com, 1 greenzved.tk, 1 greer.ru, 1 greetabl.com, 1 -greetality.com, 1 greetingcdsers.ga, 1 greetingcdsest.ga, 1 greffe-de-cheveux-turquie.com, 0 @@ -63162,7 +62515,6 @@ grenadierkorps-kaarst.de, 1 grenadierkorps.de, 1 grend.gq, 1 grenfell.org.au, 1 -grenfellcaravanpark.com.au, 1 grenfellinternetcentre.com.au, 1 grengine.ch, 1 grenlan.com, 1 @@ -63229,7 +62581,6 @@ gridspace.ca, 1 gridtennis.net, 1 gridvis.cloud, 1 griechische-pfoetchen.de, 1 -griecopelino.com, 1 griefheart.com, 1 grieg-gaarden.no, 1 grieg.net, 1 @@ -63293,7 +62644,6 @@ grissianerhof.com, 1 griswoldia.gov, 1 grit3.com, 1 gritsany.hopto.org, 1 -grittherapeutic.com, 1 griyadenature.tk, 1 griyo.online, 1 grizz.gdn, 1 @@ -63336,7 +62686,6 @@ groomscroft.com, 1 grooove.pl, 1 grootinadvies.nl, 1 groots.com, 1 -groots.ngo, 1 groove3.com, 1 grooveguard.tk, 1 groover.com.br, 1 @@ -63443,7 +62792,7 @@ growinghumankindness.com, 1 growingsearch.com, 1 growitsecure.com, 1 growledlamp.fr, 1 -growledlamp.it, 1 +growledlamp.it, 0 growme.gq, 1 growth-rocket.com, 1 growth.design, 1 @@ -63515,6 +62864,7 @@ grupo-famia.tk, 1 grupo-zoom.com, 1 grupoauxteclic.com, 1 grupobit.net, 1 +grupocata.com, 1 grupocb.com.br, 1 grupodcasa.tk, 1 grupodecoroinhaspnsa.tk, 1 @@ -63769,7 +63119,6 @@ guiasescapate.tk, 1 guiasuteis.com.br, 1 guiatelefone.com, 1 guiaturismovallarta.com, 1 -guiaturistica.com.co, 1 guiaturisticanuevayork.com, 1 guid2steamid.com, 1 guid2steamid.pw, 1 @@ -63803,7 +63152,6 @@ guidesorbetiere.com, 1 guidethailande.tk, 1 guidetourism.tk, 1 guidoclub.fr, 1 -guidograuer.ch, 1 guidopedia.ga, 1 guikemarijwielhandel.nl, 1 guild.xyz, 1 @@ -63822,7 +63170,6 @@ guillemagullo.tk, 1 guillembosch.es, 1 guillen.tk, 1 guillouf.com, 1 -guillouxinformatique.fr, 1 guiltyeats.com, 1 guiltyfox.ca, 1 guiltyfox.com, 1 @@ -63873,13 +63220,10 @@ gumbles.tk, 1 gumbo-millennium.nl, 1 gumbo.gq, 1 gumbo.nu, 1 -gumbointro.nl, 1 -gumbolustrum.nl, 1 gumeyamall.jp, 1 gumi.ca, 1 gummibande.noip.me, 0 gummientchen.net, 1 -gums.tv, 1 gumtree.ie, 1 gun-room.com, 1 gunarchive.com, 1 @@ -64064,13 +63408,11 @@ gwy15.com, 1 gwynfryncottages.com, 1 gxdesign.tk, 1 gxgx.org, 1 -gxlrx.net, 0 gxm5.com, 1 gxmyqy.net, 1 gyaanprasaar.tk, 1 gyanchowk.com, 1 gyannews.ga, 1 -gyara.moe, 1 gyas.nl, 1 gybagardlin.tk, 1 gycis.me, 1 @@ -64285,6 +63627,7 @@ hackclubmauritius.nl, 1 hackcraft.net, 1 hackdown.eu.org, 1 hackdown.tech, 1 +hackdra.io, 1 hackeado.tk, 1 hacked.com, 1 hackedaf.com, 1 @@ -64390,7 +63733,6 @@ haemonetics.com, 1 haens.li, 1 haerwu.biz, 1 hafcareclinic.com, 1 -hafer.tech, 1 haferman.net, 1 haferman.org, 1 haffen.com, 1 @@ -64423,6 +63765,7 @@ haiboxu.com, 1 haichuang.com, 1 haiduc.tk, 1 haifaworld.tk, 1 +haifengz.com, 0 haigle.com, 1 haileyuantoy.com, 1 hails.info, 1 @@ -64616,7 +63959,6 @@ hamburgcode.com, 1 hamburgerbesteld.nl, 1 hamburgerland.tk, 1 hamburgobgyn.com, 1 -hamcram.io, 1 hamdenct.gov, 1 hamdiscussions.com, 1 hamedfans.tk, 1 @@ -64791,7 +64133,6 @@ hankr.com, 1 hanksservice.com, 1 hanky2.com, 1 hanlonconcrete.com, 1 -hanlonhouse.us, 1 hanmandalu.com, 1 hanmandao.com, 1 hanmandaohang.com, 1 @@ -64823,7 +64164,6 @@ hansahome.ddns.net, 1 hansanders.nl, 1 hansashop.eu, 1 hansashop.fi, 1 -hansbijster.nl, 1 hansbruis.tk, 1 hanschventures.com, 1 hansee.com, 1 @@ -64861,7 +64201,6 @@ haorenka.co, 1 haoz.tk, 1 haozhexie.com, 1 haozi.me, 1 -hap-horecamakelaardij.nl, 1 hapfox.de, 1 hapiao.com, 1 hapijs.cn, 1 @@ -64918,7 +64257,6 @@ happygreats.ml, 1 happygreats.tk, 1 happyhumans.com, 1 happyindia.ml, 1 -happykidscastles.co.uk, 1 happylearning.com, 1 happylifestyle.com, 1 happymine.nl, 1 @@ -64975,7 +64313,6 @@ harbecke.org, 1 harbecke.xyz, 1 harbor.com, 1 harborhillsdaycamp.com, 1 -harborluxuryapartments.com, 1 hard-drive-recovery-blog.tk, 1 hard.email, 1 hardatack.tk, 1 @@ -65032,7 +64369,6 @@ hardwarelogin.rocks, 1 hardwareschotte.de, 1 hardwick-ma.gov, 1 hardwickvt.gov, 1 -hardwoodhoudini.com, 1 hardworm.tk, 1 hardy.bz, 1 hardyboyplant.com, 1 @@ -65058,7 +64394,6 @@ harishgoyal.tk, 1 harithsankalpa.com, 1 haritsa.co.id, 1 hariz.ga, 1 -harjitbhogal.com, 1 harkenzconstruction.com, 1 harlan.cc, 1 harlem-mt.gov, 1 @@ -65125,7 +64460,6 @@ harrisoncountymschanceryclerk.gov, 1 harrisonsdirect.co.uk, 1 harrisontownshipmi.gov, 1 harrisrealestate.com, 1 -harriswebworks.com, 1 harrogatemoneyman.com, 1 harry-baker.com, 1 harry-hk.tk, 1 @@ -65214,7 +64548,6 @@ hasenmueller.de, 1 hasgeek.com, 1 hash.works, 1 hashcat.net, 1 -hashe.com, 1 hashedin.com, 1 hashemian.com, 1 hashes.com, 1 @@ -65440,7 +64773,6 @@ hazeldeanfamilydentalcentre.com, 1 hazelhof.nl, 1 hazelkid.tk, 1 hazeover.com, 1 -hazhistoria.net, 1 hazimdesign.tk, 1 hazit.co.il, 1 hazlocheaters.com, 1 @@ -65526,7 +64858,6 @@ hd6729.com, 1 hd6957.com, 1 hd9397.com, 1 hd9721.com, 1 -hd9xmovie.co, 1 hdaccess.info, 1 hdatraining.ma, 1 hdbigass.com, 1 @@ -65540,7 +64871,6 @@ hdeaves.uk, 1 hdepic.com, 1 hdert.com, 1 hdevent.net, 1 -hdf.world, 1 hdfreeizle.com, 1 hdfreex.com, 1 hdgrannytube.com, 1 @@ -65605,7 +64935,6 @@ heading2australia.ga, 1 headinsider.net, 0 headlight.tech, 1 headlineclub.gr, 1 -headlinenews.co, 1 headlinepublishing.be, 1 headofhair.pl, 1 headphonesinear.tk, 1 @@ -65617,7 +64946,6 @@ headstrong.de, 1 headsuphealth.com, 1 headwall-hosting.com, 1 headwayapp.co, 1 -heal-thybody.nl, 1 healdsburg.gov, 1 healinfoods.com, 1 healingfoundation.org.au, 1 @@ -65726,6 +65054,7 @@ healthcommission.ga, 1 healthcompany.tk, 1 healthconfluence.tk, 1 healthconstruct.ga, 1 +healthcostinstitute.org, 0 healthcounty.ga, 1 healthcourier.ga, 1 healthcrafter.ga, 1 @@ -65780,7 +65109,6 @@ healthhard.ga, 1 healthharrisburg.tk, 1 healthhelena.tk, 1 healthhendersonville.tk, 1 -healthhopper.eu, 1 healthhosts.com, 1 healthhuntsville.tk, 1 healthhusky.ga, 1 @@ -65916,7 +65244,6 @@ healthsunflower.ga, 1 healthsustain.ga, 1 healthsyndrome.tk, 1 healthtacoma.tk, 1 -healththoroughfare.com, 1 healthtimes.ga, 1 healthtips4you.ml, 1 healthtoledo.tk, 1 @@ -66009,7 +65336,6 @@ heartlandbraidedrugs.com, 1 heartlandcocacola.com, 1 heartlandrentals.com, 1 heartlandtownandcountry.tk, 1 -heartofamum.com, 1 heartofenglandfirstaidtraining.com, 1 heartofgod.tk, 1 heartofthepeace.com, 0 @@ -66064,7 +65390,7 @@ heavennewsest.ga, 1 heavensattic.co.uk, 1 heavensolutions.com.br, 1 heaventurizm.com.tr, 1 -heavyart.pl, 1 +heavyart.pl, 0 heavycaliber.com, 1 heavycoupleers.ga, 1 heavycoupleest.ga, 1 @@ -66198,7 +65524,6 @@ heiko-zimmermann.com, 1 heiko.ph, 1 heikomauel.de, 1 heikoopminiaturen.nl, 1 -heikorichter.name, 1 heiland.io, 1 heilbronn.tk, 1 heiliao.in, 1 @@ -66453,7 +65778,7 @@ hemagon.com, 1 hemanklerehab.com, 1 hemaroids.tk, 1 hematoonkologia.pl, 1 -hemdal.se, 1 +hemdal.se, 0 hemdian.com, 1 hemlibra.co.il, 1 hemmens.eu, 1 @@ -66588,6 +65913,7 @@ heratnews.tk, 1 herba-belgie.be, 1 herbacom.ro, 1 herbalcart.com, 1 +herbaldunyasi.com, 1 herbalhouse.tk, 1 herbalife.ru, 1 herbalifereport.tk, 1 @@ -66611,7 +65937,6 @@ herbweb.net, 1 herbweb.org, 1 herbymiast.waw.pl, 1 herculesca.gov, 1 -herculesslr.com, 1 herculex.fi, 1 herderradio.ml, 1 herdingcatshere.com, 1 @@ -66799,6 +66124,7 @@ heute.training, 1 heutger.de, 1 heutger.net, 1 hev.edu.ee, 1 +heveacom.com, 1 hevenerfeld.de, 1 hevertonfreitas.com.br, 1 hevo.io, 1 @@ -66820,6 +66146,7 @@ hexashore.tn, 1 hexasoft.com.my, 1 hexatech.gq, 1 hexatech.tk, 1 +hexaunits.com, 1 hexaware.com, 1 hexaweb.tk, 1 hexcel.com, 1 @@ -66829,7 +66156,6 @@ hexhu.net, 1 hexiaohu.cn, 0 hexid.me, 0 hexieshe.com, 1 -hexis.hr, 1 hexo.ink, 0 hexo.io, 0 hexobind.com, 1 @@ -66938,7 +66264,6 @@ hibanaworld.com, 1 hibbingmn.gov, 1 hibin.tk, 1 hibiscuscoastfinancialservices.com.au, 1 -hibit.de, 0 hibrid-turf.com, 1 hiccupsandjuice.co.uk, 1 hickmancountytn.gov, 1 @@ -67034,7 +66359,6 @@ highdensityheadache.tk, 1 highdeserttinyhomes.com, 1 highdonate.tk, 1 higheducation.ml, 1 -highenergy.ro, 1 highenergy.tk, 1 higherairspace.eu, 1 higherpress.org, 1 @@ -67062,7 +66386,6 @@ highnation.ml, 1 highperfection.com, 1 highperformance.ie, 1 highplainssiding.com, 1 -highposthoops.com, 1 highpressuretech.com, 1 highproject.site, 1 highproxies.com, 1 @@ -67161,7 +66484,6 @@ hilomrm.com, 1 hiltonfoundation.org, 1 hiltonhylandluxurycondos.com, 1 hiltonsedonaresort.com, 1 -hiltonwaikoloavillage.com, 1 hilunetan.tk, 1 himalaya-masala.at, 1 himarijuana.tk, 1 @@ -67257,7 +66579,6 @@ hirecitiesest.ga, 1 hirecto.io, 1 hireinsight.io, 1 hirel.gq, 1 -hirelisting.com, 1 hirepro.in, 1 hireprofs.com, 1 hirerecruiters.io, 1 @@ -67286,7 +66607,7 @@ hirschbergertal.de, 1 hirschl.eu, 1 hirtz.pm, 1 hirtzfr.eu, 1 -hiru.top, 0 +hiru.top, 1 hirumo.com, 1 hirunet.ml, 1 hiruthicsha.com, 1 @@ -67437,7 +66758,7 @@ hjelpemiddeldatabasen.no, 1 hjes.com.ve, 1 hjkbm.cn, 1 hjmag.com, 0 -hjorslev.com, 0 +hjorslev.com, 1 hjort.land, 1 hjosh.com, 1 hjoworld.tk, 1 @@ -67521,12 +66842,13 @@ hmcdj.cn, 1 hmcreations.us, 1 hme360.com, 1 hmgym.ru, 1 -hmka.com, 1 +hmka.com, 0 hmlpoc.com.br, 1 hmnd.io, 1 hmodapk.com, 1 hmp.sc, 1 hmri.org.au, 1 +hms-networks.com, 0 hms-zentrum.de, 1 hmshost.com, 1 hmsotel.com, 1 @@ -67554,7 +66876,6 @@ hoanghaiauto.vn, 1 hoangvangioi.com, 1 hoaphathomes.com, 1 hoardit.ml, 1 -hoatangthucung.vn, 1 hoathienthao.com, 1 hoathienthao.vn, 1 hobartok.gov, 1 @@ -67638,7 +66959,6 @@ hoffmeyer.me, 1 hoffnungdeutschland.de, 1 hofgut.net, 1 hofiprojekt.cz, 1 -hoflerlawfirm.com, 1 hofmannenhofmann.nl, 1 hofmeisterkink.com, 1 hofor.dk, 1 @@ -67694,7 +67014,6 @@ holadinero.es, 0 holadinero.mx, 0 holainternet.tk, 1 holbrookaz.gov, 1 -holdeminside.com, 1 holdengreene.com, 1 holdenmaine.gov, 1 holdenmo.gov, 1 @@ -67787,7 +67106,6 @@ holostyak.tk, 1 holowaty.me, 1 holoxplor.space, 1 holstein.tk, 1 -holstphoto.com, 1 holtcountyne.gov, 1 holtkampfinancieeladvies.nl, 0 holtslander.ca, 1 @@ -68274,7 +67592,6 @@ hooperlabs.xyz, 1 hoopertechnicalsolutions.com, 1 hooplessinseattle.com, 1 hooprelief.tk, 1 -hoopshabit.com, 1 hoopweb.org, 1 hooray.beer, 1 hoorig.de, 1 @@ -68431,7 +67748,7 @@ hosiery.tk, 1 hosieryexpoers.ga, 1 hosieryexpoest.ga, 1 hosifuri.net, 1 -hosimiyasio.com, 1 +hosimiyasio.com, 0 hosoi-tax.com, 1 hosomoitruong.top, 1 hospiceandcommunitycare.com, 1 @@ -68460,7 +67777,6 @@ hospitalsineachstate.com, 1 hospitalviladaserra.com.br, 1 hossi.pro, 0 hossien.tk, 1 -hossleylps.com, 1 host-heberg.com, 1 host-morezar.ml, 1 host-stage.net, 1 @@ -68473,7 +67789,6 @@ hostalk.net, 1 hostalsanmarcos.tk, 1 hostarea51.com, 1 hostathome.fr, 1 -hostatic.com, 1 hostaz.net, 1 hostbility.com, 1 hostboxonline.com, 1 @@ -68555,7 +67870,6 @@ hosts.cf, 0 hostsall.com, 1 hostup.se, 0 hostux.network, 1 -hostvn.net, 1 hostwella.com, 1 hostwinds.com, 1 hosuronline.com, 1 @@ -68643,7 +67957,6 @@ hotelesterobeach.com, 1 hotelfloresta.tk, 1 hotelfloridachaco.com, 1 hotelflow.com.br, 1 -hotelgodisa.com, 1 hotelident.de, 1 hoteliers.com, 1 hotelitalia.tk, 1 @@ -68744,7 +68057,6 @@ hotsolarsolutions.com, 1 hotspot.cl, 1 hotspotshield.com, 1 hotspringsar.gov, 1 -hotspurhq.com, 1 hotsvenja.com, 1 hottaro.com, 1 hottchic.com, 1 @@ -68904,6 +68216,7 @@ howto-outlook.com, 1 howtobehealthy.tk, 1 howtoboy.com, 1 howtodesignwebsite.com, 1 +howtofixwindows.com, 1 howtofreelance.com, 1 howtogeek.com, 1 howtogeekpro.com, 1 @@ -69043,7 +68356,6 @@ hrreporter.com, 1 hrsa.gov, 1 hrseoservice.com, 1 hrstapps-dev.com, 1 -hrtech.shop, 1 hrtechnologypro.cf, 1 hrtpova.gov, 1 hru.gov, 1 @@ -69072,6 +68384,7 @@ hse-reglementaire.com, 1 hselectricalservices.com, 1 hsex.tv, 0 hsg-lumdatal.de, 1 +hsgms.de, 1 hsi.health, 1 hsivonen.com, 1 hsivonen.fi, 1 @@ -69175,7 +68488,6 @@ https.com.tw, 1 https.dk, 1 https.gs, 1 https.jetzt, 1 -https4all.org, 1 httpsalarm.com, 1 httpsarnemergan.ml, 1 httpsecured.net, 1 @@ -69368,6 +68680,7 @@ hulpmiddelenshop.nl, 1 hulpverleningszonecentrum.be, 1 hulsoft.co.uk, 1 hultrid.hopto.org, 1 +hululkitab.co, 1 huma-auto.club, 0 human-centricity.com, 1 human-clone.com, 1 @@ -69396,7 +68709,6 @@ humanresourcesedu.org, 1 humanresourcesmanager.de, 1 humanrights.gov.au, 1 humanrights.tk, 1 -humanrightscareers.com, 1 humansense.nl, 1 humanservicesedu.org, 1 humanshiftpaper.com, 1 @@ -69671,7 +68983,6 @@ hydrazin.pw, 1 hydro17.com, 1 hydroagro.pl, 1 hydroaralen.com, 1 -hydroathome.be, 1 hydrochlorothiazide.gq, 1 hydrochlorothiazide125.ga, 1 hydrocloud.net, 1 @@ -69747,7 +69058,6 @@ hyperjewel.com, 1 hyperjit.com, 1 hyperlocal.co.za, 1 hypermonkey.tk, 1 -hypernet.co.id, 0 hypernode.com, 1 hyperonline.tk, 1 hyperplanning.fr, 1 @@ -69815,7 +69125,6 @@ hyser.com.ua, 1 hysh.jp, 1 hysh.net, 1 hysh.org, 1 -hysolate.com, 1 hystats.net, 1 hysupchile.cl, 1 hytale.com, 1 @@ -69896,7 +69205,7 @@ i24.host, 1 i2capmark.com, 1 i2education.com, 1 i2itherapy.com, 1 -i2pgit.org, 1 +i2pgit.org, 0 i36533.com, 1 i365365.com, 1 i36588.com, 1 @@ -69905,7 +69214,7 @@ i49.net, 1 i4cu.uk, 1 i4net.eu, 1 i4ware.fi, 1 -i51365.com, 1 +i51365.com, 0 i5197.co, 1 i5y.co.uk, 1 i5y.org, 1 @@ -69934,7 +69243,6 @@ iacee.org, 1 iacitywebdesigner.com, 1 iaco.li, 1 iacono.com.br, 0 -iacquireexpert.com, 1 iactu.info, 1 iadb.org, 1 iadminify.com, 1 @@ -70035,7 +69343,7 @@ ibcmed.com, 1 ibcmed.net, 1 ibcmed.org, 1 ibe.de, 1 -ibeep.com, 1 +ibeep.com, 0 ibei.ru, 1 ibemember3.com, 1 ibericaderedes.es, 1 @@ -70083,7 +69391,6 @@ ibon.org, 1 iboy1069.com, 0 iboysoft.com, 1 ibpegasus.tk, 1 -ibps-recruitment.in, 1 ibpsrecruitment.co.in, 1 ibq.life, 1 ibra.org.uk, 1 @@ -70091,6 +69398,7 @@ ibrainmedicine.org, 1 ibraphotography.com, 1 ibrom.eu, 1 ibron.co, 0 +ibroshop.com, 1 ibsasport.org, 1 ibsglobal.co.za, 1 ibsis.org, 1 @@ -70197,14 +69505,12 @@ ichijoh.co.jp, 1 ichisound.ml, 1 ichitaka.tk, 1 ichitaso.com, 1 -ichkeria.info, 1 ichtroje.tk, 1 ichuck.rocks, 1 ici-freewares.tk, 1 ici.ac.nz, 1 ici.ms, 1 ici.net.au, 1 -icid.com.mx, 1 icie.info, 1 icieducation.ca, 1 icieducation.co.uk, 1 @@ -70226,8 +69532,6 @@ icloud.com, 1 icloud.st, 1 icloudlogin.com, 1 icmarket.com, 1 -icmp2018.org, 1 -icmsjamaica.com, 1 icmtx.com, 1 icnc.ga, 1 icnsk.ru, 1 @@ -70292,7 +69596,7 @@ icusignature.com, 1 icustomboxes.com, 1 icy.aq, 1 icyapril.com, 1 -icycanada.com, 1 +icycanada.com, 0 icydestiny.com, 0 icyeurope.com, 1 icyhealth.com, 0 @@ -70311,7 +69615,6 @@ iczer.one, 1 iczer.org, 1 id-blog.ch, 0 id-fxcm.com, 1 -id-trade.com.ua, 1 id.atlassian.com, 0 id.fedoraproject.org, 0 id.mayfirst.org, 0 @@ -70367,7 +69670,6 @@ idealbet.it, 1 idealbody.cf, 1 idealbody.gq, 1 idealcontabilidade.net, 0 -idealdedetizadorabh.com.br, 1 idealimobiliariabh.com.br, 1 idealimplant.com, 0 idealize.ml, 1 @@ -70378,7 +69680,6 @@ idealni-hypoteka.cz, 1 idealog.id, 1 idealresponse.co.uk, 1 idealsegurancaeletronica.com.br, 1 -idealserralheriabh.com.br, 1 idealtruss.com, 1 idealtruss.com.tw, 1 idealucedifilippi.it, 1 @@ -70441,7 +69742,6 @@ idesoft.com, 1 idesoft.eu, 1 idesoft.info, 1 idesoft.net, 1 -idesoft.org, 1 idesoftinnovacion.com, 1 idesoftinnovacion.es, 1 idev-hub.com, 1 @@ -70450,7 +69750,6 @@ idevicesinc.com, 1 idexxpublicationportal.com, 1 idf64.com, 1 idf64.org, 1 -idfarm.co.kr, 1 idfc.gov, 1 idgr.de, 1 idheastudio.com, 1 @@ -70586,6 +69885,7 @@ iforced.net, 1 iformbuilder.com, 0 ifort.fr, 1 ifosep.fr, 0 +ifoss.me, 1 ifpe.edu.br, 1 ifrabb.fr, 1 iframefinancement.be, 1 @@ -70617,7 +69917,7 @@ igame.ml, 1 igamingaffiliateprograms.com, 1 igamingdirectory.com, 1 igamingnews.com, 1 -igamingnyheder.dk, 0 +igamingnyheder.dk, 1 igamingpocketdirectory.com, 1 igamingsuppliers.com, 1 igarage.nl, 0 @@ -70678,7 +69978,6 @@ igniteenergy.co.uk, 1 igniteheatcool.com.au, 1 ignytebrands.com, 1 igocarwraps.com, 1 -igootit.com, 1 igor-hristenko.tk, 1 igor-usov.tk, 1 igorandandre.com, 1 @@ -70830,6 +70129,7 @@ ikall.org, 1 ikama.cz, 1 ikara.social, 1 ikari-san.tk, 1 +ikaria.com.gr, 1 ikaros.tk, 1 ikarus-itkurs.de, 1 ikasgela.com, 1 @@ -70848,7 +70148,6 @@ ikikiv.com, 1 ikiler.com, 1 ikimo9.com, 1 ikinokori-marketing.com, 1 -ikiroutayhtye.fi, 1 ikisser.de, 1 ikiteker.org.tr, 1 ikk-classic.de, 0 @@ -70861,14 +70160,13 @@ ikkoku.de, 1 iklan-baris.gq, 1 iklan.tk, 1 iklanbaris.tk, 1 +iklipcollection.my.id, 1 ikmx.net, 1 iknet.top, 1 iknowd.org, 1 iknowthatgirl.com, 1 -ikootu.com, 0 ikoreg.nl, 1 ikorekofi.com, 1 -ikparis.com, 1 ikra24.in.ua, 1 ikrab.club, 1 iks.moe, 1 @@ -70889,7 +70187,6 @@ ikzoekeengoedkopeauto.nl, 1 ikzoektim.nl, 1 il12thcourt.gov, 1 il2eu.com, 1 -ila.fi, 1 ila.tw, 1 ilab.health, 1 ilac101.com, 1 @@ -70984,13 +70281,13 @@ illnation.tk, 1 illogical-gaming.at, 1 illorenese.fr, 1 illsley.org, 1 +illu.ee, 1 illubel.com, 1 illumed.net, 1 illumepgh.com, 1 illuminated-security.com, 1 illuminatelife.tk, 1 illuminaten.tk, 1 -illuminaterecovery.com, 1 illuminationis.com, 1 illuminatisocietyworldwide.org, 1 illuminatiwatcher.com, 1 @@ -71004,7 +70301,6 @@ illusionunlimited.com, 1 illusiveshop.com, 1 illustrate.biz, 1 illuxat.com, 1 -illuzionclothing.com, 1 ilmaestro.net, 1 ilmainensanakirja.fi, 1 ilmanifesto.it, 1 @@ -71113,7 +70409,6 @@ imaginethefloor.tk, 1 imaginetricks.com, 1 imagingstudio.co.uk, 0 imagisphe.re, 1 -imagosplasticsurgery.com, 1 imajavm.com, 1 imajjeans.com, 1 imakash.gq, 1 @@ -71186,7 +70481,6 @@ img.mg, 1 img.ovh, 1 img.ren, 1 imgaa.com, 1 -imgbb.com, 1 imgen.top, 1 imgencrypt.com, 1 imgg.es, 1 @@ -71213,7 +70507,6 @@ imitza.com, 0 imjo.in, 1 imjustcreative.com, 1 imkan.tours, 1 -imkero.net, 1 imkerverein-moenchswald.de, 1 imkindofabigdeal.com, 1 imksk.com, 1 @@ -71352,7 +70645,6 @@ imparat.de, 0 imparostobene.it, 1 impartner.com, 1 impas.se, 1 -impay.one, 1 impec-cable.com, 1 impeka.in, 1 impelup.com, 1 @@ -71441,6 +70733,7 @@ imprezer.tk, 1 imprezzor.com, 1 imprimante-3d-store.fr, 1 improbo-group.com, 1 +improd.works, 1 improfestival.ee, 1 improv.ee, 1 improvebusinessonline.info, 1 @@ -71457,7 +70750,6 @@ impulsewebdesign.nl, 1 impulsionsa.com, 0 impulsocristiano.com, 1 imququ.com, 1 -imrafaela.com, 1 imranc.ca, 1 imranhossen.ml, 1 imransarwar.com, 1 @@ -71497,7 +70789,6 @@ in-ua.com, 1 in.search.yahoo.com, 0 in.xero.com, 0 in10tion.com, 0 -inaboutique.it, 1 inaji.com, 1 inakasoftware.com, 1 inakipsikologoa.com, 1 @@ -71650,7 +70941,7 @@ indiainvestments.wiki, 1 indiamistress.tk, 1 indian-elephant.com, 1 indian-health-news.com, 1 -indianaberry.com, 1 +indianaberry.com, 0 indianacareerconnect.com, 1 indianaffairs.gov, 1 indianahealth.tk, 1 @@ -71778,7 +71069,6 @@ indusap.com, 1 indusfastremit-us.com, 1 indusfastremit.com, 1 indust.me, 1 -industra.finance, 1 industreiler.com.br, 1 industriafranchini.com, 1 industrial-remote-control.com, 1 @@ -71790,6 +71080,7 @@ industrialcontainer.com, 1 industrialengineering.info, 1 industrialgassprings.com, 1 industrialprecisionmfg.com, 1 +industrilokal.com, 1 industrydecarbonization.com, 1 industryoutlaws.tk, 1 industryskillsaustralia.org.au, 1 @@ -71862,7 +71153,6 @@ infihow.com, 1 infinan.ru, 1 infineon-bipolar.com, 1 infinether.net, 1 -infinifit.ca, 1 infinifit.store, 1 infinipharm.com, 1 infinite.com, 1 @@ -71894,7 +71184,6 @@ infinityfaces.tk, 1 infinityname.tk, 1 infinityonce.ml, 1 infinityrecruitinggroup.com, 1 -infinitysportsandfitness.in, 1 infinityvr.net, 1 infinityweb.com.au, 1 infinoe.fr, 1 @@ -71964,7 +71253,6 @@ infocapsol.com, 1 infocision.com, 1 infocoin.es, 1 infocommsociety.com, 1 -infocon.org, 1 infocrypto.pl, 1 infocus.company, 1 infocusvr.net, 1 @@ -72187,7 +71475,6 @@ ing-buero-junk.de, 1 ing.dk, 1 ingalabs.hu, 1 ingatlanjogaszok.hu, 1 -ingatlankaland.hu, 1 ingatlanneked.hu, 1 ingbusiness.pl, 1 inge-deco.com, 1 @@ -72232,7 +71519,6 @@ ingresosautomaticos.tk, 1 ingresospasivosyafiliados.online, 1 ingridbai.me, 1 ingridvanderveen.com, 1 -ingroxd.com, 1 ingticos.com, 1 ingushetia.tk, 1 ingwaz.org, 1 @@ -72325,7 +71611,7 @@ inmemoryofdaniella.com, 1 inmigracion-florida.com, 1 inmobanking.com.gt, 1 inmobiliaria-sanpablo.cl, 1 -inmobiliariamarino.com, 1 +inmobiliariamarino.com, 0 inmobiliariaredimido.com, 1 inmobillium.fr, 1 inmonteblandinio.be, 1 @@ -72341,7 +71627,6 @@ inmyhead.tk, 1 innainnaki.net, 1 innatocol.com, 1 inncoaching.nl, 1 -inner-change-mastery.com, 1 inner-vision.tk, 1 innerdarkside.tk, 1 innerfence.com, 1 @@ -72486,7 +71771,6 @@ inserta.tk, 1 insertcoins.net, 1 insertcredit.com, 1 insertface.com, 1 -insertnext.com, 1 inshapenutrition.com.br, 1 inshared.nl, 1 inshop.hu, 1 @@ -72572,7 +71856,6 @@ instagrabber.ru, 1 instagram-atom.appspot.com, 1 instagram.com, 0 instagramdeposu.com, 1 -instagrammernews.com, 1 instagramtweet.com, 1 instagraph.cn, 1 instahub.net, 1 @@ -72719,6 +72002,7 @@ integritet.com.se, 1 integritree.ca, 1 integrity.gov, 1 integritydetail.com, 1 +integrityfirstloans.com, 1 integrityglobal.com, 1 integrityhomecontractors.com, 1 integrityingovernmentidaho.com, 1 @@ -72748,7 +72032,6 @@ intellek.io, 1 intellektuaalomand.ee, 1 intelliance.eu, 1 intellicore.cl, 1 -intellicyb.com, 1 intelligence-explosion.com, 1 intelligenceia.fr, 1 intelligenetics.com, 0 @@ -72778,7 +72061,6 @@ intenirphoto.tk, 1 intensify.pictures, 1 intensiveintervention.org, 1 intensivpflege-sachsen.de, 1 -inter-corporate.com, 1 inter-culinarium.com, 1 inter-design.sk, 1 inter-news.tk, 1 @@ -72852,14 +72134,13 @@ interguardian.de, 1 interhealthcare.com.au, 1 interiery-waters.cz, 1 interieursud.fr, 1 -interimages.fr, 1 interimnorge.no, 1 interior-design-colleges.com, 1 interior16.cf, 1 +interiorai.com, 1 interiorcarpentryqatar.com, 1 interiorcheapo.com, 1 interiorcolors.tk, 1 -interiordesignsconcept.com, 1 interiorsnmore.com, 1 interisaudit.com, 1 interitus.tk, 1 @@ -72904,7 +72185,6 @@ internationaljoustingleague.tk, 1 internationalrelationsedu.org, 1 internationalrugsdallas.com, 1 internationalschool.it, 1 -internationaltalento.it, 1 internationaltercumeburosu.com.tr, 1 internationaltranslating.com, 1 internationalweekly.tk, 1 @@ -72963,11 +72243,9 @@ internetthreatcenter.com, 1 internetthreatscenter.com, 1 internettoday.ga, 1 internettradie.com.au, 0 -internetwealthresource.com, 1 internetzaim.tk, 1 internetzentrale.net, 1 internews24.com, 1 -internewscast.com, 1 internist.ru, 1 interparcel.com, 1 interphoto.by, 1 @@ -73010,6 +72288,7 @@ interways.de, 1 interwebz-cheats.com, 1 interwebz.nz, 1 interwerk.de, 1 +intesis.com, 0 intestclub.tk, 1 inthechair.com, 1 inthechileanwoods.tk, 1 @@ -73063,7 +72342,6 @@ intro.management, 1 intron.pw, 1 intropickup.ru, 1 intropika.tk, 1 -introvertedtravel.space, 1 intrstd.in, 1 intrum-credit-information-ws.ch, 1 intstyle.com.ua, 1 @@ -73159,7 +72437,6 @@ investinestonia.com, 0 investingdiary.cn, 1 investinginamerica.gov, 1 investingnews.com, 1 -investingnews.com.au, 1 investingoal.com, 1 investingoutlook.co, 1 investingtrader.net, 1 @@ -73192,7 +72469,7 @@ investorforms.com, 1 investorloanshub.com, 1 investorplace.com, 1 investorrightsnetwork.com, 1 -investors.pl, 0 +investors.pl, 1 investosure.com, 1 investpay.ru, 1 investpsp.ca, 1 @@ -73209,6 +72486,7 @@ invincia.com, 1 invinoaustria.cz, 1 invisible-college.com, 1 invisible.io, 1 +invisibledrain.com, 1 invisiblehat.ventures, 1 invisiblejiujitsu.co.uk, 1 invisibles.ch, 0 @@ -73216,7 +72494,6 @@ invisionary.tech, 1 invisionary.tk, 1 invisionretail.nl, 1 invisitone.com, 1 -invistics.com, 1 invitation-factory.tk, 1 invitationtrackerers.ga, 1 invitationtrackerest.ga, 1 @@ -73262,13 +72539,13 @@ iocorp.jp, 1 iocp.org, 0 ioctl.cc, 1 iocurrents.com, 0 -iocus.fun, 0 iodb.ru, 1 iodu.re, 1 ioga.tk, 1 iogamers.org, 1 iogm-official.id, 1 iograficathemes.com, 1 +ioh.lol, 1 iolabs.io, 1 ioliver.co.uk, 1 iololi.com, 1 @@ -73429,6 +72706,7 @@ iplist.cc, 1 iplog.info, 0 iplookup.tk, 1 ipmatic.ga, 1 +ipmkts.com, 1 ipmotion.ca, 1 ipmscoutek.com, 0 ipnoze.com, 1 @@ -73507,7 +72785,6 @@ ipwho.site, 1 iqcybersolutions.com, 1 iqmarketing.nl, 1 iqor.com, 1 -iqos.com.ua, 1 iqos.ml, 1 iqphone.cf, 1 iqphone.ga, 1 @@ -73550,7 +72827,7 @@ iranophiles.com, 1 iranophiles.net, 1 iranophiles.org, 1 iranpedia.tk, 1 -iranrebate.com, 0 +iranrebate.com, 1 iranturkey.info, 1 iranwiki.ovh, 1 irap.org, 1 @@ -73684,7 +72961,6 @@ ironraven.ch, 1 ironraven.ml, 1 ironridgewi.gov, 1 ironscales.com, 0 -ironsidelubricants.com, 1 ironstar.tk, 1 irontigers.ga, 1 irontigers.gq, 1 @@ -73774,7 +73050,7 @@ isavings.com, 1 isbagla.com, 1 isbaseballstillon.com, 1 isbk.de, 0 -isbndirect.com, 1 +isbndirect.com, 0 isbpanel.com, 1 isc.org, 1 isc2.org, 0 @@ -73821,7 +73097,6 @@ isimonbrown.co.uk, 1 isimonline.tk, 1 isincheck.com, 1 ising.pl, 1 -isinthe.uk, 1 isiponline.ca, 1 isis.cloud, 1 isiso.com.tr, 1 @@ -73970,7 +73245,6 @@ isputinstillpresident.com, 1 ispymissions.ga, 1 isra-mag.com, 1 israel-alma.org, 1 -israel-escorts.com, 1 israel-in-color.com, 1 israel-nadlan.com, 1 israel-real.estate, 1 @@ -74296,7 +73570,6 @@ itparty.tk, 1 itpaukku.tk, 1 itpedia.nl, 1 itperm.tk, 1 -itpoint.kz, 0 itpol.dk, 1 itportal.io, 1 itpress.fi, 0 @@ -74352,7 +73625,6 @@ itsecboecker.de, 1 itsecrnd.com, 1 itsecuritycoach.com, 1 itseeze.com, 1 -itseovn.com, 1 itservis.org, 1 itsevann.com, 1 itsevident.com, 1 @@ -74388,7 +73660,6 @@ itstartswithme.ca, 1 itstatic.tech, 1 itsuitsyou.co.za, 1 itsuka-world.com, 1 -itsumleo.com, 1 itsundef.in, 0 itsupport24.tk, 1 itsupportguys.com, 1 @@ -74417,7 +73688,7 @@ itwell.cz, 1 itwofm.com, 1 itwolfcl.tk, 1 itworks.nyc, 1 -itwozi.com, 0 +itwozi.com, 1 itx.no, 1 itxartu.tk, 1 itxlatam.com, 1 @@ -74529,7 +73800,6 @@ ivyhelpers.com, 1 ivypanda.com, 1 ivyseeds.cf, 1 iwalton.com, 1 -iwant-sex.com, 1 iwant.cz, 1 iwantexchange.com, 1 iwantpayments.com, 1 @@ -74585,6 +73855,7 @@ ixquick.info, 1 ixquick.nl, 1 ixtan.ga, 1 ixware.de, 1 +ixxat.com, 0 ixypsilon.net, 1 iy.uy, 1 iyadalkassab.com, 1 @@ -74602,6 +73873,7 @@ iyoumu.top, 1 iyspanel.com, 1 iyume.top, 1 iz8mbw.net, 1 +izaban.org, 1 izabava.tk, 1 izabel.tk, 1 izamulhakeem.tk, 1 @@ -74612,7 +73884,6 @@ izavel.com, 1 izb.se, 1 izbirateli.com, 1 izecubz.me, 1 -izemporium.com, 1 izi-agency.com, 1 izipik.gq, 1 izkustvo.com, 1 @@ -74756,7 +74027,6 @@ jabboworld.tk, 1 jaberg-rutschi.ch, 1 jabergrutschi.ch, 1 jabjab.de, 1 -jabodent.com, 1 jabou.co.uk, 1 jabramson.com, 1 jabramson.net, 1 @@ -74792,6 +74062,7 @@ jackgames.net, 1 jackgreiner.ca, 1 jackhammerinteractive.com, 1 jackhoodtransportation.com, 1 +jackienguyen.dk, 1 jackiestp.com, 1 jackingramnissanparts.com, 1 jackinmybox.com, 1 @@ -74831,6 +74102,7 @@ jacksutton.info, 1 jacktor.com, 1 jackvaley.com, 1 jackwarren.info, 1 +jackwilli.com, 1 jackwu.net, 1 jackylawless.net, 1 jackyliao.me, 1 @@ -74971,7 +74243,6 @@ jakubvrba.cz, 1 jakumammy.pl, 1 jakzostacmilionerem.biz, 1 jal-ja.com, 1 -jala.co.jp, 1 jala.tech, 0 jalebiyat.tk, 1 jaleesa.sa, 1 @@ -74985,7 +74256,6 @@ jalopnik.com, 1 jaluzelemoderne.ro, 1 jaluziperde.tk, 1 jamaat.hk, 1 -jamacha.org, 1 jamaica.gq, 1 jamaicabeachtx.gov, 1 jamally.co.za, 1 @@ -75018,7 +74288,6 @@ jamesconroyfinn.com, 0 jamesdorf.com, 1 jamesedition.com, 1 jamesevans.is, 1 -jamesforman.co.nz, 0 jamesgarrigan.info, 1 jamesgarrigan.nyc, 1 jamesgreenfield.com, 1 @@ -75044,7 +74313,6 @@ jamesrobertson.net, 1 jamesrobertson.sh, 1 jamesross.name, 1 jamesrtyrrell.com, 1 -jamesrush.com, 1 jamessliu.com, 1 jamessmith.me.uk, 1 jamestgh.com, 1 @@ -75084,7 +74352,6 @@ jammy4312.me, 1 jammysplodgers.co.uk, 1 jamonesrute.com, 1 jamonsilva.com, 1 -jamstallt.se, 1 jamstatic.fr, 0 jamukmod.com, 1 jamusa.tk, 1 @@ -75171,6 +74438,7 @@ janssen.fm, 1 janterpstra.eu, 1 jantinaboelens.nl, 1 january.com, 1 +janujani.com, 1 janulkowedomki.pl, 1 janus-it.pl, 1 janv.it, 1 @@ -75194,7 +74462,7 @@ japanese-dominatrix.com, 1 japanese-imperialism971.tk, 1 japanese-tantra-escort.com, 1 japaneseacupuncture.london, 1 -japaneseemoticons.org, 1 +japaneseemoticons.org, 0 japanesekeyboard.net, 1 japanesemusic.tk, 1 japanesephotosite.tk, 1 @@ -75210,7 +74478,6 @@ japantravel.tk, 1 japanwatches.xyz, 1 japanwowsex.com, 1 jape.today, 1 -japi.org, 1 japico.or.jp, 1 japlin.io, 1 japlin.tk, 1 @@ -75244,7 +74511,6 @@ jarmatys.pl, 1 jarmix.fi, 1 jarniashop.se, 1 jarno.rocks, 1 -jarnobogaert.com, 0 jarnobogaert.xyz, 1 jarnskog.tk, 1 jarods.org, 0 @@ -75289,7 +74555,6 @@ jason-isaacs.tk, 1 jason.red, 1 jasonamorrow.com, 0 jasonchampagne.fr, 1 -jasoncoopermd.com, 1 jasoncosper.com, 1 jasoncs.eu.org, 1 jasongreenwell.com, 1 @@ -75306,6 +74571,7 @@ jasonwei.nctu.me, 1 jasonwongwr.com, 1 jasper.link, 1 jasper.pt, 1 +jasperhammink.com, 0 jasperhugo.com, 1 jasperhuttenmedia.com, 1 jaspernbrouwer.nl, 1 @@ -75399,6 +74665,7 @@ jaypeeonline.tk, 1 jayrl.com, 1 jaysanart.com, 0 jaysaw.me, 1 +jayschulman.com, 1 jayspage.tk, 1 jaytauron.xyz, 1 jaytx.com, 1 @@ -75453,7 +74720,6 @@ jbsinternational.com, 1 jbsoftware.ca, 1 jbspeakr.cc, 1 jbt-stl.com, 1 -jc-p2p.com, 1 jc6.xyz, 1 jc666.xyz, 1 jcadg.com, 1 @@ -75593,7 +74859,6 @@ jeannecalment.com, 1 jeannedekkers.tk, 1 jeannekunst.tk, 1 jeannelucienne.fr, 1 -jeanneret-combustibles.ch, 0 jeannette-py.fr, 1 jeanniegraefe.tk, 1 jeannotbel.tk, 1 @@ -75631,8 +74896,7 @@ jedicouncil.tk, 1 jedilukmas.tk, 1 jedipedia.net, 1 jedora.com, 0 -jedwarddurrett.com, 1 -jeek.jp, 1 +jeek.jp, 0 jeemain.org, 1 jeep-diagnost.ml, 1 jeep4ik.com, 1 @@ -75692,7 +74956,6 @@ jelena-adeli.com, 1 jelena-karleusa.tk, 1 jelenkovic.rs, 1 jell.ie, 1 -jelle.pro, 1 jellebo.dk, 1 jellebuitenhuis.nl, 1 jelleluteijn.com, 1 @@ -75918,15 +75181,13 @@ jetkittens.co.uk, 1 jetmirshatri.com, 0 jetmusic.tk, 1 jetpack.com.ar, 1 -jetsadabetchoke77.com, 1 -jetserp.com, 1 +jetsadabetchoke77.com, 0 jetsetretiree.com, 1 jetshare.co.nz, 1 jetsieswerda.nl, 1 jetsome.co, 0 jetson.tk, 1 jetstudio.ch, 0 -jetswhiteout.com, 1 jettenbommelaer.nl, 1 jettenjachtbouw.eu, 1 jettlarue.com, 1 @@ -75987,6 +75248,7 @@ jfml.lu, 1 jfr.im, 1 jfreitag.de, 1 jfroyalelogistics.com.ng, 1 +jftn.nl, 1 jftw.org, 1 jfuturist.com, 1 jfvaccountants.nl, 1 @@ -76315,7 +75577,7 @@ jmtk.co, 1 jmtrv.com.co, 1 jmwsquared.com, 1 jmy.fyi, 1 -jmzo.nl, 1 +jmzo.nl, 0 jn1.me, 1 jnaprojects.co.za, 1 jnaroofing.co.za, 1 @@ -76437,9 +75699,9 @@ jocuri-noi.tk, 1 jocurionline.eu, 1 jodaniels.photography, 1 jodaviesscountyil.gov, 1 +jodbush.com, 1 jodlajodla.si, 1 jodyboucher.com, 0 -jodyshop.com, 1 joe-st.de, 1 joe262.com, 1 joearodriguez.com, 1 @@ -76471,8 +75733,8 @@ joellev.nl, 1 joellimberg.com, 1 joellombardo.com, 0 joelmunch.com, 1 -joelpogar.com, 1 joelving.dk, 0 +joeon.systems, 1 joepitt.co.uk, 0 joerg-wellpott.de, 1 joergschneider.com, 1 @@ -76578,7 +75840,6 @@ johnmirenda.com, 1 johnno.be, 1 johnnybegood.tk, 1 johnnybet.com, 1 -johnnybetstaging.com, 1 johnnybsecure.com, 1 johnnydoe.tk, 1 johnnyofans.com, 1 @@ -76586,7 +75847,6 @@ johnnysandaire.com, 1 johnocallaghan.tk, 1 johnocera.com, 1 johnopdenakker.com, 1 -johnoreilly.org.uk, 1 johnroberts.me, 1 johnrockefeller.net, 1 johnrosen.xyz, 1 @@ -76648,7 +75908,6 @@ jokewignand.nl, 1 joksara.tk, 1 jolette-hernandez.tk, 1 joletteperu.tk, 1 -jolfamarket.com, 1 jolienoir.net, 1 joliet.gov, 1 joliettech.com, 1 @@ -76819,7 +76078,6 @@ jorgelopezorquesta.tk, 1 jorgemarquez.es, 1 jorgenegrete.tk, 1 jorgenson-peninsula.com, 1 -jorgvandeven.nl, 1 jorisdalderup.nl, 1 joriz.tk, 1 jormulti.tk, 1 @@ -76850,7 +76108,6 @@ josefranca.pt, 0 josejorques.tk, 1 joseluisberrocal.tk, 1 josemariavazquez.com, 1 -josemortellaro.com, 1 josenastrid.tk, 1 josepbel.com, 1 josephalexander.media, 1 @@ -76907,7 +76164,6 @@ joshuanishimura.xyz, 1 joshuaschmitt.us, 1 joshuastock.net, 1 joshygeo.tk, 1 -josie.boutique, 1 josiekellys.com, 1 josiemccoy.co.uk, 1 josien.fr, 1 @@ -77011,7 +76267,6 @@ jpc-design.com, 1 jpcases.com.au, 1 jpcorriganlaw.com, 1 jpcrochetapparel.com, 1 -jpdeharenne.be, 0 jpdineroasi.com, 1 jpeg.io, 1 jpegd.io, 1 @@ -77132,8 +76387,6 @@ jsnguyenlieu.com, 1 jso-crescendo.ch, 1 json.download, 1 json.id, 0 -jsonbeautifier.net, 1 -jsonformatter.net, 1 jsonsinc.com, 1 jsonvalidator.tk, 1 jsourcery.com, 1 @@ -77252,7 +76505,6 @@ juicydesigns.co.za, 1 juicyforum.com, 1 jujutsuoulu.fi, 1 juk.life, 0 -jukan.tv, 1 jukebox-manuals.tk, 1 jukkakivi.fi, 1 jukkakivimaki.fi, 1 @@ -77270,7 +76522,6 @@ julia-jones.org, 1 julia-pink.org, 1 julia-spriggs.fr, 1 julia.school, 1 -juliaexclusiv.net, 1 juliajuice.net, 1 juliakieser.de, 1 julian-miller.de, 1 @@ -77370,7 +76621,6 @@ jumpingdeliege-vip.be, 1 jumpingforall.com, 1 jumpingforall.nl, 1 jumpingjacksbouncycastles.co.uk, 1 -jumpinmonkeys.co.uk, 1 jumpintogreenerpastures.com, 1 jumpman-iphone-design.de, 1 jumpnplay.co.uk, 1 @@ -77430,7 +76680,6 @@ junkguy.tk, 1 junkiedownload.tk, 1 junkracing.tk, 1 junksleep.com, 1 -junksupply.com, 0 junktojewels.com.au, 1 junkyardtuning.tk, 1 junomessenger.cf, 1 @@ -77473,7 +76722,6 @@ juristique.org, 1 juristique.us, 1 jurjendevries.com, 0 jurkomp.ru, 1 -jurllyshe.com, 1 jurnalfm.md, 1 jurnalilmiah.com, 1 jurposluga.tk, 1 @@ -77501,8 +76749,7 @@ justanothercompany.name, 1 justanotherday.tk, 1 justasdelish.com, 1 justbelieverecoverypa.com, 1 -justbookexcursions.com, 1 -justbooktransfers.com, 1 +justbooktransfers.com, 0 justboom.co, 1 justbraces.com.sg, 1 justbydesign.com, 1 @@ -77655,7 +76902,6 @@ jyvaskylantykkimies.fi, 1 jz.lc, 1 jzagorulko.com, 1 jzbk.org, 0 -jzcapital.co, 1 jzeb.co, 1 jzminimalist.com, 1 jztkft.hu, 1 @@ -77824,7 +77070,6 @@ kabel.ga, 1 kabel.gq, 1 kabel.ml, 1 kabeldiertje.nl, 1 -kabellegger.nl, 1 kabeltv.co.nz, 1 kabeuchi.com, 1 kabide.net, 1 @@ -77937,6 +77182,7 @@ kaigojj.com, 1 kaihipay.jp, 1 kaijo-physics-club.work, 1 kaik.io, 1 +kaik.vn, 1 kaika-facilitymanagement.de, 1 kaikaibrai.com, 1 kaikei7.com, 1 @@ -78064,6 +77310,7 @@ kalisilat.tk, 1 kalk-shop.nl, 1 kalkaskavillagemi.gov, 1 kalkulacka-havarijni.cz, 1 +kallanda.com, 1 kalleanka.tk, 1 kalligo.ga, 1 kalligraf.tk, 1 @@ -78073,7 +77320,6 @@ kalmbach.com, 1 kalmservices.ca, 1 kalmykia.cf, 1 kalmykia.tk, 1 -kalnet.tech, 1 kalogeropoulos-st.com, 1 kalohan.tk, 1 kaloix.de, 1 @@ -78132,7 +77378,6 @@ kamikazeweb.tk, 1 kamildrozd.tk, 1 kamilla.ml, 1 kamilmagdziak.pl, 1 -kamilporembinski.pl, 1 kamilsevi.com, 0 kamin-island.ru, 1 kaminbau-laub.de, 1 @@ -78193,6 +77438,7 @@ kandra.com.br, 1 kandrahechiceravudu.com, 1 kandrive.gov, 1 kanduit.live, 1 +kandwliquor.com, 1 kanecastles.com, 1 kanecountyhospitalut.gov, 1 kanecountyil.gov, 1 @@ -78218,7 +77464,7 @@ kangutingo.com, 1 kangzaber.com, 1 kaninchenartikel.de, 1 kanis.ag, 1 -kanitha.sk, 0 +kanitha.sk, 1 kankakeecountyclerk.gov, 1 kankerpannekoek.nl, 1 kankfn.com, 1 @@ -78235,7 +77481,7 @@ kanoumokuzai.co.jp, 1 kanpian369.com, 1 kanru-clinic.com.tw, 1 kansai-ramen-derby.com, 1 -kansascityzoo.org, 1 +kansascityzoo.org, 0 kansasconstruction.ga, 1 kansashealth.tk, 1 kansashighwaypatrol.gov, 1 @@ -78254,11 +77500,11 @@ kantrok.com, 1 kantube.tk, 1 kanui.ml, 1 kanuking.de, 1 -kanustation.de, 1 kanuvu.de, 1 kanvasbaski.tk, 1 kanz.jp, 1 kanzashi.com, 1 +kanzlei-sixt.de, 1 kanzshop.com, 1 kaohongshu.blog, 1 kaora.cz, 1 @@ -78621,6 +77867,8 @@ katzei.fr, 1 katzenbrunnen-test.de, 1 katzensklave.me, 1 katzrkool.xyz, 1 +kau-boys.com, 1 +kau-boys.de, 1 kaufberatung.community, 1 kaufhausdesaffen.com, 1 kaufkraftkiel.de, 1 @@ -78760,13 +78008,11 @@ kc1hbk.com, 1 kc3.moe, 1 kc5mpk.com, 1 kcc8.com, 1 -kccargo.us, 1 kcfiradio.com, 1 kchanews.com, 1 kcire.me, 1 kck-online.tk, 1 kckarchitects.com, 1 -kcliner.com, 1 kcmak.net, 1 kcmicapital.com, 1 kcnawatch.org, 1 @@ -78882,7 +78128,6 @@ keepleft.gr, 1 keeprunning.fun, 1 keepsakedna.com, 1 keepsight.org.au, 1 -keepsmyrnabeautiful.com, 1 keepsolid.com, 1 keesmartens.tk, 1 keesslop.nl, 1 @@ -78929,8 +78174,8 @@ keisinger.name, 1 keitaro.io, 1 keith.pro, 1 keithazzopardi.tk, 1 +keithblakemorenoble.com, 1 keithcwood.com, 1 -keithlomax.com, 1 keithmcmillen.com, 1 keiths.ml, 1 keithstaxis.co.uk, 1 @@ -78945,7 +78190,6 @@ kekku.li, 0 kekoskee.gov, 1 keks.loan, 1 keksi.io, 1 -kela.jp, 1 kelamanproduction.tk, 1 kelamb.com, 1 kelantan.tk, 1 @@ -78992,7 +78236,6 @@ kellimacconnell.com, 1 kellyandantony.com, 1 kellygrenard.com, 1 kellyosbourne.tk, 1 -kellyporn.com, 1 kellyskastles.co.uk, 1 kellyswordshop.com, 1 kellyvoice.tk, 1 @@ -79008,7 +78251,6 @@ kelts.tk, 1 kelvinchung.tk, 1 kelvinfichter.com, 0 kelyan.fr, 1 -kelyon.biz, 1 kelyon.com, 1 kelyon.es, 1 kelyon.eu, 1 @@ -79106,7 +78348,7 @@ kentlove.com, 1 kento.nl, 1 kentradioaeromodelers.com, 1 kentut.xyz, 1 -kenvix.com, 1 +kenvix.com, 0 kenw.ca, 1 kenwood-electronics.co.uk, 1 kenwood.de, 1 @@ -79229,6 +78471,7 @@ keurigbestprice.tk, 1 keuvelaar.nl, 1 keuze.nl, 1 kevansizemore.com, 1 +kevay.nl, 1 kevchia.com, 1 keventajat.fi, 1 kevertje.net, 1 @@ -79566,6 +78809,7 @@ kieran.de, 1 kieranjones.uk, 1 kieranpotts.com, 1 kieranweightman.me, 1 +kierlandgolf.com, 0 kierweb.co.uk, 1 kiesjeplek.nl, 1 kiesmedia.com, 0 @@ -79582,7 +78826,6 @@ kif.rocks, 0 kiffmarks.com, 1 kifid.nl, 1 kigurumi-party.ru, 1 -kihi.news, 1 kiinanharjakoirat.tk, 1 kiinteistot-lidl.fi, 1 kiiteyo.net, 1 @@ -79793,7 +79036,6 @@ kingfin.com, 1 kingfisherhallacademy.org.uk, 1 kingiescastles.co.uk, 1 kingjamesbibleonline.org, 1 -kingjamesgospel.com, 1 kingkongxo.com, 1 kinglier.ga, 1 kingliey.ga, 1 @@ -80054,7 +79296,6 @@ kitpara.shop, 1 kits-graphiques-shop.tk, 1 kits-graphiques.tk, 1 kitsap.gov, 1 -kitsapsolutions.com, 1 kitscan.com, 1 kitseliit.ee, 1 kitspersonal.tk, 1 @@ -80119,7 +79360,6 @@ kjccradio.tk, 1 kjcdaily.xyz, 1 kjchernov.info, 1 kjellner.com, 1 -kjelltitulaer.com, 1 kjellvn.net, 1 kjfaudio.com, 1 kjkesklinna.edu.ee, 1 @@ -80147,7 +79387,6 @@ kkaramela.eu, 1 kkc.com, 1 kkcinemas.in, 1 kkcomcon.com, 1 -kkcsc.co.jp, 1 kkdesignsco.com, 1 kke8tt.top, 1 kkforwarding.com, 1 @@ -80169,7 +79408,7 @@ kkk209.com, 0 kkkkk.click, 1 kklb.de, 1 kknapredak-rubin.tk, 1 -kkpig.cn, 1 +kkpig.cn, 0 kkpp.ga, 1 kkr-bridal.net, 1 kkren.me, 0 @@ -80191,7 +79430,6 @@ kladionice.tv, 1 kladson.com, 1 kladzdor.ga, 1 kladzdor.tk, 1 -klaim.us, 1 klamathrestoration.gov, 1 klamathtribalhealth.gov, 1 klanggut.at, 1 @@ -80228,7 +79466,6 @@ klaver.it, 1 klaverjassen.tk, 1 klavierhaus-klavins.de, 1 klavierwunsch.de, 1 -klaxon.me, 1 klaxon.ml, 1 klaymemez.com, 1 kle.cz, 1 @@ -80293,6 +79530,7 @@ klikarnia.pl, 1 kliki.tk, 1 klikket.dk, 0 kliklinks.tk, 1 +klikmanga.id, 1 klikmarket.tk, 1 klikweb.id, 1 klima.com, 1 @@ -80410,7 +79648,6 @@ knapenzutendaal.tk, 1 knapp.noip.me, 1 knapp.pro, 1 knapp.servehttp.com, 1 -knarcraft.net, 1 knarkkorven.tk, 1 knarzkopf.de, 1 knashaug.com, 1 @@ -80477,7 +79714,6 @@ know2protect.gov, 1 knowarth.com, 1 knowbook.org, 1 knowdebt.org, 1 -knowl365.com, 1 knowledge-base.info, 0 knowledgeforce.com, 1 knowledgehook.com, 1 @@ -80579,7 +79815,6 @@ kode.ch, 0 kodeholic.me, 1 kodes.com.tr, 1 kodexplorer.ml, 1 -kodifirestick.info, 1 kodify.net, 1 kodigo.me, 1 kodineuerleben.eu, 1 @@ -80610,7 +79845,6 @@ koenrh.com, 1 koenrh.net, 1 koenrh.nl, 1 koenzk.nl, 1 -koerperdetektiv.ch, 1 koerperkult.ch, 1 koertner-muth.com, 1 koertner-muth.de, 1 @@ -80635,7 +79869,6 @@ kohlchan.top, 1 kohlmajer.de, 1 kohlpharma.com, 1 kohparadise.com, 1 -kohu.nz, 1 koi-lexikon.de, 1 koidulag.edu.ee, 1 koifish.org, 1 @@ -80765,7 +79998,6 @@ komp-plus.tk, 1 komp247.pl, 1 kompanen.nl, 1 kompaniya-vasya.tk, 1 -kompass-bildung.de, 1 kompetenzkurs.de, 1 kompiwin.com, 1 komplekt.gq, 1 @@ -80781,7 +80013,6 @@ komun.me, 1 kon-sil.de, 1 kon.cat, 1 konaki.net, 1 -konarentals.net, 1 konata.tech, 1 konbantsan.com.tr, 1 koncertbooking.com, 1 @@ -80815,7 +80046,6 @@ kongar.org, 1 kongjie.cf, 1 kongjie.ml, 1 kongress-hostessen.de, 1 -konicaprinterdriver.com, 0 koniecfica.sk, 0 konijnen-knaagdieren.tk, 1 koningerik.nl, 1 @@ -80840,6 +80070,7 @@ konser.co.uk, 1 konsertoversikt.no, 1 konservy.tk, 1 konskowola.info.pl, 1 +konsol.pro, 1 konst.se, 1 konstanz.tk, 1 konstitucia.com, 1 @@ -80968,7 +80199,6 @@ koreantextil.com.br, 1 koreanure.tk, 1 koreashop24.com, 1 koredia.com, 1 -korehomeinspections.com, 1 koreisai.tech, 1 koresageart.com, 1 korespondent.tk, 1 @@ -81297,8 +80527,8 @@ kremi.org, 0 kreno.tech, 1 krenstetter.at, 1 kreolis.net, 1 -krepmarket.ru, 1 kresimir-blazevic.tk, 1 +krestanskydarek.cz, 1 kretaforum.dk, 1 kretschmann.consulting, 1 kretschmann.it, 1 @@ -81408,6 +80638,7 @@ kronosproject.tk, 1 kronospsi.es, 1 krony.de, 1 kronych.cz, 1 +kroo.com, 1 kroon.email, 1 kroonika.ee, 1 kropkait.pl, 1 @@ -81482,6 +80713,7 @@ kryshodel.ml, 1 krystal-framework.ml, 1 krytykawszystkiego.com, 1 krytykawszystkiego.pl, 1 +kryx.de, 1 krzeslaonline.pl, 1 ks-19.com, 1 ks-39.com, 1 @@ -81672,7 +80904,7 @@ ktw.lv, 0 ku-7.club, 1 ku-niederwinkling.de, 1 ku.ag, 1 -kua.com, 1 +kua.com, 0 kuaforumden.com, 1 kuairead.com, 0 kuaishou.cf, 1 @@ -81695,7 +80927,6 @@ kubevocalbooth.com, 1 kubica.ch, 1 kubierecki.pl, 1 kubik-rubik.de, 1 -kubilaykiraz.com, 1 kubit.ai, 1 kubit.co, 1 kubit.us, 1 @@ -81742,9 +80973,9 @@ kuhn-elektrotechnik.de, 1 kuhne-electronic.de, 1 kuhnerts.eu, 1 kuinin.tk, 1 +kuisus.com, 1 kuitunenguthrie.tk, 1 kujalichildrenscentre.or.ke, 1 -kukaidh.com, 1 kukal.cz, 1 kukeri-karlovo.tk, 1 kuketz-blog.de, 1 @@ -81799,7 +81030,6 @@ kunadomowa.pl, 1 kunaki.com, 1 kunalchakate.tk, 1 kunaldesai.blog, 1 -kunanji.com, 1 kunashir.tk, 1 kuncrypto.com, 1 kunda.ovh, 1 @@ -81951,7 +81181,6 @@ kutahyaciniyapitasarim.com.tr, 1 kutaisi.it, 1 kutalek.cz, 1 kutalin.com, 1 -kutanam.com, 1 kutekeiki.com, 1 kuti.hu, 1 kutinsoft.com, 1 @@ -82038,7 +81267,6 @@ kwonjiyong.cn, 1 kwork-garand.tk, 1 kwx.gg, 1 kwyxz.org, 1 -kx197.com, 1 kxah35.com, 1 kxbot.ru, 1 kxc.inc, 1 @@ -82058,7 +81286,6 @@ kybi.sk, 1 kycisrael.com, 1 kydara.com, 1 kyfiat.com, 1 -kyj22.com, 1 kyj250.com, 1 kyj322.com, 1 kyj33.com, 1 @@ -82089,7 +81316,6 @@ kyle-s.com, 1 kyle.place, 0 kylebaldw.in, 0 kyledgoodwin.com, 1 -kyledrake.net, 1 kyleggiero.me, 1 kylegislature.gov, 1 kylegough.co.uk, 1 @@ -82155,7 +81381,6 @@ l.td, 1 l.tt, 1 l0re.com, 1 l17r.eu, 1 -l18.io, 1 l2.ai, 1 l214.com, 1 l2dragonland.tk, 1 @@ -82168,7 +81393,7 @@ l33roy.com, 1 l33te.net, 1 l36533.com, 1 l4s.me, 1 -l51365.com, 1 +l51365.com, 0 l5197.co, 1 l6729.co, 1 l6729.com, 1 @@ -82276,7 +81501,6 @@ labostark.fr, 1 labottegafinedistillates.it, 1 labouncycastlehire.co.uk, 1 labourmarketinsights.gov.au, 1 -labourreedevergheas.fr, 1 laboutiquedejuliette.com, 1 laboutiquedeluminia.fr, 1 laboutiquemarocaineduconvoyeur.com, 1 @@ -82364,6 +81588,7 @@ lacrossewi.gov, 1 lacroy.com.br, 1 lactatiekundigemanouk.nl, 1 lacuartaorden.tk, 1 +lacuerba.com, 1 lacuisine.tk, 1 lacuna-vermoegen.de, 1 lacyc3.eu, 1 @@ -82602,7 +81827,6 @@ lakesherwoodlandscapelighting.com, 1 lakesherwoodlighting.com, 1 lakesherwoodoutdoorlighting.com, 1 lakeshiremo.gov, 1 -lakeshowlife.com, 1 lakesideweb.design, 1 lakestreetministorage.com, 1 lakesviewrobina.com.au, 1 @@ -82672,7 +81896,6 @@ lamboo.be, 1 lamborghi.ni, 1 lamchannang.com, 1 lamclam.site, 1 -lamcondaugia-khacdaugia.com, 1 lamconnect.com, 1 lamdav.com, 1 lameco.com, 1 @@ -82770,7 +81993,6 @@ landforsale.co.il, 1 landfrauen-hermetschwil.ch, 1 landgoeddorrebeek.be, 1 landgorilla.com, 1 -landhuisweekend.nl, 1 landindex.io, 1 landinfo.no, 1 landingtransport.com, 1 @@ -82946,9 +82168,7 @@ laperladelduero.tk, 1 laperreraflamenca.tk, 1 lapesbaldai.lt, 1 lapetitefontaine.restaurant, 1 -lapetition.be, 1 lapicena.eu, 1 -lapierrecabinetry.com, 1 lapina.tk, 1 lapinas.com, 1 lapinator.net, 1 @@ -82956,7 +82176,7 @@ lapinmalin.tk, 1 lapismagico.com, 1 lapix.com.co, 1 laplace.chat, 1 -laplace.live, 1 +laplace.live, 0 laplace.network, 1 laplacesicherheit.de, 1 lapland.shop, 1 @@ -82986,7 +82206,7 @@ laptoppowerjackinc.com, 1 laptopsperu.com, 0 laptopuri.tk, 1 laptopvideo2go.com, 1 -laptopworld.dk, 0 +laptopworld.dk, 1 lapublicpress.org, 1 lapulgaflamenco.com, 1 laqira.io, 1 @@ -83093,7 +82313,6 @@ lasanious.com, 1 lasarmas.com, 1 lasavonnerieducroisic.fr, 1 lascana.co.uk, 1 -lascandalistas.org, 1 laschoolpolice.gov, 1 lascruces.gov, 1 lasdelgadas.tk, 1 @@ -83107,11 +82326,11 @@ laserhealthsolutions.com, 1 laserplaza.de, 1 laserplaza.net, 1 laserpunch.tk, 1 -lasersandbacon.com, 1 lasersolutions.tk, 1 lasertel.com.pk, 1 lasfolladoras.com, 1 lasik-safely.com, 1 +lasinfusiones.com, 0 lasiodora.tk, 1 lasittellecosmetiques.com, 1 lasix-medication.cf, 1 @@ -83212,7 +82431,7 @@ laten.tk, 1 latenitefilms.com, 0 latentviewanalytics.com, 1 lateral.dog, 1 -lateralsecurity.com, 1 +lateralsecurity.com, 0 lateraltrust.com, 1 laterremotodealcorcon.tk, 1 latestairfaredeals.com, 1 @@ -83259,7 +82478,6 @@ lattyware.co.uk, 1 lattyware.com, 1 latuadro.ga, 1 latviaonline.tk, 1 -latymer.co.uk, 1 laubacher.io, 1 laube-school.com, 1 laubo.tk, 1 @@ -83410,11 +82628,9 @@ lawinorder.com.au, 1 lawlessenglish.com, 1 lawlessfrench.com, 1 lawlessitalian.com, 1 -lawlessrepublic.com, 1 lawlessspanish.com, 1 lawluxury.com, 1 lawma.one, 1 -lawmate.ai, 1 lawmint.com, 1 lawn-seeds.com, 1 lawnandordercs.com, 1 @@ -83460,7 +82676,6 @@ lawyerscredentialsers.ga, 1 lawyerscredentialsest.ga, 1 lawyerscreenerers.ga, 1 lawyerscreenerest.ga, 1 -lawyerservices.in, 1 lawyersofmissouri.com, 1 lawzakon.tk, 1 lawzana.com, 1 @@ -83475,6 +82690,7 @@ layermesh.net, 1 layers.media, 1 layflamso.tk, 1 laylo.io, 1 +laylo.nl, 1 laymans911.info, 1 layoutsatzunddruck.de, 1 layt.org, 1 @@ -83903,7 +83119,6 @@ leconnecteur-biarritz.fr, 1 lecourriercauchois.fr, 1 lecrayondemarz.com, 1 lecreative.tk, 1 -lecteurs.com, 1 lectormanga.top, 1 lecturaweb.tk, 1 lecul.site, 1 @@ -83934,7 +83149,6 @@ ledwit.ru, 1 lee.in, 1 lee.net, 1 leeaaronsrealestate.com, 1 -leeapk.com, 1 leebiblestudycenter.co.uk, 1 leebiblestudycenter.com, 1 leebiblestudycentre.com, 1 @@ -84044,7 +83258,6 @@ legalcustom.ga, 1 legaldelta.ga, 1 legaldish.ga, 1 legaldodge.ga, 1 -legaldrop.com, 1 legalebony.ga, 1 legalecasinosnederland.nl, 1 legalepic.ga, 1 @@ -84101,7 +83314,6 @@ legalsouthbeach.ga, 1 legalsrit.tk, 1 legalsustain.ga, 1 legalthunder.ga, 1 -legaltile.com, 1 legaltings.com, 1 legaltip.eu, 1 legaltity.com, 1 @@ -84148,7 +83360,6 @@ legkie-recepty.tk, 1 legko-pohudet.cf, 1 legko-pohudet.ml, 1 legko-pohudet.tk, 1 -legland.fr, 1 legna.roma.it, 1 legnami24.it, 1 legoktm.com, 1 @@ -84256,7 +83467,7 @@ lemediajustice.fr, 1 lemediateur-creditagricole-nord-est.com, 1 lemefly.com, 1 lemeridienchambers.com, 1 -lemieuxbedard.com, 1 +lemgstudio.com, 1 lemieuxproducts.com, 1 leminhduong.com, 1 lemitron.fr, 1 @@ -84272,7 +83483,6 @@ lemonadefashion.com, 1 lemonardo.ga, 1 lemoncloud.eu.org, 1 lemoniax.com, 1 -lemonparty.co, 1 lemonpic.ga, 1 lemonpool.com.tr, 1 lemonrfx.com, 1 @@ -84369,7 +83579,6 @@ leo.gov, 1 leoandpeto.com, 1 leob.in, 0 leoburnett.com, 1 -leochedibracchio.com, 1 leocollo.com, 1 leodraxler.at, 1 leojweda.com, 1 @@ -84465,11 +83674,9 @@ lequocthai.com, 1 ler3.com, 1 lerameau.fr, 1 lerefuge.xyz, 1 -leretour.ch, 0 lerika.tk, 1 lerks.blog, 1 lerku.com, 1 -lerlivros.online, 1 lernenamsee.ch, 1 lernorteuropa.com, 1 lernorteuropa.de, 1 @@ -84538,7 +83745,6 @@ lesmills-redirect-test.azurewebsites.net, 1 lesmontagne.net, 1 lesnet.co.uk, 1 lesnoticiesdensergialarcon.site, 1 -lesoleilcafe.com, 1 lesours.in, 1 lesparqueteurs.xyz, 1 lespatriotes.tk, 1 @@ -84592,7 +83798,6 @@ leticia.com.tw, 1 leticia.ml, 1 letiloulous.fr, 1 letipweb.tk, 1 -letitfleet.com, 1 letitfleet.io, 1 letitfly.me, 1 letiziamx.com, 0 @@ -84600,6 +83805,7 @@ letmdesigncommercial.com, 1 letmebet.de, 1 letmepost.com, 1 letnik.tk, 1 +leto12.xyz, 0 letocar.com, 1 letopise.com, 1 letote.com, 0 @@ -84624,6 +83830,7 @@ letsdoeit.com, 1 letsdothatagain.gq, 1 letsdothatagain.ml, 1 letsdothatagain.tk, 1 +letsearnit.com, 1 letselhulpservice.nl, 1 letsencrypt-for-cpanel.com, 1 letsflyinto.space, 1 @@ -84634,7 +83841,6 @@ letsgomaldives.com, 1 letsgowhilewereyoung.com, 1 letsknow.ga, 1 letsknow.tk, 1 -letskona.com, 1 letsmakeiteasy.tech, 1 letson.me, 1 letsorganise.uk, 1 @@ -84705,7 +83911,6 @@ leviathanstory.tk, 1 levico.tk, 1 levida.ca, 1 levidromelist.com, 1 -levimarvin.site, 0 levineteamestates.com, 1 levinus.de, 1 levis.fun, 1 @@ -84737,7 +83942,7 @@ lewis-sharp.com, 1 lewiscollard.com, 1 lewiscountyny.gov, 1 lewiscountytn.gov, 1 -lewisdatasecurity.com, 1 +lewisdatasecurity.com, 0 lewisjuggins.co.uk, 1 lewismcyoutube.uk, 1 lewistonutah.gov, 1 @@ -84793,6 +83998,7 @@ lez2020.gent, 1 lezbomovies.com, 1 lezdomsm.com, 1 lezen.tk, 1 +lezgetreal.com, 1 lezhang.top, 1 leziblog.cn, 1 lezwatchtv.com, 0 @@ -85180,7 +84386,6 @@ lifecraft.cf, 1 lifedrops.com.au, 1 lifefoto.de, 1 lifegoesonsojustsmile.tk, 1 -lifeguatemala.com, 1 lifehacker.com, 1 lifeinheart.com, 1 lifeinhellfansite.tk, 1 @@ -85292,7 +84497,6 @@ lightingthousandoaks.com, 1 lightingwestlakevillage.com, 1 lightme.us, 1 lightmere.com, 1 -lightning-wallet.com, 1 lightning.com, 1 lightning.community, 1 lightning.engineering, 1 @@ -85395,7 +84599,6 @@ lilawadee.tk, 1 lile.cl, 1 lilianejuchli.ch, 1 liliang.moe, 1 -liliang13.com, 1 lilicloth.com, 1 lilidarcek.sk, 0 lilie.fr, 1 @@ -85453,6 +84656,7 @@ lime-host.cf, 1 lime-host.tk, 1 limechain.tech, 1 limecho.net, 1 +limehost.com, 1 limehotel.tk, 1 limelightnashville.cf, 1 limelightnashville.ga, 1 @@ -85581,7 +84785,6 @@ linea-nova.be, 1 lineaesse5.it, 1 lineageos.org, 1 lineamortal.tk, 1 -linearmap.com, 1 linebet.com, 1 linebet02489q.com, 1 linebet17654d.com, 1 @@ -85604,6 +84807,7 @@ lingeriesilhouette.com, 1 lingolia.com, 0 lingros-test.tk, 1 lingshan.tk, 1 +lingua-arabica.org, 1 lingua.tk, 1 lingualeo.com, 1 linguamilla.com, 1 @@ -85856,7 +85060,6 @@ liquidcorp.fr, 1 liquidflash.ml, 1 liquidhost.co, 1 liquidinternet.co, 1 -liquidplus.com, 1 liquidradio.pro, 1 liquidwarp.net, 1 liquidweb.tk, 1 @@ -85932,6 +85135,7 @@ lister-kirchweg.de, 1 listerplace.co.uk, 1 listerventures.com, 0 listiclepal.com, 1 +listim.com, 1 listinfinity.net, 1 listing.gq, 1 listisima.com, 1 @@ -86029,7 +85233,6 @@ littlebootshonduras.tk, 1 littleboutiqueshop.co.uk, 1 littleboutiqueshop.com, 1 littleboutiqueshop.uk, 1 -littlechamp.ro, 1 littlecreatures.com.au, 1 littlecreekhosting.com, 1 littlecrochetbytabea.com, 1 @@ -86055,10 +85258,10 @@ littlemaster.tk, 1 littlenicky.org, 1 littlenina.nz, 0 littleorangecookbook.com, 1 +littleorchardpreschool.us, 1 littlepigcreek.com.au, 1 littlepincha.fr, 0 littleqiu.net, 1 -littleredsbakeshop.com, 1 littlericket.me, 1 littleriverfreerange.ga, 1 littlerose.ml, 1 @@ -86122,7 +85325,6 @@ live9922.com, 1 liveachievers.tk, 1 liveandalucia.es, 1 liveanimations.org, 1 -liveatliveoakapts.com, 1 livebandphotos.com, 1 livebarmenu.com, 1 livebestbooks.gq, 1 @@ -86259,7 +85461,6 @@ livnev.xyz, 1 livogeva.dk, 1 livornonellarete.tk, 1 livornotoday.it, 1 -livrariaatlantico.com, 1 livrariacoad.com.br, 1 livrariaideak.com.br, 1 livrariause.com, 1 @@ -86268,7 +85469,6 @@ livresetmanuscrits.com, 1 livroseuniformes.com.br, 1 livspace.com, 1 livsta.ca, 1 -livy.one, 1 lixi.today, 1 lixiaoyu.live, 1 lixinnovations.com, 1 @@ -86291,7 +85491,6 @@ lizcheney.com, 1 lizeal.tk, 1 lizheng.de, 1 lizhi.io, 1 -lizhi123.net, 1 lizhuan.cn, 0 lizlew.is, 1 liznewton.com.au, 1 @@ -86454,7 +85653,6 @@ loc-gauthier.fr, 1 loca-voiture.fr, 1 locabir.cf, 1 locadoraequiloc.com.br, 1 -locais.org, 1 local-insight.com, 1 local360.net, 1 localassocier.tk, 1 @@ -86465,7 +85663,6 @@ localblitz.com, 1 localbouncycastle.com, 1 localcdn.org, 1 localcleann.uk, 1 -localcrew.eu, 0 localcryptos.com, 1 locald.at, 1 localdating.ml, 1 @@ -86602,7 +85799,6 @@ locomotiveworks.co.uk, 1 locoroom.com, 1 locoserver.net, 1 locspec.com.au, 1 -locus-cell.com, 1 locus-dashboard.com, 1 locus.ml, 1 locus.tk, 1 @@ -86717,7 +85913,6 @@ logitrack.tk, 1 loglineargroup.com, 1 logndetektor-test.no, 1 lognetjobs.co.uk, 1 -logo-vogtland.de, 1 logodestekhatti.net, 1 logodevir.biz, 1 logodevir.org, 1 @@ -86731,6 +85926,7 @@ logomarket.jp, 1 logon-int.com, 1 logopaedie-millian.de, 1 logopaedie-sandkrug.de, 1 +logopaediereinhard.de, 0 logopedickyden.cz, 1 logopedie-direct.nl, 1 logopedietaalrijk.nl, 1 @@ -86761,7 +85957,6 @@ lohocla.org, 1 lohr.me, 1 lohr.net, 1 loic-raymond.fr, 1 -loichot.ch, 0 loiit.ga, 1 loire-en-bateau.fr, 1 loirevalley.co, 1 @@ -86799,7 +85994,6 @@ lojanewinvincible.com.br, 1 lojaodo9.com.br, 1 lojaprimemed.com.br, 1 lojaprojetoagua.com.br, 1 -lojasatacarejo.com.br, 1 lojasmary.com.br, 1 lojasoulstyle.com.br, 1 lojasportmixonline.com.br, 1 @@ -86814,7 +86008,6 @@ lojavirtualdopsicopedagogo.com.br, 1 lojavirtualinfopaper.com.br, 1 lojavisamed.com.br, 1 lojaxo.com.br, 1 -lojinhadachina.com.br, 1 lojistaguarani.com.br, 1 lojix.com, 0 lojj.pt, 1 @@ -86897,7 +86090,7 @@ lolnews.tk, 1 lolo17.com, 1 lols.gg, 1 lolware.net, 1 -lom.name, 1 +lom.name, 0 loma.ml, 1 lomaster.tk, 1 lomayko.ml, 1 @@ -86936,7 +86129,6 @@ londonkan.jp, 1 londonkeyholdingcompany.co.uk, 1 londonmoneyman.com, 1 londonnorthwesternrailway.co.uk, 1 -londonpods.co.uk, 1 londonpropertymatch.com, 1 londonschool.mx, 1 londonseedcentre.co.uk, 1 @@ -86993,8 +86185,6 @@ long0976.com, 1 long0999.com, 1 long100.vip, 1 long113.com, 1 -long226.com, 1 -long228.com, 1 long266.com, 1 long68.net, 1 long688.com, 0 @@ -87103,7 +86293,7 @@ loraincountyrecorder.gov, 1 lorasong.com, 1 loratadine10mg.gq, 1 lorbooks.tk, 1 -lorcalive.co.uk, 1 +lorcalive.co.uk, 0 lorcamadrid.tk, 1 lorcanaplayer.com, 1 lord-design.tk, 1 @@ -87120,7 +86310,6 @@ lordkrishna.tk, 1 lordlink.net, 1 lordmusic.tk, 1 lordofcbd.fr, 1 -lordofthebrick.com, 0 lordofthecraft.tk, 1 lordschimney.com, 1 lordsesshoumaru.tk, 1 @@ -87305,7 +86494,6 @@ louange-reconvilier.ch, 0 louboutin.tk, 1 louboutinshoessale.tk, 1 loud-dragon.tk, 1 -loudavymkrokem.cz, 1 loudcloudhealth.com, 1 louddesignstudios.com, 1 louderfaster.co.uk, 1 @@ -87362,7 +86550,6 @@ lousoyolos.fr, 1 loutro.tk, 1 louwlemmer.com, 1 louyu.cc, 1 -lov4affiliate.com, 1 lovcasino.com, 1 love-and-hate.cf, 1 love-books.ga, 1 @@ -87373,7 +86560,6 @@ love-sent.com, 1 love-spells-tarot.com, 1 love4musik.com, 1 love4taylor.eu.org, 1 -love4taylor.me, 0 love4taylor.xyz, 1 loveai.org, 0 loveamber.me, 1 @@ -87389,7 +86575,6 @@ lovechester.com, 1 lovecrystal.co.uk, 1 lovecsnov.tk, 1 lovedaleschool.tk, 1 -lovedepot.com, 1 lovedutch.tk, 1 lovegpl.com, 1 lovehairstyles.com, 1 @@ -87600,7 +86785,6 @@ ltonlinestore.in, 0 ltransferts.com, 1 ltservers.net, 1 lty.best, 1 -lty.name, 0 lty.space, 1 ltycode.org, 1 lu-rp.es, 1 @@ -87639,7 +86823,6 @@ lucascosta-ido.ml, 1 lucascountyohiovotes.gov, 1 lucasdamasceno.com, 1 lucasem.com, 1 -lucasfrinktbe.com, 1 lucasg.org, 1 lucasgymnastics.com, 1 lucasjag.com.br, 1 @@ -87751,6 +86934,7 @@ ludum-polus.xyz, 1 ludum.pl, 1 ludunwayoo.com, 1 ludwig.im, 1 +ludwiggrill.de, 1 ludwigjohnson.se, 1 ludwigpro.net, 1 ludwigsburger-brauhaus.de, 1 @@ -87759,6 +86943,7 @@ lueersen.homedns.org, 1 luehne.de, 1 luelistan.net, 0 luematecidos.com, 1 +luematecidos.com.br, 1 luenwarneke.com, 1 lufa.com, 1 luffyhair.com, 1 @@ -87781,7 +86966,7 @@ luijten.it, 1 luijten.net, 1 luis-portfolio.es, 1 luis.ee, 1 -luis.fi, 1 +luis.fi, 0 luisa-birkner.de, 1 luisafernandapenuela.com, 1 luisanalopilatogrecia.tk, 1 @@ -87864,7 +87049,6 @@ lukolab.lt, 1 lukonet.com, 1 lukullpizza.de, 1 lule-kendo.tk, 1 -lullabycandles.es, 1 lullugun.net, 1 luls.tk, 1 luluca.com.br, 1 @@ -87897,7 +87081,6 @@ luminia-informatique.fr, 1 luminsmart.com, 1 lumitop.com, 1 lumixtar.com, 1 -lumizor.com.ua, 1 lummi-nsn.gov, 1 lummihealth.gov, 1 lumminary.com, 1 @@ -88112,8 +87295,6 @@ luxvacuos.net, 1 luxwatch.com, 1 luyckx.net, 1 luyungterd.com, 0 -luzat.com, 0 -luzfaltex.com, 1 luzi-type.ch, 1 luzica.tk, 1 lv.lk, 1 @@ -88221,6 +87402,7 @@ lyonelkaufmann.ch, 0 lyonliving.com, 1 lyonsbytes.com, 1 lyontwp-higginsmi.gov, 1 +lyradhealth.com, 0 lyrae.de, 1 lyrenhex.com, 1 lyrex.net, 1 @@ -88244,7 +87426,6 @@ lysergion.com, 1 lysethcreation.com, 1 lyst.co.uk, 1 lyteclinic.com, 0 -lytkins.ru, 1 lyubov-sovmestimost.cf, 1 lyuda.tk, 1 lyukaacom.ru, 1 @@ -88263,7 +87444,6 @@ lzwwebsite.tk, 1 lzzr.me, 1 m-16.ml, 1 m-22.com, 1 -m-a-s.cc, 1 m-ast.de, 1 m-beshr.tk, 1 m-cert.fr, 0 @@ -88516,7 +87696,6 @@ mad.es, 1 mad2moi.com, 1 madadmin.com, 1 madae.nl, 1 -madagui.com, 1 madamasr.com, 1 madamcougar.com, 1 madameblueimages.com, 1 @@ -88626,6 +87805,7 @@ madskauts.tk, 1 madskill.tk, 1 madskills.tk, 1 madsklitgaard.dk, 1 +madskristensen.dk, 1 madspeed-performance.tk, 1 madsstorm.dk, 0 madteam.tk, 1 @@ -88782,29 +87962,29 @@ magictable.com, 1 magictallguy.tk, 1 magicthecreation.tk, 1 magicvalley.com, 1 -magicvaporizers.at, 1 -magicvaporizers.be, 1 -magicvaporizers.co.uk, 1 -magicvaporizers.com, 1 -magicvaporizers.cz, 1 -magicvaporizers.de, 1 -magicvaporizers.dk, 1 -magicvaporizers.ee, 1 -magicvaporizers.es, 1 -magicvaporizers.fi, 1 -magicvaporizers.fr, 1 -magicvaporizers.gr, 1 -magicvaporizers.hr, 1 -magicvaporizers.hu, 1 -magicvaporizers.ie, 1 -magicvaporizers.it, 1 -magicvaporizers.lu, 1 -magicvaporizers.nl, 1 -magicvaporizers.pl, 1 -magicvaporizers.pt, 1 -magicvaporizers.se, 1 -magicvaporizers.si, 1 -magicvaporizers.sk, 1 +magicvaporizers.at, 0 +magicvaporizers.be, 0 +magicvaporizers.co.uk, 0 +magicvaporizers.com, 0 +magicvaporizers.cz, 0 +magicvaporizers.de, 0 +magicvaporizers.dk, 0 +magicvaporizers.ee, 0 +magicvaporizers.es, 0 +magicvaporizers.fi, 0 +magicvaporizers.fr, 0 +magicvaporizers.gr, 0 +magicvaporizers.hr, 0 +magicvaporizers.hu, 0 +magicvaporizers.ie, 0 +magicvaporizers.it, 0 +magicvaporizers.lu, 0 +magicvaporizers.nl, 0 +magicvaporizers.pl, 0 +magicvaporizers.pt, 0 +magicvaporizers.se, 0 +magicvaporizers.si, 0 +magicvaporizers.sk, 0 magicvodi.at, 1 magicvoordeel.nl, 1 magieshop.nl, 1 @@ -88875,7 +88055,6 @@ magonote-nk.com, 1 magornitho.org, 1 magosmedellin.com, 1 magraebela.com, 1 -magravsitalia.com, 1 magsdata.com, 1 magu.kz, 1 mague.org, 1 @@ -88889,7 +88068,6 @@ magyal.hu, 1 magyarepitok.hu, 1 mah-nig.ga, 1 mahabharat.tk, 1 -mahadbtmahait.net.in, 1 mahadihasan.cf, 1 mahadsunnah.com, 1 mahalaraibanda.ro, 1 @@ -88942,7 +88120,6 @@ mahurivaishya.com, 1 mai.ru, 1 maiaimobiliare.ro, 1 maialeechin.com, 1 -maianduc.vn, 1 maiateam.pt, 1 maichun.info, 0 maid.gg, 1 @@ -89047,7 +88224,7 @@ main-bvxea6i-sw23ji6z2nxsu.us-4.platformsh.site, 1 main1.host, 1 maindrivekew.com.au, 1 mainechiro.com, 1 -mainehousing.org, 1 +mainehousing.org, 0 mainelosap.gov, 1 mainframeserver.space, 1 mainhattan-handwerker.de, 1 @@ -89082,7 +88259,6 @@ maison-coutin.com, 1 maison-du-savon-de-marseille.fr, 1 maison-et-domotique.com, 1 maison-haimard.fr, 1 -maisonetdesign.fr, 1 maisonkobe.fr, 1 maisonmere.group, 1 maisonpourtous.ca, 1 @@ -89125,7 +88301,6 @@ majlovesreg.one, 1 majolka.com, 1 majorhifi.com, 1 majorpaintingco.com, 1 -majorpussycum.com, 1 majusainsurance.com, 1 makaleci.com, 1 makalu.me, 1 @@ -89181,7 +88356,7 @@ makeuppleasure.it, 1 makeurbiz.com, 1 makeurl.ml, 1 makewebbetter.com, 1 -makfra.com, 1 +makfra.com, 0 makhmudov.net, 1 makhzan.org, 1 maki-chan.de, 1 @@ -89297,7 +88472,6 @@ malikdeenarislamicacademy.tk, 1 maliksofts.com, 1 malikussa.id, 1 malikussaid.com, 1 -malikzinad.com, 0 malimusavirler.tk, 1 malinaclub.com, 1 malinheadview.ie, 1 @@ -89355,7 +88529,6 @@ malwarewise.com, 1 malworld.me, 1 malwr.ee, 1 malypiesekzuzi.pl, 1 -malysvet.net, 0 mamabatataya.com, 1 mamacasinos.com, 1 mamacitaz.com, 1 @@ -89400,7 +88573,6 @@ mamont.cloud, 1 mamontov.tk, 1 mamopracuj.pl, 1 mamoris-net.jp, 1 -mamospienas.lt, 1 mamot.fr, 1 mamradost.sk, 1 mamsds.com, 1 @@ -89435,7 +88607,6 @@ manageprojects.com, 0 manager.linode.com, 0 managment.io, 1 manalu.cz, 1 -manamohajerat.com, 1 manaonetrading.com, 1 manasakcijas.lv, 1 manaspaul.tk, 1 @@ -89764,7 +88935,6 @@ map.fund, 1 map4erfurt.de, 1 map4jena.de, 1 mapa-airsoft-akci.cz, 1 -mapado.ru, 1 mapapeterie.ca, 1 mapasmundi.com.br, 1 mapausenaturelle.fr, 1 @@ -89822,7 +88992,6 @@ maranza.org, 1 marasma.tk, 1 marathoncitywi.gov, 1 marathons.tk, 1 -marathonsports.com, 1 marauderos.tk, 1 marazul.tk, 1 marbellaoptic.ro, 1 @@ -89927,6 +89096,7 @@ mare.org.mk, 1 mare92.cz, 1 marebca.xyz, 1 marechal-company.com, 1 +mareforfa.com, 1 maregionsud.fr, 1 marei.ad, 1 mareinitalia.com, 1 @@ -89959,7 +89129,6 @@ margolis.gq, 1 margotbworldnews.tk, 1 margotdesign.ovh, 1 margots.biz, 1 -margots.life, 1 margots.tech, 1 margriet.nl, 1 margus.uk, 0 @@ -90009,7 +89178,6 @@ mariejulien.com, 1 mariella-sun.net, 1 marielouise.tk, 1 mariemccaig.co.uk, 1 -mariemiramont.fr, 1 mariereichl.cz, 1 mariescountymo.gov, 1 marieskyler.net, 1 @@ -90025,7 +89193,6 @@ marilower.tk, 1 marilsnijders.nl, 1 marilynandsarah.org, 1 marilynmonroy.com.ec, 1 -marin-business-center.ch, 0 marin-dom.ru, 0 marin-tullet.com, 0 marina-group.tk, 1 @@ -90167,7 +89334,7 @@ marketresearch.biz, 1 marketsearch.ga, 1 marketsnerd.com, 1 marketsosyali.tk, 1 -markettailor.io, 1 +markettailor.io, 0 marketvalue.gq, 1 marketvolume.com, 1 marketyourcup.com, 1 @@ -90498,7 +89665,6 @@ masakigarden.com, 1 masalaband.tk, 1 masaloku.com.tr, 1 masanteadelavenir.fr, 1 -masantefinanciere.com, 1 masanunciosimpresos.com, 1 masarik.sh, 1 masaze-hanka.cz, 1 @@ -90589,7 +89755,6 @@ massagetherapyschoolsinformation.com, 1 massaggio.it, 1 massagik.ml, 1 massanews.com, 1 -massapothecary.com, 1 massauditor.gov, 1 massazh.cf, 1 massbank.eu, 1 @@ -90604,6 +89769,7 @@ massiveanalyser.com, 1 massiveassault.tk, 1 masskick.ga, 1 massmurder.tk, 1 +massmutualascend.com, 0 massolutions.pro, 1 masspingtool.com, 0 masstercurssos.com, 1 @@ -90652,7 +89818,6 @@ masterofallscience.com, 1 masterofazoth.tk, 1 masterofbytes.ch, 1 masterpassword.org, 1 -masterpieceessays.com, 1 masterplc.com, 1 masterproseo.ru, 1 masterpsylogos.ru, 1 @@ -90836,7 +90001,6 @@ matov.tk, 1 matovaya-pomada.ml, 1 matozone.com, 1 matpools.com, 1 -matras.kiev.ua, 1 matratzentester.com, 1 matreon.nl, 1 matrichelp.co.za, 1 @@ -90910,7 +90074,6 @@ matthew-cash.com, 1 matthewberry.co.za, 1 matthewburket.com, 1 matthewcollins.me, 1 -matthewfells.com, 1 matthewgallagher.co.uk, 1 matthewgraybosch.com, 1 matthewgrow.com, 1 @@ -91111,7 +90274,6 @@ maxconstructionmachinery.com, 1 maxdargent.com, 1 maxdata.pt, 1 maxedgymequipment.com, 1 -maxformanagement.com, 1 maxgamez.tk, 1 maxh.me.uk, 1 maxh.name, 1 @@ -91176,7 +90338,6 @@ maxopen.cf, 1 maxopolyworldnews.com, 1 maxp.info, 0 maxpl0it.com, 1 -maxplay.online, 1 maxpoint.it, 1 maxportal.tk, 1 maxprog.com, 1 @@ -91267,7 +90428,6 @@ mazet-machines-a-coudre.fr, 1 mazhab.tk, 1 mazik.tk, 1 mazken.tk, 1 -mazouttank.be, 1 mazternet.ru, 1 mazurlabs.tk, 1 mazury-invest.pl, 1 @@ -91279,7 +90439,6 @@ mb-is.info, 1 mb-server.de, 1 mb-t.net, 1 mb300sd.com, 1 -mb300sd.net, 1 mbaasy.com, 1 mbaestlein.de, 1 mbainflatables.co.uk, 1 @@ -91350,8 +90509,6 @@ mcalert.in, 1 mcaps-mn.gov, 1 mcb-bank.com, 1 mcbbs.wiki, 1 -mcblain.ca, 1 -mcblain.com, 1 mcbooks.vn, 0 mccannhealth.com, 1 mccannworldgroup.com, 1 @@ -91497,7 +90654,6 @@ mctitan.net, 1 mctools.org, 1 mctwcloud.tk, 1 mcubedigital.com, 1 -mcuexchange.com, 1 mcukhost.co.uk, 1 mcuuid.net, 1 mcversions.net, 1 @@ -92141,7 +91297,6 @@ medicareinfo.org, 1 medicaremarket.com, 1 medicaresupplement.com, 1 medicasa-gmbh.de, 1 -medicel.com, 1 medicenteritalia.it, 1 medichat.ml, 1 medicimaging.com, 1 @@ -92243,6 +91398,7 @@ medscope.tk, 1 medsi-online.tk, 1 medsilset.com.br, 1 medsister.tk, 1 +medsol.co.za, 0 medsovet.tv, 1 medspecial.tk, 1 medstatix-dev.com, 1 @@ -92383,7 +91539,6 @@ megarap.cf, 1 megaron.at, 1 megasesso.com, 1 megasitesoficial.tk, 1 -megastores.com, 1 megasunsunglasses.bg, 1 megateam.tk, 1 megatom.net.br, 1 @@ -92443,10 +91598,10 @@ meiersmarkus.de, 1 meifacil.com, 1 meigetsuen1980.com, 1 meijburg.com, 1 -meijwebdesign.nl, 1 meikampf.de, 1 meikan.moe, 1 meiler.cf, 1 +meilink.eu, 0 meilleur-casino-fiable.com, 1 meilleursagents.com, 1 meilleursavis.fr, 1 @@ -92492,7 +91647,6 @@ meinstartinsleben.de, 1 meintragebaby.de, 1 meinungsplatz.ch, 1 meinungsplatz.de, 1 -meiqia.cn, 1 meiqia.com, 0 meirifuli6.com, 1 meis.space, 1 @@ -92638,6 +91792,7 @@ melvinsfrance.tk, 1 melvintemo.com, 1 melyssamonroy.com, 1 mema.recipes, 1 +memarbash.com, 1 memberbaz.ml, 1 memberclicks.net, 1 memberplushq.com, 1 @@ -92784,7 +91939,6 @@ menteofficial.com, 1 menterarchitects.com, 1 mentes-inquietas.tk, 1 mentesinquietas.tk, 1 -mentesperfectas.com, 1 menthiere.fr, 1 menti.com, 1 mentimeter.com, 1 @@ -92807,7 +91961,6 @@ menzietti.it, 1 meo.cz, 1 meo.de, 1 meo.es, 1 -meodihoang.com, 1 meoption.biz, 1 meoteam.dk, 1 meou.pictures, 1 @@ -92899,7 +92052,6 @@ mercode.eu.org, 1 mercosuleditora.com.br, 1 mercredifiction.io, 1 mercure.dk, 1 -mercuretv.com, 1 mercury-pool.com, 1 mercury.com, 1 mercury.foundation, 0 @@ -93028,7 +92180,6 @@ messinatoday.it, 1 messonline.tk, 1 messure.ru, 1 mestazitrka.cz, 1 -mesterbold.dk, 1 mestovpohybu.cz, 1 mesuaferrea.com, 1 mesutates.tk, 1 @@ -93059,7 +92210,6 @@ metadedi.net, 1 metaether.net, 1 metafiz.ml, 1 metaformarketing.com, 1 -metafurquest.net, 1 metagaming.tk, 1 metait.de, 1 metaiverse.info, 1 @@ -93275,7 +92425,6 @@ mew.vn, 1 mex-it-up.com, 1 mexaliu.ml, 1 mexby.com, 1 -mexicanjokes.net, 1 mexicankrill.com, 1 mexico.rs, 1 mexico.sh, 1 @@ -93375,7 +92524,6 @@ mgrossklaus.de, 0 mgrt.net, 1 mgsdb.com, 1 mgsisk.com, 1 -mgsmfg.com, 1 mgtbaas.eu, 1 mgvideo.com.au, 1 mh-cdn.de, 1 @@ -93421,7 +92569,6 @@ mia.tw, 0 mia3d.fr, 1 miaadler.net, 1 miaairportvillas.com, 1 -miabaka.moe, 1 miability.com, 1 miablow.net, 1 miacuario.cl, 1 @@ -93438,7 +92585,6 @@ miamidadeclerk.gov, 1 miamifl.casa, 1 miamifl.homes, 1 miamimosque.org, 1 -miamiobgyndreams.com, 1 mianbao.ga, 1 mianfei.us, 1 miankamran.tk, 1 @@ -93469,7 +92615,6 @@ mica-zeitz.de, 1 mica.ml, 1 micado-software.com, 1 micah.soy, 1 -micalodeal.ch, 0 micamisetaestampada.com, 1 micanetic.com, 1 micareklamajansi.com, 1 @@ -93491,7 +92636,6 @@ michael-schefczyk.de, 1 michael-schilling.de, 0 michael-simon.de, 1 michael-steinhauer.eu, 1 -michael.band, 0 michael.com, 1 michael.ie.eu.org, 1 michael.zone, 1 @@ -93550,7 +92694,6 @@ michaelschubert.com, 0 michaelschule-rheine.de, 1 michaelsnoeren.nl, 0 michaelstoffer.com, 1 -michaelsweater.com, 1 michaeltaboada.me, 1 michaeltroger.com, 1 michaeltruskowski.com, 1 @@ -93614,7 +92757,6 @@ michiganacousticneuroma.com, 1 michiganearhearing.com, 1 michiganhealth.tk, 1 michiganrebates.com, 1 -michiganstateuniversityonline.com, 1 michigantestingairbalancing.com, 1 michilaw.com, 1 michmexguides.com.mx, 1 @@ -93670,7 +92812,6 @@ micromagic.fi, 1 micromaid.cf, 1 micromata.de, 1 micromicro.cc, 1 -micronodes.net, 1 micronotfound.gq, 1 micropigmentacaobh.com.br, 1 micropigmentadordesucesso.com, 1 @@ -93786,7 +92927,6 @@ miggy.org, 1 mighit.ml, 1 mightycause.com, 1 mightyfive.tk, 1 -mightygadget.com, 1 mightyjo.org, 1 mightytext-ios.tk, 1 mightytips.biz, 1 @@ -93934,7 +93074,6 @@ mike-bland.com, 1 mike-burns.com, 1 mike-et-pascale-sanger.com, 1 mikeandemily.duckdns.org, 1 -mikebelanger.ca, 1 mikeblog.site, 1 mikeburns.tk, 1 mikecapson.com, 0 @@ -93946,7 +93085,6 @@ mikeguy.co.uk, 1 mikehamburg.com, 1 mikeklidjian.com, 1 mikekreuzer.com, 1 -mikelawson.com, 1 mikelpradera.tk, 1 mikelundpainting.com, 1 mikemcgeephotography.com, 1 @@ -94147,7 +93285,6 @@ millioncombolist.tk, 1 milliongrounds.com, 1 millionlearn.org, 1 millionseha.com, 1 -millistice.com, 1 millistream.com, 1 millix.com, 1 millnet.cloud, 1 @@ -94376,6 +93513,7 @@ minics.tk, 1 minifree.org, 1 minigames.com, 1 minigermanauto.com, 1 +minigolf-oase.com, 0 minigolf-reisinger.com, 1 minigolfandgames.co.uk, 1 minikasinosblackandred.es, 1 @@ -94423,6 +93561,7 @@ minix.jp, 1 minjusticia.gob.cl, 1 mink-coat.tk, 1 minka.net.bo, 1 +minkafighter.de, 1 minkatilmancoaching.nl, 1 minkymoon.jp, 1 minlly.com, 1 @@ -94470,7 +93609,6 @@ mintersvault.com, 1 mintert.net, 1 mintfirsts.co.uk, 1 mintfirsts.com, 1 -minthubapiuat.azurewebsites.net, 1 mintitafever.tk, 1 minto.cc, 1 mintogardens.org.au, 1 @@ -94607,7 +93745,6 @@ mirrorz.help, 1 mirs.ky, 1 mirshak.com, 0 mirtazapine.gq, 1 -mirtentov.ru, 1 mirtes.cz, 1 mirtouf.fr, 1 mirumhongkong.com, 1 @@ -94645,7 +93782,7 @@ mishraurology.com, 1 mishraweb.com, 1 misiepluszowe.com, 1 misinstrumentos.com, 1 -misjoyas.com.es, 1 +misjoyas.com.es, 0 miskara.com, 1 miskatonic.org, 1 misoji-resist.com, 1 @@ -94675,7 +93812,6 @@ missingchildreneurope.eu, 1 missinglinks.tk, 1 mission-gesundheit.online, 1 mission-orange.de, 1 -missionfoods.com, 0 missions.me, 1 missionsgemeinde.de, 1 missionskreis-kueps.de, 1 @@ -94868,7 +94004,6 @@ mixnix.tk, 1 mixnmojo.com, 1 mixom.net, 1 mixon.tk, 1 -mixpanel.com, 1 mixposure.com, 1 mixtafrica.com, 1 mixx.com.hk, 1 @@ -95073,7 +94208,6 @@ mmgal.com, 1 mmhome.fr, 1 mmilog.hu, 1 mminsco.com, 1 -mmjengenharia.com.br, 1 mmkstudio-digital.com, 1 mml.cx, 0 mmlebanon.com, 1 @@ -95092,7 +94226,6 @@ mmoneko.com, 1 mmonit.com, 1 mmorpg-stat.eu, 1 mmot.sk, 1 -mmoveisplanejados.com.br, 1 mmpaymentsystem.com, 1 mmphub.com, 1 mmprojects.nl, 1 @@ -95184,12 +94317,10 @@ moba-automation.de, 1 mobal.com, 0 mobclan.tk, 1 mobcsp.work, 1 -mobcup.org, 1 mobeewash.com, 1 mobeforlife.com, 0 mobex.biz, 1 mobi-katalog.tk, 1 -mobi-trend.com, 1 mobidevtalk.com, 1 mobifrance.com, 1 mobigadget.tk, 1 @@ -95217,7 +94348,6 @@ mobilebingoclub.co.uk, 1 mobilebooster.tk, 1 mobileciti.com.au, 1 mobilecoin.com, 1 -mobilecontractcomparison.com, 1 mobilecraftingco.com, 1 mobiledor.com, 1 mobilefactory.io, 1 @@ -95317,7 +94447,7 @@ mockers.tk, 1 mocknen.net, 1 mocksvillenc.org, 1 mocomoco.jp, 1 -mod.af, 1 +mod.af, 0 mod.io, 1 moda-donna.cf, 1 moda-line.ml, 1 @@ -95371,7 +94501,6 @@ modelfotografie.tk, 1 modeli.tk, 1 modelist.com.ua, 1 modell-lq.net, 1 -modellaspa.pl, 1 modellbahnshop.de, 1 modellismo.roma.it, 1 models-resource.com, 1 @@ -95466,7 +94595,6 @@ moegato.com, 1 moegi.ml, 1 moego.me, 1 moego.pet, 1 -moehl.eu, 1 moehrke.cc, 1 moekes.amsterdam, 1 moeking.me, 1 @@ -96054,7 +95182,6 @@ mooreminers.com, 1 mooremoney.co, 1 mooresvilletribune.com, 1 mooretownrancheria-nsn.gov, 1 -moorewelliver.com, 1 moorfunevents.co.uk, 1 moorheadmn.gov, 1 moormiles.com, 1 @@ -96097,7 +95224,6 @@ mopoclub.ru, 1 moppeleinhorn.de, 1 moppelito.tk, 1 moppenfactory.tk, 1 -moqtmatrak.com, 1 moquettes.roma.it, 1 moquiridatabuaria.com.br, 1 mor.estate, 0 @@ -96236,7 +95362,6 @@ morselife.org, 1 mortaltorment.tk, 1 mortazavifar.com, 1 mortebrume.eu, 1 -morten-harket.de, 1 mortengamstpedersen.tk, 1 mortezaafri.tk, 1 mortgagecalculator.biz, 1 @@ -96302,7 +95427,6 @@ mosscade.com, 1 mosselle.ro, 1 mosshi.be, 1 mossipanama.com, 1 -mossplants.ru, 1 mossylog.tk, 1 most.tk, 1 mostafabanaei.cf, 1 @@ -96311,11 +95435,9 @@ mostazaketchup.com, 1 mostbet.com, 1 mostbet2.com, 1 mostbetr.com, 1 -mostc.is, 1 mostdisturbingnews.com, 1 mosternaut.com, 1 mostfamousbirthdays.com, 1 -mostickers.shop, 1 mostlyharmless.at, 1 mostlyoverhead.com, 1 mostmost.tk, 1 @@ -96406,13 +95528,11 @@ motor1.com, 1 motorbiketenerife.com, 1 motorbiketourhanoi.com, 1 motorcitycasino.com, 1 -motorcyclecentral.net, 1 motordearranque.com.br, 1 motoridiricerca.tk, 1 motorinews24.com, 1 motorkohler.es, 1 motorline.ru, 1 -motormummie.info, 1 motorparts-images.nl, 1 motorparts-online.com, 1 motorring.ru, 1 @@ -96423,10 +95543,10 @@ motorst.dk, 1 motortg.it, 1 motortrend.com, 1 motorways.tk, 1 +motorwrappen.nl, 1 motoryachtclub-radolfzell.de, 1 motorzone.od.ua, 1 motoselfservices.fr, 1 -motosfreedom.com, 1 motospaya.com, 1 motostyle.ua, 1 mototax.ch, 1 @@ -96529,7 +95649,6 @@ moveonlite.com, 1 moveonru.com, 1 movepin.com, 1 movetonewcastle.com.au, 1 -movetotasmania.com.au, 1 movewellnesslab.com, 1 movewithfiness.com, 1 moveyourass.tk, 1 @@ -96616,7 +95735,6 @@ mp-bln.de, 1 mp.gov.in, 1 mp.org, 1 mp3.tj, 1 -mp3bgmringtones.com, 1 mp3cut.net, 1 mp3gratuiti.com, 0 mp3musicfind.ga, 1 @@ -96635,7 +95753,6 @@ mpdu.tk, 1 mpebrasil.tk, 1 mpenten.com, 1 mpetroff.net, 1 -mpfa.org.hk, 1 mpfront.com, 1 mpg.gg, 1 mpg.ovh, 1 @@ -96755,7 +95872,6 @@ mrguider.org, 1 mrgusercontent.ru, 1 mrgutternj.com, 1 mrhc.ru, 1 -mrhookupsd.com, 1 mrhost.biz, 1 mri.community, 1 mrichard333.com, 1 @@ -97012,9 +96128,8 @@ mtltransport.com, 1 mtludlow.co.uk, 1 mtmedia.org, 1 mtn-media.de, 1 -mtnc.nl, 1 -mtncoi-coe.com, 1 mtnvalleyhospice.org, 1 +mtnwebwiz.com, 1 mtoma.tk, 1 mtouch.facebook.com, 0 mtp-services.fr, 1 @@ -97054,7 +96169,6 @@ mu00.org, 1 mu105.cc, 1 mu3e.com, 1 mu3on.com, 1 -muabannhanh.com, 0 muac-innolab.eu, 1 muafakatmalaysia.ga, 1 muafakatmalaysia.gq, 1 @@ -97092,7 +96206,6 @@ mudpiles.cat, 1 mudramagik.com, 1 mudrc.net, 1 mudrex.com, 1 -mudrock4x4.com, 1 mudrockrentals.com, 1 muelhau.pt, 1 muell-weg.de, 1 @@ -97299,7 +96412,6 @@ munduch.eu, 1 muneni.co.za, 1 munera.ca, 1 munfordtn.gov, 1 -mungdog.com, 1 munialajuela.go.cr, 1 munibilling.com, 1 munich-eventlocations.de, 1 @@ -97474,6 +96586,7 @@ musikhaus-korn.de, 1 musikholics.com, 1 musikidersi.tk, 1 musiktag2020.ch, 1 +musikverein-elten.de, 1 musikverein-schuettorf.de, 1 musikzentrale.net, 0 musings.cloud, 1 @@ -97767,7 +96880,7 @@ myairware.com, 1 myakkatactical.com, 1 myalliance.church, 1 myalliancechurch.com, 1 -myalpine.shop, 0 +myalpine.shop, 1 myalsadd.tk, 1 myalumil.com, 1 myamend.com, 1 @@ -97932,6 +97045,7 @@ mydedicatedservice.ca, 1 mydedicatedservice.com, 1 mydegreeroute.com, 1 mydentalplan.gr, 1 +mydentist.co.uk, 0 mydenverhomesource.com, 1 mydesignrules.com, 1 mydestiny.tk, 1 @@ -98131,7 +97245,6 @@ myip.solutions, 1 myireland.io, 1 myisolved.com, 1 myitworks.co.za, 1 -myjarofhope.com, 1 myjbn.org, 1 myjobsearchengine.com, 1 myjudo.net, 1 @@ -98214,7 +97327,6 @@ mymed.de, 1 mymed.eu, 1 mymedia.gotdns.com, 1 mymediabox.com, 1 -mymedz.nl, 1 mymerlin.co.nz, 1 mymerlin.com.au, 1 mymesra.com.my, 1 @@ -98263,7 +97375,6 @@ mynewsfit.com, 1 mynewsinc.org, 1 mynext.events, 1 mynextmove.org, 1 -mynexus.tech, 1 mynexuz.be, 1 mynic.my, 1 mynimo.com, 1 @@ -98331,7 +97442,6 @@ mypinellasclerk.gov, 1 mypivcard.com, 1 myplaceonline.com, 1 mypnu.net, 1 -mypocketai.com, 0 mypogljad.tk, 1 mypoodleassassin.com, 1 mypornsnap.top, 1 @@ -98465,6 +97575,7 @@ mysecretstylist.ga, 1 mysecurity.review, 1 myseo.ga, 1 myservicearl.com, 1 +myserviceportal.de, 1 myservices.digital, 1 myservik.ml, 1 myseu.cn, 1 @@ -98485,7 +97596,6 @@ mysites.guru, 1 mysitex.com, 1 myslc.gov, 1 mysmartloan.ca, 1 -mysmartserve.com, 1 mysmmstore.com, 1 mysmmstore.in, 1 mysmsapp.cn, 1 @@ -98816,7 +97926,6 @@ nadyaolcer.fr, 1 naec.ge, 1 naeemsafdar.net, 1 naehenfuerwahrekleinehelden.de, 1 -naehkurshamburg.de, 1 naehtalente.de, 1 naemnuk.tk, 1 nafco-online.com, 1 @@ -98847,7 +97956,6 @@ nagoonline.com, 1 nagoya.tk, 1 nagpurinstar.tk, 1 nagrad.tk, 1 -nagradne-igre.rs, 1 nagya.com, 1 nagya.eu, 1 nagya.net, 1 @@ -98858,7 +97966,6 @@ nagybotond.com, 0 nah.nz, 1 nah.re, 1 naheulcraft.be, 1 -nahfe.xyz, 1 nahman.tk, 1 nahouw.net, 1 nahrag.tk, 1 @@ -98978,7 +98085,6 @@ namastewestland.nl, 1 namazon.org, 1 namazvakitleri.com.tr, 0 namclear.com.na, 1 -namdak.com, 1 name.am, 1 name.ax, 1 namecoin.info, 1 @@ -99082,7 +98188,6 @@ nanoport.jp, 1 nanoprogress.pl, 1 nanosek.pro, 1 nanoshop.ml, 1 -nanosmat-conference.com, 1 nanospheres.tk, 1 nanostetic.com, 1 nanotechnologist.com, 1 @@ -99158,7 +98263,6 @@ narasi.tv, 1 narayanahealth.org, 1 narazaka.net, 1 narcissism.tk, 1 -narco-center.com, 1 narcoticsanonymous.tk, 1 narda-sts.com, 1 nardamiteq.com, 1 @@ -99265,7 +98369,6 @@ nasosvdom.com, 1 nasosvdom.com.ua, 1 nasr.mobi, 1 nasrabady.tk, 1 -nasrsolar.com, 1 nasrullaganjnews.tk, 1 nassaucountyfl.gov, 1 nassautrafficny.gov, 1 @@ -99363,7 +98466,6 @@ nationaleyecenter.id, 1 nationalfleetparts.com, 1 nationalgangcenter.gov, 1 nationalgridrenewables.com, 1 -nationalhomeimprovements.co.uk, 1 nationalhomequotes.com, 1 nationaljobservice.com, 1 nationalmall.gov, 1 @@ -99384,7 +98486,6 @@ nationwideadvisory.com, 1 nationx.tk, 1 nativalab.com, 1 native2ascii.net, 1 -nativeindonesia.com, 1 nativemusicrecords.cf, 1 nativeonestop.gov, 1 nativeproductions.ml, 1 @@ -99421,7 +98522,6 @@ naturalbladdercontrol.tk, 1 naturalcosmetics.cf, 1 naturaldisasters.tk, 1 naturalflowerpower.com, 1 -naturalhealthscam.com, 1 naturalkitchen.co.uk, 1 naturallychildled.com, 1 naturallyuncommon.com, 1 @@ -99435,7 +98535,6 @@ naturaprint.fr, 1 naturart.pt, 1 nature-avenue.com, 1 natureandculture.org, 0 -naturebar.co, 1 natureclaim.com, 1 naturedao.hk, 1 natureexplorer.is, 1 @@ -99493,7 +98592,6 @@ nav.no, 1 nava.org, 1 navadebejar.tk, 1 navajasdesupervivencia.es, 1 -navajocountyaz.gov, 1 navajocountysheriff.gov, 1 navalarchitect.tk, 1 navalkejigo.tk, 1 @@ -99719,6 +98817,7 @@ ncvps.gov, 1 ndaal.eu, 1 ndaccount.com, 1 ndarville.com, 1 +ndbilje.si, 1 ndcpolipak.com, 1 ndd.govt.nz, 1 ndeb-bned.ca, 1 @@ -99837,7 +98936,6 @@ nedzadalibegovic.com, 1 neecist.org, 1 needfire.ga, 1 needflare.com, 1 -needhaminsurance.co.uk, 1 needing.cf, 1 needle-demo.azurewebsites.net, 1 needle.net.nz, 1 @@ -99956,7 +99054,6 @@ nelegal-edition.tk, 1 nelflex.com.br, 1 nelhage.com, 1 nelili.com, 1 -nelipak.com, 0 neljaenergia.ee, 1 nella-project.org, 1 nellacms.org, 1 @@ -100120,7 +99217,6 @@ nepremicnine-lidl.si, 1 nepremicnine.click, 1 nepremicnine.net, 1 neptun-rio.tk, 1 -neptune.hu, 1 neptune.lol, 1 neptunosrefugio.tk, 1 nepu.tk, 1 @@ -100157,6 +99253,7 @@ nerdsweide.nl, 1 nerdwallet.com, 1 nerdydev.net, 1 nerdyfam.tech, 1 +nerdygadgets.org, 1 nerdyspace.net, 1 nerfcity.tk, 1 nerfroute.com, 1 @@ -100180,7 +99277,6 @@ nerv.com.au, 1 nerven.se, 1 nervi.ga, 1 nesabamedia.com, 1 -nesbase.com, 1 neseari.com, 1 nesfb.com, 1 nesheims.com, 1 @@ -100249,7 +99345,6 @@ netco-privacy.de, 1 netco-solution.de, 1 netco-system.de, 1 netcoolusers.org, 1 -netcorecloud.com, 1 netcoresmartech.com, 1 netcost-security.fr, 1 netcrew.de, 1 @@ -100389,7 +99484,7 @@ netsparker.com.tr, 0 netspeedia.net, 1 netsphere.cloud, 1 netsphere.cz, 1 -netstjernen.dk, 0 +netstjernen.dk, 1 netstrategy.it, 1 netsyms.com, 1 netsys.com.tr, 1 @@ -100431,7 +99526,6 @@ netwerkmediawijsheid.nl, 1 netwidow.com, 1 netwire-solutions.com, 1 netwire.tk, 1 -netwiseprofits.com, 1 networg.cz, 1 networg.pl, 1 network-au-qa-api.azurewebsites.net, 1 @@ -100517,8 +99611,6 @@ neurido.net, 1 neurobiology.com, 1 neurochip.co.uk, 1 neurocny.cloud, 1 -neurococi.eu, 1 -neurococi.org, 1 neurococi.ro, 1 neuroethics.com, 1 neurogroove.info, 1 @@ -100549,6 +99641,7 @@ nevadafiber.com, 1 nevadafiber.net, 1 nevadamentalhealth.com, 1 nevam.cf, 1 +neve.in.ua, 1 never-afk.de, 0 never-mind.tk, 1 never-more.tk, 1 @@ -100584,10 +99677,6 @@ new-jersey-online-casinos.com, 1 new-medic.com, 1 new-mexico-sexcams.com, 1 new-pornvideos.com, 1 -new-process.ch, 1 -new-process.com, 1 -new-process.de, 1 -new-process.eu, 1 new-smile.cf, 1 new-standart.tk, 1 new-tuning.tk, 1 @@ -100650,7 +99739,6 @@ newcars.tk, 1 newcasinos-au.com, 1 newcasinos-ca.com, 1 newcastlemoneyman.com, 1 -newcastlemuseum.com.au, 1 newcastleok.gov, 1 newcc.gov, 1 newchance.store, 1 @@ -100685,7 +99773,6 @@ newengineer.com, 1 newenglandradioforum.tk, 1 newenglandtek.com, 1 newenglandworkinjury.com, 1 -neweraapparel.co.za, 1 newfacialbeautycream.com, 1 newfairfieldct.gov, 1 newfangledscoop.com, 1 @@ -100701,6 +99788,7 @@ newgarden.tk, 1 newgardenfarms.org, 1 newglarusvillagewi.gov, 1 newgle.xyz, 1 +newgrowbook.com, 1 newguidance.ch, 0 newhamyoungbloods.co.uk, 1 newhavenshiami.gov, 1 @@ -100785,7 +99873,7 @@ news12elite.tk, 1 news17.tk, 1 news24rus.tk, 1 news29.tk, 1 -news47ell.com, 0 +news47ell.com, 1 news53today.tk, 1 news54.tk, 1 news5cleveland.com, 1 @@ -100849,7 +99937,6 @@ newslia.org, 1 newsliner.gq, 1 newslookup.com, 1 newsmacro.org, 1 -newsmangas.fr, 1 newsmotor.info, 1 newsmyth.org, 1 newsnfl.tk, 1 @@ -100955,7 +100042,6 @@ next.me, 1 next24.io, 1 nextads.ch, 1 nextbike.tk, 1 -nextbranders.com, 1 nextcairn.com, 1 nextcloud-alpha.ddns.net, 1 nextcloud-miyamoto.spdns.org, 1 @@ -101076,6 +100162,7 @@ nft-dev-web.azurewebsites.net, 1 nft-qa-web.azurewebsites.net, 1 nft.io, 1 nftactually.com, 1 +nftnow.com, 1 nftshowroom.com, 1 ng-musique.com, 1 ng.edu.ee, 1 @@ -101124,7 +100211,6 @@ ngutek.com, 1 nguyencucthanh.com, 1 nguyenduythiem.com, 1 nguyenfamily.tk, 1 -nguyenminhhung.com, 1 nguyenslist.com, 1 nguyensuu.tk, 1 ngvf.de, 1 @@ -101152,7 +100238,6 @@ nhccnews.org, 1 nhcps.com, 1 nhdsilentheroes.org, 1 nhg.nl, 1 -nhhoteljobs.nl, 1 nhjvillalmanzo.tk, 1 nhk.jp, 1 nhnieuws.nl, 1 @@ -101364,7 +100449,6 @@ nicolettapallotta.com, 1 nicolettevandervalk.nl, 0 niconico.ooo, 1 nicoobank.com, 1 -nicoobook.net, 1 nicopretzl.de, 1 nicorevin.ru, 1 nicosaveyn.be, 1 @@ -101467,7 +100551,6 @@ nightmoose.org, 1 nightoutrecords.tk, 1 nightpass.tk, 1 nightscapes.tk, 1 -nightscapesoutdoorlighting.com, 0 nightscout.host, 1 nightsi.de, 1 nightskyalerts.com, 1 @@ -101929,11 +101012,9 @@ noble-diagnostic.com, 1 noblechemical.com, 1 nobleco.gov, 1 noblecountyprosecutoroh.gov, 1 -nobledust.com, 1 noblehearinginstitute.com, 1 nobleparkapartments.com.au, 1 nobleproducts.biz, 1 -nobleridgetreedeck.com, 1 noblesmart.com, 1 nobletary.com, 1 noblogs.org, 1 @@ -102165,6 +101246,7 @@ nopajam.tk, 1 nopaste.eu, 1 nopaynocure.com, 1 nophelet.com, 1 +nopiamanual.net, 1 nopm.xyz, 1 nopropaganda.tk, 1 nopuedesdejarlopasar.es, 1 @@ -102240,7 +101322,6 @@ noriel.ro, 1 norikazumatsuno.tk, 1 noripon.blog, 1 noriskit.nl, 1 -noritakechina.com, 1 norlink.ca, 1 normaculta.com.br, 1 normahairstudio.it, 1 @@ -102420,6 +101501,7 @@ nostosh.eu.org, 1 nostradansacornella.tk, 1 nostraforma.com, 0 nostring.io, 1 +nostrum.ee, 1 nostrupload.com, 1 nosuch.site, 1 nosuch.website, 1 @@ -102480,8 +101562,6 @@ notesforpebble.com, 1 noteskeeper.ru, 1 notfunny.tk, 1 notgerman.com, 1 -nothappy.uk, 1 -nothinbutnets.com, 1 nothinfancy.ca, 1 nothing.net.nz, 1 nothing.org.uk, 1 @@ -102510,7 +101590,6 @@ notify.gov, 1 notifyed.com, 1 notifymy.team, 1 notime.tk, 1 -notimundodbs.info, 1 notinglife.com, 1 notion.so, 1 notionbackups.com, 1 @@ -102590,7 +101669,6 @@ novashare.io, 1 novasprint.tk, 1 novastore.com.br, 1 novastores.co, 1 -novatech.net, 1 novatelecom.cl, 0 novavax.com, 0 novaway.ca, 1 @@ -102634,6 +101712,7 @@ novilidery.com, 1 novilist.hr, 1 novinkihd.tk, 1 noviny.sk, 1 +novinykraje.cz, 1 novip.tk, 1 noviyan.com, 1 novobi.com, 1 @@ -102747,7 +101826,6 @@ npregion.org, 1 npsas.org, 1 nptelegraph.com, 1 nptn.tk, 1 -npu.best, 1 npuer.life, 1 npws.net, 1 nqesh.blog, 1 @@ -102788,7 +101866,6 @@ nsa.ovh, 1 nsacom.com, 1 nsadns.uk, 1 nsamail.uk, 1 -nsapwn.com, 1 nsb.lk, 1 nsbfalconacademy.org, 1 nsbih.ba, 1 @@ -102802,7 +101879,6 @@ nsec.dk, 1 nseindia.com, 1 nsep.gov, 1 nsepapa.com, 1 -nserrao.com, 1 nsfw-story.com, 1 nsfw.dk, 1 nshipster.cn, 1 @@ -102810,7 +101886,6 @@ nshipster.co.kr, 1 nshipster.com, 1 nshipster.es, 1 nshispeed.nl, 1 -nshmlaw.com, 1 nsics.co.jp, 1 nsikakimoh.com, 1 nsine.be, 1 @@ -102883,6 +101958,7 @@ ntsipl.com, 1 ntsmcqs.com, 0 ntsp.team, 1 ntt-buses.com, 1 +ntu.edu.sg, 0 ntuchinesesociety.com, 0 ntut.edu.tw, 1 ntvtelugu.com, 1 @@ -102954,7 +102030,6 @@ nuhbeg.com, 1 nuhil.tk, 1 nuhs.edu.sg, 1 nuhs.sg, 1 -nuipogoda.ru, 1 nuitec.com.br, 1 nuits-franciliennes.fr, 1 nuke-masters.tk, 1 @@ -102995,7 +102070,6 @@ numancia.tk, 1 numarasorgulama.tel, 1 number.me, 1 numbercult.net, 1 -numbermunchers.net, 1 numberzero.org, 1 numbots.com, 1 numeezy.com, 1 @@ -103015,7 +102089,6 @@ numerouno.ml, 1 numerspiral.pt, 1 numismatix.de, 1 numismed-seniorcare.de, 1 -numismeo.com, 1 nummer378.de, 1 numo.co, 1 numwave.nl, 1 @@ -103078,7 +102151,6 @@ nussadoclub.org, 1 nussschale.eu, 1 nustay.com, 1 nut-dev.com, 1 -nut.services, 1 nut.spb.ru, 1 nutbot.co.uk, 1 nutleyarchives.org, 1 @@ -103224,7 +102296,6 @@ nyadora.moe, 1 nyahururu.tk, 1 nyahururumarketplace.com, 1 nyaken.tk, 1 -nyammingsfusionbistro.com, 1 nyan.it, 0 nyan.kim, 1 nyan.stream, 1 @@ -103310,6 +102381,7 @@ nzbstars.com, 1 nzcasinohex.com, 1 nzcorp.dk, 1 nzdata.org, 1 +nzelaweb.com, 0 nzguns.co.nz, 1 nzhistory.govt.nz, 1 nzia.tk, 1 @@ -103386,7 +102458,6 @@ o82365.com, 1 o9297.co, 1 o9397.com, 1 o9728.co, 1 -o98.net, 1 o9solutions.com, 1 oaaa.org, 1 oabtherapy.com, 1 @@ -103396,7 +102467,6 @@ oakbarnvets.com, 1 oakbarnwellness.com, 1 oakbottle.com, 1 oakcreekwi.gov, 1 -oakdale.org, 1 oakdaleca.gov, 1 oakdalemn.gov, 1 oaken.duckdns.org, 1 @@ -103417,7 +102487,9 @@ oakrealty.ca, 1 oakridgeclinic.ca, 1 oakshield.nl, 1 oakslim.com, 1 +oaktravel.nl, 1 oaktree-realtors.com, 0 +oaktreecapital.com, 0 oaktreelodge.org.uk, 1 oakwood-park.tk, 1 oandareview.co, 1 @@ -103818,7 +102890,6 @@ odyso.org, 1 odyssee-animation.tk, 1 odyssey44.com, 1 odysseyofthemind.eu, 1 -odysseytraining.com.au, 1 odzyskiwanie-danych-z-dysku.pl, 1 odzyskiwanie.biz, 1 odzywianie.info.pl, 1 @@ -103851,7 +102922,7 @@ oertle.tk, 1 oessi.eu, 1 oesterbaron.nl, 1 oettig.de, 1 -oetzies-quiz.com, 1 +oetzies-quiz.com, 0 of-sound-mind.com, 1 of2106.dnsalias.org, 1 of2m.fr, 1 @@ -103871,8 +102942,8 @@ off-festival.pl, 1 off-rabota.tk, 1 off.net.mk, 1 offbeat-music.com, 1 -offbeatbeats.com, 1 -offbeatbits.com, 1 +offbeatbeats.com, 0 +offbeatbits.com, 0 offbyinfinity.com, 1 offcasesstore.com, 1 offenekommune.de, 1 @@ -104022,7 +103093,6 @@ ohai.social, 1 ohai.su, 1 ohako-inc.jp, 1 oharas.fr, 1 -oharrasplumbing.com, 1 ohartl.de, 1 ohayosoro.me, 1 ohbabybean.com, 1 @@ -104162,13 +103232,11 @@ okna-tm.kz, 0 okna-vek.com.ua, 1 okna.ua, 1 oknakz-astana.kz, 1 -oknarating.ru, 1 oknavdom.tk, 1 oknopvh.ml, 1 okobojitech.com, 1 okokorecepten.nl, 1 okonto.com, 1 -okoris.net, 1 okosg.kr, 1 okotelecom.ml, 1 okpo.tk, 1 @@ -104284,7 +103352,7 @@ oldtimesecurity.tk, 1 oldtowntownship-il.gov, 1 oldtoystuff.com, 1 oldvaliken.tk, 1 -oldvps.com, 1 +oldvps.com, 0 oleam.org, 1 olecoin.io, 1 oleg.loan, 1 @@ -104349,7 +103417,6 @@ oliverdunk.com, 0 olivereats.ca, 1 oliverfaircliff.com, 1 oliverflecke.me, 1 -oliverhough.io, 1 oliverjoss.com, 1 oliverlanguages.com, 1 olivernaraki.com, 1 @@ -104400,7 +103467,6 @@ olmsted.io, 1 olmstedcounty.gov, 1 olmstedtownshipohio.gov, 1 oloadvid.tk, 1 -olofa.org, 1 olofly.com, 1 olofsson.cc, 1 ololmke.org, 1 @@ -104417,7 +103483,6 @@ olsonproperties.com, 1 oluchiedmundmusic.com, 1 oludeniz.tk, 1 olustvere.edu.ee, 1 -olwm.com, 1 olxa.tk, 1 olxdir.tk, 1 olydent.com, 1 @@ -104579,7 +103644,6 @@ on-targettrainingcourses.com, 1 on-tech.co.uk, 1 on-the-wave.com, 1 on-tv.tk, 1 -on-wert.de, 1 on2it.net, 1 on3.com, 1 on3static.com, 1 @@ -104607,7 +103671,6 @@ onceuponarainbow.co.uk, 1 oncf.asso.fr, 1 onchclub.tk, 1 onclouds.tech, 1 -oncologynote.com, 0 oncore-eurofins.com, 1 oncotarget.ru, 1 ond-inc.com, 1 @@ -104629,6 +103692,7 @@ ondoline.ch, 1 ondoorgrond.tk, 1 ondra05.cz, 1 ondradoksy.com, 1 +ondrei.one, 1 ondrej.org, 1 ondrejhoralek.cz, 1 ondrejsramek.cz, 1 @@ -104718,7 +103782,6 @@ onelinkbpo.com, 1 onemeter.com, 1 onemindmedicinals.com, 1 oneminute.io, 0 -oneminutetomindfulness.com, 1 onemix.me, 1 onemodel.com.au, 1 onemodel.us, 1 @@ -104743,9 +103806,7 @@ onepointsafeband.com, 1 onepointzero.com, 1 onepotliving.com, 1 oneprediction.com, 1 -onerep.com, 1 onerivermedia.com, 1 -onerror.ml, 1 ones.buzz, 1 onescience.tk, 1 oneshotmediakc.com, 1 @@ -104982,7 +104043,7 @@ onlineth.com, 1 onlinetravelmoney.co.uk, 1 onlinevardenafil.gq, 1 onlineveilingmeester.nl, 1 -onlineverdict.com, 1 +onlineverdict.com, 0 onlineverdienen.tk, 1 onlinevergidanismani.com, 1 onlineviewers.tk, 1 @@ -105182,7 +104243,7 @@ open-ctp.net, 1 open-ctp.org, 1 open-data-apps.org, 1 open-desk.org, 1 -open-domotics.info, 1 +open-domotics.info, 0 open-fixture-library.org, 1 open-future.info, 1 open-gaming.net, 1 @@ -105209,7 +104270,6 @@ openalt.org, 1 openaq-staging.org, 1 openarch.nl, 1 openarchivaris.nl, 1 -openawallet.org, 1 openbayes.network, 1 openbayesstatus.com, 1 openbeecloud.com, 1 @@ -105276,7 +104336,7 @@ openmarkets.group, 0 openmind.ga, 1 openmindsec.com, 1 openmindsec.de, 1 -openmined.org, 1 +openmined.org, 0 openmirrors.cf, 1 openmirrors.ml, 1 openmtbmap.org, 1 @@ -105436,7 +104496,6 @@ oppstartslos.no, 1 oppwa.com, 1 opq.pw, 1 opraab.ga, 1 -opravdovekoucovani.cz, 1 oprbox.com, 1 oprekin.com, 1 opreturn.org, 1 @@ -105516,7 +104575,7 @@ optimummarinemanagement.net, 1 optimummenhealth.com, 1 optimumpacific.net, 1 optimumship.net, 1 -optimumtic.es, 1 +optimumtic.es, 0 optimumvikingsatcom.com, 1 optimumwebdesigns.com, 1 optimus.io, 1 @@ -105552,7 +104611,6 @@ optymyze.com, 1 opus-codium.fr, 1 opus-labs.fr, 1 opus-nail.com, 1 -opusclassical.net, 0 opusdei.org, 1 opuspremiumfilms.com, 1 opussystems.com.au, 1 @@ -105581,7 +104639,6 @@ oraldigital.com.br, 1 oralemiraza.com, 1 oralight.ml, 1 orang-utans.com, 1 -orangatame.com, 1 orange.md, 1 orangeacademy.cz, 1 orangeappalam.com, 1 @@ -105628,6 +104685,7 @@ orbits.ga, 1 orbitum.fr, 1 orbitum.space, 1 orbu.net, 1 +orbussoftware.com, 0 orca.pet, 0 orcada.co, 1 orcahq.com, 1 @@ -105766,7 +104824,6 @@ orientaltrends.com.br, 1 orientate.com.mx, 1 orientelectronic.net, 1 orientir.tk, 1 -orientravelmacas.com, 1 oriflamesamara.tk, 1 oriflameszepsegkozpont.hu, 1 orifonline.ro, 0 @@ -105803,10 +104860,10 @@ orimex-mebel.ru, 1 orimono.ga, 1 oriocdn.com, 1 orion-rentals.tk, 1 +orion-universe.com, 1 orioncokolada.cz, 0 orioneclipse.com, 1 orionelement.com, 1 -orionenerji.com, 1 orionfcu.com, 1 orionfinancialservices.com, 1 oriongames.eu, 1 @@ -105830,7 +104887,6 @@ orlandhillspdil.gov, 1 orlando-marijuana-doctor.com, 1 orlandobalbas.com, 1 orlandojetcharter.com, 1 -orlandomagicdaily.com, 1 orlandooutdoor.com, 1 orlandopmf.com, 1 orlandopooltech.com, 1 @@ -106185,6 +105241,7 @@ otvaracie-hodiny.sk, 1 otya.me, 1 otzyvy.cc, 1 ouaibe.qc.ca, 1 +ouaisetalors.fr, 1 ouattara.ch, 1 oudedokken.be, 1 oudersvannu.nl, 1 @@ -106434,11 +105491,9 @@ ovstravel.com, 1 ovuk.ru, 1 ovvy.net, 0 owagik.com, 1 -owasp.ru, 1 owatonna.gov, 1 owatonnagrows.gov, 1 owdeutschland.org, 1 -owdex.com, 1 owenet.net, 1 owensboroky.gov, 1 owenschumacher.tk, 1 @@ -106472,7 +105527,6 @@ owlhollowbakery.com, 1 owln.ai, 0 owlnull.me, 1 owlscrap.ru, 1 -owlsec.io, 1 owlvilleers.ga, 1 ownagepranks.com, 1 ownasite.com.ng, 1 @@ -106536,7 +105590,6 @@ oxt.co, 1 oxwebdevelopment.com.au, 1 oxxoshop.com, 0 oxydac.com, 1 -oxydrate.com, 1 oxygames.tk, 1 oxygenated.cf, 1 oxygenforchennai.com, 1 @@ -106745,7 +105798,6 @@ pabpunk.tk, 1 pacatlantic.com, 1 pacay.id, 1 pacch.io, 1 -pacchioni.me, 1 pacco.tk, 1 paccolat.name, 1 pace.car, 0 @@ -106761,7 +105813,6 @@ pacenterforhearingandbalance.com, 1 pachaiyappas.org, 1 pachalingo.tk, 1 pachamamaproduct.com, 1 -pachecoconsulting.co, 1 pachinstyle.com, 1 pachuca.social, 1 pachuta.pl, 1 @@ -106843,7 +105894,6 @@ paczkazywnosciowa.pl, 1 pad.wf, 1 padam-group.com, 1 padangkita.com, 0 -padassy.com, 1 padberx-marketing-consultants.de, 1 padderne.tk, 1 paddestoelen-encyclopedie.tk, 1 @@ -106947,12 +105997,9 @@ painefamily.co.uk, 1 painesvillemunicipalcourt-ohio.gov, 1 painfreenyc.com, 1 painful.fun, 1 -paininthearsenal.com, 1 painkiller-tech.com, 1 painkillercart.com, 1 -painmanagementnyc.com, 1 painosso.org, 1 -painreliefpath.com, 1 paint-it.pink, 1 paint4.life, 1 paintball-ljubljana.si, 1 @@ -106961,6 +106008,7 @@ paintballer.co, 1 paintbrush.ga, 1 paintcolorsbysue.com, 1 painted-designs.tk, 1 +painteddesertfrenchies.com, 1 paintingindurban.co.za, 1 paintingrepair.ga, 1 paintlabcustom.com.br, 1 @@ -106985,8 +106033,6 @@ pakal.org, 1 pakaranggrek.com, 1 paket.monster, 1 paketbox-systems.at, 1 -paketo.cz, 1 -paketo.sk, 1 paketverfolgung.info, 1 paketwatch.de, 0 paketwisataliburan.com, 1 @@ -107091,6 +106137,7 @@ palmedconsultants.com, 1 palmedconsultants.org, 1 palmen-apotheke.de, 1 palmettogba.com, 1 +palmex.com, 1 palmfan.com, 1 palmiye.tk, 1 palmlivingae.com, 1 @@ -107214,7 +106261,6 @@ pang.ga, 1 pangea-it.com, 1 pangea.cloud, 1 pangeaservices.com, 1 -panghu.me, 1 panglobal.org, 1 pangolin.exchange, 0 pangoly.com, 1 @@ -107236,7 +106282,6 @@ paniyanovska.ua, 1 panjiva.com, 1 pankiewiczlaw.com, 1 pankoff.net, 1 -pankvyh.xyz, 1 panlex.org, 1 panmill.xyz, 1 panmuseum.gr, 1 @@ -107275,7 +106320,6 @@ pantai.com.my, 1 pantallanotebook.cl, 1 pantallasyescenarios.com, 0 pantas.com, 1 -pantavv.xyz, 1 pantera.tk, 1 panthenolplus.co.uk, 1 panthenolplus.com, 1 @@ -107431,7 +106475,6 @@ paranoidandroid.co, 1 paranoidandroid.tk, 1 paranoidpengu.in, 1 paranoidpenguin.net, 1 -paranoidpenguins.com, 1 paranormales.tk, 1 paranoxer.hu, 1 paranoxido.tk, 1 @@ -107668,7 +106711,6 @@ parkos.com, 1 parkos.de, 1 parkos.it, 1 parkos.nl, 1 -parkplus.in.ua, 0 parkr.io, 0 parkrangeredu.org, 1 parkrunstats.servehttp.com, 1 @@ -107681,7 +106723,6 @@ parksubaruoemparts.com, 1 parktownpatrols.co.za, 1 parktraum.com, 1 parkvetgroup.com, 1 -parkviewcity.com.pk, 1 parkviewmotorcompany.com, 1 parkwayminyan.org, 1 parkweiher.koeln, 1 @@ -107820,7 +106861,6 @@ partyphoto.tk, 1 partyrocksbounce.co.uk, 1 partyschnaps.com, 1 partyshop.ge, 1 -partytime-uk.co.uk, 1 partytimeltd.ie, 1 partywithunicorns.com, 1 partyyy.io, 1 @@ -107833,7 +106873,6 @@ pasadena.gov, 1 pasadenapooch.org, 1 pasalt.com, 1 pasarella.eu, 1 -pasaruang.id, 1 pascal-bourhis.com, 1 pascal-koelsch.de, 1 pascal-ua.tk, 1 @@ -107864,7 +106903,6 @@ pasnine.my.id, 1 pasportaservo.org, 1 pasquinelli-truebag.ch, 1 pass-jobcoaching.nl, 1 -pass.org.my, 1 passa.org, 1 passabook.com, 1 passau-webdesign.com, 1 @@ -108224,7 +107262,6 @@ pawelnazaruk.com, 1 pawelurbanek.com, 1 pawelurbanski.com, 1 pawgearlab.com, 1 -pawn.inc, 1 pawneecountyne.gov, 1 pawnsoft.tk, 1 pawp.com, 1 @@ -108291,7 +107328,7 @@ payctest.com, 1 paydepot.com, 1 paydigital.pt, 1 paydoor9.com, 1 -payeasy.tech, 0 +payeasy.tech, 1 payfare.com, 1 payfazz.com, 1 payforpeople.nl, 1 @@ -108299,6 +107336,7 @@ paygvpn.com, 1 payhub.jp, 1 payjunction.com, 1 payjunctionlabs.com, 1 +paykings.com, 1 paylabs.co.id, 1 paylessclinicers.ga, 1 paylessclinicest.ga, 1 @@ -108442,7 +107480,6 @@ pcengines.com.au, 1 pcexpress.tk, 1 pcf-frankfurt.de, 1 pcf.com, 1 -pcf92.fr, 1 pcfdut.gov, 1 pcfiles.ga, 1 pcfunder.co.uk, 1 @@ -108478,7 +107515,6 @@ pcnetinc.com, 1 pcnewsoft.tk, 1 pcnotdienst-oldenburg-rastede.de, 1 pcpao.gov, 1 -pcpasokh.ir, 1 pcpirates.tk, 1 pcplaza.tk, 1 pcprkolo.pl, 1 @@ -108593,7 +107629,6 @@ peaksalesrecruiting.com, 1 peakseoservices.co.uk, 1 peaksloth.com, 1 peaksports.com, 1 -peaksupport.io, 0 peakvets.co.uk, 1 peamotocenter.com.br, 1 peanutbutter.com, 1 @@ -108603,7 +107638,6 @@ pearbloom.com, 1 pearcom.co.uk, 1 pearlcohen.com, 1 pearle.nl, 1 -pearlharbordrydockeisopenhouse.org, 1 pearljamargentina.tk, 1 pearloc.com, 1 pearlsonly.ca, 1 @@ -108624,7 +107658,6 @@ peaudange.ch, 1 peawee.co.uk, 1 peawo.com, 1 pebblenest.uk, 1 -pebblepointapartmentsstl.com, 1 pebkac.gr, 0 peblet.be, 1 pebook.tk, 1 @@ -108764,7 +107797,6 @@ pelhamalrecreation.gov, 1 pelhamlibraryal.gov, 1 pelhrimov-strmechy.tk, 1 pelican.ie, 1 -pelicandebrief.com, 1 pelicanottertailmn.gov, 1 pelicans.tk, 1 peliculaonline.tk, 1 @@ -108944,7 +107976,6 @@ peopleplanetconnect.org, 1 peoplesbankal.com, 0 peoplescu.com, 1 peoplesdecade.org, 1 -peoplesguardian.org, 1 peopleskills4u.net, 1 peoplesliberationfront.tk, 1 peoplesoft-support.nl, 1 @@ -109008,7 +108039,6 @@ percydutton.co.uk, 1 percymagic.tk, 1 perd.re, 1 perdanabagus.tk, 1 -perdele-draperii.ro, 1 perdita-capelli.tk, 1 perdolyathlendr.tk, 1 perecraft.com, 1 @@ -109079,14 +108109,12 @@ performances-supervision.fr, 1 performancetillagebolt.com, 1 performancetransmission.net, 1 performansguru.com, 1 -performetric.net, 1 performing-art-schools.com, 1 performingdreams.tk, 1 performiptv.com, 1 performiptv.net, 1 performive.com, 1 performpracticesolutions.com, 1 -perftrack.net, 1 perfumerie.tk, 1 perfumes.com.br, 1 perfumesloewe.com, 1 @@ -109224,6 +108252,7 @@ persondatakonsulenterne.dk, 1 personetics.com, 1 personlookup.com.au, 1 personnedisparue.fr, 1 +persoonlijkeblog.nl, 0 perspective-daily.de, 1 perspective.com.tr, 0 perspectives-de-voyage.com, 1 @@ -109264,7 +108293,6 @@ pervacio.hu, 1 perved.org, 1 pervejshijistochnik.tk, 1 perversa.cl, 1 -perversas.cl, 1 pervesk.lt, 1 pervoklass.cf, 1 pervomaysk-city.ml, 1 @@ -109386,6 +108414,7 @@ petersburgmi.gov, 1 peterseninc.com, 1 petersonbrosrealty.com, 1 petersport.ee, 1 +petersson-gartengestaltung.de, 1 petersweb.me.uk, 1 petervaldesii.com, 0 petervantriet.nl, 1 @@ -109416,6 +108445,7 @@ petiteframes.com, 1 petitenympha.com, 1 petitions.by, 1 petitions.pro, 1 +petitmaison.net, 1 petitnuagephotographie.be, 1 petitsfrenchies.com, 1 petitsfreresdespauvres.fr, 1 @@ -109592,6 +108622,7 @@ pglaum.tk, 1 pgllandscaping.com, 1 pgln.tk, 1 pgmann.com, 1 +pgmjr.com, 1 pgmsource.com, 1 pgmsp.net, 1 pgmtechnologies.com, 1 @@ -109601,6 +108632,7 @@ pgnetwork.net, 1 pgnetwork.org, 1 pgp.lol, 1 pgp.net, 1 +pgp.network, 1 pgp.org.au, 1 pgpaintanddesign.com, 1 pgpmail.cc, 1 @@ -109647,7 +108679,6 @@ pharmaboard.de, 1 pharmaboard.org, 1 pharmaceuticalcannabis.org, 1 pharmacie-matignon.com, 1 -pharmaciechatelle.be, 1 pharmacy.org.pk, 1 pharmalab.eu, 1 pharmalab.fr, 1 @@ -109671,7 +108702,6 @@ phastidio.net, 1 phatblackbooty.com, 1 phattea.tk, 1 phbits.com, 1 -phc-sa.com, 1 phc4submit.org, 1 phcimages.com, 1 phcloud.spdns.de, 1 @@ -109693,11 +108723,9 @@ phenergan.ml, 1 phenixairsoft.com, 1 phenixlab.fr, 0 phenomnaltwincities.com, 1 -phenonline.com, 1 phenriques.com, 1 phenweb.co.uk, 1 pheramoan.com, 1 -phero.com, 0 pheromeons.com, 1 pheromoans.com, 1 pheromoens.com, 1 @@ -109808,6 +108836,7 @@ phligence.com, 1 phobos.tk, 1 phoebestrong.org, 1 phoenix-correspondence-commission.gov, 1 +phoenix.dj, 1 phoenixboard.tk, 1 phoenixcourt.gov, 1 phoenixdepositionservices.com, 1 @@ -109869,7 +108898,6 @@ phosagro.biz, 0 phosagro.com, 0 phosagro.ru, 0 phosforum.ga, 1 -phosphene.io, 1 photiplans.fr, 1 photistic.org, 1 photo-blowup.com, 0 @@ -110010,7 +109038,6 @@ phukettravel.gq, 1 phukienchanh.com, 1 phulyshop.com, 0 phumin.in.th, 1 -phuoctran.com, 1 phuoctran.com.vn, 1 phuoctran.org, 1 phuoctran.vn, 1 @@ -110034,11 +109061,9 @@ physiciansopticalservice.com, 1 physicpezeshki.com, 1 physics-schools.com, 1 physicsforums.com, 1 -physik.hu, 1 physik.lol, 1 physio-im-appelbachtal.de, 1 physio-koenigsee.de, 1 -physio-nrj.ch, 1 physiobalance.nl, 1 physiobrite.tk, 1 physioteam-franz.de, 1 @@ -110146,13 +109171,13 @@ pickupenc.ru, 1 piclect.com, 1 picme.tk, 1 picmms.com, 1 -pico.si, 1 picobellos.tk, 1 picofme.io, 1 picom365.com, 1 picone.com.au, 1 piconepress.com, 1 picordi.fr, 1 +picoulumber.com, 1 picpay.com, 1 picr.ws, 1 picrew.me, 1 @@ -110216,7 +109241,6 @@ pierre-denoblens.net, 1 pierre-schmitz.com, 1 pierreau.fr, 1 pierreborgmann.de, 1 -pierrefv.com, 0 pierrejeansuau.fr, 1 pierreloizeau.com, 1 pierreterrien.fr, 1 @@ -110298,7 +109322,6 @@ piliszek.net, 1 pillar.fi, 1 pillar.ninja, 1 pillar.us, 1 -pillbanana.com, 1 pillitteriobgyn.com, 1 pillow.sk, 1 pillowcast.net, 1 @@ -110405,7 +109428,6 @@ pinheirobittencourt.com.br, 1 pinigseu.xyz, 1 pinimg.com, 1 pininfarina.it, 1 -pink-check.school, 1 pink-panther.tk, 1 pink.nl, 1 pinkapple.com, 1 @@ -110434,7 +109456,7 @@ pinkylam.me, 1 pinleather.rs, 0 pinnacle-tex.com, 1 pinnacleallergy.net, 1 -pinnaclecare.com, 0 +pinnaclecare.com, 1 pinnaclecommunityservices.com.au, 1 pinnacleholdings.com, 1 pinnaclelife.co.nz, 0 @@ -110458,7 +109480,6 @@ pinpayments.com, 1 pinpointengineer.co.uk, 1 pinsami.it, 1 pinsamiprofessional.com, 1 -pinse.club, 1 pinse.la, 1 pinsi.pt, 1 pinsource.kz, 1 @@ -110497,6 +109518,8 @@ pinterjann.is, 1 pinterst.com, 1 pintiaktivasyon.com, 1 pintiaux.com, 1 +pintosbeeremovals.co.za, 1 +pintoselectricfencing.co.za, 1 pintrest.com, 1 pinupbets.gq, 1 pinupsex.com, 1 @@ -110506,7 +109529,6 @@ pinyonpass.net, 1 pinyonpass.org, 1 pioneer-car.eu, 1 pioneer-rus.ru, 1 -pioneer.eu, 1 pioneerbible.org, 1 pionierboat.cf, 1 pionierboat.ga, 1 @@ -110527,7 +109549,6 @@ pipetehran.ir, 1 pipetobacco.uk, 1 pipfrosch.com, 0 pipglobal.com, 1 -pippenainteasy.com, 1 piprivillage.ml, 1 pipscprd.ca, 1 piquaoh.gov, 1 @@ -110542,7 +109563,6 @@ pirapiserver.ddns.net, 1 pirate-proxy.biz, 1 pirate-proxy.click, 1 pirate-proxy.club, 1 -pirate-proxy.one, 1 pirate-proxy.onl, 1 pirate-proxy.pro, 1 pirate-proxy.pw, 1 @@ -110598,7 +109618,6 @@ pissblau.com, 1 pissflaps.co.uk, 1 pista73.com, 1 pistonkandidatu.tk, 1 -pistonpowered.com, 1 pisupp.ly, 1 piszmak.pl, 1 pit-book.com, 1 @@ -110654,11 +109673,9 @@ pivnica.cf, 1 pivnica.ga, 1 pivnica.gq, 1 pivnica.tk, 1 -pivotalshift.co.uk, 1 pivotaltracker.com, 1 pivotanimation.org, 1 pivotanimation.tk, 1 -pivotbio.com, 1 pivovarcunak.cz, 1 pivpn.io, 1 pivx2bitcoin.com, 1 @@ -110679,7 +109696,6 @@ pixel-puls.de, 1 pixel.facebook.com, 0 pixel.google.com, 1 pixel4k.com, 1 -pixelabs.fr, 0 pixelats.cat, 1 pixelbrew.coffee, 1 pixelcatproductions.net, 1 @@ -110736,7 +109752,6 @@ pixstash.net, 1 pixsystem.com, 1 pixxxels.cc, 1 pixyship.com, 1 -pixzilla.de, 1 pizala.de, 1 pizdelka.tk, 1 pizza-24.tk, 1 @@ -111030,7 +110045,6 @@ platformio-cn.com, 1 plathome.co.jp, 1 platiniumvapes.com, 1 platinnetz.de, 1 -platinum-hit.com, 1 platinum1.ru, 1 platinumalertsers.ga, 1 platinumalertsest.ga, 1 @@ -111045,7 +110059,6 @@ platinumtalkers.ga, 1 platinumtalkest.ga, 1 platnik.net, 1 platodecomida.com, 1 -platpoint.com, 1 platschi.net, 1 plattecountymovotes.gov, 1 platten-nach-mass.de, 1 @@ -111094,7 +110107,6 @@ playapexcn.com, 1 playasdegalicia.tk, 1 playavalon.net, 1 playball.tk, 1 -playblightnight.com, 1 playcasinos.ca, 1 playcollect.net, 1 playdaysparties.co.uk, 1 @@ -111104,6 +110116,7 @@ playelephant.com, 1 player701.net, 1 player701.ru, 1 playerdb.co, 1 +playerslounge.co, 0 playerup.com, 1 playface.ml, 1 playform.cloud, 1 @@ -111115,7 +110128,6 @@ playgroundhaarlem.nl, 1 playhappywheelsunblocked.com, 1 playinfinity.com, 1 playinfinityvr.com, 1 -playingfor90.com, 1 playit.rs, 1 playkids.com, 1 playlistresearch.com, 1 @@ -111152,7 +110164,6 @@ playviolinmusic.com, 1 playwhyyza.com, 1 playwright.co, 1 playxylo.com, 1 -playyou.be, 1 playzone.tk, 1 plaza.ph, 1 plazamarinavallarta.com, 1 @@ -111391,7 +110402,6 @@ pmota.org, 1 pmp-art.com, 1 pmp6.fr, 1 pmpm.tk, 1 -pmpress.org, 1 pms.myiphost.com, 1 pmscomputers.com, 1 pmsf.eu, 1 @@ -111497,7 +110507,6 @@ poc71.com, 1 poc718.com, 1 poc72.com, 1 poc75.com, 1 -poc76.com, 1 poc768.com, 1 poc77.com, 1 poc771.com, 1 @@ -111574,7 +110583,6 @@ podawful.com, 1 podawful.pizza, 1 podcast.style, 1 podcaster.org.il, 1 -podcastmusic.com, 1 podcastpulse.net, 1 podcreative.ca, 1 podcrto.si, 1 @@ -111724,7 +110732,7 @@ pokerblog.tk, 1 pokeridioters.ga, 1 pokeridiotest.ga, 1 pokerigrach.com, 1 -pokernyheder.io, 0 +pokernyheder.io, 1 pokerreligioners.ga, 1 pokerreligionest.ga, 1 pokerslab.com, 1 @@ -111869,7 +110877,6 @@ politik-bei-uns.de, 1 politik-kommunikation.de, 1 politisor.com, 1 politnews5.tk, 1 -politoboz.com, 1 politsei.ee, 0 politvesti.tk, 1 polizeiwallis.ch, 0 @@ -111897,7 +110904,6 @@ pollpodium.nl, 1 polly.spdns.org, 1 pollypaps.ru, 1 pollyundpaule.de, 1 -polmods.com, 1 polnischestoffe.eu, 1 polog.tk, 1 poloil.gov, 1 @@ -112112,7 +111118,6 @@ population-ethics.com, 1 population.gov.au, 0 popup-stores.online, 1 popupbazaar.tk, 1 -popvitrin.com, 1 popwaifu.click, 1 popxclusive.com, 0 poquiloco.com, 1 @@ -112160,7 +111165,6 @@ pornbabetyra.org, 1 pornbay.eu, 1 pornbay.org, 1 pornblog.org, 1 -pornbs.com, 1 porncomix69.com, 1 porncomp.com, 1 porncompanions.com, 1 @@ -112176,6 +111180,7 @@ pornfriends.tk, 1 porngals4.com, 1 porngameshub.com, 1 pornhib.xyz, 1 +pornhub.com, 1 pornhubapparel.com, 1 pornhubpremium.com, 1 pornhun.xyz, 1 @@ -112189,7 +111194,6 @@ pornmax.net, 1 pornmega.net, 1 porno-chat.it, 1 porno-geschichten.com, 1 -porno-gif.ru, 1 porno-stars-video.ru, 1 pornobilder.pics, 1 pornoclips.net, 1 @@ -112360,7 +111364,6 @@ poshvine.com, 1 posicionament.tk, 1 posied.ga, 1 posijson.stream, 1 -positanoboat.com, 1 positionus.io, 1 positivastudios.tk, 1 positive-thinking-for-you.com, 1 @@ -112405,11 +111408,9 @@ postblue.info, 1 postbox.life, 1 postcardpayment.com, 1 postcards.tk, 1 -postcode.nl, 1 postcodeswag.co.uk, 1 postcodeswag.com, 1 postcodeswag.uk, 1 -postcrossing.com, 1 postdarwinian.com, 1 postdarwinism.com, 1 postdeck.de, 1 @@ -112441,7 +111442,6 @@ postmaster.boats, 1 postmatescode.com, 1 postmerkezi.tk, 1 postmistress.email, 1 -postmoderns.info, 1 postmusicologia.tk, 1 postn.eu, 1 postnet.club, 1 @@ -112477,6 +111477,7 @@ potatochip.tk, 1 potatodiet.ca, 1 potatolighting.com, 1 potatopro.com, 1 +potatosoft.kr, 1 potatosouprecipe.ml, 1 potatotee.com, 1 potature.it, 1 @@ -112570,7 +111571,7 @@ powerb.ch, 1 powerbalance.tk, 1 powerball.cf, 1 powerball.club, 1 -powerbi.istanbul, 1 +powerbi.istanbul, 0 powerbux.tk, 1 powercloud.technology, 1 powercod.tk, 1 @@ -112592,12 +111593,10 @@ powerlifting.tk, 1 powerling.com, 1 powerlp.com, 1 powermeter.at, 1 -powerofsocialtech.com, 1 powerpc.pt, 1 powerpilot.co.za, 1 powerplan.com, 1 powerplantmall.com, 1 -powerplatform.istanbul, 1 powerplay.com, 1 powerplay.xyz, 1 powerplayer.tk, 1 @@ -112668,6 +111667,7 @@ pozitiffchik.tk, 1 pozitiv.gq, 1 pozitone.com, 1 poziworld.com, 1 +poznajrynek.pl, 1 poznavatelno.ml, 1 pozzitiv.ro, 1 pp.es, 1 @@ -112699,6 +111699,7 @@ ppld.org, 1 pplog.info, 1 pplsoft.nl, 1 pplsvc.com, 1 +pplusp.dk, 1 ppmlocal.com, 1 ppmoon.com, 1 ppms.gov, 1 @@ -112888,7 +111889,6 @@ preciouspebble.co.uk, 1 preciscx.com, 1 precisebusiness.com, 1 precisefuture.com, 1 -precision.st, 1 precisionclan.com, 1 precisioncoolingco.com, 1 precisioncourt.com, 1 @@ -112929,7 +111929,6 @@ prefereal.com, 1 prefereal.net, 1 prefereal.org, 1 preference.ga, 1 -preferred411.com, 1 preferredathlete.com, 1 preferredreverse.com, 1 preferredservice.ca, 1 @@ -113164,7 +112163,6 @@ pretzelx.com, 1 preums.co, 1 preussner-grafik-design.de, 1 prevalent.net, 1 -preventfalls.com, 1 preventshare.com, 1 preview-it-now.com, 1 preview.ninja, 1 @@ -113349,6 +112347,7 @@ printbase.cz, 1 printbigjournal.tk, 1 printdrivers.org, 1 printeknologies.com, 1 +printerdrivers.com, 1 printerem.hu, 1 printerinks.com, 1 printerinks.ie, 1 @@ -113379,7 +112378,7 @@ prio.pt, 1 prior-it.be, 0 prior.cloud, 1 priorite-education.com, 1 -prioritet.hr, 0 +prioritet.hr, 1 priorityeducation4u.tk, 1 priorityelectric-agourahills.com, 1 priorityelectric-camarillo.com, 1 @@ -113482,7 +112481,6 @@ privateservice.cz, 1 privatetrainingonline.se, 1 privateuploader.com, 1 privatevpn.com, 1 -privateweb.top, 1 privatfrei.de, 1 privatmeet.com, 1 privatstunden.express, 1 @@ -113526,7 +112524,6 @@ pro-alter.ch, 1 pro-babochek.ru, 1 pro-ben.sk, 1 pro-bike.ro, 1 -pro-box.be, 0 pro-c.me, 1 pro-co.at, 1 pro-esb.net, 1 @@ -113557,6 +112554,7 @@ pro.co.id, 1 pro.co.il, 1 pro100systems.com.ua, 1 pro4x4.com.ua, 0 +proacksecurity.com, 1 proacousticsusa.com, 1 proact-it.co.uk, 1 proactive.run, 1 @@ -113665,6 +112663,7 @@ productiv.com, 1 productive.io, 1 productivemachine.net, 1 productiveplastics.com, 1 +productkeyslist.com, 1 productosdeteruel.es, 0 productosquimicosrd.com, 1 productpeo.pl, 1 @@ -113778,7 +112777,6 @@ prog.olsztyn.pl, 1 prog24.net, 1 progamehackers.tk, 1 progamersquad.com, 1 -progarm.org, 1 progaudio.be, 1 progea.com, 1 progenda.be, 1 @@ -113801,7 +112799,6 @@ progolfnow.com, 1 progon.cf, 1 progonsoftware.com, 1 prograce.info, 1 -program-ace.com, 1 program-and.work, 1 programador-web-freelance.es, 1 programagrowup.com.br, 1 @@ -113863,7 +112860,6 @@ project-novis.org, 1 project-rune.tech, 1 project-stats.com, 1 project-tamriel.com, 1 -project-trans.org, 1 project.ac.cn, 1 project86fashion.com, 1 projectalias.com, 1 @@ -114044,7 +113040,6 @@ propertydealer.ga, 1 propertyfindercdn.com, 1 propertyflare.com, 1 propertygroup.pl, 1 -propertyinside.id, 1 propertyinspect.com, 1 propertylondon.co.uk, 1 propertyme.com.au, 1 @@ -114058,6 +113053,7 @@ propertysales-almeria.com, 1 propertyselling.ga, 1 propertysex.com, 1 propertyupdate.com.au, 1 +propertyworkshop.com, 0 propfirmdiscount.com, 1 prophetdesign.ch, 1 prophitt.me, 1 @@ -114078,7 +113074,6 @@ propranololgeneric.ml, 1 proprietairesmaisons.fr, 1 propseller.com, 1 propshub.com, 1 -proregiotram.de, 1 proressource.ca, 0 proressources.ca, 1 proris.com, 0 @@ -114150,7 +113145,6 @@ prosurveillancegear.com, 1 prosvet.tk, 1 prosveta1901.tk, 1 prosvita.dp.ua, 1 -prosystems.com.br, 1 protaaltar.com, 1 protanki.ml, 1 protanki.tk, 1 @@ -114177,10 +113171,10 @@ protectoraircare.com.au, 1 protectwrap.ml, 1 protege.moi, 1 proteh.com.ua, 1 -proteinak.com, 1 proteinreport.org, 1 protek.tk, 1 proteka.com.tr, 1 +protekpainters.com, 1 protempore.fr, 1 protenus.com, 1 proteogenix-products.com, 1 @@ -114256,7 +113250,7 @@ providenthousing.com, 1 providential.be, 1 providerlijst.ml, 1 providmedical.com.ua, 1 -provigis.com, 1 +provigis.com, 0 provinciaotlavoro.it, 1 provinstyper.com, 1 provinzblogger.de, 1 @@ -114338,7 +113332,6 @@ prushka.tk, 1 pruve.it, 1 prvnirodinna.cz, 1 prwebconsulting.com, 1 -prwid.com, 1 prwid.gov, 1 pry.co, 1 pryan.org, 1 @@ -114388,7 +113381,6 @@ psb1.org, 1 psb1911.com, 1 psb4ukr.net, 1 psb4ukr.org, 1 -psbarrett.com, 1 psblog.fr, 1 psc-elsene.be, 1 psc.gov.ws, 1 @@ -114437,7 +113429,6 @@ psihotest.tk, 1 psii.global, 0 psiint.ca, 1 psikokoro.com, 1 -psinergia.com, 1 psinergy.info, 1 psinergyhealth.com, 1 psinergytech.com, 1 @@ -114452,7 +113443,6 @@ psitarz.com, 1 psixotest.tk, 1 psixotesty.tk, 1 pskhu-wedding.ru, 1 -pskl.us, 1 pskov-daily.tk, 1 pskov.gq, 1 pskov.ml, 1 @@ -114671,7 +113661,6 @@ public-vocals.de, 1 public.cat, 1 publicagent.com, 1 publiccarauctionscalifornia.com, 1 -publiccdn.com, 1 publicdatacloud.com, 1 publicdatafiles.com, 1 publicdelivery.org, 1 @@ -114715,8 +113704,6 @@ pubquiz-online.nl, 1 pubsavoy.tk, 1 puccakir.tk, 1 puckcreations.com, 1 -puckprose.com, 1 -pucksandpitchforks.com, 1 pucogid.ga, 1 puddin.ml, 1 pudding.tk, 1 @@ -114830,6 +113817,7 @@ puntacanavapor.com, 1 puntaires.com, 1 puntaprop.com, 1 puntcunts.com, 1 +puntoaparte.pe, 1 puntocroce.tk, 1 puntoestadodemexico.com, 1 puntogommevenegono.it, 1 @@ -114893,6 +113881,7 @@ purevicky.com, 1 purewaterguide.net, 1 purikore.com, 1 puritanas.tk, 1 +puritas.lk, 1 purits.de, 1 purityclothing.co.uk, 1 purneauniversity.org, 1 @@ -115118,7 +114107,6 @@ pypi.python.org, 1 pyra-explorer.tk, 1 pyramidsmalleg.com, 1 pyramydair.com, 1 -pyrenees.io, 1 pyrios.pro, 1 pyro.works, 1 pyroballpcbs.com, 1 @@ -115188,7 +114176,6 @@ qabel.de, 1 qabete.com, 1 qac.gov, 1 qaconstrucciones.com, 1 -qadigitals.com, 1 qadmium.com, 1 qadmium.tk, 1 qadrishattari.tk, 1 @@ -115196,9 +114183,7 @@ qaina.net, 1 qalab.tk, 1 qalm.net, 1 qanatnews.tk, 1 -qandavision.com, 0 qani.me, 1 -qapital.com, 0 qaq.cloud, 1 qaq.gay, 1 qaq.icu, 1 @@ -115288,7 +114273,6 @@ qiaohong.org, 1 qiaowai.com, 1 qiber.org, 1 qicoder.com, 1 -qicsystems.com, 1 qifu.me, 1 qifu.org.cn, 1 qihalu.com, 1 @@ -115305,7 +114289,7 @@ qinglingyu.cn, 1 qinglingyu.com, 1 qingly.me, 1 qingniantuzhai.com, 1 -qingpat.com, 1 +qingpat.com, 0 qingpei.me, 1 qingyule.com, 1 qinlili.bid, 1 @@ -115318,9 +114302,9 @@ qitabbs.com, 0 qitano.com, 1 qitarabutrans.com, 1 qiu.moe, 0 +qiuwenbaike.cn, 1 qivonline.pt, 1 qiwi.be, 1 -qiwi.cash, 1 qix.ca, 1 qixbit.com, 1 qixi.biz, 1 @@ -115410,7 +114394,6 @@ qraa.qld.gov.au, 1 qrara.net, 1 qrbird.com, 1 qrcoba.org, 1 -qrcode.es, 1 qrcontagion.com, 1 qrd.by, 1 qredo.com, 0 @@ -115486,7 +114469,6 @@ qualebroker.com, 1 qualescegliere.it, 1 qualiacomputers.com, 1 qualidesign.com.br, 0 -qualifiedscholars.com, 1 qualifio.com, 1 qualita.es, 1 qualitahub.com, 1 @@ -115515,7 +114497,6 @@ qualityplusconsulting.com, 0 qualitypolyjacking.com, 1 qualitypropertycare.co.uk, 1 qualitysistemas.com.br, 1 -qualitytimemovers.com, 1 qualitytitlepaducah.com, 1 qualitywaterproofingco.com, 1 qualityworks.tk, 1 @@ -115649,7 +114630,6 @@ quelleformation.net, 1 quellenwiese.ski, 0 quemmeliga.com, 1 quemquaeritis.tk, 1 -quemveioprimeiro.com.br, 1 quena-artesania.tk, 1 quenchwater.com, 1 quenecesitopara.com, 1 @@ -115816,7 +114796,6 @@ quisildenafil.gq, 1 quitri.tk, 1 quivedo.com, 1 quiwy.ninja, 1 -quixxisecurity.com, 1 quiz.biz, 1 quizapps.se, 1 quizhub.ml, 1 @@ -116272,7 +115251,6 @@ radiosilver.tk, 1 radiosimba.ug, 1 radiosterrekijker.tk, 1 radiosuperplus.tk, 1 -radioswinoujscie.pl, 1 radioszczecin.pl, 1 radiotataouine.tk, 1 radiotehnika.tk, 1 @@ -116394,6 +115372,7 @@ raidkeeper.com, 1 raidstone.net, 1 raidstone.rocks, 1 raiffeisen-kosovo.com, 0 +raiffeisen.al, 0 raiffeisenbank.ba, 1 raiffeisenleasing-kosovo.com, 1 raiilto.com, 1 @@ -116466,7 +115445,6 @@ rainmanzone.com, 1 rainnetwork.tk, 1 rainnny.club, 1 rainpaper.com, 1 -rainstormsinjuly.co, 1 raintreatment.ga, 1 rainturtle.com, 1 rainuk.com, 1 @@ -116477,6 +115455,7 @@ raise-educationandwellbeing.co.uk, 1 raisecorp.com, 1 raisects.co.uk, 1 raisetheyouth.co.uk, 1 +raisingresilientreaders.com, 1 raisioammattilaisille.fi, 1 raissarobles.com, 1 raistrick.art, 1 @@ -116598,7 +115577,6 @@ ramsor-gaming.de, 1 ramt.tk, 1 ramtechmodular.com, 1 ramusa.org, 1 -ramwindows.com, 1 ramydent.no, 1 ramynetwork.tk, 1 ran-drunken.tk, 1 @@ -116633,7 +115611,6 @@ randombrainwave.cf, 1 randombrainwave.ga, 1 randombrainwave.gq, 1 randombrainwave.ml, 1 -randomcode.org, 1 randomdomain.io, 1 randomforestweb.com, 1 randomforum.tk, 1 @@ -116654,7 +115631,6 @@ randomuuid.org, 1 randomweb.tk, 1 randorn.com, 1 randox.com, 1 -randoxhealth.com, 1 randy.su, 1 randyandpixel.com, 1 randyrhoads.tk, 1 @@ -116668,7 +115644,6 @@ rangeforce.eu, 1 rangercollege.edu, 1 rangerfiles.tk, 1 rangersloyalsite.tk, 1 -rangersofbelgium.be, 1 rangeweb.ga, 1 ranginkamonkadeh.ir, 1 rangsmo.se, 0 @@ -116677,6 +115652,7 @@ raniermn.gov, 1 ranjanbiswas.in, 1 ranjanbiswas.net, 1 ranjeetmehta.tk, 1 +rankeco.com, 1 ranker.work, 1 rankia.ga, 1 ranking-deli.jp, 1 @@ -116695,7 +115671,6 @@ rankya.com, 1 rannamoisaaiasalong.ee, 1 rannseier.org, 1 ranos.org, 1 -ransomspares.co.uk, 1 ranson.com.au, 1 ransonwv.gov, 1 rantalaholcomb.tk, 1 @@ -116709,7 +115684,6 @@ ranzbak.nl, 1 raochana.com, 0 raoliveoil.ga, 1 raomed.com.ar, 1 -raovat.net, 1 raovatsaigon.tk, 1 rap4ever.org, 1 rapala.com, 1 @@ -116743,7 +115717,6 @@ rapidspike.com, 1 rapidssl.com.ru, 1 rapidsslonline.com, 1 rapidstone.com, 1 -rapidxray.biz, 1 rapnet.com, 1 raposafixe.pt, 1 rapoteka.tk, 1 @@ -116754,7 +115727,6 @@ rapport.link, 1 raps.org, 1 rapsconfab.com, 1 raptechpk.com, 1 -raptorsrapture.com, 1 rapu.nz, 1 rapwoyska.tk, 1 rapyd.net, 1 @@ -116763,7 +115735,6 @@ raquelmolinacases.tk, 1 rar.moe, 1 raranga.net.nz, 1 rarbg2020.org, 1 -rarbgmirror.com, 1 rarbgmirrored.org, 1 rarbgproxied.org, 1 rarbgproxy.com, 1 @@ -116915,7 +115886,6 @@ ravron.com, 1 ravse.dk, 1 raw.nl, 1 rawa-ruska-union-nationale.fr, 1 -rawb0ts.io, 1 rawballs.nl, 1 rawbeautysource.com, 1 rawcom.pl, 1 @@ -116923,7 +115893,6 @@ rawdamental.com, 1 rawdutch.nl, 1 rawfitco.com.au, 1 rawforce.tk, 1 -rawhoney.me, 1 rawinfosec.com, 1 rawley.co.uk, 1 rawlinswy.gov, 1 @@ -116943,6 +115912,7 @@ raydius.de, 1 rayfalling.com, 1 rayhillforsupremecourt.com, 1 rayiris.com, 1 +rayj.me, 1 rayj.org, 1 raykitchenware.com, 1 raylo.com, 1 @@ -116973,7 +115943,6 @@ raywisdom.tk, 1 raywjohnson.com, 1 raywjohnson.info, 1 raywjohnson.me, 1 -raywjohnson.net, 1 rayworks.de, 1 razakhanimazhab.tk, 1 razalabs.com, 1 @@ -116990,7 +115959,6 @@ razdolnoe.tk, 1 razeencheng.com, 1 razgon.ga, 1 razgon.tk, 1 -razhayezendegi.ir, 1 raziculacrimi.ro, 1 razoesparaacreditar.com, 1 razrabo.tk, 1 @@ -117039,6 +116007,7 @@ rbx.com, 1 rbx.gg, 1 rc-lotto.com, 1 rc-offi.net, 1 +rc-refer.nhs.uk, 1 rc-shop.ch, 1 rc.cruises, 1 rc1.eu, 1 @@ -117349,7 +116318,6 @@ realtimenetworks.com, 1 realtimeregister.com, 1 realtoraidan.com, 1 realty-pochta.tk, 1 -realtyfeature.com, 1 realtygroup-virginia.com, 1 realtyofnaples.com, 1 realtys.ca, 1 @@ -117558,7 +116526,6 @@ recycledinorsett.com, 1 recyclenow.com, 1 recycling.tk, 1 recyclingisland.com, 1 -recyklace-prochazka.cz, 1 recyklacekovu.cz, 1 red-button.hu, 1 red-dragon.tk, 1 @@ -117606,7 +116573,6 @@ reddark.io, 1 reddcoin.com, 1 reddcrypt.com, 1 reddepsicologosdecr.com, 1 -reddevilarmada.com, 1 reddice.tk, 1 reddingo.at, 1 reddingo.be, 1 @@ -117635,7 +116601,6 @@ redecsirt.pt, 1 rededca.com, 1 rededecuidadores.pt, 1 redefertig.de, 1 -redefineyounow.com, 1 redefiningstrength.com, 1 redehiperfarma.com.br, 1 redelectrical.co.uk, 0 @@ -118026,7 +116991,6 @@ regtech.tk, 1 regtify.com, 1 regtify.org, 1 regtransfers.co.uk, 1 -reguanli.com, 1 reguladordevoltagem.com.br, 1 regularizaboti.com.br, 1 regularlabs.com, 1 @@ -118174,6 +117138,7 @@ relationsproblem.nu, 1 relatosypoesias.tk, 1 relawan24jam-magetan.pp.ua, 1 relaxcenternederland.nl, 1 +relaxdata.eu, 1 relaxhavefun.com, 1 relaxpointhyncice.cz, 1 relaxti.me, 1 @@ -118334,10 +117299,8 @@ remyb.me, 1 remyphotography.fr, 1 remyroguevolution.tk, 1 rena.am, 1 -rena.cloud, 1 renaatsioncke.com, 1 renaissance.shop, 1 -renanoliveira.design, 1 renard-pierne-avocats.fr, 1 renascercorretora.com.br, 1 renascerstp.org, 1 @@ -118392,7 +117355,6 @@ renezuo.com, 1 renicimery.com.br, 1 renjyaku-dental.com, 1 renkenlaw.com, 1 -renklihobi.com, 1 rennes-bachata.com, 1 rennes-blues.com, 1 rennes-danse-africaine.com, 1 @@ -118483,7 +117445,7 @@ renvisegrad.hu, 1 renwerks.com, 1 renxinge.cn, 0 renyiyou.com, 1 -renyu.ai, 1 +renyu.ai, 0 reo.gov, 0 reorz.com, 0 reox.at, 1 @@ -118769,7 +117731,6 @@ restlesslegs.tk, 1 resto-renaissance.be, 1 restoclub.ru, 1 restomojo.tk, 1 -restoran-radovce.me, 1 restoran.cf, 1 restorationphotos.tk, 1 restorethegulf.gov, 1 @@ -118958,6 +117919,7 @@ revifymedspa.com, 1 revijahak.hr, 1 revintake.com, 1 revionics.com, 1 +reviquimicos.com, 1 revis-online.cf, 1 revis-online.gq, 1 revis-online.ml, 1 @@ -119047,7 +118009,7 @@ rexograph.com, 1 rexskz.info, 1 rextomanawato4.tk, 1 rexuy.com, 1 -rexvin.co.id, 1 +rexvin.co.id, 0 rexxworld.com, 1 reyesfernando.com, 1 reyesholdings.com, 1 @@ -119216,6 +118178,7 @@ riceadvice.info, 1 ricecountymn.gov, 1 ricedust.com, 1 ricelasvegas.com, 1 +ricettesemplicieveloci.altervista.org, 1 rich-good.com, 0 richadams.me, 1 richandsteph.co.uk, 1 @@ -119478,7 +118441,6 @@ riotest.xyz, 1 riotseeds.cloud, 1 rip-sport.cz, 1 ripadores.tk, 1 -ripcityproject.com, 1 ripcorddesign.com, 1 ripcordsandbox.com, 1 ripcurl.tk, 1 @@ -119517,6 +118479,7 @@ risco.ro, 1 riscone.info, 1 riscoscommunity.org, 1 riscoshardware.tk, 1 +riscure.com, 1 rise-technologies.com, 1 rise.africa, 1 rise.com, 1 @@ -119595,7 +118558,7 @@ ritsu-life.com, 1 rittau.org, 1 rittersprinting.com, 1 ritual.com, 1 -ritual.ml, 1 +ritual.ml, 0 ritus.md, 1 ritzcarltonclub.com, 1 ritzlux.com.tw, 1 @@ -119670,7 +118633,6 @@ rjfedor.ddns.net, 1 rjhgroup.co.uk, 1 rjia.gq, 1 rjmartz.com, 1 -rjpdesignanddecor.com.au, 1 rk-box.ru, 1 rk-links.ml, 1 rk-mediawork.de, 0 @@ -119700,7 +118662,6 @@ rlove.org, 1 rm-it.de, 1 rm2brothers.cc, 1 rmb.li, 1 -rmbnsw.org.au, 1 rmbs.de, 1 rmbs.org, 1 rmcbs.de, 1 @@ -119786,6 +118747,7 @@ roanoke.com, 1 roar.com.br, 1 roaringforkfire.gov, 1 roaster.ga, 1 +roastrepublic.co, 1 roayahnews.com, 1 rob006.net, 1 robandjanine.com, 1 @@ -119867,7 +118829,7 @@ robinlinden.eu, 1 robinloeffel.ch, 1 robinminto.com, 1 robinmurez.com, 1 -robinopletal.com, 0 +robinopletal.com, 1 robinsoncontracting.ca, 1 robinsonphotos.uk, 1 robinsonstrategy.com, 1 @@ -119880,7 +118842,7 @@ robinwill.de, 1 robinwinslow.uk, 1 robinzone.ua, 1 robinzorg.nl, 1 -robjager-fotografie.nl, 1 +robjager-fotografie.nl, 0 robkaper.nl, 1 robkish.life, 1 roblog.tk, 1 @@ -119950,7 +118912,6 @@ rock4life.be, 1 rocka.me, 1 rockabilly-sinners.tk, 1 rockadocious.com, 1 -rockagogo.com, 1 rockandroll.tk, 1 rockbandparty.com, 1 rockbankland.com.au, 1 @@ -120118,7 +119079,7 @@ rogaineforwomen.ga, 1 rogard.fr, 0 rogarden.ro, 1 roge.pw, 1 -rogeiro.net, 1 +rogeiro.net, 0 rogell.tk, 1 rogerdat.ovh, 1 rogerdeflor.tk, 1 @@ -120166,7 +119127,6 @@ roiblozyxfswe.ga, 1 roidsstore.com, 1 rointe.online, 1 roishopper.com, 1 -roissystories.net, 1 roisu.org, 0 roiwebmarketing.com, 0 rojavainformationcenter.com, 1 @@ -120258,7 +119218,6 @@ romanticdate.ml, 1 romanticdate.tk, 1 romantico.tk, 1 romanticsexshopguatemala.com, 1 -romantictoys.nl, 1 romanticvillas.com.au, 0 romantik-fm.ml, 1 romantik-fm.tk, 1 @@ -120432,6 +119391,7 @@ rosabellas.co.uk, 1 rosabrasiv.ga, 1 rosacosmos.tn, 1 rosaflorbijoux.com.br, 1 +rosakkreditatsiya-forum.ru, 1 rosalinda.cl, 1 rosalindturner.co.uk, 1 rosalopezcortes.tk, 1 @@ -120482,6 +119442,7 @@ rosetwig.ca, 1 rosetwig.systems, 1 rosevalleyfolk.com, 1 rosevillefacialplasticsurgery.com, 1 +rosevillekindy.nsw.edu.au, 1 rosevilletoday.com, 1 rosewater.me, 1 rosewebdesignstudio.co.uk, 1 @@ -120576,7 +119537,6 @@ rottie.xyz, 1 rottig.de, 0 rottnestexpress.com.au, 1 rottweil-hilft.de, 1 -rottweiler.ws, 1 rottweilerdogcare.com, 1 rotu.pw, 1 rotunneling.net, 1 @@ -120957,7 +119917,7 @@ rubberband.com, 1 rubberchicken.net, 1 rubberduckit.com, 1 rubberlegscastles.co.uk, 1 -rubbermaidoutlet.com, 1 +rubbermaidoutlet.com, 0 rubbingtherock.com, 1 rubbix.net, 1 rubblebenoni.co.za, 1 @@ -121017,14 +119977,12 @@ rubyonremote.com, 1 rubyquincunx.com, 1 rubyquincunx.org, 1 rubyribbon.com, 1 -rubysinn.com, 1 rubystore.ga, 1 rucheentreprise.fr, 1 ruchka-mashinka.gq, 1 rucinski.ch, 1 rucinski.eu, 1 rucinski.uk, 1 -ruckify.com, 1 rucksackrebellen.de, 1 ruckzuck-privatpatient.de, 1 rud.is, 1 @@ -121069,7 +120027,6 @@ ruffnecks.tk, 1 ruflay.ru, 1 ruforce.ml, 1 rugadgets.tk, 1 -rugbugecoflooring.com, 1 rugby.tk, 1 rugby.video, 1 rugbynow.com, 1 @@ -121137,6 +120094,7 @@ rumartinez.es, 1 rumata.pub, 1 rumatallc.com, 1 rumbasguayaquil.com, 1 +rumble.com, 1 rumbleline.ga, 1 rumeli.edu.tr, 1 rumemi.com, 1 @@ -121201,7 +120159,6 @@ runnerslab.com, 1 runningcitadel.com, 1 runningfast.cf, 1 runningrabb.it, 1 -runningshoesguru.com, 1 runningshows.tk, 1 runpartner.com, 1 runrun.es, 1 @@ -121425,7 +120382,6 @@ ryan-design.com, 1 ryan-gehring.com, 1 ryan-goldstein.com, 1 ryananeff.com, 1 -ryanbritton.com, 1 ryanclemmer.com, 1 ryancmassey.com, 1 ryancompanies.com, 1 @@ -121433,7 +120389,7 @@ ryandewsbury.co.uk, 1 ryanfamily.net.au, 1 ryanhopk.com, 1 ryanhowell.io, 1 -ryanjarvis.law, 0 +ryanjarvis.law, 1 ryankearney.com, 0 ryankilfedder.com, 1 ryanonfire.tk, 1 @@ -121503,7 +120459,6 @@ rzhv1.cf, 1 rzip.de, 1 rzr.supplies, 1 rzsmt.com, 1 -s-4.host, 1 s-c.se, 1 s-cubed.net, 1 s-deal.eu, 1 @@ -121573,7 +120528,6 @@ s4media.xyz, 1 s4q.me, 1 s4tips.com, 1 s4ur0n.com, 1 -s5118.com, 1 s5197.co, 1 s550.cc, 0 s551.cc, 0 @@ -121602,7 +120556,7 @@ s9297.co, 1 s95.de, 1 s9721.com, 1 s9728.co, 1 -s9h.cn, 1 +s9h.cn, 0 sa-blog.net, 1 sa-mp.me, 1 sa-mp.ro, 1 @@ -121853,6 +120807,7 @@ safevisit.com.au, 1 safewatchsecurity.ie, 1 safewayins.com, 1 safewayinsurance.com, 1 +safewaysecurityscreens.com.au, 1 safewaywaterproofing.com, 1 safex.org, 1 saffron.com, 1 @@ -121874,10 +120829,8 @@ sagargandecha.com.au, 0 sagasailing.dk, 1 sagauae.com, 1 sageclinic.org, 1 -sagefalab.com, 1 sagefitness.store, 1 sagegardens.ca, 1 -sageitinc.com, 0 sagenesykkel.com, 1 sagenet.net.au, 0 sagerus.com, 1 @@ -122017,7 +120970,7 @@ sairlerimiz.tk, 1 sairus.fr, 1 saisandesh.org, 1 saisecure.net, 1 -saisecure.online, 1 +saiserver.net, 1 saisons-fruits-legumes.fr, 1 saisyuusyou-ikebukuro.com, 1 saisyuusyou-omiya.com, 1 @@ -122033,11 +120986,9 @@ saitv.net, 1 saitv.org.in, 1 saivang.com, 1 saiwebtv.com, 1 -saiyans.com.ve, 1 sajabesaya.tk, 1 sajbersove.rs, 1 sajdowski.de, 0 -sajjadrezaei.fit, 1 sajjadzaidi.com, 1 sajt-vizitka-nedorogo.ru, 1 sajter.ga, 1 @@ -122046,6 +120997,7 @@ sakainvest.com, 1 sakaki.anime.my, 0 sakamichi.moe, 1 sakaryahaberi.tk, 1 +sakder.com, 1 sake.my, 1 sakellariadis.gr, 1 sakenohana.com, 1 @@ -122300,7 +121252,6 @@ sambeso.net, 1 sambot.ru, 1 sambot22.tk, 1 sambuchanan.tk, 1 -sambus.com, 1 samcera.gov, 1 samclarke.com, 1 samclarke.uk, 1 @@ -122383,7 +121334,6 @@ samshouseofspaghetti.net, 1 samskaar.in, 1 samson-td.com, 1 samson.org.au, 1 -samsreseller.com, 1 samstudios.tk, 1 samsunghalfmarathon.com, 1 samtalen.nl, 1 @@ -122584,7 +121534,6 @@ sanjuanchamelco.tk, 1 sanjuancountywa.gov, 1 sanjuandeabajo.tk, 1 sanjuandediosburgos.es, 1 -sanjuanerita.com, 1 sanketsu.ml, 0 sanki.tk, 1 sankt-kassian.com, 1 @@ -122697,6 +121646,7 @@ sanuk.com, 1 sanukarlos.tk, 1 sanweb.info, 1 sanych-msk.ru, 0 +saojudastadeu.edu.br, 1 saoneth.pl, 1 saorsa.fr, 1 saorsat.com, 1 @@ -122860,7 +121810,6 @@ saschaeggenberger.ch, 1 saschaeggenberger.com, 1 sascorp.co.uk, 1 sascorp.es, 1 -saseducacao.com.br, 1 sash.pw, 1 sashabognibov.tk, 1 sashaclothing.tk, 1 @@ -122874,6 +121823,7 @@ saskiadhont.be, 1 saskialund.de, 1 sasrobotics.xyz, 1 sasroli.tk, 1 +sasse9662.net, 1 sassyporkchop.com, 1 sastamalandemarit.fi, 1 sastd.com, 1 @@ -122946,6 +121896,7 @@ saturnus.consulting, 1 satvasolutions.com, 1 satwcomic.com, 1 satyamshivamsundaram.in, 1 +sauber-lab.com, 1 saubermacher.at, 1 saubooks.tk, 1 saucelabs.com, 1 @@ -123099,7 +122050,6 @@ sayfa.istanbul, 1 sayfr.com, 0 sayhanabi.eu.org, 1 sayhi.com, 1 -sayhuahuo.com, 1 sayhuahuo.net, 1 sayhuahuo.xyz, 1 sayingimages.com, 1 @@ -123215,7 +122165,6 @@ scalesbiolab.com, 1 scaleskun.com, 1 scaligerorooms.it, 1 scaling.solutions, 0 -scalinx.com, 1 scalive.tv, 1 scallyboy.uk, 1 scallywagsbouncycastles.co.uk, 1 @@ -123226,7 +122175,6 @@ scamadviser.com, 1 scamangels.com, 1 scambistimaturi.com, 1 scamblockplus.org, 1 -scammer.info, 0 scamwatch.gov.au, 1 scan.co.uk, 1 scan.computer, 1 @@ -123407,7 +122355,6 @@ schlossberg-hotel-wernigerode.de, 1 schlossfuchs.de, 1 schlouk-map.com, 1 schluderns.org, 1 -schluesseldienst-hannover24.de, 1 schluesseldienst-haymov.de, 1 schluesseldienstzentrum.de, 1 schmaeh-coaching.ch, 1 @@ -123443,6 +122390,7 @@ schnuckenhof-wesseloh.de, 1 schnyder-werbung.ch, 0 schody-rozycki.pl, 1 schoenstatt-fathers.link, 1 +schoenstatt-fathers.us, 1 schoenstatt.link, 1 schoepski.de, 1 schoffelcountry.com, 1 @@ -123499,7 +122447,6 @@ schoolantwoorden.tk, 1 schoolbag.gq, 1 schoolbag.ml, 1 schoolbag.tk, 1 -schoolbuddy.ch, 1 schoolbytes.com.au, 1 schoolbytes.education, 1 schoolcafe.com, 1 @@ -123573,7 +122520,6 @@ schuhbeck.tk, 1 schuhbedarf.de, 1 schuhfits.com, 1 schuhwelt.de, 1 -schuhwerkstatt.at, 1 schuhzoo.de, 1 schulden.tk, 1 schulderinsky.de, 1 @@ -123631,7 +122577,6 @@ schwingen.net, 1 schwinger.me, 1 schwinnbike.ru, 1 schworak.com, 1 -schwuppengrillen.de, 0 sci-internet.tk, 1 sciagebeton.net, 1 sciartel.ru, 1 @@ -123725,7 +122670,7 @@ scoolcode.com, 1 scoolio.de, 1 scoop6.co.uk, 1 scoopcake.com, 1 -scoopcanada.com, 1 +scoopcanada.com, 0 scoopgh.com, 1 scooply.org, 1 scootaloo.co.uk, 1 @@ -123773,6 +122718,7 @@ scottbroad.com.au, 1 scottcoil.gov, 1 scottcountyva.gov, 1 scottdayman.com, 1 +scottech.com.au, 1 scottgalvin.com, 1 scotthelme.co.uk, 1 scotthelmesucks.com, 1 @@ -123811,7 +122757,6 @@ scoutingeijsdenonline.tk, 1 scoutingkontiki.nl, 1 scoutingmeerhoven.nl, 1 scoutingridderkerk.nl, 1 -scoutingtheworld.co.uk, 1 scoutingtungelroy.nl, 1 scoutingvilsteren.tk, 1 scoutnation.tk, 1 @@ -123840,7 +122785,6 @@ scrabble-solver.com, 1 scrabblecheat.com, 1 scrabbleonline.nl, 1 scrambled.online, 1 -scramjet.org, 1 scramsoft.com, 1 scrantonmma.com, 1 scrap-car-removal.ca, 1 @@ -123907,7 +122851,6 @@ scrod.me, 1 scroll-to-top-button.com, 1 scroollocker.tk, 1 scrot.de, 1 -scrubcorpo.net, 1 scruffy.ga, 1 scruffymen.com, 1 scrum.org, 1 @@ -123958,7 +122901,7 @@ sd.ax, 1 sd44.ca, 1 sdaniel55.com, 1 sdarcc.gov, 1 -sdarot.buzz, 1 +sdarot.tw, 1 sdbehavioralhealth.gov, 1 sdcapp.in, 1 sdcardrecovery.de, 1 @@ -124185,7 +123128,6 @@ sec.gd, 1 sec.gov, 1 sec30.com, 1 sec3ure.co.uk, 1 -sec455.com, 1 sec530.com, 1 secadoresdepelo.tk, 1 secapp.fi, 1 @@ -124327,7 +123269,7 @@ securesiteaccess.com, 1 securesuite.co.uk, 1 securesystems.de, 1 securetalks.com.br, 1 -securetown.top, 1 +securetown.top, 0 securetrustbank.com, 1 secureutilitypayments.com, 1 securevideo.com, 1 @@ -124386,7 +123328,6 @@ securocloud.com, 1 securoswiss.ch, 1 securot.eu, 1 securview.ch, 1 -securyblack.com, 1 secutorcloud.com, 0 secuvera.de, 0 secuxtech.com, 1 @@ -124406,6 +123347,7 @@ sedlex.fr, 1 sedmicka.sk, 0 sedoexpert.nl, 1 sedoexperts.nl, 1 +sedonagolfresort.com, 0 sedro-woolley.gov, 1 see22.de, 1 seearmenia.tk, 1 @@ -124625,7 +123567,6 @@ selldone.com, 1 selldorado.com, 1 seller.diamonds, 1 sellerengine.com, 1 -sellerrunning.com, 1 sellersfunding.com, 1 sellersmart1.com, 1 sellerssignals.com, 1 @@ -124701,7 +123642,6 @@ seminovostoyota.com.br, 1 semiotical.com, 0 semiotika.tk, 1 semira.tk, 1 -semirben.de, 1 semiread.com, 1 semiretire.ga, 1 semiweb.ca, 1 @@ -124713,6 +123653,7 @@ semparar.com.br, 1 sempersolaris.com, 1 semplicementelight.com, 1 sempoctet.ca, 1 +sempreupdate.com.br, 1 semps-2fa.de, 1 semps-threema.de, 1 semps.de, 1 @@ -124773,7 +123714,6 @@ senecailpd.gov, 1 senergiya.tk, 1 senf-kren.at, 1 senfcall.de, 1 -senhorst.com, 1 senhost.tk, 1 seni-beladiri.tk, 1 senibongcove.my, 1 @@ -124789,7 +123729,6 @@ seniorsupportservicesohio.com, 1 senkals.one, 1 senkyo.watch, 1 senneeeraerts.be, 1 -sennheiser.com, 1 sennik.tk, 1 senoctarsoft.tk, 1 senok.ml, 1 @@ -124839,7 +123778,6 @@ sentencing.net, 1 sentenza.tk, 1 senteon.co, 1 senterada.tk, 1 -sentia.com, 1 sentic.info, 1 sentidosdelatierra.org, 1 sentiment.rest, 1 @@ -124859,6 +123797,7 @@ sentral.com, 1 sentralegal.com, 1 sentry.io, 1 sentry.nu, 1 +sentrybay.com, 1 sentrytwo.com, 1 sentworks.com, 1 senzaparole.de, 1 @@ -124896,7 +123835,6 @@ seoapi.com, 1 seoarchive.org, 1 seoargentina.com.ar, 1 seobay.in, 1 -seobgynpc.com, 1 seoblogs.cf, 1 seobook2015.cf, 1 seobook2015.ga, 1 @@ -125083,7 +124021,6 @@ sergeyesenin.tk, 1 sergeykozharinov.com, 1 sergi.tk, 1 sergicoll.cat, 1 -sergije-stanic.me, 1 sergio-rivero.tk, 1 sergiochica21.tk, 1 sergiocv.com, 1 @@ -125179,7 +124116,6 @@ serverbit.it, 1 serverco.com, 1 serverd.de, 1 serverdechile.tk, 1 -serverdensity.io, 1 serverdragon.site, 1 serverexpose.com, 1 serverfix.net, 1 @@ -125319,6 +124255,7 @@ sethcorker.com, 1 sethcurry.ga, 1 sethforprivacy.com, 1 sethjust.com, 1 +sethlmatarassomd.com, 1 sethoedjo.com, 1 sethriedel.com, 1 sethvargo.com, 1 @@ -125507,7 +124444,6 @@ sfat.llc, 1 sfbao.cn, 1 sfbao.com, 1 sfbaytransit.org, 1 -sfbd.com.br, 1 sfcardio.fr, 1 sfccapital.com, 1 sfccapitalpartners.com, 1 @@ -125516,7 +124452,6 @@ sfdchub.com, 1 sfdcopens.com, 1 sfdev.ovh, 1 sfdlsource.tk, 1 -sfebolivia.com, 1 sfee.cl, 1 sfera360.es, 1 sfg-net.com, 1 @@ -125658,7 +124593,6 @@ shadowstrikers.tk, 1 shadowuniverse.xyz, 1 shadowvolt.net, 1 shadrinsk-city.ru, 1 -shadwe.com, 1 shadynook.net, 1 shadypark.tk, 1 shaeishu.co, 1 @@ -125699,7 +124633,6 @@ shakan.ch, 0 shakardara.com, 1 shakebeforeuse.tk, 1 shaken-kyoto.jp, 1 -shaken110.com, 1 shakepay.com, 1 shakerheightsoh.gov, 1 shakerventures.com, 1 @@ -125852,7 +124785,6 @@ sharptudhope.co.nz, 1 sharren.org, 1 sharu.me, 1 sharvey.ca, 1 -sharynlongca.com.au, 1 shashlik.tk, 1 shastacounty.gov, 1 shatabdichildrenschool.tk, 1 @@ -125956,10 +124888,8 @@ shelfieretail.com, 1 shelfordsandstaplefordscouts.org.uk, 1 shellavartanian.tk, 1 shellcon.io, 1 -shellcore.fr, 1 shellday.cc, 1 shellfire.de, 1 -shellgame.io, 1 shelljuggler.com, 0 shellopolis.com, 1 shellot.com, 1 @@ -126057,7 +124987,6 @@ shield.my.id, 1 shielder.it, 1 shieldnet.tk, 1 shieldnsheath.com, 1 -shieldofachilles.in, 1 shieldsair.com, 1 shiellc.com, 1 shif.tk, 0 @@ -126091,7 +125020,6 @@ shiji.info, 1 shijij.com, 1 shijing.me, 1 shikaku-test.com, 1 -shikimori.org, 1 shikiryu.com, 1 shileo.de, 1 shilled.tk, 1 @@ -126146,7 +125074,6 @@ shipard.cz, 1 shipard.org, 1 shipbuddies.com, 1 shipcloud.io, 0 -shipengliang.com, 1 shipeurousa.com, 1 shipgoldchandler.com, 1 shipheart.tech, 1 @@ -126215,7 +125142,6 @@ shitposter.club, 1 shitposter.io, 1 shitposts.se, 1 shitproductions.org, 1 -shitsta.in, 1 shittyurl.org, 1 shittywok.tk, 1 shiva-temple.tk, 1 @@ -126272,13 +125198,11 @@ shoelevel.com, 1 shoeline.com, 1 shoemakerywc.com, 1 shoeracks.uk, 1 -shoesandmorebdn.com, 1 shoesonline.co.il, 1 shoesoutlet.tk, 1 shoestorebiz.tk, 1 shoestorenet.tk, 1 shoestringeventing.co.uk, 1 -shoetravel.com, 1 shokaran.tk, 1 shokofarehab.ir, 1 shokola.com, 0 @@ -126483,7 +125407,6 @@ shoppingphase.ga, 1 shoppingpicker.ga, 1 shoppingpickup.ga, 1 shoppingplatinum.ga, 1 -shoppingplaza.eu, 1 shoppingplum.ga, 1 shoppingpresident.ga, 1 shoppingprestige.ga, 1 @@ -126562,7 +125485,6 @@ shorinkarate.tk, 1 shork.space, 1 shornehasim.co.il, 1 short-games.gq, 1 -short-jambo.com, 1 short-term-plans.com, 1 short.io, 1 shortaudition.com, 1 @@ -126637,7 +125559,6 @@ showpassword.net, 0 showroom.co.uk, 1 showroom.uk, 1 showroom113.ru, 1 -showroombelcorp.com, 1 showslot.com, 1 showsnob.com, 1 showsonar.com, 1 @@ -126671,7 +125592,6 @@ shropshirebowls.tk, 1 shrovetide.tv, 1 shrsl.com, 1 shrt.tv, 1 -shrturl.io, 1 shrub.ca, 1 shrug.fyi, 1 shrug.ml, 0 @@ -126699,7 +125619,6 @@ shufflemix.tk, 1 shuffleradio.nl, 1 shuffleware.tk, 1 shugarmanpsychiatric.com, 1 -shugo.net, 1 shugua.com.tw, 1 shuhacksoc.co.uk, 1 shui.ga, 0 @@ -126724,7 +125643,6 @@ shura.eu.org, 1 shurita.org, 1 shuset.dk, 1 shuttelportal.nl, 1 -shuttelservices.nl, 1 shutter-shower.com, 1 shutterflybusinesssolutions.com, 1 shutts.com, 1 @@ -126819,7 +125737,6 @@ sicurled.com, 1 sicvisuals.com, 1 sicz.de, 1 sid-giessen.de, 1 -sid.group, 1 sid500.com, 1 sidari.tk, 1 sidas.com, 1 @@ -126854,7 +125771,6 @@ sidomulyo.tk, 1 sidonge.com, 0 sidorovich.tk, 1 sidpod.ru, 1 -sidrabitkisel.net, 1 sidsdock.org, 1 siduga.com, 1 sie.at, 1 @@ -127008,7 +125924,7 @@ sike.org, 1 sikecikcomel.com, 1 sikevux.se, 1 sikkasoft.com, 1 -sikkerwindows.dk, 0 +sikkerwindows.dk, 1 sikkind.com, 0 siku-shop.ch, 1 siku.pro, 1 @@ -127038,7 +125954,7 @@ silentkernel.fr, 1 silentneko.ga, 1 silentsite.tk, 1 silentsky.tk, 1 -silentsystem.com, 0 +silentsystem.com, 1 silentsystem.it, 1 silentundo.org, 1 silesianus.pl, 1 @@ -127073,11 +125989,11 @@ silv.tk, 1 silver-fenrir.cn, 1 silver-heart.co.uk, 1 silver-johnes.tk, 1 +silverairways.com, 0 silverback.is, 0 silverbankltd.com, 1 silverbowflyshop.com, 1 silverbox.ga, 1 -silverdollaracademy.com, 1 silverdroid.gq, 1 silverfalcon.me, 1 silvergate.com, 1 @@ -127321,8 +126237,6 @@ simpleline.studio, 1 simplelinux.tk, 1 simplelist.ga, 1 simplelogin.co, 1 -simplelogin.com, 1 -simplelogin.fr, 1 simplelogin.io, 1 simpleman.cf, 1 simplemining.net, 1 @@ -127385,7 +126299,6 @@ simplycloud.de, 1 simplydonelegal.com, 1 simplyfitperth.com.au, 1 simplyfixit.co.uk, 1 -simplyfranciscan.net, 1 simplyfranciscan.org, 1 simplygood.work, 1 simplyhelen.de, 1 @@ -127492,7 +126405,6 @@ singaporefreelegaladvice.com, 1 singaporetoptentravel.com, 1 singaporewebdesign.tk, 1 singapur24.tk, 1 -singapurfirma.com, 1 singcapital.com.sg, 1 singee.me, 1 singel.ch, 1 @@ -127577,7 +126489,6 @@ sion.info, 1 siouxcityjournal.com, 1 siouxcountyne.gov, 1 siouxfalls.gov, 1 -siouxfalls.org, 1 sip.ch, 1 sipa.nc, 1 sipa.pf, 1 @@ -127601,8 +126512,6 @@ siranap.com, 1 sirandorung.tk, 1 siraweb.org, 1 sirbio.ru, 1 -sircharlesincharge.com, 1 -sirchuk.net, 1 sircon.no, 1 sirena.ml, 1 sirenassociates.com, 1 @@ -127724,7 +126633,6 @@ sitek.rocks, 1 sitekatalog.tk, 1 sitelinks.ga, 1 sitelinks.ml, 1 -sitelmexico.com, 0 sitemai.eu, 1 sitemap.solutions, 1 sitemaxiphilippe.ch, 1 @@ -127944,7 +126852,6 @@ skill.moe, 1 skill.tk, 1 skillab.ro, 1 skillablers.com, 1 -skillcore.net, 1 skilldnsproc.com, 1 skillearning.de, 1 skillmamba.com, 1 @@ -127994,7 +126901,6 @@ skinstyleglobal.com, 1 skinsuperstore.tk, 1 skintdad.co.uk, 1 skintillation.com, 1 -skinzwear.com, 1 skio.com, 1 skioakenfull.com, 1 skip.re, 1 @@ -128048,7 +126954,6 @@ skolagatt.is, 1 skolakrizik.cz, 1 skolappar.nu, 1 skolebil.dk, 1 -skoleelever.dk, 1 skolem.de, 1 skolni-system.eu, 1 skolnieks.lv, 1 @@ -128123,7 +127028,6 @@ sky-of-use.net, 1 sky-os.ru, 1 sky-torch.com, 0 sky-wap.cf, 1 -skyanchor.com, 0 skyarch.net, 1 skyautorental.com, 1 skybirch.com, 1 @@ -128223,7 +127127,6 @@ skyqueen.cc, 1 skyquid.co.uk, 1 skyra.pw, 1 skyrider.me, 1 -skyrocketing.ninja, 1 skyrosconsulting.com, 1 skys-entertainment.com, 1 skyscanner.ca, 1 @@ -128286,8 +127189,8 @@ slaek.de, 1 slagerijdekoekelaere.be, 1 slagerijrooken.be, 1 slagerijvanguilik.nl, 1 +slaght.de, 0 slainvet.net, 1 -slalix.cc, 1 slalix.pw, 1 slalix.xyz, 1 slamdunkdedication.tk, 1 @@ -128430,7 +127333,6 @@ slizgawka.eu, 1 sllatina.tk, 1 slm-sla.tk, 1 slma.tk, 1 -slmail.me, 1 sln.cloud, 1 slo-net.net, 1 slo-tech.com, 1 @@ -128476,7 +127378,7 @@ slotlist.info, 1 slotmachinesgratisonline.com, 1 slotmad.com, 1 slotsinspector.com, 1 -slotsmegacasino.com, 1 +slotsmegacasino.com, 0 slotstar10.com, 1 slotsup.com, 1 slouching.ga, 1 @@ -128601,7 +127503,6 @@ smart-fixed.ru, 1 smart-house.bg, 1 smart-hub.io, 1 smart-informatics.com, 1 -smart-ket.com, 1 smart-klimat.ru, 1 smart-lab.ch, 1 smart-mirror.de, 1 @@ -128694,6 +127595,7 @@ smartlogtower.com, 1 smartlook.cz, 1 smartlooks.es, 1 smartmachine.com, 1 +smartmail.io, 1 smartmail24.de, 1 smartme.pl, 1 smartmeal.ru, 1 @@ -128897,7 +127799,6 @@ smokestore.bg, 1 smoking-robot.com, 1 smokinghunks.com, 1 smokingtapes.ga, 1 -smokkelenken.no, 0 smokymountains.fm, 1 smolbotbot.com, 1 smolensk-i.ru, 1 @@ -128922,6 +127823,7 @@ smorgasblog.ie, 1 smoser.eu, 1 smplace.com, 1 smplr.uk, 1 +smpn10kotagorontalo.sch.id, 0 smpnsata.sch.id, 1 smpositiva.com, 1 smppcenter.com, 1 @@ -129066,7 +127968,6 @@ sniffing.gq, 1 sniffnfetch.com, 1 sniffy.ee, 1 snight.co, 1 -snille.com, 1 snip.software, 1 snipdrive.com, 1 sniper.sh, 1 @@ -129087,7 +127988,6 @@ snnwes.de, 1 sno-tek.net, 1 snoerendevelopment.nl, 0 snooker.tk, 1 -snoopyfacts.com, 1 snoot.club, 1 snorerx.com, 1 snoringtreatment.tk, 1 @@ -129168,7 +128068,6 @@ soap-teco.com, 1 soapex.com, 1 soapsspoilers.com, 1 soar-npc.org, 1 -soaringdownsouth.com, 1 soaringtoglory.com, 1 soat.fr, 0 soatplus.com, 1 @@ -129326,7 +128225,6 @@ sodadigital.com.au, 1 sodafilm.de, 1 sodalai.tk, 1 sodel-sa.eu, 1 -sodependable.com, 1 soderestore.com, 1 sodermans.com, 1 soderparr.com, 1 @@ -129397,7 +128295,6 @@ softcreatr.com, 1 softcreatr.de, 1 softekontrack.com, 1 softelectronet.tk, 1 -softfusion.co.uk, 1 softfuture.tk, 1 softhints.com, 1 softios.com, 1 @@ -129432,7 +128329,6 @@ softstack.ru, 1 softtester.tk, 1 softview.gq, 1 softview.tk, 1 -softw.net, 1 software-search.com, 1 software-tech.tk, 1 software-voor-projecten.nl, 1 @@ -129469,7 +128365,6 @@ sogutma.com.tr, 1 sohamroy.me, 1 sohanakhan.tk, 1 sohanman.com, 1 -sohbetci.net, 1 sohka.eu, 1 soho-art.com, 1 soia.ca, 1 @@ -129497,6 +128392,7 @@ sol-design.jp, 1 sol-negro.tk, 1 sol.de, 1 sol24.net, 1 +solaland.co.uk, 1 solalnathan.com, 1 solalt.com, 1 solana-active.tk, 1 @@ -129603,7 +128499,6 @@ solihullpcrepairs.co.uk, 1 solikreis-stuttgart.tk, 1 solipsists.tk, 1 solisrey.es, 1 -solit.systems, 1 solitairenetwork.com, 1 solitary.social, 1 solitaryride.com, 1 @@ -129664,13 +128559,11 @@ solsea.io, 1 solsi.ga, 1 solsombra-abdl.com, 1 solsticecam.com, 1 -soltanastore.com, 1 solucion.gq, 1 solucionesihd.com, 1 solucionesmk.online, 1 solucionupsperu.com, 1 solunet.com.ar, 1 -soluruse.com, 1 solutek.com.au, 1 solution24.nl, 1 solutionalbum.com, 1 @@ -129791,7 +128684,6 @@ sonderfloral.com, 1 sonderkomission.ch, 1 sondoro.tk, 1 sondriotoday.it, 1 -sonerezh.bzh, 1 sonesinafar.tk, 1 sonesisonesi.tk, 1 sonesonesisi.tk, 1 @@ -129857,6 +128749,7 @@ sonohigurashi.blog, 1 sonologic.nl, 1 sonology.tk, 1 sonomacounty.gov, 1 +sonomacountywriterscamp.com, 1 sonomotors.com, 1 sonoratexas.gov, 1 sonorem-audition.fr, 1 @@ -129920,7 +128813,6 @@ sorcix.com, 1 sorellecollection.com.au, 1 sorellinteriors.com, 1 soren.xyz, 1 -sorenstudios.com, 1 sorex.photo, 1 sorin.cc, 1 sorincocorada.ro, 1 @@ -129994,6 +128886,7 @@ soste.fi, 0 sosteric.si, 1 sosuchki.com, 1 sosyalat.com, 1 +sosyalevin.com, 1 sosyalpro.com.tr, 1 sosz.org, 1 sota.sh, 1 @@ -130121,7 +129014,6 @@ sourceaudiodetect.com, 1 sourcecode.hosting, 1 sourcecode.love, 1 sourcecode.tw, 1 -sourceforge.net, 1 sourcegraph.com, 1 sourcehut.net, 1 sources.tk, 1 @@ -130138,7 +129030,6 @@ sous-surveillance.net, 0 southadamswaterco.gov, 1 southafrican.dating, 1 southambouncycastle.co.uk, 1 -southamerican.dating, 1 southamptontownnypolice.gov, 1 southbankregister.com.au, 1 southbaylatherapy.com, 1 @@ -130169,7 +129060,6 @@ southernviewmedia.com, 1 southernwatersolutions.com, 1 southessexstatus.co.uk, 1 southfieldtownshipmi.gov, 1 -southfox.me, 1 southgatemi.gov, 1 southgatesystems.com, 1 southgeorgiacargotrailers.org, 1 @@ -130256,6 +129146,7 @@ soychile.cl, 1 soycomocomo.es, 1 soydoula.com, 1 soydxn.com, 1 +soyezonline.fr, 1 soyladani.com, 1 soylemeztrading.com, 1 soytusitio.com, 1 @@ -130304,7 +129195,6 @@ spaceage.mp, 1 spaceanimalnutrition.com, 1 spaceapi.io, 1 spacebabies.nl, 1 -spacebar.pl, 1 spacebear.ee, 1 spacebestnews.tk, 1 spacecaps.xyz, 1 @@ -130312,7 +129202,6 @@ spacecityweather.com, 1 spacecorp.de, 1 spacedance.tk, 1 spacedogs.ml, 1 -spacedots.net, 1 spacedrive.nl, 1 spacefighters.tk, 1 spacehey.com, 1 @@ -130337,7 +129226,6 @@ spacestation13.com, 1 spacetime.am, 0 spaceunique.de, 1 spaceunique.eu, 1 -spacewinner.nl, 1 spacinov.com, 1 spacivox.com, 1 spackmanimages.com, 1 @@ -130363,7 +129251,6 @@ spamasaurus.com, 1 spamcage.com, 1 spamdrain.com, 1 spamedica.com.co, 1 -spamhelp.org, 1 spamhunter360.gq, 1 spamlinks.net, 1 spammable.com, 1 @@ -130415,8 +129302,6 @@ spare.se, 1 sparebusiness.com, 1 sparendirekt.at, 1 spargrancanaria.es, 1 -spark.ai, 1 -sparkai.co, 1 sparkandglass.com, 1 sparkar.com, 1 sparkasse.de, 1 @@ -130428,7 +129313,6 @@ sparkimg.nl, 1 sparkingscala.com, 1 sparkl.fm, 1 sparklabs.com, 1 -sparklark.com, 1 sparklatvia.lv, 1 sparkleapp.com, 1 sparklebastard.com, 1 @@ -130638,7 +129522,6 @@ sperrmuell-berlin.de, 1 sperrstun.de, 1 spertto.com, 1 spes.solutions, 1 -spescaperoom.ir, 1 spesys-services.fr, 1 spetsialist-po-zakupkam.ru, 1 spetsialist.cf, 1 @@ -130709,7 +129592,6 @@ spiffsearch.com, 1 spiga.ch, 0 spigotdesign.com, 1 spikar.gr, 1 -spike-com.be, 1 spike.sh, 1 spikejeon.tk, 1 spikelands.com, 1 @@ -130732,7 +129614,6 @@ spindle45.com, 1 spindrel.com, 1 spinecomms.com, 1 spinemexin.tk, 1 -spinnbox.com, 1 spinner.dnshome.de, 1 spinning-portugal.com, 1 spinolamediation.com, 1 @@ -130850,7 +129731,6 @@ sport-potreby.sk, 1 sport-school.tk, 1 sport-socken.net, 1 sport-tv-guide.live, 1 -sport1ne.com, 1 sport24.by, 1 sport4sd.com, 1 sportabatese.tk, 1 @@ -130911,7 +129791,6 @@ sports-wear.tk, 1 sports.dating, 1 sportsandnews.tk, 1 sportscanada.tk, 1 -sportschoolgeelhoed.nl, 1 sportsdans.tk, 1 sportsdeck.tk, 1 sportsdestinations.com, 1 @@ -130938,7 +129817,6 @@ sportwars.net, 1 sportwette.net, 1 sportwettenbonus.de, 1 sportwettenschweiz.net, 1 -sportxt.ru, 0 sportygirlsjewels.ga, 1 sportztalk.com, 1 sporyayinevi.com, 1 @@ -131089,7 +129967,6 @@ spydersec.com, 1 spyequipmentuk.co.uk, 1 spypornone.com, 1 spyprofit.ru, 1 -spyra.rocks, 1 spyroszarzonis.com, 1 spyse.com, 1 spytrash.tk, 1 @@ -131099,7 +129976,7 @@ sqalogic.com, 1 sqap.pt, 1 sqclick.com, 1 sqdll.com, 1 -sqills.com, 1 +sqills.com, 0 sql-injection.cz, 1 sql-injection.rocks, 1 sql-oem.com, 1 @@ -131139,7 +130016,6 @@ square.mx, 1 square.site, 1 squarecdn.com, 1 squaredancedance.tk, 1 -squaredseven.com, 1 squaredtechnologies.com, 1 squareeye.com, 1 squarefootllcconstruction.com, 0 @@ -131311,7 +130187,6 @@ sschd.cc, 0 sscnapoli.it, 1 ssconn.com, 1 sscpsms.biz, 1 -ssd.today, 0 ssdax.com, 1 ssdpalermo.it, 1 ssenberg.nl, 1 @@ -131398,7 +130273,7 @@ ssuiteoffice.com, 1 ssuitesoft.com, 1 st-damase.qc.ca, 1 st-kilian-markt-erlbach.de, 1 -st-li.com, 1 +st-li.com, 0 st-news.de, 1 st-shakyo.jp, 1 st-steuern.de, 1 @@ -131445,7 +130320,6 @@ stadterneuerung-hwb.de, 1 stadtkapelle-oehringen.de, 1 stadtpapa.de, 1 stadtplan-ilmenau.de, 1 -stadtundbaum.de, 1 staer.ro, 1 staff.direct, 1 staffaugmentation.ae, 1 @@ -131587,7 +130461,7 @@ stamonicatourandtravel.com, 1 stampederadon.com, 1 stamperdle.com, 1 stampinggroundky.gov, 1 -stampix.com, 0 +stampix.com, 1 stampsbar.co.uk, 0 stamurai.com, 1 stanandjerre.org, 1 @@ -131935,7 +130809,6 @@ stayinbusiness.nl, 1 staylovely.tk, 1 stayme.cz, 1 stayokay.com, 1 -stayschemingco.com, 1 staytokei.com, 1 stazi.tk, 1 stb-schefczyk.com, 1 @@ -131978,7 +130851,6 @@ stea-web.com, 1 steacy.tech, 1 steak-kojiro.com, 1 steakovercooked.com, 1 -stealherhealth.com, 1 stealingheather.com, 1 stealsaga.net, 1 stealth.net, 1 @@ -132100,6 +130972,7 @@ steinibox.de, 1 steinmassl.org, 1 steinmetz.cloud, 1 stekelenburg.me, 1 +steklein.de, 1 stelem.com, 1 stelfox.net, 1 stelga.ca, 1 @@ -132164,7 +131037,6 @@ step2web-cms.info, 1 stepanvanek.cz, 1 stepanyansurgical.com, 1 steparovi.cz, 1 -stepbrobd.com, 1 steph.ninja, 0 steph3n.me, 1 stephan-matthiesen.de, 1 @@ -132425,7 +131297,6 @@ stinkintechnology.com, 1 stinkmemes.com, 1 stinter.cf, 1 stintup.com, 0 -stipanama.com, 1 stiphosting.nl, 1 stirblaut.de, 1 stirling.co, 1 @@ -132478,7 +131349,6 @@ stlouisstabilizing.com, 1 stlpassports.com, 1 stlpoolattendants.com, 1 stlu.de, 1 -stluciamirroronline.com, 1 stluciastar.com, 1 stlucieclerk.gov, 1 stluciesheriff.gov, 1 @@ -132516,7 +131386,6 @@ stnl.de, 0 stntrading.eu, 1 sto-garant.nl, 1 sto.ne, 1 -stob-architekten.de, 1 stock-ai.com, 1 stock-analysis-on.net, 1 stockageprive.net, 1 @@ -132596,7 +131465,7 @@ stomt.com, 1 stoneagehealth.com.au, 1 stonebriarpropertyinspections.com, 1 stonechatjewellers.ie, 1 -stonecore.co, 1 +stonecore.co, 0 stonecountyar.gov, 1 stonecutgods.com, 1 stonedwarf5.net, 1 @@ -132604,7 +131473,6 @@ stonedworms.de, 0 stoneedgeconcrete.com, 1 stonefoot.de, 1 stonefusion.org.uk, 1 -stonegateapartmentsstl.com, 1 stonegatewealth.com, 0 stonegray.ca, 1 stonehammerhead.org, 1 @@ -132697,7 +131565,6 @@ storeandforward.nl, 1 storebusy.nz, 1 storecard.tk, 1 storecove.com, 0 -storeday.ro, 1 storedieu.com, 1 storedsafe.com, 1 storeforward.email, 1 @@ -132745,7 +131612,6 @@ stormi.io, 1 stormininnorman.com, 1 stormlab.tk, 1 stormrider.tk, 1 -stormsglass.com, 1 stormwatcher.org, 1 stormylegions.tk, 1 storspillercasino.com, 1 @@ -132812,7 +131678,6 @@ straffordpub.com, 1 strahlende-augen.info, 1 strahovanienet.tk, 1 straightcurlyhair.tk, 1 -straightedgebarbers.ca, 1 straightlinetutoring.com, 1 straightnude.com, 1 strail-english.jp, 1 @@ -132888,6 +131753,7 @@ stratforge.com, 1 strathspeycrown.com, 1 strati.com.br, 1 stratible.com, 0 +stratik.com.co, 1 stratinator.com, 1 stratlibs.org.uk, 1 stratmann-b.de, 1 @@ -133176,7 +132042,6 @@ studentnep.tk, 1 studentpop.com, 1 studentproject.be, 1 studentquickpay.com, 1 -studentrightsadvocate.org, 1 studentrobotics.org, 1 students4sports.org, 1 studentse.fr, 1 @@ -133246,9 +132111,7 @@ studiolupotti.it, 1 studiomarcella.com, 1 studiomenfis.com, 1 studionowystyl.pl, 1 -studiopanamaitalia.com, 1 studiopirrate.com, 1 -studioproapp.com, 1 studioriehl.com, 1 studioshiftup.net, 1 studiosql.ml, 1 @@ -133362,7 +132225,7 @@ stuvel.eu, 1 stuvus.de, 1 stuvus.uni-stuttgart.de, 1 stuyvesantoutdoor.com, 1 -stv.lol, 1 +stv.lol, 0 stview.me, 1 stvrainsdco.gov, 1 stwcforum.tk, 1 @@ -133397,6 +132260,7 @@ stylezutra.com, 1 stylidafm.gr, 1 stylight.co.uk, 1 stylight.com, 1 +stylight.de, 1 stylight.fr, 1 stylight.it, 1 stylight.nl, 1 @@ -133716,7 +132580,6 @@ sumochki.tk, 1 sumppumpchicagoil.com, 1 sumpters.co.nz, 1 sumran.in, 1 -sumter.info, 1 sumtercountysc.gov, 1 sumterhousecleaning.com, 1 sumthing.com, 1 @@ -134000,7 +132863,6 @@ superiormusic.tk, 1 superioroptical.com, 1 superioropticalva.com, 1 superiorseamlessinc.com, 1 -superiorseating.com, 1 superiorvision.com, 1 superiorwi.gov, 1 superis.eu, 1 @@ -134062,7 +132924,6 @@ superstropdas.nl, 1 supersu.kr, 1 superswingtrainer.com, 1 supertape.com, 1 -supertape.site, 1 supertrade.tk, 1 supertrophy.de, 1 supertutorial.com.br, 1 @@ -134151,7 +133012,6 @@ suraya.online, 1 sure-it.de, 1 surebets.bet, 1 surecloud.com, 1 -surefire.org.uk, 1 surefit-oms.com, 1 surefleet.com.au, 1 surelyhired.com, 1 @@ -134238,7 +133098,6 @@ susanmmeyersauthor.com, 1 susann-kerk.de, 1 susanna-komischke.de, 1 susannaridge.com, 1 -susbit.com, 1 susconam.org, 1 susdomicilios.co, 1 suse.com, 1 @@ -134248,7 +133107,6 @@ sushi.roma.it, 1 sushibesteld.nl, 1 sushifrick.de, 1 sushikatze.de, 1 -sushikiosk.co.id, 1 sushilmedicos.tk, 1 sushiprints.com, 1 susiestoddart.tk, 1 @@ -134304,7 +133162,6 @@ suwcountyfl.gov, 1 suwebcreativa.com, 1 suyati.com, 1 suzannejauchius.com, 1 -suzannemiller.us, 1 suzansalem.nl, 1 suzdalgrad.cf, 1 suziepachecoart.com, 1 @@ -134342,7 +133199,6 @@ svantner.sk, 1 svarka22.ml, 1 svarka24.com.ua, 1 svarka26.gq, 1 -svarmax.com.ua, 1 svarovani.tk, 1 svatba.cf, 1 svatba.ml, 1 @@ -134407,7 +133263,7 @@ svetserialov.to, 1 svetzitrka.cz, 0 svfitness.ru, 1 svg-board.ml, 1 -svg.beauty, 1 +svg.beauty, 0 svgdesigns.com, 1 svge.ms, 1 svgems.xyz, 1 @@ -134425,7 +133281,6 @@ svjvn.cz, 1 svkpk.cz, 1 svlh.gov, 1 svm-basketball.de, 1 -svmedia.be, 1 svn-yokaiispirit.ddns.net, 1 svnty2.dedyn.io, 1 svobodny.fr, 1 @@ -134446,7 +133301,6 @@ svse.global, 1 svseglobal.com, 1 svsewerut.gov, 1 svswebmarketing.com, 1 -svtemplemn.org, 1 svtl.ch, 1 svtr.de, 1 svtv.org, 1 @@ -134474,7 +133328,7 @@ swallowforum.tk, 1 swallsoft.co.uk, 1 swallsoft.com, 1 swanbitcoin.com, 1 -swanbullion.com, 1 +swanbullion.com, 0 swansdoor.org, 1 swanseama.gov, 1 swantonvt.gov, 1 @@ -134492,20 +133346,17 @@ swapspace.co, 1 swarfarm.com, 1 swargvibha.tk, 1 swarlys-server.de, 1 -swarmandsting.com, 1 swarovskijewelry.tk, 1 swat.io, 1 swat4stats.com, 1 swataratwpauthority-pa.gov, 1 swatee.com, 1 -swavedigest.com, 1 swavlambancard.gov.in, 1 sway-cdn.com, 1 sway.com, 1 swayampaaka.com, 1 swc-cfc.gc.ca, 1 swcleanair.gov, 1 -swd.agency, 1 swe77.com, 1 swe777.com, 1 sweak.net, 1 @@ -134641,11 +133492,9 @@ swiss-watch.com.ua, 1 swissaquashop.ch, 1 swissbearfoodservices.com, 1 swissbit.com, 1 -swissborg.com, 1 swisscannabis.club, 1 swisschat.tk, 1 swissdomaintrustee.ch, 1 -swisselement365.com, 0 swissentreprises.ch, 1 swisservers.com, 1 swissfreshaircan.ch, 0 @@ -134764,7 +133613,6 @@ sylencegsm.com, 1 sylfie.net, 1 sylino.tk, 1 syllogi.xyz, 1 -sylnaukraina.com.ua, 1 sylphix.cn, 1 sylvaindurand.fr, 1 sylvaindurand.org, 1 @@ -134810,6 +133658,7 @@ syna.site, 1 synabi.com, 0 synackrst.net, 1 synapse.pe, 1 +synapsemedical.com.au, 1 synapsepain.com, 0 synaptickz.me, 1 synccentre.com, 1 @@ -134953,7 +133802,7 @@ systematik.nu, 1 systemausfall.org, 1 systemb.ch, 1 systemblog.tk, 1 -systemc.com, 1 +systemc.com, 0 systemchange.in, 1 systemd.eu.org, 1 systemerka.pl, 1 @@ -135218,6 +134067,7 @@ tac-sys.net, 1 tache.cc, 1 tachikawa-saisyuusyou.com, 1 tachikoma.social, 1 +tachip.net, 1 tachoplus.pl, 1 tachtien.nl, 1 tachyonapp.com, 1 @@ -135244,6 +134094,7 @@ tad.ua, 1 tadaaam.studio, 1 tadabase.io, 1 tadalafil-tablets.tk, 1 +tadalafilbtab.com, 1 tadalafilindia.gq, 1 taddiestales.com, 1 tadj-mahalat.com, 0 @@ -135259,7 +134110,6 @@ taekwondo-hochwald.de, 1 taetomeister.de, 1 tafcares.org, 1 tafdi.net, 1 -taffcat.fr, 1 taffe-elec.com, 1 tafinance-association.com, 1 tafnervotacao.com.br, 1 @@ -135460,7 +134310,6 @@ talentplatform.ca, 1 talentplatform.com, 1 talentplatform.eu, 1 talentplatform.us, 1 -talentsplit.com, 1 talentstimuleren.nl, 1 talentuar.com, 1 talentwall.io, 1 @@ -135473,7 +134322,6 @@ talichi.com, 1 talichi.es, 1 talideon.com, 0 talikotang.tk, 1 -talis-bs.com, 1 talisadesign.fi, 1 taliskerwhiskyatlanticchallenge.com, 1 talisman-amulet.ga, 1 @@ -135600,7 +134448,6 @@ tanabekensetsu.co.jp, 1 tanacio.com, 1 tanatos.ga, 1 tanchynski.com, 1 -tancredi.nl, 0 tancuongtea.tk, 1 tand-teknik.dk, 1 tandarts-ict.nl, 1 @@ -135643,7 +134490,7 @@ tangub.today, 1 tangyue.date, 1 tangzhao.net, 1 tanhaa.tk, 1 -tanhongit.com, 0 +tanhongit.com, 1 taniawizualizacja.pl, 1 tanie-obraczki-szczecin.tk, 1 tanie-uprawnienia-sep.pl, 1 @@ -135666,6 +134513,7 @@ tannerryan.ca, 1 tannerwilliamson.com, 1 tannerwj.com, 1 tannextcloud.cf, 1 +tanningroom.co.uk, 1 tannlegenityrkia.no, 1 tanomimaster.com, 1 tanovar.com, 1 @@ -135850,7 +134698,6 @@ tasogarenoinori.net, 1 tasonoken.tk, 1 tasports.com.au, 1 tasports2043.com.au, 1 -tastebudsmarketing.com, 1 tastenewwines.com, 1 tasteville.com.au, 1 tastycake.net, 0 @@ -135884,7 +134731,6 @@ tathanhson.com, 1 tatiana-kpb.tk, 1 tatilsepeti.com, 1 tatjana-young.net, 1 -tatjanayoung.net, 1 tatler.com, 1 tato.noip.me, 0 tatoo-shop.ca, 1 @@ -135989,7 +134835,7 @@ taxisafmatosinhos.pt, 1 taxiscollectifs.ch, 0 taxiseek.ga, 1 taxiunion.info, 1 -taxlab.co.nz, 1 +taxlab.co.nz, 0 taxly.kr, 1 taxmadras.com, 1 taxo.fi, 1 @@ -136040,7 +134886,6 @@ tbatr.tk, 1 tbbank.gov.tm, 0 tbcinteriorismo.com, 1 tbcloud.site, 0 -tbebkom.com, 1 tbejos.com, 1 tbfocus.com, 1 tbi.equipment, 1 @@ -136055,7 +134900,6 @@ tbkwatch.org.za, 1 tbld.gov, 1 tblflip.de, 1 tblnk.de, 1 -tbonejs.org, 1 tbox.net, 1 tbpchan.cz, 1 tbq-s.com, 1 @@ -136140,7 +134984,6 @@ tcspartner.net, 1 tcuprs.com, 1 tcvanbuuren.tk, 1 tcvonline.vic.gov.au, 1 -tcvvip.com, 1 tcvw.org, 1 tcwis.com, 1 tcwsites.com.br, 1 @@ -136177,7 +135020,6 @@ tdstoragebay.com, 1 tdtf.eu, 1 tdtf.hk, 1 tdtf.nl, 1 -tdude.co, 1 tdvg.nl, 1 tdxexpedited.com, 1 tdyx-china.com.cn, 0 @@ -136295,7 +135137,6 @@ teamleader-apps-by-invantive.com, 1 teamlightning.tk, 1 teamliquid.com, 1 teamliquid.eu, 1 -teamliquidpro.com, 1 teamliquidstarleague.com, 1 teammateworld.com, 1 teammojo.org, 1 @@ -136446,7 +135287,6 @@ tech-post.net, 1 tech-professor.ir, 1 tech-rat.com, 1 tech-seminar.jp, 1 -tech-stat.com, 1 tech-story.net, 1 tech-urdu.tk, 1 tech-value.eu, 1 @@ -136454,7 +135294,6 @@ tech-zealots.com, 1 tech-zoom.com, 1 tech3599.com, 1 tech3araby.com, 1 -tech4cancer.com, 1 tech4founders.co, 1 tech4greece.gr, 1 tech506.com, 1 @@ -136566,6 +135405,7 @@ techmammal.de, 1 techmanstan.com, 1 techmatter.tk, 1 techmatters.org, 1 +techmayhem.net, 1 techmen.net, 1 techmeout.io, 1 techmerch.ru, 0 @@ -136614,6 +135454,7 @@ technogrand.gq, 1 technoholod.tk, 1 technohonks.tk, 1 technohram.tk, 1 +technoidhost.com, 1 technoids.tk, 1 technoledge.jp, 1 technolink.cf, 1 @@ -136675,7 +135516,6 @@ technowise.tk, 1 technowiz.tk, 1 technoyl.com, 1 techonline.com, 1 -techorbit.co, 1 techorbiter.com, 1 techorganism.com, 1 techpartes.com.br, 1 @@ -136730,7 +135570,6 @@ techshielding.com, 1 techshift.eu, 1 techshift.nl, 1 techshift.se, 1 -techshout.com, 1 techsite.tk, 1 techsmartstore.com, 1 techsna.com, 1 @@ -136767,7 +135606,6 @@ techwin.systems, 1 techwithcromulent.com, 1 techwolf12.nl, 1 techwords.io, 1 -techyhint.com, 1 techzant.com, 1 techzero.cn, 1 techzjc.com, 0 @@ -136797,7 +135635,6 @@ tecno-pack.net, 1 tecnoarea.com.ar, 1 tecnoblog.net, 1 tecnoboxchile.cl, 1 -tecnobrasilloja.com.br, 1 tecnocomp-systems.com, 1 tecnodritte.it, 1 tecnoempleo.com, 1 @@ -136829,7 +135666,6 @@ tecroxy.com, 1 tecsar.cn, 1 tecsar.org, 1 tecscipro.de, 1 -tect.co.uk, 1 tectas.co.jp, 1 tecumsehmi.gov, 1 tecwolf.com.br, 1 @@ -136892,7 +135728,6 @@ teepak.ml, 1 teerer.tk, 1 teestore.ru, 1 teesypeesy.com, 1 -teeters.in, 1 teethtalkgirl.com, 0 teetje-doko.de, 1 teetoptens.com, 1 @@ -136917,7 +135752,6 @@ tehno-kip.ru, 0 tehno-trust.tk, 1 tehno3d.ru, 1 tehnoklubi.ee, 1 -tehnolove.ru, 1 tehnomagija.tk, 1 tehosmotravto.ru, 1 tehplace.club, 1 @@ -136942,7 +135776,6 @@ tekchoiceelectronics.com, 1 tekila.cf, 1 tekila.ga, 1 tekila.tk, 1 -tekinfo.co.id, 1 tekingb.com, 0 tekirdagemlak.tk, 1 tekiro.com, 1 @@ -137049,11 +135882,11 @@ telenco-datacenter.com, 1 telenco-networks.com, 1 telenovelas-france.tk, 1 teleogistic.net, 1 -telepedia.pl, 1 telephonedirectories.us, 1 telephoni-cdma.tk, 1 telepilote-academy.fr, 1 telepizza.com, 1 +telepizza.es, 1 telepok.com, 1 telepons.com, 1 teleport.com.br, 1 @@ -137190,6 +136023,7 @@ tena.tk, 1 tenangjiwaku.tk, 1 tenantacademy.co.za, 1 tenantoptions.com.au, 1 +tenantprotect.co.za, 1 tenber.ge, 1 tenberg.com, 1 tenbookclub.org, 1 @@ -137200,7 +136034,6 @@ tendanceouest.com, 1 tendaqu.com, 1 tende.roma.it, 1 tendergrupp.ru, 0 -tendermaster.com.ua, 1 tenderned.nl, 1 tenderstem.co.uk, 1 tenderstem.ie, 1 @@ -137217,13 +136050,11 @@ teners.me, 1 tenfeetsquare.net, 1 tenfingerscollective.tk, 1 tengodetodo.tk, 1 -tengu.cloud, 1 tenhourguy.com, 1 tenispopular.com, 1 tenisservis.eu, 1 tenjou-tenge.tk, 1 tenken1010.org, 1 -tenkofx.com, 1 tenma.pro, 1 tennaxia.com, 1 tenncare.gov, 1 @@ -137257,12 +136088,10 @@ tentacle.monster, 1 tentacle.net, 1 tentacletank.com, 1 tentagent.com, 1 -tentations-voyages.com, 0 tenthdimensions.com, 1 tenthirtyonepictures.com, 1 tenthousandcoffees.com, 1 tentoo.nl, 1 -tentopdak.nl, 1 tentq.com, 1 tentries.com, 1 tenutachianchizza.it, 0 @@ -137506,7 +136335,6 @@ testmx.email, 1 testmx.eu, 1 testmx.org, 1 testmy.tk, 1 -testnet-faucet.com, 1 testomato.com, 1 testone.com.tr, 1 testoon.com, 1 @@ -137571,7 +136399,6 @@ teulon.eu, 1 teungedj.de, 1 teunmulder.tk, 1 teunstuinposters.nl, 1 -teupholstery.com, 1 teusink.eu, 1 teuton.io, 1 teutonia-grossenlueder.de, 1 @@ -137740,7 +136567,7 @@ thai-massage.tk, 1 thai-ridgeback.tk, 1 thai.land, 1 thai369.com, 1 -thaibizsingapore.com, 1 +thaibizsingapore.com, 0 thaiboystory.ga, 1 thaibrokersfx.com, 1 thaicurry.net, 1 @@ -137756,7 +136583,6 @@ thailande-fr.com, 1 thailandguru.properties, 1 thailandhotel.tk, 1 thailandpropertylisting.ga, 1 -thailandtrends.com, 1 thailandvariety.cf, 1 thaimbc.com, 1 thaimega.club, 1 @@ -137834,7 +136660,7 @@ the-crypto-syllabus.com, 1 the-deep.tk, 1 the-digital-insurer.com, 1 the-digitale.com, 0 -the-doorman.co.uk, 1 +the-doorman.co.uk, 0 the-dream.tk, 1 the-ear.net, 1 the-earth-yui.net, 0 @@ -137966,7 +136792,6 @@ thebeatyard.nl, 1 thebeaulife.co, 1 thebeautyqueen.tk, 1 thebedfordcitizen.org, 1 -thebeeyard.org, 1 thebeginningviolinist.com, 1 thebenefitcalculator.com, 1 thebengalinews.tk, 1 @@ -137978,7 +136803,6 @@ thebestlaos.ga, 1 thebestnews.ga, 1 thebestofthesprings.com, 1 thebestpersonin.ml, 1 -thebestproducts.info, 1 thebestshopping.tk, 1 thebetterfit.com, 1 thebettermagazine.com, 1 @@ -137986,7 +136810,6 @@ thebhc.org, 1 thebigbigworld.tk, 1 thebigdatacompany.com, 1 thebigdig.xyz, 1 -thebiglaskowski.com, 1 thebigslow.com, 1 thebillingtongroup.com, 1 thebinarys.com, 1 @@ -138004,7 +136827,6 @@ theblankenshipfirm.com, 1 theblink.com, 1 theblisters.tk, 1 theblock.co, 1 -theblog.cn, 1 theblogstarter.com, 1 theblondeabroad.com, 0 theblue.tk, 1 @@ -138048,7 +136870,6 @@ thebroadcastknowledge.com, 1 thebrookeb.com, 1 thebsl.ca, 1 thebss.tk, 1 -thebte.com, 1 thebucklandreligion.tk, 1 thebuffalotavern.com, 1 thebugmanfraservalley.com, 1 @@ -138057,7 +136878,6 @@ thebulletin.io, 1 thebunnyhutch.org, 1 theburst.tk, 1 thebus.top, 1 -thebusinessofgoodfilm.com, 1 thebutterflyencounters.com, 1 thebuttongame.io, 1 thebuttonpost.com, 1 @@ -138082,7 +136902,6 @@ thecavedistro.tk, 1 thecaveofsatyr.tk, 1 thecavepeople.is, 1 thecdev.com.br, 1 -thecelticbhoys.com, 1 thecelticfiles.tk, 1 theceocollective.com, 1 thecfef.org, 1 @@ -138097,7 +136916,7 @@ thecheat.tk, 1 thecheese.co.nz, 1 thechelseadrugstore.ie, 1 thechemistryisdead.tk, 1 -thecherryship.ch, 0 +thechfdietitian.com, 1 thechicanos.tk, 1 thechinaguide.com, 1 thechoice.tk, 1 @@ -138169,7 +136988,6 @@ thecup.us, 1 thecureplainsong.tk, 1 thecuriousdev.com, 1 thecurvyfashionista.com, 1 -thecurvyrentalboutique.co.nz, 1 thecustomdroid.com, 1 thecustomizewindows.com, 1 thecyberwire.com, 1 @@ -138255,7 +137073,7 @@ theemeraldmagazine.com, 1 theemptyvault.com, 1 theender.net, 1 theendlesssixties.com, 0 -theendpoem.com, 1 +theendpoem.com, 0 theentropyofdelicatewonders.com, 1 theepankar.com, 1 theepicsponge.co.uk, 1 @@ -138372,6 +137190,7 @@ thego2swatking.com, 1 thegoaescort.com, 1 thegoldandsilverexchange.com, 1 thegolden.com, 1 +thegoodinside.com, 1 thegoodveggie.com, 1 thegoodvybe.ml, 1 thegospell.tk, 1 @@ -138429,11 +137248,10 @@ thehomebarista.com, 1 thehomemademasks.com, 1 thehomeofthefuture.com, 1 thehoney.ga, 1 -thehoneyfactory.de, 1 +thehoneyfactory.de, 0 thehonorguard.org, 1 thehookup.be, 1 thehopefuture.com, 1 -thehopper.io, 1 thehorsesadvocate.com, 1 thehosmers.com, 1 thehotcasinos.com, 1 @@ -138446,7 +137264,6 @@ thehumancondition.com, 1 thehumanizer.tk, 1 thehumanjoint.com, 1 thehumorist.tk, 1 -thehunky.com, 1 thehuskyhaul.com, 1 theideaskitchen.com.au, 1 theidiotboard.com, 1 @@ -138476,10 +137293,8 @@ theissen.io, 1 theitaliantimes.it, 1 theitsage.com, 0 thejacksoninstitute.com.au, 1 -thejc.com, 1 thejewelhut.co.uk, 1 thejkdrebel.com, 1 -thejnotes.com, 1 thejoaustralia.com, 1 thejollyguest.com, 1 thejoneshub.com, 1 @@ -138489,7 +137304,6 @@ thejoykiller.tk, 1 thejukebox.tk, 1 thejunkfiles.com, 1 thekalakriti.tk, 1 -thekapi.xyz, 1 thekev.in, 1 thekeymusic.com, 1 thekickassvirtualassistant.nl, 1 @@ -138503,6 +137317,7 @@ thekitchngic.com, 1 thekitsunesden.com, 1 thekittivibe.com, 1 thekliniquehotdeal.com, 1 +theknightrider.com, 0 theknittingnetwork.co.uk, 1 theknockout.tk, 1 theknowitguy.com, 1 @@ -138618,7 +137433,6 @@ themigraineinstitute.com, 1 themilanlife.com, 1 themilfmovies.com, 1 themindcollection.com, 1 -themingblogger.com, 1 theminiacs.com, 1 themiracle.tk, 1 themirc.tk, 1 @@ -138659,7 +137473,6 @@ thenewamericanright.com, 1 thenewclassics.com, 1 thenewissue.tk, 1 thenewsmill.com, 1 -thenewsvortex.com, 1 thenewtoy.net, 1 thenextweb.com, 1 thenexwork.com, 1 @@ -138712,7 +137525,7 @@ theoldmill.tk, 1 theoldnews.net, 1 theoldschoolgamevault.com, 1 theolodewijk.nl, 1 -theologique.ch, 0 +theologique.ch, 1 theome.ga, 1 theomegagroup.co.uk, 1 theonegroup.co.uk, 0 @@ -138762,7 +137575,6 @@ thepatchworks.org, 1 thepathsofdiscovery.com, 1 thepaul.tk, 1 thepaulagcompany.com, 0 -thepaulygroup.de, 1 thepavilionbanbury.co.uk, 0 thepaymentscompany.com, 1 thepcweb.tk, 1 @@ -138806,7 +137618,6 @@ thepowerboys.tk, 1 thepressleygirls.com, 1 thepressurewashingdirectory.com, 1 thepriceisright.tk, 1 -theprideoflondon.com, 1 theprimegroup.ca, 1 theprimepr.in, 1 theprimetalks.com, 0 @@ -138844,7 +137655,6 @@ therapie-fricktal.ch, 1 therapie-psycho-emotionnelle.fr, 1 therapiemi.ch, 1 therapiepraxis-westbezirk.de, 1 -therapists.com, 1 therapyclient.com, 1 therapyconnects.co.uk, 1 therapyforblackmen.org, 1 @@ -138857,12 +137667,10 @@ therapysxm.com, 0 therapyworks.com, 1 therasmusgt.tk, 1 therasmusperu.tk, 1 -therattrick.com, 1 theravada.tk, 1 thereadingresidence.com, 1 thereafter.ga, 1 thereal.tk, 1 -therealchamps.com, 1 therealcomp.ga, 1 therealcost.gov, 1 therealcountrydancers.tk, 1 @@ -138882,7 +137690,6 @@ theresapolicewi.gov, 1 theresingles.tk, 1 therestaurantstore.com, 1 theretirementincomecalculator.com, 1 -theretro.ru, 1 therevenge.me, 1 therevolutionist.tk, 1 therewill.be, 0 @@ -138900,6 +137707,7 @@ thermity.com, 1 thermolamina.nl, 1 thermorhythm.com, 1 thermostat.gq, 1 +thermostatsolutions.com, 1 thermowood-bkh.ru, 1 therniakov.tk, 1 theroadrunners.tk, 1 @@ -138981,7 +137789,6 @@ thesilverdaisy.com, 1 thesimons.family, 1 thesimplehelp.com, 1 thesimplewebcompany.com, 1 -thesimplifiers.com, 0 thesimsbrasil.tk, 1 thesingaporelawyer.com, 1 thesinhalanews.lk, 1 @@ -138993,7 +137800,6 @@ thesissurvey.cf, 1 thesissurvey.gq, 1 thesistraffic.com, 1 thesiterank.com, 1 -thesixersense.com, 1 theskepticalreviewarchive.com, 1 theskingym.co.uk, 1 theskiweek.com, 1 @@ -139066,7 +137872,6 @@ thetipo.rocks, 1 thetipo01.tk, 1 thetogbox.cf, 1 thetomharling.com, 1 -thetopflight.com, 1 thetopmovie.gq, 1 thetopsecretepisode.tk, 1 thetorlock.com, 1 @@ -139076,7 +137881,6 @@ thetoto.tk, 1 thetownehub.com, 1 thetradinghall.com, 0 thetrafficgeek.com, 1 -thetransformingchurch.org, 1 thetravel.com, 1 thetravelczar.com, 1 thetravelhack.com, 0 @@ -139108,7 +137912,6 @@ theupslady.ga, 1 theurbandecor.com, 1 theuucc.org, 0 thevacuumpouch.co.uk, 1 -thevacweb.com, 1 thevalleybucketeers.tk, 1 thevalueofarchitecture.com, 1 thevanishedvoyager.ml, 1 @@ -139183,7 +137986,6 @@ thewoodkid.com.au, 1 thewoodlandsviplimousine.com, 1 thewoods.earth, 1 thewoolroom.com.au, 1 -thewoosh.me, 0 theworkingeye.nl, 1 theworksboulder.com, 1 theworksheets.com, 1 @@ -139246,9 +138048,9 @@ thietbithoathiem.net, 1 thietkegianhangtttm.com, 1 thietkenamcuong.com, 0 thijmen.xyz, 1 -thijmendevalk.nl, 0 +thijmendevalk.nl, 1 thijmenmathijs.nl, 1 -thijmenverveeltzich.nl, 0 +thijmenverveeltzich.nl, 1 thijs.amsterdam, 1 thijs.fr, 1 thijsenarjan.nl, 1 @@ -139282,7 +138084,6 @@ thinkbigdobig.tk, 1 thinkbot.de, 1 thinkbrands.co.uk, 1 thinkcash.nl, 1 -thinkcoconut.com.au, 1 thinkcogency.com, 1 thinkd2s.com, 1 thinkdata.com.br, 1 @@ -139321,6 +138122,7 @@ thirdwaverevenue.com, 1 thirdworld.moe, 1 thirteen.pm, 1 thirtysixseventy.ml, 1 +thirtyspot.com, 1 thiruvarur.org, 1 thiry-automobiles.net, 1 thisbowin.com, 1 @@ -139578,13 +138380,11 @@ thumbzilla.com, 1 thummer.net, 1 thunderbase.tk, 1 thunderbolt.tk, 1 -thunderboltlaptop.com, 1 thundercloud.onthewifi.com, 1 thunderfield-boat.co.uk, 1 thunderhead.com, 0 thunderheadjtc.tk, 1 thunderkeys.net, 1 -thunderousintentions.com, 1 thunderstruckfestival.nl, 1 thundr.eu, 1 thunktank.org, 1 @@ -139618,7 +138418,6 @@ ti-js.com, 1 ti-nuage.fr, 1 ti-pla.net, 1 ti-planet.org, 1 -ti.blog.br, 0 ti780.com, 1 tiagocasalribeiro.ml, 1 tiagomoraismorgado.tk, 1 @@ -139684,7 +138483,6 @@ ticketbahia.com, 1 ticketcity.com, 1 ticketfan.es, 1 ticketix.com, 1 -ticketmaze.com, 0 ticketpay.jp, 1 ticketpro.ca, 1 ticketrestaurant.us, 1 @@ -139919,7 +138717,6 @@ timbishopartist.com, 1 timbrust.de, 1 timbuktutimber.com, 1 timcamara.com, 1 -timchanhxe.com, 0 timco.cloud, 1 timdebruijn.nl, 1 timdemisch.de, 1 @@ -139954,7 +138751,6 @@ timedin.net, 1 timefor.tk, 1 timeforcoffe.eu, 1 timeglass.de, 1 -timeharmony.pl, 1 timelapsetv.tk, 1 timeless-photostudio.com, 1 timeless-spirit.com, 1 @@ -139965,6 +138761,7 @@ timelimit.io, 1 timelost.tk, 1 timely.fun, 1 timely.md, 1 +timelybookkeeper.com, 1 timelycare.com, 1 timelyprovider.com, 1 timemuzz.com, 1 @@ -140076,7 +138873,6 @@ tinf.de, 1 tinf15b4.de, 1 tinfoilsecurity.com, 1 tinfoleak.com, 1 -tingalpakindy.com.au, 1 tingriev.gq, 1 tinh.work, 1 tinhchattrangda.vn, 1 @@ -140132,7 +138928,6 @@ tinylan.com, 1 tinylink.cf, 1 tinylotta.com, 1 tinypic.host, 1 -tinyppt.com, 1 tinyproxy.cf, 1 tinyproxy.ga, 1 tinyspeck.com, 1 @@ -140173,6 +138968,8 @@ tipsypresent.com, 1 tiptop.cloud, 1 tiptoptransmissions.com, 1 tipulnagish.co.il, 1 +tipwin.com, 1 +tipwin.de, 1 tipydokasina.cz, 1 tiqets.com, 0 tir-mauperthuis.fr, 1 @@ -140192,7 +138989,6 @@ tirionnetwork.de, 1 tirlins.com, 1 tirme.com, 1 tiroler-kupferschmiede.com, 1 -tirtalawoffice.com, 1 tirteafuera.tk, 1 tirupatinightwear.co.in, 1 tischlerei-klettke.de, 1 @@ -140202,7 +138998,6 @@ tiski-shop.ru, 1 tisknunahadry.cz, 1 tism.in, 1 tisparking.com, 1 -tissot-mayenfisch.com, 0 tissus-paris.com, 1 tisvapo.it, 1 tit-cdn.de, 1 @@ -140280,7 +139075,6 @@ tkarstens.de, 1 tkcafe.net, 1 tkcaninetraining.com, 1 tkd-itf.tk, 1 -tkgeomap.org, 1 tkgpm.com, 1 tkhirianov.tk, 1 tkhsurgery.com, 1 @@ -140303,7 +139097,7 @@ tlanyan.pp.ua, 1 tlca.org, 1 tlcinteriors.com.au, 1 tlctrades.com, 1 -tld-list.com, 1 +tldata.co, 1 tldplaza.com, 1 tldrtips.com, 1 tldtattoo.com, 1 @@ -140394,7 +139188,6 @@ tn-bb.com, 1 tn0.club, 1 tnb-plattform.de, 1 tncrtinfo.com, 1 -tnd.kz, 0 tndagc.gov, 1 tndentalwellness.com, 1 tnes.dk, 1 @@ -140537,7 +139330,6 @@ todayupdates.ga, 1 toddcullumresearch.com, 1 toddexler.com, 1 toddlerleaf.com, 1 -toddmath.com, 1 toddmclauchlin.cf, 1 toddmclauchlin.ga, 1 toddmclauchlin.ml, 1 @@ -140665,7 +139457,6 @@ tolartx.gov, 1 tolas.lt, 1 tolboe.com, 1 toldos-en-stock.es, 1 -toldosecoberturasbh.com.br, 1 toldst.dk, 1 toledo.tk, 1 toledoclassifieds.net, 1 @@ -140877,7 +139668,6 @@ tonermonster.de, 1 toners.ro, 1 tonex.de, 1 tonex.nl, 1 -tongjistudents.org, 1 tongkhothanhly.com, 1 tongli.eu.org, 1 tonguetechnology.com, 1 @@ -140982,13 +139772,13 @@ toothsearch.tk, 1 tooti.biz, 1 tootl.org, 1 tootsi.edu.ee, 1 +tootsiewootsies4d.com, 1 toowoombawebdesign.com.au, 1 top-aanbiedingen.nl, 1 top-avis.fr, 1 top-azia.ru, 1 top-b.net, 1 top-beauty.cf, 1 -top-bev.com, 1 top-credit.tk, 1 top-dance.pl, 1 top-drop.tk, 1 @@ -141051,6 +139841,7 @@ topbloc.com, 1 topbookmarking.cf, 1 topbouncycastles.co.uk, 1 topbrasilnews.tk, 1 +topbrunchspots.com, 1 topbuild.com, 1 topbusiness.tk, 1 topbusinessnews.today, 1 @@ -141083,10 +139874,8 @@ topdogsinflatables.co.uk, 1 topdomainsandhosting.com, 1 topdosug.ml, 1 topdroneusa.com, 1 -topechelon.com, 1 topeducationhelp.co, 1 topekafoundationpros.com, 1 -topemlak.com, 1 topendcamphire.com.au, 1 toperadigital.com, 1 topesdegama.com, 1 @@ -141248,7 +140037,6 @@ torbay.ga, 1 torbay.tk, 1 torbe.es, 1 torch-fan.site, 1 -torchantifa.org, 1 torchbankz.com, 1 torchbearer.tk, 1 torchmc.ru, 1 @@ -141270,8 +140058,6 @@ torinotoday.it, 1 torisamaahirusama.com, 1 tork.news, 1 torkel.se, 1 -torkware.com, 1 -torlock.blog, 1 torlock.com, 1 torlock2.com, 1 tormentedradio.com, 0 @@ -141775,7 +140561,6 @@ townofwordenwi.gov, 1 townofwrightstownwi.gov, 1 townofwyomingwi.gov, 1 townresults.ga, 1 -townsendsecurity.com, 1 townshendvt.gov, 1 townshipofthenorthshore.ca, 1 townswalker.com, 1 @@ -141898,7 +140683,6 @@ tracesteps.ga, 1 tracetracker.com, 1 tracetracker.no, 1 traceur-france.fr, 1 -tracewind.top, 1 traceyjsvorusphd.com, 1 trachtenwolf.de, 1 tracinglineage.com, 1 @@ -142056,6 +140840,7 @@ trainingfitstudio.fr, 1 trainingflow.com, 1 traininghamburg.de, 1 traininglife.org, 1 +trainingminds.nl, 1 trainingproviderresults.gov, 1 trainings-handschuhe-test.de, 1 trainingsalicante.tk, 1 @@ -142217,7 +141002,7 @@ translatoruk.co.uk, 0 translink.com.au, 1 translit-net.tk, 1 translit.ga, 1 -translit.ru, 0 +translit.ru, 1 transliterature.org, 1 transmarttouring.com, 1 transmitit.pl, 1 @@ -142292,8 +141077,6 @@ trasloco.milano.it, 1 trasloedil.it, 1 trasportatori.it, 1 trasportoambulanzaprivata.it, 1 -trastornoevitacion.com, 1 -trastornolimite.com, 1 tratamentoparacelulite.net, 1 tratt.net, 1 trattamenti.biz, 1 @@ -142403,7 +141186,6 @@ travelkatta.in, 1 travelknowledge.org, 1 travellegacy.ga, 1 travellets.tk, 1 -travellifetoday.com, 1 travellinginmorocco.com, 1 travellingplanetearth.com, 1 travellings.cn, 0 @@ -142555,7 +141337,6 @@ treeliss.com.br, 1 treemadeiras.com.br, 1 treeremovalfourways.co.za, 1 treeremovalsboksburg.co.za, 1 -treeremovalspretoria.co.za, 1 treesonthemove.com, 1 treestarmarketing.com, 1 treevectors.com, 1 @@ -142721,7 +141502,6 @@ tricordmedia.ca, 1 tricountyathome.com, 1 tricountyhealthut.gov, 1 tricountyheatingcooling.com, 1 -triddi.com, 0 tridena.com, 1 trident-online.de, 1 trident1000logoi.gr, 1 @@ -142762,7 +141542,6 @@ trikuj.cz, 1 trillian.im, 1 trilliondigital.io, 1 trilliux.me, 1 -trilogyforce.com, 0 trilogymp.com, 1 trim21.cn, 1 trimage.org, 1 @@ -142926,13 +141705,13 @@ tronnews.world, 1 tronnews.xyz, 1 tronxh.me, 1 troomcafe.com, 1 +troonnorthgolf.com, 0 troopaid.info, 1 troopers.de, 1 trophcomplewin.ml, 1 trophy-discount.com, 1 trophykoi.tk, 1 trophyshopinc.com, 1 -tropical-architect.com, 1 tropicalhurricanetracker.com, 1 tropicalislands.tk, 1 tropicalstandard.com, 1 @@ -143002,7 +141781,6 @@ trucchibellezza.com, 1 trucchibellezza.it, 1 truckcord.com, 1 truckdeal.com.ph, 1 -truckercheckin.com, 1 truckerjobusa.com, 1 truckersdatabase.cf, 1 truckersmp.com, 1 @@ -143175,7 +141953,6 @@ truskmedia.tk, 1 trussgenius.com, 1 trussville.gov, 1 trust-btc.ml, 1 -trust-s.ru, 1 trust-ted.co.uk, 1 trust.com, 1 trust.zone, 1 @@ -143231,7 +142008,6 @@ tryaatos.com, 1 trybabyschoice.com, 1 trycaviar.com, 1 trychameleon.com, 1 -tryckpa.se, 1 trydoggo.com, 1 tryfabulousdiet.com, 1 tryfabulousskincream.com, 1 @@ -143298,16 +142074,13 @@ tscampus.online, 1 tschuermans.be, 0 tscinsurance.com, 1 tsedryk.ca, 1 -tsem.bt, 1 tseng.dedyn.io, 1 tsentrobuv.tk, 1 tsenv.net, 1 tsfempleos.com, 1 tsg0o0.com, 1 -tsg0o0.net, 1 tsgbcs.org, 1 tsgbit.net, 1 -tsgserviciosglobales.com, 1 tshirtgenerator.ga, 1 tshirtmemoryquilts.com, 1 tshirtscapetown.com, 1 @@ -143366,7 +142139,6 @@ tsutsumi-kogyo.jp, 1 tsuyuzakihiroyuki.com, 1 tsv-1894.de, 0 tsv-hittfeld.de, 0 -tsvit.com.ua, 0 tsw.ovh, 1 tsxxlangel.com, 1 tsybanov.com, 1 @@ -143419,6 +142191,7 @@ ttr-home.com, 1 ttr3.eu, 1 ttrade.ga, 1 ttrecms.com, 1 +tts-assessments.com, 1 ttshapn.org, 1 ttsoft.pl, 1 ttspttsp.com, 1 @@ -143427,8 +142200,6 @@ ttt-networks.com, 1 tttfic.com, 1 ttug.co.uk, 1 ttunda.com, 1 -ttuwiki.ee, 1 -ttuwiki.org, 1 ttv-bernisse80.tk, 1 ttwtrader.com, 1 tty.space, 1 @@ -143617,10 +142388,9 @@ tupahost.net.br, 1 tupass.pw, 1 tupatane.gq, 1 tupeng.com, 1 -tuperiodico.soy, 1 +tuperiodico.soy, 0 tupeuxpastest.ch, 0 tupi.fm, 1 -tupizm.com, 1 tuppenceworth.ie, 1 tuppennysfireplace.com, 1 tupperwaresalamanca.com, 1 @@ -143748,6 +142518,7 @@ turnoffthelights.com, 1 turnoffthelights.video, 1 turnonsocial.com, 1 turnosinscripcionchascomus.site, 1 +turnout.rocks, 1 turnover.cf, 1 turnto23.com, 1 turobot.casa, 1 @@ -143756,6 +142527,7 @@ turpinpesage.fr, 1 turquoisetassel.com, 1 turretlabs.io, 1 tursa.com.au, 1 +tursiae.org, 1 turteka.com, 1 turtle.ai, 0 turtleduckstudios.com, 1 @@ -143825,7 +142597,6 @@ tuttimundi.org, 0 tuttleok.gov, 1 tuttoandroid.net, 1 tuttonotizie.eu, 1 -tutu.green, 1 tutu.ro, 1 tutucos.com, 1 tutudaju.com, 1 @@ -143898,6 +142669,7 @@ tview.co.uk, 1 tvindia.tk, 1 tvipper.com, 1 tvk.tirol, 1 +tvkaista.com, 1 tvkaista.net, 1 tvkaista.org, 1 tvkaren.tk, 1 @@ -143991,7 +142763,6 @@ twindii.com, 1 twinfield-apps.nl, 1 twinflame.tf, 1 twinkseason.com, 1 -twinlakeestates.in, 1 twinlakeswi.gov, 1 twinspringcoupling.com, 1 twinstudiosparis.com, 1 @@ -144015,7 +142786,6 @@ twit-guide.com, 1 twitchplaysleaderboard.info, 1 twitchy.tk, 1 twitcker.com, 1 -twitok.co, 1 twittelzie.nl, 1 twitter.ax, 1 twitter.com, 0 @@ -144081,7 +142851,6 @@ txtentertainment.ga, 1 txtfile.eu, 0 txtnovel.me, 1 txtnovel.net, 1 -txtpower.org, 1 txurologist.com, 1 txwm.com, 1 txwriterstudio.com, 1 @@ -144096,10 +142865,8 @@ ty613.com, 1 ty637.com, 1 ty679.com, 1 ty705.com, 1 -ty716.com, 1 ty723.com, 0 ty736.com, 1 -ty739.com, 1 ty7788.cc, 1 ty791.com, 1 ty835.com, 0 @@ -144466,6 +143233,7 @@ ueberwachungspaket.at, 1 uedaviolin.com, 1 uefeng.com, 0 uel-thompson-okanagan.ca, 1 +ueliexpress.ch, 1 uesaz.com, 1 uesc.org, 1 uesociedadlimitada.com, 1 @@ -144565,7 +143333,6 @@ ujjivan.com, 1 ujob.com.cn, 1 ujotthon.hu, 1 ujvary.eu, 1 -uk-staff.co.uk, 1 uk.dating, 1 uk.search.yahoo.com, 0 ukari.hokkaido.jp, 0 @@ -144629,7 +143396,6 @@ ulax.tk, 1 ulbr.dnshome.de, 1 ulconnect.com, 1 uldsh.de, 1 -uleenucks.de, 1 ulement.com, 1 ulen.me, 1 ulet.tk, 1 @@ -144680,8 +143446,6 @@ ultimatemapping.tk, 1 ultimatemotherfuckingwebsite.com, 1 ultimatempb.com.au, 1 ultimateoptimizer.com, 1 -ultimateout-sourcing.com, 1 -ultimateoutsourcing.co.uk, 1 ultimatepaleoguide.com, 1 ultimateparts.nl, 1 ultimatepatrol.de, 1 @@ -144807,17 +143571,14 @@ unblockit.blue, 1 unblockit.cat, 1 unblockit.ch, 1 unblockit.click, 1 -unblockit.how, 1 unblockit.ink, 1 unblockit.ist, 1 -unblockit.kim, 1 unblockit.llc, 1 unblockit.me, 1 unblockit.name, 1 unblockit.nz, 1 unblockit.pet, 1 unblockit.vegas, 1 -unblockit.ws, 1 unbolt.cf, 1 unbonavocat.fr, 1 unboundmoney.com, 1 @@ -144843,7 +143604,6 @@ undangan-digital.com, 1 undawns.tk, 1 undeadwalking.com, 1 undecidable.de, 1 -undeductive.com, 1 undegasesc.net, 1 undelightfully.tk, 1 undemocracy.cf, 1 @@ -144940,7 +143700,6 @@ unibh.br, 1 unibolsit.com, 1 unibuses.co.uk, 1 unibusreputation.com, 1 -unicarioca.edu.br, 1 unicef.pl, 1 unicefcards.cz, 1 unicefcards.gr, 1 @@ -145032,7 +143791,6 @@ unipaz.edu.co, 1 unipig.de, 0 uniq.moe, 1 uniqclothing.co.za, 1 -uniqleen.com.au, 1 uniqopter.com, 1 uniqsys.eu, 1 unique-app.com, 1 @@ -145040,7 +143798,6 @@ unique-news.tk, 1 unique-punk.tk, 1 unique-urls.tk, 1 uniquedollz.tk, 1 -uniqueexpression-coaching.de, 1 uniquehardware.ca, 1 uniquehardware.net, 1 uniquemode.nl, 1 @@ -145212,6 +143969,7 @@ unknowntrojan.win, 1 unko.cz, 1 unkrn.com, 1 unleashfido.com, 1 +unleashyouridentity.com, 1 unli.xyz, 1 unlimiteddata.digital, 1 unlimiteddsl.ga, 1 @@ -145306,7 +144064,7 @@ unternehmensberater-website.de, 1 unternehmensbewertung.pro, 1 unternehmerrat-hagen.de, 1 unternimmteam.de, 1 -untethereddog.com, 0 +untethereddog.com, 1 unti.me, 1 unti.tk, 1 untidybits.com, 1 @@ -145315,7 +144073,6 @@ untrading.org, 1 untro.xyz, 1 untvweb.com, 1 unufoundation.com, 1 -unusedrooms.com, 1 unusualhatclub.com, 1 unusualplaces.org, 1 unveiledgnosis.com, 1 @@ -145374,7 +144131,6 @@ upcycleandcompany.com, 1 upd.jp, 1 updata.com, 1 update-linthdcp-567app1.com, 1 -updatemedia.or.id, 1 updefense.io, 1 updoze.com, 1 upengo.com, 1 @@ -145425,7 +144181,6 @@ uploadingsite.com, 1 uploads.su, 1 uploadscript.tk, 1 uploadtokiosk.com, 1 -uplr.it, 1 upmail.ml, 1 upmchealthsecurity.us, 1 upmediaclick.com, 1 @@ -145736,7 +144491,7 @@ usajobs.gov, 1 usalearning.gov, 1 usamale.cf, 1 usamdt.com, 1 -usamocha.com, 1 +usamocha.com, 0 usamultimeters.com, 0 usanamiru.cz, 1 usanewsposts.ga, 1 @@ -145754,7 +144509,6 @@ usatodaysportsplus.com, 1 usavingsbank.com, 1 usaweblist.tk, 1 usawireguard.com, 1 -usb-lock-rp.com, 1 usbcompatible.com, 1 usbevents.co.uk, 1 usbr.gov, 1 @@ -145782,7 +144536,6 @@ used255.xyz, 1 useful-thing.ru, 1 usefuldiy.com, 1 usefulinsight.com, 1 -usefultravelsite.com, 1 usehonk.com, 1 usemergencyservices.com, 1 usenet.tk, 1 @@ -145819,7 +144572,6 @@ usidfc.gov, 1 usintimate.com.br, 1 usjobmarket24.com, 1 usjt.br, 1 -usjunkyardsnearme.com, 1 usk-clan.tk, 1 uskaonline.tk, 1 uskaria.com, 1 @@ -145833,7 +144585,6 @@ uslugi-online.pl, 1 uslugi-voronezh.tk, 1 uslugikoparkalodz.gq, 1 usmammy.com.tw, 1 -usmanaziz.tech, 1 usmantrader.gq, 1 usmiddleclass.net, 1 usmint.gov, 1 @@ -145861,7 +144612,6 @@ uspory.cz, 1 uspreventiveservicestaskforce.org, 1 uspsblog.com, 1 uspsoig.gov, 1 -usr.nz, 0 usrspace.at, 1 uss-atlas.de, 1 uss-electro.ru, 1 @@ -145911,7 +144661,6 @@ utahlivebands.com, 1 utahmotors.ru, 1 utahonlinedivorce.com, 1 utahphotogs.com, 1 -utahtravelcenter.com, 1 utaindoradio.cf, 1 utangard.net, 1 utaowan.com, 0 @@ -146041,7 +144790,6 @@ uxg.ch, 1 uxpressia.com, 1 uxteam.com, 1 uy.search.yahoo.com, 0 -uyen.party, 1 uygindir.ml, 1 uyz.me, 1 uz-yulduzlar.tk, 1 @@ -146124,14 +144872,14 @@ v5658.com, 0 v5ray.club, 1 v5ray.top, 1 v6004.com, 1 -v6021.com, 1 +v6021.com, 0 v6170.com, 0 -v6350.com, 1 -v6506.com, 1 +v6350.com, 0 +v6506.com, 0 v66255.com, 0 v66557.com, 0 v6729.co, 1 -v6752.com, 1 +v6752.com, 0 v6957.co, 1 v6ss.com, 1 v700a.com, 1 @@ -146143,8 +144891,7 @@ v700w.com, 1 v7090.com, 0 v81365.com, 1 v82365.com, 1 -v88158.com, 1 -v88511.com, 0 +v88158.com, 0 v8abc.com.br, 1 v8builder.com, 1 v9285.com, 0 @@ -146172,7 +144919,6 @@ vacati0n.tk, 1 vacation-croatia.com, 1 vacation-in-pisak.tk, 1 vacationfund.co, 1 -vacationrentals.com.co, 1 vacationsforcouples.com, 1 vacaturesonline.nl, 1 vaccantcorner.ml, 1 @@ -146361,7 +145107,6 @@ valleycom.com, 1 valleycountyne.gov, 1 valleydalecottage.com.au, 1 valleyofdeath.tk, 1 -valleyofthesuns.com, 1 valleyradiologypad.com, 1 valleyradiologyufe.com, 1 valleyshop.ca, 1 @@ -146476,7 +145221,6 @@ vanderbiltcisa.org, 0 vanderkley.it, 1 vanderkrieken.org, 1 vanderleeden.servepics.com, 1 -vanderleiacorretora.com.br, 1 vanderlinde.ml, 1 vandermeer.frl, 1 vanderrijt.nl, 1 @@ -146484,7 +145228,7 @@ vandersmissen.lawyer, 1 vanderstraeten.dynv6.net, 1 vanderzwet.net, 1 vandi.tk, 1 -vandijkmaatwerk.nl, 0 +vandijkmaatwerk.nl, 1 vandommelenart.com, 0 vandoornmiddenzeeland.nl, 1 vandortgroep.nl, 1 @@ -146495,6 +145239,7 @@ vanessaamorosi.tk, 1 vanessabalibridal.com, 1 vanessaglendagarcia.tk, 1 vanessarivas.com, 1 +vanetv.com, 1 vaneurology.com, 1 vaneyckexpo.be, 1 vaneyckwashere.be, 1 @@ -146701,7 +145446,7 @@ vault.spdns.eu, 1 vault12.com, 1 vault12.io, 1 vault182.xyz, 1 -vault81.de, 1 +vault81.de, 0 vaultdoma.in, 1 vaultlabs1226.com, 1 vaultproject.io, 0 @@ -147037,7 +145782,7 @@ venturum.net, 1 venuedriver.com, 1 venurse.net, 1 venus-erotic.com, 1 -venus-football-giveaway.co.uk, 1 +venus-football-giveaway.co.uk, 0 venusbeautyproducts.in, 1 venusvprincess.com, 1 venzeo.com, 1 @@ -147046,7 +145791,6 @@ veonow.com, 1 vepein.ga, 1 vepein.gq, 1 veply.com, 1 -ver-tv.online, 1 ver.ma, 1 ver.re, 1 vera-1.ru, 1 @@ -147066,7 +145810,6 @@ verberne.nu, 1 verbert.be, 1 verbier-lechable.com, 1 verbierfestival.com, 0 -verbio.com, 1 verbmaestro.com, 1 verboom.co.nz, 1 verbundkredit.ag, 1 @@ -147128,7 +145871,6 @@ verifiedcliq.com, 1 verifiedjoseph.com, 0 verifiny.com, 1 verifize.co.za, 1 -verify-365.com, 1 verify.gov.sg, 1 verifyos.com, 1 verifyyourip.com, 1 @@ -147151,7 +145893,6 @@ verkami.com, 1 verkeer.gent, 1 verkeersschoolrichardschut.nl, 1 verkeersschoolvanhouten.nl, 1 -verkiezingsuitslagen.nl, 0 verkkovalmentajat.fi, 1 verkossa.tk, 1 verksampsykologi.com, 1 @@ -147175,7 +145916,6 @@ vermageringsdieetpillen.ga, 1 vermageringsdieetpillen.gq, 1 vermageringsdieetpillen.tk, 1 vermellcollection.com, 1 -vermo.at, 1 vermogeninkaart.nl, 1 vermont.builders, 1 vermontbiz.com, 1 @@ -147196,7 +145936,6 @@ vernonvt.gov, 1 veronasera.it, 1 veronic.hu, 1 veronicasuperguide.nl, 1 -veronicca.com.br, 1 veronique-schmitz.de, 1 veropharm.ru, 1 veros-volejbal.tk, 1 @@ -147209,7 +145948,6 @@ versa-networks.com, 1 versagercloud.de, 1 versahub.com, 1 versaillestourisme.fr, 1 -versakit.my.id, 1 versalhost.nl, 1 versallesin.com, 1 versanthealth.com, 1 @@ -147321,11 +146059,9 @@ vestia.nl, 1 vestibtech.com, 1 vestibulaire.ch, 1 vestibular.science, 1 -vestibulartechnologies.com, 1 vestiizhevska.cf, 1 vestingbar.nl, 1 vestirnakaret.cz, 1 -vestirsibene.shop, 1 vestkyneonline.cz, 1 vestlundbolargen.tk, 1 vestnik24.cf, 1 @@ -147359,7 +146095,6 @@ veterinaryvision.co.uk, 1 veteriner.name.tr, 1 veterquimica.pe, 1 vetikalender-berlin.de, 1 -vetinfo.pt, 1 vetinte.eu, 1 vetitus-teatro.tk, 1 vetmgmt.com, 1 @@ -147396,7 +146131,6 @@ vfbikes.be, 1 vfc.com, 0 vfdworld.com, 1 vfg.com.ua, 1 -vfmseo.com, 1 vfn-nrw.de, 1 vfnm.de, 1 vfree.org, 0 @@ -147425,7 +146159,6 @@ via-tygo.com, 1 via1buynow.com, 1 viabenefitsaccounts.com, 1 viacar.com, 1 -viacation.co, 1 viacdn.org, 1 viacheslavpleshkov.com, 1 viadennis.nl, 1 @@ -147594,7 +146327,7 @@ videoclubhd.ml, 1 videoconferencing.guide, 1 videoebook.tk, 1 videoeta.com, 1 -videoface.ru, 1 +videoface.ru, 0 videogameconsole.ir, 1 videogamer.com, 1 videogamerreader.tk, 1 @@ -147726,7 +146459,7 @@ vieweb.tk, 1 viewer.ga, 1 viewflix.win, 1 viewfreescore.com, 1 -viewgardencentre.co.uk, 1 +viewing.nyc, 1 viewpointsfromfacebook.com, 1 viewsea.com, 1 viewstub.com, 1 @@ -147745,7 +146478,6 @@ vigilo.ga, 1 vigl.biz, 1 vigliano.com, 1 viglobal.com, 1 -vignaud.fr, 1 vigneshkumar.com, 1 vignobles-querre.com, 1 vignoblesdeletat.ch, 1 @@ -147804,7 +146536,6 @@ viktorchinkonsung.nl, 1 viktorchinkonsung.online, 1 viktorchinkonsung.site, 1 viktoria-goo.com, 1 -viktoria-stube.de, 1 viktorovi.cz, 1 viktorprevaric.eu, 1 viku.fi, 1 @@ -147856,6 +146587,7 @@ villafrancis.org.sg, 1 villagebridalbyomnibus.com, 1 villagecardshop.co.uk, 1 villagecenterpediatrics.com, 1 +villagecinemas.com.au, 1 villagemagazines.co.uk, 1 villagenscamuria.it, 1 villageofalbionny.gov, 1 @@ -147981,7 +146713,6 @@ vinaygakhar.tk, 1 vinaygarg.com, 1 vinc.me, 1 vinc.name.tr, 1 -vincecima.com, 1 vincehut.top, 1 vincemumford.com, 1 vincent-haupert.de, 1 @@ -148061,7 +146792,6 @@ vinolli.de, 1 vinopan.de, 1 vinorossoconero.com, 1 vinoshipper.com, 1 -vinothek-northeim.de, 1 vinovum.net, 1 vinoxo.in, 1 vinsation.com, 1 @@ -148239,7 +146969,6 @@ virtualcomputer.ml, 1 virtualdesign.tk, 1 virtualdesignmedia.com, 1 virtualedge.org, 1 -virtualgayhd.com, 1 virtualgovernance.tk, 1 virtualgraffiti.com, 1 virtualhawaii360.com, 1 @@ -148267,6 +146996,7 @@ virtualvaults.com, 0 virtualx.de, 1 virtubox.net, 1 virtubroker.com.mx, 1 +virtuele-dataroom.nl, 1 virtueturkey.ga, 1 virtuology.com, 1 virtus-group.com, 1 @@ -148321,10 +147051,9 @@ vishnujyothi.co.uk, 1 vishwashantiyoga.com, 1 visibleone.com, 1 visiblethoughts.co.uk, 1 -visikom.de, 1 vision-du-net.com, 1 vision-net.ie, 1 -vision-painting.com, 1 +vision-painting.com, 0 vision2005.tk, 1 visionamp.com, 1 visionations.com, 1 @@ -148384,7 +147113,6 @@ visitgent.eu, 1 visitghent.be, 1 visitghent.eu, 1 visithuntingtonwv.org, 1 -visitidaho.org, 1 visitinvernesslochness.com, 1 visitislandpond.com, 1 visitkeralaadventure.org, 1 @@ -148472,7 +147200,6 @@ vitakov.tk, 1 vital-heart.com, 1 vital.help, 1 vital.no, 1 -vital7.tech, 1 vitalamin.at, 1 vitalamin.ch, 1 vitalchoice.com, 1 @@ -148600,7 +147327,7 @@ viveportal.com, 1 viveras.ch, 1 viveremediglia.tk, 1 viverse.com, 1 -viverstp.net, 1 +viverstp.net, 0 vivesaludableconomnilife.com, 1 vivetoluca.com, 1 vivezlaromate.com, 1 @@ -148768,7 +147495,6 @@ vm88.top, 0 vmagadane.tk, 1 vmath.my.id, 1 vmautorajkot.com, 1 -vmaxleclub.com, 1 vmc.co.id, 1 vmccnc.com, 1 vmconnected.co.uk, 1 @@ -148861,7 +147587,6 @@ vodix.nl, 1 vodpay.com, 1 vodpay.net, 1 vodpay.org, 1 -voeding-en-fitness.nl, 1 voetbalclubinfo.tk, 1 voetbalforum.tk, 1 voetbalindestad.be, 1 @@ -148948,10 +147673,15 @@ volatiliza.ga, 1 volatimer.com, 1 volcain.io, 1 volcanconcretos.com, 1 +volcano-kazan.ru, 1 +volcano-spb.ru, 1 volcano-ug.ru, 1 +volcano-vts.ru, 1 +volcano-x.ru, 1 volcano.lt, 1 volcano24.ru, 1 volcano75.ru, 1 +volcanov.ru, 1 volchara.tk, 1 volebnipruzkum.eu, 1 volga.us, 0 @@ -149014,7 +147744,6 @@ voltainsite.com, 1 voltarengelprice.tk, 1 voltarengeneric.tk, 1 voltcloud.net, 1 -voltekka.com.au, 1 voltfloyd.com, 1 volthemes.com, 1 voltiac.ml, 1 @@ -149039,6 +147768,7 @@ vommu.be, 1 vomsee.eu, 1 von-haselberg.de, 1 vonauw.com, 0 +vonborstelboerner.de, 1 vonckers.tk, 1 voncurr.com, 1 vondenstein.com, 1 @@ -149310,8 +148040,9 @@ vremyachko.tk, 1 vremyapervyih-hd.tk, 1 vresonline.gr, 1 vresportal.co.uk, 1 -vretmaskin.se, 0 vrfoodchannel.com, 1 +vrg-gruppe.de, 1 +vrg.de, 1 vrgamecritic.com, 1 vrh.net.au, 1 vriendenkring-klassiekers.tk, 1 @@ -149340,8 +148071,6 @@ vrostove.tk, 1 vrp.moe, 0 vrre.ag, 1 vrrebank.info, 1 -vrsgames.com.mx, 0 -vrsmash.com, 1 vrsystem.com.br, 0 vrtak-cz.net, 0 vrtidaho.gov, 1 @@ -149373,7 +148102,6 @@ vse-bolezni.tk, 1 vse-dlya-fermera.tk, 1 vse-dlya-jinok.tk, 1 vse-dlya-texniki.tk, 1 -vse-dostavki.ru, 1 vse-novosti.tk, 1 vse-potolki.ml, 1 vse-prosto.tk, 1 @@ -149395,12 +148123,11 @@ vsestoki.com, 0 vsevkusno.tk, 1 vsevolod.tk, 1 vsgcommunity.nl, 1 -vsgd.co, 1 vshipit.com, 1 -vshop.ir, 1 vsimosvita.com, 1 vsl-defi.ch, 0 vsl.de, 1 +vsmcomunicacao.com.br, 1 vsoflavors.com, 1 vsolovev.com, 1 vsolvit.com, 1 @@ -149425,7 +148152,6 @@ vtbs.moe, 1 vtcourts.gov, 1 vtech.com, 1 vtescebu.com, 1 -vtexpayments.com.br, 1 vtipe-vylez.cz, 0 vtivision.com, 1 vtjud.gov, 1 @@ -149449,7 +148175,6 @@ vtwonen.nl, 1 vtwonenendesignbeurs.nl, 1 vuagym.com, 1 vuakhuyenmai.vn, 1 -vuasach.net, 1 vuath.com, 1 vucdn.com, 1 vue-sur-mer.com, 1 @@ -149568,7 +148293,6 @@ vwp.su, 1 vwpartsinternational.com, 1 vwpi.co, 1 vwsaigon.vn, 0 -vwsoft.de, 1 vwt-event.nl, 1 vww-8522.com, 1 vx.hn, 1 @@ -149662,7 +148386,6 @@ w3ctag.com, 1 w3ctag.org, 1 w3d.io, 1 w3layouts.com, 1 -w3media.lk, 1 w3n14izy.cf, 1 w3n14izy.ga, 1 w3n14izy.gq, 1 @@ -149781,11 +148504,11 @@ wafflemakers.ca, 1 wafni.com, 1 wagcenter.com, 1 wage-feeg.gc.ca, 1 -wagepoint.com, 1 wagesweldandfab.com, 1 wageverify.com, 1 waggybytes.com, 1 wagn3r.de, 1 +wagnervineyards.com, 1 wagspuzzle.space, 1 waguramaurice.cf, 1 wahay.org, 1 @@ -149891,7 +148614,6 @@ wallaralogistics.com.au, 1 wallartista.com, 1 wallbanksweb.net, 1 wallcs.eu, 1 -walldisplaysapp.com, 1 wallduck.com, 1 wallendair.com, 1 wallers.com, 1 @@ -149912,7 +148634,6 @@ walliscreek.com.au, 1 wallix.com, 1 wallmanderstd.se, 1 wallmarketing.cz, 1 -wallmounttvinstallation.com, 1 wallners.se, 1 wallnj.gov, 1 wallnot.dk, 1 @@ -149923,8 +148644,6 @@ wallpaperup.com, 1 wallrgb.com, 1 walls.io, 1 wallsauce.com, 1 -wallstreetinsanity.com, 1 -wallstreetmojo.com, 1 walltech.tk, 1 walltime.info, 1 wallumai.com.au, 1 @@ -149948,6 +148667,7 @@ walter-foerster.de, 1 walter-mooij-jazztrio.tk, 1 walter.lc, 1 waltercedric.com, 0 +waltermulders.be, 1 walterswholesale.com, 1 waltherarms.com, 1 waltravis.com, 1 @@ -150313,7 +149033,7 @@ watfordjc.uk, 1 wathory.com, 1 watisleukemie.tk, 1 watismijnbandenspanning.nl, 1 -watlam.com, 1 +watlam.com, 0 watongaok.gov, 1 watoo.tech, 1 watsonsurplus.com, 1 @@ -150554,6 +149274,7 @@ weather.gov.mo, 1 weather25.com, 1 weatherguard.com, 1 weathermelon.io, 1 +weathermyway.rocks, 1 weatherproduct.ga, 1 weavabel.com, 0 weavedreams.com, 1 @@ -150649,7 +149370,7 @@ webapky.cz, 1 webappky.cz, 1 webapplay.com, 1 webappperformance.com, 1 -webapps-conception.fr, 1 +webapps-conception.fr, 0 webark.hu, 1 webart-factory.de, 1 webartex.ru, 1 @@ -150723,6 +149444,7 @@ webdesignlabor.ch, 1 webdesignplay.com, 1 webdesignplayground.io, 1 webdesignrodgau.de, 1 +webdesignsyourway.net, 1 webdev-cw.me, 1 webdev-cw.tk, 1 webdev.solutions, 1 @@ -150897,6 +149619,7 @@ webnexty.com, 1 webnoob.net, 1 webo.agency, 1 webo.pl, 1 +weboffice.ro, 1 webofisin.com, 1 weboflies.tk, 1 webofthingsmarwane.xyz, 1 @@ -150938,7 +149661,6 @@ webranko.tk, 1 webrebels.org, 0 webregie.de, 1 webregion.tk, 1 -webrentcars.com, 1 webrepresalia.tk, 1 webringpeopletogether.com.au, 1 webs4all.ro, 0 @@ -150951,7 +149673,6 @@ websectools.com, 1 webseitendesigner.com, 0 webseitenserver.com, 0 webserverindia.com, 1 -websgroup.org, 1 webshaped.de, 1 webshipper.com, 1 webshop.nl, 1 @@ -151170,6 +149891,7 @@ weepycat.com, 1 weerda.fr, 1 weernieuws.info, 1 weerstationgiethoorn.nl, 1 +weerstatistieken.nl, 1 weetalksls.com, 1 weethet.nl, 1 weetix.fr, 1 @@ -151205,14 +149927,12 @@ weibohan.com, 1 weibomiaopai.com, 1 weideheuvel.org, 1 weidmannfibertechnology.com, 0 -weien.org, 1 weig-karton.de, 1 weighed.ga, 1 weightlift.ml, 1 weightlosseasy.cf, 1 weightlossoutcome.com, 1 weightprogram.cf, 1 -weihnachten-schenken.de, 1 weihua.life, 1 weikai.net, 1 weike.tk, 1 @@ -151371,7 +150091,6 @@ wendy-david.tk, 1 wendydarling.tk, 1 wendys-careers.com, 1 wendysbeautyshop.co.za, 1 -wenge-murphy.com, 1 wenger-shop.ch, 1 wengyep.com, 1 wenhelpdesk.tk, 1 @@ -151457,7 +150176,6 @@ werxa.cz, 1 werxus.eu, 1 weryfikacjapodatnika.pl, 1 wesecom.com, 1 -wesermarsch-bauelemente.de, 1 weserv.nl, 1 wesleyanbank.co.uk, 1 wesleyarcher.com, 1 @@ -151605,8 +150323,6 @@ wevenues.com, 1 wevolver.com, 0 wew881.com, 1 wew882.com, 1 -wewhydrogen.com, 1 -wewin.com, 1 wewin889.com, 1 wewitro.de, 1 weworkjpn.com, 1 @@ -151895,6 +150611,7 @@ whitewatertownshipmi.gov, 1 whiteweb.tk, 1 whitewebhosting.com, 1 whitewinterwolf.com, 1 +whiteyardcottage.com, 1 whitfieldcountyga.gov, 1 whitkirkchurch.org.uk, 0 whitmanarchive.org, 1 @@ -151951,7 +150668,6 @@ whoreofwallstreet.tk, 1 whorepresentsme.us, 1 whosapeach.tk, 1 whosneo.com, 1 -whosting.co.uk, 1 whosts.cn, 1 whosyourdaddy.ml, 1 whowherewhen.net, 1 @@ -152713,7 +151429,6 @@ wise-parenting.com, 1 wise.jobs, 1 wiseadvicetravelling.com, 0 wisebarber.com, 1 -wisebuilders.org, 1 wisecountytx.gov, 1 wisegoldfish.com, 1 wisehome.dk, 1 @@ -152721,7 +151436,7 @@ wiseinternational.org, 1 wiseitguys.com, 1 wiselectures.com.au, 1 wisemans.us, 1 -wisemen.digital, 1 +wisemen.digital, 0 wisemoney.com.vc, 1 wisenederland.nl, 1 wiseradiology.com.au, 1 @@ -152827,7 +151542,6 @@ wizardbouncycastles.co.uk, 1 wizardk.tk, 1 wizardkami.tk, 1 wizardmeow.xin, 1 -wizardofhomes.com, 1 wizardschool.tk, 1 wizardswebs.com, 1 wizathon.com, 1 @@ -152924,7 +151638,7 @@ wns6865.com, 1 wns68666.com, 1 wns6872.com, 1 wnsr3970.com, 1 -wnvtech.com, 1 +wnvtech.com, 0 wnxt.in, 1 wo-ist-elvira.net, 1 wo25.net, 1 @@ -153096,7 +151810,6 @@ wonderhowto.com, 1 wonderkind.de, 1 wonderlab.ml, 1 wonderland-server.net, 1 -wonderland.com.ua, 1 wonderlangkawi.com, 1 wonderleaks.gq, 1 wondermags.com, 1 @@ -153326,7 +152039,6 @@ workinghardinit.work, 1 workingmachine.info, 1 workingnotworking.com, 1 workingproductkeys.info, 1 -workingreels.com, 1 workingtalent.nl, 1 workinnorway.no, 1 workiva.com, 1 @@ -153500,8 +152212,6 @@ worldwideradiosummit.com, 1 worldwidescience.org, 1 worldwidessl.net, 1 worldwinesweb.be, 1 -worley.com, 1 -worleyparsons.com, 1 worlich.tk, 1 wormate.io, 1 wormburners.tk, 1 @@ -153521,6 +152231,7 @@ wort-suchen.de, 1 wortdestages.tk, 1 worthcountyiowa.gov, 1 worthenind.com, 1 +worthingtonindustries.com, 0 worthless.company, 1 worthlessingratitudecq.cf, 1 worthlessingratitudecq.gq, 1 @@ -153611,7 +152322,6 @@ wp-stack.pro, 1 wp-tao.com, 1 wp-webagentur.de, 1 wp2static.com, 1 -wp3.ca, 1 wpac.de, 1 wpandup.org, 1 wpautolistings.com, 1 @@ -153667,6 +152377,7 @@ wplistings.pro, 1 wpmafias.com, 1 wpmatik.com, 1 wpmeer.com, 1 +wpmeetup-berlin.de, 1 wpmet.com, 1 wpml.org, 1 wpmu-tutorials.de, 1 @@ -153705,6 +152416,7 @@ wptv.com, 1 wpunited.com, 1 wpuse.ru, 1 wpwebshop.com, 1 +wpwebtools.com, 1 wq.ro, 1 wqaw3.tk, 1 wr.su, 1 @@ -153779,7 +152491,6 @@ wrm.sr, 1 wrmea.org, 1 wrmh343.org, 1 wrnck.cloud, 1 -wrnrw.com, 1 wroclawguide.com, 1 wrong.wang, 0 wrozbyonline.pl, 1 @@ -153814,7 +152525,6 @@ wsldp.com, 1 wsm-naramowice.pl, 1 wsn.com, 1 wso01.com, 1 -wsodownloads.io, 1 wsparcie.gov.pl, 1 wsrc.tk, 1 wsrn.de, 1 @@ -153904,6 +152614,7 @@ wundertraining.com.au, 1 wundi.net, 1 wunschpreisauto.de, 1 wunschzettel.de, 1 +wuoppy.com, 1 wuppertal-2018.de, 0 wuppertaler-frettchensitterin.tk, 1 wurm-sb.de, 0 @@ -153917,7 +152628,6 @@ wushka.com.au, 1 wusu.tk, 1 wuw.moe, 1 wuxian.ml, 0 -wuy.me, 1 wuya.eu.org, 1 wuyifan.ga, 1 wuyuan.io, 1 @@ -153953,7 +152663,6 @@ wwads.cn, 1 wwbsb.xyz, 1 wwc.ren, 1 wwcowa.gov, 1 -wwcut.com, 1 wwe.to, 1 wwgc2011.se, 1 wwilogistics.com, 1 @@ -154126,7 +152835,6 @@ wycoreconstruction.com, 1 wyczaruj.pl, 1 wyday.com, 1 wydmy.com.pl, 1 -wygadani.online, 1 wygibanki.pl, 1 wygodnie.pl, 1 wykedways.com, 1 @@ -154167,7 +152875,6 @@ wyydsb.com, 1 wyydsb.xin, 1 wyzj.tv, 1 wyzl.cc, 1 -wyzphoto.nl, 1 wyzwaniemilosci.com, 1 wz.lviv.ua, 1 wz.my, 0 @@ -154194,7 +152901,6 @@ x-team.co.il, 1 x-way.org, 1 x.io, 1 x.sb, 1 -x.st, 0 x001.org, 1 x00228.com, 1 x00701.com, 1 @@ -154240,7 +152946,7 @@ x59988.com, 0 x5x.host, 1 x6.nl, 1 x61.sh, 1 -x64.onl, 0 +x64.onl, 1 x64architecture.com, 1 x6729.co, 1 x6957.co, 1 @@ -154313,7 +153019,6 @@ xavier.is, 1 xavierarroyo.tk, 1 xaviermalisse.tk, 1 xavio-design.com, 1 -xavio.in, 1 xavy.fr, 1 xaxax.ru, 1 xayah.net, 1 @@ -154560,7 +153265,6 @@ xgreatben.blog, 1 xgys.net, 0 xgzepto.cn, 1 xh.ax, 1 -xh.nu, 0 xh7eee.com, 1 xhacker.com, 1 xhamiadituria.com, 1 @@ -154575,7 +153279,6 @@ xi.ht, 1 xia.com, 1 xia.de, 1 xia100.xyz, 1 -xiahdeh.com, 1 xiai.cf, 1 xiai.ga, 1 xiai.ml, 1 @@ -154864,7 +153567,6 @@ xn----7sbagi4akcjwfceu2aoi5e0eh.xn--p1ai, 1 xn----7sbarcdvrtr1be.org, 1 xn----7sbbagp2bcfwdeee1afm.xn--p1ai, 1 xn----7sbbak4cyaoedjf3m.xn--p1ai, 1 -xn----7sbbfsshjvgyde8g3c.xn--p1ai, 1 xn----7sbbgbr0arxb4a4exa.com.ua, 1 xn----7sbbhzfbdo6dnf.tk, 1 xn----7sbbncaddj9a9b6am9p.tk, 1 @@ -154878,7 +153580,6 @@ xn----7sbmucgqdbgwwc5e9b.xn--p1ai, 1 xn----8hcdn2ankm1bfq.com, 1 xn----8sbadsuaby8bb4a7cwh.xn--p1ai, 1 xn----8sbdo7cb0b.xn--p1ai, 1 -xn----8sbfkobhgmxahfmmhe8b8c6ff.xn--p1ai, 1 xn----8sbggtw.xn--p1ai, 0 xn----dtbfemantkhdczc.tk, 1 xn----dtbfemmqjdddczc.tk, 1 @@ -154910,6 +153611,7 @@ xn--1yst51avkr.ga, 1 xn--1yst51avkr.xn--6qq986b3xl, 1 xn--230ap0xpa.com, 1 xn--24-6kc5agehpdf5a.xn--p1ai, 1 +xn--24-6kch4bfqee.xn--p1ai, 1 xn--24-glcha1cjdmf1dye.xn--p1ai, 1 xn--24-glcia8dc.xn--p1ai, 1 xn--2sxs9ol7o.com, 1 @@ -154966,7 +153668,6 @@ xn--80aaagbtu3bfbullc1c.xn--80asehdb, 1 xn--80aaaptltzqd.tk, 1 xn--80aacgbiy5akmx.xn--e1a4c, 1 xn--80aae7aeoh.xn--p1ai, 1 -xn--80aafaxhj3c.xn--p1ai, 1 xn--80aahvz2a9a.xn--p1acf, 1 xn--80aanbkcescrdedmxzcl4pmc.xn--p1acf, 1 xn--80aapmgginxs3d.xn--p1ai, 1 @@ -155092,7 +153793,6 @@ xn--crystal-9e7ua.icu, 1 xn--cysy13an3a5z7c.xyz, 1 xn--d1aca2a5al.tk, 1 xn--d1acfdr6h.com.ua, 1 -xn--d1acj9c.xn--90ais, 1 xn--d1acmf9g.xn--p1ai, 1 xn--d1aczdsdn4d.tk, 1 xn--d1afcjuch.xn--p1ai, 1 @@ -155127,6 +153827,7 @@ xn--e1aajkmzd.xn--p1ai, 1 xn--e1adlfhcdo7h.xn--p1ai, 1 xn--e1afggpjhk3b1e.xn--p1ai, 1 xn--e1agokg6a9a.tk, 1 +xn--e1aoahhqgn.xn--p1ai, 1 xn--e1aoddhq.gq, 1 xn--e1awbbf4g.xn--p1ai, 1 xn--e1tvpw18d.com, 1 @@ -155179,7 +153880,6 @@ xn--h-1ga.net, 1 xn--h1aaahdlb4aki4h.xn--p1ai, 1 xn--h1aaakmzd.xn--p1ai, 1 xn--h1aarew7ct.tk, 1 -xn--h1ahbcdb8g.xn--p1ai, 1 xn--h1aifgllz.xn--p1ai, 1 xn--h7t906ca.xn--fiqs8s, 1 xn--h7t906ca.xn--fiqz9s, 1 @@ -155231,7 +153931,6 @@ xn--ll-yka.de, 1 xn--lna-2000-9za.nu, 1 xn--lna-4000-9za.nu, 1 xn--locaaomoema-p9a.com.br, 1 -xn--lodhs1ad.xn--node, 1 xn--losolivareos-jhb.com, 1 xn--love-un4c7e0d4a.com, 1 xn--lrepenger-g3a.no, 1 @@ -155296,7 +153995,6 @@ xn--okra.xn--6qq986b3xl, 1 xn--p2v.xn--fiqs8s, 1 xn--p2v.xn--fiqz9s, 1 xn--p3t555glxhnwa.com, 1 -xn--p3tr80ecuhswd.com, 1 xn--p8j9a0d9c9a.xn--q9jyb4c, 1 xn--pascal-klsch-cjb.de, 1 xn--patga-p4a.ga, 1 @@ -155460,7 +154158,6 @@ xotika.tv, 1 xoutpost.com, 1 xoxo.news, 1 xp-ochrona.pl, 1 -xp.ht, 1 xp.nsupdate.info, 1 xpd.se, 1 xpenology-fr.net, 1 @@ -155531,6 +154228,7 @@ xr5exchange.com, 1 xrayreview.ml, 1 xrbox.me, 1 xrdd.de, 1 +xreverseporn.com, 1 xrg.cz, 1 xrippedhd.com, 1 xrism.ro, 1 @@ -155829,7 +154527,6 @@ y09a.com, 0 y09app.com, 0 y09app.vip, 0 y09j.com, 0 -y0bet.com, 1 y11n.net, 0 y2bet.com, 1 y2k22.com, 1 @@ -155954,7 +154651,6 @@ ya-radio.tk, 1 ya-stroynaya.tk, 1 ya-zdorova.tk, 1 ya.mk, 1 -yaateens.org, 1 yaay.com.br, 1 yaay.today, 1 yaazhtech.com, 1 @@ -156137,7 +154833,6 @@ yapmaz.com, 1 yapper.fr, 1 yappy.com, 1 yappy.media, 1 -yaraab.my.id, 1 yarcom.ru, 0 yardandgardenguru.com, 1 yardesign.tk, 1 @@ -156226,7 +154921,6 @@ ybr.com, 1 ybresson.com, 1 ybrfrance.fr, 1 ybscareers.co.uk, 1 -ybsul.com, 1 ybti.net, 1 ybvip789.com, 0 ybzhao.com, 1 @@ -156242,6 +154936,7 @@ ycl.org.uk, 1 yclan.net, 1 ycnrg.org, 1 ycnxp.com, 1 +ycodendauteradio.net, 1 ycsgo.com, 0 ycylf.cc, 1 yd.io, 1 @@ -156439,7 +155134,6 @@ yiff.media, 1 yiff.rest, 1 yiff.rocks, 1 yiff.supply, 1 -yifysubtitles.ws, 1 yigelangzi.com, 1 yigit.shop, 1 yiguan.me, 1 @@ -156583,7 +155277,6 @@ yogunet.de, 1 yohanesmario.com, 1 yohannes.tk, 1 yoim.cc, 1 -yoitoko.city, 1 yoitsu.moe, 1 yoitsu.org, 1 yokaiispirit.ddns.net, 1 @@ -156629,9 +155322,7 @@ yooooex.com, 1 yoopies.fr, 1 yooptopian.com, 0 yoozik.io, 1 -yooznet.com, 1 yopers.com, 0 -yoplait.com, 1 yopmail.com, 1 yopmail.net, 1 yoppoy.com, 1 @@ -156963,7 +155654,6 @@ ypea.info, 1 ypfr.fr, 1 ypgnews.tk, 1 ypid.de, 1 -yplanapp.com, 1 ypopovych.tk, 1 yporti.net, 1 ypse.com.br, 1 @@ -157113,13 +155803,12 @@ yunjishou.pro, 1 yunloc.com, 1 yunnet.ru, 1 yunqueradehenares.tk, 1 -yuntong.tw, 0 -yunzhu.li, 0 +yunzhu.li, 1 yupug.com, 1 yupulse.be, 1 yuqi.me, 1 yura.cf, 1 -yuriboat.cn, 1 +yuriboat.cn, 0 yuricarlenzoli.it, 1 yurikirin.me, 1 yuriland.xyz, 1 @@ -157169,7 +155858,6 @@ yveslegendre.fr, 0 yvesx.com, 1 yveszarkaconsultant.fr, 1 yvettextreme.com, 1 -yvonnetake.nl, 1 yvonnethomet.ch, 1 yvonnewilhelmi.com, 1 yw.com, 1 @@ -157230,7 +155918,6 @@ yzimroni.net, 1 yzy6666.com, 1 yzydo.com, 0 yzyweb.cn, 1 -yzzy.cc, 0 z-cert.nl, 1 z-coder.com, 0 z-e.eu, 1 @@ -157436,7 +156123,6 @@ zahnarzt-neudecker.de, 1 zahnarzt.se, 1 zahnarztpraxis-schaerding.at, 1 zahnarztpraxis-simone-koch.de, 1 -zahnraddruckerei.de, 1 zahrowski.com, 1 zaija.tk, 1 zaim-best.ml, 1 @@ -157574,7 +156260,7 @@ zap-mag.ru, 1 zapamini.ml, 1 zaparoh.com, 1 zapaska.tk, 1 -zapatilla.com.es, 1 +zapatilla.com.es, 0 zapier-staging.com, 1 zapier.com, 1 zaplano.tk, 1 @@ -157678,7 +156364,6 @@ zbetcheck.in, 1 zbib.org, 1 zbrain.ml, 1 zbrane-doplnky.cz, 1 -zbranetlapak.cz, 1 zbrsk.ru, 1 zbsj.pl, 1 zbuilderz-lb.com, 1 @@ -157688,7 +156373,6 @@ zbynekuher.cz, 1 zcarot.com, 1 zcarrot.com, 1 zcb.fr, 1 -zcdtk.com, 1 zcode.tk, 1 zcompany.ga, 1 zcompany.tk, 1 @@ -157706,7 +156390,6 @@ zd236.com, 1 zd273.com, 1 zd275.com, 1 zd280.com, 1 -zd297.com, 1 zd302.com, 1 zd303.com, 1 zd307.com, 1 @@ -157961,7 +156644,6 @@ zerium.ml, 1 zerknij.tv, 1 zerm.eu, 1 zerm.link, 1 -zero-0.org, 1 zero-knigi.ml, 1 zero-link.com, 1 zero-stress.net, 1 @@ -158103,6 +156785,7 @@ zhaodao.ai, 1 zhaoeq.com, 1 zhaofeng.li, 0 zhaohanman.com, 1 +zhaojin97.cn, 0 zhaopage.com, 1 zhaostephen.com, 1 zhaoxixiangban.cc, 1 @@ -158261,7 +156944,6 @@ zion-craft.tk, 1 zionaesthetics.com.sg, 1 ziondrive.com.br, 1 zionladderp.com, 1 -zionnationalpark.net, 1 zionsvillelocksmiths.com, 1 zip, 1 zip4.pl, 1 @@ -158283,7 +156965,6 @@ zircly.com, 1 zireon.tk, 1 zirka24.net, 1 ziroh.be, 1 -ziron.com, 1 ziroux.net, 1 zirrka.de, 1 zirveyazilim.net, 1 @@ -158393,10 +157074,7 @@ zlypi.com, 1 zman.co.il, 1 zmarta.de, 1 zmarta.dk, 1 -zmarta.fi, 1 -zmarta.no, 1 zmarta.org, 1 -zmarta.se, 1 zmartagroup.com, 1 zmartagroup.fi, 1 zmartagroup.no, 1 @@ -158558,7 +157236,6 @@ zongzi.zone, 1 zonky.cz, 1 zonky.de, 1 zonneglossis.tk, 1 -zonnenberg.de, 1 zonnigzieuwent.nl, 1 zontractors.com, 1 zoo-dog.ru, 1 @@ -158675,7 +157352,6 @@ zrs-meissen.de, 1 zry.io, 1 zs6688.cc, 0 zsaqwq.com, 1 -zsbd.xyz, 0 zscaler.es, 1 zscales.com, 0 zsdublovice.cz, 1 @@ -158822,6 +157498,7 @@ zxssl.com, 0 zxtcode.com, 1 zy.md, 1 zy.si, 1 +zybbo.com, 0 zycao.com, 0 zycie.news, 1 zyciedirect.pl, 1 @@ -158843,7 +157520,6 @@ zylo.com, 1 zymewire.com, 1 zymmm.com, 1 zyno.space, 1 -zypern-firma.com, 1 zypernreisen.com, 1 zypr.pw, 1 zyrex.eu.org, 1 diff --git a/security/manager/ssl/tests/unit/test_self_signed_certs.js b/security/manager/ssl/tests/unit/test_self_signed_certs.js index 662cd597144280f8d1c54aa0732202a91a32ee2e..ef0a38f9bce28c2efc44f8f01f1035d9f4552905 100644 --- a/security/manager/ssl/tests/unit/test_self_signed_certs.js +++ b/security/manager/ssl/tests/unit/test_self_signed_certs.js @@ -23,7 +23,7 @@ // -q secp256r1 -x -k ec -z <(date +%s) -1 -2 -n cert$num; sleep 2; // done -add_task(async function run_test_no_overlong_path_building() { +add_task(async function test_no_overlong_path_building() { let profile = do_get_profile(); const CERT_DB_NAME = "cert9.db"; let srcCertDBFile = do_get_file(`test_self_signed_certs/${CERT_DB_NAME}`); @@ -67,3 +67,43 @@ add_task(async function run_test_no_overlong_path_building() { let secondsElapsed = (timeAfter - timeBefore) / 1000; ok(secondsElapsed < 120, "verifications shouldn't take too long"); }); + +add_task(async function test_no_bad_signature() { + // If there are two self-signed CA certificates with the same subject and + // issuer but different keys, where one is trusted, test that using the other + // one as a server certificate doesn't result in a non-overridable "bad + // signature" error but rather a "self-signed cert" error. + let selfSignedCert = constructCertFromFile("test_self_signed_certs/ca1.pem"); + let certDB = Cc["@mozilla.org/security/x509certdb;1"].getService( + Ci.nsIX509CertDB + ); + addCertFromFile(certDB, "test_self_signed_certs/ca2.pem", "CTu,,"); + await checkCertErrorGeneric( + certDB, + selfSignedCert, + MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT, + certificateUsageSSLServer, + false, + "example.com" + ); +}); + +add_task(async function test_no_inadequate_key_usage() { + // If there are two different non-CA, self-signed certificates with the same + // subject and issuer but different keys, test that using one of them as a + // server certificate doesn't result in a non-overridable "inadequate key + // usage" error but rather a "self-signed cert" error. + let selfSignedCert = constructCertFromFile("test_self_signed_certs/ee1.pem"); + let certDB = Cc["@mozilla.org/security/x509certdb;1"].getService( + Ci.nsIX509CertDB + ); + addCertFromFile(certDB, "test_self_signed_certs/ee2.pem", ",,"); + await checkCertErrorGeneric( + certDB, + selfSignedCert, + MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT, + certificateUsageSSLServer, + false, + "example.com" + ); +}); diff --git a/security/manager/ssl/tests/unit/test_self_signed_certs/ca1.pem b/security/manager/ssl/tests/unit/test_self_signed_certs/ca1.pem new file mode 100644 index 0000000000000000000000000000000000000000..49c905eacce955c949d897f7c2803a4b7ea504dc --- /dev/null +++ b/security/manager/ssl/tests/unit/test_self_signed_certs/ca1.pem @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE----- +MIICzjCCAbagAwIBAgIBATANBgkqhkiG9w0BAQsFADAZMRcwFQYDVQQDDA5TZWxm +LVNpZ25lZCBDQTAiGA8yMDIxMTEyNzAwMDAwMFoYDzIwMjQwMjA1MDAwMDAwWjAZ +MRcwFQYDVQQDDA5TZWxmLVNpZ25lZCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBALqIUahEjhbWQf1utogGNhA9PBPZ6uQ1SrTs9WhXbCR7wcclqODY +H72xnAabbhqG8mvir1p1a2pkcQh6pVqnRYf3HNUknAJ+zUP8HmnQOCApk6sgw0nk +27lMwmtsDu0Vgg/xfq1pGrHTAjqLKkHup3DgDw2N/WYLK7AkkqR9uYhheZCxV5A9 +0jvF4LhIH6g304hD7ycW2FW3ZlqqfgKQLzp7EIAGJMwcbJetlmFbt+KWEsB1MaMM +kd20yvf8rR0l0wnvuRcOp2jhs3svIm9p47SKlWEd7ibWJZ2rkQhONsscJAQsvxaL +L+Xxj5kXMbiz/kkj+nJRxDHVA6zaGAo17Y0CAwEAAaMdMBswDAYDVR0TBAUwAwEB +/zALBgNVHQ8EBAMCAQYwDQYJKoZIhvcNAQELBQADggEBAGYbweuY4SItzbgVeI2G +EvJKGbHGlPdB/pYA8j02AIajr8zY79b/mcuPmGmBJHXmmQc9ipV3QnVO3IYjKZwo +HEAR7duowBrB36B3MXjelaruYwno2qw0+duiz0OLpo0DOstcMDIs2UiSoNTZ1wue ++tmrNlnWWC7V7hTLZZ4Z7v7bi55G0OviCNOdW+EBi9VoQBGJLxZFcW9uE//mBCNx +nKANNdb4ube7ulIfox/pQ1+yE+ddY/MfQHd67oX4wPNRfHAePT4vvJkUWXiXap21 +gdkAUbbwz0r1mDzvvKmVauT7N5+m2Zj6b3wCBvtITuD4zi/og61o6xyQ52DTYu4M +hPk= +-----END CERTIFICATE----- diff --git a/security/manager/ssl/tests/unit/test_self_signed_certs/ca1.pem.certspec b/security/manager/ssl/tests/unit/test_self_signed_certs/ca1.pem.certspec new file mode 100644 index 0000000000000000000000000000000000000000..97bc2d4ad18c3c8593fe30f700f233920393d9a0 --- /dev/null +++ b/security/manager/ssl/tests/unit/test_self_signed_certs/ca1.pem.certspec @@ -0,0 +1,5 @@ +issuer:Self-Signed CA +subject:Self-Signed CA +serialNumber:1 +extension:basicConstraints:cA, +extension:keyUsage:cRLSign,keyCertSign diff --git a/security/manager/ssl/tests/unit/test_self_signed_certs/ca2.pem b/security/manager/ssl/tests/unit/test_self_signed_certs/ca2.pem new file mode 100644 index 0000000000000000000000000000000000000000..7efca5da17ebc6966e32bb2ea9024725d6dadcb8 --- /dev/null +++ b/security/manager/ssl/tests/unit/test_self_signed_certs/ca2.pem @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE----- +MIICzjCCAbagAwIBAgIBAjANBgkqhkiG9w0BAQsFADAZMRcwFQYDVQQDDA5TZWxm +LVNpZ25lZCBDQTAiGA8yMDIxMTEyNzAwMDAwMFoYDzIwMjQwMjA1MDAwMDAwWjAZ +MRcwFQYDVQQDDA5TZWxmLVNpZ25lZCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAMF1xlJmCZ93CCpnkfG4dsN/XOU4sGxKzSKxy9RvplraKt1ByMJJ +isSjs8H2FIf0G2mJQb2ApRw8EgJExYSkxEgzBeUTjAEGzwi+moYnYLrmoujzbyPF +2YMTud+vN4NF2s5R1Nbc0qbLPMcG680wcOyYzOQKpZHXKVp/ccW+ZmkdKy3+yElE +WQvFo+pJ/ZOx11NAXxdzdpmVhmYlR5ftQmkIiAgRQiBpmIpD/uSM5oeB3SK2ppzS +g3UTH5MrEozihvp9JRwGKtJ+8Bbxh83VToMrNbiTD3S6kKqLx2FnJCqx/W1iFA0Y +xMC4xo/DdIRXMkrX3obmVS8dHhkdcSFo07sCAwEAAaMdMBswDAYDVR0TBAUwAwEB +/zALBgNVHQ8EBAMCAQYwDQYJKoZIhvcNAQELBQADggEBAL5sqCV7HbsLEO3Az1n4 +ulmzaJHdyrae6l46Fws849G65O2suhBS55ENGFLmpof12WOXSvYxRf6swswYnm6S +oTcjg/A5gVfmRYl/wMR0qBZQV1stLmOsnMqiVqB5BSB1szAv/ItAo2DLtH+6FDaW +1xl0bcJsRxhtKqK9ST9Jr+HLsGZOGlA1r5++PZXaa+OA+dARcjDmNnJUFZYR0/vq +gMc2MHl4/4XvrPZvfbCV3Alzy7UDq05/9EodR+DlACs/LWExHi8nTW0ZtwkfsbHH +cfRw7xa3KInaCVYVs3jXzsFNNxUYKCmvm0cojdf3S9Va9/4z555XIK/a30kCFBbf +hJc= +-----END CERTIFICATE----- diff --git a/security/manager/ssl/tests/unit/test_self_signed_certs/ca2.pem.certspec b/security/manager/ssl/tests/unit/test_self_signed_certs/ca2.pem.certspec new file mode 100644 index 0000000000000000000000000000000000000000..f827239d2a3b88f44933c189666eb9c569b0df8c --- /dev/null +++ b/security/manager/ssl/tests/unit/test_self_signed_certs/ca2.pem.certspec @@ -0,0 +1,7 @@ +issuer:Self-Signed CA +subject:Self-Signed CA +serialNumber:2 +issuerKey:alternate +subjectKey:alternate +extension:basicConstraints:cA, +extension:keyUsage:cRLSign,keyCertSign diff --git a/security/manager/ssl/tests/unit/test_self_signed_certs/ee1.pem b/security/manager/ssl/tests/unit/test_self_signed_certs/ee1.pem new file mode 100644 index 0000000000000000000000000000000000000000..d61091216de0d4003e078addf887bc6123903dea --- /dev/null +++ b/security/manager/ssl/tests/unit/test_self_signed_certs/ee1.pem @@ -0,0 +1,17 @@ +-----BEGIN CERTIFICATE----- +MIICszCCAZugAwIBAgIBATANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDDBBTZWxm +LVNpZ25lZCBDZXJ0MCIYDzIwMjExMTI3MDAwMDAwWhgPMjAyNDAyMDUwMDAwMDBa +MBsxGTAXBgNVBAMMEFNlbGYtU2lnbmVkIENlcnQwggEiMA0GCSqGSIb3DQEBAQUA +A4IBDwAwggEKAoIBAQC6iFGoRI4W1kH9braIBjYQPTwT2erkNUq07PVoV2wke8HH +Jajg2B+9sZwGm24ahvJr4q9adWtqZHEIeqVap0WH9xzVJJwCfs1D/B5p0DggKZOr +IMNJ5Nu5TMJrbA7tFYIP8X6taRqx0wI6iypB7qdw4A8Njf1mCyuwJJKkfbmIYXmQ +sVeQPdI7xeC4SB+oN9OIQ+8nFthVt2Zaqn4CkC86exCABiTMHGyXrZZhW7filhLA +dTGjDJHdtMr3/K0dJdMJ77kXDqdo4bN7LyJvaeO0ipVhHe4m1iWdq5EITjbLHCQE +LL8Wiy/l8Y+ZFzG4s/5JI/pyUcQx1QOs2hgKNe2NAgMBAAEwDQYJKoZIhvcNAQEL +BQADggEBADHcrQaX6Vw4BP8YDSNQ9dACjWliS6NMIDlG9ZIck2NvnmiDY6yOiENX +G/gOAI4k+Eq6l83ZtE3EEB0ljREzhoUkxuP8w8mKZUflvAxtYh5t1sLmhNnC7YCN +KG2SspKJC2/7nKsxG6s2jvnCqkreeNNH7BdJ2AHwRPEu2UudXrooDh9mgPac0Woa +wx0nT9Kqun7JYMXxro+/837+qvaAhWlFYKglq3PaNMQShBkjRARXpCMV0N5TWNFp +f7MXUoKC/+R+4rRKgln4KTXtkk7Ggn13oBrGPhF3fvVZlP2ySAkTW8Ii58MA24N9 +TNM0MP661fQXHZGVg7EAKcqa2bxKIAY= +-----END CERTIFICATE----- diff --git a/security/manager/ssl/tests/unit/test_self_signed_certs/ee1.pem.certspec b/security/manager/ssl/tests/unit/test_self_signed_certs/ee1.pem.certspec new file mode 100644 index 0000000000000000000000000000000000000000..9582f7b91819db902d0c88220750927473279204 --- /dev/null +++ b/security/manager/ssl/tests/unit/test_self_signed_certs/ee1.pem.certspec @@ -0,0 +1,3 @@ +issuer:Self-Signed Cert +subject:Self-Signed Cert +serialNumber:1 diff --git a/security/manager/ssl/tests/unit/test_self_signed_certs/ee2.pem b/security/manager/ssl/tests/unit/test_self_signed_certs/ee2.pem new file mode 100644 index 0000000000000000000000000000000000000000..1a7ee503686a1a63125ece5dd6bc229f52b4fb0d --- /dev/null +++ b/security/manager/ssl/tests/unit/test_self_signed_certs/ee2.pem @@ -0,0 +1,17 @@ +-----BEGIN CERTIFICATE----- +MIICszCCAZugAwIBAgIBAjANBgkqhkiG9w0BAQsFADAbMRkwFwYDVQQDDBBTZWxm +LVNpZ25lZCBDZXJ0MCIYDzIwMjExMTI3MDAwMDAwWhgPMjAyNDAyMDUwMDAwMDBa +MBsxGTAXBgNVBAMMEFNlbGYtU2lnbmVkIENlcnQwggEiMA0GCSqGSIb3DQEBAQUA +A4IBDwAwggEKAoIBAQDBdcZSZgmfdwgqZ5HxuHbDf1zlOLBsSs0iscvUb6Za2ird +QcjCSYrEo7PB9hSH9BtpiUG9gKUcPBICRMWEpMRIMwXlE4wBBs8IvpqGJ2C65qLo +828jxdmDE7nfrzeDRdrOUdTW3NKmyzzHBuvNMHDsmMzkCqWR1ylaf3HFvmZpHSst +/shJRFkLxaPqSf2TsddTQF8Xc3aZlYZmJUeX7UJpCIgIEUIgaZiKQ/7kjOaHgd0i +tqac0oN1Ex+TKxKM4ob6fSUcBirSfvAW8YfN1U6DKzW4kw90upCqi8dhZyQqsf1t +YhQNGMTAuMaPw3SEVzJK196G5lUvHR4ZHXEhaNO7AgMBAAEwDQYJKoZIhvcNAQEL +BQADggEBAFqvHU0CJMIydbm8TKpLB5eI/gHE6dGxHKDyZlfTeGCGsILl/ejp46VU +Cs+aDmLxyMuNmnsNNoHBa8oTV4jyVRR/zWkibVKM4Fzz1YJclOMVrcxJqhDk1Gcj +og+N29pxG8BwCdNbKLFma6xjIGK7j6mc6kpb+dbURiEI7tPkEW2jGk77xkGM93co +drRMCwsmTt2QTsQDVmpNnd5avfQgguBYy/5/kyvAo6vDQE1Sj7cBg0+YPASzjFR4 +oIfyo+neTITxDfd0QLBSSFa+dIZUGKVF+XKe4FCKLlfVmO/MI7llJilR8RiNcZCh +eX/8OfjNpptiQBydCgKycHcXSVkvWRg= +-----END CERTIFICATE----- diff --git a/security/manager/ssl/tests/unit/test_self_signed_certs/ee2.pem.certspec b/security/manager/ssl/tests/unit/test_self_signed_certs/ee2.pem.certspec new file mode 100644 index 0000000000000000000000000000000000000000..fa45f13078b72b1f60849f7ca4b801de8c2a35cb --- /dev/null +++ b/security/manager/ssl/tests/unit/test_self_signed_certs/ee2.pem.certspec @@ -0,0 +1,5 @@ +issuer:Self-Signed Cert +subject:Self-Signed Cert +serialNumber:2 +issuerKey:alternate +subjectKey:alternate diff --git a/security/nss/TAG-INFO b/security/nss/TAG-INFO index 2288af0f694e1759411a6b45edc076a33fbbe422..a30ff41540d245d77d21190a9a95e5e598cd92c2 100644 --- a/security/nss/TAG-INFO +++ b/security/nss/TAG-INFO @@ -1 +1 @@ -NSS_3_90_RTM \ No newline at end of file +NSS_3_90_1_RTM \ No newline at end of file diff --git a/security/nss/coreconf/coreconf.dep b/security/nss/coreconf/coreconf.dep index 5182f75552c81540c315e8eb17ce933d5f2039b8..590d1bfaeee3f134b616ff41d59c05c9917afa3c 100644 --- a/security/nss/coreconf/coreconf.dep +++ b/security/nss/coreconf/coreconf.dep @@ -10,3 +10,4 @@ */ #error "Do not include this header file." + diff --git a/security/nss/doc/rst/releases/index.rst b/security/nss/doc/rst/releases/index.rst index 85d7a86368ef67ddcc6058e09bf4f6830789e15c..527778a996deb63e188b4d23961c811f75e5a7eb 100644 --- a/security/nss/doc/rst/releases/index.rst +++ b/security/nss/doc/rst/releases/index.rst @@ -8,6 +8,7 @@ Releases :glob: :hidden: + nss_3_90_1.rst nss_3_90_0.rst nss_3_89_1.rst nss_3_89.rst @@ -54,42 +55,13 @@ Releases .. note:: - **NSS 3.90.0 (ESR)** is the latest version of NSS. - Complete release notes are available here: :ref:`mozilla_projects_nss_nss_3_90_0_release_notes` + **NSS 3.90.1 (ESR)** is the latest version of NSS. + Complete release notes are available here: :ref:`mozilla_projects_nss_nss_3_91_0_release_notes` .. container:: - Changes in 3.90.0 included in this release: + Changes in 3.90.1 included in this release: - - Bug 1623338 - ride along: remove a duplicated doc page - - Bug 1623338 - remove a reference to IRC - - Bug 1831983 - clang-format lib/freebl/stubs.c - - Bug 1831983 - Add a constant time select function - - Bug 1774657 - Updating an old dbm with lots of certs with keys to sql results in a database that is slow to access. - - Bug 1830973 - output early build errors by default - - Bug 1804505 - Update the technical constraints for KamuSM - - Bug 1822921 - Add BJCA Global Root CA1 and CA2 root certificates - - Bug 1790763 - Enable default UBSan Checks - - Bug 1786018 - Add explicit handling of zero length records - - Bug 1829391 - Tidy up DTLS ACK Error Handling Path - - Bug 1786018 - Refactor zero length record tests - - Bug 1829112 - Fix compiler warning via correct assert - - Bug 1755267 - run linux tests on nss-t/t-linux-xlarge-gcp - - Bug 1806496 - In FIPS mode, nss should reject RSASSA-PSS salt lengths larger than the output size of the hash function used, or provide an indicator - - Bug 1784163 - Fix reading raw negative numbers - - Bug 1748237 - Repairing unreachable code in clang built with gyp - - Bug 1783647 - Integrate Vale Curve25519 - - Bug 1799468 - Removing unused flags for Hacl* - - Bug 1748237 - Adding a better error message - - Bug 1727555 - Update HACL* till 51a72a953a4ee6f91e63b2816ae5c4e62edf35d6 - - Bug 1782980 - Fall back to the softokn when writing certificate trust - - Bug 1806010 - FIPS-104-3 requires we restart post programmatically - - Bug 1826650 - cmd/ecperf: fix dangling pointer warning on gcc 13 - - Bug 1818766 - Update ACVP dockerfile for compatibility with debian package changes - - Bug 1815796 - Add a CI task for tracking ECCKiila code status, update whitespace in ECCKiila files - - Bug 1819958 - Removed deprecated sprintf function and replaced with snprintf - - Bug 1822076 - fix rst warnings in nss doc - - Bug 1821997 - Fix incorrect pygment style - - Bug 1821292 - Change GYP directive to apply across platforms - - Add libsmime3 abi-check exception for NSS_CMSSignerInfo_GetDigestAlgTag + - Bug 1813401 - regenerate NameConstraints test certificates. + - Bug 1854795 - add OSXSAVE and XCR0 tests to AVX2 detection. \ No newline at end of file diff --git a/security/nss/doc/rst/releases/nss_3_90_1.rst b/security/nss/doc/rst/releases/nss_3_90_1.rst new file mode 100644 index 0000000000000000000000000000000000000000..875e24b11d6572ee43aa92c2f44ec46d9184b511 --- /dev/null +++ b/security/nss/doc/rst/releases/nss_3_90_1.rst @@ -0,0 +1,59 @@ +.. _mozilla_projects_nss_nss_3_90_1_release_notes: + +NSS 3.90.1 release notes +======================== + +`Introduction <#introduction>`__ +-------------------------------- + +.. container:: + + Network Security Services (NSS) 3.90.1 was released on *10th November 2023**. + + +.. _distribution_information: + +`Distribution Information <#distribution_information>`__ +-------------------------------------------------------- + +.. container:: + + The HG tag is NSS_3_90_1_RTM. NSS 3.90.1 requires NSPR 4.35 or newer. + + NSS 3.90.1 source distributions are available on ftp.mozilla.org for secure HTTPS download: + + - Source tarballs: + https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_90_1_RTM/src/ + + Other releases are available :ref:`mozilla_projects_nss_releases`. + +.. _changes_in_nss_3.90.1: + +`Changes in NSS 3.90.1 <#changes_in_nss_3.90.1>`__ +-------------------------------------------------- + +.. container:: + + - Bug 1813401 - regenerate NameConstraints test certificates. + - Bug 1854795 - add OSXSAVE and XCR0 tests to AVX2 detection. + + +`Compatibility <#compatibility>`__ +---------------------------------- + +.. container:: + + NSS 3.90.1 shared libraries are backwards-compatible with all older NSS 3.x shared + libraries. A program linked with older NSS 3.x shared libraries will work with + this new version of the shared libraries without recompiling or + relinking. Furthermore, applications that restrict their use of NSS APIs to the + functions listed in NSS Public Functions will remain compatible with future + versions of the NSS shared libraries. + +`Feedback <#feedback>`__ +------------------------ + +.. container:: + + Bugs discovered should be reported by filing a bug report on + `bugzilla.mozilla.org <https://bugzilla.mozilla.org/enter_bug.cgi?product=NSS>`__ (product NSS). diff --git a/security/nss/lib/freebl/blinit.c b/security/nss/lib/freebl/blinit.c index 28642d91ef4fc80f209ee09811ef54ede92329f4..b8773b063be68881a1c4e9e6a923428c690a33ec 100644 --- a/security/nss/lib/freebl/blinit.c +++ b/security/nss/lib/freebl/blinit.c @@ -47,6 +47,7 @@ static PRBool ppc_crypto_support_ = PR_FALSE; /* * Adapted from the example code in "How to detect New Instruction support in * the 4th generation Intel Core processor family" by Max Locktyukhin. + * https://www.intel.com/content/dam/develop/external/us/en/documents/how-to-detect-new-instruction-support-in-the-4th-generation-intel-core-processor-family.pdf * * XGETBV: * Reads an extended control register (XCR) specified by ECX into EDX:EAX. @@ -112,13 +113,20 @@ CheckX86CPUSupport() aesni_support_ = (PRBool)((ecx & ECX_AESNI) != 0 && disable_hw_aes == NULL); clmul_support_ = (PRBool)((ecx & ECX_CLMUL) != 0 && disable_pclmul == NULL); sha_support_ = (PRBool)((ebx7 & EBX_SHA) != 0 && disable_hw_sha == NULL); - /* For AVX we check AVX, OSXSAVE, and XSAVE - * as well as XMM and YMM state. */ + /* For AVX we ensure that: + * - The AVX, OSXSAVE, and XSAVE bits of ECX from CPUID(EAX=1) are set, and + * - the SSE and AVX state bits of XCR0 are set (check_xcr0_ymm). + */ avx_support_ = (PRBool)((ecx & AVX_BITS) == AVX_BITS) && check_xcr0_ymm() && disable_avx == NULL; - /* For AVX2 we check AVX2, BMI1, BMI2, FMA, MOVBE. - * We do not check for AVX above. */ - avx2_support_ = (PRBool)((ebx7 & AVX2_EBX_BITS) == AVX2_EBX_BITS && + /* For AVX2 we ensure that: + * - AVX is supported, + * - the AVX2, BMI1, and BMI2 bits of EBX from CPUID(EAX=7) are set, and + * - the FMA, and MOVBE bits of ECX from CPUID(EAX=1) are set. + * We do not check for LZCNT support. + */ + avx2_support_ = (PRBool)(avx_support_ == PR_TRUE && + (ebx7 & AVX2_EBX_BITS) == AVX2_EBX_BITS && (ecx & AVX2_ECX_BITS) == AVX2_ECX_BITS && disable_avx2 == NULL); ssse3_support_ = (PRBool)((ecx & ECX_SSSE3) != 0 && diff --git a/security/nss/lib/nss/nss.h b/security/nss/lib/nss/nss.h index 7c6d38e3afe7f94bdbde301dfb3d42001291deb7..f0d8e871bbe47013fabcafd69f7e0de3b2ae5b91 100644 --- a/security/nss/lib/nss/nss.h +++ b/security/nss/lib/nss/nss.h @@ -22,10 +22,10 @@ * The format of the version string should be * "<major version>.<minor version>[.<patch level>[.<build number>]][ <ECC>][ <Beta>]" */ -#define NSS_VERSION "3.90" _NSS_CUSTOMIZED +#define NSS_VERSION "3.90.1" _NSS_CUSTOMIZED #define NSS_VMAJOR 3 #define NSS_VMINOR 90 -#define NSS_VPATCH 0 +#define NSS_VPATCH 1 #define NSS_VBUILD 0 #define NSS_BETA PR_FALSE diff --git a/security/nss/lib/softoken/softkver.h b/security/nss/lib/softoken/softkver.h index 11f2981cb917407934c7b29433f800b2080d685c..b90bf9d251935d5fb483f626f0c227d0d980617e 100644 --- a/security/nss/lib/softoken/softkver.h +++ b/security/nss/lib/softoken/softkver.h @@ -17,10 +17,10 @@ * The format of the version string should be * "<major version>.<minor version>[.<patch level>[.<build number>]][ <ECC>][ <Beta>]" */ -#define SOFTOKEN_VERSION "3.90" SOFTOKEN_ECC_STRING +#define SOFTOKEN_VERSION "3.90.1" SOFTOKEN_ECC_STRING #define SOFTOKEN_VMAJOR 3 #define SOFTOKEN_VMINOR 90 -#define SOFTOKEN_VPATCH 0 +#define SOFTOKEN_VPATCH 1 #define SOFTOKEN_VBUILD 0 #define SOFTOKEN_BETA PR_FALSE diff --git a/security/nss/lib/util/nssutil.h b/security/nss/lib/util/nssutil.h index c1ec0d5935f8e7b849d7866eb1453e1347d49250..f6089b8b5ce4bbdd6014d5336f69c07f81aa9057 100644 --- a/security/nss/lib/util/nssutil.h +++ b/security/nss/lib/util/nssutil.h @@ -19,10 +19,10 @@ * The format of the version string should be * "<major version>.<minor version>[.<patch level>[.<build number>]][ <Beta>]" */ -#define NSSUTIL_VERSION "3.90" +#define NSSUTIL_VERSION "3.90.1" #define NSSUTIL_VMAJOR 3 #define NSSUTIL_VMINOR 90 -#define NSSUTIL_VPATCH 0 +#define NSSUTIL_VPATCH 1 #define NSSUTIL_VBUILD 0 #define NSSUTIL_BETA PR_FALSE diff --git a/security/nss/tests/libpkix/certs/NameConstraints.ca.cert b/security/nss/tests/libpkix/certs/NameConstraints.ca.cert index 6d2e8469dd5565cd2be6e184a713807506fae355..c1bce9e33705d266815963589b0033d472d680dc 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.ca.cert and b/security/nss/tests/libpkix/certs/NameConstraints.ca.cert differ diff --git a/security/nss/tests/libpkix/certs/NameConstraints.dcissallowed.cert b/security/nss/tests/libpkix/certs/NameConstraints.dcissallowed.cert index 539adcfee927bdd583c848eea16281217f5b958a..23641b2909fcc75955fc2c294b38b34c96d6450e 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.dcissallowed.cert and b/security/nss/tests/libpkix/certs/NameConstraints.dcissallowed.cert differ diff --git a/security/nss/tests/libpkix/certs/NameConstraints.dcissblocked.cert b/security/nss/tests/libpkix/certs/NameConstraints.dcissblocked.cert index 28f84919de2e82c0e0334e9da9c35b1c5482311b..6b4ed9495fa7505f6895a5f50ca090694fdc4650 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.dcissblocked.cert and b/security/nss/tests/libpkix/certs/NameConstraints.dcissblocked.cert differ diff --git a/security/nss/tests/libpkix/certs/NameConstraints.dcisscopy.cert b/security/nss/tests/libpkix/certs/NameConstraints.dcisscopy.cert index a3fbd91f3fd4521875fafd981592dd6ea263e2b1..215bcd4e0bf8127c2169150e80d5d5b370fc8101 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.dcisscopy.cert and b/security/nss/tests/libpkix/certs/NameConstraints.dcisscopy.cert differ diff --git a/security/nss/tests/libpkix/certs/NameConstraints.intermediate.cert b/security/nss/tests/libpkix/certs/NameConstraints.intermediate.cert index a310aa1acd189597bb386504888c3bbf2bf334f0..8ecd1eb5a57112a66ba4c8542b3f52ddd517ca3f 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.intermediate.cert and b/security/nss/tests/libpkix/certs/NameConstraints.intermediate.cert differ diff --git a/security/nss/tests/libpkix/certs/NameConstraints.intermediate2.cert b/security/nss/tests/libpkix/certs/NameConstraints.intermediate2.cert index fc4b7c1c1b13e50bceb9e66e6ac3a8e7402e6b16..bd9942fc58a5d71c3ae6253fd59b9b32d97738ff 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.intermediate2.cert and b/security/nss/tests/libpkix/certs/NameConstraints.intermediate2.cert differ diff --git a/security/nss/tests/libpkix/certs/NameConstraints.intermediate3.cert b/security/nss/tests/libpkix/certs/NameConstraints.intermediate3.cert index 051e55e560daa28af0883e70aa6be06d324a4e22..d77da29e9f9e0407ebaf89c70e310e4276448c75 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.intermediate3.cert and b/security/nss/tests/libpkix/certs/NameConstraints.intermediate3.cert differ diff --git a/security/nss/tests/libpkix/certs/NameConstraints.intermediate4.cert b/security/nss/tests/libpkix/certs/NameConstraints.intermediate4.cert index 6e7efd53e3a8cceb376c976a68361fddff4b1ead..5cb406bf4ae0e13c1c4591f8b916f5727dfb027c 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.intermediate4.cert and b/security/nss/tests/libpkix/certs/NameConstraints.intermediate4.cert differ diff --git a/security/nss/tests/libpkix/certs/NameConstraints.intermediate5.cert b/security/nss/tests/libpkix/certs/NameConstraints.intermediate5.cert index 823eccc05435bb5a0a07d4968b767cda82a11489..dec259c07565ec53f9ce74f9fb7cedb092e74df5 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.intermediate5.cert and b/security/nss/tests/libpkix/certs/NameConstraints.intermediate5.cert differ diff --git a/security/nss/tests/libpkix/certs/NameConstraints.intermediate6.cert b/security/nss/tests/libpkix/certs/NameConstraints.intermediate6.cert index a2f17054ed2db8ca6c764ae24b48be9641837ef7..d759e28fa95332cd69b549f86ef0f67f9db065a4 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.intermediate6.cert and b/security/nss/tests/libpkix/certs/NameConstraints.intermediate6.cert differ diff --git a/security/nss/tests/libpkix/certs/NameConstraints.ncca.cert b/security/nss/tests/libpkix/certs/NameConstraints.ncca.cert index ecb24c7d5006ded15e110714f0cc3c70bdebbfcb..8f6d8c5253b34bec0d0d61bdade4bac51e23ea04 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.ncca.cert and b/security/nss/tests/libpkix/certs/NameConstraints.ncca.cert differ diff --git a/security/nss/tests/libpkix/certs/NameConstraints.server1.cert b/security/nss/tests/libpkix/certs/NameConstraints.server1.cert index 60e8a1c698539c2806b32be68cbf65644fe8bb84..657881a41b50b71254c3a9c45991259dfe66cb29 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.server1.cert and b/security/nss/tests/libpkix/certs/NameConstraints.server1.cert differ diff --git a/security/nss/tests/libpkix/certs/NameConstraints.server10.cert b/security/nss/tests/libpkix/certs/NameConstraints.server10.cert index 21d9e876799ac65ec5deb3c584aee2e9b5cf4ac9..863eab5e5b0cf708a5390eae60af47352c5637b1 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.server10.cert and b/security/nss/tests/libpkix/certs/NameConstraints.server10.cert differ diff --git a/security/nss/tests/libpkix/certs/NameConstraints.server11.cert b/security/nss/tests/libpkix/certs/NameConstraints.server11.cert index c458c8ce73bbe8eec153983fa92ef314bc6d7947..16deb392ee46ea7629e91874197d6010f7397a1a 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.server11.cert and b/security/nss/tests/libpkix/certs/NameConstraints.server11.cert differ diff --git a/security/nss/tests/libpkix/certs/NameConstraints.server12.cert b/security/nss/tests/libpkix/certs/NameConstraints.server12.cert index 1a4e6fec2a9bb5267f6919e27a72ba594dcb0b41..67f9a2c2ce555c4d38a04460ac4011d07623ab90 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.server12.cert and b/security/nss/tests/libpkix/certs/NameConstraints.server12.cert differ diff --git a/security/nss/tests/libpkix/certs/NameConstraints.server13.cert b/security/nss/tests/libpkix/certs/NameConstraints.server13.cert index 8b7295fb28789b1f73ea9cb69488384bec30e2e5..0bf5c7aa2e85ac48f6b1f960a023a1007d51d428 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.server13.cert and b/security/nss/tests/libpkix/certs/NameConstraints.server13.cert differ diff --git a/security/nss/tests/libpkix/certs/NameConstraints.server14.cert b/security/nss/tests/libpkix/certs/NameConstraints.server14.cert index 8a989f996ad6ad5f84d1946d521da448a2608746..487cf68f9ae740a442a5bed2f86fdda8a2b0349d 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.server14.cert and b/security/nss/tests/libpkix/certs/NameConstraints.server14.cert differ diff --git a/security/nss/tests/libpkix/certs/NameConstraints.server15.cert b/security/nss/tests/libpkix/certs/NameConstraints.server15.cert index 69d057c9ad703542fd9b36bd8788aae1b8e8a40d..30ef48f40db57938898e1a3e5134f1d94b7fcfb9 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.server15.cert and b/security/nss/tests/libpkix/certs/NameConstraints.server15.cert differ diff --git a/security/nss/tests/libpkix/certs/NameConstraints.server16.cert b/security/nss/tests/libpkix/certs/NameConstraints.server16.cert index 0b24d7abb5179de92dfa1ea1693f53025037c355..db07f53012802f925463291ab5440b18e0f5450c 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.server16.cert and b/security/nss/tests/libpkix/certs/NameConstraints.server16.cert differ diff --git a/security/nss/tests/libpkix/certs/NameConstraints.server17.cert b/security/nss/tests/libpkix/certs/NameConstraints.server17.cert index 2fc9437cd1bec3c99d2fbc3713ca5a7a5487f4be..56e07fb5495a188c147b7aea1e73de45c728f122 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.server17.cert and b/security/nss/tests/libpkix/certs/NameConstraints.server17.cert differ diff --git a/security/nss/tests/libpkix/certs/NameConstraints.server2.cert b/security/nss/tests/libpkix/certs/NameConstraints.server2.cert index 1c6e5510dd8bfd2dfbcf5c3c20f5245dc7444cbc..3c7ecaf277bb965e124b45a522429f15139a4c56 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.server2.cert and b/security/nss/tests/libpkix/certs/NameConstraints.server2.cert differ diff --git a/security/nss/tests/libpkix/certs/NameConstraints.server3.cert b/security/nss/tests/libpkix/certs/NameConstraints.server3.cert index bd93572ddd17eef4cdae447bb1063dd45fb35771..14e2cc7c190d8b0c94a18b424d46e748d13f77bd 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.server3.cert and b/security/nss/tests/libpkix/certs/NameConstraints.server3.cert differ diff --git a/security/nss/tests/libpkix/certs/NameConstraints.server4.cert b/security/nss/tests/libpkix/certs/NameConstraints.server4.cert index ca9d1b1c327abb8190859bc9c6e36568117b6ac1..155aa4b67b6e8d138cf5268f2dbd0670cddd6cdd 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.server4.cert and b/security/nss/tests/libpkix/certs/NameConstraints.server4.cert differ diff --git a/security/nss/tests/libpkix/certs/NameConstraints.server5.cert b/security/nss/tests/libpkix/certs/NameConstraints.server5.cert index 1798de766455ea33b8be0c1e8a9dd810dcc801f8..d599d6c8eb722e2725498d6c5a56aadb029eca58 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.server5.cert and b/security/nss/tests/libpkix/certs/NameConstraints.server5.cert differ diff --git a/security/nss/tests/libpkix/certs/NameConstraints.server6.cert b/security/nss/tests/libpkix/certs/NameConstraints.server6.cert index 5698f8ebdba62ca9a0fa87bacf2d342cc1634bff..caccebf1f09a779b2759349e1c4d24b47f76fd65 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.server6.cert and b/security/nss/tests/libpkix/certs/NameConstraints.server6.cert differ diff --git a/security/nss/tests/libpkix/certs/NameConstraints.server7.cert b/security/nss/tests/libpkix/certs/NameConstraints.server7.cert index 3cf85d04777a07ab8738b23cbe8e4104a1be5c4e..66bdb5eff3703752859765a772f2130c615764b1 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.server7.cert and b/security/nss/tests/libpkix/certs/NameConstraints.server7.cert differ diff --git a/security/nss/tests/libpkix/certs/NameConstraints.server8.cert b/security/nss/tests/libpkix/certs/NameConstraints.server8.cert index f0694ed0390d4027bee4913d7438c4b2b45d4d3f..6c398ee8a5f7a7cdd4bf294c14c0105491474d47 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.server8.cert and b/security/nss/tests/libpkix/certs/NameConstraints.server8.cert differ diff --git a/security/nss/tests/libpkix/certs/NameConstraints.server9.cert b/security/nss/tests/libpkix/certs/NameConstraints.server9.cert index 517c0ae311a354e6e83d0b805152acef7924b269..998439c1bb3e5df090a3ce3d281a8f32c8dd15fc 100644 Binary files a/security/nss/tests/libpkix/certs/NameConstraints.server9.cert and b/security/nss/tests/libpkix/certs/NameConstraints.server9.cert differ diff --git a/security/nss/tests/libpkix/certs/make-nc b/security/nss/tests/libpkix/certs/make-nc index aaab1edfa2a10c67b22d5e2aa50cc20085c65d8f..b6b0fdaefafe76a69c1065aabed167444ff9d643 100755 --- a/security/nss/tests/libpkix/certs/make-nc +++ b/security/nss/tests/libpkix/certs/make-nc @@ -11,7 +11,7 @@ echo "" > pwfile certutil -d . -N -f pwfile -certutil -S -z noise -g 1024 -d . -n ca -s "CN=NSS Test CA,O=BOGUS NSS,L=Mountain View,ST=California,C=US" -t C,C,C -x -m 1 -w -2 -v 120 -1 -2 -5 <<CERTSCRIPT +certutil -S -z noise -g 1024 -d . -n ca -s "CN=NSS Test CA,O=BOGUS NSS,L=Mountain View,ST=California,C=US" -t C,C,C -x -m 1 -w -2 -v 240 -1 -2 -5 <<CERTSCRIPT 5 6 9 @@ -26,7 +26,7 @@ n n CERTSCRIPT -certutil -S -z noise -g 1024 -d . -n ica -s "CN=NSS Intermediate CA,O=BOGUS NSS,L=Mountain View,ST=California,C=US" -t ,, -c ca -m 20 -w -1 -v 118 -1 -2 -5 --extNC <<CERTSCRIPT +certutil -S -z noise -g 1024 -d . -n ica -s "CN=NSS Intermediate CA,O=BOGUS NSS,L=Mountain View,ST=California,C=US" -t ,, -c ca -m 20 -w -1 -v 238 -1 -2 -5 --extNC <<CERTSCRIPT 5 6 9 @@ -46,7 +46,7 @@ n n CERTSCRIPT -certutil -S -z noise -g 1024 -d . -n server1 -s "CN=test.invalid,O=BOGUS NSS,L=Mountain View,ST=California,C=US" -t ,, -c ica -m 40 -v 115 -1 -2 -5 -8 test.invalid <<CERTSCRIPT +certutil -S -z noise -g 1024 -d . -n server1 -s "CN=test.invalid,O=BOGUS NSS,L=Mountain View,ST=California,C=US" -t ,, -c ica -m 40 -v 235 -1 -2 -5 -8 test.invalid <<CERTSCRIPT 0 2 3 @@ -62,7 +62,7 @@ y n CERTSCRIPT -certutil -S -z noise -g 1024 -d . -n server2 -s "CN=another_test.invalid,O=BOGUS NSS,L=Mountain View,ST=California,C=US" -t ,, -c ica -m 41 -v 115 -1 -2 -5 <<CERTSCRIPT +certutil -S -z noise -g 1024 -d . -n server2 -s "CN=another_test.invalid,O=BOGUS NSS,L=Mountain View,ST=California,C=US" -t ,, -c ica -m 41 -v 235 -1 -2 -5 <<CERTSCRIPT 0 2 3 @@ -78,7 +78,7 @@ y n CERTSCRIPT -certutil -S -z noise -g 1024 -d . -n server3 -s "CN=test.example,O=BOGUS NSS,L=Mountain View,ST=California,C=US" -t ,, -c ica -m 42 -v 115 -1 -2 -5 -8 test.example <<CERTSCRIPT +certutil -S -z noise -g 1024 -d . -n server3 -s "CN=test.example,O=BOGUS NSS,L=Mountain View,ST=California,C=US" -t ,, -c ica -m 42 -v 235 -1 -2 -5 -8 test.example <<CERTSCRIPT 0 2 3 @@ -94,7 +94,7 @@ y n CERTSCRIPT -certutil -S -z noise -g 1024 -d . -n ica2 -s "CN=NSS Intermediate CA 2,O=BOGUS NSS,L=Mountain View,ST=California,C=US" -t ,, -c ica -m 21 -w -2 -v 120 -1 -2 -5 <<CERTSCRIPT +certutil -S -z noise -g 1024 -d . -n ica2 -s "CN=NSS Intermediate CA 2,O=BOGUS NSS,L=Mountain View,ST=California,C=US" -t ,, -c ica -m 21 -w -2 -v 240 -1 -2 -5 <<CERTSCRIPT 5 6 9 @@ -109,7 +109,7 @@ n n CERTSCRIPT -certutil -S -z noise -g 1024 -d . -n server4 -s "CN=test2.invalid,O=BOGUS NSS,L=Mountain View,ST=California,C=US" -t ,, -c ica2 -m 50 -v 115 -1 -2 -5 -8 test.invalid <<CERTSCRIPT +certutil -S -z noise -g 1024 -d . -n server4 -s "CN=test2.invalid,O=BOGUS NSS,L=Mountain View,ST=California,C=US" -t ,, -c ica2 -m 50 -v 235 -1 -2 -5 -8 test.invalid <<CERTSCRIPT 0 2 3 @@ -125,7 +125,7 @@ y n CERTSCRIPT -certutil -S -z noise -g 1024 -d . -n server5 -s "CN=another_test2.invalid,O=BOGUS NSS,L=Mountain View,ST=California,C=US" -t ,, -c ica2 -m 51 -v 115 -1 -2 -5 <<CERTSCRIPT +certutil -S -z noise -g 1024 -d . -n server5 -s "CN=another_test2.invalid,O=BOGUS NSS,L=Mountain View,ST=California,C=US" -t ,, -c ica2 -m 51 -v 235 -1 -2 -5 <<CERTSCRIPT 0 2 3 @@ -142,7 +142,7 @@ n CERTSCRIPT -certutil -S -z noise -g 1024 -d . -n server6 -s "CN=test2.example,O=BOGUS NSS,L=Mountain View,ST=California,C=US" -t ,, -c ica2 -m 52 -v 115 -1 -2 -5 -8 test.example <<CERTSCRIPT +certutil -S -z noise -g 1024 -d . -n server6 -s "CN=test2.example,O=BOGUS NSS,L=Mountain View,ST=California,C=US" -t ,, -c ica2 -m 52 -v 235 -1 -2 -5 -8 test.example <<CERTSCRIPT 0 2 3 @@ -158,7 +158,7 @@ y n CERTSCRIPT -certutil -S -z noise -g 1024 -d . -n ica3 -s "CN=NSS Intermediate CA3,O=BOGUS NSS,L=Mountain View,ST=California,C=US" -t ,, -c ca -m 21 -w -1 -v 118 -1 -2 -5 --extNC <<CERTSCRIPT +certutil -S -z noise -g 1024 -d . -n ica3 -s "CN=NSS Intermediate CA3,O=BOGUS NSS,L=Mountain View,ST=California,C=US" -t ,, -c ca -m 21 -w -1 -v 238 -1 -2 -5 --extNC <<CERTSCRIPT 5 6 9 @@ -182,7 +182,7 @@ n n CERTSCRIPT -certutil -S -z noise -g 1024 -d . -n ica4 -s "CN=NSS Intermediate CA 2,O=Foo,ST=CA,C=US" -t ,, -c ica3 -m 61 -w -2 -v 120 -1 -2 -5 <<CERTSCRIPT +certutil -S -z noise -g 1024 -d . -n ica4 -s "CN=NSS Intermediate CA 2,O=Foo,ST=CA,C=US" -t ,, -c ica3 -m 61 -w -2 -v 240 -1 -2 -5 <<CERTSCRIPT 5 6 9 @@ -197,7 +197,7 @@ n n CERTSCRIPT -certutil -S -z noise -g 1024 -d . -n server7 -s "CN=bat.foo.example,ou=bar,O=Foo,ST=CA,C=US" -t ,, -c ica4 -m 41 -v 115 -1 -2 -5 <<CERTSCRIPT +certutil -S -z noise -g 1024 -d . -n server7 -s "CN=bat.foo.example,ou=bar,O=Foo,ST=CA,C=US" -t ,, -c ica4 -m 41 -v 235 -1 -2 -5 <<CERTSCRIPT 0 2 3 @@ -213,7 +213,7 @@ y n CERTSCRIPT -certutil -S -z noise -g 1024 -d . -n server8 -s "CN=bat.foo.example,O=Foo,ST=CA,C=US" -t ,, -c ica4 -m 42 -v 115 -1 -2 -5 <<CERTSCRIPT +certutil -S -z noise -g 1024 -d . -n server8 -s "CN=bat.foo.example,O=Foo,ST=CA,C=US" -t ,, -c ica4 -m 42 -v 235 -1 -2 -5 <<CERTSCRIPT 0 2 3 @@ -229,7 +229,7 @@ y n CERTSCRIPT -certutil -S -z noise -g 1024 -d . -n server9 -s "CN=bat.foo.example,O=Foo,C=US" -t ,, -c ica4 -m 43 -v 115 -1 -2 -5 <<CERTSCRIPT +certutil -S -z noise -g 1024 -d . -n server9 -s "CN=bat.foo.example,O=Foo,C=US" -t ,, -c ica4 -m 43 -v 235 -1 -2 -5 <<CERTSCRIPT 0 2 3 @@ -245,7 +245,7 @@ y n CERTSCRIPT -certutil -S -z noise -g 1024 -d . -n server10 -s "CN=bar.example,O=Foo,ST=CA,C=US" -t ,, -c ica4 -m 44 -v 115 -1 -2 -5 <<CERTSCRIPT +certutil -S -z noise -g 1024 -d . -n server10 -s "CN=bar.example,O=Foo,ST=CA,C=US" -t ,, -c ica4 -m 44 -v 235 -1 -2 -5 <<CERTSCRIPT 0 2 3 @@ -261,7 +261,7 @@ y n CERTSCRIPT -certutil -S -z noise -g 1024 -d . -n server11 -s "CN=site.example,O=Foo,ST=CA,C=US" -t ,, -c ica4 -m 45 -v 115 -1 -2 -5 -8 foo.example <<CERTSCRIPT +certutil -S -z noise -g 1024 -d . -n server11 -s "CN=site.example,O=Foo,ST=CA,C=US" -t ,, -c ica4 -m 45 -v 235 -1 -2 -5 -8 foo.example <<CERTSCRIPT 0 2 3 @@ -277,7 +277,7 @@ y n CERTSCRIPT -certutil -S -z noise -g 1024 -d . -n server12 -s "CN=Honest Achmed,O=Foo,ST=CA,C=US" -t ,, -c ica4 -m 46 -v 115 -1 -2 -5 <<CERTSCRIPT +certutil -S -z noise -g 1024 -d . -n server12 -s "CN=Honest Achmed,O=Foo,ST=CA,C=US" -t ,, -c ica4 -m 46 -v 235 -1 -2 -5 <<CERTSCRIPT 0 2 3 @@ -293,7 +293,7 @@ y n CERTSCRIPT -certutil -S -z noise -g 1024 -d . -n ica5 -s "CN=NSS Intermediate CA 2,O=OtherOrg,ST=CA,C=US" -t ,, -c ica3 -m 62 -w -2 -v 120 -1 -2 -5 <<CERTSCRIPT +certutil -S -z noise -g 1024 -d . -n ica5 -s "CN=NSS Intermediate CA 2,O=OtherOrg,ST=CA,C=US" -t ,, -c ica3 -m 62 -w -2 -v 240 -1 -2 -5 <<CERTSCRIPT 5 6 9 @@ -308,7 +308,7 @@ n n CERTSCRIPT -certutil -S -z noise -g 1024 -d . -n server13 -s "CN=bat.foo.example,O=OtherOrg,ST=CA,C=US" -t ,, -c ica5 -m 41 -v 115 -1 -2 -5 <<CERTSCRIPT +certutil -S -z noise -g 1024 -d . -n server13 -s "CN=bat.foo.example,O=OtherOrg,ST=CA,C=US" -t ,, -c ica5 -m 41 -v 235 -1 -2 -5 <<CERTSCRIPT 0 2 3 @@ -324,7 +324,7 @@ y n CERTSCRIPT -certutil -S -z noise -g 1024 -d . -n server14 -s "CN=another.foo.example,O=Foo,ST=CA,C=US" -t ,, -c ica5 -m 490 -v 115 -1 -2 -5 <<CERTSCRIPT +certutil -S -z noise -g 1024 -d . -n server14 -s "CN=another.foo.example,O=Foo,ST=CA,C=US" -t ,, -c ica5 -m 490 -v 235 -1 -2 -5 <<CERTSCRIPT 0 2 3 @@ -340,7 +340,7 @@ y n CERTSCRIPT -certutil -S -z noise -g 1024 -d . -n ncca -s "CN=NSS Name Constrained Root CA,O=BOGUS NSS,L=Mountain View,ST=CA,C=US" -t C,C,C -x -m 2 -w -1 -v 118 -1 -2 -5 --extNC <<CERTSCRIPT +certutil -S -z noise -g 1024 -d . -n ncca -s "CN=NSS Name Constrained Root CA,O=BOGUS NSS,L=Mountain View,ST=CA,C=US" -t C,C,C -x -m 2 -w -1 -v 238 -1 -2 -5 --extNC <<CERTSCRIPT 5 6 9 @@ -360,7 +360,7 @@ n n CERTSCRIPT -certutil -S -z noise -g 1024 -d . -n ica6 -s "CN=NSS Intermediate CA6,O=OtherOrg,ST=CA,C=US" -t ,, -c ncca -m 63 -w -2 -v 120 -1 -2 -5 <<CERTSCRIPT +certutil -S -z noise -g 1024 -d . -n ica6 -s "CN=NSS Intermediate CA6,O=OtherOrg,ST=CA,C=US" -t ,, -c ncca -m 63 -w -2 -v 240 -1 -2 -5 <<CERTSCRIPT 5 6 9 @@ -375,7 +375,7 @@ n n CERTSCRIPT -certutil -S -z noise -g 1024 -d . -n server15 -s "CN=testfoo.invalid,O=BOGUS NSS,L=Mountain View,ST=California,C=US" -t ,, -c ica6 -m 64 -v 115 -1 -2 -5 -8 testfoo.invalid <<CERTSCRIPT +certutil -S -z noise -g 1024 -d . -n server15 -s "CN=testfoo.invalid,O=BOGUS NSS,L=Mountain View,ST=California,C=US" -t ,, -c ica6 -m 64 -v 235 -1 -2 -5 -8 testfoo.invalid <<CERTSCRIPT 0 2 3 @@ -391,7 +391,7 @@ y n CERTSCRIPT -certutil -S -z noise -g 1024 -d . -n server16 -s "CN=another_test3.invalid,O=BOGUS NSS,L=Mountain View,ST=California,C=US" -t ,, -c ica6 -m 65 -v 115 -1 -2 -5 <<CERTSCRIPT +certutil -S -z noise -g 1024 -d . -n server16 -s "CN=another_test3.invalid,O=BOGUS NSS,L=Mountain View,ST=California,C=US" -t ,, -c ica6 -m 65 -v 235 -1 -2 -5 <<CERTSCRIPT 0 2 3 @@ -407,7 +407,7 @@ y n CERTSCRIPT -certutil -S -z noise -g 1024 -d . -n server17 -s "CN=test4.example,O=BOGUS NSS,L=Mountain View,ST=California,C=US" -t ,, -c ica6 -m 66 -v 115 -1 -2 -5 -8 test4.example <<CERTSCRIPT +certutil -S -z noise -g 1024 -d . -n server17 -s "CN=test4.example,O=BOGUS NSS,L=Mountain View,ST=California,C=US" -t ,, -c ica6 -m 66 -v 235 -1 -2 -5 -8 test4.example <<CERTSCRIPT 0 2 3 @@ -424,7 +424,7 @@ n CERTSCRIPT #DCISS copy certs -certutil -S -z noise -g 2048 -d . -n dcisscopy -s "E=igca@sgdn.pm.gouv.fr,CN=IGC/A,OU=DCSSI,O=PM/SGDN,L=Paris,ST=France,C=FR" -t C,C,C -x -m 998899 -w -2 -v 120 -1 -2 -5 <<CERTSCRIPT +certutil -S -z noise -g 2048 -d . -n dcisscopy -s "E=igca@sgdn.pm.gouv.fr,CN=IGC/A,OU=DCSSI,O=PM/SGDN,L=Paris,ST=France,C=FR" -t C,C,C -x -m 998899 -w -2 -v 240 -1 -2 -5 <<CERTSCRIPT 5 6 9 @@ -440,7 +440,7 @@ n CERTSCRIPT #the following cert MUST not pass -certutil -S -z noise -g 2048 -d . -n dcissblocked -s "CN=foo.example.com,O=Foo,ST=CA,C=US" -t ,, -c dcisscopy -m 998900 -v 120 -1 -2 -5 <<CERTSCRIPT +certutil -S -z noise -g 2048 -d . -n dcissblocked -s "CN=foo.example.com,O=Foo,ST=CA,C=US" -t ,, -c dcisscopy -m 998900 -v 240 -1 -2 -5 <<CERTSCRIPT 0 2 3 @@ -457,7 +457,7 @@ n CERTSCRIPT #the following cert MUST pass -certutil -S -z noise -g 2048 -d . -n dcissallowed -s "CN=foo.example.fr,O=Foo,ST=CA,C=US" -t ,, -c dcisscopy -m 998901 -v 120 -1 -2 -5 <<CERTSCRIPT +certutil -S -z noise -g 2048 -d . -n dcissallowed -s "CN=foo.example.fr,O=Foo,ST=CA,C=US" -t ,, -c dcisscopy -m 998901 -v 240 -1 -2 -5 <<CERTSCRIPT 0 2 3 diff --git a/services/settings/dumps/blocklists/addons-bloomfilters.json b/services/settings/dumps/blocklists/addons-bloomfilters.json index 1d979f39ccbb8b249d7c029269a4df7fda58f921..8606ab067518e9d61d3de9a41a3b47f66a5a8d5f 100644 --- a/services/settings/dumps/blocklists/addons-bloomfilters.json +++ b/services/settings/dumps/blocklists/addons-bloomfilters.json @@ -1,5 +1,285 @@ { "data": [ + { + "stash": { + "blocked": [ + "beidconnect@bosa.be:0.0.10", + "teamgolinks@gmail.com:2.6.1", + "beidconnect@bosa.be:0.0.11", + "beidconnect@bosa.be:0.0.8", + "{598c25df-bc02-44ce-bdfb-0866ce2c69e4}:1.10.10", + "extension@navig-fr.com:1.0.0.0", + "teamgolinks@gmail.com:2.6.3", + "addonY219@freshyserch.com:1.23.1102", + "teamgolinks@gmail.com:2.6.2", + "support@currency-converter.com:1.0", + "teamgolinks@gmail.com:2.6.0", + "beidconnect@bosa.be:0.0.9", + "addonY219@freshyserch.com:1.23.1013", + "addonY219@freshyserch.com:1.23.1109" + ], + "unblocked": [] + }, + "schema": 1701887760644, + "key_format": "{guid}:{version}", + "stash_time": 1701952504811, + "id": "6ce95613-1a74-4912-99ba-45df2dd724bf", + "last_modified": 1701952559443 + }, + { + "stash": { + "blocked": [ + "contact@currency-converter.com:1.0" + ], + "unblocked": [] + }, + "schema": 1701771235055, + "key_format": "{guid}:{version}", + "stash_time": 1701887704220, + "id": "aee4c062-d837-4050-a2d2-e4e79c80b6b4", + "last_modified": 1701887760444 + }, + { + "stash": { + "blocked": [ + "nmextmozpm21@fabasoft.com:21.0.0.9", + "nmextmozpm21@fabasoft.com:21.2.2.4", + "nmextmozpm21@fabasoft.com:22.8.0.5", + "assetview-web-filter@hammock.co.jp:13.0.0.1001", + "assetview-web-extension@hammock.co.jp:13.1.2.1001", + "nmextmozpm21@fabasoft.com:22.3.0.39", + "nmextmozpm21@fabasoft.com:21.0.0.4", + "PKCS11@KeyController:2.8", + "assetview-web-extension-owa@hammock.co.jp:13.1.0.1003", + "nmextmozpm21@fabasoft.com:22.8.0.10", + "nmextmozpm21@fabasoft.com:23.0.0.1", + "PKCS11@KeyController:1.1", + "nmextmozpm21@fabasoft.com:21.11.0.15", + "PKCS11@KeyController:1.2", + "{13db8986-7bd0-41b1-a9de-af3541ec5df1}:1.0.0", + "assetview-web-extension-owa@hammock.co.jp:13.1.0.1004", + "nmextmozpm21@fabasoft.com:21.9.0.3", + "assetview-web-extension@hammock.co.jp:13.1.0.1001", + "assetview-web-filter@hammock.co.jp:13.0.0.1002", + "assetview-web-extension-owa@hammock.co.jp:13.1.0.1001", + "IA4Firefox@interact-software.com:4.2.0.0", + "assetview-web-extension-owa@hammock.co.jp:13.1.0.1002", + "nmextmozpm21@fabasoft.com:21.9.0.9", + "nmextmozpm21@fabasoft.com:22.2.0.9", + "PKCS11@KeyController:2.6", + "nmextmozpm21@fabasoft.com:21.0.0.8", + "nmextmozpm21@fabasoft.com:22.0.0.14", + "nmextmozpm21@fabasoft.com:23.7.0.8" + ], + "unblocked": [] + }, + "schema": 1701196580538, + "key_format": "{guid}:{version}", + "stash_time": 1701282912507, + "id": "13964a07-4e00-451e-8a31-89baa58bbefb", + "last_modified": 1701282988323 + }, + { + "stash": { + "blocked": [ + "xmlsigningoffline@nextsense.com:1.0.4.2", + "firefox-connector@turbosa.banquepopulaire.fr:2.7", + "shadowbot@fckj1.com:1.1", + "firefox-connector@turbosa.banquepopulaire.fr:2.97", + "xmlsigningoffline@nextsense.com:1.0.0.5", + "xmlsigningoffline@nextsense.com:1.0.3.6", + "xmlsigningoffline@nextsense.com:1.0.3.3", + "xmlsigningoffline@nextsense.com:0.0.0.2", + "xmlsigningoffline@nextsense.com:1.0.1.4", + "vema-passwortverwaltung@vema-eg.de:2.3.6", + "firefox-connector@turbosa.banquepopulaire.fr:2.98", + "vema-passwortverwaltung@vema-eg.de:2.5.2", + "vema-passwortverwaltung@vema-eg.de:2.4.1", + "xmlsigningoffline@nextsense.com:1.0.0.6", + "xmlsigningoffline@nextsense.com:1.0.2.3", + "vema-passwortverwaltung@vema-eg.de:2.3.12", + "xmlsigningoffline@nextsense.com:1.0.1.9", + "xmlsigningoffline@nextsense.com:1.0.0.1", + "xmlsigningoffline@nextsense.com:1.0.2.1", + "vema-passwortverwaltung@vema-eg.de:2.3.5", + "xmlsigningoffline@nextsense.com:1.0.3.5", + "firefox-connector@turbosa.banquepopulaire.fr:2.93", + "xmlsigningoffline@nextsense.com:1.0.2.9", + "xmlsigningoffline@nextsense.com:1.0.2.0", + "vema-passwortverwaltung@vema-eg.de:2.4.2", + "firefox-connector@turbosa.banquepopulaire.fr:2.95", + "vema-passwortverwaltung@vema-eg.de:2.3.10", + "xmlsigningoffline@nextsense.com:0.0.0.6", + "firefox-connector@turbosa.banquepopulaire.fr:2.92", + "vema-passwortverwaltung@vema-eg.de:2.5.0", + "vema-passwortverwaltung@vema-eg.de:2.4.0", + "firefox-connector@turbosa.banquepopulaire.fr:2.9", + "firefox-connector@turbosa.banquepopulaire.fr:2.99", + "vema-passwortverwaltung@vema-eg.de:2.3.11", + "firefox-connector@turbosa.banquepopulaire.fr:2.96", + "xmlsigningoffline@nextsense.com:1.0.2.7", + "vema-passwortverwaltung@vema-eg.de:2.3.9", + "vema-passwortverwaltung@vema-eg.de:2.3.8", + "xmlsigningoffline@nextsense.com:1.0.2.5", + "xmlsigningoffline@nextsense.com:1.0.4.0", + "firefox-connector@turbosa.banquepopulaire.fr:2.91", + "vema-passwortverwaltung@vema-eg.de:2.3.7", + "xmlsigningoffline@nextsense.com:1.0.3.7", + "xmlsigningoffline@nextsense.com:0.0.0.4", + "vema-passwortverwaltung@vema-eg.de:2.5.1", + "xmlsigningoffline@nextsense.com:1.0.1.3", + "xmlsigningoffline@nextsense.com:1.0.1.8", + "xmlsigningoffline@nextsense.com:0.0.0.3", + "xmlsigningoffline@nextsense.com:0.0.0.5", + "xmlsigningoffline@nextsense.com:1.0.4.1", + "xmlsigningoffline@nextsense.com:1.0.2.8", + "xmlsigningoffline@nextsense.com:1.0.1.6", + "xmlsigningoffline@nextsense.com:1.0.2.2", + "xmlsigningoffline@nextsense.com:1.0.3.2", + "xmlsigningoffline@nextsense.com:0.0.0.1", + "xmlsigningoffline@nextsense.com:1.0.1.7", + "firefox-connector@turbosa.banquepopulaire.fr:2.94", + "xmlsigningoffline@nextsense.com:1.0.3.9", + "xmlsigningoffline@nextsense.com:1.0.0.4", + "xmlsigningoffline@nextsense.com:1.0.3.1", + "xmlsigningoffline@nextsense.com:1.0.0.0", + "xmlsigningoffline@nextsense.com:1.0.3.0", + "xmlsigningoffline@nextsense.com:1.0.2.6", + "xmlsigningoffline@nextsense.com:1.0.3.4", + "xmlsigningoffline@nextsense.com:1.0.2.4", + "firefox-connector@turbosa.banquepopulaire.fr:2.8", + "xmlsigningoffline@nextsense.com:1.0.1.1", + "xmlsigningoffline@nextsense.com:1.0.3.8" + ], + "unblocked": [] + }, + "schema": 1701174977301, + "key_format": "{guid}:{version}", + "stash_time": 1701196511801, + "id": "299e0bae-193b-4493-ac4e-5c54291df0b0", + "last_modified": 1701196580339 + }, + { + "stash": { + "blocked": [ + "cntvlive2@cntv.cn:2017.1101", + "addon@stepnova.net:2.5.29", + "addon@stepnova.net:2.5.36", + "addon@stepnova.net:2.1.21", + "addon@stepnova.net:2.5.4", + "addon@stepnova.net:2.2.25", + "cntvlive2@cntv.cn:2019.628", + "addon@stepnova.net:2.0.20", + "addon@stepnova.net:2.4.28", + "addon@stepnova.net:2.4.29", + "addon@stepnova.net:2.5.35", + "addon@stepnova.net:2.2.24", + "addon@stepnova.net:2.5.30", + "addon@stepnova.net:2.5.5", + "addon@stepnova.net:2.5.40", + "addon@stepnova.net:2.5.34", + "addon@stepnova.net:2.5.2", + "addon@stepnova.net:2.5.33", + "addon@stepnova.net:2.5.1", + "addon@stepnova.net:2.5.39", + "addon@stepnova.net:2.0.17", + "addon@stepnova.net:2.0.19", + "addon@stepnova.net:2.3.26", + "addon@stepnova.net:2.1.23", + "addon@stepnova.net:2.5.38", + "addon@stepnova.net:2.0.18", + "addon@stepnova.net:2.1.22", + "addon@stepnova.net:2.0.16", + "addon@stepnova.net:2.4.27" + ], + "unblocked": [] + }, + "schema": 1701110182848, + "key_format": "{guid}:{version}", + "stash_time": 1701174911137, + "id": "2aaa783d-1b30-46e9-b498-db61697c5b2c", + "last_modified": 1701174977100 + }, + { + "stash": { + "blocked": [ + "{3c880b17-d2f7-47ae-93c7-d004ce702a3c}:1.5.0", + "{3c880b17-d2f7-47ae-93c7-d004ce702a3c}:1.0", + "security_suite.password_vault_assistant@totalav.com:1.2.67", + "LspClFfAddonXPI@motex.co.jp:1.1.4.1", + "{3c880b17-d2f7-47ae-93c7-d004ce702a3c}:1.6.2", + "LspClFfAddonXPI@motex.co.jp:1.1.5.0", + "security_suite.password_vault_assistant@totalav.com:1.0.3", + "LspClFfAddonXPI@motex.co.jp:1.1.3.0", + "{7addb7a8-486a-44a6-9b69-56bf7da27c02}:2.3.1", + "LspClFfAddonXPI@motex.co.jp:1.0.7.3", + "{7addb7a8-486a-44a6-9b69-56bf7da27c02}:2.0.7", + "security_suite.password_vault_assistant@totalav.com:1.0.4", + "{3c880b17-d2f7-47ae-93c7-d004ce702a3c}:1.3.1", + "{3c880b17-d2f7-47ae-93c7-d004ce702a3c}:1.8.0", + "{3c880b17-d2f7-47ae-93c7-d004ce702a3c}:1.6.0", + "LspClFfAddonXPI@motex.co.jp:1.1.1.0", + "{e2488817-3d73-4013-850d-b66c5e42d505}:0.1", + "{3c880b17-d2f7-47ae-93c7-d004ce702a3c}:2.5.0", + "nordpassStandalone@nordsecurity.com:1.0.1", + "{e2488817-3d73-4013-850d-b66c5e42d505}:0.1.5", + "security_suite.password_vault_assistant@totalav.com:1.0.2", + "{7addb7a8-486a-44a6-9b69-56bf7da27c02}:2.2.0", + "{3c880b17-d2f7-47ae-93c7-d004ce702a3c}:2.3.0", + "{3c880b17-d2f7-47ae-93c7-d004ce702a3c}:1.6.1", + "LspClFfAddonXPI@motex.co.jp:1.1.4.2", + "{3c880b17-d2f7-47ae-93c7-d004ce702a3c}:2.1.1", + "{7addb7a8-486a-44a6-9b69-56bf7da27c02}:2.3.0", + "{e2488817-3d73-4013-850d-b66c5e42d505}:0.0.1", + "{3c880b17-d2f7-47ae-93c7-d004ce702a3c}:2.4.0", + "{e2488817-3d73-4013-850d-b66c5e42d505}:0.1.2", + "nordpassStandalone@nordsecurity.com:1.0.0", + "{3c880b17-d2f7-47ae-93c7-d004ce702a3c}:1.4.0", + "{7addb7a8-486a-44a6-9b69-56bf7da27c02}:1.0", + "{1133db0e-22c5-4a5d-b542-743fd794279b}:3.11.3", + "LspClFfAddonXPI@motex.co.jp:1.1.6.0", + "{7addb7a8-486a-44a6-9b69-56bf7da27c02}:2.1.0", + "{3c880b17-d2f7-47ae-93c7-d004ce702a3c}:2.0.0", + "{1133db0e-22c5-4a5d-b542-743fd794279b}:3.11.2", + "{e2488817-3d73-4013-850d-b66c5e42d505}:0.1.3", + "{3c880b17-d2f7-47ae-93c7-d004ce702a3c}:2.0.1", + "{e2488817-3d73-4013-850d-b66c5e42d505}:0.1.6", + "security_suite.password_vault_assistant@totalav.com:1.1.19", + "LspClFfAddonXPI@motex.co.jp:1.1.0.1", + "{3c880b17-d2f7-47ae-93c7-d004ce702a3c}:1.1", + "LspClFfAddonXPI@motex.co.jp:1.1.7.0", + "{3c880b17-d2f7-47ae-93c7-d004ce702a3c}:2.1.0", + "addonY219@printrecipes.net:1.23.1102", + "{3c880b17-d2f7-47ae-93c7-d004ce702a3c}:2.2.0", + "LspClFfAddonXPI@motex.co.jp:1.0.9.4", + "{3c880b17-d2f7-47ae-93c7-d004ce702a3c}:2.6.0", + "{e2488817-3d73-4013-850d-b66c5e42d505}:0.1.4", + "{e2488817-3d73-4013-850d-b66c5e42d505}:0.1.1", + "{3c880b17-d2f7-47ae-93c7-d004ce702a3c}:1.7.0", + "LspClFfAddonXPI@motex.co.jp:1.0.8.3", + "LspClFfAddonXPI@motex.co.jp:1.1.2.0" + ], + "unblocked": [] + }, + "schema": 1700570172434, + "key_format": "{guid}:{version}", + "stash_time": 1701110111324, + "id": "74d1b986-0a58-481c-b60b-a0980ca6cabb", + "last_modified": 1701110182641 + }, + { + "stash": { + "blocked": [ + "info@base-api.com:1.0" + ], + "unblocked": [] + }, + "schema": 1699920004097, + "key_format": "{guid}:{version}", + "stash_time": 1700570110494, + "id": "3528dd08-ff6b-41c6-a091-76947fd5d5b1", + "last_modified": 1700570172226 + }, { "stash": { "blocked": [ @@ -2633,5 +2913,5 @@ "last_modified": 1690223886167 } ], - "timestamp": 1699274180497 + "timestamp": 1701952559443 } diff --git a/services/settings/dumps/main/cookie-banner-rules-list.json b/services/settings/dumps/main/cookie-banner-rules-list.json index 4880105e1c6f89a7bc88f9ffb596370c6e92d35b..0e1a3ed99971c80804a2c7df93f7ce7967604225 100644 --- a/services/settings/dumps/main/cookie-banner-rules-list.json +++ b/services/settings/dumps/main/cookie-banner-rules-list.json @@ -1,324 +1,493 @@ { "data": [ { - "click": { - "optIn": ".fc-cta-consent", - "optOut": ".fc-cta-do-not-consent", - "presence": ".fc-dialog-container" + "click": {}, + "schema": 1700826062965, + "cookies": { + "optOut": [ + { + "name": "cookieDeclined", + "value": "1" + } + ] }, - "schema": 1697557061727, "domains": [ - "accuweather.com" + "grundstoff.net" ], - "id": "10B17126-C30B-4EE5-9CF5-A4CAFD361AEB", - "last_modified": 1697710931649 + "id": "ca62d977-4e2e-48ab-a186-055f9f3277e4", + "last_modified": 1701423955158 }, { - "click": { - "optIn": ".js-disc-cp-accept-all", - "optOut": ".js-disc-cp-deny-all", - "presence": ".disc-cp-modal__modal" - }, - "schema": 1697557061727, + "click": {}, + "schema": 1700826062965, "cookies": { "optOut": [ { - "name": "obiConsent", - "value": "c1-1|c2-0|c3-0|c4-0|c5-0|ts-4127464398701|consent-true" - }, - { - "name": "miCookieOptOut", - "value": "1" + "name": "onleiheTracking", + "value": "false" } ] }, "domains": [ - "obi.de" + "onleihe.de" ], - "id": "02BB875E-D588-4C12-9BE8-FD467C050B86", - "last_modified": 1697710931646 + "id": "c19b1009-d609-438c-8d7c-82fc7144eeaa", + "last_modified": 1701423955154 }, { "click": { - "optIn": "#cmpwelcomebtnyes a", - "presence": "#cmpbox" + "optIn": "button.cm-btn-success", + "optOut": "button.cm-btn-danger", + "presence": "div#klaro" }, - "schema": 1697557061727, + "schema": 1700826062965, + "cookies": {}, "domains": [ - "mail.ru", - "blic.rs", - "hrt.hr", - "eventim.de" + "karlsruhe.de" ], - "id": "EA3C8C1C-8B1A-46A4-8631-750ECC29425A", - "last_modified": 1697710931642 + "id": "63b5c74c-67ae-47f2-b0ba-10c03132ad6f", + "last_modified": 1701423955150 }, { "click": { - "optIn": "#cmpwelcomebtnyes a", - "optOut": "#cmpwelcomebtnno a", - "presence": "#cmpbox" + "optIn": "button.js-cookie-accept", + "optOut": "button.js-cookie-decline", + "presence": "div#toast-container" }, - "schema": 1697557061727, + "schema": 1700826062965, "domains": [ - "adac.de" + "startnext.com" ], - "id": "E46708B7-B378-4AA5-A700-12D7221537A0", - "last_modified": 1697710931639 + "id": "312f32e1-a6bf-4e87-b7a6-7480345823cf", + "last_modified": 1701423955146 }, { - "schema": 1697557061727, + "click": { + "optIn": ".consentAgree", + "optOut": "#consentDisagree", + "presence": "div.consent" + }, + "schema": 1700826062965, + "cookies": {}, + "domains": [ + "strato.de" + ], + "id": "18b1dd86-aee5-4697-b601-4fa320a75dbe", + "last_modified": 1701423955143 + }, + { + "click": {}, + "schema": 1700826062965, "cookies": { "optOut": [ { - "name": "cookie_consent", - "value": "denied" - }, - { - "name": "marketing_consent", - "value": "denied" - }, - { - "name": "personalization_consent", - "value": "denied" + "name": "hidecookie", + "value": "true" } ] }, "domains": [ - "arbeitsagentur.de" + "vrn.de" ], - "id": "A04DD123-A10F-4665-9C2B-2FB5CC293F42", - "last_modified": 1697710931635 + "id": "0ae7f461-8705-4222-b8ee-afa03e5150ff", + "last_modified": 1701423955139 }, { - "click": { - "optIn": "button[data-test=\"pwa-consent-layer-accept-all\"]", - "optOut": "button[data-test=\"pwa-consent-layer-deny-all\"]", - "presence": "#mms-consent-portal-container" - }, - "schema": 1697557061727, + "click": {}, + "schema": 1700826062965, "cookies": { "optOut": [ { - "name": "pwaconsent", - "value": "v:1.0~required:1&clf:1,cli:1,gfb:1,gtm:1,jot:1,ocx:1|comfort:0&baz:0,cne:0,con:0,fix:0,gfa:0,goa:0,gom:0,grc:0,grv:0,inm:0,lib:0,lob:0,opt:0,orc:0,ore:0,pcl:0,sen:0,sis:0,spe:0,sst:0,swo:0,twi:0,usw:0,usz:0,yte:0|marketing:0&cri:0,eam:0,fab:0,fbc:0,fcm:0,gac:0,gad:0,gcl:0,gcm:0,gdv:0,gos:0,gse:0,msb:0,omp:0,pin:0,ttd:0,twt:0|" + "name": "consent_functional", + "value": "DENY" + }, + { + "name": "consent_marketing", + "value": "DENY" + }, + { + "name": "consent_technical", + "value": "ALLOW" + }, + { + "name": "consent_version", + "value": "2.6" } ] }, "domains": [ - "mediamarkt.de", - "saturn.de" + "huk24.de" ], - "id": "2A2B8102-D276-4ECE-AFBD-005E8E917D18", - "last_modified": 1697710931632 + "id": "0fbacecc-fbda-4e4b-883f-9424790ccc74", + "last_modified": 1701423955135 }, { - "click": { - "optIn": "div[data-tracking-opt-in-accept=\"true\"]", - "presence": "div[data-tracking-opt-in-overlay=\"true\"]" + "click": {}, + "schema": 1700826062965, + "cookies": { + "optOut": [ + { + "name": "cookiebanner", + "value": "closed" + } + ] }, - "schema": 1697557061727, "domains": [ - "fandom.com" + "thw.de" ], - "id": "D168AF87-F481-4AD7-BE78-28A59F798406", - "last_modified": 1697710931628 + "id": "58226c30-e975-42f3-99e4-ca140b91e96c", + "last_modified": 1701423955130 }, { - "click": { - "optIn": "#consentAcceptAll", - "optOut": "#rejectAll", - "presence": "#__tealiumGDPRecModal" + "click": {}, + "schema": 1700826062965, + "cookies": { + "optOut": [ + { + "name": "cookie-preference", + "value": "1" + } + ] }, - "schema": 1697557061727, "domains": [ - "telekom.com", - "telekom.de" + "korodrogerie.de" ], - "id": "8907164E-17D8-4D27-B0A3-EDDA59F53DBE", - "last_modified": 1697710931625 + "id": "cdd5646d-06b3-4fdf-8530-b7d8a93f03df", + "last_modified": 1701423955126 }, { "click": { - "optIn": "#dip-consent-summary-accept-all", - "optOut": "#dip-consent-summary-reject-all", - "presence": "#dip-consent" + "optIn": "button.cl-consent__btn", + "optOut": "button.cl-consent__close-link", + "presence": "div#cl-consent" }, - "schema": 1697557061727, + "schema": 1700826062965, "cookies": {}, "domains": [ - "vodafone.de" + "hdblog.it", + "hdmotori.it" ], - "id": "B85F7D67-D6D4-40EE-8472-A32B6CD01E0E", - "last_modified": 1697710931621 + "id": "342bd7ca-6502-4df7-bd3a-0b884b51aaa7", + "last_modified": 1701423955123 }, { - "schema": 1697557061727, + "click": {}, + "schema": 1700826062965, "cookies": { "optOut": [ { - "name": "CONSENTMGR", - "value": "c1:1%7Cc2:0%7Cc3:0%7Cc4:0%7Cc5:0%7Cc6:0%7Cc7:0%7Cc8:0%7Cc9:0%7Cc10:0%7Cc11:0%7Cc12:0%7Cc13:0%7Cc14:0%7Cc15:0%7Cts:111697211775123%7Cconsent:true" - }, - { - "name": "request_consent_v", - "value": "3" + "name": "cookies_accepted", + "value": "false" } ] }, "domains": [ - "bahn.de" + "mindfactory.de" ], - "id": "D4AD5843-DDBD-4D93-BFBA-F53DD8B53111", - "last_modified": 1697710931618 + "id": "aa077f01-0574-4f1b-ad1b-3225c4dc59f7", + "last_modified": 1701423955119 }, { - "schema": 1697557061727, - "cookies": { - "optIn": [ - { - "name": "consent_status", - "value": "true" - } - ], - "optOut": [ - { - "name": "consent_status", - "value": "false" - } - ] + "click": { + "optIn": "button[data-qa=\"privacy-settings-action-info\"]", + "optOut": "button[data-qa=\"privacy-settings-action-close\"]", + "presence": "[data-qa=\"privacy-settings\"]" }, + "schema": 1700826062965, "domains": [ - "immobilienscout24.de" + "lieferando.de", + "just-eat.ch" ], - "id": "3BD1F0DA-BABB-4F75-9B56-C92A1CFD114B", - "last_modified": 1697710931613 + "id": "31d9971f-e23d-4dd9-a891-99a85d97ad19", + "last_modified": 1701423955115 }, { "click": { - "optIn": ".cmpboxbtnyes", - "optOut": ".cmpboxbtnsave", - "presence": "#cmpwrapper" + "optIn": "button#cookieok", + "optOut": "button#cookiecancel", + "presence": "div#cookieconsent" }, - "schema": 1697557061727, + "schema": 1700826062965, + "cookies": {}, "domains": [ - "gls-pakete.de" + "reichelt.de" ], - "id": "1D4DDA28-C6FC-489F-B2F3-07EAAB4F5AFE", - "last_modified": 1697710931609 + "id": "b81fc066-5cdd-4af6-b288-49de860e369a", + "last_modified": 1701423955111 }, { "click": { - "optIn": "button[data-test-id=\"cookie-notice-accept\"]", - "optOut": "button[data-test-id=\"cookie-notice-reject\"]", - "presence": ".cookie-notice" + "optIn": "button#cookie-consent-button", + "presence": "dialog.consent" }, - "schema": 1697557061727, - "cookies": { - "optOut": [ - { - "name": "ECCC", - "value": "e" - } - ] + "schema": 1700826062965, + "domains": [ + "computerbase.de" + ], + "id": "2c73714d-0e9b-41a1-ad12-6bd15ddade67", + "last_modified": 1701423955107 + }, + { + "click": { + "optIn": "button.cm-btn-accept-all", + "optOut": "button.cm-btn-accept", + "presence": "div#klaro" }, + "schema": 1700826062965, + "cookies": {}, "domains": [ - "ecosia.org" + "lancom-systems.de" ], - "id": "7BA8E4AF-438A-40FE-8941-F921AA1FEA2A", - "last_modified": 1697710931606 + "id": "efc6f62d-8d53-4f52-9dd3-172d9b04f5de", + "last_modified": 1701423955104 }, { "click": { - "optIn": "button#didomi-notice-agree-button", - "presence": "div#didomi-host" + "optIn": "button.iubenda-cs-accept-btn", + "presence": "div#iubenda-cs-banner" }, - "schema": 1697557061727, + "schema": 1700826062965, "cookies": {}, "domains": [ - "echo24.cz", - "jeuxvideo.com", - "24sata.hr", - "nova.cz", - "lidovky.cz", - "jutarnji.hr", - "vecernji.hr", - "sport.es", - "elespanol.com", - "in-pocasi.cz", - "20minutes.fr", - "actu.fr", - "hbvl.be", - "naszemiasto.pl", - "leboncoin.fr", - "rtbf.be", - "20minutos.es", - "sudinfo.be", - "elpais.com", - "sinoptik.bg", - "lequipe.fr", - "abc.es", - "gva.be", - "eltiempo.es", - "eldiario.es", - "larazon.es", - "extra.cz", - "ladepeche.fr", - "marmiton.org", - "poslovni.hr", - "softonic.com", - "sydsvenskan.se", - "telecinco.es", - "giphy.com", - "filmstarts.de", - "moviepilot.de" + "ansa.it" ], - "id": "af4c5b38-d210-472b-9a07-21cbe53c85ab", - "last_modified": 1697710931601 + "id": "8e55f0f4-262f-4d35-a461-47afea6e9069", + "last_modified": 1701423955100 }, { "click": { "optIn": ".sp_choice_type_11", "presence": ".message-container > #notice", - "runContext": "child", - "skipPresenceVisibilityCheck": true + "runContext": "child" }, - "schema": 1697557061727, + "schema": 1700826062965, "cookies": {}, "domains": [ - "hln.be", - "nu.nl", - "vg.no", - "aftonbladet.se", - "ad.nl", - "finn.no", - "sporza.be", - "derstandard.at", - "tori.fi", - "vrt.be", - "spiegel.de", - "aftenposten.no", - "vglive.no", - "oikotie.fi", - "klart.se", - "zeit.de", - "gala.de", - "gala.fr", - "volkskrant.nl", - "tek.no", - "omni.se", - "dpgmediagroup.com", - "economist.com", - "chefkoch.de", - "sport1.de", - "tagesspiegel.de", - "stern.de", - "sport.de", - "giga.de", - "handelsblatt.com" + "thetimes.co.uk", + "qz.com", + "privacy-mgmt.com", + "independent.co.uk", + "gizmodo.com", + "e24.no", + "thesun.co.uk", + "thesun.ie", + "focus.de", + "bild.de", + "computerbild.de", + "bloomberg.com", + "t-online.de", + "wetteronline.de", + "chip.de", + "n-tv.de", + "newsnow.co.uk", + "telegraph.co.uk", + "theguardian.com", + "faz.net", + "sueddeutsche.de", + "rtl.de", + "gutefrage.net", + "express.de", + "tvspielfilm.de", + "finanzen.net", + "tag24.de", + "kino.de", + "heise.de", + "bunte.de", + "golem.de" ], - "id": "c58a0bac-3a5f-43af-93e9-8b5462a6bcb5", - "last_modified": 1697710931594 + "id": "d42bbaee-f96e-47e7-8e81-efc642518e97", + "last_modified": 1701423955095 + }, + { + "click": { + "optIn": "button[data-component-name=\"consent\"]", + "optOut": "button[data-component-name=\"reject\"]", + "presence": ".cookie-notice-banner" + }, + "schema": 1700826062965, + "cookies": {}, + "domains": [ + "shopify.com" + ], + "id": "531324c9-83ba-4ba3-a488-3ebde87b10af", + "last_modified": 1701423955091 + }, + { + "click": { + "optOut": "#tmart-cookie-layer-only-necessary", + "presence": ".cookieLayer" + }, + "schema": 1700313507200, + "cookies": {}, + "domains": [ + "sparda-hessen.de" + ], + "id": "0EAF9E99-36C6-4165-87BE-A62EF1751E1D", + "last_modified": 1700826062722 + }, + { + "click": { + "optOut": "#zdf-cmp-deny-btn", + "presence": ".zdf-cmp-modal-content" + }, + "schema": 1700313507200, + "cookies": {}, + "domains": [ + "zdf.de" + ], + "id": "91484461-01AD-4D78-9ED8-D17C688F47E7", + "last_modified": 1700826062719 + }, + { + "click": { + "optIn": "[data-testid=\"accept-all-cookies-button\"]", + "presence": "[data-testid=\"cookie-banner\"]" + }, + "schema": 1700313507200, + "cookies": {}, + "domains": [ + "elsevier.com" + ], + "id": "0AB3A01E-10A9-4509-9350-6EF61AB223F3", + "last_modified": 1700826062716 + }, + { + "click": { + "optIn": "[data-testid=\"uc-accept-all-button\"]", + "optOut": "[data-testid=\"uc-deny-all-button\"]", + "presence": "#usercentrics-root" + }, + "schema": 1700313507200, + "cookies": {}, + "domains": [ + "rts.ch" + ], + "id": "9f5f0c06-5221-45b2-a174-7d70fd128eb3", + "last_modified": 1700826062713 + }, + { + "click": { + "optIn": ".cky-btn.cky-btn-accept", + "optOut": ".cky-btn.cky-btn-reject", + "presence": ".cky-consent-bar" + }, + "schema": 1700313507200, + "cookies": {}, + "domains": [ + "met.ie" + ], + "id": "536f8027-111f-4798-a9ef-745b30fe65c8", + "last_modified": 1700826062709 + }, + { + "click": { + "optIn": "#didomi-notice-agree-button", + "optOut": ".didomi-continue-without-agreeing", + "presence": "div#didomi-notice" + }, + "schema": 1700313507200, + "cookies": {}, + "domains": [ + "orange.sk", + "hnonline.sk" + ], + "id": "688d29a8-e1c7-4d62-b3d4-53b451ff5a48", + "last_modified": 1700826062705 + }, + { + "click": { + "optIn": "#onetrust-accept-btn-handler", + "presence": "div#onetrust-consent-sdk" + }, + "schema": 1700313507200, + "cookies": {}, + "domains": [ + "gitlab.com", + "speedtest.net", + "name.com", + "mlb.com", + "qualtrics.com", + "tim.it", + "hotnews.ro", + "mashable.com", + "pcmag.com", + "barnesandnoble.com", + "politico.com", + "quillbot.com", + "newyorker.com", + "upwork.com", + "mediafax.ro", + "elisa.fi", + "blick.ch", + "dn.no", + "soundcloud.com", + "tvn24.pl", + "olx.pl", + "olx.bg", + "gsp.ro", + "fastly.com", + "spotify.com", + "20min.ch", + "olx.ro", + "olx.pt", + "sportal.bg", + "gazeta.pl", + "romaniatv.net", + "teamviewer.com", + "ted.com", + "tripadvisor.com", + "webmd.com", + "cambridge.org", + "investing.com", + "businesswire.com", + "istockphoto.com", + "iso.org", + "quizlet.com", + "genius.com", + "jstor.org", + "trendmicro.com", + "duolingo.com", + "sophos.com", + "rte.ie", + "euro.com.pl", + "wired.com", + "arstechnica.com", + "gartner.com", + "thelancet.com", + "weebly.com", + "irishtimes.com", + "libertatea.ro", + "otomoto.pl", + "sport.pl", + "novini.bg", + "stiripesurse.ro", + "suomi24.fi", + "sbb.ch", + "atg.se", + "ziare.com", + "irishexaminer.com", + "tripadvisor.it", + "thejournal.ie", + "superbet.ro", + "g4media.ro", + "wyborcza.pl", + "nachrichten.at", + "tt.com", + "three.ie", + "tripadvisor.co.uk", + "dcnews.ro", + "vol.at", + "plotek.pl", + "howstuffworks.com", + "tripadvisor.de", + "otto.de", + "kaufland.de", + "lidl.de", + "lidl.cz", + "rightmove.co.uk" + ], + "id": "256259D5-28AA-44C4-A837-8A30424005BB", + "last_modified": 1700826062701 }, { "click": { @@ -326,20 +495,14 @@ "optOut": ".ot-pc-refuse-all-handler, #onetrust-reject-all-handler", "presence": "div#onetrust-consent-sdk" }, - "schema": 1697557061727, + "schema": 1700313507200, "cookies": {}, "domains": [ "espncricinfo.com", - "speedtest.net", - "name.com", "blackboard.com", "roche.com", - "mlb.com", "apnews.com", - "qualtrics.com", - "tim.it", "nationalgeographic.com", - "gofundme.com", "frontiersin.org", "espn.com", "thawte.com", @@ -362,7 +525,6 @@ "hp.com", "ceskatelevize.cz", "telenet.be", - "quora.com", "adobe.com", "rottentomatoes.com", "dhl.com", @@ -373,7 +535,6 @@ "indeed.com", "discord.com", "sport.ro", - "hotnews.ro", "ricardo.ch", "stirileprotv.ro", "1177.se", @@ -435,173 +596,1145 @@ "coursera.org", "msn.com", "allaboutcookies.org", - "mashable.com", "chegg.com", - "pcmag.com", "variety.com", "cnn.com", - "barnesandnoble.com", - "politico.com", - "quillbot.com", - "newyorker.com", - "upwork.com", "slack.com", - "mediafax.ro", "proximus.be", - "dn.no", - "elisa.fi", - "blick.ch", - "soundcloud.com", "adevarul.ro", - "tvn24.pl", "cnbc.com", "oe24.at", - "olx.pl", - "gsp.ro", - "fastly.com", - "spotify.com", "salesforce.com", "reuters.com", "booking.com", - "20min.ch", - "olx.ro", - "olx.pt", - "sportal.bg", "bluewin.ch", - "gazeta.pl", "viaplay.dk", "aib.ie", "hbomax.com", "rtlnieuws.nl", "buienradar.be", "viaplay.se", - "met.ie", "instructure.com", "antena3.ro", - "romaniatv.net", - "zdf.de", - "teamviewer.com", - "ted.com", - "tripadvisor.com", - "webmd.com", "statista.com", "pixabay.com", - "cambridge.org", "prnewswire.com", - "investing.com", - "businesswire.com", - "istockphoto.com", - "iso.org", - "quizlet.com", - "gitlab.com", "constantcontact.com", "atlassian.com", "bmj.com", "trendyol.com", - "genius.com", "meetup.com", - "jstor.org", "vmware.com", - "trendmicro.com", - "duolingo.com", "bitbucket.org", - "sophos.com", - "rte.ie", "viaplay.no", - "euro.com.pl", "fiverr.com", - "wired.com", "asana.com", "glassdoor.com", "freepik.com", - "arstechnica.com", - "gartner.com", - "elsevier.com", - "thelancet.com", - "weebly.com", - "olx.bg", "heute.at", "mtvuutiset.fi", "buienradar.nl", - "irishtimes.com", - "libertatea.ro", - "funda.nl", - "otomoto.pl", - "sport.pl", - "novini.bg", - "suomi24.fi", - "playtech.ro", - "sbb.ch", - "stiripesurse.ro", - "atg.se", - "voetbalzone.nl", - "ziare.com", - "rts.ch", - "irishexaminer.com", - "tripadvisor.it", - "thejournal.ie", - "superbet.ro", - "g4media.ro", - "wyborcza.pl", - "nachrichten.at", - "tt.com", - "three.ie", - "tripadvisor.co.uk", - "dcnews.ro", - "vol.at", - "plotek.pl", "nypost.com", - "howstuffworks.com", - "otto.de", - "kaufland.de", - "lidl.de", - "tripadvisor.de" + "panasonic.com", + "safeway.com" + ], + "id": "6c7366a0-4762-47b9-8eeb-04e86cc7a0cc", + "last_modified": 1700826062697 + }, + { + "click": { + "optIn": "button#didomi-notice-agree-button", + "presence": "div#didomi-host" + }, + "schema": 1700313507200, + "cookies": {}, + "domains": [ + "echo24.cz", + "jeuxvideo.com", + "24sata.hr", + "nova.cz", + "lidovky.cz", + "jutarnji.hr", + "vecernji.hr", + "sport.es", + "elespanol.com", + "in-pocasi.cz", + "20minutes.fr", + "actu.fr", + "hbvl.be", + "naszemiasto.pl", + "leboncoin.fr", + "rtbf.be", + "20minutos.es", + "sudinfo.be", + "elpais.com", + "sinoptik.bg", + "lequipe.fr", + "abc.es", + "gva.be", + "eltiempo.es", + "eldiario.es", + "larazon.es", + "extra.cz", + "ladepeche.fr", + "marmiton.org", + "poslovni.hr", + "softonic.com", + "sydsvenskan.se", + "telecinco.es", + "giphy.com", + "filmstarts.de", + "funda.nl", + "idnes.cz", + "aktualne.cz", + "blesk.cz", + "centrum.cz", + "denik.cz", + "csfd.cz", + "hn.cz", + "moviepilot.de" + ], + "id": "af4c5b38-d210-472b-9a07-21cbe53c85ab", + "last_modified": 1700826062692 + }, + { + "click": { + "optIn": ".sp_choice_type_11", + "presence": ".message-container > #notice", + "runContext": "child", + "skipPresenceVisibilityCheck": true + }, + "schema": 1700784006705, + "cookies": {}, + "domains": [ + "hln.be", + "nu.nl", + "vg.no", + "aftonbladet.se", + "voetbalzone.nl", + "ad.nl", + "finn.no", + "sporza.be", + "derstandard.at", + "tori.fi", + "vrt.be", + "spiegel.de", + "aftenposten.no", + "vglive.no", + "oikotie.fi", + "klart.se", + "zeit.de", + "gala.de", + "gala.fr", + "volkskrant.nl", + "tek.no", + "omni.se", + "dpgmediagroup.com", + "economist.com", + "chefkoch.de", + "sport1.de", + "tagesspiegel.de", + "stern.de", + "sport.de", + "giga.de", + "2dehands.be", + "handelsblatt.com" + ], + "id": "c58a0bac-3a5f-43af-93e9-8b5462a6bcb5", + "last_modified": 1700826062689 + }, + { + "click": { + "optIn": "button.cb_accept", + "presence": "[data-module=\"cookieBanner\"]" + }, + "schema": 1700784006705, + "cookies": { + "optIn": [ + { + "host": "ok.ru", + "name": "cookieChoice", + "value": "\"PRIVACY,1,2,3\"", + "unsetValue": "\"\"" + } + ], + "optOut": [ + { + "host": "ok.ru", + "name": "cookieChoice", + "value": "PRIVACY", + "unsetValue": "\"\"" + } + ] + }, + "domains": [ + "ok.ru" + ], + "id": "384b70c3-2458-4dc9-ac6f-d9c5e90cc62a", + "last_modified": 1700826062685 + }, + { + "click": { + "optIn": "button#didomi-notice-agree-button", + "presence": "div#didomi-host" + }, + "schema": 1700784006705, + "cookies": { + "optOut": [ + { + "name": "euconsent-v2", + "value": "CPgejgAPgejgAAHABBENCjCgAAAAAAAAAATIAAAAAACBoAMAAQSCEQAYAAgkEKgAwABBIIZABgACCQQA.YAAAAAAAAAAA" + } + ] + }, + "domains": [ + "b92.net", + "index.hr", + "abv.bg", + "orf.at", + "expressen.se", + "nieuwsblad.be", + "independent.ie", + "telegraaf.nl", + "as.com", + "njuskalo.hr", + "slobodnadalmacija.hr", + "dnevnik.hr", + "nova.bg", + "mundodeportivo.com", + "dn.se", + "ouest-france.fr", + "standaard.be", + "heureka.cz", + "bfmtv.com", + "filmweb.pl", + "expresso.pt", + "lavanguardia.com", + "idealista.com", + "idealista.pt", + "di.se", + "hola.com", + "lesoir.be", + "vesti.bg", + "gloria.hr", + "huffingtonpost.es", + "rtl.be", + "gong.bg", + "okdiario.com", + "dhnet.be", + "lecturas.com", + "elperiodico.com", + "dumpert.nl" + ], + "id": "77885432-826b-4d03-bb3d-dfdd36015a82", + "last_modified": 1700826062681 + }, + { + "click": { + "optIn": "button.fc-cta-consent", + "presence": "div.fc-footer-buttons-container" + }, + "schema": 1700313507200, + "cookies": {}, + "domains": [ + "24chasa.bg" + ], + "id": "97ba1ec3-c8e7-45a0-845f-c732b71bd213", + "last_modified": 1700826062677 + }, + { + "click": { + "optIn": "button#didomi-notice-agree-button", + "optOut": "button#didomi-notice-disagree-button", + "presence": "div#didomi-host" + }, + "schema": 1700784006705, + "cookies": {}, + "domains": [ + "doctolib.fr", + "pravda.sk", + "topky.sk", + "zoznam.sk", + "tvnoviny.sk", + "aukro.cz", + "krone.at", + "cas.sk", + "heureka.sk", + "free.fr", + "markiza.sk", + "willhaben.at", + "francetvinfo.fr" + ], + "id": "690aa076-4a8b-48ec-b52c-1443d44ff008", + "last_modified": 1700826062673 + }, + { + "click": { + "optIn": "button#didomi-notice-agree-button", + "optOut": "span.didomi-continue-without-agreeing", + "presence": "div#didomi-popup" + }, + "schema": 1700313507200, + "cookies": {}, + "domains": [ + "theconversation.com", + "leparisien.fr", + "jofogas.hu", + "orange.fr", + "meteofrance.com", + "subito.it", + "hasznaltauto.hu" + ], + "id": "c1d7be10-151e-4a66-b83b-31a762869a97", + "last_modified": 1700826062669 + }, + { + "click": { + "optIn": "button.osano-cm-accept-all", + "optOut": ".osano-cm-denyAll", + "presence": "div.osano-cm-dialog__buttons" + }, + "schema": 1700784006705, + "cookies": {}, + "domains": [ + "slideshare.net" + ], + "id": "23710ccf-85e6-450e-953d-7ffc3f80bbf0", + "last_modified": 1700826062665 + }, + { + "click": { + "optIn": ".qxOn2zvg.e1sXLPUy", + "presence": ".ulheJb0a" + }, + "schema": 1700784006705, + "cookies": {}, + "domains": [ + "wykop.pl" + ], + "id": "0caa99d5-2b67-44e1-bd45-509d8e785071", + "last_modified": 1700826062661 + }, + { + "click": { + "optIn": ".sc-1olg58b-0.bXsYmb.sc-1olg58b-1.KXemC", + "optOut": ".sc-1olg58b-0.jHiTgL.sc-1olg58b-1.sc-1hth3pd-7.KXemC.kSupJA", + "presence": ".sc-mgoo3k-0.jFxlDH" + }, + "schema": 1700784006705, + "cookies": {}, + "domains": [ + "galaxus.de" + ], + "id": "cc78c082-2dc6-4287-9a7c-168c591810fd", + "last_modified": 1700826062657 + }, + { + "click": { + "optIn": "button.fc-cta-consent", + "presence": "div.fc-footer-buttons-container" + }, + "schema": 1700313507200, + "cookies": {}, + "domains": [ + "plovdiv24.bg" + ], + "id": "1dbf0b53-df44-472c-a126-13740e9d2e39", + "last_modified": 1700826062654 + }, + { + "click": { + "optIn": "button#gdpr-consent-banner-accept-button", + "presence": "div.gdpr-consent-modal-footer" + }, + "schema": 1700313507200, + "cookies": {}, + "domains": [ + "marktplaats.nl" + ], + "id": "2cb11bb1-1d52-45c7-a764-9d2e2be6c310", + "last_modified": 1700826062650 + }, + { + "click": { + "optIn": ".css-15sam98", + "optOut": ".css-1tpwlwl", + "presence": ".css-1243dq3" + }, + "schema": 1700784006705, + "cookies": {}, + "domains": [ + "figma.com" + ], + "id": "e0dd9ba6-6514-4618-a405-3b6458c13272", + "last_modified": 1700826062646 + }, + { + "click": { + "optIn": "[data-testid=\"cookie-wall-accept\"]", + "optOut": "[data-testid=\"cookie-wall-reject\"]", + "presence": "[data-testid=\"cookie-wall-modal\"]" + }, + "schema": 1700784006705, + "cookies": {}, + "domains": [ + "change.org" + ], + "id": "1c3ab910-8635-4007-8ea3-8aeea0c56143", + "last_modified": 1700826062642 + }, + { + "click": { + "optIn": ".dialog-actions-accept-btn", + "optOut": ".dialog-actions-decline-btn", + "presence": "[data-testid=\"cookie-dialog-root\"]" + }, + "schema": 1700784006705, + "cookies": { + "optIn": [ + { + "name": "sq", + "value": "3" + } + ], + "optOut": [ + { + "name": "sq", + "value": "0" + } + ] + }, + "domains": [ + "nike.com" + ], + "id": "719a0a85-a706-4393-9668-0b7123891058", + "last_modified": 1700826062638 + }, + { + "click": { + "optIn": ".agree-button.eu-cookie-compliance-default-button", + "optOut": ".eu-cookie-compliance-default-button.eu-cookie-compliance-reject-button", + "presence": ".eu-cookie-compliance-banner.eu-cookie-compliance-banner-info.eu-cookie-compliance-banner--categories" + }, + "schema": 1700784006705, + "cookies": { + "optIn": [ + { + "name": "_hjFirstSeen", + "value": "1" + } + ] + }, + "domains": [ + "nokia.com" + ], + "id": "c18ccca7-1b7d-4022-b9ca-c725e6030c80", + "last_modified": 1700826062635 + }, + { + "click": { + "optIn": "#accept_all_cookies_button", + "optOut": "#decline_cookies_button", + "presence": "#ccpa_consent_banner", + "runContext": "child" + }, + "schema": 1700313507200, + "cookies": {}, + "domains": [ + "dropbox.com" + ], + "id": "7f82a27a-eaf8-4c16-b15e-66b5efe62fa2", + "last_modified": 1700826062631 + }, + { + "click": { + "optIn": "div._2j0fmugLb1FgYz6KPuB91w > button", + "optOut": "div._2j0fmugLb1FgYz6KPuB91w > button + button", + "presence": "div#cookie-banner, #wcpConsentBannerCtrl" + }, + "schema": 1700313507200, + "cookies": {}, + "domains": [ + "microsoft.com", + "office.com" + ], + "id": "f899d35e-20af-4cfb-9856-143a80b86ba9", + "last_modified": 1700826062627 + }, + { + "click": { + "optIn": "#cookie-disclosure-accept", + "optOut": "#cookie-disclosure-reject", + "presence": "#cookie-disclosure" + }, + "schema": 1700313507200, + "cookies": {}, + "domains": [ + "netflix.com" + ], + "id": "6037802d-9a37-4df2-bf35-9ad60c478725", + "last_modified": 1700826062623 + }, + { + "click": { + "optIn": "#bbccookies-continue-button", + "presence": "#bbccookies" + }, + "schema": 1700313507200, + "cookies": {}, + "domains": [ + "bbc.com", + "bbc.co.uk" + ], + "id": "e9a07bcd-28b5-4034-a663-c017e6a8208e", + "last_modified": 1700826062619 + }, + { + "click": { + "optIn": ".css-1e382ig", + "optOut": ".css-7gbax3", + "presence": "#qc-cmp2-container" + }, + "schema": 1700784006705, + "cookies": {}, + "domains": [ + "nemzetisport.hu" + ], + "id": "da1104e6-0ce0-4956-bd53-fd13c5c2c90b", + "last_modified": 1700826062613 + }, + { + "click": { + "optIn": "button.css-1kpvtti", + "presence": "div#qc-cmp2-container" + }, + "schema": 1700784006705, + "cookies": {}, + "domains": [ + "voetbalprimeur.nl" + ], + "id": "17c60799-e59b-475f-8007-fec046609121", + "last_modified": 1700826062609 + }, + { + "click": { + "optIn": "button.fc-cta-consent", + "presence": "div.fc-footer-buttons-container" + }, + "schema": 1700784006705, + "cookies": {}, + "domains": [ + "rtl.hr" + ], + "id": "1d9f6559-cbc8-4cdb-b5f5-ca24844621d3", + "last_modified": 1700826062605 + }, + { + "click": { + "optIn": "a.wscrOk", + "presence": "div.wscrBannerContent" + }, + "schema": 1700313507200, + "cookies": {}, + "domains": [ + "nordea.com" + ], + "id": "fe09c786-b60e-455e-abd6-212c8878f06a", + "last_modified": 1700826062602 + }, + { + "click": { + "optIn": ".css-ofc9r3", + "optOut": ".css-1jlb8eq", + "presence": "#qc-cmp2-container" + }, + "schema": 1700313507200, + "cookies": {}, + "domains": [ + "car.gr" + ], + "id": "690ce1d3-e595-4181-a109-8f55c1039c81", + "last_modified": 1700826062598 + }, + { + "click": { + "optIn": "button#minf-privacy-accept-btn-screen1-id", + "presence": "div.minf-privacy-rationale" + }, + "schema": 1700313507200, + "cookies": {}, + "domains": [ + "mediaset.it" + ], + "id": "a54d7325-5847-4f20-815f-a938dacd81b4", + "last_modified": 1700826062588 + }, + { + "click": { + "optIn": "button#accept-ufti", + "presence": "div.Modal__Content-sc-1sm9281-2" + }, + "schema": 1700313507200, + "cookies": {}, + "domains": [ + "blocket.se" + ], + "id": "12b031c4-abfd-4156-a83c-5e8418f4a866", + "last_modified": 1700826062585 + }, + { + "click": { + "optIn": "button.fc-cta-consent", + "presence": "div.fc-footer-buttons" + }, + "schema": 1700313507200, + "cookies": {}, + "domains": [ + "abola.pt" + ], + "id": "8e8f6719-0350-4310-8cc1-c00bb51b72b0", + "last_modified": 1700826062581 + }, + { + "click": { + "optIn": "button.fc-cta-consent", + "presence": "div.fc-dialog-container" + }, + "schema": 1700784006705, + "cookies": {}, + "domains": [ + "sme.sk", + "ripost.hu", + "fanatik.ro", + "net.hr", + "freemail.hu", + "marica.bg", + "dn.pt", + "imhd.sk" + ], + "id": "5fd67d61-aaa7-4431-af6f-0f1c31c849fc", + "last_modified": 1700826062572 + }, + { + "click": { + "optIn": ".fc-button-label", + "presence": ".fc-consent-root" + }, + "schema": 1700784006705, + "cookies": {}, + "domains": [ + "framar.bg" + ], + "id": "ff5b2d52-6cc0-47e5-a515-4a31c9207b81", + "last_modified": 1700826062569 + }, + { + "click": { + "optIn": ".cc-btn.cc-allow", + "optOut": ".cc-btn.cc-deny", + "presence": ".cc-window.cc-banner" + }, + "schema": 1700784006705, + "cookies": { + "optOut": [ + { + "name": "cookieconsent_status", + "value": "deny" + } + ] + }, + "domains": [ + "magnite.com" + ], + "id": "8f401b10-02b6-4e05-88fa-c37012d4c8c0", + "last_modified": 1700826062565 + }, + { + "click": { + "optIn": "#pt-accept-all", + "optOut": ".pt-k2L", + "presence": ".pt-VnJ" + }, + "schema": 1700784006705, + "cookies": {}, + "domains": [ + "dagospia.com" + ], + "id": "794449a7-94aa-402a-a32c-3859bec7eff8", + "last_modified": 1700826062558 + }, + { + "click": { + "optIn": "button#button_i_accept", + "presence": "div#consent-info" + }, + "schema": 1700313507200, + "cookies": { + "optIn": [ + { + "name": "cookiesconsent", + "value": "eyJwZXJzb25hbGFkIjp0cnVlLCJsYXN0dmlzaXRlZCI6dHJ1ZX0" + } + ] + }, + "domains": [ + "alo.bg" + ], + "id": "9dcffb37-fccc-4c6f-9127-e9d2b0db7521", + "last_modified": 1700826062554 + }, + { + "click": { + "optIn": ".css-2rlcm4", + "presence": "#qc-cmp2-container" + }, + "schema": 1700313507200, + "cookies": {}, + "domains": [ + "borsonline.hu" + ], + "id": "a1d99e05-e32c-4cf1-931c-25c8baf538ae", + "last_modified": 1700826062551 + }, + { + "click": { + "optIn": "button#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll", + "optOut": "button#CybotCookiebotDialogBodyButtonDecline", + "presence": "div#CybotCookiebotDialog" + }, + "schema": 1700784006705, + "cookies": { + "optOut": [ + { + "name": "CookieConsent", + "value": "{stamp:%277wlvZfVgG/Pfkj1y6Hfoz636NePkdUWVOV+lQLpJefS1O2ny+RqIdg==%27%2Cnecessary:true%2Cpreferences:false%2Cstatistics:false%2Cmarketing:false%2Cmethod:%27explicit%27%2Cver:5%2Cutc:1699462925195%2Ciab2:%27CP07BsAP07BsACGABBENDeCgAAAAAH_AAAAAAAAS4gGgAgABkAEQAJ4AbwA_AEWAJ2AYoBMgC8wGCAS4AAAA.YAAAAAAAAAAA%27%2Cgacm:%271~%27%2Cregion:%27de%27}" + } + ] + }, + "domains": [ + "politiken.dk" + ], + "id": "1006f951-cd51-47cc-9527-5036cef4b85a", + "last_modified": 1700826062547 + }, + { + "click": { + "optIn": "#iubenda-cs-accept-btn iubenda-cs-btn-primary", + "presence": "div#iubenda-cs-banner" + }, + "schema": 1700313507200, + "cookies": {}, + "domains": [ + "3bmeteo.com" + ], + "id": "2625ca4e-dd77-4e72-a6d0-c959f3575ad8", + "last_modified": 1700826062543 + }, + { + "schema": 1700130283852, + "domains": [ + "tumblr.com", + "paypal.com", + "amazon.se", + "amazon.fr", + "amazon.nl", + "amazon.es", + "amazon.co.uk", + "amazon.de", + "amazon.it" + ], + "id": "disabled", + "last_modified": 1700313506967 + }, + { + "click": { + "optOut": ".CookiesAlert_cookiesAlert__3qSl1 .Button_button__3Me73", + "presence": ".CookiesAlert_cookiesAlert__3qSl1" + }, + "schema": 1700130283852, + "domains": [ + "traderjoes.com" + ], + "id": "87cbcbb6-b531-4c9c-889a-aaa5678c06c5", + "last_modified": 1700313506964 + }, + { + "click": { + "hide": "section[aria-label=\"GDPR\"]", + "optOut": "#cancel", + "presence": "#gdpr" + }, + "schema": 1700130283852, + "cookies": { + "optOut": [ + { + "name": "cookies_ok", + "value": "false" + } + ] + }, + "domains": [ + "project529.com" + ], + "id": "a029bf7e-3274-4877-967e-e7517457ac18", + "last_modified": 1700313506961 + }, + { + "click": { + "optIn": ".cookielaw-banner .btn-default", + "presence": ".cookielaw-banner" + }, + "schema": 1700130283852, + "cookies": { + "optIn": [ + { + "name": "cookielaw", + "value": "1" + } + ] + }, + "domains": [ + "openwrt.org" + ], + "id": "14ea41fa-68ac-4c12-b906-7d2a259d5fb7", + "last_modified": 1700313506957 + }, + { + "click": { + "optIn": "div[data-name=\"comp-banner\"] button[aria-label=\"Dismiss\"]", + "presence": "div[data-name=\"comp-banner\"]" + }, + "schema": 1700130283852, + "cookies": { + "optIn": [ + { + "name": "cookieNotification", + "value": "true" + } + ] + }, + "domains": [ + "vegetology.com" + ], + "id": "f7633fd9-05a0-4c21-b9e7-acfcd5df5234", + "last_modified": 1700313506954 + }, + { + "click": { + "optIn": "button#didomi-notice-agree-button", + "presence": "div#didomi-host" + }, + "schema": 1700130283852, + "domains": [], + "id": "didomi", + "last_modified": 1700313506945 + }, + { + "schema": 1699660804881, + "cookies": { + "optOut": [ + { + "name": "js-cookie-opt-in__consent", + "value": "needed" + } + ] + }, + "domains": [ + "netcup.de" + ], + "id": "dea34d82-9c05-4c08-9262-18a7f62be91e", + "last_modified": 1700130283637 + }, + { + "schema": 1699660804881, + "cookies": { + "optOut": [ + { + "name": "CookieConsentDeclined", + "value": "1" + } + ] + }, + "domains": [ + "hetzner.com" + ], + "id": "a8222cf2-8f6c-48df-8215-05a15d4ac592", + "last_modified": 1700130283634 + }, + { + "click": { + "optIn": ".banner-actions-container > #onetrust-accept-btn-handler, #onetrust-button-group > #onetrust-accept-btn-handler, .onetrust-banner-options > #onetrust-accept-btn-handler", + "optOut": ".banner-actions-container > #onetrust-reject-all-handler, #onetrust-button-group > #onetrust-reject-all-handler, .onetrust-banner-options > #onetrust-reject-all-handler", + "presence": "#onetrust-consent-sdk" + }, + "schema": 1699660804881, + "domains": [], + "id": "onetrust", + "last_modified": 1700130283629 + }, + { + "click": {}, + "schema": 1699660804881, + "cookies": { + "optOut": [ + { + "name": "consentLevel", + "value": "1" + }, + { + "name": "euconsent-bypass", + "value": "1" + } + ] + }, + "domains": [ + "web.de", + "gmx.net" + ], + "id": "290db348-ced2-4f16-9954-da476d0aef01", + "last_modified": 1700130283620 + }, + { + "click": { + "optIn": "div.duet--cta--cookie-banner button.py-12", + "optOut": "div.duet--cta--cookie-banner button.text-blurple", + "presence": "div.duet--cta--cookie-banner" + }, + "schema": 1699660804881, + "cookies": {}, + "domains": [ + "theverge.com" + ], + "id": "323bae6b-e146-4318-b8ba-1f819c0cfc53", + "last_modified": 1700130283616 + }, + { + "click": { + "optIn": ".fc-cta-consent", + "optOut": ".fc-cta-do-not-consent", + "presence": ".fc-dialog-container" + }, + "schema": 1697557061727, + "domains": [ + "accuweather.com" + ], + "id": "10B17126-C30B-4EE5-9CF5-A4CAFD361AEB", + "last_modified": 1697710931649 + }, + { + "click": { + "optIn": ".js-disc-cp-accept-all", + "optOut": ".js-disc-cp-deny-all", + "presence": ".disc-cp-modal__modal" + }, + "schema": 1697557061727, + "cookies": { + "optOut": [ + { + "name": "obiConsent", + "value": "c1-1|c2-0|c3-0|c4-0|c5-0|ts-4127464398701|consent-true" + }, + { + "name": "miCookieOptOut", + "value": "1" + } + ] + }, + "domains": [ + "obi.de" + ], + "id": "02BB875E-D588-4C12-9BE8-FD467C050B86", + "last_modified": 1697710931646 + }, + { + "click": { + "optIn": "#cmpwelcomebtnyes a", + "presence": "#cmpbox" + }, + "schema": 1697557061727, + "domains": [ + "mail.ru", + "blic.rs", + "hrt.hr", + "eventim.de" + ], + "id": "EA3C8C1C-8B1A-46A4-8631-750ECC29425A", + "last_modified": 1697710931642 + }, + { + "click": { + "optIn": "#cmpwelcomebtnyes a", + "optOut": "#cmpwelcomebtnno a", + "presence": "#cmpbox" + }, + "schema": 1697557061727, + "domains": [ + "adac.de" + ], + "id": "E46708B7-B378-4AA5-A700-12D7221537A0", + "last_modified": 1697710931639 + }, + { + "schema": 1697557061727, + "cookies": { + "optOut": [ + { + "name": "cookie_consent", + "value": "denied" + }, + { + "name": "marketing_consent", + "value": "denied" + }, + { + "name": "personalization_consent", + "value": "denied" + } + ] + }, + "domains": [ + "arbeitsagentur.de" + ], + "id": "A04DD123-A10F-4665-9C2B-2FB5CC293F42", + "last_modified": 1697710931635 + }, + { + "click": { + "optIn": "button[data-test=\"pwa-consent-layer-accept-all\"]", + "optOut": "button[data-test=\"pwa-consent-layer-deny-all\"]", + "presence": "#mms-consent-portal-container" + }, + "schema": 1697557061727, + "cookies": { + "optOut": [ + { + "name": "pwaconsent", + "value": "v:1.0~required:1&clf:1,cli:1,gfb:1,gtm:1,jot:1,ocx:1|comfort:0&baz:0,cne:0,con:0,fix:0,gfa:0,goa:0,gom:0,grc:0,grv:0,inm:0,lib:0,lob:0,opt:0,orc:0,ore:0,pcl:0,sen:0,sis:0,spe:0,sst:0,swo:0,twi:0,usw:0,usz:0,yte:0|marketing:0&cri:0,eam:0,fab:0,fbc:0,fcm:0,gac:0,gad:0,gcl:0,gcm:0,gdv:0,gos:0,gse:0,msb:0,omp:0,pin:0,ttd:0,twt:0|" + } + ] + }, + "domains": [ + "mediamarkt.de", + "saturn.de" + ], + "id": "2A2B8102-D276-4ECE-AFBD-005E8E917D18", + "last_modified": 1697710931632 + }, + { + "click": { + "optIn": "div[data-tracking-opt-in-accept=\"true\"]", + "presence": "div[data-tracking-opt-in-overlay=\"true\"]" + }, + "schema": 1697557061727, + "domains": [ + "fandom.com" ], - "id": "6c7366a0-4762-47b9-8eeb-04e86cc7a0cc", - "last_modified": 1697710931590 + "id": "D168AF87-F481-4AD7-BE78-28A59F798406", + "last_modified": 1697710931628 }, { "click": { - "optIn": ".sp_choice_type_11", - "presence": ".message-container > #notice", - "runContext": "child" + "optIn": "#consentAcceptAll", + "optOut": "#rejectAll", + "presence": "#__tealiumGDPRecModal" + }, + "schema": 1697557061727, + "domains": [ + "telekom.com", + "telekom.de" + ], + "id": "8907164E-17D8-4D27-B0A3-EDDA59F53DBE", + "last_modified": 1697710931625 + }, + { + "click": { + "optIn": "#dip-consent-summary-accept-all", + "optOut": "#dip-consent-summary-reject-all", + "presence": "#dip-consent" }, "schema": 1697557061727, "cookies": {}, "domains": [ - "thetimes.co.uk", - "qz.com", - "privacy-mgmt.com", - "independent.co.uk", - "gizmodo.com", - "e24.no", - "thesun.co.uk", - "thesun.ie", - "focus.de", - "bild.de", - "computerbild.de", - "bloomberg.com", - "t-online.de", - "wetteronline.de", - "chip.de", - "n-tv.de", - "newsnow.co.uk", - "telegraph.co.uk", - "theguardian.com", - "faz.net", - "sueddeutsche.de", - "rtl.de", - "gutefrage.net", - "express.de", - "tvspielfilm.de", - "finanzen.net", - "tag24.de", - "kino.de", - "heise.de", - "bunte.de" + "vodafone.de" ], - "id": "d42bbaee-f96e-47e7-8e81-efc642518e97", - "last_modified": 1697710931583 + "id": "B85F7D67-D6D4-40EE-8472-A32B6CD01E0E", + "last_modified": 1697710931621 + }, + { + "schema": 1697557061727, + "cookies": { + "optOut": [ + { + "name": "CONSENTMGR", + "value": "c1:1%7Cc2:0%7Cc3:0%7Cc4:0%7Cc5:0%7Cc6:0%7Cc7:0%7Cc8:0%7Cc9:0%7Cc10:0%7Cc11:0%7Cc12:0%7Cc13:0%7Cc14:0%7Cc15:0%7Cts:111697211775123%7Cconsent:true" + }, + { + "name": "request_consent_v", + "value": "3" + } + ] + }, + "domains": [ + "bahn.de" + ], + "id": "D4AD5843-DDBD-4D93-BFBA-F53DD8B53111", + "last_modified": 1697710931618 + }, + { + "schema": 1697557061727, + "cookies": { + "optIn": [ + { + "name": "consent_status", + "value": "true" + } + ], + "optOut": [ + { + "name": "consent_status", + "value": "false" + } + ] + }, + "domains": [ + "immobilienscout24.de" + ], + "id": "3BD1F0DA-BABB-4F75-9B56-C92A1CFD114B", + "last_modified": 1697710931613 + }, + { + "click": { + "optIn": ".cmpboxbtnyes", + "optOut": ".cmpboxbtnsave", + "presence": "#cmpwrapper" + }, + "schema": 1697557061727, + "domains": [ + "gls-pakete.de" + ], + "id": "1D4DDA28-C6FC-489F-B2F3-07EAAB4F5AFE", + "last_modified": 1697710931609 + }, + { + "click": { + "optIn": "button[data-test-id=\"cookie-notice-accept\"]", + "optOut": "button[data-test-id=\"cookie-notice-reject\"]", + "presence": ".cookie-notice" + }, + "schema": 1697557061727, + "cookies": { + "optOut": [ + { + "name": "ECCC", + "value": "e" + } + ] + }, + "domains": [ + "ecosia.org" + ], + "id": "7BA8E4AF-438A-40FE-8941-F921AA1FEA2A", + "last_modified": 1697710931606 }, { "click": { @@ -650,36 +1783,6 @@ "id": "3203ac4e-2454-4022-90fb-d4f51467ce20", "last_modified": 1697710931567 }, - { - "click": { - "optIn": "button.cb_accept", - "presence": "[data-module=\"cookieBanner\"]" - }, - "schema": 1697557061727, - "cookies": { - "optIn": [ - { - "host": "ok.ru", - "name": "cookieChoice", - "value": "\"PRIVACY,1,2,3\"", - "unsetValue": "\"\"" - } - ], - "optOut": [ - { - "host": "ok.ru", - "name": "cookieChoice", - "value": "\"PRIVACY\"", - "unsetValue": "\"\"" - } - ] - }, - "domains": [ - "ok.ru" - ], - "id": "384b70c3-2458-4dc9-ac6f-d9c5e90cc62a", - "last_modified": 1697710931560 - }, { "schema": 1696497904676, "cookies": { @@ -710,17 +1813,6 @@ "id": "FB43FF71-9546-43D1-8B52-D208D1347095", "last_modified": 1696579709252 }, - { - "click": { - "optIn": "button#onetrust-accept-btn-handler", - "optOut": ".ot-pc-refuse-all-handler, #onetrust-reject-all-handler", - "presence": "div#onetrust-consent-sdk" - }, - "schema": 1696497904676, - "domains": [], - "id": "onetrust", - "last_modified": 1696579709242 - }, { "click": { "optIn": "#gdpr-banner-accept", @@ -999,17 +2091,6 @@ "id": "complianz", "last_modified": 1678276263351 }, - { - "click": { - "optIn": "button#didomi-notice-agree-button", - "optOut": "button#didomi-notice-disagree-button", - "presence": "div#didomi-host" - }, - "schema": 1678092903414, - "domains": [], - "id": "didomi", - "last_modified": 1678276263339 - }, { "click": { "optIn": ".sp_choice_type_11", @@ -1356,94 +2437,32 @@ { "click": { "optIn": "button.css-1d0m171", - "presence": "div#qc-cmp2-container" - }, - "schema": 1678236486316, - "cookies": {}, - "domains": [ - "in.gr" - ], - "id": "77896946-2dbf-4b65-9641-9958f9e2a228", - "last_modified": 1678276263267 - }, - { - "click": { - "optIn": "button.fc-cta-consent", - "presence": "div.fc-consent-root" - }, - "schema": 1678092903414, - "cookies": {}, - "domains": [ - "dnes.bg", - "dennikn.sk", - "jn.pt", - "ojogo.pt", - "klik.hr" - ], - "id": "ed097835-3d75-4864-8cdf-ea8fb19b033c", - "last_modified": 1678276263256 - }, - { - "click": { - "optIn": "button#didomi-notice-agree-button", - "optOut": "span.didomi-continue-without-agreeing", - "presence": "div#didomi-popup" - }, - "schema": 1678092903414, - "cookies": {}, - "domains": [ - "theconversation.com", - "leparisien.fr", - "jofogas.hu", - "orange.fr", - "meteofrance.com", - "subito.it", - "hasznaltauto.hu", - "orange.sk" - ], - "id": "c1d7be10-151e-4a66-b83b-31a762869a97", - "last_modified": 1678276263251 - }, - { - "click": { - "optIn": "button#didomi-notice-agree-button", - "optOut": "button#didomi-notice-disagree-button", - "presence": "div#didomi-host" - }, - "schema": 1678092903414, - "cookies": {}, - "domains": [ - "doctolib.fr", - "pravda.sk", - "hnonline.sk", - "topky.sk", - "zoznam.sk", - "tvnoviny.sk", - "aukro.cz", - "krone.at", - "cas.sk", - "heureka.sk", - "free.fr", - "markiza.sk", - "willhaben.at", - "francetvinfo.fr" + "presence": "div#qc-cmp2-container" + }, + "schema": 1678236486316, + "cookies": {}, + "domains": [ + "in.gr" ], - "id": "690aa076-4a8b-48ec-b52c-1443d44ff008", - "last_modified": 1678276263235 + "id": "77896946-2dbf-4b65-9641-9958f9e2a228", + "last_modified": 1678276263267 }, { "click": { - "optIn": "button.figma-mraqo7", - "optOut": "button.figma-1lvfxnf", - "presence": "div.figma-rmmjza" + "optIn": "button.fc-cta-consent", + "presence": "div.fc-consent-root" }, - "schema": 1678236486316, + "schema": 1678092903414, "cookies": {}, "domains": [ - "figma.com" + "dnes.bg", + "dennikn.sk", + "jn.pt", + "ojogo.pt", + "klik.hr" ], - "id": "e0dd9ba6-6514-4618-a405-3b6458c13272", - "last_modified": 1678276263219 + "id": "ed097835-3d75-4864-8cdf-ea8fb19b033c", + "last_modified": 1678276263256 }, { "click": { @@ -1501,21 +2520,6 @@ "id": "12552893-278a-43e6-83ba-1db5267b3d27", "last_modified": 1678276263190 }, - { - "click": { - "optIn": "div[role=dialog] > div > button", - "optOut": "div[role=dialog] > div > button + button", - "presence": "#scrollview + div" - }, - "schema": 1676903765660, - "cookies": {}, - "domains": [ - "instagram.com" - ], - "filter_expression": "env.appinfo.OS != 'Android'", - "id": "e7112653-2ab3-4ddf-b0b1-396052c2f001", - "last_modified": 1677164243797 - }, { "click": { "optIn": "button.snow-ali-kit_Button-Floating__button__ph4zrl", @@ -1601,23 +2605,6 @@ "id": "3d2936df-3ca5-42fc-924b-1144c3d5b424", "last_modified": 1676903765523 }, - { - "click": {}, - "schema": 1676828360243, - "cookies": { - "optOut": [ - { - "name": "CONSENT", - "value": "y" - } - ] - }, - "domains": [ - "framar.bg" - ], - "id": "ff5b2d52-6cc0-47e5-a515-4a31c9207b81", - "last_modified": 1676903765520 - }, { "click": { "optIn": "button#acceptAllCookiesBtn", @@ -1820,20 +2807,6 @@ "id": "e9d772f8-92fd-4e0e-b742-0bfd6555877e", "last_modified": 1676903765471 }, - { - "click": { - "optIn": "button.py-12", - "optOut": "button.text-blurple ", - "presence": "div.duet--cta--cookie-banner" - }, - "schema": 1676900247175, - "cookies": {}, - "domains": [ - "theverge.com" - ], - "id": "323bae6b-e146-4318-b8ba-1f819c0cfc53", - "last_modified": 1676903765467 - }, { "click": {}, "schema": 1676900247175, @@ -1927,23 +2900,6 @@ "id": "b3b80b81-90f0-497f-b78c-53b611d4dfaf", "last_modified": 1676903765444 }, - { - "click": {}, - "schema": 1676900247175, - "cookies": { - "optOut": [ - { - "name": "cookieconsent_status", - "value": "deny" - } - ] - }, - "domains": [ - "rubiconproject.com" - ], - "id": "8f401b10-02b6-4e05-88fa-c37012d4c8c0", - "last_modified": 1676903765441 - }, { "click": {}, "schema": 1676900247175, @@ -2027,23 +2983,6 @@ "id": "67702151-14e2-41c7-af4b-1f22de8185a5", "last_modified": 1676903765422 }, - { - "click": {}, - "schema": 1676900247175, - "cookies": { - "optOut": [ - { - "name": "euconsent-v2", - "value": "CPnLBYAPnLBYABEACBENC3CgAAAAAH_AAAIwJNNf_X__b2_je_5_f_t0eY1P936__-wjjhfdk-8N3f_W_L8X52M7vF36tqoKuRYku3JBIUdlGOHcRUmw6okVpyPsbk2cq7NKJ7PEmnMbOydYGG1_nV5j-QKYp___fv7z_t-q_v_____-7-3Xz__ZX_-u9vO9V9_9xfmt7f3u_9rOf9_Vv-99_1d_3v-39_3f799z-HcEm2v_r__t7_3_f9___26PMav-_9___aZxwvu2_eG7v_r_l-L_7Gd3i79W18FXI8SXbtgkKO2jnTuJqTY9USq15n2NybOV9mlE_nyTT2NvbOsDD-_z-_5_slM9___v__9__________________________________________________________________-____AA" - } - ] - }, - "domains": [ - "gsmarena.com" - ], - "id": "ba7e149e-6879-48a1-b394-c646eb8bb17f", - "last_modified": 1676903765418 - }, { "click": {}, "schema": 1676900247175, @@ -2133,19 +3072,6 @@ "id": "20e1f1c3-0914-42b4-9022-3ce80b79a480", "last_modified": 1676903765387 }, - { - "click": { - "optOut": "button.css-2y11ar", - "presence": "div#qc-cmp2-container" - }, - "schema": 1676900249813, - "cookies": {}, - "domains": [ - "dagospia.com" - ], - "id": "794449a7-94aa-402a-a32c-3859bec7eff8", - "last_modified": 1676903765383 - }, { "click": { "optIn": "button.css-fz9f1h", @@ -2491,46 +3417,6 @@ "id": "051ccd77-b9b3-4558-9c27-5293d8d735f4", "last_modified": 1676903765278 }, - { - "click": { - "optIn": "button#button_i_accept", - "presence": "div#consent-info" - }, - "schema": 1676900248050, - "cookies": { - "optOut": [ - { - "name": "cookiesconsent", - "value": "{\"personalad\":false,\"lastvisited\":false}" - } - ] - }, - "domains": [ - "alo.bg" - ], - "id": "9dcffb37-fccc-4c6f-9127-e9d2b0db7521", - "last_modified": 1676903765274 - }, - { - "click": { - "optIn": "button.fc-cta-consent", - "presence": "div.fc-footer-buttons" - }, - "schema": 1676900248050, - "cookies": { - "optOut": [ - { - "name": "FCCDCF", - "value": "%5Bnull%2Cnull%2Cnull%2C%5B%22CPgrvQAPgrvQAEsABCHUCkCgAAAAAAAAAA6gAAAOhQD2F2K2kKEkfjSUWYAQBCujIEIhUAAAAEKBIAAAAUgQAgFIIAgABlACEAAAABAQAQCAgAQABAAAoICgAAAAAAAAAAAAAAQQAABAAIAAAAAAAAEAQAAIAAQgAAAAAABEhCAAQQAEAAAAAAAAAAAAAAAAAAABAAA.YAAAAAAAAAA%22%2C%221~%22%2C%22BE54AC19-BDB4-438E-8831-5753F1812A3D%22%5D%2Cnull%2Cnull%2C%5B%5D%5D" - } - ] - }, - "domains": [ - "borsonline.hu" - ], - "id": "a1d99e05-e32c-4cf1-931c-25c8baf538ae", - "last_modified": 1676903765270 - }, { "click": { "optIn": "button.sfc-button--primary-white", @@ -2637,27 +3523,6 @@ "id": "9e16f526-4d46-4c2e-a3ed-d3b43d67b4fb", "last_modified": 1676903765244 }, - { - "click": { - "optIn": "button#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll", - "optOut": "button#CybotCookiebotDialogBodyButtonDecline", - "presence": "div#CybotCookiebotDialog" - }, - "schema": 1676900248050, - "cookies": { - "optOut": [ - { - "name": "CookieConsent", - "value": "{stamp:%27m3maYSZu/SYJKH8MjsFeXQqfJ6HEoUz/rOOar/5mBa4CquRWj+4qYw==%27%2Cnecessary:true%2Cpreferences:false%2Cstatistics:false%2Cmarketing:false%2Cver:3%2Cutc:1665654078504%2Ciab2:%27CPgyVIAPgyVIACGABBENCkCgAAAAAH_AAAAAAAALzgFAAgABkAEQAJ4AfgCLAGKANoAmQBeYAwYAOACAAGQARAAngGKANoAvMUADAMUAbQBeYwAEAYoBeZQAMADIAIgATwCLAGKANoSABABEANoQAAgG0AAA.YAAAAAAAAAAA%27%2Cgacm:%271~%27%2Cregion:%27ro%27}" - } - ] - }, - "domains": [ - "politiken.dk" - ], - "id": "1006f951-cd51-47cc-9527-5036cef4b85a", - "last_modified": 1676903765240 - }, { "click": { "optIn": "button#almacmp-modalConfirmBtn", @@ -3451,89 +4316,6 @@ "id": "befe1d72-f33a-4e63-be43-236bedc3b49a", "last_modified": 1676903765008 }, - { - "click": { - "optIn": "button#didomi-notice-agree-button", - "presence": "div#didomi-host" - }, - "schema": 1676900251552, - "cookies": { - "optOut": [ - { - "name": "euconsent-v2", - "value": "CPgejgAPgejgAAHABBENCjCgAAAAAAAAAATIAAAAAACBoAMAAQSCEQAYAAgkEKgAwABBIIZABgACCQQA.YAAAAAAAAAAA" - } - ] - }, - "domains": [ - "b92.net", - "index.hr", - "abv.bg", - "orf.at", - "expressen.se", - "nieuwsblad.be", - "idnes.cz", - "independent.ie", - "telegraaf.nl", - "as.com", - "njuskalo.hr", - "slobodnadalmacija.hr", - "aktualne.cz", - "dnevnik.hr", - "nova.bg", - "mundodeportivo.com", - "dn.se", - "blesk.cz", - "ouest-france.fr", - "centrum.cz", - "denik.cz", - "csfd.cz", - "standaard.be", - "heureka.cz", - "bfmtv.com", - "filmweb.pl", - "expresso.pt", - "lavanguardia.com", - "idealista.com", - "idealista.pt", - "di.se", - "hola.com", - "lesoir.be", - "vesti.bg", - "gloria.hr", - "huffingtonpost.es", - "rtl.be", - "hn.cz", - "gong.bg", - "okdiario.com", - "dhnet.be", - "lecturas.com", - "elperiodico.com", - "dumpert.nl" - ], - "id": "77885432-826b-4d03-bb3d-dfdd36015a82", - "last_modified": 1676903764990 - }, - { - "click": { - "optIn": "span.a-button-inner", - "optOut": "a#sp-cc-rejectall-link", - "presence": "form#sp-cc" - }, - "schema": 1676900248923, - "cookies": {}, - "domains": [ - "amazon.se", - "amazon.fr", - "amazon.nl", - "amazon.es", - "amazon.co.uk", - "amazon.de", - "amazon.it" - ], - "id": "1653780d-92d7-4677-acb0-6427a7bbdeba", - "last_modified": 1676903764965 - }, { "click": { "optIn": "button.css-k8o10q", @@ -3551,42 +4333,8 @@ "meteo.gr", "fantacalcio.it" ], - "id": "25dd408a-0a98-4e93-992c-abd320255cd1", - "last_modified": 1676903764958 - }, - { - "click": { - "optIn": "button.iubenda-cs-accept-btn", - "optOut": "button.iubenda-cs-close-btn", - "presence": "div#iubenda-cs-banner" - }, - "schema": 1676900248050, - "cookies": {}, - "domains": [ - "3bmeteo.com", - "ansa.it" - ], - "id": "2625ca4e-dd77-4e72-a6d0-c959f3575ad8", - "last_modified": 1676903764951 - }, - { - "click": { - "optIn": "button.fc-cta-consent", - "presence": "div.fc-dialog-container" - }, - "schema": 1676900249813, - "cookies": {}, - "domains": [ - "sme.sk", - "ripost.hu", - "fanatik.ro", - "net.hr", - "freemail.hu", - "marica.bg", - "dn.pt" - ], - "id": "5fd67d61-aaa7-4431-af6f-0f1c31c849fc", - "last_modified": 1676903764937 + "id": "25dd408a-0a98-4e93-992c-abd320255cd1", + "last_modified": 1676903764958 }, { "click": { @@ -3711,39 +4459,6 @@ "id": "4d4b2924-6e28-4d39-9a02-e31690746ab2", "last_modified": 1674560738364 }, - { - "click": { - "optIn": "button.text-jalapeño-70", - "presence": "section.bottom-0" - }, - "schema": 1674146203493, - "cookies": {}, - "domains": [ - "shopify.com" - ], - "id": "531324c9-83ba-4ba3-a488-3ebde87b10af", - "last_modified": 1674560738361 - }, - { - "click": { - "optIn": "button.osano-cm-accept-all", - "presence": "div.osano-cm-dialog__buttons" - }, - "schema": 1674146203493, - "cookies": { - "optOut": [ - { - "name": "osano_consentmanager", - "value": "YsI6iYzib6nSBOK6D61-a6M0e1Cgk0B-MFLyyCSPPQ-GfL4knxA8syVY4wEmm3isBY6aDBQm2FGawF-2ou-zYT-hd5u78BRUjnQWaBnz9067nHpfBEIAnrgNH_unK6ew1HdgSLm-Y3_zOPFRQjVqFiC9Bdw3bcfqkdAJ6LzJ7arDUdh5ElFZpnBk5JsAeech5COxlZnJ8niJ4_4T3KO99S87PK3GK-SnwCvGHM02U9xoD3TeMNCTvi87ToGdcqfHEnCeLaExAXVrX7_RRXjc_UBOFmw=" - } - ] - }, - "domains": [ - "slideshare.net" - ], - "id": "23710ccf-85e6-450e-953d-7ffc3f80bbf0", - "last_modified": 1674560738357 - }, { "click": { "optIn": "button.osano-cm-accept-all", @@ -4063,23 +4778,6 @@ "id": "27d9194f-f908-4cb8-8f57-ddb899a06a4e", "last_modified": 1674560738252 }, - { - "click": {}, - "schema": 1674521303759, - "cookies": { - "optOut": [ - { - "name": "euconsent-v2", - "value": "CPl3Ye8Pl3Ye8ExAAAENCzCgAAAAAAPAAAAAJNQAASbAJMNW4gC7EscCbQMIoEQIwrCQigUAEFAMLRAQAODgp2VgE-sIEACAUARgRAhwBRgQCAAACAJCIAJAiwQAAAiAQAAgAQCIQAEDAIKACwMAgABANAxRCgAECQAyICIpTAgIgSCAlsqEEoLpDTCAKssAKARGwUACIAABWAAICwcAwRICViwQJMQbZACMEKAUSoVqCT00AAAA.YAAAAAAAAAAA" - } - ] - }, - "domains": [ - "wykop.pl" - ], - "id": "0caa99d5-2b67-44e1-bd45-509d8e785071", - "last_modified": 1674560738248 - }, { "click": { "optIn": "button.css-fxmqu", @@ -4107,20 +4805,6 @@ "id": "35db03d9-02c9-4558-a31b-aa4a20d6dbaa", "last_modified": 1674560738241 }, - { - "click": { - "optIn": "button.gNAFlQ", - "optOut": "button.icQuAi", - "presence": "div.jQiNXQ" - }, - "schema": 1674521303759, - "cookies": {}, - "domains": [ - "galaxus.de" - ], - "id": "cc78c082-2dc6-4287-9a7c-168c591810fd", - "last_modified": 1674560738233 - }, { "click": { "optIn": "a.js-accept-cookies", @@ -4227,26 +4911,6 @@ "id": "ef9bacb9-d248-4129-baed-354a45277750", "last_modified": 1674560738197 }, - { - "click": { - "optIn": "button.fc-cta-consent", - "presence": "div.fc-footer-buttons-container" - }, - "schema": 1674521304583, - "cookies": { - "optOut": [ - { - "name": "FCCDCF", - "value": "%5Bnull%2Cnull%2Cnull%2C%5B%22CPgbQkAPgbQkAEsABCBGCjCgAAAAAAAAAAIwAAAOhQD2F2K2kKEkfjSUWYAQBCujIEIBUAAAAECBIAAAAUgQAgFIIAgAAlACAAAAABAQAQCAgAQABAAAoACgACAAAAAAAAAAAAQQAABAAIAAAAAAAAEAQAAAAAQAAAAAAABEhCAAQQAEAAAAAAAAAAAAAAAAAAABAAA.YAAAAAAAAAA%22%2C%221~%22%2C%22FA11CE3A-809E-4B87-BFDE-13E9DE22F419%22%5D%2Cnull%2Cnull%2C%5B%5D%5D" - } - ] - }, - "domains": [ - "24chasa.bg" - ], - "id": "97ba1ec3-c8e7-45a0-845f-c732b71bd213", - "last_modified": 1674560738193 - }, { "click": { "optIn": "button#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll", @@ -4321,46 +4985,6 @@ "id": "abc3a8c3-6a15-48a6-83eb-4f7762df9270", "last_modified": 1674560738175 }, - { - "click": { - "optIn": "button.fc-cta-consent", - "presence": "div.fc-footer-buttons-container" - }, - "schema": 1674521304583, - "cookies": { - "optOut": [ - { - "name": "FCCDCF", - "value": "%5Bnull%2Cnull%2Cnull%2C%5B%22CPgejgAPgejgAEsABCBGCkCgAAAAAAAAAAIwAAAOhQD2F2K2kKEkfjSUWYAQBCujIEIhUAAAAECBIAAAAUgQAgFIIAgAAlACAAAAABAQAQCAgAQABAAAoACgAAAAAAAAAAAAAAQQAABAAIAAAAAAAAEAQAAIAAQAAAAAAABEhCAAQQAEAAAAAAAAAAAAAAAAAAABAAA.YAAAAAAAAAA%22%2C%221~%22%2C%22B14550D2-2C81-4087-B1D1-A35C539B751B%22%5D%2Cnull%2Cnull%2C%5B%5D%5D" - } - ] - }, - "domains": [ - "plovdiv24.bg" - ], - "id": "1dbf0b53-df44-472c-a126-13740e9d2e39", - "last_modified": 1674560738171 - }, - { - "click": { - "optIn": "button#gdpr-consent-banner-accept-button", - "presence": "div.gdpr-consent-modal-footer" - }, - "schema": 1674521304583, - "cookies": { - "optOut": [ - { - "name": "MpTCString", - "value": "CPggWskPggWskE0ACCNLBiCgAAAAAAAAABpYAAAO8gFgA4AM-AwQBt4DcQG5gN8AdiA7YB3IDvAAAAAA.YAAAAAAAAYAA" - } - ] - }, - "domains": [ - "marktplaats.nl" - ], - "id": "2cb11bb1-1d52-45c7-a764-9d2e2be6c310", - "last_modified": 1674560738168 - }, { "click": { "optIn": "button.fc-cta-consent", @@ -4606,27 +5230,6 @@ "id": "37319f5d-9484-4da8-aee1-570a78688da3", "last_modified": 1674560738073 }, - { - "click": { - "optIn": "button#acceptAllButton", - "optOut": "button#bannerDeclineButton", - "presence": "div#gdprCookieBanner" - }, - "schema": 1674521303759, - "cookies": { - "optOut": [ - { - "name": "cookie_prefs", - "value": "T%3D0%2CP%3D0%2CF%3D0%2Ctype%3Dexplicit_banner" - } - ] - }, - "domains": [ - "paypal.com" - ], - "id": "3f1e21e7-327f-42de-ac40-25da7f4fa7c9", - "last_modified": 1674560738069 - }, { "click": { "optIn": "button.cmp-intro_acceptAll", @@ -4720,20 +5323,6 @@ "id": "85205acd-fa99-438e-b353-2b40adfdf868", "last_modified": 1671383798347 }, - { - "click": { - "optIn": "button.corgi__sc-140l2f3-1", - "optOut": "button.corgi__sc-1k5bfrh-3", - "presence": "div.bJyFEZ" - }, - "schema": 1671324525745, - "cookies": {}, - "domains": [ - "change.org" - ], - "id": "1c3ab910-8635-4007-8ea3-8aeea0c56143", - "last_modified": 1671383798343 - }, { "click": { "optIn": "button#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll", @@ -5191,32 +5780,6 @@ "id": "2952e826-d897-431b-866d-f8ed95f4db64", "last_modified": 1670498157658 }, - { - "click": { - "optIn": "span#hf_cookie_text_cookieAccept", - "presence": "div.pre-cookie-modal-body" - }, - "schema": 1670460524526, - "cookies": { - "optIn": [ - { - "name": "sq", - "value": "3" - } - ], - "optOut": [ - { - "name": "sq", - "value": "0" - } - ] - }, - "domains": [ - "nike.com" - ], - "id": "719a0a85-a706-4393-9668-0b7123891058", - "last_modified": 1670498157651 - }, { "click": { "optIn": "button.consent-btn", @@ -5620,27 +6183,6 @@ "id": "b6fda273-20bf-4e49-8a2b-fe2afdcc12da", "last_modified": 1670498157472 }, - { - "click": { - "optIn": "button#modalAcceptAllBtn", - "optOut": "button#modalRejectAllFirstLayerBtn", - "presence": "div#cmp-modal" - }, - "schema": 1670460526327, - "cookies": { - "optIn": [ - { - "name": "_hjFirstSeen", - "value": "1" - } - ] - }, - "domains": [ - "nokia.com" - ], - "id": "c18ccca7-1b7d-4022-b9ca-c725e6030c80", - "last_modified": 1670498157453 - }, { "click": { "optIn": "button.closeButton", @@ -5824,34 +6366,6 @@ "id": "286028cd-7cb7-4c71-91a7-ae1a23df8a31", "last_modified": 1670498157378 }, - { - "click": { - "optIn": ".evidon-banner-acceptbutton", - "optOut": ".evidon-banner-declinebutton", - "presence": "div.evidon-banner" - }, - "schema": 1670460527205, - "cookies": {}, - "domains": [ - "dropbox.com" - ], - "id": "7f82a27a-eaf8-4c16-b15e-66b5efe62fa2", - "last_modified": 1670498157375 - }, - { - "click": { - "optIn": "div.uiLayer div > button[type=submit]", - "optOut": "div.uiLayer div > button + button[type=submit]", - "presence": "div#cookie-banner" - }, - "schema": 1670460527205, - "cookies": {}, - "domains": [ - "azure.microsoft.com" - ], - "id": "f899d35e-20af-4cfb-9856-143a80b86ba9", - "last_modified": 1670498157367 - }, { "click": { "optIn": "div.global-alert-banner button[action-type=ACCEPT]", @@ -5932,85 +6446,24 @@ } ] }, - "domains": [ - "getpocket.com" - ], - "id": "c2f6b05e-73dc-4df4-bb54-68215bb9f176", - "last_modified": 1670498157308 - }, - { - "click": { - "optIn": "button#truste-consent-button", - "presence": "div#truste-consent-track" - }, - "schema": 1670460527205, - "cookies": {}, - "domains": [ - "forbes.com" - ], - "id": "30293090-f064-473a-ae0f-cd390507c1c7", - "last_modified": 1670498157304 - }, - { - "click": { - "optIn": "button.btn-accept", - "optOut": "button.btn-reject", - "presence": "div#cookie-disclosure" - }, - "schema": 1670460527205, - "cookies": {}, - "domains": [ - "netflix.com" - ], - "id": "6037802d-9a37-4df2-bf35-9ad60c478725", - "last_modified": 1670498157297 - }, - { - "click": {}, - "schema": 1670460528099, - "cookies": { - "optOut": [ - { - "name": "ckns_explicit", - "value": "2" - }, - { - "name": "ckns_policy", - "value": "000" - }, - { - "name": "ckns_privacy", - "value": "july2019" - } - ] - }, - "domains": [ - "bbc.com", - "bbc.co.uk" - ], - "id": "e9a07bcd-28b5-4034-a663-c017e6a8208e", - "last_modified": 1670498157293 - }, - { - "click": {}, - "schema": 1670460528099, - "cookies": { - "optOut": [ - { - "name": "consentLevel", - "value": "1" - }, - { - "name": "euconsent-bypass", - "value": "1" - } - ] + "domains": [ + "getpocket.com" + ], + "id": "c2f6b05e-73dc-4df4-bb54-68215bb9f176", + "last_modified": 1670498157308 + }, + { + "click": { + "optIn": "button#truste-consent-button", + "presence": "div#truste-consent-track" }, + "schema": 1670460527205, + "cookies": {}, "domains": [ - "web.de" + "forbes.com" ], - "id": "290db348-ced2-4f16-9954-da476d0aef01", - "last_modified": 1670498157286 + "id": "30293090-f064-473a-ae0f-cd390507c1c7", + "last_modified": 1670498157304 }, { "click": {}, @@ -6093,27 +6546,6 @@ "id": "709f87b8-b010-4d32-b32d-3f265963c6a5", "last_modified": 1670498157264 }, - { - "click": {}, - "schema": 1670460528099, - "cookies": { - "optOut": [ - { - "name": "euconsent-v2", - "value": "1" - }, - { - "name": "euconsent-v2-noniab", - "value": "AAYA" - } - ] - }, - "domains": [ - "tumblr.com" - ], - "id": "e8f941e6-ac56-4dec-b682-a75e8bd52aae", - "last_modified": 1670498157250 - }, { "click": {}, "schema": 1670460528099, @@ -6497,30 +6929,6 @@ "id": "0bee4c78-484e-4f21-8585-f089bc7618f5", "last_modified": 1670498156804 }, - { - "click": { - "optIn": "button.fc-cta-consent", - "presence": "div.fc-footer-buttons" - }, - "schema": 1670460537691, - "cookies": { - "optOut": [ - { - "name": "cto_bundle", - "value": "DkANH185MkxWWGtYemZxZzZibU9McFE1NE1GNGVDeXN6aWFyJTJCWVJLaXNtTjgyTXlpa0I0JTJGT1lXazBRODJhMTJsdTQ3THBDdHRaRWkwZFZUNlFkNGFNa2NTaTlzS3E1RmF1djBTcGN5SFozTTBPcFglMkZMNDVHJTJCek94JTJCQ1dYNjklMkZMUFlmdQ" - }, - { - "name": "euconsent-v2", - "value": "CPgyVIAPgyVIAAKAsAELCkCsAP_AAH_AAAyIJDtd_H__bW9r-f5_aft0eY1P9_r37uQzDhfNk-8F3L_W_LwX52E7NF36tq4KmR4ku1LBIUNlHMHUDUmwaokVryHsak2cpzNKJ7BEknMZOydYGF9vmxtj-QKY7_5_d3bx2D-t_9v239z3z81Xn3d53-_03LCdV5_9Dfn9fR_bc9KPt_58v8v8_____3_e__3_7994JEAEmGrcQBdmWODNoGEUCIEYVhIVQKACCgGFogMAHBwU7KwCfWECABAKAIwIgQ4AowIBAAAJAEhEAEgRYIAAARAIAAQAIhEIAGBgEFgBYGAQAAgGgYohQACBIQZEBEUpgQFQJBAa2VCCUF0hphAHWWAFBIjYqABEEgIrAAEBYOAYIkBKxYIEmKN8gBGCFAKJUK1EAAAA.f_gAAAAAAAAA" - } - ] - }, - "domains": [ - "nemzetisport.hu" - ], - "id": "da1104e6-0ce0-4956-bd53-fd13c5c2c90b", - "last_modified": 1670498156800 - }, { "click": { "optIn": "button#truste-consent-button", @@ -6575,40 +6983,6 @@ "id": "0b8969b6-d5a1-4358-967b-524a2c998233", "last_modified": 1670498156769 }, - { - "click": { - "optIn": "button.css-1kpvtti", - "presence": "div#qc-cmp2-container" - }, - "schema": 1670460536815, - "cookies": { - "optIn": [ - { - "name": "cookie_consent", - "value": "true" - }, - { - "name": "cto_bundle", - "value": "kjdgil90b1NYZk11R2FLSXNXTVpjSngzd3VTQUNpY1dzVWxvMGMzZkYlMkJCSENrblpmT2hkdlNLUEF4aGNJeFBrTiUyRmdXRm9aa2lSTVo4elFLbzJGZG56dkpocGN0T2dVV2hYMCUyQllGSkJWYnR1cjNEdnhDS2ZlVVcyMUR0U1BHU2V2SHRIZQ" - } - ], - "optOut": [ - { - "name": "euconsent-v2", - "value": "CPgvCMAPgvCMAAKAsBNLCkCgAAAAAH_AABpYAAASIAJMNW4gC7MscGbQMIoEQIwrCQqgUAEFAMLRAYAODgp2VgE-sIEACAUARgRAhwBRgQCAAASAJCIAJAiwQAAAiAQAAgARCIQAMDAILACwMAgABANAxRCgAECQgyICIpTAgKgSCAlsqEEoLpDTCAOssAKCRGxUACIJARWAAICwcAwRICViwQJMUb5ACMEKAUSoVqIAAAAA.YAAAAAAAAAAA" - }, - { - "name": "addtl_consent", - "value": "1~" - } - ] - }, - "domains": [ - "voetbalprimeur.nl" - ], - "id": "17c60799-e59b-475f-8007-fec046609121", - "last_modified": 1670498156765 - }, { "click": { "optIn": "a#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll", @@ -6623,32 +6997,6 @@ "id": "a1bb84f0-e248-4576-8cd5-722622120a7d", "last_modified": 1670498156759 }, - { - "click": { - "optIn": "button.fc-cta-consent", - "presence": "div.fc-footer-buttons-container" - }, - "schema": 1670460536815, - "cookies": { - "optIn": [ - { - "name": "FCNEC", - "value": "%5B%5B%22AKsRol8dX3obOP7yDUss1XiFtDeudrjxUqYpP-rhMQ4efd-tCsA-zwr0QEIFFzJqFPlqONzKSl_dmYl2Hz5ExOkq0Ddboia9nRAZW9HKJKqbq84FAUkt7fH8n_ttCQMi3xDh6FUQi3u0z8HbAboNtASE5TTkNhan1w%3D%3D%22%5D%2Cnull%2C%5B%5D%5D" - } - ], - "optOut": [ - { - "name": "FCCDCF", - "value": "%5Bnull%2Cnull%2Cnull%2C%5B%22CPgvCMAPgvCMAEsABCHRCkCgAAAAAAAAAA6IAAARTY7-N262v7O8fnfUebo0Rq-r-Uv1cBmHCOLRo4BOX8t-VgH-sJ2ALt0aVgRMjxJZqQCQgISAJOICpNi0RIqWiGQQAkxRAaQQ2DJILYy8sCgIJIfFxKCsAUzy9zcSM7zklvx3Tf9v7lut7rrfiZet8HLoXGz9xbaNtbe8AIywcE4ZqSVrxaZ-d__pmcAA.YAAAAAAAAAA%22%2C%221~%22%2C%228B9BF72F-C252-4FA2-A91E-8632E50EC476%22%5D%2Cnull%2Cnull%2C%5B%5D%5D" - } - ] - }, - "domains": [ - "rtl.hr" - ], - "id": "1d9f6559-cbc8-4cdb-b5f5-ca24844621d3", - "last_modified": 1670498156755 - }, { "click": { "optIn": "a#cn-accept-cookie", @@ -6690,32 +7038,6 @@ "id": "40746884-0f10-4e12-ab0d-2a4410b1e0f9", "last_modified": 1670498156737 }, - { - "click": { - "optIn": "a.wscrOk", - "presence": "div.wscrBannerContent" - }, - "schema": 1670460536815, - "cookies": { - "optIn": [ - { - "name": "wscrCookieConsentShared", - "value": "1=true&2=true&3=true&4=true&5=true&visitor=03bfbe89-44d7-4da3-ad3f-a1a8a8285257&version=20221005-001" - } - ], - "optOut": [ - { - "name": "wscrCookieConsentShared", - "value": "1=true&2=false&3=false&4=false&5=false&visitor=5698152c-e2fd-4076-b411-f8baed432e40&version=20221005-001" - } - ] - }, - "domains": [ - "nordea.com" - ], - "id": "fe09c786-b60e-455e-abd6-212c8878f06a", - "last_modified": 1670498156716 - }, { "click": { "optIn": "a#kmcc-accept-all-cookies", @@ -6805,32 +7127,6 @@ "id": "c9ea0470-beac-43b9-aed1-d77042592d83", "last_modified": 1670498156616 }, - { - "click": { - "optIn": "button.css-ofc9r3", - "presence": "div.qc-cmp2-summary-buttons" - }, - "schema": 1670460535835, - "cookies": { - "optIn": [ - { - "name": "policy", - "value": "[\"performance\",\"advertising\",\"essential\"]" - } - ], - "optOut": [ - { - "name": "addtl_consent", - "value": "1" - } - ] - }, - "domains": [ - "car.gr" - ], - "id": "690ce1d3-e595-4181-a109-8f55c1039c81", - "last_modified": 1670498156596 - }, { "click": { "optIn": "button.css-k8o10q", @@ -7043,32 +7339,6 @@ "id": "3cfb8e27-c0b3-46c0-bee2-f4eef9c2a548", "last_modified": 1670498156409 }, - { - "click": { - "optIn": "button.optanon-allow-all", - "presence": "div.optanon-alert-box-wrapper" - }, - "schema": 1670460533399, - "cookies": { - "optIn": [ - { - "name": "beta_optin", - "value": "N:27:-1" - } - ], - "optOut": [ - { - "name": "OptanonConsent", - "value": "isIABGlobal=false&datestamp=Mon+Oct+10+2022+12%3A22%3A59+GMT%2B0300+(Eastern+European+Summer+Time)&version=5.11.0&landingPath=NotLandingPage&groups=1%3A1%2C3%3A0%2C4%3A0&consentId=46d31f45-9548-49c1-8ff5-d2df4784f238" - } - ] - }, - "domains": [ - "rightmove.co.uk" - ], - "id": "9319d649-88db-4b21-a276-664cfc9090a7", - "last_modified": 1670498156406 - }, { "click": { "optIn": "button.cookiebtn", @@ -7108,32 +7378,6 @@ "id": "4e504e16-4d0e-4a57-bb3c-b6349d1a5653", "last_modified": 1670498156372 }, - { - "click": { - "optIn": "button#gdpr-consent-banner-accept-button", - "presence": "div.gdpr-consent-banner" - }, - "schema": 1670460532281, - "cookies": { - "optIn": [ - { - "name": "cto_bundle", - "value": "6LSRR19vaVVnVjdSWHlPZmtPSzM0bmIlMkJ4OVVFVDNDNm9MMTZ3WVYzUHhsTm1OTjZpZ0poOEl1bVNFWGp5VXB5ZSUyQnJ3RENpM25WN1QzeUxQckxjSmlyelhydmdRRzg1RlpmRXNsaE1tSGZDSXEzJTJGNG5MbEF1ZiUyQkZTVWgxbnR1bGQzRW0wdFpyakhINVM4SXpkbk9PJTJGdXQ4SE1nJTNEJTNE" - } - ], - "optOut": [ - { - "name": "rbzid", - "value": "9B4wIoP8rsa+1YSv57XFo/uUSV+sZUNn9YHPdzFdQ9vj99CJquEXFnM9Icin8eAg4s61utnrutr/pbB4VnjxhdpAYo9E4+hvwG1ldnRSNgrgH67CESdXEK8ui4aWrxYINvbBwjSgrFpKg31SfphpXBJ+Rn2DUGX8HsLFm6gd0Erqfm1LGPuP0KbsVo+XacG5fDA4pTQ8CorfGyH8TTH9hIe9NozfxGveJAX7VoPFDpH7+Vmj9DlOUQ4kVR80UIhm" - } - ] - }, - "domains": [ - "2dehands.be" - ], - "id": "7626055f-07fb-4e9b-8df3-73c0b4b2e1de", - "last_modified": 1670498156368 - }, { "click": { "optIn": "button.gdpr-lmd-button--main", @@ -7216,20 +7460,6 @@ "id": "032bda24-ffad-4283-a36b-e1c1dd0c46d7", "last_modified": 1670498156304 }, - { - "click": { - "optIn": "button#minf-privacy-accept-btn-screen1-id", - "optOut": "button#minf-privacy-open-modal-btn-id", - "presence": "div.minf-privacy-rationale" - }, - "schema": 1670460532281, - "cookies": {}, - "domains": [ - "mediaset.it" - ], - "id": "a54d7325-5847-4f20-815f-a938dacd81b4", - "last_modified": 1670498156285 - }, { "click": { "optIn": "button#ocm-button.ocm-button--accept-all", @@ -7285,26 +7515,6 @@ "id": "c3f6134c-061a-4828-ab89-b6f12015a1f3", "last_modified": 1670498156225 }, - { - "click": { - "optIn": "button#accept-ufti", - "presence": "div.Modal__Content-sc-1sm9281-2" - }, - "schema": 1670460531110, - "cookies": { - "optOut": [ - { - "name": "ufti", - "value": "%7B%22facebook%22%3Afalse%2C%22google%22%3Afalse%2C%22version%22%3A2%7D" - } - ] - }, - "domains": [ - "blocket.se" - ], - "id": "12b031c4-abfd-4156-a83c-5e8418f4a866", - "last_modified": 1670498156197 - }, { "click": { "optIn": "button#usage_notice_button", @@ -7391,26 +7601,6 @@ "id": "9944d588-486e-4f01-a5b9-17d1e9cc744a", "last_modified": 1670498156137 }, - { - "click": { - "optIn": "button.fc-cta-consent", - "presence": "div.fc-footer-buttons" - }, - "schema": 1670460530088, - "cookies": { - "optOut": [ - { - "name": "FCCDCF", - "value": "%5Bnull%2Cnull%2Cnull%2C%5B%22CPgbQkAPgbQkAEsABCPTCjCgAAAAAAAAAB6YAAARbY7-N262v7O8fnfUebo0Rq-r-Uv1cBmHCOLRo4BOX8t-VgH-sJ2ALt0aVgRMjxJZqQCQgISAJOICpNi0RKqWiGQQAkxRAaQQ2DJILYy8sCgIJofFxKCsAUzy9zcSM7zklvx3Tf9v7lut77r_iZet8HfpfG39xbbNtba8AJzwcE4ZqSVr16d-d__pmclAAA%22%2C%221~%22%2C%22862FB90F-02B3-4D6C-AFCB-6D85B90158EA%22%5D%2Cnull%2Cnull%2C%5B%5D%5D" - } - ] - }, - "domains": [ - "abola.pt" - ], - "id": "8e8f6719-0350-4310-8cc1-c00bb51b72b0", - "last_modified": 1670498156127 - }, { "click": { "optIn": "button.css-pp-ok", @@ -7718,20 +7908,6 @@ "id": "d4117908-bde7-4950-a41b-188ebd8331ad", "last_modified": 1670498155810 }, - { - "click": { - "optIn": "button.fc-cta-consent", - "optOut": "button.fc-cta-do-not-consent", - "presence": "div.fc-dialog-container" - }, - "schema": 1670460542151, - "cookies": {}, - "domains": [ - "imhd.sk" - ], - "id": "ff596e06-7834-4f75-b2a7-ccb39fad8925", - "last_modified": 1670498155797 - }, { "click": { "optIn": "button.rounded-button--tertiary", @@ -7927,20 +8103,6 @@ "id": "bd5a5d6d-172e-4386-8698-1c28e83e38e5", "last_modified": 1670498155690 }, - { - "click": { - "optIn": "button.cookie-alert-extended-button", - "optOut": "button.cookie-alert-decline-button", - "presence": "dialog#CybotCookiebotDialog" - }, - "schema": 1670460541263, - "cookies": {}, - "domains": [ - "lidl.cz" - ], - "id": "2d287029-5751-4194-8ac4-cc7c91b649ad", - "last_modified": 1670498155687 - }, { "click": { "optIn": "button.iubenda-cs-accept-btn", @@ -7977,5 +8139,5 @@ "last_modified": 1670498155641 } ], - "timestamp": 1697710931649 + "timestamp": 1701423955158 } diff --git a/services/settings/dumps/main/devtools-compatibility-browsers.json b/services/settings/dumps/main/devtools-compatibility-browsers.json index 30a6545cde1e341bc2958cdaa19e28cb03baac13..01e21fbb109c80244d838655c6d028ea9295818c 100644 --- a/services/settings/dumps/main/devtools-compatibility-browsers.json +++ b/services/settings/dumps/main/devtools-compatibility-browsers.json @@ -1,283 +1,283 @@ { "data": [ { - "name": "Firefox", - "schema": 1698797104275, - "status": "planned", - "version": "122", - "browserid": "firefox", - "id": "956ca361-9275-40af-a48f-6b67c5ab01c9", - "last_modified": 1699453952082 + "name": "Edge", + "schema": 1702166707858, + "status": "current", + "version": "120", + "browserid": "edge", + "id": "74e217cb-3eb9-44b3-82d4-c14d54e78187", + "last_modified": 1702283211298 }, { - "name": "Firefox for Android", - "schema": 1698797104411, - "status": "esr", - "version": "115", - "browserid": "firefox_android", - "id": "0c24ad2e-0107-4aee-a2ef-3e6d6d089fd8", - "last_modified": 1699453952078 + "name": "Opera Android", + "schema": 1701561907381, + "status": "current", + "version": "78", + "browserid": "opera_android", + "id": "5889915d-7fa8-4cae-a1ae-e370a28aaec5", + "last_modified": 1701778564580 }, { - "name": "Firefox for Android", - "schema": 1698797104834, - "status": "planned", - "version": "122", - "browserid": "firefox_android", - "id": "f849a913-a54d-4a46-bac3-e50d11e4fb59", - "last_modified": 1699453952075 + "name": "Chrome", + "schema": 1701561906927, + "status": "current", + "version": "120", + "browserid": "chrome", + "id": "cf6b3ef6-f749-47bb-abe0-81bd0f134ff9", + "last_modified": 1701778564575 }, { "name": "Chrome", - "schema": 1699401908120, - "status": "planned", - "version": "122", + "schema": 1701561907067, + "status": "beta", + "version": "121", "browserid": "chrome", - "id": "e7c93856-0896-474c-b772-06edfae76234", - "last_modified": 1699453952071 + "id": "5693902f-f878-4936-984d-044b573430a6", + "last_modified": 1701778564573 }, { - "name": "Chrome Android", - "schema": 1699401908308, + "name": "WebView Android", + "schema": 1701561907585, "status": "beta", + "version": "121", + "browserid": "webview_android", + "id": "a73ddf02-4e9d-425b-b9bb-6a8eb50abd46", + "last_modified": 1701778564566 + }, + { + "name": "WebView Android", + "schema": 1701561907530, + "status": "current", "version": "120", - "browserid": "chrome_android", - "id": "4f1ee2e5-7dd6-4e30-bd15-893611cd4a7f", - "last_modified": 1699453952068 + "browserid": "webview_android", + "id": "7d5df0e5-3460-4fc6-8b19-d4148790d79c", + "last_modified": 1701778564563 }, { "name": "Chrome Android", - "schema": 1699401908484, - "status": "nightly", + "schema": 1701561907255, + "status": "beta", "version": "121", "browserid": "chrome_android", "id": "b03b5ac4-0239-4e0c-8685-1ffaa2d0995f", - "last_modified": 1699453952064 + "last_modified": 1701778564558 }, { "name": "Chrome Android", - "schema": 1699401908542, - "status": "planned", - "version": "122", - "browserid": "chrome_android", - "id": "62f0c9c3-37c5-4b86-a63b-5be819cc9ff3", - "last_modified": 1699453952060 - }, - { - "name": "Deno", - "schema": 1699401908655, - "status": "current", - "version": "1.38", - "browserid": "deno", - "id": "40834129-97c0-45cc-9449-b2448bad1d2b", - "last_modified": 1699453952057 - }, - { - "name": "WebView Android", - "schema": 1699401908917, + "schema": 1701561907193, "status": "current", - "version": "119", - "browserid": "webview_android", - "id": "8ae9c921-f726-45ba-ae08-88d8e2566599", - "last_modified": 1699453952053 - }, - { - "name": "WebView Android", - "schema": 1699401908977, - "status": "beta", "version": "120", - "browserid": "webview_android", - "id": "7d5df0e5-3460-4fc6-8b19-d4148790d79c", - "last_modified": 1699453952049 + "browserid": "chrome_android", + "id": "4f1ee2e5-7dd6-4e30-bd15-893611cd4a7f", + "last_modified": 1701778564556 }, { - "name": "WebView Android", - "schema": 1699401909037, - "status": "nightly", - "version": "121", - "browserid": "webview_android", - "id": "a73ddf02-4e9d-425b-b9bb-6a8eb50abd46", - "last_modified": 1699453952045 + "name": "Edge", + "schema": 1700957103696, + "status": "planned", + "version": "122", + "browserid": "edge", + "id": "5ad01f1f-b345-4f24-9b88-4f456a928c76", + "last_modified": 1701078578076 }, { - "name": "WebView Android", - "schema": 1699401909096, + "name": "Firefox", + "schema": 1700957104142, "status": "planned", - "version": "122", - "browserid": "webview_android", - "id": "62230e68-ea11-4915-a2f8-bab6c2f5cb8d", - "last_modified": 1699453952042 + "version": "123", + "browserid": "firefox", + "id": "2aed6f85-b118-4e91-b95a-481030c3bb78", + "last_modified": 1701078578073 }, { "name": "Firefox for Android", - "schema": 1698797104745, - "status": "nightly", - "version": "121", + "schema": 1700957104456, + "status": "planned", + "version": "123", "browserid": "firefox_android", - "id": "23a8ddf5-b9a1-40c9-b72b-27fefb20f9b9", - "last_modified": 1699453952038 + "id": "d9b7089d-7091-4794-9051-49f794c0c854", + "last_modified": 1701078578070 }, { - "name": "Firefox", - "schema": 1698797104206, + "name": "Node.js", + "schema": 1700957104515, + "status": "current", + "version": "21.2.0", + "browserid": "nodejs", + "id": "b9979c74-bcbd-478d-99bc-55b92fcb2833", + "last_modified": 1701078578067 + }, + { + "name": "Opera", + "schema": 1700957104707, + "status": "beta", + "version": "106", + "browserid": "opera", + "id": "63669ffc-728c-4e8a-b761-6939841f9d61", + "last_modified": 1701078578064 + }, + { + "name": "Edge", + "schema": 1700957103602, "status": "nightly", "version": "121", - "browserid": "firefox", - "id": "6fa4f808-5e0b-4f2a-a108-600e52ea90f9", - "last_modified": 1699453952035 + "browserid": "edge", + "id": "52bfc592-a35d-4208-ba7b-0810d88970d0", + "last_modified": 1701078578061 }, { - "name": "Chrome Android", - "schema": 1699401908251, + "name": "Opera", + "schema": 1700957104647, "status": "current", - "version": "119", - "browserid": "chrome_android", - "id": "bbd0ff29-4cbc-48cb-b548-4d99482ef1da", - "last_modified": 1699453952013 + "version": "105", + "browserid": "opera", + "id": "2d0a87f2-bc88-43d1-9b46-9ebd16e3fb66", + "last_modified": 1701078578054 }, { "name": "Firefox for Android", - "schema": 1698797104602, + "schema": 1700957104258, "status": "current", - "version": "119", + "version": "120", "browserid": "firefox_android", - "id": "53acec8b-f665-4eee-8ff2-620b46a46445", - "last_modified": 1699453952007 + "id": "34ccbda4-8e0a-46a0-b6c1-5d877aa0a1a9", + "last_modified": 1701078578051 }, { "name": "Firefox", - "schema": 1698797104088, + "schema": 1700957103948, "status": "current", - "version": "119", + "version": "120", "browserid": "firefox", - "id": "d475c40b-3ba8-4a2b-b750-7977cad2e95d", - "last_modified": 1699453952004 + "id": "8abd289c-120a-47ed-a194-d3a7b6bad31b", + "last_modified": 1701078578048 }, { "name": "Firefox", - "schema": 1698797104149, + "schema": 1700957104031, "status": "beta", - "version": "120", + "version": "121", "browserid": "firefox", - "id": "8abd289c-120a-47ed-a194-d3a7b6bad31b", - "last_modified": 1699453951996 + "id": "6fa4f808-5e0b-4f2a-a108-600e52ea90f9", + "last_modified": 1701078578041 }, { "name": "Firefox for Android", - "schema": 1698797104677, + "schema": 1700957104344, "status": "beta", - "version": "120", + "version": "121", "browserid": "firefox_android", - "id": "34ccbda4-8e0a-46a0-b6c1-5d877aa0a1a9", - "last_modified": 1699453951993 + "id": "23a8ddf5-b9a1-40c9-b72b-27fefb20f9b9", + "last_modified": 1701078578038 }, { - "name": "Chrome", - "schema": 1699401907940, - "status": "current", - "version": "119", - "browserid": "chrome", - "id": "d8e663e0-6298-4339-9234-343ecfb2f40d", - "last_modified": 1699453951989 + "name": "Firefox for Android", + "schema": 1700957104401, + "status": "nightly", + "version": "122", + "browserid": "firefox_android", + "id": "f849a913-a54d-4a46-bac3-e50d11e4fb59", + "last_modified": 1701078578035 }, { - "name": "Chrome", - "schema": 1699401908065, + "name": "Firefox", + "schema": 1700957104089, "status": "nightly", - "version": "121", - "browserid": "chrome", - "id": "5693902f-f878-4936-984d-044b573430a6", - "last_modified": 1699453951983 + "version": "122", + "browserid": "firefox", + "id": "956ca361-9275-40af-a48f-6b67c5ab01c9", + "last_modified": 1701078578032 }, { - "name": "Chrome", - "schema": 1699401908007, + "name": "Safari", + "schema": 1700352303483, "status": "beta", - "version": "120", - "browserid": "chrome", - "id": "cf6b3ef6-f749-47bb-abe0-81bd0f134ff9", - "last_modified": 1699453951980 - }, - { - "name": "Edge", - "schema": 1699401908780, - "status": "current", - "version": "119", - "browserid": "edge", - "id": "eff1cf87-5add-4876-95db-5b84238437ab", - "last_modified": 1699453951977 + "version": "17.2", + "browserid": "safari", + "id": "0358e297-4312-4137-87b7-08e6d5f03bb5", + "last_modified": 1700557930490 }, { - "name": "Opera", - "schema": 1698451506980, + "name": "Safari on iOS", + "schema": 1700352303702, "status": "beta", - "version": "105", - "browserid": "opera", - "id": "2d0a87f2-bc88-43d1-9b46-9ebd16e3fb66", - "last_modified": 1698661473899 + "version": "17.2", + "browserid": "safari_ios", + "id": "0709a73b-ba98-4e14-a086-6515bb7fa106", + "last_modified": 1700557930487 }, { - "name": "Opera", - "schema": 1698451506782, + "name": "Samsung Internet", + "schema": 1700352303815, "status": "current", - "version": "104", - "browserid": "opera", - "id": "513fd25f-3df1-4785-875b-766683e3445b", - "last_modified": 1698661473890 + "version": "23.0", + "browserid": "samsunginternet_android", + "id": "b6194ce4-1588-4c83-9a7c-54081c540d01", + "last_modified": 1700557930484 }, { - "name": "Edge", - "schema": 1698192307176, - "status": "nightly", - "version": "120", - "browserid": "edge", - "id": "74e217cb-3eb9-44b3-82d4-c14d54e78187", - "last_modified": 1698223476280 + "name": "Safari on iOS", + "schema": 1700352303644, + "status": "current", + "version": "17.1", + "browserid": "safari_ios", + "id": "af9852bc-ad45-481d-a3b5-f8854224f568", + "last_modified": 1700557930473 }, { "name": "Safari", - "schema": 1696637108964, - "status": "beta", + "schema": 1700352303427, + "status": "current", "version": "17.1", "browserid": "safari", "id": "d517252f-b545-46e6-ab30-6ff27c72b32a", - "last_modified": 1696863920651 + "last_modified": 1700557930471 }, { - "name": "Safari on iOS", - "schema": 1696637109022, - "status": "beta", - "version": "17.1", - "browserid": "safari_ios", - "id": "af9852bc-ad45-481d-a3b5-f8854224f568", - "last_modified": 1696863920647 + "name": "Firefox for Android", + "schema": 1698797104411, + "status": "esr", + "version": "115", + "browserid": "firefox_android", + "id": "0c24ad2e-0107-4aee-a2ef-3e6d6d089fd8", + "last_modified": 1699453952078 }, { - "name": "Edge", - "schema": 1695859508448, + "name": "Chrome", + "schema": 1699401908120, "status": "planned", - "version": "121", - "browserid": "edge", - "id": "52bfc592-a35d-4208-ba7b-0810d88970d0", - "last_modified": 1695880503554 + "version": "122", + "browserid": "chrome", + "id": "e7c93856-0896-474c-b772-06edfae76234", + "last_modified": 1699453952071 }, { - "name": "Safari on iOS", - "schema": 1695859508984, - "status": "current", - "version": "17", - "browserid": "safari_ios", - "id": "d86d2710-e575-435e-b27f-199cb6252b1e", - "last_modified": 1695880503536 + "name": "Chrome Android", + "schema": 1699401908542, + "status": "planned", + "version": "122", + "browserid": "chrome_android", + "id": "62f0c9c3-37c5-4b86-a63b-5be819cc9ff3", + "last_modified": 1699453952060 }, { - "name": "Safari", - "schema": 1695859508846, + "name": "Deno", + "schema": 1699401908655, "status": "current", - "version": "17", - "browserid": "safari", - "id": "3e84cb8c-7466-4e59-b5f0-5ca867374529", - "last_modified": 1695880503534 + "version": "1.38", + "browserid": "deno", + "id": "40834129-97c0-45cc-9449-b2448bad1d2b", + "last_modified": 1699453952057 + }, + { + "name": "WebView Android", + "schema": 1699401909096, + "status": "planned", + "version": "122", + "browserid": "webview_android", + "id": "62230e68-ea11-4915-a2f8-bab6c2f5cb8d", + "last_modified": 1699453952042 }, { "name": "Node.js", @@ -297,24 +297,6 @@ "id": "f8bed161-4be5-435b-9b42-7a7eafd672b7", "last_modified": 1692814731149 }, - { - "name": "Samsung Internet", - "schema": 1690982642139, - "status": "current", - "version": "22.0", - "browserid": "samsunginternet_android", - "id": "0f7edb64-99cc-41ee-ae73-ec4edfcef9ab", - "last_modified": 1690987664600 - }, - { - "name": "Opera Android", - "schema": 1679145859850, - "status": "current", - "version": "74", - "browserid": "opera_android", - "id": "81824509-a511-4fb0-ad6c-2621ea61fa77", - "last_modified": 1679292138402 - }, { "name": "Quest Browser", "schema": 1665650596430, @@ -343,5 +325,5 @@ "last_modified": 1645448267500 } ], - "timestamp": 1699453952082 + "timestamp": 1702283211301 } diff --git a/services/settings/dumps/main/search-config.json b/services/settings/dumps/main/search-config.json index db3210b4f762ce4c4a7cee875ece4c6d2aed9aac..de3c5edda207523e35e9db4defd64ee249515c6a 100644 --- a/services/settings/dumps/main/search-config.json +++ b/services/settings/dumps/main/search-config.json @@ -1,5 +1,119 @@ { "data": [ + { + "schema": 1701806001667, + "appliesTo": [ + { + "included": { + "locales": { + "matches": [ + "cs" + ] + } + } + } + ], + "webExtension": { + "id": "seznam-cz@search.mozilla.org" + }, + "id": "c50dcc87-0192-4461-bb88-17a55ba181c7", + "last_modified": 1701806851414 + }, + { + "params": { + "searchUrlGetParams": [ + { + "name": "ie", + "value": "utf-8" + }, + { + "name": "wd", + "value": "{searchTerms}" + } + ], + "suggestUrlGetParams": [ + { + "name": "ie", + "value": "utf-8" + }, + { + "name": "action", + "value": "opensearch" + }, + { + "name": "wd", + "value": "{searchTerms}" + } + ] + }, + "schema": 1701806000003, + "appliesTo": [ + { + "params": { + "searchUrlGetParams": [ + { + "name": "ie", + "value": "utf-8" + }, + { + "name": "wd", + "value": "{searchTerms}" + } + ], + "suggestUrlGetParams": [ + { + "name": "ie", + "value": "utf-8" + }, + { + "name": "action", + "value": "opensearch" + }, + { + "name": "wd", + "value": "{searchTerms}" + } + ] + }, + "default": "yes", + "override": true, + "orderHint": 3000, + "application": { + "distributions": [ + "MozillaOnline" + ] + } + }, + { + "included": { + "locales": { + "matches": [ + "zh-CN" + ] + } + } + }, + { + "default": "yes", + "included": { + "locales": { + "matches": [ + "zh-CN" + ] + }, + "regions": [ + "cn" + ] + } + } + ], + "telemetryId": "baidu", + "webExtension": { + "id": "baidu@search.mozilla.org" + }, + "id": "52dd490a-89e8-45f2-96b0-f2c72e157526", + "last_modified": 1701806851411 + }, { "params": { "searchUrlGetParams": [ @@ -13,7 +127,7 @@ } ] }, - "schema": 1695600005178, + "schema": 1701771233688, "appliesTo": [ { "included": { @@ -215,117 +329,6 @@ }, "telemetryId": "bing-esr" }, - { - "params": { - "searchUrlGetParams": [ - { - "name": "ptag", - "value": "MOZZ0000000020" - }, - { - "name": "pc", - "value": "MZSL01" - }, - { - "name": "q", - "value": "{searchTerms}" - } - ] - }, - "default": "yes", - "override": true, - "application": { - "distributions": [ - "sweetlabs-b-oem1", - "sweetlabs-b-r-oem1" - ] - } - }, - { - "params": { - "searchUrlGetParams": [ - { - "name": "ptag", - "value": "MOZZ0000000020" - }, - { - "name": "pc", - "value": "MZSL02" - }, - { - "name": "q", - "value": "{searchTerms}" - } - ] - }, - "default": "yes", - "override": true, - "application": { - "distributions": [ - "sweetlabs-b-oem2", - "sweetlabs-b-r-oem2" - ] - } - }, - { - "params": { - "searchUrlGetParams": [ - { - "name": "ptag", - "value": "MOZZ0000000020" - }, - { - "name": "pc", - "value": "MZSL03" - }, - { - "name": "q", - "value": "{searchTerms}" - } - ] - }, - "default": "yes", - "override": true, - "application": { - "distributions": [ - "sweetlabs-b-oem3", - "sweetlabs-b-r-oem3" - ] - } - }, - { - "default": "yes", - "included": { - "everywhere": true - }, - "application": { - "distributions": [ - "acer-003", - "acer-004" - ] - } - }, - { - "params": { - "searchUrlGetParams": [ - { - "name": "pc", - "value": "MOZX" - }, - { - "name": "q", - "value": "{searchTerms}" - } - ] - }, - "override": true, - "application": { - "distributions": [ - "acer-003", - "acer-004" - ] - } - }, { "override": true, "orderHint": 2500, @@ -340,7 +343,7 @@ "id": "bing@search.mozilla.org" }, "id": "7ec766f6-639a-4618-91bc-33eb3d4378c6", - "last_modified": 1695659360044 + "last_modified": 1701806851408 }, { "urls": { @@ -729,111 +732,6 @@ "id": "c0b26c0e-63e6-4235-b2ce-5f16b6a8bf87", "last_modified": 1685625615515 }, - { - "params": { - "searchUrlGetParams": [ - { - "name": "ie", - "value": "utf-8" - }, - { - "name": "wd", - "value": "{searchTerms}" - } - ], - "suggestUrlGetParams": [ - { - "name": "ie", - "value": "utf-8" - }, - { - "name": "action", - "value": "opensearch" - }, - { - "name": "wd", - "value": "{searchTerms}" - } - ] - }, - "schema": 1685384563001, - "appliesTo": [ - { - "params": { - "searchUrlGetParams": [ - { - "name": "ie", - "value": "utf-8" - }, - { - "name": "wd", - "value": "{searchTerms}" - } - ], - "suggestUrlGetParams": [ - { - "name": "ie", - "value": "utf-8" - }, - { - "name": "action", - "value": "opensearch" - }, - { - "name": "wd", - "value": "{searchTerms}" - } - ] - }, - "default": "yes", - "override": true, - "orderHint": 3000, - "application": { - "distributions": [ - "MozillaOnline" - ] - } - }, - { - "included": { - "locales": { - "matches": [ - "zh-CN" - ] - } - } - }, - { - "default": "yes", - "included": { - "locales": { - "matches": [ - "zh-CN" - ] - }, - "regions": [ - "cn" - ] - } - }, - { - "default": "no", - "override": true, - "application": { - "distributions": [ - "acer-003", - "acer-004" - ] - } - } - ], - "telemetryId": "baidu", - "webExtension": { - "id": "baidu@search.mozilla.org" - }, - "id": "52dd490a-89e8-45f2-96b0-f2c72e157526", - "last_modified": 1685453218069 - }, { "schema": 1674842123977, "appliesTo": [ @@ -2139,52 +2037,6 @@ "id": "f59fddbc-580b-4672-9cda-32941ceec729", "last_modified": 1589299342030 }, - { - "schema": 1588177651820, - "appliesTo": [ - { - "included": { - "locales": { - "matches": [ - "cs" - ] - } - } - }, - { - "params": { - "searchUrlGetParams": [ - { - "name": "sourceid", - "value": "FF_3" - }, - { - "name": "q", - "value": "{searchTerms}" - } - ] - }, - "default": "yes", - "included": { - "locales": { - "matches": [ - "cs" - ] - } - }, - "application": { - "distributions": [ - "seznam" - ] - } - } - ], - "webExtension": { - "id": "seznam-cz@search.mozilla.org" - }, - "id": "c50dcc87-0192-4461-bb88-17a55ba181c7", - "last_modified": 1589299342027 - }, { "schema": 1588177648193, "appliesTo": [ @@ -2823,5 +2675,5 @@ "last_modified": 1583937832210 } ], - "timestamp": 1695659360044 + "timestamp": 1701806851414 } diff --git a/services/settings/dumps/main/url-classifier-skip-urls.json b/services/settings/dumps/main/url-classifier-skip-urls.json index ba1e3fe0cd590ef7ca200de313d6d88385b78824..54e7371601e6527096ba5df8124b85caf7df0685 100644 --- a/services/settings/dumps/main/url-classifier-skip-urls.json +++ b/services/settings/dumps/main/url-classifier-skip-urls.json @@ -1,4 +1,20 @@ { - "data": [], - "timestamp": 1606870304609 + "data": [ + { + "schema": 1700179207170, + "feature": "fingerprinting-protection", + "pattern": "*.geetest.com", + "id": "f2a88631-c444-49d1-b377-c25608ef0018", + "last_modified": 1701090424142 + }, + { + "schema": 1701082018913, + "feature": "tracking-annotation", + "pattern": "d3vox9szr7t2nm.cloudfront.net", + "filter_expression": "env.version < '122'", + "id": "01eb9187-ab15-4851-a014-441381e3cd02", + "last_modified": 1701090424139 + } + ], + "timestamp": 1701090424142 } diff --git a/services/settings/dumps/security-state/intermediates.json b/services/settings/dumps/security-state/intermediates.json index 9947adef309f2be88fa1cfcfde062ec0a246471d..5761c5615d95e7526df5cce91df2cf9471550b46 100644 --- a/services/settings/dumps/security-state/intermediates.json +++ b/services/settings/dumps/security-state/intermediates.json @@ -1,5 +1,347 @@ { "data": [ + { + "schema": 1700646486489, + "derHash": "hA6N0d/JwMUNKcqFEpkc8u19zd8SQQN1/QpdR/j79XY=", + "subject": "CN=CommScope Public Trust RSA Sub-CA-02-01,O=CommScope,C=US", + "subjectDN": "MFMxCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21tU2NvcGUxMDAuBgNVBAMMJ0NvbW1TY29wZSBQdWJsaWMgVHJ1c3QgUlNBIFN1Yi1DQS0wMi0wMQ==", + "whitelist": false, + "attachment": { + "hash": "762f4a00fafbf72cafcfbf2df28508633b74eab8d56655a38f34f22cda936dd0", + "size": 2560, + "filename": "KqL7He22QNw5xBoQbw-L4F7QQHXu2QEKXyV8S9IIM7Q=.pem", + "location": "security-state-staging/intermediates/4358f58e-e583-4cef-909e-09165bcf77e4.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "KqL7He22QNw5xBoQbw+L4F7QQHXu2QEKXyV8S9IIM7Q=", + "crlite_enrolled": false, + "id": "839cfa6e-a330-4c7a-9c3f-33e9a898e391", + "last_modified": 1700647023222 + }, + { + "schema": 1700646486205, + "derHash": "64nTCH12kS12FqyZxzuuusH7jkg1+LoVtUP3NEpMV/E=", + "subject": "CN=CommScope Public Trust ECC Sub-CA-01-01,O=CommScope,C=US", + "subjectDN": "MFMxCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21tU2NvcGUxMDAuBgNVBAMMJ0NvbW1TY29wZSBQdWJsaWMgVHJ1c3QgRUNDIFN1Yi1DQS0wMS0wMQ==", + "whitelist": false, + "attachment": { + "hash": "2be311121ba10df25faf0d5302d6bfd11db4831fdab8d31c6d8306841c759de9", + "size": 1414, + "filename": "2eDPH26eDI6d3-Tsjd41zsuO9Klm9C0IFnwK1xslzpw=.pem", + "location": "security-state-staging/intermediates/0d83f23e-7f91-4581-8469-5546f6804616.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "2eDPH26eDI6d3+Tsjd41zsuO9Klm9C0IFnwK1xslzpw=", + "crlite_enrolled": false, + "id": "4f712de1-16d2-4746-83e8-6e6dd3d87a4e", + "last_modified": 1700647023220 + }, + { + "schema": 1700646485601, + "derHash": "7ua69QsUvKBCArSWc35nb3E+dDH/1PyhMJ9mFIHsUg8=", + "subject": "CN=TrustAsia OV TLS ECC CA G4,O=TrustAsia Technologies\\, Inc.,C=CN", + "subjectDN": "MFkxCzAJBgNVBAYTAkNOMSUwIwYDVQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSMwIQYDVQQDDBpUcnVzdEFzaWEgT1YgVExTIEVDQyBDQSBHNA==", + "whitelist": false, + "attachment": { + "hash": "617ea9dd114bf829cd96b86bfde27f76e81a55711482fc7741ffb62c1037b958", + "size": 1317, + "filename": "H9C3IdVYXZbeqTf00x7ZWdOLTFS4QQJGl7WOOTEDfxI=.pem", + "location": "security-state-staging/intermediates/0a330041-2a71-4516-85f4-7586c3d2a439.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "H9C3IdVYXZbeqTf00x7ZWdOLTFS4QQJGl7WOOTEDfxI=", + "crlite_enrolled": false, + "id": "e6a2fdb2-02c5-4708-be6f-fa2591ac19d7", + "last_modified": 1700647023217 + }, + { + "schema": 1700646485912, + "derHash": "AhUxG8GC1ZcYgitF3fECE84mYak8PC0gPexlZ95Erjw=", + "subject": "CN=CommScope Public Trust RSA Sub-CA-01-02,O=CommScope,C=US", + "subjectDN": "MFMxCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21tU2NvcGUxMDAuBgNVBAMMJ0NvbW1TY29wZSBQdWJsaWMgVHJ1c3QgUlNBIFN1Yi1DQS0wMS0wMg==", + "whitelist": false, + "attachment": { + "hash": "76fa134521bf3180c607f441ea511de8222ac07021bcb04f2b51434a869b6020", + "size": 2560, + "filename": "uUmm1vqY4WOAXX3tIc9qA2Ai5Yr0EmaZlBwLTelbnzw=.pem", + "location": "security-state-staging/intermediates/75bd4b66-445f-4c60-b998-2891565d084d.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "uUmm1vqY4WOAXX3tIc9qA2Ai5Yr0EmaZlBwLTelbnzw=", + "crlite_enrolled": false, + "id": "d2ed46e8-b5af-4401-a731-badd42ed9265", + "last_modified": 1700647023215 + }, + { + "schema": 1700646485300, + "derHash": "WY0hJQ3EAC/X8fwO9TBjPUsWh9hZfAp6hv2w6NcKQEs=", + "subject": "CN=CommScope Public Trust ECC Sub-CA-02-01,O=CommScope,C=US", + "subjectDN": "MFMxCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21tU2NvcGUxMDAuBgNVBAMMJ0NvbW1TY29wZSBQdWJsaWMgVHJ1c3QgRUNDIFN1Yi1DQS0wMi0wMQ==", + "whitelist": false, + "attachment": { + "hash": "0861064b3940fe7c22d8860cbd8234786257b9ac114ebd823875c18db9e03559", + "size": 1414, + "filename": "FreBKmEXdNpyFMcG1o3nDNjwoZ5Vc924tuSbvWdZE64=.pem", + "location": "security-state-staging/intermediates/47074e7c-85a6-4995-b101-879fd3de19d0.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "FreBKmEXdNpyFMcG1o3nDNjwoZ5Vc924tuSbvWdZE64=", + "crlite_enrolled": false, + "id": "8f4225a5-796d-4d7a-8510-628d12fb66f6", + "last_modified": 1700647023212 + }, + { + "schema": 1700646484689, + "derHash": "woNIdA2jbPFN3EkoDPAwq5zjsKzgk7DhuhiUVvSRi5w=", + "subject": "CN=TrustAsia DV TLS ECC CA G4,O=TrustAsia Technologies\\, Inc.,C=CN", + "subjectDN": "MFkxCzAJBgNVBAYTAkNOMSUwIwYDVQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSMwIQYDVQQDDBpUcnVzdEFzaWEgRFYgVExTIEVDQyBDQSBHNA==", + "whitelist": false, + "attachment": { + "hash": "cd5019fcec123ec2fc8f4a53aebd1cbb131ebef82743dda28ee96724331751de", + "size": 1317, + "filename": "R-s0kdm8EzaFO3Liyw3bJqtHA3yG7-iGzhCMKglNFxY=.pem", + "location": "security-state-staging/intermediates/bef125ee-c7d1-49c8-9a1c-4e2d1cedf07d.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "R+s0kdm8EzaFO3Liyw3bJqtHA3yG7+iGzhCMKglNFxY=", + "crlite_enrolled": false, + "id": "fe879c91-8b4f-4e67-ab92-9286422da37c", + "last_modified": 1700647023209 + }, + { + "schema": 1700646487143, + "derHash": "wmHuPUu9xFb/tnhoNj/tgMtcmtevP1pdrL4yvs3diKc=", + "subject": "CN=TrustAsia EV TLS ECC CA G4,O=TrustAsia Technologies\\, Inc.,C=CN", + "subjectDN": "MFkxCzAJBgNVBAYTAkNOMSUwIwYDVQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSMwIQYDVQQDDBpUcnVzdEFzaWEgRVYgVExTIEVDQyBDQSBHNA==", + "whitelist": false, + "attachment": { + "hash": "02ae542c9a65d7d5295ee961d24a8b2e609abde9cfec9675336097720aa12824", + "size": 1317, + "filename": "8yE4-1OesI1v8JXzpSp47XLFwrJh2fEhVnsstmEf3Kg=.pem", + "location": "security-state-staging/intermediates/f748aac3-8517-41fb-a04a-345c350c8c0b.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "8yE4+1OesI1v8JXzpSp47XLFwrJh2fEhVnsstmEf3Kg=", + "crlite_enrolled": false, + "id": "543e7451-9e2c-46e4-86e4-5bd8d7e912ba", + "last_modified": 1700647023207 + }, + { + "schema": 1700646485003, + "derHash": "gUc+GximiHdogYQbOuFgsq2TXOno1YMriiYlZEjbc3k=", + "subject": "CN=CommScope Public Trust ECC Sub-CA-01-02,O=CommScope,C=US", + "subjectDN": "MFMxCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21tU2NvcGUxMDAuBgNVBAMMJ0NvbW1TY29wZSBQdWJsaWMgVHJ1c3QgRUNDIFN1Yi1DQS0wMS0wMg==", + "whitelist": false, + "attachment": { + "hash": "46cae718f26fd00c333165e2fbd250a12a9d38a8bc2a9a6dc942fa9edf99c12b", + "size": 1414, + "filename": "tBre6NvedLp1Nvk3FtFIxgjhtkXFJ7lgj8u07sRBDk0=.pem", + "location": "security-state-staging/intermediates/3948e9d2-7cc4-4136-9b3f-72bc70afb1aa.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "tBre6NvedLp1Nvk3FtFIxgjhtkXFJ7lgj8u07sRBDk0=", + "crlite_enrolled": false, + "id": "8fb9c242-9ed1-4e18-997b-dd05d7fae35a", + "last_modified": 1700647023204 + }, + { + "schema": 1700646486816, + "derHash": "E4Du1mssMWYS1fbn72jC00YFgv6pTgDGwnWV+Rk049k=", + "subject": "CN=CommScope Public Trust RSA Sub-CA-01-01,O=CommScope,C=US", + "subjectDN": "MFMxCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21tU2NvcGUxMDAuBgNVBAMMJ0NvbW1TY29wZSBQdWJsaWMgVHJ1c3QgUlNBIFN1Yi1DQS0wMS0wMQ==", + "whitelist": false, + "attachment": { + "hash": "7c11c1b878f79f9e702f18c2a9340e77d2a3a26d92b6fbaefc47260195b201f2", + "size": 2560, + "filename": "PuzSWf62hnlXmDTvun4KqmESMLeim7gU8LRuyOQPieY=.pem", + "location": "security-state-staging/intermediates/8db659e4-ad44-4c01-a7d3-986d7aa7cd0c.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "PuzSWf62hnlXmDTvun4KqmESMLeim7gU8LRuyOQPieY=", + "crlite_enrolled": false, + "id": "24f99808-5e61-4042-87d3-feaa84f7b8ab", + "last_modified": 1700647023201 + }, + { + "schema": 1700621585126, + "derHash": "4N1nQ9bQjiqxiITtHn5Gs9lyb/+psYZmQq6/Jm/aJlQ=", + "subject": "CN=TrustAsia DV TLS RSA CA G3,O=TrustAsia Technologies\\, Inc.,C=CN", + "subjectDN": "MFkxCzAJBgNVBAYTAkNOMSUwIwYDVQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSMwIQYDVQQDDBpUcnVzdEFzaWEgRFYgVExTIFJTQSBDQSBHMw==", + "whitelist": false, + "attachment": { + "hash": "e3a486ae0f27669283ac52e408e77393bbe7ba74eed3d7d6e60482865c1d290b", + "size": 2463, + "filename": "T21qUAje6E9fl90g8wWbialHnlVFqqtF6iOyY8qjamI=.pem", + "location": "security-state-staging/intermediates/e99ab652-0607-41fc-9d13-f5d01bdcf726.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "T21qUAje6E9fl90g8wWbialHnlVFqqtF6iOyY8qjamI=", + "crlite_enrolled": false, + "id": "4f319fc7-2f4d-4344-a756-115a452e2c76", + "last_modified": 1700621823177 + }, + { + "schema": 1700621585431, + "derHash": "Fd35jFfg9G5cXuACg7xK+P4OjSxCFRYw3v/6KF6mLQk=", + "subject": "CN=TrustAsia EV TLS RSA CA G3,O=TrustAsia Technologies\\, Inc.,C=CN", + "subjectDN": "MFkxCzAJBgNVBAYTAkNOMSUwIwYDVQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSMwIQYDVQQDDBpUcnVzdEFzaWEgRVYgVExTIFJTQSBDQSBHMw==", + "whitelist": false, + "attachment": { + "hash": "efb23850edd4751aa963090b78590450e39d857bad481a85a589c4871b17e75c", + "size": 2463, + "filename": "W19nbGvl7OjWR0ODnprYtSlhjq_QnDddsFv6D2IGKmA=.pem", + "location": "security-state-staging/intermediates/ccbfc40d-6a02-4ee8-8271-412f1ffbde01.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "W19nbGvl7OjWR0ODnprYtSlhjq/QnDddsFv6D2IGKmA=", + "crlite_enrolled": false, + "id": "4815157c-bb8a-4345-a1fa-cb97a45e1b33", + "last_modified": 1700621823174 + }, + { + "schema": 1700621584827, + "derHash": "Vz9feXSC9Wftx5AYeUV7xGyd8Kz9jOexqPt+Ihj6R3s=", + "subject": "CN=TrustAsia OV TLS RSA CA G3,O=TrustAsia Technologies\\, Inc.,C=CN", + "subjectDN": "MFkxCzAJBgNVBAYTAkNOMSUwIwYDVQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSMwIQYDVQQDDBpUcnVzdEFzaWEgT1YgVExTIFJTQSBDQSBHMw==", + "whitelist": false, + "attachment": { + "hash": "b6d674772e49154ba8173896d98b4f9b7ed273e74285a1aecd0857fd3ad9fc34", + "size": 2463, + "filename": "3-85gBZqCqMtrR1W85eRq3_U5lvL2pUBz7X0SUQ41YI=.pem", + "location": "security-state-staging/intermediates/b328fee1-5c20-4662-b469-4cef9bb5d2c7.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "3+85gBZqCqMtrR1W85eRq3/U5lvL2pUBz7X0SUQ41YI=", + "crlite_enrolled": false, + "id": "b6460ed5-3bda-4f70-aa24-3ff159ca0a48", + "last_modified": 1700621823172 + }, + { + "schema": 1700495283327, + "derHash": "bdThK3UYSbo+GtkKxIZ0wkdMdyGC81AMhcLfTbf0iGY=", + "subject": "CN=Telia RSA TLS Root CA v3,O=Telia Company AB,C=SE", + "subjectDN": "MEsxCzAJBgNVBAYTAlNFMRkwFwYDVQQKDBBUZWxpYSBDb21wYW55IEFCMSEwHwYDVQQDDBhUZWxpYSBSU0EgVExTIFJvb3QgQ0EgdjM=", + "whitelist": false, + "attachment": { + "hash": "282b8a19d9cf4422e5e3c92ee07a3992ce6b9c94e33ef8712c5f51387b9b5089", + "size": 2280, + "filename": "U2z9ropiV78UJmxDKFlY0Pm5N-MGjiohU3QXATOp_8w=.pem", + "location": "security-state-staging/intermediates/49050960-e0ab-4a87-a5bf-0e028259e8d6.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "U2z9ropiV78UJmxDKFlY0Pm5N+MGjiohU3QXATOp/8w=", + "crlite_enrolled": false, + "id": "2c791dca-18ac-468e-8584-ecf9a04b4f0a", + "last_modified": 1700495823241 + }, + { + "schema": 1700495284246, + "derHash": "B+WGYQfiSuaalnlmj5FqobOzncNVR4Hjrpq6pEtae8Q=", + "subject": "CN=Telia EC TLS Root CA v3,O=Telia Company AB,C=SE", + "subjectDN": "MEoxCzAJBgNVBAYTAlNFMRkwFwYDVQQKDBBUZWxpYSBDb21wYW55IEFCMSAwHgYDVQQDDBdUZWxpYSBFQyBUTFMgUm9vdCBDQSB2Mw==", + "whitelist": false, + "attachment": { + "hash": "0665acd9ebfe6d7e1d5003ea3eb0fda68d5eb71055a7a3e053ea4f09c0690e36", + "size": 1695, + "filename": "TIIdfYmt8IwelRySuEG0o8GCYbnOQm8zfMDjgFSZug4=.pem", + "location": "security-state-staging/intermediates/fb500b17-0b78-4b56-912a-09d9d6b1369d.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "TIIdfYmt8IwelRySuEG0o8GCYbnOQm8zfMDjgFSZug4=", + "crlite_enrolled": false, + "id": "87144287-1775-4362-bd74-80419dad9b83", + "last_modified": 1700495823238 + }, + { + "schema": 1700059676066, + "derHash": "drJ7gKWAJ9w88dpo2sFwEO2TmX0LYD4vrb6FASSTtac=", + "subject": "CN=GTS Root R4,O=Google Trust Services LLC,C=US", + "subjectDN": "MEcxCzAJBgNVBAYTAlVTMSIwIAYDVQQKExlHb29nbGUgVHJ1c3QgU2VydmljZXMgTExDMRQwEgYDVQQDEwtHVFMgUm9vdCBSNA==", + "whitelist": false, + "attachment": { + "hash": "96c81d6de46d0742f372c8cbf2f2353fe3629988e8d65e26d3ab17a49b031a7e", + "size": 1264, + "filename": "mEflZT5enoR1FuXLgYYGqnVEoZvmf9c2bVBpiOjYQ0c=.pem", + "location": "security-state-staging/intermediates/65b14f50-6a3d-4b8e-937f-6be9603d8be5.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "mEflZT5enoR1FuXLgYYGqnVEoZvmf9c2bVBpiOjYQ0c=", + "crlite_enrolled": false, + "id": "d8d4a791-3336-422c-aa11-2915c1f0cf26", + "last_modified": 1700060223205 + }, + { + "schema": 1699976884812, + "derHash": "rCWGO6Q7lq6oZLoqolYCKvnTjck+l0N/PeYDzEhzBss=", + "subject": "CN=SSL.com TLS ECC Root CA 2022,O=SSL Corporation,C=US", + "subjectDN": "ME4xCzAJBgNVBAYTAlVTMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xJTAjBgNVBAMMHFNTTC5jb20gVExTIEVDQyBSb290IENBIDIwMjI=", + "whitelist": false, + "attachment": { + "hash": "8d3a201dad112e4871960af5b7adb823efb7671b60479d17a18ec34364c6eac3", + "size": 1223, + "filename": "G_ANXI8TwJTdF-AFBM8IiIUPEv0Gf6H5LA_b9guG4yE=.pem", + "location": "security-state-staging/intermediates/484d2121-85a4-4993-a8c2-21df8d848fd0.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "G/ANXI8TwJTdF+AFBM8IiIUPEv0Gf6H5LA/b9guG4yE=", + "crlite_enrolled": false, + "id": "cb19b337-a3fb-43c0-9b35-2ebc139f80fe", + "last_modified": 1699977423180 + }, + { + "schema": 1699976885666, + "derHash": "a8sUfUHptXf0AAKlxLoIhGc3gFqv6FVN0OciBPYAe6c=", + "subject": "CN=SSL.com TLS RSA Root CA 2022,O=SSL Corporation,C=US", + "subjectDN": "ME4xCzAJBgNVBAYTAlVTMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xJTAjBgNVBAMMHFNTTC5jb20gVExTIFJTQSBSb290IENBIDIwMjI=", + "whitelist": false, + "attachment": { + "hash": "7d4076e583d0c3f435a11e516b62cf496a5004671429c33f2f357f6d15c92f27", + "size": 2377, + "filename": "K89VOmb1cJAN3TK6bf4ezAbJGC1mLcG2Dh97dnwr3VQ=.pem", + "location": "security-state-staging/intermediates/aaa729fd-6eb1-4f1e-bdd4-46e7709a02ff.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "K89VOmb1cJAN3TK6bf4ezAbJGC1mLcG2Dh97dnwr3VQ=", + "crlite_enrolled": false, + "id": "fda4fe85-c112-4330-bf7a-944c38636f92", + "last_modified": 1699977423177 + }, + { + "schema": 1699976885977, + "derHash": "y4m0tQXdL/Xt/OYYNZ/W4oiteQXCSGED/1b80dXeGFc=", + "subject": "CN=Cloudflare TLS Issuing RSA CA 1,O=CLOUDFLARE\\, INC.,C=US", + "subjectDN": "MFIxCzAJBgNVBAYTAlVTMRkwFwYDVQQKDBBDTE9VREZMQVJFLCBJTkMuMSgwJgYDVQQDDB9DbG91ZGZsYXJlIFRMUyBJc3N1aW5nIFJTQSBDQSAx", + "whitelist": false, + "attachment": { + "hash": "82c8afa86811c60cebea2655d5bc999c304f233d9e22ea76ba62f0d44cb33071", + "size": 1902, + "filename": "_mAMmbFbay0ESJ5nqjDg1sYjWZhtK5luMbycyTrFyUs=.pem", + "location": "security-state-staging/intermediates/b7f975e0-3287-4a8a-b4cf-e1fc67df1a0c.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "/mAMmbFbay0ESJ5nqjDg1sYjWZhtK5luMbycyTrFyUs=", + "crlite_enrolled": false, + "id": "54c765bd-67f4-41b9-9f3d-678e5940c31a", + "last_modified": 1699977423174 + }, + { + "schema": 1699976885370, + "derHash": "KWT9MhDqaPqitKhJs2JD0z90Qp0bQ84BnnsVTqx3Wbo=", + "subject": "CN=Cloudflare TLS Issuing ECC CA 1,O=CLOUDFLARE\\, INC.,C=US", + "subjectDN": "MFIxCzAJBgNVBAYTAlVTMRkwFwYDVQQKDBBDTE9VREZMQVJFLCBJTkMuMSgwJgYDVQQDDB9DbG91ZGZsYXJlIFRMUyBJc3N1aW5nIEVDQyBDQSAx", + "whitelist": false, + "attachment": { + "hash": "979c3cd0f714e6bcb3fb19bb59b91ee35e900864ab480f5f7729b9e8d57d1d23", + "size": 1061, + "filename": "Kt2bkYM55rPaGBFYxTLlq8AIJqapRcc1eKjai8GUPO0=.pem", + "location": "security-state-staging/intermediates/76961b66-d172-454b-b159-81bc0e44fbbf.pem", + "mimetype": "application/x-pem-file" + }, + "pubKeyHash": "Kt2bkYM55rPaGBFYxTLlq8AIJqapRcc1eKjai8GUPO0=", + "crlite_enrolled": false, + "id": "a74b6bfb-1ab6-4487-9af4-8e3632e1ab27", + "last_modified": 1699977423171 + }, { "schema": 1699393717540, "derHash": "fgqMmETQ+Z7IQwdIPy4zGYB0n4inGFZJ1Nmfo8NYnlI=", @@ -6624,24 +6966,6 @@ "id": "a62aae33-e09c-4f50-95fc-8f7ec5599006", "last_modified": 1666727873855 }, - { - "schema": 1666727358953, - "derHash": "WSKFNdEU6NKfm5LUIlGLxj3ctXCXQo2MyYd32QfG7v4=", - "subject": "CN=AC Firmaprofesional - Secure Web 2021,OU=Security Services,O=Firmaprofesional S.A.,C=ES", - "subjectDN": "MIGTMQswCQYDVQQGEwJFUzEeMBwGA1UECgwVRmlybWFwcm9mZXNpb25hbCBTLkEuMRgwFgYDVQRhDA9WQVRFUy1BNjI2MzQwNjgxGjAYBgNVBAsMEVNlY3VyaXR5IFNlcnZpY2VzMS4wLAYDVQQDDCVBQyBGaXJtYXByb2Zlc2lvbmFsIC0gU2VjdXJlIFdlYiAyMDIx", - "whitelist": false, - "attachment": { - "hash": "d64796153f11a0ccacaa9dd1c2466d26608a546cbc54f998a984484a83bfb22c", - "size": 2304, - "filename": "ohtBGC_ITaA6r1cyaxh1JukHVovCHKViLQl3eB3VB2M=.pem", - "location": "security-state-staging/intermediates/e00fb0a2-59bb-4271-8c25-6dbc972240be.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "ohtBGC/ITaA6r1cyaxh1JukHVovCHKViLQl3eB3VB2M=", - "crlite_enrolled": false, - "id": "7b27ee50-2ac9-4b60-8255-99ebce21e4cd", - "last_modified": 1666727873841 - }, { "schema": 1666727438698, "derHash": "aGkkLNitKsd7wCiUe8fQxPbpy/CJnWVwmBDYn5S11w0=", @@ -7578,42 +7902,6 @@ "id": "c3a9fa2d-eff6-4044-8fbd-014bd0c42505", "last_modified": 1666727872950 }, - { - "schema": 1666727365694, - "derHash": "eILZ+qSai7NR8Pxu1oXvH8UVQdDOCkIiB00dnhb9wws=", - "subject": "CN=TrustCor External PKI (ECA1),OU=TrustCor Network,O=TrustCor Systems S. de R.L.,ST=Panama,C=PA", - "subjectDN": "MIGGMQswCQYDVQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMSQwIgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xGTAXBgNVBAsMEFRydXN0Q29yIE5ldHdvcmsxJTAjBgNVBAMMHFRydXN0Q29yIEV4dGVybmFsIFBLSSAoRUNBMSk=", - "whitelist": false, - "attachment": { - "hash": "f8c6a9c5a539d228e33a4f7d992ac66e08c7b640cc56f5001fc6d112058b9557", - "size": 1841, - "filename": "r8bpcGxaP_Y16yqulxob7gpE3Q_rlYtNW1KdjRa2f1s=.pem", - "location": "security-state-staging/intermediates/2bf859ab-2a88-4ff7-af17-307ea95d877a.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "r8bpcGxaP/Y16yqulxob7gpE3Q/rlYtNW1KdjRa2f1s=", - "crlite_enrolled": false, - "id": "9284e1ce-82d9-41fe-905b-061a3bc6e3f9", - "last_modified": 1666727872937 - }, - { - "schema": 1666727414069, - "derHash": "vrUcj0UkJrK55nL33R7qSzPWw49MoqlpVs4kvQWww40=", - "subject": "CN=TrustCor DV SSL CA - G2 - RSA,O=TrustCor Systems S. de R.L.,C=PA", - "subjectDN": "MFsxCzAJBgNVBAYTAlBBMSQwIgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJjAkBgNVBAMMHVRydXN0Q29yIERWIFNTTCBDQSAtIEcyIC0gUlNB", - "whitelist": false, - "attachment": { - "hash": "87f0868047f749fb388e8d44c43d08ee740544952b1d3dadbc73172c343a6e6d", - "size": 1695, - "filename": "eS9Oc92-qoeyy7FaGbRe6FO_VTah35Lxm0PDdpsLdHc=.pem", - "location": "security-state-staging/intermediates/5e2a99e7-7c31-46e5-9e47-d2efc550858a.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "eS9Oc92+qoeyy7FaGbRe6FO/VTah35Lxm0PDdpsLdHc=", - "crlite_enrolled": false, - "id": "b6448c15-89fa-4f40-bfc4-08ede3de01a0", - "last_modified": 1666727872923 - }, { "schema": 1666727383033, "derHash": "xCpNjAkEuyEZBvQ7RBu7ybWgA7o2EYef00rldvfC92Q=", @@ -8388,24 +8676,6 @@ "id": "42a054e1-89f9-48cc-b92a-4da9e9c308e3", "last_modified": 1666727872297 }, - { - "schema": 1666727341971, - "derHash": "g8xQ4V0WmCSuvQvsv/r+c2vFWuIRvD7mM4+0c7kBWgc=", - "subject": "CN=TrustCor OV SSL CA - G2 - RSA,O=TrustCor Systems S. de R.L.,C=PA", - "subjectDN": "MFsxCzAJBgNVBAYTAlBBMSQwIgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJjAkBgNVBAMMHVRydXN0Q29yIE9WIFNTTCBDQSAtIEcyIC0gUlNB", - "whitelist": false, - "attachment": { - "hash": "0dc01364783a9271db505d8e1e3e6043cf875754d6bd36c6945e11fb53e02604", - "size": 2385, - "filename": "Mj3vTN7j1fDT_WCo762M8I9WedMYrlbBSvj8E4HDtuA=.pem", - "location": "security-state-staging/intermediates/173a1a2d-4f59-4194-99eb-916147b82f27.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "Mj3vTN7j1fDT/WCo762M8I9WedMYrlbBSvj8E4HDtuA=", - "crlite_enrolled": false, - "id": "38aa6198-2c05-4917-88c6-c6a161997f08", - "last_modified": 1666727872283 - }, { "schema": 1666727329881, "derHash": "z20DM9C+LGmkLUU5YN7p4QnZ6IQ+owYaFnHW6vhet9g=", @@ -10440,24 +10710,6 @@ "id": "163c4d13-0624-40c4-83d7-7b9bbea0f129", "last_modified": 1666727870379 }, - { - "schema": 1666727403901, - "derHash": "wGjXdnhCVXcrvGrp9wpTakEK1oilDd6vv2a8xSVHlvY=", - "subject": "CN=AC Firmaprofesional - Secure Web 2022,OU=Security Services,O=Firmaprofesional S.A.,C=ES", - "subjectDN": "MIGTMQswCQYDVQQGEwJFUzEeMBwGA1UECgwVRmlybWFwcm9mZXNpb25hbCBTLkEuMRgwFgYDVQRhDA9WQVRFUy1BNjI2MzQwNjgxGjAYBgNVBAsMEVNlY3VyaXR5IFNlcnZpY2VzMS4wLAYDVQQDDCVBQyBGaXJtYXByb2Zlc2lvbmFsIC0gU2VjdXJlIFdlYiAyMDIy", - "whitelist": false, - "attachment": { - "hash": "5dd2eb36f234589fb384beb746dd8d2cec537d6c518a137014dc35d6fec9cf18", - "size": 2304, - "filename": "AzLO0BInI3V3PWBUXkW0rLPDpBwERRuBl6yYvAtDJ3M=.pem", - "location": "security-state-staging/intermediates/ef3746fc-8994-492e-8ecb-f23ad21be72b.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "AzLO0BInI3V3PWBUXkW0rLPDpBwERRuBl6yYvAtDJ3M=", - "crlite_enrolled": false, - "id": "fb1dc569-0bb6-4432-bd65-32a8206361a7", - "last_modified": 1666727870365 - }, { "schema": 1666727414774, "derHash": "PhR5gEdlpiu3vU8N3rtVqUaiBjzSiC8FRhsXVPG2Z7E=", @@ -16848,42 +17100,6 @@ "id": "8d5e7e22-7c97-431c-b156-e2e7c90dbc77", "last_modified": 1666727865074 }, - { - "schema": 1666727439895, - "derHash": "TM8XwMjBwQ1YduxeMoD+jRNN82rt2ERCibmQvDdB508=", - "subject": "SERIALNUMBER=A62634068,CN=AC Firmaprofesional - CUALIFICADOS,OU=Certificados Cualificados,O=Firmaprofesional S.A.,C=ES", - "subjectDN": "MIGSMQswCQYDVQQGEwJFUzEeMBwGA1UEChMVRmlybWFwcm9mZXNpb25hbCBTLkEuMSIwIAYDVQQLExlDZXJ0aWZpY2Fkb3MgQ3VhbGlmaWNhZG9zMRIwEAYDVQQFEwlBNjI2MzQwNjgxKzApBgNVBAMTIkFDIEZpcm1hcHJvZmVzaW9uYWwgLSBDVUFMSUZJQ0FET1M=", - "whitelist": false, - "attachment": { - "hash": "b3e4e383491cfa05a6e5858dc73ac1a4018938ed5c15a0d37c708311bd252227", - "size": 2251, - "filename": "xpW9XED3U765P2UyAqPWNU7eDdISlf2JSghpvjZnU-Y=.pem", - "location": "security-state-staging/intermediates/2b8e2bc0-c68e-4dce-9e23-322c77fed80d.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "xpW9XED3U765P2UyAqPWNU7eDdISlf2JSghpvjZnU+Y=", - "crlite_enrolled": false, - "id": "3a7a7325-7f7b-40b5-86ed-594919a759ac", - "last_modified": 1666727865056 - }, - { - "schema": 1666727442973, - "derHash": "K3XMTzZ1nPxMZjex4OVDWUV9tX503k0txdAs3f8pYM8=", - "subject": "SERIALNUMBER=A62634068,CN=AC Firmaprofesional - CUALIFICADOS,OU=Certificados Cualificados,O=Firmaprofesional S.A.,C=ES", - "subjectDN": "MIGSMQswCQYDVQQGEwJFUzEeMBwGA1UEChMVRmlybWFwcm9mZXNpb25hbCBTLkEuMSIwIAYDVQQLExlDZXJ0aWZpY2Fkb3MgQ3VhbGlmaWNhZG9zMRIwEAYDVQQFEwlBNjI2MzQwNjgxKzApBgNVBAMTIkFDIEZpcm1hcHJvZmVzaW9uYWwgLSBDVUFMSUZJQ0FET1M=", - "whitelist": false, - "attachment": { - "hash": "4d2dfe0fc860422f305f1ad6329bd436365d1605d8d9a03702b07b42faebbed8", - "size": 2410, - "filename": "xpW9XED3U765P2UyAqPWNU7eDdISlf2JSghpvjZnU-Y=.pem", - "location": "security-state-staging/intermediates/0101c000-f69c-425a-97e2-af8490d77aba.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "xpW9XED3U765P2UyAqPWNU7eDdISlf2JSghpvjZnU+Y=", - "crlite_enrolled": false, - "id": "971a56e0-c3e7-431a-840f-f4f65604621f", - "last_modified": 1666727865032 - }, { "schema": 1666727444002, "derHash": "lzpBJ2/9AeAnoqrUnjTDeEbT6Xb/amILZxLjODIEGqY=", @@ -23490,24 +23706,6 @@ "id": "a76d3004-9787-484d-a4d9-2e5555cd8b56", "last_modified": 1650812270014 }, - { - "schema": 1650553057777, - "derHash": "ODDbjqFSC2zfV+HgCl8Sl74R2eZDDINgcXYhL/hdLbg=", - "subject": "CN=TrustCor Enhanced Secure Site (CA2),OU=TrustCor Network,O=TrustCor Systems S. de R.L.,ST=Panama,C=PA", - "subjectDN": "MIGNMQswCQYDVQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMSQwIgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xGTAXBgNVBAsMEFRydXN0Q29yIE5ldHdvcmsxLDAqBgNVBAMMI1RydXN0Q29yIEVuaGFuY2VkIFNlY3VyZSBTaXRlIChDQTIp", - "whitelist": false, - "attachment": { - "hash": "26631969fe5fbc543132a914eb2829ace13e9b418495495a837a47d8936c69b6", - "size": 2564, - "filename": "gTvKBlqs6VknFEiItiUhp5K_Oy0UnzZd7vVB6Ko3ZeE=.pem", - "location": "security-state-staging/intermediates/e49aa502-2469-4f4f-b00b-3d32c9f282e8.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "gTvKBlqs6VknFEiItiUhp5K/Oy0UnzZd7vVB6Ko3ZeE=", - "crlite_enrolled": false, - "id": "7f04f0ef-3fdc-4bfa-9cc5-c76e75f35add", - "last_modified": 1650661068590 - }, { "schema": 1650552522984, "derHash": "qLKkUYqCoMwKYLL7iLlGVXrbT6WEWOx2gKd7sOUzTY0=", @@ -25632,24 +25830,6 @@ "id": "44261107-8d3f-48ac-8a0d-8b9ef00b4189", "last_modified": 1622559454515 }, - { - "schema": 1619359121536, - "derHash": "/h7K297g5VgGjdvHszq3jdV9DcIvzBw2ARkBA3Wwphs=", - "subject": "CN=TrustCor Basic Secure Site (CA1),OU=TrustCor Network,O=TrustCor Systems S. de R.L.,ST=Panama,C=PA", - "subjectDN": "MIGKMQswCQYDVQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMSQwIgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xGTAXBgNVBAsMEFRydXN0Q29yIE5ldHdvcmsxKTAnBgNVBAMMIFRydXN0Q29yIEJhc2ljIFNlY3VyZSBTaXRlIChDQTEp", - "whitelist": false, - "attachment": { - "hash": "0c4ee3d67969b7bf371502575c7bef43da7ea5edee6add68dfe802d1f2c36baf", - "size": 2211, - "filename": "kHJg-GOK0x_65nWqv_uV70OMsqljk0LjqTDnfjQ6eRQ=.pem", - "location": "security-state-staging/intermediates/dca168d0-9454-4b21-b712-c05956c90dd3.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "kHJg+GOK0x/65nWqv/uV70OMsqljk0LjqTDnfjQ6eRQ=", - "crlite_enrolled": false, - "id": "eeb9f30c-488c-4fe2-93ea-864c9148aca8", - "last_modified": 1619380708201 - }, { "schema": 1618073380961, "derHash": "VoAP2g1FLbopchlP9t5yFH0DeIh8YCSDMLuAF5XGh8Y=", @@ -25758,24 +25938,6 @@ "id": "43cd6bcc-8fa9-4afc-8ef7-d30357eb5641", "last_modified": 1615384713896 }, - { - "schema": 1615341482369, - "derHash": "CUBFHf7LZ1tSBMiuBxidTk6QlXz9K6/c/zbbIMJ56Ro=", - "subject": "CN=SECOM Passport for Member PUB CA4,OU=SECOM Passport for Member 2.0 PUB,O=SECOM Trust Systems CO.\\,LTD.,C=JP", - "subjectDN": "MIGMMQswCQYDVQQGEwJKUDElMCMGA1UEChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEqMCgGA1UECxMhU0VDT00gUGFzc3BvcnQgZm9yIE1lbWJlciAyLjAgUFVCMSowKAYDVQQDEyFTRUNPTSBQYXNzcG9ydCBmb3IgTWVtYmVyIFBVQiBDQTQ=", - "whitelist": false, - "attachment": { - "hash": "67bd2661144de940ff04d2ed4a8a7c1ef3c2122d9e3a8cd9a484dcb81a67f399", - "size": 1601, - "filename": "e0UlwaDksSng0NsuhQLDMdL3HdRLRk89Csk7QJK7Xm4=.pem", - "location": "security-state-staging/intermediates/974ee8b6-e05b-45c0-b50d-b37049e98644.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "e0UlwaDksSng0NsuhQLDMdL3HdRLRk89Csk7QJK7Xm4=", - "crlite_enrolled": false, - "id": "545f4ef1-6eac-4f67-adf9-fc62354d1a33", - "last_modified": 1615384713877 - }, { "schema": 1614908979131, "derHash": "hjRy7HnbVAdxFNrecgzh97QaIzdI/Gdz+oZSDwuaqiE=", @@ -25794,24 +25956,6 @@ "id": "8cef2110-60e3-4274-b66f-73184cf70e37", "last_modified": 1614909446623 }, - { - "schema": 1614585512688, - "derHash": "TvqqEECsL0TT3uIG2VIqKI2E7Djd9ZKYySbgL0ydmu8=", - "subject": "CN=TrustCor Basic Secure Site 2048 (CA1),OU=TrustCor Network,O=TrustCor Systems S. de R.L.,ST=Panama,C=PA", - "subjectDN": "MIGPMQswCQYDVQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMSQwIgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xGTAXBgNVBAsMEFRydXN0Q29yIE5ldHdvcmsxLjAsBgNVBAMMJVRydXN0Q29yIEJhc2ljIFNlY3VyZSBTaXRlIDIwNDggKENBMSk=", - "whitelist": false, - "attachment": { - "hash": "da4d2d1acf769f58428741b22d18919f6c746cc708fc5aab39f601e0afbd27f6", - "size": 1869, - "filename": "eBBAlQ999Dnt37FkvhzStv4GMlSaWJN88WDxZob6g0Y=.pem", - "location": "security-state-staging/intermediates/6fc43816-7b30-430f-950f-7f7adea2e3d4.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "eBBAlQ999Dnt37FkvhzStv4GMlSaWJN88WDxZob6g0Y=", - "crlite_enrolled": false, - "id": "1d9c258c-3953-4116-8203-74400019183e", - "last_modified": 1614628705254 - }, { "schema": 1614390578814, "derHash": "U2dpLs5it1jQTZt+bfsNswf4WevGpstfd/8kVh18wAQ=", @@ -26388,24 +26532,6 @@ "id": "170a74a6-1485-4c35-aecb-8b37550de004", "last_modified": 1600461980794 }, - { - "schema": 1591167087942, - "derHash": "8La3WY3yeQRxVSYy66nN5tNJBl/G1mWVf57u9ae7JPI=", - "subject": "CN=TrustCor DV SSL CA - G2,O=TrustCor Systems S. de R.L.,C=PA", - "subjectDN": "MFUxCzAJBgNVBAYTAlBBMSQwIgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xIDAeBgNVBAMMF1RydXN0Q29yIERWIFNTTCBDQSAtIEcy", - "whitelist": false, - "attachment": { - "hash": "55baa0feb441643563e5145eadf1edc0e02ae8038105624c584bb56a289bf41d", - "size": 1804, - "filename": "joJVEgkWNcXOGzwqvqRUGUI1s5Dz-sm7yE2V6LjAa9A=.pem", - "location": "security-state-staging/intermediates/2eb164f7-eecd-451b-a136-542653e6f4f9.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "joJVEgkWNcXOGzwqvqRUGUI1s5Dz+sm7yE2V6LjAa9A=", - "crlite_enrolled": false, - "id": "100d0005-d64d-4678-9a8a-b4bdf571825a", - "last_modified": 1591199862482 - }, { "schema": 1591167038909, "derHash": "7tCpXn3jylPkpscqhrPxZMDCPjgPj2t5o0nvF4Q0LB8=", @@ -26532,24 +26658,6 @@ "id": "5f4e1d4e-6a23-4bbc-a9b9-366ff6016a5b", "last_modified": 1591199862121 }, - { - "schema": 1591166876495, - "derHash": "T/V3/d4o5h5/XKT19CvLsSvheXAKT+8kSJznaEigg0Y=", - "subject": "CN=TrustCor OV SSL CA - G2,O=TrustCor Systems S. de R.L.,C=PA", - "subjectDN": "MFUxCzAJBgNVBAYTAlBBMSQwIgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xIDAeBgNVBAMMF1RydXN0Q29yIE9WIFNTTCBDQSAtIEcy", - "whitelist": false, - "attachment": { - "hash": "cf99b2b77fcf543c7c67e25d79c9076859c38851045d20b200bb357d806163bd", - "size": 2499, - "filename": "Wpyq4op-j7iz0FI6Mlw06h6hqo6X_DGLpRt7yAcPkVc=.pem", - "location": "security-state-staging/intermediates/a1a3157e-3254-4565-a991-e1fce05b4212.pem", - "mimetype": "application/x-pem-file" - }, - "pubKeyHash": "Wpyq4op+j7iz0FI6Mlw06h6hqo6X/DGLpRt7yAcPkVc=", - "crlite_enrolled": false, - "id": "af05ac5f-9bff-4bd9-8cca-8a84c13ab21f", - "last_modified": 1591199862105 - }, { "schema": 1591166867546, "derHash": "cNK5bnwEC2Jw/yC7a6mEITEq035GK+y4O+lQK4PfVpc=", @@ -28981,5 +29089,5 @@ "last_modified": 1559865884636 } ], - "timestamp": 1699394223213 + "timestamp": 1700647023222 } diff --git a/services/settings/dumps/security-state/onecrl.json b/services/settings/dumps/security-state/onecrl.json index 3d8dece824ac23efd4f6c0444cb98437f60d1304..bce3255539b554706ca8f3604f86dccb79b0b176 100644 --- a/services/settings/dumps/security-state/onecrl.json +++ b/services/settings/dumps/security-state/onecrl.json @@ -1,5 +1,350 @@ { "data": [ + { + "schema": 1701882093709, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1868611", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEwxIDAeBgNVBAsTF0dsb2JhbFNpZ24gUm9vdCBDQSAtIFIzMRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu", + "serialNumber": "ebn+9NZ3e1owffcJjCxzZg==", + "id": "65d83e3c-5ab9-4590-95b2-ee177b89547f", + "last_modified": 1701989913617 + }, + { + "schema": 1701882093644, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1868611", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEQxCzAJBgNVBAYTAkZJMRowGAYDVQQKDBFUZWxpYSBGaW5sYW5kIE95ajEZMBcGA1UEAwwQVGVsaWEgUm9vdCBDQSB2Mg==", + "serialNumber": "AYvTImnKqrjuZSIFUekO", + "id": "301b43d3-faae-4eea-b24e-02b0cc7be59b", + "last_modified": 1701989913611 + }, + { + "schema": 1701882093777, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1868611", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQDExNHbG9iYWxTaWduIFJvb3QgUjQ2", + "serialNumber": "e/t0kC1D4yfk2h1ZMQtnWQ==", + "id": "e173a743-042f-4c36-8e50-b98bdff3dcc1", + "last_modified": 1701989913607 + }, + { + "schema": 1701882093585, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1868611", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQQ==", + "serialNumber": "IAYFFnADFaURrma5fvkV", + "id": "565e5f90-0c48-487d-9e23-9c964b57d89d", + "last_modified": 1701989913602 + }, + { + "schema": 1701882093526, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1868611", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eQ==", + "serialNumber": "VGFdl5j7DGyBksFR1YNATA==", + "id": "454aeab5-3d95-4887-968d-423ab4af7153", + "last_modified": 1701989913597 + }, + { + "schema": 1701882093343, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1868611", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MIGCMQswCQYDVQQGEwJERTErMCkGA1UECgwiVC1TeXN0ZW1zIEVudGVycHJpc2UgU2VydmljZXMgR21iSDEfMB0GA1UECwwWVC1TeXN0ZW1zIFRydXN0IENlbnRlcjElMCMGA1UEAwwcVC1UZWxlU2VjIEdsb2JhbFJvb3QgQ2xhc3MgMw==", + "serialNumber": "HNeGYx7Az7oLUvqbXgKHsQ==", + "id": "5576448f-2e6b-4c82-a8f0-dbf690002993", + "last_modified": 1701989913592 + }, + { + "schema": 1701882093467, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1868611", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQDExNHbG9iYWxTaWduIFJvb3QgRTQ2", + "serialNumber": "e/t0YVkawWMuSUOpB25CTA==", + "id": "f3114136-5675-454c-90b5-e583e6d1070a", + "last_modified": 1701989913587 + }, + { + "schema": 1701882093281, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1868611", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEwxIDAeBgNVBAsTF0dsb2JhbFNpZ24gUm9vdCBDQSAtIFIzMRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu", + "serialNumber": "ebn+8/plc0m7j0VAXMe3Uw==", + "id": "7315548e-19d6-4de7-ab7e-8c0926fdc7c7", + "last_modified": 1701989913582 + }, + { + "schema": 1701882093406, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1868611", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEwxIDAeBgNVBAsTF0dsb2JhbFNpZ24gUm9vdCBDQSAtIFIzMRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu", + "serialNumber": "ebn+8BfgHWec1wpYnjJfWw==", + "id": "6c106e28-6bbd-4687-acb1-9827e8d00e80", + "last_modified": 1701989913578 + }, + { + "schema": 1701882093220, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1868611", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQDExNHbG9iYWxTaWduIFJvb3QgUjQ2", + "serialNumber": "e/t0l4vp8EFvTZYIZx6sCA==", + "id": "487a9ee7-501f-41af-a749-a32c1a84b460", + "last_modified": 1701989913573 + }, + { + "schema": 1701882093159, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1868611", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQDExNHbG9iYWxTaWduIFJvb3QgRTQ2", + "serialNumber": "ebn+/Yqlu90gx9UvnLIR3A==", + "id": "0dabbda1-fccc-4655-92cd-2c522df8ddc9", + "last_modified": 1701989913568 + }, + { + "schema": 1701882092970, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1868611", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQDExNHbG9iYWxTaWduIFJvb3QgRTQ2", + "serialNumber": "ebn++YolR0KyD62h0lLRCA==", + "id": "da8fa73c-a137-40c3-80fc-1e43bc3a3e30", + "last_modified": 1701989913562 + }, + { + "schema": 1701882093097, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1868611", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MIGIMQswCQYDVQQGEwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IEVDQyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eQ==", + "serialNumber": "AMPUKMN4jsXBS0QHU7GpitY=", + "id": "37643ddd-4c01-4ef6-a947-956b1f922ae7", + "last_modified": 1701989913557 + }, + { + "schema": 1701882092905, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1868611", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQDExNHbG9iYWxTaWduIFJvb3QgRTQ2", + "serialNumber": "ebn/AqIzpseA3+sPCEyJNQ==", + "id": "b8851d23-c0fe-41b0-b0ba-1fd7272e18c4", + "last_modified": 1701989913551 + }, + { + "schema": 1701882093032, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1868611", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEwxIDAeBgNVBAsTF0dsb2JhbFNpZ24gUm9vdCBDQSAtIFIzMRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu", + "serialNumber": "ebn++HV415u57d5JnqCe4Q==", + "id": "df1a5381-0327-4dc6-932d-cbc159e0e13c", + "last_modified": 1701989913546 + }, + { + "schema": 1701882092845, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1868611", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQDExNHbG9iYWxTaWduIFJvb3QgUjQ2", + "serialNumber": "e/t0atOh/Uwt/9H5vCMEBQ==", + "id": "2834fc99-2082-468d-9b04-871e343d005c", + "last_modified": 1701989913542 + }, + { + "schema": 1701882092782, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1868611", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQDExNHbG9iYWxTaWduIFJvb3QgRTQ2", + "serialNumber": "ebn+/9oibkBARSOKUyIxWg==", + "id": "30de3b62-e83e-42ab-aeaf-2843347900ca", + "last_modified": 1701989913537 + }, + { + "schema": 1701771234578, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1868611", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQQ==", + "serialNumber": "IAYFFnADGFeSYBrLdeEn", + "id": "9fa11b1f-6221-4d3d-94d0-505a1e762846", + "last_modified": 1701989913532 + }, + { + "schema": 1701882093846, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1868611", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQDExNHbG9iYWxTaWduIFJvb3QgRTQ2", + "serialNumber": "e/t0Wa+agKTlghDnapXPGQ==", + "id": "33a1ac70-1262-4ee7-b69a-25b437e4ea31", + "last_modified": 1701989913527 + }, + { + "schema": 1701882092657, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1868611", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQDExNHbG9iYWxTaWduIFJvb3QgRTQ2", + "serialNumber": "e/t0ZHYGHEhBodtF6A4M1A==", + "id": "bd9b826f-8c96-4520-8423-2b74b60fa56e", + "last_modified": 1701989913522 + }, + { + "schema": 1701882092719, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1868611", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQDExNHbG9iYWxTaWduIFJvb3QgRTQ2", + "serialNumber": "e/t0aKogKAc6O5JxqkuL3g==", + "id": "5cd67dd7-52d3-48c6-a98d-dafe4fbd52a3", + "last_modified": 1701989913518 + }, + { + "schema": 1701882093919, + "details": { + "bug": "https://bugzilla.mozilla.org/show_bug.cgi?id=1868611", + "who": "", + "why": "", + "name": "", + "created": "" + }, + "enabled": false, + "issuerName": "MEYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQDExNHbG9iYWxTaWduIFJvb3QgUjQ2", + "serialNumber": "e/t0hWXMQylnjZPQNaIDwg==", + "id": "99ed2fd4-470a-4f90-b8da-b75fea3d6466", + "last_modified": 1701989913513 + }, + { + "schema": 1699660807926, + "details": { + "bug": "1864724", + "who": "dkeeler@mozilla.com", + "why": "Kazakhstan MITM (#9)", + "name": "Information Security Certification Authority", + "created": "2023-11-14T23:39:21Z" + }, + "enabled": true, + "issuerName": "MFMxNTAzBgNVBAMTLEluZm9ybWF0aW9uIFNlY3VyaXR5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MQ0wCwYDVQQKEwRJU0NBMQswCQYDVQQGEwJLWg==", + "serialNumber": "RR0ycJaMGZl88uTjuXcI7+J28xg=", + "id": "4c0da88a-8e3a-4cf7-ad6e-e162ed953867", + "last_modified": 1700154823756 + }, { "schema": 1695233106940, "details": { @@ -23686,5 +24031,5 @@ "last_modified": 1480349158647 } ], - "timestamp": 1695656154676 + "timestamp": 1701989913617 } diff --git a/sourcestamp.txt b/sourcestamp.txt index 72e9dcf0b50e62c41553696f7384643d44878507..f135570ac3795a21c67ae572e29e3c23409ab152 100644 --- a/sourcestamp.txt +++ b/sourcestamp.txt @@ -1,3 +1,3 @@ -20231208140222 -https://hg.mozilla.org/releases/comm-esr115/rev/a8cffa1042782293f03a22eebadf4fe01b566bac -https://hg.mozilla.org/releases/mozilla-esr115/rev/8a02a7c43f1eddfd18926f0266d188b4f359c0aa +20231215200246 +https://hg.mozilla.org/releases/comm-esr115/rev/841b81606c88cabafbaf075f01e0e6a71747155e +https://hg.mozilla.org/releases/mozilla-esr115/rev/aa9f02961b2bbb92e17fea5d6b8fd14c097baf72 diff --git a/supply-chain/audits.toml b/supply-chain/audits.toml index c7e5eb89b007c1eb062356ffd40c6ba2a4d706d1..0392615b16836cff02fb3a02d70efc94fc57b175 100644 --- a/supply-chain/audits.toml +++ b/supply-chain/audits.toml @@ -2009,6 +2009,15 @@ who = "Mike Hommey <mh+mozilla@glandium.org>" criteria = "safe-to-deploy" delta = "6.3.0 -> 6.4.1" +[[audits.oxilangtag]] +who = "Jonathan Kew <jkew@mozilla.com>" +criteria = "safe-to-deploy" +version = "0.1.3" +notes = """ +I have reviewed all the code in this (small) crate. +There is no unsafe code present. +""" + [[audits.packed_simd]] who = "Henri Sivonen <hsivonen@hsivonen.fi>" criteria = "safe-to-deploy" diff --git a/taskcluster/ci/fetch/toolchains.yml b/taskcluster/ci/fetch/toolchains.yml index bee0530cf895d4947d1884a8092c6f423de7dc3d..76c6cf04fce740f3fcc026ceab82a3bf65a7096a 100644 --- a/taskcluster/ci/fetch/toolchains.yml +++ b/taskcluster/ci/fetch/toolchains.yml @@ -167,9 +167,6 @@ zlib-1.2.13: url: https://zlib.net/fossils/zlib-1.2.13.tar.gz sha256: b3a24de97a8fdbc835b9833169501030b8977031bcb54b3b3ac13740f846ab30 size: 1497445 - gpg-signature: - sig-url: "{url}.asc" - key-path: build/unix/build-gcc/5ED46A6721D365587791E2AA783FCD8E58BCAFBA.key nsis-3.07: description: nsis 3.07 source code diff --git a/taskcluster/scripts/misc/repack_rust.py b/taskcluster/scripts/misc/repack_rust.py index 61fff41cc7ce5d8d5c9bbe38b9070d582591ce95..909ff379dcc7c48f2a54ac4569baaf5f3d82c254 100755 --- a/taskcluster/scripts/misc/repack_rust.py +++ b/taskcluster/scripts/misc/repack_rust.py @@ -423,6 +423,8 @@ def build_src(install_dir, host, targets, patches): [dist] missing-tools = true + [llvm] + download-ci-llvm = false """.format( prefix=install_dir, omit_git_hash=omit_git_hash, diff --git a/testing/geckodriver/src/prefs.rs b/testing/geckodriver/src/prefs.rs index 4331c2d99629f851ea956ef767a61665cc27c78b..4407cbccaa49500c22e38e1cfdbab687d22f8757 100644 --- a/testing/geckodriver/src/prefs.rs +++ b/testing/geckodriver/src/prefs.rs @@ -118,8 +118,8 @@ lazy_static! { // Don't do network connections for mitm priming ("security.certerrors.mitm.priming.enabled", Pref::new(false)), - // Ensure blocklist updates don't hit the network - ("services.settings.server", Pref::new("")), + // Ensure remote settings do not hit the network + ("services.settings.server", Pref::new("data:,#remote-settings-dummy/v1")), // Disable first run pages ("startup.homepage_welcome_url", Pref::new("about:blank")), diff --git a/testing/web-platform/tests/FileAPI/blob/Blob-stream.any.js b/testing/web-platform/tests/FileAPI/blob/Blob-stream.any.js index 87710a171a9752416f47596f59d2dc6313d9bd34..453144cac964a627bb2a004d435887b15ddc96d3 100644 --- a/testing/web-platform/tests/FileAPI/blob/Blob-stream.any.js +++ b/testing/web-platform/tests/FileAPI/blob/Blob-stream.any.js @@ -70,7 +70,18 @@ promise_test(async() => { await garbageCollect(); const chunks = await read_all_chunks(stream, { perform_gc: true }); assert_array_equals(chunks, input_arr); -}, "Blob.stream() garbage collection of blob shouldn't break stream" + +}, "Blob.stream() garbage collection of blob shouldn't break stream " + + "consumption") + +promise_test(async() => { + const input_arr = [8, 241, 48, 123, 151]; + const typed_arr = new Uint8Array(input_arr); + let blob = new Blob([typed_arr]); + const chunksPromise = read_all_chunks(blob.stream()); + // It somehow matters to do GC here instead of doing `perform_gc: true` + await garbageCollect(); + assert_array_equals(await chunksPromise, input_arr); +}, "Blob.stream() garbage collection of stream shouldn't break stream " + "consumption") promise_test(async () => { diff --git a/testing/web-platform/tests/css/selectors/selectors-4/lang-020.html b/testing/web-platform/tests/css/selectors/selectors-4/lang-020.html new file mode 100644 index 0000000000000000000000000000000000000000..9a17af2e4199ee9f78c6500b4d1f1f865b1975f5 --- /dev/null +++ b/testing/web-platform/tests/css/selectors/selectors-4/lang-020.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html lang="en-US"> +<meta charset="utf-8"> +<title>CSS Selectors 4 - :lang matching</title> +<link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"> +<link rel="help" href="https://drafts.csswg.org/selectors-4/#the-lang-pseudo"> +<link rel="match" href="lang-000-ref.html"> + +<style> +div.test { color: red; } +:lang("iw") { color: green; } +</style> + +<div class="test"><span lang="iw-ase-jpan-basiceng">This should be green</span></div> diff --git a/testing/web-platform/tests/css/selectors/selectors-4/lang-021.html b/testing/web-platform/tests/css/selectors/selectors-4/lang-021.html new file mode 100644 index 0000000000000000000000000000000000000000..7320902151074e1b73a86fd9dff99052c4b88dcc --- /dev/null +++ b/testing/web-platform/tests/css/selectors/selectors-4/lang-021.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html lang="en-US"> +<meta charset="utf-8"> +<title>CSS Selectors 4 - :lang matching</title> +<link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"> +<link rel="help" href="https://drafts.csswg.org/selectors-4/#the-lang-pseudo"> +<link rel="match" href="lang-000-ref.html"> + +<style> +div.test { color: red; } +span:lang("en-gb-oed") { color: magenta; } +span span:lang("*-gb") { color: green; } +</style> + +<div class="test" lang="en-GB-oed"><span><span>This should be green</span></span></div> diff --git a/testing/web-platform/tests/css/selectors/selectors-4/lang-022.html b/testing/web-platform/tests/css/selectors/selectors-4/lang-022.html new file mode 100644 index 0000000000000000000000000000000000000000..5573fa00d358f909192be135f2d02e449b77dabb --- /dev/null +++ b/testing/web-platform/tests/css/selectors/selectors-4/lang-022.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html lang="en-US"> +<meta charset="utf-8"> +<title>CSS Selectors 4 - :lang matching</title> +<link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"> +<link rel="help" href="https://drafts.csswg.org/selectors-4/#the-lang-pseudo"> +<link rel="match" href="lang-000-ref.html"> + +<style> +div.test { color: red; } +:lang("i-navajo") { color: green; } +</style> + +<div class="test"><span lang="i-navajo">This should be green</span></div> diff --git a/testing/web-platform/tests/css/selectors/selectors-4/lang-023.html b/testing/web-platform/tests/css/selectors/selectors-4/lang-023.html new file mode 100644 index 0000000000000000000000000000000000000000..58e82e7be73848b356e702f1e0ad519c11b1d80a --- /dev/null +++ b/testing/web-platform/tests/css/selectors/selectors-4/lang-023.html @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html lang="en-US"> +<meta charset="utf-8"> +<title>CSS Selectors 4 - :lang matching</title> +<link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"> +<link rel="help" href="https://drafts.csswg.org/selectors-4/#the-lang-pseudo"> +<link rel="match" href="lang-000-ref.html"> + +<style> +div.test { color: red; } +:lang("x") { color: green; } /* not a well-formed lang tag, but matches per + the Extended Filtering algorithm */ +</style> + +<div class="test"><span lang="x-lojban">This should be green</span></div> diff --git a/testing/web-platform/tests/css/selectors/selectors-4/lang-024.html b/testing/web-platform/tests/css/selectors/selectors-4/lang-024.html new file mode 100644 index 0000000000000000000000000000000000000000..fb1926855d83aef90a380007dab574ce50d9ddba --- /dev/null +++ b/testing/web-platform/tests/css/selectors/selectors-4/lang-024.html @@ -0,0 +1,14 @@ +<!DOCTYPE html> +<html lang="en-US"> +<meta charset="utf-8"> +<title>CSS Selectors 4 - :lang matching</title> +<link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"> +<link rel="help" href="https://drafts.csswg.org/selectors-4/#the-lang-pseudo"> +<link rel="match" href="lang-000-ref.html"> + +<style> +div.test { color: red; } +:lang("art") { color: green; } +</style> + +<div class="test"><span lang="art-lojban">This should be green</span></div> diff --git a/testing/web-platform/tests/css/selectors/selectors-4/lang-025.html b/testing/web-platform/tests/css/selectors/selectors-4/lang-025.html new file mode 100644 index 0000000000000000000000000000000000000000..027223299da8aedcaf62bd09198480d6e428248d --- /dev/null +++ b/testing/web-platform/tests/css/selectors/selectors-4/lang-025.html @@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html lang="en-US"> +<meta charset="utf-8"> +<title>CSS Selectors 4 - :lang matching</title> +<link rel="author" title="Jonathan Kew" href="mailto:jkew@mozilla.com"> +<link rel="help" href="https://drafts.csswg.org/selectors-4/#the-lang-pseudo"> +<link rel="match" href="lang-000-ref.html"> + +<style> +div.test { color: red; } +:lang("art") { color: green; } +</style> + +<!-- This can match :lang("art"), because "-x-lojban" is a private subtag, + so this is *not* the grandfathered "art-lojban" tag. --> +<div class="test"><span lang="art-x-lojban">This should be green</span></div> diff --git a/testing/web-platform/tests/tools/wptrunner/wptrunner/browsers/firefox.py b/testing/web-platform/tests/tools/wptrunner/wptrunner/browsers/firefox.py index 08a9f12d2474fcf8922c3057bd87d861ca183b4e..b71a95b93fcd48ea6d1ac0c86406e506d7a75b29 100644 --- a/testing/web-platform/tests/tools/wptrunner/wptrunner/browsers/firefox.py +++ b/testing/web-platform/tests/tools/wptrunner/wptrunner/browsers/firefox.py @@ -71,6 +71,17 @@ def get_timeout_multiplier(test_type, run_info_data, **kwargs): return 4 * multiplier else: return 2 * multiplier + elif test_type == "wdspec": + if (run_info_data.get("asan") or + run_info_data.get("ccov") or + run_info_data.get("debug")): + return 4 * multiplier + elif run_info_data.get("tsan"): + return 8 * multiplier + + if run_info_data["os"] == "android": + return 4 * multiplier + return 1 * multiplier elif (run_info_data["debug"] or run_info_data.get("asan") or run_info_data.get("tsan")): diff --git a/third_party/rust/oxilangtag/.cargo-checksum.json b/third_party/rust/oxilangtag/.cargo-checksum.json new file mode 100644 index 0000000000000000000000000000000000000000..979e09920e213e5c9374a1520a06c8e55e7d396c --- /dev/null +++ b/third_party/rust/oxilangtag/.cargo-checksum.json @@ -0,0 +1 @@ +{"files":{"CHANGELOG.md":"3d0f3240ed450d19b894dd8715e20bbec50a14eb0d357df8c09a4af1f19fc831","Cargo.toml":"b8414a40b2cdeb5b34dc4b7e79a5e192b56b953d9db1a762dbf3e8728074dd6a","LICENSE":"3fe41c99abc306c2cd34a9365b1810035ae93335ebf4736c0240b469b3f410eb","README.md":"fc98b140225bc0521a136c2c1ed8146f7398349a36d52481f97d8ec2b7679619","benches/lib.rs":"61c94b95e005c0df25ff740ddc7801d65f68bd6e00c0b8aca7eeb66b103f9eea","deny.toml":"fce6beebdde75e3950abfd230b5110d485f2daf5a333cc77b447669593fa7c62","src/lib.rs":"92c85f535a42b8dde8c2f3078c61e4e1580d326ac621eba2f410bdee521be41d","tests/lib.rs":"9927c137f39094cfd8fbcf56069a047818112374148e8950fd73708e9ae0382a"},"package":"8d91edf4fbb970279443471345a4e8c491bf05bb283b3e6c88e4e606fd8c181b"} \ No newline at end of file diff --git a/third_party/rust/oxilangtag/CHANGELOG.md b/third_party/rust/oxilangtag/CHANGELOG.md new file mode 100644 index 0000000000000000000000000000000000000000..dd34d7e49b92c73031f4a0dd9ffd31d21567c117 --- /dev/null +++ b/third_party/rust/oxilangtag/CHANGELOG.md @@ -0,0 +1,16 @@ +# Changelog + +## [0.1.3] - 2022-03-26 + +### Added +- `LanguageTag` now implements Serde `Serialize` and `Deserialize` trait if the `serde` crate is present. + The serialization is a plain string. + + +## [0.1.2] - 2021-04-16 + +### Added +- `LanguageTag` struct with a parser, case normalization and components accessors. + +### Changed +- Proper attribution from [`language-tags`](https://github.com/pyfisch/rust-language-tags/). diff --git a/third_party/rust/oxilangtag/Cargo.toml b/third_party/rust/oxilangtag/Cargo.toml new file mode 100644 index 0000000000000000000000000000000000000000..eda4c2d70a76e79004ff5fb92da4ea77ea9199b6 --- /dev/null +++ b/third_party/rust/oxilangtag/Cargo.toml @@ -0,0 +1,39 @@ +# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO +# +# When uploading crates to the registry Cargo will automatically +# "normalize" Cargo.toml files for maximal compatibility +# with all versions of Cargo and also rewrite `path` dependencies +# to registry (e.g., crates.io) dependencies. +# +# If you are reading this file be aware that the original Cargo.toml +# will likely look very different (and much more reasonable). +# See Cargo.toml.orig for the original contents. + +[package] +edition = "2018" +name = "oxilangtag" +version = "0.1.3" +authors = ["Tpt <thomas@pellissier-tanon.fr>"] +description = "Simple and fast implementation of language tag normalization and validation\n" +readme = "README.md" +keywords = ["language-tag", "BCP47"] +license = "MIT" +repository = "https://github.com/oxigraph/oxilangtag" +[package.metadata.docs.rs] +all-features = true + +[[bench]] +name = "lib" +harness = false +[dependencies.serde] +version = "1" +optional = true +[dev-dependencies.criterion] +version = "0.3" + +[dev-dependencies.serde_test] +version = "1" + +[features] +default = [] +serialize = ["serde"] diff --git a/third_party/rust/oxilangtag/LICENSE b/third_party/rust/oxilangtag/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..155b0903ee33c96566445d641bb5f88cec70e051 --- /dev/null +++ b/third_party/rust/oxilangtag/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2015-2021 Pyfisch Tpt + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/third_party/rust/oxilangtag/README.md b/third_party/rust/oxilangtag/README.md new file mode 100644 index 0000000000000000000000000000000000000000..933e8e011c602ef9b46c09331b05aedc8baa3719 --- /dev/null +++ b/third_party/rust/oxilangtag/README.md @@ -0,0 +1,46 @@ +oxilangtag +========== + +[](https://github.com/oxigraph/oxilangtag/actions) +[](https://crates.io/crates/oxilangtag) +[](https://docs.rs/oxilangtag) + +OxiLangTag is a Rust library allowing to validate and normalize language tags following [RFC 5646](https://tools.ietf.org/html/rfc5646) +([BCP 47](https://tools.ietf.org/html/bcp47)). + +It is a fork of the [`language-tags`](https://github.com/pyfisch/rust-language-tags/) focusing on [RDF use cases](https://www.w3.org/TR/rdf11-primer/). +You might find the [`language-tags`](https://github.com/pyfisch/rust-language-tags/) crate more convenient. + +It allows zero stack allocation language tag validation. +Getters are also provided to easily retrieve the various language tag components. + +If [`serde`](https://serde.rs/) is available, `LanguageTag` implements the `Serialize` and `Deserialize` traits and encodes the language tag as a string. + +Example: +```rust +use oxilangtag::LanguageTag; + +// Parsing and validation +let language_tag = LanguageTag::parse("zh-cmn-Hans-CN-x-test").unwrap(); +assert_eq!(language_tag.as_str(), "zh-cmn-Hans-CN-x-test"); + +// Language tag components +assert_eq!(language_tag.primary_language(), "zh"); +assert_eq!(language_tag.extended_language(), Some("cmn")); +assert_eq!(language_tag.full_language(), "zh-cmn"); +assert_eq!(language_tag.script(), Some("Hans")); +assert_eq!(language_tag.region(), Some("CN")); +assert_eq!(language_tag.extension(), None); +assert_eq!(language_tag.private_use_subtags().collect::<Vec<_>>(), vec!["test"]); +``` + +## License + +This project is licensed under the MIT license ([LICENSE-MIT](LICENSE-MIT) or `<http://opensource.org/licenses/MIT>`). + +It is based on the [`language-tags`](https://github.com/pyfisch/rust-language-tags/) crate by [pyfisch](https://github.com/pyfisch) under MIT license. + + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Oxilangtag by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions. diff --git a/third_party/rust/oxilangtag/benches/lib.rs b/third_party/rust/oxilangtag/benches/lib.rs new file mode 100644 index 0000000000000000000000000000000000000000..2bc5a9722a1a6f3a4a8b8bdb91e6ba7642ac52e3 --- /dev/null +++ b/third_party/rust/oxilangtag/benches/lib.rs @@ -0,0 +1,77 @@ +use criterion::{criterion_group, criterion_main, Criterion}; +use oxilangtag::LanguageTag; + +fn bench_language_tag_parse(c: &mut Criterion) { + let examples = [ + "fr", + "fr-Latn", + "fr-fra", + "fr-Latn-FR", + "fr-Latn-419", + "fr-FR", + "ax-TZ", + "fr-shadok", + "fr-y-myext-myext2", + "fra-Latn", + "fra", + "fra-FX", + "i-klingon", + "I-kLINgon", + "no-bok", + "fr-Lat", + "mn-Cyrl-MN", + "mN-cYrL-Mn", + "fr-Latn-CA", + "en-US", + "fr-Latn-CA", + "i-enochian", + "x-fr-CH", + "sr-Latn-CS", + "es-419", + "sl-nedis", + "de-CH-1996", + "de-Latg-1996", + "sl-IT-nedis", + "en-a-bbb-x-a-ccc", + "de-a-value", + "en-Latn-GB-boont-r-extended-sequence-x-private", + "en-x-US", + "az-Arab-x-AZE-derbend", + "es-Latn-CO-x-private", + "en-US-boont", + "ab-x-abc-x-abc", + "ab-x-abc-a-a", + "i-default", + "i-klingon", + "abcd-Latn", + "AaBbCcDd-x-y-any-x", + "en", + "de-AT", + "es-419", + "de-CH-1901", + "sr-Cyrl", + "sr-Cyrl-CS", + "sl-Latn-IT-rozaj", + "en-US-x-twain", + "zh-cmn", + "zh-cmn-Hant", + "zh-cmn-Hant-HK", + "zh-gan", + "zh-yue-Hant-HK", + "xr-lxs-qut", + "xr-lqt-qu", + "xr-p-lze", + ]; + + c.bench_function("language tag parse tests", |b| { + b.iter(|| { + for tag in examples.iter() { + LanguageTag::parse(*tag).unwrap(); + } + }) + }); +} + +criterion_group!(language_tag, bench_language_tag_parse); + +criterion_main!(language_tag); diff --git a/third_party/rust/oxilangtag/deny.toml b/third_party/rust/oxilangtag/deny.toml new file mode 100644 index 0000000000000000000000000000000000000000..6b5133355b2749dc5527668d61a185d802bf9280 --- /dev/null +++ b/third_party/rust/oxilangtag/deny.toml @@ -0,0 +1,11 @@ +[licenses] +unlicensed = "deny" +allow = [ + "MIT", + "Apache-2.0" +] +default = "deny" + +[bans] +multiple-versions = "warn" +wildcards = "deny" diff --git a/third_party/rust/oxilangtag/src/lib.rs b/third_party/rust/oxilangtag/src/lib.rs new file mode 100644 index 0000000000000000000000000000000000000000..1fd913e13cae426319c2b0365376780c86d8b0b1 --- /dev/null +++ b/third_party/rust/oxilangtag/src/lib.rs @@ -0,0 +1,923 @@ +#![doc = include_str!("../README.md")] +#![deny(unsafe_code)] + +#[cfg(feature = "serde")] +use serde::{Deserialize, Deserializer, Serialize, Serializer}; +use std::borrow::{Borrow, Cow}; +use std::cmp::Ordering; +use std::error::Error; +use std::fmt; +use std::hash::{Hash, Hasher}; +use std::iter::once; +use std::ops::Deref; +use std::str::{FromStr, Split}; + +/// A [RFC 5646](https://tools.ietf.org/html/rfc5646) language tag. +/// +/// ``` +/// use oxilangtag::LanguageTag; +/// +/// let language_tag = LanguageTag::parse("en-us").unwrap(); +/// assert_eq!(language_tag.into_inner(), "en-us") +/// ``` +#[derive(Copy, Clone)] +pub struct LanguageTag<T> { + tag: T, + positions: TagElementsPositions, +} + +impl<T: Deref<Target = str>> LanguageTag<T> { + /// Parses a language tag acccording to [RFC 5646](https://tools.ietf.org/html/rfc5646). + /// and checks if the tag is ["well-formed"](https://tools.ietf.org/html/rfc5646#section-2.2.9). + /// + /// This operation keeps internally the `tag` parameter and does not allocate on the heap. + /// + /// ``` + /// use oxilangtag::LanguageTag; + /// + /// let language_tag = LanguageTag::parse("en-us").unwrap(); + /// assert_eq!(language_tag.into_inner(), "en-us") + /// ``` + pub fn parse(tag: T) -> Result<Self, LanguageTagParseError> { + let positions = parse_language_tag(&tag, &mut VoidOutputBuffer::default())?; + Ok(Self { tag, positions }) + } + + /// Returns the underlying language tag representation. + #[inline] + pub fn as_str(&self) -> &str { + &self.tag + } + + /// Returns the underlying language tag representation. + #[inline] + pub fn into_inner(self) -> T { + self.tag + } + + /// Returns the [primary language subtag](https://tools.ietf.org/html/rfc5646#section-2.2.1). + /// + /// ``` + /// use oxilangtag::LanguageTag; + /// + /// let language_tag = LanguageTag::parse("zh-cmn-Hans-CN").unwrap(); + /// assert_eq!(language_tag.primary_language(), "zh"); + /// ``` + #[inline] + pub fn primary_language(&self) -> &str { + &self.tag[..self.positions.language_end] + } + + /// Returns the [extended language subtags](https://tools.ietf.org/html/rfc5646#section-2.2.2). + /// + /// Valid language tags have at most one extended language. + /// + /// ``` + /// use oxilangtag::LanguageTag; + /// + /// let language_tag = LanguageTag::parse("zh-cmn-Hans-CN").unwrap(); + /// assert_eq!(language_tag.extended_language(), Some("cmn")); + /// ``` + #[inline] + pub fn extended_language(&self) -> Option<&str> { + if self.positions.language_end == self.positions.extlang_end { + None + } else { + Some(&self.tag[self.positions.language_end + 1..self.positions.extlang_end]) + } + } + + /// Iterates on the [extended language subtags](https://tools.ietf.org/html/rfc5646#section-2.2.2). + /// + /// Valid language tags have at most one extended language. + /// + /// ``` + /// use oxilangtag::LanguageTag; + /// + /// let language_tag = LanguageTag::parse("zh-cmn-Hans-CN").unwrap(); + /// assert_eq!(language_tag.extended_language_subtags().collect::<Vec<_>>(), vec!["cmn"]); + /// ``` + #[inline] + pub fn extended_language_subtags(&self) -> impl Iterator<Item = &str> { + self.extended_language().unwrap_or("").split_terminator('-') + } + + /// Returns the [primary language subtag](https://tools.ietf.org/html/rfc5646#section-2.2.1) + /// and its [extended language subtags](https://tools.ietf.org/html/rfc5646#section-2.2.2). + /// + /// ``` + /// use oxilangtag::LanguageTag; + /// + /// let language_tag = LanguageTag::parse("zh-cmn-Hans-CN").unwrap(); + /// assert_eq!(language_tag.full_language(), "zh-cmn"); + /// ``` + #[inline] + pub fn full_language(&self) -> &str { + &self.tag[..self.positions.extlang_end] + } + + /// Returns the [script subtag](https://tools.ietf.org/html/rfc5646#section-2.2.3). + /// + /// ``` + /// use oxilangtag::LanguageTag; + /// + /// let language_tag = LanguageTag::parse("zh-cmn-Hans-CN").unwrap(); + /// assert_eq!(language_tag.script(), Some("Hans")); + /// ``` + #[inline] + pub fn script(&self) -> Option<&str> { + if self.positions.extlang_end == self.positions.script_end { + None + } else { + Some(&self.tag[self.positions.extlang_end + 1..self.positions.script_end]) + } + } + + /// Returns the [region subtag](https://tools.ietf.org/html/rfc5646#section-2.2.4). + /// + /// ``` + /// use oxilangtag::LanguageTag; + /// + /// let language_tag = LanguageTag::parse("zh-cmn-Hans-CN").unwrap(); + /// assert_eq!(language_tag.region(), Some("CN")); + /// ``` + #[inline] + pub fn region(&self) -> Option<&str> { + if self.positions.script_end == self.positions.region_end { + None + } else { + Some(&self.tag[self.positions.script_end + 1..self.positions.region_end]) + } + } + + /// Returns the [variant subtags](https://tools.ietf.org/html/rfc5646#section-2.2.5). + /// + /// ``` + /// use oxilangtag::LanguageTag; + /// + /// let language_tag = LanguageTag::parse("zh-Latn-TW-pinyin").unwrap(); + /// assert_eq!(language_tag.variant(), Some("pinyin")); + /// ``` + #[inline] + pub fn variant(&self) -> Option<&str> { + if self.positions.region_end == self.positions.variant_end { + None + } else { + Some(&self.tag[self.positions.region_end + 1..self.positions.variant_end]) + } + } + + /// Iterates on the [variant subtags](https://tools.ietf.org/html/rfc5646#section-2.2.5). + /// + /// ``` + /// use oxilangtag::LanguageTag; + /// + /// let language_tag = LanguageTag::parse("zh-Latn-TW-pinyin").unwrap(); + /// assert_eq!(language_tag.variant_subtags().collect::<Vec<_>>(), vec!["pinyin"]); + /// ``` + #[inline] + pub fn variant_subtags(&self) -> impl Iterator<Item = &str> { + self.variant().unwrap_or("").split_terminator('-') + } + + /// Returns the [extension subtags](https://tools.ietf.org/html/rfc5646#section-2.2.6). + /// + /// ``` + /// use oxilangtag::LanguageTag; + /// + /// let language_tag = LanguageTag::parse("de-DE-u-co-phonebk").unwrap(); + /// assert_eq!(language_tag.extension(), Some("u-co-phonebk")); + /// ``` + #[inline] + pub fn extension(&self) -> Option<&str> { + if self.positions.variant_end == self.positions.extension_end { + None + } else { + Some(&self.tag[self.positions.variant_end + 1..self.positions.extension_end]) + } + } + + /// Iterates on the [extension subtags](https://tools.ietf.org/html/rfc5646#section-2.2.6). + /// + /// ``` + /// use oxilangtag::LanguageTag; + /// + /// let language_tag = LanguageTag::parse("de-DE-u-co-phonebk").unwrap(); + /// assert_eq!(language_tag.extension_subtags().collect::<Vec<_>>(), vec![('u', "co-phonebk")]); + /// ``` + #[inline] + pub fn extension_subtags(&self) -> impl Iterator<Item = (char, &str)> { + match self.extension() { + Some(parts) => ExtensionsIterator::new(parts), + None => ExtensionsIterator::new(""), + } + } + + /// Returns the [private use subtags](https://tools.ietf.org/html/rfc5646#section-2.2.7). + /// + /// ``` + /// use oxilangtag::LanguageTag; + /// + /// let language_tag = LanguageTag::parse("de-x-foo-bar").unwrap(); + /// assert_eq!(language_tag.private_use(), Some("x-foo-bar")); + /// ``` + #[inline] + pub fn private_use(&self) -> Option<&str> { + if self.tag.starts_with("x-") { + Some(&self.tag) + } else if self.positions.extension_end == self.tag.len() { + None + } else { + Some(&self.tag[self.positions.extension_end + 1..]) + } + } + + /// Iterates on the [private use subtags](https://tools.ietf.org/html/rfc5646#section-2.2.7). + /// + /// ``` + /// use oxilangtag::LanguageTag; + /// + /// let language_tag = LanguageTag::parse("de-x-foo-bar").unwrap(); + /// assert_eq!(language_tag.private_use_subtags().collect::<Vec<_>>(), vec!["foo", "bar"]); + /// ``` + #[inline] + pub fn private_use_subtags(&self) -> impl Iterator<Item = &str> { + self.private_use() + .map(|part| &part[2..]) + .unwrap_or("") + .split_terminator('-') + } +} + +impl LanguageTag<String> { + /// Parses a language tag acccording to [RFC 5646](https://tools.ietf.org/html/rfc5646) + /// and normalizes its case. + /// + /// This parser accepts the language tags that are "well-formed" according to + /// [RFC 5646](https://tools.ietf.org/html/rfc5646#section-2.2.9). + /// + /// This operation does heap allocation. + /// + /// ``` + /// use oxilangtag::LanguageTag; + /// + /// let language_tag = LanguageTag::parse_and_normalize("en-us").unwrap(); + /// assert_eq!(language_tag.into_inner(), "en-US") + /// ``` + pub fn parse_and_normalize(tag: &str) -> Result<Self, LanguageTagParseError> { + let mut output_buffer = String::with_capacity(tag.len()); + let positions = parse_language_tag(tag, &mut output_buffer)?; + Ok(Self { + tag: output_buffer, + positions, + }) + } +} + +impl<Lft: PartialEq<Rhs>, Rhs> PartialEq<LanguageTag<Rhs>> for LanguageTag<Lft> { + #[inline] + fn eq(&self, other: &LanguageTag<Rhs>) -> bool { + self.tag.eq(&other.tag) + } +} + +impl<T: PartialEq<str>> PartialEq<str> for LanguageTag<T> { + #[inline] + fn eq(&self, other: &str) -> bool { + self.tag.eq(other) + } +} + +impl<'a, T: PartialEq<&'a str>> PartialEq<&'a str> for LanguageTag<T> { + #[inline] + fn eq(&self, other: &&'a str) -> bool { + self.tag.eq(other) + } +} + +impl<T: PartialEq<String>> PartialEq<String> for LanguageTag<T> { + #[inline] + fn eq(&self, other: &String) -> bool { + self.tag.eq(other) + } +} + +impl<'a, T: PartialEq<Cow<'a, str>>> PartialEq<Cow<'a, str>> for LanguageTag<T> { + #[inline] + fn eq(&self, other: &Cow<'a, str>) -> bool { + self.tag.eq(other) + } +} + +impl<T: PartialEq<str>> PartialEq<LanguageTag<T>> for str { + #[inline] + fn eq(&self, other: &LanguageTag<T>) -> bool { + other.tag.eq(self) + } +} + +impl<'a, T: PartialEq<&'a str>> PartialEq<LanguageTag<T>> for &'a str { + #[inline] + fn eq(&self, other: &LanguageTag<T>) -> bool { + other.tag.eq(self) + } +} + +impl<T: PartialEq<String>> PartialEq<LanguageTag<T>> for String { + #[inline] + fn eq(&self, other: &LanguageTag<T>) -> bool { + other.tag.eq(self) + } +} + +impl<'a, T: PartialEq<Cow<'a, str>>> PartialEq<LanguageTag<T>> for Cow<'a, str> { + #[inline] + fn eq(&self, other: &LanguageTag<T>) -> bool { + other.tag.eq(self) + } +} + +impl<T: Eq> Eq for LanguageTag<T> {} + +impl<T: Hash> Hash for LanguageTag<T> { + #[inline] + fn hash<H: Hasher>(&self, state: &mut H) { + self.tag.hash(state) + } +} + +impl<T: PartialOrd> PartialOrd for LanguageTag<T> { + #[inline] + fn partial_cmp(&self, other: &Self) -> Option<Ordering> { + self.tag.partial_cmp(&other.tag) + } +} + +impl<T: Ord> Ord for LanguageTag<T> { + #[inline] + fn cmp(&self, other: &Self) -> Ordering { + self.tag.cmp(&other.tag) + } +} + +impl<T: Deref<Target = str>> Deref for LanguageTag<T> { + type Target = str; + + #[inline] + fn deref(&self) -> &str { + self.tag.deref() + } +} + +impl<T: AsRef<str>> AsRef<str> for LanguageTag<T> { + #[inline] + fn as_ref(&self) -> &str { + self.tag.as_ref() + } +} + +impl<T: Borrow<str>> Borrow<str> for LanguageTag<T> { + #[inline] + fn borrow(&self) -> &str { + self.tag.borrow() + } +} + +impl<T: fmt::Debug> fmt::Debug for LanguageTag<T> { + #[inline] + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + self.tag.fmt(f) + } +} + +impl<T: fmt::Display> fmt::Display for LanguageTag<T> { + #[inline] + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + self.tag.fmt(f) + } +} + +impl FromStr for LanguageTag<String> { + type Err = LanguageTagParseError; + + #[inline] + fn from_str(tag: &str) -> Result<Self, LanguageTagParseError> { + Self::parse_and_normalize(tag) + } +} + +impl<'a> From<LanguageTag<&'a str>> for LanguageTag<String> { + #[inline] + fn from(tag: LanguageTag<&'a str>) -> Self { + Self { + tag: tag.tag.into(), + positions: tag.positions, + } + } +} + +impl<'a> From<LanguageTag<Cow<'a, str>>> for LanguageTag<String> { + #[inline] + fn from(tag: LanguageTag<Cow<'a, str>>) -> Self { + Self { + tag: tag.tag.into(), + positions: tag.positions, + } + } +} + +impl From<LanguageTag<Box<str>>> for LanguageTag<String> { + #[inline] + fn from(tag: LanguageTag<Box<str>>) -> Self { + Self { + tag: tag.tag.into(), + positions: tag.positions, + } + } +} + +impl<'a> From<LanguageTag<&'a str>> for LanguageTag<Cow<'a, str>> { + #[inline] + fn from(tag: LanguageTag<&'a str>) -> Self { + Self { + tag: tag.tag.into(), + positions: tag.positions, + } + } +} + +impl<'a> From<LanguageTag<String>> for LanguageTag<Cow<'a, str>> { + #[inline] + fn from(tag: LanguageTag<String>) -> Self { + Self { + tag: tag.tag.into(), + positions: tag.positions, + } + } +} + +#[cfg(feature = "serde")] +impl<T: Serialize> Serialize for LanguageTag<T> { + fn serialize<S: Serializer>(&self, serializer: S) -> Result<S::Ok, S::Error> { + self.tag.serialize(serializer) + } +} + +#[cfg(feature = "serde")] +impl<'de, T: Deref<Target = str> + Deserialize<'de>> Deserialize<'de> for LanguageTag<T> { + fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<LanguageTag<T>, D::Error> { + use serde::de::Error; + + Self::parse(T::deserialize(deserializer)?).map_err(D::Error::custom) + } +} + +/// An error raised during [`LanguageTag`](struct.LanguageTag.html) validation. +#[derive(Debug)] +pub struct LanguageTagParseError { + kind: TagParseErrorKind, +} + +impl fmt::Display for LanguageTagParseError { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self.kind { + TagParseErrorKind::EmptyExtension => { + write!(f, "If an extension subtag is present, it must not be empty") + } + TagParseErrorKind::EmptyPrivateUse => { + write!(f, "If the `x` subtag is present, it must not be empty") + } + TagParseErrorKind::ForbiddenChar => { + write!(f, "The langtag contains a char not allowed") + } + TagParseErrorKind::InvalidSubtag => write!( + f, + "A subtag fails to parse, it does not match any other subtags" + ), + TagParseErrorKind::InvalidLanguage => write!(f, "The given language subtag is invalid"), + TagParseErrorKind::SubtagTooLong => { + write!(f, "A subtag may be eight characters in length at maximum") + } + TagParseErrorKind::EmptySubtag => write!(f, "A subtag should not be empty"), + TagParseErrorKind::TooManyExtlangs => { + write!(f, "At maximum three extlangs are allowed") + } + } + } +} + +impl Error for LanguageTagParseError {} + +#[derive(Debug)] +enum TagParseErrorKind { + /// If an extension subtag is present, it must not be empty. + EmptyExtension, + /// If the `x` subtag is present, it must not be empty. + EmptyPrivateUse, + /// The langtag contains a char that is not A-Z, a-z, 0-9 or the dash. + ForbiddenChar, + /// A subtag fails to parse, it does not match any other subtags. + InvalidSubtag, + /// The given language subtag is invalid. + InvalidLanguage, + /// A subtag may be eight characters in length at maximum. + SubtagTooLong, + /// A subtag should not be empty. + EmptySubtag, + /// At maximum three extlangs are allowed, but zero to one extlangs are preferred. + TooManyExtlangs, +} + +#[derive(Copy, Clone, Debug)] +struct TagElementsPositions { + language_end: usize, + extlang_end: usize, + script_end: usize, + region_end: usize, + variant_end: usize, + extension_end: usize, +} + +trait OutputBuffer: Extend<char> { + fn push(&mut self, c: char); + + fn push_str(&mut self, s: &str); +} + +#[derive(Default)] +struct VoidOutputBuffer {} + +impl OutputBuffer for VoidOutputBuffer { + #[inline] + fn push(&mut self, _: char) {} + + #[inline] + fn push_str(&mut self, _: &str) {} +} + +impl Extend<char> for VoidOutputBuffer { + #[inline] + fn extend<T: IntoIterator<Item = char>>(&mut self, _: T) {} +} + +impl OutputBuffer for String { + #[inline] + fn push(&mut self, c: char) { + self.push(c); + } + + #[inline] + fn push_str(&mut self, s: &str) { + self.push_str(s); + } +} + +/// Parses language tag following [the RFC5646 grammar](https://tools.ietf.org/html/rfc5646#section-2.1) +fn parse_language_tag( + input: &str, + output: &mut impl OutputBuffer, +) -> Result<TagElementsPositions, LanguageTagParseError> { + //grandfathered tags + if let Some(tag) = GRANDFATHEREDS + .iter() + .find(|record| record.eq_ignore_ascii_case(input)) + { + output.push_str(tag); + Ok(TagElementsPositions { + language_end: tag.len(), + extlang_end: tag.len(), + script_end: tag.len(), + region_end: tag.len(), + variant_end: tag.len(), + extension_end: tag.len(), + }) + } else if input.starts_with("x-") || input.starts_with("X-") { + // private use + if !is_alphanumeric_or_dash(input) { + Err(LanguageTagParseError { + kind: TagParseErrorKind::ForbiddenChar, + }) + } else if input.len() == 2 { + Err(LanguageTagParseError { + kind: TagParseErrorKind::EmptyPrivateUse, + }) + } else { + output.extend(input.chars().map(|c| c.to_ascii_lowercase())); + Ok(TagElementsPositions { + language_end: input.len(), + extlang_end: input.len(), + script_end: input.len(), + region_end: input.len(), + variant_end: input.len(), + extension_end: input.len(), + }) + } + } else { + parse_langtag(input, output) + } +} + +/// Handles normal tags. +fn parse_langtag( + input: &str, + output: &mut impl OutputBuffer, +) -> Result<TagElementsPositions, LanguageTagParseError> { + #[derive(PartialEq, Eq)] + enum State { + Start, + AfterLanguage, + AfterExtLang, + AfterScript, + AfterRegion, + InExtension { expected: bool }, + InPrivateUse { expected: bool }, + } + + let mut state = State::Start; + let mut language_end = 0; + let mut extlang_end = 0; + let mut script_end = 0; + let mut region_end = 0; + let mut variant_end = 0; + let mut extension_end = 0; + let mut extlangs_count = 0; + for (subtag, end) in SubTagIterator::new(input) { + if subtag.is_empty() { + return Err(LanguageTagParseError { + kind: TagParseErrorKind::EmptySubtag, + }); + } + if subtag.len() > 8 { + return Err(LanguageTagParseError { + kind: TagParseErrorKind::SubtagTooLong, + }); + } + if state == State::Start { + // Primary language + if subtag.len() < 2 || !is_alphabetic(subtag) { + return Err(LanguageTagParseError { + kind: TagParseErrorKind::InvalidLanguage, + }); + } + language_end = end; + output.extend(to_lowercase(subtag)); + if subtag.len() < 4 { + // extlangs are only allowed for short language tags + state = State::AfterLanguage; + } else { + state = State::AfterExtLang; + } + } else if let State::InPrivateUse { .. } = state { + if !is_alphanumeric(subtag) { + return Err(LanguageTagParseError { + kind: TagParseErrorKind::InvalidSubtag, + }); + } + output.push('-'); + output.extend(to_lowercase(subtag)); + state = State::InPrivateUse { expected: false }; + } else if subtag == "x" || subtag == "X" { + // We make sure extension is found + if let State::InExtension { expected: true } = state { + return Err(LanguageTagParseError { + kind: TagParseErrorKind::EmptyExtension, + }); + } + output.push('-'); + output.push('x'); + state = State::InPrivateUse { expected: true }; + } else if subtag.len() == 1 && is_alphanumeric(subtag) { + // We make sure extension is found + if let State::InExtension { expected: true } = state { + return Err(LanguageTagParseError { + kind: TagParseErrorKind::EmptyExtension, + }); + } + let extension_tag = subtag.chars().next().unwrap().to_ascii_lowercase(); + output.push('-'); + output.push(extension_tag); + state = State::InExtension { expected: true }; + } else if let State::InExtension { .. } = state { + if !is_alphanumeric(subtag) { + return Err(LanguageTagParseError { + kind: TagParseErrorKind::InvalidSubtag, + }); + } + extension_end = end; + output.push('-'); + output.extend(to_lowercase(subtag)); + state = State::InExtension { expected: false }; + } else if state == State::AfterLanguage && subtag.len() == 3 && is_alphabetic(subtag) { + extlangs_count += 1; + if extlangs_count > 3 { + return Err(LanguageTagParseError { + kind: TagParseErrorKind::TooManyExtlangs, + }); + } + // valid extlangs + extlang_end = end; + output.push('-'); + output.extend(to_lowercase(subtag)); + } else if (state == State::AfterLanguage || state == State::AfterExtLang) + && subtag.len() == 4 + && is_alphabetic(subtag) + { + // Script + script_end = end; + output.push('-'); + output.extend(to_uppercase_first(subtag)); + state = State::AfterScript; + } else if (state == State::AfterLanguage + || state == State::AfterExtLang + || state == State::AfterScript) + && (subtag.len() == 2 && is_alphabetic(subtag) + || subtag.len() == 3 && is_numeric(subtag)) + { + // Region + region_end = end; + output.push('-'); + output.extend(to_uppercase(subtag)); + state = State::AfterRegion; + } else if (state == State::AfterLanguage + || state == State::AfterExtLang + || state == State::AfterScript + || state == State::AfterRegion) + && is_alphanumeric(subtag) + && (subtag.len() >= 5 && is_alphabetic(&subtag[0..1]) + || subtag.len() >= 4 && is_numeric(&subtag[0..1])) + { + // Variant + variant_end = end; + output.push('-'); + output.extend(to_lowercase(subtag)); + state = State::AfterRegion; + } else { + return Err(LanguageTagParseError { + kind: TagParseErrorKind::InvalidSubtag, + }); + } + } + + //We make sure we are in a correct final state + if let State::InExtension { expected: true } = state { + return Err(LanguageTagParseError { + kind: TagParseErrorKind::EmptyExtension, + }); + } + if let State::InPrivateUse { expected: true } = state { + return Err(LanguageTagParseError { + kind: TagParseErrorKind::EmptyPrivateUse, + }); + } + + //We make sure we have not skipped anyone + if extlang_end < language_end { + extlang_end = language_end; + } + if script_end < extlang_end { + script_end = extlang_end; + } + if region_end < script_end { + region_end = script_end; + } + if variant_end < region_end { + variant_end = region_end; + } + if extension_end < variant_end { + extension_end = variant_end; + } + + Ok(TagElementsPositions { + language_end, + extlang_end, + script_end, + region_end, + variant_end, + extension_end, + }) +} + +struct ExtensionsIterator<'a> { + input: &'a str, +} + +impl<'a> ExtensionsIterator<'a> { + fn new(input: &'a str) -> Self { + Self { input } + } +} + +impl<'a> Iterator for ExtensionsIterator<'a> { + type Item = (char, &'a str); + + fn next(&mut self) -> Option<(char, &'a str)> { + let mut parts_iterator = self.input.split_terminator('-'); + let singleton = parts_iterator.next()?.chars().next().unwrap(); + let mut content_size: usize = 2; + for part in parts_iterator { + if part.len() == 1 { + let content = &self.input[2..content_size - 1]; + self.input = &self.input[content_size..]; + return Some((singleton, content)); + } else { + content_size += part.len() + 1; + } + } + let result = self.input.get(2..).map(|content| (singleton, content)); + self.input = ""; + result + } +} + +struct SubTagIterator<'a> { + split: Split<'a, char>, + position: usize, +} + +impl<'a> SubTagIterator<'a> { + #[inline] + fn new(input: &'a str) -> Self { + Self { + split: input.split('-'), + position: 0, + } + } +} + +impl<'a> Iterator for SubTagIterator<'a> { + type Item = (&'a str, usize); + + #[inline] + fn next(&mut self) -> Option<(&'a str, usize)> { + let tag = self.split.next()?; + let tag_end = self.position + tag.len(); + self.position = tag_end + 1; + Some((tag, tag_end)) + } +} + +#[inline] +fn is_alphabetic(s: &str) -> bool { + s.chars().all(|x| x.is_ascii_alphabetic()) +} + +#[inline] +fn is_numeric(s: &str) -> bool { + s.chars().all(|x| x.is_ascii_digit()) +} + +#[inline] +fn is_alphanumeric(s: &str) -> bool { + s.chars().all(|x| x.is_ascii_alphanumeric()) +} + +#[inline] +fn is_alphanumeric_or_dash(s: &str) -> bool { + s.chars().all(|x| x.is_ascii_alphanumeric() || x == '-') +} + +#[inline] +fn to_uppercase(s: &str) -> impl Iterator<Item = char> + '_ { + s.chars().map(|c| c.to_ascii_uppercase()) +} + +// Beware: panics if s.len() == 0 (should never happen in our code) +#[inline] +fn to_uppercase_first(s: &str) -> impl Iterator<Item = char> + '_ { + let mut chars = s.chars(); + once(chars.next().unwrap().to_ascii_uppercase()).chain(chars.map(|c| c.to_ascii_lowercase())) +} + +#[inline] +fn to_lowercase(s: &str) -> impl Iterator<Item = char> + '_ { + s.chars().map(|c| c.to_ascii_lowercase()) +} + +const GRANDFATHEREDS: [&str; 26] = [ + "art-lojban", + "cel-gaulish", + "en-GB-oed", + "i-ami", + "i-bnn", + "i-default", + "i-enochian", + "i-hak", + "i-klingon", + "i-lux", + "i-mingo", + "i-navajo", + "i-pwn", + "i-tao", + "i-tay", + "i-tsu", + "no-bok", + "no-nyn", + "sgn-BE-FR", + "sgn-BE-NL", + "sgn-CH-DE", + "zh-guoyu", + "zh-hakka", + "zh-min", + "zh-min-nan", + "zh-xiang", +]; diff --git a/third_party/rust/oxilangtag/tests/lib.rs b/third_party/rust/oxilangtag/tests/lib.rs new file mode 100644 index 0000000000000000000000000000000000000000..6850f0bd303d0002002af3ca853a58fd31713adf --- /dev/null +++ b/third_party/rust/oxilangtag/tests/lib.rs @@ -0,0 +1,722 @@ +use oxilangtag::LanguageTag; +use serde_test::{assert_de_tokens, assert_de_tokens_error}; +#[cfg(feature = "serde")] +use serde_test::{assert_tokens, Token}; +use std::collections::hash_map::DefaultHasher; +use std::hash::{Hash, Hasher}; + +// Tests from RFC 5646 2.1.1 +#[test] +fn test_formatting() { + assert_eq!( + "mn-Cyrl-MN", + LanguageTag::parse_and_normalize("mn-Cyrl-MN") + .unwrap() + .as_str() + ); + assert_eq!( + "mn-Cyrl-MN", + LanguageTag::parse_and_normalize("MN-cYRL-mn") + .unwrap() + .as_str() + ); + assert_eq!( + "mn-Cyrl-MN", + LanguageTag::parse_and_normalize("mN-cYrL-Mn") + .unwrap() + .as_str() + ); + assert_eq!( + "en-CA-x-ca", + LanguageTag::parse_and_normalize("en-CA-x-ca") + .unwrap() + .as_str() + ); + assert_eq!( + "sgn-BE-FR", + LanguageTag::parse_and_normalize("sgn-BE-FR") + .unwrap() + .as_str() + ); + assert_eq!( + "az-Latn-x-latn", + LanguageTag::parse_and_normalize("az-Latn-x-latn") + .unwrap() + .as_str() + ); + assert_eq!( + "i-ami", + LanguageTag::parse_and_normalize("i-ami").unwrap().as_str() + ); + assert_eq!( + "i-ami", + LanguageTag::parse_and_normalize("I-AMI").unwrap().as_str() + ); + assert_eq!( + "sl-afb-Latn-005-nedis", + LanguageTag::parse_and_normalize("SL-AFB-lATN-005-nEdis") + .unwrap() + .as_str() + ) +} + +// Tests from RFC 5646 2.2.1 +#[test] +fn test_primary_language() { + assert_eq!( + "fr", + LanguageTag::parse_and_normalize("fr") + .unwrap() + .primary_language() + ); + assert_eq!( + "de", + LanguageTag::parse_and_normalize("de") + .unwrap() + .primary_language() + ); + assert_eq!( + "x-fr-ch", + LanguageTag::parse_and_normalize("x-fr-CH") + .unwrap() + .primary_language() + ); + assert_eq!( + "i-klingon", + LanguageTag::parse_and_normalize("i-klingon") + .unwrap() + .primary_language() + ); + assert_eq!( + "i-bnn", + LanguageTag::parse_and_normalize("i-bnn") + .unwrap() + .primary_language() + ); + assert_eq!( + "zh-hakka", + LanguageTag::parse_and_normalize("zh-hakka") + .unwrap() + .primary_language() + ) +} + +// Tests from RFC 5646 2.2.2 +#[test] +fn test_extended_language() { + fn parts(tag: &LanguageTag<String>) -> (&str, &str, Option<&str>, Vec<&str>) { + ( + tag.full_language(), + tag.primary_language(), + tag.extended_language(), + tag.extended_language_subtags().collect(), + ) + } + + assert_eq!(("zh", "zh", None, vec![]), parts(&"zh".parse().unwrap())); + assert_eq!( + ("zh-gan", "zh", Some("gan"), vec!["gan"]), + parts(&"zh-gan".parse().unwrap()) + ); + assert_eq!( + ("zh-gan-foo", "zh", Some("gan-foo"), vec!["gan", "foo"]), + parts(&"zh-gan-foo".parse().unwrap()) + ); + assert_eq!( + ("zh-min-nan", "zh-min-nan", None, vec![]), + parts(&"zh-min-nan".parse().unwrap()) + ); + assert_eq!( + ("i-tsu", "i-tsu", None, vec![]), + parts(&"i-tsu".parse().unwrap()) + ); + assert_eq!(("zh", "zh", None, vec![]), parts(&"zh-CN".parse().unwrap())); + assert_eq!( + ("zh-gan", "zh", Some("gan"), vec!["gan"]), + parts(&"zh-gan-CN".parse().unwrap()) + ); + assert_eq!( + ("ar-afb", "ar", Some("afb"), vec!["afb"]), + parts(&"ar-afb".parse().unwrap()) + ); +} + +// Tests from RFC 5646 2.2.3 +#[test] +fn test_script() { + fn parts(tag: &LanguageTag<String>) -> (&str, Option<&str>) { + (tag.primary_language(), tag.script()) + } + + assert_eq!(("sr", Some("Latn")), parts(&"sr-Latn".parse().unwrap())); + assert_eq!(("ar", Some("Latn")), parts(&"ar-afb-Latn".parse().unwrap())) +} + +// Tests from RFC 5646 2.2.4 +#[test] +fn test_region() { + fn parts(tag: &LanguageTag<String>) -> (&str, Option<&str>, Option<&str>) { + (tag.primary_language(), tag.script(), tag.region()) + } + + assert_eq!(("de", None, Some("AT")), parts(&"de-AT".parse().unwrap())); + assert_eq!( + ("sr", Some("Latn"), Some("RS")), + parts(&"sr-Latn-RS".parse().unwrap()) + ); + assert_eq!(("es", None, Some("419")), parts(&"es-419".parse().unwrap())); + assert_eq!(("ar", None, Some("DE")), parts(&"ar-DE".parse().unwrap())); + assert_eq!(("ar", None, Some("005")), parts(&"ar-005".parse().unwrap())); +} + +// Tests from RFC 5646 2.2.5 +#[test] +fn test_variant() { + fn parts(tag: &LanguageTag<String>) -> (&str, Option<&str>, Vec<&str>) { + ( + tag.primary_language(), + tag.variant(), + tag.variant_subtags().collect(), + ) + } + + assert_eq!(("sl", None, vec![]), parts(&"sl".parse().unwrap())); + assert_eq!( + ("sl", Some("nedis"), vec!["nedis"]), + parts(&"sl-nedis".parse().unwrap()) + ); + assert_eq!( + ("de", Some("1996"), vec!["1996"]), + parts(&"de-CH-1996".parse().unwrap()) + ); + assert_eq!( + ("art-lojban", None, vec![]), + parts(&"art-lojban".parse().unwrap()) + ); +} + +// Tests from RFC 5646 2.2.6 +#[test] +fn test_extension() { + fn parts(tag: &LanguageTag<String>) -> (&str, Option<&str>, Vec<(char, &str)>) { + ( + tag.primary_language(), + tag.extension(), + tag.extension_subtags().collect(), + ) + } + + assert_eq!(("en", None, vec![]), parts(&"en".parse().unwrap())); + assert_eq!( + ("en", Some("a-bbb"), vec![('a', "bbb")]), + parts(&"en-a-bbb-x-a-ccc".parse().unwrap()) + ); + assert_eq!( + ( + "en", + Some("a-babble-b-warble"), + vec![('a', "babble"), ('b', "warble")] + ), + parts(&"en-a-babble-b-warble".parse().unwrap()) + ); + assert_eq!( + ("fr", Some("a-latn"), vec![('a', "latn")]), + parts(&"fr-a-Latn".parse().unwrap()) + ); + assert_eq!( + ( + "en", + Some("r-extended-sequence"), + vec![('r', "extended-sequence")] + ), + parts( + &"en-Latn-GB-boont-r-extended-sequence-x-private" + .parse() + .unwrap() + ) + ); + assert_eq!( + ("en", Some("r-az-r-qt"), vec![('r', "az"), ('r', "qt")]), + parts(&"en-r-az-r-qt".parse().unwrap()) + ); + assert_eq!(("i-tsu", None, vec![]), parts(&"i-tsu".parse().unwrap())); +} + +// Tests from RFC 5646 2.2.7 +#[test] +fn test_privateuse() { + fn parts(tag: &LanguageTag<String>) -> (&str, Option<&str>, Vec<&str>) { + ( + tag.primary_language(), + tag.private_use(), + tag.private_use_subtags().collect(), + ) + } + + assert_eq!(("en", None, vec![]), parts(&"en".parse().unwrap())); + assert_eq!( + ("en", Some("x-us"), vec!["us"]), + parts(&"en-x-US".parse().unwrap()) + ); + assert_eq!( + ("el", Some("x-koine"), vec!["koine"]), + parts(&"el-x-koine".parse().unwrap()) + ); + assert_eq!( + ("x-fr-ch", Some("x-fr-ch"), vec!["fr", "ch"]), + parts(&"x-fr-ch".parse().unwrap()) + ); + assert_eq!( + ("es", Some("x-foobar-at-007"), vec!["foobar", "at", "007"]), + parts(&"es-x-foobar-AT-007".parse().unwrap()) + ) +} + +#[test] +fn test_fmt() { + assert_eq!( + "ar-arb-Latn-DE-nedis-foobar", + LanguageTag::parse_and_normalize("ar-arb-Latn-DE-nedis-foobar") + .unwrap() + .as_str() + ); + assert_eq!( + "ar-arb-Latn-DE-nedis-foobar", + LanguageTag::parse_and_normalize("ar-arb-latn-de-nedis-foobar") + .unwrap() + .as_str() + ); + assert_eq!( + "ar-arb-Latn-DE-nedis-foobar", + LanguageTag::parse_and_normalize("AR-ARB-LATN-DE-NEDIS-FOOBAR") + .unwrap() + .as_str() + ); + assert_eq!( + "xx-z-foo-a-bar-f-spam-b-eggs", + LanguageTag::parse_and_normalize("xx-z-foo-a-bar-F-spam-b-eggs") + .unwrap() + .as_str() + ); + assert_eq!( + "hkgnmerm-x-e5-zf-vddjcpz-1v6", + LanguageTag::parse_and_normalize("HkgnmerM-x-e5-zf-VdDjcpz-1V6") + .unwrap() + .to_string() + ); + assert_eq!( + "mgxqa-Ywep-8lcw-7bvt-h-dp1md-0h7-0z3ir", + LanguageTag::parse_and_normalize("MgxQa-ywEp-8lcW-7bvT-h-dP1Md-0h7-0Z3ir") + .unwrap() + .as_str() + ); +} + +#[test] +fn test_unicode() { + assert!(LanguageTag::parse("zh-x-Üńìcødê").is_err()); +} + +#[test] +fn test_cmp() { + assert_eq!( + LanguageTag::parse_and_normalize("dE-AraB-lY").unwrap(), + LanguageTag::parse_and_normalize("DE-aRaB-LY").unwrap() + ); + assert_ne!( + LanguageTag::parse_and_normalize("zh").unwrap(), + LanguageTag::parse_and_normalize("zh-Latn").unwrap() + ); +} + +// http://www.langtag.net/test-suites/well-formed-tags.txt +#[test] +fn test_wellformed_tags() { + let tags = vec![ + "fr", + "fr-Latn", + "fr-fra", // Extended tag + "fr-Latn-FR", + "fr-Latn-419", + "fr-FR", + "ax-TZ", // Not in the registry, but well-formed + "fr-shadok", // Variant + "fr-y-myext-myext2", + "fra-Latn", // ISO 639 can be 3-letters + "fra", + "fra-FX", + "i-klingon", // grandfathered with singleton + "I-kLINgon", // tags are case-insensitive... + "no-bok", // grandfathered without singleton + "fr-Lat", // Extended", + "mn-Cyrl-MN", + "mN-cYrL-Mn", + "fr-Latn-CA", + "en-US", + "fr-Latn-CA", + "i-enochian", // Grand fathered + "x-fr-CH", + "sr-Latn-CS", + "es-419", + "sl-nedis", + "de-CH-1996", + "de-Latg-1996", + "sl-IT-nedis", + "en-a-bbb-x-a-ccc", + "de-a-value", + "en-Latn-GB-boont-r-extended-sequence-x-private", + "en-x-US", + "az-Arab-x-AZE-derbend", + "es-Latn-CO-x-private", + "en-US-boont", + "ab-x-abc-x-abc", // anything goes after x + "ab-x-abc-a-a", // ditto", + "i-default", // grandfathered", + "i-klingon", // grandfathered", + "abcd-Latn", // Language of 4 chars reserved for future use + "AaBbCcDd-x-y-any-x", // Language of 5-8 chars, registered + "en", + "de-AT", + "es-419", + "de-CH-1901", + "sr-Cyrl", + "sr-Cyrl-CS", + "sl-Latn-IT-rozaj", + "en-US-x-twain", + "zh-cmn", + "zh-cmn-Hant", + "zh-cmn-Hant-HK", + "zh-gan", + "zh-yue-Hant-HK", + "xr-lxs-qut", // extlangS + "xr-lqt-qu", // extlang + region + "xr-p-lze", // Extension + ]; + for tag in tags { + let result = LanguageTag::parse(tag); + assert!( + result.is_ok(), + "{} should be considered well-formed but returned error {}", + tag, + result.err().unwrap() + ); + } +} + +// http://www.langtag.net/test-suites/broken-tags.txt +#[test] +fn test_broken_tags() { + let tags = vec![ + "", + "f", + "f-Latn", + "fr-Latn-F", + "a-value", + "tlh-a-b-foo", + "i-notexist", // grandfathered but not registered: always invalid + "abcdefghi-012345678", + "ab-abc-abc-abc-abc", + "ab-abcd-abc", + "ab-ab-abc", + "ab-123-abc", + "a-Hant-ZH", + "a1-Hant-ZH", + "ab-abcde-abc", + "ab-1abc-abc", + "ab-ab-abcd", + "ab-123-abcd", + "ab-abcde-abcd", + "ab-1abc-abcd", + "ab-a-b", + "ab-a-x", + "ab--ab", + "ab-abc-", + "-ab-abc", + "abcd-efg", + "aabbccddE", + ]; + for tag in tags { + let result = LanguageTag::parse(tag); + assert!( + result.is_err(), + "{} should be considered not well-formed but returned result {:?}", + tag, + result.ok().unwrap() + ); + } +} + +#[test] +fn test_random_good_tags() { + // http://unicode.org/repos/cldr/trunk/tools/java/org/unicode/cldr/util/data/langtagTest.txt + let tags = vec![ + "zszLDm-sCVS-es-x-gn762vG-83-S-mlL", + "IIJdFI-cfZv", + "kbAxSgJ-685", + "tbutP", + "hDL-595", + "dUf-iUjq-0hJ4P-5YkF-WD8fk", + "FZAABA-FH", + "xZ-lh-4QfM5z9J-1eG4-x-K-R6VPr2z", + "Fyi", + "SeI-DbaG", + "ch-xwFn", + "OeC-GPVI", + "JLzvUSi", + "Fxh-hLAs", + "pKHzCP-sgaO-554", + "eytqeW-hfgH-uQ", + "ydn-zeOP-PR", + "uoWmBM-yHCf-JE", + "xwYem", + "zie", + "Re-wjSv-Ey-i-XE-E-JjWTEB8-f-DLSH-NVzLH-AtnFGWoH-SIDE", + "Ri-063-c-u6v-ZfhkToTB-C-IFfmv-XT-j-rdyYFMhK-h-pY-D5-Oh6FqBhL-hcXt-v-WdpNx71-\ + K-c74m4-eBTT7-JdH7Q1Z", + "ji", + "IM-487", + "EPZ-zwcB", + "GauwEcwo", + "kDEP", + "FwDYt-TNvo", + "ottqP-KLES-x-9-i9", + "fcflR-grQQ", + "TvFwdu-kYhs", + "WE-336", + "MgxQa-ywEp-8lcW-7bvT-h-dP1Md-0h7-0Z3ir-K-Srkm-kA-7LXM-Z-whb2MiO-2mNsvbLm-W3O\ + -4r-U-KceIxHdI-gvMVgUBV-2uRUni-J0-7C8yTK2", + "Hyr-B-evMtVoB1-mtsVZf-vQMV-gM-I-rr-kvLzg-f-lAUK-Qb36Ne-Z-7eFzOD-mv6kKf-l-miZ\ + 7U3-k-XDGtNQG", + "ybrlCpzy", + "PTow-w-cAQ51-8Xd6E-cumicgt-WpkZv3NY-q-ORYPRy-v-A4jL4A-iNEqQZZ-sjKn-W-N1F-pzy\ + c-xP5eWz-LmsCiCcZ", + "ih-DlPR-PE", + "Krf-362", + "WzaD", + "EPaOnB-gHHn", + "XYta", + "NZ-RgOO-tR", + "at-FE", + "Tpc-693", + "YFp", + "gRQrQULo", + "pVomZ-585", + "laSu-ZcAq-338", + "gCW", + "PydSwHRI-TYfF", + "zKmWDD", + "X-bCrL5RL", + "HK", + "YMKGcLY", + "GDJ-nHYa-bw-X-ke-rohH5GfS-LdJKsGVe", + "tfOxdau-yjge-489-a-oB-I8Csb-1ESaK1v-VFNz-N-FT-ZQyn-On2-I-hu-vaW3-jIQb-vg0U-h\ + Ul-h-dO6KuJqB-U-tde2L-P3gHUY-vnl5c-RyO-H-gK1-zDPu-VF1oeh8W-kGzzvBbW-yuAJZ", + "LwDux", + "Zl-072", + "Ri-Ar", + "vocMSwo-cJnr-288", + "kUWq-gWfQ-794", + "YyzqKL-273", + "Xrw-ZHwH-841-9foT-ESSZF-6OqO-0knk-991U-9p3m-b-JhiV-0Kq7Y-h-cxphLb-cDlXUBOQ-X\ + -4Ti-jty94yPp", + "en-GB-oed", + "LEuZl-so", + "HyvBvFi-cCAl-X-irMQA-Pzt-H", + "uDbsrAA-304", + "wTS", + "IWXS", + "XvDqNkSn-jRDR", + "gX-Ycbb-iLphEks-AQ1aJ5", + "FbSBz-VLcR-VL", + "JYoVQOP-Iytp", + "gDSoDGD-lq-v-7aFec-ag-k-Z4-0kgNxXC-7h", + "Bjvoayy-029", + "qSDJd", + "qpbQov", + "fYIll-516", + "GfgLyfWE-EHtB", + "Wc-ZMtk", + "cgh-VEYK", + "WRZs-AaFd-yQ", + "eSb-CpsZ-788", + "YVwFU", + "JSsHiQhr-MpjT-381", + "LuhtJIQi-JKYt", + "vVTvS-RHcP", + "SY", + "fSf-EgvQfI-ktWoG-8X5z-63PW", + "NOKcy", + "OjJb-550", + "KB", + "qzKBv-zDKk-589", + "Jr", + "Acw-GPXf-088", + "WAFSbos", + "HkgnmerM-x-e5-zf-VdDjcpz-1V6", + "UAfYflJU-uXDc-YV", + "x-CHsHx-VDcOUAur-FqagDTx-H-V0e74R", + "uZIAZ-Xmbh-pd", + ]; + for tag in tags { + let result = LanguageTag::parse(tag); + assert!( + result.is_ok(), + "{} should be considered well-formed but returned error {}", + tag, + result.err().unwrap() + ); + } +} + +#[test] +fn test_random_bad_tags() { + // http://unicode.org/repos/cldr/trunk/tools/java/org/unicode/cldr/util/data/langtagTest.txt + let tags = vec![ + "EdY-z_H791Xx6_m_kj", + "qWt85_8S0-L_rbBDq0gl_m_O_zsAx_nRS", + "VzyL2", + "T_VFJq-L-0JWuH_u2_VW-hK-kbE", + "u-t", + "Q-f_ZVJXyc-doj_k-i", + "JWB7gNa_K-5GB-25t_W-s-ZbGVwDu1-H3E", + "b-2T-Qob_L-C9v_2CZxK86", + "fQTpX_0_4Vg_L3L_g7VtALh2", + "S-Z-E_J", + "f6wsq-02_i-F", + "9_GcUPq_G", + "QjsIy_9-0-7_Dv2yPV09_D-JXWXM", + "D_se-f-k", + "ON47Wv1_2_W", + "f-z-R_s-ha", + "N3APeiw_195_Bx2-mM-pf-Z-Ip5lXWa-5r", + "IRjxU-E_6kS_D_b1b_H", + "NB-3-5-AyW_FQ-9hB-TrRJg3JV_3C", + "yF-3a_V_FoJQAHeL_Z-Mc-u", + "n_w_bbunOG_1-s-tJMT5je", + "Q-AEWE_X", + "57b1O_k_R6MU_sb", + "hK_65J_i-o_SI-Y", + "wB4B7u_5I2_I_NZPI", + "J24Nb_q_d-zE", + "v6-dHjJmvPS_IEb-x_A-O-i", + "8_8_dl-ZgBr84u-P-E", + "nIn-xD7EVhe_C", + "5_N-6P_x7Of_Lo_6_YX_R", + "0_46Oo0sZ-YNwiU8Wr_d-M-pg1OriV", + "laiY-5", + "K-8Mdd-j_ila0sSpo_aO8_J", + "wNATtSL-Cp4_gPa_fD41_9z", + "H_FGz5V8_n6rrcoz0_1O6d-kH-7-N", + "wDOrnHU-odqJ_vWl", + "gP_qO-I-jH", + "h", + "dJ0hX-o_csBykEhU-F", + "L-Vf7_BV_eRJ5goSF_Kp", + "y-oF-chnavU-H", + "9FkG-8Q-8_v", + "W_l_NDQqI-O_SFSAOVq", + "kDG3fzXw", + "t-nsSp-7-t-mUK2", + "Yw-F", + "1-S_3_l", + "u-v_brn-Y", + "4_ft_3ZPZC5lA_D", + "n_dR-QodsqJnh_e", + "Hwvt-bSwZwj_KL-hxg0m-3_hUG", + "mQHzvcV-UL-o2O_1KhUJQo_G2_uryk3-a", + "b-UTn33HF", + "r-Ep-jY-aFM_N_H", + "K-k-krEZ0gwD_k_ua-9dm3Oy-s_v", + "XS_oS-p", + "EIx_h-zf5", + "p_z-0_i-omQCo3B", + "1_q0N_jo_9", + "0Ai-6-S", + "L-LZEp_HtW", + "Zj-A4JD_2A5Aj7_b-m3", + "x", + "p-qPuXQpp_d-jeKifB-c-7_G-X", + "X94cvJ_A", + "F2D25R_qk_W-w_Okf_kx", + "rc-f", + "D", + "gD_WrDfxmF-wu-E-U4t", + "Z_BN9O4_D9-D_0E_KnCwZF-84b-19", + "T-8_g-u-0_E", + "lXTtys9j_X_A_m-vtNiNMw_X_b-C6Nr", + "V_Ps-4Y-S", + "X5wGEA", + "mIbHFf_ALu4_Jo1Z1", + "ET-TacYx_c", + "Z-Lm5cAP_ri88-d_q_fi8-x", + "rTi2ah-4j_j_4AlxTs6m_8-g9zqncIf-N5", + "FBaLB85_u-0NxhAy-ZU_9c", + "x_j_l-5_aV95_s_tY_jp4", + "PL768_D-m7jNWjfD-Nl_7qvb_bs_8_Vg", + "9-yOc-gbh", + "6DYxZ_SL-S_Ye", + "ZCa-U-muib-6-d-f_oEh_O", + "Qt-S-o8340F_f_aGax-c-jbV0gfK_p", + "WE_SzOI_OGuoBDk-gDp", + "cs-Y_9", + "m1_uj", + "Y-ob_PT", + "li-B", + "f-2-7-9m_f8den_J_T_d", + "p-Os0dua-H_o-u", + "L", + "rby-w", + ]; + for tag in tags { + let result = LanguageTag::parse(tag); + assert!( + result.is_err(), + "{} should be considered not well-formed but returned result {:?}", + tag, + result.ok().unwrap() + ); + } +} + +#[test] +fn test_eq() { + let tag = LanguageTag::parse("en-fr").unwrap(); + assert_eq!(tag, "en-fr"); + assert_ne!(tag, "en-FR"); + assert_eq!("en-fr", tag); + assert_eq!(hash(&tag), hash("en-fr")); + assert_ne!(hash(&tag), hash("en-FR")); +} + +fn hash(value: impl Hash) -> u64 { + let mut hasher = DefaultHasher::new(); + value.hash(&mut hasher); + hasher.finish() +} + +#[test] +fn test_str() { + let tag = LanguageTag::parse("en-fr").unwrap(); + assert!(tag.starts_with("en-")); +} + +#[cfg(feature = "serde")] +#[test] +fn test_serd_impl() { + assert_tokens( + &LanguageTag::parse("en-us").unwrap(), + &[Token::BorrowedStr("en-us")], + ); + assert_tokens( + &LanguageTag::parse("en-US".to_string()).unwrap(), + &[Token::String("en-US")], + ); + assert_de_tokens( + &LanguageTag::parse("en-US".to_string()).unwrap(), + &[Token::BorrowedStr("en-US")], + ); + assert_de_tokens_error::<LanguageTag<String>>( + &[Token::String("verybadvalue")], + "A subtag may be eight characters in length at maximum", + ); +} diff --git a/thunderbird-l10n/af/chrome/af/locale/af/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/af/chrome/af/locale/af/messenger/messengercompose/composeMsgs.properties index bda231442bccd4b18d6d5485505fc8e61cc1e952..f74e7a0a3da98f82e091fcbfb4e4c12f2508e01f 100644 --- a/thunderbird-l10n/af/chrome/af/locale/af/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/af/chrome/af/locale/af/messenger/messengercompose/composeMsgs.properties @@ -357,6 +357,8 @@ startTlsFailed=An error occurred while sending mail: Unable to establish a secur smtpPasswordUndefined=An error occurred while sending mail: Could not get password for %S. The message was not sent. ## LOCALIZATION NOTE (smtpSendNotAllowed): argument %s is the Outgoing server (SMTP) response smtpSendNotAllowed=An error occurred while sending mail. The mail server responded:\n%s.\nPlease ensure that you are using the correct identity to send and that the used authentication method is correct. Verify that you are allowed to send via this SMTP server with your current credentials from your current network. +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. ## LOCALIZATION NOTE (smtpClientid): argument %s is the Outgoing server (SMTP) response smtpClientid=The outgoing server (SMTP) detected an error in the CLIENTID command. The message was not sent. The server responded: %s ## LOCALIZATION NOTE (smtpClientidPermission): argument %s is the Outgoing server (SMTP) response diff --git a/thunderbird-l10n/af/localization/af/messenger/preferences/system-integration.ftl b/thunderbird-l10n/af/localization/af/messenger/preferences/system-integration.ftl index 00a261aa5a308b91b38ed157f688e82059f079ec..b01be0cd23f101f01e40f53ab2048ee818564710 100644 --- a/thunderbird-l10n/af/localization/af/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/af/localization/af/messenger/preferences/system-integration.ftl @@ -4,9 +4,8 @@ system-integration-title = .title = Stelselintegrasie - +system-integration-dialog-title = Stelselintegrasie default-client-intro = Gebruik { -brand-short-name } as die verstekkliënt vir: - checkbox-email-label = .label = E-pos .tooltiptext = { unset-default-tooltip } @@ -16,7 +15,6 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Nuusvoere .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -25,11 +23,9 @@ system-search-engine-name = [windows] Windowssoektog *[other] { "" } } - system-search-integration-label = .label = Laat { system-search-engine-name } toe om boodskappe te deursoek .accesskey = b - check-on-startup-label = .label = Kontroleer altyd wanneer { -brand-short-name } begin word .accesskey = K diff --git a/thunderbird-l10n/af/manifest.json b/thunderbird-l10n/af/manifest.json index 6c7814ad1368def19ce4898cc0245383c7f8c1e2..ff6ac9224ce0ac186303c2c3121cbe24783967c4 100644 --- a/thunderbird-l10n/af/manifest.json +++ b/thunderbird-l10n/af/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Afrikaans", "description": "Thunderbird Language Pack for Afrikaans (af)", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "af": { - "version": "20231208145244", + "version": "20231215210541", "chrome_resources": { "alerts": "chrome/af/locale/af/alerts/", "autoconfig": "chrome/af/locale/af/autoconfig/", diff --git a/thunderbird-l10n/ar/chrome/ar/locale/ar/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/ar/chrome/ar/locale/ar/messenger/messengercompose/composeMsgs.properties index 91c4c91beed7e9e9e9b9ff1cd72fbe0994a8885e..ee870d815467ce01870bd1fe37068391e83ca4e1 100644 --- a/thunderbird-l10n/ar/chrome/ar/locale/ar/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/ar/chrome/ar/locale/ar/messenger/messengercompose/composeMsgs.properties @@ -435,6 +435,8 @@ sendFailedUnexpected=Failed due to unexpected error %X. No description is availa smtpSecurityIssue=The configuration related to %S must be corrected. ## LOCALIZATION NOTE (smtpSendNotAllowed): argument %s is the Outgoing server (SMTP) response smtpSendNotAllowed=An error occurred while sending mail. The mail server responded:\n%s.\nPlease ensure that you are using the correct identity to send and that the used authentication method is correct. Verify that you are allowed to send via this SMTP server with your current credentials from your current network. +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. ## LOCALIZATION NOTE (smtpClientid): argument %s is the Outgoing server (SMTP) response smtpClientid=The outgoing server (SMTP) detected an error in the CLIENTID command. The message was not sent. The server responded: %s ## LOCALIZATION NOTE (smtpClientidPermission): argument %s is the Outgoing server (SMTP) response diff --git a/thunderbird-l10n/ar/localization/ar/messenger/preferences/system-integration.ftl b/thunderbird-l10n/ar/localization/ar/messenger/preferences/system-integration.ftl index bd6fce08fad1c322d164d615dcc1c0848c5af582..14973aa46482b2ca263f86f79b0e953c4f3a1b6a 100644 --- a/thunderbird-l10n/ar/localization/ar/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/ar/localization/ar/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = التكامل مع النظام - +system-integration-dialog-title = التكامل مع النظام system-integration-dialog = .buttonlabelaccept = اجعله المبدئي .buttonlabelcancel = تجاوز التكامل مع النظام .buttonlabelcancel2 = ألغِ - default-client-intro = اجعل { -brand-short-name } العميل المبدئي ل: - unset-default-tooltip = لا يمكن تغيير كون { -brand-short-name } العميل المبدئي من داخله. لجعل تطبيق آخر المبدئي، عليك فعله هذا من داخل التطبيق الآخر. - checkbox-email-label = .label = البريد الإلكتروني .tooltiptext = { unset-default-tooltip } @@ -23,7 +20,6 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = التلقيمات .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -32,11 +28,9 @@ system-search-engine-name = [windows] Windows Search *[other] { "" } } - system-search-integration-label = .label = اسمح ل { system-search-engine-name } بالبحث في الرسائل .accesskey = س - check-on-startup-label = .label = تحقق دائمًا من ذلك عند بدء { -brand-short-name } .accesskey = ء diff --git a/thunderbird-l10n/ar/manifest.json b/thunderbird-l10n/ar/manifest.json index 3bdd4b4422313beeb7f85a6376c7aeef8356e734..78d1fb8acfac49ab02f1ca68e227a660a09def53 100644 --- a/thunderbird-l10n/ar/manifest.json +++ b/thunderbird-l10n/ar/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: العربية (Arabic)", "description": "Thunderbird Language Pack for العربية (ar) – Arabic", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "ar": { - "version": "20231208145329", + "version": "20231215210625", "chrome_resources": { "alerts": "chrome/ar/locale/ar/alerts/", "autoconfig": "chrome/ar/locale/ar/autoconfig/", diff --git a/thunderbird-l10n/ast/chrome/ast/locale/ast/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/ast/chrome/ast/locale/ast/messenger/messengercompose/composeMsgs.properties index ce16efd15db85808ab192c0bdbd311d531642dfa..69e6312ebff28da44c12160e077a9333b15698bc 100644 --- a/thunderbird-l10n/ast/chrome/ast/locale/ast/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/ast/chrome/ast/locale/ast/messenger/messengercompose/composeMsgs.properties @@ -341,14 +341,12 @@ startTlsFailed=An error occurred while sending mail: Unable to establish a secur smtpPasswordUndefined=An error occurred while sending mail: Could not get password for %S. The message was not sent. ## LOCALIZATION NOTE (smtpSendNotAllowed): argument %s is the Outgoing server (SMTP) response smtpSendNotAllowed=An error occurred while sending mail. The mail server responded:\n%s.\nPlease ensure that you are using the correct identity to send and that the used authentication method is correct. Verify that you are allowed to send via this SMTP server with your current credentials from your current network. -## LOCALIZATION NOTE (smtpTempSizeExceeded): argument %s is the Outgoing server (SMTP) response -smtpTempSizeExceeded=The size of the message you are trying to send exceeds a temporary size limit of the server. The message was not sent; try to reduce the message size or wait some time and try again. The server responded: %s. +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. ## LOCALIZATION NOTE (smtpClientid): argument %s is the Outgoing server (SMTP) response smtpClientid=The outgoing server (SMTP) detected an error in the CLIENTID command. The message was not sent. The server responded: %s ## LOCALIZATION NOTE (smtpClientidPermission): argument %s is the Outgoing server (SMTP) response smtpClientidPermission=The outgoing server (SMTP) response to the CLIENTID command indicates that your device is not permitted to send mail. The server responded: %s -## LOCALIZATION NOTE (smtpPermSizeExceeded1): argument %d is the Outgoing server (SMTP) size limit -smtpPermSizeExceeded1=The size of the message you are trying to send exceeds the global size limit (%d bytes) of the server. The message was not sent; reduce the message size and try again. ## LOCALIZATION NOTE (smtpPermSizeExceeded2): argument %s is the Outgoing server (SMTP) response smtpPermSizeExceeded2=The size of the message you are trying to send exceeds the global size limit of the server. The message was not sent; reduce the message size and try again. The server responded: %s. ## LOCALIZATION NOTE (smtpSendFailedUnknownServer): argument %S is the Outgoing server (SMTP) diff --git a/thunderbird-l10n/ast/localization/ast/messenger/preferences/system-integration.ftl b/thunderbird-l10n/ast/localization/ast/messenger/preferences/system-integration.ftl index 5cb1cd320b4e24b20758d68bc6b71cd9ce56401c..e9e9689235e7cffa400c2c0df85c50a9e6809f05 100644 --- a/thunderbird-l10n/ast/localization/ast/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/ast/localization/ast/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Integración col sistema - +system-integration-dialog-title = Integración col sistema system-integration-dialog = .buttonlabelaccept = Definir como predet. .buttonlabelcancel = Omitir integración .buttonlabelcancel2 = Encaboxar - default-client-intro = Usar { -brand-short-name } como veceru por defeutu pa: - unset-default-tooltip = Nun ye dable desaniciar { -brand-short-name } como veceru predetermináu dende'l propiu { -brand-short-name }. Pa que otra aplicación seya la predeterminada, tienes d'usar el diálogu 'Afitar como predeterminada'. - checkbox-email-label = .label = Corréu-e .tooltiptext = { unset-default-tooltip } @@ -23,7 +20,6 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Canales .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -32,11 +28,9 @@ system-search-engine-name = [windows] Windows Search *[other] { "" } } - system-search-integration-label = .label = Permitir que { system-search-engine-name } guete nos mensaxes .accesskey = P - check-on-startup-label = .label = Facer siempre esta comprobación al aniciar { -brand-short-name } .accesskey = F diff --git a/thunderbird-l10n/ast/manifest.json b/thunderbird-l10n/ast/manifest.json index 68367faab298d271b1ab32dc272a5d0503419b73..0105f80debc2b7dd2b71cd49bb796e98a8ef3557 100644 --- a/thunderbird-l10n/ast/manifest.json +++ b/thunderbird-l10n/ast/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Asturianu (Asturian)", "description": "Thunderbird Language Pack for Asturianu (ast) – Asturian", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "ast": { - "version": "20231208145413", + "version": "20231215210709", "chrome_resources": { "alerts": "chrome/ast/locale/ast/alerts/", "autoconfig": "chrome/ast/locale/ast/autoconfig/", diff --git a/thunderbird-l10n/be/chrome/be/locale/be/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/be/chrome/be/locale/be/messenger/messengercompose/composeMsgs.properties index 45ae115ddc313b56730d0285e6f0ec4e02925f1b..af593da6ad98bb7644c50e5aa2fc33a7b6d17856 100644 --- a/thunderbird-l10n/be/chrome/be/locale/be/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/be/chrome/be/locale/be/messenger/messengercompose/composeMsgs.properties @@ -436,14 +436,12 @@ startTlsFailed=An error occurred while sending mail: Unable to establish a secur smtpPasswordUndefined=An error occurred while sending mail: Could not get password for %S. The message was not sent. ## LOCALIZATION NOTE (smtpSendNotAllowed): argument %s is the Outgoing server (SMTP) response smtpSendNotAllowed=An error occurred while sending mail. The mail server responded:\n%s.\nPlease ensure that you are using the correct identity to send and that the used authentication method is correct. Verify that you are allowed to send via this SMTP server with your current credentials from your current network. -## LOCALIZATION NOTE (smtpTempSizeExceeded): argument %s is the Outgoing server (SMTP) response -smtpTempSizeExceeded=The size of the message you are trying to send exceeds a temporary size limit of the server. The message was not sent; try to reduce the message size or wait some time and try again. The server responded: %s. +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. ## LOCALIZATION NOTE (smtpClientid): argument %s is the Outgoing server (SMTP) response smtpClientid=The outgoing server (SMTP) detected an error in the CLIENTID command. The message was not sent. The server responded: %s ## LOCALIZATION NOTE (smtpClientidPermission): argument %s is the Outgoing server (SMTP) response smtpClientidPermission=The outgoing server (SMTP) response to the CLIENTID command indicates that your device is not permitted to send mail. The server responded: %s -## LOCALIZATION NOTE (smtpPermSizeExceeded1): argument %d is the Outgoing server (SMTP) size limit -smtpPermSizeExceeded1=The size of the message you are trying to send exceeds the global size limit (%d bytes) of the server. The message was not sent; reduce the message size and try again. ## LOCALIZATION NOTE (smtpPermSizeExceeded2): argument %s is the Outgoing server (SMTP) response smtpPermSizeExceeded2=The size of the message you are trying to send exceeds the global size limit of the server. The message was not sent; reduce the message size and try again. The server responded: %s. ## LOCALIZATION NOTE (smtpSendFailedUnknownServer): argument %S is the Outgoing server (SMTP) diff --git a/thunderbird-l10n/be/localization/be/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/be/localization/be/messenger/openpgp/openpgp.ftl index 02d781c878ca2def906d26dac3891e0ff841782a..0707e81a1c6b7ca5aaa43b904dbe1f568261be13 100644 --- a/thunderbird-l10n/be/localization/be/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/be/localization/be/messenger/openpgp/openpgp.ftl @@ -2,8 +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/. -openpgp-key-gen-months-label = - .label = месяцаў openpgp-key-man-close = .label = Закрыць openpgp-card-details-close-window-label = diff --git a/thunderbird-l10n/be/localization/be/messenger/preferences/system-integration.ftl b/thunderbird-l10n/be/localization/be/messenger/preferences/system-integration.ftl index 96b97a865ec5b830ad939419e90c758d2aa9fa92..c6457675f35fa927e73c5fc84484baf3717493aa 100644 --- a/thunderbird-l10n/be/localization/be/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/be/localization/be/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Узаемадзеянне з сістэмай - +system-integration-dialog-title = Узаемадзеянне з сістэмай system-integration-dialog = .buttonlabelaccept = Прызначыць змоўчным .buttonlabelcancel = Прапусціць узаемадзеянне .buttonlabelcancel2 = Скасаваць - default-client-intro = Ужываць { -brand-short-name } як змоўчны спажывец: - unset-default-tooltip = Немагчыма адмяніць прызначэнне { -brand-short-name } змоўным спажыўцом у { -brand-short-name }. Каб зрабіць іншае прыстасаванне змоўчным, вы мусіце скарыстацца яго дыялогам 'Прызначэнне змоўчным'. - checkbox-email-label = .label = Э-пошты .tooltiptext = { unset-default-tooltip } @@ -23,7 +20,6 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Жывільнікаў .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -32,11 +28,9 @@ system-search-engine-name = [windows] Пошук Windows *[other] { "" } } - system-search-integration-label = .label = Дазволіць { system-search-engine-name } шукаць лісты .accesskey = ш - check-on-startup-label = .label = Заўсёды рабіць гэтую праверку падчас запуску { -brand-short-name } .accesskey = ў diff --git a/thunderbird-l10n/be/manifest.json b/thunderbird-l10n/be/manifest.json index fb543ba50a0ad884cf07b14ddc9b00087de92305..367bff8487868dee10311ba0aa7596a2ea1038fb 100644 --- a/thunderbird-l10n/be/manifest.json +++ b/thunderbird-l10n/be/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Беларуская (Belarusian)", "description": "Thunderbird Language Pack for Беларуская (be) – Belarusian", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "be": { - "version": "20231208145458", + "version": "20231215210755", "chrome_resources": { "alerts": "chrome/be/locale/be/alerts/", "autoconfig": "chrome/be/locale/be/autoconfig/", diff --git a/thunderbird-l10n/bg/chrome/bg/locale/bg/calendar/calendar.dtd b/thunderbird-l10n/bg/chrome/bg/locale/bg/calendar/calendar.dtd index 539fa04bc39d6cf69e5e14b27b7d100a5316aefa..237558fdcef5d064a350aed8cba10000a6c04b2d 100644 --- a/thunderbird-l10n/bg/chrome/bg/locale/bg/calendar/calendar.dtd +++ b/thunderbird-l10n/bg/chrome/bg/locale/bg/calendar/calendar.dtd @@ -247,7 +247,7 @@ <!ENTITY calendar.context.unsubscribeserver.accesskey "О"> <!ENTITY calendar.context.publish.label "Публикуване на календар…"> <!ENTITY calendar.context.publish.accesskey "б"> -<!ENTITY calendar.context.export.label "Експортиране на календар…"> +<!ENTITY calendar.context.export.label "Изнасяне на календар…"> <!ENTITY calendar.context.export.accesskey "р"> <!ENTITY calendar.context.properties.label "Свойства"> <!ENTITY calendar.context.properties.accesskey "й"> diff --git a/thunderbird-l10n/bg/chrome/bg/locale/bg/calendar/calendar.properties b/thunderbird-l10n/bg/chrome/bg/locale/bg/calendar/calendar.properties index d1d8c26865e01984283a916afbad8ce6cab83a6c..934dba6b727ad0b0e803ac93d6d26094d7ca8698 100644 --- a/thunderbird-l10n/bg/chrome/bg/locale/bg/calendar/calendar.properties +++ b/thunderbird-l10n/bg/chrome/bg/locale/bg/calendar/calendar.properties @@ -42,8 +42,8 @@ highPriority=Висок normalPriority=Нормален lowPriority=Нисък -importPrompt=Към кой календар искате да импортирате тези елементи? -exportPrompt=От кой календар искате да експортирате? +importPrompt=Към кой календар искате да внесете тези елементи? +exportPrompt=От кой календар искате да изнесете? pastePrompt=В кой от текущо достъпните календари бихте желали да поставяте? publishPrompt=Кой календар искате да публикувате? @@ -97,7 +97,7 @@ pasteDontNotifyLabel=Поставяне без изпращане # LOCALIZATION NOTE (importItemsFailed): # %1$S will be replaced with number of failed items # %2$S will be replaced with last error code / error string -importItemsFailed=Неуспешно импортиране на %1$S елементи. Последната грешка е: %2$S +importItemsFailed=Неуспешно внасяне на %1$S елементи. Последната грешка е: %2$S # LOCALIZATION NOTE (noItemsInCalendarFile2): # %1$S will be replaced with file path noItemsInCalendarFile2=Не може да се внесе от %1$S. В този файл няма елементи за внасяне. @@ -186,8 +186,8 @@ tooltipCompleted=Завършено: #File commands and dialogs New=Нов Open=Отваряне -filepickerTitleImport=Импортиране -filepickerTitleExport=Експортиране +filepickerTitleImport=Внасяне +filepickerTitleExport=Изнасяне # Filters for export/import/open file picker. %1$S will be replaced with # wildmat used to filter files by extension, such as (*.html; *.htm). diff --git a/thunderbird-l10n/bg/chrome/bg/locale/bg/calendar/menuOverlay.dtd b/thunderbird-l10n/bg/chrome/bg/locale/bg/calendar/menuOverlay.dtd index 764b2b4dfa25768341cd136dddef4044c54598ed..67a6f29a037ef9ef80f7f5450cddc841e624e86b 100644 --- a/thunderbird-l10n/bg/chrome/bg/locale/bg/calendar/menuOverlay.dtd +++ b/thunderbird-l10n/bg/chrome/bg/locale/bg/calendar/menuOverlay.dtd @@ -9,7 +9,7 @@ <!ENTITY event.new.task "Нова задача…"> <!ENTITY event.new.task.accesskey "з"> -<!ENTITY calendar.import.label "Импортиране…"> +<!ENTITY calendar.import.label "Внасяне…"> <!ENTITY calendar.import.accesskey "И"> <!ENTITY calendar.export.label "Изнасяне…"> @@ -29,10 +29,6 @@ <!ENTITY calendar.removecalendar.label "Изтриване на избрания календар…"> <!ENTITY calendar.removecalendar.accesskey "И"> - -<!ENTITY calendar.menu.customize.label "Персонализиране…"> -<!ENTITY calendar.menu.customize.accesskey "П"> - <!ENTITY showUnifinderCmd.label "Намиране на събития"> <!ENTITY showUnifinderCmd.accesskey "м"> <!ENTITY showUnifinderCmd.tooltip "Превключване на панела за търсене на събития"> diff --git a/thunderbird-l10n/bg/chrome/bg/locale/bg/calendar/migration.dtd b/thunderbird-l10n/bg/chrome/bg/locale/bg/calendar/migration.dtd index c41699193aa986727b8845548bad6676a69379ad..666e06fb000770ac9dbab1b0f99a89c4f08e6612 100644 --- a/thunderbird-l10n/bg/chrome/bg/locale/bg/calendar/migration.dtd +++ b/thunderbird-l10n/bg/chrome/bg/locale/bg/calendar/migration.dtd @@ -2,8 +2,8 @@ - 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/. --> -<!ENTITY migration.title "&brandFullName;: Импортиране на данни"> +<!ENTITY migration.title "&brandFullName;: Внасяне на данни"> <!ENTITY migration.welcome "Добре дошли"> -<!ENTITY migration.importing "Импортиране"> -<!ENTITY migration.list.description "&brandShortName; може да импортира информация от календари от много популярни приложения. Информация от следните приложения беше намерена на вашия компютър. Моля, изберете тези, от които искате информацията да бъде импортирана."> -<!ENTITY migration.progress.description "Импортиране на избраната информация."> +<!ENTITY migration.importing "Внасяне"> +<!ENTITY migration.list.description "&brandShortName; може да внася информация от календари от много популярни приложения. Информация от следните приложения беше намерена на вашия компютър. Моля, изберете тези, от които искате информацията да бъде внесена."> +<!ENTITY migration.progress.description "Внасяне на избраната информация"> diff --git a/thunderbird-l10n/bg/chrome/bg/locale/bg/calendar/migration.properties b/thunderbird-l10n/bg/chrome/bg/locale/bg/calendar/migration.properties index bae5003d52b15933bdf273017da69da5b048c260..641392e2204d79d350f8966a964e431c13875586 100644 --- a/thunderbird-l10n/bg/chrome/bg/locale/bg/calendar/migration.properties +++ b/thunderbird-l10n/bg/chrome/bg/locale/bg/calendar/migration.properties @@ -6,8 +6,6 @@ migratingApp = Мигриране на %1$S… # The next two lines are duplicated from migration.dtd until there is branding # for lightning -migrationTitle = %1$S: Импортиране на информация -migrationDescription=%1$S може да импортира информация от календари от много популярни приложения. Информация от следните приложения беше намерена на вашия компютър. Моля, изберете тези, от които искате информацията да бъде импортирана. +migrationTitle = %1$S: Внасяне на информация +migrationDescription=%1$S може да внася информация от календари от много популярни приложения. Информация от следните приложения беше намерена на вашия компютър. Моля, изберете тези, от които искате информацията да бъде внесена. finished = Завършено -disableExtTitle = Намерена е несъвместима добавка -disableExtText = Имате инсталирана стара добавка за Mozilla Calendar, която не е съвместима с Lightning. Тя ще бъде изключена и %1$S ще се рестартира. diff --git a/thunderbird-l10n/bg/chrome/bg/locale/bg/chat/accounts.dtd b/thunderbird-l10n/bg/chrome/bg/locale/bg/chat/accounts.dtd index d66d0bf677cb451bd8c2eb08b296271894f7b8a2..51d356ec99c6200ae461d1304c4ae977d0d9991c 100644 --- a/thunderbird-l10n/bg/chrome/bg/locale/bg/chat/accounts.dtd +++ b/thunderbird-l10n/bg/chrome/bg/locale/bg/chat/accounts.dtd @@ -3,20 +3,18 @@ - file, You can obtain one at http://mozilla.org/MPL/2.0/. --> <!-- Account manager window for Instantbird --> -<!ENTITY accounts.title "Сметки - &brandShortName;"> -<!ENTITY accountManager.width "450"> +<!ENTITY accounts.title "Профили - &brandShortName;"> <!-- Instant messaging account status window for Thunderbird --> <!ENTITY accountsWindow.title "Състояние на незабавните съобщения"> -<!ENTITY accountsWindow2.style "width: 41em; height: 27em;"> -<!ENTITY accountManager.newAccount.label "Нова сметка"> +<!ENTITY accountManager.newAccount.label "Нов профил"> <!ENTITY accountManager.newAccount.accesskey "Н"> <!ENTITY accountManager.close.label "Затваряне"> <!ENTITY accountManager.close.accesskey "З"> <!-- This should match account.commandkey in instantbird.dtd --> <!ENTITY accountManager.close.commandkey "a"> <!-- This title must be short, displayed with a big font size --> -<!ENTITY accountManager.noAccount.title "Няма настроена сметка"> +<!ENTITY accountManager.noAccount.title "Няма настроен профил"> <!ENTITY accountManager.noAccount.description "Щракнете на бутона &accountManager.newAccount.label; и оставете &brandShortName; да ви води в процеса на настройка."> <!ENTITY account.autoSignOn.label "Вписване при пускане"> <!ENTITY account.autoSignOn.accesskey "В"> @@ -24,18 +22,12 @@ <!ENTITY account.connect.accesskey "С"> <!ENTITY account.disconnect.label "Изключване"> <!ENTITY account.disconnect.accesskey "И"> -<!ENTITY account.delete.label "Изтриване"> -<!ENTITY account.delete.accesskey "И"> <!ENTITY account.edit.label "Свойства"> <!ENTITY account.edit.accesskey "С"> -<!ENTITY account.moveup.label "Преместване нагоре"> -<!ENTITY account.movedown.label "Преместване на&долу"> <!ENTITY account.cancelReconnection.label "Прекъсване на повторното свързване"> <!ENTITY account.cancelReconnection.accesskey "П"> <!ENTITY account.copyDebugLog.label "Копиране на журнала"> <!ENTITY account.copyDebugLog.accesskey "К"> -<!ENTITY account.showDebugLog.label "Показване на журнала"> -<!ENTITY account.showDebugLog.accesskey "П"> <!ENTITY account.connecting "Свързване…"> <!ENTITY account.disconnecting "Изключване…"> <!ENTITY account.disconnected "Извън мрежа"> diff --git a/thunderbird-l10n/bg/chrome/bg/locale/bg/chat/conversations.properties b/thunderbird-l10n/bg/chrome/bg/locale/bg/chat/conversations.properties index fa941f941af4a49df8bb78e542c5eed2d643b7e4..eb75e71fe8d7eea9748418439908fa0212d2b613 100644 --- a/thunderbird-l10n/bg/chrome/bg/locale/bg/chat/conversations.properties +++ b/thunderbird-l10n/bg/chrome/bg/locale/bg/chat/conversations.properties @@ -26,14 +26,14 @@ statusChangedFromUnknownWithStatusText=%1$S е %2$S: %3$S. # special case of the previous 2 strings for when an account has just # been reconnected, so the status is now known. These 2 strings should not # mislead the user into thinking the person's status has just changed. -statusKnown=Сметката е отново свързана (%1$S е %2$S). -statusKnownWithStatusText=Сметката е отново свързана (%1$S е %2$S: %3$S). +statusKnown=Профилът ви е отново свързан (%1$S е %2$S). +statusKnownWithStatusText=Профилът ви е отново свързан (%1$S е %2$S: %3$S). # LOCALIZATION NOTE (statusUnknown): # %S is the display name of the contact. -statusUnknown=Сметка е изключена (състоянието на %S вече не е известно). +statusUnknown=Профилът е изключен (състоянието на %S вече не е известно). -accountDisconnected=Сметката е изключена. -accountReconnected=Сметката е отново свързана. +accountDisconnected=Профилът е изключен. +accountReconnected=Профилът е отново свързан. # LOCALIZATION NOTE (autoReply): # %S is replaced by the text of a message that was sent as an automatic reply. diff --git a/thunderbird-l10n/bg/chrome/bg/locale/bg/chat/imtooltip.properties b/thunderbird-l10n/bg/chrome/bg/locale/bg/chat/imtooltip.properties index 420deb9e0e2bef457d30c139e9dd848b3b129c8e..bc57a68d0282f673daa51b57af28f306158292a3 100644 --- a/thunderbird-l10n/bg/chrome/bg/locale/bg/chat/imtooltip.properties +++ b/thunderbird-l10n/bg/chrome/bg/locale/bg/chat/imtooltip.properties @@ -3,7 +3,7 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. buddy.username=Потребителско име -buddy.account=Сметка +buddy.account=Профил contact.tags=Етикети encryption.tag=Състояние на шифроването diff --git a/thunderbird-l10n/bg/chrome/bg/locale/bg/chat/matrix.properties b/thunderbird-l10n/bg/chrome/bg/locale/bg/chat/matrix.properties index 38009cd2432467264cd29b69449e1fbb0cc0da2e..a93364693f4a2270ee4abed68bc6f54270d13220 100644 --- a/thunderbird-l10n/bg/chrome/bg/locale/bg/chat/matrix.properties +++ b/thunderbird-l10n/bg/chrome/bg/locale/bg/chat/matrix.properties @@ -47,7 +47,7 @@ connection.requestAccess=Завършване на удостоверяване connection.error.noSupportedFlow=Сървърът не предлага съвместим поток за вход. connection.error.authCancelled=Отменихте процеса на упълномощаване. connection.error.sessionEnded=Вие излязохте. -connection.error.serverNotFound=Не може да се идентифицира Matrix сървърът за дадения Matrix акаунт. +connection.error.serverNotFound=Не може да се идентифицира Matrix сървърът за дадения Matrix профил. # LOCALIZATION NOTE (chatRoomField.*): # These are the name of fields displayed in the 'Join Chat' dialog diff --git a/thunderbird-l10n/bg/chrome/bg/locale/bg/chat/xmpp.properties b/thunderbird-l10n/bg/chrome/bg/locale/bg/chat/xmpp.properties index 1002a41de0afc8c50133ab299c3966e5b0033137..380fd1fb69ac51bdda8f74c417db0fcf8f2f2f44 100644 --- a/thunderbird-l10n/bg/chrome/bg/locale/bg/chat/xmpp.properties +++ b/thunderbird-l10n/bg/chrome/bg/locale/bg/chat/xmpp.properties @@ -34,7 +34,7 @@ connection.error.notSendingPasswordInClear=Сървърът поддържа с connection.error.authenticationFailure=Грешка при удостоверяване connection.error.notAuthorized=Няма удостоверяване (дали сте въвели грешна парола?) connection.error.failedToGetAResource=Грешка при взимане на ресурс -connection.error.failedMaxResourceLimit=Тази сметка е свързана от твърде много места едновременно. +connection.error.failedMaxResourceLimit=Този профил е свързан към твърде много места едновременно. connection.error.failedResourceNotValid=Ресурсът е невалиден. connection.error.XMPPNotSupported=Този сървър не поддържа XMPP diff --git a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger-newsblog/newsblog.properties b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger-newsblog/newsblog.properties index c9fa1eaee11c0f83f25d87526e454ebfad36533b..17865e111af9fe62f83c9d629a572f7246149879 100644 --- a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger-newsblog/newsblog.properties +++ b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger-newsblog/newsblog.properties @@ -81,7 +81,7 @@ feeds-accountname=Блогове и новинарски емисии externalAttachmentMsg=Този прикачен файл с MIME е запазен като отделно съобщение. ## Import wizard. -ImportFeedsCreateNewListItem=* Нова сметка * +ImportFeedsCreateNewListItem=* Нова профил * ImportFeedsNewAccount=Създаване и внасяне в регистрация на емисии ImportFeedsExistingAccount=Внасяне в съществуваща регистрация на емисии ## LOCALIZATION NOTE(ImportFeedsDone): diff --git a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/AccountManager.dtd b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/AccountManager.dtd index f1beae0942102b099152e4cc0c74d74829cd8a09..4d0a9b5ba268264d7d3e62758858c28c42c141b4 100644 --- a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/AccountManager.dtd +++ b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/AccountManager.dtd @@ -4,22 +4,20 @@ <!-- extracted from AccountManager.xhtml --> -<!ENTITY accountManagerTitle.label "Настройки на регистрация"> +<!ENTITY accountManagerTitle.label "Настройки на профила"> <!ENTITY accountManagerCloseButton.label "Затваряне"> <!ENTITY accountActionsButton.label "Действия по регистрацията"> <!ENTITY accountActionsButton.accesskey "р"> <!ENTITY addMailAccountButton.label "Добавяне на пощенска регистрация…"> <!ENTITY addMailAccountButton.accesskey "Д"> -<!ENTITY addIMAccountButton.label "Добавяне на сметка за разговор…"> +<!ENTITY addIMAccountButton.label "Добавяне на профил за разговори…"> <!ENTITY addIMAccountButton.accesskey "р"> -<!ENTITY addFeedAccountButton.label "Добавяне регистрация на емисия…"> +<!ENTITY addFeedAccountButton.label "Добавяне на профил за на емисии…"> <!ENTITY addFeedAccountButton.accesskey "е"> <!ENTITY setDefaultButton.label "По подразбиране"> <!ENTITY setDefaultButton.accesskey "П"> -<!ENTITY removeButton.label "Премахване на сметка"> +<!ENTITY removeButton.label "Премахване на профил"> <!ENTITY removeButton.accesskey "П"> <!ENTITY addonsButton.label "Разширения и теми"> - -<!-- AccountManager.xhtml --> diff --git a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/AccountWizard.dtd b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/AccountWizard.dtd index 97f96e96689d49c35b0d84954413927114d464e2..422c206d6040be825f0ec5717e071514a3424554 100644 --- a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/AccountWizard.dtd +++ b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/AccountWizard.dtd @@ -5,9 +5,6 @@ <!-- Entities for AccountWizard --> <!ENTITY windowTitle.label "Помощник за регистрация"> -<!ENTITY accountWizard.size "width: 50em; height: 38em;"> - -<!-- Entities for Account Type page --> <!-- Entities for Identity page --> @@ -36,14 +33,12 @@ <!ENTITY newsServerLabel.label "Сървър на дискусионна група:"> <!ENTITY newsServerLabel.accesskey "С"> -<!-- Entities for Outgoing Server page --> - <!-- Entities for Account name page --> -<!ENTITY accnameTitle.label "Име на сметката"> +<!ENTITY accnameTitle.label "Име на профила"> <!-- LOCALIZATION NOTE (accnameDesc.label) : do not translate any """ in below line --> <!ENTITY accnameDesc.label "Напишете името, под което ще използвате тази регистрация (например, "Служебна поща", "Домашна поща" или "Регистрация за новини")."> -<!ENTITY accnameLabel.label "Име на сметката:"> +<!ENTITY accnameLabel.label "Име на профила:"> <!ENTITY accnameLabel.accesskey "И"> <!-- Entities for Done (Congratulations) page --> diff --git a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/activity.properties b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/activity.properties index 5edbd49b0c5a6d07aa9f6b295659192336a75868..254dede94667bc53590d99a154017439f0e30243 100644 --- a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/activity.properties +++ b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/activity.properties @@ -38,7 +38,7 @@ autosyncProcessProgress2=%4$S: Изтегляне на писмо %1$S от %2$S # LOCALIZATION NOTE (autosyncProcessDisplayText): %S will be replaced by the folder name autosyncProcessDisplayText=Обновяване на папка %S # LOCALIZATION NOTE (autosyncEventDisplayText): %S will be replaced by the account name -autosyncEventDisplayText=Сметката %S е обновена +autosyncEventDisplayText=Профилът %S е обновен # LOCALIZATION NOTE (autosyncEventStatusText): %S will be replaced by total number of downloaded messages autosyncEventStatusText=Общо изтеглени съобщения: %S autosyncEventStatusTextNoMsgs=Не са изтеглени съобщения diff --git a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/am-im.dtd b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/am-im.dtd index 94941098f80bef417b28a63fc4a4e70b08d8263c..fc33ec12e778bb7e5af4fe68fbdf4b5ce782e44c 100644 --- a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/am-im.dtd +++ b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/am-im.dtd @@ -2,7 +2,7 @@ - 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/. --> -<!ENTITY accountWindow.title "Свойства на сметката"> +<!ENTITY accountWindow.title "Свойства на профила"> <!ENTITY accountWindow.width "300"> <!ENTITY account.general "Основни"> <!ENTITY account.advanced "За напреднали"> diff --git a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/am-main.dtd b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/am-main.dtd index 6346b6a7274fcb8d94d0ae5a94da946e1c3fa6ad..9c218a1c26584b8e0c35ffc5d26244ae20b69975 100644 --- a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/am-main.dtd +++ b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/am-main.dtd @@ -4,8 +4,8 @@ <!-- extracted from am-main.xhtml --> -<!ENTITY accountTitle.label "Настройки на регистрация"> -<!ENTITY accountName.label "Име на сметката:"> +<!ENTITY accountTitle.label "Настройки на профила"> +<!ENTITY accountName.label "Име на профила:"> <!ENTITY accountName.accesskey "И"> <!ENTITY identityTitle.label "Самоличност по подразбиране"> <!ENTITY identityDesc.label "Всяка регистрация е уникална. Това е информация, която другите виждат, четейки вашите писма."> diff --git a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/am-offline.dtd b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/am-offline.dtd index e1de3c48065e92ac9f36cf9fae726e12320d2ab1..0b3806e967f0b157d88238b7291cb1d23960fcf9 100644 --- a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/am-offline.dtd +++ b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/am-offline.dtd @@ -5,7 +5,7 @@ <!ENTITY doNotDownloadPop3Movemail.label "За икономия на дисково пространство да не бъдат изтегляни:"> <!ENTITY doNotDownloadNntp.label "За икономия на дисково пространство да не бъдат изтегляни за употреба без мрежа:"> <!ENTITY doNotDownloadImap.label "За икономия на дисково пространство, изтеглянето на съобщения от сървъра и съхраняването на копия от тях за употреба без мрежа, може да бъде ограничено според възрастта и големината им."> -<!ENTITY allFoldersOffline2.label "Съхранява съобщенията от всички папки на тази сметка на компютъра"> +<!ENTITY allFoldersOffline2.label "Съхранява съобщенията от всички папки на този профил на компютъра"> <!ENTITY allFoldersOffline2.accesskey "т"> <!ENTITY allFoldersOfflineNote.label "Забележка: Промяната на тази настройка указва влияние върху всички папки на сметката. За да настроите отделни папки използвайте бутона за разширени настройки."> <!ENTITY offlineNotDownload.label "Съобщения по-големи от"> diff --git a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/am-server-advanced.dtd b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/am-server-advanced.dtd index ca57823cf0c9931a69bd850ce11abf8eb7ab651a..2a1965f0d28f91df81b5ca7351e2f0aee5fe84e2 100644 --- a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/am-server-advanced.dtd +++ b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/am-server-advanced.dtd @@ -22,8 +22,8 @@ <!ENTITY otherUsersNamespace.accesskey "Д"> <!ENTITY overrideNamespaces.label "Сървърът може да променя тези именни пространства"> <!ENTITY overrideNamespaces.accesskey "С"> -<!ENTITY pop3DeferringDesc.label "При изтегляне на поща от този сървър да се използва следната папка за съхранение на нови писма:" > -<!ENTITY accountInbox.label "Входяща кутия на тази сметка"> +<!ENTITY pop3DeferringDesc.label "При изтегляне на поща от този сървър да се използва следната папка за съхранение на нови писма:"> +<!ENTITY accountInbox.label "Входяща кутия на този профил"> <!ENTITY accountInbox.accesskey "з"> <!ENTITY deferToServer.label "Входяща кутия на друга сметка"> <!ENTITY deferToServer.accesskey "у"> diff --git a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/am-server-top.dtd b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/am-server-top.dtd index 1c147e8362117cf8ae940e0101694fada3e7e7f8..39b0d2f47b89a49aed4b13ce13e6602e2cd2f8b5 100644 --- a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/am-server-top.dtd +++ b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/am-server-top.dtd @@ -81,7 +81,7 @@ <!ENTITY browseNewsrc.label "Избор…"> <!ENTITY browseNewsrc.accesskey "о"> -<!ENTITY accountTitle.label "Настройки на регистрация"> +<!ENTITY accountTitle.label "Настройки на профила"> <!ENTITY accountSettingsDesc.label "Това е специална регистрация. Няма идентичности, свързани с нея."> <!ENTITY storeType.label "Вид съхранение на писмата:"> <!ENTITY storeType.accesskey "В"> diff --git a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/chat.dtd b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/chat.dtd index 420bf09e4c4d5d34a687eac11c77f2d1df7e590a..6f43ee1cad27c910de08cf631d9594cbf4782055 100644 --- a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/chat.dtd +++ b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/chat.dtd @@ -34,7 +34,7 @@ <!ENTITY addBuddyButton.label "Добавяне на контакт"> <!ENTITY joinChatButton.label "Присъединяване към разговор"> -<!ENTITY chatAccountsButton.label "Списък със сметки"> +<!ENTITY chatAccountsButton.label "Показване на профили"> <!ENTITY status.available "На линия"> <!ENTITY status.unavailable "Зает"> diff --git a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/converterDialog.properties b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/converterDialog.properties index 14ad96aed82ccb876dbf913d0c421cebfd220d14..8a8905f168f58cbac43a80bbb52841390534f0af 100644 --- a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/converterDialog.properties +++ b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/converterDialog.properties @@ -34,7 +34,7 @@ converterDialog.warningForDeferredToAccount=Профили, отложени к # LOCALIZATION NOTE (converterDialog.messageForDeferredAccount): # %1$S will be replaced by a comma separated list of names of accounts which are being converted. # %2$S will be replaced by the format into which the accounts will be converted. -converterDialog.messageForDeferredAccount=Преобразуване на сметките %1$S в %2$S… +converterDialog.messageForDeferredAccount=Преобразуване на профилите %1$S в %2$S… # LOCALIZATION NOTE (converterDialog.percentDone): # %1$S will be replaced by the percentage of conversion that is complete. diff --git a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/gloda.properties b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/gloda.properties index aacb30e98b5c5673a154be5dfb44ef12007ff8df..eb2cdd01c197966a3ffb7dd28504f77d3309474a 100644 --- a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/gloda.properties +++ b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/gloda.properties @@ -59,7 +59,7 @@ # LOCALIZATION NOTE (gloda.message.attr.account.*): Stores the account in which # a message's folder is located. -gloda.message.attr.account.facetNameLabel=Сметка +gloda.message.attr.account.facetNameLabel=Профил gloda.message.attr.account.includeLabel=съхранявани във всеки от: gloda.message.attr.account.excludeLabel=не се съхранява в: gloda.message.attr.account.remainderLabel=други профили: diff --git a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/imAccountWizard.dtd b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/imAccountWizard.dtd index d104830d77cbaab0acd15982a08222cbd2bf70a1..aebc57a6ad9964fd8f9e71194443a61f4fe996a9 100644 --- a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/imAccountWizard.dtd +++ b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/imAccountWizard.dtd @@ -2,7 +2,7 @@ - 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/. --> -<!ENTITY windowTitle.label "Помощник за сметки за разговор"> +<!ENTITY windowTitle.label "Помощник за профили за разговори"> <!ENTITY accountProtocolTitle.label "Мрежи за разговор"> <!ENTITY accountProtocolInfo.label "Моля, изберете мрежата на вашата сметка за разговор."> diff --git a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/messenger.dtd b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/messenger.dtd index 81e4ca1a5c7c83cf62136018fd978df844fbbf69..9cd572496baa7b57ae2928f4555e5c9356f9c3cd 100644 --- a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/messenger.dtd +++ b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/messenger.dtd @@ -24,13 +24,13 @@ <!ENTITY moveToNewWindow.accesskey "п"> <!ENTITY newVirtualFolderCmd.label "Запазени търсения…"> <!ENTITY newVirtualFolderCmd.accesskey "З"> -<!ENTITY newCreateEmailAccountCmd.label "Получаване на нова сметка…"> +<!ENTITY newCreateEmailAccountCmd.label "Профил за електронна поща…"> <!ENTITY newCreateEmailAccountCmd.accesskey "П"> -<!ENTITY newExistingEmailAccountCmd.label "Съществуваща регистрация…"> +<!ENTITY newExistingEmailAccountCmd.label "Профил за съществуваща поща…"> <!ENTITY newExistingEmailAccountCmd.accesskey "С"> -<!ENTITY newIMAccountCmd.label "Сметка за разговор…"> +<!ENTITY newIMAccountCmd.label "Профил за разговори…"> <!ENTITY newIMAccountCmd.accesskey "С"> -<!ENTITY newFeedAccountCmd.label "Регистрация на емисия…"> +<!ENTITY newFeedAccountCmd.label "Профил за емисии…"> <!ENTITY newFeedAccountCmd.accesskey "е"> <!ENTITY newIMContactCmd.label "Контакт за разговор…"> <!ENTITY newIMContactCmd.accesskey "К"> @@ -38,7 +38,7 @@ <!ENTITY newMessageCmd.key "M"> <!ENTITY newMessageCmd.label "Писмо"> <!ENTITY newMessageCmd.accesskey "п"> -<!ENTITY newContactCmd.label "Контакт от адресника…"> +<!ENTITY newContactCmd.label "Контакт към адресника…"> <!ENTITY newContactCmd.accesskey "к"> <!ENTITY openMenuCmd.label "Отваряне"> <!ENTITY openMenuCmd.accesskey "о"> @@ -447,7 +447,7 @@ <!ENTITY imStatus.available "На линия"> <!ENTITY imStatus.unavailable "Зает"> <!ENTITY imStatus.offline "Без връзка"> -<!ENTITY imStatus.showAccounts "Показване на сметките…"> +<!ENTITY imStatus.showAccounts "Показване на профилите…"> <!ENTITY joinChatCmd.label "Присъединяване към разговор…"> <!ENTITY joinChatCmd.accesskey "П"> <!ENTITY savedFiles.label "Запазени файлове"> @@ -577,7 +577,7 @@ <!-- AppMenu Popup --> <!ENTITY appmenuNewMsgCmd.label "Ново съобщение"> -<!ENTITY appmenuNewContactCmd.label "Контакт от адресника…"> +<!ENTITY appmenuNewContactCmd.label "Контакт към адресника…"> <!ENTITY appmenuToolbarLayout.label "Оформление на лентата с инструменти…"> <!-- Tags Menu Popup --> diff --git a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/messenger.properties b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/messenger.properties index e69a81133f41c9c52b9247cdca25abb75b0ff096..435143d2caed579d956505c3c82191ce1f811e74 100644 --- a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/messenger.properties +++ b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/messenger.properties @@ -291,7 +291,7 @@ confirmUnsubscribeManyText=Искате да се отпишете от тези restoreAllTabs=Възстановяване на всички раздели confirmMarkAllFoldersReadTitle=Отбелязване на папките като прочетени -confirmMarkAllFoldersReadMessage=Сигурни ли сте, че искате да маркирате всички съобщения във всички папки на този акаунт като прочетени? +confirmMarkAllFoldersReadMessage=Сигурни ли сте, че искате да маркирате всички съобщения във всички папки на този профил като прочетени? # LOCALIZATION NOTE(junkBarMessage): %S is brand junkBarMessage=%S смята това съобщение за нежелано. diff --git a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/msgAccountCentral.dtd b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/msgAccountCentral.dtd index 2794666e164af05151ded1f4754083beb3b86871..ccce17f52fcd1d2cb586bd2c9787edc22436fb83 100644 --- a/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/msgAccountCentral.dtd +++ b/thunderbird-l10n/bg/chrome/bg/locale/bg/messenger/msgAccountCentral.dtd @@ -17,7 +17,7 @@ <!ENTITY accountsSectionHdr.label "Регистрации"> <!ENTITY subscribeImapFolders.label "Управление на абонирането за папка"> <!ENTITY settingsLink.label "Преглед на настройките"> -<!ENTITY setupNewAcct.label "Създаване на сметка:"> +<!ENTITY setupNewAcct.label "Създаване на профил:"> <!ENTITY advFeaturesSectionHdr.label "Допълнителни възможности"> <!ENTITY searchMsgsLink.label "Търсене на писма"> diff --git a/thunderbird-l10n/bg/localization/bg/messenger/about3Pane.ftl b/thunderbird-l10n/bg/localization/bg/messenger/about3Pane.ftl index 05ae947b929a32794bba8a5cc418aa7d9e81e7bc..cb6f4e6419dd97e241a492c70c06dbeee473286e 100644 --- a/thunderbird-l10n/bg/localization/bg/messenger/about3Pane.ftl +++ b/thunderbird-l10n/bg/localization/bg/messenger/about3Pane.ftl @@ -326,10 +326,10 @@ threadpane-column-label-tags = .label = Етикет threadpane-cell-tags = .aria-label = Етикети -threadpane-column-header-account = Сметка +threadpane-column-header-account = Профил .title = Сортиране по регистрация threadpane-column-label-account = - .label = Сметка + .label = Профил threadpane-cell-account = .aria-label = Профил threadpane-column-header-priority = Приоритет diff --git a/thunderbird-l10n/bg/localization/bg/messenger/accountCentral.ftl b/thunderbird-l10n/bg/localization/bg/messenger/accountCentral.ftl index 260102c7af4e4ce168dcd15727878932740472ef..e67f9ca8a0141ad6618b12c523fce94b8726d774 100644 --- a/thunderbird-l10n/bg/localization/bg/messenger/accountCentral.ftl +++ b/thunderbird-l10n/bg/localization/bg/messenger/accountCentral.ftl @@ -26,7 +26,7 @@ chat-label = Разговори chat-description = { -brand-short-name } ви позволява да се свързвате с множество услуги за незабавни съобщения, предлагайки поддръжка за различни платформи. filelink-label = Файлова връзка .aria-label = Настройка на файлова връзка -filelink-description = { -brand-short-name } ви позволява да настроите удобен облачен акаунт за файлова връзка за лесно изпращане на големи прикачени файлове. +filelink-description = { -brand-short-name } ви позволява да настроите удобен облачен профил за файлова връзка за лесно изпращане на големи прикачени файлове. addressbook-label = Адресник .aria-label = Създаване на нов адресник addressbook-description = { -brand-short-name } ви позволява да организирате всичките си контакти в адресна книга. Можете също така да се свържете с отдалечена адресна книга, за да поддържате всичките си контакти синхронизирани. diff --git a/thunderbird-l10n/bg/localization/bg/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/bg/localization/bg/messenger/accountcreation/accountHub.ftl index 89ccbada8bb076c204d572aaf2786248334226a5..998edd24447ade9a80f4fd5c1c7363b169d38c94 100644 --- a/thunderbird-l10n/bg/localization/bg/messenger/accountcreation/accountHub.ftl +++ b/thunderbird-l10n/bg/localization/bg/messenger/accountcreation/accountHub.ftl @@ -80,3 +80,4 @@ account-hub-username-label = Потребителско име account-hub-adding-account-title = Добавяне на профил account-hub-adding-account-subheader = Повторно тестване на настройките за конфигурация на профила account-hub-account-added-title = Профилът е добавен +account-hub-find-settings-failed = { -brand-full-name } не успя да намери настройките за вашия имейл акаунт. diff --git a/thunderbird-l10n/bg/localization/bg/messenger/accountcreation/accountSetup.ftl b/thunderbird-l10n/bg/localization/bg/messenger/accountcreation/accountSetup.ftl index 3809c6f25aca463c0103953d10cb0d0025604d10..26a686b8e2f249016e5937348c5cd2a8234db891 100644 --- a/thunderbird-l10n/bg/localization/bg/messenger/accountcreation/accountSetup.ftl +++ b/thunderbird-l10n/bg/localization/bg/messenger/accountcreation/accountSetup.ftl @@ -10,7 +10,7 @@ account-setup-title = Настройте своя съществуваща по account-setup-description = За да използвате текущия си електронен адрес, попълнете идентификационните си данни. account-setup-secondary-description = { -brand-product-name } автоматично ще търси работеща и препоръчана сървърна конфигурация. account-setup-success-title = Профилът е създаден успешно -account-setup-success-description = Вече можете да използвате този акаунт с { -brand-short-name }. +account-setup-success-description = Вече можете да използвате този профил с { -brand-short-name }. account-setup-success-secondary-description = Можете да подобрите изживяването си, като свържете услуги и конфигурирате разширените настройки на профила. ## Form fields @@ -145,8 +145,8 @@ account-setup-result-username-different = Входящи: { $incoming }, Изх account-setup-credentials-incomplete = Неуспешна идентификация. Или въведените идентификационни данни са неправилни, или е необходимо отделно потребителско име за влизане. Това потребителско име обикновено е вашето за влизане в домейна на Windows със или без домейна (например janedoe или AD\\janedoe) account-setup-credentials-wrong = Грешка при удостоверяване. Моля, проверете потребителското име и паролата. account-setup-find-settings-failed = { -brand-short-name } не успя да намери настройки за вашата регистрация. -account-setup-exchange-config-unverifiable = Конфигурацията не можа да бъде потвърдена. Ако вашето потребителско име и парола са правилни, вероятно администраторът на сървъра е деактивирал избраната конфигурация за вашия прффил. Опитайте да изберете друг протокол. -account-setup-provisioner-error = Възникна грешка при настройването на новия ви профил в { -brand-short-name }. Моля, опитайте ръчно да настроите акаунта си с вашите идентификационни данни. +account-setup-exchange-config-unverifiable = Конфигурацията не можа да бъде потвърдена. Ако вашето потребителско име и парола са правилни, вероятно администраторът на сървъра е деактивирал избраната конфигурация за вашия профил. Опитайте да изберете друг протокол. +account-setup-provisioner-error = Възникна грешка при настройването на новия ви профил в { -brand-short-name }. Моля, опитайте ръчно да настроите профила си с вашите идентификационни данни. ## Manual configuration area @@ -202,9 +202,9 @@ exchange-dialog-cancel-button = Прекъсване ## Dismiss account creation dialog -exit-dialog-title = Няма конфигуриран имейл акаунт +exit-dialog-title = Няма конфигуриран имейл профил exit-dialog-description = Сигурни ли сте, че искате да отмените процеса на настройка? { -brand-short-name } все още може да се използва без електронна поща, но много функции няма да са налични. -account-setup-no-account-checkbox = Използвайте { -brand-short-name } без имейл акаунт +account-setup-no-account-checkbox = Използвайте { -brand-short-name } без имейл профил .accesskey = б exit-dialog-cancel-button = Продължаване с настройката .accesskey = П diff --git a/thunderbird-l10n/bg/localization/bg/messenger/addressbook/abCardDAVDialog.ftl b/thunderbird-l10n/bg/localization/bg/messenger/addressbook/abCardDAVDialog.ftl index 0c2f3dec577abb0d0af73554f2b07b0222b70eaf..c9b9327f806f1183a4f4d888e34f4e70869bf22d 100644 --- a/thunderbird-l10n/bg/localization/bg/messenger/addressbook/abCardDAVDialog.ftl +++ b/thunderbird-l10n/bg/localization/bg/messenger/addressbook/abCardDAVDialog.ftl @@ -19,6 +19,6 @@ carddav-loading = Търсене на настройки… # $url (String) - CardDAV endpoint hostname. For example "example.com". carddav-known-incompatible = Известно е, че { $url } е несъвместим с { -brand-short-name }. carddav-connection-error = Грешка при свързване. -carddav-none-found = Няма намерени адресни книги за добавяне за посочения акаунт. -carddav-already-added = Всички адресни книги за посочения акаунт вече са добавени. +carddav-none-found = Няма намерени адресни книги за добавяне за посочения профил. +carddav-already-added = Всички адресни книги за посочения профил вече са добавени. carddav-available-books = Налични адресници: diff --git a/thunderbird-l10n/bg/localization/bg/messenger/addressbook/vcard.ftl b/thunderbird-l10n/bg/localization/bg/messenger/addressbook/vcard.ftl index 815fc39ffa1fe7b4fd277f7fe5bed2861198fdc9..c7cc3b44c87cf06abd8a23c2aaa4e0ad42013446 100644 --- a/thunderbird-l10n/bg/localization/bg/messenger/addressbook/vcard.ftl +++ b/thunderbird-l10n/bg/localization/bg/messenger/addressbook/vcard.ftl @@ -72,7 +72,7 @@ vcard-tz-add = Добавяне на часови пояс vcard-impp2-header = Незабавни съобщения vcard-impp-add = Добавяне на профил за разговор… -vcard-impp-label = Сметка за разговор… +vcard-impp-label = Профил за разговори… vcard-impp-select = Протокол vcard-impp-option-other = Друго vcard-impp-input-label = URI diff --git a/thunderbird-l10n/bg/localization/bg/messenger/appmenu.ftl b/thunderbird-l10n/bg/localization/bg/messenger/appmenu.ftl index 7d93a8e5e7061bcd8beb8efdd6b1e5f121eb6e73..5d66b1de95f6e0d268b20e5b0fd7845076f84828 100644 --- a/thunderbird-l10n/bg/localization/bg/messenger/appmenu.ftl +++ b/thunderbird-l10n/bg/localization/bg/messenger/appmenu.ftl @@ -36,31 +36,31 @@ appmenu-new-account-panel = .label = Нов профил .accesskey = { "" } appmenu-create-new-mail-account = - .label = Регистрация на нова поща + .label = За на нова поща .accesskey = { "" } appmenu-new-mail-account = - .label = Съществуващ имейл + .label = За съществуваща поща .accesskey = С appmenu-new-calendar = - .label = Календар + .label = За календари .accesskey = { "" } appmenu-new-chat-account = - .label = Разговори + .label = За разговори .accesskey = { "" } appmenu-new-feed = - .label = Емисии + .label = За емисии .accesskey = { "" } appmenu-new-newsgroup = - .label = Дискусионна група - .accesskey = { "" } + .label = За дискусионни групи + .accesskey = д ## New Account / Address Book appmenu-newab-panel-title = .title = Нов адресник appmenu-newab-panel = - .label = Нов адресник - .accesskey = { "" } + .label = За адресници + .accesskey = д appmenu-new-addressbook = .label = Местни адресници .accesskey = М @@ -182,7 +182,7 @@ appmenu-help-donation = .accesskey = р appmenu-help-share-feedback = .label = Споделяне на предложения - .accesskey = в + .accesskey = С appmenu-help-enter-troubleshoot-mode2 = .label = Отстраняване на неизправности… .accesskey = О diff --git a/thunderbird-l10n/bg/localization/bg/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/bg/localization/bg/messenger/compactFoldersDialog.ftl index 716758613b547522526e7380d0f563b7fd8e1d92..1394c1a3f9e079e673d314198889222a7f76e528 100644 --- a/thunderbird-l10n/bg/localization/bg/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/bg/localization/bg/messenger/compactFoldersDialog.ftl @@ -4,6 +4,7 @@ compact-dialog-window-title = .title = Уплътняване на папки +compact-folders-dialog-title = Уплътняване на папки compact-dialog = .buttonlabelaccept = Уплътняване .buttonaccesskeyaccept = ъ diff --git a/thunderbird-l10n/bg/localization/bg/messenger/exportDialog.ftl b/thunderbird-l10n/bg/localization/bg/messenger/exportDialog.ftl index 63bcdc34e43df62d029d915843cb36c52047dc4d..751490865e7a2a905594e8755b350317cf84efd1 100644 --- a/thunderbird-l10n/bg/localization/bg/messenger/exportDialog.ftl +++ b/thunderbird-l10n/bg/localization/bg/messenger/exportDialog.ftl @@ -7,8 +7,8 @@ export-dialog-title = Изнасяне export-dialog = .buttonlabelaccept = Напред export-dialog-button-finish = Завършване -export-dialog-file-picker = Експортиране в zip файл -export-dialog-description1 = Изнасяне на пощенски акаунти, имейл съобщения, адресни книги и настройки в zip файл. +export-dialog-file-picker = Изнасяне в zip файл +export-dialog-description1 = Изнасяне на пощенски профили, имейл съобщения, адресни книги и настройки в zip файл. export-dialog-desc2 = Когато е необходимо, можете да внесете zip файла, за да възстановите вашия профил. export-dialog-exporting = Изнасяне… export-dialog-exported = Изнесено! diff --git a/thunderbird-l10n/bg/localization/bg/messenger/importDialog.ftl b/thunderbird-l10n/bg/localization/bg/messenger/importDialog.ftl index 4cb5c8bd76a20b253d62a2c756279e37f7dc52bf..d3a0d29e4dc77797f0ce1cf68279ec93e0d611ae 100644 --- a/thunderbird-l10n/bg/localization/bg/messenger/importDialog.ftl +++ b/thunderbird-l10n/bg/localization/bg/messenger/importDialog.ftl @@ -7,7 +7,7 @@ thunderbird-import-name = Thunderbird # Description of the import module thunderbird-import-description = Внасяне на поща от папка с профил на Thunderbird. import-from-thunderbird-zip = - .label = Thunderbird (експортирано архивиране на профил; zip файл, по-малък от 2 GB) + .label = Thunderbird (изнесен архив на профил; zip файл, по-малък от 2 GB) .accesskey = T import-from-thunderbird-dir = .label = Thunderbird (папка на профила) diff --git a/thunderbird-l10n/bg/localization/bg/messenger/menubar.ftl b/thunderbird-l10n/bg/localization/bg/messenger/menubar.ftl index 1b16f2a668e219151b2e7360252489bd75f03b2a..0fdcc366c05d7240a955f8f47e24f164e40f948c 100644 --- a/thunderbird-l10n/bg/localization/bg/messenger/menubar.ftl +++ b/thunderbird-l10n/bg/localization/bg/messenger/menubar.ftl @@ -21,8 +21,8 @@ menu-help-help-title = .label = Помощ .accesskey = { "" } menu-help-get-help = - .label = Получете помощ - .accesskey = { "" } + .label = Получаване на помощ + .accesskey = щ menu-help-explore-features = .label = Разучaване на възможностите .accesskey = { "" } @@ -30,23 +30,23 @@ menu-help-shortcuts = .label = Клавишни комбинации .accesskey = { "" } menu-help-get-involved = - .label = Включете се + .label = Включване към проекта .accesskey = { "" } menu-help-donation = - .label = Направете дарение - .accesskey = { "" } + .label = Подкрепа на проекта + .accesskey = П menu-help-share-feedback = - .label = Споделяне на идеи и обратна връзка - .accesskey = { "" } + .label = Споделяне на предложения + .accesskey = п menu-help-enter-troubleshoot-mode = - .label = Режим за отстраняване на неизправности... + .label = Отстраняване на неизправности... .accesskey = { "" } menu-help-exit-troubleshoot-mode = .label = Изключване на режима за отстраняване на неизправности .accesskey = { "" } menu-help-troubleshooting-info = - .label = Информация за отстраняване на неизправности - .accesskey = { "" } + .label = Информация на неизправности + .accesskey = ф menu-help-about-product = .label = Относно { -brand-short-name } .accesskey = О @@ -116,17 +116,17 @@ menuitem-font-size-reset = .label = Нулиране на размера на шрифта .accesskey = Н mail-uidensity-label = - .label = Плътност - .accesskey = { "" } + .label = Екранна плътност + .accesskey = Е mail-uidensity-compact = .label = Уплътняване .accesskey = ъ mail-uidensity-default = - .label = Стандартно - .accesskey = { "" } + .label = Стандартнa + .accesskey = С mail-uidensity-relaxed = - .label = Отпуснат - .accesskey = { "" } + .label = Отпусната + .accesskey = О menu-spaces-toolbar-button = .label = Лента с инструменти .accesskey = { "" } @@ -134,5 +134,5 @@ menu-spaces-toolbar-button = ## File file-new-newsgroup-account = - .label = Сметка в дискусионна група... + .label = Профил в дискусионна група... .accesskey = г diff --git a/thunderbird-l10n/bg/localization/bg/messenger/messengercompose/messengercompose.ftl b/thunderbird-l10n/bg/localization/bg/messenger/messengercompose/messengercompose.ftl index 521e9a58638fccd916c635bc939d4f5d3ff2b194..d011cc53b6167ccfdaf0bc34c475b31b22d99b24 100644 --- a/thunderbird-l10n/bg/localization/bg/messenger/messengercompose/messengercompose.ftl +++ b/thunderbird-l10n/bg/localization/bg/messenger/messengercompose/messengercompose.ftl @@ -154,46 +154,261 @@ encryption-toggle = encryption-options-openpgp = .label = OpenPGP .tooltiptext = Преглеждане или промяна на настройките за шифриране на OpenPGP +encryption-options-smime = + .label = S/MIME + .tooltiptext = Преглед или промяна на S/MIME настройките за шифроване +signing-toggle = + .label = Подписване + .tooltiptext = Използване на цифрово подписване за това съобщение +menu-openpgp = + .label = OpenPGP + .accesskey = O +menu-smime = + .label = S/MIME + .accesskey = M +menu-encrypt = + .label = Шифроване + .accesskey = Ш +menu-encrypt-subject = + .label = Шифроване на темата + .accesskey = т +menu-sign = + .label = Цифрово подписване + .accesskey = Ц +menu-manage-keys = + .label = Ключов асистент + .accesskey = К +menu-view-certificates = + .label = Преглед на сертификатите на получателите + .accesskey = П +menu-open-key-manager = + .label = Мениджър на ключове + .accesskey = М +# Variables: +# $addr (String) - Email address (which related to the currently selected +# from address) which isn't set up to end-to-end encryption. +openpgp-key-issue-notification-from = Липса на настройки за изпращане на шифровани от край до край съобщения от { $addr }. +# Variables: +# $addr (String) - Email address with key issues. +openpgp-key-issue-notification-single = Шифроването от край до край изисква разрешаване на проблемите с ключовете за { $addr }. +# Variables: +# $count (Number) - Number of recipients with key issues. +openpgp-key-issue-notification-multi = + { $count -> + [one] Шифроването от край до край изисква разрешаване на проблемите с ключовете за { $count } получател. + *[other] Шифроването от край до край изисква разрешаване на проблемите с ключовете за { $count } получателя. + } +# Variables: +# $addr (String) - mail address with certificate issues. +smime-cert-issue-notification-single = Шифроването от край до край изисква разрешаване на проблемите със сертификатите за { $addr }. +# Variables: +# $count (Number) - Number of recipients with certificate issues. +smime-cert-issue-notification-multi = + { $count -> + [one] Шифроването от край до край изисква разрешаване на проблемите със сертификатите на { $count } получател. + *[other] Шифроването от край до край изисква разрешаване на проблемите със сертификатите на { $count } получателя. + } +key-notification-disable-encryption = + .label = Без шифроване + .accesskey = Б + .tooltiptext = Забрана за шифроване от край до край +key-notification-resolve = + .label = Решаване... + .accesskey = Р + .tooltiptext = Отваряне на мениджъра на OpenPGP ключове +can-encrypt-smime-notification = S/MIME шифроване от край до край е възможно. +can-encrypt-openpgp-notification = OpenPGP шифроване от край до край е възможно. +can-e2e-encrypt-button = + .label = Шифроване + .accesskey = Ш ## Addressing Area +to-address-row-label = + .value = До +# $key (String) - the shortcut key for this field +show-to-row-main-menuitem = + .label = Поле "До" + .accesskey = К + .acceltext = { ctrl-cmd-shift-pretty-prefix }{ $key } +# No acceltext should be shown. +# The label should match the show-to-row-button text. +show-to-row-extra-menuitem = + .label = До + .accesskey = Д +# $key (String) - the shortcut key for this field +show-to-row-button = До + .title = Покзаване на поле { ctrl-cmd-shift-pretty-prefix }{ $key } +cc-address-row-label = + .value = Копие +# $key (String) - the shortcut key for this field +show-cc-row-main-menuitem = + .label = Полето "Копие" + .accesskey = К + .acceltext = { ctrl-cmd-shift-pretty-prefix }{ $key } +# No acceltext should be shown. +# The label should match the show-cc-row-button text. +show-cc-row-extra-menuitem = + .label = Копие + .accesskey = К +# $key (String) - the shortcut key for this field +show-cc-row-button = Копие + .title = Показване на полето "Копие" { ctrl-cmd-shift-pretty-prefix }{ $key } +bcc-address-row-label = + .value = Скрито копие +# $key (String) - the shortcut key for this field +show-bcc-row-main-menuitem = + .label = Полето "Скрито Копие" + .accesskey = С + .acceltext = { ctrl-cmd-shift-pretty-prefix }{ $key } +# No acceltext should be shown. +# The label should match the show-bcc-row-button text. +show-bcc-row-extra-menuitem = + .label = Скрито копие + .accesskey = С +# $key (String) - the shortcut key for this field +show-bcc-row-button = Скрито копие + .title = Показване на полето "Скрито Копие" { ctrl-cmd-shift-pretty-prefix }{ $key } +extra-address-rows-menu-button = + .title = Други полета за адресиране за показване +public-recipients-notice-single = Вашето съобщение има публичен получател. Можете да избегнете разкриването на получателя, като вместо това използвате ""Скрито копие"". +# Variables: +# $count (Number) - the count of addresses in the "To" and "Cc" fields. +public-recipients-notice-multi = + { $count -> + [one] { $count } получател в "До" и "Копие" ще вижда адресите. Можете да избегнете разкриване на получателите като вместо това използвате "Скрито копие". + *[other] { $count } получателя в "До" и "Копие" ще виждат адресите. Можете да избегнете разкриване на получателите като вместо това използвате "Скрито копие". + } many-public-recipients-bcc = .label = Използване на Скрито копие .accesskey = к many-public-recipients-ignore = .label = Нека получателите са публични .accesskey = п +many-public-recipients-prompt-title = Твърде много публични получатели +# $count (Number) - the count of addresses in the public recipients fields. +many-public-recipients-prompt-msg = + { $count -> + [one] Вашето съобщение има обществен получател. Това може да е проблем за поверителността. Можете да избегнете разкриването на получатели, като вместо това преместите получателите от полетата "До"/"Копие" в "Скрито копие". + *[other] Вашето съобщение има { $count } обществени получатели, които ще могат да виждат адресите на другия. Това може да е проблем за поверителността. Можете да избегнете разкриването на получатели, като вместо това преместите получателите от полетата "До"/"Копие" в "Скрито копие". + } +many-public-recipients-prompt-cancel = Отказ от изпращането +many-public-recipients-prompt-send = Изпрщане така или иначе ## Notifications # Variables: # $identity (string) - The name of the used identity, most likely an email address. compose-missing-identity-warning = Адрес на електронна поща, отговарящ на адреса в полето От не е намерен. Съобщението ще бъде изпратено с текущото съдържание на полето От и настройките от самоличността { $identity }. +encrypted-bcc-warning = Когато изпращате шифровано съобщение, получателите в ""Скрито копие""не са напълно скрити. Всички получатели може да са в състояние да ги идентифицират. +encrypted-bcc-ignore-button = Разбрано +auto-disable-e2ee-warning = Щифроването от край до край за това съобщение беше автоматично деактивирано. ## Editing # Tools +compose-tool-button-remove-text-styling = + .tooltiptext = Премахване на стила на текста ## Filelink +# A text used in a tooltip of Filelink attachments, whose account has been +# removed or is unknown. +cloud-file-unknown-account-tooltip = Качен в неизвестен профил във Filelink. # Placeholder file +# Title for the html placeholder file. +# $filename - name of the file +cloud-file-placeholder-title = { $filename } - Прикачен файл от Filelink +# A text describing that the file was attached as a Filelink and can be downloaded +# from the link shown below. +# $filename - name of the file +cloud-file-placeholder-intro = Файлът { $filename } беше прикачен като връзка към файл. Може да бъде изтеглен от връзката по-долу. # Template +# A line of text describing how many uploaded files have been appended to this +# message. Emphasis should be on sharing as opposed to attaching. This item is +# used as a header to a list, hence the colon. +# Variables: +# $count (Number) - Number of files. +cloud-file-count-header = + { $count -> + [one] Свързване на { $count } файл с този имейл: + *[other] Свързване на { $count } файла с този имейл: + } # A text used in a footer, instructing the reader where to find additional # information about the used service provider. # $link (string) - html a-tag for a link pointing to the web page of the provider cloud-file-service-provider-footer-single = Научете повече за { $link }. +# A text used in a footer, instructing the reader where to find additional +# information about the used service providers. Links for the used providers are +# split into a comma separated list of the first n-1 providers and a single entry +# at the end. +# $firstLinks (string) - comma separated list of html a-tags pointing to web pages +# of the first n-1 used providers +# $lastLink (string) - html a-tag pointing the web page of the n-th used provider +cloud-file-service-provider-footer-multiple = Научете повече за { $firstLinks } и { $lastLink }. +# Tooltip for an icon, indicating that the link is protected by a password. +cloud-file-tooltip-password-protected-link = Връзка, защитена с парола +# Used in a list of stats about a specific file +# Service - the used service provider to host the file (Filelink Service: BOX.com) +# Size - the size of the file (Size: 4.2 MB) +# Link - the link to the file (Link: https://some.provider.com) +# Expiry Date - stating the date the link will expire (Expiry Date: 12.12.2022) +# Download Limit - stating the maximum allowed downloads, before the link becomes invalid +# (Download Limit: 6) +cloud-file-template-service-name = Услуга Filelink: +cloud-file-template-size = Големина: +cloud-file-template-link = Препратка: +cloud-file-template-password-protected-link = Връзка, защитена с парола: +cloud-file-template-expiry-date = Валидна до: +cloud-file-template-download-limit = Лимит за изтегляне: # Messages +cloud-file-connection-error-title = Грешка при свързване +# Variables: +# $provider (string) - name of the online storage service that reported the error +cloud-file-connection-error = { -brand-short-name } е офлайн. Не успя да се свърже с { $provider }. +# Variables: +# $provider (string) - name of the online storage service that reported the error +# $filename (string) - name of the file that was uploaded and caused the error +cloud-file-upload-error-with-custom-message-title = Неуспешно качване на { $filename } към { $provider } +cloud-file-rename-error-title = Грешка при преименуване +# Variables: +# $provider (string) - name of the online storage service that reported the error +# $filename (string) - name of the file that was renamed and caused the error +cloud-file-rename-error = Възникна проблем при преименуването на { $filename } на { $provider }. +# Variables: +# $provider (string) - name of the online storage service that reported the error +# $filename (string) - name of the file that was renamed and caused the error +cloud-file-rename-error-with-custom-message-title = Неуспешно преименуване на { $filename } на { $provider } +# Variables: +# $provider (string) - name of the online storage service that reported the error +cloud-file-rename-not-supported = { $provider } не поддържа преименуване на вече качени файлове. +cloud-file-attachment-error-title = Грешка в прикачения файл на Filelink +# Variables: +# $filename (string) - name of the file that was renamed and caused the error +cloud-file-attachment-error = Неуспешно актуализиране на прикачения Filelink файл { $filename }, тъй като неговият локален файл е преместен или изтрит. +cloud-file-account-error-title = Грешка във Filelink профила +# Variables: +# $filename (string) - name of the file that was renamed and caused the error +cloud-file-account-error = Неуспешно актуализиране на прикачения файл с Filelink { $filename }, тъй като неговият Filelink профил е изтрит. ## Link Preview +link-preview-title = Преглед на връзката +link-preview-description = { -brand-short-name } може да добави вграден преглед при поставяне на връзки. +link-preview-autoadd = Автоматично добавяне на визуализации на връзки, когато е възможно +link-preview-replace-now = Добавяне на визуализация на връзката за тази връзка? +link-preview-yes-replace = Да ## Dictionary selection popup +spell-add-dictionaries = + .label = Добавяне на речници… + .accesskey = р diff --git a/thunderbird-l10n/bg/localization/bg/messenger/openpgp/keyWizard.ftl b/thunderbird-l10n/bg/localization/bg/messenger/openpgp/keyWizard.ftl index 0f21b693a46b7180276d4008dc8e0e842c693945..d16381edacf4f14c5d119aa76d5e54e3042dec20 100644 --- a/thunderbird-l10n/bg/localization/bg/messenger/openpgp/keyWizard.ftl +++ b/thunderbird-l10n/bg/localization/bg/messenger/openpgp/keyWizard.ftl @@ -61,7 +61,7 @@ openpgp-keygen-type-ecc = openpgp-keygen-button = Генериране на ключ openpgp-keygen-progress-title = Създаване на нов OpenPGP ключ openpgp-keygen-import-progress-title = Внасяне на OpenPGP ключове… -openpgp-import-success = OpenPGP ключовете са внесени успешно! +openpgp-import-success = OpenPGP ключовете са внесени успешно! openpgp-import-success-title = Завършване на процеса на внасяне openpgp-import-success-description = За да започнете да използвате вашия внесен OpenPGP ключ за шифроване на електронна поща, затворете този диалогов прозорец и влезте в настройките на вашия профил, за да го изберете. openpgp-keygen-confirm = diff --git a/thunderbird-l10n/bg/localization/bg/messenger/openpgp/msgReadStatus.ftl b/thunderbird-l10n/bg/localization/bg/messenger/openpgp/msgReadStatus.ftl index cfe86f0a4c3f81340a10e01b2f5100dea4aca537..fbc3bd48b6d749eb766d746739770c287f03a3f5 100644 --- a/thunderbird-l10n/bg/localization/bg/messenger/openpgp/msgReadStatus.ftl +++ b/thunderbird-l10n/bg/localization/bg/messenger/openpgp/msgReadStatus.ftl @@ -60,7 +60,7 @@ openpgp-enc-key-id = Идентификационният номер на ваш # $subkey (String) - A subkey of the primary key was used to decrypt the message, and this is the ID of that subkey. openpgp-enc-key-with-subkey-id = Вашият идентификатор на ключ за дешифриране: { $key } ( и на подключ: { $subkey }) openpgp-enc-none = Съобщението не е шифровано -openpgp-enc-none-label = Това съобщение не е шифровано преди да бъде изпратено. Информацията, изпратена по интернет без криптиране, може да бъде видяна от други хора, докато е в транзит. +openpgp-enc-none-label = Това съобщение не е шифровано преди да бъде изпратено. Информацията, изпратена по интернет без шифроване, може да бъде видяна от други хора, докато е в транзит. openpgp-enc-invalid-label = Съобщението не може да бъде дешифрирано openpgp-enc-invalid = Писмото е било шифровано преди да ви бъде изпратено, но не може да бъде дешифровано. openpgp-enc-clueless = Има неизвестни проблеми с шифрованото писмо. diff --git a/thunderbird-l10n/bg/localization/bg/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/bg/localization/bg/messenger/openpgp/openpgp.ftl index 1b4930650c2605033132020020d7ad1ceaa73a21..16c143ac1ce16e7c5f515694aa4cff3f3ac36bca 100644 --- a/thunderbird-l10n/bg/localization/bg/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/bg/localization/bg/messenger/openpgp/openpgp.ftl @@ -38,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Това е ключ със сложна структура, не се поддържа промяна на датата му на валидност. openpgp-key-man-title = .title = Управление на OpenPGP ключове +openpgp-key-man-dialog-title = Управление на OpenPGP ключове openpgp-key-man-generate = .label = Нова двойка ключове .accesskey = д @@ -111,6 +112,15 @@ openpgp-key-send-key = .label = Изпращане на публичен ключ по имейл .accesskey = И # Variables: +# $count (Number) - Number of keys ids to copy. +openpgp-key-man-copy-key-ids = + .label = + { $count -> + [one] Копиране на идентификатора на ключове в системния буфер + *[other] Копиране на идентификаторите на ключове в системния буфер + } + .accesskey = К +# Variables: # $count (Number) - Number of fingerprints to copy. openpgp-key-man-copy-fprs = .label = @@ -119,6 +129,15 @@ openpgp-key-man-copy-fprs = *[other] Копиране на пръстовите отпечатъци в клипборда } .accesskey = п +# Variables: +# $count (Number) - Number of public keys to copy. +openpgp-key-man-copy-to-clipboard = + .label = + { $count -> + [one] Копиране на публичен ключ в системния буфер + *[other] Копиране на публични ключове в системния буфер + } + .accesskey = ч openpgp-key-man-ctx-expor-to-file-label = .label = Изнасяне на ключовете във файл openpgp-key-man-ctx-copy = @@ -290,104 +309,472 @@ openpgp-copy-cmd-label = # $identity (String) - the email address of the currently selected identity openpgp-description-no-key = { -brand-short-name } няма личен OpenPGP ключ за <b>{ $identity }</b> +# $count (Number) - the number of configured keys associated with the current identity +# $identity (String) - the email address of the currently selected identity +openpgp-description-has-keys = + { $count -> + [one] { -brand-short-name } намери { $count } личен OpenPGP ключ, свързан с <b>{ $identity }</b> + *[other] { -brand-short-name } намери { $count } лични OpenPGP ключа, свързани с <b>{ $identity }</b> + } +# $key (String) - the currently selected OpenPGP key +openpgp-selection-status-have-key = Текущата ви конфигурация използва следния идентификатор на ключ <b>{ $key }</b> +# $key (String) - the currently selected OpenPGP key +openpgp-selection-status-error = Текущата ви конфигурация използва ключа <b>{ $key }</b>, който вече не е валиден. +openpgp-add-key-button = + .label = Добавяне на ключ… + .accesskey = Д e2e-learn-more = Научете повече +openpgp-keygen-success = OpenPGP ключът е създаден успешно! +openpgp-keygen-import-success = OpenPGP ключовете са внесени успешно! +openpgp-keygen-external-success = ID на външния GnuPG ключ е запазен! ## OpenPGP Key selection area +openpgp-radio-none = + .label = Няма +openpgp-radio-none-desc = Без използване на OpenPGP за тази самоличност. +openpgp-radio-key-not-usable = Този ключ не може да се използва като личен ключ, защото секретният ключ липсва! +openpgp-radio-key-not-accepted = За да използвате този ключ, трябва да го одобрите като личен! +openpgp-radio-key-not-found = Този ключ не може да бъде намерен! Ако искате да го използвате, трябва да го внесете в { -brand-short-name }. +# $date (String) - the future expiration date of when the OpenPGP key will expire +openpgp-radio-key-expires = Валиден до: { $date } +# $date (String) - the past expiration date of when the OpenPGP key expired +openpgp-radio-key-expired = Изтекъл на: { $date } +openpgp-key-expires-within-6-months-icon = + .title = Ключът изтича след по-малко от 6 месеца +openpgp-key-has-expired-icon = + .title = Ключът не е вече валиден +openpgp-suggest-publishing-key = Публикуването на публичния ключ на сървър за ключове позволява на другите да го открият. +openpgp-key-expand-section = + .tooltiptext = Повече информация +openpgp-key-revoke-title = Отмяна на ключ +openpgp-key-edit-title = Промяна на OpenPGP ключ +openpgp-key-edit-date-title = Удължаване на срока на годност +openpgp-manager-description = Използвайте OpenPGP Key Manager, за да видите и управлявате публичните ключове на вашите кореспонденти и всички други ключове, които не са изброени по-горе. +openpgp-manager-button = + .label = Управление на OpenPGP ключове + .accesskey = У +openpgp-key-remove-external = + .label = Премахване на ID на външен ключ + .accesskey = П +key-external-label = Външен GnuPG ключ ## Strings in keyDetailsDlg.xhtml +key-type-public = публичен ключ +key-type-primary = първичен ключ +key-type-subkey = подключ +key-type-pair = двойка ключове (таен ключ и публичен ключ) +key-expiry-never = никога +key-usage-encrypt = Шифроване +key-usage-sign = Подписване +key-usage-certify = Сертифициране +key-usage-authentication = Удостоверяване +key-does-not-expire = Ключът не изтича +# Variables: +# $keyExpiry (String) - Date the key expired on. +key-expired-date = Ключът е изтекъл на { $keyExpiry } +key-expired-simple = Ключът не е валиден +key-revoked-simple = Ключът беше анулиран +key-do-you-accept = Приемате ли този ключ за проверка на цифрови подписи и за шифроване на съобщения? +# Variables: +# $addr (String) - Email address the key claims it belongs to. +key-verification = Проверете пръстовия отпечатък на ключа, като използвате защитен комуникационен канал, различен от имейл, за да сте сигурни, че това наистина е ключът на { $addr }. ## Strings enigmailMsgComposeOverlay.js +# Variables: +# $problem (String) - Error message from key usability check. +cannot-use-own-key-because = Невъзможност за изпращане на съобщението поради проблем с вашия личен ключ. { $problem } +window-locked = Прозорецът за ново съобщение е заключен; изпращането е отменено ## Strings in keyserver.jsm +keyserver-error-aborted = Прекратено +keyserver-error-unknown = Възникна неизвестна грешка +keyserver-error-server-error = Ключовият сървър докладва за грешка. +keyserver-error-import-error = Неуспешно внасяне на изтегления ключ. +keyserver-error-unavailable = Ключовият сървър не е наличен. +keyserver-error-security-error = Ключовият сървър не поддържа шифрован достъп. +keyserver-error-certificate-error = Сертификатът на сървъра за ключове не е валиден. +keyserver-error-unsupported = Ключовият сървър не се поддържа. ## Strings in mimeWkdHandler.jsm +wkd-message-body-req = + Вашият доставчик на електронна поща обработи заявката ви за качване на вашия публичен ключ в уеб каталога на OpenPGP. + Моля, потвърдете, за да завършите публикуването на вашия публичен ключ. +wkd-message-body-process = + Това е имейл, свързан с автоматичната обработка за качване на вашия публичен ключ в OpenPGP уеб каталога. + На този етап не е необходимо да предприемате никакви ръчни действия. ## Strings in persistentCrypto.jsm +# Variables: +# $subject (String) - Subject of the message. +converter-decrypt-body-failed = + Неуспешно дешифроване на съобщение с тема + { $subject }. + Искате ли да опитате отново с друга парола или искате да пропуснете съобщението? ## Strings filters.jsm +filter-folder-required = Трябва да изберете целева папка. +filter-decrypt-move-warn-experimental = + Предупреждение - филтърното действие „Дешифроване за постоянно“ може да доведе до унищожени съобщения. + Силно ви препоръчваме първо да опитате филтъра „Създаване на дешифровано копие“, да тествате внимателно резултата и да започнете да използвате този филтър едва след като сте доволни от резултата. +filter-term-pgpencrypted-label = OpenPGP шифрован +filter-key-required = Трябва да изберете ключ на получател. +# Variables: +# $desc (String) - Email address to look for a key of. +filter-key-not-found = Не може да се намери ключ за шифроване за „{ $desc }“. +# Variables: +# $desc (String) - The ID of a secret key that is required to read the email after the user executes the current action. +filter-warn-key-not-secret = + Предупреждение - филтърното действие „Шифроване към ключ“ замества получателите. + Ако нямате секретния ключ за „{ $desc }“, вече няма да можете да четете имейлите. ## Strings filtersWrapper.jsm +filter-decrypt-move-label = Дешифроване за постоянно (OpenPGP) +filter-decrypt-copy-label = Създаване на дешифровано копие (OpenPGP) +filter-encrypt-label = Шифроване към ключ (OpenPGP) ## Strings in enigmailKeyImportInfo.js +import-info-title = + .title = Успех! Ключовете са внесени +import-info-bits = байта +import-info-created = Дата на създаване +import-info-fpr = Пръстов отпечатък +import-info-details = Преглед на подробности и управление на приемането на ключове +import-info-no-keys = Няма внесени ключове. ## Strings in enigmailKeyManager.js +import-from-clip = Искате ли да внесете ключ от системния буфер? +import-from-url = Изтегляне на публичен ключ от този URL адрес: +copy-to-clipbrd-failed = Невъзможност за копиране на избрания ключ в системния буфер. +copy-to-clipbrd-ok = Ключът е копиран в системния буфер +# Variables: +# $userId (String) - User id of the key. +delete-secret-key = + ПРЕДУПРЕЖДЕНИЕ: На път сте да изтриете таен ключ! + + Ако го изтриете, вече няма да можете да дешифрирате съобщения, шифровани с този ключ, нито ще можете да го отмените. + + Наистина ли искате да изтриете И ДВАТА ключа - секретния и публичния + „{ $userId }“? +delete-mix = + ПРЕДУПРЕЖДЕНИЕ: На път сте да изтриете секретни ключове! + Ако ги изтриете , вече няма да можете да дещифрирате никакви съобщения, шифровани с този ключ. + Наистина ли искате да изтриете И ДВАТА ключа - сектетния и публичния? +# Variables: +# $userId (String) - User id of the key. +delete-pub-key = + Искате ли да изтриете публичния ключ + „{ $userId }“? +delete-selected-pub-key = Искате ли да изтриете публичните ключове? +refresh-all-question = Не сте избрали никакъв ключ. Искате ли да опресните всичките си ключове? +key-man-button-export-sec-key = Изнасяне на &тайни ключове +key-man-button-export-pub-key = Изнасяне само на &публични ключове +key-man-button-refresh-all = &Опресняване на всички ключове +key-man-loading-keys = Ключовете се зареждат, моля изчакайте... +ascii-armor-file = ASCII файлове (*.asc) +no-key-selected = Трябва да изберете поне един клавиш, за да изпълните избраната операция +export-to-file = Изнасяне на публичен ключ във файл +export-keypair-to-file = Изнасяне на публичен и секретен ключ във файл +export-secret-key = Искате ли да включите секретния ключ в записания ключов файл на OpenPGP? +save-keys-ok = Ключовете са успешно запазени +save-keys-failed = Запазването на ключовете не бе успешно +default-pub-key-filename = Изнасяне на публични ключове +default-pub-sec-key-filename = Архивиране на секретни ключове +refresh-key-warn = Предупреждение: в зависимост от броя на ключовете и скоростта на връзката, опресняването на всички ключове може да бъде доста дълъг процес! +preview-failed = Невъзможност за прочитане на файл с публичен ключ. +# Variables: +# $reason (String) - Error description. +general-error = Грешка: { $reason } +dlg-button-delete = Из&триване ## Account settings export output +openpgp-export-public-success = <b>Избраният публичен ключ е изнесен успешно!</b> +openpgp-export-public-fail = <b>Невъзможност за изнасяне на избрания публичен ключ!</b> +openpgp-export-secret-success = <b>Секретният ключ е изнесен успешно!</b> +openpgp-export-secret-fail = <b>Невъзможност за изнасяне на избрания секретен ключ!</b> ## Strings in keyObj.jsm ## Variables: ## $userId (String) - The name and/or email address that is mentioned in the key's information. ## $keyId (String) - Key id for the key entry. +key-ring-pub-key-revoked = Ключът { $userId } (ID на ключ { $keyId }) е отменен. +key-ring-pub-key-expired = Ключът { $userId } (ID на ключ { $keyId }) е изтекъл. +key-ring-no-secret-key = Изглежда нямате секретния ключ за { $userId } (идентификатор на ключ { $keyId }) във вашия ключодържател; не можете да използвате ключа за подписване. +key-ring-pub-key-not-for-signing = Ключът { $userId } (ID на ключ { $keyId }) не може да се използва за подписване. +key-ring-pub-key-not-for-encryption = Ключът { $userId } (ID на ключ { $keyId }) не може да се използва за шифроване. +key-ring-sign-sub-keys-revoked = Всички подключове за подписване на ключ { $userId } (ID на ключ { $keyId }) се отменят. +key-ring-sign-sub-keys-expired = Всички подключове за подписване на ключ { $userId } (ID на ключ { $keyId }) са изтекли. +key-ring-enc-sub-keys-revoked = Всички подключове за шифроване на ключ { $userId } (ID на ключ { $keyId }) са отменени. +key-ring-enc-sub-keys-expired = Всички подключове за шифроване на ключ { $userId } (ID на ключ { $keyId }) са изтекли. ## Strings in gnupg-keylist.jsm +keyring-photo = Снимка +user-att-photo = Потребителски атрибут (JPEG изображение) ## Strings in key.jsm +already-revoked = Този ключ вече е отменен. +# $identity (String) - the id and associated user identity of the key being revoked +revoke-key-question = + На път сте да отмените ключа „{ $identity }“. + Вече няма да можете да подписвате с този ключ и след като бъде разпространен, другите вече няма да могат да шифроват с този ключ. Все още можете да използвате ключа за дешифриране на стари съобщения. + Искате ли да продължите? +# $keyId (String) - the id of the key being revoked +revoke-key-not-present = + Нямате ключ (0x{ $keyId }), който да съответства на този сертификат за анулиране! + Ако сте загубили ключа си, трябва да го внесете (напр. от ключов сървър), преди да внесете сертификата за анулиране! +# $keyId (String) - the id of the key being revoked +revoke-key-already-revoked = Ключът 0x{ $keyId } вече е отменен. +key-man-button-revoke-key = &Анулиране на ключ +openpgp-key-revoke-success = Ключът е анулиран успешно. +after-revoke-info = + Ключът е анулиран. + Споделете този публичен ключ отново, като го изпратите по имейл или като го качите на сървър, за да уведомите другите, че сте го отменили + Веднага щом софтуерът, използван от други хора, научи за анулирането, той ще спре да използва стария ви ключ. + Ако използвате нов ключ за същия имейл адрес и прикачите новия публичен ключ към имейлите, които изпращате, тогава информацията за вашия отменен стар ключ ще бъде включена автоматично. ## Strings in keyRing.jsm & decryption.jsm +key-man-button-import = &Внасяне +delete-key-title = Изтриване на OpenPGP ключ +delete-external-key-title = Премахване на външен GnuPG ключ +delete-external-key-description = Искате ли да премахнете този външен идентификатор на GnuPG ключ? +key-in-use-title = OpenPGP ключът се използва в момента +delete-key-in-use-description = Не може да се продължи! Ключът, който сте избрали за изтриване, в момента се използва от тази самоличност. Изберете друг ключ или изберете нито един и опитайте отново. +revoke-key-in-use-description = Не може да се продължи! Ключът, който сте избрали за анулиране, в момента се използва от тази самоличност. Изберете друг ключ или изберете нито един и опитайте отново. ## Strings used in errorHandling.jsm +# Variables: +# $keySpec (String) - Email address. +key-error-key-spec-not-found = Имейл адресът ‘{ $keySpec }’ не може да бъде съпоставен с ключ на вашия ключодържател. +# $keySpec (String) - Key id. +key-error-key-id-not-found = Конфигурираният идентификатор на ключ ‘{ $keySpec }’ не може да бъде намерен във вашия ключодържател. +# $keySpec (String) - Key id. +key-error-not-accepted-as-personal = Не сте потвърдили, че ключът с ID ‘{ $keySpec }’ е вашият личен ключ. ## Strings used in enigmailKeyManager.js & windows.jsm +need-online = Функцията, която сте избрали, не е налична в офлайн режим. Моля, влезте онлайн и опитайте отново. ## Strings used in keyRing.jsm & keyLookupHelper.jsm +no-key-found2 = Не успяхме да намерим използваем ключ, отговарящ на посочените критерии за търсене. +no-update-found = Вече имате ключовете, които бяха открити онлайн. ## Strings used in keyRing.jsm & GnuPGCryptoAPI.jsm +fail-key-extract = Грешка - командата за извличане на ключ е неуспешна ## Strings used in keyRing.jsm +fail-cancel = Грешка - Получаването на ключ е отменено от потребителя +not-first-block = Грешка - Първият OpenPGP блок не е с публичен ключ +import-key-confirm = Внасяне на публичните ключове, вградени в съобщението? +fail-key-import = Грешка - неуспешно внасяне на ключ +# Variables: +# $output (String) - File that writing was attempted to. +file-write-failed = Неуспешен запис във файл { $output } +no-pgp-block = Грешка - Не е намерен валиден OpenPGP блок от данни +confirm-permissive-import = Неуспешно внасяне. Ключът, който се опитвате да внесете, може да е повреден или да използва неизвестни атрибути. Искате ли да опитате да внесете частите, които са правилни? Това може да доведе до внасяне на непълни и неизползваеми ключове. ## Strings used in trust.jsm +key-valid-unknown = неизвестен +key-valid-invalid = Невалиден +key-valid-disabled = изключен +key-valid-revoked = отменен +key-valid-expired = изтекъл +key-trust-untrusted = недоверен +key-trust-marginal = маргинален +key-trust-full = доверен +key-trust-ultimate = краен +key-trust-group = (група) ## Strings used in commonWorkflows.js +import-key-file = Внасяне на OpenPGP ключ +import-rev-file = Внасяне на файл за анулиране на OpenPGP +gnupg-file = GnuPG файлове +import-keys-failed = Неуспешно внасяне на ключове +# Variables: +# $key (String) - Key id to unlock. +# $date (String) - The date on which the key was created +# $username_and_email (String) - The user name, and/or the email address which the key owner has set for the key. +passphrase-prompt2 = Въведете паролата, за да отключите секретния ключ с ID { $key }, създаден { $date }, { $username_and_email } +# Variables: +# $subkey (String) - Key id to unlock, which is a subkey. +# $key (String) - This is the main key, to which the subkey belongs. +# $date (String) - The date on which the key was created +# $username_and_email (String) - The user name, and/or the email address which the key owner has set for the key. +passphrase-prompt2-sub = Въведете паролата, за да отключите секретния ключ с ID { $subkey }, който е подключ на ID на ключ { $key }, създаден на { $date }, { $username_and_email } +file-to-big-to-import = Този файл е твърде голям. Моля, не внасяйте голям набор от ключове наведнъж. ## Strings used in enigmailKeygen.js +save-revoke-cert-as = Създаване и запазване на сертификат за анулиране +revoke-cert-ok = Сертификатът за анулиране е създаден успешно. Можете да го използвате, за да обезсилите своя публичен ключ, напр. в случай, че загубите секретния си ключ. +revoke-cert-failed = Сертификатът за анулиране не можа да бъде създаден. +gen-going = Генерирането на ключ вече е в ход! +keygen-missing-user-name = Няма посочено име в избрания профил. Моля, въведете стойност в полето „Вашето име“ в настройките си.. +expiry-too-short = Вашият ключ трябва да е валиден поне един ден. +expiry-too-long = Не можете да създадете ключ, който изтича след повече от 100 години. +# Variables: +# $id (String) - Name and/or email address to generate keys for. +key-confirm = Генериране на публичен и таен ключ за „{ $id }“? +key-man-button-generate-key = &Генериране на ключ +key-abort = Прекъсване на генерирането? +key-man-button-generate-key-abort = &Прекъсване на генерирането на ключ +key-man-button-generate-key-continue = &Продължаване с генерирането на ключ ## Strings used in enigmailMessengerOverlay.js +failed-decrypt = Грешка - неуспешно дешифриране +fix-broken-exchange-msg-failed = Невъзможност за поправка на това съобщение. +# Variables: +# $attachment (String) - File name of the signature file. +attachment-no-match-from-signature = Файлът за подпис „{ $attachment }“ не може да бъде съпоставен с прикачения файл +# Variables: +# $attachment (String) - File name of the attachment. +attachment-no-match-to-signature = Не може да бъде съпоставен прикаченият файл „{ $attachment }“ с файла за подпис +# Variables: +# $attachment (String) - File name of the attachment +signature-verified-ok = Подписът за прикачен файл { $attachment } бе проверен успешно +# Variables: +# $attachment (String) - File name of the attachment +signature-verify-failed = Подписът за прикачения файл { $attachment } не можа да бъде проверен +decrypt-ok-no-sig = + Внимание + Дешифрирането беше успешно, но подписът не можа да бъде проверен правилно +msg-ovl-button-cont-anyway = &Продължаване въпреки това +enig-content-note = *Прикачените файлове към това съобщение не са нито подписани, нито шифрирани* ## Strings used in enigmailMsgComposeOverlay.js +msg-compose-button-send = &Изпращане на съобщение +msg-compose-details-button-label = Подробности… +msg-compose-details-button-access-key = П +send-aborted = Операцията за изпращане е прекратена. +# Variables: +# $key (String) - Key id. +key-not-trusted = Няма достатъчно доверие за ключ „{ $key }“ +# Variables: +# $key (String) - Key id. +key-not-found = Ключът „{ $key }“ не е намерен +# Variables: +# $key (String) - Key id. +key-revoked = Ключът „{ $key }“ е отменен +# Variables: +# $key (String) - Key id. +key-expired = Ключът „{ $key }“ е изтекъл +msg-compose-internal-error = Възникна вътрешна грешка. +keys-to-export = Избор на OpenPGP ключове за вмъкване +msg-compose-partially-encrypted-inlinePGP = + Съобщението, на което отговаряте, съдържа както нешифровани, така и шифровани части. Ако изпращачът не е успял да дешифрова някои части от съобщението първоначално, може да изтече поверителна информация. + Моля, обмислете премахването на целия цитиран текст от вашия отговор до този подател. +msg-compose-cannot-save-draft = Грешка при запазване на черновата +msg-compose-partially-encrypted-short = Пазете се от изтичане на чувствителна информация - частично шифрован имейл. +quoted-printable-warn = + Вие сте активирали кодирането „цитирано за печат“ за изпращане на съобщения. Това може да доведе до неправилно дешифриране и/или проверка на вашето съобщение. + Искате ли да изключите изпращането на съобщения „цитирано за печат“ сега? +# Variables: +# $width (Number) - Number of characters per line. +minimal-line-wrapping = + Задали сте пренасяне на ред на { $width } знака. За правилно шифроване и/или подписване тази стойност трябва да бъде поне 68. + Искате ли да промените пренасянето на редове на 68 знака? +sending-news = + Операцията за шифровано изпращане е прекратена. + Това съобщение не може да бъде шифровано, защото има получатели от дискусионна група. Моля, изпратете отново съобщението без шифроване. +send-to-news-warning = + Предупреждение: Вие сте на път да изпратите шифрован имейл до дискусионна група. + Това не се препоръчва, защото има смисъл само ако всички членове на групата могат да дешифрират съобщението, т.е. съобщението трябва да бъде шифрирано с ключовете на всички участници в групата. Моля, изпратете това съобщение само ако знаете точно какво правите. + Продължаване? +save-attachment-header = Запазване на дешифриран прикачен файл +possibly-pgp-mime = Възможно PGP/MIME криптирано или подписано съобщение; използвайте функцията „Дешифроване/Проверяване“, за да потвърдите +# Variables: +# $key (String) - Sender email address. +cannot-send-sig-because-no-own-key = Не може да се подпише цифрово това съобщение, защото все още не сте конфигурирали шифроване от край до край за <{ $key }> +# Variables: +# $key (String) - Sender email address. +cannot-send-enc-because-no-own-key = Това съобщение не може да бъде изпратено шифровано, тъй като все още не сте конфигурирали шифроване от край до край за <{ $key }> ## Strings used in decryption.jsm +# Variables: +# $key (String) - Newline separated list of a tab character then name and/or email address mentioned in the key followed by the key id in parenthesis. +do-import-multiple = + Внасяне на следните ключове? + { $key } +# Variables: +# $name (String) - Name and/or email address mentioned in the key. +# $id (String) - Key id of the key. +do-import-one = Внасяне на { $name } ({ $id })? +cant-import = Грешка при внасяне на публичен ключ +unverified-reply = Частта на съобщението с отстъп (отговор) вероятно е била променена +key-in-message-body = Намерен е ключ в тялото на съобщението. Щракнете върху „Внасяне на ключ“, за го внесете +sig-mismatch = Грешка - Несъответствие на подписа +invalid-email = Грешка - невалиден имейл адрес +# Variables: +# $name (String) - File name of the attachment. +attachment-pgp-key = + Прикаченият файл „{ $name }“, който отваряте, изглежда е ключов файл на OpenPGP. + Щракнете върху „Внасяне“, за да внесете съдържащите се в него ключове, или върху „Преглед“, за да видите съдържанието на файла +dlg-button-view = &Преглед ## Strings used in enigmailMsgHdrViewOverlay.js +decrypted-msg-with-format-error = Дешифровано съобщение (възстановен повреден PGP имейл формат, вероятно причинен от стар Exchange сървър. Резултатът може да не е идеален за четене) ## Strings used in encryption.jsm +not-required = Грешка - не е необходимо шифроване ## Strings used in windows.jsm +no-photo-available = Няма налична снимка +# Variables: +# $photo (String) - Path of the photo in the key. +error-photo-path-not-readable = Пътят на снимката „{ $photo }“ не се чете +debug-log-title = Дневник за отстраняване на грешки на OpenPGP ## Strings used in dialog.jsm +# This string is followed by either repeat-suffix-singular if $count is 1 or else +# by repeat-suffix-plural. +# Variables: +# $count (Number) - Number of times the alert will repeat. +repeat-prefix = Този сигнал ще се повтори { $count } +repeat-suffix-singular = повече време. +repeat-suffix-plural = повече пъти. +no-repeat = Това предупреждение няма да се показва отново. +dlg-keep-setting = Запомнете отговора ми и не ме питайте отново +dlg-button-ok = &Добре dlg-button-close = &Затваряне +dlg-button-cancel = &Отказ +dlg-no-prompt = Не ми показвай този диалогов прозорец отново +enig-prompt = Подкана за OpenPGP +enig-confirm = OpenPGP потвърждение +enig-alert = Сигнал за OpenPGP +enig-info = Информация за OpenPGP ## Strings used in persistentCrypto.jsm +dlg-button-retry = &Повторен опит +dlg-button-skip = &Пропускане ## Strings used in enigmailMsgBox.js +enig-alert-title = + .title = Сигнал за OpenPGP diff --git a/thunderbird-l10n/bg/localization/bg/messenger/otr/finger.ftl b/thunderbird-l10n/bg/localization/bg/messenger/otr/finger.ftl index 1298ac85319e1693fd4768754ccfabba1cafcf19..f3f30fce041203d3aeb7b9df14ec32e7a81328d3 100644 --- a/thunderbird-l10n/bg/localization/bg/messenger/otr/finger.ftl +++ b/thunderbird-l10n/bg/localization/bg/messenger/otr/finger.ftl @@ -3,7 +3,7 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. otr-finger-title = Виждани преди OTR отпечатъци -finger-intro = OTR ключови отпечатъци от предишни криптирани разговори от край до край. +finger-intro = OTR ключови отпечатъци от предишни шифровани разговори от край до край. finger-screen-name = .label = Контакт finger-verified = diff --git a/thunderbird-l10n/bg/localization/bg/messenger/otr/otr.ftl b/thunderbird-l10n/bg/localization/bg/messenger/otr/otr.ftl index 4171d04e2635b1b89a336e669787665cb5f60b65..f4288cac59a4734750b7cc8ab8cc7f8f048d7701 100644 --- a/thunderbird-l10n/bg/localization/bg/messenger/otr/otr.ftl +++ b/thunderbird-l10n/bg/localization/bg/messenger/otr/otr.ftl @@ -4,7 +4,7 @@ # Variables: # $name (String) - the screen name of a chat contact person -msgevent-encryption-required-part1 = Опитахте да изпратите некриптирано съобщение до { $name }. Като правило нешифрованите съобщения не са разрешени. +msgevent-encryption-required-part1 = Опитахте да изпратите нешифровано съобщение до { $name }. Като правило нешифрованите съобщения не са разрешени. msgevent-encryption-required-part2 = Опит за започване на личен разговор. Вашето съобщение ще бъде изпратено повторно, когато частният разговор започне. msgevent-encryption-error = Възникна грешка при шифроването на вашето съобщение. Съобщението не е изпратено. # Variables: diff --git a/thunderbird-l10n/bg/localization/bg/messenger/preferences/am-im.ftl b/thunderbird-l10n/bg/localization/bg/messenger/preferences/am-im.ftl index ae3020753ecdf3d9aa39a167e4328761cf4c075b..5f1663e1272052597f6b94d6d69acbfb1824090a 100644 --- a/thunderbird-l10n/bg/localization/bg/messenger/preferences/am-im.ftl +++ b/thunderbird-l10n/bg/localization/bg/messenger/preferences/am-im.ftl @@ -8,15 +8,15 @@ chat-autologin = .label = Вписване при пускане chat-encryption-generic = Общо chat-encryption-log = - .label = Включете криптирани от край до край съобщения в регистрационните файлове на разговорите + .label = Включете шифровани от край до край съобщения в регистрационните файлове на разговорите chat-encryption-label = Нативно шифроване от край до край # Variables: # $protocol (String) - Name of the chat protocol. Example: Matrix -chat-encryption-description = { $protocol } осигурява криптиране от край до край за съобщения в чат. Това не позволява на трети страни да подслушват разговорa. Може да е необходима допълнителна настройка по-долу, за да работи шифроването. +chat-encryption-description = { $protocol } осигурява шифроване от край до край за съобщения в чат. Това не позволява на трети страни да подслушват разговорa. Може да е необходима допълнителна настройка по-долу, за да работи шифроването. chat-encryption-status = Състояние на шифроването chat-encryption-placeholder = Шифроването не е инициализирано. chat-encryption-sessions = Сесии -chat-encryption-sessions-description = За да работи правилно криптирането от край до край, трябва да се доверите на другите сесии в профила ви. Изисква се взаимодействие с другия кореспондент за проверка на сесия. Проверката може да доведе до това, че всички сесии, на които се доверявате, също се доверяват на { -brand-short-name }. +chat-encryption-sessions-description = За да работи правилно шифроването от край до край, трябва да се доверите на другите сесии в профила ви. Изисква се взаимодействие с другия кореспондент за проверка на сесия. Проверката може да доведе до това, че всички сесии, на които се доверявате, също се доверяват на { -brand-short-name }. chat-encryption-session-verify = Подвърждаване .title = Потвърждаване на валидността на сесията chat-encryption-session-trusted = Доверена diff --git a/thunderbird-l10n/bg/localization/bg/messenger/preferences/passwordManager.ftl b/thunderbird-l10n/bg/localization/bg/messenger/preferences/passwordManager.ftl index 57b4814f33ae12e8b40902a11f9e8ab7cd6cffae..d4200e9eca3dfe0a824ad225852e0ddcdfa6aaab 100644 --- a/thunderbird-l10n/bg/localization/bg/messenger/preferences/passwordManager.ftl +++ b/thunderbird-l10n/bg/localization/bg/messenger/preferences/passwordManager.ftl @@ -48,7 +48,7 @@ remove = .accesskey = р import = .label = Внасяне… - .accesskey = я + .accesskey = В password-close-button = .label = Затваряне .accesskey = З diff --git a/thunderbird-l10n/bg/localization/bg/messenger/preferences/preferences.ftl b/thunderbird-l10n/bg/localization/bg/messenger/preferences/preferences.ftl index 4cde2ba6cc2b070fa2db214aed2034197a02e0a9..670531da4a7e0807d00472092658f800c5b31385 100644 --- a/thunderbird-l10n/bg/localization/bg/messenger/preferences/preferences.ftl +++ b/thunderbird-l10n/bg/localization/bg/messenger/preferences/preferences.ftl @@ -247,7 +247,7 @@ update-history-button = use-service = .label = Използване на услуга във фонов режим за инсталиране на обновявания .accesskey = ф -cross-user-udpate-warning = Тази настройка ще се прилага за всички акаунти в Windows и профили { -brand-short-name }, използващи тази инсталация на { -brand-short-name }. +cross-user-udpate-warning = Тази настройка ще се прилага за всички профили в Windows и профили { -brand-short-name }, използващи тази инсталация на { -brand-short-name }. networking-legend = Връзка proxy-config-description = Настройки на { -brand-short-name } за достъп до Мрежата network-settings-button = @@ -611,7 +611,7 @@ security-devices-button = .accesskey = б email-e2ee-header = Шифроване на електронните съобщения от край до край account-settings = Настройки на регистрация -email-e2ee-enable-info = Настройте имейл акаунти и самоличности за шифроване от край до край в настройките на акаунта. +email-e2ee-enable-info = Настройте имейл профил и самоличности за шифроване от край до край в настройките на акаунта. email-e2ee-automatism = Автоматично използване на шифроване email-e2ee-automatism-pre = { -brand-short-name } може да помогне, като автоматично активира или деактивира шифроването, докато пишете имейл. diff --git a/thunderbird-l10n/bg/localization/bg/messenger/preferences/system-integration.ftl b/thunderbird-l10n/bg/localization/bg/messenger/preferences/system-integration.ftl index 1155e13aebcfa86841c7fae9ea2d181065f669f1..ab3203b70dcafe22cb11f8cc1fc05a037b2915bf 100644 --- a/thunderbird-l10n/bg/localization/bg/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/bg/localization/bg/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Съчетаване с операционната система - +system-integration-dialog-title = Съчетаване с операционната система system-integration-dialog = .buttonlabelaccept = По подразбиране .buttonlabelcancel = Прескачане на интеграцията .buttonlabelcancel2 = Отмяна - default-client-intro = Използване на { -brand-short-name } като клиент по подразбиране за: - unset-default-tooltip = Не е възможно да отмените { -brand-short-name } като клиент по подразбиране за { -brand-short-name } За да изберете друго приложение, трябва да използвате диалога "По подразбиране". - checkbox-email-label = .label = Електронна поща .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Емисии .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Календар .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Windows Search *[other] { "" } } - system-search-integration-label = .label = Разрешаване на { system-search-engine-name } да търси съобщения .accesskey = т - check-on-startup-label = .label = Винаги се прави тази проверка при стартиране на { -brand-short-name } .accesskey = В diff --git a/thunderbird-l10n/bg/localization/bg/messenger/unifiedToolbarItems.ftl b/thunderbird-l10n/bg/localization/bg/messenger/unifiedToolbarItems.ftl index 1b4ab11f17c6cf625041d5c503209eecaeb8eedd..fc22c468cd2a5b1ecfdad547cd881dfd79327ec2 100644 --- a/thunderbird-l10n/bg/localization/bg/messenger/unifiedToolbarItems.ftl +++ b/thunderbird-l10n/bg/localization/bg/messenger/unifiedToolbarItems.ftl @@ -64,7 +64,7 @@ toolbar-delete-title = toolbar-undelete-label = Възстановяване toolbar-undelete = .title = Възстановяване на избраните съобщения -toolbar-compact-label = Уплътняване +toolbar-compact-label = Компактна toolbar-compact = .title = Премахване на изтритите писма от избраната папка toolbar-add-as-event-label = Добавяне на събитие diff --git a/thunderbird-l10n/bg/manifest.json b/thunderbird-l10n/bg/manifest.json index 49c72da3f39fc670e9a5c389326f199ac60cf466..d41c3c5bf59c624716e0d5edb6f473ad1977d8db 100644 --- a/thunderbird-l10n/bg/manifest.json +++ b/thunderbird-l10n/bg/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Български (Bulgarian)", "description": "Thunderbird Language Pack for Български (bg) – Bulgarian", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "bg": { - "version": "20231208145544", + "version": "20231215210841", "chrome_resources": { "alerts": "chrome/bg/locale/bg/alerts/", "autoconfig": "chrome/bg/locale/bg/autoconfig/", diff --git a/thunderbird-l10n/br/chrome/br/locale/br/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/br/chrome/br/locale/br/messenger/messengercompose/composeMsgs.properties index d33df725050295930004d082597b49252605b8bc..23c20e67909cdbd6044e2716cbc0259d4165431e 100644 --- a/thunderbird-l10n/br/chrome/br/locale/br/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/br/chrome/br/locale/br/messenger/messengercompose/composeMsgs.properties @@ -451,6 +451,8 @@ blockedContentPrefAccesskeyUnix=G ## LOCALIZATION NOTE headersSpaceStyle is for aligning label of a newly create recipient row. ## It should be larger than the largest Header label and identical to &headersSpace2.style; +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. ## LOCALIZATION NOTE (smtpClientid): argument %s is the Outgoing server (SMTP) response smtpClientid=The outgoing server (SMTP) detected an error in the CLIENTID command. The message was not sent. The server responded: %s ## LOCALIZATION NOTE (smtpClientidPermission): argument %s is the Outgoing server (SMTP) response diff --git a/thunderbird-l10n/br/localization/br/messenger/preferences/system-integration.ftl b/thunderbird-l10n/br/localization/br/messenger/preferences/system-integration.ftl index 3d576ae30b0b0a3594e1983a312da87d270ef75a..84ecc5fc85e5159418ec8aedcfbbd0d3666f4a9a 100644 --- a/thunderbird-l10n/br/localization/br/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/br/localization/br/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Enframmadur reizhiad - +system-integration-dialog-title = Enframmadur reizhiad system-integration-dialog = .buttonlabelaccept = Lakaat dre ziouer .buttonlabelcancel = Leuskel an enframmadur a-gostez .buttonlabelcancel2 = Nullañ - default-client-intro = Arverañ { -brand-short-name } da arval dre ziouer evit: - unset-default-tooltip = N'haller ket lemel { -brand-short-name } eus an arventenn arval dre ziouer war { -brand-short-name }. Ret eo deoc'h arverañ ar voest emziviz 'Lakaat dre ziouer' eus an arload a fell deoc'h lakaat dre ziouer. - checkbox-email-label = .label = Postel .tooltiptext = { unset-default-tooltip } @@ -23,7 +20,6 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Lanv .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -32,11 +28,9 @@ system-search-engine-name = [windows] Enklask Windows *[other] { "" } } - system-search-integration-label = .label = Aotren { system-search-engine-name } da glask er c'hemennadennoù .accesskey = n - check-on-startup-label = .label = Gwiriañ atav pa loc'h { -brand-short-name } .accesskey = a diff --git a/thunderbird-l10n/br/manifest.json b/thunderbird-l10n/br/manifest.json index 401000f2f8bde292609927e718c672fd0c9b9158..ef04e4e23f926e18e27f35d264a18d470e9224e2 100644 --- a/thunderbird-l10n/br/manifest.json +++ b/thunderbird-l10n/br/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Brezhoneg (Breton)", "description": "Thunderbird Language Pack for Brezhoneg (br) – Breton", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "br": { - "version": "20231208145430", + "version": "20231215210137", "chrome_resources": { "alerts": "chrome/br/locale/br/alerts/", "autoconfig": "chrome/br/locale/br/autoconfig/", diff --git a/thunderbird-l10n/ca/localization/ca/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/ca/localization/ca/messenger/compactFoldersDialog.ftl index ed2e9f836cd2074f14238a5d824b6133fd071f9d..229aff9f1624b80d0db9383f3e07e1add61db2ae 100644 --- a/thunderbird-l10n/ca/localization/ca/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/ca/localization/ca/messenger/compactFoldersDialog.ftl @@ -4,6 +4,7 @@ compact-dialog-window-title = .title = Compacta les carpetes +compact-folders-dialog-title = Compacta les carpetes compact-dialog = .buttonlabelaccept = Compacta-les ara .buttonaccesskeyaccept = C diff --git a/thunderbird-l10n/ca/localization/ca/messenger/openpgp/keyWizard.ftl b/thunderbird-l10n/ca/localization/ca/messenger/openpgp/keyWizard.ftl index 6fbe8159b2db12df85a3ecca3b73921192c6e43f..637fcbaba88074f521890d71eac5ea12a50b208e 100644 --- a/thunderbird-l10n/ca/localization/ca/messenger/openpgp/keyWizard.ftl +++ b/thunderbird-l10n/ca/localization/ca/messenger/openpgp/keyWizard.ftl @@ -1,3 +1,39 @@ # 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/. + +# $identity (String) - the email address of the currently selected identity +key-wizard-dialog-window = + .title = Afegiu una clau personal OpenPGP per a { $identity } +key-wizard-dialog = + .buttonlabelaccept = Continua + .buttonlabelextra1 = Torna enrere +key-wizard-warning = <b>Si ja teniu una clau personal</b> per a aquesta adreça electrònica, hauríeu d'importar-la. Altrament, no podreu accedir als arxius dels correus xifrats, ni podreu llegir els correus entrants xifrats de persones que usin la vostra clau. +key-wizard-learn-more = Més informació +radio-create-key = + .label = Crea una clau OpenPGP nova + .accesskey = C +radio-import-key = + .label = Importa una clau OpenPGP existent + .accesskey = I +radio-gnupg-key = + .label = Utilitza la clau externa mitjançant GnuPG (per exemple, des d'una targeta intel·ligent) + .accesskey = U + +## Generate key section + +openpgp-generate-key-title = Genereu una clau OpenPGP +openpgp-keygen-secret-protection = Protecció de la clau secreta +radio-keygen-no-protection = + .label = Sense protecció +radio-keygen-protect-primary-pass = + .label = Protegeix amb la contrasenya principal +radio-keygen-passphrase-protection = + .label = Protegeix amb una frase de contrasenya: +openpgp-passphrase-repeat = Confirma la frase de contrasenya: + +## Import Key section + + +## External Key section + diff --git a/thunderbird-l10n/ca/localization/ca/messenger/preferences/preferences.ftl b/thunderbird-l10n/ca/localization/ca/messenger/preferences/preferences.ftl index c46da38f51d74dce7a74d6f4ba873779d2ca6534..4e32741a9725b4143cc27e0304ab47b0aba0d0eb 100644 --- a/thunderbird-l10n/ca/localization/ca/messenger/preferences/preferences.ftl +++ b/thunderbird-l10n/ca/localization/ca/messenger/preferences/preferences.ftl @@ -400,7 +400,7 @@ close-move-delete = display-name-label = .value = Nom a mostrar: condensed-addresses-label = - .label = Ensenya només el nom a mostrar de la gent que estigui a la meva llibreta d'adreces + .label = Mostra només el nom a mostrar de la gent que estigui a la meva llibreta d'adreces .accesskey = n ## Compose Tab diff --git a/thunderbird-l10n/ca/localization/ca/messenger/preferences/system-integration.ftl b/thunderbird-l10n/ca/localization/ca/messenger/preferences/system-integration.ftl index e94207c483404b56df8068904844846003b930db..02b875c11bc35db544f62989a45cc6b7c67637dd 100644 --- a/thunderbird-l10n/ca/localization/ca/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/ca/localization/ca/messenger/preferences/system-integration.ftl @@ -4,6 +4,7 @@ system-integration-title = .title = Integració amb el sistema +system-integration-dialog-title = Integració amb el sistema system-integration-dialog = .buttonlabelaccept = Defineix per defecte .buttonlabelcancel = Omet la integració diff --git a/thunderbird-l10n/ca/manifest.json b/thunderbird-l10n/ca/manifest.json index 26696c2faaead6d03de80cd3baa7bebca431fd12..361a15279225cddc5b7df97e32d17d54b189e92b 100644 --- a/thunderbird-l10n/ca/manifest.json +++ b/thunderbird-l10n/ca/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Català (Catalan)", "description": "Thunderbird Language Pack for Català (ca) – Catalan", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "ca": { - "version": "20231208145518", + "version": "20231215210222", "chrome_resources": { "alerts": "chrome/ca/locale/ca/alerts/", "autoconfig": "chrome/ca/locale/ca/autoconfig/", diff --git a/thunderbird-l10n/cak/chrome/cak/locale/cak/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/cak/chrome/cak/locale/cak/messenger/messengercompose/composeMsgs.properties index 7880d43b29252182a05a3439cf4962d46574688f..26864d57bbb72aff688e813cd267349216ac6ef6 100644 --- a/thunderbird-l10n/cak/chrome/cak/locale/cak/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/cak/chrome/cak/locale/cak/messenger/messengercompose/composeMsgs.properties @@ -455,6 +455,8 @@ headersSpaceStyle=width: 8em ## LOCALIZATION NOTE (smtpSendNotAllowed): argument %s is the Outgoing server (SMTP) response smtpSendNotAllowed=An error occurred while sending mail. The mail server responded:\n%s.\nPlease ensure that you are using the correct identity to send and that the used authentication method is correct. Verify that you are allowed to send via this SMTP server with your current credentials from your current network. +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. ## LOCALIZATION NOTE (smtpClientid): argument %s is the Outgoing server (SMTP) response smtpClientid=The outgoing server (SMTP) detected an error in the CLIENTID command. The message was not sent. The server responded: %s ## LOCALIZATION NOTE (smtpClientidPermission): argument %s is the Outgoing server (SMTP) response diff --git a/thunderbird-l10n/cak/localization/cak/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/cak/localization/cak/messenger/openpgp/openpgp.ftl index c992c581317f774c5d38d488196277f4ccaf6d78..f34eb26aa523664c8970bc3c3d08c9e92198e04e 100644 --- a/thunderbird-l10n/cak/localization/cak/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/cak/localization/cak/messenger/openpgp/openpgp.ftl @@ -1,25 +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/. -openpgp-key-gen-days-label = - .label = taq q'ij -openpgp-key-gen-months-label = - .label = taq ik' -openpgp-key-gen-years-label = - .label = taq juna' -openpgp-key-gen-key-size-label = Runimilem ruk'u'x tzij -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (curva elíptica) -openpgp-advanced-prefs-button-label = - .label = Taq Q'axinäq… - openpgp-key-id-label = .label = ID ewan tzij - openpgp-key-man-file-menu = .label = Yakb'äl .accesskey = Y @@ -32,9 +16,7 @@ openpgp-key-man-view-menu = openpgp-key-man-generate-menu = .label = Titz'uk .accesskey = T - openpgp-key-man-discover-progress = Nikanöx… - openpgp-key-man-close = .label = Titz'apïx openpgp-key-man-key-props = @@ -47,11 +29,9 @@ openpgp-key-man-user-id-label = .label = B'i'aj openpgp-key-man-fingerprint-label = .label = Retal ruwi' q'ab'aj - openpgp-key-details-id-label = .label = ID openpgp-key-details-key-type-label = Ruwäch - openpgp-key-details-algorithm-label = .label = Alworit openpgp-key-details-size-label = @@ -64,7 +44,6 @@ openpgp-key-details-usage-label = openpgp-key-details-fingerprint-label = Retal ruwi' q'ab'aj openpgp-card-details-close-window-label = .buttonlabelaccept = Titz'apïx - openpgp-copy-cmd-label = .label = Tiwachib'ëx @@ -74,7 +53,98 @@ openpgp-copy-cmd-label = ## OpenPGP Key selection area +## Strings in keyDetailsDlg.xhtml + + +## Strings enigmailMsgComposeOverlay.js + + +## Strings in keyserver.jsm + + +## Strings in mimeWkdHandler.jsm + + +## Strings in persistentCrypto.jsm + + +## Strings filters.jsm + + +## Strings filtersWrapper.jsm + + +## Strings in enigmailKeyImportInfo.js + + +## Strings in enigmailKeyManager.js + + ## Account settings export output -# Strings used in enigmailMessengerOverlay.js + +## Strings in keyObj.jsm +## Variables: +## $userId (String) - The name and/or email address that is mentioned in the key's information. +## $keyId (String) - Key id for the key entry. + + +## Strings in gnupg-keylist.jsm + + +## Strings in key.jsm + + +## Strings in keyRing.jsm & decryption.jsm + + +## Strings used in errorHandling.jsm + + +## Strings used in enigmailKeyManager.js & windows.jsm + + +## Strings used in keyRing.jsm & keyLookupHelper.jsm + + +## Strings used in keyRing.jsm & GnuPGCryptoAPI.jsm + + +## Strings used in keyRing.jsm + + +## Strings used in trust.jsm + + +## Strings used in commonWorkflows.js + + +## Strings used in enigmailKeygen.js + + +## Strings used in enigmailMessengerOverlay.js + + +## Strings used in enigmailMsgComposeOverlay.js + + +## Strings used in decryption.jsm + + +## Strings used in enigmailMsgHdrViewOverlay.js + + +## Strings used in encryption.jsm + + +## Strings used in windows.jsm + + +## Strings used in dialog.jsm + + +## Strings used in persistentCrypto.jsm + + +## Strings used in enigmailMsgBox.js diff --git a/thunderbird-l10n/cak/localization/cak/messenger/preferences/system-integration.ftl b/thunderbird-l10n/cak/localization/cak/messenger/preferences/system-integration.ftl index 69af5ccabee5d981ea95fed0d1a8f20fb5048ab4..7fa5d67cb820b52c6249c4bd9f5b0db2c098646b 100644 --- a/thunderbird-l10n/cak/localization/cak/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/cak/localization/cak/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Q'inoj Tunuj - +system-integration-dialog-title = Q'inoj Tunuj system-integration-dialog = .buttonlabelaccept = Tichap achi'el ri K'o wi .buttonlabelcancel = Tik'o pa Ruwi' Tunuj .buttonlabelcancel2 = Tiq'at - default-client-intro = Tokisäx { -brand-short-name } achi'el ri winaqil k'o wi richin: - unset-default-tooltip = Man tikirel ta nib'an chi ri { -brand-short-name } nuya' kan rub'anikil achi'el winaqil k'o wi pa { -brand-short-name }. Richin chi jun chik chokoy nok ri kan k'o wi, tawokisaj 'Tijikib'äx achi'el ri k'o' tzijonem. - checkbox-email-label = .label = Taqoya'l .tooltiptext = { unset-default-tooltip } @@ -23,7 +20,6 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Taq b'ey .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -32,11 +28,9 @@ system-search-engine-name = [windows] Kikanoxik Windows *[other] { "" } } - system-search-integration-label = .label = Tiya' q'ij chi re { system-search-engine-name } chi yerukanoj taq tzijol .accesskey = S - check-on-startup-label = .label = Junelïk tinik'öx toq nitikirisäx el ri { -brand-short-name } .accesskey = J diff --git a/thunderbird-l10n/cak/manifest.json b/thunderbird-l10n/cak/manifest.json index 00aa9ce7ca084993abea44ec7e6ee13693f3528a..f5511da5885ae7e27bd2e43823a467f7e3540b13 100644 --- a/thunderbird-l10n/cak/manifest.json +++ b/thunderbird-l10n/cak/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Kaqchikel", "description": "Thunderbird Language Pack for Kaqchikel (cak)", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "cak": { - "version": "20231208145604", + "version": "20231215210306", "chrome_resources": { "alerts": "chrome/cak/locale/cak/alerts/", "autoconfig": "chrome/cak/locale/cak/autoconfig/", diff --git a/thunderbird-l10n/cs/localization/cs/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/cs/localization/cs/messenger/compactFoldersDialog.ftl index fc3e3c0a73c5224e23a38c8a350d86008f351a84..127530d791187d73053dec4b876654a5b4673f2d 100644 --- a/thunderbird-l10n/cs/localization/cs/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/cs/localization/cs/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Údržba složek - .style = width: 50em; compact-dialog-window-title = .title = Údržba složek +compact-folders-dialog-title = Údržba složek compact-dialog = .buttonlabelaccept = Provést údržbu .buttonaccesskeyaccept = P diff --git a/thunderbird-l10n/cs/localization/cs/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/cs/localization/cs/messenger/openpgp/openpgp.ftl index f3e09ce06d97249193fdd449b382c2a9488597e8..459743c46804ddf75477553bfef1e62bd29011c2 100644 --- a/thunderbird-l10n/cs/localization/cs/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/cs/localization/cs/messenger/openpgp/openpgp.ftl @@ -29,36 +29,6 @@ e2e-encrypt-drafts = e2e-autocrypt-headers = .label = Odesílat veřejný klíč(e) OpenPGP v hlavičkách e-mailu pro kompatibilitu se standardem Autocrypt .accesskey = O -openpgp-key-user-id-label = Účet / ID uživatele -openpgp-keygen-title-label = - .title = Vytvořit klíč OpenPGP -openpgp-cancel-key = - .label = Zrušit - .tooltiptext = Zrušit vytváření klíče -openpgp-key-gen-expiry-title = - .label = Doba platnosti klíče -openpgp-key-gen-expire-label = Platnost klíče skončí za -openpgp-key-gen-days-label = - .label = dnů -openpgp-key-gen-months-label = - .label = měsíců -openpgp-key-gen-years-label = - .label = roků -openpgp-key-gen-no-expiry-label = - .label = Platnost klíče není omezená -openpgp-key-gen-key-size-label = Velikost klíče -openpgp-key-gen-console-label = Vytváření klíče -openpgp-key-gen-key-type-label = Typ klíče -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (eliptická křivka) -openpgp-generate-key = - .label = Vytvořit klíč - .tooltiptext = Vytvoří nový klíč OpenPGP pro šifrování a/nebo podepisování -openpgp-advanced-prefs-button-label = - .label = Rozšířené… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">POZNÁMKA: Vytváření klíče může trvat až několik minut.</a> Po tu dobu prosím aplikaci neukončujte. Proces se urychlí, když budete aktivně pracovat s prohlížečem nebo provádět operace s častým přístupem k pevnému disku. Až bude vytváření klíče dokončeno, budete upozorněni. openpgp-key-created-label = .label = Vytvořeno openpgp-key-expiry-label = @@ -68,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Toto je klíč se složitou strukturou, změna data konce jeho platnosti není podporována. openpgp-key-man-title = .title = Správce klíčů OpenPGP +openpgp-key-man-dialog-title = Správce klíčů OpenPGP openpgp-key-man-generate = .label = Nový pár klíčů .accesskey = N @@ -431,10 +402,7 @@ key-verification = Ověřte otisk klíče pomocí jiného bezpečného komunika # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = Zprávu nelze odeslat, protože se u vašeho osobního klíče vyskytl problém. { $problem } -cannot-encrypt-because-missing = Tuto zprávu nelze odeslat za použití koncového šifrování, protože u klíčů následujících příjemců se vyskytly problémy: { $problem } window-locked = Okno psaní zprávy je uzamčeno; odesílání bylo zrušeno -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = Toto je zašifrovaná část zprávy. Otevřít ji musíte v samostatném okně klepnutím na přílohu. ## Strings in keyserver.jsm @@ -655,7 +623,6 @@ import-key-file = Importovat soubor s klíčem OpenPGP import-rev-file = Importovat soubor se zneplatněním OpenPGP gnupg-file = Soubory GnuPG import-keys-failed = Importování klíčů selhalo -passphrase-prompt = Zadejte prosím heslo, které odemkne následující klíč: { $key } # Variables: # $key (String) - Key id to unlock. # $date (String) - The date on which the key was created diff --git a/thunderbird-l10n/cs/localization/cs/messenger/preferences/system-integration.ftl b/thunderbird-l10n/cs/localization/cs/messenger/preferences/system-integration.ftl index c4642059b24c3f03b05b45bc0a2227bc925cda44..17cd9f1e4a47f79bd4530aa59a002baae3394551 100644 --- a/thunderbird-l10n/cs/localization/cs/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/cs/localization/cs/messenger/preferences/system-integration.ftl @@ -4,6 +4,7 @@ system-integration-title = .title = Nastavení systému +system-integration-dialog-title = Nastavení systému system-integration-dialog = .buttonlabelaccept = Nastavit jako výchozí .buttonlabelcancel = Přeskočit integraci diff --git a/thunderbird-l10n/cs/manifest.json b/thunderbird-l10n/cs/manifest.json index ffaaedef4c90bf4c02d250fa5dea063060aeb322..8d1ce6acdf77b9c94b66d54da04e218e0eb76bdb 100644 --- a/thunderbird-l10n/cs/manifest.json +++ b/thunderbird-l10n/cs/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Čeština (Czech)", "description": "Thunderbird Language Pack for Čeština (cs) – Czech", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "cs": { - "version": "20231208145653", + "version": "20231215210351", "chrome_resources": { "alerts": "chrome/cs/locale/cs/alerts/", "autoconfig": "chrome/cs/locale/cs/autoconfig/", diff --git a/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar.dtd b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar.dtd index 3afa40fd24dce2c453bb37db0cc84485c8323185..d0c9e1c123361ec4df17766557510b01f5feacd7 100644 --- a/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar.dtd +++ b/thunderbird-l10n/cy/chrome/cy/locale/cy/calendar/calendar.dtd @@ -58,39 +58,9 @@ <!ENTITY calendar.today.button.tooltip "Mynd i Heddiw" > <!ENTITY calendar.todaypane.button.tooltip "Dangos Paen Heddiw" > -<!ENTITY calendar.day.button.tooltip "Newid i golwg diwrnod" > -<!ENTITY calendar.week.button.tooltip "Newid i golwg wythnos" > -<!ENTITY calendar.month.button.tooltip "Newid i golwg mis" > -<!ENTITY calendar.multiweek.button.tooltip "Newid i golwg wythnosol" > - -<!ENTITY calendar.nextday.label "Diwrnod Nesaf" > -<!ENTITY calendar.prevday.label "Diwrnod Blaenorol" > -<!ENTITY calendar.nextday.accesskey "N" > -<!ENTITY calendar.prevday.accesskey "B" > -<!ENTITY calendar.nextweek.label "Wythnos Nesaf" > -<!ENTITY calendar.prevweek.label "Wythnos Flaenorol" > -<!ENTITY calendar.nextweek.accesskey "W" > -<!ENTITY calendar.prevweek.accesskey "F" > -<!ENTITY calendar.nextmonth.label "Mis Nesaf" > -<!ENTITY calendar.prevmonth.label "Mis Blaenorol" > -<!ENTITY calendar.nextmonth.accesskey "M" > -<!ENTITY calendar.prevmonth.accesskey "l" > - -<!ENTITY calendar.navigation.nextday.tooltip "Ymlaen Un Diwrnod" > -<!ENTITY calendar.navigation.prevday.tooltip "Yn Diwrnod Nôl" > -<!ENTITY calendar.navigation.nextweek.tooltip "Un Wythnos Ymlaen" > -<!ENTITY calendar.navigation.prevweek.tooltip "Un Wythnos Nôl" > -<!ENTITY calendar.navigation.nextmonth.tooltip "Un Mis Ymlaen" > -<!ENTITY calendar.navigation.prevmonth.tooltip "Un Mis Nôl" > - <!ENTITY calendar.newevent.button.label "Digwyddiad Newydd" > <!ENTITY calendar.newtask.button.label "Tasg Newydd" > -<!ENTITY calendar.day.button.label "Diwrnod" > -<!ENTITY calendar.week.button.label "Wythnos" > -<!ENTITY calendar.month.button.label "Mis" > -<!ENTITY calendar.multiweek.button.label "Wythnosau" > - <!ENTITY calendar.onlyworkday.checkbox.label "Dyddiau'r wythnos waith yn unig" > <!ENTITY calendar.onlyworkday.checkbox.accesskey "w" > <!ENTITY calendar.displaytodos.checkbox.label "Tasgau mewn Golwg" > @@ -275,8 +245,6 @@ <!ENTITY calendar.context.removeserver.accesskey "T"> <!ENTITY calendar.context.unsubscribeserver.label "Dad-danysgrifio i Galendr…"> <!ENTITY calendar.context.unsubscribeserver.accesskey "D"> -<!ENTITY calendar.context.synccalendars.label "Cydweddu Calendrau"> -<!ENTITY calendar.context.synccalendars.accesskey "C"> <!ENTITY calendar.context.publish.label "Cyhoeddi Calendr…"> <!ENTITY calendar.context.publish.accesskey "C"> <!ENTITY calendar.context.export.label "Allforio Calendr…"> @@ -298,13 +266,13 @@ <!ENTITY calendar.context.showall.label "Dangos Pob Calendr"> <!ENTITY calendar.context.showall.accesskey "P"> -<!ENTITY calendar.context.convertmenu.label "Trosi I"> +<!ENTITY calendar.context.convertmenu.label "Trosi i"> <!ENTITY calendar.context.convertmenu.accesskey.mail "n"> <!ENTITY calendar.context.convertmenu.accesskey.calendar "T"> <!ENTITY calendar.context.convertmenu.event.label "Digwyddiad…"> <!ENTITY calendar.context.convertmenu.event.accesskey "D"> <!ENTITY calendar.context.convertmenu.message.label "Neges…"> -<!ENTITY calendar.context.convertmenu.message.accesskey "N"> +<!ENTITY calendar.context.convertmenu.message.accesskey "T"> <!ENTITY calendar.context.convertmenu.task.label "Tasg…"> <!ENTITY calendar.context.convertmenu.task.accesskey "T"> diff --git a/thunderbird-l10n/cy/chrome/cy/locale/cy/messenger/messenger.dtd b/thunderbird-l10n/cy/chrome/cy/locale/cy/messenger/messenger.dtd index 9f6037bae29350b983f180472dbf720c8862af63..126fcb0f604d08d129dc274d5d65bc9c5839db07 100644 --- a/thunderbird-l10n/cy/chrome/cy/locale/cy/messenger/messenger.dtd +++ b/thunderbird-l10n/cy/chrome/cy/locale/cy/messenger/messenger.dtd @@ -87,18 +87,6 @@ <!ENTITY printCmd.key "p"> <!-- Edit Menu --> -<!ENTITY deleteMsgCmd.label "Dileu Neges"> -<!ENTITY deleteMsgCmd.accesskey "N"> -<!ENTITY undeleteMsgCmd.label "Dad-ddileu Neges"> -<!ENTITY undeleteMsgCmd.accesskey "a"> -<!ENTITY deleteMsgsCmd.label "Dileu'r Negeseuon Hyn"> -<!ENTITY deleteMsgsCmd.accesskey "i"> -<!ENTITY undeleteMsgsCmd.label "Dad-ddileu'r Negeseuon Hyn"> -<!ENTITY undeleteMsgsCmd.accesskey "a"> -<!ENTITY deleteFolderCmd.label "Dileu Ffolder"> -<!ENTITY deleteFolderCmd.accesskey "F"> -<!ENTITY unsubscribeNewsgroupCmd.label "Dad-danysgrifio"> -<!ENTITY unsubscribeNewsgroupCmd.accesskey "y"> <!ENTITY selectMenu.label "Dewis"> <!ENTITY selectMenu.accesskey "w"> <!ENTITY all.label "Y Cyfan"> @@ -110,10 +98,6 @@ <!ENTITY selectFlaggedCmd.accesskey "S"> <!ENTITY menuFavoriteFolder.label "Hoff Ffolder"> <!ENTITY menuFavoriteFolder.accesskey "H"> -<!ENTITY folderPropsCmd2.label "Priodweddau"> -<!ENTITY folderPropsFolderCmd2.label "Priodweddau Ffolderi"> -<!ENTITY folderPropsNewsgroupCmd2.label "Priodweddau Grŵp Newyddion"> -<!ENTITY folderPropsCmd.accesskey "o"> <!ENTITY undoDeleteMsgCmd.label "Dadwneud Dileu Negeseuon"> <!ENTITY redoDeleteMsgCmd.label "Ail-wneud Dileu Neges"> <!ENTITY undoMoveMsgCmd.label "Dadwneud Symud Neges"> @@ -145,8 +129,6 @@ <!ENTITY messagePaneVertical.accesskey "F"> <!ENTITY showFolderPaneCmd.label "Paen Ffolder"> <!ENTITY showFolderPaneCmd.accesskey "F"> -<!ENTITY showFolderPaneColsCmd.label "Colofnau Paenau Ffolderi"> -<!ENTITY showFolderPaneColsCmd.accesskey "P"> <!ENTITY showMessageCmd.label "Paen Neges"> <!ENTITY showMessageCmd.accesskey "N"> @@ -370,7 +352,7 @@ <!ENTITY newMsgFromTemplateCmd.keycode "VK_RETURN"><!-- do not change "VK_RETURN" --> <!ENTITY createFilter.label "Creu Hidl o'r Neges…"> <!ENTITY createFilter.accesskey "H"> -<!ENTITY moveMsgToMenu.label "Symud I"> +<!ENTITY moveMsgToMenu.label "Symud i"> <!ENTITY moveMsgToMenu.accesskey "S"> <!ENTITY moveCopyMsgRecentMenu.label "Diweddar"> <!ENTITY moveCopyMsgRecentMenu.accesskey "D"> @@ -596,10 +578,7 @@ <!-- AppMenu Popup --> <!ENTITY appmenuNewMsgCmd.label "Neges Newydd"> <!ENTITY appmenuNewContactCmd.label "Cysylltiad Llyfr Cyfeiriadau…"> -<!ENTITY appmenuEditMenu.label "Golygu"> <!ENTITY appmenuToolbarLayout.label "Cynllun Bar Offer…"> -<!ENTITY appmenuSelectThread.label "Dewis Edefyn"> -<!ENTITY appmenuSelectFlagged.label "Estyn Negeseuon Serennog"> <!-- Tags Menu Popup --> <!ENTITY addNewTag.label "Tag Newydd…"> @@ -904,10 +883,6 @@ <!ENTITY copyImageAllCmd.accesskey "p"> <!ENTITY copyEmailCmd.label "Copïo Cyfeiriad E-bost"> <!ENTITY copyEmailCmd.accesskey "E"> -<!ENTITY stopCmd.label "Atal"> -<!ENTITY stopCmd.accesskey "A"> -<!ENTITY reloadCmd.label "Ail-lwytho"> -<!ENTITY reloadCmd.accesskey "A"> <!ENTITY openInBrowser.label "Agor yn y Porwr"> <!ENTITY openInBrowser.accesskey "A"> <!ENTITY openLinkInBrowser.label "Agor Dolen yn y Porwr"> diff --git a/thunderbird-l10n/cy/localization/cy/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/cy/localization/cy/messenger/accountcreation/accountHub.ftl index 30cc669e753bb17d7a2ca1ee137c0d07ab9ef325..e13d8027a7f2ded20741a026dacbf1c75f5741d4 100644 --- a/thunderbird-l10n/cy/localization/cy/messenger/accountcreation/accountHub.ftl +++ b/thunderbird-l10n/cy/localization/cy/messenger/accountcreation/accountHub.ftl @@ -80,3 +80,4 @@ account-hub-username-label = Enw Defnyddiwr account-hub-adding-account-title = Ychwanegu Cyfrif account-hub-adding-account-subheader = Ail-brofi gosodiadau ffurfweddiad cyfrif account-hub-account-added-title = Ychwanegwyd Cyfrif +account-hub-find-settings-failed = Methodd { -brand-full-name } â dod o hyd i'r gosodiadau ar gyfer eich cyfrif e-bost. diff --git a/thunderbird-l10n/cy/localization/cy/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/cy/localization/cy/messenger/compactFoldersDialog.ftl index b491254e84f0ec0239718e1c95c3656d0e69987f..69366b7d6257022a4e4024b1882f7816cb81cc93 100644 --- a/thunderbird-l10n/cy/localization/cy/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/cy/localization/cy/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Cywasgu ffolderi - .style = width: 50em; compact-dialog-window-title = .title = Cywasgu ffolderi +compact-folders-dialog-title = Cywasgu ffolderi compact-dialog = .buttonlabelaccept = Cywasgu nawr .buttonaccesskeyaccept = C diff --git a/thunderbird-l10n/cy/localization/cy/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/cy/localization/cy/messenger/openpgp/openpgp.ftl index 0bd7332b22b160506230f6cd72553a1b413334e9..499eb9cbe6e5df1dc96b71e7a22a01b30a470a3e 100644 --- a/thunderbird-l10n/cy/localization/cy/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/cy/localization/cy/messenger/openpgp/openpgp.ftl @@ -29,36 +29,6 @@ e2e-encrypt-drafts = e2e-autocrypt-headers = .label = Anfonwch allwedd(i) cyhoeddus OpenPGP ym mhenawdau'r e-bost i sicrhau eu bod yn gydnaws ag Autocrypt .accesskey = A -openpgp-key-user-id-label = Cyfrif / ID Defnyddiwr -openpgp-keygen-title-label = - .title = Cynhyrchu Allwedd OpenPGP -openpgp-cancel-key = - .label = Diddymu - .tooltiptext = Diddymu Cynhyrchu Allwedd -openpgp-key-gen-expiry-title = - .label = Allwedd yn dod i ben -openpgp-key-gen-expire-label = Allwedd yn dod i ben ymhen -openpgp-key-gen-days-label = - .label = diwrnod -openpgp-key-gen-months-label = - .label = mis -openpgp-key-gen-years-label = - .label = b/mlynedd -openpgp-key-gen-no-expiry-label = - .label = Nid yw'r allwedd yn dod i ben -openpgp-key-gen-key-size-label = Maint yr allwedd -openpgp-key-gen-console-label = Cynhyrchu Allwedd -openpgp-key-gen-key-type-label = Math o allwedd -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (Cromlin Eliptig) -openpgp-generate-key = - .label = Cynhyrchu allwedd - .tooltiptext = Yn cynhyrchu allwedd OpenPGP cydymffurfiol ar gyfer amgryptiad a/neu lofnodi -openpgp-advanced-prefs-button-label = - .label = Uwch… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">SYLWCH: Gall cynhyrchu allweddol gymryd rhai munudau i'w gwblhau.</a> Peidiwch â gadael y rhaglen tra bo'r allwedd yn cael ei gynhyrchu. Bydd pori neu berfformio gweithrediadau disg-ddwys yn ystod cynhyrchu'r allwedd yn ailgyflenwi'r 'gronfa ar hap' ac yn cyflymu'r broses. Cewch eich rhybuddio pan fydd cynhyrchu'r allweddol wedi'i gwblhau. openpgp-key-created-label = .label = Crëwyd openpgp-key-expiry-label = @@ -68,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Mae hwn yn allwedd gyda strwythur cymhleth, nid yw newid ei ddyddiad dod i ben yn cael ei gefnogi. openpgp-key-man-title = .title = Rheolwr Allweddi OpenPGP +openpgp-key-man-dialog-title = Rheolwr Allweddi OpenPGP openpgp-key-man-generate = .label = Pâr Allweddi Newydd .accesskey = P @@ -443,10 +414,7 @@ key-verification = Dilyswch bysbrint yr allwedd gan ddefnyddio sianel gyfathrebu # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = Methu anfon y neges, oherwydd mae problem gyda'ch allwedd bersonol. { $problem } -cannot-encrypt-because-missing = Methu anfon y neges hon gydag amgryptio pen-i-ben, oherwydd mae problemau gydag allweddi'r derbynwyr canlynol: { $problem } window-locked = Mae'r ffenestr gyfansoddi wedi'i chloi; anfon wedi'i ddiddymu -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = Mae hon yn rhan o neges wedi'i hamgryptio. Mae angen i chi ei hagor mewn ffenestr ar wahân trwy glicio ar yr atodiad. ## Strings in keyserver.jsm @@ -669,7 +637,6 @@ import-key-file = Mewnforio Ffeil Allwedd OpenPGP import-rev-file = Mewnforio Ffeil Dirymu OpenPGP gnupg-file = Ffeiliau GnuPG import-keys-failed = Methodd mewnforio'r allweddi -passphrase-prompt = Rhowch yr cyfrinymadrodd sy'n datgloi'r allwedd ganlynol: { $key } # Variables: # $key (String) - Key id to unlock. # $date (String) - The date on which the key was created diff --git a/thunderbird-l10n/cy/localization/cy/messenger/preferences/system-integration.ftl b/thunderbird-l10n/cy/localization/cy/messenger/preferences/system-integration.ftl index e13f6e72154fe454b649495a52e4b4ecbd51d74a..95a68ef18ab0558319eb0764dced742f41e1c5f2 100644 --- a/thunderbird-l10n/cy/localization/cy/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/cy/localization/cy/messenger/preferences/system-integration.ftl @@ -4,6 +4,7 @@ system-integration-title = .title = Integreiddio System +system-integration-dialog-title = Integreiddio System system-integration-dialog = .buttonlabelaccept = Gosod fel y Rhagosodiad .buttonlabelcancel = Hepgor Integreiddio diff --git a/thunderbird-l10n/cy/manifest.json b/thunderbird-l10n/cy/manifest.json index 5ea62ec112cdfc9d493e4fa46d433728d1dd8c49..ed0e6078db5c0d37ced78f0743cef1993a4796c7 100644 --- a/thunderbird-l10n/cy/manifest.json +++ b/thunderbird-l10n/cy/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Cymraeg (Welsh)", "description": "Thunderbird Language Pack for Cymraeg (cy) – Welsh", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "cy": { - "version": "20231208145741", + "version": "20231215210436", "chrome_resources": { "alerts": "chrome/cy/locale/cy/alerts/", "autoconfig": "chrome/cy/locale/cy/autoconfig/", diff --git a/thunderbird-l10n/da/localization/da/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/da/localization/da/messenger/compactFoldersDialog.ftl index 7c0eeab8fa31fdac4b4656a845000d5ce91c4101..130f25b663472947597d25ce82413e92de780d2b 100644 --- a/thunderbird-l10n/da/localization/da/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/da/localization/da/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Optimer mapper - .style = width: 50em; compact-dialog-window-title = .title = Optimer mapper +compact-folders-dialog-title = Optimer mapper compact-dialog = .buttonlabelaccept = Optimer nu .buttonaccesskeyaccept = O diff --git a/thunderbird-l10n/da/localization/da/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/da/localization/da/messenger/openpgp/openpgp.ftl index f573a7466cee6c9aff2e12b0527c8f1aa78b9c3e..2e5e3cb4a1573972be8b2dbc8a0880f6b9e4d985 100644 --- a/thunderbird-l10n/da/localization/da/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/da/localization/da/messenger/openpgp/openpgp.ftl @@ -25,36 +25,6 @@ e2e-encrypt-subject = e2e-encrypt-drafts = .label = Opbevar meddelelseskladder i krypteret format .accesskey = O -openpgp-key-user-id-label = Konto / bruger-id -openpgp-keygen-title-label = - .title = Generer OpenPGP-nøgle -openpgp-cancel-key = - .label = Fortryd - .tooltiptext = Fortryd nøglegenerering -openpgp-key-gen-expiry-title = - .label = Nøgleudløb -openpgp-key-gen-expire-label = Nøgle udløber om -openpgp-key-gen-days-label = - .label = dage -openpgp-key-gen-months-label = - .label = måneder -openpgp-key-gen-years-label = - .label = år -openpgp-key-gen-no-expiry-label = - .label = Nøglen udløber ikke -openpgp-key-gen-key-size-label = Nøglestørrelse -openpgp-key-gen-console-label = Nøglegenerering -openpgp-key-gen-key-type-label = Nøgletype -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (Elliptic Curve) -openpgp-generate-key = - .label = Generer nøgle - .tooltiptext = Genererer en ny OpenPGP-kompatibel nøgle til kryptering og/eller signering -openpgp-advanced-prefs-button-label = - .label = Avanceret… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">OBS: Nøglegenerering kan tage flere minutter.</a> Luk ikke programmet mens nøglegenereringen er i gang. Hvis du aktivt browser eller udfører diskintensive operationer, mens nøglegenereringen står på, fylder du ‘tilfældigheds-puljen’ op, hvilket får processen til at gå hurtigere. Du får besked, når nøglen er færdig. # Do not translate "Autocrypt", it's the name of a standard. e2e-autocrypt-headers = .label = Send offentlig(e) OpenPGP-nøgle(r) i samme mailheaders for at sikre kompatibilitet med Autocrypt @@ -68,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Dette er en nøgle med en kompleks struktur. Ændring af udløbsdato understøttes ikke. openpgp-key-man-title = .title = OpenPGP Nøgleadministration +openpgp-key-man-dialog-title = OpenPGP Nøgleadministration openpgp-key-man-generate = .label = Nye nøglepar .accesskey = p @@ -415,10 +386,7 @@ key-verification = Bekræft nøglens fingeraftryk gennem en sikker kommunikation # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = Kunne ikke sende meddelelsen, fordi der er et problem med din personlige nøgle. { $problem } -cannot-encrypt-because-missing = Kunne ikke sende denne meddelelse med end to end-kryptering, fordi der er problemer med nøglerne for følgende modtagere: { $problem } window-locked = Skrivevinduet er låst; afsendelse annulleret -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = Dette er en krypteret meddelelsesdel. Du skal åbne det i et separat vindue ved at klikke på den vedhæftede fil. ## Strings in keyserver.jsm @@ -641,7 +609,6 @@ import-key-file = Importer OpenPGP-nøglefil import-rev-file = Importer OpenPGP-tilbagekaldelsesfil gnupg-file = GnuPG-filer import-keys-failed = Import af nøgler mislykkedes -passphrase-prompt = Indtast adgangsudtrykket, der låser følgende nøgle op: { $key } # Variables: # $key (String) - Key id to unlock. # $date (String) - The date on which the key was created diff --git a/thunderbird-l10n/da/localization/da/messenger/preferences/system-integration.ftl b/thunderbird-l10n/da/localization/da/messenger/preferences/system-integration.ftl index 1e536058ff26a46e61e463d1585c23737ddbb5a6..9179e6fe833f08710c3d3b84f08cb52cb72404c8 100644 --- a/thunderbird-l10n/da/localization/da/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/da/localization/da/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Systemintegration - +system-integration-dialog-title = Systemintegration system-integration-dialog = .buttonlabelaccept = Angiv som standard .buttonlabelcancel = Undlad integration .buttonlabelcancel2 = Fortryd - default-client-intro = Brug { -brand-short-name } som standardprogram til: - unset-default-tooltip = Det er ikke muligt at angive et andet standardprogram end { -brand-short-name } inde fra { -brand-short-name }. For at angive et andet standardprogram skal du gå ind i det ønskede program og der angive, at det skal bruges som standard. - checkbox-email-label = .label = Mail .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Feeds .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Kalender .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Windows Søgning *[other] { "" } } - system-search-integration-label = .label = Tillad { system-search-engine-name } at søge i meddelelser .accesskey = S - check-on-startup-label = .label = Undersøg altid om { -brand-short-name } er standardmailprogrammet, når det startes .accesskey = A diff --git a/thunderbird-l10n/da/manifest.json b/thunderbird-l10n/da/manifest.json index d76cc842d6cd1c9f6386aa8dbec7fc190729cdb8..1e9244d8f0d9ca40e2fa64a77dd310f5ec35e205 100644 --- a/thunderbird-l10n/da/manifest.json +++ b/thunderbird-l10n/da/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Dansk (Danish)", "description": "Thunderbird Language Pack for Dansk (da) – Danish", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "da": { - "version": "20231208145033", + "version": "20231215210130", "chrome_resources": { "alerts": "chrome/da/locale/da/alerts/", "autoconfig": "chrome/da/locale/da/autoconfig/", diff --git a/thunderbird-l10n/de/localization/de/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/de/localization/de/messenger/accountcreation/accountHub.ftl index 78cbc5cb77ac57fbd61216427b5f6a1b9b57c888..a43a98d04388af0aea7befe6f22235dba2d3f6ea 100644 --- a/thunderbird-l10n/de/localization/de/messenger/accountcreation/accountHub.ftl +++ b/thunderbird-l10n/de/localization/de/messenger/accountcreation/accountHub.ftl @@ -80,3 +80,4 @@ account-hub-username-label = Benutzername account-hub-adding-account-title = Konto wird hinzugefügt account-hub-adding-account-subheader = Konto-Konfigurationseinstellungen werden erneut getestet account-hub-account-added-title = Konto hinzugefügt +account-hub-find-settings-failed = { -brand-full-name } konnte keine Einstellungen für Ihr E-Mail-Konto finden. diff --git a/thunderbird-l10n/de/localization/de/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/de/localization/de/messenger/compactFoldersDialog.ftl index 256768886a9387fb079030141da9fd0a6633a819..9d21fc1c12ffb652226f1534d5781247cd8cc05c 100644 --- a/thunderbird-l10n/de/localization/de/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/de/localization/de/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Ordner komprimieren - .style = width: 50em; compact-dialog-window-title = .title = Ordner komprimieren +compact-folders-dialog-title = Ordner komprimieren compact-dialog = .buttonlabelaccept = Jetzt komprimieren .buttonaccesskeyaccept = J diff --git a/thunderbird-l10n/de/localization/de/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/de/localization/de/messenger/openpgp/openpgp.ftl index c265a47af3e2e069ca87d865f3743bbcc570d4fe..a738d09380db55b3db686e1378519e9787de5957 100644 --- a/thunderbird-l10n/de/localization/de/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/de/localization/de/messenger/openpgp/openpgp.ftl @@ -25,36 +25,6 @@ e2e-encrypt-subject = e2e-encrypt-drafts = .label = Nachrichtenentwürfe verschlüsselt speichern .accesskey = N -openpgp-key-user-id-label = Konto / Benutzerkennung -openpgp-keygen-title-label = - .title = OpenGPG-Schlüssel erzeugen -openpgp-cancel-key = - .label = Abbrechen - .tooltiptext = Schlüsselerzeugung abbrechen -openpgp-key-gen-expiry-title = - .label = Ablaufdatum -openpgp-key-gen-expire-label = Schlüssel wird ungültig in -openpgp-key-gen-days-label = - .label = Tagen -openpgp-key-gen-months-label = - .label = Monaten -openpgp-key-gen-years-label = - .label = Jahren -openpgp-key-gen-no-expiry-label = - .label = Schlüssel wird nie ungültig -openpgp-key-gen-key-size-label = Schlüssellänge -openpgp-key-gen-console-label = Schlüsselerzeugung -openpgp-key-gen-key-type-label = Schlüsselart -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (Elliptische Kurve) -openpgp-generate-key = - .label = Schlüssel erzeugen - .tooltiptext = Erzeugt ein OpenGPG-konformes Schlüsselpaar zum Verschlüsseln und/oder Signieren -openpgp-advanced-prefs-button-label = - .label = Erweitert… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">HINWEIS: Das Erzeugen eines Schlüssels kann mehrere Minuten dauern.</a> Beenden Sie die Anwendung nicht, während der Schlüssel erzeugt wird. Aktives Surfen im Internet oder intensive Lese- und Schreibvorgänge setzen den 'Zufallsgenerator' wieder auf Normalniveau zurück und beschleunigen den Vorgang. Sie werden benachrichtigt, wenn die Schlüsselerzeugung abgeschlossen ist. # Do not translate "Autocrypt", it's the name of a standard. e2e-autocrypt-headers = .label = Öffentliche(n) OpenPGP-Schlüssel in E-Mail-Kopfzeilen senden für Kompatibilität mit Autocrypt @@ -68,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Dies ist ein Schlüssel mit einer komplexen Struktur, das Ändern des Ablaufdatums wird nicht unterstützt. openpgp-key-man-title = .title = OpenPGP-Schlüssel verwalten +openpgp-key-man-dialog-title = OpenPGP-Schlüssel verwalten openpgp-key-man-generate = .label = Neues Schlüsselpaar .accesskey = N @@ -415,10 +386,7 @@ key-verification = Verifizieren Sie den Fingerabdruck dieses Schlüssels über e # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = Die Nachricht konnte nicht gesendet werden, da es ein Problem mit Ihrem persönlichen Schlüssel gibt. { $problem } -cannot-encrypt-because-missing = Die Nachricht kann nicht mit Ende-zu-Ende-Verschlüsselung gesendet werden, weil es Probleme mit den Schlüsseln folgender Empfänger gibt: { $problem } window-locked = Das Verfassen-Fenster ist gesperrt, der Sende-Vorgang wurde abgebrochen. -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = Dies ist ein verschlüsselter Teil der Nachricht. Sie müssen ihn in einem separaten Fenster öffnen, indem Sie auf den Anhang klicken. ## Strings in keyserver.jsm @@ -643,7 +611,6 @@ import-key-file = OpenPGP-Schlüsseldatei importieren import-rev-file = OpenPGP-Widerrufsdatei importieren gnupg-file = GnuPG-Dateien import-keys-failed = Fehler beim Import der Schlüssel -passphrase-prompt = Bitte geben Sie das Passwort für den folgenden Schlüssel ein: { $key } # Variables: # $key (String) - Key id to unlock. # $date (String) - The date on which the key was created diff --git a/thunderbird-l10n/de/localization/de/messenger/preferences/system-integration.ftl b/thunderbird-l10n/de/localization/de/messenger/preferences/system-integration.ftl index ec91ea21a29661e01cbb3d757af9f27753f9acfd..b05f13fe4cd62dec2315ed81a2a89531fdae2f8c 100644 --- a/thunderbird-l10n/de/localization/de/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/de/localization/de/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Systemintegration - +system-integration-dialog-title = Systemintegration system-integration-dialog = .buttonlabelaccept = Als Standard festlegen .buttonlabelcancel = Integration überspringen .buttonlabelcancel2 = Abbrechen - default-client-intro = { -brand-short-name } als Standard-Anwendung verwenden für: - unset-default-tooltip = Die Festlegung { -brand-short-name } als Standard-Anwendung zu verwenden, kann nicht innerhalb { -brand-short-name }s aufgehoben werden. Um eine andere Anwendung als Standard festzulegen, muss deren 'Als Standard festlegen'-Einstellung verwendet werden. - checkbox-email-label = .label = E-Mail .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Feeds .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Kalender .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Windows-Suche *[other] { "" } } - system-search-integration-label = .label = { system-search-engine-name } ermöglichen, Nachrichten zu durchsuchen .accesskey = S - check-on-startup-label = .label = Bei jedem Start von { -brand-short-name } überprüfen .accesskey = B diff --git a/thunderbird-l10n/de/manifest.json b/thunderbird-l10n/de/manifest.json index 767e676bc4cb8f131ada34b5d4ab374918849660..7c5ed683c465f9a2ca15a5823d137690db0426ba 100644 --- a/thunderbird-l10n/de/manifest.json +++ b/thunderbird-l10n/de/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Deutsch (German)", "description": "Thunderbird Language Pack for Deutsch (de) – German", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "de": { - "version": "20231208145118", + "version": "20231215210216", "chrome_resources": { "alerts": "chrome/de/locale/de/alerts/", "autoconfig": "chrome/de/locale/de/autoconfig/", diff --git a/thunderbird-l10n/dsb/localization/dsb/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/dsb/localization/dsb/messenger/accountcreation/accountHub.ftl index 9c2746abcb459f6f351206be30216f2c6a60178b..ee899a641b45a5b8355f07f0f89c30bf4048c532 100644 --- a/thunderbird-l10n/dsb/localization/dsb/messenger/accountcreation/accountHub.ftl +++ b/thunderbird-l10n/dsb/localization/dsb/messenger/accountcreation/accountHub.ftl @@ -80,3 +80,4 @@ account-hub-username-label = Wužywaŕske mě account-hub-adding-account-title = Pśidawanje konta account-hub-adding-account-subheader = Nastajenja za kontowu konfiguraciju znowego testowaś account-hub-account-added-title = Konto jo se pśidało +account-hub-find-settings-failed = { -brand-full-name } njejo mógał nastajenja za wašo e-mailowe konto namakaś. diff --git a/thunderbird-l10n/dsb/localization/dsb/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/dsb/localization/dsb/messenger/compactFoldersDialog.ftl index dd7c41ad333bd6b8030c2faedb49bf6ea6dfe38c..c26989c0dc2fc7ce74029cce4b975c10118d8464 100644 --- a/thunderbird-l10n/dsb/localization/dsb/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/dsb/localization/dsb/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Zarědniki zgusćiś - .style = width: 50em; compact-dialog-window-title = .title = Zarědniki zgusćiś +compact-folders-dialog-title = Zarědniki zgusćiś compact-dialog = .buttonlabelaccept = Něnto zgusćiś .buttonaccesskeyaccept = u diff --git a/thunderbird-l10n/dsb/localization/dsb/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/dsb/localization/dsb/messenger/openpgp/openpgp.ftl index c5b3223194a893d2761ff9bc3e4165cc57079ed4..6837d4276bfbf97951c12e21dd1c8d46dc008015 100644 --- a/thunderbird-l10n/dsb/localization/dsb/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/dsb/localization/dsb/messenger/openpgp/openpgp.ftl @@ -29,36 +29,6 @@ e2e-encrypt-drafts = e2e-autocrypt-headers = .label = Zjawne kluce OpenPGP w e-mailowych głowach za kompatibelnosć z Autocrypt pósłaś .accesskey = k -openpgp-key-user-id-label = Konto / Wužywaŕski ID -openpgp-keygen-title-label = - .title = OpenPGP-kluc napóraś -openpgp-cancel-key = - .label = Pśetergnuś - .tooltiptext = Napóranje kluca pśetergnuś -openpgp-key-gen-expiry-title = - .label = Płaśiwosć kluca -openpgp-key-gen-expire-label = Kluc spadnjo za -openpgp-key-gen-days-label = - .label = dnjow -openpgp-key-gen-months-label = - .label = mjasecow -openpgp-key-gen-years-label = - .label = lět -openpgp-key-gen-no-expiry-label = - .label = Kluc njespadnjo -openpgp-key-gen-key-size-label = Wjelikosć kluca -openpgp-key-gen-console-label = Naporanje kluca -openpgp-key-gen-key-type-label = Klucowy typ -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (Elliptic Curve) -openpgp-generate-key = - .label = Kluč wutworić - .tooltiptext = Napórajo nowy góźecy se OPenPGP-kluc za koděrowanjee a/abo signěrowanje -openpgp-advanced-prefs-button-label = - .label = Rozšyrjony… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">GLĚDAJŚO: Napóranje kluca móžo někotare minuty traś.</a> Njekóńcćo nałoženje, mjaztym až se kluc napórajo. Gaž aktiwnje pśeglědujośo abo operacije z intensiwnym wužywanim kšuteje platy wuwjedujośo, mjaztym až se kluc napórajo, se ‚pool pśipadnosćie‘ zasej napołnijo a proces póspěšyjo. Dostanjośo powěźeńku, gaž napóranje kluca jo dokóńcone. openpgp-key-created-label = .label = Napórany openpgp-key-expiry-label = @@ -68,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = To jo kluc z kompleksneju strukturu, změnjanje jogo datuma spadnjenja se njepódpěra. openpgp-key-man-title = .title = Zastojnik OpenPGP-klucow +openpgp-key-man-dialog-title = Zastojnik OpenPGP-klucow openpgp-key-man-generate = .label = Nowy klucowy por .accesskey = k @@ -429,10 +400,7 @@ key-verification = Pśeglědajśo palcowy wótśišć kluca z pomocu drugego wě # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = Njejo móžno powěsć słaś, dokulaž dajo problem z wašym wósobinskim klucom. { $problem } -cannot-encrypt-because-missing = Njejo móžno, toś tu powěsć z koděrowanim kóńc do kóńca pósłác, dokulaž daju problemy z klucami slědujucych dostawarjow: { $problem } window-locked = Wobźěłowańske wokno jo zastajone; słanje jo se pśetergnuło -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = To jo skoděrowany powěsćowy źěl. Klikniśo na pśidank, aby jen w separatnem woknje wócynił. ## Strings in keyserver.jsm @@ -655,7 +623,6 @@ import-key-file = Dataju OpenPGP-kluca importěrowaś import-rev-file = Wótwołańsku dataju OpenPGP importěrowaś gnupg-file = GnuPG-dataje import-keys-failed = Importěrowanje klucow njejo se raźiło -passphrase-prompt = Pšosym zapódajśo gronidłowu frazu, kótaraž slědujucy kluc dopušća: { $key } # Variables: # $key (String) - Key id to unlock. # $date (String) - The date on which the key was created diff --git a/thunderbird-l10n/dsb/localization/dsb/messenger/preferences/system-integration.ftl b/thunderbird-l10n/dsb/localization/dsb/messenger/preferences/system-integration.ftl index 07155d49679dcba6934f8c209e64bd22a08d3e45..b9460d0d64ba3b1ea889a5fc35df852d9c381d12 100644 --- a/thunderbird-l10n/dsb/localization/dsb/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/dsb/localization/dsb/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Systemowa integracija - +system-integration-dialog-title = Systemowa integracija system-integration-dialog = .buttonlabelaccept = Ako standard nastajiś .buttonlabelcancel = Integraciju pśeskócyś .buttonlabelcancel2 = Pśetergnuś - default-client-intro = { -brand-short-name } ako standardny program wužywaś za: - unset-default-tooltip = Njejo móžno, w { -brand-short-name } póstajiś, až { -brand-short-name } wěcej njama se ako standardny program wužywaś. Aby wy druge nałoženje k standardnemu programoju cynił, musyśo dialog 'Ako standard wužywaś' togo nałoženja wužywaś. - checkbox-email-label = .label = E-mail .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Kanale .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Kalender .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Windowsowe pytanje *[other] { "" } } - system-search-integration-label = .label = { system-search-engine-name } dowóliś, aby powěsći pytało .accesskey = d - check-on-startup-label = .label = Toś tu kontrolu pśecej pśewjasć, gaž { -brand-short-name } se startujo .accesskey = T diff --git a/thunderbird-l10n/dsb/manifest.json b/thunderbird-l10n/dsb/manifest.json index 606672250906860af63a997ee279f5f3c8cd0ff3..8f3099dbd7922cf4c3a25fae7a8435d4e086119c 100644 --- a/thunderbird-l10n/dsb/manifest.json +++ b/thunderbird-l10n/dsb/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Dolnoserbšćina (Lower Sorbian)", "description": "Thunderbird Language Pack for Dolnoserbšćina (dsb) – Lower Sorbian", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "dsb": { - "version": "20231208145203", + "version": "20231215210302", "chrome_resources": { "alerts": "chrome/dsb/locale/dsb/alerts/", "autoconfig": "chrome/dsb/locale/dsb/autoconfig/", diff --git a/thunderbird-l10n/el/localization/el/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/el/localization/el/messenger/accountcreation/accountHub.ftl index 8e04030cab45f9c8380d1abc2b4e81ed973ba92b..93ada13973bb70c5a7664097c26704bae460b8d8 100644 --- a/thunderbird-l10n/el/localization/el/messenger/accountcreation/accountHub.ftl +++ b/thunderbird-l10n/el/localization/el/messenger/accountcreation/accountHub.ftl @@ -80,3 +80,4 @@ account-hub-username-label = Όνομα χρήστη account-hub-adding-account-title = Προσθήκη λογαριασμού account-hub-adding-account-subheader = Επανάληψη δοκιμής των ρυθμίσεων διαμόρφωσης λογαριασμού account-hub-account-added-title = Ο λογαριασμός προστέθηκε +account-hub-find-settings-failed = Το { -brand-full-name } απέτυχε να εντοπίσει τις ρυθμίσεις του λογαριασμού email σας. diff --git a/thunderbird-l10n/el/localization/el/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/el/localization/el/messenger/compactFoldersDialog.ftl index 521511b43471166f80c25abb4f8d58e52f98bc1b..8db2935e90ccbca41f442dd1207d8cdbdb500eef 100644 --- a/thunderbird-l10n/el/localization/el/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/el/localization/el/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Σύμπτυξη φακέλων - .style = width: 50em; compact-dialog-window-title = .title = Σύμπτυξη φακέλων +compact-folders-dialog-title = Σύμπτυξη φακέλων compact-dialog = .buttonlabelaccept = Σύμπτυξη τώρα .buttonaccesskeyaccept = Σ diff --git a/thunderbird-l10n/el/localization/el/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/el/localization/el/messenger/openpgp/openpgp.ftl index 8275c6d2b1586e085c9c0d2bfc8eb0956a947d0e..a83eda52a95da60ec7c44b1487bd0a716903a320 100644 --- a/thunderbird-l10n/el/localization/el/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/el/localization/el/messenger/openpgp/openpgp.ftl @@ -25,36 +25,6 @@ e2e-encrypt-subject = e2e-encrypt-drafts = .label = Αποθήκευση πρόχειρων μηνυμάτων σε κρυπτογραφημένη μορφή .accesskey = κ -openpgp-key-user-id-label = Λογαριασμός/ID χρήστη -openpgp-keygen-title-label = - .title = Δημιουργία κλειδιού OpenPGP -openpgp-cancel-key = - .label = Ακύρωση - .tooltiptext = Ακύρωση δημιουργίας κλειδιού -openpgp-key-gen-expiry-title = - .label = Λήξη κλειδιού -openpgp-key-gen-expire-label = Το κλειδί λήγει σε -openpgp-key-gen-days-label = - .label = ημέρες -openpgp-key-gen-months-label = - .label = μήνες -openpgp-key-gen-years-label = - .label = έτη -openpgp-key-gen-no-expiry-label = - .label = Το κλειδί δεν λήγει -openpgp-key-gen-key-size-label = Μέγεθος κλειδιού -openpgp-key-gen-console-label = Δημιουργία κλειδιού -openpgp-key-gen-key-type-label = Τύπος κλειδιού -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (Elliptic Curve) -openpgp-generate-key = - .label = Δημιουργία κλειδιού - .tooltiptext = Δημιουργεί ένα νέο σύμφωνο κλειδί OpenPGP για κρυπτογράφηση και/ή υπογραφή -openpgp-advanced-prefs-button-label = - .label = Σύνθετα… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">ΣΗΜΕΙΩΣΗ: Η δημιουργία κλειδιού ενδέχεται να διαρκέσει αρκετά λεπτά για να ολοκληρωθεί.</a> Μην κλείσετε την εφαρμογή ενώ είναι σε εξέλιξη η δημιουργία του κλειδιού. Η ενεργή περιήγηση ή η εκτέλεση έντονων εργασιών δίσκου κατά τη δημιουργία του κλειδιού θα αναπληρώσει τη 'δεξαμενή τυχαιότητας' και θα επιταχύνει τη διαδικασία. Θα ενημερωθείτε όταν ολοκληρωθεί η δημιουργία του κλειδιού. # Do not translate "Autocrypt", it's the name of a standard. e2e-autocrypt-headers = .label = Αποστολή δημόσιων κλειδιών OpenPGP στις κεφαλίδες των email για συμβατότητα με το Autocrypt @@ -68,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Αυτό είναι κλειδί με περίπλοκη δομή, η αλλαγή της ημερομηνίας λήξης δεν υποστηρίζεται. openpgp-key-man-title = .title = Διαχείριση κλειδιών OpenPGP +openpgp-key-man-dialog-title = Διαχείριση κλειδιών OpenPGP openpgp-key-man-generate = .label = Νέο ζεύγος κλειδιών .accesskey = γ @@ -415,10 +386,7 @@ key-verification = Επαληθεύστε το αποτύπωμα του κλε # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = Δεν είναι δυνατή η αποστολή του μηνύματος, επειδή υπάρχει πρόβλημα με το προσωπικό σας κλειδί. { $problem } -cannot-encrypt-because-missing = Δεν είναι δυνατή η αποστολή αυτού του μηνύματος με κρυπτογράφηση από άκρο σε άκρο, επειδή υπάρχουν προβλήματα με τα κλειδιά των ακόλουθων παραληπτών: { $problem } window-locked = Το παράθυρο σύνθεσης είναι κλειδωμένο· η αποστολή ακυρώθηκε -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = Αυτό είναι ένα τμήμα κρυπτογραφημένου μηνύματος. Πρέπει να το ανοίξετε σε ξεχωριστό παράθυρο κάνοντας κλικ στο συνημμένο. ## Strings in keyserver.jsm @@ -641,7 +609,6 @@ import-key-file = Εισαγωγή αρχείου κλειδιού OpenPGP import-rev-file = Εισαγωγή αρχείου ανάκλησης OpenPGP gnupg-file = Αρχεία GnuPG import-keys-failed = Αποτυχία εισαγωγής κλειδιών -passphrase-prompt = Εισαγάγετε τη μυστική φράση που ξεκλειδώνει το ακόλουθο κλειδί: { $key } # Variables: # $key (String) - Key id to unlock. # $date (String) - The date on which the key was created diff --git a/thunderbird-l10n/el/localization/el/messenger/preferences/system-integration.ftl b/thunderbird-l10n/el/localization/el/messenger/preferences/system-integration.ftl index 22cdec4fdbe461298b8a1392b21221f2fb576b85..c87c51b6a85d222b98f7412b19c0c75c8ff81232 100644 --- a/thunderbird-l10n/el/localization/el/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/el/localization/el/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Ενσωμάτωση συστήματος - +system-integration-dialog-title = Ενσωμάτωση συστήματος system-integration-dialog = .buttonlabelaccept = Ορισμός ως προεπιλογή .buttonlabelcancel = Παράλειψη ενσωμάτωσης .buttonlabelcancel2 = Ακύρωση - default-client-intro = Χρήση του { -brand-short-name } ως προεπιλογής για: - unset-default-tooltip = Δεν είναι δυνατή η αναίρεση ορισμού του { -brand-short-name } ως προεπιλεγμένου προγράμματος μέσα από το { -brand-short-name }. Για να ορίσετε μια άλλη εφαρμογή ως προεπιλογή, πρέπει να χρησιμοποιήσετε τον δικό της διάλογο «Ορισμός ως προεπιλογή». - checkbox-email-label = .label = Ηλεκτρονική αλληλογραφία .tooltiptext = { unset-default-tooltip } @@ -26,7 +23,6 @@ checkbox-feeds-label = checkbox-calendar-label = .label = Ημερολόγιο .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -35,11 +31,9 @@ system-search-engine-name = [windows] Αναζήτηση των Windows *[other] { "" } } - system-search-integration-label = .label = Να επιτρέπεται στην { system-search-engine-name } η αναζήτηση μηνυμάτων .accesskey = ε - check-on-startup-label = .label = Εκτέλεση ελέγχου σε κάθε εκκίνηση του { -brand-short-name } .accesskey = τ diff --git a/thunderbird-l10n/el/manifest.json b/thunderbird-l10n/el/manifest.json index a71fb93a1e82f535f1b13d83d6550a8f20dffbd6..6f27055654441eee4b48052f0de21fe78ac75e0e 100644 --- a/thunderbird-l10n/el/manifest.json +++ b/thunderbird-l10n/el/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Ελληνικά (Greek)", "description": "Thunderbird Language Pack for Ελληνικά (el) – Greek", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "el": { - "version": "20231208145249", + "version": "20231215210348", "chrome_resources": { "alerts": "chrome/el/locale/el/alerts/", "autoconfig": "chrome/el/locale/el/autoconfig/", diff --git a/thunderbird-l10n/en-CA/chrome/en-CA/locale/en-CA/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/en-CA/chrome/en-CA/locale/en-CA/messenger/messengercompose/composeMsgs.properties index 6678ca17eb7e45e28f9741ee97580086c27960bb..5b64a973ac1467a58e86e05394f9f9693e64d817 100644 --- a/thunderbird-l10n/en-CA/chrome/en-CA/locale/en-CA/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/en-CA/chrome/en-CA/locale/en-CA/messenger/messengercompose/composeMsgs.properties @@ -459,3 +459,6 @@ confirmRemoveRecipientRowButton=Remove ## LOCALIZATION NOTE headersSpaceStyle is for aligning label of a newly create recipient row. ## It should be larger than the largest Header label and identical to &headersSpace2.style; headersSpaceStyle=width: 8em + +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. diff --git a/thunderbird-l10n/en-CA/localization/en-CA/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/compactFoldersDialog.ftl index b61a4075da83452ccb5da30a397697516715c06c..7ca0ed70ca91babf11f8181f8efeec7cfe2875d8 100644 --- a/thunderbird-l10n/en-CA/localization/en-CA/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Compact folders - .style = width: 50em; compact-dialog-window-title = .title = Compact folders +compact-folders-dialog-title = Compact folders compact-dialog = .buttonlabelaccept = Compact now .buttonaccesskeyaccept = C diff --git a/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/openpgp.ftl index de8d0af74e1827e8745ee8a3aed8fdb4cc6c4d26..648e4de6cd54b3f77f9d51f726f1c13d86b11823 100644 --- a/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/openpgp/openpgp.ftl @@ -38,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = This is a key with a complex structure, changing its expiry date isn’t supported. openpgp-key-man-title = .title = OpenPGP Key Manager +openpgp-key-man-dialog-title = OpenPGP Key Manager openpgp-key-man-generate = .label = New Key Pair .accesskey = K diff --git a/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/system-integration.ftl b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/system-integration.ftl index 6f90f433e566fb6508e5cab293cb0238d46d245b..607796004b5c44648be51d6bfa44d06841560e0a 100644 --- a/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/en-CA/localization/en-CA/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = System Integration - +system-integration-dialog-title = System Integration system-integration-dialog = .buttonlabelaccept = Set as Default .buttonlabelcancel = Skip Integration .buttonlabelcancel2 = Cancel - default-client-intro = Use { -brand-short-name } as the default client for: - unset-default-tooltip = It is not possible to unset { -brand-short-name } as the default client within { -brand-short-name }. To make another application the default you must use its ‘Set as default’ dialog. - checkbox-email-label = .label = E-Mail .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Feeds .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Calendar .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Windows Search *[other] { "" } } - system-search-integration-label = .label = Allow { system-search-engine-name } to search messages .accesskey = S - check-on-startup-label = .label = Always perform this check when starting { -brand-short-name } .accesskey = A diff --git a/thunderbird-l10n/en-CA/manifest.json b/thunderbird-l10n/en-CA/manifest.json index e9b8a6e9dfd2a6d5b00cdd1d0bcaae97869bf96c..bccf2b23297ae2c136aac678b3b4370512d9d75c 100644 --- a/thunderbird-l10n/en-CA/manifest.json +++ b/thunderbird-l10n/en-CA/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: English (CA)", "description": "Thunderbird Language Pack for English (CA) (en-CA)", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "en-CA": { - "version": "20231208145336", + "version": "20231215210436", "chrome_resources": { "alerts": "chrome/en-CA/locale/en-CA/alerts/", "autoconfig": "chrome/en-CA/locale/en-CA/autoconfig/", diff --git a/thunderbird-l10n/en-GB/localization/en-GB/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/en-GB/localization/en-GB/messenger/accountcreation/accountHub.ftl index 4a20fe35e7109bfefc81c84d4fffc7cd7e8b2d6e..dae87eae405af02ca3778ef7839a4d79e67a86ac 100644 --- a/thunderbird-l10n/en-GB/localization/en-GB/messenger/accountcreation/accountHub.ftl +++ b/thunderbird-l10n/en-GB/localization/en-GB/messenger/accountcreation/accountHub.ftl @@ -80,3 +80,4 @@ account-hub-username-label = Username account-hub-adding-account-title = Adding Account account-hub-adding-account-subheader = Re-testing account configuration settings account-hub-account-added-title = Account Added +account-hub-find-settings-failed = { -brand-full-name } failed to find the settings for your email account. diff --git a/thunderbird-l10n/en-GB/localization/en-GB/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/en-GB/localization/en-GB/messenger/compactFoldersDialog.ftl index b61a4075da83452ccb5da30a397697516715c06c..7ca0ed70ca91babf11f8181f8efeec7cfe2875d8 100644 --- a/thunderbird-l10n/en-GB/localization/en-GB/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/en-GB/localization/en-GB/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Compact folders - .style = width: 50em; compact-dialog-window-title = .title = Compact folders +compact-folders-dialog-title = Compact folders compact-dialog = .buttonlabelaccept = Compact now .buttonaccesskeyaccept = C diff --git a/thunderbird-l10n/en-GB/localization/en-GB/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/en-GB/localization/en-GB/messenger/openpgp/openpgp.ftl index e00ed4dbb5da6914c72f8c805da3e3a4d9169f00..295384c2bc3aa9117cf835b7b637fd16e2f9357a 100644 --- a/thunderbird-l10n/en-GB/localization/en-GB/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/en-GB/localization/en-GB/messenger/openpgp/openpgp.ftl @@ -29,36 +29,6 @@ e2e-encrypt-drafts = e2e-autocrypt-headers = .label = Send OpenPGP public key(s) in the email headers for compatibility with Autocrypt .accesskey = t -openpgp-key-user-id-label = Account / User ID -openpgp-keygen-title-label = - .title = Generate OpenPGP Key -openpgp-cancel-key = - .label = Cancel - .tooltiptext = Cancel Key Generation -openpgp-key-gen-expiry-title = - .label = Key expiry -openpgp-key-gen-expire-label = Key expires in -openpgp-key-gen-days-label = - .label = days -openpgp-key-gen-months-label = - .label = months -openpgp-key-gen-years-label = - .label = years -openpgp-key-gen-no-expiry-label = - .label = Key does not expire -openpgp-key-gen-key-size-label = Key size -openpgp-key-gen-console-label = Key Generation -openpgp-key-gen-key-type-label = Key type -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (Elliptic Curve) -openpgp-generate-key = - .label = Generate key - .tooltiptext = Generates a new OpenPGP compliant key for encryption and/or signing -openpgp-advanced-prefs-button-label = - .label = Advanced… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">NOTE: Key generation may take up to several minutes to complete.</a> Do not exit the application while key generation is in progress. Actively browsing or performing disk-intensive operations during key generation will replenish the 'randomness pool' and speed-up the process. You will be alerted when key generation is completed. openpgp-key-created-label = .label = Created openpgp-key-expiry-label = @@ -68,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = This is a key with a complex structure, changing its expiry date isn't supported. openpgp-key-man-title = .title = OpenPGP Key Manager +openpgp-key-man-dialog-title = OpenPGP Key Manager openpgp-key-man-generate = .label = New Key Pair .accesskey = K @@ -415,10 +386,7 @@ key-verification = Verify the fingerprint of the key using a secure communicatio # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = Unable to send the message, because there is a problem with your personal key. { $problem } -cannot-encrypt-because-missing = Unable to send this message with end-to-end encryption, because there are problems with the keys of the following recipients: { $problem } window-locked = Compose window is locked; send cancelled -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = This is an encrypted message part. You need to open it in a separate window by clicking on the attachment. ## Strings in keyserver.jsm @@ -641,7 +609,6 @@ import-key-file = Import OpenPGP Key File import-rev-file = Import OpenPGP Revocation File gnupg-file = GnuPG Files import-keys-failed = Importing the keys failed -passphrase-prompt = Please enter the passphrase that unlocks the following key: { $key } # Variables: # $key (String) - Key id to unlock. # $date (String) - The date on which the key was created diff --git a/thunderbird-l10n/en-GB/localization/en-GB/messenger/preferences/system-integration.ftl b/thunderbird-l10n/en-GB/localization/en-GB/messenger/preferences/system-integration.ftl index 1db8489009957059d95b9877eea83631d75f12a0..8f4dbe876bd2082ef9f5f98464f344d448cf7729 100644 --- a/thunderbird-l10n/en-GB/localization/en-GB/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/en-GB/localization/en-GB/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = System Integration - +system-integration-dialog-title = System Integration system-integration-dialog = .buttonlabelaccept = Set as Default .buttonlabelcancel = Skip Integration .buttonlabelcancel2 = Cancel - default-client-intro = Use { -brand-short-name } as the default client for: - unset-default-tooltip = It is not possible to unset { -brand-short-name } as the default client within { -brand-short-name }. To make another application the default you must use its 'Set as default' dialog. - checkbox-email-label = .label = Email .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Feeds .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Calendar .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Windows Search *[other] { "" } } - system-search-integration-label = .label = Allow { system-search-engine-name } to search messages .accesskey = S - check-on-startup-label = .label = Always perform this check when starting { -brand-short-name } .accesskey = A diff --git a/thunderbird-l10n/en-GB/manifest.json b/thunderbird-l10n/en-GB/manifest.json index 5eef6c427e455d6b14a20ae138fa498410e8269f..9cee3e91eb81e60e790165110a1f3eea488bdd07 100644 --- a/thunderbird-l10n/en-GB/manifest.json +++ b/thunderbird-l10n/en-GB/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: English (GB)", "description": "Thunderbird Language Pack for English (GB) (en-GB)", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "en-GB": { - "version": "20231208145422", + "version": "20231215210135", "chrome_resources": { "alerts": "chrome/en-GB/locale/en-GB/alerts/", "autoconfig": "chrome/en-GB/locale/en-GB/autoconfig/", diff --git a/thunderbird-l10n/es-AR/localization/es-AR/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/es-AR/localization/es-AR/messenger/accountcreation/accountHub.ftl index 6fa52da8fd3109b0a77aaf15bc459618cb497477..9528d5c61db8f0a8f1bdd01bc37a22970c6bb26f 100644 --- a/thunderbird-l10n/es-AR/localization/es-AR/messenger/accountcreation/accountHub.ftl +++ b/thunderbird-l10n/es-AR/localization/es-AR/messenger/accountcreation/accountHub.ftl @@ -80,3 +80,4 @@ account-hub-username-label = Nombre de usuario account-hub-adding-account-title = Agregando cuenta account-hub-adding-account-subheader = Volver a probar los ajustes de configuración de la cuenta account-hub-account-added-title = Cuenta agregada +account-hub-find-settings-failed = { -brand-full-name } no pudo encontrar la configuración para su cuenta de correo electrónico. diff --git a/thunderbird-l10n/es-AR/localization/es-AR/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/es-AR/localization/es-AR/messenger/compactFoldersDialog.ftl index cf32e4613dee82e30be8852b60207766b29412da..bd4ddb46202f947c7dda2947db4774cdaa8f889c 100644 --- a/thunderbird-l10n/es-AR/localization/es-AR/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/es-AR/localization/es-AR/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Compactar carpetas - .style = width: 50em; compact-dialog-window-title = .title = Compactar carpetas +compact-folders-dialog-title = Compactar carpetas compact-dialog = .buttonlabelaccept = Compactar ahora .buttonaccesskeyaccept = C diff --git a/thunderbird-l10n/es-AR/localization/es-AR/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/es-AR/localization/es-AR/messenger/openpgp/openpgp.ftl index 7f300e6388790c7895592e5e344c5ec8ffea7081..c7600b0c2c143603d24ec055e471cff56e8dc17b 100644 --- a/thunderbird-l10n/es-AR/localization/es-AR/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/es-AR/localization/es-AR/messenger/openpgp/openpgp.ftl @@ -29,36 +29,6 @@ e2e-encrypt-drafts = e2e-autocrypt-headers = .label = Envíar la(s) clave(s) pública(s) OpenPGP en los encabezados del correo electrónico para compatibilidad con Autocrypt .accesskey = t -openpgp-key-user-id-label = Cuenta / ID de usuario -openpgp-keygen-title-label = - .title = Generar clave OpenPGP -openpgp-cancel-key = - .label = Cancelar - .tooltiptext = Cancelar generación de clave -openpgp-key-gen-expiry-title = - .label = Expiración de clave -openpgp-key-gen-expire-label = La clave expira en -openpgp-key-gen-days-label = - .label = días -openpgp-key-gen-months-label = - .label = meses -openpgp-key-gen-years-label = - .label = años -openpgp-key-gen-no-expiry-label = - .label = La clave no expira -openpgp-key-gen-key-size-label = Tamaño de clave -openpgp-key-gen-console-label = Generación de clave -openpgp-key-gen-key-type-label = Tipo de clave -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (curva elíptica) -openpgp-generate-key = - .label = Generar clave - .tooltiptext = Generar una nueva clave OpenPGP compatible para cifrar y/o firmar. -openpgp-advanced-prefs-button-label = - .label = Avanzadas… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">NOTA: La generación de clave puede tomar varios minutos para completarse.</a> No salga de la aplicación mientras la generación de clave esté en proceso. Navegar activamente o realizar operaciones de uso intensivo de disco mientras se genere la clave reaprovisionará el 'grupo de aleatoriedad' y acelerará el proceso. Aparecerá una alerta cuando se complete la generación de clave. openpgp-key-created-label = .label = Creada openpgp-key-expiry-label = @@ -68,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Esta es una clave con una estructura compleja, no se admite cambiar su fecha de vencimiento. openpgp-key-man-title = .title = Administrador de claves OpenPGP +openpgp-key-man-dialog-title = Administrador de claves OpenPGP openpgp-key-man-generate = .label = Nuevo par de claves .accesskey = v @@ -415,10 +386,7 @@ key-verification = Verifique la huella digital de la clave utilizando un canal d # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = No se puede enviar el mensaje porque hay un problema con su clave personal. { $problem } -cannot-encrypt-because-missing = No se puede enviar este mensaje cifardo de punta a punta porque hay problemas con las claves de los siguientes destinatarios: { $problem } window-locked = La ventana de redacción está bloqueada; enviar cancelado -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = Esta es una parte de mensaje cifrado. Tiene que abrirla en una ventana separada haciendo clic en el archivo adjunto. ## Strings in keyserver.jsm @@ -641,7 +609,6 @@ import-key-file = Importar archivo de clave de OpenPGP import-rev-file = Importar archivo de revocación de OpenPGP gnupg-file = Archivos GnuPG import-keys-failed = Falló la importación de las claves -passphrase-prompt = Ingrese la frase de contraseña para desbloquear la siguiente clave: { $key } # Variables: # $key (String) - Key id to unlock. # $date (String) - The date on which the key was created diff --git a/thunderbird-l10n/es-AR/localization/es-AR/messenger/preferences/system-integration.ftl b/thunderbird-l10n/es-AR/localization/es-AR/messenger/preferences/system-integration.ftl index 5ead93ee978e968b80685d1470a305fb9b4b89e5..2e66b41cf2bf555327f2e77987811c332bfad2fc 100644 --- a/thunderbird-l10n/es-AR/localization/es-AR/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/es-AR/localization/es-AR/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Integración con el sistema - +system-integration-dialog-title = Integración con el sistema system-integration-dialog = .buttonlabelaccept = Hacer predeterminado .buttonlabelcancel = Saltear integración .buttonlabelcancel2 = Cancelar - default-client-intro = Usar { -brand-short-name } como el cliente predeterminado para: - unset-default-tooltip = No es posible hacer que { -brand-short-name } deje de ser el cliente predeterminado desde dentro de { -brand-short-name }. Para que otra aplicación sea predeterminada, use su diáglogo 'Esteblecer como predeterminada'. - checkbox-email-label = .label = Correo electrónico .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Canales .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Calendario .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Búsqueda de Windows *[other] { "" } } - system-search-integration-label = .label = Permitir que { system-search-engine-name } busque los mensajes .accesskey = s - check-on-startup-label = .label = Siempre verificar ésto al iniciar { -brand-short-name } .accesskey = a diff --git a/thunderbird-l10n/es-AR/manifest.json b/thunderbird-l10n/es-AR/manifest.json index 37de914b66a00dc74d66371a40cf5d27885dc222..950eaa0693eb93c20e474dbc18b63635617417fc 100644 --- a/thunderbird-l10n/es-AR/manifest.json +++ b/thunderbird-l10n/es-AR/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Español (AR) (Spanish, Argentina)", "description": "Thunderbird Language Pack for Español (AR) (es-AR) – Spanish, Argentina", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "es-AR": { - "version": "20231208145507", + "version": "20231215210220", "chrome_resources": { "alerts": "chrome/es-AR/locale/es-AR/alerts/", "autoconfig": "chrome/es-AR/locale/es-AR/autoconfig/", diff --git a/thunderbird-l10n/es-ES/localization/es-ES/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/es-ES/localization/es-ES/messenger/accountcreation/accountHub.ftl index 4cfd48b2fb06e29d83d8c864c830377e188f4a85..1365c7b41ceaacf8d9c02ac6b2e32ee8e7c38ba9 100644 --- a/thunderbird-l10n/es-ES/localization/es-ES/messenger/accountcreation/accountHub.ftl +++ b/thunderbird-l10n/es-ES/localization/es-ES/messenger/accountcreation/accountHub.ftl @@ -80,3 +80,4 @@ account-hub-username-label = Nombre de usuario account-hub-adding-account-title = Añadiendo cuenta account-hub-adding-account-subheader = Volver a probar los ajustes de configuración de la cuenta account-hub-account-added-title = Cuenta añadida +account-hub-find-settings-failed = { -brand-full-name } no ha podido encontrar la configuración de la cuenta de correo electrónico. diff --git a/thunderbird-l10n/es-ES/localization/es-ES/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/es-ES/localization/es-ES/messenger/compactFoldersDialog.ftl index 792b0e9ffe2dc8db9dd491e2566bc451a2579bc4..56c82275679f8267b9d9f8578bde1a619289464b 100644 --- a/thunderbird-l10n/es-ES/localization/es-ES/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/es-ES/localization/es-ES/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Compactar carpetas - .style = width: 50em; compact-dialog-window-title = .title = Compactar carpetas +compact-folders-dialog-title = Compactar carpetas compact-dialog = .buttonlabelaccept = Compactar ahora .buttonaccesskeyaccept = C diff --git a/thunderbird-l10n/es-ES/localization/es-ES/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/es-ES/localization/es-ES/messenger/openpgp/openpgp.ftl index 677a1fe4705cd6f71bc9737a38559c068160d311..c84ef0a28e76fe249415edb054d2fd1f237517de 100644 --- a/thunderbird-l10n/es-ES/localization/es-ES/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/es-ES/localization/es-ES/messenger/openpgp/openpgp.ftl @@ -29,36 +29,6 @@ e2e-encrypt-drafts = e2e-autocrypt-headers = .label = Enviar la(s) clave(s) pública(s) OpenPGP en las cabeceras del correo electrónico para mantener la compatibilidad con Autocrypt .accesskey = A -openpgp-key-user-id-label = Cuenta / ID de usuario -openpgp-keygen-title-label = - .title = Generar clave OpenPGP -openpgp-cancel-key = - .label = Cancelar - .tooltiptext = Cancelar generación de clave -openpgp-key-gen-expiry-title = - .label = Caducidad de la clave -openpgp-key-gen-expire-label = La clave caduca en -openpgp-key-gen-days-label = - .label = días -openpgp-key-gen-months-label = - .label = meses -openpgp-key-gen-years-label = - .label = años -openpgp-key-gen-no-expiry-label = - .label = La clave no caduca -openpgp-key-gen-key-size-label = Tamaño de clave -openpgp-key-gen-console-label = Generación de clave -openpgp-key-gen-key-type-label = Tipo de clave -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (curva elíptica) -openpgp-generate-key = - .label = Generar clave - .tooltiptext = Genera una nueva clave compatible con OpenPGP para cifrado y/o firma -openpgp-advanced-prefs-button-label = - .label = Avanzado… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">NOTA: La generación de la clave puede tardar varios minutos en completarse.</a> No salga de la aplicación mientras se está generando la clave. La exploración activa o la realización de operaciones intensivas del disco durante la generación de claves repondrá el "grupo de aleatoriedad" y acelerará el proceso. Se le avisará cuando se complete la generación de claves. openpgp-key-created-label = .label = Creado openpgp-key-expiry-label = @@ -68,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Esta es una clave con una estructura compleja, no se admite cambiar su fecha de caducidad. openpgp-key-man-title = .title = Administrador de claves OpenPGP +openpgp-key-man-dialog-title = Administrador de claves OpenPGP openpgp-key-man-generate = .label = Nuevo par de claves .accesskey = N @@ -415,10 +386,7 @@ key-verification = Verifique la huella digital de la clave utilizando un canal d # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = No se puede enviar el mensaje porque hay un problema con su clave personal. { $problem } -cannot-encrypt-because-missing = No se puede enviar este mensaje con cifrado extremo a extremo porque hay problemas con las claves de los siguientes destinatarios: { $problem } window-locked = La ventana de redacción está bloqueada; envío cancelado -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = Esta es una parte cifrada del mensaje. Tiene que abrirla en una ventana separada haciendo clic en el archivo adjunto. ## Strings in keyserver.jsm @@ -641,7 +609,6 @@ import-key-file = Importar archivo de clave OpenPGP import-rev-file = Importar archivo de revocación de OpenPGP gnupg-file = Archivos GnuPG import-keys-failed = Error al importar las claves -passphrase-prompt = Escriba la frase de contraseña para desbloquear la siguiente clave: { $key } # Variables: # $key (String) - Key id to unlock. # $date (String) - The date on which the key was created diff --git a/thunderbird-l10n/es-ES/localization/es-ES/messenger/preferences/system-integration.ftl b/thunderbird-l10n/es-ES/localization/es-ES/messenger/preferences/system-integration.ftl index 4b4e3129ea6d94f839b87ff52fd0c6af2e3a5a81..05ed0ffe33f720b0bfe4794520f5164a82114210 100644 --- a/thunderbird-l10n/es-ES/localization/es-ES/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/es-ES/localization/es-ES/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Integración con el sistema - +system-integration-dialog-title = Integración con el sistema system-integration-dialog = .buttonlabelaccept = Definir como predet. .buttonlabelcancel = Omitir integración .buttonlabelcancel2 = Cancelar - default-client-intro = Usar { -brand-short-name } como cliente predeterminado para: - unset-default-tooltip = No es posible eliminar { -brand-short-name } como cliente predeterminado desde el propio { -brand-short-name }. Para que otra aplicación sea la predeterminada debe usar su diálogo 'Establecer como predeterminada'. - checkbox-email-label = .label = Correo-e .tooltiptext = { unset-default-tooltip } @@ -26,7 +23,6 @@ checkbox-feeds-label = checkbox-calendar-label = .label = Calendario .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -35,11 +31,9 @@ system-search-engine-name = [windows] Windows Search *[other] { "" } } - system-search-integration-label = .label = Permitir que { system-search-engine-name } busque en los mensajes .accesskey = P - check-on-startup-label = .label = Hacer siempre esta comprobación al iniciar { -brand-short-name } .accesskey = H diff --git a/thunderbird-l10n/es-ES/manifest.json b/thunderbird-l10n/es-ES/manifest.json index 8a76552856605cc54b8e9d26ed2fb7ea0e946968..377d933043442da4e51a38dda3331d9ebaf69d78 100644 --- a/thunderbird-l10n/es-ES/manifest.json +++ b/thunderbird-l10n/es-ES/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Español (ES) (Spanish, Spain)", "description": "Thunderbird Language Pack for Español (ES) (es-ES) – Spanish, Spain", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "es-ES": { - "version": "20231208145552", + "version": "20231215210305", "chrome_resources": { "alerts": "chrome/es-ES/locale/es-ES/alerts/", "autoconfig": "chrome/es-ES/locale/es-ES/autoconfig/", diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/composeMsgs.properties index 125b9774bc436b758b783a9c91acaad750836c7c..dc3b433368db21ba5ca2f2244249d1e914056dfa 100644 --- a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/composeMsgs.properties @@ -459,3 +459,6 @@ confirmRemoveRecipientRowButton=Eliminar ## LOCALIZATION NOTE headersSpaceStyle is for aligning label of a newly create recipient row. ## It should be larger than the largest Header label and identical to &headersSpace2.style; headersSpaceStyle=width: 8em + +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/compactFoldersDialog.ftl index cf820a415c0915672de496fdb56f94b3edb57109..8b4c67141a66eb8960ec8d00054924cb827cd40f 100644 --- a/thunderbird-l10n/es-MX/localization/es-MX/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Compactar carpetas - .style = width: 50em; compact-dialog-window-title = .title = Compactar carpetas +compact-folders-dialog-title = Compactar carpetas compact-dialog = .buttonlabelaccept = Compactar ahora .buttonaccesskeyaccept = C diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/openpgp.ftl index f69218be1c58a80a3ced8aa7eac91a3d3b65382f..d8d27626a2b662eb5e33511c1c299090205d3346 100644 --- a/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/openpgp.ftl @@ -25,36 +25,6 @@ e2e-encrypt-subject = e2e-encrypt-drafts = .label = Almacenar borradores de mensajes en formato cifrado .accesskey = r -openpgp-key-user-id-label = Cuenta / ID de usuario -openpgp-keygen-title-label = - .title = Generar clave OpenPGP -openpgp-cancel-key = - .label = Cancelar - .tooltiptext = Cancelar generación de clave -openpgp-key-gen-expiry-title = - .label = Expiración de la clave -openpgp-key-gen-expire-label = La clave expira en -openpgp-key-gen-days-label = - .label = días -openpgp-key-gen-months-label = - .label = meses -openpgp-key-gen-years-label = - .label = años -openpgp-key-gen-no-expiry-label = - .label = La clave no expira -openpgp-key-gen-key-size-label = Tamaño de clave -openpgp-key-gen-console-label = Generación de clave -openpgp-key-gen-key-type-label = Tipo de clave -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (curva elíptica) -openpgp-generate-key = - .label = Generar clave - .tooltiptext = Genera una nueva clave compatible con OpenPGP para cifrado y/o firma -openpgp-advanced-prefs-button-label = - .label = Avanzado… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">NOTA: La generación de la clave puede tardar varios minutos en completarse.</a> No salgas de la aplicación mientras se está generando la clave. La exploración activa o la realización de operaciones intensivas con un disco durante la generación de claves repondrá el "grupo de aleatoriedad" y acelerará el proceso. Se te avisará cuando se complete la generación de claves. openpgp-key-created-label = .label = Creado openpgp-key-expiry-label = @@ -64,6 +34,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Esta es una clave con una estructura compleja, no se admite cambiar la fecha de expiración. openpgp-key-man-title = .title = Administrador de claves OpenPGP +openpgp-key-man-dialog-title = Administrador de claves OpenPGP openpgp-key-man-generate = .label = Nuevo par de claves .accesskey = c @@ -353,6 +324,9 @@ openpgp-key-remove-external = .label = Eliminar ID de clave externa .accesskey = E key-external-label = Clave GnuPG externa + +## Strings in keyDetailsDlg.xhtml + # Strings in keyDetailsDlg.xhtml key-type-public = clave pública key-type-primary = clave primaria @@ -369,12 +343,15 @@ key-expired-simple = La clave ha caducado key-revoked-simple = La clave fue revocada key-do-you-accept = ¿Aceptas esta clave para verificar firmas digitales y para cifrar mensajes? key-verification = Verifica la huella digital de la clave usando un canal de comunicación seguro que no sea el correo electrónico para asegurarse de que realmente sea la clave de { $addr }. + +## Strings enigmailMsgComposeOverlay.js + # Strings enigmailMsgComposeOverlay.js cannot-use-own-key-because = No se puede enviar el mensaje porque hay un problema con tu clave personal. { $problem } -cannot-encrypt-because-missing = No se puede enviar este mensaje con cifrado de un extremo a extremo porque hay problemas con las claves de los siguientes destinatarios: { $problem } window-locked = La ventana de redacción está bloqueada; envío cancelado -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = Esta es una parte del mensaje cifrado. Necesitas abrirlo en una ventana separada haciendo clic en el archivo adjunto. + +## Strings in keyserver.jsm + # Strings in keyserver.jsm keyserver-error-aborted = Cancelar keyserver-error-unknown = Se produjo un error desconocido @@ -384,6 +361,9 @@ keyserver-error-unavailable = El servidor de claves no está disponible. keyserver-error-security-error = El servidor de claves no admite el acceso cifrado. keyserver-error-certificate-error = El certificado del servidor de claves no es válido. keyserver-error-unsupported = El servidor de claves no es compatible. + +## Strings in mimeWkdHandler.jsm + # Strings in mimeWkdHandler.jsm wkd-message-body-req = Tu proveedor de correo electrónico procesó tu solicitud para subir tu clave pública al directorio de claves web de OpenPGP. @@ -391,11 +371,17 @@ wkd-message-body-req = wkd-message-body-process = Este es un correo electrónico relacionado con el procesamiento automático para subir tu clave pública en el directorio de claves web de OpenPGP. No necesitas tomar ninguna acción manual en este punto. + +## Strings in persistentCrypto.jsm + # Strings in persistentCrypto.jsm converter-decrypt-body-failed = No se pudo descifrar el mensaje con el asunto { $subject }. ¿Deseas volver a intentarlo con una frase de contraseña diferente o deseas omitir el mensaje? + +## Strings filters.jsm + # Strings filters.jsm filter-folder-required = Debes seleccionar una carpeta de destino. filter-decrypt-move-warn-experimental = @@ -407,10 +393,16 @@ filter-key-not-found = No se pudo encontrar una clave de cifrado para ‘{ $desc filter-warn-key-not-secret = Advertencia - la acción de filtro “Cifrar a clave” reemplaza a los destinatarios. Si no tienes una clave secreta para ‘{ $desc }’, no podrás leer los correos electrónicos. + +## Strings filtersWrapper.jsm + # Strings filtersWrapper.jsm filter-decrypt-move-label = Descifrar permanentemente (OpenPGP) filter-decrypt-copy-label = Crear copia descifrada (OpenPGP) filter-encrypt-label = Cifrar a clave (OpenPGP) + +## Strings in enigmailKeyImportInfo.js + # Strings in enigmailKeyImportInfo.js import-info-title = .title = Claves importadas con ¡Éxito! @@ -419,6 +411,9 @@ import-info-created = Creado import-info-fpr = Huella digital import-info-details = Ver detalles y administrar la aceptación de claves import-info-no-keys = No se importaron claves. + +## Strings in enigmailKeyManager.js + # Strings in enigmailKeyManager.js import-from-clip = ¿Quieres importar algunas claves del portapapeles? import-from-url = Descarga la clave pública desde esta URL: @@ -464,6 +459,12 @@ openpgp-export-public-success = <b>¡Clave pública exportada correctamente!</b> openpgp-export-public-fail = <b>¡No se puede exportar la clave pública seleccionada!</b> openpgp-export-secret-success = <b>¡La clave secreta se exportó correctamente!</b> openpgp-export-secret-fail = <b>¡No se puede exportar la clave secreta seleccionada!</b> + +## Strings in keyObj.jsm +## Variables: +## $userId (String) - The name and/or email address that is mentioned in the key's information. +## $keyId (String) - Key id for the key entry. + # Strings in keyObj.jsm key-ring-pub-key-revoked = La clave { $userId } (ID de clave { $keyId }) está revocada. key-ring-pub-key-expired = La clave { $userId } (ID de clave { $keyId }) ha caducado. @@ -474,9 +475,15 @@ key-ring-sign-sub-keys-revoked = Todas las subclaves de firma de la clave { $use key-ring-sign-sub-keys-expired = Todas las subclaves de firma de la clave { $userId } (ID de clave { $keyId }) han caducado. key-ring-enc-sub-keys-revoked = Se revocaran todas las subclaves de cifrado de la clave { $userId } (ID de clave { $keyId }). key-ring-enc-sub-keys-expired = Todas las subclaves de cifrado de la clave { $userId } (ID de clave { $keyId }) han caducado. + +## Strings in gnupg-keylist.jsm + # Strings in gnupg-keylist.jsm keyring-photo = Foto user-att-photo = Atributo de usuario (imagen JPEG) + +## Strings in key.jsm + # Strings in key.jsm already-revoked = Esta clave ya ha sido revocada. # $identity (String) - the id and associated user identity of the key being revoked @@ -497,6 +504,9 @@ after-revoke-info = Vuelve a compartir esta clave pública, enviándola por correo electrónico o cargándola en servidores de claves, para que otros sepan que revocaste tu clave. Tan pronto como el software utilizado por otras personas se entere de la revocación, dejará de usar tu clave anterior. Si estás utilizando una nueva clave para la misma dirección de correo electrónico y adjuntas la nueva clave pública a los correos electrónicos que envías, la información sobre tu antigua clave revocada se incluirá automáticamente. + +## Strings in keyRing.jsm & decryption.jsm + # Strings in keyRing.jsm & decryption.jsm key-man-button-import = &Importar delete-key-title = Eliminar clave OpenPGP @@ -505,17 +515,32 @@ delete-external-key-description = ¿Deseas eliminar esta ID de la clave GnuPG ex key-in-use-title = Clave OpenPGP actualmente en uso delete-key-in-use-description = ¡Imposible continuar! La clave que seleccionaste para eliminar está siendo usada por esta identidad. Selecciona una clave diferente o ninguna, y vuelve a intentarlo. revoke-key-in-use-description = ¡Imposible continuar! La clave que seleccionaste para revocar está siendo usada por esta identidad. Selecciona una clave diferente o ninguna, y vuelve a intentarlo. + +## Strings used in errorHandling.jsm + # Strings used in errorHandling.jsm key-error-key-spec-not-found = La dirección de correo electrónico ‘{ $keySpec }’ no puede coincidir con una clave en tu conjunto de claves. key-error-key-id-not-found = El ID de clave configurado ‘{ $keySpec }’ no se puede encontrar en tu conjunto de claves. key-error-not-accepted-as-personal = No has confirmado que la clave con ID ‘{ $keySpec }’ es tu clave personal. + +## Strings used in enigmailKeyManager.js & windows.jsm + # Strings used in enigmailKeyManager.js & windows.jsm need-online = La función que has seleccionado no está disponible en el modo sin conexión. Por favor, conéctate y vuelve a intentarlo. + +## Strings used in keyRing.jsm & keyLookupHelper.jsm + # Strings used in keyRing.jsm & keyLookupHelper.jsm no-key-found2 = No pudimos encontrar ninguna llave utilizable que coincida con los criterios de búsqueda especificados. no-update-found = Ya tienes las llaves que se descubrieron en línea. + +## Strings used in keyRing.jsm & GnuPGCryptoAPI.jsm + # Strings used in keyRing.jsm & GnuPGCryptoAPI.jsm fail-key-extract = Error - el comando de extracción de clave falló + +## Strings used in keyRing.jsm + # Strings used in keyRing.jsm fail-cancel = Error - La clave ha sido cancelada por el usuario not-first-block = Error - El primer bloque OpenPGP no es un bloque de clave pública @@ -524,6 +549,9 @@ fail-key-import = Error - importación de clave fallida file-write-failed = Error al escribir en el archivo { $output } no-pgp-block = Error - No se encontró un bloque de datos OpenPGP blindado válido confirm-permissive-import = La importación falló. La clave que estás tratando de importar puede estar dañada o usar atributos desconocidos. ¿Te gustaría intentar importar las partes que son correctas? Esto podría dar lugar a la importación de claves incompletas e inutilizables. + +## Strings used in trust.jsm + # Strings used in trust.jsm key-valid-unknown = desconocido key-valid-invalid = no válido @@ -535,13 +563,18 @@ key-trust-marginal = marginal key-trust-full = confiable key-trust-ultimate = último key-trust-group = (grupo) + +## Strings used in commonWorkflows.js + # Strings used in commonWorkflows.js import-key-file = Importar archivo de clave OpenPGP import-rev-file = Importar archivo de revocación OpenPGP gnupg-file = Archivos GnuPG import-keys-failed = Error al importar las claves -passphrase-prompt = Ingresa la frase de contraseña que desbloquea la siguiente clave: { $key } file-to-big-to-import = Este archivo es demasiado grande. Por favor, no importes un gran conjunto de claves a la vez. + +## Strings used in enigmailKeygen.js + # Strings used in enigmailKeygen.js save-revoke-cert-as = Crear y guardar certificado de revocación revoke-cert-ok = El certificado de revocación ha sido creado correctamente. Puedes usarlo para invalidar tu clave pública, por ejemplo en caso de que pierdas tu clave secreta. @@ -556,7 +589,7 @@ key-abort = ¿Abortar la generación de claves? key-man-button-generate-key-abort = &Abortar generación de clave key-man-button-generate-key-continue = &Continuar con la generación de claves -# Strings used in enigmailMessengerOverlay.js +## Strings used in enigmailMessengerOverlay.js failed-decrypt = Error - descifrado fallido fix-broken-exchange-msg-failed = No se puede reparar este mensaje. @@ -569,6 +602,9 @@ decrypt-ok-no-sig = El descifrado fue exitoso, pero la firma no se pudo verificar correctamente msg-ovl-button-cont-anyway = &Continuar de todas formas enig-content-note = *Los archivos adjuntos a este mensaje no han sido firmados ni cifrados* + +## Strings used in enigmailMsgComposeOverlay.js + # Strings used in enigmailMsgComposeOverlay.js msg-compose-button-send = &Enviar mensaje msg-compose-details-button-label = Detalles… @@ -602,6 +638,9 @@ save-attachment-header = Guardar archivo adjunto descifrado possibly-pgp-mime = Posiblemente un mensaje cifrado o firmado PGP/MIME; usar la función 'Descifrar/Verificar' para verificar cannot-send-sig-because-no-own-key = No se puede firmar digitalmente este mensaje porque todavía no has configurado el cifrado de extremo a extremo para <{ $key }> cannot-send-enc-because-no-own-key = No se puede enviar este mensaje cifrado, porque todavía no has configurado cifrado de extremo a extremo para <{ $key }> + +## Strings used in decryption.jsm + # Strings used in decryption.jsm do-import-multiple = ¿Importar las siguientes claves? @@ -616,14 +655,26 @@ attachment-pgp-key = El archivo adjunto ‘{ $name }’ que estás abriendo parece ser un archivo de clave OpenPGP. Haz clic en ‘Importar’ para importar las claves que contiene o 'Ver' para ver los contenidos del archivo en una ventana del navegador dlg-button-view = &Ver + +## Strings used in enigmailMsgHdrViewOverlay.js + # Strings used in enigmailMsgHdrViewOverlay.js decrypted-msg-with-format-error = Mensaje descifrado (el formato de correo electrónico PGP roto restaurado probablemente causado por un antiguo servidor de Exchange, por lo que el resultado podría no ser perfecto para leer) + +## Strings used in encryption.jsm + # Strings used in encryption.jsm not-required = Error - no se requiere cifrado + +## Strings used in windows.jsm + # Strings used in windows.jsm no-photo-available = No hay foto disponible error-photo-path-not-readable = La ruta de la foto ‘{ $photo }’ no es legible debug-log-title = Registro de depuración de OpenPGP + +## Strings used in dialog.jsm + # Strings used in dialog.jsm repeat-prefix = Esta alerta se repetirá { $count } repeat-suffix-singular = más tiempo. @@ -638,9 +689,15 @@ enig-prompt = Aviso de OpenPGP enig-confirm = Confirmación de OpenPGP enig-alert = Alerta de OpenPGP enig-info = Información de OpenPGP + +## Strings used in persistentCrypto.jsm + # Strings used in persistentCrypto.jsm dlg-button-retry = &Reintentar dlg-button-skip = &Ignorar + +## Strings used in enigmailMsgBox.js + # Strings used in enigmailMsgBox.js enig-alert-title = .title = Alerta OpenPGP diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/system-integration.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/system-integration.ftl index 5ae2f2d0f2cffc63abda37681d04ae132129418c..37615db984f9be891198169829cd107d2e3472e3 100644 --- a/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Integración con el sistema - +system-integration-dialog-title = Integración con el sistema system-integration-dialog = .buttonlabelaccept = Establecer como predeterminado .buttonlabelcancel = Saltar integración .buttonlabelcancel2 = Cancelar - default-client-intro = Usar { -brand-short-name } como el cliente predeterminado para: - unset-default-tooltip = No es posible quitar { -brand-short-name } como el cliente predeterminado dentro de { -brand-short-name }. Para hacer que otra aplicación sea la predeterminada debes usar el diálogo 'Establecer como predeterminada'. - checkbox-email-label = .label = Correo electrónico .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Canales .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Calendario .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Ventana de búsqueda *[other] { "" } } - system-search-integration-label = .label = Permitir a { system-search-engine-name } buscar en los mensajes .accesskey = S - check-on-startup-label = .label = Siempre realizar la verificación al iniciar { -brand-short-name } .accesskey = A diff --git a/thunderbird-l10n/es-MX/manifest.json b/thunderbird-l10n/es-MX/manifest.json index 692d50da878725e06b3b483a32f11d3464cb9877..96a91c34fec68fa84a0f7ad1b938ab7dc6caf196 100644 --- a/thunderbird-l10n/es-MX/manifest.json +++ b/thunderbird-l10n/es-MX/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Español (MX) (Spanish, Mexico)", "description": "Thunderbird Language Pack for Español (MX) (es-MX) – Spanish, Mexico", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "es-MX": { - "version": "20231208145637", + "version": "20231215210350", "chrome_resources": { "alerts": "chrome/es-MX/locale/es-MX/alerts/", "autoconfig": "chrome/es-MX/locale/es-MX/autoconfig/", diff --git a/thunderbird-l10n/et/chrome/et/locale/et/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/et/chrome/et/locale/et/messenger/messengercompose/composeMsgs.properties index 389a45fe99498dee7c90ab1114cd7c04cada8a03..7d46d8c6fdf3e6a626dd1f06b5669b5b059bb44d 100644 --- a/thunderbird-l10n/et/chrome/et/locale/et/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/et/chrome/et/locale/et/messenger/messengercompose/composeMsgs.properties @@ -459,3 +459,6 @@ confirmRemoveRecipientRowButton=Eemalda ## LOCALIZATION NOTE headersSpaceStyle is for aligning label of a newly create recipient row. ## It should be larger than the largest Header label and identical to &headersSpace2.style; headersSpaceStyle=width: 8em + +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. diff --git a/thunderbird-l10n/et/localization/et/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/et/localization/et/messenger/compactFoldersDialog.ftl index 529ce05e5508b350b31515f5314650c1230c788e..115979c961bb5eba75b7a0fd27b7b41229c22305 100644 --- a/thunderbird-l10n/et/localization/et/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/et/localization/et/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Suru kaustad kokku - .style = width: 50em; compact-dialog-window-title = .title = Suru kaustad kokku +compact-folders-dialog-title = Suru kaustad kokku compact-dialog = .buttonlabelaccept = Suru kokku .buttonaccesskeyaccept = S diff --git a/thunderbird-l10n/et/localization/et/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/et/localization/et/messenger/openpgp/openpgp.ftl index 2d29121f6e73f28de0c031ada9bb1acd699fed0d..83a5aecf5073cb6eb59943a1f7876230af6e618d 100644 --- a/thunderbird-l10n/et/localization/et/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/et/localization/et/messenger/openpgp/openpgp.ftl @@ -1,17 +1,13 @@ - # 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/. e2e-intro-description = Krüptitud või digiallkirjastatud kirjade saatmiseks pead seadistama krüptimistehnoloogia, kas OpenPGP või S/MIME. e2e-intro-description-more = OpenPGP lubamiseks vali oma isiklik võti või isiklik sert, et lubada S/MIME kasutamine. Isikliku võtme või serdi kasutamiseks pead omama ka vastavat salajast võtit. - e2e-signing-description = Digiallkiri võimaldab adressaatidel kontrollida, kas sõnumi saatsid sina ja selle sisu pole muudetud. Krüptitud kirjad allkirjastatakse alati vaikimisi. - e2e-sign-message = .label = Krüptimata kirjad allkirjastatakse .accesskey = p - e2e-disable-enc = .label = Uute kirjade krüptimine keelatakse .accesskey = U @@ -19,7 +15,6 @@ e2e-enable-enc = .label = Uute kirjade krüptimine lubatakse .accesskey = l e2e-enable-description = Üksikute kirjade krüptimist on võimalik keelata. - e2e-advanced-section = Täpsemad sätted e2e-attach-key = .label = OpenPGP allkirja lisamisel kaasatakse ka avalik võti @@ -30,51 +25,16 @@ e2e-encrypt-subject = e2e-encrypt-drafts = .label = Mustandid salvestatakse krüptitult .accesskey = M - -openpgp-key-user-id-label = Konto / Kasutaja ID -openpgp-keygen-title-label = - .title = OpenPGP võtme loomine -openpgp-cancel-key = - .label = Loobu - .tooltiptext = Loobu võtme genereerimisest -openpgp-key-gen-expiry-title = - .label = Võtme kehtivusaeg -openpgp-key-gen-expire-label = Võti aegub -openpgp-key-gen-days-label = - .label = päeva pärast -openpgp-key-gen-months-label = - .label = kuu pärast -openpgp-key-gen-years-label = - .label = aasta pärast -openpgp-key-gen-no-expiry-label = - .label = Võti ei aegu -openpgp-key-gen-key-size-label = Võtme suurus -openpgp-key-gen-console-label = Võtme genereerimine -openpgp-key-gen-key-type-label = Võtme tüüp -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (elliptiline kõver) -openpgp-generate-key = - .label = Genereeri võti - .tooltiptext = Loob uue OpenPGP ühilduva võtme krüptimiseks ja/või allkirjastamiseks -openpgp-advanced-prefs-button-label = - .label = Edasijõudnuile... -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">MÄRKUS: Võtme genereerimine võib aega võtta mõned minutid.</a> Genereerimise ajal ära sulge rakendust. Aktiivne veebilehitsemine või intensiivselt salvestusandmekandjate kasutamine võtme genereerimise ajal aitab täita juhuslikkuse kogumit ning protsessi kiirendada. Sind teavitatakse genereerimise protsessi lõppemisest. - openpgp-key-created-label = .label = Loodud - openpgp-key-expiry-label = .label = Aegumine - openpgp-key-id-label = .label = Võtme ID - openpgp-cannot-change-expiry = See võti on keerulise struktuuriga, selle aegumise muutmine pole toetatud. - openpgp-key-man-title = .title = OpenPGP võtmehaldur +openpgp-key-man-dialog-title = OpenPGP võtmehaldur openpgp-key-man-generate = .label = Uus võtmepaar .accesskey = U @@ -83,7 +43,6 @@ openpgp-key-man-gen-revoke = .accesskey = T openpgp-key-man-ctx-gen-revoke-label = .label = Loo ja salvesta tühistussert - openpgp-key-man-file-menu = .label = Fail .accesskey = F @@ -99,7 +58,6 @@ openpgp-key-man-generate-menu = openpgp-key-man-keyserver-menu = .label = Võtmeserver .accesskey = V - openpgp-key-man-import-public-from-file = .label = Impordi avalikke võtmeid failist .accesskey = f @@ -122,29 +80,23 @@ openpgp-key-man-send-keys = openpgp-key-man-backup-secret-keys = .label = Varunda salajased võtmed faili .accesskey = r - openpgp-key-man-discover-cmd = .label = Avasta võtmeid võrgust .accesskey = t openpgp-key-man-discover-prompt = OpenPGP võtmete avastamiseks võrgust, võtmete serverist või kasutades WKD-protokolli, kasuta kas e-posti aadressi või võtme ID'd. openpgp-key-man-discover-progress = Otsimine... - openpgp-key-copy-key = .label = Kopeeri avalik võti .accesskey = K - openpgp-key-export-key = .label = Ekspordi avalik võti faili .accesskey = E - openpgp-key-backup-key = .label = Varunda salajane võti faili .accesskey = V - openpgp-key-send-key = .label = Saada avalik võti e-postiga .accesskey = d - openpgp-key-man-copy-key-ids = .label = { $count -> @@ -152,7 +104,6 @@ openpgp-key-man-copy-key-ids = *[other] Kopeeri võtme ID'd vahemällu } .accesskey = o - openpgp-key-man-copy-fprs = .label = { $count -> @@ -160,7 +111,6 @@ openpgp-key-man-copy-fprs = *[other] Kopeeri sõrmejäljed vahemällu } .accesskey = j - openpgp-key-man-copy-to-clipboard = .label = { $count -> @@ -168,14 +118,11 @@ openpgp-key-man-copy-to-clipboard = *[other] Kopeeri avalikud võtmed vahemällu } .accesskey = p - openpgp-key-man-ctx-expor-to-file-label = .label = Ekspordi võtmed faili - openpgp-key-man-ctx-copy = .label = Kopeeri .accesskey = K - openpgp-key-man-ctx-copy-fprs = .label = { $count -> @@ -183,7 +130,6 @@ openpgp-key-man-ctx-copy-fprs = *[other] Sõrmejäljed } .accesskey = S - openpgp-key-man-ctx-copy-key-ids = .label = { $count -> @@ -191,7 +137,6 @@ openpgp-key-man-ctx-copy-key-ids = *[other] Võtme ID'd } .accesskey = t - openpgp-key-man-ctx-copy-public-keys = .label = { $count -> @@ -199,7 +144,6 @@ openpgp-key-man-ctx-copy-public-keys = *[other] Avalikud võtmed } .accesskey = A - openpgp-key-man-close = .label = Sulge openpgp-key-man-reload = @@ -252,17 +196,13 @@ openpgp-key-man-nothing-found-tooltip = .label = Sinu otsituga sobivaid võtmeid ei leitud openpgp-key-man-please-wait-tooltip = .label = Palun oota, kuni võtmeid laaditakse… - openpgp-key-man-filter-label = .placeholder = Otsi võtmeid - openpgp-key-man-select-all-key = .key = A openpgp-key-man-key-details-key = .key = I - openpgp-ign-addr-intro = Nõustud selle võtme kasutamisega järgmiste e-posti aadresside jaoks: - openpgp-key-details-doc-title = Võtme omadused openpgp-key-details-signatures-tab = .label = Serdid @@ -277,17 +217,13 @@ openpgp-key-details-id-label = openpgp-key-details-key-type-label = Tüüp openpgp-key-details-key-part-label = .label = Võtme osa - openpgp-key-details-attr-ignored = Hoiatus: see võti ei pruugi ootuspäraselt töötada, sest mõned selle atribuudid on ebaturvalises ja neid võidakse ignoreerida. openpgp-key-details-attr-upgrade-sec = Peaksid ebaturvalisi omadusi uuendama. openpgp-key-details-attr-upgrade-pub = Peaksid paluma selle võtme omanikul ebaturvalised omadused uuendada. - openpgp-key-details-upgrade-unsafe = .label = Uuenda ebaturvalised omadused .accesskey = U - openpgp-key-details-upgrade-ok = Võti uuendati edukalt. Peaksid jagama uuendatud avalikku võtit oma adressaatidega. - openpgp-key-details-algorithm-label = .label = Algoritm openpgp-key-details-size-label = @@ -324,7 +260,6 @@ openpgp-personal-no-label = .label = Ei, ära kasuta seda minu isikliku võtmena. openpgp-personal-yes-label = .label = Jah, käsitle seda võtit minu isikliku võtmena. - openpgp-copy-cmd-label = .label = Kopeeri @@ -332,7 +267,6 @@ openpgp-copy-cmd-label = # $identity (String) - the email address of the currently selected identity openpgp-description-no-key = { -brand-short-name }il puudub isiklik OpenPGP võti aadressi <b>{ $identity }</b> jaoks - # $count (Number) - the number of configured keys associated with the current identity # $identity (String) - the email address of the currently selected identity openpgp-description-has-keys = @@ -340,69 +274,50 @@ openpgp-description-has-keys = [one] { -brand-short-name } leidis { $count } identiteediga <b>{ $identity }</b> seotud isikliku OpenPGP võtme *[other] { -brand-short-name } leidis { $count } identiteediga <b>{ $identity }</b> seotud isiklikku OpenPGP võtit } - # $key (String) - the currently selected OpenPGP key openpgp-selection-status-have-key = Sinu praegune seadistus kasutab võtit IDga <b>{ $key }</b> - # $key (String) - the currently selected OpenPGP key openpgp-selection-status-error = Praegune seadistus kasutab võtit <b>{ $key }</b>, mis on aegunud. - openpgp-add-key-button = .label = Lisa võti… .accesskey = L - e2e-learn-more = Rohkem teavet - openpgp-keygen-success = OpenPGP võtme loomine õnnestus! - openpgp-keygen-import-success = OpenPGP võtmed edukalt imporditud! - openpgp-keygen-external-success = Välise GnuPG võtme ID salvestatud! ## OpenPGP Key selection area openpgp-radio-none = .label = Puudub - openpgp-radio-none-desc = OpenPGPd selle identiteedi jaoks ei kasutata. - openpgp-radio-key-not-usable = See võti pole isikliku võtmena kasutatav, sest puudub salajane võti. openpgp-radio-key-not-accepted = Selle võtme kasutamiseks pead tunnustama seda isikliku võtmena. openpgp-radio-key-not-found = Seda võtit ei leitud. Selle kasutamiseks pead selle { -brand-short-name }i importima. - # $key (String) - the expiration date of the OpenPGP key openpgp-radio-key-expires = Aegub: { $date } - # $key (String) - the expiration date of the OpenPGP key openpgp-radio-key-expired = Aegus: { $date } - openpgp-key-expires-within-6-months-icon = .title = Võti aegub vähem kui 6 kuu pärast - openpgp-key-has-expired-icon = .title = Võti on aegunud - openpgp-key-expand-section = .tooltiptext = Rohkem teavet - openpgp-key-revoke-title = Tühista võti - openpgp-key-edit-title = Muuda OpenPGP võtit - openpgp-key-edit-date-title = Pikenda kehtivusaega - openpgp-manager-description = Kasuta OpenPGP võtmehaldurit oma kontaktide avalike võtmete ja kõigi muude võtmete haldamiseks, mida ülal pole loetletud. - openpgp-manager-button = .label = OpenPGP võtmehaldur .accesskey = O - openpgp-key-remove-external = .label = Eemalda välise võtme ID .accesskey = E - key-external-label = Väline GnuPG võti +## Strings in keyDetailsDlg.xhtml + # Strings in keyDetailsDlg.xhtml key-type-public = avalik võti key-type-primary = peamine võti @@ -420,13 +335,13 @@ key-revoked-simple = Võti tühistati key-do-you-accept = Kas tunnustad seda võtit digiallkirjade kontrollimiseks ja kirjade krüptimiseks? key-verification = Kontrolli võtme sõrmejälge, kasutades muud turvalist sidekanalit peale e-posti, veendumaks, et see on tõesti aadressi { $addr } võti. +## Strings enigmailMsgComposeOverlay.js + # Strings enigmailMsgComposeOverlay.js cannot-use-own-key-because = Kirja saatmine pole võimalik, sest esineb probleem sinu isikliku võtmega. { $problem } -cannot-encrypt-because-missing = Otspunktkrüptitud kirja pole võimalik saata, sest järgnevate saajate võtmetega on probleeme: { $problem } window-locked = Koostamise aken on lukus, saatmine katkestati -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = See on krüptitud kirja osa. Selle avamiseks eraldi aknas pead klõpsama manusel. +## Strings in keyserver.jsm # Strings in keyserver.jsm keyserver-error-aborted = Katkestatud @@ -438,6 +353,8 @@ keyserver-error-security-error = Võtmeserver ei toeta krüptitud ligipääsu. keyserver-error-certificate-error = Võtmeserveri sert ei kehti. keyserver-error-unsupported = Võtmeserver pole toetatud. +## Strings in mimeWkdHandler.jsm + # Strings in mimeWkdHandler.jsm wkd-message-body-req = Sinu e-posti teenusepakkuja töötles sinu taotluse avaliku võtme üleslaadimiseks OpenPGP veebis olevasse võtmete kataloogi. @@ -446,12 +363,16 @@ wkd-message-body-process = See kiri on seotud teie avaliku võtme veebis olevasse OpenPGP võtmete kataloogi lisamise taotluse automaatse töötlemisega. Praegu ei ole sul vaja täiendavaid tegevusi teha. +## Strings in persistentCrypto.jsm + # Strings in persistentCrypto.jsm converter-decrypt-body-failed = Kirja pealkirjaga { $subject } polnud võimalik dekrüptida. Kas soovid proovida teise parooliga või jätta selle kirja vahele? +## Strings filters.jsm + # Strings filters.jsm filter-folder-required = Sa pead valima sihtkausta. filter-decrypt-move-warn-experimental = @@ -464,11 +385,15 @@ filter-warn-key-not-secret = Hoiatus - filtri tegevus "Krüpteeri võtmega" asendab saajad. Kui sul puudub ‘{ $desc }’ jaoks salajane võti, siis pole sul enam võimalik neid kirju lugeda. +## Strings filtersWrapper.jsm + # Strings filtersWrapper.jsm filter-decrypt-move-label = Dekrüpti jäädavalt (OpenPGP) filter-decrypt-copy-label = Loo dekrüpteeritud koopia (OpenPGP) filter-encrypt-label = Krüpteeri võtmega (OpenPGP) +## Strings in enigmailKeyImportInfo.js + # Strings in enigmailKeyImportInfo.js import-info-title = .title = Võtmete importimine õnnestus! @@ -478,6 +403,8 @@ import-info-fpr = Sõrmejälg import-info-details = Vaata üksikasju ja halda võtme tunnustust import-info-no-keys = Võtmeid ei imporditud. +## Strings in enigmailKeyManager.js + # Strings in enigmailKeyManager.js import-from-clip = Kas soovid importida mõned võtmed vahemälust? import-from-url = Laadi avalik võti alla järgnevalt URLilt: @@ -519,10 +446,14 @@ dlg-button-delete = &Kustuta openpgp-export-public-success = <b>Avalik võti edukalt eksporditud!</b> openpgp-export-public-fail = <b>Valitud avalikku võtit pole võimalik eksportida!</b> - openpgp-export-secret-success = <b>Salajane võti edukalt eksporditud!</b> openpgp-export-secret-fail = <b>Valitud salajast võtit pole võimalik eksportida!</b> +## Strings in keyObj.jsm +## Variables: +## $userId (String) - The name and/or email address that is mentioned in the key's information. +## $keyId (String) - Key id for the key entry. + # Strings in keyObj.jsm key-ring-pub-key-revoked = Võti { $userId } (võtme ID { $keyId }) on tühistatud. key-ring-pub-key-expired = Võti { $userId } (võtme ID { $keyId }) on aegunud. @@ -534,67 +465,71 @@ key-ring-sign-sub-keys-expired = Kõik võtme { $userId } (võtme ID { $keyId }) key-ring-enc-sub-keys-revoked = Kõik võtme { $userId } (võtme ID { $keyId }) krüptimise alamvõtmed on tühistatud. key-ring-enc-sub-keys-expired = Kõik võtme { $userId } (võtme ID { $keyId }) krüptimise alamvõtmed on aegunud. +## Strings in gnupg-keylist.jsm + # Strings in gnupg-keylist.jsm keyring-photo = Pilt user-att-photo = Kasutaja atribuut (JPEG-pilt) +## Strings in key.jsm + # Strings in key.jsm already-revoked = See võti on juba tühistatud. - # $identity (String) - the id and associated user identity of the key being revoked revoke-key-question = Oled tühistamas võtit ‘{ $identity }’. Sul pole võimalik enam selle võtmega allkirjastada ja pärast levitamist ei saa teised enam selle võtmega krüptida. Saad seda endiselt kasutada, et dekrüptida vanu kirju. Kas soovid jätkata? - # $keyId (String) - the id of the key being revoked revoke-key-not-present = Sul pole võtit (ux{ $keyId }), mis vastaks sellele tühistamise serdile. Kui oled kaotanud oma võtme, siis pead selle importima (näiteks võtmete serverist) enne tühistusserdi importimist! - # $keyId (String) - the id of the key being revoked revoke-key-already-revoked = Võti 0x{ $keyId } on juba tühistatud. - key-man-button-revoke-key = &Tühista võti - openpgp-key-revoke-success = Võti tühistati edukalt. - after-revoke-info = Võti on tühistatud. Jaga seda avalikku võtit uuesti, saates see e-postiga või laadides üles võtmete serverisse, et anda teistele teada selle tühistamisest. Kohe, kui teiste poolt kasutatav tarkvara saab teada võtme tühistamisest, lõpetab see sinu vana võtme kasutamise. Kui oled kasutamas uut võtit sama e-posti aadressi jaoks ja lisad selle avaliku võtme oma saadetavatele kirjadele, siis lisatakse automaatselt ka info vana võtme tühistamise kohta. +## Strings in keyRing.jsm & decryption.jsm + # Strings in keyRing.jsm & decryption.jsm key-man-button-import = &Impordi - delete-key-title = Kustuta OpenPGP võti - delete-external-key-title = Eemalda väline GnuPG võti - delete-external-key-description = Kas soovid eemaldada selle välise GnuPG võtme ID? - key-in-use-title = OpenPGP võti on praegu kasutusel - delete-key-in-use-description = Pole võimalik jätkata! Võti, mille valisid kustutamiseks, on praegu selle identiteedi poolt kasutuses. Vali teine võti või vali mitte ükski ja proovi siis uuesti. - revoke-key-in-use-description = Pole võimalik jätkata! Võti, mille valisid tühistamiseks, on praegu selle identiteedi poolt kasutuses. Vali teine võti või vali mitte ükski ja proovi siis uuesti. +## Strings used in errorHandling.jsm + # Strings used in errorHandling.jsm key-error-key-spec-not-found = E-posti aadressi ‘{ $keySpec }’ pole võimalik sobitada ühegi võtmega sinu võtmerõngal. key-error-key-id-not-found = Seadistatud võtit ‘{ $keySpec }’ pole võimalik sinu võtmerõngalt leida. key-error-not-accepted-as-personal = Sa pole kinnitanud, et võti IDga ‘{ $keySpec }’ on sinu isiklik võti. +## Strings used in enigmailKeyManager.js & windows.jsm + # Strings used in enigmailKeyManager.js & windows.jsm need-online = Valitud funktsionaalsus pole võrguta režiimis saadaval. Palun ühendu võrku ja proovi siis uuesti. +## Strings used in keyRing.jsm & keyLookupHelper.jsm + # Strings used in keyRing.jsm & keyLookupHelper.jsm no-key-found2 = Me ei leidnud otsingule vastavat kasutatavat võtit. no-update-found = Sul on juba võrgust leitud võtmed olemas. +## Strings used in keyRing.jsm & GnuPGCryptoAPI.jsm + # Strings used in keyRing.jsm & GnuPGCryptoAPI.jsm fail-key-extract = Viga - võtme eksportimise käsk ebaõnnestus +## Strings used in keyRing.jsm + # Strings used in keyRing.jsm fail-cancel = Viga - võtme vastuvõtmine katkestati kasutaja poolt not-first-block = Viga - esimene OpenPGP plokk pole avaliku võtme plokk @@ -604,6 +539,8 @@ file-write-failed = Faili { $output } kirjutamine ebaõnnestus no-pgp-block = Viga - kehtivat soomustatud OpenPGP andmete plokki ei leitud confirm-permissive-import = Importimine ebaõnnestus. Imporditav võti võib olla rikutud või kasutab tundmatuid atribuute. Kas soovid proovida importida korrektsed osad? See võib kaasa tuua mittetäielike ja kasutuskõlbmatute võtmete importimise. +## Strings used in trust.jsm + # Strings used in trust.jsm key-valid-unknown = tundmatu key-valid-invalid = vigane @@ -616,14 +553,17 @@ key-trust-full = usaldatud key-trust-ultimate = ülim key-trust-group = (grupp) +## Strings used in commonWorkflows.js + # Strings used in commonWorkflows.js import-key-file = Impordi OpenPGP võtmefail import-rev-file = Impordi OpenPGP tühistusfail gnupg-file = GnuPG failid import-keys-failed = Võtmete importimine ebaõnnestus -passphrase-prompt = Palun sisesta järgmise võtme avamiseks parool: { $key } file-to-big-to-import = Fail on liiga suur. Palun ära impordi suurt arvu võtmeid korraga. +## Strings used in enigmailKeygen.js + # Strings used in enigmailKeygen.js save-revoke-cert-as = Loo ja salvesta tühistussert revoke-cert-ok = Tühistussert on edukalt loodud. Sa võid seda kasutada, et tunnistada oma avalik võti kehtetuks, nt juhul kui oled kaotanud oma salajase võtme. @@ -638,11 +578,10 @@ key-abort = Kas katkestada võtme genereerimine? key-man-button-generate-key-abort = &Katkesta võtme genereerimine key-man-button-generate-key-continue = &Jätka võtme genereerimist -# Strings used in enigmailMessengerOverlay.js +## Strings used in enigmailMessengerOverlay.js failed-decrypt = Viga - dekrüptimine ebaõnnestus fix-broken-exchange-msg-failed = Seda kirja pole võimalik parandada. - attachment-no-match-from-signature = Allkirjafaili ‘{ $attachment }’ polnud võimalik manusega sobitada attachment-no-match-to-signature = Manust ‘{ $attachment }’ polnud võimalik allkirjafailiga sobitada signature-verified-ok = Manuse { $attachment } allkiri kinnitati edukalt @@ -653,6 +592,8 @@ decrypt-ok-no-sig = msg-ovl-button-cont-anyway = &Jätka ikkagi enig-content-note = *Selle kirja manuseid pole allkirjastatud ega krüptitud* +## Strings used in enigmailMsgComposeOverlay.js + # Strings used in enigmailMsgComposeOverlay.js msg-compose-button-send = &Saada kiri msg-compose-details-button-label = Üksikasjad… @@ -687,6 +628,8 @@ possibly-pgp-mime = Võimalik PGP/MIME krüptitud või allkirjastatud kiri, kont cannot-send-sig-because-no-own-key = Seda kirja pole võimalik digitaalselt allkirjastada, sest sa pole veel seadistanud otspunktkrüptimist võtme <{ $key }> jaoks cannot-send-enc-because-no-own-key = Seda kirja pole võimalik krüptitult saata, sest sa pole veel seadistanud otspunktkrüptimist võtme <{ $key }> jaoks +## Strings used in decryption.jsm + # Strings used in decryption.jsm do-import-multiple = Kas importida järgnevad võtmed? @@ -702,17 +645,25 @@ attachment-pgp-key = Võtmete importimiseks klõpsa ‘Impordi’ või faili sisu avamiseks brauseris klõpsa ‘Vaata’ dlg-button-view = &Vaata +## Strings used in enigmailMsgHdrViewOverlay.js + # Strings used in enigmailMsgHdrViewOverlay.js decrypted-msg-with-format-error = Dekrüptitud kiri (taastatud katkise PGP e-kirja formaat, mille põhjustas tõenäoliselt vana Exhange'i server, nii et tulemus ei pruugi olla lugemiseks kõlblik) +## Strings used in encryption.jsm + # Strings used in encryption.jsm not-required = Viga - krüptimine pole nõutud +## Strings used in windows.jsm + # Strings used in windows.jsm no-photo-available = Pilt pole saadaval error-photo-path-not-readable = Pildi asukoht ‘{ $photo }’ pole loetav debug-log-title = OpenPGP silumislogi +## Strings used in dialog.jsm + # Strings used in dialog.jsm repeat-prefix = See hoiatus kordub { $count } repeat-suffix-singular = kord veel. @@ -728,10 +679,14 @@ enig-confirm = OpenPGP kinnitus enig-alert = OpenPGP hoiatus enig-info = OpenPGP teave +## Strings used in persistentCrypto.jsm + # Strings used in persistentCrypto.jsm dlg-button-retry = &Proovi uuesti dlg-button-skip = &Jäta vahele +## Strings used in enigmailMsgBox.js + # Strings used in enigmailMsgBox.js enig-alert-title = .title = OpenPGP hoiatus diff --git a/thunderbird-l10n/et/localization/et/messenger/preferences/system-integration.ftl b/thunderbird-l10n/et/localization/et/messenger/preferences/system-integration.ftl index 752a505b83263b787aa39f2829096f096c4d7a21..e18e5bd9cd220dd1797d9a1cf75cd64856d5b076 100644 --- a/thunderbird-l10n/et/localization/et/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/et/localization/et/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Süsteemi integratsioon - +system-integration-dialog-title = Süsteemi integratsioon system-integration-dialog = .buttonlabelaccept = Määra vaikekliendiks .buttonlabelcancel = Jäta vahele .buttonlabelcancel2 = Loobu - default-client-intro = { -brand-short-name }i kasutatakse vaikimisi rakendusena: - unset-default-tooltip = { -brand-short-name }i endaga pole võimalik { -brand-short-name }i vaikekliendi staatust eemaldada. Mõne teise rakenduse vaikekliendiks tegemiseks pead sa kasutama selle rakenduse vastavat funktsionaalsust. - checkbox-email-label = .label = E-postile .tooltiptext = { unset-default-tooltip } @@ -26,7 +23,6 @@ checkbox-feeds-label = checkbox-calendar-label = .label = Kalender .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -35,11 +31,9 @@ system-search-engine-name = [windows] Windows Search *[other] { "" } } - system-search-integration-label = .label = Rakendusel { system-search-engine-name } lubatakse kirju otsida .accesskey = R - check-on-startup-label = .label = See kontroll sooritatakse igal { -brand-short-name }i käivitumisel .accesskey = S diff --git a/thunderbird-l10n/et/manifest.json b/thunderbird-l10n/et/manifest.json index 7cbb6a304aeee9d9bf1962fc544d9c093a157cfe..1f1320592384726d886ada4e133d8c719320c873 100644 --- a/thunderbird-l10n/et/manifest.json +++ b/thunderbird-l10n/et/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Eesti (Estonian)", "description": "Thunderbird Language Pack for Eesti (et) – Estonian", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "et": { - "version": "20231208145724", + "version": "20231215210435", "chrome_resources": { "alerts": "chrome/et/locale/et/alerts/", "autoconfig": "chrome/et/locale/et/autoconfig/", diff --git a/thunderbird-l10n/eu/chrome/eu/locale/eu/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/eu/chrome/eu/locale/eu/messenger/messengercompose/composeMsgs.properties index 21e894ce1c4853f2ad79a6bc23052669b3691a89..89f8187ee1193ac273de34bc1ab7a2b9cccbce71 100644 --- a/thunderbird-l10n/eu/chrome/eu/locale/eu/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/eu/chrome/eu/locale/eu/messenger/messengercompose/composeMsgs.properties @@ -459,3 +459,6 @@ confirmRemoveRecipientRowButton=Kendu ## LOCALIZATION NOTE headersSpaceStyle is for aligning label of a newly create recipient row. ## It should be larger than the largest Header label and identical to &headersSpace2.style; headersSpaceStyle=width: 8em + +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. diff --git a/thunderbird-l10n/eu/localization/eu/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/eu/localization/eu/messenger/compactFoldersDialog.ftl index 0c0d653ffac90cd8adb1067f664b22c3659f9bc3..178a4e7acc2d69f173f5e8103252b48df9f3b10e 100644 --- a/thunderbird-l10n/eu/localization/eu/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/eu/localization/eu/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Trinkotu karpetak - .style = width: 50em; compact-dialog-window-title = .title = Trinkotu karpetak +compact-folders-dialog-title = Trinkotu karpetak compact-dialog = .buttonlabelaccept = Trinkotu orain .buttonaccesskeyaccept = T diff --git a/thunderbird-l10n/eu/localization/eu/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/eu/localization/eu/messenger/openpgp/openpgp.ftl index 883d14bf4402850e0a55ffb65508f01afd1f0338..6253c0406634cbf2465fa8cb6898da68efcb6183 100644 --- a/thunderbird-l10n/eu/localization/eu/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/eu/localization/eu/messenger/openpgp/openpgp.ftl @@ -36,6 +36,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Hau egitura konplexuko gakoa da, bere iraungitze data aldaketa ez da onartzen. openpgp-key-man-title = .title = OpenPGP gako kudeatzailea +openpgp-key-man-dialog-title = OpenPGP gako kudeatzailea openpgp-key-man-generate = .label = Gako pare berria .accesskey = p diff --git a/thunderbird-l10n/eu/localization/eu/messenger/preferences/system-integration.ftl b/thunderbird-l10n/eu/localization/eu/messenger/preferences/system-integration.ftl index 056d4ffba7ec7f0ff21dd589156bb89b3ccfae75..5b6f6e82a6002f07e73019137088bfdda40e0e0b 100644 --- a/thunderbird-l10n/eu/localization/eu/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/eu/localization/eu/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Sistemaren integrazioa - +system-integration-dialog-title = Sistemaren integrazioa system-integration-dialog = .buttonlabelaccept = Ezarri lehenetsi gisa .buttonlabelcancel = Saltatu integrazioa .buttonlabelcancel2 = Utzi - default-client-intro = Erabili { -brand-short-name } bezero lehenetsi gisa honentzat: - unset-default-tooltip = Ezin da { -brand-short-name } barruan { -brand-short-name } bezero lehenetsi gisa desezarri. Beste aplikazio bat lehenesteko, erabili bere 'Ezarri lehenetsitako gisa' elkarrizketa-koadroa. - checkbox-email-label = .label = E-posta .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Jarioak .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Egutegia .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Windows bilaketa *[other] { "" } } - system-search-integration-label = .label = Baimendu { system-search-engine-name }(r)i mezuak bilatzea .accesskey = B - check-on-startup-label = .label = Egiaztatu beti { -brand-short-name } abiaraztean .accesskey = a diff --git a/thunderbird-l10n/eu/manifest.json b/thunderbird-l10n/eu/manifest.json index 7253b9a47c29964d5db759a8214fc332da35140a..c73f8b68f407e021360c43e9c4e99f98d1e23176 100644 --- a/thunderbird-l10n/eu/manifest.json +++ b/thunderbird-l10n/eu/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Euskara (Basque)", "description": "Thunderbird Language Pack for Euskara (eu) – Basque", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "eu": { - "version": "20231208145032", + "version": "20231215210120", "chrome_resources": { "alerts": "chrome/eu/locale/eu/alerts/", "autoconfig": "chrome/eu/locale/eu/autoconfig/", diff --git a/thunderbird-l10n/fi/localization/fi/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/fi/localization/fi/messenger/compactFoldersDialog.ftl index 26dbf15c957063a4f2e5a6dee49ec7d58093e300..6bb01317131c0e559df53dd464fc718659e5a3fe 100644 --- a/thunderbird-l10n/fi/localization/fi/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/fi/localization/fi/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Tiivistä kansiot - .style = width: 50em; compact-dialog-window-title = .title = Tiivistä kansiot +compact-folders-dialog-title = Tiivistä kansiot compact-dialog = .buttonlabelaccept = Tiivistä nyt .buttonaccesskeyaccept = T diff --git a/thunderbird-l10n/fi/localization/fi/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/fi/localization/fi/messenger/openpgp/openpgp.ftl index 0d349c035af70c8e90c969df09a61c6724acd2c3..76db7957ea64a71f76b124b0de77b359da7b8605 100644 --- a/thunderbird-l10n/fi/localization/fi/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/fi/localization/fi/messenger/openpgp/openpgp.ftl @@ -38,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Tämä on avain, jolla on monimutkainen rakenne. Sen voimassaoloajan muuttamista ei tueta. openpgp-key-man-title = .title = OpenPGP-avainhallinta +openpgp-key-man-dialog-title = OpenPGP-avainhallinta openpgp-key-man-generate = .label = Uusi avainpari .accesskey = U diff --git a/thunderbird-l10n/fi/localization/fi/messenger/preferences/system-integration.ftl b/thunderbird-l10n/fi/localization/fi/messenger/preferences/system-integration.ftl index 85be3fa8c061fc4d7d792995685efbe57a1959a2..cb9df587652724bb7c6d03c92d486a13f25a8e71 100644 --- a/thunderbird-l10n/fi/localization/fi/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/fi/localization/fi/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Järjestelmään sopeuttaminen - +system-integration-dialog-title = Järjestelmään sopeuttaminen system-integration-dialog = .buttonlabelaccept = Aseta oletukseksi .buttonlabelcancel = Ohita järjestelmään sopeuttaminen .buttonlabelcancel2 = Peruuta - default-client-intro = Käytä { -brand-short-name }iä oletusohjelmana: - unset-default-tooltip = { -brand-short-name }istä ei ole mahdollista asettaa toista ohjelmaa järjestelmän oletukseksi. Aseta toinen ohjelma oletukseksi sen omalla ”Aseta oletukseksi” -asetuksella. - checkbox-email-label = .label = Sähköpostille .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Syötteille .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Kalenterille .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Windowsin haku *[other] { "" } } - system-search-integration-label = .label = Salli käyttöjärjestelmän { system-search-engine-name } -hakutoiminnon etsiä viesteistä .accesskey = S - check-on-startup-label = .label = Tee tämä tarkistus aina, kun { -brand-short-name } käynnistetään .accesskey = T diff --git a/thunderbird-l10n/fi/localization/fi/messenger/unifiedToolbarItems.ftl b/thunderbird-l10n/fi/localization/fi/messenger/unifiedToolbarItems.ftl index c53fd7852d6c8d61ecd8f8abd9f2c5ff2882dcb7..2b143cbb3bae3ba564654b5a110e28e418313cc0 100644 --- a/thunderbird-l10n/fi/localization/fi/messenger/unifiedToolbarItems.ftl +++ b/thunderbird-l10n/fi/localization/fi/messenger/unifiedToolbarItems.ftl @@ -145,6 +145,7 @@ toolbar-throbber = toolbar-create-address-book-label = Uusi osoitekirja toolbar-create-address-book = .title = Luo uusi osoitekirja +toolbar-import-contacts-label = Tuo ## New Address Book popup items diff --git a/thunderbird-l10n/fi/manifest.json b/thunderbird-l10n/fi/manifest.json index 2994202c564279050c95497f83752eba41a4aaf5..df8608478a199856d9f81e730cca5ef266cca3ce 100644 --- a/thunderbird-l10n/fi/manifest.json +++ b/thunderbird-l10n/fi/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Suomi (Finnish)", "description": "Thunderbird Language Pack for Suomi (fi) – Finnish", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "fi": { - "version": "20231208145116", + "version": "20231215210206", "chrome_resources": { "alerts": "chrome/fi/locale/fi/alerts/", "autoconfig": "chrome/fi/locale/fi/autoconfig/", diff --git a/thunderbird-l10n/fr/localization/fr/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/fr/localization/fr/messenger/accountcreation/accountHub.ftl index 57fa06e3d755aafc1e37eb67a96113bee5a4523e..f592b5a6b13a5e509dfe93fabbdb9211dbc7ebcb 100644 --- a/thunderbird-l10n/fr/localization/fr/messenger/accountcreation/accountHub.ftl +++ b/thunderbird-l10n/fr/localization/fr/messenger/accountcreation/accountHub.ftl @@ -80,3 +80,4 @@ account-hub-username-label = Nom d’utilisateur account-hub-adding-account-title = Ajout du compte account-hub-adding-account-subheader = Nouveau test des paramètres de configuration du compte account-hub-account-added-title = Compte ajouté +account-hub-find-settings-failed = { -brand-full-name } n’a pas trouvé les paramètres de votre compte de messagerie. diff --git a/thunderbird-l10n/fr/localization/fr/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/fr/localization/fr/messenger/compactFoldersDialog.ftl index 2fe1d01c2f6ddde62940540a6768839a6228fd1a..07240e0f8962e8c33a08d0e215aa0623be3473ec 100644 --- a/thunderbird-l10n/fr/localization/fr/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/fr/localization/fr/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Compacter les dossiers - .style = width: 50em; compact-dialog-window-title = .title = Compacter les dossiers +compact-folders-dialog-title = Compacter les dossiers compact-dialog = .buttonlabelaccept = Compacter maintenant .buttonaccesskeyaccept = C diff --git a/thunderbird-l10n/fr/localization/fr/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/fr/localization/fr/messenger/openpgp/openpgp.ftl index b55679412f6ed42722279aa64a19e9f0986588fe..2dc4ae5face66850915ad0dac77a643880b8da17 100644 --- a/thunderbird-l10n/fr/localization/fr/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/fr/localization/fr/messenger/openpgp/openpgp.ftl @@ -29,36 +29,6 @@ e2e-encrypt-drafts = e2e-autocrypt-headers = .label = Envoyer la ou les clés publiques OpenPGP dans l’en-tête des messages pour assurer la compatibilité avec Autocrypt .accesskey = v -openpgp-key-user-id-label = Compte / Identifiant utilisateur -openpgp-keygen-title-label = - .title = Générer une clé OpenPGP -openpgp-cancel-key = - .label = Annuler - .tooltiptext = Annuler la génération de la clé -openpgp-key-gen-expiry-title = - .label = Expiration de la clé -openpgp-key-gen-expire-label = La clé expire dans -openpgp-key-gen-days-label = - .label = jours -openpgp-key-gen-months-label = - .label = mois -openpgp-key-gen-years-label = - .label = ans -openpgp-key-gen-no-expiry-label = - .label = La clé n’expire jamais -openpgp-key-gen-key-size-label = Taille de la clé -openpgp-key-gen-console-label = Génération de la clé -openpgp-key-gen-key-type-label = Type de clé -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (courbe elliptique) -openpgp-generate-key = - .label = Générer une clé - .tooltiptext = Génère une nouvelle clé conforme à OpenPGP pour chiffrer et/ou signer -openpgp-advanced-prefs-button-label = - .label = Avancé… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">REMARQUE : la génération de clé peut prendre plusieurs minutes.</a> Veuillez ne pas quitter l’application tant que la génération de clé est en cours. Naviguer de façon soutenue sur le Web ou exécuter des opérations qui sollicitent le disque pendant la génération de clé renforcera le caractère aléatoire du processus et l’accélérera. Vous serez averti·e lorsque la génération de clé sera terminée. openpgp-key-created-label = .label = Date de création openpgp-key-expiry-label = @@ -68,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = La structure de cette clé est complexe, la modification de sa date d’expiration n’est pas prise en charge. openpgp-key-man-title = .title = Gestionnaire de clés OpenPGP +openpgp-key-man-dialog-title = Gestionnaire de clés OpenPGP openpgp-key-man-generate = .label = Nouvelle paire de clés .accesskey = N @@ -415,10 +386,7 @@ key-verification = Vérifiez l’empreinte numérique de la clé à l’aide d # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = Impossible d’envoyer le message, car il y a un problème avec votre clé personnelle. { $problem } -cannot-encrypt-because-missing = Impossible d’envoyer ce message avec un chiffrement de bout en bout, car il y a des problèmes avec les clés des destinataires suivants : { $problem } window-locked = La fenêtre de rédaction est verrouillée ; envoi annulé -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = Il s’agit d’une partie d’un message chiffré. Vous devez l’ouvrir dans une fenêtre séparée en cliquant sur la pièce jointe. ## Strings in keyserver.jsm @@ -640,7 +608,6 @@ import-key-file = Importer un fichier de clé OpenPGP import-rev-file = Importer un fichier de révocation OpenPGP gnupg-file = Fichiers GnuPG import-keys-failed = Échec de l’importation des clés -passphrase-prompt = Veuillez saisir la phrase de passe pour déverrouiller la clé suivante : { $key } # Variables: # $key (String) - Key id to unlock. # $date (String) - The date on which the key was created diff --git a/thunderbird-l10n/fr/localization/fr/messenger/preferences/system-integration.ftl b/thunderbird-l10n/fr/localization/fr/messenger/preferences/system-integration.ftl index ec7dccdd55b23da89b9f6f6b2260e56b904e8d60..12e3ec1b643ce35b43d1321b597c046b9225fee7 100644 --- a/thunderbird-l10n/fr/localization/fr/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/fr/localization/fr/messenger/preferences/system-integration.ftl @@ -4,6 +4,7 @@ system-integration-title = .title = Intégration système +system-integration-dialog-title = Intégration système system-integration-dialog = .buttonlabelaccept = Définir par défaut .buttonlabelcancel = Ignorer l’intégration diff --git a/thunderbird-l10n/fr/manifest.json b/thunderbird-l10n/fr/manifest.json index 3beb5deb30b28db7d86274aef1fc7aa6bcbaa41d..9d632f15f7f1cfb2cf1546b4ac09cebd5d9bc01f 100644 --- a/thunderbird-l10n/fr/manifest.json +++ b/thunderbird-l10n/fr/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Français (French)", "description": "Thunderbird Language Pack for Français (fr) – French", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "fr": { - "version": "20231208145201", + "version": "20231215210252", "chrome_resources": { "alerts": "chrome/fr/locale/fr/alerts/", "autoconfig": "chrome/fr/locale/fr/autoconfig/", diff --git a/thunderbird-l10n/fy-NL/localization/fy-NL/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/fy-NL/localization/fy-NL/messenger/accountcreation/accountHub.ftl index a589245f712b4236b0c406f5f0b412627e02042f..f2631f1c7812d404c6a5dc1f6307bb048f4cc3fc 100644 --- a/thunderbird-l10n/fy-NL/localization/fy-NL/messenger/accountcreation/accountHub.ftl +++ b/thunderbird-l10n/fy-NL/localization/fy-NL/messenger/accountcreation/accountHub.ftl @@ -80,3 +80,4 @@ account-hub-username-label = Brûkersnamme account-hub-adding-account-title = Account tafoegje account-hub-adding-account-subheader = Accountkonfiguraasje-ynstellingen opnij teste account-hub-account-added-title = Account tafoege +account-hub-find-settings-failed = { -brand-full-name } kin de ynstellingen foar jo e-mailaccount net fine diff --git a/thunderbird-l10n/fy-NL/localization/fy-NL/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/fy-NL/localization/fy-NL/messenger/compactFoldersDialog.ftl index 0c2b44202c8d2dc542df461d3eb5e53db78796e8..421462f427310a13bafb5fa704d7d3fa3eda637d 100644 --- a/thunderbird-l10n/fy-NL/localization/fy-NL/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/fy-NL/localization/fy-NL/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Mappen komprimearje - .style = width: 50em; compact-dialog-window-title = .title = Mappen komprimearje +compact-folders-dialog-title = Mappen komprimearje compact-dialog = .buttonlabelaccept = No komprimearje .buttonaccesskeyaccept = k diff --git a/thunderbird-l10n/fy-NL/localization/fy-NL/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/fy-NL/localization/fy-NL/messenger/openpgp/openpgp.ftl index 3edd78a3eac41c89b285eca740e5e80c84785eb7..37ce2f1fd1331b32701cfd2efb3f41dbd624ee82 100644 --- a/thunderbird-l10n/fy-NL/localization/fy-NL/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/fy-NL/localization/fy-NL/messenger/openpgp/openpgp.ftl @@ -29,36 +29,6 @@ e2e-encrypt-drafts = e2e-autocrypt-headers = .label = Publike OpenPGP-kaai(en) yn de e-mailheaders ferstjoere foar komptabiliteit mei Autocrypt .accesskey = y -openpgp-key-user-id-label = Account / Brûkers-ID -openpgp-keygen-title-label = - .title = OpenPGP-kaai oanmeitsje -openpgp-cancel-key = - .label = Annulearje - .tooltiptext = Oanmeitsjen kaai annulearje -openpgp-key-gen-expiry-title = - .label = Jildichheidsdoer kaai -openpgp-key-gen-expire-label = Kaai ferrint oer -openpgp-key-gen-days-label = - .label = dagen -openpgp-key-gen-months-label = - .label = moannen -openpgp-key-gen-years-label = - .label = jier -openpgp-key-gen-no-expiry-label = - .label = Kaai ferrint net -openpgp-key-gen-key-size-label = Kaaigrutte -openpgp-key-gen-console-label = Oanmeitsjen kaai -openpgp-key-gen-key-type-label = Kaaitype -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (Elliptyske Kurve) -openpgp-generate-key = - .label = Kaai oanmeitsje - .tooltiptext = Makket in nije OpenPGP-kaai oan foar fersifering en/of ûndertekening -openpgp-advanced-prefs-button-label = - .label = Avansearre… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">OPMERKING: it oanmeitsjen fan de kaai kin inkelde minuten duorje.</a> Slút de tapassing net ôf wylst de kaai oanmakke wurdt. Aktyf navigearje of skiifyntensive bewurkingen útfiere wylst it oanmeitsjen fan de kaai sil de ‘samar-wat-pool’ oanfolje en it proses fersnelle. Jo wurde warskôge wannear’t it oanmeitsjen fan de kaai ree is. openpgp-key-created-label = .label = Oanmakke openpgp-key-expiry-label = @@ -68,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Dit is in kaai mei in komplekse struktuer, it wizigjen fan de ferrindatum wurdt net stipe. openpgp-key-man-title = .title = OpenPGP-kaaibehearder +openpgp-key-man-dialog-title = OpenPGP-kaaibehearder openpgp-key-man-generate = .label = Nije kaaipear .accesskey = p @@ -415,10 +386,7 @@ key-verification = Kontrolearje de fingerôfdruk fan de kaai fia in oar befeilig # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = Kin it berjocht net ferstjoere, omdat der in probleem is mei jo persoanlike kaai. { $problem } -cannot-encrypt-because-missing = Kin dit berjocht net ferstjoere mei end-to-end-fersifering, omdat der problemen binne mei de kaaien fan de folgjende ûntfangers: { $problem } window-locked = It opstelfinster is beskoattele; ferstjoeren annulearre -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = Dit is in fersifere berjochtdiel. Jo moatte it yn in apart finster iepenje troch op de bylage te klikken. ## Strings in keyserver.jsm @@ -641,7 +609,6 @@ import-key-file = OpenPGP-kaaibestân ymportearje import-rev-file = OpenPGP-ynlûkingsbestân ymportearje gnupg-file = GnuPG-bestannen import-keys-failed = It ymportearjen fan de kaaien is mislearre -passphrase-prompt = Fier de wachtwurdsin yn wêrmei't de folgjende kaai ûntskoattele wurdt: { $key } # Variables: # $key (String) - Key id to unlock. # $date (String) - The date on which the key was created diff --git a/thunderbird-l10n/fy-NL/localization/fy-NL/messenger/preferences/system-integration.ftl b/thunderbird-l10n/fy-NL/localization/fy-NL/messenger/preferences/system-integration.ftl index 05b6df7d44b419b8f4a11bc9165092b037a7a8cd..8947bd29ba430cad6e38b87f5d2c3a733608e7b0 100644 --- a/thunderbird-l10n/fy-NL/localization/fy-NL/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/fy-NL/localization/fy-NL/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Systeemyntegraasje - +system-integration-dialog-title = Systeemyntegraasje system-integration-dialog = .buttonlabelaccept = As standert ynstelle .buttonlabelcancel = Yntegraasje oerslaan .buttonlabelcancel2 = Annulearje - default-client-intro = { -brand-short-name } as standertprogramma brûke foar: - unset-default-tooltip = It is net mooglik om it ynstellen fan { -brand-short-name } as de standerrclient yn { -brand-short-name } ûngedien te meitsjen. Om in oare tapassing de standertclient te meitsjen, moatte jo it dialoochfinster ‘As standert ynstellen’ dêrfan brûke. - checkbox-email-label = .label = E-mail .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Feeds .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Aginda .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Windows Zoeken *[other] { "" } } - system-search-integration-label = .label = Lit { system-search-engine-name } troch berjochten sykje .accesskey = S - check-on-startup-label = .label = Dizze kontrole altyd útfiere by it starten fan { -brand-short-name } .accesskey = D diff --git a/thunderbird-l10n/fy-NL/manifest.json b/thunderbird-l10n/fy-NL/manifest.json index dbcfaaf7960eb39e22fa1ad38c542e964b34d752..5de1230c9a1f3b9fada124b9eb1e1f4034a852d8 100644 --- a/thunderbird-l10n/fy-NL/manifest.json +++ b/thunderbird-l10n/fy-NL/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Frysk (Frisian)", "description": "Thunderbird Language Pack for Frysk (fy-NL) – Frisian", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "fy-NL": { - "version": "20231208145247", + "version": "20231215210339", "chrome_resources": { "alerts": "chrome/fy-NL/locale/fy-NL/alerts/", "autoconfig": "chrome/fy-NL/locale/fy-NL/autoconfig/", diff --git a/thunderbird-l10n/ga-IE/chrome/ga-IE/locale/ga-IE/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/ga-IE/chrome/ga-IE/locale/ga-IE/messenger/messengercompose/composeMsgs.properties index 69bbe31793124519dffdd90f1a470e02230304e5..d7ad711662c16ceef2babc8874a6dd26b24069bb 100644 --- a/thunderbird-l10n/ga-IE/chrome/ga-IE/locale/ga-IE/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/ga-IE/chrome/ga-IE/locale/ga-IE/messenger/messengercompose/composeMsgs.properties @@ -445,6 +445,8 @@ couldNotGetUsersMailAddress2=An error occurred while sending mail: the sender's couldNotGetSendersIdentity=An error occurred while sending mail: the sender identity was invalid. Please verify the configuration of your identity and try again. ## LOCALIZATION NOTE (smtpSendNotAllowed): argument %s is the Outgoing server (SMTP) response smtpSendNotAllowed=An error occurred while sending mail. The mail server responded:\n%s.\nPlease ensure that you are using the correct identity to send and that the used authentication method is correct. Verify that you are allowed to send via this SMTP server with your current credentials from your current network. +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. ## LOCALIZATION NOTE (smtpClientid): argument %s is the Outgoing server (SMTP) response smtpClientid=The outgoing server (SMTP) detected an error in the CLIENTID command. The message was not sent. The server responded: %s ## LOCALIZATION NOTE (smtpClientidPermission): argument %s is the Outgoing server (SMTP) response diff --git a/thunderbird-l10n/ga-IE/localization/ga-IE/messenger/preferences/system-integration.ftl b/thunderbird-l10n/ga-IE/localization/ga-IE/messenger/preferences/system-integration.ftl index b1dd66e203446e1a49d5b261da5cac20f4b4244f..e656cf82ce0260a272b365d911f46a10c65e833c 100644 --- a/thunderbird-l10n/ga-IE/localization/ga-IE/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/ga-IE/localization/ga-IE/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Comhtháthú Córais - +system-integration-dialog-title = Comhtháthú Córais system-integration-dialog = .buttonlabelaccept = Socraigh mar réamhshocrú .buttonlabelcancel = Ná Bac le Comhtháthú .buttonlabelcancel2 = Cealaigh - default-client-intro = Úsáid { -brand-short-name } mar chliant réamhshocraithe le haghaidh: - unset-default-tooltip = Ní féidir { -brand-short-name } a dhíshocrú mar chliant réamhshocraithe taobh istigh de { -brand-short-name }. Chun feidhmchlár eile a roghnú, caithfidh tú an dialóg 'Socraigh mar réamhshocrú' san fheidhmchlár sin a úsáid. - checkbox-email-label = .label = R-Phost .tooltiptext = { unset-default-tooltip } @@ -23,7 +20,6 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Fothaí .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -32,11 +28,9 @@ system-search-engine-name = [windows] Cuardach Windows *[other] { "" } } - system-search-integration-label = .label = Ceadaigh do { system-search-engine-name } teachtaireachtaí a chuardach .accesskey = C - check-on-startup-label = .label = Seiceáil mar seo i gcónaí agus { -brand-short-name } á thosú .accesskey = a diff --git a/thunderbird-l10n/ga-IE/manifest.json b/thunderbird-l10n/ga-IE/manifest.json index f373d3664ab61d310d50bcb9d59a5851267ace35..445e2b4797e657be07fef57e93d471dbe8da8eac 100644 --- a/thunderbird-l10n/ga-IE/manifest.json +++ b/thunderbird-l10n/ga-IE/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Gaeilge (Irish)", "description": "Thunderbird Language Pack for Gaeilge (ga-IE) – Irish", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "ga-IE": { - "version": "20231208145333", + "version": "20231215210425", "chrome_resources": { "alerts": "chrome/ga-IE/locale/ga-IE/alerts/", "autoconfig": "chrome/ga-IE/locale/ga-IE/autoconfig/", diff --git a/thunderbird-l10n/gd/chrome/gd/locale/branding/brand.dtd b/thunderbird-l10n/gd/chrome/gd/locale/branding/brand.dtd new file mode 100644 index 0000000000000000000000000000000000000000..e444aa671a929170db36ead3aa86e5160429af57 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/branding/brand.dtd @@ -0,0 +1,13 @@ +<!-- 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/. --> +<!ENTITY brandShortName "Thunderbird"> +<!ENTITY brandShorterName "Thunderbird"> +<!ENTITY brandFullName "Mozilla Thunderbird"> +<!-- LOCALIZATION NOTE (brandProductName): + This brand name can be used in messages where the product name needs to + remain unchanged across different versions (Daily, Beta, etc.). --> +<!ENTITY brandProductName "Thunderbird"> +<!ENTITY vendorShortName "Mozilla"> +<!ENTITY trademarkInfo.part1 "Tha Mozilla Thunderbird is suaicheantasan Thunderbird + 'nan comharran-malairt aig Fonndas Mozilla."> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/branding/brand.properties b/thunderbird-l10n/gd/chrome/gd/locale/branding/brand.properties new file mode 100644 index 0000000000000000000000000000000000000000..9dd5011219d1b1a2c492acfc3eb73ef8d0ab7732 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/branding/brand.properties @@ -0,0 +1,7 @@ +# 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/. +brandShortName=Thunderbird +brandShorterName=Thunderbird +brandFullName=Mozilla Thunderbird +vendorShortName=Mozilla diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/alerts/alert.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/alerts/alert.properties new file mode 100644 index 0000000000000000000000000000000000000000..f79e6b6f02653a5069b201273049f64cd2788976 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/alerts/alert.properties @@ -0,0 +1,23 @@ +# 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/. + +# LOCALIZATION NOTE(closeButton.title): Used as the close button text for web notifications on OS X. +# This should ideally match the string that OS X uses for the close button on alert-type +# notifications. OS X will truncate the value if it's too long. +closeButton.title = Dùin +# LOCALIZATION NOTE(actionButton.label): Used as the button label to provide more actions on OS X notifications. OS X will truncate this if it's too long. +actionButton.label = … +# LOCALIZATION NOTE(webActions.disableForOrigin.label): %S is replaced +# with the hostname origin of the notification. +webActions.disableForOrigin.label = Cuir à comas brathan o %S + +# LOCALIZATION NOTE(source.label): Used to show the URL of the site that +# sent the notification (e.g., "via mozilla.org"). "%1$S" is the source host +# and port. +source.label=slighe %1$S +webActions.settings.label = Roghainnean nam brathan + +# LOCALIZATION NOTE(pauseNotifications.label): %S is replaced with the +# brandShortName of the application. +pauseNotifications.label = Cuir am brath ’na stad gus an ath-thòisich %S diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/autoconfig/autoconfig.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/autoconfig/autoconfig.properties new file mode 100644 index 0000000000000000000000000000000000000000..cca9a5f745ac850fab33611b21daa73957330c45 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/autoconfig/autoconfig.properties @@ -0,0 +1,12 @@ +# 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/. + +readConfigTitle = Mearachd rèiteachaidh +readConfigMsg = Dh'fhàillig leughadh an fhaidhle rèiteachaidh. Leig fios gu rianaire an t-siostaim agad. + +autoConfigTitle = Caismeachd AutoConfig +autoConfigMsg = Dh'fhàillig Netscape.cfg/AutoConfig. Leig fios gu rianaire an t-siostaim agad. \n Mearachd: Dh'fhàillig %S: + +emailPromptTitle = Seòladh puist-dhealain +emailPromptMsg = Cuir a-steach seòladh a' phuist-dhealain agad diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar-alarms.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar-alarms.properties new file mode 100644 index 0000000000000000000000000000000000000000..e7869e11fae84b3e8e7a5a894b8d8daaf986b6f4 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar-alarms.properties @@ -0,0 +1,39 @@ +# 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/. + +# LOCALIZATION NOTE (reminderCustomTitle): +# %1$S = unit, %2$S = reminderCustomOrigin +# Example: "3 minutes" "before the task starts" +reminderCustomTitle=%1$S %2$S +reminderTitleAtStartEvent=Nuair a thòisicheas an tachartas +reminderTitleAtStartTask=Nuair a thòisicheas an t-saothair +reminderTitleAtEndEvent=Nuair a chrìochnaicheas an tachartas +reminderTitleAtEndTask=Nuair a chrìochnaicheas an t-saothair + +# LOCALIZATION NOTE (reminderSnoozeOkA11y) +# This string is not seen in the UI, it is read by screen readers when the user +# focuses the "OK" button in the "Snooze for..." popup of the alarm dialog. +# %1$S = any of unit* +reminderSnoozeOkA11y=Cuir 'nam chuimhne fad dùsail rè %1$S + +reminderCustomOriginBeginBeforeEvent=mus tòisich an tachartas +reminderCustomOriginBeginAfterEvent=às dèidh dhan tachartas tòiseachadh +reminderCustomOriginEndBeforeEvent=mus crìochnaich an tachartas +reminderCustomOriginEndAfterEvent=às dèidh dhan tachartas crìochnachadh +reminderCustomOriginBeginBeforeTask=mus tòisich an t-saothair +reminderCustomOriginBeginAfterTask=às dèidh dhan t-saothair tòiseachadh +reminderCustomOriginEndBeforeTask=mus crìochnaich an t-saothair +reminderCustomOriginEndAfterTask=às dèidh dhan t-saothair crìochnachadh + +reminderErrorMaxCountReachedEvent=Tha cuingeachadh air a' mhìosachan a thagh thu 's chan urrainn do bharrachd air #1 chuimhneachan a bhith aig gach tachartas.;Tha cuingeachadh air a' mhìosachan a thagh thu 's chan urrainn do bharrachd air #1 chuimhneachan a bhith aig gach tachartas.;Tha cuingeachadh air a' mhìosachan a thagh thu 's chan urrainn do bharrachd air #1 cuimhneachain a bhith aig gach tachartas.;Tha cuingeachadh air a' mhìosachan a thagh thu 's chan urrainn do bharrachd air #1 cuimhneachan a bhith aig gach tachartas. +reminderErrorMaxCountReachedTask=Tha cuingeachadh air a' mhìosachan a thagh thu 's chan urrainn do bharrachd air #1 chuimhneachan a bhith aig gach saothair.;Tha cuingeachadh air a' mhìosachan a thagh thu 's chan urrainn do bharrachd air #1 shaothair a bhith aig gach tachartas.;Tha cuingeachadh air a' mhìosachan a thagh thu 's chan urrainn do bharrachd air #1 saothraichean a bhith aig gach tachartas.;Tha cuingeachadh air a' mhìosachan a thagh thu 's chan urrainn do bharrachd air #1 saothair a bhith aig gach tachartas. + +# LOCALIZATION NOTE (reminderReadonlyNotification) +# This notification will be presented in the alarm dialog if reminders for not +# writable items/calendars are displayed. +# %1$S - localized value of calendar.alarm.snoozeallfor.label (defined in calendar.dtd) +reminderReadonlyNotification=Chan urrainnear cuimhneachain airson mìosachain a tha ri leughadh a-mhàin a chur nan dùsal ach dìreach an leigeil seachad - cha chuir am putan “%1$S” ach cuimhneachain o mhìosachain so-sgrìobhte nan dùsal. +# LOCALIZATION NOTE (reminderDisabledSnoozeButtonTooltip) +# This tooltip is only displayed, if the button is disabled +reminderDisabledSnoozeButtonTooltip=Chan urrainnear cuimhneachadh o mhìosachain a tha ri leughadh a-mhàin a chur nan dùsal diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar-event-dialog-attendees.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar-event-dialog-attendees.properties new file mode 100644 index 0000000000000000000000000000000000000000..2ecc4aa8378f6b5e4d4cf25f10bbbc00e86ccc6e --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar-event-dialog-attendees.properties @@ -0,0 +1,15 @@ +# 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/. + +event.attendee.role.required = Freastalaiche riatanach +event.attendee.role.optional = Freastalaiche roghainneil +event.attendee.role.nonparticipant = Neo-fhreastalaiche +event.attendee.role.chair = Cathraiche +event.attendee.role.unknown = Freastalaiche neo-aithnichte (%1$S) + +event.attendee.usertype.individual = Neach +event.attendee.usertype.group = Buidheann +event.attendee.usertype.resource = Goireas +event.attendee.usertype.room = Seòmar +event.attendee.usertype.unknown = Chan eil fhios dè seòrsa (%1$S) diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar-event-dialog.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar-event-dialog.dtd new file mode 100644 index 0000000000000000000000000000000000000000..ce02495683c19e5352605dce5fcca7083a5039da --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar-event-dialog.dtd @@ -0,0 +1,428 @@ +<!-- 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/. --> + +<!ENTITY event.title.label "Deasaich an rud seo" > + +<!ENTITY event.dialog.keepDurationButton.tooltip "Glèidh an fhaid ma thèid an latha crìochnachaidh atharrachadh"> +<!ENTITY event.dialog.keepDurationButton.accesskey "K"> + +<!ENTITY newevent.from.label "O" > +<!ENTITY newevent.to.label "Gu" > + +<!ENTITY newevent.status.label "Staid" > +<!ENTITY newevent.status.accesskey "S" > +<!ENTITY newevent.eventStatus.none.label "Gun sònrachadh" > +<!ENTITY newevent.eventStatus.none.accesskey "G" > +<!ENTITY newevent.todoStatus.none.label "Gun sònrachadh" > +<!ENTITY newevent.eventStatus.cancelled.label "Air a sgur dheth" > +<!ENTITY newevent.eventStatus.cancelled.accesskey "A" > +<!ENTITY newevent.todoStatus.cancelled.label "Air a sgur dheth" > +<!ENTITY newevent.status.tentative.label "An dòchas" > +<!ENTITY newevent.status.tentative.accesskey "A" > +<!ENTITY newevent.status.confirmed.label "Air a dhearbhachadh" > +<!ENTITY newevent.status.confirmed.accesskey "c" > +<!ENTITY newevent.status.needsaction.label "Feumach air gnìomh" > +<!ENTITY newevent.status.inprogress.label "'Ga phròiseasadh" > +<!ENTITY newevent.status.completed.label "Air a choileanadh" > + +<!-- The following entity is for New Task dialog only --> +<!ENTITY newtodo.percentcomplete.label "% deiseil"> + +<!-- LOCALIZATON NOTE(event.attendees.notify.label,event.attendees.notifyundisclosed.label, + event.attendees.disallowcounter.label) + - These three labels are displayed side by side in the event dialog, make sure + - they still fit in. --> +<!ENTITY event.attendees.notify.label "Cuir fios dha na freastalaichean"> +<!ENTITY event.attendees.notify.accesskey "f"> +<!ENTITY event.attendees.notifyundisclosed.label "Cuireadh an t-aon do gach frithealaiche"> +<!ENTITY event.attendees.notifyundisclosed.accesskey "x"> +<!ENTITY event.attendees.notifyundisclosed.tooltip "Ma thaghas tu seo, thèid cuireadh an t-aon a chur do gach frithealaiche. Chan fhaicear anns gach cuireadh ach ainm an neach ud agus chan fhaicear ainmean chàich."> +<!ENTITY event.attendees.disallowcounter.label "Na ceadaich frith-mholaidhean"> +<!ENTITY event.attendees.disallowcounter.accesskey "a"> +<!ENTITY event.attendees.disallowcounter.tooltip "Tha seo a’ comharradh nach gabh thu ri frith-mholaidhean"> + +<!-- Keyboard Shortcuts --> +<!ENTITY event.dialog.new.event.key2 "I"> +<!ENTITY event.dialog.new.task.key2 "D"> +<!ENTITY event.dialog.new.message.key2 "N"> +<!ENTITY event.dialog.close.key "W"> +<!ENTITY event.dialog.save.key "S"> +<!ENTITY event.dialog.saveandclose.key "L"> +<!ENTITY event.dialog.print.key "P"> +<!ENTITY event.dialog.undo.key "Z"> +<!ENTITY event.dialog.redo.key "Y"> +<!ENTITY event.dialog.cut.key "X"> +<!ENTITY event.dialog.copy.key "C"> +<!ENTITY event.dialog.paste.key "V"> +<!ENTITY event.dialog.select.all.key "A"> + +<!-- Menubar --> +<!ENTITY event.menu.item.new.label "Ùr"> +<!ENTITY event.menu.item.new.accesskey "r"> +<!ENTITY event.menu.item.new.event.label "Tachartas"> +<!ENTITY event.menu.item.new.event.accesskey "T"> +<!ENTITY event.menu.item.new.task.label "Saothair"> +<!ENTITY event.menu.item.new.task.accesskey "t"> +<!ENTITY event.menu.item.new.message.label "Teachdaireachd"> +<!ENTITY event.menu.item.new.message.accesskey "T"> +<!ENTITY event.menu.item.new.contact.label "Caraid o leabhar nan seòladh"> +<!ENTITY event.menu.item.new.contact.accesskey "C"> +<!ENTITY event.menu.item.close.label "Dùin"> +<!ENTITY event.menu.item.close.accesskey "D"> + +<!-- LOCALIZATION NOTE + - event.menu.item.save.accesskey is used for the "Save" menu item + - when editing events/tasks in a dialog window. + - event.menu.item.save.tab.accesskey is used for the "Save" menu item + - when editing events/tasks in a tab. --> +<!ENTITY event.menu.item.save.label "Sàbhail"> +<!ENTITY event.menu.item.save.accesskey "S"> +<!ENTITY event.menu.item.save.tab.accesskey "a"> + +<!-- LOCALIZATION NOTE + - event.menu.item.saveandclose.accesskey is used for "Save and Close" + - menu item when editing events/tasks in a dialog window. + - event.menu.item.saveandclose.tab.accesskey is used for "Save and Close" + - when editing events/tasks in a tab. --> +<!ENTITY event.menu.item.saveandclose.label "Sàbhail is dùin e"> +<!ENTITY event.menu.item.saveandclose.accesskey "l"> +<!ENTITY event.menu.item.saveandclose.tab.accesskey "z"> + +<!ENTITY event.menu.item.delete.label "Sguab às…"> +<!ENTITY event.menu.item.delete.accesskey "S"> +<!ENTITY event.menu.item.page.setup.label "Roghainnean na duilleige"> +<!ENTITY event.menu.item.page.setup.accesskey "u"> +<!ENTITY event.menu.item.print.label "Clò-bhuail"> +<!ENTITY event.menu.item.print.accesskey "C"> + +<!ENTITY event.menu.edit.label "Deasaich"> +<!ENTITY event.menu.edit.accesskey "e"> +<!ENTITY event.menu.edit.undo.label "Neo-dhèan"> +<!ENTITY event.menu.edit.undo.accesskey "N"> +<!ENTITY event.menu.edit.redo.label "Ath-dhèan"> +<!ENTITY event.menu.edit.redo.accesskey "A"> +<!ENTITY event.menu.edit.cut.label "Gearr às"> +<!ENTITY event.menu.edit.cut.accesskey "G"> +<!ENTITY event.menu.edit.copy.label "Dèan lethbhreac"> +<!ENTITY event.menu.edit.copy.accesskey "c"> +<!ENTITY event.menu.edit.paste.label "Cuir ann"> +<!ENTITY event.menu.edit.paste.accesskey "C"> +<!ENTITY event.menu.edit.select.all.label "Tagh a h-uile"> +<!ENTITY event.menu.edit.select.all.accesskey "a"> + +<!ENTITY event.menu.view.label "Sealladh"> +<!ENTITY event.menu.view.accesskey "S"> +<!ENTITY event.menu.view.toolbars.label "Na bàraichean-inneal"> +<!ENTITY event.menu.view.toolbars.accesskey "N"> +<!ENTITY event.menu.view.toolbars.event.label "Bàr-inneil nan tachartasan"> +<!ENTITY event.menu.view.toolbars.event.accesskey "e"> +<!ENTITY event.menu.view.toolbars.customize.label "Gnàthaich…"> +<!ENTITY event.menu.view.toolbars.customize.accesskey "c"> +<!ENTITY event.menu.view.showlink.label "Seall an ceangal a tha co-cheangailte ris"> +<!ENTITY event.menu.view.showlink.accesskey "r"> + +<!ENTITY event.menu.options.label "Roghainnean"> +<!ENTITY event.menu.options.accesskey "o"> +<!ENTITY event.menu.options.attendees.label "Thoir cuireadh do dh’fhreastalaichean…"> +<!ENTITY event.menu.options.attendees.accesskey "i"> +<!ENTITY event.menu.options.timezone2.label "Seall an roinn-tìde"> +<!ENTITY event.menu.options.timezone2.accesskey "a"> +<!ENTITY event.menu.options.priority2.label "Prìomhachas"> +<!ENTITY event.menu.options.priority2.accesskey "P"> +<!ENTITY event.menu.options.priority.notspecified.label "Gun sònrachadh"> +<!ENTITY event.menu.options.priority.notspecified.accesskey "G"> +<!ENTITY event.menu.options.priority.low.label "Ìseal"> +<!ENTITY event.menu.options.priority.low.accesskey "l"> +<!ENTITY event.menu.options.priority.normal.label "Àbhaisteach"> +<!ENTITY event.menu.options.priority.normal.accesskey "b"> +<!ENTITY event.menu.options.priority.high.label "Àrd"> +<!ENTITY event.menu.options.priority.high.accesskey "r"> +<!ENTITY event.menu.options.privacy.label "Prìobhaideachd"> +<!ENTITY event.menu.options.privacy.accesskey "P"> +<!ENTITY event.menu.options.privacy.public.label "Tachartas poblach"> +<!ENTITY event.menu.options.privacy.public.accesskey "T"> +<!ENTITY event.menu.options.privacy.confidential.label "Na seall ach an t-àm is an ceann-là"> +<!ENTITY event.menu.options.privacy.confidential.accesskey "s"> +<!ENTITY event.menu.options.privacy.private.label "Tachartas prìobhaideach"> +<!ENTITY event.menu.options.privacy.private.accesskey "r"> +<!ENTITY event.menu.options.show.time.label "Seall an t-àm mar"> +<!ENTITY event.menu.options.show.time.accesskey "t"> +<!ENTITY event.menu.options.show.time.busy.label "Trang"> +<!ENTITY event.menu.options.show.time.busy.accesskey "T"> +<!ENTITY event.menu.options.show.time.free.label "Saor"> +<!ENTITY event.menu.options.show.time.free.accesskey "S"> + +<!ENTITY event.invite.attendees.label "Thoir cuireadh do dh’fhreastalaichean…"> +<!ENTITY event.invite.attendees.accesskey "i"> +<!ENTITY event.email.attendees.label "Sgrìobh post-dealain dhan a h-uile freastalaiche…"> +<!ENTITY event.email.attendees.accesskey "a"> +<!ENTITY event.email.tentative.attendees.label "Sgrìobh post-dealain dha na freastalaichean nach eil cinnteach fhathast…"> +<!ENTITY event.email.tentative.attendees.accesskey "S"> +<!ENTITY event.remove.attendees.label2 "Thoir air falbh gach freastalaiche..."> +<!ENTITY event.remove.attendees.accesskey "r"> +<!ENTITY event.remove.attendee.label "Thoir am freastalaiche air falbh"> +<!ENTITY event.remove.attendee.accesskey "e"> + +<!-- Toolbar --> +<!ENTITY event.toolbar.save.label2 "Sàbhail"> +<!ENTITY event.toolbar.saveandclose.label "Sàbhail is dùin e"> +<!ENTITY event.toolbar.delete.label "Sguab às"> +<!ENTITY event.toolbar.attendees.label "Thoir cuireadh do dhaoine"> +<!ENTITY event.toolbar.privacy.label "Prìobhaideachd"> + +<!ENTITY event.toolbar.save.tooltip2 "Sàbhail"> +<!ENTITY event.toolbar.saveandclose.tooltip "Sàbhail is dùin e"> +<!ENTITY event.toolbar.delete.tooltip "Sguab às"> +<!ENTITY event.toolbar.attendees.tooltip "Thoir cuireadh do dhaoine"> +<!ENTITY event.toolbar.attachments.tooltip "Cuir ceanglachan ris"> +<!ENTITY event.toolbar.privacy.tooltip "Atharraich a' phrìobhaideachd"> +<!ENTITY event.toolbar.priority.tooltip "Atharraich am prìomhachas"> +<!ENTITY event.toolbar.status.tooltip "Atharraich an staid"> +<!ENTITY event.toolbar.freebusy.tooltip "Atharraich na h-amannan saora/tranga"> + +<!-- Counter box --> +<!-- LOCALIZATON NOTE(counter.button.*) + - This is only visible in the UI if you have received a counterproposal before and are going to + - reschedule the event from the imipbar in the email view. Clicking on the buttons will only + - populate the form fields in the dialog, there's no other immediate action on clicking like with + - the imip bar. Rescheduling will happen after clicking on save&close as usual. This screenshot + - illustrates how it might look like: https://bugzilla.mozilla.org/attachment.cgi?id=8810121 --> +<!ENTITY counter.button.proposal.label "Cuir am moladh an sàs"> +<!ENTITY counter.button.proposal.accesskey "m"> +<!ENTITY counter.button.proposal.tooltip2 "Thèid na luachan on fhrith-mholadh a chur ann an raointean an tachartais; cha tèid fios a chur gu gach freastalaiche ach ma nì thu sàbhaladh leis no as aonais nan atharraichean"> +<!ENTITY counter.button.original.label "Cuir an dàta tùsail an sàs"> +<!ENTITY counter.button.original.accesskey "r"> +<!ENTITY counter.button.original.tooltip2 "Thèid luachan an tachartais thùsail a chur sna raointean mar a bha e mus deach am frith-mholadh a dhèanamh"> + +<!-- Main page --> +<!ENTITY event.title.textbox.label "Tiotal:" > +<!ENTITY event.title.textbox.accesskey "T"> +<!ENTITY event.location.label "Àite:" > +<!ENTITY event.location.accesskey "i"> +<!ENTITY event.categories.label "Roinn-seòrsa:"> +<!ENTITY event.categories.accesskey "R"> +<!ENTITY event.categories.textbox.label "Cuir roinn-seòrsa ùr ris" > +<!ENTITY event.calendar.label "Mìosachan:" > +<!ENTITY event.calendar.accesskey "c"> +<!ENTITY event.attendees.label "Freastalaichean:" > +<!ENTITY event.attendees.accesskey "n"> +<!ENTITY event.alldayevent.label "Tachartas fad an latha" > +<!ENTITY event.alldayevent.accesskey "d"> +<!ENTITY event.from.label "Àm-tòiseachaidh:" > +<!ENTITY event.from.accesskey "s"> +<!ENTITY task.from.label "Àm-tòiseachaidh:" > +<!ENTITY task.from.accesskey "s"> +<!ENTITY event.to.label "Àm-crìochnachaidh:" > +<!ENTITY event.to.accesskey "u"> +<!ENTITY task.to.label "Ceann-ama:" > +<!ENTITY task.to.accesskey "C"> +<!ENTITY task.status.label "Cor:" > +<!ENTITY task.status.accesskey "C"> +<!ENTITY event.repeat.label "Dèan a-rithist:" > +<!ENTITY event.repeat.accesskey "r"> +<!ENTITY event.until.label "Gu ruige:"> +<!ENTITY event.until.accesskey "B"> +<!ENTITY event.reminder.label "Cuir 'nam chuimhne:" > +<!ENTITY event.reminder.accesskey "m"> +<!ENTITY event.description.label "Tuairisgeul:" > +<!ENTITY event.description.accesskey "T"> +<!ENTITY event.attachments.label "Ceanglachain:" > +<!ENTITY event.attachments.accesskey "h" > +<!ENTITY event.attachments.menubutton.label "Cuir ris"> +<!ENTITY event.attachments.menubutton.accesskey "C"> +<!ENTITY event.attachments.url.label "Duilleag-lìn…"> +<!ENTITY event.attachments.url.accesskey "D"> +<!ENTITY event.attachments.popup.remove.label "Thoir air falbh" > +<!ENTITY event.attachments.popup.remove.accesskey "r" > +<!ENTITY event.attachments.popup.open.label "Fosgail" > +<!ENTITY event.attachments.popup.open.accesskey "o" > +<!ENTITY event.attachments.popup.removeAll.label "Thoir air falbh a h-uile" > +<!ENTITY event.attachments.popup.removeAll.accesskey "a" > +<!ENTITY event.attachments.popup.attachPage.label "Cuir duilleag-lìn ris…" > +<!ENTITY event.attachments.popup.attachPage.accesskey "g" > +<!ENTITY event.url.label "Ceangal co-cheangailte:" > +<!ENTITY event.priority2.label "Prìomhachas:"> + +<!ENTITY event.reminder.none.label "Na cuir 'nam chuimhne " > +<!ENTITY event.reminder.0minutes.before.label "0 mionaid roimhe" > +<!ENTITY event.reminder.5minutes.before.label "5 mionaidean roimhe" > +<!ENTITY event.reminder.15minutes.before.label "Cairteal na h-uarach roimhe" > +<!ENTITY event.reminder.30minutes.before.label "Leth-uair a thìde roimhe" > +<!ENTITY event.reminder.1hour.before.label "1 uair a thìde roimhe" > +<!ENTITY event.reminder.2hours.before.label "2 uair a thìde roimhe" > +<!ENTITY event.reminder.12hours.before.label "12 uair a thìde roimhe" > +<!ENTITY event.reminder.1day.before.label "1 latha roimhe" > +<!ENTITY event.reminder.2days.before.label "2 latha roimhe" > +<!ENTITY event.reminder.1week.before.label "1 seachdain roimhe" > +<!ENTITY event.reminder.custom.label "Gnàthaichte…" > + +<!ENTITY event.reminder.multiple.label "Cuir 'nam chuimhne iomadh turas…" > + +<!ENTITY event.statusbarpanel.freebusy.label "An t-àm mar:"> +<!ENTITY event.statusbarpanel.privacy.label "Prìobhaideachd:"> + +<!-- Recurrence dialog --> +<!ENTITY recurrence.title.label "Deasaich an tricead"> + +<!ENTITY event.repeat.does.not.repeat.label "Cha tachair seo ach an aon turas"> +<!ENTITY event.repeat.daily.label "Gach latha"> +<!ENTITY event.repeat.weekly.label "Gach seachdain"> +<!ENTITY event.repeat.every.weekday.label "Gach là-obrach dhen t-seachdain"> +<!ENTITY event.repeat.bi.weekly.label "Gach dàrna seachdain"> +<!ENTITY event.repeat.monthly.label "Gach mìos"> +<!ENTITY event.repeat.yearly.label "Gach bliadhna"> +<!ENTITY event.repeat.custom.label "Gnàthaichte…"> + +<!ENTITY event.recurrence.pattern.label "Am pàtran ath-tachairt"> +<!ENTITY event.recurrence.occurs.label "Dèan a-rithist" > +<!ENTITY event.recurrence.day.label "gach latha" > +<!ENTITY event.recurrence.week.label "gach seachdain" > +<!ENTITY event.recurrence.month.label "gach mìos" > +<!ENTITY event.recurrence.year.label "gach bliadhna" > + +<!ENTITY event.recurrence.pattern.every.label "Gach" > +<!ENTITY repeat.units.days.both "Là(ithean)" > +<!ENTITY event.recurrence.pattern.every.weekday.label "Gach là-obrach" > + +<!ENTITY event.recurrence.pattern.weekly.every.label "Gach" > +<!ENTITY repeat.units.weeks.both "Seachdain(ean)" > +<!ENTITY event.recurrence.on.label "Cuin:" > + +<!ENTITY event.recurrence.pattern.monthly.every.label "Gach" > +<!ENTITY repeat.units.months.both "Mìos(an)" > +<!ENTITY event.recurrence.monthly.every.label "Gach" > +<!ENTITY event.recurrence.monthly.first.label "A' chiad"> +<!ENTITY event.recurrence.monthly.second.label "An dàrna"> +<!ENTITY event.recurrence.monthly.third.label "An treas"> +<!ENTITY event.recurrence.monthly.fourth.label "An ceathramh"> +<!ENTITY event.recurrence.monthly.fifth.label "An còigeamh"> +<!ENTITY event.recurrence.monthly.last.label "Fear mu dheireadh"> +<!ENTITY event.recurrence.pattern.monthly.week.1.label "DiDòmhnaich" > +<!ENTITY event.recurrence.pattern.monthly.week.2.label "DiLuain" > +<!ENTITY event.recurrence.pattern.monthly.week.3.label "DiMàirt" > +<!ENTITY event.recurrence.pattern.monthly.week.4.label "DiCiadain" > +<!ENTITY event.recurrence.pattern.monthly.week.5.label "DiarDaoin" > +<!ENTITY event.recurrence.pattern.monthly.week.6.label "DihAoine" > +<!ENTITY event.recurrence.pattern.monthly.week.7.label "DiSathairne" > +<!ENTITY event.recurrence.repeat.dayofmonth.label "Latha dhen mhìos"> +<!ENTITY event.recurrence.repeat.recur.label "Dèan a-rithist air na làithean seo"> + +<!ENTITY event.recurrence.every.label "Gach:" > +<!ENTITY repeat.units.years.both "Bliadhna" > +<!ENTITY event.recurrence.pattern.yearly.every.month.label "Gach" > + +<!-- LOCALIZATON NOTE + Some languages use a preposition when describing dates: + Portuguese: 6 de Setembro + English: 6 [of] September + event.recurrence.pattern.yearly.of.label is "of" in + Edit recurrence window -> Recurrence pattern -> Repeat yearly +--> +<!ENTITY event.recurrence.pattern.yearly.of.label "" > + +<!ENTITY event.recurrence.pattern.yearly.month.1.label "Faoilleach" > +<!ENTITY event.recurrence.pattern.yearly.month.2.label "Gearran" > +<!ENTITY event.recurrence.pattern.yearly.month.3.label "Màrt" > +<!ENTITY event.recurrence.pattern.yearly.month.4.label "Giblean" > +<!ENTITY event.recurrence.pattern.yearly.month.5.label "Cèitean" > +<!ENTITY event.recurrence.pattern.yearly.month.6.label "Ògmhios" > +<!ENTITY event.recurrence.pattern.yearly.month.7.label "Iuchar" > +<!ENTITY event.recurrence.pattern.yearly.month.8.label "Lùnastal" > +<!ENTITY event.recurrence.pattern.yearly.month.9.label "Sultain" > +<!ENTITY event.recurrence.pattern.yearly.month.10.label "Dàmhair" > +<!ENTITY event.recurrence.pattern.yearly.month.11.label "Samhain" > +<!ENTITY event.recurrence.pattern.yearly.month.12.label "Dùbhlachd" > +<!ENTITY event.recurrence.yearly.every.label "Gach"> +<!ENTITY event.recurrence.yearly.first.label "A' chiad"> +<!ENTITY event.recurrence.yearly.second.label "An dàrna"> +<!ENTITY event.recurrence.yearly.third.label "An treas"> +<!ENTITY event.recurrence.yearly.fourth.label "An ceathramh"> +<!ENTITY event.recurrence.yearly.fifth.label "An còigeamh"> +<!ENTITY event.recurrence.yearly.last.label "Fear mu dheireadh"> +<!ENTITY event.recurrence.pattern.yearly.week.1.label "DiDòmhnaich" > +<!ENTITY event.recurrence.pattern.yearly.week.2.label "DiLuain" > +<!ENTITY event.recurrence.pattern.yearly.week.3.label "DiMàirt" > +<!ENTITY event.recurrence.pattern.yearly.week.4.label "DiCiadain" > +<!ENTITY event.recurrence.pattern.yearly.week.5.label "DiarDaoin" > +<!ENTITY event.recurrence.pattern.yearly.week.6.label "DihAoine" > +<!ENTITY event.recurrence.pattern.yearly.week.7.label "DiSathairne" > +<!ENTITY event.recurrence.pattern.yearly.day.label "latha" > +<!ENTITY event.recurrence.of.label "a-mach à" > +<!ENTITY event.recurrence.pattern.yearly.month2.1.label "Faoilleach" > +<!ENTITY event.recurrence.pattern.yearly.month2.2.label "Gearran" > +<!ENTITY event.recurrence.pattern.yearly.month2.3.label "Màrt" > +<!ENTITY event.recurrence.pattern.yearly.month2.4.label "Giblean" > +<!ENTITY event.recurrence.pattern.yearly.month2.5.label "Cèitean" > +<!ENTITY event.recurrence.pattern.yearly.month2.6.label "Ògmhios" > +<!ENTITY event.recurrence.pattern.yearly.month2.7.label "Iuchar" > +<!ENTITY event.recurrence.pattern.yearly.month2.8.label "Lùnastal" > +<!ENTITY event.recurrence.pattern.yearly.month2.9.label "Sultain" > +<!ENTITY event.recurrence.pattern.yearly.month2.10.label "Dàmhair" > +<!ENTITY event.recurrence.pattern.yearly.month2.11.label "Samhain" > +<!ENTITY event.recurrence.pattern.yearly.month2.12.label "Dùbhlachd" > + +<!ENTITY event.recurrence.range.label "Raon nan ath-tachairt"> +<!ENTITY event.recurrence.forever.label "Gun latha crìochnachaidh" > +<!ENTITY event.recurrence.repeat.for.label "Cruthaich" > +<!ENTITY event.recurrence.appointments.label "Coinneamh(an)" > +<!ENTITY event.repeat.until.label "Dèan a-rithist gu ruige" > +<!ENTITY event.recurrence.preview.label "Ro-sheall"> + +<!-- Attendees dialog --> +<!ENTITY invite.title.label "Thoir cuireadh do dhaoine"> +<!ENTITY event.organizer.label "Eagraiche"> +<!ENTITY event.freebusy.suggest.slot "Mol àm:"> +<!ENTITY event.freebusy.button.next.slot "An ath-shlot"> +<!ENTITY event.freebusy.button.previous.slot "An slot roimhe"> +<!ENTITY event.freebusy.zoom "Sùm:"> +<!ENTITY event.freebusy.legend.free "Saor" > +<!ENTITY event.freebusy.legend.busy "Trang" > +<!ENTITY event.freebusy.legend.busy_tentative "An dòchas" > +<!ENTITY event.freebusy.legend.busy_unavailable "Chan eil mi san oifis" > +<!ENTITY event.freebusy.legend.unknown "Gun fhiosrachadh" > +<!ENTITY event.attendee.role.required "Freastalaiche riatanach"> +<!ENTITY event.attendee.role.optional "Freastalaiche roghainneil"> +<!ENTITY event.attendee.role.chair "Cathraiche"> +<!ENTITY event.attendee.role.nonparticipant "Neo-fhreastalaiche"> +<!ENTITY event.attendee.usertype.individual "Neach"> +<!ENTITY event.attendee.usertype.group "Buidheann"> +<!ENTITY event.attendee.usertype.resource "Goireas"> +<!ENTITY event.attendee.usertype.room "Seòmar"> +<!ENTITY event.attendee.usertype.unknown "Neo-aithnichte"> + +<!-- Timezone dialog --> +<!ENTITY timezone.title.label "Sònraich an roinn-tìde"> +<!ENTITY event.timezone.custom.label "Barrachd roinnean-tìde…"> + +<!-- Read-Only dialog --> +<!ENTITY read.only.general.label "Coitcheann"> +<!ENTITY read.only.title.label "Tiotal:"> +<!ENTITY read.only.calendar.label "Mìosachan:"> +<!ENTITY read.only.event.start.label "Latha tòiseachaidh:"> +<!ENTITY read.only.task.start.label "Latha tòiseachaidh:"> +<!ENTITY read.only.event.end.label "Latha crìochnachaidh:"> +<!ENTITY read.only.task.due.label "Ceann-ama:"> +<!ENTITY read.only.repeat.label "Dèan a-rithist:"> +<!ENTITY read.only.location.label "Àite:"> +<!ENTITY read.only.category.label "Roinn:"> +<!ENTITY read.only.organizer.label "Eagraiche:"> +<!ENTITY read.only.reminder.label "Cuimhnich:"> +<!ENTITY read.only.attachments.label "Ceanglachain:"> +<!ENTITY read.only.attendees.label "Freastalaichean"> +<!ENTITY read.only.description.label "Tuairisgeul"> +<!ENTITY read.only.link.label "Ceangal co-cheangailte"> + +<!-- Summary dialog --> +<!ENTITY summary.dialog.saveclose.label "Sàbhail is dùin e"> +<!ENTITY summary.dialog.saveclose.tooltiptext "Sàbhail na h-atharraichean is dùin an uinneag gun a bhith ag atharrachadh staid a’ chom-pàirteachais no freagairt a chur"> +<!ENTITY summary.dialog.accept.label "Gabh ris"> +<!ENTITY summary.dialog.accept.tooltiptext "Gabh ris a’ chuireadh"> +<!ENTITY summary.dialog.tentative.label "Gun chinnt"> +<!ENTITY summary.dialog.tentative.tooltiptext "Gabh ris a’ chuireadh ach gun chinnt"> +<!ENTITY summary.dialog.decline.label "Diùlt"> +<!ENTITY summary.dialog.decline.tooltiptext "Diùlt an cuireadh"> +<!ENTITY summary.dialog.dontsend.label "Na cuir freagairt"> +<!ENTITY summary.dialog.dontsend.tooltiptext "Atharraich staid a’ chom-pàirteachais agad gun fhreagairt a chur gun eagraiche is dùin an uinneag"> +<!ENTITY summary.dialog.send.label "Cuir freagairt an-dràsta"> +<!ENTITY summary.dialog.send.tooltiptext "Cuir freagairt gun eagraiche is dùin an uinneag"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar-event-dialog.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar-event-dialog.properties new file mode 100644 index 0000000000000000000000000000000000000000..9c6b7116d7ee36540e8cc25a1512423a327c1a58 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar-event-dialog.properties @@ -0,0 +1,541 @@ +# 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/. + +# LOCALIZATION NOTE (dailyEveryNth): +# Edit recurrence window -> Recurrence pattern -> Daily repeat rules +# #1 - number +# e.g. "every 4 days" +dailyEveryNth=a h-uile latha;a h-uile #1 latha;a h-uile #1 làithean;a h-uile #1 latha +repeatDetailsRuleDaily4=gach là-obrach + +# LOCALIZATION NOTE (weeklyNthOnNounclass...) +# Edit recurrence window -> Recurrence pattern -> Weekly repeat rules +# Translate these strings according to noun class/gender of weekday (%1$S) +# set in 'repeadDetailsDay...Nounclass' strings. +# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender. +# Add others strings with suffix 3, 4,... for others noun classes if your +# language need them. In this case, corresponding strings must be added for +# others rule strings with 'Nounclass...' suffix and corresponding values +# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings. +# %1$S - weekday (one or more) +# #2 - week interval +# e.g. "every 3 weeks on Tuesday, Wednesday and Thursday +weeklyNthOnNounclass1=a h-uile %1$S #2 seachdain;a h-uile #2 sheachdain %1$S;a h-uile #2 seachdainean %1$S;a h-uile #2 seachdain %1$S +weeklyNthOnNounclass2=a h-uile %1$S;a h-uile #2 sheachdain %1$S;a h-uile #2 seachdainean %1$S;a h-uile #2 seachdain %1$S + +# LOCALIZATION NOTE (weeklyEveryNth): +# Edit recurrence window -> Recurrence pattern -> Weekly repeat rules +# #1 - interval +# e.g. "every 5 weeks" +weeklyEveryNth=a h-uile seachdain;a h-uile #1 sheachdain;a h-uile #1 seachdainean;a h-uile #1 seachdain + +# LOCALIZATION NOTE ('repeatDetailsDay...' and 'repeatDetailsDay...Nounclass'): +# Week days names and week days noun classes (feminine/masculine grammatical +# gender) for languages that need different localization when weekdays nouns +# have different noun classes (genders). +# For every weekday, in 'repeatDetailsDay...Nounclass' strings write: +# "nounclass1" for languages with grammatical genders -> MASCULINE gender; +# for languages with noun classes -> a noun class; +# for languages without noun classes or grammatical gender. +# +# "nounclass2" for languages with grammatical genders -> FEMININE gender; +# for languages with noun classes -> a different noun class. +# +# "nounclass3", "nounclass4" and so on for languages that need more than two +# noun classes for weekdays. In this case add corresponding +# rule string with "Nounclass..." suffix and ordinal string +# "repeatOrdinalxNounclass..." +# Will be used rule strings with "Nounclass..." suffix corresponding to the +# following strings if there is a weekday in the rule string. +repeatDetailsDay1=DiDòmhnaich +repeatDetailsDay1Nounclass=clasainmeir1 +repeatDetailsDay2=DiLuain +repeatDetailsDay2Nounclass=clasainmeir1 +repeatDetailsDay3=DiMàirt +repeatDetailsDay3Nounclass=clasainmeir1 +repeatDetailsDay4=DiCiadain +repeatDetailsDay4Nounclass=clasainmeir1 +repeatDetailsDay5=DiarDaoin +repeatDetailsDay5Nounclass=clasainmeir1 +repeatDetailsDay6=DihAoine +repeatDetailsDay6Nounclass=clasainmeir1 +repeatDetailsDay7=DiSathairne +repeatDetailsDay7Nounclass=clasainmeir1 + +# LOCALIZATION NOTE (repeatDetailsAnd) +# Used to show a number of weekdays in a list +# i.e. "Sunday, Monday, Tuesday " + and + " Wednesday" +repeatDetailsAnd=agus + +# LOCALIZATION NOTE (monthlyRuleNthOfEveryNounclass...): +# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules +# Translate these strings according to noun class/gender of weekday (%2$S) +# set in 'repeadDetailsDay...Nounclass' strings. +# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender. +# Add others strings with suffix 3, 4,... for others noun classes if your +# language need them. In this case, corresponding strings must be added for +# others rule strings with 'Nounclass...' suffix and corresponding values +# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings. +# %1$S - list of weekdays with ordinal, article and noun class/gender +# (ordinal and weekday of every element in the list follow the order +# and the rule of ordinalWeekdayOrder string) +# #2 - interval +# e.g. "the first Monday and the last Friday of every 3 months" +monthlyRuleNthOfEveryNounclass1=%1$S de gach mìos;%1$S de gach #2 mìos(an) +monthlyRuleNthOfEveryNounclass2=%1$S de gach mìos;%1$S de gach #2 mìos(an) + +# LOCALIZATION NOTE (ordinalWeekdayOrder): +# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules +# This string allows to change the order of the elements "ordinal" and +# "weekday" (or to insert a word between them) for the argument %1$S of the +# string monthlyRuleNthOfEveryNounclass... +# Without changing this string, the order is that one required from most +# languages: ordinal + weekday (e.g. "'the first' 'Monday' of every 2 months"). +# %1$S - ordinal with article +# %2$S - weekday noun +# e.g. "'the first' 'Monday'" +# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables. +ordinalWeekdayOrder=%1$S %2$S + +# LOCALIZATION NOTE (monthlyEveryOfEveryNounclass...): +# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules +# Translate these strings according to noun class/gender of weekday (%1$S) +# set in 'repeadDetailsDay...Nounclass' strings. +# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender. +# Add others strings with suffix 3, 4,... for others noun classes if your +# language need them. In this case, corresponding strings must be added for +# others rule strings with 'Nounclass...' suffix and corresponding values +# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings. +# %1$S - list of single weekdays and/or weekdays with ordinal, article and +# noun class/gender when rule contains also specific day in the month +# #2 - interval +# e.g. "every Monday, Tuesday and the second Sunday of every month" +monthlyEveryOfEveryNounclass1=a h-uile %1$S de gach mìos;a h-uile %1$S de gach #2 mhìos;a h-uile %1$S de gach #2 mìosan;a h-uile %1$S de gach #2 mìos +monthlyEveryOfEveryNounclass2=a h-uile %1$S de gach mìos;a h-uile %1$S de gach #2 mhìos;a h-uile %1$S de gach #2 mìosan;a h-uile %1$S de gach #2 mìos + +# LOCALIZATION NOTE (monthlyDaysOfNth_day): +# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules +# %1$S - day of month or a sequence of days of month, possibly followed by an ordinal symbol +# (depending on the string dayOrdinalSymbol in dateFormat.properties) separated with commas; +# e.g. "days 3, 6 and 9" or "days 3rd, 6th and 9th" +monthlyDaysOfNth_day=latha %1$S;làithean %1$S;làithean %1$S;làithean %1$S + +# LOCALIZATION NOTE (monthlyDaysOfNth): +# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules +# %1$S - it's the string monthlyDaysOfNth_day: day of month or a sequence of days +# of month, possibly followed by an ordinal symbol, separated with commas; +# #2 - monthly interval +# e.g. "days 3, 6, 9 and 12 of every 3 months" +monthlyDaysOfNth=%1$S de gach #2 mhìos;%1$S de gach #2 mhìos;%1$S de gach #2 mìosan;%1$S de gach #2 mìos + +# LOCALIZATION NOTE (monthlyLastDayOfNth): +# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules +# %1$S - day of month +# #2 - month interval +# e.g. "the last day of every 3 months" +monthlyLastDayOfNth=latha mu dheireadh a' mhìos;latha mu dheireadh a h-uile #1 mhìos;latha mu dheireadh a h-uile #1 mìosan;latha mu dheireadh a h-uile #1 mìos + +# LOCALIZATION NOTE (monthlyEveryDayOfNth): +# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules +# #2 - month interval +# e.g. "every day of the month every 4 months" +monthlyEveryDayOfNth=gach latha de gach mìos;gach latha dhen mhìos gach #2 mìos(an) + +# LOCALIZATION NOTE (repeatOrdinal...Nounclass...): +# Ordinal numbers nouns for every noun class (grammatical genders) of weekdays +# considered in 'repeatDetailsDayxNounclass' strings. For languages that need +# localization according to genders or noun classes. +# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender. +# Add 'repeatOrdinal...Nounclass' strings with suffix 3, 4 and so on for +# languages with more than two noun classes for weekdays. In this case +# must be added corresponding rule strings with 'Nounclass...' suffix and +# corresponding values "nounclass..." must be written in +# 'repeatDetailsDayxNounclass' strings. +repeatOrdinal1Nounclass1=a' chiad +repeatOrdinal2Nounclass1=an dàrna +repeatOrdinal3Nounclass1=an treas +repeatOrdinal4Nounclass1=an ceathramh +repeatOrdinal5Nounclass1=an còigeamh +repeatOrdinal-1Nounclass1=mu dheireadh +repeatOrdinal1Nounclass2=a' chiad +repeatOrdinal2Nounclass2=an dàrna +repeatOrdinal3Nounclass2=an treas +repeatOrdinal4Nounclass2=an ceathramh +repeatOrdinal5Nounclass2=an còigeamh +repeatOrdinal-1Nounclass2=mu dheireadh + +# LOCALIZATION NOTE (yearlyNthOn): +# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules +# %1$S - month name +# %2$S - day of month possibly followed by an ordinal symbol (depending on the string +# dayOrdinalSymbol in dateFormat.properties) +# #3 - yearly interval +# e.g. "every 3 years on December 14" +# "every 2 years on December 8th" +yearlyNthOn=gach %2$S latha dhen %1$S;gach #3 bhliadhna %2$S latha dhen %1$S;gach #3 bliadhna %2$S latha dhen %1$S;gach #3 bliadhna %2$S latha dhen %1$S + +# LOCALIZATION NOTE (yearlyNthOnNthOfNounclass...): +# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules +# Translate these strings according to noun class/gender of weekday (%2$S) +# set in 'repeadDetailsDay...Nounclass' strings. +# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender. +# Add others strings with suffix 3, 4,... for others noun classes if your +# language need them. In this case, corresponding strings must be added for +# others rule strings with 'Nounclass...' suffix and corresponding values +# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings. +# %1$S - ordinal with article and noun class/gender corresponding to weekday +# %2$S - weekday +# %3$S - month +# #4 - yearly interval +# e.g. "the second Monday of every March" +# e.g "every 3 years the second Monday of March" +yearlyNthOnNthOfNounclass1=%1$S %2$S de gach %3$S;a h-uile #4 bliadhna %1$S %2$S dhen %3$S +yearlyNthOnNthOfNounclass2=%1$S %2$S de gach %3$S;a h-uile #4 bliadhna %1$S %2$S dhen %3$S + +# LOCALIZATION NOTE (yearlyOnEveryNthOfNthNounclass...): +# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules +# Translate these strings according to noun class/gender of weekday (%1$S) +# set in 'repeadDetailsDay...Nounclass' strings. +# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender. +# Add others strings with suffix 3, 4,... for others noun classes if your +# language need them. In this case, corresponding strings must be added for +# others rule strings with 'Nounclass...' suffix and corresponding values +# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings. +# %1$S - weekday +# %2$S - month +# #3 - yearly interval +# e.g. "every Thursday of March" +# e.g "every 3 years on every Thursday of March" +yearlyOnEveryNthOfNthNounclass1=gach %1$S dhen %2$S;gach #3 bliadhna %1$S dhen %2$S +yearlyOnEveryNthOfNthNounclass2=gach %1$S dhen %2$S;gach #3 bliadhna %1$S dhen %2$S + +#LOCALIZATION NOTE (yearlyEveryDayOf): +# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules +# This string describes part of a yearly rule which includes every day of a month. +# %1$S - month +# #2 - yearly interval +# e.g. "every day of December" +# e.g. "every 3 years every day of December" +yearlyEveryDayOf=gach latha dhen: %1$S;gach #2 bliadhna gach latha dhen: %1$S + +repeatDetailsMonth1=Faoilleach +repeatDetailsMonth2=Gearran +repeatDetailsMonth3=Màrt +repeatDetailsMonth4=Giblean +repeatDetailsMonth5=Cèitean +repeatDetailsMonth6=Ògmhios +repeatDetailsMonth7=Iuchar +repeatDetailsMonth8=Lùnastal +repeatDetailsMonth9=Sultain +repeatDetailsMonth10=Dàmhair +repeatDetailsMonth11=Samhain +repeatDetailsMonth12=Dùbhlachd + +# LOCALIZATION NOTE (repeatCount): +# Edit recurrence window -> Recurrence details link on Event/Task dialog window +# %1%$ - A rule string (see above). This is the first line of the link +# %2%$ - event start date (e.g. mm/gg/yyyy) +# %3$S - event start time (e.g. hh:mm (PM/AM)) +# %4$S - event end time (e.g. hh:mm (PM/AM)) +# #5 - event occurence times: number +# e.g. with monthlyRuleNthOfEvery: +# "Occurs the first Sunday of every 3 month +# only on 1/1/2009" +# from 5:00 PM to 6:00 PM" +# "Occurs the first Sunday of every 3 month +# effective 1/1/2009 for 5 times +# from 5:00 PM to 6:00 PM" +repeatCount=Tachraidh seo %1$S\nann an èifeachd on %2$S #5 turas\non %3$S gus an %4$S.;Tachraidh seo %1$S\nann an èifeachd on %2$S #5 thuras\non %3$S gus an %4$S. + +# LOCALIZATION NOTE (repeatCountAllDay): +# Edit recurrence window -> Recurrence details link on Event/Task dialog window +# %1%$ - A rule string (see above). This is the first line of the link +# %2%$ - event start date (e.g. mm/gg/yyyy) +# #3 - event occurence times: number +# e.g. with monthlyRuleNthOfEvery: +# "Occurs the first Sunday of every 3 month +# only on 1/1/2009" +# "Occurs the first Sunday of every 3 month +# effective 1/1/2009 for 5 times" +repeatCountAllDay=Tachraidh seo %1$S\nann an èifeachd %2$S #3 turas.;Tachraidh seo %1$S\nann an èifeachd %2$S #3 thuras. + +# LOCALIZATION NOTE (repeatDetailsUntil): +# Edit recurrence window -> Recurrence details link on Event/Task dialog window +# %1%$ - A rule string (see above). This is the first line of the link +# %2%$ - event start date (e.g. mm/gg/yyyy) +# %3$S - event end date (e.g. mm/gg/yyyy) +# %4$S - event start time (e.g. hh:mm (PM/AM)) +# %5$S - event end time (e.g. hh:mm (PM/AM)) +# e.g. with weeklyNthOn: +# "Occurs every 2 weeks on Sunday and Friday +# effective 1/1/2009 until 1/1/2010 +# from 5:00 PM to 6:00 PM" +repeatDetailsUntil=Tachraidh seo %1$S\n's bidh e an èifeachd on %2$S gus an %3$S\no %4$S gu %5$S. + +# LOCALIZATION NOTE (repeatDetailsUntilAllDay): +# Edit recurrence window -> Recurrence details link on Event/Task dialog window +# %1%$ - A rule string (see above). This is the first line of the link +# %2%$ - event start date (e.g. mm/gg/yyyy) +# %3$S - event end date (e.g. mm/gg/yyyy) +# e.g. with monthlyDaysOfNth and all day event: +# "Occurs day 3 of every 5 month +# effective 1/1/2009 until 1/1/2010" +repeatDetailsUntilAllDay=Tachraidh seo %1$S\n's bidh e an èifeachd on %2$S gus an %3$S. + +# LOCALIZATION NOTE (repeatDetailsInfinite): +# Edit recurrence window -> Recurrence details link on Event/Task dialog window +# %1%$ - A rule string (see above). This is the first line of the link +# %2%$ - event start date (e.g. mm/gg/yyyy) +# %3$S - event start time (e.g. hh:mm (PM/AM)) +# %4$S - event end time (e.g. hh:mm (PM/AM)) +# e.g. with monthlyDaysOfNth: +# "Occurs day 3 of every 5 month +# effective 1/1/2009 +# from 5:00 PM to 6:00 PM" +repeatDetailsInfinite=Tachraidh seo %1$S\n's bidh e an èifeachd on %2$S\no %3$S gu %4$S. + +# LOCALIZATION NOTE (repeatDetailsInfiniteAllDay): +# Edit recurrence window -> Recurrence details link on Event/Task dialog window +# %1%$ - A rule string (see above). This is the first line of the link +# %2%$ - event start date (e.g. mm/gg/yyyy) +# e.g. with monthlyDaysOfNth and all day event: +# "Occurs day 3 of every 5 month +# effective 1/1/2009" +repeatDetailsInfiniteAllDay=Tachraidh seo %1$S\n's bidh e an èifeachd on %2$S. + +# LOCALIZATION NOTE (monthlyLastDay): +# Edit recurrence window -> Recurrence details link on Event/Task dialog window +# A monthly rule with one or more days of the month (monthlyDaysOfNth) and the +# string "the last day" of the month. +# e.g.: "Occurs day 15, 20, 25 and the last day of every 3 months" +monthlyLastDay=an latha mu dheireadh + +# LOCALIZATION NOTE (ruleTooComplex): +# This string is shown in the repeat details area if our code can't handle the +# complexity of the recurrence rule yet. +ruleTooComplex=Briog an-seo airson mion-fhiosrachadh + +# LOCALIZATION NOTE (ruleTooComplexSummary): +# This string is shown in the event summary dialog if our code can't handle the +# complexity of the recurrence rule yet. +ruleTooComplexSummary=Tha riaghailt an ath-dhèanaimh ro thoinnte dhuinn + +# differences between the dialog for an Event or a Task +newEvent=Tachartas ùr +newTask=Saothair ùr +itemMenuLabelEvent=Tachartas +itemMenuAccesskeyEvent2=F +itemMenuLabelTask=Saothair +itemMenuAccesskeyTask2=F + +emailSubjectReply=Mu: %1$S + +# Link Location Dialog +specifyLinkLocation=Sònraich seòladh a' cheangail +enterLinkLocation=Cuir a-steach duilleag-lìn no seòladh de sgrìobhainn. + +summaryDueTaskLabel=Ceann-ama: + +# Attach File Dialog +attachViaFilelink=Cuir ris slighe %1$S +selectAFile=Tagh na faidhlichean a tha thu airson an cur ris +removeCalendarsTitle=Thoir air falbh na ceanglachain + +# LOCALIZATION NOTE (removeAttachmentsText): Semi-colon list of plural forms for +# prompting attachment removal. +# See http://developer.mozilla.org/en/Localization_and_Plurals +removeAttachmentsText=A bheil thu cinnteach gu bheil thu airson an #1 cheanglachan seo a thoirt air falbh?;A bheil thu cinnteach gu bheil thu airson an #1 cheanglachan seo a thoirt air falbh?;A bheil thu cinnteach gu bheil thu airson na #1 ceanglachain seo a thoirt air falbh?;A bheil thu cinnteach gu bheil thu airson an #1 ceanglachan seo a thoirt air falbh? + +# Recurrence Dialog Widget Order +# LOCALIZATION NOTE: You can change the order of below params +# Edit recurrence window -> Recurrence pattern -> Repeat monthly +# %1$S - ordinal with article, %2$S - weekday +# e.g. "the First Saturday" +# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables. +monthlyOrder=%1$S %2$S + +# Edit recurrence window -> Recurrence pattern -> Repeat yearly +# %1$S - day of month, %2$S - of, %3$S - month +# e.g. "6 [of] September" +# If you don't need %2$S in your locale - please put this on the third place. +# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables. +yearlyOrder=%1$S %3$S %2$S + +# Edit recurrence window -> Recurrence pattern -> Repeat yearly +# %1$S - ordinal with article, %2$S - weekday, %3$S - of, %4$S - month +# e.g. "the First Saturday of September" +# If you don't need %3$S in your locale - please put this on the third place. +# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables. +yearlyOrder2=%1$S %2$S %3$S %4$S + +# LOCALIZATION NOTE (pluralForWeekdays): +# This string allows to set the use of weekdays nouns in plural form for +# languages that need them in sentences like "every Monday" or "every Sunday +# of March" etc. +# Rule strings involved by this setting are: +# - weeklyNthOn (only the first part) e.g. "every Sunday" +# - monthlyEveryOfEvery +# e.g. "every Monday of every month;every Monday every 2 months" +# - yearlyOnEveryNthOfNth +# e.g. "every Friday of March;every 2 years on every Friday of March" +# In your local write: +# "true" if sentences like those above need weekday in plural form; +# "false" if sentences like those above don't need weekday in plural form; +pluralForWeekdays=false + +# LOCALIZATION NOTE (repeatDetailsDayxxxPlural): +# Edit recurrence window -> Recurrence details link on Event/Task dialog window +# Weekdays in plural form used inside sentences like "every Monday" or +# "every Sunday of May" etc. for languages that need them. +# These plurals will be used inside the following rule strings only if string +# 'pluralForWeekdays' (see above) is set to "true": +# - weeklyNthOn (only the first part) e.g. "every Sunday" +# - monthlyEveryOfEvery +# e.g. "every Monday of every month;every Monday every 2 months" +# - yearlyOnEveryNthOfNth +# e.g. "every Friday of March;every 2 years on every Friday of March" +repeatDetailsDay1Plural=DiDòmhnaich +repeatDetailsDay2Plural=DiLuain +repeatDetailsDay3Plural=DiMàirt +repeatDetailsDay4Plural=DiCiadain +repeatDetailsDay5Plural=DiarDaoin +repeatDetailsDay6Plural=DihAoine +repeatDetailsDay7Plural=DiSathairne + +# LOCALIZATION NOTE (eventRecurrenceForeverLabel): +# Edit/New Event dialog -> datepicker that sets the until date. +# For recurring rules that repeat forever, this labels appears in the +# datepicker, below the minimonth, as an option for the until date. +eventRecurrenceForeverLabel=Gu sìorraidh bràth + +# LOCALIZATION NOTE (eventRecurrenceMonthlyLastDayLabel): +# Edit dialog recurrence -> Monthly Recurrence pattern -> Monthly daypicker +# The label on the monthly daypicker's last button that allows to select +# the last day of the month inside a BYMONTHDAY rule. +eventRecurrenceMonthlyLastDayLabel=An latha mu dheireadh + +# LOCALIZATION NOTE (counterSummaryAccepted) - this is only visible when opening the dialog from the +# email summary view after receiving a counter message +# %1$S - the name or email address of the replying attendee +counterSummaryAccepted=Gabh %1$S ris a’ chuireadh ach mhol iad rud eile: + +# LOCALIZATION NOTE (counterSummaryDeclined) - this is only visible when opening the dialog from the +# email summary view after receiving a counter message +# %1$S - the name or email address of the replying attendee +counterSummaryDeclined=Dhiùlt %1$S an cuireadh ach mhol iad rud eile: + +# LOCALIZATION NOTE (counterSummaryDelegated) - this is only visible when opening the dialog from the +# email summary view after receiving a counter message +# %1$S - the name or email address of the replying attendee +counterSummaryDelegated=Dh’iomruin %1$S an cuireadh ach mhol iad rud eile: + +# LOCALIZATION NOTE (counterSummaryNeedsAction) - this is only visible when opening the dialog from the +# email summary view after receiving a counter message +# %1$S - the name or email address of the replying attendee +counterSummaryNeedsAction=Cha do chuir %1$S romhpa fhathast an gabh iad pàirt agus mhol iad rud eile: + +# LOCALIZATION NOTE (counterSummaryTentative) - this is only visible when opening the dialog from the +# email summary view after receiving a counter message +# %1$S - the name or email address of the replying attendee +counterSummaryTentative=Gabh %1$S ris a’ chuireadh ach gun chinnt is mhol iad rud eile: + +# LOCALIZATION NOTE (counterOnPreviousVersionNotification) - this is only visible when opening the +# dialog from the email summary view after receiving a counter message +counterOnPreviousVersionNotification=Seo moladh eile mu choinneamh tionndadh na bu tràithe dhen tachartas seo. + +# LOCALIZATION NOTE (counterOnCounterDisallowedNotification) - this is only visible when opening the +# dialog from the email summary view after receiving a counter message +counterOnCounterDisallowedNotification=Cha do cheadaich thu do dhaoine rudan eile a mholadh a thaobh a’ chuiridh. + +# LOCALIZATION NOTE (eventAccepted) - this will be displayed as notification +# in the summary dialog if the user has accepted the event invitation +eventAccepted=Ghabh thu ris a’ chuireadh seo + +# LOCALIZATION NOTE (eventTentative) - this will be displayed as notification +# in the summary dialog if the user has accepted the event invitation tentatively +eventTentative=Ghabh thu ris a’ chuireadh seo ach gun chinnt + +# LOCALIZATION NOTE (eventDeclined) - this will be displayed as notification +# in the summary dialog if the user has declined the event invitation +eventDeclined=Dhiùlt thu an cuireadh seo + +# LOCALIZATION NOTE (eventDelegated) - this will be displayed as notification +# in the summary dialog if the user has delegated his/her participation to one +# or more other participants (without attending / working on it his/herself) +eventDelegated=Dh’iomruin thu an cuireadh seo + +# LOCALIZATION NOTE (eventNeedsAction) - this will be displayed as notification +# in the summary dialog if the user hasn't yet responded to an invitation +eventNeedsAction=Cha do fhreagair thu an cuireadh seo fhathast + +# LOCALIZATION NOTE (taskAccepted) - this will be displayed as notification +# in the summary dialog if the user has accepted the assigned task +taskAccepted=Thuirt thu gun obrachaicheadh tu air an t-saothair seo + +# LOCALIZATION NOTE (taskTentative) - this will be displayed as notification +# in the summary dialog if the user has accepted tentatively the assigned task +taskTentative=Thuirt thu gun obrachaicheadh tu air an t-saothair seo ach gun chinnt + +# LOCALIZATION NOTE (taskDeclined) - this will be displayed as notification +# in the summary dialog if the user has declined the assigned task +taskDeclined=Dhiùlt thu obair a dhèanamh air an t-saothair seo + +# LOCALIZATION NOTE (taskDelegated) - this will be displayed as notification +# in the summary dialog if the user has delegated his/her assignement to one or +# more others (without attending / working on it his/herself) +taskDelegated=Dh’iomruin thu an t-saothair seo do chuideigin eile + +# LOCALIZATION NOTE (taskNeedsAction) - this will be displayed as notification +# in the summary dialog if the user hasn't yet responded to the task assignment +taskNeedsAction=Cha do fhreagair thu an t-saothair seo fhathast + +# LOCALIZATION NOTE (taskInProgress) - this will be displayed as notification +# in the summary dialog if the user is working on an assigned task +taskInProgress=Thòisich thu air an t-saothair iomruinte seo + +# LOCALIZATION NOTE (taskCompleted) - this will be displayed as notification +# in the summary dialog if the user has completed the work on this assigned task +taskCompleted=Choilean thu an t-saothair iomruinte seo + +# LOCALIZATION NOTE (sendandcloseButtonLabel) - this is a runtime replacement for +# event.toolbar.saveandclose.label in the event dialog/tab toolbar if attendees +# will be notified on saving & closing +sendandcloseButtonLabel=Cuir is dùin e + +# LOCALIZATION NOTE (sendandcloseButtonTooltip) - this is a runtime replacement for +# event.toolbar.saveandclose.tooltip in the event dialog/tab toolbar if attendees +# will be notified on saving & closing +sendandcloseButtonTooltip=Cuir fios gu na freastalaichean is dùin e + +# LOCALIZATION NOTE (saveandsendButtonLabel) - this is a runtime replacement for +# event.toolbar.save.label2 in the event dialog/tab toolbar if attendees +# will be notified on saving +saveandsendButtonLabel=Sàbhail is cuir + +# LOCALIZATION NOTE (saveandsendButtonTooltip) - this is a runtime replacement +# for event.toolbar.save.tooltip2 in the event dialog/tab toolbar if attendees +# will be notified on saving +saveandsendButtonTooltip=Sàbhail is cuir fios gu na freastalaichean + +# LOCALIZATION NOTE (saveandsendMenuLabel) - this is a runtime replacement for +# event.menu.item.save.label in the event dialog/tab toolbar if attendees +# will be notified on saving +saveandsendMenuLabel=Sàbhail is cuir + +# LOCALIZATION NOTE (sendandcloseMenuLabel) - this is a runtime replacement for +# event.menu.item.saveandclose.label in the event dialog/tab toolbar if attendees +# will be notified on saving +sendandcloseMenuLabel=Cuir is dùin e + +# LOCALIZATION NOTE (attendeesTabLabel) - this is a runtime replacement for +# event.attendees.label defined in calendar-event-dialog.dtd and used in the +# event dialog/tab as attendee tab label if an event has at least one attendee +# %1$S - the number of attendee (1-n) +attendeesTabLabel=Freastalaichean (%1$S): + +# LOCALIZATION NOTE (attachmentsTabLabel) - this is a runtime replacement for +# event.attachments.label defined in calendar-event-dialog.dtd and used in the +# event dialog/tab as attendee tab label if an event has at least one attachment +# %1$S - the number of attachments (1-n) +attachmentsTabLabel=Ceanglachain (%1$S): diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar-extract.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar-extract.properties new file mode 100644 index 0000000000000000000000000000000000000000..5a7e4a379fd83688c7794563b7de12bde4dc1f73 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar-extract.properties @@ -0,0 +1,294 @@ +# 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/. + +# LOCALIZATION NOTE: +# Strings here are used to create events and tasks with start and end times +# based on email content. +# None of the strings are displayed in the user interface. +# +# You don't have to fill all from.*, until.*, *.prefix and *.suffix patterns. +# It's ok to leave some empty. +# Please consider declensions and gender if your language has them. +# Don't just translate directly. The number of variants doesn't have to be +# the same as in en-US. All of 0, 1, 2, etc is allowed in patterns except alphabet +# pattern. You can and should add language specific variants. +# +# There are two different ways to find a start time text in email: +# 1) it matches a from.* pattern and does not have end.prefix or end.suffix next to it +# 2) it matches until.* pattern and has start.prefix or start.suffix next to it +# Similar inverse logic applies to end times. +# These rules enable using prefix and suffix values with only start.* or only until.* +# patterns localized for some languages and thus not having to repeat the same +# values in both. +# +# Patterns are partially space-insensitive. +# "deadline is" pattern will find both "deadlineis" and "deadline is" +# but "deadlineis" won't find "deadline is" or "deadline is". +# Therefore you should include all spaces that are valid within a pattern. + +# LOCALIZATION NOTE (start.prefix): +# datetimes with these in front are extracted as start times +# can be a list of values, separate variants by | +start.prefix = + +# LOCALIZATION NOTE (start.suffix): +# datetimes followed by these are extracted as start times +start.suffix = aig | ro | ron | eadar | - | gu ruige | gu | is | agus + +# LOCALIZATION NOTE (end.prefix): +# datetimes with these in front are extracted as end times +end.prefix = aig | ro | ron | eadar | - | gu ruige | gu | is | agus | ceann-ama | a' crìochnachadh | a' tighinn gu crìch + +# LOCALIZATION NOTE (end.suffix): +# datetimes followed by these are extracted as end times +# can be a list of values, separate variants by | +end.suffix =gu ruige | gu + +# LOCALIZATION NOTE (no.datetime.prefix): +# datetimes with these in front won't be used +# specify full words here +no.datetime.prefix = an t-seachdain seo chaidh | an t-seachdain-sa chaidh | air a chur | post-d | post-dealain | phost-d | puist-d | phuist-d | an àite | > | gu mì-fhortanach | ann an | cha | chan + +# LOCALIZATION NOTE (no.datetime.suffix): +# datetimes followed by these won't be used +no.datetime.suffix = ùrlar | làr | : | post-d | post-dealain | phost-d | puist-d | phuist-d | > | % | gbp | not | not Sasannach | £ + +# LOCALIZATION NOTE (from.*): +# can be a list of values, separate variants by | + +# LOCALIZATION NOTE (from.today): +# must not be empty! +from.today = an-diugh | diugh + +from.tomorrow = tomorrow +# LOCALIZATION NOTE (until.*): +# can be a list of values, separate variants by | +until.tomorrow =a-màireach | màireach | a-màrach + +# LOCALIZATION NOTE (from.ordinal.date): +# #1 = matches numbers 1-31 and number.x +# should not have "#1" as this would match any single number in email to a time +from.ordinal.date = #1ad | #1d | #1na | #1as | #1s | #1mh + +# LOCALIZATION NOTE (until.ordinal.date): +# #1 = matches numbers 1-31 and number.x +until.ordinal.date =#1ad | #1d | #1na | #1as | #1s | #1mh + +from.noon = noon +until.noon =meadhan-latha | meadhan-là | mheadhan-latha | mheadhan-là | meadhain-latha | meadhain-là | mheadhain-latha | mheadhain-là + +# LOCALIZATION NOTE (from.hour): +# #1 = matches numbers 0-23 and number.0-number.23 +# should not have "#1" as this would match any single number in email to a time +from.hour = aig #1 | mu #1 | faisg air #1 | #1 - | #1 gu | #1 gu ruige + +# LOCALIZATION NOTE (until.hour): +# #1 = matches numbers 0-23 and number.0-number.23 +# should also list how to find end of a timeframe +until.hour = - #1 | gu #1 | gu ruige #1 | ro #1 | aig #1 + +# LOCALIZATION NOTE (from.hour.am): +# #1 = matches numbers 0-23 and number.0-number.23 +from.hour.am = #1m | #1 m + +# LOCALIZATION NOTE (until.hour.am): +# #1 = matches numbers 0-23 and number.0-number.23 +# should also list how to find end of a timeframe +until.hour.am =- #1m | gu #1m | gu ruige #1m | ro #1m | - #1 m | gu #1 m | gu ruige #1 m | ro #1 m + +# LOCALIZATION NOTE (from.hour.pm): +# #1 = matches numbers 0-23 and number.0-number.23 +from.hour.pm = #1 f | #1f + +# LOCALIZATION NOTE (until.hour.pm): +# #1 = matches numbers 0-23 and number.0-number.23 +# should also list how to find end of a timeframe +until.hour.pm =#1 f | #1f + +# LOCALIZATION NOTE (from.half.hour.before): +# denotes times 30 minutes before next full hour +from.half.hour.before = leth-uair a thìde ro #1 + +# LOCALIZATION NOTE (until.half.hour.before): +# denotes times 30 minutes before next full hour +until.half.hour.before = + +# LOCALIZATION NOTE (from.half.hour.after): +# denotes times 30 minutes after last full hour +from.half.hour.after = leth-uair an dèidh #1 + +# LOCALIZATION NOTE (until.half.hour.after): +# denotes times 30 minutes after last full hour +until.half.hour.after = + +# LOCALIZATION NOTE (from.hour.minutes): +# #1 = matches numbers 0-23 +# #2 = matches numbers 0-59 +from.hour.minutes = #1:#2 | aig #1#2 | #1.#2 + +# LOCALIZATION NOTE (until.hour.minutes): +# #1 = matches numbers 0-23 +# #2 = matches numbers 0-59 +until.hour.minutes = + +# LOCALIZATION NOTE (from.hour.minutes.am): +# #1 = matches numbers 0-23 +# #2 = matches numbers 0-59 +from.hour.minutes.am = #1:#2m | #1:#2 m | #1.#2m | #1.#2 m + +# LOCALIZATION NOTE (until.hour.minutes.am): +# #1 = matches numbers 0-23 +# #2 = matches numbers 0-59 +until.hour.minutes.am = + +# LOCALIZATION NOTE (from.hour.minutes.pm): +# #1 = matches numbers 0-23 +# #2 = matches numbers 0-59 +from.hour.minutes.pm = #1:#2f | #1:#2 f | #1.#2f | #1.#2 f + +# LOCALIZATION NOTE (until.hour.minutes.pm): +# #1 = matches numbers 0-23 +# #2 = matches numbers 0-59 +until.hour.minutes.pm = + +# LOCALIZATION NOTE (from.monthname.day): +# #1 = matches numbers 1-31 and number.x +# #2 = matches monthname +from.monthname.day = #1 #2 | #1 dhen #2 | #1 den #2 | #1 #2 | #1d #2 | #1d dhen #2 | #1d den #2 | #1d #2 | #1ad #2 | #1ad dhen #2 | #1ad den #2 | #1ad #2 | #1na #2 | #1na dhen #2 | #1na den #2 | #1na #2 | #1a #2 | #1a dhen #2 | #1a den #2 | #1a #2 | #1as #2 | #1as dhen #2 | #1as den #2 | #1as #2 | #1s #2 | #1s dhen #2 | #1s den #2 | #1s #2 | #1mh #2 | #1mh dhen #2 | #1mh den #2 | #1mh #2 + +# LOCALIZATION NOTE (until.monthname.day): +# #1 = matches numbers 1-31 +# #2 = matches monthname +until.monthname.day = + +# LOCALIZATION NOTE (from.month.day): +# #1 = matches numbers 1-31 +# #2 = matches numbers 1-12 +from.month.day = #1.#2 + +# LOCALIZATION NOTE (until.month.day): +# #1 = matches numbers 1-31 and number.x +# #2 = matches numbers 1-12 +until.month.day = + +# LOCALIZATION NOTE (from.year.month.day): +# #1 = matches numbers 1-31 +# #2 = matches numbers 1-12 +# #3 = matches 2/4 numbers +from.year.month.day = #3.#2.#1 | #3/#2/#1 | #3‑#2‑#1 + +# LOCALIZATION NOTE (until.year.month.day): +# #1 = matches numbers 1-31 +# #2 = matches numbers 1-12 +# #3 = matches 2/4 numbers +until.year.month.day = + +# LOCALIZATION NOTE (from.year.monthname.day): +# #1 = matches numbers 1-31 +# #2 = matches monthname +# #3 = matches 2/4 numbers +from.year.monthname.day = #1 #2 #3 | #1d #2 #3 | #1ad #2 #3 | #1a #2 #3 | #1na #2 #3 | #1as #2 #3 | #1s #2 #3 | #1mh #2 #3 | #1/#2/#3 | #1d/#2/#3 | #1ad/#2/#3 | #1a/#2/#3 | #1na/#2/#3 | #1as/#2/#3 | #1s/#2/#3 | #1mh/#2/#3 | #1‑#2‑#3 | #1d‑#2‑#3 | #1ad‑#2‑#3 | #1a‑#2‑#3 | #1na‑#2‑#3 | #1as‑#2‑#3 | #1s‑#2‑#3 | #1mh‑#2‑#3 + +# LOCALIZATION NOTE (until.year.monthname.day): +# #1 = matches numbers 1-31 +# #2 = matches monthname +# #3 = matches 2/4 numbers +until.year.monthname.day = + +# LOCALIZATION NOTE (duration.*): +# can be a list of values, separate variants by | + +# LOCALIZATION NOTE (duration.minutes): +# #1 = matches 1/2 numbers and number.0 - and number.31 +duration.minutes = #1 mionaid | #1 mhionaid | #1 mionaidean | #1 mion. | #1 mhion. + +# LOCALIZATION NOTE (duration.hours): +# #1 = matches 1/2 numbers and number.0 - and number.31 +duration.hours = #1 uair a thìde | #1 uairean a thìde + +# LOCALIZATION NOTE (duration.days): +# #1 = matches 1/2 numbers and number.0 - and number.31 +duration.days = #1 latha | #1 làithean + +# LOCALIZATION NOTE (month.*): +# can be a list of values, separate variants by | +month.1 = faoilleach | am faoilleach | dhen fhaoilleach | den fhaoilleach | faoi. | faoi | faoilteach | am faoilteach | dhen fhaoilteach | den fhaoilteach +month.2 = gearran | an gearran | dhen ghearran | den ghearran | gearr +month.3 = màrt | am màrt | dhen mhàrt | den mhàrt +month.4 = giblean | an giblean | dhen ghiblean | den ghiblean | gibl +month.5 = cèitean | an cèitean | dhen chèitean | den chèitean | cèit +month.6 = òghmhios | an t-ògmhios | dhen ògmhios | den ògmhios | ògmh | òg-hmhios | an t-òg-mhios | dhen òg-mhios | den òg-mhios +month.7 = iuchar | an t-iuchar | dhen iuchar | den iuchar | iuch +month.8 = lùnastal | an lùnastal | dhen lùnastal | den lùnastal | lùna | lùnasdal | an lùnasdal | dhen lùnasdal | den lùnasdal +month.9 = sultain | an t-sultain | dhen t-sultain | den t-sultain | sult +month.10 = dàmhair | an dàmhair | dhen dàmhair | den dàmhair | dàmh +month.11 = samhain | an t-samhain | dhen t-samhain | den t-samhain | samh | samhainn | an t-samhainn | dhen t-samhainn | den t-samhainn +month.12 = dùbhlachd | an dùbhlachd | dhen dùbhlachd | den dùbhlachd | dùbh + +# LOCALIZATION NOTE (from.weekday.*): +# used to derive start date based on weekdays mentioned +# can be a list of values, separate variants by | +# LOCALIZATION NOTE (from.weekday.0): +# Regardless of what the first day of the week is in your country, 0 is Sunday here. +from.weekday.0 = didòmhnaich | dhidòmhnaich | di-dòmhnaich | dhi-dòmhnaich | là na sàbaid | dhòmhnaich +from.weekday.1 = diluain | dhiluain | di-luain | dhi-luain | luain +from.weekday.2 = dimàirt | dhimàirt | di-màirt | dhi-màirt | mhàirt +from.weekday.3 = diciadain | dhiciadain | di-ciadain | dhi-ciadain | chiadain +from.weekday.4 = diardaoin | dhiardaoin | di-ardaoin | dhi-ardaoin | ardaoin +from.weekday.5 = dihaoine | dhihaoine | haoine +from.weekday.6 = disathairne | dhisathairne | di-sathairne | dhi-sathairne | shathairne + +# LOCALIZATION NOTE (until.weekday.*): +# used to derive end date based on weekdays mentioned +# can be a list of values, separate variants by | +# LOCALIZATION NOTE (until.weekday.0): +# Regardless of what the first day of the week is in your country, 0 is Sunday here. +until.weekday.0 =didòmhnaich | dhidòmhnaich | di-dòmhnaich | dhi-dòmhnaich | là na sàbaid | dhòmhnaich +until.weekday.1 =diluain | dhiluain | di-luain | dhi-luain | luain +until.weekday.2 =dimàirt | dhimàirt | di-màirt | dhi-màirt | mhàirt +until.weekday.3 =diciadain | dhiciadain | di-ciadain | dhi-ciadain | chiadain +until.weekday.4 =diardaoin | dhiardaoin | di-ardaoin | dhi-ardaoin | ardaoin +until.weekday.5 =dihaoine | dhihaoine | haoine +until.weekday.6 =disathairne | dhisathairne | di-sathairne | dhi-sathairne | shathairne + +# LOCALIZATION NOTE (number.*): +# used within other patterns to understand dates where day of month isn't written with digits +# can be a list of values, separate variants by | +number.0 = neoini +number.1 = aon | a' chiad +number.2 = dà | dhà | dàrna | dara +number.3 = trì | treas | tritheamh +number.4 = ceithir | ceathramh +number.5 = còig | còigeamh +number.6 = sia | siathamh +number.7 = seachd | seachdamh +number.8 = ochd | ochdamh +number.9 = naoi | naoidh | naoidheamh +number.10 = deich | deug | deicheamh +number.11 = aon deug | aon deugamh | aonamh deug | aonamh latha deug | aonamh latha dheug +number.12 = dà dheug | dà dheugamh | dàrna latha deug | dàrna latha dheug | dara latha deug | dara latha dheug +number.13 = trì deug | trì deugamh | tritheamh latha deug +number.14 = ceithir deug | ceithir deugamh | ceathramh latha deug +number.15 = còig deug | còig deugamh | còigeamh latha deug +number.16 = sia deug | sia deugamh | siathamh latha deug +number.17 = seachd deug | seachd deugamh | seachdamh latha deug +number.18 = ochd deug | ochd deugamh | ochdamh latha deug +number.19 = naoi deug | naoi deugamh | naoidh deug | naoidh deugamh | naoidheamh latha deug +number.20 = fichead | ficheadamh +number.21 = fichead 's a h-aon | ficheadamh 's a h-aon | ficheadamh latha deug 's a h-aon +number.22 = fichead 's a dhà | ficheadamh 's a dhà | ficheadamh latha deug 's a dhà +number.23 = fichead 's a trì | ficheadamh 's a trì | ficheadamh latha deug 's a trì +number.24 = fichead 's a ceithir | ficheadamh 's a ceithir | ficheadamh latha deug 's a ceithir +number.25 = fichead 's a còig | ficheadamh 's a còig | ficheadamh latha deug 's a còig +number.26 = fichead 's a sia | ficheadamh 's a sia | ficheadamh latha deug 's a sia +number.27 = fichead 's a seachd | ficheadamh 's a seachd | ficheadamh latha deug 's a seachd +number.28 = fichead 's a h-ochd | ficheadamh 's a h-ochd | ficheadamh latha deug 's a h-ochd +number.29 = fichead 's a naoi | ficheadamh 's a naoi | fichead 's a naoidh | ficheadamh 's a naoidh | ficheadamh latha deug 's a naoidh +number.30 = deich ar fhichead | deich air fhichead | trithead | tritheadamh +number.31 = trithead 's a h-aon | tritheadamh 's a h-aon | tritheadamh latha deug 's a h-aon + +# LOCALIZATION NOTE (alphabet): +# list all lower and uppercase letters if your language has an alphabet +# otherwise leave it empty +alphabet = aàbcdeèéfghiìjklmnoòópqrstuùvwxyzAÀBCDEÈÉFGHIÌJKLMNOÒÓPQRSTUÙVWXYZ diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar-invitations-dialog.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar-invitations-dialog.dtd new file mode 100644 index 0000000000000000000000000000000000000000..5232bb1f6ffbe96be67ffc5d1b577fe24dd24746 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar-invitations-dialog.dtd @@ -0,0 +1,19 @@ +<!-- 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/. +--> +<!-- Calendar Invitations Dialog --> + +<!ENTITY calendar.invitations.dialog.invitations.text "Cuiridhean"> +<!ENTITY calendar.invitations.dialog.statusmessage.updating.text "Ag ùrachadh liosta nan cuiridhean."> +<!ENTITY calendar.invitations.dialog.statusmessage.noinvitations.text "Chan deach cuireadh a lorg nach deach a dhearbhadh."> +<!-- Calendar Invitations List --> + +<!ENTITY calendar.invitations.list.accept.button.label "Gabh ris"> +<!ENTITY calendar.invitations.list.decline.button.label "Diùlt"> +<!ENTITY calendar.invitations.list.recurrentevent.text "Tachartas a thachras iomadh turas"> +<!ENTITY calendar.invitations.list.alldayevent.text "Tachartas fad an latha"> +<!ENTITY calendar.invitations.list.location.text "Àite: "> +<!ENTITY calendar.invitations.list.organizer.text "Eagraiche: "> +<!ENTITY calendar.invitations.list.attendee.text "An làthair: "> +<!ENTITY calendar.invitations.list.none.text "Chan eil gin"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar-invitations-dialog.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar-invitations-dialog.properties new file mode 100644 index 0000000000000000000000000000000000000000..4aea37172359a64c75faba279de1abc28a33da8c --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar-invitations-dialog.properties @@ -0,0 +1,10 @@ +# 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/. + +allday-event=Tachartas fad an latha +recurrent-event=Tachartas ath-chùrsach +location=Ionad: %S +organizer=Eagraiche: %S +attendee=Freastalaiche: %S +none=Chan eil gin diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar-occurrence-prompt.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar-occurrence-prompt.dtd new file mode 100644 index 0000000000000000000000000000000000000000..5864a9335f400f70549fd3e723f2791521a9a248 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar-occurrence-prompt.dtd @@ -0,0 +1,7 @@ +<!-- 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/. --> + +<!ENTITY buttons.occurrence.accesskey "t"> +<!ENTITY buttons.allfollowing.accesskey "f"> +<!ENTITY buttons.parent.accesskey "a"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar-occurrence-prompt.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar-occurrence-prompt.properties new file mode 100644 index 0000000000000000000000000000000000000000..8b0af931d6725d9aca421fb03b4fdf48792c1bbd --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar-occurrence-prompt.properties @@ -0,0 +1,53 @@ +# 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/. + +header.isrepeating.event.label=a tha 'na thachartas a thachras iomadh turas +header.isrepeating.task.label=a tha 'na shaothair a thachras iomadh turas\u0020 +header.containsrepeating.event.label=is tachartasan ath-chùrsach na bhroinn +header.containsrepeating.task.label=is saothraichean ath-chùrsach na bhroinn +header.containsrepeating.mixed.label=is nithean ath-chùrsach de sheòrsa eile na bhroinn + +windowtitle.event.copy=Dèan lethbhreac dhen tachartas ath-chùrsach +windowtitle.task.copy=Dèan lethbhreac dhen t-saothair ath-chùrsach +windowtitle.mixed.copy=Dèan lethbhreac dhe na nithean ath-chùrsach +windowtitle.event.cut=Gearr an tachartas ath-chùrsach às +windowtitle.task.cut=Gearr an t-saothair ath-chùrsach às +windowtitle.mixed.cut=Gearr na nithean ath-chùrsach às +windowtitle.event.delete=Sguab às tachartas a thachras iomadh turas +windowtitle.task.delete=Sguab às saothair a thachras iomadh turas +windowtitle.mixed.delete=Sguab na nithean ath-chùrsach às +windowtitle.event.edit=Deasaich tachartas a thachras iomadh turas +windowtitle.task.edit=Deasaich saothair a thachras iomadh turas +windowtitle.mixed.edit=Deasaich na nithean ath-chùrsach +windowtitle.multipleitems=Na nithean a thagh thu + +buttons.single.occurrence.copy.label=Na dèan lethbhreac ach dhen teachd seo +buttons.single.occurrence.cut.label=Na gearr às ach an teachd seo +buttons.single.occurrence.delete.label=Na sguab às ach an teachd seo +buttons.single.occurrence.edit.label=Na deasaich ach an teachd seo + +buttons.multiple.occurrence.copy.label=Na dèan lethbhreac ach dhe na teachd a thagh thu +buttons.multiple.occurrence.cut.label=Na gearr às ach na teachdan a thagh thu +buttons.multiple.occurrence.delete.label=Na sguab às ach na teachdan a thagh thu +buttons.multiple.occurrence.edit.label=Na deasaich ach na teachdan a thagh thu + +buttons.single.allfollowing.copy.label=Dèan lethbhreac dhe seo ’s gach teachd a-mach o seo +buttons.single.allfollowing.cut.label=Gearr às seo ’s gach teachd a-mach o seo +buttons.single.allfollowing.delete.label=Sguab às seo ’s gach teachd a-mach o seo +buttons.single.allfollowing.edit.label=Deasaich seo ’ gach teachd a-mach o seo + +buttons.multiple.allfollowing.copy.label=Dèan lethbhreac dhe na thagh thu ’s gach teachd a-mach o seo +buttons.multiple.allfollowing.cut.label=Gearr às na thagh thu ’s gach teachd a-mach o seo +buttons.multiple.allfollowing.delete.label=Sguab às na thagh thu ’s gach teachd a-mach o seo +buttons.multiple.allfollowing.edit.label=Deasaich na thagh thu ’s gach teachd a-mach o seo + +buttons.single.parent.copy.label=Dèan lethbhreac de gach teachd dheth +buttons.single.parent.cut.label=Gearr às gach teachd dheth +buttons.single.parent.delete.label=Sguab às gach teachd dheth +buttons.single.parent.edit.label=Deasaich gach teachd dheth + +buttons.multiple.parent.copy.label=Dèan lethbhreac de gach teachd dhe na nithean a thagh thu +buttons.multiple.parent.cut.label=Gearr às gach teachd dhe na nithean a thagh thu +buttons.multiple.parent.delete.label=Sguab às gach teachd dhe na nithean a thagh thu +buttons.multiple.parent.edit.label=Deasaich gach teachd dhe na nithean a thagh thu diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar.dtd new file mode 100644 index 0000000000000000000000000000000000000000..c77917b23b63f923faf07041482d1019bf4c2c26 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar.dtd @@ -0,0 +1,386 @@ +<!-- 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/. --> + +<!-- General --> +<!ENTITY calendar.calendar.label "Mìosachan"> +<!ENTITY calendar.calendar.accesskey "c"> + +<!ENTITY calendar.newevent.button.tooltip "Cruthaich tachartas ùr" > +<!ENTITY calendar.newtask.button.tooltip "Cruthaich saothair ùr" > + +<!ENTITY calendar.unifinder.showcompletedtodos.label "Seall saothraichean crìochnaichte"> + +<!ENTITY calendar.today.button.label "An-diugh"> +<!ENTITY calendar.tomorrow.button.label "A-màireach"> + +<!ENTITY calendar.events.filter.all.label "Gach tachartas"> +<!ENTITY calendar.events.filter.today.label "Tachartasan an-diugh"> +<!ENTITY calendar.events.filter.future.label "Gach tachartas san àm ri teachd"> +<!ENTITY calendar.events.filter.current.label "An latha a thagh thu"> +<!ENTITY calendar.events.filter.currentview.label "Tachartasan san t-sealladh làithreach"> +<!ENTITY calendar.events.filter.next7Days.label "Tachartasan anns na 7 làithean seo tighinn"> +<!ENTITY calendar.events.filter.next14Days.label "Tachartasan sa chola-deug seo tighinn"> +<!ENTITY calendar.events.filter.next31Days.label "Tachartasan san 31 latha seo tighinn"> +<!ENTITY calendar.events.filter.thisCalendarMonth.label "Tachartasan sa mhìos mhìosachain seo"> + +<!-- LOCALIZATION NOTE(calendar.unifinder.tree.done.tooltip) + - This label and tooltip is used for the column with the checkbox in the + - task tree view. --> +<!ENTITY calendar.unifinder.tree.done.label "Dèanta"> +<!ENTITY calendar.unifinder.tree.done.tooltip2 "Seòrsaich a-rèir coileanaidh"> +<!ENTITY calendar.unifinder.tree.priority.label "Prìomhachas"> +<!ENTITY calendar.unifinder.tree.priority.tooltip2 "Seòrsaich a-rèir prìomhachais"> +<!ENTITY calendar.unifinder.tree.title.label "Tiotal"> +<!ENTITY calendar.unifinder.tree.title.tooltip2 "Seòrsaich a-rèir tiotail"> +<!ENTITY calendar.unifinder.tree.percentcomplete.label "% deiseil"> +<!ENTITY calendar.unifinder.tree.percentcomplete.tooltip2 "Seòrsaich a-rèir ceudad coileanaidh"> +<!ENTITY calendar.unifinder.tree.startdate.label "A' tòiseachadh"> +<!ENTITY calendar.unifinder.tree.startdate.tooltip2 "Seòrsaich a-rèir latha tòiseachaidh"> +<!ENTITY calendar.unifinder.tree.enddate.label "A' crìochnachadh"> +<!ENTITY calendar.unifinder.tree.enddate.tooltip2 "Seòrsaich a-rèir latha crìochnachaidh"> +<!ENTITY calendar.unifinder.tree.duedate.label "Ceann-ama"> +<!ENTITY calendar.unifinder.tree.duedate.tooltip2 "Seòrsaich a-rèir latha libhrigidh"> +<!ENTITY calendar.unifinder.tree.completeddate.label "Deiseil"> +<!ENTITY calendar.unifinder.tree.completeddate.tooltip2 "Seòrsaich a-rèir latha coileanaidh"> +<!ENTITY calendar.unifinder.tree.categories.label "Roinn-seòrsa"> +<!ENTITY calendar.unifinder.tree.categories.tooltip2 "Seòrsaich a-rèir roinn-seòrsa"> +<!ENTITY calendar.unifinder.tree.location.label "Àite"> +<!ENTITY calendar.unifinder.tree.location.tooltip2 "Seòrsaich a-rèir ionaid"> +<!ENTITY calendar.unifinder.tree.status.label "Staid"> +<!ENTITY calendar.unifinder.tree.status.tooltip2 "Seòrsaich a-rèir staid"> +<!ENTITY calendar.unifinder.tree.calendarname.label "Ainm a' mhìosachain"> +<!ENTITY calendar.unifinder.tree.calendarname.tooltip2 "Seòrsaich a-rèir ainm a' mhìosachain"> +<!ENTITY calendar.unifinder.tree.duration.label "Feum air ann an"> +<!ENTITY calendar.unifinder.tree.duration.tooltip2 "Seòrsaich a-rèir ùine gu libhrigeadh"> +<!ENTITY calendar.unifinder.close.tooltip "Dùin lorg is liosta nan tachartasan"> + +<!ENTITY calendar.today.button.tooltip "Rach gun latha an-diugh" > +<!ENTITY calendar.todaypane.button.tooltip "Seall leòsan an latha" > + +<!ENTITY calendar.day.button.tooltip "Na seall dhomh ach aon latha" > +<!ENTITY calendar.week.button.tooltip "Seall dhomh an t-seachdain air fad" > +<!ENTITY calendar.month.button.tooltip "Seall dhomh mìos air fad" > +<!ENTITY calendar.multiweek.button.tooltip "Seall dhomh iomadh seachdain còmhla" > + +<!ENTITY calendar.nextday.label "An ath-latha" > +<!ENTITY calendar.prevday.label "An latha roimhe" > +<!ENTITY calendar.nextday.accesskey "A" > +<!ENTITY calendar.prevday.accesskey "A" > +<!ENTITY calendar.nextweek.label "An ath-sheachdain" > +<!ENTITY calendar.prevweek.label "An t-seachdain roimhe" > +<!ENTITY calendar.nextweek.accesskey "A" > +<!ENTITY calendar.prevweek.accesskey "s" > +<!ENTITY calendar.nextmonth.label "An ath-mhìos" > +<!ENTITY calendar.prevmonth.label "Am mìos roimhe" > +<!ENTITY calendar.nextmonth.accesskey "A" > +<!ENTITY calendar.prevmonth.accesskey "s" > + +<!ENTITY calendar.navigation.nextday.tooltip "Latha air adhart" > +<!ENTITY calendar.navigation.prevday.tooltip "Latha air ais" > +<!ENTITY calendar.navigation.nextweek.tooltip "Seachdain air adhart" > +<!ENTITY calendar.navigation.prevweek.tooltip "Seachdain air ais" > +<!ENTITY calendar.navigation.nextmonth.tooltip "Mìos air adhart" > +<!ENTITY calendar.navigation.prevmonth.tooltip "Mìos air ais" > + +<!ENTITY calendar.newevent.button.label "Tachartas ùr" > +<!ENTITY calendar.newtask.button.label "Saothair ùr" > + +<!ENTITY calendar.day.button.label "Latha" > +<!ENTITY calendar.week.button.label "Seachdain" > +<!ENTITY calendar.month.button.label "Mìos" > +<!ENTITY calendar.multiweek.button.label "Iomadh s." > + +<!ENTITY calendar.onlyworkday.checkbox.label "Làithean-obrach na seachdaine a-mhàin" > +<!ENTITY calendar.onlyworkday.checkbox.accesskey "r" > +<!ENTITY calendar.displaytodos.checkbox.label "Saothraichean san t-sealladh" > +<!ENTITY calendar.displaytodos.checkbox.accesskey "S" > +<!ENTITY calendar.completedtasks.checkbox.label "Seall saothraichean crìochnaichte" > +<!ENTITY calendar.completedtasks.checkbox.accesskey "c" > + +<!ENTITY calendar.orientation.label "Thoir car dhen t-sealladh" > +<!ENTITY calendar.orientation.accesskey "o" > + +<!ENTITY calendar.search.options.searchfor " anns a bheil"> + +<!ENTITY calendar.list.header.label "Mìosachan"> + +<!ENTITY calendar.task.filter.title.label "Seall"> +<!ENTITY calendar.task.filter.all.label "A h-uile"> +<!ENTITY calendar.task.filter.all.accesskey "A"> +<!ENTITY calendar.task.filter.today.label "An-diugh"> +<!ENTITY calendar.task.filter.today.accesskey "A"> +<!ENTITY calendar.task.filter.next7days.label "Na seachd làithean seo tighinn"> +<!ENTITY calendar.task.filter.next7days.accesskey "N"> +<!ENTITY calendar.task.filter.notstarted.label "Saothraichean nach do thòisich fhathast"> +<!ENTITY calendar.task.filter.notstarted.accesskey "a"> +<!ENTITY calendar.task.filter.overdue.label "Saothraichean thar an tìde"> +<!ENTITY calendar.task.filter.overdue.accesskey "o"> +<!ENTITY calendar.task.filter.completed.label "Saothraichean crìochnaichte"> +<!ENTITY calendar.task.filter.completed.accesskey "c"> +<!ENTITY calendar.task.filter.open.label "Saothraichean gun chrìochnachadh"> +<!ENTITY calendar.task.filter.open.accesskey "S"> + +<!-- LOCALIZATION NOTE(calendar.task.filter.current.label) + "Current Tasks" will show all tasks, except those with a start date set + that is after today and after the selected date. If a task repeats, a + separate entry will be shown for each of the occurrences that happen on or + before today (or the selected date, whichever is later). --> +<!ENTITY calendar.task.filter.current.label "Saothraichean làithreach"> +<!ENTITY calendar.task.filter.current.accesskey "S"> + +<!ENTITY calendar.task-details.title.label "tiotail"> +<!ENTITY calendar.task-details.organizer.label "o"> +<!ENTITY calendar.task-details.priority.label "prìomhachas"> +<!ENTITY calendar.task-details.priority.low.label "Ìseal"> +<!ENTITY calendar.task-details.priority.normal.label "Àbhaisteach"> +<!ENTITY calendar.task-details.priority.high.label "Àrd"> +<!ENTITY calendar.task-details.status.label "staid"> +<!ENTITY calendar.task-details.category.label "roinn"> +<!ENTITY calendar.task-details.repeat.label "ath-dhèan"> +<!ENTITY calendar.task-details.attachments.label "ceanglachain"> +<!ENTITY calendar.task-details.start.label "latha tòiseachaidh"> +<!ENTITY calendar.task-details.due.label "ceann-ama"> + +<!ENTITY calendar.task.category.button.tooltip "Cuir saothraichean ann an roinnean"> +<!ENTITY calendar.task.complete.button.tooltip "Cuir comharra gu bheil na saothraichean a thagh thu crìochnaichte"> +<!ENTITY calendar.task.priority.button.tooltip "Atharraich am prìomhachas"> + +<!ENTITY calendar.task.text-filter.textbox.emptytext.base1 "Criathraich na saothraichean #1"> +<!ENTITY calendar.task.text-filter.textbox.emptytext.keylabel.nonmac "<Ctrl+Shift+K>"> +<!ENTITY calendar.task.text-filter.textbox.emptytext.keylabel.mac "<⇧⌘K>"> + +<!-- Context Menu --> +<!ENTITY calendar.context.modifyorviewitem.label "Fosgail"> +<!ENTITY calendar.context.modifyorviewitem.accesskey "o"> +<!ENTITY calendar.context.modifyorviewtask.label "Fosgail saothair…"> +<!ENTITY calendar.context.modifyorviewtask.accesskey "o"> +<!ENTITY calendar.context.newevent.label "Tachartas ùr…"> +<!ENTITY calendar.context.newevent.accesskey "T"> +<!ENTITY calendar.context.newtodo.label "Saothair ùr…"> +<!ENTITY calendar.context.newtodo.accesskey "S"> +<!ENTITY calendar.context.deletetask.label "Sguab às an t-saothair"> +<!ENTITY calendar.context.deletetask.accesskey "S"> +<!ENTITY calendar.context.deleteevent.label "Sguab às an tachartas"> +<!ENTITY calendar.context.deleteevent.accesskey "S"> +<!ENTITY calendar.context.cutevent.label "Gearr às"> +<!ENTITY calendar.context.cutevent.accesskey "G"> +<!ENTITY calendar.context.copyevent.label "Dèan lethbhreac"> +<!ENTITY calendar.context.copyevent.accesskey "c"> +<!ENTITY calendar.context.pasteevent.label "Cuir ann"> +<!ENTITY calendar.context.pasteevent.accesskey "C"> +<!ENTITY calendar.context.button.label "Leòsan an latha"> +<!ENTITY calendar.context.button.accesskey "t"> + +<!ENTITY calendar.context.attendance.menu.label "Làthaireachd"> +<!ENTITY calendar.context.attendance.menu.accesskey "d"> +<!ENTITY calendar.context.attendance.occurrence.label "An teachd seo"> +<!ENTITY calendar.context.attendance.all2.label "Sreath slàn"> +<!ENTITY calendar.context.attendance.send.label "Cuir brath an-dràsta"> +<!ENTITY calendar.context.attendance.send.accesskey "S"> +<!ENTITY calendar.context.attendance.dontsend.label "Na cuir brath"> +<!ENTITY calendar.context.attendance.dontsend.accesskey "D"> + +<!ENTITY calendar.context.attendance.occ.accepted.accesskey "A"> +<!ENTITY calendar.context.attendance.occ.accepted.label "Air gabhail ris"> +<!ENTITY calendar.context.attendance.occ.tentative.accesskey "y"> +<!ENTITY calendar.context.attendance.occ.tentative.label "Air gabhail ris gun chinnt"> +<!ENTITY calendar.context.attendance.occ.declined.accesskey "c"> +<!ENTITY calendar.context.attendance.occ.declined.label "Air a dhiùltadh"> +<!ENTITY calendar.context.attendance.occ.delegated.accesskey "g"> +<!ENTITY calendar.context.attendance.occ.delegated.label "Air a thiomnachadh"> +<!ENTITY calendar.context.attendance.occ.needsaction.accesskey "S"> +<!ENTITY calendar.context.attendance.occ.needsaction.label "Feum air gnìomh fhathast"> +<!ENTITY calendar.context.attendance.occ.inprogress.accesskey "I"> +<!ENTITY calendar.context.attendance.occ.inprogress.label "Ga phròiseasadh"> +<!ENTITY calendar.context.attendance.occ.completed.accesskey "C"> +<!ENTITY calendar.context.attendance.occ.completed.label "Air a choileanadh"> + +<!ENTITY calendar.context.attendance.all.accepted.accesskey "e"> +<!ENTITY calendar.context.attendance.all.accepted.label "Air gabhail ris"> +<!ENTITY calendar.context.attendance.all.tentative.accesskey "v"> +<!ENTITY calendar.context.attendance.all.tentative.label "Air gabhail ris gun chinnt"> +<!ENTITY calendar.context.attendance.all.declined.accesskey "d"> +<!ENTITY calendar.context.attendance.all.declined.label "Air a dhiùltadh"> +<!ENTITY calendar.context.attendance.all.delegated.accesskey "l"> +<!ENTITY calendar.context.attendance.all.delegated.label "Air a thiomnachadh"> +<!ENTITY calendar.context.attendance.all.needsaction.accesskey "l"> +<!ENTITY calendar.context.attendance.all.needsaction.label "Feum air gnìomh fhathast"> +<!ENTITY calendar.context.attendance.all.inprogress.accesskey "p"> +<!ENTITY calendar.context.attendance.all.inprogress.label "Ga phròiseasadh"> +<!ENTITY calendar.context.attendance.all.completed.accesskey "m"> +<!ENTITY calendar.context.attendance.all.completed.label "Air a choileanadh"> + +<!-- Task Context Menu --> +<!ENTITY calendar.context.progress.label "Adhartas"> +<!ENTITY calendar.context.progress.accesskey "A"> +<!ENTITY calendar.context.priority.label "Prìomhachas"> +<!ENTITY calendar.context.priority.accesskey "r"> +<!ENTITY calendar.context.postpone.label "Cuir dàil san t-saothair"> +<!ENTITY calendar.context.postpone.accesskey "s"> + +<!ENTITY percnt "&#37;" ><!--=percent sign--> + +<!ENTITY calendar.context.markcompleted.label "Cuir comharra gu bheil e crìochnaichte"> +<!ENTITY calendar.context.markcompleted.accesskey "o"> + +<!ENTITY progress.level.0 "0% crìochnaichte"> +<!ENTITY progress.level.0.accesskey "0"> +<!ENTITY progress.level.25 "25% crìochnaichte"> +<!ENTITY progress.level.25.accesskey "2"> +<!ENTITY progress.level.50 "50% crìochnaichte"> +<!ENTITY progress.level.50.accesskey "5"> +<!ENTITY progress.level.75 "75% crìochnaichte"> +<!ENTITY progress.level.75.accesskey "7"> +<!ENTITY progress.level.100 "100% crìochnaichte"> +<!ENTITY progress.level.100.accesskey "1"> + +<!ENTITY priority.level.none "Gun sònrachadh"> +<!ENTITY priority.level.none.accesskey "s"> +<!ENTITY priority.level.low "Ìseal"> +<!ENTITY priority.level.low.accesskey "l"> +<!ENTITY priority.level.normal "Àbhaisteach"> +<!ENTITY priority.level.normal.accesskey "À"> +<!ENTITY priority.level.high "Àrd"> +<!ENTITY priority.level.high.accesskey "U"> + +<!ENTITY calendar.context.postpone.1hour.label "1 uair a thìde"> +<!ENTITY calendar.context.postpone.1hour.accesskey "u"> +<!ENTITY calendar.context.postpone.1day.label "1 latha"> +<!ENTITY calendar.context.postpone.1day.accesskey "l"> +<!ENTITY calendar.context.postpone.1week.label "1 seachdain"> +<!ENTITY calendar.context.postpone.1week.accesskey "s"> + +<!ENTITY calendar.copylink.label "Dèan lethbhreac de dh'ionad a' cheangail"> +<!ENTITY calendar.copylink.accesskey "D"> + +<!-- Task View --> +<!-- Note that the above *.context.* strings are currently used for the other + task action buttons --> +<!ENTITY calendar.taskview.delete.label "Sguab às"> + +<!-- Server Context Menu --> +<!ENTITY calendar.context.newserver.label "Mìosachan ùr…"> +<!ENTITY calendar.context.newserver.accesskey "n"> +<!ENTITY calendar.context.findcalendar.label "Lorg mìosachan…" > +<!ENTITY calendar.context.findcalendar.accesskey "L" > +<!ENTITY calendar.context.deleteserver2.label "Sguab às mìosachan..."> +<!ENTITY calendar.context.deleteserver2.accesskey "S"> + +<!-- LOCALIZATION NOTE (calendar.context.removeserver.label): Removing the + calendar is the general action of removing it, while deleting means to + clear the data and unsubscribing means just taking it out of the calendar + list. --> +<!ENTITY calendar.context.removeserver.label "Thoir air falbh mìosachan..."> +<!ENTITY calendar.context.removeserver.accesskey "T"> +<!ENTITY calendar.context.unsubscribeserver.label "Crìochnaich fo-sgrìobhadh do mhìosachan..."> +<!ENTITY calendar.context.unsubscribeserver.accesskey "o"> +<!ENTITY calendar.context.synccalendars.label "Sioncronaich na mìosachain"> +<!ENTITY calendar.context.synccalendars.accesskey "m"> +<!ENTITY calendar.context.publish.label "Foillsich mìosachan…"> +<!ENTITY calendar.context.publish.accesskey "F"> +<!ENTITY calendar.context.export.label "Às-phortaich mìosachan…"> +<!ENTITY calendar.context.export.accesskey "m"> +<!ENTITY calendar.context.properties.label "Roghainnean"> +<!ENTITY calendar.context.properties.accesskey "R"> + +<!-- LOCALIZATION NOTE (calendar.context.showcalendar.accesskey) + This is the access key used for the showCalendar string --> +<!ENTITY calendar.context.showcalendar.accesskey "h"> + +<!-- LOCALIZATION NOTE (calendar.context.hidecalendar.accesskey) + This is the access key used for the hideCalendar string --> +<!ENTITY calendar.context.hidecalendar.accesskey "H"> + +<!-- LOCALIZATION NOTE (calendar.context.showonly.accesskey) + This is the access key used for the showOnlyCalendar string --> +<!ENTITY calendar.context.showonly.accesskey "A"> +<!ENTITY calendar.context.showall.label "Seall gach mìosachan"> +<!ENTITY calendar.context.showall.accesskey "a"> + +<!ENTITY calendar.context.convertmenu.label "Iompaich 'na"> +<!ENTITY calendar.context.convertmenu.accesskey.mail "n"> +<!ENTITY calendar.context.convertmenu.accesskey.calendar "v"> +<!ENTITY calendar.context.convertmenu.event.label "Thachartas…"> +<!ENTITY calendar.context.convertmenu.event.accesskey "T"> +<!ENTITY calendar.context.convertmenu.message.label "Theachdaireachd…"> +<!ENTITY calendar.context.convertmenu.message.accesskey "T"> +<!ENTITY calendar.context.convertmenu.task.label "Shaothair…"> +<!ENTITY calendar.context.convertmenu.task.accesskey "t"> + +<!ENTITY calendar.tasks.view.minimonth.label "Meanbh-mhìos"> +<!ENTITY calendar.tasks.view.minimonth.accesskey "M"> + +<!ENTITY calendar.tasks.view.calendarlist.label "Liosta nam mìosachan"> +<!ENTITY calendar.tasks.view.calendarlist.accesskey "L"> + +<!ENTITY calendar.tasks.view.filtertasks.label "Criathraich na saothraichean"> +<!ENTITY calendar.tasks.view.filtertasks.accesskey "C"> + +<!-- Calendar Alarm Dialog --> + +<!ENTITY calendar.alarm.location.label "Seòladh:" > +<!ENTITY calendar.alarm.details.label "Mion-fhiosrachadh…" > + +<!ENTITY calendar.alarm.snoozefor.label "Dèan dùsal fad" > +<!ENTITY calendar.alarm.snoozeallfor.label "Dèan dùsal airson a h-uile fad" > +<!ENTITY calendar.alarm.title.label "Caismeachd mìosachain" > +<!ENTITY calendar.alarm.dismiss.label "Leig seachad" > +<!ENTITY calendar.alarm.dismissall.label "Leig seachad a h-uile" > + +<!ENTITY calendar.alarm.snooze.5minutes.label "5 mionaidean" > +<!ENTITY calendar.alarm.snooze.10minutes.label "10 mionaidean" > +<!ENTITY calendar.alarm.snooze.15minutes.label "15 mionaidean" > +<!ENTITY calendar.alarm.snooze.30minutes.label "30 mionaid" > +<!ENTITY calendar.alarm.snooze.45minutes.label "45 mionaid" > +<!ENTITY calendar.alarm.snooze.1hour.label "1 uair a thìde" > +<!ENTITY calendar.alarm.snooze.2hours.label "2 uair a thìde" > +<!ENTITY calendar.alarm.snooze.1day.label "1 latha" > + +<!-- LOCALIZATION NOTE (calendar.alarm.snooze.cancel) + This string is not seen in the UI, it is read by screen readers when the + user focuses the "Cancel" button in the "Snooze for..." popup of the alarm + dialog. --> +<!ENTITY calendar.alarm.snooze.cancel "Sguir dhen dùsal"> + +<!-- Calendar Server Dialog --> +<!ENTITY calendar.server.dialog.title.edit "Deasaich am mìosachan"> +<!ENTITY calendar.server.dialog.name.label "Ainm a' mhìosachain:"> + +<!-- Calendar Properties --> +<!ENTITY calendarproperties.color.label "Dath:"> +<!ENTITY calendarproperties.webdav.label "iCalendar (ICS)"> +<!ENTITY calendarproperties.caldav.label "CalDAV"> +<!ENTITY calendarproperties.format.label "Fòrmat:"> +<!ENTITY calendarproperties.location.label "Àite:"> +<!ENTITY calendarproperties.refreshInterval.label "Ùraich am mìosachan:"> +<!ENTITY calendarproperties.refreshInterval.manual.label "A làimh"> +<!ENTITY calendarproperties.name.label "Ainm:"> +<!ENTITY calendarproperties.readonly.label "Ri leughadh a-mhàin"> +<!ENTITY calendarproperties.firealarms.label "Seall cuimhneachain"> +<!ENTITY calendarproperties.cache3.label "Taic far loidhne"> +<!ENTITY calendarproperties.enabled2.label "Cuir am mìosachan seo an comas"> +<!ENTITY calendarproperties.forceDisabled.label "Cha deach solaraiche a' mhìosachain seo a lorg. Tachraidh seo gu tric ma chuir thu à comas tuilleadain sònraichte no ma dhì-stàlaich thu iad."> +<!ENTITY calendarproperties.unsubscribe.label "Sguir dhen fho-sgrìobhadh"> +<!ENTITY calendarproperties.unsubscribe.accesskey "u"> + +<!-- Calendar Publish Dialog --> +<!ENTITY calendar.publish.dialog.title "Foillsich mìosachan"> +<!ENTITY calendar.publish.url.label "An URL foillseachaidh"> +<!ENTITY calendar.publish.publish.button "Foillsich"> +<!ENTITY calendar.publish.close.button "Dùin"> + +<!-- Select Calendar Dialog --> +<!ENTITY calendar.select.dialog.title "Tagh mìosachan"> + +<!-- Error reporting --> +<!ENTITY calendar.error.detail "Mion-fhiosrachadh…"> +<!ENTITY calendar.error.code "Còd na mearachd:"> +<!ENTITY calendar.error.description "Tuairisgeul:"> +<!ENTITY calendar.error.title "Thachair mearachd"> + +<!-- Extract buttons in message header --> +<!ENTITY calendar.extract.event.button "Cuir ris mar thachartas"> +<!ENTITY calendar.extract.task.button "Cuir ris mar shaothair"> +<!ENTITY calendar.extract.event.button.tooltip "Tog fiosrachadh mìosachain on teachdaireachd is cuir ris a' mhìosachan e mar thachartas"> +<!ENTITY calendar.extract.task.button.tooltip "Tog fiosrachadh mìosachain on teachdaireachd is cuir ris a' mhìosachan e mar shaothair"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar.properties new file mode 100644 index 0000000000000000000000000000000000000000..d1542a3a06373573f5de80ab51f9635bb45f3dae --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendar.properties @@ -0,0 +1,696 @@ +# 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/. + +# Default name for new events +newEvent=Tachartas ùr + +# Titles for the event/task dialog +newEventDialog=Tachartas ùr +editEventDialog=Deasaich an tachartas +newTaskDialog=Saothair ùr +editTaskDialog=Deasaich an t-saothair + +# Do you want to save changes? +askSaveTitleEvent=Sàbhail an tachartas +askSaveTitleTask=Sàbhail an t-saothair +askSaveMessageEvent=Cha deach an tachartas a shàbhaladh. A bheil thu airson an tachartas a shàbhaladh? +askSaveMessageTask=Cha deach an t-saothair a shàbhaladh. A bheil thu airson an t-saothair a shàbhaladh? + +# Event Dialog Warnings +warningEndBeforeStart=Tha an latha crìochnachaidh agad ron latha tòiseachaidh +warningUntilDateBeforeStart=Tha an latha crìochnachaidh ron latha tòiseachaidh + +# The name of the calendar provided with the application by default +homeCalendarName=Mo mhìosachan + +# The name given to a calendar if an opened calendar has an empty filename +untitledCalendarName=Mìosachan gun tiotal + +# Event status: Tentative, Confirmed, Cancelled +# ToDo task status: NeedsAction, InProcess, Completed, Cancelled +statusTentative =An dòchas +statusConfirmed =Air a dhearbhachadh +eventStatusCancelled=Air a sgur dheth +todoStatusCancelled =Air a sgur dheth +statusNeedsAction =Feumach air gnìomh +statusInProcess ='Ga phròiseasadh +statusCompleted =Deiseil + +# Task priority, these should match the priority.level.* labels in calendar.dtd +highPriority=Àrd +normalPriority=Àbhaisteach +lowPriority=Ìseal + +importPrompt=Dè am mìosachan dhan a thèid na nithean seo a chur ann? +exportPrompt=Dè am mìosachan a tha thu airson ion-phortadh uaidhe? +pastePrompt=Dè am mìosachan so-sgrìobhte agad dhan a chuireas sinn seo dhut? +publishPrompt=Dè am mìosachan a tha thu airson fhoillseachadh? + +# LOCALIZATION NOTE (pasteEventAlso): The users pasting operation includes among +# others also a meeting invitation - this is used as a affix in +# pasteNotifyAbout +pasteEventAlso=Tha thu a’ cur ann rud sa bheil coinneamh +# LOCALIZATION NOTE (pasteEventsAlso): The users pasting operation includes among +# others also several meeting invitations - this is used as a affix in +# pasteNotifyAbout +pasteEventsAlso=Tha thu a’ cur ann rud sa bheil coinneamhan +# LOCALIZATION NOTE (pasteTaskAlso): The users pasting operation includes among +# others also an assigned task - this is used as a affix in pasteNotifyAbout +pasteTaskAlso=Tha thu a’ cur ann rud sa bheil saothair iomruinte +# LOCALIZATION NOTE (pasteTasksAlso): The users pasting operation include among +# others also several assigned tasks - this is used as a affix in +# pasteNotifyAbout +pasteTasksAlso=Tha thu a’ cur ann rud sa bheil saothraichean iomruinte +# LOCALIZATION NOTE (pasteItemsAlso): The users pasting operation includes among +# others also assigned task(s) and meeting invitation(s) - this is used as a affix +# in pasteNotifyAbout +pasteItemsAlso=Tha thu a’ cur ann rud sa bheil coinneamhan agus saothraichean iomruinte +# LOCALIZATION NOTE (pasteEventOnly): The users is pasting a meeting - +# this is used as a affix in pasteNotifyAbout +pasteEventOnly=Tha thu a’ cur ann coinneamh +# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting several meetings - +# this is used as a affix in pasteNotifyAbout +pasteEventsOnly=Tha thu a’ cur ann coinneamhan +# LOCALIZATION NOTE (pasteEventOnly): The users is pasting an assigned task - +# this is used as a affix in pasteNotifyAbout +pasteTaskOnly=Tha thu a’ cur ann saothair iomruinte +# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting several assigned +# tasks - this is used as a affix in pasteNotifyAbout +pasteTasksOnly=Tha thu a’ cur ann saothraichean iomruinte +# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting assigned task(s) and +# meeting(s) - this is used as a affix in pasteNotifyAbout +pasteItemsOnly=Tha thu a’ cur ann coinneamhan is saothraichean iomruinte + +# LOCALIZATION NOTE (pasteNotifyAbout): Text displayed if pasting an invitation +# or assigned task +# %1$S - pasteEvent* or pasteTask* +pasteNotifyAbout=%1$S - a bheil thu airson innse dhan a h-uile duine a tha an sàs gun deach ùrachadh? + +# LOCALIZATION NOTE (pasteAndNotifyLabel): button label used in calendar prompt +# of the pasted item has attendees +pasteAndNotifyLabel=Cuir ann is cuir a-null an-dràsta +# LOCALIZATION NOTE (pasteDontNotifyLabel): button label used in calendar prompt +# of the pasted item has attendees +pasteDontNotifyLabel=Cuir ann e ach na cuir a-null e + +# LOCALIZATION NOTE (importItemsFailed): +# %1$S will be replaced with number of failed items +# %2$S will be replaced with last error code / error string +importItemsFailed=Dh'fhàillig ion-phortadh de %1$S nithean. 'S e seo a' mhearachd mu dheireadh: %2$S +# LOCALIZATION NOTE (noItemsInCalendarFile2): +# %1$S will be replaced with file path +noItemsInCalendarFile2=Cha ghabh ion-phortadh a dhèanamh o %1$S. Chan eil dad san fhaidhle seo a ghabhas ion-phortadh. + +#spaces needed at the end of the following lines +eventDescription=Tuairisgeul: + +unableToRead=Cha ghabh am faidhle a leanas a leughadh: +unableToWrite=Cha ghabh sgrìobhadh dhan fhaidhle a leanas: +defaultFileName=MozillaCalEvents +HTMLTitle=Mìosachan Mozilla + +# LOCALIZATION NOTE (timezoneError): +# used for an error message like 'An unknown and undefined timezone was found while reading c:\Mycalendarfile.ics' +# %1$S will be replaced with the path to a file +timezoneError=Chaidh roinn-tìde neo-aithnichte gun sònrachadh a lorg fhad 's a bhathar a' leughadh %1$S. + +# LOCALIZATION NOTE (duplicateError): +# %1$S will be replaced with number of duplicate items +# %2$S will be replaced with a file path pointing to a calendar +duplicateError=Chaidh %1$S nithean a leigeil seachad a chionn 's gu bheil iad ann an dà chuid sa mhìosachan-amais agus ann an %2$S. + +unableToCreateProvider=Thachair mearachd fhad 's a bhathar ag ullachadh a' mhìosachain aig %1$S a chum cleachdaidh. Cha bhi e ri do làimh. + +# Sample: Unknown timezone "USPacific" in "Dentist Appt". Using the 'floating' local timezone instead: 2008/02/28 14:00:00 +unknownTimezoneInItem=Roinn-tìde neo-aithnichte "%1$S" ann an "%2$S". Thathar 'ga làimhseachadh mar roinn-tìde ionadail 'air fleod' 'na àite: %3$S +TimezoneErrorsAlertTitle=Mearachdan roinne-tìde +TimezoneErrorsSeeConsole=Cuir sùil air consoil nam mearachd: Thathar a' làimhseachadh roinnean-tìde neo-aithnichte mar roinnean-tìde ionadail 'air fleòd'. + +# The following strings are for the prompt to delete/unsubscribe from the calendar +removeCalendarTitle=Thoir am mìosachan air falbh +removeCalendarButtonDelete=Sguab às am mìosachan +removeCalendarButtonUnsubscribe=Sguir dhen fho-sgrìobhadh + +# LOCALIZATION NOTE (removeCalendarMessageDeleteOrUnsubscribe): Shown for +# calendar where both deleting and unsubscribing is possible. +# %1$S: The name of a calendar +removeCalendarMessageDeleteOrUnsubscribe=A bheil thu airson am mìosachan "%1$S" a thoirt air falbh? Ma chuireas tu crìoch air an fho-sgrìobhadh dhan mhìosachan, thèid a thoirt air falbh on liosta ach ma sguabas tu às e, thèid an dàta aige a phurgaideachadh cuideachd. + +# LOCALIZATION NOTE (removeCalendarMessageDelete): Shown for calendar where +# deleting is the only option. +# %1$S: The name of a calendar +removeCalendarMessageDelete=A bheil thu airson am mìosachan "%1$S" a sguabadh às gu buan? + +# LOCALIZATION NOTE (removeCalendarMessageUnsubscribe): Shown for calendar +# where unsubscribing is the only option. +# %1$S: The name of a calendar +removeCalendarMessageUnsubscribe=A bheil thu airson sgur dhen fho-sgrìobhadh dhan mhìosachan "%1$S"? + +WeekTitle=Seachain %1$S +None=Chan eil gin + +# Error strings +## @name UID_NOT_FOUND +## @loc none + +# LOCALIZATION NOTE (tooNewSchemaErrorText): +# %1$S will be replaced with the name of the host application, e.g. 'Thunderbird' +# %2$S will be replaced with the name of the new copy of the file, e.g. 'local-2020-05-11T21-30-17.sqlite' +tooNewSchemaErrorText=Chan eil dàta a’ mhìosachain agad co-chòrdail leis an tionndadh seo de %1$S. Chaidh dàta a’ mhìosachain sa phròifil agad ùrachadh le tionndadh nas ùire de %1$S. Chaidh lethbhreac-glèidhidh dhen fhaidhle dàta a chruthachadh agus ’s e “%2$S” a tha air. A’ leantainn air adhart le faidhle dàta a tha air ùr-chruthachadh. + +# List of events or todos (unifinder) +eventUntitled=Gun tiotal + +# Tooltips of events or todos +tooltipTitle=Tiotal: +tooltipLocation=Àite: +# event date, usually an interval, such as +# Date: 7:00--8:00 Thu 9 Oct 2011 +# Date: Thu 9 Oct 2000 -- Fri 10 Oct 2000 +tooltipDate=Ceann-là: +# event calendar name +tooltipCalName=Ainm a' mhìosachain: +# event status: tentative, confirmed, cancelled +tooltipStatus=Staid: +# event organizer +tooltipOrganizer=E: +# task/todo fields +# start date time, due date time, task priority number, completed date time +tooltipStart=Àm-tòiseachaidh: +tooltipDue=Ceann-ama: +tooltipPriority=Prìomhachas: +tooltipPercent=% crìochnaichte: +tooltipCompleted=Crìochnaichte: + +#File commands and dialogs +New=Ùr +Open=Fosgail +filepickerTitleImport=Ion-phortaich +filepickerTitleExport=Às-phortaich + +# Filters for export/import/open file picker. %1$S will be replaced with +# wildmat used to filter files by extension, such as (*.html; *.htm). +filterIcs=iCalendar (%1$S) +filterHtml=Duilleag-lìn (%1$S) + +# Remote calendar errors +genericErrorTitle=Thachair mearachd +httpPutError=Dh'fhàillig foillseachadh faidhle a' mhìosachain.\nCòd a' chor: %1$S: %2$S +otherPutError=Dh'fhàillig foillseachadh faidhle a' mhìosachain.\nCòd a' chor: 0x%1$S + +# LOCALIZATION NOTE (readOnlyMode): +# used for an message like 'There has been an error reading data for calendar: Home. It has been...' +# %1$S will be replaced with the name of a calendar +readOnlyMode=Thachair mearachd rè leughadh an dàta airson a' mhìosachain: %1$S. Tha e ri leughadh a-mhàin a-nis a chionn 's gum b' urrainn dhut dàta a chall ma dh'atharraicheas tu càil ann. 'S urrainn an roghainn seo atharrachadh ma thèid thu gu 'Deasaich am mìosachan'. + +# LOCALIZATION NOTE (disabledMode): +# used for an message like 'There has been an error reading data for calendar: Home. It has been...' +# %1$S will be replaced with the name of a calendar +disabledMode=Thachair mearachd rè leughadh an dàta airson a' mhìosachain: %1$S. Chaidh a chur à comas gus am bi e sàbhailte ri chleachdadh. + +# LOCALIZATION NOTE (minorError): +# used for an message like 'There has been an error reading data for calendar: Home. However this...' +# %1$S will be replaced with the name of a calendar +minorError=Thachair mearachd rè leughadh an dàta airson a' mhìosachain: %1$S. Ge-tà, chan e mearachd mhòr a tha ann a-rèir coltais agus feuchaidh am prògram ri cumail air co-dhiù. + +# LOCALIZATION NOTE (stillReadOnlyError): +# used for an message like 'There has been an error reading data for calendar: Home.' +# %1$S will be replaced with the name of a calendar +stillReadOnlyError=Thachair mearachd rè leughadh an dàta airson a' mhìosachain: %1$S. +utf8DecodeError=Thachair mearachd fhad 's a bha faidhle iCalendar (ics) a dhì-chòdachadh 'na UTF-8. Cuir sùil air an fhaidhle, gu h-àraid comharran is litrichean le stràcan, gus dèanamh cinnteach gu bheil e sa chòdachadh UTF-8. +icsMalformedError=Dh'fhàillig parsadh faidhle iCalendar (ics). Dèan cinnteach gu bheil am faidhle a' leantainn co-chàradh faidhle iCalendar (ics). +itemModifiedOnServerTitle=Dh'atharraich nì air an fhrithealaiche +itemModifiedOnServer=Chaidh an nì seo atharrachadh air an fhrithealaiche o chionn goirid.\n +modifyWillLoseData=Ma chuireas tu ann na dh'atharraich thu, thèid a sgrìobhadh thairis air na dh'atharraich air an fhrithealaiche. +deleteWillLoseData=Ma sguabas tu às an nì seo, thèid na dh'atharraich air an fhrithealaiche air chall. +updateFromServer=Leig seachad na dh'atharraich mise agus luchdaich e a-rithist +proceedModify=Cuir ann na dh'atharraich mise co-dhiù +proceedDelete=Sguab às co-dhiù +dav_notDav=Chan eil an goireas aig %1$S 'na chruinneachadh DAV no chan eil e ri fhaighinn +dav_davNotCaldav=Tha an goireas aig %1$S 'na chruinneachadh DAV ach chan e mìosachan CalDAV a tha ann +itemPutError=Thachair mearachd rè stòradh an nì seo air an fhrithealaiche. +itemDeleteError=Thachair mearachd rè sguabadh às an nì seo air an fhrithealaiche. +caldavRequestError=Thachair mearachd leis a' chuireadh. +caldavResponseError=Thachair mearachd leis an fhreagairt. +caldavRequestStatusCode=Còd a' chor: %1$S +caldavRequestStatusCodeStringGeneric=Cha ghabh an t-iarrtas seo a làimhseachadh. +caldavRequestStatusCodeString400=Tha droch cho-chàradh air an iarrtas seo 's cha ghabh a làimhseachadh. +caldavRequestStatusCodeString403=Chan eil cead aig a' chleachdaiche an t-iarrtas seo a thoirt gu buil. +caldavRequestStatusCodeString404=Cha deach an goireas seo a lorg. +caldavRequestStatusCodeString409=Còmhstri eadar goireasan. +caldavRequestStatusCodeString412=Dh'fhàillig ro-chumha. +caldavRequestStatusCodeString500=Mearachd am broinn an fhrithealaiche. +caldavRequestStatusCodeString502=Droch chachaileith (Rèiteachadh a' phrogsaidh?). +caldavRequestStatusCodeString503=Mearachd am broinn an fhrithealaiche (Frithealaiche sìos rè tàmaill?). +caldavRedirectTitle=A bheil thu airson ionad a' mhìosachain %1$S ùrachadh? +caldavRedirectText=Chan eil iarrtasan airson %1$S 'gan ath-stiùireadh gun ionad ùr. A bheil thu airson an luach a leanas a chur an àite an ionaid? +caldavRedirectDisableCalendar=Cuir am mìosachan à comas + + +# LOCALIZATION NOTE (likelyTimezone): +# Translators, please put the most likely timezone(s) where the people using +# your locale will be. Use the Olson ZoneInfo timezone name *in English*, +# ie "Europe/Paris", (continent or ocean)/(largest city in timezone). +# Order does not matter, except if two historically different zones now match, +# such as America/New_York and America/Toronto, will only find first listed. +# (Particularly needed to guess the most relevant timezones if there are +# similar timezones at the same June/December GMT offsets with alphabetically +# earlier ZoneInfo timezone names. Sample explanations for English below.) +# for english-US: +# America/Los_Angeles likelier than America/Dawson +# America/New_York likelier than America/Detroit (NY for US-EasternTime) +# for english: +# Europe/London likelier than Atlantic/Canary +# Europe/Paris likelier than Africa/Ceuta (for WestEuropeanTime) +# America/Halifax likelier than America/Glace_Bay (Canada-AtlanticTime) +# America/Mexico_City likelier than America/Cancun +# America/Argentina/Buenos_Aires likelier than America/Araguaina +# America/Sao_Paolo (may not recognize: summer-time dates change every year) +# Asia/Singapore likelier than Antarctica/Casey +# Asia/Tokyo likelier than Asia/Dili +# Africa/Lagos likelier than Africa/Algiers (for WestAfricanTime) +# Africa/Johannesburg likelier than Africa/Blantyre (for SouthAfricanStdTime) +# Africa/Nairobi likelier than Africa/Addis_Ababa (for EastAfricanTime) +# Australia/Brisbane likelier than Antarctica/DumontDUrville +# Australia/Sydney likelier than Australia/Currie or Australia/Hobart +# Pacific/Auckland likelier than Antarctica/McMurdo +likelyTimezone=Europe/London, America/Halifax, Australia/Sydney, Pacific/Auckland + +# Guessed Timezone errors and warnings. +# Testing note: +# * remove preference for calendar.timezone.default in userprofile/prefs.js +# * repeat +# - set OS timezone to a city (windows: click right on clock in taskbar) +# - restart +# - observe guess in error console and verify whether guessed timezone city +# makes sense for OS city. +# +# 'Warning: Operating system timezone "E. South America Standard Time" +# no longer matches ZoneInfo timezone "America/Sao_Paulo".' +# Testing notes: +# - Brasil DST change dates are set every year by decree, so likely out of sync. +# - Only appears on OSes from which timezone can be obtained +# (windows; or TZ env var, /etc/localtime target path, or line in +# /etc/timezone or /etc/sysconfig/clock contains ZoneInfo timezone id). +# - Windows: turning off "Automatically adjust clock for daylight saving time" +# can also trigger this warning. +WarningOSTZNoMatch=Rabhadh: Chan eil roinn-tìde an t-siostaim-obrachaidh “%1$S”\na’ freagairt ris an roinn-tìde ZoneInfo “%2$S” tuilleadh. + +# "Skipping Operating System timezone 'Pacific/New_Country'." +# Testing note: not easily testable. May occur someday if (non-windows) +# OS uses different version of ZoneInfo database which has a timezone name +# that is not included in our current ZoneInfo database (or if the mapping +# mapping from windows to ZoneInfo timezone ids does). +SkippingOSTimezone=A' gearradh leum thairis air roinn-tìde an t-siostaim-obrachaidh '%1$S'. + +# "Skipping locale timezone 'America/New_Yawk'." +# Testing note: Skipping occurs if a likelyTimezone id is unknown or misspelled. +SkippingLocaleTimezone=A’ gearradh leum thairis air roinn-tìde an sgeama ionadail “%1$S”. + +# Testing note: "No match" timezones include Bucharest on W2k. +# Brazil timezones may be "No match" (change every year, so often out of date, +# and changes are often more than a week different). +warningUsingFloatingTZNoMatch=Rabhadh: A’ cleachdadh roinn-tìde “air fleod”.\nCha do fhreagair dàta roinn-tìde ZoneInfo sam bith ri dàta roinn-tìde an t-siostaim-obrachaidh. + +# "Warning: Using guessed timezone +# America/New York (UTC-0500/-0400). +# [rfc2445 summer daylight saving shift rules for timezone] +# This ZoneInfo timezone almost matches/seems to match..." +# This ZoneInfo timezone was chosen based on ... " +WarningUsingGuessedTZ=Rabhadh: Rinn sinn tomhas air an roinn-tìde\n %1$S (UTC%2$S).\n%3$S\n%4$S + +# Testing note: "Almost match" timezones include Cairo on W2k. +TZAlmostMatchesOSDifferAtMostAWeek=Tha an toinn-tìde ZoneInfo seo cha mhòr co-ionnann ri roinn-tìde an t-siostaim-obrachaidh agad.\nAir sgàth sin, bidh diofar seachdain, air a’ char as motha, eadar\namannan samhraidh is geamhraidh an coimeas ri amannan an t-siostaim-obrachaidh.\nFaodaidh gum bi diofar san dàta a thaobh làithean tòiseachaidh no riaghailtean eadar-dhealaichte,\nno tuairmse, airson riaghailtean ann am mìosachain neo-Ghriogarach. + +TZSeemsToMatchOS=Tha coltas gu bheil an roinn-tìde ZoneInfo seo a’ freagairt ri roinn-tìde an t-siostaim-obrachaidh agad am bliadhna-sa. + +# LOCALIZATION NOTE (TZFromOS): +# used for a display of a chosen timezone +# %1$S will be replaced with the name of a timezone +TZFromOS=Chaidh an roinn-tìde ZoneInfo seo a thaghadh air sgàth aithnichear\nroinn-tìde an t-siostaim-obrachaidh "%1$S". + +# Localization note (TZFromLocale): Substitute name of your locale language. +TZFromLocale=Chaidh an roinn-tìde ZoneInfo seo a thaghadh a chionn 's gun deach roinn-tìde an\nt-siostaim-obrachaidh a' freagairt ri roinnean-tìde iomchaidh airson daoine a chleachdas Beurla nan SA. + +TZFromKnownTimezones=Chaidh an roinn-tìde ZoneInfo seo a thaghadh a chionn 's gun deach roinn-tìde an\nt-siostaim-obrachaidh a' freagairt ri roinnean-tìde aithnichte ann an òrdugh aibideileach DA na roinne-tìde. + +# Print Layout +tasksWithNoDueDate = Saothraichean gun cheann-ama + +# Providers +caldavName=CalDAV +compositeName=Co-dhèanta +icsName=iCalendar (ICS) +memoryName=Sealach (cuimhne) +storageName=Ionadail (SQLite) + +# Used in created html code for export +htmlPrefixTitle=Tiotal +htmlPrefixWhen=Cuin +htmlPrefixLocation=Àite +htmlPrefixDescription=Tuairisgeul +htmlTaskCompleted=%1$S (crìochnaichte) + +# Categories +addCategory=Cuir ris roinn-seòrsa +multipleCategories=Iomadh roinn-seòrsa + +today=An-diugh +tomorrow=A-màireach +yesterday=An-dè + +#Today pane +eventsonly=Tachartasan +eventsandtasks=Tachartasan is saothraichean +tasksonly=Saothraichean +shortcalendarweek=Seachdain na bl. + +go=Rach ann + +# Some languages have different conjugations of 'next' and 'last'. If yours +# does not, simply repeat the value. This will be used with day names, as in +# 'next Sunday'. +next1=na leanas seo romhainn: +next2=na leanas seo romhainn: +last1=na leanas seo chaidh: +last2=na leanas seo chaidh: + +# Alarm Dialog +# LOCALIZATION NOTE (alarmWindowTitle.label): Semi-colon list of plural +# forms. See: http://developer.mozilla.org/en/Localization_and_Plurals +alarmWindowTitle.label=#1 chuimhneachan;#1 chuimhneachan;#1 cuimhneachain;#1 cuimhneachan + +# LOCALIZATION NOTE (alarmStarts): +# used for a display the start of an alarm like 'Starts: Thu 2 Oct 2008 13:21' +# %1$S will be replaced with a date-time +alarmStarts=A' tòiseachadh: %1$S + +# LOCALIZATION NOTE (alarmTodayAt): +# used for a display the date-time of an alarm like 'Today at Thu 2 Oct 2008 13:21' +# %1$S will be replaced with a date-time +alarmTodayAt=Aig %1$S an-diugh + +# LOCALIZATION NOTE (alarmTomorrowAt): +# used for a display the date-time of an alarm like 'Tomorrow at Thu 2 Oct 2008 13:21' +# %1$S will be replaced with a date-time +alarmTomorrowAt=Aig %1$S a-màireach + +# LOCALIZATION NOTE (alarmYesterdayAt): +# used for a display the date-time of an alarm like 'Yesterday at Thu 2 Oct 2008 13:21' +# %1$S will be replaced with a date-time +alarmYesterdayAt=Aig %1$S an-dè + +# Alarm interface strings +# LOCALIZATION NOTE: These strings do not get displayed. They are only visible +# when exporting an item with i.e a DISPLAY alarm, that doesn't have a +# description set, or an EMAIL alarm that doesn't have a summary set. +alarmDefaultDescription=An tuairisgeul bunaiteach aig Mozilla +alarmDefaultSummary=An gearr-chunntas bunaiteach aig Mozilla + +# LOCALIZATION NOTE (alarmSnoozeLimitExceeded): Semi-colon list of plural +# forms. +alarmSnoozeLimitExceeded=Chan urrainn dhut caismeachd a chur na dhùsal barrachd air #1 mhìos.;Chan urrainn dhut caismeachd a chur na dhùsal barrachd air #1 mhìos.;Chan urrainn dhut caismeachd a chur na dhùsal barrachd air #1 mìosan.;Chan urrainn dhut caismeachd a chur na dhùsal barrachd air #1 mìos. + +taskDetailsStatusNeedsAction=Feumach air gnìomh + +# LOCALIZATION NOTE (taskDetailsStatusInProgress): +# used for a display of how much of a task is completed '25% Complete' +# %1$S will be replaced with the number of percentage completed +taskDetailsStatusInProgress=%1$S%% crìochnaichte +taskDetailsStatusCompleted=Crìochnaichte + +# LOCALIZATION NOTE (taskDetailsStatusCompletedOn): +# used for a display of completion date like 'Completed on Thu 2 Oct 2008 13:21' +# %1$S will be replaced with the completion date-time of the task +taskDetailsStatusCompletedOn=Crìochnaichte %1$S +taskDetailsStatusCancelled=Air a sgur dheth + +gettingCalendarInfoCommon=A' sgrùdadh nam mìosachan… + +# LOCALIZATION NOTE (gettingCalendarInfoDetail): +# used for a progress-display of processed like 'Checking Calendar 5 of 10' +# %1$S will be replaced with the index of the currently processed calendar +# %2$S will be replaced with the total numbers of calendars +gettingCalendarInfoDetail=A' sgrùdadh mìosachan %1$S a-mach à %2$S + +# LOCALIZATION NOTE (errorCode): +# %1$S will be replaced with the number of an error code +errorCode=Còd na mearachd: %1$S + +# LOCALIZATION NOTE (errorDescription): +# %1$S will be replaced with the description of an error +errorDescription=Tuairisgeul: %1$S + +# LOCALIZATION NOTE (errorWriting): +# used for an message like 'An error occurred when writing to the calendar Home!' +# %1$S will be replaced with the name of a calendar +errorWriting2=Thachair mearachd nuair a bha sinn ri sgrìobhadh sa mhìosachan %1$S! Gheibh thu barrachd fiosrachaidh gu h-ìosal. + +# LOCALIZATION NOTE (errorWritingDetails): +# This will be displayed in the detail section of the error dialog +errorWritingDetails=Ma chì thu an teachdaireachd seo an dèidh dhut cuimhneachan a chur na dhùsal no a leigeil seachad agus mur eil thu airson tachartasan a chur ris a’ mhìosachan seo no an deasachadh, is urrainn dhut mìosachan a tha ri leughadh a-mhàin a dhèanamh dheth is seo a sheachnadh san àm ri teachd. Airson seo a dhèanamh, fosgail roghainnean a’ mhìosachain le briogadh deas air a’ mhìosachan seo san liosta ann an sealladh a’ mhìosachain no nan saothraichean. + +# LOCALIZATION NOTE (tooltipCalendarDisabled): +# used for an alert-message like 'The calendar Home is momentarily not available' +# %1$S will be replaced with the name of a calendar +tooltipCalendarDisabled=Chan eil am mìosachan %1$S ri fhaighinn an-dràsta fhèin + +# LOCALIZATION NOTE (tooltipCalendarReadOnly): +# used for an message like 'The calendar Home is readonly' +# %1$S will be replaced with the name of a calendar +tooltipCalendarReadOnly=Tha am mìosachan %1$S ri leughadh a-mhàin + +taskEditInstructions=Briog an-seo gus saothair ùr a chur ris +taskEditInstructionsReadonly=Tagh mìosachan as urrainn dhut sgrìobhadh ann +taskEditInstructionsCapability=Tagh mìosachan aig a bheil taic airson saothraichean + +eventDetailsStartDate=Àm-tòiseachaidh: +eventDetailsEndDate=Àm-crìochnachaidh: + +# LOCALIZATION NOTE (datetimeWithTimezone): +# used for a display of a date-time with timezone 'Thu 2 Oct 2008 13:21', Europe/Paris +# %1$S will be replaced with the completion date-time +# %2$S will be replaced with the name of the timezone +datetimeWithTimezone=%1$S, %2$S + +# LOCALIZATION NOTE (singleLongCalendarWeek): +# used for display of calendar weeks in short form like 'Calendar Week 43' +# %1$S will be replaced with the index of the week +singleLongCalendarWeek=Seachdain na bliadhna: %1$S + +# LOCALIZATION NOTE (severalLongCalendarWeeks): +# used for display of calendar weeks in short form like 'Calendar Weeks 43 - 45' +# %1$S will be replaced with the index of the start-week +# %2$S will be replaced with the index of the end-week +severalLongCalendarWeeks=Seachdainean %1$S-%2$S na bliadhna + +# LOCALIZATION NOTE (singleShortCalendarWeek): +# used for display of calendar weeks in short form like 'CW 43' +# %1$S will be replaced with the index of the week +singleShortCalendarWeek=%1$S seachdain na bl. + +# LOCALIZATION NOTE (severalShortCalendarWeeks): +# used for display of calendar weeks in short form like 'CWs 43 - 45' +# %1$S will be replaced with the index of the start-week +# %2$S will be replaced with the index of the end-week +severalShortCalendarWeeks=Seachdainean %1$S-%2$S na bl. + +# LOCALIZATION NOTE (multiweekViewWeek): +# Used for displaying the week number in the first day box of every week +# in multiweek and month views. +# It allows to localize the label with the week number in case your locale +# requires it. +# Take into account that this label is placed in the same room of the day label +# inside the day boxes, exactly on left side, hence a possible string shouldn't +# be too long otherwise it will create confusion between the week number and +# the day number other than a possible crop when the window is resized. +# +# %1$S is a number from 1 to 53 that represents the week number. +multiweekViewWeek=S %1$S + +# Task tree, "Due In" column. +# LOCALIZATION NOTE (dueInDays, dueInHours): Semi-colon list of plural +# forms. See: http://developer.mozilla.org/en/Localization_and_Plurals +dueInDays=#1 latha;#1 latha;#1 làithean;#1 latha +dueInHours=#1 uair a thìde;#1 uair a thìde;#1 uairean a thìde;#1 uair a thìde +dueInLessThanOneHour=< 1 uair a thìde + +# LOCALIZATION NOTE (monthInYear): +# used for display of Month-dates like 'December 2008' +# %1$S will be replaced with name of the month +# %2$S will be replaced with the year +monthInYear=%1$S %2$S + +# LOCALIZATION NOTE (monthInYear.monthFormat): +# If your language requires a different declension, change this to +# one of the values specified in dateFormat.properties. +# In any case, DO NOT TRANSLATE. +monthInYear.monthFormat=genitive + +# LOCALIZATION NOTE (formatDateLong): +# used for display dates in long format like 'Mon 15 Oct 2008' when it's +# impossible to retrieve the formatatted date from the OS. +# %1$S will be replaced with name of the day in short format; +# %2$S will be replaced with the day-index of the month, possibly followed by an ordinal symbol +# (depending on the string dayOrdinalSymbol in dateFormat.properties); +# %3$S will be replaced with the name of the month in short format; +# %4$S will be replaced with the year. +formatDateLong=%1$S %2$S %3$S %4$S + +# LOCALIZATION NOTE (dayHeaderLabel): +# used for display the labels in the header of the days in day/week views in short +# or long format. For example: 'Monday 6 Oct.' or 'Mon. 6 Oct.' +# %1$S will be replaced with name of the day in short or long format +# %2$S will be replaced with the day-index of the month, possibly followed by an ordinal symbol +# (depending on the string dayOrdinalSymbol in dateFormat.properties), plus the name +# of the month in short format (the day/month order depends on the OS settings). +dayHeaderLabel=%1$S %2$S + +# LOCALIZATION NOTE (daysIntervalInMonth): +# used for display of intervals in the form of 'March 3 - 9, 2008' +# %1$S will be replaced with name of the month of the start date +# %2$S will be replaced with the day-index of the start date possibly followed by an ordinal symbol +# %3$S will be replaced with the day-index of the end date possibly followed by an ordinal symbol +# %4$S will be replaced with the common year of both dates +# The presence of the ordinal symbol in the day-indexes depends on the string +# dayOrdinalSymbol in dateFormat.properties +daysIntervalInMonth=%2$S – %3$S %1$S, %4$S + +# LOCALIZATION NOTE (daysIntervalInMonth.monthFormat): +# If your language requires a different declension, change this to +# one of the values specified in dateFormat.properties. +# In any case, DO NOT TRANSLATE. +daysIntervalInMonth.monthFormat=genitive + +# LOCALIZATION NOTE (daysIntervalBetweenMonths): +# used for display of intervals in the form 'September 29 - October 5, 2008' +# %1$S will be replaced with name of the month of the start date +# %2$S will be replaced with the day-index of the start date possibly followed by an ordinal symbol +# %3$S will be replaced with name of the month of the end date +# %4$S will be replaced with the day-index of the end date possibly followed by an ordinal symbol +# %5$S will be replaced with the common year of both dates +# The presence of the ordinal symbol in the day-indexes depends on the string +# dayOrdinalSymbol in dateFormat.properties +daysIntervalBetweenMonths=%2$S %1$S - %4$S %3$S, %5$S + +# LOCALIZATION NOTE (daysIntervalBetweenMonths.monthFormat): +# If your language requires a different declension, change this to +# one of the values specified in dateFormat.properties. +# In any case, DO NOT TRANSLATE. +daysIntervalBetweenMonths.monthFormat=genitive + +# LOCALIZATION NOTE (daysIntervalBetweenYears): +# used for display of intervals in the form 'December 29, 2008 - January 4, 2009' +# %1$S will be replaced with name of the month of the start date +# %2$S will be replaced with the day-index of the start date possibly followed by an ordinal symbol +# %3$S will be replaced with the year of the start date +# %4$S will be replaced with name of the month of the end date +# %5$S will be replaced with the day-index of the end date possibly followed by an ordinal symbol +# %6$S will be replaced with the year of the end date +# The presence of the ordinal symbol in the day-indexes depends on the string +# dayOrdinalSymbol in dateFormat.properties +daysIntervalBetweenYears=%2$S %1$S, %3$S - %5$S %4$S, %6$S + +# LOCALIZATION NOTE (daysIntervalBetweenYears.monthFormat): +# If your language requires a different declension, change this to +# one of the values specified in dateFormat.properties. +# In any case, DO NOT TRANSLATE. +daysIntervalBetweenYears.monthFormat=genitive + +# LOCALIZATION NOTE (datetimeIntervalOnSameDateTime): +# used for intervals where end is equals to start +# displayed form is '5 Jan 2006 13:00' +# %1$S will be replaced with the date of the start date +# %2$S will be replaced with the time of the start date +datetimeIntervalOnSameDateTime=%1$S %2$S + +# LOCALIZATION NOTE (datetimeIntervalOnSameDay): +# used for intervals where end is on the same day as start, so we can leave out the +# end date but still include end time +# displayed form is '5 Jan 2006 13:00 - 17:00' +# %1$S will be replaced with the date of the start date +# %2$S will be replaced with the time of the start date +# %3$S will be replaced with the time of the end date +datetimeIntervalOnSameDay=%1$S %2$S - %3$S + +# LOCALIZATION NOTE (datetimeIntervalOnSeveralDays): +# used for intervals spanning multiple days by including date and time +# displayed form is '5 Jan 2006 13:00 - 7 Jan 2006 9:00' +# %1$S will be replaced with the date of the start date +# %2$S will be replaced with the time of the start date +# %3$S will be replaced with the date of the end date +# %4$S will be replaced with the time of the end date +datetimeIntervalOnSeveralDays=%1$S %2$S – %3$S %4$S + +# LOCALIZATION NOTE (datetimeIntervalTaskWithoutDate): +# used for task without start and due date +# (showed only in exported calendar in Html format) +datetimeIntervalTaskWithoutDate= gun latha tòiseachaidh no ceann-ama +# LOCALIZATION NOTE (datetimeIntervalTaskWithoutDueDate): +# used for intervals in task with only start date +# displayed form is 'start date 5 Jan 2006 13:00' +# (showed only in exported calendar in Html format) +# %1$S will be replaced with the date of the start date +# %2$S will be replaced with the time of the start date +datetimeIntervalTaskWithoutDueDate=latha tòiseachaidh %1$S %2$S +# LOCALIZATION NOTE (datetimeIntervalTaskWithoutStartDate): +# used for intervals in task with only due date +# displayed form is 'due date 5 Jan 2006 13:00' +# (showed only in exported calendar in Html format) +# %1$S will be replaced with the date of the due date +# %2$S will be replaced with the time of the due date +datetimeIntervalTaskWithoutStartDate=ceann-ama %1$S %2$S + +# LOCALIZATION NOTE (dragLabelTasksWithOnlyEntryDate +# dragLabelTasksWithOnlyDueDate) +# Labels that appear while dragging a task with only +# entry date OR due date +dragLabelTasksWithOnlyEntryDate=Àm-tòiseachaidh +dragLabelTasksWithOnlyDueDate=Ceann-ama + +deleteTaskLabel=Sguab às an t-saothair +deleteTaskAccesskey=S +deleteItemLabel=Sguab às +deleteItemAccesskey=S +deleteEventLabel=Sguab às an tachartas +deleteEventAccesskey=S + +calendarPropertiesEveryMinute=Gach mionaid;Gach #1 mhionaid;Gach #1 mionaidean;Gach #1 mionaid + +# LOCALIZATION NOTE (extractUsing) +# Used in message header +# %1$S will be replaced with language name from languageNames.properties +extractUsing=A' cleachdadh %1$S + +# LOCALIZATION NOTE (extractUsingRegion) +# Used in message header +# %1$S will be replaced with language name from languageNames.properties +# %2$S will be replaced with region like US in en-US +extractUsingRegion=A' cleachdadh %1$S (%2$S) + +# LOCALIZATION NOTE (unit) +# Used to determine the correct plural form of a unit +unitMinutes=#1 mhionaid;#1 mhionaid;#1 mionaidean;#1 mionaid +unitHours=#1 uair a thìde;#1 uair a thìde;#1 uairean a thìde;#1 uair a thìde +unitDays=#1 latha;#1 latha;#1 làithean;#1 latha +unitWeeks=#1 seachdain;#1 sheachdain;#1 seachdainean;#1 seachdain + +# LOCALIZATION NOTE (showCalendar) +# Used in calendar list context menu +# %1$S will be replaced with the calendar name +# uses the access key calendar.context.togglevisible.accesskey +showCalendar=Seall %1$S +hideCalendar=Falaich %1$S +# uses the access key calendar.context.showonly.accesskey +showOnlyCalendar=Na seall ach %1$S + +# LOCALIZATION NOTE (modifyConflict) +# Used by the event dialog to resolve item modification conflicts. +modifyConflictPromptTitle=Còmhstri atharrachaidh +modifyConflictPromptMessage=Chaidh an rud a tha 'ga dheasachadh sa chòmhradh atharrachadh on a chaidh fhosgladh. +modifyConflictPromptButton1=Sgrìobh thairis air na h-atharraichean eile +modifyConflictPromptButton2=Tilg air falbh na h-atharraichean seo + +# Accessible description of a grid calendar with no selected date +minimonthNoSelectedDate=Cha deach ceann-là a thaghadh diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendarCreation.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendarCreation.dtd new file mode 100644 index 0000000000000000000000000000000000000000..b93700e6f3740787dc3b2a47ff275dafe502a476 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendarCreation.dtd @@ -0,0 +1,51 @@ +<!-- 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/. --> + +<!ENTITY wizard.title "A' cruthachadh mìosachan ùr" > +<!ENTITY wizard.label "Cruthaich mìosachan ùr" > +<!ENTITY wizard.description "Lorg am mìosachan agad" > + +<!ENTITY initialpage.description "'S urrainn dhut am mìosachan agad a stòradh air a' choimpiutair agad no air frithealaiche gus inntrigeadh cèin a dhèanamh dha no a chleachdadh còmhla ri caraidean no co-obraichean." > +<!ENTITY initialpage.computer.label "Air a' choimpiutair agam"> +<!ENTITY initialpage.network.label "Air an lìonra"> + +<!ENTITY locationpage.description "Cuir ann am fiosrachadh a dh'fheumar gus inntrigeadh a dhèanamh dhan mhìosachan chèin agad" > +<!ENTITY locationpage.login.description "Roghainneil: cuir a-steach ainm-cleachdaiche 's facal-faire" > +<!ENTITY locationpage.username.label "Ainm-cleachdaiche:" > +<!ENTITY locationpage.password.label "Facal-faire:" > + +<!ENTITY custompage.shortdescription "Gnàthaich am mìosachan agad" > +<!ENTITY custompage.longdescription "'S urrainn dhut far-ainm a chur air a' mhìosachan agad no dathan a chur air tachartasan a' mhìosachain seo." > + +<!ENTITY finishpage.shortdescription "Chaidh am mìosachan a chruthachadh" > +<!ENTITY finishpage.longdescription "Chaidh am mìosachan agad a chruthachadh." > + +<!-- Below are new strings for the revised new calendar dialog. The above strings should be + removed/renamed later on --> + +<!ENTITY sourcetabs.other.label "Eile"> + +<!ENTITY buttons.create.label "Cruthaich mìosachan"> +<!ENTITY buttons.create.accesskey "r"> + +<!ENTITY buttons.find.label "Lorg mìosachain"> +<!ENTITY buttons.find.accesskey "F"> + +<!ENTITY buttons.back.label "Air ais"> +<!ENTITY buttons.back.accesskey "B"> + +<!ENTITY buttons.subscribe.label "Fo-sgrìobh"> +<!ENTITY buttons.subscribe.accesskey "S"> + +<!ENTITY calendartype.label "Seòrsa a’ mhìosachain:"> +<!ENTITY location.label "Ionad:"> +<!ENTITY location.placeholder "URL no ainm an òstair aig frithealaiche a’ mhìosachain"> + +<!ENTITY network.nocredentials.label "Chan eil feum air ainm-cleachdaiche no facal-faire san ionad seo"> +<!ENTITY network.loading.description "Fuirich ort fhad ’s a tha sinn a’ faighinn lorg air na mìosachain agad."> +<!ENTITY network.notfound.description "Cha b’ urrainn dhuinn mìosachan sam bith a lorg aig an ionad seo. Thoir sùil air na roghainnean agad."> +<!ENTITY network.authfail.description "Chuir thu ainm no facal-faire a-steach a chaidh a dhiùltadh. Thoir sùil air na roghainnean agad."> + +<!ENTITY network.subscribe.single.description "Tagh na mìosachain a bu mhath leat fo-sgrìobhadh thuca."> +<!ENTITY network.subscribe.multiple.description "Tha iomadh mìosachan san ionad seo. Tagh seòrsa a’ mhìosachain is comharraich an fheadhainn a bu toigh leat fo-sgrìobhadh thuca an uairsin."> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendarCreation.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendarCreation.properties new file mode 100644 index 0000000000000000000000000000000000000000..d93dd8fb5eff2e36bc78047e3cba1fc5049df7fe --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/calendarCreation.properties @@ -0,0 +1,6 @@ +# 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/. + +error.invalidUri=Cuir a-steach àite dligheach. +error.alreadyExists=Tha fo-sgrìobhadh agad dhan mhìosachan seo san àite seo mu thràth. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/categories.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/categories.properties new file mode 100644 index 0000000000000000000000000000000000000000..bbc889e4b7673ef51bbb6d69f8407ccd435a789a --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/categories.properties @@ -0,0 +1,7 @@ +# 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/. + +# default categories + +categories2=Annsachdan,Bun-bheachdan,Ceann-blidhna,Cliantan,Co-fharpais,Co-là breith,Coinneamh,Cor,Cùisean,Custamar,Eile,Glaoidhean,Gnothachas,Làithean-saora,Là-fèille,Pearsanta,Preasantan,Pròiseactan,Saor-làithean,Siubhal,Solaraichean,Staid,Sùil eile,Tiodhlagan diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/dateFormat.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/dateFormat.properties new file mode 100644 index 0000000000000000000000000000000000000000..7b2084287bcbf2065ba5b850d6a5d64283bb4821 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/dateFormat.properties @@ -0,0 +1,146 @@ +# 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/. + +# In case you are looking for the note about different declensions on date +# formats, here it is. If your language doesn't use different declensions of +# month names, you shouldn't have much work. Just leave the *.monthFormat +# string on "nominative" and the string month.*.name will be filled in. +# +# If you need a different form for a string, you can change the +# *.monthFormat to a different value. Supported values are currently: +# nominative (default), genitive +# The modified month name form will then be filled in accordingly. If this +# system does not suit your needs, please file a bug! + +# LOCALIZATION NOTE (month.*.name): +# Some languages require different declensions of month names. +# These values will be used if *.monthFormat is set to "nominative" or in places +# where using a different declension is not yet supported. +month.1.name=Am Faoilleach +month.2.name=An Gearran +month.3.name=Am Màrt +month.4.name=An Giblean +month.5.name=An Cèitean +month.6.name=An t-Ògmhios +month.7.name=An t-Iuchar +month.8.name=An Lùnastal +month.9.name=An t-Sultain +month.10.name=An Dàmhair +month.11.name=An t-Samhain +month.12.name=An Dùbhlachd + +# LOCALIZATION NOTE (month.*.genitive): +# Some languages require different declensions of month names. +# These values will be used if *.monthFormat is set to "genitive" +# If your language doesn't use different declensions, just set the same +# values as for month.*.name. +month.1.genitive=Am Faoilleach +month.2.genitive=An Gearran +month.3.genitive=Am Màrt +month.4.genitive=An Giblean +month.5.genitive=An Cèitean +month.6.genitive=An t-Ògmhios +month.7.genitive=An t-Iuchar +month.8.genitive=An Lùnastal +month.9.genitive=An t-Sultain +month.10.genitive=An Dàmhair +month.11.genitive=An t-Samhain +month.12.genitive=An Dùbhlachd + +month.1.Mmm=Faoi +month.2.Mmm=Gearr +month.3.Mmm=Màrt +month.4.Mmm=Gib +month.5.Mmm=Cèit +month.6.Mmm=Ògmh +month.7.Mmm=Iuch +month.8.Mmm=Lùn +month.9.Mmm=Sult +month.10.Mmm=Dàmh +month.11.Mmm=Samh +month.12.Mmm=Dùbh + +day.1.name=DiDòmhnaich +day.2.name=DiLuain +day.3.name=DiMàirt +day.4.name=DiCiadain +day.5.name=DiarDaoin +day.6.name=DihAoine +day.7.name=DiSathairne + +day.1.Mmm=DiD +day.2.Mmm=DiL +day.3.Mmm=DiM +day.4.Mmm=DiC +day.5.Mmm=Diar +day.6.Mmm=Dih +day.7.Mmm=DiS + +# Can someone tell me why we're not counting from zero? +day.1.short=Dò +day.2.short=Lu +day.3.short=Mà +day.4.short=Ci +day.5.short=Da +day.6.short=hA +day.7.short=Sa + +# Localizable day's date +day.1.number=1 +day.2.number=2 +day.3.number=3 +day.4.number=4 +day.5.number=5 +day.6.number=6 +day.7.number=7 +day.8.number=8 +day.9.number=9 +day.10.number=10 +day.11.number=11 +day.12.number=12 +day.13.number=13 +day.14.number=14 +day.15.number=15 +day.16.number=16 +day.17.number=17 +day.18.number=18 +day.19.number=19 +day.20.number=20 +day.21.number=21 +day.22.number=22 +day.23.number=23 +day.24.number=24 +day.25.number=25 +day.26.number=26 +day.27.number=27 +day.28.number=28 +day.29.number=29 +day.30.number=30 +day.31.number=31 + +# LOCALIZATION NOTE (dayOrdinalSymbol): +# Allows to insert a string, a character or a symbol after the number of a +# monthday in order to give it the meaning of ordinal number e.g. 1 -> 1st etc. +# It's mainly used when formatting dates with both monthday and month name. It +# affects the following localizable strings that hence must be localized *without* +# any ordinal symbol for the monthday number: +# dayHeaderLabel, monthlyDaysOfNth_day, +# yearlyNthOn, daysIntervalBetweenYears, +# daysIntervalBetweenMonths, daysIntervalInMonth. +# Write only a single string if the ordinal symbol is the same for every monthday, otherwise +# write a sequence of _31_ strings (one for each monthday) separated with commas. +# If your language doesn't require that in the mentioned strings, leave it empty. +# e.g. +# dayOrdinalSymbol=. +# -> daysIntervalInMonth: 'March 3. - 9., 2008' +# dayOrdinalSymbol=st,nd,rd,th,th,th,th,th,th,th,th,th,th,th,th, +# th,th,th,th,th,st,nd,rd,th,th,th,th,th,th,th,st +# -> daysIntervalBetweenMonths: 'September 29th - November 1st, 2008' +dayOrdinalSymbol= + +noon=Meadhan-latha +midnight=Meadhan-oidhche + +AllDay=Fad an latha +Repeating=(A' tachairt iomadh turas) diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/dialogs/calendar-event-dialog-reminder.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/dialogs/calendar-event-dialog-reminder.dtd new file mode 100644 index 0000000000000000000000000000000000000000..a237981f09db254d56b20e9948827840bfaf4fe2 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/dialogs/calendar-event-dialog-reminder.dtd @@ -0,0 +1,19 @@ +<!-- 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/. --> + +<!ENTITY reminderdialog.title "Suidhich mar a chuirear rudan 'nad chuimhne"> +<!ENTITY reminder.add.label "Cuir ris"> +<!ENTITY reminder.add.accesskey "C"> +<!ENTITY reminder.remove.label "Thoir air falbh"> +<!ENTITY reminder.remove.accesskey "r"> + +<!ENTITY reminder.reminderDetails.label "Mion-fhiosrachadh a' chuimhneachain"> +<!ENTITY reminder.action.label "Tagh gnìomh leis a chuirear rud 'nad chuimhne"> + +<!ENTITY reminder.action.alert.label "Seall caismeachd"> +<!ENTITY reminder.action.email.label "Cuir post-dealain thugam"> + +<!ENTITY alarm.units.minutes "mionaid(ean)" > +<!ENTITY alarm.units.hours "uair(ean) a thìde" > +<!ENTITY alarm.units.days "là(ithean)" > diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/global.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/global.dtd new file mode 100644 index 0000000000000000000000000000000000000000..bb95a676acf7d325766a1c0b2d4dfadbe2dc4055 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/global.dtd @@ -0,0 +1,54 @@ +<!-- 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/. --> + +<!ENTITY time.midnight "Meadhan-oidhche" > +<!ENTITY time.noon "Meadhan-latha" > + +<!-- Day Names --> +<!-- LOCALIZATION NOTE : Accesskeys for day.1.Ddd to day.7.Ddd are currently + only used in Preferences > Views > Workweek groupbox --> +<!ENTITY day.1.Ddd "DiD" > +<!ENTITY day.1.Ddd.accesskey "D"> +<!ENTITY day.2.Ddd "DiL" > +<!ENTITY day.2.Ddd.accesskey "D"> +<!ENTITY day.3.Ddd "DiM" > +<!ENTITY day.3.Ddd.accesskey "D"> +<!ENTITY day.4.Ddd "DiC" > +<!ENTITY day.4.Ddd.accesskey "D"> +<!ENTITY day.5.Ddd "Diar" > +<!ENTITY day.5.Ddd.accesskey "D"> +<!ENTITY day.6.Ddd "Dih" > +<!ENTITY day.6.Ddd.accesskey "D"> +<!ENTITY day.7.Ddd "DiS" > +<!ENTITY day.7.Ddd.accesskey "D"> + +<!ENTITY day.1.name "DiDòmhnaich" > +<!ENTITY day.2.name "DiLuain" > +<!ENTITY day.3.name "DiMàirt" > +<!ENTITY day.4.name "DiCiadain" > +<!ENTITY day.5.name "DiarDaoin" > +<!ENTITY day.6.name "DihAoine" > +<!ENTITY day.7.name "DiSathairne" > + +<!ENTITY month.1.name "Am Faoilleach" > +<!ENTITY month.2.name "An Gearran" > +<!ENTITY month.3.name "Am Màrt" > +<!ENTITY month.4.name "An Giblean" > +<!ENTITY month.5.name "An Cèitean" > +<!ENTITY month.6.name "An t-Ògmhios" > +<!ENTITY month.7.name "An t-Iuchar" > +<!ENTITY month.8.name "An Lùnastal" > +<!ENTITY month.9.name "An t-Sultain" > +<!ENTITY month.10.name "An Dàmhair" > +<!ENTITY month.11.name "An t-Samhain" > +<!ENTITY month.12.name "An Dùbhlachd" > + +<!ENTITY onemonthbackward.tooltip "Mìos air ais" > +<!ENTITY onemonthforward.tooltip "Mìos air adhart" > +<!ENTITY oneyearbackward.tooltip "Bliadhna air ais" > +<!ENTITY oneyearforward.tooltip "Bliadhna air adhart" > +<!ENTITY showToday.tooltip "Rach gun latha an-diugh"> +<!ENTITY onedayforward.tooltip "Latha air adhart"> +<!ENTITY onedaybackward.tooltip "Latha air ais"> +<!ENTITY showselectedday.tooltip "Seall tachartasan an latha a thagh thu"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/menuOverlay.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/menuOverlay.dtd new file mode 100644 index 0000000000000000000000000000000000000000..5adf46426b2b3d972f1a8faf875a9718b172a397 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/menuOverlay.dtd @@ -0,0 +1,50 @@ +<!-- 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/. --> +<!-- Event Menu --> + +<!ENTITY event.new.event "Tachartas ùr…"> +<!ENTITY event.new.event.accesskey "N"> + +<!ENTITY event.new.task "Saothair ùr…"> +<!ENTITY event.new.task.accesskey "S"> + +<!ENTITY calendar.import.label "Ion-phortaich…"> +<!ENTITY calendar.import.accesskey "I"> + +<!ENTITY calendar.export.label "Às-phortaich…"> +<!ENTITY calendar.export.accesskey "p"> + +<!ENTITY calendar.publish.label "Foillsich…"> +<!ENTITY calendar.publish.accesskey "F"> + +<!ENTITY calendar.deletecalendar.label "Sguab às am mìosachan a thagh thu…"> +<!ENTITY calendar.deletecalendar.accesskey "S"> +<!ENTITY calendar.unsubscribecalendar.label "Cuir crìoch air an fho-sgrìobhadh gun mhìosachan a thagh thu…"> +<!ENTITY calendar.unsubscribecalendar.accesskey "u"> +<!-- LOCALIZATION NOTE (calendar.removecalendar.label): Removing the calendar + is the general action of removing it, while deleting means to clear the + data and unsubscribing means just taking it out of the calendar list. --> + +<!ENTITY calendar.removecalendar.label "Thoir air falbh am mìosachan a thagh thu…"> +<!ENTITY calendar.removecalendar.accesskey "r"> + + +<!ENTITY calendar.menu.customize.label "Gnàthaich…"> +<!ENTITY calendar.menu.customize.accesskey "c"> + +<!ENTITY showUnifinderCmd.label "Lorg tachartasan"> +<!ENTITY showUnifinderCmd.accesskey "L"> +<!ENTITY showUnifinderCmd.tooltip "Toglaich an leòsan a lorgas tachartasan"> + +<!ENTITY calendar.displaytodos.checkbox.label "Seall saothraichean sa mhìosachan"> +<!ENTITY calendar.displaytodos.checkbox.accesskey "t"> + +<!ENTITY goTodayCmd.label "An-diugh"> +<!ENTITY goTodayCmd.accesskey "A"> + +<!ENTITY showCurrentView.label "An sealladh làithreach"> +<!ENTITY showCurrentView.accesskey "A"> + +<!ENTITY calendar.properties.label "Roghainnean a’ mhìosachain…"> +<!ENTITY calendar.properties.accesskey "c"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/migration.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/migration.dtd new file mode 100644 index 0000000000000000000000000000000000000000..590d6e86dc7cd1e4b366fa9742f3bcc220825dec --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/migration.dtd @@ -0,0 +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/. --> + +<!ENTITY migration.title "&brandFullName;: Ion-phortadh dàta"> +<!ENTITY migration.welcome "Fàilte ort"> +<!ENTITY migration.importing "Ag ion-phortadh"> +<!ENTITY migration.list.description "'S urrainn do &brandShortName; dàta mìosachain ion-phortadh o iomadh prògram coitcheann. Chaidh dàta a lorg sna prògraman a leanas air a' choimpiutair agad. Saoil an tagh thu a tha thu airson dàta ion-phortadh uapa?"> +<!ENTITY migration.progress.description "Ag ion-phortadh an dàta a thagh thu"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/migration.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/migration.properties new file mode 100644 index 0000000000000000000000000000000000000000..f487a3b1d494b33a365906051ad6caa8b8e68f17 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/migration.properties @@ -0,0 +1,13 @@ +# 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/. + +migratingApp = Ag imrich %1$S… + +# The next two lines are duplicated from migration.dtd until there is branding +# for lightning +migrationTitle = %1$S: Ion-phortadh dàta +migrationDescription='S urrainn do %1$S dàta mìosachain ion-phortadh dhut o iomadh prògram coitcheann. Chaidh an dàta a leanas a lorg an cois nam prògraman a leanas air a' choimpiutair agad. Saoil an tagh thu an fheadhainn a tha thu airson ion-phortadh? +finished = Crìochnaichte +disableExtTitle = Chaidh leudachan mì-chòrdail a lorg +disableExtText = Tha seann leudachan mìosachan Mozilla air a stàladh agad 's chan eil sin co-chòrdail le Lightning. Thèid a chur à comas agus tòisichidh %1$S as ùr. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/provider-uninstall.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/provider-uninstall.dtd new file mode 100644 index 0000000000000000000000000000000000000000..fb56c0e90e921fba2ceeb2417464c50f26b2898f --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/provider-uninstall.dtd @@ -0,0 +1,12 @@ +<!-- 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/. --> + +<!ENTITY providerUninstall.title "Dì-stàlaich solaraiche"> +<!ENTITY providerUninstall.accept.label "Sguir dhen fho-sgrìobhadh dha na thagh thu"> +<!ENTITY providerUninstall.accept.accesskey "u"> +<!ENTITY providerUninstall.cancel.label "Cum an tuilleadan"> +<!ENTITY providerUninstall.cancel.accesskey "C"> +<!ENTITY providerUninstall.preName.label "Dh'iarr thu na leanas a dhì-stàladh no a chur à comas:"> +<!ENTITY providerUninstall.postName.label "Thèid na mìosachain gu h-ìosal a chur à comas an cois seo."> +<!ENTITY providerUninstall.reinstallNote.label "Mur eil dùil agad an solaraiche seo a stàladh as ùr, 's urrainn dhut sguir dhen fho-sgrìobhadh de mhìosachain an t-solaraiche seo."> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/timezones.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/timezones.properties new file mode 100644 index 0000000000000000000000000000000000000000..a0d937b33663d939748005732d35de52c9ade4e4 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/calendar/timezones.properties @@ -0,0 +1,497 @@ +# 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/. + +pref.timezone.floating=Àm ionadail +pref.timezone.UTC=UTC/GMT + +# I've derived this list out of timezones.dtd +# - replaced '_' with ' ' on value side +# - corrected 'St xyz' to 'St. xyz' + +# This list is derived from the IANA timezone database, but was always +# incomplete. It will not be updated; future revisions will rely on metazones as +# defined by CLDR, but these remain in place to prevent regressions in +# localization. + +# timezone names: +pref.timezone.Africa.Abidjan=Afraga/Abidjan +pref.timezone.Africa.Accra=Afraga/Accra +pref.timezone.Africa.Addis_Ababa=Afraga/Addis Ababa +pref.timezone.Africa.Algiers=Afraga/Algiers +pref.timezone.Africa.Asmara=Afraga/Asmara +pref.timezone.Africa.Bamako=Afraga/Bamako +pref.timezone.Africa.Bangui=Afraga/Bangui +pref.timezone.Africa.Banjul=Afraga/Banjul +pref.timezone.Africa.Bissau=Afraga/Bissau +pref.timezone.Africa.Blantyre=Afraga/Baile an t-Saoir +pref.timezone.Africa.Brazzaville=Afraga/Brazzaville +pref.timezone.Africa.Bujumbura=Afraga/Bujumbara +pref.timezone.Africa.Cairo=Afraga/Cairo +pref.timezone.Africa.Casablanca=Afraga/Casablanca +pref.timezone.Africa.Ceuta=Afraga/Ceuta +pref.timezone.Africa.Conakry=Afraga/Conakry +pref.timezone.Africa.Dakar=Afraga/Dakar +pref.timezone.Africa.Dar_es_Salaam=Afraga/Dàr as-Salàm +pref.timezone.Africa.Djibouti=Afraga/Diobùtaidh +pref.timezone.Africa.Douala=Afraga/Douala +pref.timezone.Africa.El_Aaiun=Afraga/El Aaiún +pref.timezone.Africa.Freetown=Afraga/Freetown +pref.timezone.Africa.Gaborone=Afraga/Gaborone +pref.timezone.Africa.Harare=Afraga/Harare +pref.timezone.Africa.Johannesburg=Afraga/Hannsaborgh +pref.timezone.Africa.Kampala=Afraga/Kampala +pref.timezone.Africa.Khartoum=Afraga/Khartoum +pref.timezone.Africa.Kigali=Afraga/Kigali +pref.timezone.Africa.Kinshasa=Afraga/Kinshasa +pref.timezone.Africa.Lagos=Afraga/Lagos +pref.timezone.Africa.Libreville=Afraga/Libreville +pref.timezone.Africa.Lome=Afraga/Lomé +pref.timezone.Africa.Luanda=Afraga/Luanda +pref.timezone.Africa.Lubumbashi=Afraga/Lubumbashi +pref.timezone.Africa.Lusaka=Afraga/Lusaka +pref.timezone.Africa.Malabo=Afraga/Malabo +pref.timezone.Africa.Maputo=Afraga/Maputo +pref.timezone.Africa.Maseru=Afraga/Maseru +pref.timezone.Africa.Mbabane=Afraga/Mbabane +pref.timezone.Africa.Mogadishu=Afraga/Mogadishu +pref.timezone.Africa.Monrovia=Afraga/Monrovia +pref.timezone.Africa.Nairobi=Afraga/Nairobi +pref.timezone.Africa.Ndjamena=Afraga/N'djamena +pref.timezone.Africa.Niamey=Afraga/Niamey +pref.timezone.Africa.Nouakchott=Afraga/Nouakchott +pref.timezone.Africa.Ouagadougou=Afraga/Ouagadougou +pref.timezone.Africa.Porto-Novo=Afraga/Porto-Novo +pref.timezone.Africa.Sao_Tome=Afraga/São Tomé +pref.timezone.Africa.Tripoli=Afraga/Tripoli +pref.timezone.Africa.Tunis=Afraga/Tunis +pref.timezone.Africa.Windhoek=Afraga/Windhoek +pref.timezone.America.Adak=Aimeireaga/Adak +pref.timezone.America.Anchorage=Aimeireaga/Anchorage +pref.timezone.America.Anguilla=Aimeireaga/Anguilla +pref.timezone.America.Antigua=Aimeireaga/Antigua +pref.timezone.America.Araguaina=Aimeireaga/Araguaina +pref.timezone.America.Argentina.Buenos_Aires=Aimeireaga/An Argantain/Buenos Aires +pref.timezone.America.Argentina.Catamarca=Aimeireaga/An Argantain/Catamarca +pref.timezone.America.Argentina.Cordoba=Aimeireaga/An Argantain/Cordoba +pref.timezone.America.Argentina.Jujuy=Aimeireaga/An Argantain/Jujuy +pref.timezone.America.Argentina.La_Rioja=Aimeireaga/An Argantain/La Rioja +pref.timezone.America.Argentina.Mendoza=Aimeireaga/An Argantain/Mendoza +pref.timezone.America.Argentina.Rio_Gallegos=Aimeireaga/An Argantain/Rio Gallegos +pref.timezone.America.Argentina.San_Juan=Aimeireaga/An Argantain/San Juan +pref.timezone.America.Argentina.Tucuman=Aimeireaga/An Argantain/Tucuman +pref.timezone.America.Argentina.Ushuaia=Aimeireaga/An Argantain/Ushuaia +pref.timezone.America.Aruba=Aimeireaga/Arùba +pref.timezone.America.Asuncion=Aimeireaga/Ascunción +pref.timezone.America.Atikokan=Aimeireaga/Atikokan +pref.timezone.America.Bahia=Aimeireaga/Bahia +pref.timezone.America.Barbados=Aimeireaga/Barbados +pref.timezone.America.Belem=Aimeireaga/Belém +pref.timezone.America.Belize=Aimeireaga/Beilìs +pref.timezone.America.Blanc-Sablon=Aimeireaga/Blanc-Sablon +pref.timezone.America.Boa_Vista=Aimeireaga/Boa Vista +pref.timezone.America.Bogota=Aimeireaga/Bogotá +pref.timezone.America.Boise=Aimeireaga/Boise +pref.timezone.America.Cambridge_Bay=Aimeireaga/Cambrige Bay +pref.timezone.America.Campo_Grande=Aimeireaga/Campo Grande +pref.timezone.America.Cancun=Aimearaga/Cancún +pref.timezone.America.Caracas=Aimearaga/Caracas +pref.timezone.America.Cayenne=Aimearaga/Cayenne +pref.timezone.America.Cayman=Aimearaga/Caimean +pref.timezone.America.Chicago=Aimearaga/Chicago +pref.timezone.America.Chihuahua=Aimearaga/Chihuahua +pref.timezone.America.Costa_Rica=Aimearaga/Costa Rica +pref.timezone.America.Cuiaba=Aimearaga/Cuiaba +pref.timezone.America.Curacao=Aimearaga/Curaçao +pref.timezone.America.Danmarkshavn=Aimearaga/Danmarkshavn +pref.timezone.America.Dawson=Aimearaga/Dawson +pref.timezone.America.Dawson_Creek=Aimearaga/Dawson Creek +pref.timezone.America.Denver=Aimearaga/Denver +pref.timezone.America.Detroit=Aimearaga/Detroit +pref.timezone.America.Dominica=Aimearaga/Doiminicea +pref.timezone.America.Edmonton=Aimearaga/Edmonton +pref.timezone.America.Eirunepe=Aimearaga/Eirunepé +pref.timezone.America.El_Salvador=Aimearaga/El Salvador +pref.timezone.America.Fortaleza=Aimearaga/Fortaleza +pref.timezone.America.Glace_Bay=Aimearaga/Glace Bay +pref.timezone.America.Godthab=Aimearaga/Nuuk (Godthåb) +pref.timezone.America.Goose_Bay=Aimearaga/Goose Bay +pref.timezone.America.Grand_Turk=Aimearaga/An Tuirc Mhòr +pref.timezone.America.Grenada=Aimearaga/Grenada +pref.timezone.America.Guadeloupe=Aimearaga/Guadalup +pref.timezone.America.Guatemala=Aimearaga/Guatamala +pref.timezone.America.Guayaquil=Aimearaga/Guayaquil +pref.timezone.America.Guyana=Aimearaga/Guidheàna +pref.timezone.America.Halifax=Aimearaga/Halifax +pref.timezone.America.Havana=Aimearaga/Havana +pref.timezone.America.Hermosillo=Aimearaga/Hermosillo +pref.timezone.America.Indiana.Indianapolis=Aimearaga/Indiana/Indianapolis +pref.timezone.America.Indiana.Knox=Aimearaga/Indiana/Knox +pref.timezone.America.Indiana.Marengo=Aimearaga/Indiana/Marengo +pref.timezone.America.Indiana.Petersburg=Aimearaga/Indiana/Petersburg +pref.timezone.America.Indiana.Vevay=Aimearaga/Indiana/Vevay +pref.timezone.America.Indiana.Vincennes=Aimearaga/Indiana/Vincennes +pref.timezone.America.Inuvik=Aimearaga/Inuvik +pref.timezone.America.Iqaluit=Aimearaga/Iqaluit +pref.timezone.America.Jamaica=Aimearaga/Diameuga +pref.timezone.America.Juneau=Aimearaga/Juneau +pref.timezone.America.Kentucky.Louisville=Aimearaga/Kentucky/Louisville +pref.timezone.America.Kentucky.Monticello=Aimearaga/Kentucky/Monticello +pref.timezone.America.La_Paz=Aimearaga/La Paz +pref.timezone.America.Lima=Aimearaga/Lima +pref.timezone.America.Los_Angeles=Aimearaga/Los Angeles +pref.timezone.America.Maceio=Aimearaga/Maceió +pref.timezone.America.Managua=Aimearaga/Managua +pref.timezone.America.Manaus=Aimearaga/Manaus +pref.timezone.America.Martinique=Aimearaga/Mairtinic +pref.timezone.America.Mazatlan=Aimearaga/Mazatlán +pref.timezone.America.Menominee=Aimearaga/Menominee +pref.timezone.America.Merida=Aimearaga/Mérida +pref.timezone.America.Mexico_City=Aimearaga/Cathair Meagsago +pref.timezone.America.Miquelon=Aimearaga/Miquelon +pref.timezone.America.Moncton=Aimearaga/Moncton +pref.timezone.America.Monterrey=Aimearaga/Monterrey +pref.timezone.America.Montevideo=Aimearaga/Montevideo +pref.timezone.America.Montreal=Aimearaga/Montreal +pref.timezone.America.Montserrat=Aimearaga/Montserrat +pref.timezone.America.Nassau=Aimearaga/Nassau +pref.timezone.America.New_York=Aimearaga/Nuar Eabhrac +pref.timezone.America.Nipigon=Aimearaga/Nipigon +pref.timezone.America.Nome=Aimearaga/Nome +pref.timezone.America.Noronha=Aimearaga/Noronha +pref.timezone.America.North_Dakota.Center=Aimearaga/Dakota a Tuath/Center +pref.timezone.America.North_Dakota.New_Salem=Aimearaga/Dakota a Tuath/New Salem +pref.timezone.America.Panama=Aimearaga/Panama +pref.timezone.America.Pangnirtung=Aimearaga/Pangnirtung +pref.timezone.America.Paramaribo=Aimearaga/Paramaribo +pref.timezone.America.Phoenix=Aimearaga/Phoenix +pref.timezone.America.Port-au-Prince=Aimearaga/Port-au-Prince +pref.timezone.America.Port_of_Spain=Aimearaga/Port of Spain +pref.timezone.America.Porto_Velho=Aimearaga/Porto Velho +pref.timezone.America.Puerto_Rico=Aimearaga/Puerto Rico +pref.timezone.America.Rainy_River=Aimearaga/Rainy River +pref.timezone.America.Rankin_Inlet=Aimearaga/Rankin Inlet +pref.timezone.America.Recife=Aimearaga/Recife +pref.timezone.America.Regina=Aimearaga/Regina +pref.timezone.America.Rio_Branco=Aimearaga/Rio Branco +pref.timezone.America.Santiago=Aimearaga/Santiago +pref.timezone.America.Santo_Domingo=Aimearaga/Santo Domingo +pref.timezone.America.Sao_Paulo=Aimearaga/São Paulo +pref.timezone.America.Scoresbysund=Aimearaga/Scoresbysund +pref.timezone.America.Shiprock=Aimearaga/Shiprock +pref.timezone.America.St_Johns=Aimearaga/St. Johns +pref.timezone.America.St_Kitts=Aimearaga/St. Kitts +pref.timezone.America.St_Lucia=Aimearaga/St. Lucia +pref.timezone.America.St_Thomas=Aimearaga/St. Thomas +pref.timezone.America.St_Vincent=Aimearaga/St. Vincent +pref.timezone.America.Swift_Current=Aimearaga/Swift Current +pref.timezone.America.Tegucigalpa=Aimearaga/Tegucigalpa +pref.timezone.America.Thule=Aimearaga/Qaanaaq (Thule) +pref.timezone.America.Thunder_Bay=Aimearaga/Thunder Bay +pref.timezone.America.Tijuana=Aimearaga/Tijuana +pref.timezone.America.Toronto=Aimearaga/Toronto +pref.timezone.America.Tortola=Aimearaga/Tortola +pref.timezone.America.Vancouver=Aimearaga/Vancouver +pref.timezone.America.Whitehorse=Aimearaga/Whitehorse +pref.timezone.America.Winnipeg=Aimearaga/Winnipeg +pref.timezone.America.Yakutat=Aimearaga/Yakutat +pref.timezone.America.Yellowknife=Aimearaga/Yellowknife +pref.timezone.Antarctica.Casey=Antartaigea/Casey +pref.timezone.Antarctica.Davis=Antartaigea/Davis +pref.timezone.Antarctica.DumontDUrville=Antartaigea/Dumont d'Urville +pref.timezone.Antarctica.Mawson=Antartaigea/Mawson +pref.timezone.Antarctica.McMurdo=Antartaigea/MacMhuirich +pref.timezone.Antarctica.Palmer=Antartaigea/Palmer +pref.timezone.Antarctica.Rothera=Antartaigea/Rothera +pref.timezone.Antarctica.South_Pole=Antartaigea/Am Pòla a Deas +pref.timezone.Antarctica.Syowa=Antartaigea/Shōwa +pref.timezone.Antarctica.Vostok=Antartaigea/Vostok +pref.timezone.Arctic.Longyearbyen=Antartaigea/Longyearbyen +pref.timezone.Asia.Aden=Àisia/Aden +pref.timezone.Asia.Almaty=Àisia/Almaty +pref.timezone.Asia.Amman=Àisia/Amman +pref.timezone.Asia.Anadyr=Àisia/Anadyr +pref.timezone.Asia.Aqtau=Àisia/Aqtau +pref.timezone.Asia.Aqtobe=Àisia/Aqtobe +pref.timezone.Asia.Ashgabat=Àisia/Aşgabat +pref.timezone.Asia.Baghdad=Àisia/Baghdad +pref.timezone.Asia.Bahrain=Àisia/Bachrain +pref.timezone.Asia.Baku=Àisia/Baku +pref.timezone.Asia.Bangkok=Àisia/Bangkok +pref.timezone.Asia.Beirut=Àisia/Beirut +pref.timezone.Asia.Bishkek=Àisia/Biškek +pref.timezone.Asia.Brunei=Àisia/Brùnaigh +pref.timezone.Asia.Choibalsan=Àisia/Choibalsan +pref.timezone.Asia.Chongqing=Àisia/Chongqing +pref.timezone.Asia.Colombo=Àisia/Colombo +pref.timezone.Asia.Damascus=Àisia/Damascus +pref.timezone.Asia.Dhaka=Àisia/Daka +pref.timezone.Asia.Dili=Àisia/Dili +pref.timezone.Asia.Dubai=Àisia/Dubai +pref.timezone.Asia.Dushanbe=Àisia/Duşanbe +pref.timezone.Asia.Gaza=Àisia/Gàsa +pref.timezone.Asia.Harbin=Àisia/Harbin +pref.timezone.Asia.Hong_Kong=Àisia/Hong Kong +pref.timezone.Asia.Hovd=Àisia/Chovd +pref.timezone.Asia.Irkutsk=Àisia/Irkutsk +pref.timezone.Asia.Istanbul=Àisia/Istanbul +pref.timezone.Asia.Jakarta=Àisia/Jakarta +pref.timezone.Asia.Jayapura=Àisia/Jayapura +pref.timezone.Asia.Jerusalem=Àisia/Ierusalam +pref.timezone.Asia.Kabul=Àisia/Kabul +pref.timezone.Asia.Kamchatka=Àisia/Kamchatka +pref.timezone.Asia.Karachi=Àisia/Karachi +pref.timezone.Asia.Kashgar=Àisia/Kashgar +pref.timezone.Asia.Kathmandu=Àisia/Kāthmāndū +pref.timezone.Asia.Krasnoyarsk=Àisia/Krasnoyarsk +pref.timezone.Asia.Kuala_Lumpur=Àisia/Kuala Lumpur +pref.timezone.Asia.Kuching=Àisia/Kuching +pref.timezone.Asia.Kuwait=Àisia/Cuibhèit +pref.timezone.Asia.Macau=Àisia/Macau +pref.timezone.Asia.Magadan=Àisia/Magadan +pref.timezone.Asia.Makassar=Àisia/Makassar +pref.timezone.Asia.Manila=Àisia/Manila +pref.timezone.Asia.Muscat=Àisia/Muscat +pref.timezone.Asia.Nicosia=Àisia/Nicosia +pref.timezone.Asia.Novosibirsk=Àisia/Novosibirsk +pref.timezone.Asia.Omsk=Àisia/Omsk +pref.timezone.Asia.Oral=Àisia/Oral +pref.timezone.Asia.Phnom_Penh=Àisia/Phnom Penh +pref.timezone.Asia.Pontianak=Àisia/Pontianak +pref.timezone.Asia.Pyongyang=Àisia/P'yŏngyang +pref.timezone.Asia.Qatar=Àisia/Catar +pref.timezone.Asia.Qyzylorda=Àisia/Qızılorda +pref.timezone.Asia.Rangoon=Àisia/Yangon +pref.timezone.Asia.Riyadh=Àisia/Riyadh +pref.timezone.Asia.Sakhalin=Àisia/Sachalin +pref.timezone.Asia.Samarkand=Àisia/Samarkand +pref.timezone.Asia.Seoul=Àisia/Seoul +pref.timezone.Asia.Shanghai=Àisia/Shanghai +pref.timezone.Asia.Singapore=Àisia/Singeapòr +pref.timezone.Asia.Taipei=Àisia/Taipei +pref.timezone.Asia.Tashkent=Àisia/Taşkent +pref.timezone.Asia.Tbilisi=Àisia/Tbilisi +pref.timezone.Asia.Tehran=Àisia/Tehrān +pref.timezone.Asia.Thimphu=Àisia/Timpu +pref.timezone.Asia.Tokyo=Àisia/Tōkyō +pref.timezone.Asia.Ulaanbaatar=Àisia/Ulaanbaatar +pref.timezone.Asia.Urumqi=Àisia/Ürümqi +pref.timezone.Asia.Vientiane=Àisia/Vientiane +pref.timezone.Asia.Vladivostok=Àisia/Vladivostok +pref.timezone.Asia.Yakutsk=Àisia/Yakutsk +pref.timezone.Asia.Yekaterinburg=Àisia/Yekaterinburg +pref.timezone.Asia.Yerevan=Àisia/Yerevan +pref.timezone.Atlantic.Azores=Cuan Siar/Açores +pref.timezone.Atlantic.Bermuda=Cuan Siar/Bermuda +pref.timezone.Atlantic.Canary=Cuan Siar/Na h-Eileanan Canarach +pref.timezone.Atlantic.Cape_Verde=Cuan Siar/An Ceap Uaine +pref.timezone.Atlantic.Faroe=Cuan Siar/Na h-Eileanan Fàro +pref.timezone.Atlantic.Madeira=Cuan Siar/Madeira +pref.timezone.Atlantic.Reykjavik=Cuan Siar/Reykjavík +pref.timezone.Atlantic.South_Georgia=Cuan Siar/Eileanan a Deas Rìgh Sheòrais +pref.timezone.Atlantic.St_Helena=Cuan Siar/Eilean Naomh Eilidh +pref.timezone.Atlantic.Stanley=Cuan Siar/Stanley +pref.timezone.Australia.Adelaide=Astràilia/Adelaide +pref.timezone.Australia.Brisbane=Astràilia/Brisbane +pref.timezone.Australia.Broken_Hill=Astràilia/Broken Hill +pref.timezone.Australia.Currie=Astràilia/An Currach +pref.timezone.Australia.Darwin=Astràilia/Darwin +pref.timezone.Australia.Eucla=Astràilia/Eucla +pref.timezone.Australia.Hobart=Astràilia/Hobart +pref.timezone.Australia.Lindeman=Astràilia/Lindeman +pref.timezone.Australia.Lord_Howe=Astràilia/Lord Howe +pref.timezone.Australia.Melbourne=Astràilia/Melbourne +pref.timezone.Australia.Perth=Astràilia/Peairt +pref.timezone.Australia.Sydney=Astràilia/Sidni +pref.timezone.Europe.Amsterdam=An Roinn-Eòrpa/Amsterdam +pref.timezone.Europe.Andorra=An Roinn-Eòrpa/Andorra +pref.timezone.Europe.Athens=An Roinn-Eòrpa/An Àithne +pref.timezone.Europe.Belgrade=An Roinn-Eòrpa/Beograd +pref.timezone.Europe.Berlin=An Roinn-Eòrpa/Berlin +pref.timezone.Europe.Bratislava=An Roinn-Eòrpa/Bratislava +pref.timezone.Europe.Brussels=An Roinn-Eòrpa/A' Bhruiseal +pref.timezone.Europe.Bucharest=An Roinn-Eòrpa/București +pref.timezone.Europe.Budapest=An Roinn-Eòrpa/Budapest +pref.timezone.Europe.Chisinau=An Roinn-Eòrpa/Chişinău +pref.timezone.Europe.Copenhagen=An Roinn-Eòrpa/København +pref.timezone.Europe.Dublin=An Roinn-Eòrpa/Baile Àtha Cliath +pref.timezone.Europe.Gibraltar=An Roinn-Eòrpa/Diobraltar +pref.timezone.Europe.Guernsey=An Roinn-Eòrpa/Geàrnsaidh +pref.timezone.Europe.Helsinki=An Roinn-Eòrpa/Helsinki +pref.timezone.Europe.Isle_of_Man=An Roinn-Eòrpa/Eilean Mhanainn +pref.timezone.Europe.Istanbul=An Roinn-Eòrpa/İstanbul +pref.timezone.Europe.Jersey=An Roinn-Eòrpa/Deàrsaidh +pref.timezone.Europe.Kaliningrad=An Roinn-Eòrpa/Kaliningrad +pref.timezone.Europe.Kiev=An Roinn-Eòrpa/Kiev +pref.timezone.Europe.Lisbon=An Roinn-Eòrpa/Lisbon +pref.timezone.Europe.Ljubljana=An Roinn-Eòrpa/Ljubljana +pref.timezone.Europe.London=An Roinn-Eòrpa/Lunnainn +pref.timezone.Europe.Luxembourg=An Roinn-Eòrpa/Lugsamburg +pref.timezone.Europe.Madrid=An Roinn-Eòrpa/Madrid +pref.timezone.Europe.Malta=An Roinn-Eòrpa/Malta +pref.timezone.Europe.Mariehamn=An Roinn-Eòrpa/Mariehamn +pref.timezone.Europe.Minsk=An Roinn-Eòrpa/Minsk +pref.timezone.Europe.Monaco=An Roinn-Eòrpa/Monaco +pref.timezone.Europe.Moscow=An Roinn-Eòrpa/Moscobha +pref.timezone.Europe.Nicosia=An Roinn-Eòrpa/Nicosia +pref.timezone.Europe.Oslo=An Roinn-Eòrpa/Oslo +pref.timezone.Europe.Paris=An Roinn-Eòrpa/Paras +pref.timezone.Europe.Podgorica=An Roinn-Eòrpa/Podgorica +pref.timezone.Europe.Prague=An Roinn-Eòrpa/Pràg +pref.timezone.Europe.Riga=An Roinn-Eòrpa/Rìga +pref.timezone.Europe.Rome=An Roinn-Eòrpa/An Ròimh +pref.timezone.Europe.Samara=An Roinn-Eòrpa/Samara +pref.timezone.Europe.San_Marino=An Roinn-Eòrpa/San Mairìneo +pref.timezone.Europe.Sarajevo=An Roinn-Eòrpa/Sarajevo +pref.timezone.Europe.Simferopol=An Roinn-Eòrpa/Simferopol +pref.timezone.Europe.Skopje=An Roinn-Eòrpa/Skopje +pref.timezone.Europe.Sofia=An Roinn-Eòrpa/Sofia +pref.timezone.Europe.Stockholm=An Roinn-Eòrpa/Stoc Tholm +pref.timezone.Europe.Tallinn=An Roinn-Eòrpa/Tallinn +pref.timezone.Europe.Tirane=An Roinn-Eòrpa/Tiranë +pref.timezone.Europe.Uzhgorod=An Roinn-Eòrpa/Uzhhorod +pref.timezone.Europe.Vaduz=An Roinn-Eòrpa/Vaduz +pref.timezone.Europe.Vatican=An Roinn-Eòrpa/A' Bhatacan +pref.timezone.Europe.Vienna=An Roinn-Eòrpa/Vienna +pref.timezone.Europe.Vilnius=An Roinn-Eòrpa/Vilnius +pref.timezone.Europe.Volgograd=An Roinn-Eòrpa/Volgograd +pref.timezone.Europe.Warsaw=An Roinn-Eòrpa/Warsaw +pref.timezone.Europe.Zagreb=An Roinn-Eòrpa/Zagreb +pref.timezone.Europe.Zaporozhye=An Roinn-Eòrpa/Zaporozhye +pref.timezone.Europe.Zurich=An Roinn-Eòrpa/Zürich +pref.timezone.Indian.Antananarivo=Cuan nan Innseachan/Antananarivo +pref.timezone.Indian.Chagos=Cuan nan Innseachan/Chagos +pref.timezone.Indian.Christmas=Cuan nan Innseachan/Eilean na Nollaige +pref.timezone.Indian.Cocos=Cuan nan Innseachan/Na h-Eileanan Chòco +pref.timezone.Indian.Comoro=Cuan nan Innseachan/Eileanan Chomoro +pref.timezone.Indian.Kerguelen=Cuan nan Innseachan/Eileanan Kergelenn +pref.timezone.Indian.Mahe=Cuan nan Innseachan/Mahe +pref.timezone.Indian.Maldives=Cuan nan Innseachan/Na Maladaibhean +pref.timezone.Indian.Mauritius=Cuan nan Innseachan/Na h-Eileanan Mhoiriseas +pref.timezone.Indian.Mayotte=Cuan nan Innseachan/Mayotte +pref.timezone.Indian.Reunion=Cuan nan Innseachan/Réunion +pref.timezone.Pacific.Apia=An Cuan Sèimh/Apia +pref.timezone.Pacific.Auckland=An Cuan Sèimh/Auckland +pref.timezone.Pacific.Chatham=An Cuan Sèimh/Chathham +pref.timezone.Pacific.Easter=An Cuan Sèimh/Rapa Nui +pref.timezone.Pacific.Efate=An Cuan Sèimh/Efate +pref.timezone.Pacific.Enderbury=An Cuan Sèimh/Enderbury +pref.timezone.Pacific.Fakaofo=An Cuan Sèimh/Fakaofo +pref.timezone.Pacific.Fiji=An Cuan Sèimh/Fìdi +pref.timezone.Pacific.Funafuti=An Cuan Sèimh/Funafuti +pref.timezone.Pacific.Galapagos=An Cuan Sèimh/Galapagos +pref.timezone.Pacific.Gambier=An Cuan Sèimh/Eileanan Managareva +pref.timezone.Pacific.Guadalcanal=An Cuan Sèimh/Guadalcanal +pref.timezone.Pacific.Guam=An Cuan Sèimh/Guam +pref.timezone.Pacific.Honolulu=An Cuan Sèimh/Honolulu +pref.timezone.Pacific.Johnston=An Cuan Sèimh/Johnston +pref.timezone.Pacific.Kiritimati=An Cuan Sèimh/Kiritimati +pref.timezone.Pacific.Kosrae=An Cuan Sèimh/Kosrae +pref.timezone.Pacific.Kwajalein=An Cuan Sèimh/Kuwajleen +pref.timezone.Pacific.Majuro=An Cuan Sèimh/Majuro +pref.timezone.Pacific.Marquesas=An Cuan Sèimh/Eileanan a' Mharcais +pref.timezone.Pacific.Midway=An Cuan Sèimh/Midway +pref.timezone.Pacific.Nauru=An Cuan Sèimh/Nauru +pref.timezone.Pacific.Niue=An Cuan Sèimh/Niuē +pref.timezone.Pacific.Norfolk=An Cuan Sèimh/Norfolk +pref.timezone.Pacific.Noumea=An Cuan Sèimh/Numea +pref.timezone.Pacific.Pago_Pago=An Cuan Sèimh/Pago Pago +pref.timezone.Pacific.Palau=An Cuan Sèimh/Palau +pref.timezone.Pacific.Pitcairn=An Cuan Sèimh/Peit a' Chàirn +pref.timezone.Pacific.Ponape=An Cuan Sèimh/Pohnpei +pref.timezone.Pacific.Port_Moresby=An Cuan Sèimh/Port Moresby +pref.timezone.Pacific.Rarotonga=An Cuan Sèimh/Rarotonga +pref.timezone.Pacific.Saipan=An Cuan Sèimh/Saipan +pref.timezone.Pacific.Tahiti=An Cuan Sèimh/Tahiti +pref.timezone.Pacific.Tarawa=An Cuan Sèimh/Tarawa +pref.timezone.Pacific.Tongatapu=An Cuan Sèimh/Tongatapu +pref.timezone.Pacific.Truk=An Cuan Sèimh/Truk +pref.timezone.Pacific.Wake=An Cuan Sèimh/Wake +pref.timezone.Pacific.Wallis=An Cuan Sèimh/Uallas + +# the following have been missing +pref.timezone.America.Indiana.Tell_City=Aimearaga/Indiana/Tell City +pref.timezone.America.Indiana.Winamac=Aimearaga/Indiana/Winamac +pref.timezone.America.Marigot=Aimearaga/Marigot +pref.timezone.America.Resolute=Aimearaga/Resolute +pref.timezone.America.St_Barthelemy=Aimearaga/St. Barthelemy + +# added with 2008d: +pref.timezone.America.Argentina.San_Luis=Aimearaga/An Argantain/San Luis +pref.timezone.America.Santarem=Aimearaga/Santarem +pref.timezone.Asia.Ho_Chi_Minh=Àisia/Hồ Chí Minh +pref.timezone.Asia.Kolkata=Àisia/Kolkata + +# added with 2008i: +pref.timezone.America.Argentina.Salta=Aimearaga/An Argantain/Salta + +# added with 2010i +pref.timezone.America.Matamoros=Aimearaga/Matamaros +pref.timezone.America.Ojinaga=Aimearaga/Ojinaga +pref.timezone.America.Santa_Isabel=Aimearaga/Santa Isabel +pref.timezone.Antarctica.Macquarie=Antartaigea/Eilean MhicGuaire +pref.timezone.Asia.Novokuznetsk=Àisia/Novokuznetsk + +#added with 2011b +pref.timezone.America.Bahia_Banderas=Aimearaga/Bahía de Banderas +pref.timezone.America.North_Dakota.Beulah=Aimearaga/North Dakota/Beulah +pref.timezone.Pacific.Chuuk=An Cuan Sèimh/Chuuk +pref.timezone.Pacific.Pohnpei=An Cuan Sèimh/Pohnpei + +#added with 2011n +pref.timezone.Africa.Juba=Afraga/Juba +pref.timezone.America.Kralendijk=Aimeireaga/Kralendijk +pref.timezone.America.Lower_Princes=Aimeireaga/Lower Princes +pref.timezone.America.Metlakatla=Aimeireaga/Metlakatla +pref.timezone.America.Sitka=Aimeireaga/Sitka +pref.timezone.Asia.Hebron=Àisia/Hebron + +#added with 2013a +pref.timezone.America.Creston=Aimeireaga/Creston +pref.timezone.Asia.Khandyga=Àisia/Khandyga +pref.timezone.Asia.Ust-Nera=Àisia/Ust-Nera +pref.timezone.Europe.Busingen=An Roinn-Eòrpa/Busingen + +#added with 2014b +pref.timezone.Antarctica.Troll=Antartaigea/Shōwa + +#added with 2014j +pref.timezone.Asia.Chita=Àisia/Chita +pref.timezone.Asia.Srednekolymsk=Àisia/Srednekolymsk +pref.timezone.Pacific.Bougainville=Roinn a' Chuain Shèimh/Bougainville + +#added with 2.2015g +pref.timezone.America.Fort_Nelson=Aimearaga/Fort Nelson + +#added with 2.2016b +pref.timezone.Europe.Ulyanovsk=An Roinn-Eòrpa/Ulyanovsk +pref.timezone.Europe.Astrakhan=An Roinn-Eòrpa//Astrakhan +pref.timezone.Asia.Barnaul=Àisia/Barnaul + +#added with 2.2016i +pref.timezone.Asia.Yangon=Àisia/Yangon +pref.timezone.Asia.Tomsk=Àisia/Tomsk +pref.timezone.Asia.Famagusta=Àisia/Famagusta +pref.timezone.Europe.Kirov=An Roinn-Eòrpa/Kirov + +#added with 2.2016j +pref.timezone.Europe.Saratov=An Roinn-Eòrpa/Saratov +pref.timezone.Asia.Atyrau=Àisia/Atyrau + +#added with 2.2017b +pref.timezone.America.Punta_Arenas=Aimeireaga/Punta Arenas + +#added with 2.2018i +pref.timezone.Asia.Qostanay=Àisia/Qostanay + +#added with 2.2020a +pref.timezone.America.Nuuk=Aimeireaga/Nuuk + +#added with 2.2021c +pref.timezone.Pacific.Kanton=An Cuan Sèimh/Gwóng Dūng + +#added with 2.2022b +pref.timezone.Europe.Kyiv=An Roinn-Eòrpa/Kyiv + +#added with 2.2023c +pref.timezone.America.Ciudad_Juarez=Aimeireaga/Ciudad Juarez diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/accounts.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/accounts.dtd new file mode 100644 index 0000000000000000000000000000000000000000..1d0cd017bc519af6153637e0b65f640775c72fc8 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/accounts.dtd @@ -0,0 +1,41 @@ +<!-- 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/. --> +<!-- Account manager window for Instantbird --> + +<!ENTITY accounts.title "Cunntasan – &brandShortName;"> +<!ENTITY accountManager.width "460"> +<!-- Instant messaging account status window for Thunderbird --> +<!ENTITY accountsWindow.title "Staid nan grad-theachdaireachdan"> +<!ENTITY accountsWindow2.style "width: 41em; height: 27em;"> + +<!ENTITY accountManager.newAccount.label "Cunntas ùr"> +<!ENTITY accountManager.newAccount.accesskey "n"> +<!ENTITY accountManager.close.label "Dùin"> +<!ENTITY accountManager.close.accesskey "D"> +<!-- This should match account.commandkey in instantbird.dtd --> +<!ENTITY accountManager.close.commandkey "a"> +<!-- This title must be short, displayed with a big font size --> +<!ENTITY accountManager.noAccount.title "Gun chunntas air a rèiteachadh"> +<!ENTITY accountManager.noAccount.description "Briog air a’ phutan &accountManager.newAccount.label; gus leigeil le &brandShortName; do stiùireadh tron rèiteachadh."> +<!ENTITY account.autoSignOn.label "Clàraich a-steach nuair a thòisicheas an coimpiutair agam"> +<!ENTITY account.autoSignOn.accesskey "l"> +<!ENTITY account.connect.label "Ceangail"> +<!ENTITY account.connect.accesskey "e"> +<!ENTITY account.disconnect.label "Dì-cheangail"> +<!ENTITY account.disconnect.accesskey "i"> +<!ENTITY account.delete.label "Sguab às"> +<!ENTITY account.delete.accesskey "S"> +<!ENTITY account.edit.label "Roghainnean"> +<!ENTITY account.edit.accesskey "R"> +<!ENTITY account.moveup.label "Gluais suas"> +<!ENTITY account.movedown.label "Gluais sìos"> +<!ENTITY account.cancelReconnection.label "Sguir dhen ath-cheangal"> +<!ENTITY account.cancelReconnection.accesskey "S"> +<!ENTITY account.copyDebugLog.label "Dèan lethbhreac de loga an dì-bhugachaidh"> +<!ENTITY account.copyDebugLog.accesskey "c"> +<!ENTITY account.showDebugLog.label "Seall loga an dì-bhugachaidh"> +<!ENTITY account.showDebugLog.accesskey "h"> +<!ENTITY account.connecting "A’ ceangal…"> +<!ENTITY account.disconnecting "A’ dì-cheangal…"> +<!ENTITY account.disconnected "Gun cheangal"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/accounts.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/accounts.properties new file mode 100644 index 0000000000000000000000000000000000000000..4bcf7043dbb0b6f00c7e5ea4da208df730adfe6a --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/accounts.properties @@ -0,0 +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/. + +# LOCALIZATION NOTE (passwordPromptTitle, passwordPromptText): +# %S is replaced with the name of the account +passwordPromptTitle=Am facal-faire airson %S +passwordPromptText=Cuir a-steach am facal-faire agad airson %S gus ceangal a dhèanamh ris. +passwordPromptSaveCheckbox=Cleachd manaidsear nam faclan-faire gus am facal-faire seo a chumail an cuimhne. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/commands.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/commands.properties new file mode 100644 index 0000000000000000000000000000000000000000..1b0fdaa6d3d61b5760ed91a0e9fb4e4b6972e643 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/commands.properties @@ -0,0 +1,27 @@ +# 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/. + +# LOCALIZATION NOTE (commands): +# %S is a comma separated list of command names. +commands=Àitheantan: %S.\nCleachd /help <command> airson barrachd fiosrachaidh. +# LOCALIZATION NOTE (noCommand, noHelp): +# %S is the command name the user typed. +noCommand=Chan eil an àithne "%S" ann. +noHelp=Chan eil cobhair ann airson na h-àithne "%S", tha sinn duilich! + +sayHelpString=say <message>: cuir teachdaireachd as aonais nan àitheantan pròiseasaidh. +rawHelpString=raw <message>: cuir teachdaireachd as aonais escaping a dhèanamh airson nan eintiteasan HTML. +helpHelpString=help <name>: seall a' chobhair airson na h-àithne <name> no liosta nan àitheantan a ghabhas a chleachdadh as aonais pharamadairean. + +# LOCALIZATION NOTE (statusCommand): +# %1$S is replaced with a status command name +# (one of "back", "away", "busy", "dnd", or "offline"). +# %2$S is replaced with the localized version of that status type +# (one of the 5 strings below). +statusCommand=%1$S <status message>: suidhichn %2$S mar an staid le teachdaireachd staid roghainneil. +back=an làthair +away=air falbh +busy=trang +dnd=na bruidhinn rium +offline=far loidhne diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/contacts.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/contacts.properties new file mode 100644 index 0000000000000000000000000000000000000000..ecd029021d17873ceb2cf3c19f6723ed9dac829b --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/contacts.properties @@ -0,0 +1,8 @@ +# 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/. + +# LOCALIZATION NOTE (defaultGroup): +# This is the name of the group that will automatically be created when adding a +# buddy without specifying a group. +defaultGroup=Luchd-aithne diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/conversations.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/conversations.properties new file mode 100644 index 0000000000000000000000000000000000000000..77f465d355568dafcfe550e90078ce2c1930abfb --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/conversations.properties @@ -0,0 +1,80 @@ +# 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/. + +# LOCALIZATION NOTE (targetChanged): +# %1$S is the new conversation title (display name of the new target), +# %2$S is the protocol name used for the new target. +targetChanged=Cumaidh an còmhradh a' dol le %1$S, a' cleachdadh %2$S. + +# LOCALIZATION NOTE (statusChanged): +# %1$S is the display name of the contact. +# %2$S is the new status type (a value from status.properties). +statusChanged=Tha %1$S %2$S a-nis. +# LOCALIZATION NOTE (statusChangedWithStatusText): +# %1$S is the display name of the contact. +# %2$S is the new status type (a value from status.properties). +# %3$S is the status text (eg. "I'm currently away from the computer"). +statusChangedWithStatusText=Tha %1$S %2$S a-nis: %3$S. +# LOCALIZATION NOTE (statusChangedFromUnknown[WithStatusText]): +# special case of the previous 2 strings for when the status was +# previously unknown. These 2 strings should not mislead the user +# into thinking the person's status has just changed. +statusChangedFromUnknown=Tha %1$S %2$S. +statusChangedFromUnknownWithStatusText=Tha %1$S %2$S: %3$S. +# LOCALIZATION NOTE (statusKnown[WithStatusText]): +# special case of the previous 2 strings for when an account has just +# been reconnected, so the status is now known. These 2 strings should not +# mislead the user into thinking the person's status has just changed. +statusKnown=Chaidh an cunntas agad a cheangal ris a-rithist (Tha %1$S %2$S). +statusKnownWithStatusText=Chaidh an cunntas agad a cheangal ris a-rithist (Tha %1$S %2$S: %3$S). +# LOCALIZATION NOTE (statusUnknown): +# %S is the display name of the contact. +statusUnknown=Dhì-cheangail thu an cunntas agad (chan eil fhios tuilleadh dè an staid a tha aig %S). + +accountDisconnected=Tha an cunntas agad air dì-cheangal. +accountReconnected=Chaidh an cunntas agad a cheangal ris a-rithist. + +# LOCALIZATION NOTE (autoReply): +# %S is replaced by the text of a message that was sent as an automatic reply. +autoReply=Freagairt fhèin-obrachail - %S + +# LOCALIZATION NOTE (noTopic): +# Displayed instead of the topic when no topic is set. +noTopic=Chan eil teachdaireachd mun chuspair aig an t-seòmar seo. + +# LOCALIZATION NOTE (topicSet): +# %1$S is the conversation name, %2$S is the topic. +topicSet='S e %2$S an cuspair airson %1$S. +# LOCALIZATION NOTE (topicNotSet): +# %S is the conversation name. +topicNotSet=Chan eil cuspair aig %S. +# LOCALIZATION NOTE (topicChanged): +# %1$S is the user who changed the topic, %2$S is the new topic. +topicChanged=Thagh %1$S an cuspair ùr a leanas: %2$S. +# LOCALIZATION NOTE (topicCleared): +# %1$S is the user who cleared the topic. +topicCleared=Dh'fhalamhaich %1$S an cuspair. + +# LOCALIZATION NOTE (nickSet): +# This is displayed as a system message when a participant changes his/her +# nickname in a conversation. +# %1$S is the old nick. +# %2$S is the new nick. +nickSet=’S e %2$S am far-ainm ùr air %1$S. +# LOCALIZATION NOTE (nickSet.you): +# This is displayed as a system message when your nickname is changed. +# %S is your new nick. +nickSet.you=’S e %S am far-ainm ùr ort a-nis. + +# LOCALIZATION NOTE (messenger.conversations.selections.ellipsis): +# ellipsis is used when copying a part of a message to show that the message was cut +messenger.conversations.selections.ellipsis=[…] + +# LOCALIZATION NOTE (messenger.conversations.selections.{system,content,action}MessagesTemplate): +# These 3 templates are used to format selected messages before copying them. +# Do not translate the texts between % characters, but feel free to adjust +# whitespace and separators to make them fit your locale. +messenger.conversations.selections.systemMessagesTemplate=%message% - %time% +messenger.conversations.selections.contentMessagesTemplate=%sender%: %message% - %time% +messenger.conversations.selections.actionMessagesTemplate=%sender% %message% * %time% diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/facebook.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/facebook.properties new file mode 100644 index 0000000000000000000000000000000000000000..5b47856f3a585c4ce5e86176272676046664ff58 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/facebook.properties @@ -0,0 +1,6 @@ +# 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/. + +facebook.chat.name=Facebook Chat +facebook.disabled=Chan eil taic ri Facebook Chat tuilleadh a chionn ’s gun do chuir Facebook à comas a’ chachaileith XMPP aca. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/imtooltip.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/imtooltip.properties new file mode 100644 index 0000000000000000000000000000000000000000..930625100eba33724b7cb5d55370bad431f5e077 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/imtooltip.properties @@ -0,0 +1,10 @@ +# 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/. + +buddy.username=Ainm-cleachdaiche +buddy.account=Cunntas +contact.tags=Tagaichean + +encryption.tag=Staid a’ chrioptachaidh +message.status=Teachdaireachd air a chrioptachadh diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/irc.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/irc.properties new file mode 100644 index 0000000000000000000000000000000000000000..8cf34ef66e30a9ad312bd583380fec19dff65687 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/irc.properties @@ -0,0 +1,209 @@ +# 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/. + +# LOCALIZATION NOTE (irc.usernameHint): +# This is displayed inside the accountUsernameInfoWithDescription +# string defined in imAccounts.properties when the user is +# configuring an IRC account. +irc.usernameHint=far-ainm + +# LOCALIZATION NOTE (connection.error.*): +# These will show in the account manager if the account is +# disconnected because of an error. +connection.error.lost=Chaill thu an ceangal ris an fhrithealaiche +connection.error.timeOut=Dh'fhalbh an ùine air a' cheangal +connection.error.invalidUsername=Tha %S 'na ainm-cleachdaiche nach eil ceadaichte +connection.error.invalidPassword=Tha am facal-faire frithealaiche cearr +connection.error.passwordRequired=Tha feum air facal-faire + +# LOCALIZATION NOTE (joinChat.*): +# These show up on the join chat menu. An underscore is for the access key. +joinChat.channel=_Seanail +joinChat.password=_Facal-faire + +# LOCALIZATION NOTE (options.*): +# These are the protocol specific options shown in the account manager and +# account wizard windows. +options.server=Frithealaiche +options.port=Port +options.ssl=Cleachd SSL +options.encoding=Seata charactaran +options.quitMessage=Teachdaireachd fàgail +options.partMessage=Teachdaireachd fàgail +options.showServerTab=Seall teachdaireachdan an fhrithealaiche +options.alternateNicks=Far-ainmean eile + +# LOCALIZATION NOTE (ctcp.version): +# %1$S is the nickname of the user whose version was requested. +# %2$S is the version response from the client. +ctcp.version=Tha %1$S a' cleachdadh "%2$S" +# LOCALIZATION NOTE (ctcp.time): +# %1$S is the nickname of the user whose time was requested. +# %2$S is the time response. +ctcp.time='S e %2$S an t-àm far a bheil %1$S. + +# LOCALZIATION NOTE (command.*): +# These are the help messages for each command, the %S is the command name +# Each command first gives the parameter it accepts and then a description of +# the command. +command.action=%S <action to perform>: Dèan gnìomh. +command.ban=%S <nick!user@host>: Toirmisg na cleachdaichean a fhreagras ris a’ phàtran a tha ann. +command.ctcp=%S <nick> <msg>: Cuir teachdaireachd CTCP dhan nick. +command.chanserv=%S <command>: Cuir àithne dhan ChanServ. +command.deop=%S <nick1>[,<nick2>]*: Thoir air falbh inbhe gnìomharaiche seanail o chuideigin. Feumaidh tu a bhith 'nad ghnìomharaiche an t-seanail mus urrainn dhut sin a dhèanamh. +command.devoice=%S <nick1>[,<nick2>]*: Thoir air falbh inbhe guth seanail o chuideigin, rud a chuireas glas-ghuib orra nuair a bhios an seanail fo mhodarataireachd (+m). Feumaidh tu a bhith 'nad ghnìomharaiche an t-seanail mus urrainn dhut sin a dhèanamh +command.invite2=%S <nick>[ <nick>]* [<channel>]: Thoir cuireadh dha co-dhiù aon fhar-ainm fhan t-seanail làithreach no gabh pàirt san t-seanail a shònraich thu. +command.join=%S <room1>[,<room2>]* [<key1>[,<key2>]*]: Cuir a-steach aon seanail, no barrachd dhiubh agus iuchair seanail airson gach aon dhiubh ma bhios feum air seo. +command.kick=%S <nick> [<message>]: Breab cuideigin o sheanail. Feumaidh tu a bhith 'nad ghnìomharaiche an t-seanail mus urrainn dhut sin a dhèanamh. +command.list=%S: Seall liosta de gach seòmar cabadaich air an lìonra. An aire, tha cuid a dh'fhrithealaichean ann a bhrisean an ceagal agad riutha ma nì thu seo. +command.memoserv=%S <command>: Cuir àithne gu MemoServ. +command.modeUser2=%S <nick> [(+|-)<mode>]: Faigh, suidhich no dì-shuidhich modh cleachdaiche. +command.modeChannel2=%S [<channel>] [(+|-)<new mode> [<parameter>][,<parameter>]*]: Faigh, suidhich no dì-shuidhich modh seanail. +command.msg=%S <nick> <message>: Cuir teachdaireachd phrìobhaideach gu cleachdaiche (seach a chur dhan t-seanail). +command.nick=%S <new nickname>: Atharraich am far-ainm agad. +command.nickserv=%S <command>: Cuir àithne gu NickServ. +command.notice=%S <target> <message>: Cuir brath do chleachdaiche no seanail. +command.op=%S <nick1>[,<nick2>]*: Thoir inbhe gnìomharaiche seanail do chuideigin. Feumaidh tu a bhith 'nad ghnìomharaiche an t-seanail mus urrainn dhut sin a dhèanamh. +command.operserv=%S <command>: Cuir àithne gu OperServ. +command.part=%S [message]: Fàg an t-seanail làithrach le teachdaireachd soraidh slàn shònraiche. +command.ping=%S [<nick>]: Faighnich dè an dàil-lìonraidh a tha aig cleachdaiche (no aig an fhrithealaiche mura deach cleachdaiche a shònrachadh). +command.quit=%S <message>: Disconnect from the server, with an optional message. +command.quote=%S <command>: Cuir àithne amh dhan fhrithealaiche. +command.time=%S: Seall an t-àm ionadail aig an fhrithealaiche IRC. +command.topic=%S [<new topic>]: Seall no atharraich cuspair na seanail. +command.umode=%S (+|-)<new mode>: Suidhich no dì-shuidhich modh cleachdaiche. +command.version=%S <nick>: Iarr an tionndadh de chliant a' chleachdaiche. +command.voice=%S <nick1>[,<nick2>]*: Thoir inbhe guth seanail do chuideigin. Feumaidh tu a bhith 'nad ghnìomharaiche an t-seanail mus urrainn dhut sin a dhèanamh. +command.whois2=%S [<nick>]: Faigh fiosrachadh mu chleachdaiche. + +# LOCALIZATION NOTE (message.*): +# These are shown as system messages in the conversation. +# %1$S is the nick and %2$S is the nick and host of the user who joined. +message.join=Thàinig %1$S [%2$S] a-steach dhan t-seòmar. +message.rejoined=Chaidh thu a-steach dhan t-seòmar as ùr. +# %1$S is the nick of who kicked you. +# %2$S is message.kicked.reason, if a kick message was given. +message.kicked.you=Chaidh do bhreabadh a-mach le %1$S%2$S. +# %1$S is the nick that is kicked, %2$S the nick of the person who kicked +# %1$S. %3$S is message.kicked.reason, if a kick message was given. +message.kicked=Chaidh %1$S a bhreabadh a-mach le %2$S%3$S. +# %S is the kick message +message.kicked.reason=: %S +# %1$S is the new mode, %2$S is the nickname of the user whose mode +# was changed, and %3$S is who set the mode. +message.usermode=Chaidh am modh %1$S a shuidheachadh le %3$S airson %2$S. +# %1$S is the new channel mode and %2$S is who set the mode. +message.channelmode=Chaidh am modh %1$S a shuidheachadh le %2$S airson na seanail. +# %S is the user's mode. +message.yourmode='S e %S am modh agadsa. +# Could not change the nickname. %S is the user's nick. +message.nick.fail=Cha ghabh an t-ainm sin a chleachdadh. 'S e %S am far-ainm a tha ort fhathast. +# The parameter is the message.parted.reason, if a part message is given. +message.parted.you=Dh'fhàg thu an seòmar (Soraidh slàn %1$S). +# %1$S is the user's nick, %2$S is message.parted.reason, if a part message is given. +message.parted=Dh'fhàg %1$S an seòmar (Soraidh slàn: %2$S). +# %S is the part message supplied by the user. +message.parted.reason=: %S +# %1$S is the user's nick, %2$S is message.quit2 if a quit message is given. +message.quit=Dh'fhàg %1$S an seòmar (Soraidh slàn: %2$S). +# The parameter is the quit message given by the user. +message.quit2=: %S +# %1$S is the nickname of the user that invited us, %2$S is the conversation +# name. +message.inviteReceived=Thug %1$S cuireadh dhut gu %2$S. +# %1$S is the nickname of the invited user, %2$S is the conversation name +# they were invited to. +message.invited=Fhuair %1$S cuireadh gu %2$S. +# %1$S is the nickname of the invited user, %2$S is the conversation name +# they were invited to but are already in +message.alreadyInChannel=Tha %1$S ann an %2$S mu thràth. +# %S is the nickname of the user who was summoned. +message.summoned=Chaidh %S a g(ha)irm. +# %S is the nickname of the user whose WHOIS information follows this message. +message.whois=Am fiosrachadh WHOIS airson %S: +# %1$S is the nickname of the (offline) user whose WHOWAS information follows this message. +message.whowas=Tha %1$S far loidhne. Am fiosrachadh WHOWAS airson %1$S: +# %1$S is the entry description (from tooltip.*), %2$S is its value. +message.whoisEntry=\u00A0 %1$S: %2$S +# %S is the nickname that is not known to the server. +message.unknownNick='S e far-ainm neo-aithnichte a tha ann an: %S. +# %1$S is the nickname of the user who changed the mode and %2$S is the new +# channel key (password). +message.channelKeyAdded=Dh'atharraich %1$S facal-faire an t-seanail agus 's e %2$S a tha ann a-nis. +message.channelKeyRemoved=Thug %S air falbh facal-faire an t-seanail. +# This will be followed by a list of ban masks. +message.banMasks=Tha cleachdaichean a rinn ceangal o na h-àitichean a leanas air an toirmeasg à %S: +message.noBanMasks=Cha deach %S a thoirmeasg à àite sam bith. +message.banMaskAdded=Chaidh cleachdaichean a rinn ceangal o àitichean a mhaidicheas %1$S a thoirmeasg le %2$S. +message.banMaskRemoved=Chan eil cleachdaichean a rinn ceangal o àitichean a mhaidsicheas %2$S air an toirmeasg à %1$S tuilleadh. +# LOCALIZATION NOTE (message.ping): Semi-colon list of plural forms. +# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals +# %1$S is the nickname of the user or the server that was pinged. +# #2 is the delay (in milliseconds). +message.ping=Freagairt ping o %1$S ann an #2 mhille-dhiog.;Freagairt ping o %1$S ann an #2 mhille-dhiog.;Freagairt ping o %1$S ann an #2 mille-dhiogan.;Freagairt ping o %1$S ann an #2 mille-dhiog. + + +# LOCALIZATION NOTE (error.*): +# These are shown as error messages in the conversation or server tab. +# %S is the channel name. +error.noChannel=Chan eil seanail ann air a bheil: %S. +error.tooManyChannels=Chan urrainn dhut a dhol a-steach dha %S; tha thu ann an cus sheanailean. +# %1$S is your new nick, %2$S is the kill message from the server. +error.nickCollision=Tha am far-ainm seo 'ga chleachdadh mu thràth, a' cleachdadh %1$S [%2$S] 'na àite. +error.erroneousNickname=Tha %S 'na fhar-ainm nach eil ceadaichte. +error.banned=Chaidh do thoirmeasg on fhrithealaiche seo. +error.bannedSoon=Thèid do thoirmeasg on fhrithealaiche seo a dh'aithghearr. +error.mode.wrongUser=Chan urrainn dhut modhan de chleachdaichean eile atharrachadh. +# %S is the nickname or channel name that isn't available. +error.noSuchNick=Chan eil %S air loidhne. +error.wasNoSuchNick=Cha robh far-ainm ann: %S +error.noSuchChannel=Chan eil seanail ann: %S. +error.unavailable=Chan eil %S ri fhaighinn an-dràsta fhèin. +# %S is the channel name. +error.channelBanned=Chaidh do thoirmeasg o %S. +error.cannotSendToChannel=Chan urrainn dhut teachdaireachdan a chur gu %S. +error.channelFull=Tha an seanail %S làn. +error.inviteOnly=Feumaidh tu cuireadh mus urrainn dhut a dhol a-steach dha %S. +error.nonUniqueTarget=Chan e user@host no ainm goirid àraidh a tha ann an %S no dh'fheuch thu ri cus sheanailean fhosgladh aig an aon àm. +error.notChannelOp=Chan e gnìomharaiche seanail a tha annad ann an: %S. +error.notChannelOwner=Chan ann agadsa a tha an seanail %S. +error.wrongKey=Chan urrainn dhut pàirt a ghabhail ann an %S, tha facal-faire an t-seanail cearr. +error.sendMessageFailed=Thachair mearachd nuair a chuir sinn an teachdaireachd mu dheireadh. Feuch ris a-rithist turas a thilleas an ceangal. +# %1$S is the channel the user tried to join, %2$S is the channel +# he was forwarded to. +error.channelForward=Chan urrainn dhut pàirt a ghabhail ann an %1$S agus chaidh d' ath-stiùireadh gu %2$S. +# %S is the mode that the user tried to set but was not recognized +# by the server as a valid mode. +error.unknownMode=Chan eil “%S” ’na mhodh cleachdaiche dligheach air an fhrithealaiche seo. + +# LOCALIZATION NOTE (tooltip.*): +# These are the descriptions given in a tooltip with information received +# from a whois response. +# The human readable ("realname") description of the user. +tooltip.realname=Ainm +tooltip.server=Ceangailte ri +# The username and hostname that the user connects from (usually based on the +# reverse DNS of the user's IP, but often mangled by the server to +# protect users). +tooltip.connectedFrom=Air ceangal a dhèanamh o +tooltip.registered=Clàraichte +tooltip.registeredAs=Clàraichte mar +tooltip.secure=A' cleachdadh ceangal tèarainte +# The away message of the user +tooltip.away=Air falbh +tooltip.ircOp=Gnìomharaiche IRC +tooltip.bot=Bot +tooltip.lastActivity=A' ghnìomhachd mu dheireadh +# %S is the timespan elapsed since the last activity. +tooltip.timespan=%S air ais +tooltip.channels=An-seo an-dràsta fhèin + +# %1$S is the server name, %2$S is some generic server information (usually a +# location or the date the user was last seen). +tooltip.serverValue=%1$S (%2$S) + +# LOCALIZATION NOTE (yes, no): +# These are used to turn true/false values into a yes/no response. +yes=Tha +no=Chan eil diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/logger.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/logger.properties new file mode 100644 index 0000000000000000000000000000000000000000..e8bfcf9ac5c4a19ae3f53c18e8fcf39516d04907 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/logger.properties @@ -0,0 +1,7 @@ +# 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/. + +# LOCALIZATION NOTE (badLogfile): +# %S is the filename of the log file. +badLogfile=Tha faidhle an loga falamh no coirbte: %S diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/matrix.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/matrix.properties new file mode 100644 index 0000000000000000000000000000000000000000..24feea7283c24e1f1d5b5adf156d19692ddede58 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/matrix.properties @@ -0,0 +1,255 @@ +# 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/. + +# LOCALIZATION NOTE (matrix.usernameHint): +# This is displayed inside the accountUsernameInfoWithDescription +# string defined in imAccounts.properties when the user is +# configuring a Matrix account. +matrix.usernameHint=ID Matrix + +# LOCALIZATION NOTE (options.*): +# These are the protocol specific options shown in the account manager and +# account wizard windows. +options.saveToken=Stòr an tòcan inntrigidh +options.deviceDisplayName=Ainm-taisbeanaidh an uidheim +options.homeserver=Frithealaiche +options.backupPassphrase=Abairt-fhaire lethbhreac-glèidhich na h-iuchrach + +# LOCALIZATION NOTE (options.encryption.*): +# These are strings used to build the status information of the encryption +# storage, shown in the account manager. %S is one of the statuses and the +# strings are combined with a pipe (|) between. +options.encryption.enabled=Foincseanan crioptografach: %S +options.encryption.secretStorage=Stòran rùin: %S +options.encryption.keyBackup=Lethbhreac-glèidhidh dhen iuchair chrioptachaidh: %S +options.encryption.crossSigning=Tar-shoidhneadh: %S +options.encryption.statusOk=ceart ma-thà +options.encryption.statusNotOk=chan eil e deiseil fhathast +options.encryption.needBackupPassphrase=Cuir a-steach abairt-fhaire iuchair nan lethbhreacan-glèidhidh agad ann an roghainnean a’ phròtacail. +options.encryption.setUpSecretStorage=Airson stòras rùin a shuidheachadh, cleachd cliant eile agus cuir a-steach abairt-fhaire iuchair nan lethbhreacan-glèidhidh a chaidh a ghintinn air an taba “Coitcheann” an uair sin. +options.encryption.setUpBackupAndCrossSigning=Airson lethbhreacan-glèidhidh nan iuchraichean crioptachaidh is tar-shoidhneadh a chur an comas, cuir a-steach abairt-fhaire iuchair nan lethbhreacan-glèidhidh agad air an taba “Coitcheann” no dearbh dearbh-aithne aon dhe na seiseanan gu h-ìosal. +# %1$S is the session ID, %2$S is the session display name +options.encryption.session=%1$S (%2$S) + +# LOCALIZATION NOTE (connection.*): +# These will be displayed in the account manager in order to show the progress +# of the connection. +# (These will be displayed in account.connection.progress from +# accounts.properties, which adds … at the end, so do not include +# periods at the end of these messages.) +connection.requestAuth=A’ feitheamh ri d’ ùghdarrachadh +connection.requestAccess=A’ coileanadh an dearbhaidh + +# LOCALIZATION NOTE (connection.error.*): +# These will show in the account manager if an error occurs during the +# connection attempt. +connection.error.noSupportedFlow=Chan eil sruth co-chòrdail airson clàradh a-steach aig an fhrithealaiche. +connection.error.authCancelled=Sguir thu dhen phròiseas ùghdarrachaidh. +connection.error.sessionEnded=Chaidh do chlàradh às an t-seisean. +connection.error.serverNotFound=Cha b’ urrainn dhuinn dearbh-aithne an fhrithealaiche Matrix a dhearbhadh airson a’ chunntais Matrix a thug thu seachad. + +# LOCALIZATION NOTE (chatRoomField.*): +# These are the name of fields displayed in the 'Join Chat' dialog +# for Matrix accounts. +# The _ character won't be displayed; it indicates the next +# character of the string should be used as the access key for this +# field. +chatRoomField.room=Seòma_r + +# LOCALIZATION NOTE (tooltip.*): +# These are the descriptions given in a tooltip with information received +# from the "User" object. +# The human readable name of the user. +tooltip.displayName=Ainm-taisbeanaidh +# %S is the timespan elapsed since the last activity. +tooltip.timespan=%S air ais +tooltip.lastActive=A’ ghnìomhachd mu dheireadh + +# LOCALIZATION NOTE (powerLevel.*): +# These are the string representations of different standard power levels and strings. +# %S are one of the power levels, Default/Moderator/Admin/Restricted/Custom. +powerLevel.default=Bun-roghainn +powerLevel.moderator=Modaratair +powerLevel.admin=Rianaire +powerLevel.restricted=Cuingichte +powerLevel.custom=Gnàthaichte +# %1$S is the power level name +# %2$S is the power level number +powerLevel.detailed=%1$S (%2$S) +powerLevel.defaultRole=Dreuch bunaiteach: %S +powerLevel.inviteUser=Thoir cuireadh do chleachdaichean: %S +powerLevel.kickUsers=Breab a-mach cleachdaichean: %S +powerLevel.ban=Toirmisg cleachdaichean: %S +powerLevel.roomAvatar=Atharraich avatar an t-seòmair: %S +powerLevel.mainAddress=Atharraich prìomh-sheòladh an t-seòmair: %S +powerLevel.history=Atharraich faicsinneachd na h-eachdraidh: %S +powerLevel.roomName=Atharraich ainm an t-seòmair: %S +powerLevel.changePermissions=Atharraich na ceadan: %S +powerLevel.server_acl=Cuir tachartasan m.room.server_acl: %S +powerLevel.upgradeRoom=Àrdaich an seòmar: %S +powerLevel.remove=Thoir air falbh na teachdaireachdan: %S +powerLevel.events_default=Bun-roghainn thachartasan: %S +powerLevel.state_default=Atharraich an roghainn: %S +powerLevel.encryption=Cuir crioptachadh sheòmraichean an comas: %S +powerLevel.topic=Suidhich cuspair an t-seòmair: %S + +# LOCALIZATION NOTE (detail.*): +# These are the string representations of different matrix properties. +# %S will typically be strings with the actual values. +# Example placeholder: "Foo bar" +detail.name=Ainm: %S +# Example placeholder: "My first room" +detail.topic=Cuspair: %S +# Example placeholder: "5" +detail.version=Tionndadh an t-seòmair: %S +# Example placeholder: "#thunderbird:mozilla.org" +detail.roomId=ID an t-seòmair: %S +# %S are all admin users. Example: "@foo:example.com, @bar:example.com" +detail.admin=Rianaire: %S +# %S are all moderators. Example: "@lorem:mozilla.org, @ipsum:mozilla.org" +detail.moderator=Modaratair: %S +# Example placeholder: "#thunderbird:matrix.org" +detail.alias=Alias: %S +# Example placeholder: "can_join" +detail.guest=Inntrigeadh aoigh: %S +# This is a heading, followed by the powerLevel.* strings +detail.power=Ìrean cumhachd: + +# LOCALIZATION NOTE (command.*): +# These are the help messages for each command, the %S is the command name +# Each command first gives the parameter it accepts and then a description of +# the command. +command.ban=%S <userId> [<an t-adhbhar>]: Toirmisg an cleachdaiche aig a bheil an userId on t-seòmar is, ma thogras tu, innis carson. Feumaidh cead a bhith agad luchd-cleachdaidh a thoirmeasg. +command.invite=%S <userId>: Thoir cuireadh dhan t-seòmar dhan chleachdaiche. +command.kick=%S <userId> [<an t-adhbhar>]: Breab an cleachdaiche aig a bheil an userId às an t-seòmar is, ma thogras tu, innis carson. Feumaidh cead a bhith agad luchd-cleachdaidh a bhreabadh a-mach. +command.nick=%S <display_name>: Atharraich an t-ainm-taisbeanaidh agad. +command.op=%S <userId> [<ìre na cumhachd>]: Suidhich ìre na cumhachd aig a’ chleachdaiche. Cuir a-steach àireamh shlàn; neach-cleachdaich: 0, modaratair: 50 agus rianaire: 100. ’S e 50 a bhios ann mar bhun-roghainn mur eil argamaid ga thoirt seachad. Feumar cead ìre cumhachd luchd-cleachdaidh atharrachadh. Chan urrainn dhut seo a dhèanamh air rianairean eile ach is urrainn dhut an ìre agad fhèin a chur air gleus. +command.deop=%S <userId>: Ath-shuidhich ìre na cumhachd aig a’ chleachdaiche aig 0 (neach-cleachdaidh). Feumar cead ìre cumhachd luchd-cleachdaidh atharrachadh. Chan urrainn dhut seo a dhèanamh air rianairean eile ach is urrainn dhut an ìre agad fhèin a chur air gleus. +command.leave=%S: Fàg an seòmar seo. +command.topic=%S <an cuspair>: Suidhich cuspair an t-seòmair. Feumar cead an cuspair aig seòmar atharrachadh. +command.unban=%S <userId>: Dì-thoirmisg cleachdaiche a chaidh a thoirmeasg às an t-seòmar roimhe. Feumar cead cleachdaichean a thoirmeasg. +command.visibility=%S [<visibility>]: Suidhich faicsinneach an t-seòmair làithrich ann an eòlaire nan seòmraichean air an fhrithealaiche dachaigh làithreach. Cuir a-steach àireamh shlàn; prìobhaideach: 0 agus poblach: 1. ’S e “Prìobhaideach (0)” a’ bhun-roghainn mur eil argamaid ga thoirt seachad. Feumar cead faicsinneachd an t-seòmair atharrachadh. +command.guest=%S <guest access> <faicsinneachd na h-eachdraidh>: Suidhich inntrigeadh is faiscinneachd na h-eachdraidh aig an t-seòmar làithreach do dh’aoighean. Cuir a-steach dà àireamh shlàn, a’ chiad dhiubh airson inntrigeadh aoigh (gun chead: 0 agus ceadaichte: 1) agus an dàrna dhiubh airson faicsinneachd na h-eachdraidh (do-fhaicsinneach: 0 agus faicsinneach: 1). Feumar cead eachdraidh na faicsinneachd atharrachadh. +command.roomname=%S <name>: Suidhich ainm an t-seòmair. Feumar cead an t-ainm aig seòmar atharrachadh. +command.detail=%S: Seall mion-fhiosrachadh an t-seòmair. +command.addalias=%S <alias>: Cruthaich alias dhan t-seòmar. Tha dùil ri alias seòmair dhen t-seòrsa “#localname:domain”. Feumar cead aliasan a chur ris. +command.removealias=%S <alias>: Thoir air falbh alias an t-seòmair. Tha dùil ri alias seòmair dhen t-seòrsa “#localname:domain”. Feumar cead aliasan a thoirt air falbh. +command.upgraderoom=%S <newVersion>: Àrdaich an seòmar gun tionndadh a th’ ann. Feumar cead an seòmar àrdachadh. +command.me=%S <action>: Dèan gnìomh. +command.msg=%S <userId> <message>: Cuir teachdaireachd calg-dhìreach gun chleachdaiche a th’ ann. +command.join=%S <roomId>: Rach dhan t-seòmar a th’ ann. + +# LOCALIZATION NOTE (message.*): +# These are shown as system messages in the conversation. +# %1$S is the name of the user who banned. +# %2$S is the name of the user who got banned. +message.banned=Thoirmisg %1$S %2$S. +# Same as message.banned but with a reason. +# %3$S is the reason the user was banned. +message.bannedWithReason=Thoirmisg %1$S %2$S. An t-adhbhar: %3$S +# %1$S is the name of the user who accepted the invitation. +# %2$S is the name of the user who sent the invitation. +message.acceptedInviteFor=Ghabh %1$S ris a’ chuireadh airson %2$S. +# %S is the name of the user who accepted an invitation. +message.acceptedInvite=Ghabh $S ri cuireadh. +# %1$S is the name of the user who invited. +# %2$S is the name of the user who got invited. +message.invited=Thug %1$S cuireadh dha %2$S. +# %1$S is the name of the user who changed their display name. +# %2$S is the old display name. +# %3$S is the new display name. +message.displayName.changed=Chuir %1$S %3$S an àite %2$S mar an t-ainm-taisbeanaidh aca. +# %1$S is the name of the user who set their display name. +# %2$S is the newly set display name. +message.displayName.set=Shuidhich %1$S %2$S mar an t-ainm-taisbeanaidh aca. +# %1$S is the name of the user who removed their display name. +# %2$S is the old display name which has been removed. +message.displayName.remove=Thug %1$S an t-ainm-taisbeanaidh %2$S air falbh. +# %S is the name of the user who has joined the room. +message.joined=Thàinig %S a-steach dhan t-seòmar. +# %S is the name of the user who has rejected the invitation. +message.rejectedInvite=Dhiùlt %S an cuireadh. +# %S is the name of the user who has left the room. +message.left=Dh’fhàg %S an seòmar. +# %1$S is the name of the user who unbanned. +# %2$S is the name of the user who got unbanned. +message.unbanned=Dhì-thoirmisg %1$S %2$S. +# %1$S is the name of the user who kicked. +# %2$S is the name of the user who got kicked. +message.kicked=Bhreab %1$S %2$S. +# Same as message.kicked but with a third parameter for the reason. +# %3$S is the reason for the kick. +message.kickedWithReason=Bhreab %1$S %2$S. An t-adhbhar: %3$S +# %1$S is the name of the user who withdrew invitation. +# %2$S is the name of the user whose invitation has been withdrawn. +message.withdrewInvite=Chuir %1$S gu neoini an cuireadh aig %2$S. +# Same as message.withdrewInvite but with a third parameter for the reason. +# %3$S is the reason the invite was withdrawn. +message.withdrewInviteWithReason=Chuir %1$S gu neoini an cuireadh aig %2$S. An t-adhbhar: %3$S +# %S is the name of the user who has removed the room name. +message.roomName.remove=Thug %S air falbh ainm an t-seòmair. +# %1$S is the name of the user who changed the room name. +# %2$S is the new room name. +message.roomName.changed=Chuir %1$S %2$S air an t-seòmar. +# %1$S is the name of the user who changed the power level. +# %2$S is a list of "message.powerLevel.fromTo" strings representing power level changes separated by commas +# power level changes, separated by commas if there are multiple changes. +message.powerLevel.changed=Dh’atharraich %1$S ìre na cumhachd aig %2$S. +# %1$S is the name of the target user whose power level has been changed. +# %2$S is the old power level. +# %2$S is the new power level. +message.powerLevel.fromTo=Chaidh %1$S o %2$S gu %3$S +# %S is the name of the user who has allowed guests to join the room. +message.guest.allowed=Thug %S cead do dh’aoighean a thighinn dhan t-seòmar. +# %S is the name of the user who has prevented guests to join the room. +message.guest.prevented=Cha tug %S cead do dh’aoighean a thighinn dhan t-seòmar. +# %S is the name of the user who has made future room history visible to anyone. +message.history.anyone=Leig %S eachdraidh an t-seòmair ris do dhuine sam bith a-mach o seo. +# %S is the name of the user who has made future room history visible to all room members. +message.history.shared=Leig %S eachdraidh an t-seòmair ris do gach ball dhen t-seòmar o seo a-mach. +# %S is the name of the user who has made future room history visible to all room members, from the point they are invited. +message.history.invited=Leig %S eachdraidh an t-seòmair ris do gach ball dhen t-seòmar o seo a-mach, on àm a fhuair iad cuireadh. +# %S is the name of the user who has made future room history visible to all room members, from the point they joined. +message.history.joined=Leig %S eachdraidh an t-seòmair ris do gach ball dhen t-seòmar o seo a-mach, on àm a chaidh iad an sàs ann. +# %1$S is the name of the user who changed the address. +# %2$S is the old address. +# %3$S is the new address. +message.alias.main=Shuidhich %1$S prìomh-sheòladh an t-seòmair seo o %2$S gu %3$S. +# %1$S is the name of the user who added the address. +# %2$S is a comma delimited list of added addresses. +message.alias.added=Chuir %1$S ris %2$S mar sheòladh eile aig an t-seòmar seo. +# %1$S is the name of the user who removed the address. +# %2$S is a comma delimited list of removed addresses. +message.alias.removed=Thug %1$S air falbh %2$S mar sheòladh eile aig an t-seòmar seo. +# %1$S is the name of the user that edited the alias addresses. +# %2$S is a comma delimited list of removed addresses. +# %3$S is a comma delmited list of added addresses. +message.alias.removedAndAdded=Thug %1$S air falbh %2$S is thug iad ris %3$S mar sheòladh eile aig an t-seòmar seo. +message.spaceNotSupported=Tha an seòmar seo na spàs is chan eil taic ri sin. +message.encryptionStart=Tha teachdaireachdan sa chòmhradh seo crioptaichte o cheann gu ceann. +# %1$S is the name of the user who sent the verification request. +# %2$S is the name of the user that is receiving the verification request. +message.verification.request2=Tha %1$S airson %2$S a dhearbhadh. +# %1$S is the name of the user who cancelled the verification request. +# %2$S is the reason given why the verification was cancelled. +message.verification.cancel2=Chuir %1$S gu neoini an dearbhadh agus thug iad seachadh an t-adhbhar a leanas: %2$S +message.verification.done=Chaidh a dhearbhadh. +message.decryptionError=Cha b’ urrainn dhuinn susbaint na teachdaireachd seo a dhì-chrioptachadh. Airson iuchraichean crioptachaidh o na h-uidheaman eile agad iarraidh, dèan briogadh deas air an teachdaireachd seo. +message.decrypting=Ga dhì-chrioptachadh… +message.redacted=Chaidh an teachdaireachd a dhubhadh às. +# %1$S is the username of the user that reacted. +# %2$S is the username of the user that sent the message the reaction was added to. +# %3$S is the content (typically an emoji) of the reaction. +message.reaction=Fhreagair %1$S %2$S le “%3$S”. + +# Label in the message context menu +message.action.requestKey=Iarr na h-iuchraichean a-rithist +message.action.redact=Dubh às +message.action.report=Dèan aithris air an teachdaireachd +message.action.retry=Feuch ris a chur às ùr +message.action.cancel=Sguir dhen teachdaireachd + +# LOCALIZATION NOTE (error.*) +# These are strings shown as system messages when an action the user took fails. +error.sendMessageFailed=Thachair mearachd nuair a bha sinn a’ cur na teachdaireachd “%1$S” agad. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/status.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/status.properties new file mode 100644 index 0000000000000000000000000000000000000000..9447f169aac497e35071655745663ba8386c08f0 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/status.properties @@ -0,0 +1,23 @@ +# 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/. + +availableStatusType=an làthair +awayStatusType=air falbh +unavailableStatusType=air falbh +offlineStatusType=far loidhne +invisibleStatusType=am falach +idleStatusType='na t(h)àmh +mobileStatusType=air inneal-làimhe +# LOCALIZATION NOTE (unknownStatusType): +# the status of a buddy is unknown when it's in the list of a disconnected account +unknownStatusType=air dì-cheangal + +# LOCALIZATION NOTE (statusWithStatusMessage): +# Used to display the status of a buddy together with its status message. +# %1$S is the status type, %2$S is the status message text. +statusWithStatusMessage=%1$S - %2$S + +# LOCALIZATION NOTE (messenger.status.defaultIdleAwayMessage): +# This will be the away message put automatically when the user is idle. +messenger.status.defaultIdleAwayMessage=Chan eil mi aig a' choimpiutair an-dràsta fhèin. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/twitter.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/twitter.properties new file mode 100644 index 0000000000000000000000000000000000000000..57762daac2aed173bab040a026dc54f20aba6566 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/twitter.properties @@ -0,0 +1,122 @@ +# 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/. + +# LOCALIZATION NOTE (twitter.protocolName) +# This name is used whenever the name of the protocol is shown. +twitter.protocolName=Twitter + +# LOCALIZATION NOTE (error.*): +# These are errors that will be shown to the user in conversation. +error.tooLong=Status is over 140 characters. +# LOCALIZATION NOTE (error.general, error.retweet, error.delete): +# %1$S will be either the error string returned by the twitter server, +# in English, inside parenthesis, or the empty string if we have no specific +# message for the error. +# %2$S is the message that caused the error. +error.general=Thachair mearachd %1$S nuair a bha sinn a' cur: %2$S +error.retweet=Thachair mearachd %1$S nuair a bha sinn ri retweeting: %2$S +error.delete=Thachair mearachd %1$S nuair a bha sinn a' sguabadh às: %2$S +error.like=Thachair mearachd (%1$S) nuair a chuir thu an cèill gur toigh leat %2$S +error.unlike=Thachair mearachd (%1$S) nuair a chuir thu an cèill nach toigh leat %2$S +# LOCALIZATION NOTE (error.descriptionTooLong) +# %S is the truncated string that was sent to the server. +error.descriptionTooLong=Tha an tuairisgeul nas fhaide na tha ceadaichte (160 caractar) agus chaidh a ghiorrachadh gu fèin-obrachail is tha e %S a-nis. + +# LOCALIZATION NOTE (timeline): +# This is the title of the conversation tab, %S will be replaced by +# @<username>. +timeline=An loidhne-ama aig %S + +# LOCALIZATION NOTE (action.*): +# This will be an action in the context menu of displayed tweets. +action.copyLink=Cuir lethbhreac dhen cheangal dha Tweet +action.retweet=Dèan retweet +action.reply=Freagair +action.delete=Sguab às +# LOCALIZATION NOTE (action.follow, action.stopFollowing): +# %S will be replaced by the screen name of a twitter user. +action.follow=Lean ri %S +action.stopFollowing=Na lean ri %S tuilleadh +action.like=’S toil +action.unlike=Cha toil tuilleadh + +# LOCALIZATION NOTE (event.follow, event.unfollow, event.followed): +# This will be displayed in system messages inside the timeline conversation. +# %S will be replaced by the screen name of a twitter user. +event.follow=Tha thu a' leantainn %S a-nis. +event.unfollow=Chan eil thu a' leantainn %S tuilleadh. +event.followed=Tha %S 'gad leantainn a-nis. +# LOCALIZATION NOTE (event.deleted): +# %S will be replaced by the text of the deleted tweet. +event.deleted=Sguab thu às an Tweet seo: "%S". + +# LOCALIZATION NOTE (replyingToStatusText): +# This will be visible in the status bar of the conversation window +# while the user is typing a reply to a tweet. +# %S will be replaced by the text of the tweet the user is replying to. +replyingToStatusText=A' freagairt: %S + +# LOCALIZATION NOTE (connection.*): +# These will be displayed in the account manager in order to show the progress +# of the connection. +# (These will be displayed in account.connection.progress from +# accounts.properties, which adds … at the end, so do not include +# periods at the end of these messages.) +connection.initAuth=A' cur gu dol am pròiseas dearbhaidh +connection.requestAuth=A' feitheamh ri d' ùghdarrachadh +connection.requestAccess=A' cur crìoch air an dearbhadh +connection.requestTimelines=Ag iarraidh loidhnichean-ama a' chleachdaiche +# LOCALIZATION NOTE (connection.error.*): +# These will show in the account manager if an error occurs during the +# connection attempt. +connection.error.userMismatch=Cha robh an dà ainm co-ionnann. +connection.error.failedToken=Cha d'fhuaradh an tòcan iarrtais. +connection.error.authCancelled=Sguir thu dhen phròiseas ùghdarrachaidh. +connection.error.authFailed=Dh'fhàillig an t-ùghdarrachadh. +connection.error.noNetwork=Chan eil ceangal ris an lìonra ann. + +# LOCALIZATION NOTE (authPrompt): +# This is the prompt in the browser window that pops up to authorize us +# to use a Twitter account. It is shown in the title bar of the authorization +# window. +authPrompt=Thoir cead ach an gabh an cunntas Twitter agad a chleachadh + +# LOCALIZATION NOTE (options.*): +# These are the protocol specific options shown in the account manager and +# account wizard windows. +options.track=Faclan-luirg a tha 'gan lorgadh + +# LOCALIZATION NOTE (tooltip.*): +# These are the Twitter information that will appear in the tooltip +# for each participant on the home timeline. +# LOCALIZATION NOTE (tooltip.created_at): the date the user joined. +tooltip.created_at='Na c(h)leachdaiche a-mach o +tooltip.location=Àite +tooltip.lang=Cànan +tooltip.time_zone=Raon-tìde +tooltip.url=Duilleag-dhachaigh +# LOCALIZATION NOTE (tooltip.protected): +# whether the user's tweets are publicly visible. +tooltip.protected=Tweets fo dhìon +# LOCALIZATION NOTE (tooltip.following): +# whether you are subscribed to the user's tweets. +tooltip.following='Gan leantainn an-dràsta +tooltip.name=Ainm +tooltip.description=Tuairisgeul +# LOCALIZATION NOTE (tooltip.*_count): +# Please see the right side of the official Twitter website UI. +tooltip.friends_count='Gan leantainn +tooltip.statuses_count=Tweets +tooltip.followers_count=Luchd-leantainn +tooltip.listed_count=Liostaichte + +# LOCALIZATION NOTE (yes, no): +# These are used to turn true/false values into a yes/no response. +yes=Tha +no=Chan eil + +command.follow=%S <username>[ <username>]*: Lean ri cleachdaiche(an). +command.unfollow=%S <username>[ <username>]*: Na lean ri cleachdaiche(an) tuilleadh. + +twitter.disabled=Chan eil taic ri Twitter tuilleadh a chionn ’s gun do chuir Twitter am pròtacal sruthaidh aca à comas. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/xmpp.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/xmpp.properties new file mode 100644 index 0000000000000000000000000000000000000000..7d0bda4cadca132317de19badb3b3952eedd24de --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/xmpp.properties @@ -0,0 +1,274 @@ +# 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/. + +# LOCALIZATION NOTE (connection.*) +# These will be displayed in the account manager in order to show the progress +# of the connection. +# (These will be displayed in account.connection.progress from +# accounts.properties, which adds … at the end, so do not include +# periods at the end of these messages.) +connection.initializingStream=A' cur gu dol an sruth +connection.initializingEncryption=A' cur gu dol an crioptachadh +connection.authenticating=Ag ùghdarrachadh +connection.gettingResource=A' faighinn greim air a' ghoireas +connection.downloadingRoster=A' luchdadh a-nuas an luchd-aithne +connection.srvLookup=A’ lorg a’ chlàir SRV + +# LOCALIZATION NOTE (connection.error.*) +# These will show in the account manager if an error occurs during the +# connection attempt. +connection.error.invalidUsername=Ainm-cleachdaiche mì-dhligheach (Bu chòir dhan litir "@" a bhith san ainm-chleachdaiche agad) +connection.error.failedToCreateASocket=Dh'fhàillig cruthachadh na socaid (A bheil thu far loidhne?) +connection.error.serverClosedConnection=Dhùin am frithealaiche an ceangal +connection.error.resetByPeer=Chaidh an ceangal ath-shuidheachadh leis an t-seise +connection.error.timedOut=Dh'fhalbh an ùine air a' cheangal +connection.error.receivedUnexpectedData=Fhuaradh dàta ris nach robh dùil +connection.error.incorrectResponse=Fhuaradh freagairt chearr +connection.error.startTLSRequired=Feumaidh am frithealaiche crioptachadh ach chuir thu à comas e +connection.error.startTLSNotSupported=Chan eil am frithealaiche a' cur taic ri crioptachadh ach feumaidh an rèiteachadh agadsa e +connection.error.failedToStartTLS=Cha b' urrainn dhuinn an crioptachadh a chur gu dol +connection.error.noAuthMec=Chan eil an seise a' tairgsinn dòighean ùghdarrachaidh +connection.error.noCompatibleAuthMec=Chan eil am frithealaiche a' tairgsinn dòighean ùghdarrachaidh a tha taic ann riutha +connection.error.notSendingPasswordInClear=Chan eil am frithealaiche a' cur taic ri ùghdarrachadh ach ma chuirear am facal-faire ann an cleartext +connection.error.authenticationFailure=Dh'fhàillig an t-ùghdarrachadh +connection.error.notAuthorized=Gun ùghdarras (Na chuir thu a-steach am facal-faire cearr?) +connection.error.failedToGetAResource=Cha b' urrainn dhuinn goireas fhaighinn +connection.error.failedMaxResourceLimit=Thathar a’ ceangal ris a’ chunntas seo o chus àiteachan aig an aon àm. +connection.error.failedResourceNotValid=Chan e goireas dligheach a tha seo. +connection.error.XMPPNotSupported=Chan eil am frithealaiche a’ cur taic ri XMPP + +# LOCALIZATION NOTE (conversation.error.notDelivered): +# This is displayed in a conversation as an error message when a message +# the user has sent wasn't delivered. +# %S is replaced by the text of the message that wasn't delivered. +conversation.error.notDelivered=Cha b' urrainn dhuinn an teachdaireachd seo a libhrigeadh: %S +# This is displayed in a conversation as an error message when joining a MUC +# fails. +# %S is the name of the MUC. +conversation.error.joinFailed=Cha b' urrainn dhuinn a dhol an sàs %S +# This is displayed in a conversation as an error message when the user is +# banned from a room. +# %S is the name of the MUC room. +conversation.error.joinForbidden=Cha b’ urrainn dhut a dhol dha %S a chionn ’s gun deach do thoirmeasg on t-seòmar seo. +conversation.error.joinFailedNotAuthorized=Feumar clàradh: Chan eil cead agad a dhol dhan t-seòmar seo. +conversation.error.creationFailedNotAllowed=Inntrigeadh cuingichte: Chan eil cead agad seòmraichean a chruthachadh. +# This is displayed in a conversation as an error message when remote server +# is not found. +# %S is the name of MUC room. +conversation.error.joinFailedRemoteServerNotFound=Cha b’ urrainn dhuinn a dhol dhan t-seòmar %S oir cha do ràinig sinn am frithealaiche air a bheil an seòmar. +conversation.error.changeTopicFailedNotAuthorized=Chan eil cead agad cuspair an t-seòmair seo a shuidheachadh. +# This is displayed in a conversation as an error message when the user sends +# a message to a room that he is not in. +# %1$S is the name of MUC room. +# %2$S is the text of the message that wasn't delivered. +conversation.error.sendFailedAsNotInRoom=Cha b’ urrainn dhuinn an teachdaireachd a chur gu %1$S a chionn ’s nach eil thu san t-seòmar seo tuilleadh: %2$S +# This is displayed in a conversation as an error message when the user sends +# a message to a room that the recipient is not in. +# %1$S is the jid of the recipient. +# %2$S is the text of the message that wasn't delivered. +conversation.error.sendFailedAsRecipientNotInRoom=Cha b’ urrainn dhuinn an teachdaireachd a chur gu %1$S a chionn ’s nach eil an neach seo san t-seòmar seo tuilleadh: %2$S +# These are displayed in a conversation as a system error message. +conversation.error.remoteServerNotFound=Cha b' urrainn dhuinn greim fhaighinn air frithealaichte an fhaighteir. +conversation.error.unknownSendError=Thachair mearachd nach aithne dhuinn rè cur na teachdaireachd seo. +# %S is the name of the message recipient. +conversation.error.sendServiceUnavailable=Chan urrainn dhuinn teachdaireachdan a chur gu %S an-dràsta. +# %S is the nick of participant that is not in room. +conversation.error.nickNotInRoom=Chan eil %S san t-seòmar. +conversation.error.banCommandAnonymousRoom=Chan urrainn dhut daoine a thoirmeasg o sheòmraichean gun urra. Feuch /kick an àite sin. +conversation.error.banKickCommandNotAllowed=Chan eil cead agad daoine a thoirt air falbh on t-seòmar. +conversation.error.banKickCommandConflict=Tha sinn duilich ach chan urrainn dhut thu fhèin a thoirt air falbh on t-seòmar. +conversation.error.changeNickFailedConflict=Cha b’ urrainn dhuinn %S a shònrachadh dhut mar fhar-ainm leis gu bheil e aig cuideigin mu thràth. +conversation.error.changeNickFailedNotAcceptable=Cha b’ urrainn dhuinn %S a shònrachadh dhut mar fhar-ainm oir tha iad glaiste san t-seòmar seo. +conversation.error.inviteFailedForbidden=Chan eil cead agad cuireadh a thoirt do dhaoine dhan t-seòmar seo. +# %S is the jid of user that is invited. +conversation.error.failedJIDNotFound=Cha b’ urrainn dhuinn %S a ruigsinn. +# %S is the jid that is invalid. +conversation.error.invalidJID=’S e jid mì-dhligheach a tha ann an %S (feumaidh aithnichear Jabber am pàtran cleachdaiche@àrainn a leantainn). +conversation.error.commandFailedNotInRoom=Feumaidh tu a dhol dhan t-seòmar mus urrainn dhut an àithne seo a chleachdadh. +# %S is the name of the recipient. +conversation.error.resourceNotAvailable=Feumaidh tusa bruidhinn an toiseach oir b’ urrainn dha %S ceangal a dhèanamh o dhiofar chliantan. + +# LOCALIZATION NOTE (conversation.error.version.*): +# %S is the name of the recipient. +conversation.error.version.unknown=Chan innis an cliant aig %S dè an tionndadh dhen bhathar-bhog a tha ann. + +# LOCALIZATION NOTE (tooltip.*): +# These are the titles of lines of information that will appear in +# the tooltip showing details about a contact or conversation. +# LOCALIZATION NOTE (tooltip.status): +# %S will be replaced by the XMPP resource identifier +tooltip.status=Staid (%S) +tooltip.statusNoResource=Staid +tooltip.subscription=Fo-sgrìobhadh +tooltip.fullName=Ainm slàn +tooltip.nickname=Far-ainm +tooltip.email=Post-d +tooltip.birthday=Co-là breith +tooltip.userName=Ainm-cleachdaiche +tooltip.title=Tiotal +tooltip.organization=Buidheann +tooltip.locality=D’ ionad +tooltip.country=Dùthaich +tooltip.telephone=Àireamh fòn + +# LOCALIZATION NOTE (chatRoomField.*): +# These are the name of fields displayed in the 'Join Chat' dialog +# for XMPP accounts. +# The _ character won't be displayed; it indicates the next +# character of the string should be used as the access key for this +# field. +chatRoomField.room=_Seòmar +chatRoomField.server=_Frithealaiche +chatRoomField.nick=Far-_ainm +chatRoomField.password=F_acal-faire + +# LOCALIZATION NOTE (conversation.muc.*): +# These are displayed as a system message when a chatroom invitation is +# received. +# %1$S is the inviter. +# %2$S is the room. +# %3$S is the reason which is a message provided by the person sending the +# invitation. +conversation.muc.invitationWithReason2=Thug %1$S cuireadh dhut gu %2$S: %3$S +# %3$S is the password of the room. +# %4$S is the reason which is a message provided by the person sending the +# invitation. +conversation.muc.invitationWithReason2.password=Thug %1$S cuireadh dhut a dhol an sàs “%2$S” leis an fhacal-fhaire %3$S: %4$S +conversation.muc.invitationWithoutReason=Thug %1$S cuireadh dhut gu %2$S +# %3$S is the password of the room. +conversation.muc.invitationWithoutReason.password=Thug %1$S cuireadh dhut a dhol an sàs “%2$S” leis an fhacal-fhaire %3$S + +# LOCALIZATION NOTE (conversation.muc.join): +# This is displayed as a system message when a participant joins room. +# %S is the nick of the participant. +conversation.message.join=Thàinig %S a-steach dhan t-seòmar. + +# LOCALIZATION NOTE (conversation.muc.rejoined): +# This is displayed as a system message when a participant rejoins room after +# parting it. +conversation.message.rejoined=Chaidh thu a-steach dhan t-seòmar as ùr. + +# LOCALIZATION NOTE (conversation.message.parted.*): +# These are displayed as a system message when a participant parts a room. +# %S is the part message supplied by the user. +conversation.message.parted.you=Dh’fhàg thu an seòmar. +conversation.message.parted.you.reason=Dh’fhàg thu an seòmar: %S +# %1$S is the participant that is leaving. +# %2$S is the part message supplied by the participant. +conversation.message.parted=Dh’fhàg %1$S an seòmar. +conversation.message.parted.reason=Dh’fhàg %1$S an seòmar: %2$S + +# LOCALIZATION NOTE (conversation.message.invitationDeclined*): +# %1$S is the invitee that declined the invitation. +# %2$S is the decline message supplied by the invitee. +conversation.message.invitationDeclined=Dhiùlt %1$S do chuireadh. +conversation.message.invitationDeclined.reason=Dhiùlt %1$S do chuireadh: %2$S + +# LOCALIZATION NOTE (conversation.message.banned.*): +# These are displayed as a system message when a participant is banned from +# a room. +# %1$S is the participant that is banned. +# %2$S is the reason. +# %3$S is the person who is banning. +conversation.message.banned=Chaidh %1$S thoirmeasg on t-seòmar. +conversation.message.banned.reason=Chaidh %1$S thoirmeasg on t-seòmar: %2$S +# %1$S is the person who is banning. +# %2$S is the participant that is banned. +# %3$S is the reason. +conversation.message.banned.actor=Thoirmisg %1$S %2$S on t-seòmar. +conversation.message.banned.actor.reason=Thoirmisg %1$S %2$S on t-seòmar: %3$S +conversation.message.banned.you=Chaidh do thoirmeasg on t-seòmar. +# %1$S is the reason. +conversation.message.banned.you.reason=Chaidh do thoirmeasg on t-seòmar: %1$S +# %1$S is the person who is banning. +# %2$S is the reason. +conversation.message.banned.you.actor=Thoirmisg %1$S thu on t-seòmar. +conversation.message.banned.you.actor.reason=Thoirmisg %1$S thu on t-seòmar: %2$S + +# LOCALIZATION NOTE (conversation.message.kicked.*): +# These are displayed as a system message when a participant is kicked from +# a room. +# %1$S is the participant that is kicked. +# %2$S is the reason. +conversation.message.kicked=Chaidh %1$S a bhreabadh às an t-seòmar. +conversation.message.kicked.reason=Chaidh %1$S a bhreabadh às an t-seòmar: %2$S +# %1$S is the person who is kicking. +# %2$S is the participant that is kicked. +# %3$S is the reason. +conversation.message.kicked.actor=Chaidh %2$S a bhreabadh às an t-seòmar le %1$S. +conversation.message.kicked.actor.reason=Chaidh %2$S a bhreabadh às an t-seòmar le %1$S: %3$S +conversation.message.kicked.you=Chaidh do bhreabadh às an t-seòmar. +# %1$S is the reason. +conversation.message.kicked.you.reason=Chaidh do bhreabadh às an t-seòmar: %1$S +# %1$S is the person who is kicking. +# %2$S is the reason. +conversation.message.kicked.you.actor=Chaidh do a bhreabadh às an t-seòmar le %1$S. +conversation.message.kicked.you.actor.reason=Chaidh do a bhreabadh às an t-seòmar le %1$S: %2$S + +# LOCALIZATION NOTE (conversation.message.removedNonMember.*): +# These are displayed as a system message when a participant is removed from +# a room because the room has been changed to members-only. +# %1$S is the participant that is removed. +# %2$S is the person who changed the room configuration. +conversation.message.removedNonMember=Chaidh %1$S a thoirt air falbh on t-seòmar oir chaidh atharrachadh is chan eil ceadaichte ann a-nis ach buill. +conversation.message.removedNonMember.actor=Chaidh %1$S a thoirt air falbh on t-seòmar oir chaidh atharrachadh le %2$S is chan eil ceadaichte ann a-nis ach buill.\u0020 +conversation.message.removedNonMember.you=Chaidh do thoirt air falbh on t-seòmar oir chaidh atharrachadh is chan eil ceadaichte ann a-nis ach buill.\u0020 +# %1$S is the person who changed the room configuration. +conversation.message.removedNonMember.you.actor=Chaidh do thoirt air falbh on t-seòmar oir chaidh atharrachadh le %1$S is chan eil ceadaichte ann a-nis ach buill.\u0020 + +# LOCALIZATION NOTE (conversation.message.MUCShutdown): +# These are displayed as a system message when a participant is removed from +# a room because of a system shutdown. +conversation.message.mucShutdown=Chaidh do thoirt air falbh on t-seòmar oir tha an siostam ’ga dhùnadh. + +# LOCALIZATION NOTE (conversation.message.version*): +# %1$S is the name of the user whose version was requested. +# %2$S is the client name response from the client. +# %3$S is the client version response from the client. +# %4$S is the operating system(OS) response from the client. +conversation.message.version=Tha %1$S a’ cleachdadh “%2$S %3$S”. +conversation.message.versionWithOS=Tha %1$S a’ cleachdadh “%2$S %3$S” air %4$S. + +# LOCALIZATION NOTE (options.*): +# These are the protocol specific options shown in the account manager and +# account wizard windows. +options.resource=Goireas +options.priority=Prìomhachas +options.connectionSecurity=Tèarainteachd a' cheangail +options.connectionSecurity.requireEncryption=Iarr crioptachadh +options.connectionSecurity.opportunisticTLS=Cleachd crioptachadh ma bhios e ri làimh +options.connectionSecurity.allowUnencryptedAuth=Leig leis am facal-faire a chur gun chrioptachadh +options.connectServer=Frithealaiche +options.connectPort=Port +options.domain=Àrainn + +# LOCALIZATION NOTE (*.protocolName) +# This name is used whenever the name of the protocol is shown. +gtalk.protocolName=Google Talk +odnoklassniki.protocolName=Odnoklassniki + +# LOCALIZATION NOTE (gtalk.disabled): +# Google Talk was disabled on June 16, 2022. The message below is a localized +# error message to be displayed to users with Google Talk accounts. +gtalk.disabled=Chan eil taic ri Google Talk tuilleadh a chionn ’s gun do chuir Google a’ chachaileith XMPP aca à comas. + +# LOCALIZATION NOTE (odnoklassniki.usernameHint): +# This is displayed inside the accountUsernameInfoWithDescription +# string defined in imAccounts.properties when the user is +# configuring a Odnoklassniki account. +odnoklassniki.usernameHint=ID na pròifil + +# LOCALZIATION NOTE (command.*): +# These are the help messages for each command. +command.join3=%S [<room>[@<server>][/<nick>]] [<password>]: Rach a-steach do sheòmar; ma thogras tu, le bhith a’ toirt seachad frithealaiche no far-ainm eile no facal-faire an t-seòmair. +command.part2=%S [<message>]: Fàg an seòmar làithreach le teachdaireachd roghainneil. +command.topic=%S [<new topic>]: Suidhich cuspair an t-seòmair seo. +command.ban=%S <nick>[<message>]: Toirmisg cuideigin on t-seòmar. Feumaidh tu a bhith ’nad rianaire mus urrainn dhut seo a dhèanamh. +command.kick=%S <nick>[<message>]: Toirmisg cuideigin on t-seòmar. Feumaidh tu a bhith ’nad mhodaratair mus urrainn dhut seo a dhèanamh. +command.invite=%S <jid>[<message>]: Thoir cuireadh do chleachdaiche gun t-seòmar làithreach le teachdaireachd roghainneil ’na chois. +command.inviteto=%S <room jid>[<password>]: Thoir cuireadh dhan neach-chòmhraidh eile a dhol a-steach do sheòmar, fo dhìon facail-fhaire, ma bhios feum air sin. +command.me=%S <action to perform>: Dèan gnìomh. +command.nick=%S <new nickname>: Atharraich am far-ainm agad. +command.msg=%S <nick> <message>: Cuir teachdaireachd phrìobhaideach gu cuideigin san t-seòmar. +command.version=%S: Iarr fiosrachadh mun chliant a tha an neach-còmhraidh eile a’ cleachdadh. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/yahoo.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/yahoo.properties new file mode 100644 index 0000000000000000000000000000000000000000..2394ba839db79cc91b3163de6827d9e408777f5b --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/chat/yahoo.properties @@ -0,0 +1,5 @@ +# 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/. + +yahoo.disabled=Chan eil taic ri Yahoo Messenger tuilleadh a chionn ’s gun do chuir Yahoo am pròtacal oighreachd aca à comas. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/communicator/utilityOverlay.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/communicator/utilityOverlay.dtd new file mode 100644 index 0000000000000000000000000000000000000000..91e2b23d571ab6c56b05ff030d701973ccc7a2cf --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/communicator/utilityOverlay.dtd @@ -0,0 +1,42 @@ +<!-- 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/. --> + +<!-- LOCALIZATION NOTE : FILE This file contains the global menu items --> + +<!ENTITY fileMenu.label "Faidhle"> +<!ENTITY fileMenu.accesskey "F"> +<!ENTITY newMenu.label "Ùr"> +<!ENTITY newMenu.accesskey "r"> + +<!ENTITY editMenu.label "Deasaich"> +<!ENTITY editMenu.accesskey "e"> +<!ENTITY undoCmd.label "Neo-dhèan"> +<!ENTITY undoCmd.accesskey "N"> +<!ENTITY redoCmd.label "Ath-dhèan"> +<!ENTITY redoCmd.accesskey "A"> +<!ENTITY deleteCmd.label "Sguab às"> +<!ENTITY deleteCmd.accesskey "S"> +<!ENTITY customizeCmd.label "Gnàthaich"> +<!ENTITY customizeCmd.accesskey "t"> + +<!ENTITY viewMenu.label "Sealladh"> +<!ENTITY viewMenu.accesskey "S"> +<!ENTITY viewToolbarsMenu.label "Na bàraichean-inneal"> +<!ENTITY viewToolbarsMenu.accesskey "N"> +<!ENTITY showTaskbarCmd.label "Bàr na staide"> +<!ENTITY showTaskbarCmd.accesskey "B"> + +<!ENTITY closeCmd.label "Dùin"> +<!ENTITY closeCmd.key "W"> +<!ENTITY closeCmd.accesskey "D"> + +<!ENTITY quitApplicationCmd.label "Fàg an-seo"> +<!ENTITY quitApplicationCmd.key "Q"> +<!ENTITY quitApplicationCmd.accesskey "F"> + +<!ENTITY quitApplicationCmdUnix.label "Fàg an-seo"> +<!ENTITY quitApplicationCmdUnix.accesskey "F"> + +<!ENTITY quitApplicationCmdMac.label "Fàg &brandShortName;"> +<!ENTITY quitApplicationCmdMac.accesskey "F"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/accessibility.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/accessibility.properties new file mode 100644 index 0000000000000000000000000000000000000000..8fce70ff46e3b1d306fb90b47a3476d74b18493b --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/accessibility.properties @@ -0,0 +1,314 @@ +# 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/. + +# LOCALIZATION NOTE These strings are used inside the Accessibility panel +# which is available from the Web Developer sub-menu -> 'Accessibility'. +# 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 Accessibility panel +# which is in the Developer Tools, available in the +# Browser Tools sub-menu -> 'Web Developer Tools' +# +# 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 (accessibility.role): A title text used for Accessibility +# tree header column that represents accessible element role. +accessibility.role=Role + +# LOCALIZATION NOTE (accessibility.name): A title text used for Accessibility +# tree header column that represents accessible element name. +accessibility.name=Name + +# LOCALIZATION NOTE (accessibility.logo): A title text used for Accessibility +# logo used on the accessibility panel landing page. +accessibility.logo=Accessibility Logo + +# LOCALIZATION NOTE (accessibility.properties): A title text used for header +# for Accessibility details sidebar. +accessibility.properties=Properties + +# LOCALIZATION NOTE (accessibility.treeName): A title text used for +# Accessibility tree (that represents accessible element name) container. +accessibility.treeName=Accessibility Tree + +# LOCALIZATION NOTE (accessibility.accessible.selectElement.title): A title text +# displayed on buttons next to accessible elements in the `relations` section, allowing the +# user to select the element in the accessibility tree. +accessibility.accessible.selectElement.title=Click to select the node in the Accessibility Tree + +# LOCALIZATION NOTE (accessibility.accessible.selectNodeInInspector.title): A title text +# displayed on buttons next to nodes in the sidebar, allowing the user to select the node +# in the Inspector panel. +accessibility.accessible.selectNodeInInspector.title=Click to select the node in the inspector + +# LOCALIZATION NOTE (accessibility.accessible.notAvailable): A title text +# displayed when accessible sidebar panel does not have an accessible object to +# display. +accessibility.accessible.notAvailable=Accessible Information Unavailable + +# LOCALIZATION NOTE (accessibility.enable): A title text for Enable +# accessibility button used to enable accessibility service. +accessibility.enable=Turn On Accessibility Features + +# LOCALIZATION NOTE (accessibility.enabling): A title text for Enable +# accessibility button used when accessibility service is being enabled. +accessibility.enabling=Turning on accessibility features… + +# LOCALIZATION NOTE (accessibility.disable): A title text for Disable +# accessibility button used to disable accessibility service. +accessibility.disable=Turn Off Accessibility Features + +# LOCALIZATION NOTE (accessibility.disabling): A title text for Disable +# accessibility button used when accessibility service is being +# disabled. +accessibility.disabling=Turning off accessibility features… + +# LOCALIZATION NOTE (accessibility.pick): A title text for Picker button +# button used to pick accessible objects from the page. +accessibility.pick=Pick accessible object from the page + +# LOCALIZATION NOTE (accessibility.disable.disabledTitle): A title text used for +# a tooltip for Disable accessibility button when accessibility service can not +# be disabled. It is the case when a user is using a 3rd party accessibility +# tool such as screen reader. +accessibility.disable.disabledTitle=Accessibility service can not be turned off. It is used outside Developer Tools. + +# LOCALIZATION NOTE (accessibility.disable.enabledTitle): A title text used for +# a tooltip for Disable accessibility button when accessibility service can be +# disabled. +accessibility.disable.enabledTitle=Accessibility service will be turned off for all tabs and windows. + +# LOCALIZATION NOTE (accessibility.enable.disabledTitle): A title text used for +# a tooltip for Enabled accessibility button when accessibility service can not +# be enabled. +accessibility.enable.disabledTitle=Accessibility service can not be turned on. It is turned off via accessibility services privacy preference. + +# LOCALIZATION NOTE (accessibility.enable.enabledTitle): A title text used for +# a tooltip for Enabled accessibility button when accessibility service can be +# enabled. +accessibility.enable.enabledTitle=Accessibility service will be turned on for all tabs and windows. + +# LOCALIZATION NOTE (accessibility.learnMore): A text that is used as is or as textual +# description in places that link to accessibility inspector documentation. +accessibility.learnMore=Learn more + +# LOCALIZATION NOTE (accessibility.description.general.p1): A title text for the first +# paragraph, used when accessibility service description is provided before accessibility +# inspector is enabled. %S in the content will be replaced by a link at run time +# with the accessibility.learnMore string. +accessibility.description.general.p1=Accessibility Inspector lets you examine the current page’s accessibility tree, which is used by screen readers and other assistive technologies. %S + +# LOCALIZATION NOTE (accessibility.description.general.p2): A title text for the second +# paragraph, used when accessibility service description is provided before accessibility +# inspector is enabled. +accessibility.description.general.p2=Accessibility features may affect the performance of other developer tools panels and should be turned off when not in use. + +# LOCALIZATION NOTE (accessibility.tree.menu.printToJSON): A title text used when a +# context menu item for printing an accessible tree to JSON is rendered after triggering a +# context menu for an accessible tree row. +accessibility.tree.menu.printToJSON=Print to JSON + +# LOCALIZATION NOTE (accessibility.checks): A title text used for header for checks +# section in Accessibility details sidebar. +accessibility.checks=Checks + +# LOCALIZATION NOTE (accessibility.checks.empty2): A title text used for indicating that +# accessibility checks for a node yielded no results and another node should be +# selected. +accessibility.checks.empty2=No checks for this node. + +# LOCALIZATION NOTE (accessibility.contrast.header): A title text used for header for +# checks related to color and contrast. +accessibility.contrast.header=Color and Contrast + +# LOCALIZATION NOTE (accessibility.contrast.error): A title text for the color +# contrast ratio, used when the tool is unable to calculate the contrast ratio value. +accessibility.contrast.error=Unable to calculate + +# LOCALIZATION NOTE (accessibility.contrast.large.text): A title text for the color +# contrast ratio label indicating that the color contrast criteria used is if for large +# text. This is lower case because it's used as a label for a tree item in accessibility +# tree. +accessibility.contrast.large.text=large text + +# LOCALIZATION NOTE (accessibility.contrast.large.title): A title text for the tooltip +# used for the large text label (see accessibility.contrast.large.text). +accessibility.contrast.large.title=Text is 14 point and bold or larger, or 18 point or larger. + +# LOCALIZATION NOTE (accessibility.contrast.annotation.AA): A title text for the paragraph +# describing that the given colour contrast satisfies AA standard from Web Content +# Accessibility Guidelines. %S in the content will be replaced by a link at run time +# with the accessibility.learnMore string. +accessibility.contrast.annotation.AA=Meets WCAG AA standards for accessible text. %S + +# LOCALIZATION NOTE (accessibility.contrast.annotation.AAA): A title text for the +# paragraph describing that the given colour contrast satisfies AAA standard from Web +# Content Accessibility Guidelines. %S in the content will be replaced by a link at run +# time with the accessibility.learnMore string. +accessibility.contrast.annotation.AAA=Meets WCAG AAA standards for accessible text. %S + +# LOCALIZATION NOTE (accessibility.contrast.annotation.FAIL): A title text for the +# paragraph describing that the given colour contrast fails to meet the minimum level from +# Web Content Accessibility Guidelines. %S in the content will be replaced by a link at +# run time with the accessibility.learnMore string. +accessibility.contrast.annotation.FAIL=Does not meet WCAG standards for accessible text. %S + +# LOCALIZATION NOTE (accessibility.contrast.annotation.transparent.error): A title text for the +# paragraph suggesting a fix for error in color contrast calculation for text nodes with zero alpha. +accessibility.contrast.annotation.transparent.error=Pick a color that is not transparent. + +# LOCALIZATION NOTE (accessibility.badges): A title text for the group of badges +# that are rendered for each accessible row within the accessibility tree when +# one or more accessibility checks fail. +accessibility.badges=Accessibility checks + +# LOCALIZATION NOTE (accessibility.filter.none): A title text for the filter +# that is rendered within the accessibility panel toolbar for a menu item that +# resets all filtering in tree, and for the simulation menu item that resets +# applied color matrices to the default matrix. +accessibility.filter.none=Chan eil gin + +# LOCALIZATION NOTE (accessibility.filter.all2): A title text for the filter +# that is rendered within the accessibility panel toolbar for a menu item that +# filters the tree based on all accessibility failures within it. +accessibility.filter.all2=All Issues + +# LOCALIZATION NOTE (accessibility.filter.contrast): A title text for the filter +# that is rendered within the accessibility panel toolbar for a menu item that +# filters the tree based on contrast accessibility failures within it. +accessibility.filter.contrast=Contrast + +# LOCALIZATION NOTE (accessibility.filter.textLabel): A title text for the filter +# that is rendered within the accessibility panel toolbar for a menu item that +# filters the tree based on text label and name accessibility failures within it. +accessibility.filter.textLabel=Text Labels + +# LOCALIZATION NOTE (accessibility.filter.keyboard): A title text for the filter +# that is rendered within the accessibility panel toolbar for a menu item that +# filters the tree based on keyboard accessibility failures within it. +accessibility.filter.keyboard=Keyboard + +# LOCALIZATION NOTE (accessibility.badge.contrast): A title text for the badge +# that is rendered within the accessible row in the accessibility tree for a +# given accessible object that does not satisfy the WCAG guideline for colour +# contrast. +accessibility.badge.contrast=contrast + +# LOCALIZATION NOTE (accessibility.badge.contrast.warning): A label for the +# badge and attached warning icon that is rendered within the accessible row in +# the accessibility tree for a given accessible object that does not satisfy the +# WCAG guideline for colour contrast. +accessibility.badge.contrast.warning=contrast warning + +# LOCALIZATION NOTE (accessibility.badge.keyboard): A title text for the +# badge that is rendered within the accessible row in the accessibility tree for +# a given accessible object that does not satisfy the WCAG guideline for +# keyboard accessibility. +accessibility.badge.keyboard=keyboard + +# LOCALIZATION NOTE (accessibility.badge.textLabel): A title text for the +# badge that is rendered within the accessible row in the accessibility tree for +# a given accessible object that does not satisfy the WCAG guideline for text +# alternative. +accessibility.badge.textLabel=text label + +# LOCALIZATION NOTE (accessibility.badge.contrast.tooltip): A title text for the +# badge tooltip that is rendered on mouse hover over the badge in the accessible +# row in the accessibility tree for a given accessible object that does not +# satisfy the WCAG guideline for colour contrast. +accessibility.badge.contrast.tooltip=Does not meet WCAG standards for accessible text. + +# LOCALIZATION NOTE (accessibility.badge.keyboard.tooltip): A title text +# for the badge tooltip that is rendered on mouse hover over the badge in the +# accessible row in the accessibility tree for a given accessible object that +# does not satisfy the WCAG guideline for keyboard accessibility. +accessibility.badge.keyboard.tooltip=Does not meet WCAG standards for keyboard accessibility. + +# LOCALIZATION NOTE (accessibility.badge.textLabel.tooltip): A title text +# for the badge tooltip that is rendered on mouse hover over the badge in the +# accessible row in the accessibility tree for a given accessible object that +# does not satisfy the WCAG guideline for text alternative. +accessibility.badge.textLabel.tooltip=Does not meet WCAG standards for text alternative. + +# LOCALIZATION NOTE (accessibility.tree.filters): A title text for the toolbar +# within the main accessibility panel that contains a list of filters to be for +# accessibility audit. +accessibility.tree.filters=Check for issues: + +# LOCALIZATION NOTE (accessibility.tree.filters.prefs): A title text for the +# preferences button tooltip that contains preferences for accessibility audit. +accessibility.tree.filters.prefs=Configure preferences + +# LOCALIZATION NOTE (accessibility.progress.initializing): A title text for the +# accessibility panel overlay shown when accessibility audit is starting up. +accessibility.progress.initializing=Initializing… + +# LOCALIZATION NOTE (accessibility.progress.initializing): A title text for the +# accessibility panel overlay shown when accessibility audit is running showing +# the number of nodes being audited. Semi-colon list of plural forms. See: +# http://developer.mozilla.org/en/docs/Localization_and_Plurals +accessibility.progress.progressbar=Checking #1 node;Checking #1 nodes;Checking #1 nodes;Checking #1 nodes + +# LOCALIZATION NOTE (accessibility.progress.finishing): A title text for the +# accessibility panel overlay shown when accessibility audit is finishing up. +accessibility.progress.finishing=Finishing up… + +# LOCALIZATION NOTE (accessibility.pref.scroll.into.view.title): A title +# text for the tooltip for the checkbox pref in the accessibility panel that +# sets node auto scroll. +accessibility.pref.scroll.into.view.title=Automatically scroll selected node into view + +# LOCALIZATION NOTE (accessibility.pref.scroll.into.view.label): A title +# text for the checkbox pref in the accessibility panel that sets node auto +# scroll. +accessibility.pref.scroll.into.view.label=Scroll into view + +# LOCALIZATION NOTE (accessibility.documentation.label): This is the label for +# the Documentation menu item. +accessibility.documentation.label=Documentation… + +# LOCALIZATION NOTE (accessibility.simulation): A title text for the toolbar +# within the main accessibility panel that contains a list of simulations for +# vision deficiencies. +accessibility.simulation=Simulate: + +# LOCALIZATION NOTE (accessibility.simulation.protanopia): This label is shown +# in the "Simulate" menu in the accessibility panel and represent the protanopia simulation option. +accessibility.simulation.protanopia=Protanopia (no red) + +# LOCALIZATION NOTE (accessibility.simulation.deuteranopia): This label is shown +# in the "Simulate" menu in the accessibility panel and represent the deuteranopia simulation option. +accessibility.simulation.deuteranopia=Deuteranopia (no green) + +# LOCALIZATION NOTE (accessibility.simulation.tritanopia): This label is shown +# in the "Simulate" menu in the accessibility panel and represent the tritanopia simulation option. +accessibility.simulation.tritanopia=Tritanopia (no blue) + +# LOCALIZATION NOTE (accessibility.simulation.contrastLoss): This label is shown +# in the "Simulate" menu in the accessibility panel and represent the contrast loss simulation option. +# It is also shown in the simulation menu button in the accessibility panel and represent the +# contrast loss simulation option currently selected. +accessibility.simulation.contrastLoss=Contrast loss + +# LOCALIZATION NOTE (accessibility.simulation.achromatopsia): This label is shown +# in the "Simulate" menu in the accessibility panel and represent the achromatopsia simulation option. +accessibility.simulation.achromatopsia=Achromatopsia (no color) + +# LOCALIZATION NOTE (accessibility.toolbar.displayTabbingOrder.label): A title text for a checkbox label +# in the accessibility panel toolbar that turns on/off the overlay of focusable elements in their +# tabbing order. +accessibility.toolbar.displayTabbingOrder.label=Show Tabbing Order + +# LOCALIZATION NOTE (accessibility.toolbar.displayTabbingOrder.tooltip): A title text for a checkbox +# tooltip in the accessibility panel toolbar that turns on/off the overlay of focusable elements in +# their tabbing order. +accessibility.toolbar.displayTabbingOrder.tooltip=Show tabbing order of elements and their tabbing index. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/animationinspector.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/animationinspector.properties new file mode 100644 index 0000000000000000000000000000000000000000..602c1d6a547844398191907b84c590eb86d8dcc0 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/animationinspector.properties @@ -0,0 +1,183 @@ +# 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/. + +# LOCALIZATION NOTE These strings are used inside the Animation inspector +# which is available as a sidebar panel in the Inspector. +# 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 (panel.noAnimation): +# This is the label shown in the panel when there are no displayable animations. +# (e.g. In case of user selected a non-element node or a node that is not animated). +panel.noAnimation=No animations were found for the current element.\nPick another element from the page. + +# LOCALIZATION NOTE (player.animationDurationLabel): +# This string is displayed in each animation player widget. It is the label +# displayed before the animation duration. +player.animationDurationLabel=Duration: + +# LOCALIZATION NOTE (player.infiniteDurationText): +# This string is displayed in a tooltip on animation player widget, in case the +# duration of the animation is infinite. +player.infiniteDurationText=∞ + +# LOCALIZATION NOTE (player.animationDelayLabel): +# This string is displayed in each animation player widget. It is the label +# displayed before the animation delay. +player.animationDelayLabel=Delay: + +# LOCALIZATION NOTE (player.animationEndDelayLabel): +# This string is displayed in each animation player widget. It is the label +# displayed before the animation endDelay. +player.animationEndDelayLabel=End delay: + +# LOCALIZATION NOTE (player.animationRateLabel): +# This string is displayed in each animation player widget. It is the label +# displayed before the animation playback rate. +player.animationRateLabel=Reat na cluiche: + +# LOCALIZATION NOTE (player.animationIterationCountLabel): +# This string is displayed in each animation player widget. It is the label +# displayed before the number of times the animation is set to repeat. +player.animationIterationCountLabel=Repeats: + +# LOCALIZATION NOTE (player.infiniteIterationCount): +# In case the animation repeats infinitely, this string is displayed next to the +# player.animationIterationCountLabel string, instead of a number. +player.infiniteIterationCount=∞ + +# LOCALIZATION NOTE (player.infiniteIterationCountText): +# See player.infiniteIterationCount for a description of what this is. +# Unlike player.infiniteIterationCount, this string isn't used in HTML, but in +# a tooltip. +player.infiniteIterationCountText=∞ + +# LOCALIZATION NOTE (player.animationIterationStartLabel2): +# This string is displayed in a tooltip that appears when hovering over +# animations in the timeline. It is the label displayed before the animation +# iterationStart value. +# %1$S will be replaced by the original iteration start value +# %2$S will be replaced by the actual time of iteration start without time unit +# e.g. +# If iterationStart of animation is 0.5 and duration is 1 sec, the string will be +# "Iteration start: 0.5 (0.5s)" +player.animationIterationStartLabel2=Iteration start: %1$S (%2$S) + +# LOCALIZATION NOTE (player.animationOverallEasingLabel): +# This string is displayed in a tooltip that appears when hovering over +# animations in the timeline. It is the label displayed before the easing +# that applies to a whole iteration of an animation as opposed to the +# easing that applies between animation keyframes. +player.animationOverallEasingLabel=Easing air fheadh: + +# LOCALIZATION NOTE (player.animationTimingFunctionLabel): +# This string is displayed in a tooltip that appears when hovering over +# animations in the timeline. It is the label displayed before the +# animation-timing-function for CSS Animations. +player.animationTimingFunctionLabel=Animation timing function: + +# LOCALIZATION NOTE (player.animationFillLabel): +# This string is displayed in a tooltip that appears when hovering over +# animations in the timeline. It is the label displayed before the animation +# fill mode value. +player.animationFillLabel=Lìonadh: + +# LOCALIZATION NOTE (player.animationDirectionLabel): +# This string is displayed in a tooltip that appears when hovering over +# animations in the timeline. It is the label displayed before the animation +# direction value. +player.animationDirectionLabel=Comhair: + +# LOCALIZATION NOTE (player.timeLabel): +# This string is displayed in each animation player widget, to indicate either +# how long (in seconds) the animation lasts, or what is the animation's current +# time (in seconds too); +player.timeLabel=%Ss + +# LOCALIZATION NOTE (player.infiniteDurationText): +# This string is displayed in animation player widget, in case the duration of the +# animation is infinite. +player.infiniteTimeLabel=∞ + +# LOCALIZATION NOTE (player.playbackRateLabel): +# This string is displayed in each animation player widget, as the label of +# drop-down list items that can be used to change the rate at which the +# animation runs (1× being the default, 2× being twice as fast). +player.playbackRateLabel=%S× + +# LOCALIZATION NOTE (player.runningOnCompositorTooltip): +# This string is displayed as a tooltip for the icon that indicates that the +# animation is running on the compositor thread. +player.runningOnCompositorTooltip=This animation is running on compositor thread + +# LOCALIZATION NOTE (player.allPropertiesOnCompositorTooltip): +# This string is displayed as a tooltip for the icon that indicates that +# all of animation is running on the compositor thread. +player.allPropertiesOnCompositorTooltip=All animation properties are optimized + +# LOCALIZATION NOTE (player.somePropertiesOnCompositorTooltip): +# This string is displayed as a tooltip for the icon that indicates that +# all of animation is not running on the compositor thread. +player.somePropertiesOnCompositorTooltip=Some animation properties are optimized + +# LOCALIZATION NOTE (timeline.pausedButtonTooltip): +# This string is displayed in the timeline toolbar, as the tooltip of the +# pause/resume button that can be used to pause or resume the animations +timeline.pausedButtonTooltip=Resume the animations + +# LOCALIZATION NOTE (timeline.resumedButtonTooltip): +# This string is displayed in the timeline toolbar, as the tooltip of the +# pause/resume button that can be used to pause or resume the animations +timeline.resumedButtonTooltip=Pause the animations + +# LOCALIZATION NOTE (timeline.rewindButtonTooltip): +# This string is displayed in the timeline toolbar, as the tooltip of the +# rewind button that can be used to rewind the animations +timeline.rewindButtonTooltip=Rewind the animations + +# LOCALIZATION NOTE (timeline.timeGraduationLabel): +# This string is displayed at the top of the animation panel, next to each time +# graduation, to indicate what duration (in milliseconds) this graduation +# corresponds to. +timeline.timeGraduationLabel=%Sms + +# LOCALIZATION NOTE (timeline.cssanimation.nameLabel): +# This string is displayed in a tooltip of the animation panel that is shown +# when hovering over the name of a CSS Animation in the timeline UI. +# %S will be replaced by the name of the animation at run-time. +timeline.cssanimation.nameLabel=%S - CSS Animation + +# LOCALIZATION NOTE (timeline.csstransition.nameLabel): +# This string is displayed in a tooltip of the animation panel that is shown +# when hovering over the name of a CSS Transition in the timeline UI. +# %S will be replaced by the name of the transition at run-time. +timeline.csstransition.nameLabel=%S - CSS Transition + +# LOCALIZATION NOTE (timeline.scriptanimation.nameLabel): +# This string is displayed in a tooltip of the animation panel that is shown +# when hovering over the name of a script-generated animation in the timeline UI. +# %S will be replaced by the name of the animation at run-time. +timeline.scriptanimation.nameLabel=%S - Script Animation + +# LOCALIZATION NOTE (timeline.scriptanimation.unnamedLabel): +# This string is displayed in a tooltip of the animation panel that is shown +# when hovering over an unnamed script-generated animation in the timeline UI. +timeline.scriptanimation.unnamedLabel=Script Animation + +# LOCALIZATION NOTE (timeline.unknown.nameLabel): +# This string is displayed in a tooltip of the animation panel that is shown +# when hovering over the name of an unknown animation type in the timeline UI. +# This can happen if devtools couldn't figure out the type of the animation. +# %S will be replaced by the name of the transition at run-time. +timeline.unknown.nameLabel=%S + +# LOCALIZATION NOTE (detail.propertiesHeader.percentage): +# This string is displayed on header label in .animated-properties-header. +# %S represents the value in percentage with two decimal points, localized. +# there are two "%" after %S to escape and display "%" +detail.propertiesHeader.percentage=%S%% + diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/boxmodel.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/boxmodel.properties new file mode 100644 index 0000000000000000000000000000000000000000..931b802a14e4c2d17d7c6310c5c99b99b6c0b377 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/boxmodel.properties @@ -0,0 +1,47 @@ +# 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/. + +# LOCALIZATION NOTE : FILE This file contains the Layout View strings. +# The Layout View is a panel displayed in the computed view tab of the Inspector sidebar. + +# LOCALIZATION NOTE : FILE 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 (boxmodel.title) This is the title of the box model panel and is +# displayed as a label. +boxmodel.title=Box Model + +# LOCALIZATION NOTE: (boxmodel.geometryButton.tooltip) This label is displayed as a +# tooltip that appears when hovering over the button that allows users to edit the +# position of an element in the page. +boxmodel.geometryButton.tooltip=Edit position + +# LOCALIZATION NOTE: (boxmodel.propertiesLabel) This label is displayed as the header +# for showing and collapsing the properties underneath the box model in the layout view +boxmodel.propertiesLabel=Roghainnean modail a’ bhogsa + +# LOCALIZATION NOTE (boxmodel.propertiesHideLabel): +# This is the spoken label for the twisty. +# If the properties are currently showing, it will say "Hide". +boxmodel.propertiesHideLabel=Hide + +# LOCALIZATION NOTE (boxmodel.propertiesShowLabel): +# This is the spoken label for the twisty. +# If the properties are currently hidden, it will say "Show". +boxmodel.propertiesShowLabel=Show + +# LOCALIZATION NOTE: (boxmodel.offsetParent) This label is displayed inside the list of +# properties, below the box model, in the layout view. It is displayed next to the +# position property, when position is absolute, relative, sticky. This label tells users +# what the DOM node previewed next to it is: an offset parent for the position element. +boxmodel.offsetParent=offset + +# LOCALIZATION NOTE: (boxmodel.offsetParent.title) This label is displayed as a +# tooltip that appears when hovering over the offset label, inside the list of properties, +# below the box model, in the layout view. This label tells users +# what the DOM node previewed next to it is: an offset parent for the position element. +boxmodel.offsetParent.title=Offset parent of the selected element diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/changes.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/changes.properties new file mode 100644 index 0000000000000000000000000000000000000000..dc75955b37bb7859c7293a7d1fe29ac87438491a --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/changes.properties @@ -0,0 +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/. + +# LOCALIZATION NOTE This file contains the strings for the Changes panel accessible from +# the Inspector sidebar. + +# LOCALIZATION NOTE (changes.noChanges): This text is shown when no changes are available. +changes.noChanges=No changes found. + +# LOCALIZATION NOTE (changes.noChangesDescription): This text is shown when no changes are +# available and provides additional context for the purpose of the Changes panel. +changes.noChangesDescription=Changes to CSS in Inspector will appear here. + +# LOCALIZATION NOTE (changes.inlineStyleSheetLabel): This label appears in the Changes +# panel above changes done to inline stylesheets. The variable will be replaced with the +# index of the stylesheet within its document like so: Inline #1 +changes.inlineStyleSheetLabel=Inline %S + +# LOCALIZATION NOTE (changes.elementStyleLabel): This label appears in the Changes +# panel above changes done to element styles. +changes.elementStyleLabel=Element + +# LOCALIZATION NOTE (changes.iframeLabel): This label appears next to URLs of stylesheets +# and element inline styles hosted by iframes. Lowercase intentional. +changes.iframeLabel=iframe + +# LOCALIZATION NOTE (changes.contextmenu.copy): Label for "Copy" option in Changes panel +# context menu +changes.contextmenu.copy=Copy + +# LOCALIZATION NOTE (changes.contextmenu.copy.accessKey): Access key for "Copy" +# option in the Changes panel. +changes.contextmenu.copy.accessKey=C + +# LOCALIZATION NOTE (changes.contextmenu.copyAllChanges): Label for "Copy All Changes" +# option in Changes panel context menu which copies all changed CSS declarations from a +# stylesheet +changes.contextmenu.copyAllChanges=Copy All Changes + +# LOCALIZATION NOTE (changes.contextmenu.copyAllChangesDescription): Detailed explanation +# for "Copy All Changes" option in Changes panel. Used as title attribute on "Copy All +# Changes" button +changes.contextmenu.copyAllChangesDescription=Copy a list of all CSS changes to clipboard. + +# LOCALIZATION NOTE (changes.contextmenu.copyDeclaration): Label for "Copy Declaration" +# option in Changes panel context menu which copies the target CSS declaration. +changes.contextmenu.copyDeclaration=Copy Declaration + +# LOCALIZATION NOTE (changes.contextmenu.copyRule): Label for "Copy Rule" option in +# Changes panel context menu which copies the complete contents of a CSS rule. +changes.contextmenu.copyRule=Copy Rule + +# LOCALIZATION NOTE (changes.contextmenu.copyRuleDescription): Detailed explanation for +# "Copy Rule" option in Changes panel. Used as title attribute on "Copy Rule" button. +changes.contextmenu.copyRuleDescription=Copy contents of this CSS rule to clipboard. + +# LOCALIZATION NOTE (changes.contextmenu.selectAll): Label for "Select All" option in the +# Changes panel context menu to select all text content. +changes.contextmenu.selectAll=Select All + +# LOCALIZATION NOTE (changes.contextmenu.selectAll.accessKey): Access key for "Select All" +# option in the Changes panel. +changes.contextmenu.selectAll.accessKey=A diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/components.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/components.properties new file mode 100644 index 0000000000000000000000000000000000000000..aa98ec0b7ed619406b5bb4b2a8809f2825934d81 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/components.properties @@ -0,0 +1,49 @@ +# 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/. + +# LOCALIZATION NOTE These strings are used in the shared React components, +# so files in `devtools/client/shared/components/*`. + +# LOCALIZATION NOTE (frame.unknownSource): When we do not know the source filename of +# a frame, we use this string instead. +frame.unknownSource=(neo-aithnichte) + +# LOCALIZATION NOTE (frame.viewsourceindebugger): The label for the tooltip when hovering over +# a source link that links to the debugger. +# %S represents the URL to match in the debugger. +frame.viewsourceindebugger=View source in Debugger → %S + +# LOCALIZATION NOTE (frame.viewsourceinstyleeditor): The label for the tooltip when hovering over +# a source link that links to the Style Editor. +# %S represents the URL to match in the style editor. +frame.viewsourceinstyleeditor=View source in Style Editor → %S + +# LOCALIZATION NOTE (notificationBox.closeTooltip): The content of a tooltip that +# appears when hovering over the close button in a notification box. +notificationBox.closeTooltip=Close this message + +# LOCALIZATION NOTE (appErrorBoundary.description): This is the information displayed +# once the panel errors. +# %S represents the name of panel which has the crash. +appErrorBoundary.description=The %S panel has crashed. + +# LOCALIZATION NOTE (appErrorBoundary.fileBugButton): This is the text that appears in +# the button to visit the bug filing link. +appErrorBoundary.fileBugButton=File Bug Report + +# LOCALIZATION NOTE (appErrorBoundary.reloadPanelInfo): This is the text that appears +# after the panel errors to instruct the user to reload the panel. +appErrorBoundary.reloadPanelInfo=Close and reopen the toolbox to clear this error. + +# LOCALIZATION NOTE(searchModifier.regExpModifier): A search option +# when searching text in a file +searchModifier.regExpModifier=Use Regular Expression + +# LOCALIZATION NOTE(searchModifier.caseSensitiveModifier): A search option +# when searching text in a file +searchModifier.caseSensitiveModifier=Match Case + +# LOCALIZATION NOTE(searchModifier.wholeWordModifier): A search option +# when searching text in a file +searchModifier.wholeWordModifier=Match Whole Word diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/debugger.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/debugger.properties new file mode 100644 index 0000000000000000000000000000000000000000..06c272524b244efc55685e7b1a77c42fc0ddbf8d --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/debugger.properties @@ -0,0 +1,1076 @@ +# 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/. + +# 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. +# 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 (collapseSources): This is the tooltip for the button +# that collapses the Sources and Outlines panes in the debugger UI. +collapseSources=Collapse Sources and Outline panes + +# LOCALIZATION NOTE (collapseBreakpoints): This is the tooltip for the button +# that collapses the Breakpoints panes in the debugger UI. +collapseBreakpoints=Collapse Breakpoints pane + +# LOCALIZATION NOTE (copyToClipboard.label): This is the text that appears in the +# context menu to copy the text that the user selected. +copyToClipboard.label=Copy to clipboard +copyToClipboard.accesskey=C + +# LOCALIZATION NOTE (copySource.label): This is the text that appears in the +# context menu to copy all of the text in the open file. +copySource.label=Copy source text +copySource.accesskey=y + +# LOCALIZATION NOTE (copySourceUri2): This is the text that appears in the +# context menu to copy the source URI of file open. +copySourceUri2=Copy source URI +copySourceUri2.accesskey=u + +# LOCALIZATION NOTE (collapseAll.label): This is the text that appears in the +# context menu to collapse a directory and all of its subdirectories. +collapseAll.label=Collapse all + +# LOCALIZATION NOTE (expandAll.label): This is the text that appears in the +# context menu to expand a directory and all of its subdirectories. +expandAll.label=Expand all + +# LOCALIZATION NOTE (setDirectoryRoot.label): This is the text that appears in the +# context menu to set a directory as root directory +setDirectoryRoot.label=Set directory root +setDirectoryRoot.accesskey=r + +# LOCALIZATION NOTE (removeDirectoryRoot.label): This is the text that appears in the +# context menu to remove a directory as root directory +removeDirectoryRoot.label=Remove directory root + +# LOCALIZATION NOTE (ignoreAll.label): Text associated with the ignore context menu item +ignoreAll.label=Ignore + +# LOCALIZATION NOTE (ignoreAllInGroup.label): This is the text that appears in the +# context submenu to ignore all files inside of the selected group +ignoreAllInGroup.label=Ignore files in this group + +# LOCALIZATION NOTE (unignoreAllInGroup.label): This is the text that appears in the +# context submenu to unignore all files inside of the selected group +unignoreAllInGroup.label=Unignore files in this group + +# LOCALIZATION NOTE (ignoreAllOutsideGroup.label): This is the text that appears in the +# context submenu to ignore all files outside of the selected group +ignoreAllOutsideGroup.label=Ignore files outside this group + +# LOCALIZATION NOTE (unignoreAllOutsideGroup.label): This is the text that appears in the +# context submenu to unignore all files outside of the selected group +unignoreAllOutsideGroup.label=Unignore files outside this group + +# LOCALIZATION NOTE (ignoreAllInDir.label): This is the text that appears in the +# context submenu to ignore all files inside of the selected directory +ignoreAllInDir.label=Ignore files in this directory + +# LOCALIZATION NOTE (unignoreAllInDir.label): This is the text that appears in the +# context submenu to unignore all files inside of the selected directory +unignoreAllInDir.label=Unignore files in this directory + +# LOCALIZATION NOTE (ignoreAllOutsideDir.label): This is the text that appears in the +# context submenu to ignore all files outside of the selected directory +ignoreAllOutsideDir.label=Ignore files outside this directory + +# LOCALIZATION NOTE (unignoreAllOutsideDir.label: This is the text that appears in the +# context submenu to unignore all files outside of the selected directory +unignoreAllOutsideDir.label=Unignore files outside this directory + +# LOCALIZATION NOTE (copyFunction.label): This is the text that appears in the +# context menu to copy the function the user selected +copyFunction.label=Copy function +copyFunction.accesskey=F + +# LOCALIZATION NOTE (copyStackTrace): This is the text that appears in the +# context menu to copy the stack trace methods, file names and row number. +copyStackTrace=Copy Stack Trace +copyStackTrace.accesskey=c + +# LOCALIZATION NOTE (restartFrame): This is the text that appears in the +# context menu to restart a frame. +restartFrame=Restart frame +restartFrame.accesskey=r + +# LOCALIZATION NOTE (expandSources): This is the tooltip for the button +# that expands the Sources and Outlines panes in the debugger UI. +expandSources=Expand Sources and Outline panes + +# LOCALIZATION NOTE (expandBreakpoints): This is the tooltip for the button +# that expands the Breakpoints panes in the debugger UI. +expandBreakpoints=Expand Breakpoints pane + +# LOCALIZATION NOTE (evaluateInConsole.label): Editor right-click menu item +# to execute selected text in browser console. +evaluateInConsole.label=Evaluate in console + +# LOCALIZATION NOTE (pauseButtonTooltip): The tooltip that is displayed for the pause +# button when the debugger is in a running state. +pauseButtonTooltip=Pause %S + +# LOCALIZATION NOTE (pausePendingButtonTooltip): The tooltip that is displayed for +# the pause button after it's been clicked but before the next JavaScript to run. +pausePendingButtonTooltip=Waiting for next execution + +# 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). +startTraceButtonTooltip=Trace all JavaScript frames to %S.\nRight click to change the output. + +# 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. +stopTraceButtonTooltip=Stop tracing JavaScript frames. + +# 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. +traceInWebConsole=Trace 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. +traceInStdout=Trace in the stdout + +# LOCALIZATION NOTE (resumeButtonTooltip): The label that is displayed on the pause +# button when the debugger is in a paused state. +resumeButtonTooltip=Resume %S + +# LOCALIZATION NOTE (stepOverTooltip): The label that is displayed on the +# button that steps over a function call. +stepOverTooltip=Step Over %S + +# LOCALIZATION NOTE (stepInTooltip): The label that is displayed on the +# button that steps into a function call. +stepInTooltip=Step In %S + +# LOCALIZATION NOTE (stepOutTooltip): The label that is displayed on the +# button that steps out of a function call. +stepOutTooltip=Step Out %S + +# LOCALIZATION NOTE (skipPausingTooltip.label): The tooltip text for disabling all +# breakpoints and pausing triggers +skipPausingTooltip.label=Deactivate breakpoints + +# LOCALIZATION NOTE (undoSkipPausingTooltip.label): The tooltip text for enabling all +# breakpoints and pausing triggers +undoSkipPausingTooltip.label=Activate breakpoints + +# LOCALIZATION NOTE (pauseOnExceptionsItem2): The pause on exceptions checkbox description +# when the debugger will pause on all exceptions. +pauseOnExceptionsItem2=Pause on exceptions + +# LOCALIZATION NOTE (pauseOnCaughtExceptionsItem): The pause on exceptions checkbox description +# when the debugger should pause on caught exceptions +pauseOnCaughtExceptionsItem=Pause on caught exceptions + +# LOCALIZATION NOTE (threadsHeader): The text to describe the threads header +threadsHeader=Threads + +# LOCALIZATION NOTE (mainThread): The text to describe the thread of the +# program as opposed to worker threads. +mainThread=Main Thread + +# LOCALIZATION NOTE (noSourcesText): The text to display in the sources list +# when there are no sources. +noSourcesText=This page has no sources. + +# LOCALIZATION NOTE (ignoredSourcesHidden): Notification message displayed in the +# sources list footer when ignored sources are hidden. +ignoredSourcesHidden=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. +showIgnoredSources=Show all sources + +# 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. +showIgnoredSources.tooltip.label=This will show all the ignored sources (which are currently hidden) in the tree. + +# LOCALIZATION NOTE (eventListenersHeader1): The text to display in the events +# header. +eventListenersHeader1=Event Listener Breakpoints + +# LOCALIZATION NOTE (noDomMutationBreakpoints): The text to +# display in the DOM Mutation Breakpoints pane when there are no events. +# %S will be replaced by an active link using inspectorTool as text +noDomMutationBreakpoints=Right click an element in the %S and select “Break on…” to add a breakpoint + +# LOCALIZATION NOTE (inspectorTool): The text to describe the the Inspector tool +inspectorTool=Inspector + +# LOCALIZATION NOTE (eventListenersHeader1.placeholder): The placeholder text in +# the event search input bar +eventListenersHeader1.placeholder=Filter by event type + +# LOCALIZATION NOTE (domMutationHeader): The text to display in the +# DOM Mutation Breakpoints header +domMutationHeader=DOM Mutation Breakpoints + +# LOCALIZATION NOTE (domMutationTypes.attribute): The text to display in the +# DOM Mutation Breakpoints panel for an attribute change +domMutationTypes.attribute=Attribute Modification + +# LOCALIZATION NOTE (domMutationTypes.removal): The text to display in the +# DOM Mutation Breakpoints panel for a DOM node removal +domMutationTypes.removal=Node Removal + +# LOCALIZATION NOTE (domMutationTypes.subtree): The text to display in the +# DOM Mutation Breakpoints panel for a DOM subtree change +domMutationTypes.subtree=Subtree Modification + +# LOCALIZATION NOTE (sources.search.key2): Key shortcut to open the search for +# searching all the source files the debugger has seen. +# Do not localize "CmdOrCtrl+P", or change the format of the string. These are +# key identifiers, not messages displayed to the user. +sources.search.key2=CmdOrCtrl+P + +# LOCALIZATION NOTE (sources.search.alt.key): A second key shortcut to open the +# search for searching all the source files the debugger has seen. +# Do not localize "CmdOrCtrl+O", or change the format of the string. These are +# key identifiers, not messages displayed to the user. +sources.search.alt.key=CmdOrCtrl+O + +# LOCALIZATION NOTE (projectTextSearch.key): A key shortcut to open the +# full project text search for searching all the files the debugger has seen. +# Do not localize "CmdOrCtrl+Shift+F", or change the format of the string. These are +# key identifiers, not messages displayed to the user. +projectTextSearch.key=CmdOrCtrl+Shift+F + +# LOCALIZATION NOTE (allShortcut.key): A key shortcut to open the +# modal of full shortcuts list. +# Do not localize "CmdOrCtrl+/", or change the format of the string. These are +# key identifiers, not messages displayed to the user. +allShortcut.key=CmdOrCtrl+/ + +# LOCALIZATION NOTE (functionSearch.key): A key shortcut to open the +# modal for searching functions in a file. +# Do not localize "CmdOrCtrl+Shift+O", or change the format of the string. These are +# key identifiers, not messages displayed to the user. +functionSearch.key=CmdOrCtrl+Shift+O + +# LOCALIZATION NOTE (toggleBreakpoint.key): A key shortcut to toggle +# breakpoints. +# Do not localize "CmdOrCtrl+B", or change the format of the string. These are +# key identifiers, not messages displayed to the user. +toggleBreakpoint.key=CmdOrCtrl+B + +# LOCALIZATION NOTE (toggleCondPanel.breakpoint.key): A key shortcut to toggle +# the conditional panel for breakpoints. +# Do not localize "CmdOrCtrl+Shift+B", or change the format of the string. These are +# key identifiers, not messages displayed to the user. +toggleCondPanel.breakpoint.key=CmdOrCtrl+Shift+B + +# LOCALIZATION NOTE (toggleCondPanel.logPoint.key): A key shortcut to toggle +# the conditional panel for log points. +# Do not localize "CmdOrCtrl+Shift+Y", or change the format of the string. These are +# key identifiers, not messages displayed to the user. +toggleCondPanel.logPoint.key=CmdOrCtrl+Shift+Y + +# LOCALIZATION NOTE (stepOut.key): A key shortcut to +# step out. +stepOut.key=Shift+F11 + +# LOCALIZATION NOTE (shortcuts.header.editor): Sections header in +# the shortcuts modal for keyboard shortcuts related to editing. +shortcuts.header.editor=Editor + +# LOCALIZATION NOTE (shortcuts.header.stepping): Sections header in +# the shortcuts modal for keyboard shortcuts related to stepping. +shortcuts.header.stepping=Stepping + +# LOCALIZATION NOTE (shortcuts.header.search): Sections header in +# the shortcuts modal for keyboard shortcuts related to search. +shortcuts.header.search=Search + +# LOCALIZATION NOTE (projectTextSearch.placeholder): A placeholder shown +# when searching across all of the files in a project. +projectTextSearch.placeholder=Find in files… + +# LOCALIZATION NOTE (projectTextSearch.excludePatterns.label): A label shown +# above the exclude patterns field when searching across all of the files in a project. +projectTextSearch.excludePatterns.label=files to exclude + +# LOCALIZATION NOTE (projectTextSearch.excludePatterns.placeholder): A placeholder shown +# for the exclude patterns field when searching across all of the files in a project. +projectTextSearch.excludePatterns.placeholder=e.g. **/node_modules/**,app.js + +# 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=No results found + +# 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 +# key identifiers, not messages displayed to the user. +sourceSearch.search.key2=CmdOrCtrl+F + +# LOCALIZATION NOTE (sourceSearch.search.placeholder): placeholder text in +# the source search input bar +sourceSearch.search.placeholder=Search in file… + +# LOCALIZATION NOTE (sourceSearch.search.placeholder2): placeholder text in +# the source search input bar +sourceSearch.search.placeholder2=Find in file… + +# LOCALIZATION NOTE (sourceSearch.resultsSummary2): Semi-colon list of plural forms. +# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals +# Shows a summary of the number of matches for autocomplete +sourceSearch.resultsSummary2=#1 result;#1 results;#1 results;#1 results + +# LOCALIZATION NOTE (breakpointHeadingMenuItem.*): The text for all the elements +# that are displayed in the breakpoint headings menu item popup. +breakpointHeadingsMenuItem.enableInSource.label=Enable breakpoints +breakpointHeadingsMenuItem.enableInSource.accesskey=E +breakpointHeadingsMenuItem.disableInSource.label=Disable breakpoints +breakpointHeadingsMenuItem.disableInSource.accesskey=D +breakpointHeadingsMenuItem.removeInSource.label=Remove breakpoints +breakpointHeadingsMenuItem.removeInSource.accesskey=R + +# LOCALIZATION NOTE (breakpointMenuItem): The text for all the elements that +# are displayed in the breakpoints menu item popup. +breakpointMenuItem.enableSelf2.label=Enable +breakpointMenuItem.enableSelf2.accesskey=E +breakpointMenuItem.disableSelf2.label=Disable +breakpointMenuItem.disableSelf2.accesskey=D +breakpointMenuItem.deleteSelf2.label=Remove +breakpointMenuItem.deleteSelf2.accesskey=R +breakpointMenuItem.disabledbg.label=Never pause here +breakpointMenuItem.enabledbg.label=Pause here +breakpointMenuItem.enableOthers2.label=Enable others +breakpointMenuItem.enableOthers2.accesskey=o +breakpointMenuItem.disableOthers2.label=Disable others +breakpointMenuItem.disableOthers2.accesskey=s +breakpointMenuItem.deleteOthers2.label=Remove others +breakpointMenuItem.deleteOthers2.accesskey=h +breakpointMenuItem.enableAll2.label=Enable all +breakpointMenuItem.enableAll2.accesskey=b +breakpointMenuItem.disableAll2.label=Disable all +breakpointMenuItem.disableAll2.accesskey=k +breakpointMenuItem.deleteAll2.label=Remove all +breakpointMenuItem.deleteAll2.accesskey=a +breakpointMenuItem.removeCondition2.label=Remove condition +breakpointMenuItem.removeCondition2.accesskey=c +breakpointMenuItem.addCondition2.label=Add condition +breakpointMenuItem.addCondition2.accesskey=A +breakpointMenuItem.editCondition2.label=Edit condition +breakpointMenuItem.editCondition2.accesskey=n +breakpointMenuItem.enableSelf=Cuir an comas a' phuing-bhrisidh +breakpointMenuItem.disableSelf=Cuir à comas a' phuing-bhrisidh +breakpointMenuItem.deleteSelf=Thoir a' phuing-bhrisidh air falbh +breakpointMenuItem.enableOthers=Cuir an comas feadhainn eile +breakpointMenuItem.disableOthers=Cuir à comas feadhainn eile +breakpointMenuItem.deleteOthers=Thoir air falbh feadhainn eile +breakpointMenuItem.enableAll=Cuir an comas gach puing-bhrisidh +breakpointMenuItem.disableAll=Cuir à comas gach puing-bhrisidh +breakpointMenuItem.deleteAll=Thoir gach puing-bhrisidh air falbh +breakpointMenuItem.disableAllAtLine.label=Disable breakpoints on line +breakpointMenuItem.disableAllAtLine.accesskey=K +breakpointMenuItem.enableAllAtLine.label=Enable breakpoints on line +breakpointMenuItem.enableAllAtLine.accesskey=L +breakpointMenuItem.removeAllAtLine.label=Remove breakpoints on line +breakpointMenuItem.removeAllAtLine.accesskey=X + +# LOCALIZATION NOTE (breakpoints.header): Breakpoints right sidebar pane header. +breakpoints.header=Puingean-brisidh + +# LOCALIZATION NOTE (breakpoints.removeBreakpointTooltip): The tooltip that is displayed +# for remove breakpoint button in right sidebar +breakpoints.removeBreakpointTooltip=Remove Breakpoint + +# LOCALIZATION NOTE (callStack.header): Call Stack right sidebar pane header. +callStack.header=Call Stack + +# LOCALIZATION NOTE (callStack.notPaused): Call Stack right sidebar pane +# message when not paused. +callStack.notPaused=Not Paused + +# LOCALIZATION NOTE (callStack.collapse): Call Stack right sidebar pane +# message to hide some of the frames that are shown. +callStack.collapse=Collapse Rows + +# LOCALIZATION NOTE (callStack.expand): Call Stack right sidebar pane +# message to show more of the frames. +callStack.expand=Expand Rows + +# LOCALIZATION NOTE (callStack.group.expandTooltip): The text that will appear +# when hovering a collapsed Group of frames in the callStack panel. `frames` is +# always plural since a group can only exist if it contain more that 1 frame. +# %S is replaced by the name of the library of the frames in the group. +# example: `Show React frames`. +callStack.group.expandTooltip=Show %S frames + +# LOCALIZATION NOTE (callStack.group.collapseTooltip): The text that will appear +# when hovering an expanded Group of frames in the callStack panel. `frames` is +# always plural since a group can only exist if it contain more that 1 frame. +# %S is replaced by the name of the library of the frames in the group. +# example: `Collapse React frames`. +callStack.group.collapseTooltip=Collapse %S frames + +# LOCALIZATION NOTE (editor.searchResults1): Semi-colon list of plural forms. +# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals +# Editor Search bar message to summarize the selected search result. e.g. 5 of 10 results. +editor.searchResults1=%d of #1 result;%d of #1 results;%d of #1 results;%d of #1 results + +# LOCALIZATION NOTE (editor.noResultsFound): Editor Search bar message +# for when no results found. +editor.noResultsFound=No results found + +# LOCALIZATION NOTE (editor.searchResults.nextResult): Editor Search bar +# tooltip for traversing to the Next Result +editor.searchResults.nextResult=Next Result + +# LOCALIZATION NOTE (editor.searchResults.prevResult): Editor Search bar +# tooltip for traversing to the Previous Result +editor.searchResults.prevResult=Previous Result + +# LOCALIZATION NOTE (editor.continueToHere.label): Editor gutter context +# menu item for jumping to a new paused location +editor.continueToHere.label=Continue to here +editor.continueToHere.accesskey=H + +# LOCALIZATION NOTE (editor.addBreakpoint): Editor gutter context menu item +# for adding a breakpoint on a line. +editor.addBreakpoint=Add Breakpoint + +# LOCALIZATION NOTE (editor.disableBreakpoint): Editor gutter context menu item +# for disabling a breakpoint on a line. +editor.disableBreakpoint=Disable Breakpoint +editor.disableBreakpoint.accesskey=D + +# LOCALIZATION NOTE (editor.enableBreakpoint): Editor gutter context menu item +# for enabling a breakpoint on a line. +editor.enableBreakpoint=Enable Breakpoint + +# LOCALIZATION NOTE (editor.removeBreakpoint): Editor gutter context menu item +# for removing a breakpoint on a line. +editor.removeBreakpoint=Remove Breakpoint + +# LOCALIZATION NOTE (editor.addConditionBreakpoint): Editor gutter context +# menu item for adding a breakpoint condition on a line. +editor.addConditionBreakpoint=Add condition +editor.addConditionBreakpoint.accesskey=c + +# LOCALIZATION NOTE (editor.editConditionBreakpoint): Editor gutter context menu item +# for setting a breakpoint condition on a line. +editor.editConditionBreakpoint=Edit condition + +# LOCALIZATION NOTE (editor.addLogPoint): Editor gutter context +# menu item for adding a log point on a line. +editor.addLogPoint=Add log +editor.addLogPoint.accesskey=l + +# LOCALIZATION NOTE (editor.editLogPoint): Editor gutter context menu item +# for editing a log point already set on a line. +editor.editLogPoint=Edit log +editor.editLogPoint.accesskey=E + +# LOCALIZATION NOTE (editor.removeLogPoint): Context menu item for removing +# a log point on a line. +editor.removeLogPoint.label=Remove log +editor.removeLogPoint.accesskey=V + +# LOCALIZATION NOTE (editor.conditionalPanel.placeholder2): Placeholder text for +# input element inside ConditionalPanel component +editor.conditionalPanel.placeholder2=Breakpoint condition, e.g. items.length > 0 + +# LOCALIZATION NOTE (editor.conditionalPanel.logPoint.placeholder2): Placeholder text for +# input element inside ConditionalPanel component when a log point is set +editor.conditionalPanel.logPoint.placeholder2=Log message, e.g. displayName + +# LOCALIZATION NOTE (editor.jumpToMappedLocation1): Context menu item +# for navigating to a source mapped location +editor.jumpToMappedLocation1=Jump to %S location +editor.jumpToMappedLocation1.accesskey=m + +# LOCALIZATION NOTE (downloadFile.label): Context menu item +# for downloading a source's content +downloadFile.label=Download file +downloadFile.accesskey=d + +# LOCALIZATION NOTE (inlinePreview.show.label): Context menu item +# for showing the inline preview blocks +inlinePreview.show.label=Show inline preview + +# LOCALIZATION NOTE (inlinePreview.hide.label): Context menu item +# for hiding the inline preview block +inlinePreview.hide.label=Hide inline preview + +# LOCALIZATION NOTE (inlinePreview.toggle.label): Context menu item +# that will toggle display of inline preview +inlinePreview.toggle.label=Inline Variable Preview + +# LOCALIZATION NOTE (inlinePreview.toggle.tooltip): Context menu item +# tooltip that will describe toggling inline preview +inlinePreview.toggle.tooltip=Show inline preview in the debugger editor + +# LOCALIZATION NOTE (editorWrapping.show.label): Context menu item +# for showing the wrap lines block +editorWrapping.show.label=Wrap lines + +# LOCALIZATION NOTE (editorWrapping.hide.label): Context menu item +# for showing the wrap lines block +editorWrapping.hide.label=Unwrap lines + +# LOCALIZATION NOTE (editorWrapping.toggle.label): Context menu item +# label for toggling the lines wrapping feature +editorWrapping.toggle.label=Wrap Lines + +# LOCALIZATION NOTE (editorWrapping.toggle.tooltip): Context menu item +# tooltip for toggling the lines wrapping feature +editorWrapping.toggle.tooltip=Wrap lines in the debugger editor + +# LOCALIZATION NOTE (settings.button.label): Label for Settings button +settings.button.label=Debugger Settings + +# LOCALIZATION NOTE (settings.disableJavaScript.label): Context menu item +# label for disabling JavaScript +settings.disableJavaScript.label=Disable JavaScript + +# LOCALIZATION NOTE (settings.disableJavaScript.tooltip): Context menu item +# tooltip for disabling JavaScript +settings.disableJavaScript.tooltip=Disables JavaScript (Requires refresh) + +# LOCALIZATION NOTE (settings.toggleSourceMaps.tooltip): Context menu item +# tooltip for toggling the source maps feature +settings.toggleSourceMaps.tooltip=Enable Source Maps to let DevTools load your original sources in addition to your generated ones + +# LOCALIZATION NOTE (settings.toggleSourceMaps.label): Context menu item +# label for toggling the source maps feature +settings.toggleSourceMaps.label=Source Maps + +# LOCALIZATION NOTE (settings.hideIgnoredSources.tooltip): Context menu item +# tooltip for hiding and showing all the ignored sources +settings.hideIgnoredSources.tooltip=Hides all ignored sources in the Sources panel + +# 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). +settings.hideIgnoredSources.label=Hide Ignored Sources + +# LOCALIZATION NOTE (preview.noProperties): Label shown in the preview +# popup when there are no properties to show. +preview.noProperties=No properties + +# LOCALIZATION NOTE (framework.disableGrouping): This is the text that appears in the +# context menu to disable framework grouping. +framework.disableGrouping=Disable Framework Grouping +framework.disableGrouping.accesskey=u + +# LOCALIZATION NOTE (framework.enableGrouping): This is the text that appears in the +# context menu to enable framework grouping. +framework.enableGrouping=Enable Framework Grouping +framework.enableGrouping.accesskey=u + +# LOCALIZATION NOTE (generated): Source Map term for a server source location +generated=generated + +# LOCALIZATION NOTE (original): Source Map term for a debugger UI source location +original=original + +# LOCALIZATION NOTE (expressions.placeholder): Placeholder text for expression +# input element +expressions.placeholder=Add Watch Expression + +# LOCALIZATION NOTE (expressions.errorMsg): Error text for expression +# input element +expressions.errorMsg=Invalid expression… +expressions.label=Add watch expression +expressions.accesskey=e +expressions.remove.tooltip=Remove watch expression + +# LOCALIZATION NOTE (xhrBreakpoints.header): The pause on any XHR breakpoints headings +xhrBreakpoints.header=XHR Breakpoints +xhrBreakpoints.placeholder=Break when URL contains +xhrBreakpoints.label=Add XHR breakpoint + +# LOCALIZATION NOTE (xhrBreakpoints.removeAll.tooltip): For the `Remove all XHR breakpoints' button in the header of the XHR breakpoints panel +xhrBreakpoints.removeAll.tooltip=Remove all XHR breakpoints + + +# 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=URL contains “%S” + +# LOCALIZATION NOTE (pauseOnAnyXHR): The pause on any XHR checkbox description +# when the debugger will pause on any XHR requests. +pauseOnAnyXHR=Pause on any URL + +# LOCALIZATION NOTE (watchpoints.submenu): This is the text for the watchpoints sub-menu. +watchpoints.submenu=Break on… + +# LOCALIZATION NOTE (watchpoints.getWatchpoint): This is the text that appears in the +# watchpoints sub-menu to add a "get" watchpoint on an object property. +watchpoints.getWatchpoint=Property get + +# LOCALIZATION NOTE (watchpoints.setWatchpoint): This is the text that appears in the +# watchpoints submenu to add a "set" watchpoint on an object property. +watchpoints.setWatchpoint=Property set + +# LOCALIZATION NOTE (watchpoints.getOrSetWatchpoint): This is the text that appears in the +# watchpoints submenu to add a "set" watchpoint on an object property. +watchpoints.getOrSetWatchpoint=Property get or set + +# LOCALIZATION NOTE (watchpoints.removeWatchpoint): This is the text that appears in the +# context menu to delete a watchpoint on an object property. +watchpoints.removeWatchpoint=Remove watchpoint + +# LOCALIZATION NOTE (watchpoints.removeWatchpointTooltip): This is the text that appears in the +# tooltip to delete a watchpoint on an object property. +watchpoints.removeWatchpointTooltip=Remove watchpoint + +# LOCALIZATION NOTE (sourceTabs.closeTab): Editor source tab context menu item +# for closing the selected tab below the mouse. +sourceTabs.closeTab=Close tab +sourceTabs.closeTab.accesskey=c +sourceTabs.closeTab.key=CmdOrCtrl+W + +# LOCALIZATION NOTE (sourceTabs.closeOtherTabs): Editor source tab context menu item +# for closing the other tabs. +sourceTabs.closeOtherTabs=Close others +sourceTabs.closeOtherTabs.accesskey=o + +# LOCALIZATION NOTE (sourceTabs.closeTabsToEnd): Editor source tab context menu item +# for closing the tabs to the end (the right for LTR languages) of the selected tab. +sourceTabs.closeTabsToEnd=Close tabs to the right +sourceTabs.closeTabsToEnd.accesskey=e + +# LOCALIZATION NOTE (sourceTabs.closeAllTabs): Editor source tab context menu item +# for closing all tabs. +sourceTabs.closeAllTabs=Close all tabs +sourceTabs.closeAllTabs.accesskey=a + +# LOCALIZATION NOTE (sourceTabs.revealInTree): Editor source tab context menu item +# for revealing source in tree. +sourceTabs.revealInTree=Reveal in Tree +sourceTabs.revealInTree.accesskey=r + +# LOCALIZATION NOTE (sourceTabs.prettyPrint): Editor source tab context menu item +# for pretty printing the source. +sourceTabs.prettyPrint=Pretty Print Source +sourceTabs.prettyPrint.accesskey=p + +# 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. +sourceFooter.prettyPrint.isPrettyPrintedMessage=Can’t pretty print, 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. +sourceFooter.prettyPrint.isOriginalMessage=Can’t pretty print original sources, file is already readable + +# 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. +sourceFooter.prettyPrint.hasSourceMapMessage=Can’t pretty print generated sources with valid sourcemaps. Please use the 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. +sourceFooter.prettyPrint.noContentMessage=Can’t pretty print, 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. +sourceFooter.prettyPrint.isNotJavascriptMessage=Can’t pretty print, file is not JavaScript + +# LOCALIZATION NOTE (sourceFooter.ignores): Tooltip text associated +# with the ignores button +sourceFooter.ignore=Ignore source + +# LOCALIZATION NOTE (sourceFooter.unignore): Tooltip text associated +# with the ignore button +sourceFooter.unignore=Unignore source + +# LOCALIZATION NOTE (ignoreContextItem.ignore): Text associated +# with the ignore context menu item +ignoreContextItem.ignore=Ignore source +ignoreContextItem.ignore.accesskey=I + +# LOCALIZATION NOTE (ignoreContextItem.unignore): Text associated +# with the unignore context menu item +ignoreContextItem.unignore=Unignore source +ignoreContextItem.unignore.accesskey=U + +# LOCALIZATION NOTE (overridesContextItem.override): Text associated +# with the add overrides context menu item +overridesContextItem.override=Add script override +overridesContextItem.override.accesskey=o + +# LOCALIZATION NOTE (overridesContextItem.removeOverride): Text associated +# with the remove override context menu item +overridesContextItem.removeOverride=Remove script override +overridesContextItem.removeOverride.accesskey=o + +# LOCALIZATION NOTE (ignoreContextItem.ignoreLine): Text associated +# with the ignore line context menu item +ignoreContextItem.ignoreLine=Ignore line +ignoreContextItem.ignoreLine.accesskey=l + +# LOCALIZATION NOTE (ignoreContextItem.unignoreLine): Text associated +# with the unignore line context menu item +ignoreContextItem.unignoreLine=Unignore line +ignoreContextItem.unignoreLine.accesskey=n + +# LOCALIZATION NOTE (ignoreContextItem.ignoreLines): Text associated +# with the ignore lines context menu item +ignoreContextItem.ignoreLines=Ignore lines +ignoreContextItem.ignoreLines.accesskey=i + +# LOCALIZATION NOTE (ignoreContextItem.unignoreLines): Text associated +# with the unignore lines context menu item +ignoreContextItem.unignoreLines=Unignore lines +ignoreContextItem.unignoreLines.accesskey=u + +# LOCALIZATION NOTE (sourceFooter.mappedSource): Text associated +# with a mapped source. %S is replaced by the source map origin. +sourceFooter.mappedSource=(From %S) + +# LOCALIZATION NOTE (sourceFooter.mappedSourceTooltip): Tooltip text associated +# with a mapped source. %S is replaced by the source map origin. +sourceFooter.mappedSourceTooltip=(Source mapped from %S) + +# LOCALIZATION NOTE (sourceFooter.mappedSuffix): Text associated +# with a mapped source. Displays next to URLs in tree and tabs. +sourceFooter.mappedSuffix=(mapped) + +# LOCALIZATION NOTE (sourceFooter.currentCursorPosition): Text associated +# with the current cursor line and column +sourceFooter.currentCursorPosition=(%1$S, %2$S) + +# LOCALIZATION NOTE (sourceFooter.currentCursorPosition.tooltip): Text associated +# with the current cursor line and column +sourceFooter.currentCursorPosition.tooltip=(Line %1$S, column %2$S) + +# LOCALIZATION NOTE (sourceTabs.closeTabButtonTooltip): The tooltip that is displayed +# for close tab button in source tabs. +sourceTabs.closeTabButtonTooltip=Close tab + +# LOCALIZATION NOTE (scopes.header): Scopes right sidebar pane header. +scopes.header=Scopes + +# LOCALIZATION NOTE (scopes.notAvailable): Scopes right sidebar pane message +# for when the debugger is paused, but there isn't pause data. +scopes.notAvailable=Scopes Unavailable + +# LOCALIZATION NOTE (scopes.notPaused): Scopes right sidebar pane message +# for when the debugger is not paused. +scopes.notPaused=Not Paused + +# LOCALIZATION NOTE (scopes.mapping.label): Scopes right sidebar pane +# tooltip for checkbox and label +scopes.mapping.label=Map original variable names + +# LOCALIZATION NOTE (eventlisteners.log.label): Event listeners tooltip for +# checkbox and label +eventlisteners.log.label=Log events to the console + +# LOCALIZATION NOTE (eventlisteners.log): Checkbox label for logging events +eventlisteners.log=Log + +# LOCALIZATION NOTE (scopes.helpTooltip.label): Scopes right sidebar pane +# icon tooltip for link to MDN +scopes.helpTooltip.label=Learn more about map scopes + +# LOCALIZATION NOTE (scopes.map.label): Checkbox label to map scopes +scopes.map.label=Map + +# LOCALIZATION NOTE (scopes.block): Refers to a block of code in +# the scopes pane when the debugger is paused. +scopes.block=Block + +# LOCALIZATION NOTE (sources.header): Sources left sidebar header +sources.header=Sources + +# LOCALIZATION NOTE (outline.header): Outline left sidebar header +outline.header=Outline + +# LOCALIZATION NOTE (search.header): Search left sidebar header +search.header=Search + +# LOCALIZATION NOTE (outline.placeholder): Placeholder text for the filter input +# element +outline.placeholder=Filter functions + +# LOCALIZATION NOTE (outline.sortLabel): Label for the sort button +outline.sortLabel=Sort by name + +# LOCALIZATION NOTE (outline.noFunctions): Outline text when there are no functions to display +outline.noFunctions=No functions + +# LOCALIZATION NOTE (outline.noFileSelected): Outline text when there are no files selected +outline.noFileSelected=No file selected + +# LOCALIZATION NOTE (sources.search): Sources left sidebar prompt +# e.g. Cmd+P to search. On a mac, we use the command unicode character. +# On windows, it's ctrl. +sources.search=%S to search + +# LOCALIZATION NOTE (watchExpressions.header): Watch Expressions right sidebar +# pane header. +watchExpressions.header=Watch Expressions + +# LOCALIZATION NOTE (watchExpressions.refreshButton): Watch Expressions header +# button for refreshing the expressions. +watchExpressions.refreshButton=Ath-nuadhaich + +# LOCALIZATION NOTE (welcome.search): The center pane welcome panel's +# search prompt. e.g. cmd+p to search for files. On windows, it's ctrl, on +# a mac we use the unicode character. +welcome.search=%S to search for sources + +# LOCALIZATION NOTE (welcome.search2): The center pane welcome panel's +# search prompt. e.g. cmd+p to search for files. On windows, it's ctrl, on +# a mac we use the unicode character. +welcome.search2=%S Go to file + +# LOCALIZATION NOTE (welcome.findInFiles): The center pane welcome panel's +# search prompt. e.g. cmd+f to search for files. On windows, it's ctrl+shift+f, on +# a mac we use the unicode character. +welcome.findInFiles=%S to find in files + +# LOCALIZATION NOTE (welcome.findInFiles2): The center pane welcome panel's +# search prompt. e.g. cmd+f to search for files. On windows, it's ctrl+shift+f, on +# a mac we use the unicode character. +welcome.findInFiles2=%S Find in files + +# LOCALIZATION NOTE (welcome.allShortcuts): The label to open the modal of +# shortcuts, displayed in the welcome panel. +welcome.allShortcuts=Show all shortcuts + +# LOCALIZATION NOTE (sourceSearch.search): The center pane Source Search +# prompt for searching for files. +sourceSearch.search=Search Sources… + +# LOCALIZATION NOTE (sourceSearch.search2): The center pane Source Search +# prompt for searching for files. +sourceSearch.search2=Go to file… + +# LOCALIZATION NOTE (pauseOnExceptions): The pause on exceptions button tooltip +# when the debugger will pause on all exceptions. +pauseOnExceptions=Pause on all exceptions. Click to ignore exceptions + +# LOCALIZATION NOTE (loadingText): The text that is displayed in the script +# editor when the loading process has started but there is no file to display +# yet. +loadingText=A' luchdadh… + +# LOCALIZATION NOTE (wasmIsNotAvailable): The text that is displayed in the +# script editor when the WebAssembly source is not available. +wasmIsNotAvailable=Please refresh to debug this module + +# LOCALIZATION NOTE (errorLoadingText3): The text that is displayed in the debugger +# viewer when there is an error loading a file +errorLoadingText3=Error loading this URI: %S + +# LOCALIZATION NOTE(gotoLineModal.placeholder): The placeholder +# text displayed when the user searches for specific lines in a file +gotoLineModal.placeholder=Go to line… + +# LOCALIZATION NOTE(gotoLineModal.title): The message shown to users +# to open the go to line modal +gotoLineModal.title=Go to a line number in a file + +# LOCALIZATION NOTE(gotoLineModal.key3): The shortcut for opening the +# go to line modal +# Do not localize "Ctrl+G", or change the format of the string. These are +# key identifiers, not messages displayed to the user. +gotoLineModal.key3=Ctrl+G + +# LOCALIZATION NOTE(symbolSearch.search.functionsPlaceholder): The placeholder +# text displayed when the user searches for functions in a file +symbolSearch.search.functionsPlaceholder=Search functions… +symbolSearch.search.functionsPlaceholder.title=Search for a function in a file + +# LOCALIZATION NOTE(symbolSearch.search.variablesPlaceholder): The placeholder +# text displayed when the user searches for variables in a file +symbolSearch.search.variablesPlaceholder=Search variables… +symbolSearch.search.variablesPlaceholder.title=Search for a variable in a file + +# LOCALIZATION NOTE(symbolSearch.search.key2): The Key Shortcut for +# searching for a function or variable +# Do not localize "CmdOrCtrl+Shift+O", or change the format of the string. These are +# key identifiers, not messages displayed to the user. +symbolSearch.search.key2=CmdOrCtrl+Shift+O + +experimental=This is an experimental feature + +# LOCALIZATION NOTE (ctrl): The text that is used for documenting +# keyboard shortcuts that use the control key +ctrl=Ctrl + +# LOCALIZATION NOTE (anonymousFunction): this string is used to display +# JavaScript functions that have no given name - they are said to be +# anonymous. +anonymousFunction=<anonymous> + +# LOCALIZATION NOTE (stacktrace.asyncStack): this string is used to +# indicate that a given stack frame has an async parent. +# %S is the "Async Cause" of the frame. +stacktrace.asyncStack=(Async: %S) + +# LOCALIZATION NOTE (shortcuts.toggleBreakpoint): text describing +# keyboard shortcut action for toggling breakpoint +shortcuts.toggleBreakpoint=Toggle Breakpoint +shortcuts.toggleBreakpoint.accesskey=B + +# LOCALIZATION NOTE (shortcuts.toggleCondPanel.breakpoint): text describing +# keyboard shortcut action for toggling conditional panel for breakpoints +shortcuts.toggleCondPanel.breakpoint=Edit Conditional Breakpoint + +# LOCALIZATION NOTE (shortcuts.toggleCondPanel.logPoint): text describing +# keyboard shortcut action for toggling conditional panel for log points +shortcuts.toggleCondPanel.logPoint=Edit Log Point + +# LOCALIZATION NOTE (shortcuts.pauseOrResume): text describing +# keyboard shortcut action for pause of resume +shortcuts.pauseOrResume=Pause/Resume + +# LOCALIZATION NOTE (shortcuts.stepOver): text describing +# keyboard shortcut action for stepping over +shortcuts.stepOver=Step Over + +# LOCALIZATION NOTE (shortcuts.stepIn): text describing +# keyboard shortcut action for stepping in +shortcuts.stepIn=Step In + +# LOCALIZATION NOTE (shortcuts.stepOut): text describing +# keyboard shortcut action for stepping out +shortcuts.stepOut=Step Out + +# LOCALIZATION NOTE (shortcuts.fileSearch): text describing +# keyboard shortcut action for source file search +shortcuts.fileSearch=Source File Search + +# LOCALIZATION NOTE (shortcuts.fileSearch2): text describing +# keyboard shortcut action for source file search +shortcuts.fileSearch2=Go to file + +# LOCALIZATION NOTE (shortcuts.gotoLine): text describing +# keyboard shortcut for jumping to a specific line +shortcuts.gotoLine=Go to line + +# LOCALIZATION NOTE (shortcuts.projectSearch): text describing +# keyboard shortcut action for full project search +shortcuts.projectSearch=Full Project Search + +# LOCALIZATION NOTE (shortcuts.projectSearch2): text describing +# keyboard shortcut action for full project search +shortcuts.projectSearch2=Find in files + +# LOCALIZATION NOTE (shortcuts.functionSearch): text describing +# keyboard shortcut action for function search +shortcuts.functionSearch=Function Search + +# LOCALIZATION NOTE (shortcuts.functionSearch2): text describing +# keyboard shortcut action for function search +shortcuts.functionSearch2=Find function + +# LOCALIZATION NOTE (shortcuts.buttonName): text describing +# keyboard shortcut button text +shortcuts.buttonName=Keyboard shortcuts + +# LOCALIZATION NOTE (variablesSeparatorLabel): The text that is displayed +# in the variables list as a separator between the name and value. +variablesSeparatorLabel=: +variablesViewOptimizedOut=(optimized away) +variablesViewUninitialized=(uninitialized) +variablesViewMissingArgs=(unavailable) + +# LOCALIZATION NOTE (variablesDomNodeValueTooltip): The text that is displayed +# in a tooltip on the "open in inspector" button in the the variables list for a +# DOMNode item. +variablesDomNodeValueTooltip=Click to select the node in the inspector + +# LOCALIZATION NOTE (variablesEditButtonTooltip): The text that is displayed +# in the variables list on a getter or setter which can be edited. +variablesEditButtonTooltip=Click to set value + +# LOCALIZATION NOTE (variablesViewErrorStacktrace): This is the text that is +# shown before the stack trace in an error. +variablesViewErrorStacktrace=Stack trace: + +# LOCALIZATION NOTE (variablesViewMoreObjects): the text that is displayed +# when you have an object preview that does not show all of the elements. At the end of the list +# you see "N more..." in the web console output. +# This is a semi-colon list of plural forms. +# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals +# #1 number of remaining items in the object +# example: 3 more… +variablesViewMoreObjects=#1 more…;#1 more…;#1 more…;#1 more… + +# LOCALIZATION NOTE (variablesEditableNameTooltip): The text that is displayed +# in the variables list on an item with an editable name. +variablesEditableNameTooltip=Double click to edit + +# LOCALIZATION NOTE (variablesEditableValueTooltip): The text that is displayed +# in the variables list on an item with an editable value. +variablesEditableValueTooltip=Click to change value + +# LOCALIZATION NOTE (variablesCloseButtonTooltip): The text that is displayed +# in the variables list on an item which can be removed. +variablesCloseButtonTooltip=Click to remove + +# LOCALIZATION NOTE (configurable|...|Tooltip): The text that is displayed +# in the variables list on certain variables or properties as tooltips. +# Explanations of what these represent can be found at the following links: +# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty +# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/isExtensible +# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/isFrozen +# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/isSealed +# It's probably best to keep these in English. +configurableTooltip=configurable +enumerableTooltip=enumerable +writableTooltip=writable +frozenTooltip=frozen +sealedTooltip=sealed +extensibleTooltip=extensible +overriddenTooltip=overridden +WebIDLTooltip=WebIDL + +# LOCALIZATION NOTE (serviceWorkerInfo.parsed): State displayed for a service +# worker that has been parsed. +serviceWorkerInfo.parsed=parsed +# LOCALIZATION NOTE (serviceWorkerInfo.installing): State displayed for a +# service worker that is being installed. +serviceWorkerInfo.installing=installing +# LOCALIZATION NOTE (serviceWorkerInfo.installed): State displayed for a +# service worker that has finished being installed. +serviceWorkerInfo.installed=installed +# LOCALIZATION NOTE (serviceWorkerInfo.activating): State displayed for a +# service worker that is being activated. +serviceWorkerInfo.activating=activating +# LOCALIZATION NOTE (serviceWorkerInfo.activated): State displayed for a +# service worker that has finished being activated. +serviceWorkerInfo.activated=activated +# LOCALIZATION NOTE (serviceWorkerInfo.redundant): State displayed for a +# service worker that is redundant. +serviceWorkerInfo.redundant=redundant +# LOCALIZATION NOTE (serviceWorkerInfo.unknown): State displayed for a +# service worker that is in an unknown state. +serviceWorkerInfo.unknown=unknown + +# 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. +settings.enableSourceMapIgnoreList.tooltip=Ignores all sources on the source map x_google_ignoreList field. +# 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 +settings.enableSourceMapIgnoreList.label=Ignore Known Third-party Scripts +# LOCALIZATION NOTE (sourceFooter.ignoreList): Tooltip text associated +# with the ignore source button when the selected source is on the ignore list +sourceFooter.ignoreList=This source is on the ignore list. Please turn off the `Ignore Known Third-party Scripts` option to enable it. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/device.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/device.properties new file mode 100644 index 0000000000000000000000000000000000000000..5de4a5d08425baaad5b3c446bb5e9466fd97eff5 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/device.properties @@ -0,0 +1,21 @@ +# 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/. + +# LOCALIZATION NOTE These strings are used inside Device Emulation developer +# tools. 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 category names in a list of devices that a user can choose +# to simulate (e.g. "ZTE Open C", "VIA Vixen", "720p HD Television", etc). +device.phones=Fònaichean +device.tablets=Tablaidean +device.laptops=Laptops +device.televisions=Telebhiseanan +device.consoles=Consoilean geamaireachd +device.watches=Uaireadairean +device.custom=Custom diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/dom.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/dom.properties new file mode 100644 index 0000000000000000000000000000000000000000..f2d060a46903c671772fd60a23a5baa297efb7d1 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/dom.properties @@ -0,0 +1,27 @@ +# 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/. + +# LOCALIZATION NOTE These strings are used inside the DOM panel +# which is available from the Web Developer sub-menu -> 'DOM'. +# 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 DOM panel +# which is available from the Browser Tools sub-menu -> 'DOM'. +# 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 (dom.filterDOMPanel): A placeholder text used for +# DOM panel search box. +dom.filterDOMPanel=Filter DOM Panel + +# LOCALIZATION NOTE (dom.refresh): A label for Refresh button in +# DOM panel toolbar +dom.refresh=Refresh diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/filterwidget.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/filterwidget.properties new file mode 100644 index 0000000000000000000000000000000000000000..a8b52eb76f1781d9d95d36647eaec4bcde26c241 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/filterwidget.properties @@ -0,0 +1,59 @@ +# 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/. + +# LOCALIZATION NOTE These strings are used in the CSS Filter Editor Widget +# which can be found in a tooltip that appears in the Rule View when clicking +# on a filter swatch displayed next to CSS declarations like 'filter: blur(2px)'. + +# LOCALIZATION NOTE (emptyFilterList): +# This string is displayed when filter's list is empty +# (no filter specified / all removed) +emptyFilterList=No filter specified + +# LOCALIZATION NOTE (emptyPresetList): +# This string is displayed when preset's list is empty +emptyPresetList=You don’t have any saved presets. You can store filter presets by choosing a name and saving them. Presets are quickly accessible and you can re-use them with ease. + +# LOCALIZATION NOTE (addUsingList): +# This string is displayed under [emptyFilterList] when filter's +# list is empty, guiding user to add a filter using the list below it +addUsingList=Add a filter using the list below + +# LOCALIZATION NOTE (dropShadowPlaceholder): +# This string is used as a placeholder for drop-shadow's input +# in the filter list (shown when <input> is empty) +dropShadowPlaceholder=x y radius color + +# LOCALIZATION NOTE (dragHandleTooltipText): +# This string is used as a tooltip text (shown on mouse hover) on the +# drag handles of filters which are used to re-order filters +dragHandleTooltipText=Drag up or down to re-order filter + +# LOCALIZATION NOTE (labelDragTooltipText): +# This string is used as a tooltip text (shown on mouse hover) on the +# filters' labels which can be dragged left/right to increase/decrease +# the filter's value (like photoshop) +labelDragTooltipText=Drag left or right to decrease or increase the value + +# LOCALIZATION NOTE (filterListSelectPlaceholder): +# This string is used as a preview option in the list of possible filters +# <select> +filterListSelectPlaceholder=Select a Filter + +# LOCALIZATION NOTE (addNewFilterButton): +# This string is displayed on a button used to add new filters +addNewFilterButton=Add + +# LOCALIZATION NOTE (newPresetPlaceholder): +# This string is used as a placeholder in the list of presets which is used to +# save a new preset +newPresetPlaceholder=Preset Name + +# LOCALIZATION NOTE (savePresetButton): +# This string is displayed on a button used to save a new preset +savePresetButton=Save + +# LOCALIZATION NOTE(presetsToggleButton): +# This string is used in a button which toggles the presets list +presetsToggleButton=Presets diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/font-inspector.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/font-inspector.properties new file mode 100644 index 0000000000000000000000000000000000000000..e2f6a43bde87e11f3a0a1109265ff7e10f294c60 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/font-inspector.properties @@ -0,0 +1,69 @@ +# 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/. + +# LOCALIZATION NOTE This file contains the Font Inspector strings. +# The Font Inspector is a panel accessible in the Inspector sidebar. + +# LOCALIZATION NOTE (fontinspector.system) This label indicates that the font is a local +# system font. +fontinspector.system=system + +# LOCALIZATION NOTE (fontinspector.noFontsUsedOnCurrentElement): This label is shown when +# no fonts were used on the selected element. +fontinspector.noFontsUsedOnCurrentElement=No fonts used on the current element. + +# LOCALIZATION NOTE (fontinspector.copyURL): This is the text that appears in a tooltip +# displayed when the user hovers over the copy icon next to the font URL. +# Clicking the copy icon copies the full font URL to the user's clipboard +fontinspector.copyURL=Copy URL + +# LOCALIZATION NOTE (fontinspector.customInstanceName): Think of instances as presets +# (groups of settings that apply in bulk to a thing). Instances have names. When the user +# creates a new instance, it doesn't have a name. This is the text that appears as the +# default name for a new instance. It shows up in a dropdown from which users can select +# between predefined instances and this custom instance. +fontinspector.customInstanceName=Custom + +# LOCALIZATION NOTE (fontinspector.fontInstanceLabel): This label is shown next to the UI +# in the font editor which allows a user to select a font instance option from a +# dropdown. An instance is like a preset. A "font instance" is the term used by the font +# authors to mean a group of predefined font settings. +fontinspector.fontInstanceLabel=Instance + +# LOCALIZATION NOTE (fontinspector.fontSizeLabel): This label is shown next to the UI +# in the font editor which allows the user to change the font size. +fontinspector.fontSizeLabel=Size + +# LOCALIZATION NOTE (fontinspector.fontWeightLabel): This label is shown next to the UI +# in the font editor which allows the user to change the font weight. +fontinspector.fontWeightLabel=Weight + +# LOCALIZATION NOTE (fontinspector.fontItalicLabel): This label is shown next to the UI +# in the font editor which allows the user to change the style of the font to italic. +fontinspector.fontItalicLabel=Italic + +# LOCALIZATION NOTE (fontinspector.showMore): Label for a collapsed list of fonts. +fontinspector.showMore=Show more + +# LOCALIZATION NOTE (fontinspector.showLess): Label for an expanded list of fonts. +fontinspector.showLess=Show less + +# LOCALIZATION NOTE (fontinspector.letterSpacingLabel): Label for the UI to change the +# letter spacing in the font editor. +fontinspector.letterSpacingLabel=Spacing + +# LOCALIZATION NOTE (fontinspector.lineHeightLabelCapitalized): Label for the UI to change the line height in the font editor. +fontinspector.lineHeightLabelCapitalized=Line Height + +# LOCALIZATION NOTE (fontinspector.allFontsOnPageHeader): Header for the section listing +# all the fonts on the current page. +fontinspector.allFontsOnPageHeader=All fonts on page + +# LOCALIZATION NOTE (fontinspector.fontsUsedLabel): Label for the Font Editor section +# which shows the fonts used on the selected element. +fontinspector.fontsUsedLabel=Fonts Used + +# LOCALIZATION NOTE (fontinspector.previewTextPlaceholder): Placeholder for the input +# where the user can type text to get a preview of it using a font. +fontinspector.previewTextPlaceholder=Font preview text diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/har.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/har.properties new file mode 100644 index 0000000000000000000000000000000000000000..b14ef1ad506674c48629c8b4cb2c80cc87b812d1 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/har.properties @@ -0,0 +1,30 @@ +# 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/. + +# 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. +# 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 (har.responseBodyNotIncluded): A label used within +# HAR file explaining that HTTP response bodies are not includes +# in exported data. +har.responseBodyNotIncluded=Response bodies are not included. + +# LOCALIZATION NOTE (har.responseBodyNotIncluded): A label used within +# HAR file explaining that HTTP request bodies are not includes +# in exported data. +har.requestBodyNotIncluded=Request bodies are not included. + diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/inspector.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/inspector.properties new file mode 100644 index 0000000000000000000000000000000000000000..4cbfadf005f45258030428c6719939a3235c369d --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/inspector.properties @@ -0,0 +1,584 @@ +# 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/. + +# LOCALIZATION NOTE These strings are used inside the Inspector +# which is available from the Web Developer sub-menu -> 'Inspect'. +# +# 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 Inspector +# which is available from the Browser Tools sub-menu -> 'Inspect'. +# +# 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. + +inspector.panelLabel.markupView=Markup View + +# LOCALIZATION NOTE (markupView.more.showing) +# When there are too many nodes to load at once, we will offer to +# show all the nodes. +markupView.more.showing=Some nodes were hidden. + +# LOCALIZATION NOTE (markupView.more.showAll2): Semi-colon list of plural forms. +# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals +markupView.more.showAll2=Show one more node;Show all #1 nodes;Show all #1 nodes;Show all #1 nodes + +# LOCALIZATION NOTE (markupView.whitespaceOnly.label) +# Used in the badge that appears when whitespace-only text nodes are displayed in the +# inspector. +markupView.whitespaceOnly.label=whitespace + +# LOCALIZATION NOTE (markupView.unavailableChildren.label) +# Used in the badge that appears when the Browser Toolbox is in "parent-process" +# mode and the markup view cannot display the children from a content browser. +markupView.unavailableChildren.label=unavailable + +# LOCALIZATION NOTE (markupView.unavailableChildren.title) +# Title for the badge that appears when the Browser Toolbox is in "parent-process" +# mode and the markup view cannot display the children from a content browser. +markupView.unavailableChildren.title=Children of this element are unavailable with the current Browser Toolbox mode + +# LOCALIZATION NOTE (markupView.whitespaceOnly) +# Used in a tooltip that appears when the user hovers over whitespace-only text nodes in +# the inspector. %S in the content will be replaced by the whitespace characters used in +# the text node. +markupView.whitespaceOnly=Whitespace-only text node: %S + +# LOCALIZATION NOTE (markupView.display.flex.tooltiptext2) +# Used in a tooltip that appears when the user hovers over the display type button in +# the markup view. +markupView.display.flex.tooltiptext2=This element behaves like a block element and lays out its content according to the flexbox model. Click to toggle the flexbox overlay for this element. + +# LOCALIZATION NOTE (markupView.display.inlineFlex.tooltiptext2) +# Used in a tooltip that appears when the user hovers over the display type button in +# the markup view. +markupView.display.inlineFlex.tooltiptext2=This element behaves like an inline element and lays out its content according to the flexbox model. Click to toggle the flexbox overlay for this element. + +# LOCALIZATION NOTE (markupView.display.grid.tooltiptext2) +# Used in a tooltip that appears when the user hovers over the display type button in +# the markup view. +markupView.display.grid.tooltiptext2=This element behaves like a block element and lays out its content according to the grid model. Click to toggle the grid overlay for this element. + +# LOCALIZATION NOTE (markupView.display.inlineGrid.tooltiptext2) +# Used in a tooltip that appears when the user hovers over the display type button in +# the markup view. +markupView.display.inlineGrid.tooltiptext2=This element behaves like an inline element and lays out its content according to the grid model. Click to toggle the grid overlay for this element. + +# LOCALIZATION NOTE (markupView.display.subgrid.tooltiptext) +# Used in a tooltip that appears when the user hovers over the display type button in +# the markup view. +markupView.display.subgrid.tooltiptiptext=This element lays out its content according to the grid model but defers the definition of its rows and/or columns to its parent grid container. + +# LOCALIZATION NOTE (markupView.display.flowRoot.tooltiptext) +# Used in a tooltip that appears when the user hovers over the display type button in +# the markup view. +markupView.display.flowRoot.tooltiptext=This element generates a block element box that establishes a new block formatting context. + +# LOCALIZATION NOTE (markupView.display.contents.tooltiptext2) +# Used in a tooltip that appears when the user hovers over the display type button in +# the markup view. +markupView.display.contents.tooltiptext2=This element doesn’t produce a specific box by itself, but renders its contents. + +# LOCALIZATION NOTE (markupView.event.tooltiptext) +# Used in a tooltip that appears when the user hovers over 'event' badge in +# the markup view. +markupView.event.tooltiptext=Event listener + +# LOCALIZATION NOTE (markupView.custom.tooltiptext) +# Used in a tooltip that appears when the user hovers over 'custom' badge in +# the markup view. Only displayed on custom elements with a shadow root attached. +markupView.custom.tooltiptext=Show custom element definition + +# LOCALIZATION NOTE (markupView.newAttribute.label) +# This is used to speak the New Attribute button when editing a tag +# and a screen reader user tabs to it. This string is not visible onscreen. +markupView.newAttribute.label=New attribute + +# LOCALIZATION NOTE (markupView.revealLink.tooltip) +# Used as a tooltip for an icon in the markup view when displaying elements inserted in +# <slot> nodes in a custom component. When clicking on the icon, the corresponding +# non-slotted container will be selected +markupView.revealLink.tooltip=Reveal + +#LOCALIZATION NOTE: Used in the image preview tooltip when the image could not be loaded +previewTooltip.image.brokenImage=Could not load the image + +# LOCALIZATION NOTE: Used in color picker tooltip when the eyedropper is disabled for +# non-HTML documents +eyedropper.disabled.title=Unavailable in non-HTML documents + +#LOCALIZATION NOTE: Used in the event tooltip to allow the debugger to be opened +eventsTooltip.openInDebugger=Open the debugger + +#LOCALIZATION NOTE: Used in the event tooltip when a script's filename cannot be detected +eventsTooltip.unknownLocation=Unknown location + +#LOCALIZATION NOTE: Used in the mouseover tooltip when hovering "Unknown location." +eventsTooltip.unknownLocationExplanation=The original location of this listener cannot be detected. Maybe the code is transpiled by a utility such as Babel. + +#LOCALIZATION NOTE: Used in the tooltip for Bubbling +eventsTooltip.Bubbling=Bubbling + +#LOCALIZATION NOTE: Used in the tooltip for Capturing +eventsTooltip.Capturing=Capturing + +# LOCALIZATION NOTE (allTabsMenuButton.tooltip): The tooltip that gets +# displayed when hovering over the tabs overflow button. +allTabsMenuButton.tooltip=Show all tabs + +# LOCALIZATION NOTE (inspector.showThreePaneMode): This is the tooltip for the button +# that toggles on the 3 pane inspector mode. +inspector.showThreePaneMode=Toggle on the 3-pane inspector + +# LOCALIZATION NOTE (inspector.hideThreePaneMode): This is the tooltip for the button +# that toggles off the 3 pane inspector mode. +inspector.hideThreePaneMode=Toggle off the 3-pane inspector + +# LOCALIZATION NOTE (inspector.searchResultsCount2): This is the label that +# will show up next to the inspector search box. %1$S is the current result +# index and %2$S is the total number of search results. For example: "3 of 9". +# This won't be visible until the search box is updated in Bug 835896. +inspector.searchResultsCount2=%1$S à %2$S + +# LOCALIZATION NOTE (inspector.searchResultsNone): This is the label that +# will show up next to the inspector search box when no matches were found +# for the given string. +# This won't be visible until the search box is updated in Bug 835896. +inspector.searchResultsNone=Gun mhaids + +# LOCALIZATION NOTE (inspector.menu.openUrlInNewTab.label): This is the label of +# a menu item in the inspector contextual-menu that appears when the user right- +# clicks on the attribute of a node in the inspector that is a URL, and that +# allows to open that URL in a new tab. +inspector.menu.openUrlInNewTab.label=Open Link in New Tab + +# LOCALIZATION NOTE (inspector.menu.copyUrlToClipboard.label): This is the label +# of a menu item in the inspector contextual-menu that appears when the user +# right-clicks on the attribute of a node in the inspector that is a URL, and +# that allows to copy that URL in the clipboard. +inspector.menu.copyUrlToClipboard.label=Copy Link Address + +# LOCALIZATION NOTE (inspector.menu.selectElement.label): This is the label of a +# menu item in the inspector contextual-menu that appears when the user right- +# clicks on the attribute of a node in the inspector that is the ID of another +# element in the DOM (like with <label for="input-id">), and that allows to +# select that element in the inspector. +inspector.menu.selectElement.label=Select Element #%S + +# LOCALIZATION NOTE (inspectorEditAttribute.label): This is the label of a +# sub-menu "Attribute" in the inspector contextual-menu that appears +# when the user right-clicks on the node in the inspector, and that allows +# to edit an attribute on this node. +inspectorEditAttribute.label=Edit Attribute “%S” +inspectorEditAttribute.accesskey=E + +# LOCALIZATION NOTE (inspectorRemoveAttribute.label): This is the label of a +# sub-menu "Attribute" in the inspector contextual-menu that appears +# when the user right-clicks on the attribute of a node in the inspector, +# and that allows to remove this attribute. +inspectorRemoveAttribute.label=Remove Attribute “%S” +inspectorRemoveAttribute.accesskey=R + +# LOCALIZATION NOTE (inspectorCopyAttributeValue.label): This is the label of a +# sub-menu "Attribute" in the inspector contextual-menu that appears +# when the user right-clicks on the attribute of a node in the inspector, +# and that allows to copy the attribute value to clipboard. +inspectorCopyAttributeValue.label=Copy Attribute Value “%S” +inspectorCopyAttributeValue.accesskey=V + +# LOCALIZATION NOTE (inspector.nodePreview.highlightNodeLabel): +# This string is displayed in a tooltip that is shown when hovering over a the +# inspector icon displayed next to a DOM node preview (e.g. next to something +# like "div#foo.bar"). +# DOM node previews can be displayed in places like the animation-inspector, the +# console or the object inspector. +# The tooltip invites the user to click on the icon in order to highlight the +# node in the page. +inspector.nodePreview.highlightNodeLabel=Click to highlight this node in the page + +# LOCALIZATION NOTE (inspectorHTMLEdit.label): This is the label shown +# in the inspector contextual-menu for the item that lets users edit the +# (outer) HTML of the current node +inspectorXMLEdit.label=Edit As XML +inspectorHTMLEdit.label=Edit As HTML +inspectorSVGEdit.label=Edit As SVG +inspectorMathMLEdit.label=Edit As MathML +inspectorHTMLEdit.accesskey=E + +# LOCALIZATION NOTE (inspectorCopyInnerHTML.label): This is the label shown +# in the inspector contextual-menu for the item that lets users copy the +# inner HTML of the current node +inspectorCopyInnerHTML.label=Inner HTML +inspectorCopyInnerHTML.accesskey=I + +# LOCALIZATION NOTE (inspectorCopyOuterHTML.label): This is the label shown +# in the inspector contextual-menu for the item that lets users copy the +# outer HTML of the current node +inspectorCopyOuterHTML.label=Outer HTML +inspectorCopyOuterHTML.accesskey=O + +# LOCALIZATION NOTE (inspectorCopyCSSSelector.label): This is the label +# shown in the inspector contextual-menu for the item that lets users copy +# the CSS Selector of the current node +inspectorCopyCSSSelector.label=CSS Selector +inspectorCopyCSSSelector.accesskey=S + +# LOCALIZATION NOTE (inspectorCopyCSSPath.label): This is the label +# shown in the inspector contextual-menu for the item that lets users copy +# the full CSS path of the current node +inspectorCopyCSSPath.label=CSS Path +inspectorCopyCSSPath.accesskey=P + +# LOCALIZATION NOTE (inspectorCopyXPath.label): This is the label +# shown in the inspector contextual-menu for the item that lets users copy +# the XPath of the current node +inspectorCopyXPath.label=XPath +inspectorCopyXPath.accesskey=X + +# LOCALIZATION NOTE (inspectorPasteOuterHTML.label): This is the label shown +# in the inspector contextual-menu for the item that lets users paste outer +# HTML in the current node +inspectorPasteOuterHTML.label=Outer HTML +inspectorPasteOuterHTML.accesskey=O + +# LOCALIZATION NOTE (inspectorPasteInnerHTML.label): This is the label shown +# in the inspector contextual-menu for the item that lets users paste inner +# HTML in the current node +inspectorPasteInnerHTML.label=Inner HTML +inspectorPasteInnerHTML.accesskey=I + +# LOCALIZATION NOTE (inspectorHTMLPasteBefore.label): This is the label shown +# in the inspector contextual-menu for the item that lets users paste +# the HTML before the current node +inspectorHTMLPasteBefore.label=Before +inspectorHTMLPasteBefore.accesskey=B + +# LOCALIZATION NOTE (inspectorHTMLPasteAfter.label): This is the label shown +# in the inspector contextual-menu for the item that lets users paste +# the HTML after the current node +inspectorHTMLPasteAfter.label=After +inspectorHTMLPasteAfter.accesskey=A + +# LOCALIZATION NOTE (inspectorHTMLPasteFirstChild.label): This is the label +# shown in the inspector contextual-menu for the item that lets users paste +# the HTML as the first child the current node +inspectorHTMLPasteFirstChild.label=As First Child +inspectorHTMLPasteFirstChild.accesskey=F + +# LOCALIZATION NOTE (inspectorHTMLPasteLastChild.label): This is the label +# shown in the inspector contextual-menu for the item that lets users paste +# the HTML as the last child the current node +inspectorHTMLPasteLastChild.label=As Last Child +inspectorHTMLPasteLastChild.accesskey=L + +# LOCALIZATION NOTE (inspectorScrollNodeIntoView.label): This is the label +# shown in the inspector contextual-menu for the item that lets users scroll +# the current node into view +inspectorScrollNodeIntoView.label=Scroll Into View +inspectorScrollNodeIntoView.accesskey=S + +# LOCALIZATION NOTE (inspectorHTMLDelete.label): This is the label shown in +# the inspector contextual-menu for the item that lets users delete the +# current node +inspectorHTMLDelete.label=Delete Node +inspectorHTMLDelete.accesskey=D + +# LOCALIZATION NOTE (inspectorAttributesSubmenu.label): This is the label +# shown in the inspector contextual-menu for the sub-menu of the other +# attribute items, which allow to: +# - add new attribute +# - edit attribute +# - remove attribute +inspectorAttributesSubmenu.label=Attributes +inspectorAttributesSubmenu.accesskey=A + +# LOCALIZATION NOTE (inspectorAddAttribute.label): This is the label shown in +# the inspector contextual-menu for the item that lets users add attribute +# to current node +inspectorAddAttribute.label=Add Attribute +inspectorAddAttribute.accesskey=A + +# LOCALIZATION NOTE (inspectorPseudoClassSubmenu.label): This is the label +# shown in the inspector contextual-menu for the sub-menu of the pseudo-classes. +inspectorPseudoClassSubmenu.label=Change Pseudo-class + +# LOCALIZATION NOTE (inspectorBreakpointSubmenu.label): This is the label +# shown in the inspector contextual-menu for the sub-menu of the DOM breakpoints. +inspectorBreakpointSubmenu.label=Break on… + +# LOCALIZATION NOTE (inspectorSubtreeModification.label): This is the label shown +# in the inspector contextual-menu for the item that lets users add a DOM breakpoint +# for subtree modification. +inspectorSubtreeModification.label=Subtree Modification + +# LOCALIZATION NOTE (inspectorAttributeModification.label): This is the label shown +# in the inspector contextual-menu for the item that lets users add a DOM breakpoint +# for attribute modification. +inspectorAttributeModification.label=Attribute Modification + +# LOCALIZATION NOTE (inspectorNodeRemoval.label): This is the label shown +# in the inspector contextual-menu for the item that lets users add a DOM breakpoint +# for node removal. +inspectorNodeRemoval.label=Node Removal + +# LOCALIZATION NOTE (inspectorSearchHTML.label3): This is the label that is +# shown as the placeholder for the markup view search in the inspector. +inspectorSearchHTML.label3=Search HTML + +# LOCALIZATION NOTE (inspectorImageDataUri.label): This is the label +# shown in the inspector contextual-menu for the item that lets users copy +# the URL embedding the image data encoded in Base 64 (what we name +# here Image Data URL). For more information: +# https://developer.mozilla.org/en-US/docs/Web/HTTP/data_URIs +inspectorImageDataUri.label=Image Data-URL + +# LOCALIZATION NOTE (inspectorShowDOMProperties.label): This is the label +# shown in the inspector contextual-menu for the item that lets users see +# the DOM properties of the current node. When triggered, this item +# opens the split Console and displays the properties in its side panel. +inspectorShowDOMProperties.label=Show DOM Properties + +# LOCALIZATION NOTE (inspectorShowAccessibilityProperties.label): This is the +# label shown in the inspector contextual-menu for the item that lets users see +# the accessibility tree and accessibility properties of the current node. +# When triggered, this item opens accessibility panel and selects an accessible +# object for the given node. +inspectorShowAccessibilityProperties.label=Show Accessibility Properties + +# LOCALIZATION NOTE (inspectorUseInConsole.label): This is the label +# shown in the inspector contextual-menu for the item that outputs a +# variable for the current node to the console. When triggered, +# this item opens the split Console. +inspectorUseInConsole.label=Use in Console + +# LOCALIZATION NOTE (inspectorExpandNode.label): This is the label +# shown in the inspector contextual-menu for recursively expanding +# mark-up elements +inspectorExpandNode.label=Expand All + +# LOCALIZATION NOTE (inspectorCollapseAll.label): This is the label +# shown in the inspector contextual-menu for recursively collapsing +# mark-up elements +inspectorCollapseAll.label=Collapse All + +# LOCALIZATION NOTE (inspectorScreenshotNode.label): This is the label +# shown in the inspector contextual-menu for the item that lets users take +# a screenshot of the currently selected node. +inspectorScreenshotNode.label=Screenshot Node + +# LOCALIZATION NOTE (inspectorDuplicateNode.label): This is the label +# shown in the inspector contextual-menu for the item that lets users +# duplicate the currently selected node. +inspectorDuplicateNode.label=Duplicate Node + +# LOCALIZATION NOTE (inspectorAddNode.label): This is the label shown in +# the inspector toolbar for the button that lets users add elements to the +# DOM (as children of the currently selected element). +inspectorAddNode.label=Create New Node +inspectorAddNode.accesskey=C + +# LOCALIZATION NOTE (inspectorCopyHTMLSubmenu.label): This is the label +# shown in the inspector contextual-menu for the sub-menu of the other +# copy items, which allow to: +# - Copy Inner HTML +# - Copy Outer HTML +# - Copy Unique selector +# - Copy Image data URI +inspectorCopyHTMLSubmenu.label=Copy + +# LOCALIZATION NOTE (inspectorPasteHTMLSubmenu.label): This is the label +# shown in the inspector contextual-menu for the sub-menu of the other +# paste items, which allow to: +# - Paste Inner HTML +# - Paste Outer HTML +# - Before +# - After +# - As First Child +# - As Last Child +inspectorPasteHTMLSubmenu.label=Paste + +# LOCALIZATION NOTE (inspectorCustomElementDefinition.label): This is the label +# shown in the inspector contextual-menu for custom elements to which a shadow root has +# been attached. Clicking on the menu item will open the Debugger on the custom element +# definition location. +inspectorCustomElementDefinition.label=Show Custom Element + +# LOCALIZATION NOTE (inspector.searchHTML.key): +# Key shortcut used to focus the DOM element search box on top-right corner of +# the markup view +inspector.searchHTML.key=CmdOrCtrl+F + +# LOCALIZATION NOTE (markupView.hide.key): +# Key shortcut used to hide the selected node in the markup view. +markupView.hide.key=h + +# LOCALIZATION NOTE (markupView.edit.key): +# Key shortcut used to hide the selected node in the markup view. +markupView.edit.key=F2 + +# LOCALIZATION NOTE (markupView.scrollInto.key): +# Key shortcut used to scroll the webpage in order to ensure the selected node +# is visible +markupView.scrollInto.key=s + +# LOCALIZATION NOTE (inspector.sidebar.fontInspectorTitle): +# This is the title shown in a tab in the side panel of the Inspector panel +# that corresponds to the tool displaying the list of fonts used in the page. +inspector.sidebar.fontInspectorTitle=Fonts + +# LOCALIZATION NOTE (inspector.sidebar.changesViewTitle): +# Title of the Changes sidebar tab shown in the Inspector panel. The Changes panel shows +# style changes made using DevTools. +inspector.sidebar.changesViewTitle=Changes + +# LOCALIZATION NOTE (inspector.sidebar.ruleViewTitle): +# This is the title shown in a tab in the side panel of the Inspector panel +# that corresponds to the tool displaying the list of CSS rules used +# in the page. +inspector.sidebar.ruleViewTitle=Riaghailtean + +# LOCALIZATION NOTE (inspector.sidebar.computedViewTitle): +# This is the title shown in a tab in the side panel of the Inspector panel +# that corresponds to the tool displaying the list of computed CSS values +# used in the page. +inspector.sidebar.computedViewTitle=Computed + +# LOCALIZATION NOTE (inspector.sidebar.layoutViewTitle2): +# This is the title shown in a tab in the side panel of the Inspector panel +# that corresponds to the tool displaying layout information defined in the page. +inspector.sidebar.layoutViewTitle2=Layout + +# LOCALIZATION NOTE (inspector.sidebar.animationInspectorTitle): +# This is the title shown in a tab in the side panel of the Inspector panel +# that corresponds to the tool displaying animations defined in the page. +inspector.sidebar.animationInspectorTitle=Animations + +# LOCALIZATION NOTE (inspector.sidebar.compatibilityViewTitle): +# This is the title shown in a tab in the side panel of the Inspector panel +# that corresponds to the tool displaying web compatibility information about the page. +inspector.sidebar.compatibilityViewTitle=Co-chòrdalachd + +# LOCALIZATION NOTE (inspector.eyedropper.label): A string displayed as the tooltip of +# a button in the inspector which toggles the Eyedropper tool +inspector.eyedropper.label=Grab a color from the page + +# LOCALIZATION NOTE (inspector.breadcrumbs.label): A string visible only to a screen reader and +# is used to label (using aria-label attribute) a container for inspector breadcrumbs +inspector.breadcrumbs.label=Breadcrumbs + +# LOCALIZATION NOTE (inspector.browserStyles.label): This is the label for the checkbox +# that specifies whether the styles that are not from the user's stylesheet should be +# displayed or not. +inspector.browserStyles.label=Browser styles + +# LOCALIZATION NOTE (inspector.filterStyles.placeholder): This is the placeholder that +# goes in the search box when no search term has been entered. +inspector.filterStyles.placeholder=Filter Styles + +# LOCALIZATION NOTE (inspector.addRule.tooltip): This is the tooltip shown when +# hovering the `Add new rule` button in the rules view toolbar. This should +# match ruleView.contextmenu.addNewRule in styleinspector.properties +inspector.addRule.tooltip=Add new rule + +# LOCALIZATION NOTE (inspector.togglePseudo.tooltip): This is the tooltip +# shown when hovering over the `Toggle Pseudo Class Panel` button in the +# rule view toolbar. +inspector.togglePseudo.tooltip=Toggle pseudo-classes + +# LOCALIZATION NOTE (inspector.classPanel.toggleClass.tooltip): This is the tooltip +# shown when hovering over the `Toggle Class Panel` button in the +# rule view toolbar. +inspector.classPanel.toggleClass.tooltip=Toggle classes + +# LOCALIZATION NOTE (inspector.classPanel.newClass.placeholder): This is the placeholder +# shown inside the text field used to add a new class in the rule-view. +inspector.classPanel.newClass.placeholder=Add new class + +# LOCALIZATION NOTE (inspector.classPanel.noClasses): This is the text displayed in the +# class panel when the current element has no classes applied. +inspector.classPanel.noClasses=No classes on this element + +# LOCALIZATION NOTE (inspector.noProperties): In the case where there are no CSS +# properties to display e.g. due to search criteria this message is +# displayed. +inspector.noProperties=Cha deach roghainn CSS a lorg. + +# LOCALIZATION NOTE (inspector.printSimulation.tooltip): +# This is the tooltip of the print simulation button in the Rule View toolbar +# that toggles print simulation. +inspector.printSimulation.tooltip = Toggle print media simulation for the page + +# LOCALIZATION NOTE (inspector.colorSchemeSimulationLight.tooltip): +# This is the tooltip of the light color scheme simulation button in the Rule View +# toolbar that toggles light color scheme simulation. +inspector.colorSchemeSimulationLight.tooltip=Toggle light color scheme simulation for the page + +# LOCALIZATION NOTE (inspector.colorSchemeSimulationDark.tooltip): +# This is the tooltip of the dark color scheme simulation button in the Rule View +# toolbar that toggles dark color scheme simulation. +inspector.colorSchemeSimulationDark.tooltip=Toggle dark color scheme simulation for the page + +# LOCALIZATION NOTE (markupView.scrollableBadge.label): This is the text displayed inside a +# badge, in the inspector, next to nodes that are scrollable in the page. +markupView.scrollableBadge.label=scroll + +# LOCALIZATION NOTE (markupView.scrollableBadge.tooltip): This is the tooltip that is displayed +# when hovering over badges next to scrollable elements in the inspector. +markupView.scrollableBadge.tooltip=This element has scrollable overflow. + +# LOCALIZATION NOTE (markupView.scrollableBadge.interactive.tooltip): This is the tooltip that is displayed +# when hovering over interactive badges next to scrollable elements in the inspector. +markupView.scrollableBadge.interactive.tooltip=This element has scrollable overflow. Click to reveal elements that are causing the overflow. + +# LOCALIZATION NOTE (markupView.overflowBadge.label): This is the text displayed inside a +# badge, in the inspector, next to nodes that are causing overflow in other elements. +markupView.overflowBadge.label=overflow + +# LOCALIZATION NOTE (markupView.overflowBadge.tooltip): This is the tooltip that is displayed +# when hovering over badges next to overflow causing elements in the inspector. +markupView.overflowBadge.tooltip=This element is causing an element to overflow. + +# LOCALIZATION NOTE (rulePreviewTooltip.noAssociatedRule): This is the text displayed inside +# the RulePreviewTooltip when a rule cannot be found for a CSS property declaration. +rulePreviewTooltip.noAssociatedRule=No associated rule + +# LOCALIZATION NOTE (colorPickerTooltip.contrastAgainstBgTitle): A title text for the +# contrast ratio value description that labels the background the color contrast ratio is calculated +# against, used together with the actual background color. %S in the content will be replaced by a +# span (containing bg color swatch) and textNode (containing bg color hex string) at run time +colorPickerTooltip.contrastAgainstBgTitle=Calculated against background: %S + +# LOCALIZATION NOTE (colorPickerTooltip.spectrumDraggerTitle): A title text for the +# spectrum dragger panel in the color picker tooltip. +colorPickerTooltip.spectrumDraggerTitle=Spectrum + +# LOCALIZATION NOTE (colorPickerTooltip.eyedropperTitle): A title text for the +# eyedropper in the color picker tooltip. +colorPickerTooltip.eyedropperTitle=Pick color on page + +# LOCALIZATION NOTE (colorPickerTooltip.colorNameTitle): A title text for the +# closest color name shown in the color picker tooltip, used together with the actual color. +# %S in the content will be replaced by the color name the current color is closest to. +colorPickerTooltip.colorNameTitle=Closest to: %S + +# LOCALIZATION NOTE (colorPickerTooltip.hueSliderTitle): A title text for the +# hue slider in the color picker tooltip. +colorPickerTooltip.hueSliderTitle=Hue + +# LOCALIZATION NOTE (colorPickerTooltip.alphaSliderTitle): A title text for the +# alpha slider in the color picker tooltip. +colorPickerTooltip.alphaSliderTitle=Opacity + +# LOCALIZATION NOTE (colorPickerTooltip.contrast.large.title): A title text for the color +# contrast ratio description in the color picker tooltip, used together with the specification +# that the color contrast criteria used is for large text. %S in the content will be replaced by a +# large text indicator span at run time. +colorPickerTooltip.contrast.large.title=Contrast %S: diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/jsonview.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/jsonview.properties new file mode 100644 index 0000000000000000000000000000000000000000..9c886d3f6626c521d76648c033bb37a86c058067 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/jsonview.properties @@ -0,0 +1,45 @@ +# 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/. + +# LOCALIZATION NOTE These strings are used in the JSON View tool +# that is used to inspect application/json document types loaded +# in the browser. + +# LOCALIZATION NOTE 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 (jsonViewer.tab.JSON, jsonViewer.tab.RawData, +# jsonViewer.tab.Headers): Label for a panel tab. +jsonViewer.tab.JSON=JSON +jsonViewer.tab.RawData=Raw Data +jsonViewer.tab.Headers=Headers + +# LOCALIZATION NOTE (jsonViewer.responseHeaders, jsonViewer.requestHeaders): +# Label for header groups within the 'Headers' panel. +jsonViewer.responseHeaders=Bannan-cinn na freagairt +jsonViewer.requestHeaders=Bannan-cinn an iarrtais + +# LOCALIZATION NOTE (jsonViewer.Save): Label for save command +jsonViewer.Save=Sàbhail + +# LOCALIZATION NOTE (jsonViewer.Copy): Label for clipboard copy command +jsonViewer.Copy=Copy + +# LOCALIZATION NOTE (jsonViewer.ExpandAll): Label for expanding all nodes +jsonViewer.ExpandAll=Expand All +jsonViewer.ExpandAllSlow=Expand All (slow) + +# LOCALIZATION NOTE (jsonViewer.CollapseAll): Label for collapsing all nodes +jsonViewer.CollapseAll=Collapse All + +# LOCALIZATION NOTE (jsonViewer.PrettyPrint): Label for JSON +# pretty print action button. +jsonViewer.PrettyPrint=Pretty Print + +# LOCALIZATION NOTE (jsonViewer.filterJSON): Label used in search box +# at the top right cornder of the JSON Viewer. +jsonViewer.filterJSON=Filter JSON diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/layout.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/layout.properties new file mode 100644 index 0000000000000000000000000000000000000000..9109971478a92e6c5ab16b7f148a444c885c9f99 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/layout.properties @@ -0,0 +1,129 @@ +# 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/. + +# LOCALIZATION NOTE This file contains the Layout Inspector strings. +# The Layout Inspector is a panel accessible in the Inspector sidebar. + +# LOCALIZATION NOTE (flexbox.header): The accordion header for the Flexbox panel when +# no flex container or item is selected. +flexbox.header=Flexbox + +# LOCALIZATION NOTE (flexbox.backButtonLabel): The spoken label for the button +# that returns from the display of a flex item to the flex item list. +# This label is spoken by screen readers, not displayed on screen. +flexbox.backButtonLabel=Back to Flex Container + +# LOCALIZATION (flexbox.flexContainer): The accordion header for the Flexbox panel +# when a flex container is selected. +flexbox.flexContainer=Flex Container + +# LOCALIZATION NOTE) (flexbox.flexItemOf): The accordion header for the Flexbox panel +# when a flex item is selected. %s represents the flex container selector. +flexbox.flexItemOf=Flex Item of %S + +# LOCALIZATION NOTE (flexbox.noFlexboxeOnThisPage): In the case where there are no CSS +# flex containers to display. +flexbox.noFlexboxeOnThisPage=Select a Flex container or item to continue. + +# LOCALIZATION NOTE (flexbox.flexItems): Header label displayed for the flex item list. +flexbox.flexItems=Flex Items + +# LOCALIZATION NOTE (flexbox.noFlexItems): Label shown in the flex items list section if +# there are no flex items for the flex container to display. +flexbox.noFlexItems=No flex items + +# LOCALIZATION NOTE (flexbox.itemSizing.baseSizeSectionHeader): Header label displayed +# at the start of the flex item sizing Base Size section. +flexbox.itemSizing.baseSizeSectionHeader=Base Size + +# LOCALIZATION NOTE (flexbox.itemSizing.flexibilitySectionHeader): Header label displayed +# at the start of the flex item sizing Flexibility section. +flexbox.itemSizing.flexibilitySectionHeader=Flexibility + +# LOCALIZATION NOTE (flexbox.itemSizing.minSizeSectionHeader): Header label displayed +# at the start of the flex item sizing Minimum Size section. +flexbox.itemSizing.minSizeSectionHeader=Minimum Size + +# LOCALIZATION NOTE (flexbox.itemSizing.maxSizeSectionHeader): Header label displayed at +# the start of the flex item sizing Maximum Size section. +flexbox.itemSizing.maxSizeSectionHeader=Maximum Size + +# LOCALIZATION NOTE (flexbox.itemSizing.finalSizeSectionHeader): Header label displayed at +# the start of the flex item sizing Final Size section. +flexbox.itemSizing.finalSizeSectionHeader=Final Size + +# LOCALIZATION NOTE (flexbox.itemSizing.itemContentSize): Label shown in the flex item +# sizing panel. It tells users that a given item’s base size was calculated from its +# content size when unconstrained. +flexbox.itemSizing.itemContentSize=Content Size + +# LOCALIZATION NOTE (flexbox.itemSizing.clampedToMax): Label shown in the flexbox item +# sizing panel. It tells users that a given item attempted to grow but ended up being +# clamped to a smaller max size. +# (Note that clamp is a common word in flexbox terminology. It refers to constraining an +# item's size to some defined min/max-width/height set on the element, even though there +# might have been room for it to grow, or reason for it to shrink more). +flexbox.itemSizing.clampedToMax=The item was clamped to its maximum size. + +# LOCALIZATION NOTE (flexbox.itemSizing.clampedToMin): Label shown in the flexbox item +# sizing panel. It tells users that a given item attempted to grow but ended up being +# clamped to a larger min size. +# (Note that clamp is a common word in flexbox terminology. It refers to constraining an +# item's size to some defined min/max-width/height set on the element, even though there +# might have been room for it to grow, or reason for it to shrink more). +flexbox.itemSizing.clampedToMin=The item was clamped to its minimum size. + +# LOCALIZATION NOTE (flexbox.itemSizing.setToGrow): Label shown in the flex item sizing +# panel. It tells users that a given item was set to grow. +flexbox.itemSizing.setToGrow=Item was set to grow. + +# LOCALIZATION NOTE (flexbox.itemSizing.setToShrink): Label shown in the flexbox item +# sizing panel. It tells users that a given item was set to shrink. +flexbox.itemSizing.setToShrink=Item was set to shrink. + +# LOCALIZATION NOTE (flexbox.itemSizing.notSetToGrow): Label shown in the +# flexbox item sizing panel. It tells users that a given item was not set to grow, even +# though there might have been space on the flex line for it to grow. +flexbox.itemSizing.notSetToGrow=Item was not set to grow. + +# LOCALIZATION NOTE (flexbox.itemSizing.notSetToShrink): Label shown in the +# flexbox item sizing panel. It tells users that a given item did not shrink even though +# there might not have been enough space on the flex line for all items to fit. +flexbox.itemSizing.notSetToShrink=Item was not set to shrink. + +# LOCALIZATION NOTE (flexbox.togglesFlexboxHighlighter2): The tooltip text for the Flexbox +# toggle button. +flexbox.togglesFlexboxHighlighter2=Toggle Flexbox Highlighter + +# LOCALIZATION NOTE (layout.cannotShowGridOutline, layout.cannotSHowGridOutline.title): +# In the case where the grid outline cannot be effectively displayed. +layout.cannotShowGridOutline=Cannot show outline for this grid +layout.cannotShowGridOutline.title=The selected grid’s outline cannot effectively fit inside the layout panel for it to be usable. + +# LOCALIZATION NOTE (layout.displayAreaNames): Label of the display area names setting +# option in the CSS Grid panel. +layout.displayAreaNames=Display area names + +# LOCALIZATION NOTE (layout.displayLineNumbers): Label of the display line numbers +# setting option in the CSS Grid panel. +layout.displayLineNumbers=Display line numbers + +# LOCALIZATION NOTE (layout.extendLinesInfinitely): Label of the extend lines +# infinitely setting option in the CSS Grid panel. +layout.extendLinesInfinitely=Extend grid lines infinitely + +# LOCALIZATION NOTE (layout.header): The accordion header for the CSS Grid panel. +layout.header=Grid + +# LOCALIZATION NOTE (layout.gridDisplaySettings): The header for the grid display +# settings container in the CSS Grid panel. +layout.gridDisplaySettings=Grid Display Settings + +# LOCALIZATION NOTE (layout.noGridsOnThisPage): In the case where there are no CSS grid +# containers to display. +layout.noGridsOnThisPage=CSS Grid is not in use on this page + +# LOCALIZATION NOTE (layout.overlayGrid): Alternate header for the list of grid container +# elements if only one item can be selected. +layout.overlayGrid=Overlay Grid diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/memory.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/memory.properties new file mode 100644 index 0000000000000000000000000000000000000000..22433b20fb919273a2e121f7b1f0b76e3ee25ade --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/memory.properties @@ -0,0 +1,434 @@ +# 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/. + +# LOCALIZATION NOTE These strings are used inside the Memory Tools +# which is available from the Web Developer sub-menu -> 'Memory'. +# 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 Memory Tools +# which is available from the Browser Tools sub-menu -> 'Memory'. +# 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 (snapshot.io.save): The label for the link that saves a +# snapshot to disk. +snapshot.io.save=Save + +# LOCALIZATION NOTE (snapshot.io.delete): The label for the link that deletes +# a snapshot +snapshot.io.delete=Delete + +# LOCALIZATION NOTE (snapshot.io.save.window): The title for the window +# displayed when saving a snapshot to disk. +snapshot.io.save.window=Save Snapshot + +# LOCALIZATION NOTE (snapshot.io.import.window): The title for the window +# displayed when importing a snapshot form disk. +snapshot.io.import.window=Import Snapshot + +# LOCALIZATION NOTE (snapshot.io.filter): The title for the filter used to +# filter file types (*.fxsnapshot) +snapshot.io.filter=Firefox Snapshots + +# LOCALIZATION NOTE (aggregate.mb): The label annotating the number of bytes (in +# megabytes) in a snapshot. %S represents the value, rounded to 2 decimal +# points. +aggregate.mb=%S MB + +# LOCALIZATION NOTE (snapshot-title.loading): The title for a snapshot before +# it has a creation time to display. +snapshot-title.loading=Processing… + +# LOCALIZATION NOTE (checkbox.recordAllocationStacks): The label describing the +# boolean checkbox whether or not to record call stacks. +checkbox.recordAllocationStacks=Record call stacks + +# LOCALIZATION NOTE (checkbox.recordAllocationStacks.tooltip): The tooltip for +# the label describing the boolean checkbox whether or not to record call +# stacks. +checkbox.recordAllocationStacks.tooltip=Toggle the recording of the call stack of when an object was allocated. Subsequent snapshots will be able to group and label objects by call stacks, but only with those objects created after toggling this option. Recording call stacks has a performance overhead. + +# LOCALIZATION NOTE (toolbar.displayBy): The label describing the select menu +# options of the display options. +toolbar.displayBy=Group by: + +# LOCALIZATION NOTE (toolbar.displayBy.tooltip): The tooltip for the label +# describing the select menu options of the display options. +toolbar.displayBy.tooltip=Change how objects are grouped + +# LOCALIZATION NOTE (toolbar.pop-view): The text in the button to go back to the +# previous view. +toolbar.pop-view=← + +# LOCALIZATION NOTE (toolbar.pop-view.label): The text for the label for the +# button to go back to the previous view. +toolbar.pop-view.label=Go back to aggregates + +# LOCALIZATION NOTE (toolbar.viewing-individuals): The text letting the user +# know that they are viewing individual nodes from a census group. +toolbar.viewing-individuals=⁂ Viewing individuals in group + +# LOCALIZATION NOTE (censusDisplays.coarseType.tooltip): The tooltip for the +# "coarse type" display option. +censusDisplays.coarseType.tooltip=Group items by their type + +# LOCALIZATION NOTE (censusDisplays.allocationStack.tooltip): The tooltip for +# the "call stack" display option. +censusDisplays.allocationStack.tooltip=Group items by the JavaScript stack recorded when the object was allocated + +# LOCALIZATION NOTE (censusDisplays.invertedAllocationStack.tooltip): The +# tooltip for the "inverted call stack" display option. +censusDisplays.invertedAllocationStack.tooltip=Group items by the inverted JavaScript call stack recorded when the object was created + +# LOCALIZATION NOTE (toolbar.labelBy): The label describing the select menu +# options of the label options. +toolbar.labelBy=Label by: + +# LOCALIZATION NOTE (toolbar.labelBy): The tooltip for the label describing the +# select menu options of the label options. +toolbar.labelBy.tooltip=Change how objects are labeled + +# LOCALIZATION NOTE (dominatorTreeDisplays.coarseType.tooltip): The tooltip for +# the "coarse type" dominator tree display option. +dominatorTreeDisplays.coarseType.tooltip=Label objects by the broad categories they fit in + +# LOCALIZATION NOTE (dominatorTreeDisplays.allocationStack.tooltip): The +# tooltip for the "call stack" dominator tree display option. +dominatorTreeDisplays.allocationStack.tooltip=Label objects by the JavaScript stack recorded when it was allocated + +# LOCALIZATION NOTE (treeMapDisplays.coarseType.tooltip): The tooltip for +# the "coarse type" tree map display option. +treeMapDisplays.coarseType.tooltip=Label objects by the broad categories they fit in + +# LOCALIZATION NOTE (toolbar.view): The label for the view selector in the +# toolbar. +toolbar.view=View: + +# LOCALIZATION NOTE (toolbar.view.tooltip): The tooltip for the label for the +# view selector in the toolbar. +toolbar.view.tooltip=Change the view of the snapshot + +# LOCALIZATION NOTE (toolbar.view.census): The label for the census view option +# in the toolbar. +toolbar.view.census=Aggregate + +# LOCALIZATION NOTE (toolbar.view.census.tooltip): The tooltip for the label for +# the census view option in the toolbar. +toolbar.view.census.tooltip=View a summary of the snapshot’s contents by aggregating objects into groups + +# LOCALIZATION NOTE (toolbar.view.dominators): The label for the dominators view +# option in the toolbar. +toolbar.view.dominators=Dominators + +# LOCALIZATION NOTE (toolbar.view.dominators.tooltip): The tooltip for the label +# for the dominators view option in the toolbar. +toolbar.view.dominators.tooltip=View the dominator tree and surface the largest structures in the snapshot + +# LOCALIZATION NOTE (toolbar.view.treemap): The label for the tree map option +# in the toolbar. +toolbar.view.treemap=Tree Map + +# LOCALIZATION NOTE (toolbar.view.treemap.tooltip): The tooltip for the label for +# the tree map view option in the toolbar. +toolbar.view.treemap.tooltip=Visualize memory usage: larger blocks account for a larger percent of memory usage + +# LOCALIZATION NOTE (take-snapshot): The label describing the button that +# initiates taking a snapshot, either as the main label, or a tooltip. +take-snapshot=Take snapshot + +# LOCALIZATION NOTE (import-snapshot): The label describing the button that +# initiates importing a snapshot. +import-snapshot=Import… + +# LOCALIZATION NOTE (clear-snapshots.tooltip): The tooltip for the button that +# deletes existing snapshot. +clear-snapshots.tooltip=Delete all snapshots + +# LOCALIZATION NOTE (diff-snapshots.tooltip): The tooltip for the button that +# initiates selecting two snapshots to diff with each other. +diff-snapshots.tooltip=Compare snapshots + +# LOCALIZATION NOTE (filter.placeholder): The placeholder text used for the +# memory tool's filter search box. +filter.placeholder=Filter + +# LOCALIZATION NOTE (filter.tooltip): The tooltip text used for the memory +# tool's filter search box. +filter.tooltip=Filter the contents of the snapshot + +# LOCALIZATION NOTE (tree-item.view-individuals.tooltip): The tooltip for the +# button to view individuals in this group. +tree-item.view-individuals.tooltip=View individual nodes in this group and their retaining paths + +# LOCALIZATION NOTE (tree-item.load-more): The label for the links to fetch the +# lazily loaded sub trees in the dominator tree view. +tree-item.load-more=Load more… + +# LOCALIZATION NOTE (tree-item.rootlist): The label for the root of the +# dominator tree. +tree-item.rootlist=GC Roots + +# LOCALIZATION NOTE (tree-item.nostack): The label describing the row in the heap tree +# that represents a row broken down by call stack when no stack was available. +tree-item.nostack=(no stack available) + +# LOCALIZATION NOTE (tree-item.nofilename): The label describing the row in the +# heap tree that represents a row broken down by filename when no filename was +# available. +tree-item.nofilename=(no filename available) + +# LOCALIZATION NOTE (tree-item.root): The label describing the row in the heap tree +# that represents the root of the tree when inverted. +tree-item.root=(root) + +# LOCALIZATION NOTE (tree-item.percent2): A percent of bytes or count displayed in the tree view. +# there are two "%" after %S to escape and display "%" +tree-item.percent2=%S%% + +# LOCALIZATION NOTE (diffing.baseline): The name of the baseline snapshot in a +# diffing comparison. +diffing.baseline=Baseline + +# LOCALIZATION NOTE (diffing.comparison): The name of the snapshot being +# compared to the baseline in a diffing comparison. +diffing.comparison=Comparison + +# LOCALIZATION NOTE (diffing.prompt.selectBaseline): The prompt to select the +# first snapshot when doing a diffing comparison. +diffing.prompt.selectBaseline=Select the baseline snapshot + +# LOCALIZATION NOTE (diffing.prompt.selectComparison): The prompt to select the +# second snapshot when doing a diffing comparison. +diffing.prompt.selectComparison=Select the snapshot to compare to the baseline + +# LOCALIZATION NOTE (diffing.state.error): The label describing the diffing +# state ERROR, used in the snapshot list when an error occurs while diffing two +# snapshots. +diffing.state.error=Error + +# LOCALIZATION NOTE (diffing.state.error.full): The text describing the diffing +# state ERROR, used in the main view when an error occurs while diffing two +# snapshots. +diffing.state.error.full=There was an error while comparing snapshots. + +# LOCALIZATION NOTE (diffing.state.taking-diff): The label describing the diffin +# state TAKING_DIFF, used in the snapshots list when computing the difference +# between two snapshots. +diffing.state.taking-diff=Computing difference… + +# LOCALIZATION NOTE (diffing.state.taking-diff.full): The label describing the +# diffing state TAKING_DIFF, used in the main view when computing the difference +# between two snapshots. +diffing.state.taking-diff.full=Computing difference… + +# LOCALIZATION NOTE (diffing.state.selecting): The label describing the diffing +# state SELECTING. +diffing.state.selecting=Select two snapshots to compare + +# LOCALIZATION NOTE (diffing.state.selecting.full): The label describing the +# diffing state SELECTING, used in the main view when selecting snapshots to +# diff. +diffing.state.selecting.full=Select two snapshots to compare + +# LOCALIZATION NOTE (dominatorTree.state.computing): The label describing the +# dominator tree state COMPUTING. +dominatorTree.state.computing=Generating dominators report… + +# LOCALIZATION NOTE (dominatorTree.state.computing): The label describing the +# dominator tree state COMPUTING, used in the dominator tree view. +dominatorTree.state.computing.full=Generating dominators report… + +# LOCALIZATION NOTE (dominatorTree.state.fetching): The label describing the +# dominator tree state FETCHING. +dominatorTree.state.fetching=Computing sizes… + +# LOCALIZATION NOTE (dominatorTree.state.fetching): The label describing the +# dominator tree state FETCHING, used in the dominator tree view. +dominatorTree.state.fetching.full=Computing dominator’s retained sizes… + +# LOCALIZATION NOTE (dominatorTree.state.incrementalFetching): The label +# describing the dominator tree state INCREMENTAL_FETCHING. +dominatorTree.state.incrementalFetching=Fetching… + +# LOCALIZATION NOTE (dominatorTree.state.incrementalFetching): The label describing the +# dominator tree state INCREMENTAL_FETCHING, used in the dominator tree view. +dominatorTree.state.incrementalFetching.full=Fetching more… + +# LOCALIZATION NOTE (dominatorTree.state.error): The label describing the +# dominator tree state ERROR. +dominatorTree.state.error=Error + +# LOCALIZATION NOTE (dominatorTree.state.error): The label describing the +# dominator tree state ERROR, used in the dominator tree view. +dominatorTree.state.error.full=There was an error while processing the dominator tree + +# LOCALIZATION NOTE (snapshot.state.saving.full): The label describing the +# snapshot state SAVING, used in the main heap view. +snapshot.state.saving.full=Saving snapshot… + +# LOCALIZATION NOTE (snapshot.state.reading.full): The label describing the +# snapshot state READING, and SAVED, due to these states being combined +# visually, used in the main heap view. +snapshot.state.reading.full=Reading snapshot… + +# LOCALIZATION NOTE (snapshot.state.saving-census.full): The label describing +# the snapshot state SAVING, used in the main heap view. +snapshot.state.saving-census.full=Generating aggregate report… + +# LOCALIZATION NOTE (snapshot.state.saving-tree-map.full): The label describing +# the snapshot state SAVING, used in the main heap view. +snapshot.state.saving-tree-map.full=Saving tree map… + +# LOCALIZATION NOTE (snapshot.state.error.full): The label describing the +# snapshot state ERROR, used in the main heap view. +snapshot.state.error.full=There was an error processing this snapshot. + +# LOCALIZATION NOTE (individuals.state.error): The short message displayed when +# there is an error fetching individuals from a group. +individuals.state.error=Error + +# LOCALIZATION NOTE (individuals.state.error.full): The longer message displayed +# when there is an error fetching individuals from a group. +individuals.state.error.full=There was an error while fetching individuals in the group + +# LOCALIZATION NOTE (individuals.state.fetching): The short message displayed +# while fetching individuals. +individuals.state.fetching=Fetching… + +# LOCALIZATION NOTE (individuals.state.fetching.full): The longer message +# displayed while fetching individuals. +individuals.state.fetching.full=Fetching individuals in group… + +# LOCALIZATION NOTE (individuals.field.node): The header label for an individual +# node. +individuals.field.node=Node + +# LOCALIZATION NOTE (individuals.field.node.tooltip): The tooltip for the header +# label for an individual node. +individuals.field.node.tooltip=The individual node in the snapshot + +# LOCALIZATION NOTE (snapshot.state.saving): The label describing the snapshot +# state SAVING, used in the snapshot list view +snapshot.state.saving=Saving snapshot… + +# LOCALIZATION NOTE (snapshot.state.importing): The label describing the +# snapshot state IMPORTING, used in the snapshot list view +snapshot.state.importing=Importing snapshot… + +# LOCALIZATION NOTE (snapshot.state.reading): The label describing the snapshot +# state READING, and SAVED, due to these states being combined visually, used in +# the snapshot list view. +snapshot.state.reading=Reading snapshot… + +# LOCALIZATION NOTE (snapshot.state.saving-census): The label describing the +# snapshot state SAVING, used in snapshot list view. +snapshot.state.saving-census=Saving report… + +# LOCALIZATION NOTE (snapshot.state.saving-census): The label describing the +# snapshot state SAVING, used in snapshot list view. +snapshot.state.saving-tree-map=Saving tree map… + +# LOCALIZATION NOTE (snapshot.state.error): The label describing the snapshot +# state ERROR, used in the snapshot list view. +snapshot.state.error=Error + +# LOCALIZATION NOTE (heapview.no-difference): Message displayed when there is no +# difference between two snapshots. +heapview.no-difference=No difference between the baseline and comparison. + +# LOCALIZATION NOTE (heapview.none-match): Message displayed when there are no +# matches when filtering. +heapview.none-match=No matches. + +# LOCALIZATION NOTE (heapview.none-match): Message displayed when there report +# is empty. +heapview.empty=Empty. + +# LOCALIZATION NOTE (heapview.noAllocationStacks): The message displayed to +# users when selecting a display by "call stack" but no call stacks +# were recorded in the heap snapshot. +heapview.noAllocationStacks=No call stacks found. Record call stacks before taking a snapshot. + +# LOCALIZATION NOTE (heapview.field.retainedSize): The name of the column in the +# dominator tree view for retained byte sizes. +heapview.field.retainedSize=Retained Size (Bytes) + +# LOCALIZATION NOTE (heapview.field.retainedSize.tooltip): The tooltip for the +# column header in the dominator tree view for retained byte sizes. +heapview.field.retainedSize.tooltip=The sum of the size of the object itself, and the sizes of all the other objects kept alive by it + +# LOCALIZATION NOTE (heapview.field.shallowSize): The name of the column in the +# dominator tree view for shallow byte sizes. +heapview.field.shallowSize=Shallow Size (Bytes) + +# LOCALIZATION NOTE (heapview.field.shallowSize.tooltip): The tooltip for the +# column header in the dominator tree view for shallow byte sizes. +heapview.field.shallowSize.tooltip=The size of the object itself + +# LOCALIZATION NOTE (dominatortree.field.label): The name of the column in the +# dominator tree for an object's label. +dominatortree.field.label=Dominator + +# LOCALIZATION NOTE (dominatortree.field.label.tooltip): The tooltip for the column +# header in the dominator tree view for an object's label. +dominatortree.field.label.tooltip=The label for an object in memory + +# LOCALIZATION NOTE (heapview.field.bytes): The name of the column in the heap +# view for bytes. +heapview.field.bytes=Bytes + +# LOCALIZATION NOTE (heapview.field.bytes.tooltip): The tooltip for the column +# header in the heap view for bytes. +heapview.field.bytes.tooltip=The number of bytes taken up by this group, excluding subgroups + +# LOCALIZATION NOTE (heapview.field.count): The name of the column in the heap +# view for count. +heapview.field.count=Count + +# LOCALIZATION NOTE (heapview.field.count.tooltip): The tooltip for the column +# header in the heap view for count. +heapview.field.count.tooltip=The number of reachable objects in this group, excluding subgroups + +# LOCALIZATION NOTE (heapview.field.totalbytes): The name of the column in the +# heap view for total bytes. +heapview.field.totalbytes=Total Bytes + +# LOCALIZATION NOTE (heapview.field.totalbytes.tooltip): The tooltip for the +# column header in the heap view for total bytes. +heapview.field.totalbytes.tooltip=The number of bytes taken up by this group, including subgroups + +# LOCALIZATION NOTE (heapview.field.totalcount): The name of the column in the +# heap view for total count. +heapview.field.totalcount=Total Count + +# LOCALIZATION NOTE (heapview.field.totalcount.tooltip): The tooltip for the +# column header in the heap view for total count. +heapview.field.totalcount.tooltip=The number of reachable objects in this group, including subgroups + +# LOCALIZATION NOTE (heapview.field.name): The name of the column in the heap +# view for name. +heapview.field.name=Group + +# LOCALIZATION NOTE (heapview.field.name.tooltip): The tooltip for the column +# header in the heap view for name. +heapview.field.name.tooltip=The name of this group + +# LOCALIZATION NOTE (shortest-paths.header): The header label for the shortest +# paths pane. +shortest-paths.header=Retaining Paths (from Garbage Collector Roots) + +# LOCALIZATION NOTE (shortest-paths.select-node): The message displayed in the +# shortest paths pane when a node is not yet selected. +shortest-paths.select-node=Select an item to view its retaining paths + +# LOCALIZATION NOTE (tree-map.node-count): The label for the count value of a +# node in the tree map +tree-map.node-count=count diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/menus.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/menus.properties new file mode 100644 index 0000000000000000000000000000000000000000..fb024e821193a2a96f236f316d00da3f4e165afa --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/menus.properties @@ -0,0 +1,29 @@ +# 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/. + +# LOCALIZATION NOTE (devtoolsRemoteDebugging.label): This is the label for the menu item +# in Tools > Browser Tools. Clicking on this menu item will open about:debugging which +# acts as a hub for debugging remote devices. +devtoolsRemoteDebugging.label = Remote Debugging +devtoolsRemoteDebugging.accesskey = R + +browserConsoleCmd.label = Browser Console +browserConsoleCmd.accesskey = B + +responsiveDesignMode.label = Responsive Design Mode +responsiveDesignMode.accesskey = R + +eyedropper.label = Eyedropper +eyedropper.accesskey = y + +# LOCALIZATION NOTE (browserToolboxMenu.label): This is the label for the +# application menu item that opens the browser toolbox UI in the Tools menu. +browserToolboxMenu.label = Browser Toolbox +browserToolboxMenu.accesskey = e + +webDeveloperToolsMenu.label = Web Developer Tools +webDeveloperToolsMenu.accesskey = T + +extensionsForDevelopersCmd.label = Extensions for Developers +extensionsForDevelopersCmd.accesskey = f diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/netmonitor.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/netmonitor.properties new file mode 100644 index 0000000000000000000000000000000000000000..792b921856c4a1ab3d9d6d0ad26b45c73f367df9 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/netmonitor.properties @@ -0,0 +1,1640 @@ +# 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/. + +# 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. +# 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 (netmonitor.security.state.secure) +# This string is used as an tooltip for request that was performed over secure +# channel i.e. the connection was encrypted. +netmonitor.security.state.secure=The connection used to fetch this resource was secure. + +# LOCALIZATION NOTE (netmonitor.security.state.insecure) +# This string is used as an tooltip for request that was performed over insecure +# channel i.e. the connection was not https +netmonitor.security.state.insecure=The connection used to fetch this resource was not secure. + +# LOCALIZATION NOTE (netmonitor.security.state.broken) +# This string is used as an tooltip for request that failed due to security +# issues. +netmonitor.security.state.broken=A security error prevented the resource from being loaded. + +# LOCALIZATION NOTE (netmonitor.security.state.weak) +# This string is used as an tooltip for request that had minor security issues +netmonitor.security.state.weak=This resource was transferred over a connection that used weak encryption. + +# LOCALIZATION NOTE (netmonitor.security.enabled): +# This string is used to indicate that a specific security feature is used by +# a connection in the security details tab. +# For example: "HTTP Strict Transport Security: Enabled" +netmonitor.security.enabled=Air a chur an comas + +# LOCALIZATION NOTE (netmonitor.security.disabled): +# This string is used to indicate that a specific security feature is not used by +# a connection in the security details tab. +# For example: "HTTP Strict Transport Security: Disabled" +netmonitor.security.disabled=Air a chur à comas + +# LOCALIZATION NOTE (netmonitor.security.hostHeader): +# This string is used as a header for section containing security information +# related to the remote host. %S is replaced with the domain name of the remote +# host. For example: Host example.com +netmonitor.security.hostHeader=Host %S: + +# LOCALIZATION NOTE (netmonitor.security.notAvailable): +# This string is used to indicate that a certain piece of information is not +# available to be displayed. For example a certificate that has no organization +# defined: +# Organization: <Not Available> +netmonitor.security.notAvailable=<Not Available> + +# LOCALIZATION NOTE (collapseDetailsPane): This is the tooltip for the button +# that collapses the network details pane in the UI. +collapseDetailsPane=Hide request details + +# LOCALIZATION NOTE (collapseActionPane): This is the tooltip for the button +# that collapses the network action pane in the UI. +collapseActionPane=Hide network action + +# LOCALIZATION NOTE (allTabsMenuButton.tooltip): The tooltip that gets +# displayed when hovering over the tabs overflow button. +allTabsMenuButton.tooltip=Show all tabs + +# LOCALIZATION NOTE (headersEmptyText): This is the text displayed in the +# headers tab of the network details pane when there are no headers available. +headersEmptyText=No headers for this request + +# LOCALIZATION NOTE (headersFilterText): This is the text displayed in the +# headers tab of the network details pane for the filtering input. +headersFilterText=Filter headers + +# LOCALIZATION NOTE (messagesEmptyText): This is the text displayed in the +# WebSockets tab of the network details pane when there are no frames available. +messagesEmptyText=No messages for this request + +# LOCALIZATION NOTE (cookiesEmptyText): This is the text displayed in the +# cookies tab of the network details pane when there are no cookies available. +cookiesEmptyText=No cookies for this request + +# LOCALIZATION NOTE (cookiesFilterText): This is the text displayed in the +# cookies tab of the network details pane for the filtering input. +cookiesFilterText=Filter cookies + +# LOCALIZATION NOTE (responseEmptyText): This is the text displayed in the +# response tab of the network details pane when the response is empty or not +# available for shown. +responseEmptyText=No response data available for this request + +# LOCALIZATION NOTE (paramsNoPayloadText): This is the text displayed in the +# request tab of the network details pane when there are no params available. +paramsNoPayloadText=No payload for this request + +# LOCALIZATION NOTE (paramsFilterText): This is the text displayed in the +# request tab of the network details pane for the filtering input. +paramsFilterText=Filter request parameters + +# LOCALIZATION NOTE (paramsQueryString): This is the label displayed +# in the network details request tab identifying the query string. +paramsQueryString=Query string + +# LOCALIZATION NOTE (paramsFormData): This is the label displayed +# in the network details request tab identifying the form data. +paramsFormData=Form data + +# LOCALIZATION NOTE (paramsPostPayload): This is the label displayed +# in the network details request tab identifying the request payload. +paramsPostPayload=Request payload + +# 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=Raw + +# LOCALIZATION NOTE (requestHeaders): This is the label displayed +# in the network details headers tab identifying the request headers. +requestHeaders=Request headers + +# LOCALIZATION NOTE (requestHeadersFromUpload): This is the label displayed +# in the network details headers tab identifying the request headers from +# the upload stream of a POST request's body. +requestHeadersFromUpload=Request headers from upload stream + +# LOCALIZATION NOTE (responseHeaders): This is the label displayed +# in the network details headers tab identifying the response headers. +responseHeaders=Response headers + +# LOCALIZATION NOTE (requestCookies): This is the label displayed +# in the network details request tab identifying the request cookies. +requestCookies=Request cookies + +# LOCALIZATION NOTE (responseCookies): This is the label displayed +# in the network details request tab identifying the response cookies. +responseCookies=Response cookies + +# LOCALIZATION NOTE (responsePayload): This is the label displayed +# in the network details response tab identifying the response payload. +responsePayload=Response payload + +# 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=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. +jsonFilterText=Filter properties + +# LOCALIZATION NOTE (jsonScopeName): This is the text displayed +# in the response tab of the network details pane for a JSON scope. +jsonScopeName=JSON + +# LOCALIZATION NOTE (jsonpScopeName): This is the text displayed +# in the response tab of the network details pane for a JSONP scope. +jsonpScopeName=JSONP → callback %S() + +# 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 +jsonXssiStripped=The string “%S” was removed from the beginning of the JSON shown below + +# 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. +responseTruncated=Response has been truncated + +# LOCALIZATION NOTE (requestTruncated): This is the text displayed +# in the request tab of the network details pane when the request is over +# the truncation limit and thus was truncated. +requestTruncated=Request has been truncated + +# LOCALIZATION NOTE (networkMenu.raced): This is the label displayed +# in the network menu specifying the transfer or a request is +# raced. %S refers to the current transfer size. +networkMenu.raced=%S (raced) + +# LOCALIZATION NOTE (networkMenu.sortedAsc): This is the tooltip displayed +# in the network table toolbar, for any column that is sorted ascending. +networkMenu.sortedAsc=Sorted ascending + +# LOCALIZATION NOTE (networkMenu.sortedDesc): This is the tooltip displayed +# in the network table toolbar, for any column that is sorted descending. +networkMenu.sortedDesc=Sorted descending + +# LOCALIZATION NOTE (networkMenu.summary.tooltip.perf): A tooltip explaining +# what the perf button does +networkMenu.summary.tooltip.perf=Start performance analysis + +# LOCALIZATION NOTE (networkMenu.summary.tooltip.domContentLoaded): A tooltip explaining +# what the DOMContentLoaded label displays +networkMenu.summary.tooltip.domContentLoaded=Time when “DOMContentLoad” event occurred + +# LOCALIZATION NOTE (networkMenu.summary.tooltip.load): A tooltip explaining +# what the load label displays +networkMenu.summary.tooltip.load=Time when “load” event occurred + +# LOCALIZATION NOTE (networkMenu.summary.requestsCount2): This label is displayed +# in the network table footer providing the number of requests +# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals +networkMenu.summary.requestsCount2=One request;#1 requests;#1 requests;#1 requests + +# LOCALIZATION NOTE (networkMenu.summary.requestsCountEmpty): This label is displayed +# in the network table footer when there are no requests +networkMenu.summary.requestsCountEmpty=No requests + +# LOCALIZATION NOTE (networkMenu.summary.tooltip.requestsCount): A tooltip explaining +# what the requestsCount label displays +networkMenu.summary.tooltip.requestsCount=Number of requests + +# LOCALIZATION NOTE (networkMenu.summary.transferred): This label is displayed +# in the network table footer providing the transferred size. +networkMenu.summary.transferred=%S / %S transferred + +# LOCALIZATION NOTE (networkMenu.summary.tooltip.transferred): A tooltip explaining +# what the transferred label displays +networkMenu.summary.tooltip.transferred=Size/transferred size of all requests + +# LOCALIZATION NOTE (networkMenu.summary.finish): This label is displayed +# in the network table footer providing the transfer time. +networkMenu.summary.finish=Finish: %S + +# LOCALIZATION NOTE (networkMenu.summary.tooltip.finish): A tooltip explaining +# what the finish label displays +networkMenu.summary.tooltip.finish=Total time needed to load all requests + +# LOCALIZATION NOTE (networkMenu.ws.summary.framesCount2): This label is displayed +# in the messages table footer providing the number of frames +# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals +networkMenu.ws.summary.framesCount2=#1 message;#1 messages;#1 messages;#1 messages + +# LOCALIZATION NOTE (networkMenu.ws.summary.framesCountEmpty): This label is displayed +# in the messages table footer when there are no frames +networkMenu.ws.summary.framesCountEmpty=No messages + +# LOCALIZATION NOTE (networkMenu.ws.summary.tooltip.framesCount): A tooltip explaining +# what the framesCount label displays +networkMenu.ws.summary.tooltip.framesCount=Number of messages + +# LOCALIZATION NOTE (networkMenu.ws.summary.tooltip.framesTotalSize): A tooltip explaining +# what the framesTotalSize label displays +networkMenu.ws.summary.tooltip.framesTotalSize=Total size of displayed messages + +# LOCALIZATION NOTE (networkMenu.ws.summary.label.framesTranferredSize): A label showing +# summary size info related to the current list of WS messages +# %1$S is the total size of the transferred data, %2$S is the size of sent data, %3$S is the size of received data. +networkMenu.ws.summary.label.framesTranferredSize=%1$S total, %2$S sent, %3$S received + +# LOCALIZATION NOTE (networkMenu.ws.summary.tooltip.framesTotalTime): A tooltip explaining +# what framesTotalTime displays +networkMenu.ws.summary.tooltip.framesTotalTime=Total elapsed time between the first and last displayed messages + +# LOCALIZATION NOTE (networkMenu.sizeB): This is the label displayed +# in the network menu specifying the size of a request (in bytes). +networkMenu.sizeB=%S B + +# LOCALIZATION NOTE (networkMenu.size.kB): This is the label displayed +# in the network menu specifying the size of a request (in kilobytes). +networkMenu.size.kB=%S kB + +# LOCALIZATION NOTE (networkMenu.sizeMB): This is the label displayed +# in the network menu specifying the size of a request (in megabytes). +networkMenu.sizeMB=%S MB + +# LOCALIZATION NOTE (networkMenu.sizeGB): This is the label displayed +# in the network menu specifying the size of a request (in gigabytes). +networkMenu.sizeGB=%S GB + +# LOCALIZATION NOTE (networkMenu.sizeUnavailable): This is the label displayed +# in the network menu specifying the transferred size of a request is +# unavailable. +networkMenu.sizeUnavailable=— + +# LOCALIZATION NOTE (networkMenu.sizeUnavailable.title): This is the tooltip +# displayed in the network menu specifying that the transferred size of a +# request is unavailable. +networkMenu.sizeUnavailable.title=Transferred size is not available + +# LOCALIZATION NOTE (networkMenu.sizeCached): This is the label displayed +# in the network menu and the headers panel specifying the transfer or a request is +# cached. +networkMenu.sizeCached=cached + +# LOCALIZATION NOTE (networkMenu.sizeServiceWorker): This is the label displayed +# in the network menu and the headers panel specifying the transferred of a request +# computed by a service worker. +networkMenu.sizeServiceWorker=service worker + +# LOCALIZATION NOTE (networkMenu.blocked2): This is a generic message for a +# URL that has been blocked for an unknown reason +networkMenu.blocked2=Blocked + +# LOCALIZATION NOTE (networkMenu.blockedby): This is a generic message for a +# URL that has been blocked by an extension +# %S is the extension name. +networkMenu.blockedby=Blocked By %S + +# LOCALIZATION NOTE (networkMenu.blockedTooltip): This is a the text displayed +# as a tooltip for the blocked icon in the request list +networkMenu.blockedTooltip=Blocked + +# LOCALIZATION NOTE (networkMenu.totalMS2): This is the label displayed +# in the network menu specifying the time for a request to finish (in milliseconds). +networkMenu.totalMS2=%S ms + +# This string is used to concatenate tooltips (netmonitor.waterfall.tooltip.*) +# in the requests waterfall for total time (in milliseconds). \\u0020 represents +# a whitespace. You can replace this with a different character, e.g. an hyphen +# or a period, if a comma doesn't work for your language. +netmonitor.waterfall.tooltip.separator=,\u0020 + +# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.total): This is part of the tooltip +# displayed in the requests waterfall for total time (in milliseconds). +netmonitor.waterfall.tooltip.total=Total %S ms + +# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.blocked): This is part of the tooltip +# displayed in the requests waterfall for blocked time (in milliseconds). +netmonitor.waterfall.tooltip.blocked=Blocked %S ms + +# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.dns): This is part of the tooltip +# displayed in the requests waterfall for dns time (in milliseconds). +netmonitor.waterfall.tooltip.dns=DNS %S ms + +# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.ssl): This is part of the tooltip +# displayed in the requests waterfall for tls setup time (in milliseconds). +netmonitor.waterfall.tooltip.ssl=TLS %S ms + +# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.connect): This is part of the tooltip +# displayed in the requests waterfall for connect time (in milliseconds). +netmonitor.waterfall.tooltip.connect=Connect %S ms + +# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.send): This is part of the tooltip +# displayed in the requests waterfall for send time (in milliseconds). +netmonitor.waterfall.tooltip.send=Send %S ms + +# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.wait): This is part of the tooltip +# displayed in the requests waterfall for wait time (in milliseconds). +netmonitor.waterfall.tooltip.wait=Wait %S ms + +# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.receive): This is part of the tooltip +# displayed in the requests waterfall for receive time (in milliseiconds). +netmonitor.waterfall.tooltip.receive=Receive %S ms + +# LOCALIZATION NOTE (netmonitor.timings.requestTiming): This is the title of the existing +# section in Timings side panel. This section contains request timings. +netmonitor.timings.requestTiming=Request Timing + +# LOCALIZATION NOTE (netmonitor.timings.serverTiming): This is the title of a new section +# in Timings side panel. This section contains server timings transferred from the server +# through the "Server-Timing" header. +netmonitor.timings.serverTiming=Server Timing + +# 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=Queued: %S + +# LOCALIZATION NOTE (netmonitor.timings.startedAt): Relative to the first request, +# when the request actually started. %S is time expressed in milliseconds or minutes. +netmonitor.timings.startedAt=Started: %S + +# LOCALIZATION NOTE (netmonitor.timings.downloadedAt): Relative to first request, +# when the request actually finished downloading. +# %S is time expressed in milliseconds or minutes. +netmonitor.timings.downloadedAt=Downloaded: %S + +# LOCALIZATION NOTE (netmonitor.timings.noTimings): Message that displays in the +# timings pane when thea request has been blocked +netmonitor.timings.noTimings=No timings for this request + +# LOCALIZATION NOTE (networkMenu.millisecond): This is the label displayed +# in the network menu specifying timing interval divisions (in milliseconds). +networkMenu.millisecond=%S ms + +# LOCALIZATION NOTE (networkMenu.second): This is the label displayed +# in the network menu specifying timing interval divisions (in seconds). +networkMenu.second=%S s + +# LOCALIZATION NOTE (networkMenu.minute): This is the label displayed +# in the network menu specifying timing interval divisions (in minutes). +networkMenu.minute=%S min + +# LOCALIZATION NOTE (pieChart.loading): This is the label displayed +# for pie charts (e.g., in the performance analysis view) when there is +# no data available yet. +pieChart.loading='Ga luchdadh + +# LOCALIZATION NOTE (pieChart.unavailable): This is the label displayed +# for pie charts (e.g., in the performance analysis view) when there is +# no data available, even after loading it. +pieChart.unavailable=Falamh + +# 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). +pieChart.ariaLabel=Pie chart representing the size of each type of request in proportion to each other + +# 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%"). +pieChart.sliceAriaLabel=%1$S: %2$S + +# 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. +tableChart.loading=Fuirich ort… + +# LOCALIZATION NOTE (tableChart.unavailable): This is the label displayed +# for table charts (e.g., in the performance analysis view) when there is +# no data available, even after loading it. +tableChart.unavailable=No data available + +# LOCALIZATION NOTE (charts.size.kB): This is the label displayed +# in pie or table charts specifying the size of a request (in kilobytes). +charts.size.kB=%S kB + +# LOCALIZATION NOTE (charts.transferredSize.kB): This is the label displayed +# in pie or table charts specifying the size of a transferred request (in kilobytes). +charts.transferredSize.kB=%S kB + +# 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 s + +# LOCALIZATION NOTE (charts.totalTransferredSize.kB): This is the label displayed +# in the performance analysis view for total transferred size, in kilobytes. +charts.totalTransferredSize.kB=Transferred Size: %S kB + +# LOCALIZATION NOTE (charts.cacheEnabled): This is the label displayed +# in the performance analysis view for "cache enabled" charts. +charts.cacheEnabled=Primed cache + +# LOCALIZATION NOTE (charts.cacheDisabled): This is the label displayed +# in the performance analysis view for "cache disabled" charts. +charts.cacheDisabled=Empty cache + +# LOCALIZATION NOTE (charts.learnMore): This is the label displayed +# in the performance analysis view, with a link to external documentation. +charts.learnMore=Learn more about performance analysis + +# LOCALIZATION NOTE (charts.totalSize.kB): This is the label displayed +# in the performance analysis view for total requests size, in kilobytes. +charts.totalSize.kB=Size: %S kB + +# 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 +# total requests time, in seconds. +charts.totalSeconds=Time: #1 second;Time: #1 seconds;Time: #1 seconds;Time: #1 seconds + +# LOCALIZATION NOTE (charts.totalSecondsNonBlocking): 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 +# total requests time (non-blocking), in seconds. +charts.totalSecondsNonBlocking=Non blocking time: #1 second;Non blocking time: #1 seconds;Non blocking time: #1 seconds;Non blocking time: #1 seconds + +# LOCALIZATION NOTE (charts.totalCached): This is the label displayed +# in the performance analysis view for total cached responses. +charts.totalCached=Cached responses: %S + +# LOCALIZATION NOTE (charts.totalCount): This is the label displayed +# in the performance analysis view for total requests. +charts.totalCount=Total requests: %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. +charts.requestsNumber=Number of requests + +# 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=Size + +# LOCALIZATION NOTE (charts.type): This is the label displayed +# in the header column in the performance analysis view for type of request. +charts.type=Type + +# LOCALIZATION NOTE (charts.transferred): This is the label displayed +# in the header column in the performance analysis view for transferred +# size of the request. +charts.transferred=Transferred + +# LOCALIZATION NOTE (charts.time): This is the label displayed +# in the header column in the performance analysis view for time of request. +charts.time=Time + +# LOCALIZATION NOTE (charts.nonBlockingTime): This is the label displayed +# in the header column in the performance analysis view for non blocking +# time of request. +charts.nonBlockingTime=Non blocking time + +# LOCALIZATION NOTE (netRequest.originalFileURL.tooltip): This is the tooltip +# displayed for the file's original URL value displayed in the file column of +# a request. +netRequest.originalFileURL.tooltip=Original: %S + +# LOCALIZATION NOTE (netRequest.decodedFileURL.tooltip): This is the tooltip +# displayed for the file's decoded URL value displayed in the file column of +# a request. +netRequest.decodedFileURL.tooltip=Decoded: %S + +# LOCALIZATION NOTE (certmgr.subjectinfo.label): +# A label used for a certificate section in security tab. +# This section displays Name and organization who has been assigned the fingerprints +certmgr.subjectinfo.label=Issued To + +# LOCALIZATION NOTE (certmgr.certdetail.cn): +# A label used for Issued To and Issued By sub-section in security tab +certmgr.certdetail.cn=Common Name (CN): + +# LOCALIZATION NOTE (certmgr.certdetail.o): +# A label used for Issued To and Issued By sub-section in security tab +certmgr.certdetail.o=Organization (O): + +# LOCALIZATION NOTE (certmgr.certdetail.ou): +# A label used for Issued To and Issued By sub-section in security tab +certmgr.certdetail.ou=Organizational Unit (OU): + +# LOCALIZATION NOTE (certmgr.issuerinfo.label): +# A label used for a certificate section in security tab +# This section displays Name and organization who issued the fingerprints +certmgr.issuerinfo.label=Issued By + +# LOCALIZATION NOTE (certmgr.periodofvalidity.label): +# A label used for a certificate section in security tab +# This section displays the valid period of this fingerprints +certmgr.periodofvalidity.label=Period of Validity + +# LOCALIZATION NOTE (certmgr.begins): +# A label used for Period of Validity sub-section in security tab +certmgr.begins=Begins On: + +# LOCALIZATION NOTE (certmgr.expires): +# A label used for Period of Validity sub-section in security tab +certmgr.expires=Expires On: + +# LOCALIZATION NOTE (certmgr.fingerprints.label): +# A label used for a certificate section in security tab +# This section displays the valid period of this fingerprints +certmgr.fingerprints.label=Fingerprints + +# LOCALIZATION NOTE (certmgr.certdetail.sha256fingerprint): +# A label used for Fingerprints sub-section in security tab +certmgr.certdetail.sha256fingerprint=SHA-256 Fingerprint: + +# LOCALIZATION NOTE (certmgr.certdetail.sha1fingerprint): +# A label used for Fingerprints sub-section in security tab +certmgr.certdetail.sha1fingerprint=SHA1 Fingerprint: + +# LOCALIZATION NOTE (certmgr.certificateTransparency.label): +# This string is used as a label in the security tab. +certmgr.certificateTransparency.label=Transparency: + +# LOCALIZATION NOTE (certmgr.certificateTransparency.status.ok): +# This string is used to indicate that there are valid signed certificate +# timestamps. This is a property for the 'Transparency' +# field in the security tab. +certmgr.certificateTransparency.status.ok=Valid SCT records + +# LOCALIZATION NOTE (certmgr.certificateTransparency.status.notEnoughSCTS): +# This string is used to indicate that there are not enough valid signed +# certificate timestamps. This is a property for the 'Transparency' +# field in the security tab. +certmgr.certificateTransparency.status.notEnoughSCTS=Not enough SCTs + +# LOCALIZATION NOTE (certmgr.certificateTransparency.status.notDiverseSCTS): +# This string is used to indicate that there ar not enough diverse signed +# certificate timestamps. This is a property for the 'Transparency' +# field in the security tab. +certmgr.certificateTransparency.status.notDiverseSCTS=Not diverse SCTs + +# LOCALIZATION NOTE (netmonitor.perfNotice1/2/3): These are the labels displayed +# in the network table when empty to start performance analysis. +netmonitor.perfNotice1=• Click on the +netmonitor.perfNotice2=button to start performance analysis. +netmonitor.perfNotice3=Analyze + +# LOCALIZATION NOTE (netmonitor.reload1/2/3): These are the labels displayed +# in the network table when empty to start logging network requests. +netmonitor.reloadNotice1=• Perform a request or +netmonitor.reloadNotice2=Ath-luchdaich +netmonitor.reloadNotice3=the page to see detailed information about network activity. + +netmonitor.emptyBrowserToolbox=Perform a request to see detailed information about network activity. + +# LOCALIZATION NOTE (netmonitor.toolbar.status3): This is the label displayed +# in the network table toolbar, above the "status" column. +netmonitor.toolbar.status3=Status + +# LOCALIZATION NOTE (netmonitor.toolbar.method): This is the label displayed +# in the network table toolbar, above the "method" column. +netmonitor.toolbar.method=Method + +# LOCALIZATION NOTE (netmonitor.toolbar.priority): This is the label displayed +# in the network table toolbar, above the "priority" column. +netmonitor.toolbar.priority=Priority + +# LOCALIZATION NOTE (netmonitor.toolbar.file): This is the label displayed +# in the network table toolbar, above the "file" column. +netmonitor.toolbar.file=Faidhle + +# LOCALIZATION NOTE (netmonitor.toolbar.url): This is the label displayed +# in the network table toolbar, above the "url" column. +netmonitor.toolbar.url=URL + +# LOCALIZATION NOTE (netmonitor.toolbar.protocol): This is the label displayed +# in the network table toolbar, above the "protocol" column. +netmonitor.toolbar.protocol=Protocol + +# LOCALIZATION NOTE (netmonitor.toolbar.domain): This is the label displayed +# in the network table toolbar, above the "domain" column. +netmonitor.toolbar.domain=Domain + +# LOCALIZATION NOTE (netmonitor.toolbar.remoteip): This is the label displayed +# in the network table toolbar, above the "remoteip" column. +netmonitor.toolbar.remoteip=Remote IP + +# LOCALIZATION NOTE (netmonitor.toolbar.initiator): This is the label displayed +# in the network table toolbar, above the "initiator" column. +netmonitor.toolbar.initiator=Initiator + +# LOCALIZATION NOTE (netmonitor.toolbar.type): This is the label displayed +# in the network table toolbar, above the "type" column. +netmonitor.toolbar.type=Type + +# LOCALIZATION NOTE (netmonitor.toolbar.cookies): This is the label displayed +# in the network table toolbar, above the "cookies" column. +netmonitor.toolbar.cookies=Cookies + +# LOCALIZATION NOTE (netmonitor.toolbar.setCookies): This is the label displayed +# in the network table toolbar, above the "set cookies" column. +# Set-Cookie is a HTTP response header. This string is the plural form of it. +# See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie +netmonitor.toolbar.setCookies=Set-Cookies + +# LOCALIZATION NOTE (netmonitor.toolbar.scheme): This is the label displayed +# in the network table toolbar, above the "scheme" column. +netmonitor.toolbar.scheme=Scheme + +# LOCALIZATION NOTE (netmonitor.toolbar.startTime): This is the label displayed +# in the network table toolbar, above the "start time" column, which is the time +# from start of 1st request until the start of this request. +netmonitor.toolbar.startTime=Start Time + +# LOCALIZATION NOTE (netmonitor.toolbar.endTime): This is the label displayed +# in the network table toolbar, above the "end time" column, which is the time +# from start of 1st request until the end of this response. +netmonitor.toolbar.endTime=End Time + +# LOCALIZATION NOTE (netmonitor.toolbar.responseTime): This is the label displayed +# in the network table toolbar, above the "response time" column, which is the time +# from start of 1st request until the beginning of download of this response. +netmonitor.toolbar.responseTime=Response Time + +# LOCALIZATION NOTE (netmonitor.toolbar.duration): This is the label displayed +# in the network table toolbar, above the "duration" column, which is the time +# from start of this request until the end of this response. +netmonitor.toolbar.duration=Duration + +# LOCALIZATION NOTE (netmonitor.toolbar.latency): This is the label displayed +# in the network table toolbar, above the "latency" column, which is the time +# from end of this request until the beginning of download of this response. +netmonitor.toolbar.latency=Latency + +# LOCALIZATION NOTE (netmonitor.toolbar.transferred): This is the label displayed +# in the network table toolbar, above the "transferred" column and in general +# section of the headers panel, which is the compressed / encoded size. +netmonitor.toolbar.transferred=Transferred + +# LOCALIZATION NOTE (netmonitor.toolbar.contentSize): This is the label displayed +# in the network table toolbar, above the "size" column, which is the +# uncompressed / decoded size. +netmonitor.toolbar.contentSize=Size + +# LOCALIZATION NOTE (netmonitor.toolbar.waterfall): This is the label displayed +# in the network table toolbar, above the "waterfall" column. +netmonitor.toolbar.waterfall=Timeline + +# LOCALIZATION NOTE (netmonitor.ws.toolbar.size): This is the label displayed +# in the messages table header, above the "size" column. +netmonitor.ws.toolbar.size=Size + +# LOCALIZATION NOTE (netmonitor.ws.toolbar.data): This is the label displayed +# in the messages table header, above the "data" column. +netmonitor.ws.toolbar.data=Data + +# LOCALIZATION NOTE (netmonitor.ws.toolbar.opCode): This is the label displayed +# in the messages table header, above the "opCode" column. +netmonitor.ws.toolbar.opCode=OpCode + +# LOCALIZATION NOTE (netmonitor.ws.toolbar.maskBit): This is the label displayed +# in the messages table header, above the "maskBit" column. +netmonitor.ws.toolbar.maskBit=MaskBit + +# LOCALIZATION NOTE (netmonitor.ws.toolbar.finBit): This is the label displayed +# in the messages table header, above the "finBit" column. +netmonitor.ws.toolbar.finBit=FinBit + +# LOCALIZATION NOTE (netmonitor.ws.toolbar.time): This is the label displayed +# in the messages table header, above the "time" column. +netmonitor.ws.toolbar.time=Time + +# LOCALIZATION NOTE (netmonitor.ws.toolbar.eventName): This is the label displayed +# in the messages table header, above the "eventName" column. +netmonitor.ws.toolbar.eventName=Event Name + +# LOCALIZATION NOTE (netmonitor.ws.toolbar.retry): This is the label displayed +# in the messages table header, above the "retry" column. +netmonitor.ws.toolbar.retry=Retry + +# LOCALIZATION NOTE (netmonitor.ws.toolbar.lastEventId): This is the label displayed +# in the messages table header, above the "lastEventId" column. +netmonitor.ws.toolbar.lastEventId=Last Event ID + +# LOCALIZATION NOTE (netmonitor.ws.toolbar.clear): This is the label displayed +# in the messages panel toolbar for the "Clear" button. +netmonitor.ws.toolbar.clear=Clear + +# LOCALIZATION NOTE (netmonitor.ws.toolbar.filterFreetext.label): This is the label +# displayed in the messages panel toolbar for the frames filtering textbox. +netmonitor.ws.toolbar.filterFreetext.label=Filter Messages + +# LOCALIZATION NOTE (netmonitor.ws.toolbar.filterFreetext.key): This is the +# shortcut key to focus on the messages panel toolbar messages filtering textbox +netmonitor.ws.toolbar.filterFreetext.key=CmdOrCtrl+E + +# LOCALIZATION NOTE (netmonitor.ws.toolbar.resetColumns): This is the label +# displayed in the messages panel table header context menu. +netmonitor.ws.toolbar.resetColumns=Reset Columns + +# LOCALIZATION NOTE (netmonitor.ws.context.all): This is the label displayed +# on the context menu that shows "All" WebSocket frames. +netmonitor.ws.context.all=All + +# LOCALIZATION NOTE (netmonitor.ws.context.all.accesskey): This is the access key +# for the "All" menu item displayed in the context menu in the websocket toolbar. +netmonitor.ws.context.all.accesskey=A + +# LOCALIZATION NOTE (netmonitor.ws.context.sent): This is the label displayed +# on the context menu that shows "Sent" WebSocket frames. +netmonitor.ws.context.sent=Sent + +# LOCALIZATION NOTE (netmonitor.ws.context.sent.accesskey): This is the access key +# for the "Sent" menu item displayed in the context menu in the websocket toolbar. +netmonitor.ws.context.sent.accesskey=S + +# LOCALIZATION NOTE (netmonitor.ws.context.received): This is the label displayed +# on the context menu that shows "Received" WebSocket frames. +netmonitor.ws.context.received=Received + +# LOCALIZATION NOTE (netmonitor.ws.context.received.accesskey): This is the access key +# for the "Received" menu item displayed in the context menu in the websocket toolbar. +netmonitor.ws.context.received.accesskey=R + +# LOCALIZATION NOTE (netmonitor.ws.context.controlFrames): This is the label displayed +# on the context menu that shows "Control Frames" WebSocket frames. +netmonitor.ws.context.controlFrames=Control + +# LOCALIZATION NOTE (netmonitor.ws.context.controlFrames.accesskey): This is the access key +# for the "Control Frames" menu item displayed in the context menu in the websocket toolbar. +netmonitor.ws.context.controlFrames.accesskey=o + +# LOCALIZATION NOTE (netmonitor.ws.context.copyFrame): This is the label displayed +# on the context menu that shows "Copy Message". +netmonitor.ws.context.copyFrame=Copy Message + +# LOCALIZATION NOTE (netmonitor.ws.context.copyFrame.accesskey): This is the access key +# for the "Copy Message" menu item displayed in the context menu of a WebSocket frame. +netmonitor.ws.context.copyFrame.accesskey=C + +# 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=Connection Closed + +# LOCALIZATION NOTE (netmonitor.ws.type.sent): This is the label used as +# accessible text for the "sent" type icon in the websocket table's "data" column. +netmonitor.ws.type.sent=Sent + +# LOCALIZATION NOTE (netmonitor.ws.type.received): This is the label used as +# accessible text for the "received" type icon in the websocket table's "data" column. +netmonitor.ws.type.received=Received + +# LOCALIZATION NOTE (netmonitor.ws.rawData.header): This is the label displayed +# in the messages panel identifying the raw data. +netmonitor.ws.rawData.header=Raw Data (%S) + +# LOCALIZATION NOTE (netmonitor.search.toolbar.inputPlaceholder): This is the label +# displayed in the search toolbar for the search input as the placeholder. +netmonitor.search.toolbar.inputPlaceholder=Find in resources… + +# LOCALIZATION NOTE (netmonitor.search.toolbar.close): This is the label +# displayed in the search toolbar to close the search panel. +netmonitor.search.toolbar.close=Close Search Panel + +# LOCALIZATION NOTE (netmonitor.search.toolbar.clear): This is the label +# displayed in the search toolbar to clear the search panel. +netmonitor.search.toolbar.clear=Clear Search Results + +# LOCALIZATION NOTE (netmonitor.search.toolbar.caseSensitive): This is the label +# displayed in the search toolbar to do a case sensitive search. +netmonitor.search.toolbar.caseSensitive=Case Sensitive + +# LOCALIZATION NOTE (netmonitor.search.status.labels.fetching): This is the label +# displayed in the search results status bar when status is set to fetching. +netmonitor.search.status.labels.fetching=Searching… + +# LOCALIZATION NOTE (netmonitor.search.status.labels.canceled): This is the label +# displayed in the search results status bar when status is set to cancelled. +netmonitor.search.status.labels.canceled=Search canceled. + +# LOCALIZATION NOTE (netmonitor.search.status.labels.done): This is the label +# displayed in the search results status bar when status is set to done. +# %1$S is the number of matching lines in search results (netmonitor.search.status.labels.matchingLines) +# %2$S is the number of files in which matching lines were found (netmonitor.search.status.labels.fileCount) +netmonitor.search.status.labels.done=Search finished. %1$S %2$S. + +# LOCALIZATION NOTE (netmonitor.search.status.labels.matchingLines): Semi-colon list of plural forms. +# This is the label displayed in the search results status bar showing matching lines found. +# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals +# #1 is the number of matching lines found +netmonitor.search.status.labels.matchingLines=Found #1 matching line;Found #1 matching lines;Found #1 matching lines;Found #1 matching lines + +# LOCALIZATION NOTE (netmonitor.search.status.labels.fileCount): Semi-colon list of plural forms. +# This is the label displayed in the search results status bar showing file count +# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals +# #1 is the number of files in which matching lines were found +netmonitor.search.status.labels.fileCount=in #1 file;in #1 files;in #1 files;in #1 files + +# LOCALIZATION NOTE (netmonitor.search.status.labels.error): This is the label +# displayed in the search results status bar when status is set to error. +netmonitor.search.status.labels.error=Search error. + +# LOCALIZATION NOTE (netmonitor.toolbar.requestBlocking): This is the tooltip displayed +# over the toolbar's Request Blocking button +netmonitor.toolbar.requestBlocking=Request Blocking + +# LOCALIZATION NOTE (netmonitor.actionbar.requestBlocking2): This is the label displayed +# in the action bar's request blocking tab +netmonitor.actionbar.requestBlocking2=Blocking + +# LOCALIZATION NOTE (netmonitor.actionbar.enableBlocking): This is the label displayed +# in request blocking tab to represent if requests blocking should be enabled +netmonitor.actionbar.enableBlocking=Enable Request Blocking + +# LOCALIZATION NOTE (netmonitor.actionbar.blockSearchPlaceholder): This is the +# placeholder text for the request addition form +netmonitor.actionbar.blockSearchPlaceholder=Block resource when URL contains + +# LOCALIZATION NOTE (netmonitor.actionbar.removeBlockedUrl): This is the +# tooltip shown over the remove button for blocked URL item +netmonitor.actionbar.removeBlockedUrl=Remove pattern + +# LOCALIZATION NOTE (netmonitor.actionbar.requestBlockingUsageNotice): This is the +# usage notice displayed when network blocking list is empty +netmonitor.actionbar.requestBlockingUsageNotice=Add URL patterns here to block matching requests. + +# LOCALIZATION NOTE (netmonitor.actionbar.requestBlockingAddNotice): This is the +# add notice that explains ways to add blocking pattern that is displayed when +# network blocking list is empty +netmonitor.actionbar.requestBlockingAddNotice=Start by adding a pattern or dragging a row from the network table. + +# LOCALIZATION NOTE (netmonitor.requestBlockingMenu.removeAllBlockedUrls): This is the +# context menu item for removing all blocked URLs +netmonitor.requestBlockingMenu.removeAllBlockedUrls=Remove all + +# LOCALIZATION NOTE (netmonitor.requestBlockingMenu.enableAllBlockedUrls): This is the +# context menu item for enabling all blocked URLs +netmonitor.requestBlockingMenu.enableAllBlockedUrls=Enable all + +# LOCALIZATION NOTE (netmonitor.requestBlockingMenu.disableAllBlockedUrls): This is the +# context menu item for disabling all blocked URLs +netmonitor.requestBlockingMenu.disableAllBlockedUrls=Disable all + +# LOCALIZATION NOTE (netmonitor.actionbar.search): This is the label displayed +# in the action bar's search tab +netmonitor.actionbar.search=Search + +# LOCALIZATION NOTE (netmonitor.actionbar.HTTPCustomRequest): This is the label displayed +# in the action bar's edit and resend tab +netmonitor.actionbar.HTTPCustomRequest=New Request + +# LOCALIZATION NOTE (messagesTruncated): This is the text displayed +# in the messages panel when the number of messages is over the +# truncation limit. +# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals +netmonitor.ws.truncated-messages.warning=#1 message has been truncated to conserve memory;#1 messages have been truncated to conserve memory;#1 messages have been truncated to conserve memory;#1 messages have been truncated to conserve memory + +# LOCALIZATION NOTE (disableMessagesTruncation): This is the text displayed +# in the messages panel checkbox label for toggling message truncation. +toggleMessagesTruncation=Keep all future messages + +# LOCALIZATION NOTE (toggleMessagesTruncation.title): This is the title used +# to describe the checkbox used to toggle message truncation. +toggleMessagesTruncation.title=Keep all future messages or continue showing truncated messages + +# LOCALIZATION NOTE (messageDataTruncated): This is the text displayed +# to describe to describe data truncation in the messages panel. +messageDataTruncated=Data has been truncated + +# LOCALIZATION NOTE (netmonitor.tab.headers): This is the label displayed +# in the network details pane identifying the headers tab. +netmonitor.tab.headers=Headers + +# LOCALIZATION NOTE (netmonitor.tab.messages): This is the label displayed +# in the network details pane identifying the messages tab. +netmonitor.tab.messages=Messages + +# LOCALIZATION NOTE (netmonitor.tab.cookies): This is the label displayed +# in the network details pane identifying the cookies tab. +netmonitor.tab.cookies=Cookies + +# LOCALIZATION NOTE (netmonitor.tab.cache): This is the label displayed +# in the network details pane identifying the cache tab. +netmonitor.tab.cache=Cache + +# LOCALIZATION NOTE (netmonitor.tab.params): This is the label displayed +# in the network details pane identifying the params tab. +netmonitor.tab.params=Params + +# LOCALIZATION NOTE (netmonitor.tab.request): This is the label displayed +# in the network details pane identifying the request tab. +netmonitor.tab.request=Request + +# LOCALIZATION NOTE (netmonitor.tab.response): This is the label displayed +# in the network details pane identifying the response tab. +netmonitor.tab.response=Response + +# LOCALIZATION NOTE (netmonitor.tab.timings): This is the label displayed +# in the network details pane identifying the timings tab. +netmonitor.tab.timings=Timings + +# LOCALIZATION NOTE (netmonitor.tab.stackTrace): This is the label displayed +# in the network details pane identifying the stack-trace tab. +netmonitor.tab.stackTrace=Stack Trace + +# LOCALIZATION NOTE (netmonitor.tab.security): This is the label displayed +# in the network details pane identifying the security tab. +netmonitor.tab.security=Tèarainteachd + +# LOCALIZATION NOTE (netmonitor.toolbar.filter.all): This is the label displayed +# in the network toolbar for the "All" filtering button. +netmonitor.toolbar.filter.all=All + +# LOCALIZATION NOTE (netmonitor.toolbar.filter.html): This is the label displayed +# in the network toolbar for the "HTML" filtering button. +netmonitor.toolbar.filter.html=HTML + +# LOCALIZATION NOTE (netmonitor.toolbar.filter.css): This is the label displayed +# in the network toolbar for the "CSS" filtering button. +netmonitor.toolbar.filter.css=CSS + +# LOCALIZATION NOTE (netmonitor.toolbar.filter.js): This is the label displayed +# in the network toolbar for the "JS" filtering button. +netmonitor.toolbar.filter.js=JS + +# LOCALIZATION NOTE (netmonitor.toolbar.filter.xhr): This is the label displayed +# in the network toolbar for the "XHR" filtering button. +netmonitor.toolbar.filter.xhr=XHR + +# LOCALIZATION NOTE (netmonitor.toolbar.filter.fonts): This is the label displayed +# in the network toolbar for the "Fonts" filtering button. +netmonitor.toolbar.filter.fonts=Cruthan-clò + +# LOCALIZATION NOTE (netmonitor.toolbar.filter.images): This is the label displayed +# in the network toolbar for the "Images" filtering button. +netmonitor.toolbar.filter.images=Dealbhan + +# LOCALIZATION NOTE (netmonitor.toolbar.filter.media): This is the label displayed +# in the network toolbar for the "Media" filtering button. +netmonitor.toolbar.filter.media=Meadhanan + +# LOCALIZATION NOTE (netmonitor.toolbar.filter.flash): This is the label displayed +# in the network toolbar for the "Flash" filtering button. +netmonitor.toolbar.filter.flash=Flash + +# LOCALIZATION NOTE (netmonitor.toolbar.filter.ws): This is the label displayed +# in the network toolbar for the "WS" filtering button. +netmonitor.toolbar.filter.ws=WS + +# LOCALIZATION NOTE (netmonitor.toolbar.filter.other): This is the label displayed +# in the network toolbar for the "Other" filtering button. +netmonitor.toolbar.filter.other=Other + +# LOCALIZATION NOTE (netmonitor.toolbar.filterFreetext.label): This is the label +# displayed in the network toolbar for the url filtering textbox. +netmonitor.toolbar.filterFreetext.label=Filter URLs + +# LOCALIZATION NOTE (netmonitor.toolbar.filterFreetext.key): This is the +# shortcut key to focus on the toolbar url filtering textbox +netmonitor.toolbar.filterFreetext.key=CmdOrCtrl+F + +# LOCALIZATION NOTE (netmonitor.toolbar.search.key): This is the +# shortcut key to toggle the search panel +netmonitor.toolbar.search.key=CmdOrCtrl+Shift+F + +# LOCALIZATION NOTE (netmonitor.toolbar.copy.key): This is the +# shortcut key to copy a selected request url from the network table +netmonitor.toolbar.copy.key=CmdOrCtrl+C + +# LOCALIZATION NOTE (netmonitor.toolbar.filterFreetext.learnMore): This is +# the title used for MDN icon in filtering textbox +netmonitor.toolbar.filterFreetext.learnMore=Learn more about filtering + +# LOCALIZATION NOTE (netmonitor.toolbar.enablePersistentLogs.label): This is the label +# displayed for the checkbox for enabling persistent logs. +netmonitor.toolbar.enablePersistentLogs.label=Persist Logs + +# LOCALIZATION NOTE (netmonitor.toolbar.enablePersistentLogs.tooltip): This is the tooltip +# displayed for the checkbox for enabling persistent logs. +netmonitor.toolbar.enablePersistentLogs.tooltip=If you enable this option the requests list will not be cleared each time you navigate to a new page + +# LOCALIZATION NOTE (netmonitor.toolbar.disableCache.label): This is the label +# displayed for the checkbox for disabling browser cache. +netmonitor.toolbar.disableCache.label=Disable cache + +# LOCALIZATION NOTE (netmonitor.toolbar.disableCache.tooltip): This is the tooltip +# displayed for the checkbox for disabling browser cache. +netmonitor.toolbar.disableCache.tooltip=Disable HTTP cache + +# LOCALIZATION NOTE (netmonitor.toolbar.clear): This is the label displayed +# in the network toolbar for the "Clear" button. +netmonitor.toolbar.clear=Falamhaich + +# LOCALIZATION NOTE (netmonitor.toolbar.toggleRecording): This is the label displayed +# in the network toolbar for the toggle recording button. +netmonitor.toolbar.toggleRecording=Pause/Resume recording network log + +# LOCALIZATION NOTE (netmonitor.toolbar.search): This is the tooltip label displayed +# in the network toolbar for the search button. +netmonitor.toolbar.search=Search + +# LOCALIZATION NOTE (netmonitor.toolbar.HTTPCustomRequest): This is the tooltip label displayed +# in the network toolbar for the new HTTP Custom Request button. +netmonitor.toolbar.HTTPCustomRequest=New Request + +# LOCALIZATION NOTE (netmonitor.toolbar.resetColumns): This is the label +# displayed in the network table header context menu. +netmonitor.toolbar.resetColumns=Reset Columns + +# LOCALIZATION NOTE (netmonitor.toolbar.resetSorting): This is the label +# displayed in the network table header context menu to reset sorting +netmonitor.toolbar.resetSorting=Reset Sorting + +# LOCALIZATION NOTE (netmonitor.toolbar.resizeColumnToFitContent): This is the label +# displayed in the network table header context menu to resize a column to fit its content +netmonitor.toolbar.resizeColumnToFitContent=Resize Column To Fit Content + +# LOCALIZATION NOTE (netmonitor.toolbar.resizeColumnToFitContent.title): This is the title +# tooltip displayed when draggable resizer in network table headers is hovered +netmonitor.toolbar.resizeColumnToFitContent.title=Double-click to fit column to content + +# LOCALIZATION NOTE (netmonitor.toolbar.timings): This is the label +# displayed in the network table header context menu for the timing submenu +netmonitor.toolbar.timings=Timings + +# LOCALIZATION NOTE (netmonitor.toolbar.responseHeaders): This is the +# label displayed in the network table header context menu for the +# response headers submenu. +netmonitor.toolbar.responseHeaders=Response Headers + +# 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=Block + +# LOCALIZATION NOTE (netmonitor.headers.address): This is the label displayed +# in the network details headers tab identifying the remote address. +netmonitor.headers.address=Address + +# LOCALIZATION NOTE (netmonitor.headers.status): This is the label displayed +# in the network details headers tab identifying the status code. +netmonitor.headers.status=Status + +# LOCALIZATION NOTE (netmonitor.headers.size): This is the label displayed +# in the network details headers tab identifying the size. +netmonitor.headers.size=Size + +# 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 size) + +# LOCALIZATION NOTE (netmonitor.headers.version): This is the label displayed +# in the network details headers tab identifying the http version. +netmonitor.headers.version=Version + +# 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. +netmonitor.summary.learnMore=Learn more about status code + +# LOCALIZATION NOTE (netmonitor.headers.referrerPolicy): This is the label displayed +# in the network details headers tab identifying the referrer policy. +netmonitor.headers.referrerPolicy=Referrer Policy + +# LOCALIZATION NOTE (netmonitor.headers.contentBlocking): This is the label displayed +# in the network details headers tab identifying the content blocking mode. +netmonitor.headers.contentBlocking=Blocking + +# LOCALIZATION NOTE (netmonitor.headers.requestPriority): This is the label displayed +# in the network details headers tab identifying the request priority. +netmonitor.headers.requestPriority=Request Priority + +# 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 +netmonitor.summary.editAndResend=Edit and Resend + +# LOCALIZATION NOTE (netmonitor.headers.raw): This is the label displayed +# on the button in the headers tab that toggle view for raw request/response headers +# from the currently displayed request +netmonitor.headers.raw=Raw + +# LOCALIZATION NOTE (netmonitor.headers.blockedByCORS): This is the message displayed +# in the notification shown when a request has been blocked by CORS with a more +# specific reason shown in the parenthesis +netmonitor.headers.blockedByCORS=Response body is not available to scripts (Reason: %S) + +#LOCALIZATION NOTE (netmonitor.headers.blockedByCORSTooltip): This is the tooltip +# displayed on the learnmore link of the blocked by CORS notification. +netmonitor.headers.blockedByCORSTooltip=Learn more about this CORS error + +# LOCALIZATION NOTE (netmonitor.response.name): This is the label displayed +# in the network details response tab identifying an image's file name or font face's name. +netmonitor.response.name=Ainm: + +# LOCALIZATION NOTE (netmonitor.response.dimensions): This is the label displayed +# in the network details response tab identifying an image's dimensions. +netmonitor.response.dimensions=Meudachd: + +# LOCALIZATION NOTE (netmonitor.response.mime): This is the label displayed +# in the network details response tab identifying an image's or font's MIME type. +netmonitor.response.mime=MIME Type: + +# LOCALIZATION NOTE (netmonitor.response.fontPreviewFailed): This is the notice displayed +# in the network details response tab if the font preview could not be generated due to +# an error. +netmonitor.response.fontPreviewFailed=Font preview could not be generated + +# LOCALIZATION NOTE (netmonitor.timings.blocked): This is the label displayed +# in the network details timings tab identifying the amount of time spent +# in a "blocked" state. +netmonitor.timings.blocked=Blocked: + +# LOCALIZATION NOTE (netmonitor.timings.dns): This is the label displayed +# in the network details timings tab identifying the amount of time spent +# in a "dns" state. +netmonitor.timings.dns=DNS resolution: + +# LOCALIZATION NOTE (netmonitor.timings.ssl): This is the label displayed +# in the network details timings tab identifying the amount of time spent +# in a "tls" handshake state. +netmonitor.timings.ssl=TLS setup: + +# LOCALIZATION NOTE (netmonitor.timings.connect): This is the label displayed +# in the network details timings tab identifying the amount of time spent +# in a "connect" state. +netmonitor.timings.connect=Connecting: + +# LOCALIZATION NOTE (netmonitor.timings.send): This is the label displayed +# in the network details timings tab identifying the amount of time spent +# in a "send" state. +netmonitor.timings.send=Sending: + +# LOCALIZATION NOTE (netmonitor.timings.wait): This is the label displayed +# in the network details timings tab identifying the amount of time spent +# in a "wait" state. +netmonitor.timings.wait=Waiting: + +# LOCALIZATION NOTE (netmonitor.timings.receive): This is the label displayed +# in the network details timings tab identifying the amount of time spent +# in a "receive" state. +netmonitor.timings.receive=Receiving: + +# 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=Learn more about timings + +# LOCALIZATION NOTE (netmonitor.audits.slowIconTooltip): This is the tooltip text displayed +# in the network request list file column, on the slow icon button. +# %1$S is the waiting time %2$S is the slow threshold. +netmonitor.audits.slowIconTooltip=Slow server response time (%1$S). The recommended limit is %2$S. + +# LOCALIZATION NOTE (netmonitor.security.warning.cipher): A tooltip +# for warning icon that indicates a connection uses insecure cipher suite. +netmonitor.security.warning.cipher=The cipher used for encryption is deprecated and insecure. + +# LOCALIZATION NOTE (netmonitor.security.error): This is the label displayed +# in the security tab if a security error prevented the connection. +netmonitor.security.error=An error occured: + +# LOCALIZATION NOTE (netmonitor.security.protocolVersion): This is the label displayed +# in the security tab describing TLS/SSL protocol version. +netmonitor.security.protocolVersion=Protocol version: + +# LOCALIZATION NOTE (netmonitor.security.cipherSuite): This is the label displayed +# in the security tab describing the cipher suite used to secure this connection. +netmonitor.security.cipherSuite=Cipher suite: + +# LOCALIZATION NOTE (netmonitor.security.keaGroup): This is the label displayed +# in the security tab describing the key exchange group suite used to secure +# this connection. +netmonitor.security.keaGroup=Key Exchange Group: + +# LOCALIZATION NOTE (netmonitor.security.keaGroup.none): This is the label +# displayed in the security tab describing the case when no group was used. +netmonitor.security.keaGroup.none=none + +# LOCALIZATION NOTE (netmonitor.security.keaGroup.custom): This is the label +# displayed in the security tab describing the case when a custom group was used. +netmonitor.security.keaGroup.custom=custom + +# LOCALIZATION NOTE (netmonitor.security.keaGroup.unknown): This is the value +# displayed in the security tab describing an unknown group. +netmonitor.security.keaGroup.unknown=unknown group + +# LOCALIZATION NOTE (netmonitor.security.signatureScheme): This is the label +# displayed in the security tab describing the signature scheme used by for +# the server certificate in this connection. +netmonitor.security.signatureScheme=Signature Scheme: + +# LOCALIZATION NOTE (netmonitor.security.signatureScheme.none): This is the +# label displayed in the security tab describing the case when no signature +# was used. +netmonitor.security.signatureScheme.none=none + +# LOCALIZATION NOTE (netmonitor.security.signatureScheme.unknown): This is the +# value displayed in the security tab describing an unknown signature scheme. +netmonitor.security.signatureScheme.unknown=unknown signature scheme + +# LOCALIZATION NOTE (netmonitor.security.hsts): This is the label displayed +# in the security tab describing the usage of HTTP Strict Transport Security. +netmonitor.security.hsts=HTTP Strict Transport Security: + +# LOCALIZATION NOTE (netmonitor.security.hpkp): This is the label displayed +# in the security tab describing the usage of Public Key Pinning. +netmonitor.security.hpkp=Public Key Pinning: + +# LOCALIZATION NOTE (netmonitor.security.connection): This is the label displayed +# in the security tab describing the section containing information related to +# the secure connection. +netmonitor.security.connection=Connection: + +# LOCALIZATION NOTE (netmonitor.security.certificate): This is the label displayed +# in the security tab describing the server certificate section. +netmonitor.security.certificate=Teisteanas: + +# LOCALIZATION NOTE (netmonitor.trackingResource.tooltip): This is the label used +# in the Network monitor panel as a tooltip for tracking resource icon. +netmonitor.trackingResource.tooltip=This URL matches a known tracker and it would be blocked with Content Blocking enabled. + +# LOCALIZATION NOTE (netmonitor.trackingResource.enhancedTrackingProtection): This is +# the label used in the Network monitor panel for showing enhanced tracking protection. +netmonitor.trackingResource.enhancedTrackingProtection=Enhanced Tracking Protection + +# LOCALIZATION NOTE (netmonitor.enhancedTrackingProtection.learnMore): This is the label +# displayed in the network details headers tab, with a link to external documentation for +# enhanced tracking protection. +netmonitor.enhancedTrackingProtection.learnMore=Learn more about enhanced tracking protection + +# LOCALIZATION NOTE (netmonitor.context.copyValue): This is the label displayed +# for the copy sub-menu in the context menu for a request +netmonitor.context.copyValue=Copy Value + +# 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 +netmonitor.context.copyValue.accesskey=C + +# LOCALIZATION NOTE (netmonitor.context.copyUrl): This is the label displayed +# on the context menu that copies the selected request's url +netmonitor.context.copyUrl=Copy URL + +# LOCALIZATION NOTE (netmonitor.context.copyUrl.accesskey): This is the access key +# for the Copy URL menu item displayed in the context menu for a request +netmonitor.context.copyUrl.accesskey=U + +# LOCALIZATION NOTE (netmonitor.context.copyUrlParams): This is the label displayed +# on the context menu that copies the selected request's url parameters +netmonitor.context.copyUrlParams=Copy URL Parameters + +# LOCALIZATION NOTE (netmonitor.context.copyUrlParams.accesskey): This is the access key +# for the Copy URL Parameters menu item displayed in the context menu for a request +netmonitor.context.copyUrlParams.accesskey=P + +# LOCALIZATION NOTE (netmonitor.context.copyRequestData): This is the label displayed +# on the context menu that copies the selected request's data +netmonitor.context.copyRequestData=Copy %S Data + +# LOCALIZATION NOTE (netmonitor.context.copyRequestData.accesskey): This is the access key +# for the Copy POST/PATCH/PUT/DELETE Data menu item displayed in the context menu for a request +netmonitor.context.copyRequestData.accesskey=D + +# LOCALIZATION NOTE (netmonitor.context.copyAsPowerShell): This is the label displayed +# on the context menu that copies the selected request as a PowerShell command. +netmonitor.context.copyAsPowerShell=Copy as PowerShell + +# 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 +netmonitor.context.copyAsPowerShell.accesskey=S + +# 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. +# http://en.wikipedia.org/wiki/CURL +netmonitor.context.copyAsCurl=Copy as cURL + +# LOCALIZATION NOTE (netmonitor.context.copyAsCurl.accesskey): This is the access key +# for the Copy as cURL menu item displayed in the context menu for a request +netmonitor.context.copyAsCurl.accesskey=C + +# LOCALIZATION NOTE (netmonitor.context.copyAsCurl.*): This is the template used to add +# a target platform to the label for "Copy as cURL" command +# e.g. Copy as cURL (Windows) +# Localized label for "Copy as cURL": %S +netmonitor.context.copyAsCurl.win=%S (Windows) +netmonitor.context.copyAsCurl.win.accesskey=C +netmonitor.context.copyAsCurl.posix=%S (POSIX) +netmonitor.context.copyAsCurl.posix.accesskey=P + +# LOCALIZATION NOTE (netmonitor.context.copyAsFetch): This is the label displayed +# on the context menu that copies the selected request as a fetch request. +netmonitor.context.copyAsFetch=Copy as Fetch + +# LOCALIZATION NOTE (netmonitor.context.copyAsFetch.accesskey): This is the access key +# for the Copy as fetch menu item displayed in the context menu for a request +netmonitor.context.copyAsFetch.accesskey=F + +# LOCALIZATION NOTE (netmonitor.context.copyRequestHeaders): This is the label displayed +# on the context menu that copies the selected item's request headers +netmonitor.context.copyRequestHeaders=Copy Request Headers + +# LOCALIZATION NOTE (netmonitor.context.copyRequestHeaders.accesskey): This is the access key +# for the Copy Request Headers menu item displayed in the context menu for a request +netmonitor.context.copyRequestHeaders.accesskey=Q + +# LOCALIZATION NOTE (netmonitor.context.copyResponseHeaders): This is the label displayed +# on the context menu that copies the selected item's response headers +netmonitor.context.copyResponseHeaders=Copy Response Headers + +# LOCALIZATION NOTE (netmonitor.context.copyResponseHeaders.accesskey): This is the access key +# for the Copy Response Headers menu item displayed in the context menu for a response +netmonitor.context.copyResponseHeaders.accesskey=S + +# LOCALIZATION NOTE (netmonitor.context.copyResponse): This is the label displayed +# on the context menu that copies the selected response as a string +netmonitor.context.copyResponse=Copy Response + +# LOCALIZATION NOTE (netmonitor.context.copyResponse.accesskey): This is the access key +# for the Copy Response menu item displayed in the context menu for a request +netmonitor.context.copyResponse.accesskey=R + +# LOCALIZATION NOTE (netmonitor.context.copyImageAsDataUri): This is the label displayed +# on the context menu that copies the selected image as data uri +netmonitor.context.copyImageAsDataUri=Copy Image as Data URI + +# LOCALIZATION NOTE (netmonitor.context.copyImageAsDataUri.accesskey): This is the access key +# for the Copy Image As Data URI menu item displayed in the context menu for a request +netmonitor.context.copyImageAsDataUri.accesskey=I + +# LOCALIZATION NOTE (netmonitor.context.useAsFetch): This is the label displayed +# on the context menu that copies the selected request as a fetch command. +netmonitor.context.useAsFetch=Use as Fetch in Console + +# LOCALIZATION NOTE (netmonitor.context.useAsFetch.accesskey): This is the access key +# for the Copy as fetch menu item displayed in the context menu for a request +netmonitor.context.useAsFetch.accesskey=F + +# LOCALIZATION NOTE (netmonitor.context.saveImageAs): This is the label displayed +# on the context menu that save the Image +netmonitor.context.saveImageAs=Save Image As + +# LOCALIZATION NOTE (netmonitor.context.saveImageAs.accesskey): This is the access key +# for the Copy Image As Data URI menu item displayed in the context menu for a request +netmonitor.context.saveImageAs.accesskey=V + +# LOCALIZATION NOTE (netmonitor.context.copyAll): This is the label displayed +# on the context menu that copies all data +netmonitor.context.copyAll=Copy All + +# LOCALIZATION NOTE (netmonitor.context.copyAll.accesskey): This is the access key +# for the Copy All menu item displayed in the context menu for a properties view panel +netmonitor.context.copyAll.accesskey=A + +# LOCALIZATION NOTE (netmonitor.context.copyAllAsHar): This is the label displayed +# on the context menu that copies all as HAR format +netmonitor.context.copyAllAsHar=Copy All As HAR + +# LOCALIZATION NOTE (netmonitor.context.copyAllAsHar.accesskey): This is the access key +# for the Copy All As HAR menu item displayed in the context menu for a network panel +netmonitor.context.copyAllAsHar.accesskey=O + +# LOCALIZATION NOTE (netmonitor.context.saveAllAsHar): This is the label displayed +# on the context menu that saves all as HAR format +netmonitor.context.saveAllAsHar=Save All As HAR + +# LOCALIZATION NOTE (netmonitor.context.saveAllAsHar.accesskey): This is the access key +# for the Save All As HAR menu item displayed in the context menu for a network panel +netmonitor.context.saveAllAsHar.accesskey=H + +# LOCALIZATION NOTE (netmonitor.context.importHar.accesskey): This is the access key +# for the Import HAR menu item displayed in the context menu for a network panel +netmonitor.context.importHar.accesskey=I + +# LOCALIZATION NOTE (netmonitor.har.importHarDialogTitle): This is a label +# used for import file open dialog +netmonitor.har.importHarDialogTitle=Import HAR File + +# LOCALIZATION NOTE (netmonitor.har.importDialogHARFilter): +# This string is displayed as a filter for importing HAR file +netmonitor.har.importDialogHARFilter=HAR Files + +# LOCALIZATION NOTE (netmonitor.har.importDialogAllFilter): +# This string is displayed as a filter for importing HAR file +netmonitor.har.importDialogAllFilter=All Files + +# LOCALIZATION NOTE (netmonitor.context.resend.label): This is the label displayed +# on the context menu that resends the currently displayed request immediately +netmonitor.context.resend.label=Resend + +# LOCALIZATION NOTE (netmonitor.context.resend.accesskey): This is the access key +# for the "Resend" menu item displayed in the context menu for a request +netmonitor.context.resend.accesskey=n + +# LOCALIZATION NOTE (netmonitor.context.editAndResend): This is the label displayed +# on the context menu that opens a form to edit and resend the currently +# displayed request +netmonitor.context.editAndResend=Edit and Resend + +# LOCALIZATION NOTE (netmonitor.context.editAndResend.accesskey): This is the access key +# for the "Edit and Resend" menu item displayed in the context menu for a request +netmonitor.context.editAndResend.accesskey=E + +# LOCALIZATION NOTE (netmonitor.context.blockURL): This is the label displayed +# on the context menu that blocks any requests matching the selected request's URL. +netmonitor.context.blockURL=Block URL + +# LOCALIZATION NOTE (netmonitor.context.unblockURL): This is the label displayed +# on the context menu that unblocks any requests matching the selected request's URL. +netmonitor.context.unblockURL=Unblock URL + +# LOCALIZATION NOTE (netmonitor.context.newTab): This is the label +# for the Open in New Tab menu item displayed in the context menu of the +# network container +netmonitor.context.newTab=Open in New Tab + +# LOCALIZATION NOTE (netmonitor.context.newTab.accesskey): This is the access key +# for the Open in New Tab menu item displayed in the context menu of the +# network container +netmonitor.context.newTab.accesskey=T + +# LOCALIZATION NOTE (netmonitor.context.openInDebugger): This is the label +# for the Open in Debugger menu item displayed in the context menu of the +# network container +netmonitor.context.openInDebugger=Open the debugger + +# LOCALIZATION NOTE (netmonitor.context.openInDebugger.accesskey): This is the access key +# for the Open in Debugger menu item displayed in the context menu of the +# network container +netmonitor.context.openInDebugger.accesskey=D + +# LOCALIZATION NOTE (netmonitor.context.openInStyleEditor): This is the label +# for the Open in Style Editor menu item displayed in the context menu of the +# network container +netmonitor.context.openInStyleEditor=Open in Style Editor + +# LOCALIZATION NOTE (netmonitor.context.openInStyleEditor.accesskey): This is +# the access key for the Open in Style Editor menu item displayed in the +# context menu of the network container +netmonitor.context.openInStyleEditor.accesskey=S + +# LOCALIZATION NOTE (netmonitor.context.perfTools): This is the label displayed +# on the context menu that shows the performance analysis tools +netmonitor.context.perfTools=Start Performance Analysis… + +# LOCALIZATION NOTE (netmonitor.context.perfTools.accesskey): This is the access key +# for the performance analysis menu item displayed in the context menu for a request +netmonitor.context.perfTools.accesskey=A + +# LOCALIZATION NOTE (netmonitor.custom.newRequest): This is the label displayed +# as the title of the new custom request form +netmonitor.custom.newRequest=New Request + +# LOCALIZATION NOTE (netmonitor.custom.newRequestMethodLabel): This is the label displayed +# above the method text input field of the new custom request form +netmonitor.custom.newRequestMethodLabel=Method + +# LOCALIZATION NOTE (netmonitor.custom.newRequestUrlLabel): This is the label displayed +# above the url text input field of the new custom request form +netmonitor.custom.newRequestUrlLabel=URL + +# LOCALIZATION NOTE (netmonitor.custom.query): This is the label displayed +# above the query string entry in the custom request form +netmonitor.custom.query=Query String: + +# LOCALIZATION NOTE (netmonitor.custom.urlParameters): This is the label displayed +# above the query string entry in the custom request form +netmonitor.custom.urlParameters=URL Parameters + +# LOCALIZATION NOTE (netmonitor.custom.headers): This is the label displayed +# above the request headers entry in the custom request form +netmonitor.custom.headers=Request Headers: + +# LOCALIZATION NOTE (netmonitor.custom.newRequestHeaders): This is the label displayed +# above the request headers entry in the new custom request form +netmonitor.custom.newRequestHeaders=Headers + +# 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 +netmonitor.custom.placeholder.name=name + +# 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 +netmonitor.custom.placeholder.value=value + +# LOCALIZATION NOTE (netmonitor.custom.postBody): This is the label displayed +# above the request body entry in the new custom request form +netmonitor.custom.postBody=Body + +# LOCALIZATION NOTE (netmonitor.custom.postBody.placeholder): This is the placeholder displayed +# on the textarea body in the new custom request form +netmonitor.custom.postBody.placeholder=payload + +# LOCALIZATION NOTE (netmonitor.custom.postData): This is the label displayed +# above the request body entry in the custom request form +netmonitor.custom.postData=Request Body: + +# LOCALIZATION NOTE (netmonitor.custom.send): This is the label displayed +# on the button which sends the custom request +netmonitor.custom.send=Send + +# LOCALIZATION NOTE (netmonitor.custom.cancel): This is the label displayed +# on the button which cancels and closes the custom request form +netmonitor.custom.cancel=Sguir dheth + +# LOCALIZATION NOTE (netmonitor.custom.clear): This is the label displayed +# on the button which clears the content of the new custom request panel +netmonitor.custom.clear=Clear + +# LOCALIZATION NOTE (netmonitor.custom.removeItem): This is the +# tooltip shown over the remove button for headers and query params item +netmonitor.custom.removeItem=Remove item + +# LOCALIZATION NOTE (netmonitor.backButton): This is the label displayed +# on the button which exists the performance statistics view +netmonitor.backButton=Air ais + +# LOCALIZATION NOTE (netmonitor.status.tooltip.simple): This is the tooltip of the +# column status code, when request is not being cached or is not from a service worker +# %1$S is the status code, %2$S is the status text. +netmonitor.status.tooltip.simple = %1$S %2$S + +# LOCALIZATION NOTE (netmonitor.status.tooltip.cached): This is the tooltip of +# the column status code, when the request is cached +# %1$S is the status code, %2$S is the status text. +netmonitor.status.tooltip.cached = %1$S %2$S (cached) + +# LOCALIZATION NOTE (netmonitor.status.tooltip.worker): This is the tooltip of +# the column status code, when the request is from a service worker +# %1$S is the status code, %2$S is the status text. +netmonitor.status.tooltip.worker = %1$S %2$S (service worker) + +# LOCALIZATION NOTE (netmonitor.status.tooltip.cachedworker): This is the tooltip +# of the column status code, when the request is cached and is from a service worker +# %1$S is the status code, %2$S is the status text. +netmonitor.status.tooltip.cachedworker = %1$S %2$S (cached, service worker) + +# LOCALIZATION NOTE (netmonitor.label.dropHarFiles): This is a label +# rendered within the Network panel when *.har file(s) are dragged +# over the content. +netmonitor.label.dropHarFiles = Drop HAR files here + +# LOCALIZATION NOTE (netmonitor.label.har): This is a label used +# as a tooltip for toolbar drop-down button with HAR actions +netmonitor.label.har=HAR Export/Import + +# LOCALIZATION NOTE (netmonitor.cache.cache): This is the label text for the parent +# node in the TreeView. +netmonitor.cache.cache=Cache + +# LOCALIZATION NOTE (netmonitor.cache.empty): This is the text displayed when cache +# information is not available. +netmonitor.cache.empty=No cache information + +# LOCALIZATION NOTE (netmonitor.cache.notAvailable): This is the text displayed under +# a node that has no information available. +netmonitor.cache.notAvailable=Not Available + +# LOCALIZATION NOTE (netmonitor.cache.dataSize): This is the label text for +# the datasize of the cached object. +netmonitor.cache.dataSize=Data Size + +# LOCALIZATION NOTE (netmonitor.cache.expires): This is the label text for the +# expires time of the cached object. +netmonitor.cache.expires=Expires + +# LOCALIZATION NOTE (netmonitor.cache.fetchCount): This is the label text for the +# fetch count of the cached object. +netmonitor.cache.fetchCount=Fetch Count + +# LOCALIZATION NOTE (netmonitor.cache.lastFetched): This is the label text for the +# last fetched date/time of the cached object. +netmonitor.cache.lastFetched=Last Fetched + +# LOCALIZATION NOTE (netmonitor.cache.lastModified): This is the label text for the +# last modified date/time of the cached object. +netmonitor.cache.lastModified=Last Modified + +# LOCALIZATION NOTE (netmonitor.cache.device): This is the label text for the device +# where a cached object was fetched from (e.g. "disk"). +netmonitor.cache.device=Device + +# LOCALIZATION NOTE (netmonitor.settings.menuTooltip): This is the tooltip that gets displayed +# when the settings menu button is hovered. +netmonitor.settings.menuTooltip=Network Settings + +# LOCALIZATION NOTE (netmonitor.settings.importHarTooltip): This is the tooltip that gets displayed +# when the HAR import menu item is hovered +netmonitor.settings.importHarTooltip=Import a HAR file of network data + +# LOCALIZATION NOTE (netmonitor.settings.saveHarTooltip): This is the tooltip that gets displayed +# when the HAR save menu item is hovered +netmonitor.settings.saveHarTooltip=Save network data to HAR file + +# LOCALIZATION NOTE (netmonitor.settings.copyHarTooltip): This is the tooltip that gets displayed +# when the HAR copy menu item is hovered +netmonitor.settings.copyHarTooltip=Copy network data to the clipboard diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/network-throttling.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/network-throttling.properties new file mode 100644 index 0000000000000000000000000000000000000000..d4a70016aed32d20a7f95dcb74a38b805b0847aa --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/network-throttling.properties @@ -0,0 +1,27 @@ +# 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/. + +# LOCALIZATION NOTE These strings are used inside the NetworkThrottlingMenu +# component used to throttle network bandwidth. +# +# 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 (responsive.noThrottling): UI option in a menu to configure +# network throttling. This option is the default and disables throttling so you +# just have normal network conditions. There is not very much room in the UI +# so a short string would be best if possible. +responsive.noThrottling=No throttling + +# LOCALIZATION NOTE (throttling.profile.description): Tooltip for the throttling +# menu button, which gives details about the currently selected profile. +# %1$S: Download speed value (number) +# %2$S: Download speed unit (eg "Kbps", "Mbps") +# %3$S: Upload speed value (number) +# %4$S: Upload speed unit (eg "Kbps", "Mbps") +# %5$S: Latency value, (number, in ms) +throttling.profile.description = download %1$S%2$S, upload %3$S%4$S, latency %5$Sms diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/responsive.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/responsive.properties new file mode 100644 index 0000000000000000000000000000000000000000..5ae29b9a5d08e2c8e0ef08463aa26dccb1e042d6 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/responsive.properties @@ -0,0 +1,182 @@ +# 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/. + +# LOCALIZATION NOTE These strings are used inside the Responsive Design Mode, +# available from the Web Developer sub-menu -> 'Responsive Design Mode'. +# +# 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 Responsive Design Mode, +# available from the Browser Tools sub-menu -> 'Responsive Design Mode'. +# +# 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 (responsive.editDeviceList2): Context menu item displayed in the +# device selector. +responsive.editDeviceList2=Edit List… + +# LOCALIZATION NOTE (responsive.exit): Tooltip text of the exit button. +responsive.exit=Close Responsive Design Mode + +# LOCALIZATION NOTE (responsive.rotate): Tooltip text of the rotate button. +responsive.rotate=Rotate viewport + +# LOCALIZATION NOTE (responsive.responsiveMode): Placeholder text for the +# device selector. +responsive.responsiveMode=Responsive + +# LOCALIZATION NOTE (responsive.enableTouch): Tooltip text for the touch +# simulation button when it's disabled. +responsive.enableTouch=Enable touch simulation + +# LOCALIZATION NOTE (responsive.disableTouch): Tooltip text for the touch +# simulation button when it's enabled. +responsive.disableTouch=Disable touch simulation + +# LOCALIZATION NOTE (responsive.screenshot): Tooltip of the screenshot button. +responsive.screenshot=Take a screenshot of the viewport + +# LOCALIZATION NOTE (responsive.screenshotGeneratedFilename): The auto generated +# filename. +# The first argument (%1$S) is the date string in yyyy-mm-dd format and the +# second argument (%2$S) is the time string in HH.MM.SS format. +responsive.screenshotGeneratedFilename=Screen Shot %1$S at %2$S + +# LOCALIZATION NOTE (responsive.remoteOnly): Message displayed in the tab's +# notification box if a user tries to open Responsive Design Mode in a +# non-remote tab. +responsive.remoteOnly=Responsive Design Mode is only available for remote browser tabs, such as those used for web content in multi-process Firefox. + +# LOCALIZATION NOTE (responsive.changeDevicePixelRatio): Tooltip for the +# device pixel ratio dropdown when is enabled. +responsive.changeDevicePixelRatio=Change device pixel ratio of the viewport + +# LOCALIZATION NOTE (responsive.devicePixelRatio.auto): Tooltip for the device pixel ratio +# dropdown when it is disabled because a device is selected. +# The argument (%1$S) is the selected device (e.g. iPhone 6) that set +# automatically the device pixel ratio value. +responsive.devicePixelRatio.auto=Device pixel ratio automatically set by %1$S + +# LOCALIZATION NOTE (responsive.customDeviceName): Default value in a form to +# add a custom device based on an arbitrary size (no association to an existing +# device). +responsive.customDeviceName=Custom Device + +# LOCALIZATION NOTE (responsive.customDeviceNameFromBase): Default value in a +# form to add a custom device based on the properties of another. %1$S is the +# name of the device we're staring from, such as "Apple iPhone 6". +responsive.customDeviceNameFromBase=%1$S (Custom) + +# LOCALIZATION NOTE (responsive.addDevice2): Button text that reveals a form to +# be used for adding custom devices. +responsive.addDevice2=Add Custom Device… + +# LOCALIZATION NOTE (responsive.deviceAdderName): Label of form field for the +# name of a new device. +responsive.deviceAdderName=Name + +# LOCALIZATION NOTE (responsive.deviceAdderSize): Label of form field for the +# size of a new device. +responsive.deviceAdderSize=Size + +# LOCALIZATION NOTE (responsive.deviceAdderPixelRatio2): Label of form field for +# the device pixel ratio of a new device. +responsive.deviceAdderPixelRatio2=Device Pixel Ratio + +# LOCALIZATION NOTE (responsive.deviceAdderUserAgent2): Label of form field for +# the user agent of a new device. +responsive.deviceAdderUserAgent2=User Agent String + +# LOCALIZATION NOTE (responsive.deviceAdderTouch2): Label of form field for the +# touch input support of a new device. +responsive.deviceAdderTouch2=Touch Screen + +# LOCALIZATION NOTE (responsive.deviceAdderSave): Button text that submits a +# form to add a new device. +responsive.deviceAdderSave=Save + +# LOCALIZATION NOTE (responsive.deviceAdderCancel): Button text that cancels a +# form to add a new device. +responsive.deviceAdderCancel=Cancel + +# LOCALIZATION NOTE (responsive.deviceDetails): Tooltip that appears when +# hovering on a device in the device modal. %1$S is the width of the device. +# %2$S is the height of the device. %3$S is the device pixel ratio value of the +# device. %4$S is the user agent of the device. %5$S is a boolean value +# noting whether touch input is supported. +responsive.deviceDetails=Size: %1$S x %2$S\nDPR: %3$S\nUA: %4$S\nTouch: %5$S + +# LOCALIZATION NOTE (responsive.deviceDetails.browserAndOS): Used to display the browser +# and the OS in a tooltip that appears when hovering on a device in the device modal. +# %1$S: browser +# %2$S: OS +responsive.deviceDetails.browserAndOS=%1$S on %2$S + +# LOCALIZATION NOTE (responsive.deviceDetails.size): Used to display the pixel +# size in a tooltip that appears when hovering on a device in the device modal. +# %1$S: width +# %2$S: height +responsive.deviceDetails.size=Size: %1$S x %2$S + +# LOCALIZATION NOTE (responsive.deviceDetails.DPR): Used to display the DPR in a tooltip +# that appears when hovering on a device in the device modal. +# %1$S: device pixel ratio +responsive.deviceDetails.DPR=DPR: %1$S + +# LOCALIZATION NOTE (responsive.deviceDetails.UA): Used to display the UA in a tooltip +# that appears when hovering on a device in the device modal. +# %1$S: user agent +responsive.deviceDetails.UA=UA: %1$S + +# LOCALIZATION NOTE (responsive.deviceDetails.touch): Used to display a boolean value +# which is whether the touch input is supported or not in a tooltip that appears when +# hovering on a device in the device modal. +# %1$S: touch +responsive.deviceDetails.touch=Touch: %1$S + +# LOCALIZATION NOTE (responsive.devicePixelRatioOption): UI option in a menu to configure +# the device pixel ratio. %1$S is the devicePixelRatio value of the device. +responsive.devicePixelRatioOption=DPR: %1$S + +# LOCALIZATION NOTE (responsive.reloadConditions.touchSimulation): Label on checkbox used +# to select whether to reload when touch simulation is toggled. +responsive.reloadConditions.touchSimulation=Reload when touch simulation is toggled + +# LOCALIZATION NOTE (responsive.reloadConditions.userAgent): Label on checkbox used +# to select whether to reload when user agent is changed. +responsive.reloadConditions.userAgent=Reload when user agent is changed + +# LOCALIZATION NOTE (responsive.reloadNotification.description2): Text in notification bar +# shown on first open to clarify that some features need a reload to apply. +responsive.reloadNotification.description2=Device simulation changes require a reload to fully apply. Automatic reloads are disabled by default to avoid losing any changes in DevTools. You can enable reloading via the Settings menu. + +# LOCALIZATION NOTE (responsive.leftAlignViewport): Label on checkbox used in the settings +# menu. +responsive.leftAlignViewport=Left-align Viewport + +# LOCALIZATION NOTE (responsive.customUserAgent): This is the placeholder for the user +# agent input in the responsive design mode toolbar. +responsive.customUserAgent=Custom User Agent + +responsive.showUserAgentInput=Show user agent + +# LOCALIZATION NOTE (responsive.deviceSettings): The header text for the device settings +# view. +responsive.deviceSettings=Device Settings + +# LOCALIZATION NOTE (responsive.deviceNameAlreadyInUse): This is the text shown when adding a new +# device with an already existing device name. +responsive.deviceNameAlreadyInUse=Device name already in use + +# LOCALIZATION NOTE (responsive.deviceFormUpdate): Button text that updates a custom +# device when the form is submitted. +responsive.deviceFormUpdate=Update diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/shared.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/shared.properties new file mode 100644 index 0000000000000000000000000000000000000000..755090f9f33ab79f7faea5b69d6c3a8e015381b5 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/shared.properties @@ -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/. + +# LOCALIZATION NOTE (dimensions): This is used to display the dimensions +# of a node or image, like 100×200. +dimensions=%S×%S + +# LOCALIZATION NOTE (boxModelSize.accessibleLabel): This is used to read the +# dimensions of a node by a screen reader. This helps communicate +# the visual information in a more explicit form. Example: +# Size: Width 100, height 200. +boxModelSize.accessibleLabel=Meud: %1$S a leud, %2$S a dh’àirde + +# LOCALIZATION NOTE (boxModelInfo.accessibleLabel): This is used to read the +# dimensions and position of a node by a screen reader. This helps communicate +# the visual information in a more explicit form. Example: +# Dimensions: Width 100, height 200, position static. +boxModelInfo.accessibleLabel=Dimeinsean: %1$S a leud, %2$S a dh’àirde, ionad %3$S + +# LOCALIZATION NOTE (boxModelEditable.accessibleLabel): The string spoken by +# screen readers for each button in the box model view that opens that property +# for editing. %1$S is the property displayed in the tooltip when hovering. +# %2$S is the value that is visually displayed. +# Example: margin-left: 0. +boxModelEditable.accessibleLabel=%1$S: %2$S diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/sourceeditor.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/sourceeditor.properties new file mode 100644 index 0000000000000000000000000000000000000000..7e2487f1598a8670fe4149045b1583f918769fed --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/sourceeditor.properties @@ -0,0 +1,117 @@ +# 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/. + +# LOCALIZATION NOTE These strings are used inside the Source Editor component. +# This component is used whenever source code is displayed for the purpose of +# being edited, inside the Firefox developer tools - current examples are the +# Scratchpad and the Style Editor tools. + +# LOCALIZATION NOTE These strings are used inside the Source Editor component. +# This component is used whenever source code is displayed for the purpose of +# being edited, inside the Firefox developer tools (like Style Editor). + +# LOCALIZATION NOTE 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 (findCmd.promptMessage): This is the message shown when +# the user wants to search for a string in the code. You can +# access this feature by pressing Ctrl-F on Windows/Linux or Cmd-F on Mac. +findCmd.promptMessage=Lorg: + +# LOCALIZATION NOTE (gotoLineCmd.promptTitle): This is the dialog title used +# when the user wants to jump to a specific line number in the code. You can +# access this feature by pressing Ctrl-J on Windows/Linux or Cmd-J on Mac. +gotoLineCmd.promptTitle=Rach gu loidhne… + +# LOCALIZATION NOTE (autocompletion.docsLink): This is the text shown on +# the link inside of the documentation popup. If you type 'document' in Scratchpad +# then press Shift+Space you can see the popup. +autocompletion.docsLink=docs + +# LOCALIZATION NOTE (autocompletion.notFound): This is the text shown in +# the documentation popup if Tern fails to find a type for the object. +autocompletion.notFound=not found + +# LOCALIZATION NOTE (jumpToLine.commandkey): This is the key to use in +# conjunction with accel (Command on Mac or Ctrl on other platforms) to jump to +# a specific line in the editor. +jumpToLine.commandkey=J + +# LOCALIZATION NOTE (toggleComment.commandkey): This is the key to use in +# conjunction with accel (Command on Mac or Ctrl on other platforms) to either +# comment or uncomment selected lines in the editor. +toggleComment.commandkey=/ + +# LOCALIZATION NOTE (indentLess.commandkey): This is the key to use in +# conjunction with accel (Command on Mac or Ctrl on other platforms) to reduce +# indentation level in CodeMirror. However, its default value also used by +# the Toolbox to switch between tools so we disable it. +# +# DO NOT translate this key without proper synchronization with toolbox.dtd. +indentLess.commandkey=[ + +# LOCALIZATION NOTE (indentMore.commandkey): This is the key to use in +# conjunction with accel (Command on Mac or Ctrl on other platforms) to increase +# indentation level in CodeMirror. However, its default value also used by +# the Toolbox to switch between tools +# +# DO NOT translate this key without proper synchronization with toolbox.dtd. +indentMore.commandkey=] + +# LOCALIZATION NOTE (moveLineUp.commandkey): This is the combination of keys +# used to move the current line up. +# Do not localize "Alt", "Up", or change the format of the string. These are key +# identifiers, not messages displayed to the user. +moveLineUp.commandkey=Alt-Up + +# LOCALIZATION NOTE (moveLineDown.commandkey): This is the combination of keys +# used to move the current line up. +# Do not localize "Alt", "Down", or change the format of the string. These are +# key identifiers, not messages displayed to the user. +moveLineDown.commandkey=Alt-Down + +# LOCALIZATION NOTE (autocompletion.commandkey): This is the key, used with +# Ctrl, for code autocompletion. +# Do not localize "Space", it's the key identifier, not a message displayed to +# the user. +autocompletion.commandkey=Space + +# LOCALIZATION NOTE (showInformation2.commandkey): This is the combination of +# keys used to display more information, like type inference. +# Do not localize "Shift", "Ctrl", "Space", or change the format of the string. +# These are key identifiers, not messages displayed to the user. +showInformation2.commandkey=Shift-Ctrl-Space + +# LOCALIZATION NOTE (find.key): +# Key shortcut used to find the typed search +# Do not localize "CmdOrCtrl", "F", or change the format of the string. These are +# key identifiers, not messages displayed to the user. +find.key=CmdOrCtrl+F + +# LOCALIZATION NOTE (replaceAll.key): +# Key shortcut used to replace the content of the editor +# Do not localize "Shift", "CmdOrCtrl", "F", or change the format of the string. These are +# key identifiers, not messages displayed to the user. +replaceAll.key=Shift+CmdOrCtrl+F + +# LOCALIZATION NOTE (replaceAllMac.key): +# Key shortcut used to replace the content of the editor on Mac +# Do not localize "Alt", "CmdOrCtrl", "F", or change the format of the string. These are +# key identifiers, not messages displayed to the user. +replaceAllMac.key=Alt+CmdOrCtrl+F + +# LOCALIZATION NOTE (findNext.key): +# Key shortcut used to find again the typed search +# Do not localize "CmdOrCtrl", "G", or change the format of the string. These are +# key identifiers, not messages displayed to the user. +findNext.key=CmdOrCtrl+G + +# LOCALIZATION NOTE (findPrev.key): +# Key shortcut used to find the previous typed search +# Do not localize "Shift", "CmdOrCtrl", "G", or change the format of the string. These are +# key identifiers, not messages displayed to the user. +findPrev.key=Shift+CmdOrCtrl+G diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/startup.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/startup.properties new file mode 100644 index 0000000000000000000000000000000000000000..a6cddba1c48cf1394e0c5afd2a6d3957db61e575 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/startup.properties @@ -0,0 +1,247 @@ +# 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/. + +# LOCALIZATION NOTE (optionsButton.tooltip): This is used as the tooltip +# for the options panel tab. +optionsButton.tooltip=Toolbox Options + +# LOCALIZATION NOTE (options.label): This is used as the label of the tab in +# the devtools window. +options.label=Options + +# LOCALIZATION NOTE (options.panelLabel): This is used as the label for the +# toolbox panel. +options.panelLabel=Toolbox Options Panel + +# LOCALIZATION NOTE (options.darkTheme.label2) +# Used as a label for dark theme +options.darkTheme.label2=Dark + +# LOCALIZATION NOTE (options.lightTheme.label2) +# Used as a label for light theme +options.lightTheme.label2=Light + +# LOCALIZATION NOTE (performance.label): +# This string is displayed in the title of the tab when the profiler is +# displayed inside the developer tools window and in the Developer Tools Menu. +performance.label=Performance + +# LOCALIZATION NOTE (performance.panelLabel): +# This is used as the label for the toolbox panel. +performance.panelLabel=Performance Panel + +# LOCALIZATION NOTE (performance.accesskey) +# Used for the menuitem in the tool menu +performance.accesskey=P + +# LOCALIZATION NOTE (performance.tooltip): +# This string is displayed in the tooltip of the tab when the profiler is +# displayed inside the developer tools window. +# Keyboard shortcut for Performance Tools will be shown inside brackets. +performance.tooltip=Performance (%S) + +# LOCALIZATION NOTE (MenuWebconsole.label): the string displayed in the Tools +# menu as a shortcut to open the devtools with the Web Console tab selected. +MenuWebconsole.label=Web Console + +# LOCALIZATION NOTE (ToolboxTabWebconsole.label): the string displayed as the +# label of the tab in the devtools window. +ToolboxTabWebconsole.label=Console + +# LOCALIZATION NOTE (ToolboxWebConsole.panelLabel): the string used as the +# label for the toolbox panel. +ToolboxWebConsole.panelLabel=Console Panel + +# LOCALIZATION NOTE (ToolboxWebconsole.tooltip2): the string displayed in the +# tooltip of the tab when the Web Console is displayed inside the developer +# tools window. +# Keyboard shortcut for Console will be shown inside the brackets. +ToolboxWebconsole.tooltip2=Web Console (%S) + +webConsoleCmd.accesskey=W + +# LOCALIZATION NOTE (ToolboxDebugger.label): +# This string is displayed in the title of the tab when the debugger is +# displayed inside the developer tools window and in the Developer Tools Menu. +ToolboxDebugger.label=Debugger + +# LOCALIZATION NOTE (ToolboxDebugger.panelLabel): +# This is used as the label for the toolbox panel. +ToolboxDebugger.panelLabel=Debugger Panel + +# LOCALIZATION NOTE (ToolboxDebugger.tooltip4): +# This string is displayed in the tooltip of the tab when the debugger is +# displayed inside the developer tools window. +ToolboxDebugger.tooltip4=JavaScript Debugger (%S) + +# LOCALIZATION NOTE (debuggerMenu.accesskey) +# Used for the menuitem in the tool menu +debuggerMenu.accesskey=D + +# LOCALIZATION NOTE (ToolboxStyleEditor.label): +# This string is displayed in the title of the tab when the style editor is +# displayed inside the developer tools window and in the Developer Tools Menu. +ToolboxStyleEditor.label=Style Editor + +# LOCALIZATION NOTE (ToolboxStyleEditor.panelLabel): +# This is used as the label for the toolbox panel. +ToolboxStyleEditor.panelLabel=Style Editor Panel + +# LOCALIZATION NOTE (ToolboxStyleEditor.tooltip3): +# This string is displayed in the tooltip of the tab when the style editor is +# displayed inside the developer tools window. +# A keyboard shortcut for Stylesheet Editor will be shown inside the latter pair of brackets. +ToolboxStyleEditor.tooltip3=Stylesheet Editor (CSS) (%S) + +# LOCALIZATION NOTE (open.accesskey): The access key used to open the style +# editor. +open.accesskey=l + +# LOCALIZATION NOTE (inspector.*) +# Used for the menuitem in the tool menu +inspector.label=Inspector +inspector.accesskey=I + +# LOCALIZATION NOTE (inspector.panelLabel) +# Labels applied to the panel and views within the panel in the toolbox +inspector.panelLabel=Inspector Panel + +# LOCALIZATION NOTE (inspector.tooltip2) +# Keyboard shortcut for DOM and Style Inspector will be shown inside brackets. +inspector.tooltip2=DOM and Style Inspector (%S) + +# LOCALIZATION NOTE (inspector.mac.tooltip) +# This is the exact same string as inspector.tooltip2, except that we show it +# on mac only, where we support toggling the inspector with either cmd+shift+C, +# or cmd+opt+C +inspector.mac.tooltip=DOM and Style Inspector (%1$S or %2$S) + +# LOCALIZATION NOTE (netmonitor.label): +# This string is displayed in the title of the tab when the Network Monitor is +# displayed inside the developer tools window and in the Developer Tools Menu. +netmonitor.label=Network + +# LOCALIZATION NOTE (netmonitor.panelLabel): +# This is used as the label for the toolbox panel. +netmonitor.panelLabel=Network Panel + +# LOCALIZATION NOTE (netmonitor.accesskey) +# Used for the menuitem in the tool menu +netmonitor.accesskey=N + +# LOCALIZATION NOTE (netmonitor.tooltip2): +# This string is displayed in the tooltip of the tab when the Network Monitor is +# displayed inside the developer tools window. +# Keyboard shortcut for Network Monitor will be shown inside the brackets. +netmonitor.tooltip2=Network Monitor (%S) + +# LOCALIZATION NOTE (storage.accesskey): The access key used to open the storage +# editor. +storage.accesskey=a + +# LOCALIZATION NOTE (storage.label): +# This string is displayed as the label of the tab in the developer tools window +storage.label=Storage + +# LOCALIZATION NOTE (storage.menuLabel): +# This string is displayed in the Tools menu as a shortcut to open the devtools +# with the Storage Inspector tab selected. +storage.menuLabel=Storage Inspector + +# LOCALIZATION NOTE (storage.panelLabel): +# This string is used as the aria-label for the iframe of the Storage Inspector +# tool in developer tools toolbox. +storage.panelLabel=Storage Panel + +# LOCALIZATION NOTE (storage.tooltip3): +# This string is displayed in the tooltip of the tab when the storage editor is +# displayed inside the developer tools window. +# A keyboard shortcut for Storage Inspector will be shown inside the brackets. +storage.tooltip3=Storage Inspector (Cookies, Local Storage, …) (%S) + +# LOCALIZATION NOTE (memory.label): This string is displayed in the title of the +# tab when the memory tool is displayed inside the developer tools window and in +# the Developer Tools Menu. +memory.label=Memory + +# LOCALIZATION NOTE (memory.panelLabel): This is used as the label for the +# toolbox panel. +memory.panelLabel=Memory Panel + +# LOCALIZATION NOTE (memory.tooltip): This string is displayed in the tooltip of +# the tab when the memory tool is displayed inside the developer tools window. +memory.tooltip=Memory + +# LOCALIZATION NOTE (dom.label): +# This string is displayed in the title of the tab when the DOM panel is +# displayed inside the developer tools window and in the Developer Tools Menu. +dom.label=DOM + +# LOCALIZATION NOTE (dom.panelLabel): +# This is used as the label for the toolbox panel. +dom.panelLabel=DOM Panel + +# LOCALIZATION NOTE (dom.accesskey) +# Used for the menuitem in the tool menu +dom.accesskey=D + +# LOCALIZATION NOTE (dom.tooltip): +# This string is displayed in the tooltip of the tab when the DOM is +# displayed inside the developer tools window. +# Keyboard shortcut for DOM panel will be shown inside the brackets. +dom.tooltip=DOM (%S) + +# LOCALIZATION NOTE (accessibility.label): +# This string is displayed in the title of the tab when the Accessibility panel +# is displayed inside the developer tools window and in the Developer Tools Menu. +accessibility.label=Accessibility + +# LOCALIZATION NOTE (accessibility.panelLabel): +# This is used as the label for the toolbox panel. +accessibility.panelLabel=Accessibility Panel + +# LOCALIZATION NOTE (accessibility.accesskey) +# Used for the menuitem in the tool menu +accessibility.accesskey=y + +# LOCALIZATION NOTE (accessibility.tooltip3): +# This string is displayed in the tooltip of the tab when the Accessibility is +# displayed inside the developer tools window. +# Keyboard shortcut for Accessibility panel will be shown inside the brackets. +accessibility.tooltip3=Accessibility (%S) + +# LOCALIZATION NOTE (application.label): +# This string is displayed in the title of the tab when the Application panel +# is displayed inside the developer tools window and in the Developer Tools Menu. +application.label=Application + +# LOCALIZATION NOTE (application.panelLabel): +# This is used as the label for the toolbox panel. +application.panelLabel=Application Panel + +# LOCALIZATION NOTE (application.tooltip): +# This string is displayed in the tooltip of the tab when the Application panel is +# displayed inside the developer tools window. +application.tooltip=Application Panel + +# LOCALIZATION NOTE (toolbox.buttons.responsive): +# This is the tooltip of the button in the toolbox toolbar that toggles +# the Responsive mode. +# Keyboard shortcut will be shown inside brackets. +toolbox.buttons.responsive = Responsive Design Mode (%S) + +# LOCALIZATION NOTE (toolbox.buttons.screenshot): +# This is the tooltip of the button in the toolbox toolbar that allows you to +# take a screenshot of the entire page +toolbox.buttons.screenshot = Take a screenshot of the entire page + +# LOCALIZATION NOTE (toolbox.buttons.rulers): +# This is the tooltip of the button in the toolbox toolbar that toggles the +# rulers in the page +toolbox.buttons.rulers = Toggle rulers for the page + +# LOCALIZATION NOTE (toolbox.buttons.measure): +# This is the tooltip of the button in the toolbox toolbar that toggles the +# measuring tools +toolbox.buttons.measure = Measure a portion of the page diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/styleeditor.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/styleeditor.properties new file mode 100644 index 0000000000000000000000000000000000000000..e56c84b55a704e480ba50bd9a951e716aaf70529 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/styleeditor.properties @@ -0,0 +1,74 @@ +# 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/. + +# LOCALIZATION NOTE These strings are used inside the Style Editor. +# LOCALIZATION NOTE 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 (inlineStyleSheet): This is the name used for an style sheet +# that is declared inline in the <style> element. Shown in the stylesheets list. +# the argument is the index (order) of the containing <style> element in the +# document. +inlineStyleSheet=<siota-stoidhle am broinn loidhne #%S> + +# LOCALIZATION NOTE (newStyleSheet): This is the default name for a new +# user-created style sheet. +newStyleSheet=Siota-stoidhle ùr #%S + +# LOCALIZATION NOTE (ruleCount.label): Semicolon-separated list of plural forms. +# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals +# This is shown in the style sheets list. +# #1 rule. +# example: 111 rules. +ruleCount.label=#1 riaghailt;#1 riaghailt;#1 riaghailtean;#1 riaghailt. + +# LOCALIZATION NOTE (error-load): This is shown when loading fails. +error-load=Cha do ghabh an siota-stoidhle a luchdadh. + +# LOCALIZATION NOTE (error-save): This is shown when saving fails. +error-save=Cha do ghabh an siota-stoidhle a shàbhaladh. + +# LOCALIZATION NOTE (importStyleSheet.title): This is the file picker title, +# when you import a style sheet into the Style Editor. +importStyleSheet.title=Ion-phortaich siota-stoidhle + +# LOCALIZATION NOTE (importStyleSheet.filter): This is the *.css filter title +importStyleSheet.filter=Faidhlichean CSS + +# LOCALIZATION NOTE (saveStyleSheet.title): This is the file picker title, +# when you save a style sheet from the Style Editor. +saveStyleSheet.title=Sàbhail an siota-stoidhle + +# LOCALIZATION NOTE (saveStyleSheet.filter): This is the *.css filter title +saveStyleSheet.filter=Faidhlichean CSS + +# LOCALIZATION NOTE (saveStyleSheet.commandkey): This the key to use in +# conjunction with accel (Command on Mac or Ctrl on other platforms) to Save +saveStyleSheet.commandkey=S + +# LOCALIZATION NOTE (focusFilterInput.commandkey): This is the key to use in +# conjunction with accel (Command on Mac or Ctrl on other platforms) to focus the +# filter input. Don't use "F" as it's used by the CodeMirror editor to perform an +# in-file search; if possible, keep it the same as sources.search.key2. +focusFilterInput.commandkey=P + +# LOCALIZATION NOTE (showOriginalSources.label): This is the label on the context +# menu item to toggle showing original sources in the editor. +showOriginalSources.label=Show original sources + +# LOCALIZATION NOTE (showOriginalSources.accesskey): This is the access key for +# the menu item to toggle showing original sources in the editor. +showOriginalSources.accesskey=o + +# LOCALIZATION NOTE (showAtRulesSidebar.label): This is the label on the context +# menu item to toggle showing at-rules shortcuts in a sidebar. +# "@media" and "@supports" should not be translated as they are CSS rule identifiers. +showAtRulesSidebar.label=Show At-rules Sidebar (@media, @supports, …) + +# LOCALIZATION NOTE (showAtRulesSidebar.accesskey): This is the access key for +# the menu item to toggle showing the at-rules sidebar. +showAtRulesSidebar.accesskey=a diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/toolbox.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/toolbox.properties new file mode 100644 index 0000000000000000000000000000000000000000..625baa7e5c457895c02da243211d663c5cd65762 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/toolbox.properties @@ -0,0 +1,266 @@ +# 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/. + +# LOCALIZATION NOTE (toolbox.titleTemplate1): This is the template +# used to format the title of the toolbox. +# The URL of the page being targeted: %1$S. +toolbox.titleTemplate1=Developer Tools - %1$S + +# LOCALIZATION NOTE (toolbox.titleTemplate2): This is the template +# used to format the title of the toolbox. +# The page title or other name for the thing being targeted: %1$S +# The URL of the page being targeted: %2$S. +toolbox.titleTemplate2=Developer Tools - %1$S - %2$S + +# LOCALIZATION NOTE (toolbox.multiProcessBrowserToolboxTitle): Title used for +# the Browser Toolbox when the pref `devtools.browsertoolbox.scope` is set to "everything". +# This Browser Toolbox allows to debug the parent process as well as the content +# processes in the same toolbox. +toolbox.multiProcessBrowserToolboxTitle=Multiprocess Browser Toolbox + +# LOCALIZATION NOTE (toolbox.parentProcessBrowserToolboxTitle): Title used for +# the Browser Toolbox when the pref `devtools.browsertoolbox.scope` is set to "parent-process". +# This Browser Toolbox allows to debug only the parent process resources. +toolbox.parentProcessBrowserToolboxTitle=Parent process Browser Toolbox + +# LOCALIZATION NOTE (toolbox.defaultTitle): This is used as the tool +# name when no tool is selected. +toolbox.defaultTitle=Developer Tools + +# LOCALIZATION NOTE (toolbox.label): This is used as the label for the +# toolbox as a whole +toolbox.label=Developer Tools + +# LOCALIZATION NOTE (options.autoTheme.label) +# Used as a label for auto theme +options.autoTheme.label=Auto + +# LOCALIZATION NOTE (options.toolNotSupportedMarker): This is the template +# used to add a * marker to the label for the Options Panel tool checkbox for the +# tool which is not supported for the current toolbox target. +# The name of the tool: %1$S. +options.toolNotSupportedMarker=%1$S * + +# LOCALIZATION NOTE (toolbox.pickButton.tooltip) +# This is the tooltip of the element picker button in the toolbox toolbar. +# %S is the keyboard shortcut that toggles the element picker. +toolbox.elementPicker.tooltip=Pick an element from the page (%S) + +# LOCALIZATION NOTE (toolbox.pickButton.mac.tooltip) +# Like toolbox.pickButton.tooltip, but for macOS there are two possible keyboard +# shortcuts: Cmd+Shift+C or Cmd+Opt+C +toolbox.elementPicker.mac.tooltip=Pick an element from the page (%1$S or %2$S) + +# LOCALIZATION NOTE (toolbox.androidElementPicker.tooltip) +# This is the tooltip of the element picker button in the about:devtools-toolbox toolbox toolbar +# when debugging an Android device +# %S is the keyboard shortcut that toggles the element picker. +toolbox.androidElementPicker.tooltip=Pick an element from the Android phone (%S) + +# LOCALIZATION NOTE (toolbox.androidElementPicker.mac.tooltip) +# Like toolbox.androidElementPicker.tooltip, but for macOS as there are two possible keyboard +# shortcuts (Cmd+Shift+C or Cmd+Opt+C) +# %1$S and %2$S are the keyboard shortcuts that toggle the element picker. +toolbox.androidElementPicker.mac.tooltip=Pick an element from the Android phone (%1$S or %2$S) + +# LOCALIZATION NOTE (toolbox.elementPicker.key) +# Key shortcut used to toggle the element picker. +toolbox.elementPicker.key=CmdOrCtrl+Shift+C + +# LOCALIZATION NOTE (toolbox.elementPicker.mac.key) +# Key shortcut used to toggle the element picker for macOS. +toolbox.elementPicker.mac.key=Cmd+Opt+C + +# LOCALIZATION NOTE (toolbox.viewCssSourceInStyleEditor.label) +# Used as a message in either tooltips or contextual menu items to open the +# corresponding URL as a css file in the Style-Editor tool. +# DEV NOTE: Mostly used wherever toolbox.viewSourceInStyleEditorByXX is used. +toolbox.viewCssSourceInStyleEditor.label=Open File in Style-Editor + +# LOCALIZATION NOTE (toolbox.viewJsSourceInDebugger.label) +# Used as a message in either tooltips or contextual menu items to open the +# corresponding URL as a js file in the Debugger tool. +# DEV NOTE: Mostly used wherever toolbox.viewSourceInDebugger is used. +toolbox.viewJsSourceInDebugger.label=Open File in Debugger + +toolbox.resumeOrderWarning=Page did not resume after the debugger was attached. To fix this, please close and re-open the toolbox. + +# LOCALIZATION NOTE (toolbox.help.key) +# Key shortcut used to open the options panel +toolbox.help.key=F1 + +# LOCALIZATION NOTE (toolbox.nextTool.key) +# Key shortcut used to select the next tool +toolbox.nextTool.key=CmdOrCtrl+] + +# LOCALIZATION NOTE (toolbox.previousTool.key) +# Key shortcut used to select the previous tool +toolbox.previousTool.key=CmdOrCtrl+[ + +# LOCALIZATION NOTE (toolbox.zoom*.key) +# Key shortcuts used to zomm in/out or reset the toolbox +# Should match full-zoom-*-shortcut values from browserSets.ftl +toolbox.zoomIn.key=CmdOrCtrl+Plus +toolbox.zoomIn2.key=CmdOrCtrl+= + +toolbox.zoomOut.key=CmdOrCtrl+- +toolbox.zoomOut2.key= + +toolbox.zoomReset.key=CmdOrCtrl+0 +toolbox.zoomReset2.key= + +# LOCALIZATION NOTE (toolbox.reload*.key) +# Key shortcuts used to reload the page +toolbox.reload.key=CmdOrCtrl+R +toolbox.reload2.key=F5 + +# LOCALIZATION NOTE (toolbox.forceReload*.key) +# Key shortcuts used to force reload of the page by bypassing caches +toolbox.forceReload.key=CmdOrCtrl+Shift+R +toolbox.forceReload2.key=CmdOrCtrl+F5 + +# LOCALIZATION NOTE (toolbox.toggleHost.key) +# Key shortcut used to move the toolbox in bottom or side of the browser window +toolbox.toggleHost.key=CmdOrCtrl+Shift+D + +# LOCALIZATION NOTE (toolbox.closeToolbox.key) Key shortcut used to close the toolbox +toolbox.closeToolbox.key=CmdOrCtrl+W + +# LOCALIZATION NOTE (toolbox.toggleToolbox.key) Key shortcut used to toggle the toolbox +toolbox.toggleToolbox.key=CmdOrCtrl+Shift+I + +# LOCALIZATION NOTE (toolbox.toggleToolboxOSX.key) Key shortcut used to toggle the toolbox +toolbox.toggleToolboxOSX.key=CmdOrCtrl+Alt+I + +# LOCALIZATION NOTE (toolbox.toggleToolboxF12.key) Key shortcut used to toggle the toolbox +toolbox.toggleToolboxF12.key=F12 + +# LOCALIZATION NOTE (toolbox.frames.tooltip): This is the label for +# the iframes menu list that appears only when the document has some. +# It allows you to switch the context of the whole toolbox. +toolbox.frames.tooltip=Select an iframe as the currently targeted document + +# LOCALIZATION NOTE (toolbox.frames.disabled.tooltip): This is the title +# displayed as a tooltip of the iframes menu button, when disabled. The button +# is normally hidden when no frames are available. But if the user is on the +# DevTools Options panel, the button is always shown for discoverability. +toolbox.frames.disabled.tooltip=This button is only available on pages with several iframes + +# LOCALIZATION NOTE (toolbox.showFrames.key) +# Key shortcut used to show frames menu when 'frames' button is focused +toolbox.showFrames.key=Alt+Down + +# LOCALIZATION NOTE (toolbox.meatballMenu.button.tooltip): This is the tooltip +# for the "..." button on the developer tools toolbox. +toolbox.meatballMenu.button.tooltip=Customize Developer Tools and get help + +# LOCALIZATION NOTE (toolbox.closebutton.tooltip): This is the tooltip for +# the close button the developer tools toolbox. +toolbox.closebutton.tooltip=Close Developer Tools + +# LOCALIZATION NOTE (toolbox.errorCountButton.tooltip): This is the tooltip for +# the error count button displayed in the developer tools toolbox. +toolbox.errorCountButton.tooltip=Show Split Console + +# 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=Show the number of errors on the page + +# LOCALIZATION NOTE (toolbox.sourceMapFailure): This is shown in the web console +# when there is a failure to fetch or parse a source map. +# The text of the error: %1$S +# The URL that caused DevTools to try to fetch a source map: %2$S +# The URL of the source map itself: %3$S +toolbox.sourceMapFailure=Source map error: %1$S\nResource URL: %2$S\nSource Map URL: %3$S + +# LOCALIZATION NOTE (toolbox.sourceMapSourceFailure): This is shown in +# the web console when there is a failure to fetch or parse an +# original source that was mentioned in a source map. +# The text of the error: %1$S +# The URL of the source: %2$S +toolbox.sourceMapSourceFailure=Error while fetching an original source: %1$S\nSource URL: %2$S + +# LOCALIZATION NOTE (toolbox.debugTargetInfo.runtimeLabel): This is displayed as a toolbox +# header in about:devtools-toolbox. about:devtools-toolbox is used for instance when +# inspecting tabs in about:debugging. +# e.g. Mozilla Fennec (65.0a1) +# The name of runtime: %1$S +# The version of runtime: %2$S +toolbox.debugTargetInfo.runtimeLabel=%1$S (%2$S) + +# LOCALIZATION NOTE (toolbox.debugTargetInfo.runtimeLabel.thisRuntime): this is displayed +# as a toolbox header in about:devtools-toolbox, when inspecting the current Firefox runtime +# (for instance, when inspecting one of its tabs in about:debugging) +# e.g. This Firefox (65.0a1) +# The name of the current runtime/application (brandShorterName): %1$S +# The version of runtime: %2$S +toolbox.debugTargetInfo.runtimeLabel.thisRuntime=This %1$S (%2$S) + +# LOCALIZATION NOTE (toolbox.debugTargetInfo.tabTitleRemote): +# Used as the tab title for about:devtools-toolbox when connected to a remote target. +# The connection type (see toolbox.debugTargetInfo.connection.*): %1$S +# The target type (see toolbox.debugTargetInfo.targetType.*): %2$S +# The target name (retrieved from DevTools, eg the extension's name): %3$S +toolbox.debugTargetInfo.tabTitleRemote=Toolbox (%1$S) - %2$S / %3$S + +# LOCALIZATION NOTE (toolbox.debugTargetInfo.tabTitleLocal): +# Used as the tab title for about:devtools-toolbox when connected to This Firefox. +# The target type (see toolbox.debugTargetInfo.targetType.*): %1$S +# The target name (retrieved from DevTools, eg the extension's name): %2$S +toolbox.debugTargetInfo.tabTitleLocal=Toolbox - %1$S / %2$S + +# LOCALIZATION NOTE (toolbox.debugTargetInfo.tabTitleError): +# Used as the tab title for about:devtools-toolbox when it failed to connect to the +# target. +toolbox.debugTargetInfo.tabTitleError=Toolbox - error occurred + +# LOCALIZATION NOTE (toolbox.debugTargetInfo.connection.*): This is displayed in the +# toolbox header in about:devtools-toolbox, to indicate how the connection to the +# runtime being inspected was made. +toolbox.debugTargetInfo.connection.usb=USB +toolbox.debugTargetInfo.connection.network=Network + +# LOCALIZATION NOTE (toolbox.debugTargetInfo.reload): +# Used as the reload button tooltip +toolbox.debugTargetInfo.reload=Reload + +# LOCALIZATION NOTE (toolbox.debugTargetInfo.forward): +# Used as the navigation's "forward" button tooltip +toolbox.debugTargetInfo.forward=Forward + +# LOCALIZATION NOTE (toolbox.debugTargetInfo.back): +# Used as the navigation's "back" button tooltip +toolbox.debugTargetInfo.back=Back + +# LOCALIZATION NOTE (toolbox.debugTargetInfo.targetType.*): This is displayed as the +# alt attribute for an icon in the toolbox header in about:devtools-toolbox, +# to indicate what is the type of the debug target being inspected. +toolbox.debugTargetInfo.targetType.extension=Extension +toolbox.debugTargetInfo.targetType.process=Process +toolbox.debugTargetInfo.targetType.tab=Tab +toolbox.debugTargetInfo.targetType.worker=Worker + +# LOCALIZATION NOTE (browserToolbox.statusMessage): This is the label +# shown next to status details when the Browser Toolbox fails to connect or +# appears to be taking a while to do so. +browserToolbox.statusMessage=Browser Toolbox connection status: + +# LOCALIZATION NOTE (toolbox.debugTargetErrorPage.title): This is the title +# for the Error view shown by the toolbox when a connection to a debug target +# could not be made +toolbox.debugTargetErrorPage.title = Error + +# LOCALIZATION NOTE (toolbox.debugTargetErrorPage.description): This is the +# text that appears in the Error view and explains to the user that an error +# has happened while trying to connect to a debug target +toolbox.debugTargetErrorPage.description = Cannot connect to the debug target. See error details below: + +# LOCALIZATION NOTE (options.deprecationNotice): This is the text that appears in the +# settings panel for panel that will be removed in future releases. +# This entire text is treated as a link to an MDN page. +options.deprecationNotice=Deprecated. Learn More… + +# LOCALIZATION NOTE (options.enableMultiProcessToolbox): This is the text that appears in the +# settings panel for the checkbox that enables the Multiprocess Browser Toolbox. +options.enableMultiProcessToolbox=Enable the Multiprocess Browser Toolbox (requires restarting the Browser Toolbox) diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/webconsole.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/webconsole.properties new file mode 100644 index 0000000000000000000000000000000000000000..20518dd344751ff46515407608534d5fd243c9b5 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/client/webconsole.properties @@ -0,0 +1,565 @@ +# 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/. +# LOCALIZATION NOTE +# 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 (multiProcessBrowserConsole.title): Title of the Browser +# Console window when the pref `devtools.browsertoolbox.scope` is set to "everything". This +# Browser Console will log messages from all processes, not just the the parent +# process. +multiProcessBrowserConsole.title=Multiprocess Browser Console + +# LOCALIZATION NOTE (parentProcessBrowserConsole.title): Title used for +# the Browser Console when the pref `devtools.browsertoolbox.scope` is set to "parent-process". +parentProcessBrowserConsole.title=Parent process Browser Console + +# LOCALIZATION NOTE (timestampFormat): %1$02S = hours (24-hour clock), +# %2$02S = minutes, %3$02S = seconds, %4$03S = milliseconds. +timestampFormat=%02S:%02S:%02S.%03S + +ConsoleAPIDisabled=Chaidh API logadh a' chonsoil (console.log, console.info, console.warn, console.error) a chur à comas le sgriobt air an duilleag seo. + +# LOCALIZATION NOTE (webConsoleXhrIndicator): the indicator displayed before +# a URL in the Web Console that was requested using an XMLHttpRequest. +webConsoleXhrIndicator=XHR + +# LOCALIZATION NOTE (webConsoleMoreInfoLabel): the more info tag displayed +# after security related web console messages. +webConsoleMoreInfoLabel=Barrachd fiosrachaidh + +# LOCALIZATION NOTE (stacktrace.anonymousFunction): this string is used to +# display JavaScript functions that have no given name - they are said to be +# anonymous. Test console.trace() in the webconsole. +stacktrace.anonymousFunction=<gun urra> + +# LOCALIZATION NOTE (stacktrace.asyncStack): this string is used to +# indicate that a given stack frame has an async parent. +# %S is the "Async Cause" of the frame. +stacktrace.asyncStack=(Async: %S) + +# LOCALIZATION NOTE (timeLog): this string is used to display the result of +# the console.timeLog() call. Parameters: %1$S is the name of the timer, %2$S +# is the number of milliseconds. +timeLog=%1$S: %2$Sms + +# LOCALIZATION NOTE (console.timeEnd): this string is used to display the result of +# the console.timeEnd() call. Parameters: %1$S is the name of the timer, %2$S +# is the number of milliseconds. +console.timeEnd=%1$S: %2$Sms - timer ended + +# LOCALIZATION NOTE (consoleCleared): this string is displayed when receiving a +# call to console.clear() to let the user know the previous messages of the +# console have been removed programmatically. +consoleCleared=Console was cleared. + +# LOCALIZATION NOTE (noCounterLabel): this string is used to display +# count-messages with no label provided. +noCounterLabel=<gun leubail> + +# LOCALIZATION NOTE (counterDoesntExist): this string is displayed when +# console.countReset() is called with a counter that doesn't exist. +counterDoesntExist=Counter “%S” doesn’t exist. + +# LOCALIZATION NOTE (noGroupLabel): this string is used to display +# console.group messages with no label provided. +noGroupLabel=<no group label> + +maxTimersExceeded=Chaidh thu thairis air an tha ceadaichte de thìmearan air an duilleag seo. +timerAlreadyExists=Timer “%S” already exists. +timerDoesntExist=Timer “%S” doesn’t exist. +timerJSError=Failed to process the timer name. + +# LOCALIZATION NOTE (connectionTimeout): message displayed when the Remote Web +# Console fails to connect to the server due to a timeout. +connectionTimeout=Connection timeout. Check the Error Console on both ends for potential error messages. Reopen the Web Console to try again. + +# LOCALIZATION NOTE (propertiesFilterPlaceholder): this is the text that +# appears in the filter text box for the properties view container. +propertiesFilterPlaceholder=Filter properties + +# LOCALIZATION NOTE (messageRepeats.tooltip2): the tooltip text that is displayed +# when you hover the red bubble that shows how many times a message is repeated +# in the web console output. +# This is a semi-colon list of plural forms. +# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals +# #1 number of message repeats +# example: 3 repeats +messageRepeats.tooltip2=#1 repeat;#1 repeats;#1 repeat;#1 repeats + +# LOCALIZATION NOTE (openNodeInInspector): the text that is displayed in a +# tooltip when hovering over the inspector icon next to a DOM Node in the console +# output +openNodeInInspector=Click to select the node in the inspector + +# LOCALIZATION NOTE (selfxss.msg): the text that is displayed when +# a new user of the developer tools pastes code into the console +# %1 is the text of selfxss.okstring +selfxss.msg=Rabhadh air cleas-meallaidh: Thoir an aire mus cuir thu rudan ann nach tuig thu. ’S dòcha gun doir seo cothrom do luchd-ionnsaigh ach an goid iad do dhearbh-aithne no ach am faigh iad smachd air a’ choimpiutair agad. Sgrìobh “%S” gu h-ìosal (cha leig thu leas brùthadh air Enter) gus an cur ann a chur an comas. + +# LOCALIZATION NOTE (selfxss.okstring): the string to be typed +# in by a new user of the developer tools when they receive the sefxss.msg prompt. +# Please avoid using non-keyboard characters here +selfxss.okstring=allow pasting + +# LOCALIZATION NOTE (messageToggleDetails): the text that is displayed when +# you hover the arrow for expanding/collapsing the message details. For +# console.error() and other messages we show the stacktrace. +messageToggleDetails=Show/hide message details. + +# LOCALIZATION NOTE (groupToggle): the text that is displayed when +# you hover the arrow for expanding/collapsing the messages of a group. +groupToggle=Show/hide group. + +# LOCALIZATION NOTE (table.index, table.iterationIndex, table.key, table.value): +# the column header displayed in the console table widget. +table.index=(index) +table.iterationIndex=(iteration index) +table.key=Key +table.value=Values + +# LOCALIZATION NOTE (level.error, level.warn, level.info, level.log, level.debug): +# tooltip for icons next to console output +level.error=Error +level.warn=Warning +level.info=Info +level.log=Log +level.debug=Debug + +# LOCALIZATION NOTE (logpoint.title) +# Tooltip shown for logpoints sent from the debugger +logpoint.title=Logpoints from the debugger + +# LOCALIZATION NOTE (logtrace.title) +# Tooltip shown for JavaScript tracing logs +logtrace.title=JavaScript tracing + +# LOCALIZATION NOTE (blockedReason.title) +# Tooltip shown for blocked network events sent from the network panel +blockedrequest.label=Blocked by DevTools + +# LOCALIZATION NOTE (webconsole.disableIcon.title) +# Tooltip shown for disabled console messages +webconsole.disableIcon.title=This message is no longer active, message details are not available + +# LOCALIZATION NOTE (webconsole.find.key) +# Key shortcut used to focus the search box on upper right of the console +webconsole.find.key=CmdOrCtrl+F + +# LOCALIZATION NOTE (webconsole.close.key) +# Key shortcut used to close the Browser console (doesn't work in regular web console) +webconsole.close.key=CmdOrCtrl+W + +# LOCALIZATION NOTE (webconsole.clear.key*) +# Key shortcut used to clear the console output +webconsole.clear.key=Ctrl+Shift+L +webconsole.clear.keyOSX=Ctrl+L +webconsole.clear.alternativeKeyOSX=Cmd+K + +# LOCALIZATION NOTE (webconsole.menu.copyURL.label) +# Label used for a context-menu item displayed for network message logs. Clicking on it +# copies the URL displayed in the message to the clipboard. +webconsole.menu.copyURL.label=Copy Link Location +webconsole.menu.copyURL.accesskey=a + +# LOCALIZATION NOTE (webconsole.menu.openURL.label) +# Label used for a context-menu item displayed for network message logs. Clicking on it +# opens the URL displayed in a new browser tab. +webconsole.menu.openURL.label=Open URL in New Tab +webconsole.menu.openURL.accesskey=T + +# LOCALIZATION NOTE (webconsole.menu.openInNetworkPanel.label) +# Label used for a context-menu item displayed for network message logs. Clicking on it +# opens the network message in the Network panel +webconsole.menu.openInNetworkPanel.label=Open in Network Panel +webconsole.menu.openInNetworkPanel.accesskey=N + +# LOCALIZATION NOTE (webconsole.menu.resendNetworkRequest.label) +# Label used for a context-menu item displayed for network message logs. Clicking on it +# resends the network request +webconsole.menu.resendNetworkRequest.label=Resend Request +webconsole.menu.resendNetworkRequest.accesskey=n + +# LOCALIZATION NOTE (webconsole.menu.openNodeInInspector.label) +# Label used for a context-menu item displayed for DOM Node logs. Clicking on it will +# reveal that specific DOM Node in the Inspector. +webconsole.menu.openNodeInInspector.label=Reveal in Inspector +webconsole.menu.openNodeInInspector.accesskey=Q + +# LOCALIZATION NOTE (webconsole.menu.storeAsGlobalVar.label) +# Label used for a context-menu item displayed for object/variable logs. Clicking on it +# creates a new global variable pointing to the logged variable. +webconsole.menu.storeAsGlobalVar.label=Store as global variable +webconsole.menu.storeAsGlobalVar.accesskey=S + +# LOCALIZATION NOTE (webconsole.menu.copyMessage.label) +# Label used for a context-menu item displayed for any log. Clicking on it will copy the +# content of the log (or the user selection, if any). +webconsole.menu.copyMessage.label=Copy message +webconsole.menu.copyMessage.accesskey=C + +# LOCALIZATION NOTE (webconsole.menu.copyObject.label) +# Label used for a context-menu item displayed for object/variable log. Clicking on it +# will copy the object/variable. +webconsole.menu.copyObject.label=Copy object +webconsole.menu.copyObject.accesskey=o + +# LOCALIZATION NOTE (webconsole.menu.openInSidebar.label) +# Label used for a context-menu item displayed for object/variable logs. Clicking on it +# opens the webconsole sidebar for the logged variable. +webconsole.menu.openInSidebar.label1=Inspect object in Sidebar +webconsole.menu.openInSidebar.accesskey=V + +# LOCALIZATION NOTE (webconsole.menu.copyAllMessages.label) +# Label used for a context-menu item displayed on the output. Clicking on it +# copies the entire output of the console to the clipboard. +webconsole.menu.copyAllMessages.label=Copy all Messages +webconsole.menu.copyAllMessages.accesskey=M + +# LOCALIZATION NOTE (webconsole.menu.saveAllMessagesFile.label) +# Label used for a context-menu item displayed on the output. Clicking on it +# opens a file picker to allow the user save a file containing +# the output of the console. +webconsole.menu.saveAllMessagesFile.label=Save all Messages to File +webconsole.menu.saveAllMessagesFile.accesskey=F + +# LOCALIZATION NOTE (webconsole.clearButton.tooltip) +# Label used for the tooltip on the clear logs button in the console top toolbar bar. +# Clicking on it will clear the content of the console. +webconsole.clearButton.tooltip=Clear the Web Console output + +# LOCALIZATION NOTE (webconsole.toggleFilterButton.tooltip) +# Label used for the tooltip on the toggle filter bar button in the console top +# toolbar bar. Clicking on it will toggle the visibility of an additional bar which +# contains filter buttons. +webconsole.toggleFilterButton.tooltip=Toggle filter bar + +# LOCALIZATION NOTE (webconsole.filterInput.placeholder) +# Label used for for the placeholder on the filter input, in the console top toolbar. +webconsole.filterInput.placeholder=Filter output + +# LOCALIZATION NOTE (webconsole.errorsFilterButton.label) +# Label used as the text of the "Errors" button in the additional filter toolbar. +# It shows or hides error messages, either inserted in the page using +# console.error() or as a result of a javascript error.. +webconsole.errorsFilterButton.label=Mearachdan + +# LOCALIZATION NOTE (webconsole.warningsFilterButton.label) +# Label used as the text of the "Warnings" button in the additional filter toolbar. +# It shows or hides warning messages, inserted in the page using console.warn(). +webconsole.warningsFilterButton.label=Rabhaidhean + +# LOCALIZATION NOTE (webconsole.logsFilterButton.label) +# Label used as the text of the "Logs" button in the additional filter toolbar. +# It shows or hides log messages, inserted in the page using console.log(). +webconsole.logsFilterButton.label=Logs + +# LOCALIZATION NOTE (webconsole.infoFilterButton.label) +# Label used as the text of the "Info" button in the additional filter toolbar. +# It shows or hides info messages, inserted in the page using console.info(). +webconsole.infoFilterButton.label=Info + +# LOCALIZATION NOTE (webconsole.debugFilterButton.label) +# Label used as the text of the "Debug" button in the additional filter toolbar. +# It shows or hides debug messages, inserted in the page using console.debug(). +webconsole.debugFilterButton.label=Debug + +# LOCALIZATION NOTE (webconsole.cssFilterButton.label) +# Label used as the text of the "CSS" button in the additional filter toolbar. +# It shows or hides CSS warning messages, inserted in the page by the browser +# when there are CSS errors in the page. +webconsole.cssFilterButton.label=CSS + +# LOCALIZATION NOTE (webconsole.cssFilterButton.inactive.tooltip) +# Label used as the tooltip of the "CSS" button in the additional filter toolbar, when the +# filter is inactive (=unchecked). +webconsole.cssFilterButton.inactive.tooltip=Stylesheets will be reparsed to check for errors. Refresh the page to also see errors from stylesheets modified from Javascript. + +# LOCALIZATION NOTE (webconsole.xhrFilterButton.label) +# Label used as the text of the "XHR" button in the additional filter toolbar. +# It shows or hides messages displayed when the page makes an XMLHttpRequest or +# a fetch call. +webconsole.xhrFilterButton.label=XHR + +# LOCALIZATION NOTE (webconsole.requestsFilterButton.label) +# Label used as the text of the "Requests" button in the additional filter toolbar. +# It shows or hides messages displayed when the page makes a network call, for example +# when an image or a scripts is requested. +webconsole.requestsFilterButton.label=Requests + +# LOCALIZATION NOTE (webconsole.filteredMessagesByText.label) +# Text on the filter input displayed when some console messages are hidden because the +# user has filled in the input. +# This is a semi-colon list of plural forms. +# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals +# example: 345 hidden. +webconsole.filteredMessagesByText.label=#1 hidden;#1 hidden;#1 hidden;#1 hidden + +# LOCALIZATION NOTE (webconsole.filteredMessagesByText.tooltip) +# Tooltip on the filter input "hidden" text, displayed when some console messages are +# hidden because the user has filled in the input. +# This is a semi-colon list of plural forms. +# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals +# example: 345 items hidden by text filter. +webconsole.filteredMessagesByText.tooltip=#1 item hidden by text filter;#1 items hidden by text filter;#1 items hidden by text filter;#1 items hidden by text filter + +# LOCALIZATION NOTE (webconsole.console.settings.menu.menuButton.tooltip) +# Tooltip for the filter bar preferences menu. This menu will display multiple perefences for the +# filter bar, such as enabling the compact toolbar mode, enable the timestamps, persist logs, etc +webconsole.console.settings.menu.button.tooltip=Console Settings + +# LOCALIZATION NOTE (webconsole.console.settings.menu.item.compactToolbar.label) +# Label for the `Compact Toolbar` preference option. This will turn the message filters buttons +# into a Menu Button, making the filter bar more compact. +webconsole.console.settings.menu.item.compactToolbar.label=Compact Toolbar + +# LOCALIZATION NOTE (webconsole.console.settings.menu.item.timestamps.label) +# Label for enabling the timestamps in the Web Console. +webconsole.console.settings.menu.item.timestamps.label=Show Timestamps +# LOCALIZATION NOTE (webconsole.console.settings.menu.item.timestamps.tooltip) +webconsole.console.settings.menu.item.timestamps.tooltip=If you enable this option commands and output in the Web Console will display a timestamp + +# LOCALIZATION NOTE (webconsole.console.settings.menu.item.warningGroups.label) +# Label for grouping the similar messages in the Web Console +webconsole.console.settings.menu.item.warningGroups.label=Group Similar Messages +# LOCALIZATION NOTE (webconsole.console.settings.menu.item.warningGroups.tooltip) +webconsole.console.settings.menu.item.warningGroups.tooltip=When enabled, similar messages are placed into groups + +# LOCALIZATION NOTE (webconsole.console.settings.menu.item.autocomplete.label) +# Label for enabling autocomplete for input in the Web Console +webconsole.console.settings.menu.item.autocomplete.label=Enable Autocompletion +# LOCALIZATION NOTE (webconsole.console.settings.menu.item.autocomplete.tooltip) +webconsole.console.settings.menu.item.autocomplete.tooltip=If you enable this option the input will display suggestions as you type in it + +# LOCALIZATION NOTE (webconsole.console.settings.menu.item.enablePersistentLogs.label) +webconsole.console.settings.menu.item.enablePersistentLogs.label=Persist Logs +# LOCALIZATION NOTE (webconsole.console.settings.menu.item.enablePersistentLogs.tooltip) +webconsole.console.settings.menu.item.enablePersistentLogs.tooltip=If you enable this option the output will not be cleared each time you navigate to a new page + +# LOCALIZATION NOTE (webconsole.console.settings.menu.item.instantEvaluation.label) +webconsole.console.settings.menu.item.instantEvaluation.label=Instant Evaluation +# LOCALIZATION NOTE (webconsole.console.settings.menu.item.instantEvaluation.tooltip) +webconsole.console.settings.menu.item.instantEvaluation.tooltip=If you enable this option the input will be instantly evaluated as you type in it + +# LOCALIZATION NOTE (browserconsole.enableNetworkMonitoring.label) +# Label used in the browser console / browser toolbox console. This label is used for a checkbox that +# allows the user enable monitoring of network requests. +browserconsole.enableNetworkMonitoring.label=Enable Network Monitoring +# LOCALIZATION NOTE (browserconsole.enableNetworkMonitoring.tooltip) +# Tooltip for the "Enable Network Monitoring" check item. +browserconsole.enableNetworkMonitoring.tooltip=Enable this to start listening to network requests + +# LOCALIZATION NOTE (webconsole.navigated): this string is used in the console when the +# current inspected page is navigated to a new location. +# Parameters: %S is the new URL. +webconsole.navigated=Navigated to %S + +# LOCALIZATION NOTE (webconsole.closeSplitConsoleButton.tooltip): This is the tooltip for +# the close button of the split console. +webconsole.closeSplitConsoleButton.tooltip=Close Split Console (Esc) + +# LOCALIZATION NOTE (webconsole.closeSidebarButton.tooltip): This is the tooltip for +# the close button of the sidebar. +webconsole.closeSidebarButton.tooltip=Close Sidebar + +# LOCALIZATION NOTE (webconsole.reverseSearch.input.placeHolder): +# This string is displayed in the placeholder of the reverse search input in the console. +webconsole.reverseSearch.input.placeHolder=Search history + +# LOCALIZATION NOTE (webconsole.reverseSearch.result.closeButton.tooltip): +# This string is displayed in the tooltip of the close button in the reverse search toolbar. +# A keyboard shortcut will be shown inside the latter pair of brackets. +webconsole.reverseSearch.closeButton.tooltip=Close (%S) + +# LOCALIZATION NOTE (webconsole.reverseSearch.results): +# This string is displayed in the reverse search UI when there are at least one result +# to the search. +# This is a semi-colon list of plural forms. +# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals +# #1 index of current search result displayed. +# #2 total number of search results. +webconsole.reverseSearch.results=1 result;#1 of #2 results;#1 of #2 results;#1 of #2 results + +# LOCALIZATION NOTE (webconsole.reverseSearch.noResult): +# This string is displayed in the reverse search UI when there is no results to the search. +webconsole.reverseSearch.noResult=No results + +# LOCALIZATION NOTE (webconsole.reverseSearch.result.previousButton.tooltip): +# This string is displayed in the tooltip of the "previous result" button in the reverse search toolbar. +# A keyboard shortcut will be shown inside the latter pair of brackets. +webconsole.reverseSearch.result.previousButton.tooltip=Previous result (%S) + +# LOCALIZATION NOTE (webconsole.reverseSearch.result.nextButton.tooltip): +# This string is displayed in the tooltip of the "next result" button in the reverse search toolbar. +# A keyboard shortcut will be shown inside the latter pair of brackets. +webconsole.reverseSearch.result.nextButton.tooltip=Next result (%S) + +# LOCALIZATION NOTE (webconsole.confirmDialog.getter.label) +# Label used for the "invoke getter" confirm dialog that appears in the console when +# a user tries to autocomplete a property with a getter. +# Example: given the following object `x = {get y() {}}`, when the user types `x.y.`, it +# would return "Invoke getter y to retrieve the property list?". +# Parameters: %S is the name of the getter. +webconsole.confirmDialog.getter.label=Invoke getter %S to retrieve the property list? + +# LOCALIZATION NOTE (webconsole.confirmDialog.getter.invokeButtonLabelWithShortcut) +# Label used for the confirm button in the "invoke getter" dialog that appears in the +# console when a user tries to autocomplete a property with a getter. +# A keyboard shortcut will be shown inside the latter pair of brackets. +webconsole.confirmDialog.getter.invokeButtonLabelWithShortcut=Invoke (%S) + +# LOCALIZATION NOTE (webconsole.confirmDialog.getter.closeButton.tooltip) +# Label used as the tooltip for the close button in the "invoke getter" dialog that +# appears in the console when a user tries to autocomplete a property with a getter. +# A keyboard shortcut will be shown inside the latter pair of brackets. +webconsole.confirmDialog.getter.closeButton.tooltip=Close (%S) + +# LOCALIZATION NOTE (webconsole.cssWarningElements.label) +# Label for the list of HTML elements matching the selector associated +# with the CSS warning. Parameters: %S is the CSS selector. +webconsole.cssWarningElements.label=Elements matching selector: %S + +# LOCALIZATION NOTE (webconsole.message.componentDidCatch.label) +# Label displayed when the webconsole couldn't handle a given packet. +# Parameters: %S is the URL to file a bug about the error. +webconsole.message.componentDidCatch.label=[DEVTOOLS ERROR] We’re sorry, we couldn’t render the message. This shouldn’t have happened - please file a bug at %S with the message metadata in the description. + +# LOCALIZATION NOTE (webconsole.message.commands.copyValueToClipboard) +# Label displayed when the string is copied to the clipboard as a result of a copy command, +# in the console, for example, copy({hello: "world"}). +webconsole.message.commands.copyValueToClipboard=String was copied to clipboard. + +# 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. +# Parameters: %S is the original error message +webconsole.error.commands.copyError=`copy` command failed, object can’t be stringified: %S + +# LOCALIZATION NOTE (webconsole.message.commands.blockedUR) +# Label displayed when the :block <url> command is successful +# Parameters: %S is the URL filter +webconsole.message.commands.blockedURL=Requests to URL containing “%S” are now blocked + +# LOCALIZATION NOTE (webconsole.message.commands.unblockedURL) +# Label displayed when the :unblock <url> command is successful +# Parameters: %S is the URL filter +webconsole.message.commands.unblockedURL=Removed blocking filter “%S” + +# LOCALIZATION NOTE (webconsole.messages.commands.blockArgMissing) +# Message displayed when no filter is passed to block/unblock command +webconsole.messages.commands.blockArgMissing=No filter was specified + +# LOCALIZATION NOTE (webconsole.message.componentDidCatch.copyButton.label) +# Label displayed on the button next to the message we display when the webconsole +# couldn't handle a given packet (See webconsole.message.componentDidCatch.label). +webconsole.message.componentDidCatch.copyButton.label=Copy message metadata to clipboard + + +# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.label) +# Label used for the text of the execute button, in the editor toolbar, which is +# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true). +webconsole.editor.toolbar.executeButton.label=Run + +# LOCALIZATION NOTE (webconsole.editor.toolbar.reverseSearchButton.openReverseSearch.tooltip) +# Label used for the tooltip on the reverse search button for opening the Reverse Search UI. +# The Reverse Search is a feature that mimics the bash-like reverse search of +# command history in WebConsole, searching commands from the last item backwards. +# Parameters: %S is the keyboard shortcut. +webconsole.editor.toolbar.reverseSearchButton.openReverseSearch.tooltip=Open History Reverse Search (%S) + +# LOCALIZATION NOTE (webconsole.editor.toolbar.reverseSearchButton.closeReverseSearch.tooltip) +# Label used for the tooltip on the reverse search button for closing the Reverse Search UI. +# The Reverse Search is a feature that mimics the bash-like reverse search of +# command history in WebConsole, searching commands from the last item backwards. +# Parameters: %S is the keyboard shortcut. +webconsole.editor.toolbar.reverseSearchButton.closeReverseSearch.tooltip=Close History Reverse Search (%S) + +# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.tooltip) +# Label used for the tooltip on the execute button, in the editor toolbar, which is +# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true). +# Parameters: %S is the keyboard shortcut. +webconsole.editor.toolbar.executeButton.tooltip=Run expression (%S). This won’t clear the input. + +# LOCALIZATION NOTE (webconsole.editor.toolbar.prettyPrintButton.tooltip) +# Label used for the tooltip on the prettyPrint button, in the editor toolbar, which is +# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true). +webconsole.editor.toolbar.prettyPrintButton.tooltip=Pretty print expression + +# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.tooltip) +# Label used for the tooltip on the history previous expression, in the editor toolbar, +# which is displayed when the editor mode is enabled (devtools.webconsole.input.editor=true). +webconsole.editor.toolbar.history.prevExpressionButton.tooltip=Previous Expression + + +# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.tooltip) +# Label used for the tooltip on the history next expression, in the editor toolbar, +# which is displayed when the editor mode is enabled (devtools.webconsole.input.editor=true). +webconsole.editor.toolbar.history.nextExpressionButton.tooltip=Next Expression + +# LOCALIZATION NOTE (webconsole.editor.toolbar.closeButton.tooltip2) +# Label used for the tooltip on the close button, in the editor toolbar, which is +# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true). +# Parameters: %S is the keyboard shortcut. +webconsole.editor.toolbar.closeButton.tooltip2=Switch back to inline mode (%S) + +# LOCALIZATION NOTE (webconsole.input.openEditorButton.tooltip2) +# Label used for the tooltip on the open editor button, in console input, which is +# displayed when the console is in regular mode. +# Parameters: %S is the keyboard shortcut. +webconsole.input.openEditorButton.tooltip2=Switch to multi-line editor mode (%S) + +# LOCALIZATION NOTE (webconsole.warningGroup.messageCount.tooltip): the tooltip text +# displayed when you hover a warning group badge (i.e. repeated warning messages for a +# given category, for example Content Blocked messages) in the web console output. +# This is a semi-colon list of plural forms. +# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals +# #1 number of message in the group. +# example: 3 messages +webconsole.warningGroup.messageCount.tooltip=#1 message;#1 messages;#1 messages;#1 messages + +# LOCALIZATION NOTE (webconsole.input.editor.onboarding.label): the text that is displayed +# when displaying the multiline-input mode for the first time, until the user dismiss the +# text. +# Parameters: %1$S is Enter key, %2$S is the shortcut to evaluate the expression ( +# Ctrl+Enter or Cmd+Enter on OSX). +webconsole.input.editor.onboarding.label=Iterate on your code faster with the new multi-line editor mode. Use %1$S to add new lines and %2$S to run. + +# LOCALIZATION NOTE (webconsole.input.editor.onboarding.dismiss.label): the text that is +# displayed in the multiline-input mode onboarding UI to dismiss it. +webconsole.input.editor.onboarding.dismiss.label=Got it! + +# LOCALIZATION NOTE (webconsole.enterKey): The text that will be used to represent the +# Enter key in the editor onboarding UI, as well as on the Editor toolbar "Run" button +# tooltip. +webconsole.enterKey=Enter + +# LOCALIZATION NOTE (webconsole.input.openJavaScriptFile): This is a label +# used for opening a file in the console input (Ctrl+O or Cmd+O on OSX while +# being focused on the input). +webconsole.input.openJavaScriptFile=Open JavaScript File + +# LOCALIZATION NOTE (webconsole.input.openJavaScriptFileFilter): +# This string is displayed as a filter when opening a file in the console input. +webconsole.input.openJavaScriptFileFilter=JavaScript Files + +# LOCALIZATION NOTE (webconsole.input.selector.top): This is the term used +# to describe the primary thread of execution in the page +webconsole.input.selector.top=Top + +# LOCALIZATION NOTE (webconsole.input.selector.tooltip): This is the tooltip +# shown when users select a thread that they want to evaluate an +# expression for. +webconsole.input.selector.tooltip=Select evaluation context + +# LOCALIZATION NOTE (webconsole.group.cookieSameSiteLaxByDefaultEnabled2): do not translate 'SameSite'. +webconsole.group.cookieSameSiteLaxByDefaultEnabled2=Some cookies are misusing the “SameSite“ attribute, so it won’t work as expected +# LOCALIZATION NOTE (webconsole.group.cookieSameSiteLaxByDefaultDisabled2): do not translate 'SameSite'. +webconsole.group.cookieSameSiteLaxByDefaultDisabled2=Some cookies are misusing the recommended “SameSite“ attribute + +# LOCALIZATION NOTE (webconsole.group.csp): do not translate +# 'Content-Security-Policy', as that's the name of the header. +webconsole.group.csp=Content-Security-Policy warnings diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/shared/accessibility.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/shared/accessibility.properties new file mode 100644 index 0000000000000000000000000000000000000000..73958f93d124090223747e870da04a8510ae2cbd --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/shared/accessibility.properties @@ -0,0 +1,142 @@ +# 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/. + +# LOCALIZATION NOTE (accessibility.contrast.ratio): A title text for the color contrast +# ratio description, used by the accessibility highlighter to display the value. %S in the +# content will be replaced by the contrast ratio numerical value. +accessibility.contrast.ratio=Contrast: %S + +# LOCALIZATION NOTE (accessibility.contrast.ratio.error): A title text for the color +# contrast ratio, used when the tool is unable to calculate the contrast ratio value. +accessibility.contrast.ratio.error=Unable to calculate + +# LOCALIZATION NOTE (accessibility.contrast.ratio.label): A title text for the color +# contrast ratio description, used together with the actual values. +accessibility.contrast.ratio.label=Contrast: + +# LOCALIZATION NOTE (accessibility.contrast.ratio.label.large): A title text for the color +# contrast ratio description that also specifies that the color contrast criteria used is +# if for large text. +accessibility.contrast.ratio.label.large=Contrast (large text): + +# LOCALIZATION NOTE (accessibility.text.label.issue.area): A title text that +# describes that currently selected accessible object for an <area> element must have +# its name provided via the alt attribute. +accessibility.text.label.issue.area = Use “alt” attribute to label “area” elements that have the “href” attribute. + +# LOCALIZATION NOTE (accessibility.text.label.issue.dialog): A title text that +# describes that currently selected accessible object for a dialog should have a name +# provided. +accessibility.text.label.issue.dialog = Dialogs should be labeled. + +# LOCALIZATION NOTE (accessibility.text.label.issue.document.title): A title text that +# describes that currently selected accessible object for a document must have a name +# provided via title. +accessibility.text.label.issue.document.title = Documents must have a title. + +# LOCALIZATION NOTE (accessibility.text.label.issue.embed): A title text that +# describes that currently selected accessible object for an <embed> must have a name +# provided. +accessibility.text.label.issue.embed = Embedded content must be labeled. + +# LOCALIZATION NOTE (accessibility.text.label.issue.figure): A title text that +# describes that currently selected accessible object for a figure should have a name +# provided. +accessibility.text.label.issue.figure = Figures with optional captions should be labeled. + +# LOCALIZATION NOTE (accessibility.text.label.issue.fieldset): A title text that +# describes that currently selected accessible object for a <fieldset> must have a name +# provided. +accessibility.text.label.issue.fieldset = “fieldset” elements must be labeled. + +# LOCALIZATION NOTE (accessibility.text.label.issue.fieldset.legend2): A title text that +# describes that currently selected accessible object for a <fieldset> must have a name +# provided via <legend> element. +accessibility.text.label.issue.fieldset.legend2 = Use a “legend” element to label a “fieldset”. + +# LOCALIZATION NOTE (accessibility.text.label.issue.form): A title text that +# describes that currently selected accessible object for a form element must have a name +# provided. +accessibility.text.label.issue.form = Form elements must be labeled. + +# LOCALIZATION NOTE (accessibility.text.label.issue.form.visible): A title text that +# describes that currently selected accessible object for a form element should have a name +# provided via a visible label/element. +accessibility.text.label.issue.form.visible = Form elements should have a visible text label. + +# LOCALIZATION NOTE (accessibility.text.label.issue.frame): A title text that +# describes that currently selected accessible object for a <frame> must have a name +# provided. +accessibility.text.label.issue.frame = “frame” elements must be labeled. + +# LOCALIZATION NOTE (accessibility.text.label.issue.glyph): A title text that +# describes that currently selected accessible object for a <mglyph> must have a name +# provided via alt attribute. +accessibility.text.label.issue.glyph = Use “alt” attribute to label “mglyph” elements. + +# LOCALIZATION NOTE (accessibility.text.label.issue.heading): A title text that +# describes that currently selected accessible object for a heading must have a name +# provided. +accessibility.text.label.issue.heading = Headings must be labeled. + +# LOCALIZATION NOTE (accessibility.text.label.issue.heading.content): A title text that +# describes that currently selected accessible object for a heading must have visible +# content. +accessibility.text.label.issue.heading.content = Headings should have visible text content. + +# LOCALIZATION NOTE (accessibility.text.label.issue.iframe): A title text that +# describes that currently selected accessible object for an <iframe> have a name +# provided via title attribute. +accessibility.text.label.issue.iframe = Use “title” attribute to describe “iframe” content. + +# LOCALIZATION NOTE (accessibility.text.label.issue.image): A title text that +# describes that currently selected accessible object for graphical content must have a +# name provided. +accessibility.text.label.issue.image = Content with images must be labeled. + +# LOCALIZATION NOTE (accessibility.text.label.issue.interactive): A title text that +# describes that currently selected accessible object for interactive element must have a +# name provided. +accessibility.text.label.issue.interactive = Interactive elements must be labeled. + +# LOCALIZATION NOTE (accessibility.text.label.issue.optgroup.label2): A title text that +# describes that currently selected accessible object for an <optgroup> must have a +# name provided via label attribute. +accessibility.text.label.issue.optgroup.label2 = Use a “label” attribute to label an “optgroup”. + +# LOCALIZATION NOTE (accessibility.text.label.issue.toolbar): A title text that +# describes that currently selected accessible object for a toolbar must have a +# name provided when there is more than one toolbar in the document. +accessibility.text.label.issue.toolbar = Toolbars must be labeled when there is more than one toolbar. + +# LOCALIZATION NOTE (accessibility.keyboard.issue.semantics): A title text that +# describes that currently selected accessible object is focusable and should +# indicate that it could be interacted with. +accessibility.keyboard.issue.semantics=Focusable elements should have interactive semantics. + +# LOCALIZATION NOTE (accessibility.keyboard.issue.tabindex): A title text that +# describes that currently selected accessible object has a corresponding +# DOMNode that defines a tabindex attribute greater that 0 which can result in +# unexpected behaviour when navigating with keyboard. +accessibility.keyboard.issue.tabindex=Avoid using “tabindex” attribute greater than zero. + +# LOCALIZATION NOTE (accessibility.keyboard.issue.action): A title text that +# describes that currently selected accessible object is interactive but can not +# be activated using keyboard or accessibility API. +accessibility.keyboard.issue.action=Interactive elements must be able to be activated using a keyboard. + +# LOCALIZATION NOTE (accessibility.keyboard.issue.focusable): A title text that +# describes that currently selected accessible object is interactive but is not +# focusable with a keyboard. +accessibility.keyboard.issue.focusable=Interactive elements must be focusable. + +# LOCALIZATION NOTE (accessibility.keyboard.issue.focus.visible): A title text +# that describes that currently selected accessible object is focusable but +# might not have appropriate focus styling. +accessibility.keyboard.issue.focus.visible=Focusable element may be missing focus styling. + +# LOCALIZATION NOTE (accessibility.keyboard.issue.mouse.only): A title text that +# describes that currently selected accessible object is not focusable and not +# semantic but can be activated via mouse (e.g. has click handler). +accessibility.keyboard.issue.mouse.only=Clickable elements must be focusable and should have interactive semantics. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/shared/debugger.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/shared/debugger.properties new file mode 100644 index 0000000000000000000000000000000000000000..bafe58fdbbd11b2b9e310384c66d6d95f0b6f207 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/shared/debugger.properties @@ -0,0 +1,67 @@ +# 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/. + +# 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. +# 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 (remoteIncomingPromptTitle): The title displayed on the +# dialog that prompts the user to allow the incoming connection. +remoteIncomingPromptTitle=Ceangal a' tighinn a-steach + +# LOCALIZATION NOTE (remoteIncomingPromptHeader): Header displayed on the +# dialog that prompts the user to allow the incoming connection. +remoteIncomingPromptHeader=An incoming request to permit remote debugging connection was detected. A remote client can take complete control over your browser! +# LOCALIZATION NOTE (remoteIncomingPromptClientEndpoint): Part of the prompt +# dialog for the user to choose whether an incoming connection should be +# allowed. +# %1$S: The host and port of the client such as "127.0.0.1:6000" +remoteIncomingPromptClientEndpoint=Client Endpoint: %1$S +# LOCALIZATION NOTE (remoteIncomingPromptServerEndpoint): Part of the prompt +# dialog for the user to choose whether an incoming connection should be +# allowed. +# %1$S: The host and port of the server such as "127.0.0.1:6000" +remoteIncomingPromptServerEndpoint=Server Endpoint: %1$S +# LOCALIZATION NOTE (remoteIncomingPromptFooter): Footer displayed on the +# dialog that prompts the user to allow the incoming connection. +remoteIncomingPromptFooter=Allow connection? + +# LOCALIZATION NOTE (remoteIncomingPromptDisable): The label displayed on the +# third button in the incoming connection dialog that lets the user disable the +# remote debugger server. +remoteIncomingPromptDisable=Cuir à comas + +# LOCALIZATION NOTE (clientSendOOBTitle): The title displayed on the dialog that +# instructs the user to transfer an authentication token to the server. +clientSendOOBTitle=Client Identification +# LOCALIZATION NOTE (clientSendOOBHeader): Header displayed on the dialog that +# instructs the user to transfer an authentication token to the server. +clientSendOOBHeader=The endpoint you are connecting to needs more information to authenticate this connection. Please provide the token below in the prompt that appears on the other end. +# LOCALIZATION NOTE (clientSendOOBHash): Part of the dialog that instructs the +# user to transfer an authentication token to the server. +# %1$S: The client's cert fingerprint +clientSendOOBHash=My Cert: %1$S +# LOCALIZATION NOTE (clientSendOOBToken): Part of the dialog that instructs the +# user to transfer an authentication token to the server. +# %1$S: The authentication token that the user will transfer. +clientSendOOBToken=Token: %1$S + +# LOCALIZATION NOTE (serverReceiveOOBTitle): The title displayed on the dialog +# that instructs the user to provide an authentication token from the client. +serverReceiveOOBTitle=Provide Client Token +# LOCALIZATION NOTE (serverReceiveOOBBody): Main text displayed on the dialog +# that instructs the user to provide an authentication token from the client. +serverReceiveOOBBody=The client should be displaying a token value. Enter that token value here to complete authentication with this client. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/shared/eyedropper.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/shared/eyedropper.properties new file mode 100644 index 0000000000000000000000000000000000000000..0f320ab37c3f50ea8816e01fffb8389293b2df64 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/shared/eyedropper.properties @@ -0,0 +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/. + +# LOCALIZATION NOTE These strings are used in the Eyedropper color tool. +# LOCALIZATION NOTE 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 (colorValue.copied): This text is displayed when the user selects a +# color with the eyedropper and it's copied to the clipboard. +colorValue.copied=copied diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/shared/screenshot.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/shared/screenshot.properties new file mode 100644 index 0000000000000000000000000000000000000000..44b7360ec8347943eb35c9f5792d843dab98c252 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/shared/screenshot.properties @@ -0,0 +1,148 @@ +# 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/. + +# LOCALIZATION NOTE These strings are used inside Web Console commands. +# The Web Console command line is available from the Web Developer sub-menu +# -> 'Web Console'. +# +# 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 Web Console commands +# which can be executed in the Developer Tools, available in the +# Browser Tools sub-menu -> 'Web Developer Tools' +# +# 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 (screenshotDesc) A very short description of the +# 'screenshot' command. Displayed when the --help flag is passed to +# the screenshot command. +screenshotDesc=Save an image of the page + +# LOCALIZATION NOTE (screenshotFilenameDesc) A very short string to describe +# the 'filename' parameter to the 'screenshot' command. Displayed when the +# --help flag is passed to the screenshot command. +screenshotFilenameDesc=Destination filename + +# LOCALIZATION NOTE (screenshotFilenameManual) A fuller description of the +# 'filename' parameter to the 'screenshot' command. +screenshotFilenameManual=Ainm an fhaidhle (bu chòir do leudachan “.png” a bhith aige) dhan a sgrìobhas sinn an glacadh-sgrìn. + +# LOCALIZATION NOTE (screenshotClipboardDesc) A very short string to describe +# the 'clipboard' parameter to the 'screenshot' command. Displayed when the +# --help flag is passed to the screenshot command. +screenshotClipboardDesc=Copy screenshot to clipboard? (true/false) + +# LOCALIZATION NOTE (screenshotClipboardManual) A fuller description of the +# 'clipboard' parameter to the 'screenshot' command. Displayed when the +# --help flag is passed to the screenshot command. +screenshotClipboardManual=True if you want to copy the screenshot instead of saving it to a file. + +# LOCALIZATION NOTE (screenshotGroupOptions) A label for the optional options of +# the screenshot command. Displayed when the --help flag is passed to the +# screenshot command. +screenshotGroupOptions=Options + +# LOCALIZATION NOTE (screenshotDelayDesc) A very short string to describe +# the 'delay' parameter to the 'screenshot' command. Displayed when the +# --help flag is passed to the screenshot command. +screenshotDelayDesc=Delay (seconds) + +# LOCALIZATION NOTE (screenshotDelayManual) A fuller description of the +# 'delay' parameter to the 'screenshot' command. Displayed when the +# --help flag is passed to the screenshot command. +screenshotDelayManual=The time to wait (in seconds) before the screenshot is taken + +# LOCALIZATION NOTE (screenshotDPRDesc) A very short string to describe +# the 'dpr' parameter to the 'screenshot' command. Displayed when the +# --help flag is passed to the `screenshot command. +screenshotDPRDesc=Device pixel ratio + +# LOCALIZATION NOTE (screenshotDPRManual) A fuller description of the +# 'dpr' parameter to the 'screenshot' command. Displayed when the +# --help flag is passed to the `screenshot command. +screenshotDPRManual=The device pixel ratio to use when taking the screenshot + +# LOCALIZATION NOTE (screenshotFullPageDesc) A very short string to describe +# the 'fullpage' parameter to the 'screenshot' command. Displayed when the +# --help flag is passed to the `screenshot command. +screenshotFullPageDesc=Entire webpage? (true/false) + +# LOCALIZATION NOTE (screenshotFullPageManual) A fuller description of the +# 'fullpage' parameter to the 'screenshot' command. Displayed when the +# --help flag is passed to the `screenshot command. +screenshotFullPageManual=True if the screenshot should also include parts of the webpage which are outside the current scrolled bounds. + +# LOCALIZATION NOTE (screenshotFileDesc) A very short string to describe +# the 'file' parameter to the 'screenshot' command. Displayed when the +# --help flag is passed to the `screenshot command. +screenshotFileDesc=Save to file? (true/false) + +# LOCALIZATION NOTE (screenshotFileManual) A fuller description of the +# 'file' parameter to the 'screenshot' command. Displayed when the +# --help flag is passed to the `screenshot command. +screenshotFileManual=True if the screenshot should save the file even when other options are enabled (eg. clipboard). + +# LOCALIZATION NOTE (screenshotGeneratedFilename) The auto generated filename +# when no file name is provided. The first argument (%1$S) is the date string +# in yyyy-mm-dd format and the second argument (%2$S) is the time string +# in HH.MM.SS format. Please don't add the extension here. +screenshotGeneratedFilename=Screen Shot %1$S at %2$S + +# LOCALIZATION NOTE (screenshotErrorSavingToFile) Text displayed to user upon +# encountering error while saving the screenshot to the file specified. +# The argument (%1$S) is the filename. +screenshotErrorSavingToFile=Error saving to %1$S + +# LOCALIZATION NOTE (screenshotSavedToFile) Text displayed to user when the +# screenshot is successfully saved to the file specified. +# The argument (%1$S) is the filename. +screenshotSavedToFile=Saved to %1$S + +# LOCALIZATION NOTE (screenshotErrorCopying) Text displayed to user upon +# encountering error while copying the screenshot to clipboard. +screenshotErrorCopying=Error occurred while copying screenshot to clipboard. + +# LOCALIZATION NOTE (screenshotCopied) Text displayed to user when the +# screenshot is successfully copied to the clipboard. +screenshotCopied=Screenshot copied to clipboard. + +# LOCALIZATION NOTE (inspectNodeDesc) A very short string to describe the +# 'node' parameter to the 'inspect' command. Displayed when the +# --help flag is passed to the `screenshot command. +inspectNodeDesc=CSS selector + +# LOCALIZATION NOTE (inspectNodeManual) A fuller description of the 'node' +# parameter to the 'inspect' command. Displayed when the --help flag is +# passed to the `screenshot command. +inspectNodeManual=A CSS selector for use with document.querySelector which identifies a single element + +# LOCALIZATION NOTE (screenshotTruncationWarning) Text displayed to user when the image +# that would be created by the screenshot is too big and needs to be truncated to avoid +# errors. +# The first parameter is the width of the final image and the second parameter is the +# height of the image. +screenshotTruncationWarning=The image was cut off to %1$S×%2$S as the resulting image was too large + +# LOCALIZATION NOTE (screenshotDPRDecreasedWarning2) Text displayed to user when +# taking the screenshot initially failed. When the Device Pixel Ratio is larger +# than 1.0 a second try immediately after displaying this message is attempted. +screenshotDPRDecreasedWarning=The device pixel ratio was reduced to 1 as the resulting image was too large + +# LOCALIZATION NOTE (screenshotRenderingError) Text displayed to user upon +# encountering an error while rendering the screenshot. This most often happens when the +# resulting image is too large to be rendered. +screenshotRenderingError=Error creating the image. The resulting image was probably too large. + +# LOCALIZATION NOTE (screenshotNoSelectorMatchWarning) Text displayed to user when the +# provided selector for the screenshot does not match any element on the page. +# The argument (%1$S) is selector. +screenshotNoSelectorMatchWarning=The ‘%S’ selector does not match any element on the page. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/shared/shared.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/shared/shared.properties new file mode 100644 index 0000000000000000000000000000000000000000..0978450dee56b712a378b1c27c713ab21ff374c7 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/shared/shared.properties @@ -0,0 +1,6 @@ +# 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/. + +# LOCALIZATION NOTE (ellipsis): The ellipsis (three dots) character +ellipsis=… diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/shared/styleinspector.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/shared/styleinspector.properties new file mode 100644 index 0000000000000000000000000000000000000000..211537a729ddfd6963db984c2d18ed342f4c0241 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/devtools/shared/styleinspector.properties @@ -0,0 +1,249 @@ +# 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/. + +# LOCALIZATION NOTE These strings are used inside the Style Inspector. +# +# 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 (rule.status): For each style property the panel shows +# the rules which hold that specific property. For every rule, the rule status +# is also displayed: a rule can be the best match, a match, a parent match, or a +# rule did not match the element the user has highlighted. +rule.status.BEST=A' mhaids as fhearr +rule.status.MATCHED=Le maids +rule.status.PARENT_MATCH=Maids a' phàraint + +# LOCALIZATION NOTE (rule.sourceElement, rule.sourceInline, +# rule.sourceConstructed): For each style property the panel shows the rules +# which hold that specific property. +# For every rule, the rule source is also displayed: a rule can come from a +# file, from the same page (inline), from a constructed style sheet +# (constructed), or from the element itself (element). +rule.sourceInline=am broinn na loidhne +rule.sourceConstructed=constructed +rule.sourceElement=eileamaid + +# LOCALIZATION NOTE (rule.inheritedFrom): Shown for CSS rules +# that were inherited from a parent node. Will be passed a node +# identifier of the parent node. +# e.g "Inherited from body#bodyID" +rule.inheritedFrom=Oighreachd o %S + +# LOCALIZATION NOTE (rule.keyframe): Shown for CSS Rules keyframe header. +# Will be passed an identifier of the keyframe animation name. +rule.keyframe=Keyframes %S + +# LOCALIZATION NOTE (rule.userAgentStyles): Shown next to the style sheet +# link for CSS rules that were loaded from a user agent style sheet. +# These styles will not be editable, and will only be visible if the +# devtools.inspector.showUserAgentStyles pref is true. +rule.userAgentStyles=(user agent) + +# LOCALIZATION NOTE (rule.pseudoElement): Shown for CSS rules +# pseudo element header +rule.pseudoElement=Pseudo-elements + +# LOCALIZATION NOTE (rule.selectedElement): Shown for CSS rules element header if +# pseudo elements are present in the rule view. +rule.selectedElement=This Element + +# LOCALIZATION NOTE (rule.warning.title): When an invalid property value is +# entered into the rule view a warning icon is displayed. This text is used for +# the title attribute of the warning icon. +rule.warning.title=Luach mì-dhligheach a' bhuaidh + +# LOCALIZATION NOTE (rule.warningName.title): When an invalid property name is +# entered into the rule view a warning icon is displayed. This text is used for +# the title attribute of the warning icon. +rule.warningName.title=Invalid property name + +# LOCALIZATION NOTE (rule.filterProperty.title): Text displayed in the tooltip +# of the search button that is shown next to a property that has been overridden +# in the rule view. +rule.filterProperty.title=Filter rules containing this property + +# LOCALIZATION NOTE (rule.empty): Text displayed when the highlighter is +# first opened and there's no node selected in the rule view. +rule.empty=Cha deach eileamaid a thaghadh. + +# LOCALIZATION NOTE (rule.variableValue): Text displayed in a tooltip +# when the mouse is over a variable use (like "var(--something)") in +# the rule view. The first argument is the variable name and the +# second argument is the value. +rule.variableValue=%S = %S + +# LOCALIZATION NOTE (rule.variableUnset): Text displayed in a tooltip +# when the mouse is over a variable use (like "var(--something)"), +# where the variable is not set. the rule view. The argument is the +# variable name. +rule.variableUnset=%S is not set + +# LOCALIZATION NOTE (rule.selectorHighlighter.tooltip): Text displayed in a +# tooltip when the mouse is over a selector highlighter icon in the rule view. +rule.selectorHighlighter.tooltip=Highlight all elements matching this selector + +# LOCALIZATION NOTE (rule.colorSwatch.tooltip): Text displayed in a tooltip +# when the mouse is over a color swatch in the rule view. +rule.colorSwatch.tooltip=Click to open the color picker, shift+click to change the color format + +# LOCALIZATION NOTE (rule.bezierSwatch.tooltip): Text displayed in a tooltip +# when the mouse is over a cubic-bezier swatch in the rule view. +rule.bezierSwatch.tooltip=Click to open the timing-function editor + +# LOCALIZATION NOTE (rule.filterSwatch.tooltip): Text displayed in a tooltip +# when the mouse is over a filter swatch in the rule view. +rule.filterSwatch.tooltip=Click to open the filter editor + +# LOCALIZATION NOTE (rule.angleSwatch.tooltip): Text displayed in a tooltip +# when the mouse is over a angle swatch in the rule view. +rule.angleSwatch.tooltip=Shift+click to change the angle format + +# LOCALIZATION NOTE (rule.flexToggle.tooltip): Text displayed in a tooltip +# when the mouse is over a Flexbox toggle icon in the rule view. +rule.flexToggle.tooltip=Click to toggle the Flexbox highlighter + +# LOCALIZATION NOTE (rule.gridToggle.tooltip): Text displayed in a tooltip +# when the mouse is over a CSS Grid toggle icon in the rule view. +rule.gridToggle.tooltip=Click to toggle the CSS Grid highlighter + +# LOCALIZATION NOTE (rule.filterStyles.placeholder): This is the placeholder that +# goes in the search box when no search term has been entered. +rule.filterStyles.placeholder=Filter Styles + +# LOCALIZATION NOTE (rule.addRule.tooltip): This is the tooltip shown when +# hovering the `Add new rule` button in the rules view toolbar. +rule.addRule.tooltip=Add new rule + +# LOCALIZATION NOTE (rule.togglePseudo.tooltip): This is the tooltip +# shown when hovering over the `Toggle Pseudo Class Panel` button in the +# rule view toolbar. +rule.togglePseudo.tooltip=Toggle pseudo-classes + +# LOCALIZATION NOTE (rule.classPanel.toggleClass.tooltip): This is the tooltip +# shown when hovering over the `Toggle Class Panel` button in the +# rule view toolbar. +rule.classPanel.toggleClass.tooltip=Toggle classes + +# LOCALIZATION NOTE (rule.classPanel.newClass.placeholder): This is the placeholder +# shown inside the text field used to add a new class in the rule-view. +rule.classPanel.newClass.placeholder=Add new class + +# LOCALIZATION NOTE (rule.classPanel.noClasses): This is the text displayed in the +# class panel when the current element has no classes applied. +rule.classPanel.noClasses=No classes on this element + +# LOCALIZATION NOTE (rule.printSimulation.tooltip): +# This is the tooltip of the print simulation button in the Rule View toolbar +# that toggles print simulation. +rule.printSimulation.tooltip=Toggle print media simulation for the page + +# LOCALIZATION NOTE (rule.colorSchemeSimulation.tooltip): +# This is the tooltip of the color scheme simulation button in the Rule View +# toolbar that toggles color-scheme simulation. +rule.colorSchemeSimulation.tooltip=Toggle color-scheme simulation for the page + +# LOCALIZATION NOTE (rule.twistyCollapse.label): The text a screen reader +# speaks when the header of a rule is expanded. +rule.twistyCollapse.label=Collapse + +# LOCALIZATION NOTE (rule.twistyExpand.label): The text a screen reader +# speaks when the header of a rule is collapsed. +rule.twistyExpand.label=Expand + +# LOCALIZATION NOTE (rule.containerQuery.selectContainerButton.tooltip): Text displayed in a +# tooltip when the mouse is over the icon to select a container in a container query in the rule view. +rule.containerQuery.selectContainerButton.tooltip=Click to select the container node + +# LOCALIZATION NOTE (styleinspector.contextmenu.copyColor): Text displayed in the rule +# and computed view context menu when a color value was clicked. +styleinspector.contextmenu.copyColor=Copy Color + +# LOCALIZATION NOTE (styleinspector.contextmenu.copyColor.accessKey): Access key for +# the rule and computed view context menu "Copy Color" entry. +styleinspector.contextmenu.copyColor.accessKey=L + +# LOCALIZATION NOTE (styleinspector.contextmenu.copyUrl): In rule and computed view : +# text displayed in the context menu for an image URL. +# Clicking it copies the URL to the clipboard of the user. +styleinspector.contextmenu.copyUrl=Copy URL + +# LOCALIZATION NOTE (styleinspector.contextmenu.copyUrl.accessKey): Access key for +# the rule and computed view context menu "Copy URL" entry. +styleinspector.contextmenu.copyUrl.accessKey=U + +# LOCALIZATION NOTE (styleinspector.contextmenu.copyImageDataUrl): In rule and computed view : +# text displayed in the context menu for an image URL. +# Clicking it copies the image as Data-URL to the clipboard of the user. +styleinspector.contextmenu.copyImageDataUrl=Copy Image Data-URL + +# LOCALIZATION NOTE (styleinspector.contextmenu.copyImageDataUrl.accessKey): Access key for +# the rule and computed view context menu "Copy Image Data-URL" entry. +styleinspector.contextmenu.copyImageDataUrl.accessKey=I + +# LOCALIZATION NOTE (styleinspector.copyImageDataUrlError): Text set in the clipboard +# if an error occurs when using the copyImageDataUrl context menu action +# (invalid image link, timeout, etc...) +styleinspector.copyImageDataUrlError=Failed to copy image Data-URL + +# LOCALIZATION NOTE (styleinspector.contextmenu.toggleOrigSources): Text displayed in the rule view +# context menu. +styleinspector.contextmenu.toggleOrigSources=Show Original Sources + +# LOCALIZATION NOTE (styleinspector.contextmenu.toggleOrigSources.accessKey): Access key for +# the rule view context menu "Show original sources" entry. +styleinspector.contextmenu.toggleOrigSources.accessKey=O + +# LOCALIZATION NOTE (styleinspector.contextmenu.addNewRule): Text displayed in the +# rule view context menu for adding a new rule to the element. +# This should match inspector.addRule.tooltip in inspector.properties +styleinspector.contextmenu.addNewRule=Add New Rule + +# LOCALIZATION NOTE (styleinspector.contextmenu.addNewRule.accessKey): Access key for +# the rule view context menu "Add rule" entry. +styleinspector.contextmenu.addNewRule.accessKey=R + +# LOCALIZATION NOTE (styleinspector.contextmenu.selectAll): Text displayed in the +# computed view context menu. +styleinspector.contextmenu.selectAll=Select All + +# LOCALIZATION NOTE (styleinspector.contextmenu.selectAll.accessKey): Access key for +# the computed view context menu "Select all" entry. +styleinspector.contextmenu.selectAll.accessKey=A + +# LOCALIZATION NOTE (styleinspector.contextmenu.copy): Text displayed in the +# computed view context menu. +styleinspector.contextmenu.copy=Copy + +# LOCALIZATION NOTE (styleinspector.contextmenu.copy.accessKey): Access key for +# the computed view context menu "Copy" entry. +styleinspector.contextmenu.copy.accessKey=C + +# LOCALIZATION NOTE (styleinspector.contextmenu.copyLocation): Text displayed in the +# rule view context menu for copying the source location. +styleinspector.contextmenu.copyLocation=Copy Location + +# LOCALIZATION NOTE (styleinspector.contextmenu.copyDeclaration): Text +# displayed in the rule view context menu for copying the CSS declaration. +styleinspector.contextmenu.copyDeclaration=Copy Declaration + +# LOCALIZATION NOTE (styleinspector.contextmenu.copyPropertyName): Text displayed in +# the rule view context menu for copying the property name. +styleinspector.contextmenu.copyPropertyName=Copy Property Name + +# LOCALIZATION NOTE (styleinspector.contextmenu.copyPropertyValue): Text displayed in +# the rule view context menu for copying the property value. +styleinspector.contextmenu.copyPropertyValue=Copy Property Value + +# LOCALIZATION NOTE (styleinspector.contextmenu.copyRule): Text displayed in the +# rule view context menu for copying the rule. +styleinspector.contextmenu.copyRule=Copy Rule + +# LOCALIZATION NOTE (styleinspector.contextmenu.copySelector): Text displayed in the +# rule view context menu for copying the selector. +styleinspector.contextmenu.copySelector=Copy Selector diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global-platform/mac/accessible.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global-platform/mac/accessible.properties new file mode 100644 index 0000000000000000000000000000000000000000..0b1b1b5c57cb0621febedb1fd0130f52eee62633 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global-platform/mac/accessible.properties @@ -0,0 +1,71 @@ +# 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/. + +jump = Thoir leum +press = Put +check = Thoir sùil +uncheck = Dì-chomharraich +select = Tagh +open = Fosgail +close = Dùin +switch = Dèan suaip +click = Briog +collapse= Co-theannaich +expand = Leudaich +activate= Cuir beò +cycle = Cuairt +# An action provided to accessibility clients such as screen readers to allow +# them to click an element when the click will be handled by a container +# (ancestor) element. This is not normally reported to users. +click ancestor = Click ancestor + +# Universal Access API support +# (Mac Only) +# The Role Description for AXWebArea (the web widget). Like in Safari. +htmlContent = Susbaint HTML +# The Role Description for the Tab button. +tab = taba +# The Role Description for definition list dl, dt and dd +term = teirm +definition = deifinisean +# The Role Description for an input type="search" text field +searchTextField = raon lorg teacsa +# Role Description (exposed as AXTitle) for datepickers +dateField = date field +# The Role Description for WAI-ARIA Landmarks +application = aplacaid +search = lorg +banner = bratach +navigation = seòladh +complementary = co-shlànach +content = susbaint +main = prìomh-chlàr-taice +# The (spoken) role description for various WAI-ARIA roles +alert = caismeachd +alertDialog = còmhradh caismeachd +dialog = dialog +article = artaigeil +document = sgrìobhainn +# The (spoken) role description for the WAI-ARIA figure role +# https://w3c.github.io/aria/core-aam/core-aam.html#role-map-figure +figure = cumadh +# The (spoken) role description for the WAI-ARIA heading role +# https://w3c.github.io/aria/core-aam/core-aam.html#role-map-heading +heading = bann-cinn +log = loga +marquee = teacsa ’na ruith +math = matamataig +note = nòta +region = roinn +status = staid na h-aplacaid +timer = tìmear +tooltip = gliocas-sgrìn +separator = sgaradair +tabPanel = panail nan taba +# The roleDescription for the html:mark element +highlight = highlight +# The roleDescription for the details element +details = details +# The roleDescription for the summary element +summary = summary diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global-platform/mac/intl.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global-platform/mac/intl.properties new file mode 100644 index 0000000000000000000000000000000000000000..71265a9ef1057efa9ba9288501a688d9d54e10d7 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global-platform/mac/intl.properties @@ -0,0 +1,7 @@ +# 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/. + +# LOCALIZATION NOTE (intl.ellipsis): Use the unicode ellipsis char, \u2026, +# or use "..." if \u2026 doesn't suit traditions in your locale. +intl.ellipsis=… diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global-platform/mac/platformKeys.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global-platform/mac/platformKeys.properties new file mode 100644 index 0000000000000000000000000000000000000000..e1ce2fd906b2b841f8d803c3d1a1f11a70407daf --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global-platform/mac/platformKeys.properties @@ -0,0 +1,34 @@ +# 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/. + +#mac +#this file defines the on screen display names for the various modifier keys +#these are used in XP menus to show keyboard shortcuts + +# Platform: Mac +# This file defines the on-screen display names for the various modifier keys +# and the Return key (VK_RETURN). +# These are used in XP menus to show keyboard shortcuts. + +# The Shift key - open up arrow symbol (ctrl-e) +VK_SHIFT=⇧ + +# The Command key - clover leaf symbol (ctrl-q) +VK_META=⌘ + +# The Win key - never generated by native key event +VK_WIN=win + +# The Option/Alt key - splitting tracks symbol (ctrl-g) +VK_ALT=⌥ + +# The Control key - hat symbol (ctrl-f) +VK_CONTROL=⌃ + +# The Return key (on the main keyboard or numpad): +# "Enter" on Windows/Unix, "Return" on Mac +VK_RETURN=Return + +# The separator character used between modifiers (none on Mac OS) +MODIFIER_SEPARATOR= diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global-platform/unix/accessible.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global-platform/unix/accessible.properties new file mode 100644 index 0000000000000000000000000000000000000000..666835f3eebbe10a67c13ba7ea4bc99953967a60 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global-platform/unix/accessible.properties @@ -0,0 +1,21 @@ +# 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/. + +jump = Thoir leum +press = Put +check = Thoir sùil +uncheck = Dì-chomharraich +select = Tagh +open = Fosgail +close = Dùin +switch = Dèan suaip +click = Briog +collapse= Co-theannaich +expand = Leudaich +activate= Cuir beò +cycle = Cuairt +# An action provided to accessibility clients such as screen readers to allow +# them to click an element when the click will be handled by a container +# (ancestor) element. This is not normally reported to users. +click ancestor = Click ancestor diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global-platform/unix/intl.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global-platform/unix/intl.properties new file mode 100644 index 0000000000000000000000000000000000000000..71265a9ef1057efa9ba9288501a688d9d54e10d7 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global-platform/unix/intl.properties @@ -0,0 +1,7 @@ +# 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/. + +# LOCALIZATION NOTE (intl.ellipsis): Use the unicode ellipsis char, \u2026, +# or use "..." if \u2026 doesn't suit traditions in your locale. +intl.ellipsis=… diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global-platform/unix/platformKeys.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global-platform/unix/platformKeys.properties new file mode 100644 index 0000000000000000000000000000000000000000..28e77ecaa5aa820961c0224e73a388eb3817ac57 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global-platform/unix/platformKeys.properties @@ -0,0 +1,34 @@ +# 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/. + +#default +#this file defines the on screen display names for the various modifier keys +#these are used in XP menus to show keyboard shortcuts + +# Platform: Unix +# This file defines the on-screen display names for the various modifier keys +# and the Enter key (VK_RETURN). +# These are used in XP menus to show keyboard shortcuts. + +# The Shift key +VK_SHIFT=Shift + +# The Command key +VK_META=Meta + +# The Win key (Super key and Hyper keys are mapped to DOM Win key) +VK_WIN=Win + +# The Alt key +VK_ALT=Alt + +# The Control key +VK_CONTROL=Ctrl + +# The Enter key (on the main keyboard or numpad): +# "Enter" on Windows/Unix, "Return" on Mac +VK_RETURN=Enter + +# The separator character used between modifiers +MODIFIER_SEPARATOR=+ diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global-platform/win/accessible.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global-platform/win/accessible.properties new file mode 100644 index 0000000000000000000000000000000000000000..666835f3eebbe10a67c13ba7ea4bc99953967a60 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global-platform/win/accessible.properties @@ -0,0 +1,21 @@ +# 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/. + +jump = Thoir leum +press = Put +check = Thoir sùil +uncheck = Dì-chomharraich +select = Tagh +open = Fosgail +close = Dùin +switch = Dèan suaip +click = Briog +collapse= Co-theannaich +expand = Leudaich +activate= Cuir beò +cycle = Cuairt +# An action provided to accessibility clients such as screen readers to allow +# them to click an element when the click will be handled by a container +# (ancestor) element. This is not normally reported to users. +click ancestor = Click ancestor diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global-platform/win/intl.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global-platform/win/intl.properties new file mode 100644 index 0000000000000000000000000000000000000000..71265a9ef1057efa9ba9288501a688d9d54e10d7 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global-platform/win/intl.properties @@ -0,0 +1,7 @@ +# 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/. + +# LOCALIZATION NOTE (intl.ellipsis): Use the unicode ellipsis char, \u2026, +# or use "..." if \u2026 doesn't suit traditions in your locale. +intl.ellipsis=… diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global-platform/win/platformKeys.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global-platform/win/platformKeys.properties new file mode 100644 index 0000000000000000000000000000000000000000..2d0dd84b95af7de87861967896c5bb2dc888fd9b --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global-platform/win/platformKeys.properties @@ -0,0 +1,34 @@ +# 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/. + +#default +#this file defines the on screen display names for the various modifier keys +#these are used in XP menus to show keyboard shortcuts + +# Platform: Windows +# This file defines the on-screen display names for the various modifier keys +# and the Enter key (VK_RETURN). +# These are used in XP menus to show keyboard shortcuts. + +# The Shift key +VK_SHIFT=Shift + +# The Command key +VK_META=Meta + +# The Win key +VK_WIN=Win + +# The Alt key +VK_ALT=Alt + +# The Control key +VK_CONTROL=Ctrl + +# The Enter key (on the main keyboard or numpad): +# "Enter" on Windows/Unix, "Return" on Mac +VK_RETURN=Enter + +# The separator character used between modifiers +MODIFIER_SEPARATOR=+ diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/aboutStudies.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/aboutStudies.properties new file mode 100644 index 0000000000000000000000000000000000000000..cd64195fcf45b09235e83daa7bba45f2fddf764a --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/aboutStudies.properties @@ -0,0 +1,33 @@ +# 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/. + + +# LOCALIZATION NOTE (title): keep "Shield" in English. See +# https://wiki.mozilla.org/Firefox/Shield/Shield_Studies for more information +title = Rannsachadh Shield +removeButton = Thoir air falbh + +# LOCALIZATION NOTE (activeStudiesList): Title above a list of active studies +activeStudiesList = Rannsachadh làithreach +# LOCALIZATION NOTE (activeStudiesList): Title above a list of completed studies +completedStudiesList = Seann-rannsachadh +# LOCALIZATION NOTE (activeStatus): Displayed for an active study +activeStatus = Gnìomhach + +# LOCALIZATION NOTE (completeStatus): Displayed for a study that is already complete +completeStatus = Deiseil + +updateButtonWin = Ùraich na roghainnean +updateButtonUnix = Ùraich na roghainnean +learnMore = Barrachd fiosrachaidh +noStudies = Cha do ghabh thu pàirt ann an obair-rannsachaidh sam bith gu ruige seo. +disabledList = Seo liosta na h-obrach-rannsachaidh anns an do ghabh thu pàirt. Cha ruith rannsachadh ùr. +# LOCALIZATION NOTE (enabledList): %S is brandShortName (e.g. Firefox) +enabledList = Dè tha seo? Faodaidh gun stàlaich ’s gun ruith %S obair-rannsachaidh o àm gu àm. + +# LOCALIZATION NOTE (preferenceStudyDescription) $1%S will be replaced with the +# name of a preference (such as "stream.improvesearch.topSiteSearchShortcuts") +# and $2%S will be replaced with the value of that preference. Both values will +# be formatted differently than the surrounding text. +preferenceStudyDescription = Cuiridh an rannsachadh seo %2$S an àite %1$S. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/appstrings.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/appstrings.properties new file mode 100644 index 0000000000000000000000000000000000000000..6330cb6880feaf9d7c1a6b104401855e79292e7e --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/appstrings.properties @@ -0,0 +1,37 @@ +# 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/. + +malformedURI2=Dèan cinnteach gu bheil an URL ceart is feuch ris a-rithist. +fileNotFound=Cha deach am faidhle %S a lorg. Dèan cinnteach gu bheil thu 'ga lorg san àite cheart is feuch ris a-rithist. +fileAccessDenied=Chan urrainn dhuinn am faidhle aig %S a leughadh. +dnsNotFound2=Cha b’ urrainn dhuinn %S a lorg. Dèan cinnteach gu bheil an t-ainm ceart is feuch ris a-rithist. +unknownProtocolFound=Tha co-dhiù aon dhe na pròtacalan a leanas (/%S) 'na phròtacal nach deach a chlàradh no chan eil e ceadaichte san t-suidheachadh seo. +connectionFailure=Chaidh an ceangal a dhiùltadh nuair a dh'iarradh inntrigeadh gu %S. +netInterrupt=Bhris an ceangal ri %S gu h-obann. Dh'fhaodadh gun deach cuid dhen dàta a thoirt seachad. +netTimeout=Chaidh an gnìomh thar tìde nuair a dh'iarraidh inntrigeadh gu %S. +redirectLoop=Cus ath-stiùiridh aig an URL seo. Cha ghabh an duilleag a dh'iarr thu a luchdadh. 'S mathaid gu bheil casgadh bhriosgaidean 'ga adhbharachadh. +confirmRepostPrompt=Mus faic thu an duilleag seo, feumaidh an aplacaid fiosrachadh a chur ann gus gnìomh sam bith a chaidh a dhèanamh roimhe (m.e. lorg no dearbhadh òrduigh) a dhèanamh a-rithist. +resendButton.label=Ath-sheòl +unknownSocketType=Chan fhaic thu an sgrìobhainn seo mur eil am manaidsear tèarainteachd pearsanta (MTP) air a stàladh. Luchdaich am MTP, stàlaich e agus feuch ris a-rithist no leig fios gu rianaire an t-siostaim agad. +netReset=Chan eil dàta sa sgrìobhainn seo. +notCached=Chan eil an sgrìobhainn seo ri fhaighinn tuilleadh. +netOffline=Chan fhaic thu an sgrìobhainn seo fhad 's a bhios tu far loidhne. Dì-chomharraich "Obair far loidhne" sa chlàr-taice Faidhle gus dol air loidhne. +isprinting=Chan ghabh sgrìobhainn atharrachadh fhad 's a thathar 'ga chlò-bhualadh no fhad 's a thathar 'ga ro-shealladh. +deniedPortAccess=Chaidh casg a chur air inntrigeadh gun a' phort a thagh thu air sgàth adhbharan tèarainteachd. +proxyResolveFailure=Cha deach am frithealaiche progsaidh a rèitich thu a lorg. Cuir sùil air na roghainnean progsaidh agad is feuch ris a-rithist. +proxyConnectFailure=Chaidh an ceangal a dhiùltadh nuair a dh'iarradh ceangal ris an fhrithealaiche phrogsaidh a rèitich thu. Cuir sùil air na roghainnean progsaidh agad is feuch ris a-rithist. +contentEncodingError=Chan fhaic thu an duilleag sin a chionn 's gu bheil e a' cleachdadh seòrsa de dhùmhlachadh a tha mì-dhligheach no nach eil taic ann dha. +unsafeContentType=Chan fhaic thu an duilleag sin a chionn 's gum faod a leithid de dh'fhaidhle a bhith cunnartach ma dh'fhosglas tu e. Nach leig thu fios air an duilgheadas seo gun fheadhainn aig a bheil an làrach-lìn? +malwareBlocked=Chaidh aithris gur e làrach ionnsaighe a tha san làrach %S is chaidh bacadh a chur air a-rèir do roghainnean tèarainteachd. +harmfulBlocked=The site at %S has been reported as a potentially harmful site and has been blocked based on your security preferences. +unwantedBlocked=Chaidh aithris gur e làrach a sgaoileas bathar-bog gun iarrtas a tha san làrach %S is chaidh bacadh a chur air a-rèir do roghainnean tèarainteachd. +deceptiveBlocked=Chaidh aithris gur e làrach ionnsaighe a tha san duilleag-lìn seo air %S is chaidh bacadh a chur air a-rèir nan roghainnean tèarainteachd agad. +cspBlocked=Tha poileasaidh tèarainteachd susbainte aig an duilleag seo a tha a' cur casg air luchdadh air an dòigh seo. +xfoBlocked=This page has an X-Frame-Options policy that prevents it from being loaded in this context. +corruptedContentErrorv2=Chaidh pròtacal lìonraidh a bhriseadh air an làrach aig %S nach gabh a chàradh. +sslv3Used=Cha b' urrainnear barantas a thoirt gum bi an dàta agad tèarainte air %S a chionn 's gu bheil e a' cleachdadh SSLv3, pròtacal tèarainteachd briste. +weakCryptoUsed=Rinn an neach aig a bheil %S droch-rèiteachadh air an làrach aca. Cha deach ceangal a dhèanamh ris an làrach-lìn air eagal ’s gun rachadh dàta a ghoid ort. +inadequateSecurityError=Rinn an làrach-lìn oidhirp air ìre de thèarainteachd nach eil iomchaidh. +blockedByPolicy=Bhac am buidheann agad cothrom air an duilleag no làrach-lìn seo. +networkProtocolError=Chaidh pròtacal lìonraidh a bhriseadh ann am Firefox is cha ghabh a chàradh. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/autocomplete.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/autocomplete.properties new file mode 100644 index 0000000000000000000000000000000000000000..105e0ff25c7bf2b1141a0d3e14de0a60fdce3b05 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/autocomplete.properties @@ -0,0 +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/. + +# LOCALIZATION NOTE (bookmarkKeywordSearch): This is the title of autocomplete +# entries that are bookmark keyword searches. %1$S will be replaced with the +# domain name of the bookmark, and %2$S will be replaced with the keyword +# search text that the user is typing. %2$S will not be empty. +bookmarkKeywordSearch = %1$S: %2$S diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/browser.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/browser.properties new file mode 100644 index 0000000000000000000000000000000000000000..4041ea5258ef1a118c95850dec6eb6dade534c34 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/browser.properties @@ -0,0 +1,7 @@ +# 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/. + +formPostSecureToInsecureWarning.title = Rabhadh tèarainteachd +formPostSecureToInsecureWarning.message = Thèid am fiosrachadh a chuir thu a-steach air an duilleag seo a chur a-null air ceangal gun chrioptachadh agus b' urrainn do threas pàrtaidh a leughadh furasta gu leòr.\n\nA bheil thu cinnteach gu bheil thu ag iarraidh am fiosrachadh seo a chur a-null? +formPostSecureToInsecureWarning.continue = Lean air adhart diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/commonDialogs.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/commonDialogs.properties new file mode 100644 index 0000000000000000000000000000000000000000..c1205f44fa3f1593b780a1c2556a76c6637c2afc --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/commonDialogs.properties @@ -0,0 +1,46 @@ +# 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/. + +Alert=Caismeachd +Confirm=Dearbh +ConfirmCheck=Dearbh +Prompt=Smèid orm +# LOCALIZATION NOTE - %S is brandFullName +PromptUsernameAndPassword3=Feum air dearbhadh – %S +# LOCALIZATION NOTE - %S is brandFullName +PromptPassword3=Feum air facal-faire – %S +Select=Tagh +OK=Ceart ma-thà +Cancel=Sguir dheth +Yes=&Tha +No=&Chan eil +Save=&Sàbhail +Revert=&Till +DontSave=&Na sàbhail +ScriptDlgGenericHeading=[Aplacaid JavaScript] +ScriptDlgHeading=Tha an duilleag aig %S ag ràdh: +ScriptDlgNullPrincipalHeading=Tha an duilleag seo ag ràdh: +ScriptDialogLabel=Na leig leis an duilleag seo còmhraidhean eile a chruthachadh +ScriptDialogLabelNullPrincipal=Na leig leis an làrach seo do bhrodadh tuilleadh +# LOCALIZATION NOTE (ScriptDialogLabelContentPrincipal): +# %S is either the domain and port of the site prompting, or the name of +# an add-on prompting. +ScriptDialogLabelContentPrincipal=Na leig le %S do bhrodadh tuilleadh +ScriptDialogPreventTitle=Dearbh roghainn a’ chòmhraidh +# LOCALIZATION NOTE (EnterLoginForRealm3, EnterLoginForProxy3): +# %1 is an untrusted string provided by a remote server. It could try to +# take advantage of sentence structure in order to mislead the user (see +# bug 244273). %1 should be integrated into the translated sentences as +# little as possible. %2 is the url of the site being accessed. +EnterLoginForRealm3=Tha am progsaidh %2$S ag iarraidh ainm-cleachdaiche is facal-faire. Tha an làrach ag ràdh: “%1$S” +EnterLoginForProxy3=Tha am progsaidh %2$S ag iarraidh ainm-cleachdaiche is facal-faire. Tha an làrach ag ràdh: “%1$S” +EnterUserPasswordFor2=Tha %1$S ag iarraidh an ainm-chleachdaiche is an fhacail-fhaire agad. +EnterUserPasswordForCrossOrigin2=Tha %1$S ag iarraidh an ainm-chleachdaiche is an fhacail-fhaire agad. RABHADH: Cha dèid am facal-faire agad a chur gun làrach-lìn air a bheil thu an-dràsta! +EnterPasswordFor=Cuir a-steach facal-faire airson %1$S air %2$S +EnterCredentials=Tha an làrach seo ag iarraidh ort gun clàraich thu a-steach. +# %S is the username for which a password is requested. +EnterPasswordOnlyFor=Tha an làrach seo ag iarraidh ort gun clàraich thu a-steach mar %S. +# %S is the domain of the site being accessed. +EnterCredentialsCrossOrigin=Tha an làrach seo ag iarraidh ort gun clàraich thu a-steach. Rabhadh: Thèid am fiosrachadh clàraidh a-steach agad a cho-roinneadh le %S agus chan e sin an làrach air a bheil thu a’ tadhal an-dràsta. +SignIn=Clàraich a-steach diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/contentAreaCommands.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/contentAreaCommands.properties new file mode 100644 index 0000000000000000000000000000000000000000..e854a4889d1e6cf427068d5ef2b63fc386ad622a --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/contentAreaCommands.properties @@ -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/. + +# context menu strings + +SaveImageTitle=Sàbhail an dealbh +SaveMediaTitle=Sàbhail am meadhan +SaveVideoTitle=Sàbhail am video +SaveAudioTitle=Sàbhail an fhuaim +SaveLinkTitle=Sàbhail mar +WebPageCompleteFilter=Duilleag-lìn, gu h-iomlan +WebPageHTMLOnlyFilter=Duilleag-lìn, HTML a-mhàin +WebPageXHTMLOnlyFilter=Duilleag-lìn, XHTML a-mhàin +WebPageSVGOnlyFilter=Duilleag-lìn, SVG a-mhàin +WebPageXMLOnlyFilter=Duilleag-lìn, XML a-mhàin + +# LOCALIZATION NOTE (UntitledSaveFileName): +# This is the default filename used when saving a file if a filename could +# not be determined or if a filename was invalid. A period and file +# extension may be appended to this string. +UntitledSaveFileName=Gun tiotal + +# LOCALIZATION NOTE (filesFolder): +# This is the name of the folder that is created parallel to a HTML file +# when it is saved "With Images". The %S section is replaced with the +# leaf name of the file being saved (minus extension). +filesFolder=%S_faidhlichean diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/css.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/css.properties new file mode 100644 index 0000000000000000000000000000000000000000..ef00c97f3413c2b7d35da93c5330c8b9c5f27d78 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/css.properties @@ -0,0 +1,53 @@ +# 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/. + +MimeNotCss=Cha deach duilleag nan stoidhle %1$S a luchdadh a chionn 's nach eil a chuir seòrsa MIME, "%2$S", agus "text/css" co-ionnan. +MimeNotCssWarn=Chaidh duilleag nan stoidhle %1$S a luchdadh mar thè CSS ged nach eil a chuid seòrsa MIME, "%2$S", agus "text/css" co-ionnan. + +PEDeclDropped=Chaidh am foirgheall a leagail mu làr. +PEDeclSkipped=Air leum a thoirt dhan ath-fhoirgheall. +PEUnknownProperty=Feart neo-aithnichte "%1$S". +PEValueParsingError=Mearachd rè parsadh an luach airson “%1$S”. +PEUnknownAtRule=Riaghailt @ neo-aithnichte no mearachd ann am parsadh riaghailt @ “%1$S”. +PEMQUnexpectedOperator=Unexpected operator in media list. +PEMQUnexpectedToken=Unexpected token ‘%1$S’ in media list. +PEAtNSUnexpected=Tòcan ris nach robh dùil am broinn @namespace: “%1$S”. +PEKeyframeBadName=Aithnichear ris a bha dùil mar ainm na riaghail @keyframes. +PEBadSelectorRSIgnored=Chaidh seata de riaghailtean a leigeil seachad air sgàth droch-roghnaicheir. +PEBadSelectorKeyframeRuleIgnored=Chaidh riaghailt Keyframe a leigeil seachad air sgàth droch-roghnaicheir. +PESelectorGroupNoSelector=Bha dùil ri roghnaichear. +PESelectorGroupExtraCombinator=Co-cheanglaiche air bhogadan. +PEClassSelNotIdent=Bha dùil ri aithnichear airson roghnaichear clas ach fhuaradh “%1$S”. +PETypeSelNotType=Bha dùil ri ainm eileamaid no "*" ach fhuaradh "%1$S". +PEUnknownNamespacePrefix=Ro-leasachan spàs ainm neo-aithnichte "%1$S". +PEAttributeNameExpected=Bha dùil ri aithnichear airson ainm fearta ach fhuaradh "%1$S". +PEAttributeNameOrNamespaceExpected=Bha dùil ri ainm fearta no spàs ainm ach fhuaradh "%1$S". +PEAttSelNoBar=Bha dùil ri "|" ach fhuaradh "%1$S". +PEAttSelUnexpected=Tòcan ris nach robh dùil ann an roghnaichear fearta: "%1$S". +PEAttSelBadValue=Bha dùil ri aithnichear no sreang airson luach anns an roghnaichear fhearta ach fhuaradh "%1$S". +PEPseudoSelBadName=Bha dùil ri aithnichear airson clas fuadain no eileamaid fhuadain ach fhuaradh "%1$S". +PEPseudoSelEndOrUserActionPC=Expected end of selector or a user action pseudo-class after pseudo-element but found '%1$S'. +PEPseudoSelUnknown=Clas fuadain no eileamaid fhuadain neo-aithnichte: "%1$S". +PEPseudoClassArgNotIdent=Bha dùil ri aithnichear do pharamadair clas fuadain ach fhuaradh "%1$S". +PEColorNotColor=Bha dùil ri dath ach fhuaradh "%1$S". +PEParseDeclarationDeclExpected=Bha dùil ri foirgheall ach fhuaradh "%1$S". +PEUnknownFontDesc=Tuairisgeulaiche neo-aithnichte '%1$S' anns an righailte @font-face. +PEMQExpectedFeatureName=Bha dùil ri ainm de dh'fheart meadhain ach fhuaradh '%1$S'. +PEMQNoMinMaxWithoutValue=Feumaidh luach a bhith aig feartean meadhain le min- no max-. +PEMQExpectedFeatureValue=Fhuaradh luach mì-dhligheach airson feart meadhain. +PEExpectedNoneOrURL=Expected 'none' or URL but found '%1$S'. +PEExpectedNoneOrURLOrFilterFunction=Expected 'none', URL, or filter function but found '%1$S'. +PEDisallowedImportRule=@import rules are not yet valid in constructed stylesheets. +PENeverMatchingHostSelector=:host selector in ‘%S’ is not featureless and will never match. Maybe you intended to use :host()? + +TooLargeDashedRadius=Border radius is too large for ‘dashed’ style (the limit is 100000px). Rendering as solid. +TooLargeDottedRadius=Border radius is too large for ‘dotted’ style (the limit is 100000px). Rendering as solid. + +PEPRSyntaxFieldEmptyInput=@property syntax descriptor is empty. +PEPRSyntaxFieldExpectedPipe=@property syntax descriptor ‘%S’ contains components without a pipe between them. +PEPRSyntaxFieldInvalidNameStart=@property syntax descriptor ‘%S’ contains a component name that starts with an invalid character. +PEPRSyntaxFieldInvalidName=@property syntax descriptor ‘%S’ contains a component name with an invalid character. +PEPRSyntaxFieldUnclosedDataTypeName=@property syntax descriptor ‘%S’ contains an unclosed data type name. +PEPRSyntaxFieldUnexpectedEOF=@property syntax descriptor ‘%S’ is incomplete. +PEPRSyntaxFieldUnknownDataTypeName=@property syntax descriptor ‘%S’ contains an unknown data type name. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/dialog.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/dialog.properties new file mode 100644 index 0000000000000000000000000000000000000000..ff999519d94f67512bfa89694ec25542811f339b --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/dialog.properties @@ -0,0 +1,12 @@ +# 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/. + +button-accept=Ceart ma-thà +button-cancel=Sguir dheth +button-help=Cobhair +button-disclosure=Barrachd fiosrachaidh +accesskey-accept= +accesskey-cancel= +accesskey-help=H +accesskey-disclosure=I diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/dom/dom.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/dom/dom.properties new file mode 100644 index 0000000000000000000000000000000000000000..9fd4ed84319caf3980a25d0454a7b7f39eee868b --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/dom/dom.properties @@ -0,0 +1,447 @@ +# 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/. + +KillScriptTitle=Rabhadh: sgriobt gun fhreagairt +KillScriptMessage=Tha sgriobt air an duilleag seo a dh'fhaodadh a bhith trang no gun fhreagairt. 'S urrainn dhut crìoch a chur air an sgriobt an-dràsta no leantainn ort feuch an coilean e leis fhèin. +KillScriptWithDebugMessage=Dh'fhaodadh gu bheil sgriobt air an duilleag seo a tha trang no gun fhreagairt. 'S urrainn dhut crìoch a chur air an sgriobt an-dràsta, fhosgladh anns an dì-bhugadair no leigeil leis dol air adhart. +KillScriptLocation=Sgriobt: %S + +KillAddonScriptTitle=Rabhadh: Tha sgriobt aig leudachan nach eil a’ freagairt +# LOCALIZATION NOTE (KillAddonScriptMessage): %1$S is the name of an extension. +# %2$S is the name of the application (e.g., Firefox). +KillAddonScriptMessage=Tha sgriobt aig an leudachan “%1$S” a’ ruith air an duilleag seo is tha e a’ fàgail %2$S gun chomas freagairt.\n\nDh’fhaoidte gu bheil e trang no nach freagair e tuilleadh. Is urrainn dhut an sgriobt a stad an-dràsta no cumail a’ dol san dòchas gum freagairt e. +KillAddonScriptGlobalMessage=Na leig leis sgriobt an leudachain seo ruith air an duilleag seo gus an ath-thuras a thèid ath-luchdadh + +StopScriptButton=Cuir crìoch air an sgriobt +DebugScriptButton=Dì-bhugaich an sgriobt +WaitForScriptButton=Air adhart +DontAskAgain=&Na faighnich dhìom a-rithist +WindowCloseBlockedWarning=Chan eil cead aig sgriobtaichean uinneagan a dhùnach nach deach am fosgladh le sgriobt. +OnBeforeUnloadTitle=A bheil thu cinnteach? +OnBeforeUnloadMessage2=This page is asking you to confirm that you want to leave — information you’ve entered may not be saved. +OnBeforeUnloadStayButton=Fuirich air an duilleag seo +OnBeforeUnloadLeaveButton=Fàg an duilleag seo +EmptyGetElementByIdParam=Chaidh sreang bhàn a chur gu getElementById(). +SpeculationFailed2=An unbalanced tree was written using document.write() causing data from the network to be reparsed. More information: https://developer.mozilla.org/en-US/docs/Glossary/speculative_parsing +DocumentWriteIgnored=Chaidh gairm airson document.write() o sgriobt on taobh a-muigh 's a chaidh a luchdadh gu neo-shioncronach a leigeil seachad. +# LOCALIZATION NOTE (EditorFileDropFailed): Do not translate contenteditable, %S is the error message explaining why the drop failed. +EditorFileDropFailed=Dropping a file into a contenteditable element failed: %S. +FormValidationTextTooLong=Thoir air falbh caractairean gus nach bi ann ach %S no nas lugha (tha %S caractairean ann an-dràsta). +FormValidationTextTooShort=Cleachd co-dhiù %S caractar (tha thu a’ cleachdadh %S an-dràsta fhèin). +FormValidationValueMissing=Lìon an raon seo. +FormValidationCheckboxMissing=Cuir cromag ris a' bhogsa seo ma tha thu airson leantainn air adhart. +FormValidationRadioMissing=Tagh aon dhe na roghainnean seo. +FormValidationFileMissing=Tagh faidhle. +FormValidationSelectMissing=Tagh ball dhen liosta. +FormValidationInvalidEmail=Cuir a-steach seòladh puist-dhealain. +FormValidationInvalidURL=Cuir a-steach URL. +FormValidationInvalidDate=Cuir a-steach ceann-là dligheach. +FormValidationInvalidTime=Please enter a valid time. +FormValidationInvalidDateTime=Please enter valid date and time. +FormValidationInvalidDateMonth=Please enter a valid month. +FormValidationInvalidDateWeek=Please enter a valid week. +FormValidationPatternMismatch=Lean ris an fhòrmat a chaidh iarraidh. +# LOCALIZATION NOTE (FormValidationPatternMismatchWithTitle): %S is the (possibly truncated) title attribute value. +FormValidationPatternMismatchWithTitle=Lean ris an fhòrmat a chaidh iarraidh: %S. +# LOCALIZATION NOTE (FormValidationNumberRangeOverflow): %S is a number. +FormValidationNumberRangeOverflow=Tagh luach nach eil nas motha na %S. +# LOCALIZATION NOTE (FormValidationDateTimeRangeOverflow): %S is a date or a time. +FormValidationDateTimeRangeOverflow=Tagh luach nach eil an dèidh %S. +# LOCALIZATION NOTE (FormValidationNumberRangeUnderflow): %S is a number. +FormValidationNumberRangeUnderflow=Tagh luach nach eil nas lugha na %S. +# LOCALIZATION NOTE (FormValidationDateTimeRangeUnderflow): %S is a date or a time. +FormValidationDateTimeRangeUnderflow=Tagh luach nach eil ro %S. +# LOCALIZATION NOTE (FormValidationStepMismatch): both %S can be a number, a date or a time. +FormValidationStepMismatch=Tagh luach dligheach. 'S iad %S agus %S an dà luach as fhaisge. +# LOCALIZATION NOTE (FormValidationStepMismatchOneValue): %S can be a number, a date or a time. This is called instead of FormValidationStepMismatch when the second value is the same as the first. +FormValidationStepMismatchOneValue=Tagh luach dligheach. 'S iad %S an luach as fhaisge air. +# LOCALIZATION NOTE (FormValidationTimeReversedRangeUnderflowAndOverflow): %1$S,%2$S are time. +FormValidationTimeReversedRangeUnderflowAndOverflow=Please select a value between %1$S and %2$S. +FormValidationBadInputNumber=Cuir a-steach àireamh. +FullscreenDeniedDisabled=Chaidh iarrtas airson làn-sgrìn a dhiùltadh a chionn ’s gun deach an API làn-sgrìn a chur à comas leis a’ chleachdaiche. +FullscreenDeniedFocusedPlugin=Chaidh iarrtas airson làn-sgrìn a dhiùltadh a chionn ’s gu bheil plugan uinneagaichte am fòcas. +FullscreenDeniedHidden=Chaidh iarrtas airson làn-sgrìn a dhiùltadh a chionn ’s nach eil an sgrìobhainn ri fhaicinn tuilleadh. +FullscreenDeniedHTMLDialog=Request for fullscreen was denied because requesting element is a <dialog> element. +FullscreenDeniedContainerNotAllowed=Request for fullscreen was denied because at least one of the document's containing elements is not an iframe or does not have an "allowfullscreen" attribute. +FullscreenDeniedNotInputDriven=Request for fullscreen was denied because Element.requestFullscreen() was not called from inside a short running user-generated event handler. +FullscreenDeniedMouseEventOnlyLeftBtn=Request for fullscreen was denied because Element.requestFullscreen() was called from inside a mouse event handler not triggered by left mouse button. +FullscreenDeniedNotHTMLSVGOrMathML=Chaidh an t-iarrtas airson làn-sgrìn a dhiùltadh a chionn ’s nach eil an eileamaid a dh’iarr e ’na eileamaid <svg>, <math> no HTML. +FullscreenDeniedNotInDocument=Chaidh iarrtas airson làn-sgrìn a dhiùltadh a chionn ’s nach eil an eileamaid a dh'iarr e san sgrìobhainn tuilleadh. +FullscreenDeniedMovedDocument=Chaidh iarrtas airson làn-sgrìn a dhiùltadh a chionn ’s gun do ghluais an eileamaid a dh’iarr e. +FullscreenDeniedLostWindow=Chaidh iarrtas airson làn-sgrìn a dhiùltadh a chionn ’s nach eil uinneag againn tuilleadh. +FullscreenDeniedPopoverOpen=Chaidh iarrtas airson làn-sgrìn a dhiùltadh a chionn ’s gu bheil an eileamaid fosgailte mar popover mu thràth. +FullscreenDeniedSubDocFullscreen=Chaidh iarrtas airson làn-sgrìn a dhiùltadh a chionn ’s gu bheil fo-sgrìobhainn na sgrìobhainne a tha ag iarraidh làn-sgrìn ’na làn-sgrìn mu thràth. +FullscreenDeniedNotFocusedTab=Chaidh iarrtas airson làn-sgrìn a dhiùltadh a chionn ’s nach eil an eileamaid a dh’iarr e air an taba air a bheil fòcas an-dràsta. +FullscreenDeniedFeaturePolicy=Request for fullscreen was denied because of FeaturePolicy directives. +FullscreenExitWindowFocus=Exited fullscreen because a window was focused. +RemovedFullscreenElement=Chaidh an làn-sgrìn fhàgail a chionn ’s gun deach an eileamaid làn-sgrìn a thoirt air falbh on sgrìobhainn. +FocusedWindowedPluginWhileFullscreen=Chaidh an làn-sgrìn fhàgail a chionn ’s gun deach plugan uinneagaichte ann am fòcas. +PointerLockDeniedDisabled=Request for pointer lock was denied because Pointer Lock API is disabled by user preference. +PointerLockDeniedInUse=Request for pointer lock was denied because the pointer is currently controlled by a different document. +PointerLockDeniedNotInDocument=Request for pointer lock was denied because the requesting element is not in a document. +PointerLockDeniedSandboxed=Request for pointer lock was denied because Pointer Lock API is restricted via sandbox. +PointerLockDeniedHidden=Request for pointer lock was denied because the document is not visible. +PointerLockDeniedNotFocused=Request for pointer lock was denied because the document is not focused. +PointerLockDeniedMovedDocument=Request for pointer lock was denied because the requesting element has moved document. +PointerLockDeniedNotInputDriven=Request for pointer lock was denied because Element.requestPointerLock() was not called from inside a short running user-generated event handler, and the document is not in full screen. +PointerLockDeniedFailedToLock=Request for pointer lock was denied because the browser failed to lock the pointer. +HTMLSyncXHRWarning=Chan eil taic ann ri parsadh HTML ann an XMLHttpRequest sa mhodh sioncronach. +# LOCALIZATION NOTE: %S is the name of the header in question +ForbiddenHeaderWarning=Attempt to set a forbidden header was denied: %S +ResponseTypeSyncXHRWarning=Chan eil taic ann ri cleachdadh buadh responseType aig XMLHttpRequest tuilleadh sa mhodh sioncronach sa cho-theacs uinneige. +TimeoutSyncXHRWarning=Chan eil taic ann ri cleachdadh buadh timeout aig XMLHttpRequest sa mhodh sioncronach sa cho-theacs uinneige. +# LOCALIZATION NOTE: Do not translate navigator.sendBeacon, unload, pagehide, or XMLHttpRequest. +UseSendBeaconDuringUnloadAndPagehideWarning=Use of navigator.sendBeacon instead of synchronous XMLHttpRequest during unload and pagehide improves user experience. +JSONCharsetWarning=Dh'fheuch thu ri còdachadh nach eil 'na UTF-8 a chur a cèill airson JSON a fhuaradh an cois XMLHttpRequest. Chan eil taic ann ach ri UTF-8 gus JSON a dhì-chòdachadh. +# LOCALIZATION NOTE: Do not translate HTMLMediaElement and createMediaElementSource. +MediaElementAudioSourceNodeCrossOrigin=The HTMLMediaElement passed to createMediaElementSource has a cross-origin resource, the node will output silence. +# LOCALIZATION NOTE: Do not translate MediaStream and createMediaStreamSource. +MediaStreamAudioSourceNodeCrossOrigin=The MediaStream passed to createMediaStreamSource has a cross-origin resource, the node will output silence. +# LOCALIZATION NOTE : Do not translate MediaStreamTrack and createMediaStreamTrackSource. +MediaStreamTrackAudioSourceNodeCrossOrigin=The MediaStreamTrack passed to createMediaStreamTrackSource is a cross-origin resource, the node will output silence. +# LOCALIZATION NOTE: Do not translate HTMLMediaElement and MediaStream. +MediaElementAudioCaptureOfMediaStreamError=Tha an HTMLMediaElement a tha ’ga ghlacadh a’ cluich MediaStream. Chan urrainnear an fhuaim aige atharrachadh aig an ìre-sa. +# LOCALIZATION NOTE: Do not translate HTMLMediaElement and MediaStream. +MediaElementStreamCaptureCycle=The MediaStream assigned to srcObject comes from a capture of this HTMLMediaElement, forming a cycle, assignment ignored. +MediaLoadExhaustedCandidates=Dh'fhàillig luchdadh goireasan uile an tagraiche. Chaidh luchdadh a' mheadhain a chur 'na stad. +MediaLoadSourceMissingSrc=<source>chan eil buadh "src" aig an eileamaid. Dh'fhàillig luchdadh a' ghoireis mheadhain. +MediaStreamAudioSourceNodeDifferentRate=Connecting AudioNodes from AudioContexts with different sample-rate is currently not supported. +# LOCALIZATION NOTE: %1$S is the Http error code the server returned (e.g. 404, 500, etc), %2$S is the URL of the media resource which failed to load. +MediaLoadHttpError=Dh'fhàillig an luchdadh HTTP leis an staid %1$S. Dh'fhàillig luchdadh a' ghoireis mheadhain %2$S. +# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load. +MediaLoadInvalidURI=URI mì-dhligheach. Dh'fhàillig luchdadh a' ghoireis mheadhain %S. +# LOCALIZATION NOTE: %1$S is the media resource's format/codec type (basically equivalent to the file type, e.g. MP4,AVI,WMV,MOV etc), %2$S is the URL of the media resource which failed to load. +MediaLoadUnsupportedTypeAttribute=Chan eil taic ann dhan "type" de "%1$S" a chaidh a shònrachadh. Dh'fhàillig luchdadh a' ghoireis mheadhain %2$S. +MediaLoadUnsupportedTypeAttributeLoadingNextChild=Specified “type” attribute of “%1$S” is not supported. Load of media resource %2$S failed. Trying to load from next <source> element. +# LOCALIZATION NOTE: %1$S is the MIME type HTTP header being sent by the web server, %2$S is the URL of the media resource which failed to load. +MediaLoadUnsupportedMimeType=Chan eil taic ann dhan "Content-Type" HTTP de "%1$S". Dh'fhàillig luchdadh a' ghoireis mheadhain %2$S. +# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load because of error in decoding. +MediaLoadDecodeError=Dh'fhàillig dì-chòdachadh %S a' ghoireis mheadhain. +MediaWidevineNoWMF=Trying to play Widevine with no Windows Media Foundation. See https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows +# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm') +MediaWMFNeeded=Mus urrainn dhut fòrmatan video %S a chluich, feumaidh tu bathar-bog eile o Microsoft a stàladh, faic https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows +# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm') +MediaPlatformDecoderNotFound=Cha ghabh a’ video air an duilleag seo a chluich. Dh’fhaoidte nach eil na video codecs air a bheil feum aig an t-siostam agad: %S +MediaUnsupportedLibavcodec=Cha ghabh a’ video air an duilleag seo a chluich. Tha tionndadh de libavcodec aig an t-siostam agad ris nach eil taic. +# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English) +MediaDecodeError=Dh’fhàillig dì-chòdachadh a’ ghoireis mheadhain %1$S leis a’ mhearachd %2$S +# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English) +MediaDecodeWarning=Chaidh an goireas meadhain %1$S a dhì-chòdachadh ach leis a’ mhearachd %2$S +# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm') +MediaCannotPlayNoDecoders=Cha ghabh am meadhan a chluich. Chan eil dì-chòdair ri làimh airson nam fòrmatan a dh’iarradh: %S +# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm') +MediaNoDecoders=Chan eil dì-chòdairean ann airson cuid dhe na fòrmatadh a dh’iarradh: %S +MediaCannotInitializePulseAudio=Cha ghabh PulseAudio a chleachdadh +# LOCALIZATION NOTE: %S is the URL of the web page which is not served on HTTPS and thus is not encrypted and considered insecure. +MediaEMEInsecureContextDeprecatedWarning=Using Encrypted Media Extensions at %S on an insecure (i.e. non-HTTPS) context is deprecated and will soon be removed. You should consider switching to a secure origin such as HTTPS. +# LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (either an audioCapabilities or a videoCapabilities) that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string. +MediaEMENoCapabilitiesDeprecatedWarning=Calling navigator.requestMediaKeySystemAccess() (at %S) without passing a candidate MediaKeySystemConfiguration containing audioCapabilities or videoCapabilities is deprecated and will soon become unsupported. +# LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (a "codecs" string in the "contentType") that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string. +MediaEMENoCodecsDeprecatedWarning=Calling navigator.requestMediaKeySystemAccess() (at %S) passing a candidate MediaKeySystemConfiguration containing audioCapabilities or videoCapabilities without a contentType with a “codecs” string is deprecated and will soon become unsupported. +# LOCALIZATION NOTE: Do not translate "Mutation Event" and "MutationObserver" +MutationEventWarning=Chan eil cleachdadh Mutation Events 'ga mholadh tuilleadh. Cleachd MutationObserver 'na àite. +BlockAutoplayError=Autoplay is only allowed when approved by the user, the site is activated by the user, or media is muted. +BlockAutoplayWebAudioStartError=An AudioContext was prevented from starting automatically. It must be created or resumed after a user gesture on the page. +# LOCALIZATION NOTE: Do not translate "Components" +ComponentsWarning=Cha mholar an t-oibseact Components tuilleadh is thèid a thoirt air falbh a dh'aithghearr. +PluginHangUITitle=Rabhadh: Plugan nach eil a' freagairt +PluginHangUIMessage=Dh'fhaoidte gu bheil %S trang no nach eil a' freagairt tuilleadh. 'S urrainn dhut crìoch a chur air a' phlugan an-dràsta no leantainn ort feuch an coilean e leis fhèin. +PluginHangUIWaitButton=Air adhart +PluginHangUIStopButton=Cuir crìoch air a' phlugan +# LOCALIZATION NOTE: Do not translate "NodeIterator" or "detach()". +NodeIteratorDetachWarning=Chan eil buaidh air gairm detach() air NodeIterator tuilleadh. +# LOCALIZATION NOTE: Do not translate "LenientThis" and "this" +LenientThisWarning=A' leigeil seachad "get" no "set" na roghainn aig a bheil [LenientThis] a chionn 's gu bheil an t-oibseact "This" cearr. +# LOCALIZATION NOTE: Do not translate "captureEvents()" or "addEventListener()" +UseOfCaptureEventsWarning=Cha mholamaid cleachdadh captureEvents() tuilleadh. Cleachd am modh DOM 2 addEventListener() gus an còd agad ùrachadh. Cuir sùil air an duilleag seo airson barrachd fiosrachaidh http://developer.mozilla.org/en/docs/DOM:element.addEventListener +# LOCALIZATION NOTE: Do not translate "releaseEvents()" or "removeEventListener()" +UseOfReleaseEventsWarning=Cha mholamaid cleachdadh releaseEvents() tuilleadh. Cleachd am modh DOM 2 removeEventListener() gus an còd agad ùrachadh. Cuir sùil air an duilleag seo airson barrachd fiosrachaidh http://developer.mozilla.org/en/docs/DOM:element.removeEventListener +# LOCALIZATION NOTE: Do not translate "XMLHttpRequest" +SyncXMLHttpRequestWarning=Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help http://xhr.spec.whatwg.org/ +# LOCALIZATION NOTE: Do not translate "window.controllers/Controllers" +Window_Cc_ontrollersWarning=window.controllers/Controllers is deprecated. Do not use it for UA detection. +ImportXULIntoContentWarning=Importing XUL nodes into a content document is deprecated. This functionality may be removed soon. +# LOCALIZATION NOTE: Do not translate "IndexedDB". +IndexedDBTransactionAbortNavigation=Sguireadh de thar-chur IndexedDB nach robh air a choileanadh oir chaidh gluasad a dhèanamh air an duilleag. +# LOCALIZATION NOTE: Do not translate Will-change, %1$S,%2$S are numbers. +IgnoringWillChangeOverBudgetWarning=Will-change memory consumption is too high. Budget limit is the document surface area multiplied by %1$S (%2$S px). Occurrences of will-change over the budget will be ignored. +# LOCALIZATION NOTE: Do not translate "Worker". +HittingMaxWorkersPerDomain2=Bha obraiche ann ann nach b’ urrainn dhuinn a chur gu dol sa bhad a chionn ’s gu bheil sgrìobhainnean eile san aon tùs a’ cleachdadh na h-àireimh as motha de dh’obraichean mu thràth. Tha an t-obraiche sa chiutha a-nis is thèid a thòiseachadh cho luath ’s a chrìochnaicheas cuid dhen na h-obraichean eile. +# LOCALIZATION NOTE: Do not translate "Application Cache API", "AppCache" and "ServiceWorker". +AppCacheWarning=The Application Cache API (AppCache) is deprecated and will be removed at a future date. Please consider using ServiceWorker for offline support. +# LOCALIZATION NOTE: Do not translate "Worker". +EmptyWorkerSourceWarning=A’ feuchainn ri obraiche a chruthachadh de thùs bàn. Tha deagh-theans gu bheil seo gun deòin. +NavigatorGetUserMediaWarning=navigator.mozGetUserMedia has been replaced by navigator.mediaDevices.getUserMedia +# LOCALIZATION NOTE: Do not translate "RTCPeerConnection", "getLocalStreams", "getRemoteStreams", "getSenders" or "getReceivers". +RTCPeerConnectionGetStreamsWarning=RTCPeerConnection.getLocalStreams/getRemoteStreams are deprecated. Use RTCPeerConnection.getSenders/getReceivers instead. +# LOCALIZATION NOTE: Do not translate "ServiceWorker". %S is a URL. +InterceptionFailedWithURL=Failed to load '%S'. A ServiceWorker intercepted the request and encountered an unexpected error. +# LOCALIZATION NOTE: Do not translate "ServiceWorker", "cors", "Response", "same-origin" or "Request". %1$S is a URL, %2$S is a URL. +CorsResponseForSameOriginRequest=Failed to load ‘%1$S’ by responding ‘%2$S’. A ServiceWorker is not allowed to synthesize a cors Response for a same-origin Request. +# LOCALIZATION NOTE: Do not translate "ServiceWorker", "FetchEvent.respondWith()", "FetchEvent", "no-cors", "opaque", "Response", or "RequestMode". %1$S is a URL. %2$S is a RequestMode value. +BadOpaqueInterceptionRequestModeWithURL=Failed to load '%1$S'. A ServiceWorker passed an opaque Response to FetchEvent.respondWith() while handling a '%2$S' FetchEvent. Opaque Response objects are only valid when the RequestMode is 'no-cors'. +# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Error", "Response", "FetchEvent.respondWith()", or "fetch()". %S is a URL. +InterceptedErrorResponseWithURL=Failed to load '%S'. A ServiceWorker passed an Error Response to FetchEvent.respondWith(). This typically means the ServiceWorker performed an invalid fetch() call. +# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", or "Response.clone()". %S is a URL. +InterceptedUsedResponseWithURL=Failed to load '%S'. A ServiceWorker passed a used Response to FetchEvent.respondWith(). The body of a Response may only be read once. Use Response.clone() to access the body multiple times. +# LOCALIZATION NOTE: Do not translate "ServiceWorker", "opaqueredirect", "Response", "FetchEvent.respondWith()", or "FetchEvent". %S is a URL. +BadOpaqueRedirectInterceptionWithURL=Failed to load '%S'. A ServiceWorker passed an opaqueredirect Response to FetchEvent.respondWith() while handling a non-navigation FetchEvent. +# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", "RedirectMode" or "follow". %S is a URL. +BadRedirectModeInterceptionWithURL=Failed to load ‘%S’. A ServiceWorker passed a redirected Response to FetchEvent.respondWith() while RedirectMode is not ‘follow’. +# LOCALIZATION NOTE: Do not translate "ServiceWorker" or "FetchEvent.preventDefault()". %S is a URL. +InterceptionCanceledWithURL=Failed to load '%S'. A ServiceWorker canceled the load by calling FetchEvent.preventDefault(). +# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", or "FetchEvent.respondWith()". %1$S is a URL. %2$S is an error string. +InterceptionRejectedResponseWithURL=Failed to load '%1$S'. A ServiceWorker passed a promise to FetchEvent.respondWith() that rejected with '%2$S'. +# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", "FetchEvent.respondWith()", or "Response". %1$S is a URL. %2$S is an error string. +InterceptedNonResponseWithURL=Failed to load '%1$S'. A ServiceWorker passed a promise to FetchEvent.respondWith() that resolved with non-Response value '%2$S'. + +# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Service-Worker-Allowed" or "HTTP". %1$S and %2$S are URLs. +ServiceWorkerScopePathMismatch=Failed to register a ServiceWorker: The path of the provided scope '%1$S' is not under the max scope allowed '%2$S'. Adjust the scope, move the Service Worker script, or use the Service-Worker-Allowed HTTP header to allow the scope. +# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker, %2$S is a stringified numeric HTTP status code like "404" and %3$S is a URL. +ServiceWorkerRegisterNetworkError=Failed to register/update a ServiceWorker for scope ‘%1$S’: Load failed with status %2$S for script ‘%3$S’. +# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker, %2$S is a MIME Media Type like "text/plain" and %3$S is a URL. +ServiceWorkerRegisterMimeTypeError2=Failed to register/update a ServiceWorker for scope ‘%1$S’: Bad Content-Type of ‘%2$S’ received for script ‘%3$S’. Must be a JavaScript MIME type. +# LOCALIZATION NOTE: Do not translate "ServiceWorker". %S is a URL representing the scope of the ServiceWorker. +ServiceWorkerRegisterStorageError=Failed to register/update a ServiceWorker for scope ‘%S’: Storage access is restricted in this context due to user settings or private browsing mode. +ServiceWorkerGetRegistrationStorageError=Failed to get service worker registration(s): Storage access is restricted in this context due to user settings or private browsing mode. +ServiceWorkerGetClientStorageError=Failed to get service worker’s client(s): Storage access is restricted in this context due to user settings or private browsing mode. +# LOCALIZATION NOTE: Do not translate "ServiceWorker" and "postMessage". %S is a URL representing the scope of the ServiceWorker. +ServiceWorkerPostMessageStorageError=The ServiceWorker for scope ‘%S’ failed to execute ‘postMessage‘ because storage access is restricted in this context due to user settings or private browsing mode. +# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker. +ServiceWorkerGraceTimeoutTermination=Terminating ServiceWorker for scope ‘%1$S’ with pending waitUntil/respondWith promises because of grace timeout. +# LOCALIZATION NOTE (ServiceWorkerNoFetchHandler): Do not translate "Fetch". +ServiceWorkerNoFetchHandler=Fetch event handlers must be added during the worker script’s initial evaluation. +ExecCommandCutCopyDeniedNotInputDriven=document.execCommand('cut'/'copy') was denied because it was not called from inside a short running user-generated event handler. +ManifestIdIsInvalid=The id member did not resolve to a valid URL. +ManifestIdNotSameOrigin=The id member must have the same origin as the start_url member. +ManifestShouldBeObject=Bu chòir dhan mhanifest a bhith ’na oibseact. +ManifestScopeURLInvalid=Tha URL an sgòp mì-dhligheach. +ManifestScopeNotSameOrigin=Feumaidh URL an sgòp a bhith on aon tùs is a tha an sgrìobhainn. +ManifestStartURLOutsideScope=Tha an URL tòiseachaidh taobh a-muigh an sgòp agus tha an sgòp mì-dhligheach ri linn sin. +ManifestStartURLInvalid=Tha an URL tòiseachaidh mì-dhligheach. +ManifestStartURLShouldBeSameOrigin=Feumaidh an URL tòiseachaidh a bhith on aon tùs is a tha an sgrìobhainn. +# LOCALIZATION NOTE: %1$S is the name of the object whose property is invalid. %2$S is the name of the invalid property. %3$S is the expected type of the property value. E.g. "Expected the manifest's start_url member to be a string." +ManifestInvalidType=Bha dùil gum biodh am ball %2$S aig %1$S ’na %3$S. +# LOCALIZATION NOTE: %1$S is the name of the property whose value is invalid. %2$S is the (invalid) value of the property. E.g. "theme_color: 42 is not a valid CSS color." +ManifestInvalidCSSColor=%1$S: Chan eil %2$S ’na dhath CSS dligheach. +# LOCALIZATION NOTE: %1$S is the name of the property whose value is invalid. %2$S is the (invalid) value of the property. E.g. "lang: 42 is not a valid language code." +ManifestLangIsInvalid=%1$S: %2$S is not a valid language code. +# LOCALIZATION NOTE: %1$S is the name of the parent property whose value is invalid (e.g., "icons"). %2$S is the index of the image object that is invalid (from 0). %3$S is the name of actual member that is invalid. %4$S is the invalid value. E.g. "icons item at index 2 is invalid. The src member is an invalid URL http://:Invalid" +ManifestImageURLIsInvalid=%1$S item at index %2$S is invalid. The %3$S member is an invalid URL %4$S +# LOCALIZATION NOTE: %1$S is the name of the parent property that that contains the unusable image object (e.g., "icons"). %2$S is the index of the image object that is unusable (from 0). E.g. "icons item at index 2 lacks a usable purpose. It will be ignored." +ManifestImageUnusable=%1$S item at index %2$S lacks a usable purpose. It will be ignored. +# LOCALIZATION NOTE: %1$S is the name of the parent property that contains the unsupported value (e.g., "icons"). %2$S is the index of the image object that has the unsupported value (from 0). %3$S are the unknown purposes. E.g. "icons item at index 2 includes unsupported purpose(s): a b." +ManifestImageUnsupportedPurposes=%1$S item at index %2$S includes unsupported purpose(s): %3$S. +# LOCALIZATION NOTE: %1$S is the name of the parent property that has a repeated purpose (e.g., "icons"). %2$S is the index of the image object that has the repeated purpose (from 0). %3$S is the repeated purposes. E.g. "icons item at index 2 includes repeated purpose(s): a b." +ManifestImageRepeatedPurposes=%1$S item at index %2$S includes repeated purpose(s): %3$S. +PatternAttributeCompileFailure=Unable to check <input pattern='%S'> because the pattern is not a valid regexp: %S +# LOCALIZATION NOTE: Do not translate "postMessage" or DOMWindow. %S values are origins, like https://domain.com:port +TargetPrincipalDoesNotMatch=Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('%S') does not match the recipient window's origin ('%S'). +# LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port +RewriteYouTubeEmbed=Rewriting old-style YouTube Flash embed (%S) to iframe embed (%S). Please update page to use iframe instead of embed/object, if possible. +# LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port +RewriteYouTubeEmbedPathParams=Rewriting old-style YouTube Flash embed (%S) to iframe embed (%S). Params were unsupported by iframe embeds and converted. Please update page to use iframe instead of embed/object, if possible. +# LOCALIZATION NOTE: This error is reported when the "Encryption" header for an +# incoming push message is missing or invalid. Do not translate "ServiceWorker", +# "Encryption", and "salt". %1$S is the ServiceWorker scope URL. +PushMessageBadEncryptionHeader=The ServiceWorker for scope ‘%1$S’ failed to decrypt a push message. The ‘Encryption’ header must include a unique ‘salt‘ parameter for each message. See https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 for more information. +# LOCALIZATION NOTE: This error is reported when the "Crypto-Key" header for an +# incoming push message is missing or invalid. Do not translate "ServiceWorker", +# "Crypto-Key", and "dh". %1$S is the ServiceWorker scope URL. +PushMessageBadCryptoKeyHeader=The ServiceWorker for scope ‘%1$S’ failed to decrypt a push message. The ‘Crypto-Key‘ header must include a ‘dh‘ parameter containing the app server’s public key. See https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 for more information. +# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt because the deprecated +# "Encryption-Key" header for an incoming push message is missing or invalid. +# Do not translate "ServiceWorker", "Encryption-Key", "dh", "Crypto-Key", and +# "Content-Encoding: aesgcm". %1$S is the ServiceWorker scope URL. +PushMessageBadEncryptionKeyHeader=The ServiceWorker for scope ‘%1$S’ failed to decrypt a push message. The ‘Encryption-Key’ header must include a ‘dh‘ parameter. This header is deprecated and will soon be removed. Please use ‘Crypto-Key‘ with ‘Content-Encoding: aesgcm‘ instead. See https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 for more information. +# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt +# because the "Content-Encoding" header is missing or contains an +# unsupported encoding. Do not translate "ServiceWorker", "Content-Encoding", +# "aesgcm", and "aesgcm128". %1$S is the ServiceWorker scope URL. +PushMessageBadEncodingHeader=The ServiceWorker for scope ‘%1$S’ failed to decrypt a push message. The ‘Content-Encoding‘ header must be ‘aesgcm‘. ‘aesgcm128‘ is allowed, but deprecated and will soon be removed. See https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-2 for more information. +# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt +# because the "dh" parameter is not valid base64url. Do not translate +# "ServiceWorker", "dh", "Crypto-Key", and "base64url". %1$S is the +# ServiceWorker scope URL. +PushMessageBadSenderKey=The ServiceWorker for scope ‘%1$S’ failed to decrypt a push message. The ‘dh‘ parameter in the ‘Crypto-Key‘ header must be the app server’s Diffie-Hellman public key, base64url-encoded (https://tools.ietf.org/html/rfc7515#appendix-C) and in “uncompressed” or “raw” form (65 bytes before encoding). See https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 for more information. +# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt +# because the "salt" parameter is not valid base64url. Do not translate +# "ServiceWorker", "salt", "Encryption", and "base64url". %1$S is the +# ServiceWorker scope URL. +PushMessageBadSalt=The ServiceWorker for scope ‘%1$S’ failed to decrypt a push message. The ‘salt‘ parameter in the ‘Encryption‘ header must be base64url-encoded (https://tools.ietf.org/html/rfc7515#appendix-C), and be at least 16 bytes before encoding. See https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 for more information. +# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt +# because the "rs" parameter is not a number, or is less than the pad size. +# Do not translate "ServiceWorker", "rs", or "Encryption". %1$S is the +# ServiceWorker scope URL. %2$S is the minimum value (1 for aesgcm128, 2 for +# aesgcm). +PushMessageBadRecordSize=The ServiceWorker for scope ‘%1$S’ failed to decrypt a push message. The ‘rs‘ parameter of the ‘Encryption‘ header must be between %2$S and 2^36-31, or omitted entirely. See https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 for more information. +# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt +# because an encrypted record is shorter than the pad size, the pad is larger +# than the record, or any of the padding bytes are non-zero. Do not translate +# "ServiceWorker". %1$S is the ServiceWorker scope URL. %2$S is the pad size +# (1 for aesgcm128, 2 for aesgcm). +PushMessageBadPaddingError=The ServiceWorker for scope ‘%1$S’ failed to decrypt a push message. A record in the encrypted message was not padded correctly. See https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-2 for more information. +# LOCALIZATION NOTE: This error is reported when push message decryption fails +# and no specific error info is available. Do not translate "ServiceWorker". +# %1$S is the ServiceWorker scope URL. +PushMessageBadCryptoError=The ServiceWorker for scope ‘%1$S’ failed to decrypt a push message. For help with encryption, please see https://developer.mozilla.org/docs/Web/API/Push_API/Using_the_Push_API#Encryption +# LOCALIZATION NOTE: %1$S is the type of a DOM event. 'passive' is a literal parameter from the DOM spec. +PreventDefaultFromPassiveListenerWarning=Ignoring ‘preventDefault()’ call on event of type ‘%1$S’ from a listener registered as ‘passive’. +# LOCALIZATION NOTE: 'ImageBitmapRenderingContext.transferImageBitmap' and 'ImageBitmapRenderingContext.transferFromImageBitmap' should not be translated +ImageBitmapRenderingContext_TransferImageBitmapWarning=ImageBitmapRenderingContext.transferImageBitmap is deprecated and will be removed soon. Use ImageBitmapRenderingContext.transferFromImageBitmap instead. +IIRFilterChannelCountChangeWarning=IIRFilterNode channel count changes may produce audio glitches. +BiquadFilterChannelCountChangeWarning=BiquadFilterNode channel count changes may produce audio glitches. +# LOCALIZATION NOTE: Do not translate ".png" +GenericImageNamePNG=image.png +GenericFileName=faidhle +GeolocationInsecureRequestIsForbidden=A Geolocation request can only be fulfilled in a secure context. +NotificationsInsecureRequestIsForbidden=The Notification permission may only be requested in a secure context. +NotificationsCrossOriginIframeRequestIsForbidden=The Notification permission may only be requested in a top-level document or same-origin iframe. +NotificationsRequireUserGesture=The Notification permission may only be requested from inside a short running user-generated event handler. +NotificationsRequireUserGestureDeprecationWarning=Requesting Notification permission outside a short running user-generated event handler is deprecated and will not be supported in the future. +# LOCALIZATION NOTE: Do not translate "content", "Window", and "window.top" +WindowContentUntrustedWarning=The ‘content’ attribute of Window objects is deprecated. Please use ‘window.top’ instead. +# 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=The SVG <%S> with ID “%S” has a reference loop. +# 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=An SVG <%S> reference chain which is too long was abandoned at the element with ID “%S”. +# LOCALIZATION NOTE: Do not translate SVGGraphicsElement.nearestViewportElement or SVGElement.viewportElement. +SVGNearestViewportElement=SVGGraphicsElement.nearestViewportElement is deprecated and will be removed at a future date. Use SVGElement.viewportElement instead. +# LOCALIZATION NOTE: Do not translate SVGGraphicsElement.farthestViewportElement. +SVGFarthestViewportElement=SVGGraphicsElement.farthestViewportElement is deprecated and will be removed at a future date. +# LOCALIZATION NOTE: Do not translate "<script>". +ScriptSourceEmpty=‘%S’ attribute of <script> element is empty. +# LOCALIZATION NOTE: Do not translate "<script>". +ScriptSourceInvalidUri=‘%S’ attribute of <script> element is not a valid URI: “%S” +# LOCALIZATION NOTE: Do not translate "<script>". +ScriptSourceLoadFailed=Loading failed for the <script> with source “%S”. +ModuleSourceLoadFailed=Loading failed for the module with source “%S”. +# LOCALIZATION NOTE: Do not translate "<script>". +ScriptSourceMalformed=<script> source URI is malformed: “%S”. +ModuleSourceMalformed=Module source URI is malformed: “%S”. +# LOCALIZATION NOTE: Do not translate "<script>". +ScriptSourceNotAllowed=<script> source URI is not allowed in this document: “%S”. +ModuleSourceNotAllowed=Module source URI is not allowed in this document: “%S”. +WebExtContentScriptModuleSourceNotAllowed=WebExtension content scripts may only load modules with moz-extension URLs and not: “%S”. +ModuleResolveFailureNoWarn=Error resolving module specifier “%S”. +ModuleResolveFailureWarnRelative=Error resolving module specifier “%S”. Relative module specifiers must start with “./”, “../” or “/”. +ImportMapInvalidTopLevelKey=An invalid top-level key “%S” was present in the import map. +ImportMapEmptySpecifierKeys=Specifier keys cannot be empty strings. +ImportMapAddressesNotStrings=Addresses need to be strings. +ImportMapInvalidAddress=Address “%S” was invalid. +# %1$S is the specifier key, %2$S is the URL. +ImportMapAddressNotEndsWithSlash=An invalid address was given for the specifier key “%1$S”; since “%1$S” ended in a slash, the address “%2$S” needs to as well. +ImportMapScopePrefixNotParseable=The scope prefix URL “%S” was not parseable. +ImportMapResolutionBlockedByNullEntry=Resolution of specifier “%S” was blocked by a null entry. +ImportMapResolutionBlockedByAfterPrefix=Resolution of specifier “%S” was blocked since the substring after prefix could not be parsed as a URL relative to the address in the import map. +ImportMapResolutionBlockedByBacktrackingPrefix=Resolution of specifier “%S” was blocked since the parsed URL does not start with the address in the import map. +ImportMapResolveInvalidBareSpecifierWarnRelative=The specifier “%S” was a bare specifier, but was not remapped to anything. Relative module specifiers must start with “./”, “../” or “/”. +# LOCALIZATION NOTE: Do not translate "<script type='importmap'>", "src". +ImportMapExternalNotSupported=External import maps are not supported: <script type='importmap'> with a src attribute is currently not supported. +ImportMapNotAllowedMultiple=Multiple import maps are not allowed. +ImportMapNotAllowedAfterModuleLoad=Import maps are not allowed after a module load or preload has started. +# LOCALIZATION NOTE: %1$S is the invalid property value and %2$S is the property name. +InvalidKeyframePropertyValue=Keyframe property value “%1$S” is invalid according to the syntax for “%2$S”. +# LOCALIZATION NOTE: Do not translate "ReadableStream". +ReadableStreamReadingFailed=Failed to read data from the ReadableStream: “%S”. +# LOCALIZATION NOTE: Do not translate "registerProtocolHandler" +RegisterProtocolHandlerPrivateBrowsingWarning=Can’t use registerProtocolHandler inside private browsing mode. +MotionEventWarning=Use of the motion sensor is deprecated. +OrientationEventWarning=Use of the orientation sensor is deprecated. +ProximityEventWarning=Use of the proximity sensor is deprecated. +AmbientLightEventWarning=Use of the ambient light sensor is deprecated. +UnsupportedEntryTypesIgnored=Ignoring unsupported entryTypes: %S. +AllEntryTypesIgnored=No valid entryTypes; aborting registration. +# LOCALIZATION NOTE: do not localize key=“%S” modifiers=“%S” id=“%S” +GTK2Conflict2=Key event not available on GTK2: key=“%S” modifiers=“%S” id=“%S” +WinConflict2=Key event not available on some keyboard layouts: key=“%S” modifiers=“%S” id=“%S” +# LOCALIZATION NOTE: do not trnaslated "document.domain" +DocumentSetDomainNotAllowedWarning=Setting document.domain in a cross-origin isolated environment is not allowed. + +#LOCALIZATION NOTE(DeprecatedTestingInterfaceWarning): Do not translate this message. It's just testing only. +DeprecatedTestingInterfaceWarning=TestingDeprecatedInterface is a testing-only interface and this is its testing deprecation message. +#LOCALIZATION NOTE(DeprecatedTestingMethodWarning): Do not translate this message. It's just testing only. +DeprecatedTestingMethodWarning=TestingDeprecatedInterface.deprecatedMethod() is a testing-only method and this is its testing deprecation message. +#LOCALIZATION NOTE(DeprecatedTestingAttributeWarning): Do not translate this message. It's just testing only. +DeprecatedTestingAttributeWarning=TestingDeprecatedInterface.deprecatedAttribute is a testing-only attribute and this is its testing deprecation message. +# LOCALIZATION NOTE (CreateImageBitmapCanvasRenderingContext2DWarning): Do not translate CanvasRenderingContext2D and createImageBitmap. +CreateImageBitmapCanvasRenderingContext2DWarning=Use of CanvasRenderingContext2D in createImageBitmap is deprecated. + +# LOCALIZATION NOTE (DrawWindowCanvasRenderingContext2DWarning): Do not translate CanvasRenderingContext2D, drawWindow and tabs.captureTab. +DrawWindowCanvasRenderingContext2DWarning=Use of drawWindow method from CanvasRenderingContext2D is deprecated. Use tabs.captureTab extensions API instead https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/tabs/captureTab + +# LOCALIZATION NOTE (MozRequestFullScreenDeprecatedPrefixWarning): Do not translate mozRequestFullScreen. +MozRequestFullScreenDeprecatedPrefixWarning=mozRequestFullScreen() is deprecated. +# LOCALIZATION NOTE (MozfullscreenchangeDeprecatedPrefixWarning): Do not translate onmozfullscreenchange. +MozfullscreenchangeDeprecatedPrefixWarning=onmozfullscreenchange is deprecated. +# LOCALIZATION NOTE (MozfullscreenerrorDeprecatedPrefixWarning): Do not translate onmozfullscreenerror. +MozfullscreenerrorDeprecatedPrefixWarning=onmozfullscreenerror is deprecated. +# LOCALIZATION NOTE(External_AddSearchProviderWarning): Do not translate AddSearchProvider. +External_AddSearchProviderWarning=AddSearchProvider is deprecated. +# LOCALIZATION NOTE: Do not translate "MouseEvent.mozPressure" and "PointerEvent.pressure". +MouseEvent_MozPressureWarning=MouseEvent.mozPressure is deprecated. Use PointerEvent.pressure instead. +# LOCALIZATION NOTE: Do not translate small, normal, big and mathsize. +MathML_DeprecatedMathSizeValueWarning=“small”, “normal” and “big” are deprecated values for the mathsize attribute and will be removed at a future date. +# LOCALIZATION NOTE: Do not translate veryverythinmathspace, verythinmathspace, +# thinmathspace, mediummathspace, thickmathspace, verythickmathspace, veryverythickmathspace and MathML. +MathML_DeprecatedMathSpaceValueWarning=“veryverythinmathspace”, “verythinmathspace”, “thinmathspace”, “mediummathspace”, “thickmathspace”, “verythickmathspace” and “veryverythickmathspace” are deprecated values for MathML lengths and will be removed at a future date. +# LOCALIZATION NOTE: Do not translate MathML, background, color, fontfamily, fontsize, fontstyle and fontweight. +MathML_DeprecatedStyleAttributeWarning=MathML attributes “background”, “color”, “fontfamily”, “fontsize”, “fontstyle” and “fontweight” are deprecated and will be removed at a future date. +# LOCALIZATION NOTE: Do not translate MathML and STIXGeneral. %S is a documentation URL. +MathML_DeprecatedStixgeneralOperatorStretchingWarning=Support for rendering stretched MathML operators with STIXGeneral fonts is deprecated and may be removed at a future date. For details about newer fonts that will continue to be supported, see %S +# LOCALIZATION NOTE: Do not translate MathML and scriptminsize. +MathML_DeprecatedScriptminsizeAttributeWarning=MathML attribute “scriptminsize” is deprecated and will be removed at a future date. +# LOCALIZATION NOTE: Do not translate MathML and scriptsizemultiplier. +MathML_DeprecatedScriptsizemultiplierAttributeWarning=MathML attribute “scriptsizemultiplier” is deprecated and will be removed at a future date. +FormSubmissionUntrustedEventWarning=Form submission via untrusted submit event is deprecated and will be removed at a future date. +WebShareAPI_Failed=The share operation has failed. +WebShareAPI_Aborted=The share operation was aborted. +# LOCALIZATION NOTE (UnknownProtocolNavigationPrevented): %1$S is the destination URL. +UnknownProtocolNavigationPrevented=Prevented navigation to “%1$S” due to an unknown protocol. +PostMessageSharedMemoryObjectToCrossOriginWarning=Cannot post message containing a shared memory object to a cross-origin window. +# LOCALIZATION NOTE: %S is the URL of the resource in question +UnusedLinkPreloadPending=The resource at “%S” preloaded with link preload was not used within a few seconds. Make sure all attributes of the preload tag are set correctly. + +# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(), iframe, allow-same-origin and sandbox (though you may translate "sandboxed"). +RequestStorageAccessNullPrincipal=document.requestStorageAccess() may not be called on a document with an opaque origin, such as a sandboxed iframe without allow-same-origin in its sandbox attribute. +# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(), iframe, allow-storage-access-by-user-activation and sandbox (though you may translate "sandboxed"). +RequestStorageAccessSandboxed=document.requestStorageAccess() may not be called in a sandboxed iframe without allow-storage-access-by-user-activation in its sandbox attribute. +# LOCALIZATION NOTE: Do not translate document.requestStorageAccess() and iframe. +RequestStorageAccessNested=document.requestStorageAccess() may not be called in a nested iframe. +# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(). In some locales it may be preferable to not translate "event handler", either. +RequestStorageAccessUserGesture=document.requestStorageAccess() may only be requested from inside a short running user-generated event handler. +# LOCALIZATION NOTE: Do not translate "Location" and "History". +LocChangeFloodingPrevented=Too many calls to Location or History APIs within a short timeframe. +FolderUploadPrompt.title = Confirm Upload +# LOCALIZATION NOTE: %S is the name of the folder the user selected in the file picker. +FolderUploadPrompt.message = Are you sure you want to upload all files from “%S”? Only do this if you trust the site. +FolderUploadPrompt.acceptButtonLabel = Upload +InputPickerBlockedNoUserActivation=<input> picker was blocked due to lack of user activation. +ExternalProtocolFrameBlockedNoUserActivation=Iframe with external protocol was blocked due to lack of user activation, or because not enough time has passed since the last such iframe was loaded. +MultiplePopupsBlockedNoUserActivation=Opening multiple popups was blocked due to lack of user activation. +# LOCALIZATION NOTE: %S is the URL of the preload that was ignored. +PreloadIgnoredInvalidAttr=Preload of %S was ignored due to unknown “as” or “type” values, or non-matching “media” attribute. +# LOCALIZATION NOTE: %S is the blob URL. Don't translate "agent cluster". +BlobDifferentClusterError=Cannot access blob URL “%S” from a different agent cluster. +# LOCALIZATION NOTE: Do not translate "Element.setCapture()" and "Element.setPointerCapture()"". +ElementSetCaptureWarning=Element.setCapture() is deprecated. Use Element.setPointerCapture() instead. For more help https://developer.mozilla.org/docs/Web/API/Element/setPointerCapture +# LOCALIZATION NOTE: Do not translate "Element.releaseCapture()" and "Element.releasePointerCapture()". +ElementReleaseCaptureWarning=Element.releaseCapture() is deprecated. Use Element.releasePointerCapture() instead. For more help https://developer.mozilla.org/docs/Web/API/Element/releasePointerCapture +# LOCALIZATION NOTE: Do not translate "Document.releaseCapture()" and "Element.releasePointerCapture()". +DocumentReleaseCaptureWarning=Document.releaseCapture() is deprecated. Use Element.releasePointerCapture() instead. For more help https://developer.mozilla.org/docs/Web/API/Element/releasePointerCapture + +# LOCALIZATION NOTE: Don't translate browser.runtime.lastError, %S is the error message from the unchecked value set on browser.runtime.lastError. +WebExtensionUncheckedLastError=browser.runtime.lastError value was not checked: %S + +# LOCALIZATION NOTE: Do not translate "OffscreenCanvas.toBlob()" and "OffscreenCanvas.convertToBlob()". +OffscreenCanvasToBlobWarning=OffscreenCanvas.toBlob() is deprecated. Use OffscreenCanvas.convertToBlob() instead. + +# LOCALIZATION NOTE: Do not translate "InstallTrigger" +InstallTriggerDeprecatedWarning=InstallTrigger is deprecated and will be removed in the future. +# LOCALIZATION NOTE: Do not translate "InstallTrigger.install()" +InstallTriggerInstallDeprecatedWarning=InstallTrigger.install() is deprecated and will be removed in the future. For more help https://extensionworkshop.com/documentation/publish/self-distribution/ + +# LOCALIZATION NOTE: Do not translate "HTMLOptionsCollection.length". %1$S is the invalid value, %2$S is the current limit. +SelectOptionsLengthAssignmentWarning=Refused to expand <select> option list via assignment to HTMLOptionsCollection.length (value %1$S). The maximum supported size is %2$S. + diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/extensions.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/extensions.properties new file mode 100644 index 0000000000000000000000000000000000000000..1df7beac950f6a916465dd8ef29b7b9fc49eda50 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/extensions.properties @@ -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/. + +#LOCALIZATION NOTE (uninstall.confirmation.title) %S is the name of the extension which is about to be uninstalled. +uninstall.confirmation.title = Dì-stàlaich %S + +#LOCALIZATION NOTE (uninstall.confirmation.message) %S is the name of the extension which is about to be uninstalled. +uninstall.confirmation.message = Tha an leudachan “%S” ag iarraidh ort gun dì-stàlaich thu e. Dè bu toigh leat dèanamh? + +uninstall.confirmation.button-0.label = Dì-stàlaich +uninstall.confirmation.button-1.label = Cum stàlaichte e + +saveaspdf.saveasdialog.title = Sàbhail mar + +#LOCALIZATION NOTE (newTabControlled.message2) %S is the icon and name of the extension which updated the New Tab page. +newTabControlled.message2 = Dh’atharraich leudachan, %S, an duilleag a chì thu nuair a dh’fhosglas tu taba ùr. +newTabControlled.learnMore = Barrachd fiosrachaidh + +#LOCALIZATION NOTE (homepageControlled.message) %S is the icon and name of the extension which updated the homepage. +homepageControlled.message = Dh’atharraich leudachan, %S, na chì thu nuair a dh’fhosglas tu an duilleag-dhachaigh agad no uinneagan ùra. +homepageControlled.learnMore = Barrachd fiosrachaidh + +#LOCALIZATION NOTE (tabHideControlled.message) %1$S is the icon and name of the extension which hid tabs, %2$S is the icon of the all tabs button. +tabHideControlled.message = Tha leudachan, %1$S, a’ cur am falach cuid dhe na tabaichean agad. Gheibh thu cothrom air na tabaichean air fad agad o %2$S fhathast. +tabHideControlled.learnMore = Barrachd fiosrachaidh diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/fallbackMenubar.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/fallbackMenubar.properties new file mode 100644 index 0000000000000000000000000000000000000000..f4fa9d9801c719d4b0090fb12226b0deaa2455dc --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/fallbackMenubar.properties @@ -0,0 +1,8 @@ +# 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/. + +# OSX only. Default menu label when there is no xul menubar. + +quitMenuitem.label=Fàg an-seo +quitMenuitem.key=q diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/filepicker.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/filepicker.properties new file mode 100644 index 0000000000000000000000000000000000000000..370624c3b9279ea7f4bc96fa285e9d179ee5b75a --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/filepicker.properties @@ -0,0 +1,18 @@ +# 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/. + +# LOCALIZATION NOTE: The extensions to which these descriptions refer +# now live in toolkit/content/filepicker.properties +allTitle=A h-uile faidhle +htmlTitle=Faidhlichean HTML +textTitle=Faidhlichean teacsa +imageTitle=Faidhlichean deilbh +xmlTitle=Faidhlichean XML +xulTitle=Faidhlichean XUL +appsTitle=Aplacaidean +audioTitle=Faidhlichean fuaime +videoTitle=Faidhlichean video + +formatLabel=Fòrmataich: +selectedFileNotReadableError=Chan eil cead-leughaidh aig an fhaidhle a thagh thu diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/global-strres.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/global-strres.properties new file mode 100644 index 0000000000000000000000000000000000000000..450a051d7c3f9d105789edee128c3f43bfe8550d --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/global-strres.properties @@ -0,0 +1,5 @@ +# 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/. + +16389=Thachair mearachd neo-aithnichte (%1$S) diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/intl.css b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/intl.css new file mode 100644 index 0000000000000000000000000000000000000000..0221f963e105f09fe0de20b7dca464cfde5d21fd --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/intl.css @@ -0,0 +1,7 @@ +/* + * This file contains all localizable skin settings such as + * font, layout, and geometry + */ +window { + font: 3mm tahoma,arial,helvetica,sans-serif; +} diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/intl.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/intl.properties new file mode 100644 index 0000000000000000000000000000000000000000..58d6bf8f891bbe2fe56510a9b3b7a06c577148f4 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/intl.properties @@ -0,0 +1,43 @@ +# 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/. + +# LOCALIZATION NOTE (intl.accept_languages): +# This is a comma-separated list of valid BCP 47 language tags. +# +# Begin with the value of 'general.useragent.locale'. Next, include language +# tags for other languages that you expect most users of your locale to be +# able to speak, so that their browsing experience degrades gracefully if +# content is not available in their primary language. +# +# It is recommended that you include "en-US, en" at the end of the list as a +# last resort. However, if you know that users of your locale would prefer a +# different variety of English, or if they are not likely to understand +# English at all, you may opt to include a different English language tag, or +# to exclude English altogether. +# +# For example, the Breton [br] locale might consider including French and +# British English in their list, since those languages are commonly spoken in +# the same area as Breton: +# intl.accept_languages=br, fr-FR, fr, en-GB, en +intl.accept_languages=gd-gb, gd, en-gb, en-us, en + +# LOCALIZATION NOTE (font.language.group): +# This preference controls the initial setting of the language drop-down menu +# in the Content > Fonts & Colors > Advanced preference panel. +# +# Set it to the value of one of the menuitems in the "selectLangs" menulist in +# http://dxr.mozilla.org/mozilla-central/source/browser/components/preferences/fonts.xul +font.language.group=x-western + +# LOCALIZATION NOTE (pluralRule): Pick the appropriate plural rule for your +# language. This will determine how many plural forms of a word you will need +# to provide and in what order. +# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals +pluralRule=4 + +# LOCALIZATION NOTE (intl.menuitems.alwaysappendaccesskeys, intl.menuitems.insertseparatorbeforeaccesskeys): +# Valid values are: true, false, <empty string> +# Missing preference or empty value equals false. +intl.menuitems.alwaysappendaccesskeys= +intl.menuitems.insertseparatorbeforeaccesskeys=true diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/keys.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/keys.properties new file mode 100644 index 0000000000000000000000000000000000000000..17c1399955dbc9b1f098699269918cdabc4b3fb6 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/keys.properties @@ -0,0 +1,78 @@ +# 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/. + +# LOCALIZATION NOTE : FILE This file contains the application's labels for keys on the keyboard. +# If you decide to translate this file, you should translate it based on +# the prevelant kind of keyboard for your target user. +# LOCALIZATION NOTE : There are two types of keys, those w/ text on their labels +# and those w/ glyphs. +# LOCALIZATION NOTE : VK_<…> represents a key on the keyboard. +# +# For more information please see bugzilla bug 90888. + +# LOCALIZATION NOTE : FILE This file contains the application's labels for keys on the keyboard. +# If you decide to translate this file, you should translate it based on +# the prevalent kind of keyboard for your target user. +# LOCALIZATION NOTE : There are two types of keys, those w/ text on their labels +# and those w/ glyphs. +# LOCALIZATION NOTE : VK_<…> represents a key on the keyboard. +# +# For more information please see bugzilla bug 90888. + +# F1..F10 should probably not be translated unless there are keyboards that actually have other labels +# F11..F20 might be something else, but are really keyboard specific and not region/language specific +# there are actually two different F11/F12 keys, I don't know which one these labels represent. +# eg, F13..F20 on a sparc keyboard are labeled Props, Again .. Find, Cut +# sparc also has Stop, Again and F11/F12. VK_F11/VK_F12 probably map to Stop/Again +# LOCALIZATION NOTE : BLOCK Do not translate the next block +VK_F1=F1 +VK_F2=F2 +VK_F3=F3 +VK_F4=F4 +VK_F5=F5 +VK_F6=F6 +VK_F7=F7 +VK_F8=F8 +VK_F9=F9 +VK_F10=F10 + +VK_F11=F11 +VK_F12=F12 +VK_F13=F13 +VK_F14=F14 +VK_F15=F15 +VK_F16=F16 +VK_F17=F17 +VK_F18=F18 +VK_F19=F19 +VK_F20=F20 +# LOCALIZATION NOTE : BLOCK end do not translate block + +# LOCALIZATION NOTE : BLOCK GLYPHS, DO translate this block +VK_UP=Saighead suas +VK_DOWN=Saighead sìos +VK_LEFT=Saighead chlì +VK_RIGHT=Saighead dheis +VK_PAGE_UP=Duilleag suas +VK_PAGE_DOWN=Duilleag sìos +# LOCALIZATION NOTE : BLOCK end GLYPHS + +# Enter, backspace, and Tab might have both glyphs and text +# if the keyboards usually have a glyph, +# if there is a meaningful translation, +# or if keyboards are localized +# then translate them or insert the appropriate glyph +# otherwise you should probably just translate the glyph regions + +VK_TAB=Tab +VK_BACK=Backspace +VK_DELETE=Del +# LOCALIZATION NOTE : BLOCK end maybe GLYPHS +# LOCALIZATION NOTE : BLOCK typing state keys +VK_HOME=Home +VK_END=End + +VK_ESCAPE=Esc +VK_INSERT=Ins +# LOCALIZATION NOTE : BLOCK end diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/layout/HtmlForm.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/layout/HtmlForm.properties new file mode 100644 index 0000000000000000000000000000000000000000..5aa6e4d4ed509730b4be843e5f03667d1d998f57 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/layout/HtmlForm.properties @@ -0,0 +1,35 @@ +# 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/. + +Reset=Ath-shuidhich +Submit=Cuir iarrtas +Browse=Brabhsaich… +FileUpload=Luchdaich suas faidhle +DirectoryUpload=Tagh pasgan a thèid a luchdadh suas +DirectoryPickerOkButtonLabel=Luchdaich suas +ForgotPostWarning=Tha "enctype=%S" san fhoirm ach chan eil "method=post" ann. Thèid a chur air adhart le "method=GET" àbhaisteach is gun "enctype" 'na àite. +ForgotFileEnctypeWarning=Tha steach-chur faidhle san fhoirm ach tha "method=POST" agus "enctype=multipart/form-data" a dhìth. Cha dèid am foirm a chur. +# LOCALIZATION NOTE (DefaultFormSubject): %S will be replaced with brandShortName +DefaultFormSubject=Foirm a fhuaradh o %S +CannotEncodeAllUnicode=Chaidh foirm a chur sa chòdachadh %S agus cha ghlèidh sin gach caractar Unicode agus faodaidh gum bi teacsa a chuireas daoine a-steach 'na bhrochan. Gus nach tachair seo, bu chòir gun dèid an duilleag seo atharrachadh gus an cuir e foirmean sa chòdachadh UTF-8 le bhith ag atharrachadh còdachadh na duilleige fhèin ann an UTF-8 no le bhith a' sònrachadh accept-charset=utf-8 ann an eileamaid an fhoirm. +AllSupportedTypes=Gach seòrsa ris a bheil taic +# LOCALIZATION NOTE (NoFileSelected): this string is shown on a +# <input type='file'> when there is no file selected yet. +NoFileSelected=Cha deach faidhle a thaghadh. +# LOCALIZATION NOTE (NoFilesSelected): this string is shown on a +# <input type='file' multiple> when there is no file selected yet. +NoFilesSelected=Cha deach faidhle sam bith a thaghadh. +# LOCALIZATION NOTE (NoDirSelected): this string is shown on a +# <input type='file' directory/webkitdirectory> when there is no directory +# selected yet. +NoDirSelected=Cha deach pasgan a thaghadh. +# LOCALIZATION NOTE (XFilesSelected): this string is shown on a +# <input type='file' multiple> when there are more than one selected file. +# %S will be a number greater or equal to 2. +XFilesSelected=Chaidh %S faidhlichean a thaghadh. +ColorPicker=Tagh dath +# LOCALIZATION NOTE (DefaultSummary): this string is shown on a <details> when +# it has no direct <summary> child. Google Chrome should already have this +# string translated. +DefaultSummary=Mion-fhiosrachadh diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/layout/MediaDocument.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/layout/MediaDocument.properties new file mode 100644 index 0000000000000000000000000000000000000000..50269c8dcd78a9acf05effb61b185defad2ff22a --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/layout/MediaDocument.properties @@ -0,0 +1,22 @@ +# 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/. + +#LOCALIZATION NOTE (ImageTitleWithDimensions2AndFile): first %S is filename, second %S is type, third %S is width and fourth %S is height +#LOCALIZATION NOTE (ImageTitleWithoutDimensions): first %S is filename, second %S is type +#LOCALIZATION NOTE (ImageTitleWithDimensions2): first %S is type, second %S is width and third %S is height +#LOCALIZATION NOTE (ImageTitleWithNeitherDimensionsNorFile): first %S is type +#LOCALIZATION NOTE (MediaTitleWithFile): first %S is filename, second %S is type +#LOCALIZATION NOTE (MediaTitleWithNoInfo): first %S is type +ImageTitleWithDimensions2AndFile=%S (Dealbh %S, %S x %S pixel) +ImageTitleWithoutDimensions=%S (Dealbh %S) +ImageTitleWithDimensions2=(Dealbh %S, %Sx%S pixel) +ImageTitleWithNeitherDimensionsNorFile=(Dealbh %S) +MediaTitleWithFile=%S (Oibseact %S) +MediaTitleWithNoInfo=(Oibseact %S) + +InvalidImage=Cha ghabh an dealbh “%S” a shealltainn a chionn 's gu bheil mearachdan ann. +UnsupportedImage=The image “%S” cannot be displayed because it requires unsupported features. +ScaledImage=Air a sgèileadh (%S%%) + +TitleWithStatus=%S - %S diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/layout/htmlparser.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/layout/htmlparser.properties new file mode 100644 index 0000000000000000000000000000000000000000..2b1a20c3a373d8c4b606bbdd7c57347634e60048 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/layout/htmlparser.properties @@ -0,0 +1,144 @@ +# 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/. + +# Encoding warnings and errors +EncNoDeclarationFrame=Cha deach còdachadh charactaran aig sgrìobhainn fhrèamte a mhìneachadh. Faodaidh gum bi dreach eile air an sgrìobhainn ma choimheadas tu air ais aonais na sgrìobhainne mun cuairt air mar fhrèam. +EncXmlDecl=The character encoding of an HTML document was declared using the XML declaration syntax. This is non-conforming, and declaring the encoding using a meta tag at the start of the head part is more efficient. +EncMetaTooLate=A meta tag attempting to declare the character encoding declaration was found too late, and the encoding was guessed from content instead. The meta tag needs to be moved to the start of the head part of the document. +EncMetaTooLateFrame=A meta tag attempting to declare the character encoding declaration was found too late, and the encoding of the parent document was used instead. The meta tag needs to be moved to the start of the head part of the document. +EncMetaAfterHeadInKilobyte=The meta tag declaring the character encoding of the document should be moved to start of the head part of the document. +EncNoDecl=The character encoding of the document was not declared, so the encoding was guessed from content. The character encoding needs to be declared in the Content-Type HTTP header, using a meta tag, or using a byte order mark. +EncNoDeclPlain=The character encoding of the document was not declared, so the encoding was guessed from content. The character encoding needs to be declared in the Content-Type HTTP header or using a byte order mark. +EncMetaUnsupported=Chaidh còdachadh charactaran a mhìneachadh airson na sgrìobhainn HTML le taga meta nach eil taic ann ris. Chaidh am foirgheall a leigeil seachad. +EncProtocolUnsupported=Chaidh còdachadh charactaran a mhìneachadh aig ìre pròtacal an tar-chuir. Chaidh am foirgheall a leigeil seachad. +EncMetaUtf16=Chaidh taga meta a chleachdadh gus an còdachadh a chomharradh mar UTF-16. Chaidh seo a leughadh mar fhoirgheall UTF-8 'na àite. +EncMetaUserDefined=A meta tag was used to declare the character encoding as x-user-defined. This was interpreted as a windows-1252 declaration instead for compatibility with intentionally mis-encoded legacy fonts. This site should migrate to Unicode. +EncMetaReplacement=A meta tag was used to declare an encoding that is a cross-site scripting hazard. The replacement encoding was used instead. +EncProtocolReplacement=An encoding that is a cross-site scripting hazard was declared on the transfer protocol level. The replacement encoding was used instead. +EncDetectorReload=The character encoding of the document was not declared, and the encoding was guessable from content only late. This caused the document to be reloaded. The character encoding needs to be declared in the Content-Type HTTP header, using a meta tag, or using a byte order mark. +EncDetectorReloadPlain=The character encoding of the document was not declared, and the encoding was guessable from content only late. This caused the document to be reloaded. The character encoding needs to be declared in the Content-Type HTTP header or using a byte order mark. +EncError=The byte stream was erroneous according to the character encoding that was declared. The character encoding declaration may be incorrect. +EncErrorFrame=The byte stream was erroneous according to the character encoding that was inherited from the parent document. The character encoding needs to be declared in the Content-Type HTTP header, using a meta tag, or using a byte order mark. +EncErrorFramePlain=The byte stream was erroneous according to the character encoding that was inherited from the parent document. The character encoding needs to be declared in the Content-Type HTTP header or using a byte order mark. +EncSpeculationFailMeta=The start of the document was reparsed, because there were non-ASCII characters before the meta tag that declared the encoding. The meta should be the first child of head without non-ASCII comments before. +EncSpeculationFailXml=The start of the document was reparsed, because there were non-ASCII characters in the part of the document that was unsuccessfully searched for a meta tag before falling back to the XML declaration syntax. A meta tag at the start of the head part should be used instead of the XML declaration syntax. +# The audience of the following message isn't the author of the document but other people debugging browser behavior. +EncSpeculationFail2022=The start of the document was reparsed, because ISO-2022-JP is an ASCII-incompatible encoding. + +# The bulk of the messages below are derived from +# https://hg.mozilla.org/projects/htmlparser/file/1f633cef7de7/src/nu/validator/htmlparser/impl/ErrorReportingTokenizer.java +# which is available under the MIT license. + +# Tokenizer errors +errGarbageAfterLtSlash=Sgudal an dèidh “</”. +errLtSlashGt=Chunnacas “</>”. Adhbharan coitcheann: Unescaped “<” (escape mar “<”) taga deireannach air a dhroch litreachadh. +errCharRefLacksSemicolon=Chan eil leth-chòilean a' crìochnachadh iomradh a' charactair. +errNoDigitsInNCR=Gun àireamhan san iomradh charactair àireamhach. +errGtInSystemId=“>” san aithnichear siostaim. +errGtInPublicId=“>” san aithnichear phoblach. +errNamelessDoctype=Doctype gun ainm. +errConsecutiveHyphens=Cha robh dà thàthan a' cur crìoch air a' bheachd. Chan eil "--" ceadaichte am broinn beachd achd tha "- -" ceadaichte, mar eisimpleir. +errPrematureEndOfComment=Thàinig beachd gu crìoch ro thràth. Cleachd “-->” gus crìoch chòir a chur air beachd. +errBogusComment=Beachd breugach. +errUnquotedAttributeLt=Tha "<" ann an luach buadha gun chomharran-labhairt. Adhbharan coitcheann: ">" a dhìth dìreach air a bheulaibh. +errUnquotedAttributeGrave=Tha “`” ann an luach buadha gun chomharran-labhairt. Adhbharan coitcheann: Ma chleachd thu an caractar cearr airson comharra-labhairt. +errUnquotedAttributeQuote=Comharra-labhairt ann an luach buadha gun iomradh. Adhbharan coitcheann: Buadhan a tha a' dol a-steach air a chèile no sreath iarrtas URL ann an luach buadha gun chomharran-labhairt. +errUnquotedAttributeEquals=“=” ann an luach buadha gun chomharran-labhairt. Adhbharan coitcheann: Buadhan a tha a' dol a-steach air a chèile no sreath iarrtas URL ann an luach buadha gun chomharran-labhairt. +errSlashNotFollowedByGt=Cha robh “>” dìreach air cùlaibh slaise. +errNoSpaceBetweenAttributes=Chan eil àite bàn eadar na buadhan. +errUnquotedAttributeStartLt=Tha "<" aig toiseach luach buadha gun chomharran-labhairt. Adhbharan coitcheann: ">" a dhìth dìreach air a bheulaibh. +errUnquotedAttributeStartGrave=Tha “`” aig toiseach luach buadha gun chomharran-labhairt. Adhbharan coitcheann: Ma chleachd thu an caractar cearr airson comharra-labhairt. +errUnquotedAttributeStartEquals=Tha “=” aig toiseach luach buadha gun chomharran-labhairt. Adhbharan coitcheann: Comharra co-ionnannachd dùbailte air seachran. +errAttributeValueMissing=Tha luach buadha a dhìth. +errBadCharBeforeAttributeNameLt=Chunnacas “<” nuair a bha dùil ri ainm buadha. Adhbharan coitcheann: ">" a dhìth dìreach air a bheulaibh. +errEqualsSignBeforeAttributeName=Chunnacas “=” nuair a bha dùil ri ainm buadha. Adhbharan coitcheann: Ainm buadha a tha a dhìth. +errBadCharAfterLt=Droch charactar an dèidh “<”. Adhbharan coitcheann: Unescaped “<”. Feuch is escape e mar “<”. +errLtGt=Chunnacas “<>”. Adhbharan coitcheann: Unescaped “<” (escape mar “<”) taga tòiseachaidh air a dhroch litreachadh. +errProcessingInstruction=Chunnacas “<?”. Adhbharan coitcheann: Dh'fheuch thu ri àithne pròiseasaidh XML a chleachdadh ann an HTML. (Chan eil taic ri àitheantan pròiseasaidh XML ann an HTML.) +errUnescapedAmpersandInterpretedAsCharacterReference=Chaidh an sreath air cùlaibh “&” a leughadh mar iomradh caractair. ('S mathaid gum bu chòir dhut “&” escape-igeadh mar “&”.) +errNotSemicolonTerminated=Cha deach iomradh caractair ainmichte a chrìochnachadh le leth-chòilean. (No 's mathaid gum bu chòir dhut “&” escape-igeadh mar “&”.) +errNoNamedCharacterMatch=Cha robh “&” a' tòiseachadh iomradh caractair. ('S mathaid gum bu chòir dhut “&” escape-igeadh mar “&”.) +errQuoteBeforeAttributeName=Chunnacas comharra-labhairt nuair a bha dùil ri ainm buadha. Adhbharan coitcheann: “=” a dhìth dìreach air a bheulaibh. +errLtInAttributeName=Tha “<” ann an ainm buadha. Adhbharan coitcheann: “>” a dhìth dìreach air a bheulaibh. +errQuoteInAttributeName=Comharra-labhairt ann an ainm buadha. Adhbharan coitcheann: Comharra-labhairt a tha a dhìth am badeigin roimhe sin. +errExpectedPublicId=Bha dùil ri aithnichear poblach ach thàinig an doctype gu crìoch. +errBogusDoctype=Doctype breugach. +maybeErrAttributesOnEndTag=Tha buadhan aig an taga chrìochnachaidh. +maybeErrSlashInEndTag=Tha “/” seachrain aig deireadh an taga deireannaich. +errNcrNonCharacter=Tha iomradh caractair 'ga leudachadh gu neo-charactar. +errNcrSurrogate=Tha iomradh caractair 'ga leudachadh gu ionadair. +errNcrControlChar=Tha iomradh caractair 'ga leudachadh gu caractar-smachd. +errNcrCr=Leudaich iomradh caractair àireamhach gu carriage return. +errNcrInC1Range=Leudaich iomradh caractair àireamhach gun rainse smachd C1. +errEofInPublicId=Tha deireadh an fhaidhle am broinn aithnicheir phoblaich. +errEofInComment=Tha deireadh an fhaidhle am broinn beachd. +errEofInDoctype=Tha deireadh an fhaidhle am broinn doctype. +errEofInAttributeValue=Ràinigeadh deireadh an fhaidhle am broinn luach buadha. A' leigeil seachad an taga. +errEofInAttributeName=Ràinigeadh deireadh an fhaidhle am broinn ainm buadha. A' leigeil seachad an taga. +errEofWithoutGt=Chunnacas deireadh faidhle agus an taga roimhe gun “>” aig a dheireadh. A' leigeil seachad an taga. +errEofInTagName=Chunnacas deireadh faidhle nuair a bhathar an dùil ri ainm taga. A' leigeil seachad an taga. +errEofInEndTag=Deireadh faidhle am broinn taga deireannaich. A' leigeil seachad an taga. +errEofAfterLt=Deireadh faidhle an dèidh “<”. +errNcrOutOfRange=Iomradh caractair taobh a-muigh na rainse Unicode a tha ceadaichte. +errNcrUnassigned=Tha iomradh caractair 'ga leudachadh gu puing còd a tha gun sònrachadh gu buan. +errDuplicateAttribute=Buadh dùbailte. +errEofInSystemId=Tha deireadh an fhaidhle am broinn aithnicheir siostaim. +errExpectedSystemId=Bha dùil ri aithnichear siostaim ach thàinig an doctype gu crìoch. +errMissingSpaceBeforeDoctypeName=Àite bàn a dhìth ro ainm an doctype. +errNestedComment=Saw “<!--” within a comment. Probable cause: Nested comment (not allowed). +errNcrZero=Tha iomradh caractair 'ga leudachadh gu neoini. +errNoSpaceBetweenDoctypeSystemKeywordAndQuote=Chan eil àite eadar facal-luirg an doctype “SYSTEM” agus an t-iomradh. +errNoSpaceBetweenPublicAndSystemIds=Chan eil àite eadar an doctype poblach agus aithnichearan an t-siostaim. +errNoSpaceBetweenDoctypePublicKeywordAndQuote=Chan eil àite eadar facal-luirg an doctype “PUBLIC” agus an t-iomradh. + +# Tree builder errors +errDeepTree=The document tree is too deep. The tree will be flattened to be 513 elements deep. +errStrayStartTag2=Taga tòiseachaidh air seachran “%1$S”. +errStrayEndTag=Taga crìochnachaidh air seachran “%1$S”. +errUnclosedElements=Chunnacas taga crìochnachaidh “%1$S” ach bha eileamaidean fosgailte ann. +errUnclosedElementsImplied=Tha taga ri chrìochnachaidh “%1$S” a-rèir coltais ach bha eileamaidean fosgailte ann. +errUnclosedElementsCell=Tha cealla clàir ri dhùnadh a-rèir coltais ach bha eileamaidean fosgailte ann. +errStrayDoctype=Doctype air seachran. +errAlmostStandardsDoctype=Standards mode doctype, cha mhòr. Bha dùil ri “<!DOCTYPE html>”. +errQuirkyDoctype=Quirky doctype. Bha dùil ri “<!DOCTYPE html>”. +errAlmostStandardsDoctypeVerbose=This page is in Almost Standards Mode. Page layout may be impacted. For Standards Mode use “<!DOCTYPE html>”. +errQuirkyDoctypeVerbose=This page is in Quirks Mode. Page layout may be impacted. For Standards Mode use “<!DOCTYPE html>”. +errNonSpaceInTrailer=Caractar non-space ann an trailer duilleige. +errNonSpaceAfterFrameset=Non-space an dèidh “frameset”. +errNonSpaceInFrameset=Non-space ann am “frameset”. +errNonSpaceAfterBody=Caractar non-space an dèidh na bodhaige. +errNonSpaceInColgroupInFragment=Non-space ann an “colgroup” nuair a bhathar a' parsadh bloigh. +errNonSpaceInNoscriptInHead=Caractar non-space am broinn “noscript” am broinn “head”. +errFooBetweenHeadAndBody=Eileamaid “%1$S” eadar “head” agus “body”. +errStartTagWithoutDoctype=Chunnacas taga tòiseachaidh gun doctype air thoiseach air. Bha dùil ri “<!DOCTYPE html>”. +errNoSelectInTableScope=Chan eil “select” ann an sgòp a' chlàir. +errStartSelectWhereEndSelectExpected=Taga tòiseachaidh “select” nuair a bha dùil ri taga crìochnachaidh. +errStartTagWithSelectOpen=Taga tòiseachaidh “%1$S” le “select” fosgailte. +errBadStartTagInNoscriptInHead=Bad start tag “%1$S” in “noscript” in “head”. +errImage=Chunnacas taga tòiseachaidh “image”. +errFooSeenWhenFooOpen2=Start tag “%1$S” seen but an element of the same type was already open. +errHeadingWhenHeadingOpen=Chan fhaod an ceann-sgrìobhadh a bhith 'na chlann aig ceann-sgrìobhadh eile. +errFramesetStart=Chunnacas taga tòiseachaidh “frameset”. +errNoCellToClose=Chan eil cealla ri dhùnadh ann. +errStartTagInTable=Chunnacas taga tòiseachaidh “%1$S” ann an “table”. +errFormWhenFormOpen=Chunnacas taga tòiseachaidh “form” ach bha eileamaid “form” gnìomhach ann mu thràth. Chan eil foirmichean neadaichte ceadaichte. A' leigeil seachad an taga. +errTableSeenWhileTableOpen=Chunnacas taga tòiseachaidh airson “table” ach tha an “table” roimhe fosgailte fhathast. +errStartTagInTableBody=Tha taga tòiseachaidh “%1$S” ann am bodhaig a' chlàir. +errEndTagSeenWithoutDoctype=Chunnacas taga crìochnachaidh gun doctype air thoiseach air. Bha dùil ri “<!DOCTYPE html>”. +errEndTagAfterBody=Chunnacas taga crìochnachaidh an dèidh dùnadh na “body”. +errEndTagSeenWithSelectOpen=Taga crìochnachaidh “%1$S” le “select” fosgailte. +errGarbageInColgroup=Sgudal sa bhloigh “colgroup”. +errEndTagBr=Taga crìochnachaidh “br”. +errNoElementToCloseButEndTagSeen=Chan eil eileamaid “%1$S” san sgòp ach chunnacas taga crìochnachaidh “%1$S”. +errHtmlStartTagInForeignContext=Taga tòiseachaidh HTML “%1$S” ann an co-theacs namespace cèin. +errNoTableRowToClose=Chan eil ràgh clàir ann ri dhùnadh. +errNonSpaceInTable=Tha caractaran non-space san àite chearr am broinn clàir. +errUnclosedChildrenInRuby=Tha clann gun dùnadh ann an “ruby”. +errStartTagSeenWithoutRuby=Chunnacas taga tòiseachaidh “%1$S” gun eileamaid “ruby” fosgailte. +errSelfClosing=Chaidh co-chàradh fèin-dùnaidh (“/>”) a chleachdadh air eileamaid HTML nach eil bàn. A' leigeil seachad na slaise agus 'ga làimhseachadh mar thaga tòiseachaidh. +errNoCheckUnclosedElementsOnStack=Eileamaidean gun dùnadh air an staca. +errEndTagDidNotMatchCurrentOpenElement=Cha robh an taga crìochnachaidh “%1$S” a' freagairt ri ainm na h-eileamaid a tha fosgailte an-dràsta (“%2$S”). +errEndTagViolatesNestingRules=Tha an taga crìochnachaidh “%1$S” a' briseadh nan riaghailtean neadachaidh. +errEndWithUnclosedElements=End tag for “%1$S” seen, but there were unclosed elements. +errListUnclosedStartTags=Unclosed element or elements. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/layout/xmlparser.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/layout/xmlparser.properties new file mode 100644 index 0000000000000000000000000000000000000000..5d884dd9560eae3198d7bd712e50cbe3d5587c49 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/layout/xmlparser.properties @@ -0,0 +1,48 @@ +# 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/. + +# Map Expat error codes to error strings +1 = gun chuimhne gu leòr +2 = mearachd co-chàraidh +3 = no root element found +4 = air a dhroch chumadh +5 = tòcan gun dùnadh +6 = caractair neo-iomlan +7 = taga air a dhroch cheangal +8 = buadh dùbailte +9 = sgudal as dèidh eileamaid na sgrìobhainne +10 = iomradh mì-dhligheach air bitheag paramadair +11 = bith gun mhìneachadh +12 = iomradh ath-chùrsach air bith +13 = bith neo-shioncronach +14 = iomradh air àireamh caractair mhì-dhligheach +15 = iomradh air bith chàraideach +16 = iomradh air bith iomallach sa bhuadh +17 = Chan eil foirgheall XML no teacsa aig toiseach na bithe +18 = còdachadh neo-aithnichte +19 = tha an còdachadh a chaidh a shònrachadh san fhoirgheall XML mì-cheart +20 = roinn CDATA gun dùnadh +21 = mearachd ann an làimhseachadh an iomraidh air bith iomallach +22 = cha seas an sgrìobhainn leis fhéin +23 = staid parsair ris nach robh dùil +24 = bith air a nochdadh ann am bith paramadair +27 = chan eil an ro-leasachan co-cheangailte ri spàs ainm +28 = na neo-nochd an ro-leasachan +29 = comharrachadh neo-iomlan ann am bith paramadair +30 = foirgheall XML air a dhroch chumadh +31 = foirgheall teacs air a dhroch chumadh +32 = caractair(ean) mì-dhligheach ann an ID poblach +38 = chan eil e ceadaichte dhan ro-leasachan caomhnaichte (xml) a bhith gun nochdadh no co-cheangailte ri ainm spàs ainm eile +39 = chan eil e ceadaichte dhan ro-leasachan chaomhnaichte (xml) a bhith air a nochdadh no gun nochdadh +40 = chan eil e ceadaichte dhan ro-leasachan a bhith co-cheangailte ri aon dhe na h-ainmean spàs ainm caomhnaichte + +# %1$S is replaced by the Expat error string, may be followed by Expected (see below) +# %2$S is replaced by URL +# %3$u is replaced by line number +# %4$u is replaced by column number +XMLParsingError = Mearachd ann am parsadh XML: %1$S\nÀite: %2$S\nÀireamh na loidhne %3$u, colbh %4$u: + +# %S is replaced by a tag name. +# This gets appended to the error string if the error is mismatched tag. +Expected = . Dùil ri: </%S>. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/layout_errors.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/layout_errors.properties new file mode 100644 index 0000000000000000000000000000000000000000..64923f82ad0d8b909c2c7804d08aab9d7195e802 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/layout_errors.properties @@ -0,0 +1,53 @@ +# 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/. + +ImageMapRectBoundsError=Chan eil am buadh "coords" an taga <area shape="rect"> dhen fhòrmat "clì,barr,deis,bun". +ImageMapCircleWrongNumberOfCoords=Chan eil buadh "coords" an taga <area shape="circle"> dhen fhòrmat "meadhan-x,meadhan-y,gd". +ImageMapCircleNegativeRadius=Tha rèideas àicheil aig buadh "coords" an taga <area shape="circle">. +ImageMapPolyWrongNumberOfCoords=Chan eil buadh "coords" an taga <area shape="poly"> dhen fhòrmat "x1,y1,x2,y2 …". +ImageMapPolyOddNumberOfCoords=Tha "y" deireannach buadh "coords" an taga <area shape="poly"> a dhìth ('s e "x1,y1,x2,y2 …" am fòrmat ceart). + +ScrollLinkedEffectFound3=This site appears to use a scroll-linked positioning effect. This may not work well with asynchronous panning; see https://firefox-source-docs.mozilla.org/performance/scroll-linked_effects.html for further details and to join the discussion on related tools and features! + +## LOCALIZATION NOTE(CompositorAnimationWarningContentTooLargeArea): +## %1$S is an integer value of the area of the frame +## %2$S is an integer value of the area of a limit based on the viewport size +CompositorAnimationWarningContentTooLargeArea=Animation cannot be run on the compositor because the area of the frame (%1$S) is too large relative to the viewport (larger than %2$S) +## LOCALIZATION NOTE(CompositorAnimationWarningContentTooLarge2): +## (%1$S, %2$S) is a pair of integer values of the frame size +## (%3$S, %4$S) is a pair of integer values of a limit based on the viewport size +## (%5$S, %6$S) is a pair of integer values of an absolute limit +CompositorAnimationWarningContentTooLarge2=Animation cannot be run on the compositor because the frame size (%1$S, %2$S) is too large relative to the viewport (larger than (%3$S, %4$S)) or larger than the maximum allowed value (%5$S, %6$S) +## LOCALIZATION NOTE(CompositorAnimationWarningTransformBackfaceVisibilityHidden): +## 'backface-visibility: hidden' is a CSS property, don't translate it. +CompositorAnimationWarningTransformBackfaceVisibilityHidden=Animations of 'backface-visibility: hidden' transforms cannot be run on the compositor +## LOCALIZATION NOTE(CompositorAnimationWarningTransformSVG, +## CompositorAnimationWarningTransformWithGeometricProperties, +## CompositorAnimationWarningTransformWithSyncGeometricAnimations, +## CompositorAnimationWarningTransformFrameInactive, +## CompositorAnimationWarningOpacityFrameInactive): +## 'transform' and 'opacity' mean CSS property names, don't translate it. +CompositorAnimationWarningTransformSVG=Animations of 'transform' on elements with SVG transforms cannot be run on the compositor +CompositorAnimationWarningTransformWithGeometricProperties=Animations of 'transform' cannot be run on the compositor when geometric properties are animated on the same element at the same time +CompositorAnimationWarningTransformWithSyncGeometricAnimations=Animation of ‘transform’ cannot be run on the compositor because it should be synchronized with animations of geometric properties that started at the same time +CompositorAnimationWarningTransformFrameInactive=Animation cannot be run on the compositor because the frame was not marked active for 'transform' animation +CompositorAnimationWarningTransformIsBlockedByImportantRules=Transform animation cannot be run on the compositor because transform-related properties are overridden by !important rules +CompositorAnimationWarningOpacityFrameInactive=Animation cannot be run on the compositor because the frame was not marked active for 'opacity' animation +CompositorAnimationWarningHasRenderingObserver=Animation cannot be run on the compositor because the element has rendering observers (-moz-element or SVG clipping/masking) +CompositorAnimationWarningHasCurrentColor=Animations of ‘background-color’ cannot be run on the compositor with ‘current-color’ keyframe. + +## LOCALIZATION NOTE: Do not translate zoom, calc(), "transform", "transform-origin: 0 0" +ZoomPropertyWarning=This page uses the non standard property “zoom”. Consider using calc() in the relevant property values, or using “transform” along with “transform-origin: 0 0”. + +## LOCALIZATION NOTE(PrincipalWritingModePropagationWarning): +## Do not translate <html>, <body>, CSS, "writing-mode", "direction", "text-orientation", :root, and "The Principal Writing Mode" because they are technical terms. +PrincipalWritingModePropagationWarning=When rendering the <html> element, the used values of CSS properties “writing-mode”, “direction”, and “text-orientation” on the <html> element are taken from the computed values of the <body> element, not from the <html> element’s own values. Consider setting these properties on the :root CSS pseudo-class. For more information see “The Principal Writing Mode” in https://www.w3.org/TR/css-writing-modes-3/#principal-flow + +## LOCALIZATION NOTE(ScrollAnchoringDisabledInContainer): +## %1$S is an integer value with the total number of adjustments +## %2$S is a floating point value with the average distance adjusted +## %3$S is a floating point value with the total adjusted distance +ScrollAnchoringDisabledInContainer=Scroll anchoring was disabled in a scroll container because of too many consecutive adjustments (%1$S) with too little total distance (%2$S px average, %3$S px total). + +ForcedLayoutStart=Layout was forced before the page was fully loaded. If stylesheets are not yet loaded this may cause a flash of unstyled content. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/mathml/mathml.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/mathml/mathml.properties new file mode 100644 index 0000000000000000000000000000000000000000..33409dfc9eca6d526ea5e536d797301546734c5e --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/mathml/mathml.properties @@ -0,0 +1,15 @@ +# 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/. + +InvalidChild=Invalid markup: <%1$S> is not allowed as a child of <%2$S>. +ChildCountIncorrect=Markup mì-dhligheach: Àireamh chearr a chlann airson an taga <%1$S/>. +DuplicateMprescripts=Markup mì-dhligheach: Barrachd air aon <mprescripts/> ann an <mmultiscripts/>. +# LOCALIZATION NOTE: The first child of <mmultiscript/> is the base, that is the element to which scripts are attached. +NoBase=Markup mì-dhligheach: Bha dùil ri dìreach aon eileamaid Base ann an <mmultiscripts/>. Cha deach gin a lorg. +SubSupMismatch=Markup mì-dhligheach: Paidhir fho-sgrìobhte/os-sgrìobhte nach eil iomlan ann an <mmultiscripts/>. + +# LOCALIZATION NOTE: When localizing the single quotes ('), follow the conventions in css.properties for your target locale. +AttributeParsingError=Mearachd a' parsadh an luach "%1$S" airson buadh "%2$S" aig <%3$S/>. Chaidh a bhuadh a leigeil seachad. +AttributeParsingErrorNoTag=Mearachd a' parsadh an luach "%1$S" airson buadh "%2$S". Chaidh a bhuadh a leigeil seachad. +LengthParsingError=Mearachd a' parsadh luach na buaidh MathML "%1$S" mar fhaid. Chaidh a bhuadh a leigeil seachad. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/narrate.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/narrate.properties new file mode 100644 index 0000000000000000000000000000000000000000..7e9f7b6fd35e4446f3fe17be82bce66a00ce9b74 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/narrate.properties @@ -0,0 +1,25 @@ +# 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/. + +# "Listen, which allows users to listen to Firefox reading the text, +# instead of having to read it themselves." This is the name +# of the feature and it is the label for the popup button. +# %S is the keyboard shortcut for the listen command +listen-label = Èist ris (%S) +back = Air ais +# %S is the keyboard shortcut for the start command +start-label = Tòisich (%S) +# %S is the keyboard shortcut for the stop command +stop-label = Stad (%S) +# Keyboard shortcut to toggle the narrate feature +narrate-key-shortcut = N +forward = Air adhart +speed = Luaths +selectvoicelabel = Guth: +# Default voice is determined by the language of the document. +defaultvoice = Bun-roghainn + +# Voice name and language. +# eg. David (English) +voiceLabel = %S (%S) diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/nsWebBrowserPersist.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/nsWebBrowserPersist.properties new file mode 100644 index 0000000000000000000000000000000000000000..b76864b119d9bf2639e850073a7140698fc0b429 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/nsWebBrowserPersist.properties @@ -0,0 +1,17 @@ +# 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/. + +readError=Cha do ghabh %S a shàbhaladh a chionn 's nach do ghabh bun-tùs an fhaidhle a leughadh.\n\nFeuch ris a-rithist an ceann tàmaill no leig fios gu rianaire an fhrithealaiche. +writeError=Cha do ghabh %S a shàbhaladh a chionn 's gun do thachair mearachd neo-aithnichte.\n\nFeuch ri a shàbhaladh am badeigin eile. +launchError=Cha do ghabh %S fhosgladh a chionn 's gun do thachair mearachd neo-aithnichte.\n\nFeuch ri a shàbhaladh air an diosg an toiseach 's fhoasgladh an uairsin. +diskFull=Chan eil àite gu leòr air an diosg gus %S a shàbhaladh.\n\nThoir air falbh faidhlichean air nach eil feum tuilleadh agus feuch ris a-rithist no feuch ri a shàbhaladh am badeigin eile. +readOnly=Cha do ghabh %S a shàbhaladh a chionn 's gu bheil an diosg, am pasgan no an fhaidhle 'ga dhìon o sgrìobhadh.\n\nThoir cead-sgrìobhadh dhan diosg agus feuch ris a-rithist no feuch ri a shàbhaladh am badeigin eile. +accessError=Cha do ghabh %S a shàbhaladh a chionn 's nach urrainn dhut susbaint a' phasgain sin atharrachadh.\n\nAtharraich roghainnean a' phasgain is feuch ris a-rithist no feuch ri a shàbhaladh am badeigin eile. +SDAccessErrorCardReadOnly=Cha ghabh am faidhle a luchdadh a-nuas a chionn 's gu bheil a' chairt SD 'ga chleachdadh. +SDAccessErrorCardMissing=Cha ghabh am faidhle a luchdadh a-nuas a chionn 's gu bheil a' chairt SD a dhìth. +helperAppNotFound=Cha do ghabh %S fhosgladh a chionn 's nach eil an aplacaid taice co-cheangailte ris ann. Atharraich an dàimh anns na roghainnean agad. +noMemory=Chan eil cuimhne gu leòr ann gus an gnìomh a dh'iarr thu a choileanadh.\n\nDùin aplacaid no dhà agus feuch ris a-rithist. +title=A' luchdadh a-nuas %S +fileAlreadyExistsError=Cha b' urrainn dhuinn %S a shàbhaladh a chionn 's gu bheil faidhle ann mu thràth leis an dearbh ainm a tha air a' phasgan "_faidhle".\n\nFeuch ri a shàbhaladh am badeigin eile. +fileNameTooLongError=Cha do ghabh %S a shàbhaladh a chionn 's gun robh ainm na faidhle ro fhada.\n\nFeuch ri a shàbhaladh le ainm nas giorra. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/printdialog.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/printdialog.properties new file mode 100644 index 0000000000000000000000000000000000000000..02209eca36e6d71158203339b50305e4c4e093eb --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/printdialog.properties @@ -0,0 +1,52 @@ +# 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/. + +# These strings are used in the native GTK, Mac and Windows print dialogs. + +# GTK titles: +printTitleGTK=Clò-bhuail +optionsTabLabelGTK=Roghainnean + +# Mac titles: +optionsTitleMac=Roghainnean: +appearanceTitleMac=Riochd: +pageHeadersTitleMac=Bannan-cinn na duilleige: +pageFootersTitleMac=Bannan-coise na duilleige: + +# Windows titles: +optionsTitleWindows=Roghainnean + +# TRANSLATOR NOTE: For radio button labels and check button labels, an underscore _ +# before a character will turn that character into an accesskey in the GTK dialog. +# e.g. "_As laid out" will make A the accesskey. +# In the Windows labels, use an ampersand (&). +# On Mac, underscores will be stripped. + +shrinkToFit=Leig seachad sgèileadh is c_rùbadh gu leud na duilleige +selectionOnly=Clò-bhuail na chaidh a thaghadh _a-mhàin +printBGOptions=Clò-bhuail an cùlaibh +printBGColors=Clò-bhuail dathan a' _chùlaibh +printBGImages=Clò-bhuail deal_bhan a' chùlaibh +headerFooter=Bann-cinn is bann-coise +left=Clì +center=Cuir sa mheadhan +right=Deis +headerFooterBlank=--bàn-- +headerFooterTitle=Tiotal +headerFooterURL=URL +headerFooterDate=Ceann-là/Àm +headerFooterPage=Duilleag a # +headerFooterPageTotal=Duilleag a # à # +headerFooterCustom=Gnàthaichte… +customHeaderFooterPrompt=Cuir a-steach teacsa gnàthaichte a' bhanna-chinn/-choise agad + +summarySelectionOnlyTitle=Clò-bhuail na thagh thu +summaryShrinkToFitTitle=Crùb gu freagarrachd +summaryPrintBGColorsTitle=Clò-bhuail dathan a' chùlaibh +summaryPrintBGImagesTitle=Clò-bhuail dealbhan a' chùlaibh +summaryHeaderTitle=Bannan-cinn na duilleige +summaryFooterTitle=Bannan-coise na duilleige +summaryNAValue=Chan eil gin +summaryOnValue=Air +summaryOffValue=Dheth diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/printing.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/printing.properties new file mode 100644 index 0000000000000000000000000000000000000000..1f6761c83fc5a11a79f2a9e29979c7672b77bcc8 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/printing.properties @@ -0,0 +1,56 @@ +# 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/. + +# Page number formatting +## @page_number The current page number +#LOCALIZATION NOTE (pageofpages): Do not translate %ld in the following line. +# Place the word %ld where the page number and number of pages should be +# The first %ld will receive the the page number +pagenumber=%1$d + +# Page number formatting +## @page_number The current page number +## @page_total The total number of pages +#LOCALIZATION NOTE (pageofpages): Do not translate %ld in the following line. +# Place the word %ld where the page number and number of pages should be +# The first %ld will receive the the page number +# the second %ld will receive the total number of pages +pageofpages=%1$d as %2$d + +PrintToFile=Clò-bhuail gu faidhle +print_error_dialog_title=Mearachd a' chlò-bhualadair +printpreview_error_dialog_title=Mearachd le ro-shealladh a' chlò-bhualaidh + +# Printing error messages. +#LOCALIZATION NOTE: Some of these messages come in pairs, one +# for printing and one for print previewing. You can remove that +# distinction in your language by removing the entity with the _PP +# suffix; then the entity without a suffix will be used for both. +# You can also add that distinction to any of the messages that don't +# already have it by adding a new entity with a _PP suffix. +# +# For instance, if you delete PERR_GFX_PRINTER_DOC_IS_BUSY_PP, then +# the PERR_GFX_PRINTER_DOC_IS_BUSY message will be used for that error +# condition when print previewing as well as when printing. If you +# add PERR_FAILURE_PP, then PERR_FAILURE will only be used when +# printing, and PERR_FAILURE_PP will be used under the same conditions +# when print previewing. +# +PERR_FAILURE=Thachair mearachd neo-aithnichte rè a' chlò-bhualaidh. + +PERR_ABORT=Sguireadh dhen obair chlò-bhualaidh no chaidh crìoch a chur air. +PERR_NOT_AVAILABLE=Tha cuid a dh'fheartan clò-bhualaidh ann nach eil ri fhaighinn an-dràsta fhèin. +PERR_NOT_IMPLEMENTED=Chan eil feumalachd clò-bhualaidh air choireigin ann an gnìomh fhathast. +PERR_OUT_OF_MEMORY=Chan eil cuimhne shaor gu leòr ann gus clò-bhualadh a dhèanamh. +PERR_UNEXPECTED=Bha duilgheadas ris nach robh dùil ann leis a' chlò-bhualadh. + +PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE=Chan eil clò-bhualadair ri làimh. +PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE_PP=Chan eil clò-bhualadair ri làimh 's cha ghabh an ro-shealladh a shealltainn. +PERR_GFX_PRINTER_NAME_NOT_FOUND=Cha b' urrainn dhuinn an clò-bhualadair a thagh thu a lorg. +PERR_GFX_PRINTER_COULD_NOT_OPEN_FILE=Cha b' urrainn dhuinn am faidhle às-chuir fhosgladh gus a chlò-bhualadh mar fhaidhle. +PERR_GFX_PRINTER_STARTDOC=Dh'fhàillig an clò-bhualadh nuair a thòisich sinn air obair a' chlò-bhualaidh. +PERR_GFX_PRINTER_ENDDOC=Dh'fhàillig an clò-bhualadh nuair a chaidh crìoch a chur air an obair chlò-bhualaidh. +PERR_GFX_PRINTER_STARTPAGE=Dh'fhàillig an clò-bhualadh nuair a thòisich sinn air duilleag ùr. +PERR_GFX_PRINTER_DOC_IS_BUSY=Chan urrainn dhuinn an sgrìobhainn seo a chlò-bhualadh, tha e 'ga luchdadh fhathast. +PERR_GFX_PRINTER_DOC_IS_BUSY_PP=Chan urrainn dhuinn ro-shealladh na sgrìobhainn seo a shealltainn dhut, tha e 'ga luchdadh fhathast. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/resetProfile.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/resetProfile.properties new file mode 100644 index 0000000000000000000000000000000000000000..86eceb7d982ad0cea12e966f38310a29bed57363 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/resetProfile.properties @@ -0,0 +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/. + +# LOCALIZATION NOTE: These strings are used for profile reset. + +# LOCALIZATION NOTE (resetUnusedProfile.message): %S is brandShortName. +resetUnusedProfile.message=Tha coltas nach do thòisich thu %S o chionn greis. A bheil thu airson a sgioblachadh airson 's gum bi gach rud glan sgiobalta, mar gum biodh e ùr nodha? Agus fàilte air ais, eadar dà sgeul! +# LOCALIZATION NOTE (resetUninstalled.message): %S is brandShortName. +resetUninstalled.message=Tha coltas gun do stàlaich thu %S às ùr. A bheil thu airson ’s gun sgioblaich sinn dhut e ach am bi e cho glan ùr ’s a ghabhas? + +# LOCALIZATION NOTE (refreshProfile.resetButton.label): %S is brandShortName. +refreshProfile.resetButton.label=Ath-nuadhaich %S… +refreshProfile.resetButton.accesskey=n diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/security/caps.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/security/caps.properties new file mode 100644 index 0000000000000000000000000000000000000000..90c73cc031f3dc071df26843aa4d62352409e450 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/security/caps.properties @@ -0,0 +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/. +CheckLoadURIError = Mearachd tèarainteach: Chan eil e ceadaichte do shusbaint aig %S a luchdadh no a cheangal ri %S. +CheckSameOriginError = Mearachd tèarainteachd: Chan eil e ceadaichte do shusbaint aig %S dàta a luchdadh o %S. +ExternalDataError = Mearachd tèarainteachd: Bha susbaint aig %S airson %S a luchdadh ach dh’fhaoidte nach luchdaich e dàta on taobh a-muigh ma chleachdar e mar dhealbh.\u0020 + +CreateWrapperDenied = Chaidh cead a dhiùltadh airson paisgear a chruthachadh airson oibseact dhen t-seòrsa %S +CreateWrapperDeniedForOrigin = Chaidh cead a dhiùltadh do <%2$S> gus paisgear a chruthachadh airson oibseact dhen t-seòrsa %1$S diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/security/csp.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/security/csp.properties new file mode 100644 index 0000000000000000000000000000000000000000..65a893270d26b9f3fbcac077ad54a12de2d2d12d --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/security/csp.properties @@ -0,0 +1,125 @@ +# 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/. + +# CSP Warnings: +# LOCALIZATION NOTE (CSPViolation): +# %1$S is the reason why the resource has not been loaded. +CSPViolation = Tha roghainnean na duilleige a' bacadh luchdadh de ghoireas: %1$S +# LOCALIZATION NOTE (CSPViolationWithURI): +# %1$S is the directive that has been violated. +# %2$S is the URI of the resource which violated the directive. +CSPViolationWithURI = Tha roghainnean na duilleige a' bacadh luchdadh de ghoireas aig %2$S ("%1$S"). +# LOCALIZATION NOTE (CSPROViolation): +# %1$S is the reason why the resource has not been loaded. +CSPROViolation = A violation occurred for a report-only CSP policy ("%1$S"). The behavior was allowed, and a CSP report was sent. +# LOCALIZATION NOTE (CSPROViolationWithURI): +# %1$S is the directive that has been violated. +# %2$S is the URI of the resource which violated the directive. +CSPROViolationWithURI = The page's settings observed the loading of a resource at %2$S ("%1$S"). A CSP report is being sent. +# LOCALIZATION NOTE (triedToSendReport): +# %1$S is the URI we attempted to send a report to. +triedToSendReport = Chaidh oidhirp a dhèanamh aithisg a chur gu URI mì-dhligheach: "%1$S" +# LOCALIZATION NOTE (couldNotParseReportURI): +# %1$S is the report URI that could not be parsed +couldNotParseReportURI = Cha b' urrainn dhuinn URI na h-aithisge a pharsadh: %1$S +# LOCALIZATION NOTE (couldNotProcessUnknownDirective): +# %1$S is the unknown directive +couldNotProcessUnknownDirective = Cha b' urrainn dhuinn an steòrnadh neo-aithnichte "%1$S" a phròiseasadh +# LOCALIZATION NOTE (ignoringUnknownOption): +# %1$S is the option that could not be understood +ignoringUnknownOption = A' leigeil seachad roghainn nach aithne dhuinn, %1$S +# LOCALIZATION NOTE (ignoringDuplicateSrc): +# %1$S defines the duplicate src +ignoringDuplicateSrc = A’ leigeil seachad an tùis dhùblaichte %1$S +# LOCALIZATION NOTE (ignoringNonAsciiToken): +# %1$S defines the name of the directive +# %2$S is the token string containing non-ASCII characters. +ignoringNonAsciiToken = Ignoring directive ‘%1$S’ with the non-ASCII token ‘%2$S’ +# LOCALIZATION NOTE (ignoringSrcFromMetaCSP): +# %1$S defines the ignored src +ignoringSrcFromMetaCSP = Ignoring source '%1$S' (Not supported when delivered via meta element). +# LOCALIZATION NOTE (ignoringSrcWithinNonceOrHashDirective): +# %1$S is the ignored src (e.g. "unsafe-inline") +# %2$S is the directive (e.g. "script-src-elem") +ignoringSrcWithinNonceOrHashDirective = Ignoring “%1$S” within %2$S: nonce-source or hash-source specified +# LOCALIZATION NOTE (ignoringScriptSrcForStrictDynamic): +# %1$S is the ignored src +# %1$S is the directive src (e.g. "script-src-elem") +# 'strict-dynamic' should not be localized +ignoringScriptSrcForStrictDynamic = Ignoring “%1$S” within %2$S: ‘strict-dynamic’ specified +# LOCALIZATION NOTE (ignoringStrictDynamic): +# %1$S is the ignored src +ignoringStrictDynamic = Ignoring source “%1$S” (Only supported within script-src).\u0020 +# LOCALIZATION NOTE (ignoringUnsafeEval): +# %1$S is the csp directive (e.g. script-src-elem) +# 'unsafe-eval' and 'wasm-unsafe-eval' should not be localized +ignoringUnsafeEval = Ignoring ‘unsafe-eval’ or ‘wasm-unsafe-eval’ inside “%1$S”. +# LOCALIZATION NOTE (strictDynamicButNoHashOrNonce): +# %1$S is the csp directive that contains 'strict-dynamic' +# 'strict-dynamic' should not be localized +strictDynamicButNoHashOrNonce = Keyword ‘strict-dynamic’ within “%1$S” with no valid nonce or hash might block all scripts from loading +# LOCALIZATION NOTE (reportURInotHttpsOrHttp2): +# %1$S is the ETLD of the report URI that is not HTTP or HTTPS +reportURInotHttpsOrHttp2 = The report URI (%1$S) should be an HTTP or HTTPS URI. +# LOCALIZATION NOTE (reportURInotInReportOnlyHeader): +# %1$S is the ETLD of the page with the policy +reportURInotInReportOnlyHeader = Tha poileasaidh "Na dèan ach aithris" aig an làrach seo (%1$S) ach chan eil URI airson aithrisean aice. Cha chuir CSP casg agus chan urrainn dha aithris a dhèanamh air briseadh a' phoileasaidh seo. +# LOCALIZATION NOTE (failedToParseUnrecognizedSource): +# %1$S is the CSP Source that could not be parsed +failedToParseUnrecognizedSource = Dh'fhàillig parsadh an tùis neo-aithnichte %1$S +# LOCALIZATION NOTE (upgradeInsecureRequest): +# %1$S is the URL of the upgraded request; %2$S is the upgraded scheme. +upgradeInsecureRequest = Upgrading insecure request '%1$S' to use '%2$S' +# LOCALIZATION NOTE (ignoreSrcForDirective): +ignoreSrcForDirective = Ignoring srcs for directive '%1$S' +# LOCALIZATION NOTE (hostNameMightBeKeyword): +# %1$S is the hostname in question and %2$S is the keyword +hostNameMightBeKeyword = Interpreting %1$S as a hostname, not a keyword. If you intended this to be a keyword, use '%2$S' (wrapped in single quotes). +# LOCALIZATION NOTE (notSupportingDirective): +# directive is not supported (e.g. 'reflected-xss') +notSupportingDirective = Not supporting directive '%1$S'. Directive and values will be ignored. +# LOCALIZATION NOTE (blockAllMixedContent): +# %1$S is the URL of the blocked resource load. +blockAllMixedContent = A’ bacadh iarrtas neo-thèarainte “%1$S”. +# LOCALIZATION NOTE (ignoringDirectiveWithNoValues): +# %1$S is the name of a CSP directive that requires additional values +ignoringDirectiveWithNoValues = Ignoring ‘%1$S’ since it does not contain any parameters. +# LOCALIZATION NOTE (ignoringReportOnlyDirective): +# %1$S is the directive that is ignored in report-only mode. +ignoringReportOnlyDirective = Ignoring sandbox directive when delivered in a report-only policy ‘%1$S’ +# LOCALIZATION NOTE (IgnoringSrcBecauseOfDirective): +# %1$S is the name of the src that is ignored. +# %2$S is the name of the directive that causes the src to be ignored. +IgnoringSrcBecauseOfDirective=Ignoring ‘%1$S’ because of ‘%2$S’ directive. +# LOCALIZATION NOTE (IgnoringSourceWithinDirective): +# %1$S is the ignored src +# %2$S is the directive which supports src +IgnoringSourceWithinDirective = Ignoring source “%1$S” (Not supported within ‘%2$S’). + +# LOCALIZATION NOTE (IgnoringSourceWithinDirective): +# %1$S is the ignored src +obsoleteBlockAllMixedContent = Ignoring ‘%1$S’ because mixed content display upgrading makes block-all-mixed-content obsolete. + + +# CSP Errors: +# LOCALIZATION NOTE (couldntParseInvalidSource): +# %1$S is the source that could not be parsed +couldntParseInvalidSource = Cha b' urrainn dhuinn an tùs mì-dhligheach %1$S a pharsadh +# LOCALIZATION NOTE (couldntParseInvalidHost): +# %1$S is the host that's invalid +couldntParseInvalidHost = Cha b' urrainn dhuinn an t-òstair mì-dhligheach %1$S a pharsadh +# LOCALIZATION NOTE (couldntParsePort): +# %1$S is the string source +couldntParsePort = Cha b' urrainn dhuinn am post ann an %1$S a pharsadh +# LOCALIZATION NOTE (duplicateDirective): +# %1$S is the name of the duplicate directive +duplicateDirective = Mhothaich sinn do dhùblachadh de dh'àitheantan %1$S. Leigidh sinn seachad na h-uile ach a' chiad tè dhiubh. +# LOCALIZATION NOTE (couldntParseInvalidSandboxFlag): +# %1$S is the option that could not be understood +couldntParseInvalidSandboxFlag = Couldn’t parse invalid sandbox flag ‘%1$S’ + +# LOCALIZATION NOTE (CSPMessagePrefix): +# Do not translate "Content-Security-Policy", only handle spacing for the colon. +# %S is a console message that is being prefixed here. +CSPMessagePrefix = Content-Security-Policy: %S diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/security/security.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/security/security.properties new file mode 100644 index 0000000000000000000000000000000000000000..9db81fe83a0fd33412a0b137fb55d5084e04e800 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/security/security.properties @@ -0,0 +1,167 @@ +# 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/. + +# Mixed Content Blocker +# LOCALIZATION NOTE: "%1$S" is the URI of the blocked mixed content resource +BlockMixedDisplayContent = Chuir sinn casg air luchdadh susbaint-taisbeanaidh mheasgaichte "%1$S" +BlockMixedActiveContent = Chuir sinn casg air luchdadh susbaint-taisbeanaidh mheasgaichte "%1$S" + +# CORS +# LOCALIZATION NOTE: Do not translate "Access-Control-Allow-Origin", Access-Control-Allow-Credentials, Access-Control-Allow-Methods, Access-Control-Allow-Headers +CORSDisabled=Chaidh an t-arrtas Cross-Origin a bhacadh: Chan eil an Same Origin Policy a' ceadachadh leughadh a' ghoireis chèin aig %1$S. (Adhbhar: Tha CORS à comas). +CORSDidNotSucceed2=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS request did not succeed). Status code: %2$S. +CORSOriginHeaderNotAdded=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS header ‘Origin’ cannot be added). +CORSExternalRedirectNotAllowed=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS request external redirect not allowed). +CORSRequestNotHttp=Chaidh an t-arrtas Cross-Origin a bhacadh: Chan eil an Same Origin Policy a' ceadachadh leughadh a' ghoireis chèin aig %1$S. (Adhbhar: Chan e http a tha san CORS). +CORSMissingAllowOrigin2=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing). Status code: %2$S. +CORSMultipleAllowOriginNotAllowed=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: Multiple CORS header ‘Access-Control-Allow-Origin’ not allowed). +CORSAllowOriginNotMatchingOrigin=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS header 'Access-Control-Allow-Origin' does not match '%2$S'). +CORSNotSupportingCredentials=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at ‘%1$S’. (Reason: Credential is not supported if the CORS header ‘Access-Control-Allow-Origin’ is ‘*’). +CORSMethodNotFound=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: Did not find method in CORS header 'Access-Control-Allow-Methods'). +CORSMissingAllowCredentials=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: expected 'true' in CORS header 'Access-Control-Allow-Credentials'). +CORSPreflightDidNotSucceed3=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: CORS preflight response did not succeed). Status code: %2$S. +CORSInvalidAllowMethod=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: invalid token '%2$S' in CORS header 'Access-Control-Allow-Methods'). +CORSInvalidAllowHeader=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: invalid token '%2$S' in CORS header 'Access-Control-Allow-Headers'). +CORSMissingAllowHeaderFromPreflight2=Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at %1$S. (Reason: header ‘%2$S’ is not allowed according to header ‘Access-Control-Allow-Headers’ from CORS preflight response). + +# LOCALIZATION NOTE: Do not translate "Strict-Transport-Security", "HSTS", "max-age" or "includeSubDomains" +STSUnknownError=Strict-Transport-Security: An unknown error occurred processing the header specified by the site. +STSCouldNotParseHeader=Strict-Transport-Security: The site specified a header that could not be parsed successfully. +STSNoMaxAge=Strict-Transport-Security: The site specified a header that did not include a 'max-age' directive. +STSMultipleMaxAges=Strict-Transport-Security: The site specified a header that included multiple 'max-age' directives. +STSInvalidMaxAge=Strict-Transport-Security: The site specified a header that included an invalid 'max-age' directive. +STSMultipleIncludeSubdomains=Strict-Transport-Security: The site specified a header that included multiple 'includeSubDomains' directives. +STSInvalidIncludeSubdomains=Strict-Transport-Security: The site specified a header that included an invalid 'includeSubDomains' directive. +STSCouldNotSaveState=Strict-Transport-Security: An error occurred noting the site as a Strict-Transport-Security host. + +InsecurePasswordsPresentOnPage=Tha raointean fhaclan-faire air duilleag (http://) nach eil tèarainte. Seo cunnart tèarainteachd agus faodaidh gun goidear faclan-faire air an luchd-chleachdaidh. +InsecureFormActionPasswordsPresent=Tha raointean fhaclan-faire air ann am foirm le gnìomh foirm (http://) nach eil tèarainte. Seo cunnart tèarainteachd agus faodaidh gun goidear faclan-faire air an luchd-chleachdaidh. +InsecurePasswordsPresentOnIframe=Tha raointean fhaclan-faire ann an iframe (http://) nach eil tèarainte. Seo cunnart tèarainteachd agus faodaidh gun goidear faclan-faire air an luchd-chleachdaidh. +# LOCALIZATION NOTE: "%1$S" is the URI of the insecure mixed content resource +LoadingMixedActiveContent2=A' luchdadh susbaint ghnìomhach mheasgaichte (neo-thèarainte) "%1$S" air duilleag thèarainte +LoadingMixedDisplayContent2=A' luchdadh susbaint taisbeanaidh mheasgaichte (neo-thèarainte) "%1$S" air duilleag thèarainte +LoadingMixedDisplayObjectSubrequestDeprecation=Loading mixed (insecure) content “%1$S” within a plugin on a secure page is discouraged and will be blocked soon. +# LOCALIZATION NOTE: "%S" is the URI of the insecure mixed content download +MixedContentBlockedDownload = Blocked downloading insecure content “%S”. + +# LOCALIZATION NOTE: Do not translate "allow-scripts", "allow-same-origin", "sandbox" or "iframe" +BothAllowScriptsAndSameOriginPresent=An iframe which has both allow-scripts and allow-same-origin for its sandbox attribute can remove its sandboxing. +# LOCALIZATION NOTE: Do not translate "allow-top-navigation-by-user-activation", "allow-top-navigation", "sandbox" or "iframe" +BothAllowTopNavigationAndUserActivationPresent=An iframe which has both allow-top-navigation and allow-top-navigation-by-user-activation for its sandbox attribute will permit top navigations. + +# Sub-Resource Integrity +# LOCALIZATION NOTE: Do not translate "script" or "integrity". "%1$S" is the invalid token found in the attribute. +MalformedIntegrityHash=The script element has a malformed hash in its integrity attribute: "%1$S". The correct format is "<hash algorithm>-<hash value>". +# LOCALIZATION NOTE: Do not translate "integrity" +InvalidIntegrityLength=The hash contained in the integrity attribute has the wrong length. +# LOCALIZATION NOTE: Do not translate "integrity" +InvalidIntegrityBase64=The hash contained in the integrity attribute could not be decoded. +# LOCALIZATION NOTE: "%1$S" is the URI of the sub-resource that cannot be protected using SRI. +IneligibleResource="%1$S" is not eligible for integrity checks since it's neither CORS-enabled nor same-origin. +# LOCALIZATION NOTE: Do not translate "integrity". "%1$S" is the invalid hash algorithm found in the attribute. +UnsupportedHashAlg=Unsupported hash algorithm in the integrity attribute: "%1$S" +# LOCALIZATION NOTE: Do not translate "integrity" +NoValidMetadata=The integrity attribute does not contain any valid metadata. + +# LOCALIZATION NOTE: Do not translate "RC4". +WeakCipherSuiteWarning=Tha an làrach seo a' cleachdadh na sifire RC4 airson crioptachadh nach eil tèarainte tuilleadh 's nach molar tuilleadh. + +DeprecatedTLSVersion2=This site uses a deprecated version of TLS. Please upgrade to TLS 1.2 or 1.3. + +#XCTO: nosniff +# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options: nosniff". +MimeTypeMismatch2=The resource from “%1$S” was blocked due to MIME type (“%2$S”) mismatch (X-Content-Type-Options: nosniff). +# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options" and also do not translate "nosniff". +XCTOHeaderValueMissing=X-Content-Type-Options header warning: value was “%1$S”; did you mean to send “nosniff”? +# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options" and also do not translate "nosniff". +XTCOWithMIMEValueMissing=The resource from “%1$S” was not rendered due to an unknown, incorrect or missing MIME type (X-Content-Type-Options: nosniff). + +BlockScriptWithWrongMimeType2=Script from “%1$S” was blocked because of a disallowed MIME type (“%2$S”). +WarnScriptWithWrongMimeType=The script from “%1$S” was loaded even though its MIME type (“%2$S”) is not a valid JavaScript MIME type. +# LOCALIZATION NOTE: Do not translate "importScripts()" +BlockImportScriptsWithWrongMimeType=Loading script from “%1$S” with importScripts() was blocked because of a disallowed MIME type (“%2$S”). +BlockWorkerWithWrongMimeType=Loading Worker from “%1$S” was blocked because of a disallowed MIME type (“%2$S”). +BlockModuleWithWrongMimeType=Loading module from “%1$S” was blocked because of a disallowed MIME type (“%2$S”). + +# LOCALIZATION NOTE: Do not translate "data: URI". +BlockTopLevelDataURINavigation=Navigation to toplevel data: URI not allowed (Blocked loading of: “%1$S”) + +BlockRedirectToDataURI=Redirecting to data: URI not allowed (Blocked loading of: “%1$S”) + +# LOCALIZATION NOTE: Do not translate "file: URI". “%1$S” is the whole URI of the loaded file. “%2$S” is the MIME type e.g. "text/plain". +BlockFileScriptWithWrongMimeType=Loading script from file: URI (“%1$S”) was blocked because its MIME type (“%2$S”) is not a valid JavaScript MIME type. + +# LOCALIZATION NOTE: “%S” is the whole URI of the loaded file. +BlockExtensionScriptWithWrongExt=Loading script with URI “%S” was blocked because the file extension is not allowed. + +RestrictBrowserEvalUsage=eval() and eval-like uses are not allowed in the Parent Process or in System Contexts (Blocked usage in “%1$S”) + +# LOCALIZATION NOTE (MixedContentAutoUpgrade): +# %1$S is the URL of the upgraded request; %2$S is the upgraded scheme. +MixedContentAutoUpgrade=Upgrading insecure display request ‘%1$S’ to use ‘%2$S’ +# LOCALIZATION NOTE (RunningClearSiteDataValue): +# %S is the URI of the resource whose data was cleaned up +RunningClearSiteDataValue=Clear-Site-Data header forced the clean up of “%S” data. +UnknownClearSiteDataValue=Clear-Site-Data header found. Unknown value “%S”. + +# Reporting API +ReportingHeaderInvalidJSON=Reporting Header: invalid JSON value received. +ReportingHeaderInvalidNameItem=Reporting Header: invalid name for group. +ReportingHeaderDuplicateGroup=Reporting Header: ignoring duplicated group named “%S”. +ReportingHeaderInvalidItem=Reporting Header: ignoring invalid item named “%S”. +ReportingHeaderInvalidEndpoint=Reporting Header: ignoring invalid endpoint for item named “%S”. +# LOCALIZATION NOTE(ReportingHeaderInvalidURLEndpoint): %1$S is the invalid URL, %2$S is the group name +ReportingHeaderInvalidURLEndpoint=Reporting Header: ignoring invalid endpoint URL “%1$S” for item named “%2$S”. + +FeaturePolicyUnsupportedFeatureName=Feature Policy: Skipping unsupported feature name “%S”. +# TODO: would be nice to add a link to the Feature-Policy MDN documentation here. See bug 1449501 +FeaturePolicyInvalidEmptyAllowValue= Feature Policy: Skipping empty allow list for feature: “%S”. +# TODO: would be nice to add a link to the Feature-Policy MDN documentation here. See bug 1449501 +FeaturePolicyInvalidAllowValue=Feature Policy: Skipping unsupported allow value “%S”. + +# LOCALIZATION NOTE: "%1$S" is the limitation length (bytes) of referrer URI, "%2$S" is the origin of the referrer URI. +ReferrerLengthOverLimitation=HTTP Referrer header: Length is over “%1$S” bytes limit - stripping referrer header down to origin: “%2$S” +# LOCALIZATION NOTE: "%1$S" is the limitation length (bytes) of referrer URI, "%2$S" is the origin of the referrer URI. +ReferrerOriginLengthOverLimitation=HTTP Referrer header: Length of origin within referrer is over “%1$S” bytes limit - removing referrer with origin “%2$S”. + +# LOCALIZATION NOTE: Do not translate "no-referrer-when-downgrade", "origin-when-cross-origin" and "unsafe-url". %S is the URI of the loading channel. +ReferrerPolicyDisallowRelaxingWarning=Referrer Policy: Less restricted policies, including ‘no-referrer-when-downgrade’, ‘origin-when-cross-origin’ and ‘unsafe-url’, will be ignored soon for the cross-site request: %S +# LOCALIZATION NOTE: %1$S is the ignored referrer policy, %2$S is the URI of the loading channel. +ReferrerPolicyDisallowRelaxingMessage=Referrer Policy: Ignoring the less restricted referrer policy “%1$S” for the cross-site request: %2$S + +# X-Frame-Options +# LOCALIZATION NOTE(XFrameOptionsInvalid): %1$S is the header value, %2$S is frame URI. Do not translate "X-Frame-Options". +XFrameOptionsInvalid = Invalid X-Frame-Options header was found when loading “%2$S”: “%1$S” is not a valid directive. +# LOCALIZATION NOTE(XFrameOptionsDeny): %1$S is the header value, %2$S is frame URI and %3$S is the parent document URI. Do not translate "X-Frame-Options". +XFrameOptionsDeny=The loading of “%2$S” in a frame is denied by “X-Frame-Options“ directive set to “%1$S“. + +# HTTPS-Only Mode +# LOCALIZATION NOTE: %1$S is the URL of the upgraded request; %2$S is the upgraded scheme. +HTTPSOnlyUpgradeRequest = Upgrading insecure request “%1$S” to use “%2$S”. +# LOCALIZATION NOTE: %1$S is the URL of request. +HTTPSOnlyNoUpgradeException = Not upgrading insecure request “%1$S” because it is exempt. +# LOCALIZATION NOTE: %1$S is the URL of the failed request; %2$S is an error-code. +HTTPSOnlyFailedRequest = Upgrading insecure request “%1$S” failed. (%2$S) +# LOCALIZATION NOTE: %S is the URL of the failed request; +HTTPSOnlyFailedDowngradeAgain = Upgrading insecure request “%S” failed. Downgrading to “http” again. +# LOCALIZATION NOTE: Hints or indicates a new transaction for a URL is likely coming soon. We use +# a speculative connection to start a TCP connection so that the resource is immediately ready +# when the transaction is actually submitted. HTTPS-Only and HTTPS-First will upgrade such +# speculative TCP connections from http to https. +# %1$S is the URL of the upgraded speculative TCP connection; %2$S is the upgraded scheme. +HTTPSOnlyUpgradeSpeculativeConnection = Upgrading insecure speculative TCP connection “%1$S” to use “%2$S”. + +# LOCALIZATION NOTE: %S is the URL of the blocked request; +IframeSandboxBlockedDownload = Download of “%S” was blocked because the triggering iframe has the sandbox flag set. + +# LOCALIZATION NOTE: %S is the URL of the blocked request; +SandboxBlockedCustomProtocols = Blocked navigation to custom protocol “%S” from a sandboxed context. + +# Sanitizer API +# LOCALIZATION NOTE: Please do not localize "DocumentFragment". It's the name of an API. +SanitizerRcvdNoInput = Received empty or no input. Returning an empty DocumentFragment. + +CORSAllowHeaderFromPreflightDeprecation=Cross-Origin Request Warning: The Same Origin Policy will disallow reading the remote resource at %1$S soon. (Reason: When the `Access-Control-Allow-Headers` is `*`, the `Authorization` header is not covered. To include the `Authorization` header, it must be explicitly listed in CORS header `Access-Control-Allow-Headers`). +# LOCALIZATION NOTE: Do not translate "integrity". "%1$S" is the type of hash algorithm in use (e.g. "sha256"). "%2$S" is the value we saw. +IntegrityMismatch2=None of the “%1$S” hashes in the integrity attribute match the content of the subresource. The computed hash is “%2$S”. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/svg/svg.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/svg/svg.properties new file mode 100644 index 0000000000000000000000000000000000000000..98be8e183a6edc9b30b0b4bb1ff7400d41d58396 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/svg/svg.properties @@ -0,0 +1,5 @@ +# 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/. + +AttributeParseWarning=Luach %2$S gun dùil ris is a' parsadh buadh %1$S. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/viewSource.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/viewSource.properties new file mode 100644 index 0000000000000000000000000000000000000000..115425de6543a59bd76abac227e5e4b2ddfe3360 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/viewSource.properties @@ -0,0 +1,16 @@ +# 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/. + +goToLineTitle = Rach gu loidhne +goToLineText = Cuir a-steach àireamh na loidhne +invalidInputTitle = Steach-chur mì-dhligheach +invalidInputText = Tha àireamh na loidhne a chuir thu a-steach mì-dhligheach. +outOfRangeTitle = Cha deach an loidhne a lorg +outOfRangeText = Cha deach an loidhne a shònraich thu a lorg. +viewSelectionSourceTitle = Bun-tùs DOM na thagh thu + +context_goToLine_label = Rach gu loidhne… +context_goToLine_accesskey = L +context_wrapLongLines_label = Paisg loidhnichean fada +context_highlightSyntax_label = Soillseachadh a’ cho-chàraidh diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/wizard.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/wizard.properties new file mode 100644 index 0000000000000000000000000000000000000000..095b2ef50d519697fca589eac9e65051f14f22a0 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/wizard.properties @@ -0,0 +1,8 @@ +# 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/. + +default-first-title=Fàilte gu %S +default-last-title=A' toirt gu buil an %S +default-first-title-mac=Ro-ràdh +default-last-title-mac=Co-dhùnadh diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/xslt/xslt.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/xslt/xslt.properties new file mode 100644 index 0000000000000000000000000000000000000000..a5261f91446f4df089a9fd3e7b5297250038b261 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/xslt/xslt.properties @@ -0,0 +1,39 @@ +# 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/. + +1 = Dh'fhàillig parsadh bileag-stoidhle XSLT. +2 = Dh'fhàillig parsadh an spreisein XPath. +3 = +4 = Dh'fhàillig cruth-atharrachadh XSLT. +5 = Foincsean XSLT/XPath mì-dhligheach. +6 = Ath-chùrsadh san duilleag-stoidhle XSLT ('s dòcha). +7 = Luach buaidh mì-dhligheach ann an XSLT 1.0. +8 = Bha dùil gun till an spresiean XPath NodeSet. +9 = Chaidh crìoch a chur air a' chruth-atharrachadh XSLT le <xsl:message>. +10 = Thachair mearachd an lìonraidh rè luchdadh duilleige stoidhle XSLT: +11 = Chan eil XML mimetype aig duilleag-stoidhle XSLT: +12 = Tha duilleag-stoidhle XSLT 'ga thoirt a-steach gu dìreach no neo-dhìreach no tha e fhèin ann: +13 = Chaidh foincsean XPath a ghairm leis an àireamh chearr de dh'argamaidean. +14 = Chaidh foincsean leudachaidh XPath neo-aithnichte a ghairm. +15 = Dh'fhàillig parsaidh XPath: bha dùil ri ')': +16 = Dh'fhàillig parsadh XPath: aiseal mì-dhligheach: +17 = Dh'fhàillig parsadh XPath: dùil ri deuchainn ainm no seòrsa an nòid: +18 = Dh'fhàillig parsadh XPath: dùil ri ']': +19 = Dh'fhàillig parsadh XPath: ainm caochladair mì-dhligheach: +20 = Dh'fhàillig parsadh XPath: deireadh eas-preisein ris nach robh dùil: +21 = Dh'fhàillig parsadh XPath: dùil ri gnìomharaiche: +22 = Dh'fhàillig parsadh XPath: litearail gun dùnadh: +23 = Dh'fhàillig parsadh XPath: ':' gun dùil ris: +24 = Dh'fhàillig parsadh XPath: '!' gun dùil ris, cha cho-ionann not() agus an t-àicheadh: +25 = Dh'fhàillig parsadh XPath: caractair mì-dhligheach air a lorg: +26 = Dh'fhàillig parsadh XPath: dùil ri gnìomaraiche càraideach: +27 = Chaidh casg a chur air luchdadh duilleige-stoidhle XSLT aur sgàth adhbharan tèarainteachd. +28 = A' luachadh spreisein mì-dhligheach. +29 = Cromag dhualach neo-chothromaichte. +30 = A' cruthachadh eileamaid le QName mì-dhligheach. +31 = Tha ceangal caochladair a' sgàileadh ceangal caochladair am broinn na dearbh theamplaid. +32 = Call to the key function not allowed. + +LoadingError = Mearachd rè luchdadh na duilleige-stoidhle: %S +TransformError = Mearachd rè cruth-atharrachadh XSLT: %S diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/global/xul.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/xul.properties new file mode 100644 index 0000000000000000000000000000000000000000..419f8ab3d3192621d14c50331c0e369c8e4cf899 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/global/xul.properties @@ -0,0 +1,5 @@ +# 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/. + +PINotInProlog=Chan eil èifeachd aig an òrdugh làimhseachaidh <?%1$S?> taobh a-muigh an ro-fhacail tuilleadh (faic buga 360119). diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/lightning/lightning-toolbar.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/lightning/lightning-toolbar.dtd new file mode 100644 index 0000000000000000000000000000000000000000..767273bea4e09569de2570780dfaa9df5aac370f --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/lightning/lightning-toolbar.dtd @@ -0,0 +1,51 @@ +<!-- 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/. --> + +<!ENTITY lightning.toolbar.calendar.name "Bàr-inneal a' mhìosachain"> +<!ENTITY lightning.toolbar.calendar.name.accesskey "B"> +<!ENTITY lightning.toolbar.task.name "Bàr-inneal nan saothraichean"> +<!ENTITY lightning.toolbar.task.name.accesskey "s"> + +<!ENTITY lightning.toolbar.sync.label "Sioncronaich"> +<!ENTITY lightning.toolbar.sync.tooltip "Ath-luchdaich na mìosachain is sioncronaich na h-atharraichean"> +<!ENTITY lightning.toolbar.delete.label "Sguab às"> +<!ENTITY lightning.toolbar.delete.tooltip "Sguab às na tachartasan no saothraichean a thagh thu"> +<!ENTITY lightning.toolbar.edit.label "Deasaich"> +<!ENTITY lightning.toolbar.edit.tooltip "Deasaich an tachartas no saothair a thagh thu"> +<!ENTITY lightning.toolbar.gototoday.label "Rach gu an-diugh"> +<!ENTITY lightning.toolbar.gototoday.tooltip "Rach gu an-diugh"> +<!ENTITY lightning.toolbar.print.label "Clò-bhuail"> +<!ENTITY lightning.toolbar.print.tooltip "Clò-bhuail na tachartasan no saothraichean"> +<!-- Mode Toolbar --> + +<!ENTITY lightning.toolbar.calendar.label "Mìosachan"> +<!ENTITY lightning.toolbar.calendar.tooltip "Leum gu taba a' mhìosachain"> +<!ENTITY lightning.toolbar.calendar.accesskey "M"> +<!ENTITY lightning.toolbar.task.label "Saothraichean"> +<!ENTITY lightning.toolbar.task.tooltip "Leum gu taba nan saothraichean"> +<!ENTITY lightning.toolbar.task.accesskey "S"> +<!-- Toolbar write button --> + +<!ENTITY lightning.toolbar.newevent.label "Tachartas"> +<!ENTITY lightning.toolbar.newevent.tooltip "Cruthaich tachartas ùr"> +<!ENTITY lightning.toolbar.newtask.label "Saothair"> +<!ENTITY lightning.toolbar.newtask.tooltip "Cruthaich saothair ùr"> +<!-- Calendar and Task Mode Toolbar --> + +<!ENTITY lightning.toolbar.day.label "Latha"> +<!ENTITY lightning.toolbar.day.accesskey "L"> +<!ENTITY lightning.toolbar.week.label "Seachdain"> +<!ENTITY lightning.toolbar.week.accesskey "S"> +<!ENTITY lightning.toolbar.multiweek.label "Iomadh s."> +<!ENTITY lightning.toolbar.multiweek.accesskey "I"> +<!ENTITY lightning.toolbar.month.label "Mìos"> +<!ENTITY lightning.toolbar.month.accesskey "M"> +<!-- LOCALIZATION NOTE: the same as appmenuButton.label and appmenuButton1.tooltip + from messenger.dtd --> +<!ENTITY lightning.toolbar.appmenuButton.label "Clàr-taice na h-aplacaid"> +<!ENTITY lightning.toolbar.appmenuButton1.tooltip "Seall clàr-taice &brandShortName;"> +<!ENTITY lightning.toolbar.calendarmenu.label "Leòsan a' mhìosachain"> +<!ENTITY lightning.toolbar.calendarmenu.accesskey "m"> +<!ENTITY lightning.toolbar.calendarpane.label "Seall leòsan a' mhìosachain"> +<!ENTITY lightning.toolbar.calendarpane.accesskey "m"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/lightning/lightning.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/lightning/lightning.dtd new file mode 100644 index 0000000000000000000000000000000000000000..8e6be9e79f236b789faf56d2322893929e6eb812 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/lightning/lightning.dtd @@ -0,0 +1,114 @@ +<!-- 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/. --> + +<!-- WARNING! This file contains UTF-8 encoded characters! + - If this ==> … <== doesn't look like an ellipsis (three dots in a row), + - your editor isn't using UTF-8 encoding and may munge up the document! + --> + +<!-- Tools menu --> +<!ENTITY lightning.preferencesLabel "Am mìosachan"> + +<!-- New menu popup in File menu --> +<!ENTITY lightning.menupopup.new.event.label "Tachartas…"> +<!ENTITY lightning.menupopup.new.event.accesskey "T"> +<!ENTITY lightning.menupopup.new.task.label "Saothair…"> +<!ENTITY lightning.menupopup.new.task.accesskey "t"> +<!ENTITY lightning.menupopup.new.calendar.label "Mìosachan…"> +<!ENTITY lightning.menupopup.new.calendar.accesskey "n"> + +<!-- Open menu popup in File menu --> +<!ENTITY lightning.menupopup.open.calendar.label "Faidhle mìosachain…"> +<!ENTITY lightning.menupopup.open.calendar.accesskey "c"> + +<!-- View Menu --> +<!ENTITY lightning.menu.view.calendar.label "Mìosachan"> +<!ENTITY lightning.menu.view.calendar.accesskey "n"> +<!ENTITY lightning.menu.view.tasks.label "Saothraichean"> +<!ENTITY lightning.menu.view.tasks.accesskey "S"> + +<!-- Events and Tasks menu --> +<!ENTITY lightning.menu.eventtask.label "Tachartasan is saothraichean"> +<!ENTITY lightning.menu.eventtask.accesskey "n"> + +<!-- properties dialog, calendar creation wizard --> +<!-- LOCALIZATON NOTE(lightning.calendarproperties.email.label, + lightning.calendarproperties.forceEmailScheduling.label) + These strings are used in the calendar wizard and the calendar properties dialog, but are only + displayed when setting/using a caldav calendar --> +<!ENTITY lightning.calendarproperties.email.label "Post-dealain:"> +<!ENTITY lightning.calendarproperties.forceEmailScheduling.label "B’ fhearr leam sgeidealachadh puist-d taobh a’ chliant"> +<!-- LOCALIZATON NOTE(lightning.calendarproperties.forceEmailScheduling.tooltiptext1, + lightning.calendarproperties.forceEmailScheduling.tooltiptext2) + - tooltiptext1 is used in the calendar wizard when setting a new caldav calendar + - tooltiptext2 is used in the calendar properties dialog for caldav calendars --> +<!ENTITY lightning.calendarproperties.forceEmailScheduling.tooltiptext1 "Chan urrainn dhut, aig an àm seo, seo a chur an comas an dèidh dhut am mìosachan seo a shuidheachadh ann an còmhradh nan roghainnean aige ma dhèiligeas frithealaiche a’ mhìosachain ris an sgeidealachadh."> +<!ENTITY lightning.calendarproperties.forceEmailScheduling.tooltiptext2 "Chan eil an roghainn seo ri làimh ach ma tha frithealaiche a’ mhìosachain a’ dèiligeadh ris an sgeidealachadh. Ma chuireas tu seo an comas, ceadaichidh seo tilleadh gu sgeidealachadh stannardach a tha stèidhichte air puist-d seach fhàgail aig an fhrithealaiche."> + +<!-- The notifications settings in the properties dialog --> +<!ENTITY lightning.calendarproperties.notifications.label "Brathan"> +<!ENTITY lightning.calendarproperties.globalNotifications.label "Roghainnean bhrathan uile-choitcheann…"> + +<!-- iMIP Bar (meeting support) --> +<!ENTITY lightning.imipbar.btnAccept.label "Gabh ris"> +<!ENTITY lightning.imipbar.btnAccept2.tooltiptext "Gabh ri cuireadh an tachartais"> +<!ENTITY lightning.imipbar.btnAcceptRecurrences.label "Gabh ris a h-uile"> +<!ENTITY lightning.imipbar.btnAcceptRecurrences2.tooltiptext "Gabh ris a’ chuireadh airson gach aon teachd dheth"> +<!ENTITY lightning.imipbar.btnAdd.label "Cuir ris"> +<!ENTITY lightning.imipbar.btnAdd.tooltiptext "Cuir an tachartas ris a' mhìosachan"> +<!ENTITY lightning.imipbar.btnDecline.label "Diùlt"> +<!ENTITY lightning.imipbar.btnDecline2.tooltiptext "Diùlt cuireadh an tachartais"> +<!ENTITY lightning.imipbar.btnDeclineRecurrences.label "Diùlt na h-uile"> +<!ENTITY lightning.imipbar.btnDeclineRecurrences2.tooltiptext "Diùlt gach cuireadh do gach teachd dhen tachartas seo"> +<!ENTITY lightning.imipbar.btnDeclineCounter.label "Diùlt"> +<!ENTITY lightning.imipbar.btnDeclineCounter.tooltiptext "Diùlt am moladh eile"> +<!ENTITY lightning.imipbar.btnDelete.label "Sguab às"> +<!ENTITY lightning.imipbar.btnDelete.tooltiptext "Sguab às a' mhìosachan"> +<!ENTITY lightning.imipbar.btnDetails.label "Mion-fhiosrachadh…"> +<!ENTITY lightning.imipbar.btnDetails.tooltiptext "Seall mion-fhiosrachadh an tachartais"> +<!ENTITY lightning.imipbar.btnDoNotShowImipBar.label "Na seall seo na teachaireachdan seo dhomh"> +<!ENTITY lightning.imipbar.btnGoToCalendar.label "Am mìosachan"> +<!ENTITY lightning.imipbar.btnGoToCalendar.tooltiptext "Tadhail air taba a’ mhìosachain"> +<!ENTITY lightning.imipbar.btnMore.label "Barrachd"> +<!ENTITY lightning.imipbar.btnMore.tooltiptext "Dèan briogadh airson barrachd roghainnean"> +<!ENTITY lightning.imipbar.btnReconfirm2.label "Ath-dhearbh"> +<!ENTITY lightning.imipbar.btnReconfirm.tooltiptext "Cuiridh seo ath-dhearbhadh gun eagraiche"> +<!ENTITY lightning.imipbar.btnReschedule.label "Àm eile"> +<!ENTITY lightning.imipbar.btnReschedule.tooltiptext "Cuir an tachartas air an sgeideal airson àm"> +<!ENTITY lightning.imipbar.btnSaveCopy.label "Sàbhail lethbhreac dheth"> +<!ENTITY lightning.imipbar.btnSaveCopy.tooltiptext "Sàbhail lethbhreac dhen tachartas sa mhìosachan, fiù mur am freagair thu an t-eagraiche. Thèid liosta nam freastalaichean fhalamhachadh."> +<!ENTITY lightning.imipbar.btnTentative.label "An dòchas"> +<!ENTITY lightning.imipbar.btnTentative2.tooltiptext "Gabh ri cuireadh an tachartais gun chinnt"> +<!ENTITY lightning.imipbar.btnTentativeRecurrences.label "Gach aon gun chinnt"> +<!ENTITY lightning.imipbar.btnTentativeRecurrences2.tooltiptext "Gabh ri gach cuireadh de gach teachd dhen tachartas seo gun chinnt"> +<!ENTITY lightning.imipbar.btnUpdate.label "Ùraich"> +<!ENTITY lightning.imipbar.btnUpdate.tooltiptext "Ùraich an tachartas sa mhìosachan"> +<!ENTITY lightning.imipbar.description "Tha cuireadh gu tachartas san teachdaireachd seo."> + +<!ENTITY lightning.imipbar.btnSend.label "Cuir freagairt an-dràsta"> +<!ENTITY lightning.imipbar.btnSend.tooltiptext "Cuir freagairt gun eagraiche"> +<!ENTITY lightning.imipbar.btnSendSeries.tooltiptext "Cuir freagairt mu choinneamh an t-sreatha gu lèir gun eagraiche"> +<!ENTITY lightning.imipbar.btnDontSend.label "Na cuir freagairt"> +<!ENTITY lightning.imipbar.btnDontSend.tooltiptext "Atharraich staid a’ chom-pàirteachais agad gun fhreagairt a chur gun eagraiche"> +<!ENTITY lightning.imipbar.btnDontSendSeries.tooltiptext "Atharraich staid a’ chom-pàirteachais agad mu choinneamh an t-sreatha gun fhreagairt a chur gun eagraiche"> + +<!-- Lightning specific keybindings --> +<!ENTITY lightning.keys.event.showCalendar.key "C"> +<!ENTITY lightning.keys.event.showTasks.key "D"> +<!ENTITY lightning.keys.event.new "I"> +<!ENTITY lightning.keys.todo.new "D"> + +<!-- Account Central page --> +<!ENTITY lightning.acctCentral.newCalendar.label "Cruthaich mìosachan ùr"> + +<!-- today-pane-specific --> +<!ENTITY todaypane.showMinimonth.label "Seall meanbh-mhìos"> +<!ENTITY todaypane.showMinimonth.accesskey "m"> +<!ENTITY todaypane.showMiniday.label "Seall meanbh-latha"> +<!ENTITY todaypane.showMiniday.accesskey "S"> +<!ENTITY todaypane.showNone.label "Na seall gin"> +<!ENTITY todaypane.showNone.accesskey "N"> +<!ENTITY todaypane.showTodayPane.label "Seall leòsan an latha"> +<!ENTITY todaypane.showTodayPane.accesskey "S"> +<!ENTITY todaypane.statusButton.label "Leòsan an latha"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/lightning/lightning.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/lightning/lightning.properties new file mode 100644 index 0000000000000000000000000000000000000000..846d7adf01c08a66caddcd29466f73a63ad889ef --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/lightning/lightning.properties @@ -0,0 +1,165 @@ +# 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/. + +# Task mode title +taskModeApplicationTitle=Saothraichean + +# Tab titles +tabTitleCalendar=Mìosachan +tabTitleTasks=Saothraichean + +# Html event display in message +imipHtml.header=Cuireadh gu tachartas +imipHtml.summary=Tiotal: +imipHtml.location=Seòladh: +imipHtml.when=Cuin: +imipHtml.organizer=Eagraiche: +imipHtml.description=Tuairisgeul: +# LOCALIZATION_NOTE(imipHtml.attachments): This is a label for one or more (additional) links to +# documents or websites attached to this event. +imipHtml.attachments=Ceanglachain: +imipHtml.comment=Beachd: +imipHtml.attendees=Freastalaichean: +# LOCALIZATION_NOTE(imipHtml.url): This is a label for a reference to an (alternate) online +# representation of the event (either directly human readable or not). +imipHtml.url=Ceangal co-cheangailte: +imipHtml.canceledOccurrences=Teachdan a sguireadh dhiubh: +imipHtml.modifiedOccurrences=Teachdan a chaidh atharrachadh: +imipHtml.newLocation=Ionad ùr: %1$S +# LOCALIZATION_NOTE(imipHtml.attendeeDelegatedFrom): this is appended behind an attendee name in the +# email invitation preview - don't add leading/trailing whitespaces here +# %1$S - a single delegator or a comma separated list of delegators +imipHtml.attendeeDelegatedFrom=(air iomruineadh o %1$S) +# LOCALIZATION_NOTE(imipHtml.attendeeDelegatedTo): this is appended behind an attendee name in the +# email invitation preview - don't add leading/trailing whitespaces here +# %1$S - a single delegatee or a comma separated list of delegatees +imipHtml.attendeeDelegatedTo=(air iomruineadh dha %1$S) + +# LOCALIZATION_NOTE(imipHtml.attendee.combined): tooltip for itip icon in email invitation preview. +# Given an attendee loungeexample.org of type room is a mandatory participant and has accepted the +# invitation, the tooltip would be: +# lounge@example.org (room) is a required participant. lounge@example.org has confirmed attendance. +# %1$S - value of imipHtml.attendeeRole2.* +# %2$S - value of imipHtml.attendeePartStat2.* +imipHtml.attendee.combined=%1$S %2$S + +# LOCALIZATION_NOTE(imipHtml.attendeeRole2.CHAIR): used to compose +# imipHtml.attendee.combined +# %1$S - value of imipHtml.attendeeUserType2.* +imipHtml.attendeeRole2.CHAIR=Bidh %1$S sa chathair aig an tachartas +# LOCALIZATION_NOTE(imipHtml.attendeeRole2.NON-PARTICIPANT): used to compose +# imipHtml.attendee.combined +# %1$S - value of imipHtml.attendeeUserType2.* +imipHtml.attendeeRole2.NON-PARTICIPANT=Cha ghabh %1$S pàirt. +# LOCALIZATION_NOTE(imipHtml.attendeeRole2.OPT-PARTICIPANT): used to compose +# imipHtml.attendee.combined +# %1$S - value of imipHtml.attendeeUserType2.* +imipHtml.attendeeRole2.OPT-PARTICIPANT=Gabhaibh %1$S pàirt ach chan eil an làthaireachd riatanach. +# LOCALIZATION_NOTE(imipHtml.attendeeRole2.REQ-PARTICIPANT): used to compose +# imipHtml.attendee.combined +# %1$S - value of imipHtml.attendeeUserType2.* +imipHtml.attendeeRole2.REQ-PARTICIPANT=Gabhaidh %1$S pàirt is tha an làthaireachd riatanach. + +# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.ACCEPTED): used to compose +# imipHtml.attendee.combined +# %1$S - common name or email address of the attendee +imipHtml.attendeePartStat2.ACCEPTED=Dhearbh %1$S gum bi iad an làthair. +# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.DECLINED): used to compose +# imipHtml.attendee.combined +# %1$S - common name or email address of the attendee +imipHtml.attendeePartStat2.DECLINED=Thuirt %1$S nach bi iad an làthair. +# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.DELEGATED): used to compose +# imipHtml.attendee.combined +# %1$S - common name or email address of the attendee +# %2$S - single delegatee or comma separated list of delegatees +# delegation is different from invitation forwarding - in case of the former the original attendee +# is replaced, while on the latter the receiver may take part additionally +imipHtml.attendeePartStat2.DELEGATED=Bidh %2$S an làthair as leth %1$S. +# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.NEEDS-ACTION): used to compose +# imipHtml.attendee.combined +# %1$S - common name or email address of the attendee +imipHtml.attendeePartStat2.NEEDS-ACTION=Feumaidh %1$S freagairt fhathast. +# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.TENTATIVE): used to compose +# imipHtml.attendee.combined +# %1$S - common name or email address of the attendee +imipHtml.attendeePartStat2.TENTATIVE=Dhearbh %1$S gum bi iad an làthair ach gun chinnt. + +# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.INDIVIDUAL): used to compose +# imipHtml.attendeeRole2.* +# %1$S - email address or common name <email address> representing an individual attendee +imipHtml.attendeeUserType2.INDIVIDUAL=%1$S +# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.GROUP): used to compose +# imipHtml.attendeeRole2.* +# %1$S - email address or common name <email address> representing a group (e.g. a distribution list) +imipHtml.attendeeUserType2.GROUP=%1$S (buidheann) +# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.RESOURCE): used to compose +# imipHtml.attendeeRole2.* +# %1$S - email address or common name <email address> representing a resource (e.g. projector) +imipHtml.attendeeUserType2.RESOURCE=%1$S (goireas) +# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.ROOM): used to compose +# imipHtml.attendeeRole2.* +# %1$S - email address or common name <email address> representing a room +imipHtml.attendeeUserType2.ROOM=%1$S (seòmar) +# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.UNKNOWN): used to compose +# imipHtml.attendeeRole2.* +# %1$S - email address or common name <email address> representing an attendee of unknown type +imipHtml.attendeeUserType2.UNKNOWN=%1$S + +imipAddedItemToCal2=Chaidh an tachartas a chur ris a’ mhìosachan agad. +imipCanceledItem2=Chaidh an tachartas seo a sguabadh às a’ mhìosachan agad. +imipUpdatedItem2=Chaidh an tachartas ùrachadh. +imipBarCancelText=Tha fios mu thachartas a chaidh a chur dheth san teachdaireachd seo. +imipBarCounterErrorText=Tha frith-mholadh san teachdaireachd seo mu thachartas nach urrainn dhuinn làimhseachadh. +imipBarCounterPreviousVersionText=Tha frith-mholadh san teachdaireachd seo mu sheann-tionndadh de chuireadh. +imipBarCounterText=Tha frith-mholadh eile mu choinneamh cuiridh san teachdaireachd seo. +imipBarDisallowedCounterText=Tha frith-mholadh san teachdaireachd seo ged nach do cheadaich thu frith-mholaidhean mu choinneamh an tachartais seo. +imipBarDeclineCounterText=Tha freagairt sa teachdaireachd seo mu choinneamh an fhrith-mholaidh a rinn thu. +imipBarRefreshText=Tha an teachdaireachd seo ag iarraidh ùrachadh mu thachartas. +imipBarPublishText=Tha tachartas san teachdaireachd seo. +imipBarRequestText=Tha cuireadh gu tachartas san teachdaireachd seo. +imipBarSentText=Tha tachartas a chaidh a chur san teachdaireachd seo. +imipBarSentButRemovedText=Tha tachartas a chaidh a chur san teachdaireachd seo ach chan eil e sa mhìosachan agad tuilleadh. +imipBarUpdateText=Tha ùrachadh airson tachartas a tha ann mu tràth sa teachdaireachd seo. +imipBarUpdateMultipleText=Tha ùrachaidhean airson iomadh tachartas san teachdaireachd seo. +imipBarUpdateSeriesText=Tha ùrachadh airson sreath de thachartasan a tha ann mu tràth san teachdaireachd seo. +imipBarAlreadyProcessedText=Tha tachartas san teachdaireachd seo a chaidh a làimhseachadh mu thràth. +imipBarProcessedNeedsAction=Tha tachartas san teachdaireachd seo nach do dhèilig thu ris fhathast. +imipBarProcessedMultipleNeedsAction=Tha iomadh tachartas san teachdaireachd seo nach do fhreagair thu fhathast. +imipBarProcessedSeriesNeedsAction=Tha sreath de thachartasan san teachdaireachd seo nach do fhreagair thu fhathast. +imipBarReplyText=Tha freagairt gu cuireadh san teachdaireachd seo. +imipBarReplyToNotExistingItem=Tha freagairt san teachdaireachd seo a tha a’ toirt iomradh air tachartas nach eil sa mhìosachan agad. +# LOCALIZATION_NOTE(imipBarReplyToRecentlyRemovedItem): +# %1$S - datetime of deletion +imipBarReplyToRecentlyRemovedItem=Tha freagairt san teachdaireachd seo a tha a’ toirt iomradh air tachartas a chaidh a thoirt air falbh on mhìosachan agad %1$S. +imipBarUnsupportedText2=Tha tachartas san teachdaireachd seo nach urrainn do %1$S làimhseachadh. +imipBarProcessingFailed=Dh'fhàillig pròiseasadh na teachdaireachd. Staid: %1$S. +imipBarCalendarDeactivated=Tha fiosrachadh mu thachartas san teachdaireachd seo. Cuir mìosachan an comas airson a làimhseachadh. +imipBarNotWritable=Chan eil mìosachan sam bith ann anns an urrainn dhuinn sgrìobhadh 's a chaidh a rèiteachadh airson chuiridhean. Thoir sùil air roghainnean a' mhìosachain. +imipSendMail.title=Post-dealain caismeachd +imipSendMail.text=A bheil thu airson post-dealain caismeachd a chur an-dràsta? +imipNoIdentity=Chan eil gin +imipNoCalendarAvailable=Chan eil mìosachain ann as urrainn dhut sgrìobhadh annta. + +itipReplySubject2=Freagairt ris a’ chuireadh: %1$S +itipReplyBodyAccept=Ghabh %1$S ris a' chuireadh agad gun tachartas. +itipReplyBodyDecline=Dhiùlt %1$S do chuireadh gun tachartas. +itipReplySubjectAccept2=Air gabhail ris: %1$S +itipReplySubjectDecline2=Cuireadh air a dhiùltadh: %1$S +itipReplySubjectTentative2=Gun chinnt: %1$S +itipRequestSubject2=Cuireadh: %1$S +itipRequestUpdatedSubject2=Air ùrachadh: %1$S +itipRequestBody=Thug %1$S cuireadh dhut gu %2$S +itipCancelSubject2=Air a chur gu neoini: %1$S +itipCancelBody=Chuir %1$S dheth an tachartas seo: %2$S +itipCounterBody=Rinn %1$S frith-mholadh mu choinneamh “%2$S”: +itipDeclineCounterBody=Dhiùlt %1$S do fhrith-mholadh mu choinneamh “%2$S”. +itipDeclineCounterSubject=Chaidh am frith-mholadh a dhiùltadh: %1$S + +confirmProcessInvitation=Sguab thu às an rud seo o chionn goirid, a bheil thu cinnteach gu bheil thu airson an cuireadh seo a phròiseasadh? +confirmProcessInvitationTitle=Tha, pròiseasaich an cuireadh? + +invitationsLink.label=Cuiridhean: %1$S + +# LOCALIZATION NOTE(noIdentitySelectedNotification): +noIdentitySelectedNotification=Ma tha thu airson am mìosachan seo a chleachdadh airson cuiridhean o dhaoine eile no gu daoine eile, bu chòir dhut dearbh-aithne puist-d iomruineadh gu h-ìosal. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-mapi/mapi.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-mapi/mapi.properties new file mode 100644 index 0000000000000000000000000000000000000000..4384c9682eb5a38f97eba2a0c62b1cd49b31e657 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-mapi/mapi.properties @@ -0,0 +1,36 @@ +# 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/. + +# Mail Integration Dialog +dialogTitle=%S +dialogText=A bheil thu airson %S a chleachdadh mar am prògram bunaiteach agad airson a' phuist-dhealain?\u0020 +newsDialogText=A bheil thu airson %S a chleachdadh mar am prògram bunaiteach agad airson naidheachdan? +feedDialogText=A bheil thu airson %S a chleachdadh mar an trusaiche bunaiteach agad airson inbhirean? +checkboxText=Na seall dhomh an còmhradh seo a-rithist +setDefaultMail=Chan eil %S 'na phrògram bunaiteach agad airson a' phuist-dhealain an-dràsta. A bheil thu airson a shuidheachadh mar am prògram bunaiteach agad airson a' phuist-dhealain? +setDefaultNews=Chan eil %S 'na phrògram bunaiteach agad airson naidheachdan an-dràsta. A bheil thu airson a shuidheachadh mar am prògram bunaiteach airson naidheachdan? +setDefaultFeed=Chan eil %S 'na thrusaiche bunaiteach agad airson inbhirean an-dràsta. A bheil thu airson a shuidheachadh mar an trusaiche bunaiteach agad airson inbhirean? +alreadyDefaultMail=Tha %S 'na phrògram bunaiteach agad airson a' phuist-dhealain mu thràth. +alreadyDefaultNews=Tha %S 'na phrògram bunaiteach agad airson naidheachdan mu thràth. +alreadyDefaultFeed=Tha %S 'na thrusaiche bunaiteach agad airson inbhirean mu thràth. + +# MAPI Messages +loginText=Cuir a-steach am facal-faire agad airson %S: +loginTextwithName=Cuir a-steach an t-ainm-cleachdaiche 's am facal-faire agad\u0020 +loginTitle=%S +PasswordTitle=%S + +# MAPI Error Messages +errorMessage=Cha b' urrainn dhuinn %S a shuidheachadh mar am prògram bunaiteach airson a' phuist-dhealain a chionn 's gun robh iuchair san chlàr-lann nach gabh ùrachadh. Bruidhinn ri rianadair an t-siostaim agad gus dèanamh cinnteach gu bheil cead sgrìobhadh agad san aonad-chlàraidh 's feuch ris a-rithist an uairsin. +errorMessageNews=Cha b' urrainn dhuinn %S a shuidheachadh mar am prògram bunaiteach airson naidheachdan a chionn 's gun robh iuchair san chlàr-lann nach gabh ùrachadh. Bruidhinn ri rianadair an t-siostaim agad gus dèanamh cinnteach gu bheil cead sgrìobhadh agad san aonad-chlàraidh 's feuch ris a-rithist an uairsin. +errorMessageTitle=%S + +# MAPI Security Messages +mapiBlindSendWarning=Tha prògram eile a' feuchainn ri post a chur tron phròifil chleachdaiche agad. A bheil thu cinnteach gu bheil thu airson post a chur? +mapiBlindSendDontShowAgain=Thoir rabhadh dhomh nuair a dh'fheuchas prògraman eile ri post a chur as mo leth + +#Default Mail Display String +# localization note, %S is the vendor name +defaultMailDisplayTitle=%S + diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-newsblog/am-newsblog.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-newsblog/am-newsblog.dtd new file mode 100644 index 0000000000000000000000000000000000000000..641950330579aaf04bdf3e1256950ca5c0d90f3a --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-newsblog/am-newsblog.dtd @@ -0,0 +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/. --> + +<!ENTITY biffAll.label "Cuir an comas na h-ùrachaidhean airson gach inbhir"> +<!ENTITY biffAll.accesskey "e"> + +<!ENTITY newFeedSettings.label "Bun-roghainnean airson inbhirean ùra"> + +<!ENTITY manageSubscriptions.label "Rianaich fo-sgrìobhaidhean…"> +<!ENTITY manageSubscriptions.accesskey "R"> + +<!ENTITY feedWindowTitle.label "Draoidh cunntasan inbhirean"> +<!ENTITY feeds.accountName "Blogaichean ⁊ inbhirean naidheachdan"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-newsblog/feed-subscriptions.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-newsblog/feed-subscriptions.dtd new file mode 100644 index 0000000000000000000000000000000000000000..12eb27023d4a1e9fcc767f4fcfa95e6136fc8b35 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-newsblog/feed-subscriptions.dtd @@ -0,0 +1,55 @@ +<!-- 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/. --> + +<!-- Subscription Dialog --> +<!ENTITY feedSubscriptions.label "Fo-sgrìobhaidhean an inbhir"> +<!ENTITY learnMore.label "Barrachd fiosrachaidh air inbhirean"> + +<!ENTITY feedTitle.label "Tiotal:"> +<!ENTITY feedTitle.accesskey "T"> + +<!ENTITY feedLocation.label "URL an inbhir:"> +<!ENTITY feedLocation.accesskey "U"> +<!ENTITY feedLocation2.placeholder "Cuir URL dligheach de dh’inbhir a-steach"> +<!ENTITY locationValidate.label "Dearbh"> +<!ENTITY validateText.label "Sgrùdaich an dearbhadh is faigh URL dligheach."> + +<!ENTITY feedFolder.label "Stòir artaigilean ann an:"> +<!ENTITY feedFolder.accesskey "S"> + +<!-- Account Settings and Subscription Dialog --> +<!ENTITY biffStart.label "Thoir sùil airson artaigealan ùra gach "> +<!ENTITY biffStart.accesskey "T"> +<!ENTITY biffMinutes.label "mionaidean"> +<!ENTITY biffMinutes.accesskey "n"> +<!ENTITY biffDays.label "làithean"> +<!ENTITY biffDays.accesskey "l"> +<!ENTITY recommendedUnits.label "Tha am foillsichear a’ moladh:"> + +<!ENTITY quickMode.label "Seall gearr-chunntas na h-artaigil 's na luchdaich an duilleag-lìn"> +<!ENTITY quickMode.accesskey "h"> + +<!ENTITY autotagEnable.label "Cruthaich tagaichean gu fèin-obrachail, stèidhichte air ainmean <roinnean-seòrsa> an inbhir"> +<!ENTITY autotagEnable.accesskey "o"> +<!ENTITY autotagUsePrefix.label "Cuir an ro-leasachan seo ris na tagaichean:"> +<!ENTITY autotagUsePrefix.accesskey "r"> +<!ENTITY autoTagPrefix.placeholder "Cuir ro-leasachan taga a-steach"> + +<!-- Subscription Dialog --> +<!ENTITY button.addFeed.label "Cuir ris"> +<!ENTITY button.addFeed.accesskey "C"> +<!ENTITY button.verifyFeed.label "Dearbh"> +<!ENTITY button.verifyFeed.accesskey "D"> +<!ENTITY button.updateFeed.label "Deasaich"> +<!ENTITY button.updateFeed.accesskey "e"> +<!ENTITY button.removeFeed.label "Thoir air falbh"> +<!ENTITY button.removeFeed.accesskey "r"> +<!ENTITY button.importOPML.label "Ion-phortaich"> +<!ENTITY button.importOPML.accesskey "I"> +<!ENTITY button.exportOPML.label "Às-phortaich"> +<!ENTITY button.exportOPML.accesskey "p"> +<!ENTITY button.exportOPML.tooltip "Às-phortaich inbhirean còmhla ri structar nam pasgan aca; CTRL is briogadh no CTRL ENTER gus na h-inbhirean às-phortadh mar liosta"> + +<!ENTITY cmd.close.commandKey "w"> +<!ENTITY button.close.label "Dùin"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-newsblog/newsblog.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-newsblog/newsblog.properties new file mode 100644 index 0000000000000000000000000000000000000000..8d8e8b91eba8df8b734d7e30be66bb26ac4c5ecc --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-newsblog/newsblog.properties @@ -0,0 +1,93 @@ +# 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/. + +subscribe-validating-feed=A' dearbhadh an inbhir… +subscribe-cancelSubscription=A bheil thu cinnteach gu bheil thu airson crìoch a chur air an fho-sgrìobhadh agad gun inbhir seo? +subscribe-cancelSubscriptionTitle=A' fo-sgrìobhadh gu inbhir… +subscribe-feedAlreadySubscribed=Tha fo-sgrìobhadh agad gun inbhir seo mu thràth. +subscribe-errorOpeningFile=Cha b' urrainn dhuinn am faidhle fhosgladh. +subscribe-feedAdded=Chaidh an t-inbhir a chur ris. +subscribe-feedUpdated=Chaidh an t-inbhir ùrachadh. +subscribe-feedMoved=Chaidh fo-sgrìobhadh an inbhir a ghluasad. +subscribe-feedCopied=Chaidh lethbhreac a dhèanamh de dh'fho-sgrìobhadh an inbhir. +subscribe-feedRemoved=Sguir thu dhen fho-sgrìobhadh. +subscribe-feedNotValid=Chan e inbhir dligheach a tha ann an URL an inbhir. +subscribe-feedVerified=Chaidh URL an inbhir seo a dhearbhadh. +subscribe-networkError=Cha b' urrainn dhuinn URL an inbhir a lorg. Thoir sùil air ainm 's feuch ris a-rithist. +subscribe-noAuthError=Cha deach URL an inbhir seo ùghdarrachadh. +subscribe-loading='Ga luchdadh, fuirich ort… + +subscribe-OPMLImportTitle=Tagh faidhle OPML airson ion-phortadh +## LOCALIZATION NOTE(subscribe-OPMLExportTitleList): +## %S is the name of the feed account folder name. +subscribe-OPMLExportTitleList=Às-phortaich %S mar fhaidhle OPML - Liosta inbhirean +## LOCALIZATION NOTE(subscribe-OPMLExportTitleStruct): +## %S is the name of the feed account folder name. +subscribe-OPMLExportTitleStruct=Às-phortaich %S mar fhaidhle OPML file - Inbhirean le structar phasgan +## LOCALIZATION NOTE(subscribe-OPMLExportFileDialogTitle): +## %1$S is the brandShortName, %2$S is the name of the feed account folder name. +subscribe-OPMLExportFileDialogTitle=Às-phortadh OPML %1$S - %2$S +## LOCALIZATION NOTE(subscribe-OPMLExportDefaultFileName): +## %1$S is the brandShortName (Thunderbird for example), %2$S is the account name. +## The default extension (.opml) is added here as it is not automatically appended in the file picker on MacOS. +subscribe-OPMLExportDefaultFileName=NahInbhirean%1$SAgam-%2$S.opml +## LOCALIZATION NOTE(subscribe-OPMLImportInvalidFile): %S is the name of the OPML file the user tried to import. +subscribe-OPMLImportInvalidFile=Chan eil %S 'na fhaidhle dligheach OPML. +## LOCALIZATION NOTE(subscribe-OPMLImportFeedCount): Semi-colon list of plural forms. +## See: http://developer.mozilla.org/en/docs/Localization_and_Plurals +## #1 is the count of new imported entries. +subscribe-OPMLImportFeedCount=Chaidh #1 inbhir ùr a chur ris.;Chaidh #1 inbhir ùr a chur ris.;Chaidh #1 inbhirean ùr a chur ris.;Chaidh #1 inbhir ùr a chur ris. +## LOCALIZATION NOTE(subscribe-OPMLImportUniqueFeeds): Semi-colon list of plural forms. +## #1 is the count of new imported entries +subscribe-OPMLImportUniqueFeeds=Chaidh #1 inbhir ùr ion-phortadh nach eil fo-sgrìobhadh agad ann fhathast.;Chaidh #1 inbhir ùr ion-phortadh nach eil fo-sgrìobhadh agad ann fhathast.;Chaidh #1 inbhirean ùr ion-phortadh nach eil fo-sgrìobhadh agad ann fhathast.;Chaidh #1 inbhir ùr ion-phortadh nach eil fo-sgrìobhadh agad ann fhathast. +## LOCALIZATION NOTE(subscribe-OPMLImportFoundFeeds): +## #1 is total number of elements found in the file +subscribe-OPMLImportFoundFeeds=(a-mach à #1 innteart a chaidh a lorg);(a-mach à #1 innteart a chaidh a lorg);(a-mach à #1 innteartan a chaidh a lorg);(a-mach à #1 innteart a chaidh a lorg); +## LOCALIZATION NOTE(subscribe-OPMLImportStatus): +## This is the concatenation of the two strings defined above to compose 1 sentence. +## %1$S = subscribe-OPMLImportUniqueFeeds +## %2$S = subscribe-OPMLImportFoundFeeds +subscribe-OPMLImportStatus=%1$S %2$S. + +subscribe-OPMLExportOPMLFilesFilterText=Faidhlichean OPML +## LOCALIZATION NOTE(subscribe-OPMLExportDone): %S is the export file name. +subscribe-OPMLExportDone=Chaidh na h-inbhirean sa chunntas seo às-phortadh gu %S. + +subscribe-confirmFeedDeletionTitle=Thoir air falbh inbhir +## LOCALIZATION NOTE(subscribe-confirmFeedDeletion): %S is the name of the feed the user wants to unsubscribe from. +subscribe-confirmFeedDeletion=A bheil thu cinnteach gu bheil thu airson sgur dhen fho-sgrìobhadh gu: \n %S? + +## LOCALIZATION NOTE(subscribe-gettingFeedItems): +## - The first %S is the number of articles processed so far; +## - The second %S is the total number of items +subscribe-gettingFeedItems=A' luchdadh a-nuas artagailean an inbhir (%S à %S)… + +newsblog-noNewArticlesForFeed=Chan eil artagailean ùra aig an inbhir seo. +## LOCALIZATION NOTE(newsblog-networkError): %S is the feed URL +newsblog-networkError=Cha b' urrainn dhuinn %S a lorg. Thoir sùil air an ainm is feuch ris a-rithist. +## LOCALIZATION NOTE(newsblog-feedNotValid): %S is the feed URL +newsblog-feedNotValid=Chan eil %S 'na inbhir dligheach. +## LOCALIZATION NOTE(newsblog-badCertError): %S is the feed URL host +newsblog-badCertError=Tha %S a’ cleachdadh teisteanas tèarainteachd mì-dhligheach. +## LOCALIZATION NOTE(newsblog-noAuthError): %S is the feed URL +newsblog-noAuthError=Cha deach %S ùghdarrachadh. +newsblog-getNewMsgsCheck=A' toirt sùil air na h-inbhirean air tòir rudan ùra… + +## LOCALIZATION NOTE(feeds-accountname): This string should be the same as feeds.accountName in am-newsblog.dtd +feeds-accountname=Blogaichean ⁊ inbhirean naidheachdan + +## LOCALIZATION NOTE(externalAttachmentMsg): Content in the MIME part for external link attachments. +externalAttachmentMsg=Tha a ceanglachan MIME seo ’ga stòradh air falbh on teachdaireachd. + +## Import wizard. +ImportFeedsCreateNewListItem=* Cunntas ùr * +ImportFeedsNewAccount=Cruthaich is ion-phortaich gu cunntas inbhirean ùr +ImportFeedsExistingAccount=Ion-phortaich gu cunntas inbhirean a tha agad mu thràth +## LOCALIZATION NOTE(ImportFeedsDone): +## - The first %S is the import file name; +## - The second %S is the value of either ImportFeedsNew or ImportFeedsExisting; +## - The third %S is the feed account name. +ImportFeedsNew=ùr +ImportFeedsExisting=làithreach +ImportFeedsDone=Chaidh ion-phortadh fo-sgrìobhaidhean nan inbhirean on fhaidhle %1$S dhan chunntas %2$S '%3$S' a choileanadh. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-region/region.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-region/region.properties new file mode 100644 index 0000000000000000000000000000000000000000..59b7d0b3abd8f0793f2fa8453310efb6a4b5f7e1 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-region/region.properties @@ -0,0 +1,29 @@ +# 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/. + +# To make mapit buttons to disappear in the addressbook, specify empty string. For example: +# mail.addr_book.mapit_url.format= +# The mail.addr_book.mapit_url.format should start with the URL of the mapping +# service and then the query part with placeholders to be subsituted from values +# from the addressbook contact's address. +# Available placeholders are: +# @A1 == address, part 1 +# @A2 == address, part 2 +# @CI == city +# @ST == state +# @ZI == zip code +# @CO == country +# Default map service: +mail.addr_book.mapit_url.format=http://maps.google.com/maps?q=@A1%20@A2%20@CI%20@ST%20@ZI%20@CO +# List of available map services (up to 5 can be defined here): +mail.addr_book.mapit_url.1.name=Google Maps +mail.addr_book.mapit_url.1.format=http://maps.google.com/maps?q=@A1%20@A2%20@CI%20@ST%20@ZI%20@CO +mail.addr_book.mapit_url.2.name=OpenStreetMap +mail.addr_book.mapit_url.2.format=http://nominatim.openstreetmap.org/search.php?polygon=1&q=@A1%2C@A2%2C@CI%2C@ST%2C@ZI%2C@CO + +mailnews.messageid_browser.url=http://groups.google.com/search?as_umsgid=%mid + +# Recognize non-standard versions of "Re:" in subjects from localized versions of MS Outlook et al. +# Specify a comma-separated list without spaces. For example: mailnews.localizedRe=AW,SV +mailnews.localizedRe= diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-smime/certFetchingStatus.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-smime/certFetchingStatus.dtd new file mode 100644 index 0000000000000000000000000000000000000000..adf4f007e0f4235061c351ad483cf7d397bdf907 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-smime/certFetchingStatus.dtd @@ -0,0 +1,10 @@ +<!-- 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/. --> + +<!--LOCALIZATION NOTE shown while obtaining certificates from a directory --> + + +<!ENTITY title.label "A' luchdadh a-nuas teisteanasan"> +<!ENTITY info.message "A' rannsachadh a' phasgain airson teisteanasan nam faightearan. Faodaidh gum feum seo mionaid no dhà."> +<!ENTITY stop.label "Sguir dhen rannsachadh"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-smime/msgCompSMIMEOverlay.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-smime/msgCompSMIMEOverlay.dtd new file mode 100644 index 0000000000000000000000000000000000000000..020a71318277b3e234cc0d17cb8b4cf2281b5c51 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-smime/msgCompSMIMEOverlay.dtd @@ -0,0 +1,16 @@ +<!-- 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/. --> + +<!--LOCALIZATION NOTE msgCompSMIMEOverlay.dtd UI for s/mime hooks in message composition --> + +<!-- not yet used +<!ENTITY menu_securityEncryptOptional.label "Allow Encryption"> +<!ENTITY menu_securityEncryptOptional.accesskey "w"> +--> + +<!ENTITY menu_techPGP.label "OpenPGP"> +<!ENTITY menu_techPGP.accesskey "O"> +<!ENTITY menu_techSMIME.label "S/MIME"> +<!ENTITY menu_techSMIME.accesskey "S"> + diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-smime/msgCompSecurityInfo.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-smime/msgCompSecurityInfo.dtd new file mode 100644 index 0000000000000000000000000000000000000000..76ae6163d63e7b6ad8fa2f428a42f7a5c4adeb95 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-smime/msgCompSecurityInfo.dtd @@ -0,0 +1,19 @@ +<!-- 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/. --> + +<!--LOCALIZATION NOTE msgCompSecurityInfo.dtd UI for viewing security status when composing a message --> + + +<!ENTITY title.label "Tèarainteachd na teachdaireachd"> +<!ENTITY subject.plaintextWarning "An aire: Cha bhi loidhnichean cuspair de theachdaireachdan puist-dhealain air an crioptachadh idir."> +<!ENTITY status.heading "Thàid susbaint do theachdaireachd a chur mar seo:"> +<!ENTITY status.signed "Le ainm digiteach:"> +<!ENTITY status.encrypted "Crioptaichte:"> +<!ENTITY status.certificates "Teisteanasan:"> +<!ENTITY view.label "Sealladh"> +<!ENTITY view.accesskey "S"> +<!ENTITY tree.recipient "Faightear"> +<!ENTITY tree.status "Staid"> +<!ENTITY tree.issuedDate "Air fhoillseachadh"> +<!ENTITY tree.expiresDate "Falbhaidh an ùine air"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-smime/msgCompSecurityInfo.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-smime/msgCompSecurityInfo.properties new file mode 100644 index 0000000000000000000000000000000000000000..63b4f8283585a1219d25d073e018aa3ecd4cedf7 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-smime/msgCompSecurityInfo.properties @@ -0,0 +1,13 @@ +# 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/. + +StatusNotFound=Cha deach a lorg +StatusValid=Èifeachdach +StatusExpired=Dh'fhalbh an ùine air +StatusUntrusted=Gun earbsa ann +StatusRevoked=Air a chùl-ghairm +StatusInvalid=Mì-dhligheach +StatusYes=Tha +StatusNo=Chan eil +StatusNotPossible=Cha ghabh seo a dhèanamh diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-smime/msgReadSMIMEOverlay.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-smime/msgReadSMIMEOverlay.properties new file mode 100644 index 0000000000000000000000000000000000000000..d426ef7807f76a13313dcd85e3265eb544942dc4 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-smime/msgReadSMIMEOverlay.properties @@ -0,0 +1,11 @@ +# 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/. + +ImapOnDemand=Tha soighneadh digiteach ris an teachdaireachd a chì thu ach cha deach gach ceanglachan a tha ris a luchdadh a-nuas fhathast. Mar sin, cha ghabh an soighneadh a dhearbhadh. Briog air “Ceart ma-thà” gus an teachdaireachd gu lèir a luchdadh a-nuas is an soighneadh a dhearbhadh. +# +#NOTE To translator, anything between %..% and <..> should not be translated. +# the former will be replaced by java script, and the latter is HTML formatting. +# +CantDecryptTitle=Chan urrainn dha %brand% an crioptachadh a thoirt far na teachdaireachd seo +CantDecryptBody=Chuir an seòladair crioptachadh air an teachdaireachd seo le aon dhe na teisteanasan digiteach agad. Ge-tà, cha b' urrainn do %brand% an teisteanas seo agus an iuchair phrìobhaideach co-cheangailte ris a lorg. <br> Fuasglaidhean a dh'fhaodadh obrachadh: <br><ul><li>Ma tha smartcard agad, cuir a-steach e an-dràsta. <li>Ma tha thu a' cleachdadh inneal ùr no ma tha pròifil %brand% ùr agad, feumaidh tu an teisteanas agus an iuchair phrìobhaideach agad aiseag o lethbhreac-glèidhidh. Tha lethbhric-ghlèidhidh de theisteanasan a' crìochnachadh le ".p12" mar is trice.</ul>\u0020 diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-smime/msgReadSecurityInfo.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-smime/msgReadSecurityInfo.dtd new file mode 100644 index 0000000000000000000000000000000000000000..80c9694b151035a8540f9ac5e35c99cd69e4e738 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-smime/msgReadSecurityInfo.dtd @@ -0,0 +1,17 @@ +<!-- 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/. --> + +<!--LOCALIZATION NOTE msgReadSecurityInfo.dtd UI for viewing security status when reading a received message --> + +<!ENTITY status.label "Tèarainteachd na teachdaireachd"> +<!ENTITY signatureCert.label "Seall teisteanas an t-soighnidh"> +<!ENTITY encryptionCert.label "Seall teisteanas a' chrioptachaidh"> + +<!ENTITY signer.name "Air a shoidhneadh le:"> +<!ENTITY recipient.name "Air a chrioptachadh airson:"> +<!ENTITY email.address "Seòladh a' phuist-dhealain:"> +<!ENTITY issuer.name "Teisteanas air fhoillseachadh le:"> + +<!-- LOCALIZATION NOTE(SMIME.label): This a name for a technical standard. You should not translate it, but if applicable, you may write it using localized characters. --> +<!ENTITY SMIME.label "S/MIME"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-smime/msgSecurityInfo.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-smime/msgSecurityInfo.properties new file mode 100644 index 0000000000000000000000000000000000000000..254fcd2a39549a3a2c87d989268d0656a8365bee --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger-smime/msgSecurityInfo.properties @@ -0,0 +1,36 @@ +# 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/. + +## Signature Information strings +SINoneLabel=Chan eil soighneadh digiteach ris an teachdaireachd +SINone=Cha do chuir an seòladair soighneadh digiteach ris an teachdaireachd seo. Mur eil soighneadh digiteach ann, faodaidh gun deach an teachdaireachd seo a chur le cuideigin a tha a’ leigeil air gu bheil an seòladh puist-d seo aige. Cuideachd, faodaidh gun deach atharrachadh a chur air an teachdaireachd fhad ’s a chaidh a sheòladh thairis air an lìonra. Ge-tà, ’s lughaid gun do thachair rud sam bith mar seo. +SIValidLabel=Tha soighneadh ris an teachdaireachd +SIValid=Tha an teachdaireachd seo a' gabhail a-steach soighneadh digiteach is dligheach. Cha deach atharrachadh a chur air an teachdaireachd seo on a chaidh a chur. +SIInvalidLabel=Chan eil an soighneadh digiteach dligheach +SIInvalidHeader=Tha an teachdaireachd seo a' gabhail a-steach soighneadh digiteach ach chan eil e dligheach. +SIContentAltered=Chan eil an soighneadh a-rèir susbaint na teachdaireachd mar bu chòir. Tha coltas gun deach atharrachadh a chur air an teachdaireachd às dèidh dhan t-seòladair soighneadh a chur ris. Cha bu chòir dhut earbsa a chur ann an dligheachd na teachdaireachd seo mus dearbhaich an seòladair an t-susbaint a tha ann dhut. +SIExpired=Tha coltas gun do dh’fhalbh an ùine air an teisteanas leis a chaidh soighneadh a chur ris an teachdaireachd. Dèan cinnteach gu bheil an t-àm a nochdas uaireadair a’ choimpiutair agad ceart. +SIRevoked=Chaidh an teisteanas leis a chaidh soighneadh a chur ris an teachdaireachd seo a chùl-ghairm. Cha bu chòir dhut earbsa a chur ann an dligheachd na teachdaireachd seo mus dearbhaich an seòladair an t-susbaint a tha ann dhut. +SINotYetValid=Tha coltas nach eil an teisteanas leis a chaidh soighneadh a chur ris an teachdaireachd dligheach fhathast. Dèan cinnteach gu bheil an t-àm a nochdas uaireadair a’ choimpiutair agad ceart. +SIUnknownCA=Chaidh an teisteanas leis a chaidh soighneadh a chur ris an teachdaireachd fhoillseachadh le ùghdarras theisteanasan neo-aithnichte. +SIUntrustedCA=Chaidh an teisteanas leis an deach an teachdaireachd a shoidhneadh fhoillseachadh le ùghdarras theisteanasan nach eil earbsa agad ann airson foillseachadh a leithid seo de theisteanas. +SIExpiredCA=Chaidh an teisteanas leis a chaidh an teachdaireachd a shoidhneadh fhoillseachadh le ùghdarras theisteanasan aig a bheil teisteanas a dh'fhalbh an ùine air. Dèan cinnteach gu bheil an t-àm a nochdas uaireadair a’ choimpiutair agad ceart. +SIRevokedCA=Chaidh an teisteanas leis a chaidh an teachdaireachd a shoidhneadh fhoillseachadh le ùghdarras theisteanasan a chaidh a theisteanas fhèin a chùl-ghairm. Cha bu chòir dhut earbsa a chur ann an dligheachd na teachdaireachd seo mus dearbhaich an seòladair an t-susbaint a tha ann dhut. +SINotYetValidCA=Chaidh an teisteanas leis a chaidh an teachdaireachd a shoidhneadh fhoillseachadh le ùghdarras aig a bheil teisteanas nach eil dligheach fhathast. Dèan cinnteach gu bheil an t-àm a nochdas uaireadair a’ choimpiutair agad ceart. +SIInvalidCipher=Chaidh soighneadh a chur ris an teachdaireachd air neart crioptachaidh nach eil an tionndadh seo dhen bhathar-bhog agad a’ cur taic ris. +SIClueless=Tha duilgheadasan nach aithne dhuinn ann leis an t-soidhneadh digiteach seo. Cha bu chòir dhut earbsa a chur ann an dligheachd na teachdaireachd seo mus dearbhaich an seòladair an t-susbaint a tha ann dhut. +SIPartiallyValidLabel=Tha soidhneadh ris an teachdaireachd +SIPartiallyValidHeader=Ged a tha an soighneadh digiteach dligheach, chan eil fhios an co-ionnan an seòladair is an soidhniche. +SIHeaderMismatch=Tha seòladh a’ phuist-dhealain ann an teisteanas an t-soidhniche eadar-dhealaichte on t-seòladh phuist-dhealain a chaidh a chleachdadh gus an teachdaireachd seo a chur. Cuir sùil air mion-fhiosrachadh teisteanas an t-soidhnidh gus faighinn a-mach cò chuir ris an teachdaireachd e. +SICertWithoutAddress=Chan eil seòladh puist-dhealain anns an teisteanas leis a chaidh soighneadh a chur ris an teachdaireachd. Cuir sùil air mion-fhiosrachadh teisteanas an t-soidhnidh gus faighinn a-mach cò chuir ris e. + +## Encryption Information strings +EINoneLabel2=Teachdaireachd gun chrioptachadh +EINone=Cha deach an teachdaireachd a chrioptachadh mus deach a chur. 'S urrainn do dhaoine eile coimhead air fiosrachadh a thathar a' cur thairis air an eadar-lìon fhad 's a tha e 'ga sheòladh mura deach a chrioptachadh. +EIValidLabel=Teachdaireachd air a chrioptachadh +EIValid=Chaidh an teachdaireachd a chrioptachadh mus deach a chur thugad. Tha e doirbh do dhaoine eile coimhead air fiosrachadh a chaidh a chrioptachadh fhad 's a tha e 'ga sheòladh thairis air an lìonra. +EIInvalidLabel=Chan urrainn dhuinn an teachdaireachd a dhì-chrioptachadh +EIInvalidHeader=Chaidh an teachdaireachd seo a chrioptachadh mus deach a chur thugad ach cha ghabh a thoirt far na teachdaireachd. +EIContentAltered=Tha coltas gun deach atharrachadh a chur air susbaint na teachdaireachd seo fhad 's a bhathar 'ga sheòladh. +EIClueless=Tha duilgheadasan neo-aithnichte ann leis an teachdaireachd chrioptaichte seo. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/AccountManager.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/AccountManager.dtd new file mode 100644 index 0000000000000000000000000000000000000000..1013f3b99cd0dc57cc5b15c698a08cad7db3e1ee --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/AccountManager.dtd @@ -0,0 +1,25 @@ +<!-- 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/. --> + +<!-- extracted from AccountManager.xhtml --> + +<!ENTITY accountManagerTitle.label "Roghainnean a' chunntais"> +<!ENTITY accountManagerCloseButton.label "Dùin"> + +<!ENTITY accountActionsButton.label "Gnìomhan nan cunntas"> +<!ENTITY accountActionsButton.accesskey "a"> +<!ENTITY addMailAccountButton.label "Cuir cunntas puist-dhealain ris…"> +<!ENTITY addMailAccountButton.accesskey "a"> +<!ENTITY addIMAccountButton.label "Cuir cunntas cabadaich ris…"> +<!ENTITY addIMAccountButton.accesskey "u"> +<!ENTITY addFeedAccountButton.label "Cuir cunntas inbhir ris…"> +<!ENTITY addFeedAccountButton.accesskey "u"> +<!ENTITY setDefaultButton.label "Suidhich e mar an roghainn bhunaiteach"> +<!ENTITY setDefaultButton.accesskey "d"> +<!ENTITY removeButton.label "Thoir air falbh an cunntas"> +<!ENTITY removeButton.accesskey "r"> + +<!ENTITY addonsButton.label "Leudachain ⁊ ùrlaran"> + +<!-- AccountManager.xhtml --> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/AccountWizard.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/AccountWizard.dtd new file mode 100644 index 0000000000000000000000000000000000000000..4eb3bbb99a30f211c9f4be1d3687609d53937767 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/AccountWizard.dtd @@ -0,0 +1,51 @@ +<!-- 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/. --> + +<!-- Entities for AccountWizard --> + +<!ENTITY windowTitle.label "Draoidh nan cunntasan"> +<!ENTITY accountWizard.size "width: 50em; height: 48em;"> + +<!-- Entities for Identity page --> + +<!ENTITY identityTitle.label "Dearbh-aithne"> +<!ENTITY identityDesc.label "Tha dearbh-aithne aig gach cunntas; sin am fiosrachadh air a dh'aithnichear thusa nuair a gheibhear teachdaireachdan uat."> + +<!-- LOCALIZATION NOTE (fullnameDesc.label) : do not translate two of """ in below line --> +<!ENTITY fullnameDesc.label "Cuir a-steach an t-ainm a nochdas san raon "O" sna teachdaireachdan a chuireas tu gu daoine eile"> +<!-- LOCALIZATION NOTE (fullnameExample.label) : use following directions for below line + 1, do not translate two of """ + 2, Use localized full name instead of "John Smith" +--> +<!ENTITY fullnameExample.label "(mar eisimpleir, "Calum MacCaluim")."> +<!ENTITY fullnameLabel.label "D' ainm:"> +<!ENTITY fullnameLabel.accesskey "D"> + +<!ENTITY emailLabel.label "An seòladh puist-dhealain:"> +<!ENTITY emailLabel.accesskey "e"> + +<!-- Entities for Incoming Server page --> + +<!ENTITY incomingTitle.label "Fiosrachadh an fhrithealaiche a-steach"> +<!ENTITY incomingUsername.label "Ainm-cleachdaiche:"> +<!-- LOCALIZATION NOTE (newsServerNameDesc.label) : Do not translate "NNTP" or the """ entities in below line --> +<!ENTITY newsServerNameDesc.label "Cuir a-steach ainm frithealaiche nan naidheachdan (NNTP) agad (mar eisimpleir "news.example.net")."> +<!ENTITY newsServerLabel.label "Frithealaiche nam buidhnean-naidheachd:"> +<!ENTITY newsServerLabel.accesskey "F"> + +<!-- Entities for Account name page --> + +<!ENTITY accnameTitle.label "Ainm a' chunntais"> +<!-- LOCALIZATION NOTE (accnameDesc.label) : do not translate any """ in below line --> +<!ENTITY accnameDesc.label "Cuir a-steach an t-ainm a bu toigh leat a bhith air a' chunntas seo (mar eisimpleir "Cunntas m' obrach", "Cunntas an taighe" no "Cunntas nan naidheachdan")."> +<!ENTITY accnameLabel.label "Ainm a' chunntais:"> +<!ENTITY accnameLabel.accesskey "A"> + +<!-- Entities for Done (Congratulations) page --> + +<!ENTITY completionTitle.label "Meal do naidheachd!"> +<!ENTITY completionText.label "Dearbh gu bheil am fiosrachadh gu h-ìosal ceart."> +<!ENTITY newsServerNamePrefix.label "Ainm frithealaiche nan naidheachdan (NNTP):"> +<!ENTITY clickFinish.label "Briog air "Crìochnaich" gus na roghainnean seo a shàbhaladh 's draoidh nan cunntasan fhàgail."> +<!ENTITY clickFinish.labelMac "Briog air "Dèanta" gus na roghainnean seo a shàbhaladh 's draoidh nan cunntasan fhàgail."> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/CustomHeaders.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/CustomHeaders.dtd new file mode 100644 index 0000000000000000000000000000000000000000..8b13f2f595623717446f1d55360e2e56f6f8689b --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/CustomHeaders.dtd @@ -0,0 +1,11 @@ +<!-- 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/. --> + +<!ENTITY window.title "Gnàthaich na bannan-cinn"> +<!ENTITY addButton.label "Cuir ris"> +<!ENTITY addButton.accesskey "C"> +<!ENTITY removeButton.label "Thoir air falbh"> +<!ENTITY removeButton.accesskey "r"> +<!ENTITY newMsgHeader.label "Bann-cinn teachdaireachd ùr:"> +<!ENTITY newMsgHeader.accesskey "n"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/FilterEditor.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/FilterEditor.dtd new file mode 100644 index 0000000000000000000000000000000000000000..86b2959c599455ae9e0e78c993ac0fcb5cb3df44 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/FilterEditor.dtd @@ -0,0 +1,66 @@ +<!-- 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/. --> + +<!ENTITY window.title "Riaghailtean a' chriathraidh"> +<!ENTITY filterName.label "Ainm na criathraige:"> +<!ENTITY filterName.accesskey "i"> + +<!ENTITY junk.label "Truilleis"> +<!ENTITY notJunk.label "Post còir"> + +<!ENTITY lowestPriorityCmd.label "As ìsle"> +<!ENTITY lowPriorityCmd.label "Ìseal"> +<!ENTITY normalPriorityCmd.label "Àbhaisteach"> +<!ENTITY highPriorityCmd.label "Àrd"> +<!ENTITY highestPriorityCmd.label "As àirde"> + +<!ENTITY contextDesc.label "Cleachd a’ chriathrag aig na h-amannan a leanas:"> +<!ENTITY contextIncomingMail.label "Nuair a gheibhear post ùr:"> +<!ENTITY contextIncomingMail.accesskey "g"> +<!ENTITY contextManual.label "Nuair a chuirear gu dol a làimh"> +<!ENTITY contextManual.accesskey "r"> +<!ENTITY contextBeforeCls.label "Criathraich mus comharraichear truilleis"> +<!ENTITY contextAfterCls.label "Criathraich an dèidh comharrachadh na truilleis"> +<!ENTITY contextOutgoing.label "An dèidh a chuir"> +<!ENTITY contextOutgoing.accesskey "d"> +<!ENTITY contextArchive.label "Aig àm tasglannaidh"> +<!ENTITY contextArchive.accesskey "a"> +<!ENTITY contextPeriodic.accesskey "e"> + +<!ENTITY filterActionDesc.label "Dèan na leanas:"> +<!ENTITY filterActionDesc.accesskey "D"> + +<!ENTITY filterActionOrderWarning.label "An aire: Thèid gnìomhan criathradh a chur an gnìomh ann an òrdugh eadar-dhealaichte."> +<!ENTITY filterActionOrder.label "Faic òrdugh a' ghnìomhachaidh"> + +<!-- New Style Filter Rule Actions --> +<!ENTITY moveMessage.label "Gluais an teachdaireachd gu"> +<!ENTITY copyMessage.label "Cuir lethbhreac dhen teachdaireachd gu"> +<!ENTITY forwardTo.label "Sìn an teachdaireachd air adhart gu"> +<!ENTITY replyWithTemplate.label "Thoir freagairt le teamplaid"> +<!ENTITY markMessageRead.label "Cuir comharra air gun deach a leughadh"> +<!ENTITY markMessageUnread.label "Cuir comharra nach deach a leughadh"> +<!ENTITY markMessageStarred.label "Cuir rionnag ris"> +<!ENTITY setPriority.label "Atharraich a prìomhachas gu"> +<!ENTITY addTag.label "Cuir taga ris an teachdaireachd"> +<!ENTITY setJunkScore.label "Cuir a h-inbhe truilleis gu"> +<!ENTITY deleteMessage.label "Sguab às an teachdaireachd"> +<!ENTITY deleteFromPOP.label "Sguab às on fhrithealaiche POP"> +<!ENTITY fetchFromPOP.label "Faigh on fhrithealaiche POP"> +<!ENTITY ignoreThread.label "Leig seachad an snàth"> +<!ENTITY ignoreSubthread.label "Leig seachad am fo-shnàth"> +<!ENTITY watchThread.label "Cum sùil air an t-snàth"> +<!ENTITY stopExecution.label "Sguir dhen chriathradh"> + +<!ENTITY addAction.tooltip "Cuir gnìomh ùr ris"> +<!ENTITY removeAction.tooltip "Thoir air falbh an gnìomh seo"> + +<!-- LOCALIZATION NOTE + The values below are used to control the widths of the filter action widgets. + Change the values only when the localized strings in the popup menus + are truncated in the widgets. + --> +<!-- Flex Attribute: https://developer.mozilla.org/docs/XUL/Attribute/flex --> +<!ENTITY filterActionTypeFlexValue "3"> +<!ENTITY filterActionTargetFlexValue "6"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/FilterListDialog.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/FilterListDialog.dtd new file mode 100644 index 0000000000000000000000000000000000000000..ff9bf52d376f09c52664b4e77afcecfa3192d236 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/FilterListDialog.dtd @@ -0,0 +1,41 @@ +<!-- 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/. --> + +<!ENTITY window.title "Criathragan nan teachdaireachd"> +<!ENTITY nameColumn.label "Ainm na criathraige"> +<!ENTITY activeColumn.label "Air a chur an comas"> +<!ENTITY newButton.label "Ùr…"> +<!ENTITY newButton.accesskey "r"> +<!ENTITY newButton.popupCopy.label "Lethbhreac…"> +<!ENTITY newButton.popupCopy.accesskey "c"> +<!ENTITY editButton.label "Deasaich…"> +<!ENTITY editButton.accesskey "e"> +<!ENTITY deleteButton.label "Sguab às"> +<!ENTITY deleteButton.accesskey "S"> +<!ENTITY reorderTopButton "Gluais gun bharr"> +<!ENTITY reorderTopButton.accessKey "o"> +<!ENTITY reorderTopButton.toolTip "Cuir a' chriathrag air dòigh airson 's gun dèid a chleachdadh a thoiseach air càch"> +<!ENTITY reorderUpButton.label "Gluais suas"> +<!ENTITY reorderUpButton.accesskey "u"> +<!ENTITY reorderDownButton.label "Gluais sìos"> +<!ENTITY reorderDownButton.accesskey "G"> +<!ENTITY reorderBottomButton "Gluais gun bhonn"> +<!ENTITY reorderBottomButton.accessKey "B"> +<!ENTITY reorderBottomButton.toolTip "Cuir a' chriathrag air dòigh airson 's gun dèid a chleachdadh an dèidh chàch"> +<!ENTITY filterHeader.label "Tha na criathragan a tha air a chur an comas 'gan ruith leotha fhèin san òrdugh a chì thu gu h-ìosal."> +<!ENTITY filtersForPrefix.label "Criathragan airson:"> +<!ENTITY filtersForPrefix.accesskey "C"> +<!ENTITY viewLogButton.label "An loga criathraidh"> +<!ENTITY viewLogButton.accesskey "l"> +<!ENTITY runFilters.label "Ruith an-dràsta"> +<!ENTITY runFilters.accesskey "R"> +<!ENTITY stopFilters.label "Sguir dheth"> +<!ENTITY stopFilters.accesskey "S"> +<!ENTITY folderPickerPrefix.label "Cuir na leanas tro na criathragan a thagh thu:"> +<!ENTITY folderPickerPrefix.accesskey "C"> +<!ENTITY helpButton.label "Cobhair"> +<!ENTITY helpButton.accesskey "h"> +<!ENTITY closeCmd.key "W"> +<!ENTITY searchBox.emptyText "Lorg criathragan a-rèir ainm…"> + diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/SearchDialog.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/SearchDialog.dtd new file mode 100644 index 0000000000000000000000000000000000000000..bc54ab143ee7141adbf0ca108170ee431087f8e1 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/SearchDialog.dtd @@ -0,0 +1,41 @@ +<!-- 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/. --> +<!-- for SearchDialog.xul --> + +<!ENTITY searchHeading.label "Lorg teachdaireachdan ann an:"> +<!ENTITY searchHeading.accesskey "h"> +<!ENTITY searchSubfolders.label "Rannsaich na fo-phasgain"> +<!ENTITY searchSubfolders.accesskey "R"> +<!ENTITY searchOnServer.label "Ruith an lorg air an fhrithealaiche"> +<!ENTITY searchOnServer.accesskey "u"> +<!ENTITY resetButton.label "Falamhaich"> +<!ENTITY resetButton.accesskey "c"> +<!ENTITY openButton.label "Fosgail"> +<!ENTITY openButton.accesskey "F"> +<!ENTITY deleteButton.label "Sguab às"> +<!ENTITY deleteButton.accesskey "S"> +<!ENTITY searchDialogTitle.label "Rannsaich na teachdaireachdan"> +<!ENTITY results.label "Toraidhean"> +<!ENTITY moveButton.label "Gluais gu"> +<!ENTITY moveButton.accesskey "u"> +<!ENTITY closeCmd.key "W"> +<!ENTITY openInFolder.label "Fosgail sa phasgan"> +<!ENTITY openInFolder.accesskey "F"> +<!ENTITY saveAsVFButton.label "Sàbhail mar phasgan luirg"> +<!ENTITY saveAsVFButton.accesskey "S"> +<!-- for ABSearchDialog.xul --> + +<!ENTITY abSearchHeading.label "Lorg ann an:"> +<!ENTITY abSearchHeading.accesskey "L"> +<!ENTITY propertiesButton.label "Roghainnean"> +<!ENTITY propertiesButton.accesskey "R"> +<!ENTITY composeButton.label "Sgrìobh"> +<!ENTITY composeButton.accesskey "S"> +<!ENTITY deleteCardButton.label "Sguab às"> +<!ENTITY deleteCardButton.accesskey "S"> +<!ENTITY abSearchDialogTitle.label "Rannsachadh adhartach leabhar nan seòladh"> +<!-- Thread Pane --> + +<!-- Thread Pane Tooltips --> + diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/aboutDownloads.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/aboutDownloads.dtd new file mode 100644 index 0000000000000000000000000000000000000000..b60415f848780de0cdf58033614667c5e4b86f3c --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/aboutDownloads.dtd @@ -0,0 +1,23 @@ +<!-- 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/. --> + +<!ENTITY aboutDownloads.title "Faidhlichean a chaidh a shàbhaladh"> +<!-- LOCALIZATION NOTE (cmd.show.label, cmd.show.accesskey, cmd.showMac.label, + cmd.showMac.accesskey): + The show and showMac commands are never shown together, thus they can share + the same access key (though the two access keys can also be different). + --> +<!ENTITY cmd.show.label "Fosgail am pasgan far a bheil e"> +<!ENTITY cmd.show.accesskey "F"> +<!ENTITY cmd.showMac.label "Seall san lorgair"> +<!ENTITY cmd.showMac.accesskey "S"> +<!ENTITY cmd.open.label "Fosgail"> +<!ENTITY cmd.open.accesskey "o"> +<!ENTITY cmd.removeFromHistory.label "Thoir air falbh on eachdraidh"> +<!ENTITY cmd.removeFromHistory.accesskey "e"> +<!ENTITY cmd.clearList.label "Falamhaich an liosta"> +<!ENTITY cmd.clearList.accesskey "F"> +<!ENTITY cmd.clearList.tooltip "Thoir air falbh gach rud air liosta nam faidhlichean a shàbhail thu ach a-mhàin na tha ’ga luchdadh a-nuas."> +<!ENTITY cmd.searchDownloads.label "Lorg…"> +<!ENTITY cmd.searchDownloads.key "F"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/aboutRights.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/aboutRights.properties new file mode 100644 index 0000000000000000000000000000000000000000..9dbe762f6c4674adb79f8489bbaa55116156a0ad --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/aboutRights.properties @@ -0,0 +1,6 @@ +# 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/. + +buttonLabel=Bi eòlach air do chòraichean... +buttonAccessKey=K diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/aboutSupportMail.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/aboutSupportMail.properties new file mode 100644 index 0000000000000000000000000000000000000000..850424aad9e07063cd8b1534019007af032af065 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/aboutSupportMail.properties @@ -0,0 +1,15 @@ +# 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/. + +# LOCALIZATION NOTE (warningLabel): Label for warning text that shows up when private data is included +warningLabel=RABHADH: +# LOCALIZATION NOTE (warningText): Warning text that shows up when private data is included +warningText=Tha fiosrachadh cugallach ann nach b' urrainnear sìneadh air adhart no fhoillseachadh gun chead. + +# LOCALIZATION NOTE (fsType.local): Indicator that the displayed directory is on a local drive +fsType.local = (Draibh ionadail) +# LOCALIZATION NOTE (fsType.network): Indicator that the displayed directory is on the network +fsType.network = (Draibh lìonraidh) +# LOCALIZATION NOTE (fsType.unknown): Indicator that we couldn't figure out whether the directory is local or on a network +fsType.unknown = (Àite neo-aithnichte) diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/accountCreationModel.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/accountCreationModel.properties new file mode 100644 index 0000000000000000000000000000000000000000..43e5b587d58d9ced352d727e80117deb650ebfb6 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/accountCreationModel.properties @@ -0,0 +1,20 @@ +# 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/. + +# This file has the strings, mostly error strings, for the logic / JS backend / model +# files: fetchConfig.js, readFromXML.js, guessConfig.js, verifyConfig.js, createInBackend.js + + +# readFromXML.js +no_emailProvider.error=Chan eil rèiteachadh airson cunntas puist-dhealain san fhaidhle rèiteachaidh XML. +outgoing_not_smtp.error=Feumaidh am frithealaiche a-mach a bhith dhen t-seòrsa SMTP + +# verifyConfig.js +cannot_login.error=Chan urrainnear logadh a-steach aig an fhrithealaiche. 'S mathaid gu bheil an rèiteachadh, an t-ainm-cleachdaiche no am facal-faire cearr. + +# guessConfig.js +cannot_find_server.error=Cha ghabh frithealaiche a lorg + +# exchangeAutoDiscover.js +no_autodiscover.error=Tha XML AutoDiscover Exchange mì-dhligheach. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/accountCreationUtil.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/accountCreationUtil.properties new file mode 100644 index 0000000000000000000000000000000000000000..decc3b437f928c6d87edc797efd4d7edec4596c8 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/accountCreationUtil.properties @@ -0,0 +1,34 @@ +# 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/. + +# This file has the strings, mostly error strings, for the logic / JS backend / model +# files: sanitizeDatatypes.js, fetchhttp.js, util.js + + +# sanitizeDatatypes.js +hostname_syntax.error=Tha ainm an òstair falamh no tha caractairean ann nach eil ceadaichte. Chan eil ach litrichean, àireamhan, - agus . ceadaichte. +alphanumdash.error=Tha caractairean san t-sreang nach eil ceadaichte. Chan eil ach litrichean, àireamhan - agus _ ceadaichte. +allowed_value.error=Chan eil an luach a chuir thu ann an liosta na feadhainn cheadaichte +url_scheme.error=Chan eil an sgeama URL ceadaichte +url_parsing.error=URL gun aithneachadh +string_empty.error=Feumaidh tu luach a chur ann airson na sreinge seo +boolean.error=Chan eil e booleach +no_number.error=Chan eil e 'na àireamh +number_too_large.error=Tha an àireamh ro mhòr +number_too_small.error=Tha an àireamh ro bheag + + +# fetchhttp.js +cannot_contact_server.error=Cha ghabh conaltradh a dhèanamh leis an fhrithealaiche +bad_response_content.error=Droch-shusbaint san fhreagairt + +# verifyConfig.js +# LOCALIZATION NOTE(auth_failed_generic.error): The login failed (server refused to allow the user in), but the server did not give any meaningful error message. This is a common case when the user entered a wrong password or is otherwise not allowed. +auth_failed_generic.error=Dh'fhàillig an logadh a-steach. A bheil an t-ainm-cleachdaiche/seòladh a' phuist-dhealain 's am facal-faire ceart? +# LOCALIZATION NOTE(auth_failed_with_reason.error): The login failed (server refused to allow the user in), and the server gave an error message which we can present to the user. This is a common case when the user entered a wrong password or is otherwise not allowed. %1$S will be the IMAP/POP3/SMTP server hostname. %2$S will be the error message from the server (usually in the local language where the server is or in English). +auth_failed_with_reason.error=Dh'fhàillig an logadh a-steach. Thuirt am frithealaiche %1$S: %2$S +# LOCALIZATION NOTE(verification_failed.error): We had some other error, not during authentication with the server, but at earlier points, e.g. locally or we entirely failed to contact the given server, and we unfortunately have no detailed error message. +verification_failed.error=Dh'fhàillig dearbhadh an logaidh a-steach 's chan eil fhios carson. +# LOCALIZATION NOTE(verification_failed_with_exception.error): We had some other error, not during authentication with the server, but at earlier points, e.g. locally or we entirely failed to contact the given server, and we have an error message. %1$S will be an error message, possibly in English +verification_failed_with_exception.error=Dh'fhàillig dearbhadh an logaidh a-steach leis an fhreagairt seo: %1$S diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/activity.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/activity.dtd new file mode 100644 index 0000000000000000000000000000000000000000..f6819eee1343bc518d1944559f0c4f6064704b31 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/activity.dtd @@ -0,0 +1,19 @@ +<!-- 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/. --> +<!-- LOCALIZATION NOTE (window.width2, window.height): These values should be +close to the golden ratio (1.618:1) while making sure it's wide enough for long +file names and tall enough to hint that there are more activities in the list --> + +<!ENTITY window.width2 "500"> +<!ENTITY window.height "300"> + +<!ENTITY activity.title "Manaidsear gnìomhachd"> + +<!ENTITY cmd.close.commandkey "w"> +<!ENTITY cmd.close2.commandkey "j"> +<!ENTITY cmd.close2Unix.commandkey "y"> +<!ENTITY cmd.clearList.label "Glan an liosta"> +<!ENTITY cmd.clearList.tooltip "Bheir seo air falbh gach rud a tha deiseil, a chaidh a sgur dheth 's a dh'fhàillig on liosta"> +<!ENTITY cmd.clearList.accesskey "G"> + diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/activity.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/activity.properties new file mode 100644 index 0000000000000000000000000000000000000000..beab7054e4362dc159e4e68ab1f7e94d2f2c6188 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/activity.properties @@ -0,0 +1,99 @@ +# 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/. + +# Status Text +paused2='Na stad +processing='Ga làimhseachadh +notStarted=Gun tòiseachadh +failed=Dh'fhàillig e +waitingForInput=A' feitheamh ri dàta a-steach +waitingForRetry=A' feitheamh ri ath-fheuchainn +completed=Deiseil +canceled=Air a sgur dheth + +# LOCALIZATION NOTE (sendingMessages): this is used as a title for grouping processes in the activity manager when sending email. +sendingMessages=A' cur nan teachdaireachdan +sendingMessage=A' cur na teachdaireachd +# LOCALIZATION NOTE (sendingMessageWithSubject): %S will be replaced by the subject of the message being sent. +sendingMessageWithSubject=A' cur na teachdaireachd: %S +copyMessage=A' cur lethbhreac dhen teachdaireachd dhan phasgan nan teachdaireachdan cuirte +sentMessage=Teachdaireachd air a chur +# LOCALIZATION NOTE (sentMessageWithSubject): %S will be replaced by the subject of the message being sent. +sentMessageWithSubject=Teachdaireachd air a chur: %S +failedToSendMessage=Dh'fhàillig cur na teachdaireachd +failedToCopyMessage=Dh'fhàillig lethbhreac na teachdaireachd +# LOCALIZATION NOTE (failedToSendMessageWithSubject): %S will be replaced by the subject of the message being sent. +failedToSendMessageWithSubject=Dh'fhàillig cur na teachdaireachd: %S +# LOCALIZATION NOTE (failedToCopyMessageWithSubject): %S will be replaced by the subject of the message being sent. +failedToCopyMessageWithSubject=Dh'fhàillig lethbhreac na teachdaireachd: %S + +# LOCALIZATION NOTE (autosyncProcessProgress2): Do not translate the words "%1$S", "%2$S", "%3$S" and "%4$S" below. +# Place the word %1$S in your translation where the number of the message being downloaded should appear. +# Place the word %2$S in your translation where the total number of messages to be downloaded should appear. +# Place the word %3$S in your translation where the name of the folder being processed should appear. +# Place the word %4$S in your translation where the name of account being processed should appear. +# EXAMPLE: Ted's account: Downloading message 334 of 1008 in Inbox… +autosyncProcessProgress2=%4$S: A’ luchdadh a-nuas teachdaireachd %1$S à %2$S gu %3$S… +# LOCALIZATION NOTE (autosyncProcessDisplayText): %S will be replaced by the folder name +autosyncProcessDisplayText=A' co-thìmeachadh a' phasgain %S +# LOCALIZATION NOTE (autosyncEventDisplayText): %S will be replaced by the account name +autosyncEventDisplayText=Tha %S co-thìmeach +# LOCALIZATION NOTE (autosyncEventStatusText): %S will be replaced by total number of downloaded messages +autosyncEventStatusText=Àireamh iomlan nan teachdaireachd a chaidh a luchdadh a-nuas: %S +autosyncEventStatusTextNoMsgs=Cha deachd teachdaireachd a luchdadh a-nuas +# LOCALIZATION NOTE (autosyncContextDisplayText): %S will be replaced by the account name +autosyncContextDisplayText=A' sioncronachadh: %S + +# LOCALIZATION NOTE (pop3EventStartDisplayText2): Do not translate the words "%1$S" and "%2$S" below. +# Place the word %1$S in your translation where the name of the account being checked for new messages should appear. +# Place the word %2$S in your translation where the name of the folder being checked for new messages should appear. +# EXAMPLE: George's account: Checking Inbox for new messages… +pop3EventStartDisplayText2=%1$S: A’ toirt sùil a bheil teachdaireachdan ùra aig a’ chunntas %2$S... +# LOCALIZATION NOTE (pop3EventDisplayText): %S will be replaced by the account name +pop3EventDisplayText=Tha %S co-thìmeach +# LOCALIZATION NOTE (pop3EventStatusText): #1 will be replaced by total number of downloaded messages +pop3EventStatusText=#1 teachdaireachd air a luchdachadh a-nuas;#1 theachdaireachd air a luchdadh a-nuas;#1 teachdaireachdan air a luchdadh a-nuas;#1 teachdaireachd a luchdadh a-nuas +pop3EventStatusTextNoMsgs=Chan eil teachdaireachd ùr ri luchdadh a-nuas + +# Message actions that show up in activity manager +# LOCALIZATION NOTE (deletedMessages2): #1 number of messages, #2 folder name +deletedMessages2=Chaidh #1 teachdaireachd a sguabadh às a' phasgan: #2;Chaidh #1 theachdaireachd a sguabadh às a' phasgan: #2;Chaidh #1 teachdaireachdan a sguabadh às a' phasgan: #2;Chaidh #1 teachdaireachd a sguabadh às a' phasgan: #2 +# LOCALIZATION NOTE (movedMessages): #1 number of messages, #2 and #3: folder names +movedMessages=Chaidh #1 teachdaireachd a gluasad o #2 dha #3;Chaidh #1 theachdaireachd a ghluasad o #2 dha #3;Chaidh #1 teachdaireachdan a ghluasad o #2 dha #3;Chaidh #1 teachdaireachd a ghluasad o #2 dha #3 +# LOCALIZATION NOTE (copiedMessages): #1 number of messages, #2 and #3: folder names +copiedMessages=Chaidh lethbhreac a dhèanamh de dh'#1 teachdaireachd o #2 gu #3;Chaidh lethbhreac a dhèanamh de #2 theachdaireachd o #2 gu #3;Chaidh lethbhreac a dhèanamh de #1 teachdaireachdan o #2 gu #3;Chaidh lethbhreac a dhèanamh de #1 teachdaireachd o #2 gu #3 +# LOCALIZATION NOTE (fromServerToServer): #1 source server, #2 destination server +fromServerToServer=o #1 gu #2 +# LOCALIZATION NOTE (deletedFolder): #1 folder name +deletedFolder=Chaidh am pasgan #1 a sguabadh às +emptiedTrash=Chaidh an sgudal fhalamhachadh +# LOCALIZATION NOTE (movedFolder): #1 and #2 are folder names +movedFolder=Chaidh am pasgan #1 a ghluasad dhan phasgan #2 +# LOCALIZATION NOTE (movedFolderToTrash): #1 is the folder name +movedFolderToTrash=Chaidh am pasgan #1 a ghluasad dhan sgudal +# LOCALIZATION NOTE (copiedFolder): #1 and #2 are folder names +copiedFolder=Chaidh lethbhreac dhen phasgan #1 a chur dhan phasgan #2 +# LOCALIZATION NOTE (renamedFolder): #1 and #2 are folder names +renamedFolder=Chaidh ainm a' phasgain #1 atharrachadh gu #2 +indexing=Teachdaireachdan 'gan clàr-amaiseadh +# LOCALIZATION NOTE (indexingFolder): #1 is a folder name +indexingFolder=Teachdaireachdan ann an #1 'gan clàr-amaiseadh +indexingStatusVague=A' dearbhadh nan teachdaireachdan a bhios 'gan clàr-amaiseadh +# LOCALIZATION NOTE (indexingFolderStatusVague): #1 is a folder name +indexingFolderStatusVague=A' dearbhadh dè na teachdaireachdan ann an #1 a thèid an clàr-amaiseadh +# LOCALIZATION NOTE (indexingStatusExact): +# #1 is the number of the message currently being indexed +# #2 is the total number of messages being indexed +# #3 is the percentage of indexing that is complete +indexingStatusExact=A' cur #1 de dh'#2 teachdaireachd sa chlàr-innse;A' cur #1 de #2 theachdaireachd sa chlàr-innse (#3% deiseil);A' cur #1 de #2 teachdaireachdan sa chlàr-innse (#3% deiseil);A' cur #1 de #2 teachdaireachd sa chlàr-innse (#3% deiseil) +# LOCALIZATION NOTE (indexingFolderStatusExact): +# #1 is the number of the message currently being indexed +# #2 is the total number of messages being indexed +# #3 is the percentage of indexing that is complete +# #4 is a folder name +indexingFolderStatusExact=A' cur #1 de dh'#2 teachdaireachd ann am #4 sa chlàr-innse;A' cur #1 de #2 theachdaireachd ann an #4 (#3% deiseil);A' cur #1 de #2 teachdaireachdan sa chlàr-innse (#3% deiseil);A' cur #1 de #2 teachdaireachd sa chlàr-innse (#3% deiseil) +# LOCALIZATION NOTE (indexedFolder): #1 number of messages; #2 folder name +indexedFolder=Chaidh #1 teachdaireachd ann an #2 a chur sa chlàr-innse;Chaidh #1 theachdaireachd ann an #2 a chur sa chlàr-innse;Chaidh #1 teachdaireachdan ann an #2 a chur sa chlàr-innse;Chaidh #1 teachdaireachd ann an #2 a chur sa chlàr-innse +# LOCALIZATION NOTE (indexedFolderStatus): #1 number of seconds spent indexing +indexedFolderStatus=Dh'aom #1 diog gu ruige seo;Dh'aom #1 dhiog gu ruige seo;Dh'aom #1 diogan gu ruige seo;Dh'aom #1 diog gu ruige seo diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addbuddy.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addbuddy.dtd new file mode 100644 index 0000000000000000000000000000000000000000..694fdf2a406a14c226c5362bb64d6a36af78b1c2 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addbuddy.dtd @@ -0,0 +1,7 @@ +<!-- 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/. --> + +<!ENTITY addBuddyWindow.title "Cuir neach-aithne ris"> +<!ENTITY name.label "Ainm-cleachdaiche"> +<!ENTITY account.label "Cunntas"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/abAddressBookNameDialog.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/abAddressBookNameDialog.dtd new file mode 100644 index 0000000000000000000000000000000000000000..0078c40bb2a5d443830507f80ff844e8e674dfb6 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/abAddressBookNameDialog.dtd @@ -0,0 +1,7 @@ +<!-- 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/. --> +<!-- Labels --> + +<!ENTITY name.label "Ainm leabhar nan seòladh:"> +<!ENTITY name.accesskey "A"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/abContactsPanel.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/abContactsPanel.dtd new file mode 100644 index 0000000000000000000000000000000000000000..405f0cfd0307f91ff58d55ee2ea4392f6f7d3c22 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/abContactsPanel.dtd @@ -0,0 +1,49 @@ +<!-- 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/. --> + +<!ENTITY propertiesMenu.label "Roghainnean"> +<!ENTITY propertiesMenu.accesskey "i"> +<!ENTITY propertiesCmd.key "i"> +<!ENTITY abPropertiesMenu.label "Roghainnean leabhar nan seòladh"> +<!ENTITY abPropertiesMenu.accesskey "i"> +<!ENTITY contactPropertiesMenu.label "Roghainnean an neach-aithne"> +<!ENTITY contactPropertiesMenu.accesskey "i"> +<!ENTITY mailingListPropertiesMenu.label "Roghainnean na liosta puist"> +<!ENTITY mailingListPropertiesMenu.accesskey "i"> + +<!ENTITY abContextMenuButton.tooltip "Seall clàr-taice co-theacsail leabhar nan seòladh"> +<!ENTITY addressbookPicker.label "Leabhar nan seòladh:"> +<!ENTITY addressbookPicker.accesskey "L"> +<!ENTITY searchContacts.label "Lorg san luchd-aithne:"> +<!ENTITY searchContacts.accesskey "n"> +<!ENTITY SearchNameOrEmail.label "Ainm no post-dealain"> + +<!ENTITY addtoToFieldMenu.label "Cuir ris an raon "Gu""> +<!ENTITY addtoToFieldMenu.accesskey "G"> +<!ENTITY addtoCcFieldMenu.label "Cuir ris an raon "Cc""> +<!ENTITY addtoCcFieldMenu.accesskey "C"> +<!ENTITY addtoBccFieldMenu.label "Add to Bcc field"> +<!ENTITY addtoBccFieldMenu.accesskey "B"> +<!ENTITY deleteAddrBookCard.label "Sguab às"> +<!ENTITY deleteAddrBookCard.accesskey "S"> +<!ENTITY propertiesContext.label "Roghainnean"> +<!ENTITY propertiesContext.accesskey "i"> +<!ENTITY abPropertiesContext.label "Roghainnean"> +<!ENTITY abPropertiesContext.accesskey "i"> +<!ENTITY editContactContext.label "Deasaich an neach-aithne"> +<!ENTITY editContactContext.accesskey "e"> +<!ENTITY editMailingListContext.label "Deasaich an liosta"> +<!ENTITY editMailingListContext.accesskey "e"> + +<!ENTITY newContactAbContext.label "Neach-aithne ùr"> +<!ENTITY newContactAbContext.accesskey "N"> +<!ENTITY newListAbContext.label "Liosta ùr"> +<!ENTITY newListAbContext.accesskey "L"> + +<!ENTITY toButton.label "Cuir ri "Gu":"> +<!ENTITY toButton.accesskey "C"> +<!ENTITY ccButton.label "Cuir ri "Cc":"> +<!ENTITY ccButton.accesskey "C"> +<!ENTITY bccButton.label "Cuir ri "Bcc":"> +<!ENTITY bccButton.accesskey "B"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/abMailListDialog.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/abMailListDialog.dtd new file mode 100644 index 0000000000000000000000000000000000000000..3a80f61fc1ca48646823cc0c76cae451f9b77f96 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/abMailListDialog.dtd @@ -0,0 +1,22 @@ +<!-- 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/. --> +<!-- Title --> + +<!ENTITY mailListWindowAdd.title "Liosta puist ùr"> +<!-- Labels and Access Keys --> + +<!ENTITY addToAddressBook.label "Cuir ri: "> +<!ENTITY addToAddressBook.accesskey "C"> +<!ENTITY ListName.label "Ainm liosta: "> +<!ENTITY ListName.accesskey "l"> +<!ENTITY ListNickName.label "Far-ainm liosta: "> +<!ENTITY ListNickName.accesskey "n"> +<!ENTITY ListDescription.label "Tuairisgeul: "> +<!ENTITY ListDescription.accesskey "e"> +<!-- See bug 58485, when we implement drag and drop, add 'or drag addresses' back in --> +<!ENTITY AddressTitle.label "Cuir a-steach seòlaidhean puist-dhealain gus an cur ris an liosta-phuist:"> +<!ENTITY AddressTitle.accesskey "u"> +<!ENTITY UpButton.label "Gluais suas"> +<!ENTITY DownButton.label "Gluais sìos"> + diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/abMainWindow.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/abMainWindow.dtd new file mode 100644 index 0000000000000000000000000000000000000000..5a8f72f1ef2bbef8bfd275990dee160a851fbfb4 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/abMainWindow.dtd @@ -0,0 +1,17 @@ +<!-- 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/. --> + +<!ENTITY showAsDefault.label "Pasgan tòiseachaidh bunaiteach"> +<!ENTITY showAsDefault.accesskey "s"> + +<!-- Search Bar --> +<!ENTITY SearchNameOrEmail.label "Ainm no post-dealain"> + +<!-- Results Pane --> +<!ENTITY Addrbook.label "Leabhar nan seòladh"> +<!ENTITY GeneratedName.label "Ainm"> +<!ENTITY PrimaryEmail.label "Post-dealain"> + +<!-- Card Summary Pane --> + diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/abResultsPane.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/abResultsPane.dtd new file mode 100644 index 0000000000000000000000000000000000000000..a9ef76777d995aba15176b528f696b827e0a5f27 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/abResultsPane.dtd @@ -0,0 +1,38 @@ +<!-- 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/. --> + +<!ENTITY Addrbook.label "Leabhar nan seòladh"> +<!ENTITY Addrbook.accesskey "B"> +<!ENTITY GeneratedName.label "Ainm"> +<!ENTITY GeneratedName.accesskey "N"> +<!ENTITY PrimaryEmail.label "Post-d"> +<!ENTITY PrimaryEmail.accesskey "E"> +<!ENTITY Company.label "Buidheann"> +<!ENTITY Company.accesskey "z"> +<!ENTITY _PhoneticName.label "Tar-sgrìobhadh an ainm"> +<!ENTITY _PhoneticName.accesskey "o"> +<!ENTITY NickName.label "Far-ainm"> +<!ENTITY NickName.accesskey "i"> +<!ENTITY SecondEmail.label "Post-d eile"> +<!ENTITY SecondEmail.accesskey "I"> +<!ENTITY Department.label "Roinn"> +<!ENTITY Department.accesskey "r"> +<!ENTITY JobTitle.label "Tiotal"> +<!ENTITY JobTitle.accesskey "T"> +<!ENTITY CellularNumber.label "Fòn-làimhe"> +<!ENTITY CellularNumber.accesskey "M"> +<!ENTITY PagerNumber.label "Pèidsear"> +<!ENTITY PagerNumber.accesskey "P"> +<!ENTITY FaxNumber.label "Facs"> +<!ENTITY FaxNumber.accesskey "F"> +<!ENTITY HomePhone.label "Fòn na dachaigh"> +<!ENTITY HomePhone.accesskey "H"> +<!ENTITY WorkPhone.label "Fòn na h-obrach"> +<!ENTITY WorkPhone.accesskey "W"> +<!ENTITY ChatName.label "Ainm cabadaich"> +<!ENTITY ChatName.accesskey "C"> +<!ENTITY sortAscending.label "A’ dìreadh"> +<!ENTITY sortAscending.accesskey "A"> +<!ENTITY sortDescending.label "A’ teàrnadh"> +<!ENTITY sortDescending.accesskey "D"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/addressBook.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/addressBook.properties new file mode 100644 index 0000000000000000000000000000000000000000..e5a1b545f699761c6c61ed0bb0edcafce9d7b643 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/addressBook.properties @@ -0,0 +1,179 @@ +# 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/. + +# The following are used by the Mailing list dialog. +# LOCALIZATION NOTE (mailingListTitleEdit): %S will be replaced by the Mailing List's display name. +mailingListTitleEdit=Deasaich %S +emptyListName=Feumaidh tu ainm airson na liosta a chur a-steach. +badListNameCharacters=Chan fhaod gin dhe na caractaran a leanas a bhith ann an ainm liosta: < > ; , " +badListNameSpaces=Chan fhaod iomadh àite bàn a bhith ann an ainm liosta ri taobh a chèile. +lastFirstFormat=%S, %S +firstLastFormat=%S, %S + +allAddressBooks=Gach leabhar-sheòlaidhean + +newContactTitle=Caraid ùr +# %S will be the contact's display name +newContactTitleWithDisplayName=Caraid ùr airson %S +editContactTitle=Deasaich a' charaid +# %S will be the contact's display name +editContactTitleWithDisplayName=Deasaich caraid airson %S +# don't translate vCard +editVCardTitle=Deasaich vCard +# %S will be the card's display name, don't translate vCard +editVCardTitleWithDisplayName=Deasaich vCard airson %S + +## LOCALIZATION NOTE (cardRequiredDataMissingMessage): do not localize \n +cardRequiredDataMissingMessage=Feumaidh tu aonan dhe na leanas a chur a-steach a' char as lugha:\nSeòladh puist-dhealain, Ainm, Sloinneadh, Ainm-seallaidh, Buidheann. +cardRequiredDataMissingTitle=Tha fiosrachadh a dhìth air a bheil feum +incorrectEmailAddressFormatMessage=Feumaidh am prìomh phost-dealain a bhith dhen chruth cleachdaiche@ostair. +incorrectEmailAddressFormatTitle=Seòladh a' phuist-dhealain ann am fòrmat mì-dhligheach + +viewListTitle=Liosta puist: %S +mailListNameExistsTitle=Tha an liosta puist seo ann mu thràth +mailListNameExistsMessage=Tha liosta puist ann mu thràth air a bheil an t-ainm sein. Cuir ainm eile oirre. + +propertyPrimaryEmail=Post-dealain +propertyListName=Ainm na liosta +propertySecondaryEmail=Post-dealain eile +propertyNickname=Far-ainm +propertyDisplayName=Ainm-taisbeanaidh +propertyWork=Obair +propertyHome=Dachaigh +propertyFax=Facs +propertyCellular=Fòn-làimhe +propertyPager=Pèidsear +propertyBirthday=Co-là breith +propertyCustom1=Gnàthaichte 1 +propertyCustom2=Gnàthaichte 2 +propertyCustom3=Gnàthaichte 3 +propertyCustom4=Gnàthaichte 4 + +propertyGtalk=Google Talk +propertyAIM=AIM +propertyYahoo=Yahoo! +propertySkype=Skype +propertyQQ=QQ +propertyMSN=MSN +propertyICQ=ICQ +propertyXMPP=Jabber ID +propertyIRC=Far-ainm IRC + +## LOCALIZATION NOTE (cityAndStateAndZip): +## %1$S is city, %2$S is state, %3$S is zip +cityAndStateAndZip=%1$S, %2$S, %3$S +## LOCALIZATION NOTE (cityAndStateNoZip): +## %1$S is city, %2$S is state +cityAndStateNoZip=%1$S, %2$S +## LOCALIZATION NOTE (cityOrStateAndZip): +## %1$S is city or state, %2$S is zip +cityOrStateAndZip=%1$S %2$S + +stateZipSeparator= + +prefixTo=Gu +prefixCc=Cc +prefixBcc=Bcc +addressBook=Leabhar nan seòladh + +# Contact photo management +browsePhoto=Dealbh an neach-aithne +stateImageSave=A’ sàbhaladh an deilbh... +errorInvalidUri=Mearachd: Tha an dealbh tùsail mì-dhligheach. +errorNotAvailable=Mearachd: Cha ruig sinn am faidhle. +errorInvalidImage=Mearachd: Chan eil taic ach ri dealbhan JPG, PNG agus GIF. +errorSaveOperation=Mearachd: Cha b’ urrainn dhuinn an dealbh a shàbhaladh. + +# mailnews.js +ldap_2.servers.pab.description=Seòlaidhean pearsanta +ldap_2.servers.history.description=Seòlaidhean cruinnichte +## LOCALIZATION NOTE (ldap_2.servers.osx.description is only used on Mac OS X) +ldap_2.servers.osx.description=Leabhar nan seòladh Mac OS X + +## LOCALIZATION NOTE (ldap_2.servers.outlook.description is only used on Windows) +ldap_2.servers.outlook.description=Leabhar-sheòlaidhean Outlook + +# status bar stuff +## LOCALIZATION NOTE (totalContactStatus): +## %1$S is address book name, %2$S is contact count +totalContactStatus=Àireamh iomlan nan caraidean ann an %1$S: %2$S +noMatchFound=Cha deach seise a lorg +## LOCALIZATION NOTE (matchesFound1): +## Semicolon-separated list of singular and plural forms. +## See: https://developer.mozilla.org/docs/Mozilla/Localization/Localization_and_Plurals +## #1 is the number of matching contacts found +matchesFound1=#1 seise air a lorg;#1 sheise air a lorg;#1 seisean air a lorg;#1 seise air a lorg + +## LOCALIZATION NOTE (contactsCopied): Semi-colon list of plural forms +## %1$S is the number of contacts that were copied. This should be used multiple +## times wherever you need it. Do not replace by %S. +contactsCopied=Chaidh lethbhreac a dhèanamh de dh'%1$S charaidh;Chaidh lethbhreac a dhèanamh de %1$S charaid;Chaidh lethbhreac a dhèanamh de %1$S caraidean;Chaidh lethbhreac a dhèanamh de %1$S caraid + +## LOCALIZATION NOTE (contactsMoved): Semi-colon list of plural forms +## %1$S is the number of contacts that were moved. This should be used multiple +## times wherever you need it. Do not replace by %S. +contactsMoved=Chaidh %1$S charaid a ghluasad;Chaidh %1$S charaid a ghluasad;Chaidh %1$S caraidean a ghluasad;Chaidh %1$S caraid a ghluasad + +# LDAP directory stuff +invalidName=Cuir a-steach ainm dligheach. +invalidHostname=Cuir a-steach ainm dligheach airson an òstair. +invalidPortNumber=Cuir a-steach àireamh dligheach airson a' phuirt. +invalidResults=Cuir a-steach àireamh dhligheach ann an raon nan toraidhean. +abReplicationOfflineWarning=Feumaidh tu a bhith air loidhne mus urrainn dhut mac-samhlachadh LDAP a dhèanamh. +abReplicationSaveSettings=Feumaidh tu na roghainnean a shàbhaladh mus urrainn dhut pasgan a luchdadh a-nuas. + +# For importing / exporting +## LOCALIZATION NOTE (ExportAddressBookNameTitle): %S is the name of exported addressbook +ExportAddressBookNameTitle=Às-phortaich leabhar nan seòladh - %S +LDIFFiles=LDIF +CSVFiles=Le cromag eatarra +CSVFilesSysCharset=Le cromag eatarra (Seata charactaran an t‑siostaim) +CSVFilesUTF8=Le cromag eatarra (UTF‑8) +TABFiles=Le taba eatarra +TABFilesSysCharset=Le taba eatarra (Seata charactaran an t‑siostaim) +TABFilesUTF8=Le taba eatarra (UTF‑8) +VCFFiles=vCard +SupportedABFiles=Faidhlichean de leabhraichean-sheòlaidhean ris a bheil taic +failedToExportTitle=Dh'fhàillig an t-às-phortadh +failedToExportMessageNoDeviceSpace=Dh'fhàillig às-phortadh leabhar nan seòladh, chan eil àite air fhàgail air an inneal. +failedToExportMessageFileAccessDenied=Dh'fhàillig às-phortadh leabhar nan seòladh, casg air inntrigeadh dhan fhaidhle. + +# For getting authDN for replication using dlg box +AuthDlgTitle=Mac-samhlachadh LDAP leabhar nan seòladh +AuthDlgDesc=Feumaidh tu an t-ainm-cleachdaiche 's am facal-faire agad a chur a-steach mus urrainn dhut inntrigeadh a dhèanamh do fhrithealaiche nam pasgan. + +# LOCALIZATION NOTE(joinMeInThisChat) +# use + for spaces +joinMeInThisChat=Thig+a+bhruidhinn+rium+san+t-seòmar-chabadaich+seo. + +# For printing +headingHome=Dachaigh +headingWork=Obair +headingOther=Eile +headingChat=Cabadaich +headingPhone=Fòn +headingDescription=Tuairisgeul +headingAddresses=Seòlaidhean + +## For address books +addressBookTitleNew=Leabhar nan seòladh ùr +# LOCALIZATION NOTE (addressBookTitleEdit): +# %S is the current name of the address book. +# Example: My Custom AB Properties +addressBookTitleEdit=Roghainnean %S +duplicateNameTitle=Dùblaich ainm an leabhair-sheòlaidhean +# LOCALIZATION NOTE (duplicateNameText): +# Don't localize "\n• %S" unless your local layout comes out wrong. +# %S is the name of the existing address book. +# Example: An address book with this name already exists: +# • My Custom AB +duplicateNameText=Tha leabhar-sheòlaidhean air a bheil an t-ainm seo ann mu thràth:\n• %S + +# For corrupt .mab files +corruptMabFileTitle=Faidhle leabhar nan seòladh air a thruailleadh +corruptMabFileAlert=Bha leabhar nan seòladh agad (faidhle %1$S) nach b' urrainn dhuinn a leughadh. Thèid faidhle %2$S ùr a chruthachadh agus lethbhreac-glèidhidh an t-seann-fhaidhle air a bhios %3$S san dearbh-phasgan. + +# For locked .mab files +lockedMabFileTitle=Cha ghabh faidhle leabhar nan seòladh a luchdadh +lockedMabFileAlert=Cha ghabh faidhle leabhar nan seòladh %S a luchdadh. Faodaidh gu bheil e ri leughadh a-mhàin no gun deach a ghlasadh le prògram eile. Feuch ris a-rithist an ceann tamaill. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/ldapAutoCompErrs.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/ldapAutoCompErrs.properties new file mode 100644 index 0000000000000000000000000000000000000000..98ab3476b77f7c8ba098611249a73f2c25b67ed9 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/ldapAutoCompErrs.properties @@ -0,0 +1,104 @@ +# 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/. + +# These are error strings for problems that happen while in the +# various states declared in nsILDAPAutoCompFormatter.idl. Note that +# the number that indexes each error state is the same as the number +# corresponding to that state in nsILDAPAutoCompFormatter.idl. + +## @name ERR_STATE_UNBOUND +## @loc none +0=Duilgheadas le tòiseachadh LDAP + +## @name ERR_STATE_INITIALIZING +## @loc none +1=Dh'fhàillig ceangal ris an fhrithealaiche LDAP + +## @name ERR_STATE_BINDING +## @loc none +2=Dh'fhàillig ceangal ris an fhrithealaiche LDAP + +## @name ERR_STATE_BOUND +## @loc none +3=Duilgheadas conaltraidh leis an fhrithealaiche LDAP + +## @name ERR_STATE_SEARCHING +## @loc none +4=Duilgheadas le lorg an fhrithealaiche LDAP + + +# The format of the alert dialog itself +# +## @name ALERT_FORMAT +## @loc None of %1$S, %2$S and %3$S should be localized. +## %1$S is the error code itself, %2$S is an LDAP SDK error message from +## chrome://mozldap/locale/ldap.properties, and %3$S is a hint relating +## to that specific error, found in this file. +errorAlertFormat=Còd na mearachd %1$S: %2$S\n\n %3$S + +## The following errors are for error codes other than LDAP-specific ones. +## Someday mozilla will actually have a system for mapping nsresults to +## error strings that's actually widely used, unlike nsIErrorService. But +## until it does, these strings live here... + +## @name HOST_NOT_FOUND +## @loc none +5000=Cha deach an t-òstair a lorg + +## @name GENERIC_ERROR +## @loc none +9999=Mearachd neo-aithnichte + + +# Hints to for the user, associated with specific error codes (ie error code +# + 10000) + + +## @name TIMELIMIT_EXCEEDED_HINT +## @loc none +10003=Feuch ris a-rithist an ceann tamaill no bruidhinn ri rianadair an t-siostaim agad. + +## @name STRONGAUTH_REQUIRED_HINT +## @loc none +10008=Chan eil taic ann ri dearbhachadh làidir aig an àm seo. + +## @name INVALID_SYNTAX_HINT +## @loc none +10021=Dearbh gu bheil criathrag an luirg ceart is feuch ris a-rithist air neo bruidhinn ri rianadair an t-siostaim agad. Airson dearbhadh gu bheil criathrag an luirg ceart, tadhail air a’ chlàr-taice “Deasaich”, tagh “Roghainnean”, is an uair sin “Post ⁊ buidhnean-naidheachd” is an uair sin “Seòlachadh”. Briog air “Deasaich na pasganan” is tagh am frithealaiche LDAP a tha ga chleachdadh. Briog air “Deasaich” is an uair sin “Adhartach” gus criathrag an luirg fhaicinn. + +## @name NO_SUCH_OBJECT_HINT +## @loc none +10032=Dearbh gu bheil am Base DN ceart is feuch ris a-rithist air neo bruidhinn ri rianadair an t-siostaim agad. Airson dearbhadh gu bheil am Base DN ceart, tadhail air a’ chlàr-taice “Deasaich” tagh “Roghainnean”, an uair sin “Post ⁊ buidhnean-naidheachd” ’s an uair sin “Seòlachadh”. Briog air “Deasaich na pasganan” is tagh am frithealaiche LDAP a tha ga chleachdadh. Briog air “Deasaich” gus am Base DN fhaicinn. + +## @name BUSY_HINT +## @loc none +10051=Feuch ris a-rithist an ceann tamaill. + +## @name SERVER_DOWN_HINT +## @loc none +10081=Dearbhaich gu bheil ainm an òstair is àireamh a' phuirt ceart 's feuch ris a-rithist air neo bruidhinn ri rianadair an t-siostaim agad. Airson dearbhadh gu bheil ainm an òstair is àireamh a' phuirt ceart, rach gun chlàr-taice "Deasaich" tagh "Roghainnean", an uairsin "Post ⁊ buidhnean-naidheachd" 's an uairsin "Seòlachadh". Briog air "Deasaich na pasganan" 's tagh am frithealaiche LDAP a tha 'ga chleachdadh. Briog air "Deasaich" gus ainm an òstair fhaicinn. Briog air "Adhartach" gus àireamh a' phuirt fhaicinn. + +## @name TIMEOUT_HINT +## @loc none +10085=Feuch ris a-rithist an ceann tamaill. + +## @name FILTER_ERROR_HINT +## @loc none +10087=Dearbhaich gu bheil criathrag an luirg ceart 's feuch ris a-rithist air neo bruidhinn ri rianadair an t-siostaim agad. Airson dearbhadh gu bheil criathrag an luirg ceart, rach gun chlàr-taice "Deasaich" tagh "Roghainnean", an uairsin "Post ⁊ buidhnean-naidheachd" 's an uairsin "Seòlachadh". Briog air "Deasaich na pasganan" 's tagh am frithealaiche LDAP a tha 'ga chleachdadh. Briog air "Deasaich" 's an uairsin "Adhartach" gus criathrag an luirg fhaicinn. + +## @name NO_MEMORY_HINT +## @loc none +10090=Dùin cuid dha na h-uinneagan is/no prògraman agad 's feuch ris a-rithist. + +## @name CONNECT_ERROR_HINT +## @loc none +10091=Dearbhaich gu bheil ainm an òstair is àireamh a' phuirt ceart 's feuch ris a-rithist air neo bruidhinn ri rianadair an t-siostaim agad. Airson dearbhadh gu bheil ainm an òstair is àireamh a' phuirt ceart, rach gun chlàr-taice "Deasaich" tagh "Roghainnean", an uairsin "Post ⁊ buidhnean-naidheachd" 's an uairsin "Seòlachadh". Briog air "Deasaich na pasganan" 's tagh am frithealaiche LDAP a tha 'ga chleachdadh. Briog air "Deasaich" gus ainm an òstair fhaicinn. Briog air "Adhartach" gus àireamh a' phuirt fhaicinn. + +## @name HOST_NOT_FOUND_HINT +## @loc none +15000=Dearbhaich gu bheil ainm an òstair ceart 's feuch ris a-rithist air neo bruidhinn ri rianadair an t-siostaim agad. Airson dearbhadh gu bheil ainm an òstair ceart, rach gun chlàr-taice "Deasaich" tagh "Roghainnean", an uairsin "Post ⁊ buidhnean-naidheachd" 's an uairsin "Seòlachadh". Briog air "Deasaich na pasganan" 's tagh am frithealaiche LDAP a tha 'ga chleachdadh. Briog air "Deasaich" gus ainm an òstair fhaicinn. + +## @name GENERIC_HINT +## @loc none +19999=Cuir fios gu rianadair an t-siostaim agad. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/pref-directory-add.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/pref-directory-add.dtd new file mode 100644 index 0000000000000000000000000000000000000000..4d560efb568b6ad46a57afe692ce85c6a6a71586 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/pref-directory-add.dtd @@ -0,0 +1,45 @@ +<!-- 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/. --> + +<!ENTITY directoryName.label "Ainm: "> +<!ENTITY directoryName.accesskey "n"> +<!ENTITY directoryHostname.label "Ainm an òstair: "> +<!ENTITY directoryHostname.accesskey "A"> +<!ENTITY directoryBaseDN.label "Base DN: "> +<!ENTITY directoryBaseDN.accesskey "B"> +<!ENTITY findButton.label "Lorg"> +<!ENTITY findButton.accesskey "L"> +<!ENTITY directorySecure.label "Cleachd ceangal tèarainte (SSL)"> +<!ENTITY directorySecure.accesskey "C"> +<!ENTITY directoryLogin.label "Bind DN: "> +<!ENTITY directoryLogin.accesskey "i"> +<!ENTITY General.tab "Coitcheann"> +<!ENTITY Offline.tab "Far loidhne"> +<!ENTITY Advanced.tab "Adhartach"> +<!ENTITY portNumber.label "Àireamh a' phuirt: "> +<!ENTITY portNumber.accesskey "p"> +<!ENTITY searchFilter.label "A' chriathrag luirg: "> +<!ENTITY searchFilter.accesskey "A"> +<!ENTITY scope.label "Sgòp: "> +<!ENTITY scope.accesskey "S"> +<!ENTITY scopeOneLevel.label "Aon leibheil"> +<!ENTITY scopeOneLevel.accesskey "l"> +<!ENTITY scopeSubtree.label "Fo-chraobh"> +<!ENTITY scopeSubtree.accesskey "F"> +<!ENTITY return.label "Na till barrachd na"> +<!ENTITY return.accesskey "r"> +<!ENTITY results.label "toraidhean"> +<!ENTITY offlineText.label "'S urrainn dhut lethbhreac ionadail dhen pasgan seo a luchdadh a-nuas gus an urrainn a chleachdadh nuair a bhios tu ag obair far loidhne."> +<!ENTITY saslMechanism.label "Dòigh logaidh a-steach: "> +<!ENTITY saslMechanism.accesskey "D"> +<!ENTITY saslOff.label "Simplidh"> +<!ENTITY saslOff.accesskey "l"> +<!ENTITY saslGSSAPI.label "Kerberos (GSSAPI)"> +<!ENTITY saslGSSAPI.accesskey "K"> +<!-- Localization note: this is here because the width of the dialog + is determined by the width of the base DN box; and that is likely + to vary somewhat with the language. +--> + +<!ENTITY newDirectoryWidth "42em"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/pref-directory.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/pref-directory.dtd new file mode 100644 index 0000000000000000000000000000000000000000..b2f0f303ed6e2e8f0c209dfe20fef06fc83d05b0 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/pref-directory.dtd @@ -0,0 +1,17 @@ +<!-- 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/. --> +<!-- LOCALIZATION NOTE (window.title) : do not translate "LDAP" in below line --> + +<!ENTITY pref.ldap.window.title "Frithealaichean pasgan LDAP"> +<!-- LOCALIZATION NOTE (directories.label) : do not translate "LDAP" in below line --> +<!ENTITY directories.label "Frithealaiche pasgan LDAP:"> +<!-- LOCALIZATION NOTE (directoriesText.label) : do not translate "LDAP" in below line --> +<!ENTITY directoriesText.label "Tagh frithealaiche pasgan LDAP:"> +<!ENTITY directoriesText.accesskey "T"> +<!ENTITY addDirectory.label "Cuir ris"> +<!ENTITY addDirectory.accesskey "C"> +<!ENTITY editDirectory.label "Deasaich"> +<!ENTITY editDirectory.accesskey "e"> +<!ENTITY deleteDirectory.label "Sguab às"> +<!ENTITY deleteDirectory.accesskey "S"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/replicationProgress.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/replicationProgress.properties new file mode 100644 index 0000000000000000000000000000000000000000..dd3bd6f0b5c0d8e232058cf932e33b697ffb720f --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/addressbook/replicationProgress.properties @@ -0,0 +1,20 @@ +# 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/. +replicationStarted=Thòisich am mac-samhlachadh… +changesStarted=Thòiseachadh air atharrachaidhean a lorg a thèid am mac-samhlachadh… +replicationSucceeded=Mac-samhlachadh soirbheachail +replicationFailed=Dh'fhàillig am mac-samhlachadh +replicationCancelled=Sguir thu dhen mhac-samhlachadh +# LOCALIZATION NOTE +# do not localize %S. %S is the current entry number (an integer) +currentCount=A' mac-samhlachadh clàr a' phasgain: %S + +downloadButton=Luchdaich a-nuas an-dràsta +downloadButton.accesskey=d +cancelDownloadButton=Sguir dhen luchdadh a-nuas +cancelDownloadButton.accesskey=c + +directoryTitleNew=Pasgan LDAP ùr +## LOCALIZATION NOTE (directoryTitleEdit): %S will be replaced by the LDAP directory's display name +directoryTitleEdit=Roghainnean %S diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-addressing.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-addressing.dtd new file mode 100644 index 0000000000000000000000000000000000000000..dadb39ecd54d0d90277f4251e20d945031d848c3 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-addressing.dtd @@ -0,0 +1,51 @@ +<!-- 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/. --> + +<!-- extracted from am-addressing.xul --> + +<!-- extracted from am-addressing.xhtml --> + +<!ENTITY addressing.label "Sgrìobhadh ⁊ seòlachadh"> +<!ENTITY addressingGroupTitle.label "Seòlachadh"> +<!ENTITY addressingText.label "Nuair a lorgas mi seòladh:"> +<!-- LOCALIZATION NOTE (override.label) : do not translate "LDAP" in below line --> +<!ENTITY useGlobal.label "Cleachd na roghainnean frithealaiche LDAP uile-choitcheann agam airson a' chunntais seo"> +<!ENTITY useGlobal.accesskey "u"> +<!ENTITY editDirectories.label "Deasaich nam pasganan…"> +<!ENTITY editDirectories.accesskey "e"> +<!-- LOCALIZATION NOTE (directories.label) : do not translate "LDAP" in below line --> +<!ENTITY directories.label "Cleachd frithealaiche LDAP eile:"> +<!ENTITY directories.accesskey "D"> +<!ENTITY directoriesNone.label "Chan eil gin"> + +<!-- am-addressing.xul --> + +<!-- am-addressing.xhtml --> + +<!ENTITY compositionGroupTitle.label "Sgrìobhadh"> +<!-- LOCALIZATION NOTE (useHtml.label) : do not translate "html" in below line --> +<!ENTITY useHtml.label "Sgrìobh teachdaireachdan ann an cruth HTML"> +<!ENTITY useHtml.accesskey "c"> +<!ENTITY autoQuote.label "Thoir luaidh air an teachdaireachd thùsail a ghnàth nuair a sgrìobhas tu freagairt"> +<!ENTITY autoQuote.accesskey "T"> +<!-- LOCALIZATION NOTE (quoting.label): This will concatenate with the 4 strings that follow. --> +<!ENTITY quoting.label "Nuair a nithear iomradh,"> +<!ENTITY quoting.accesskey "q"> +<!ENTITY aboveQuote.label "tòisich air mo fhreagairt os cionn an luaidh"> +<!ENTITY belowQuote.label "tòisich air mo fhreagairt fon luaidh"> +<!ENTITY selectAndQuote.label "tagh an luaidh"> +<!ENTITY place.label "agus cuir an t-earr-sgrìobhadh agam"> +<!ENTITY place.accesskey "s"> +<!ENTITY belowText.label "fon luaidh (mholar seo)"> +<!ENTITY aboveText.label "fo mo fhreagairt (os cionn an luaidh)"> +<!ENTITY includeSigOnReply.label "Cuir an t-earr-sgrìobhadh agam 'nam fhreagairtean"> +<!ENTITY includeSigOnReply.accesskey "s"> +<!ENTITY includeSigOnForward.label "Cuir an t-earr-sgrìobhadh agam ann an teachdaireachdan a tha mi a' sìneadh air adhart"> +<!ENTITY includeSigOnForward.accesskey "C"> + +<!ENTITY globalComposingPrefs.label "Roghainnean sgrìobhaidh uile-choitcheann…"> +<!ENTITY globalComposingPrefs.accesskey "R"> + +<!ENTITY globalAddressingPrefs.label "Roghainnean sheòlaidhean uile-choitcheanns…"> +<!ENTITY globalAddressingPrefs.accesskey "o"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-advanced.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-advanced.dtd new file mode 100644 index 0000000000000000000000000000000000000000..9f7077e45b54a1413013c8de3489a248de140b35 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-advanced.dtd @@ -0,0 +1,31 @@ +<!-- 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/. --> + +<!-- extracted from am-advanced.xul --> +<!-- LOCALIZATION NOTE (smtpServer.label): do not translate "SMTP" in below line --> + + +<!-- extracted from am-advanced.xhtml --> + +<!ENTITY smtpServer.label "Roghainnean an fhrithealaiche a-mach (SMTP)"> +<!-- LOCALIZATION NOTE (smtpDescription.label): do not translate "SMTP" in below line --> + +<!ENTITY smtpDescription.label "Nuair a stiùiricheas tu na IDs agad, 's urrainn dhut frithealaiche on liosta seo a thaghadh 's tu 'ga shònrachadh mar am frithealaiche a-mach (SMTP) no 's urrainn dhut am frithealaiche bunaiteach a thaghadh on liosta seo le "Cleachd am frithealaiche bunaiteach"."> + +<!ENTITY smtpListAdd.label "Cuir ris…"> +<!ENTITY smtpListAdd.accesskey "C"> +<!ENTITY smtpListEdit.label "Deasaich…"> +<!ENTITY smtpListEdit.accesskey "e"> +<!ENTITY smtpListDelete.label "Thoir air falbh"> +<!ENTITY smtpListDelete.accesskey "T"> +<!ENTITY smtpListSetDefault.label "Suidhich roghainn bhunaiteach"> +<!ENTITY smtpListSetDefault.accesskey "t"> + +<!ENTITY serverDetails.label "Mion-fhiosrachadh mun fhrithealaiche a thagh thu:"> +<!ENTITY serverDescription.label "Tuairisgeul: "> +<!ENTITY serverName.label "Ainm an fhrithealaiche: "> +<!ENTITY serverPort.label "Port: "> +<!ENTITY userName.label "Ainm a' chleachdaiche: "> +<!ENTITY connectionSecurity.label "Tèarainteachd a' cheangail: "> +<!ENTITY authMethod.label "An dòigh dearbhachaidh: "> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-archiveoptions.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-archiveoptions.dtd new file mode 100644 index 0000000000000000000000000000000000000000..a0b2114dd4359572887761ad23f9b40366896d52 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-archiveoptions.dtd @@ -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/. --> + +<!-- extracted from am-archiveoptions.xul --> + + +<!-- extracted from am-archiveoptions.xhtml --> + +<!ENTITY dialogTitle.label "Roghainnean na tasg-lainn"> +<!ENTITY archiveGranularityPrefix.label "Nuair a chuireas mi teachdaireachdan san tasg-lann, cuir iad:"> +<!ENTITY archiveFlat.label "anns an aon phasgan"> +<!ENTITY archiveFlat.accesskey "s"> +<!ENTITY archiveYearly.label "Ann am pasganan a thèid an tasglannadh gach bliadhna"> +<!ENTITY archiveYearly.accesskey "m"> +<!ENTITY archiveMonthly.label "Ann am pasganan a thèid an tasglannadh gach mìos"> +<!ENTITY archiveMonthly.accesskey "t"> +<!ENTITY keepFolderStructure.label "Glèidh structar nam pasgan tasglannaidh"> +<!ENTITY keepFolderStructure.accesskey "G"> +<!ENTITY archiveExample.label "Ball-eisimpleir"> +<!-- LOCALIZATION NOTE (archiveFolderName.label): this should match the default + name for the "Archives" folder --> +<!ENTITY archiveFolderName.label "Tasg-lannan"> +<!-- LOCALIZATION NOTE (inboxFolderName.label): this should match the default + name for the "Inbox" folder --> +<!ENTITY inboxFolderName.label "Am bogsa a-steach"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-copies.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-copies.dtd new file mode 100644 index 0000000000000000000000000000000000000000..961796bef92e8b0b4cd56652aca1d10c07fc3236 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-copies.dtd @@ -0,0 +1,53 @@ +<!-- 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/. --> + +<!-- extracted from am-copies.xul --> + + +<!-- extracted from am-copies.xhtml --> + +<!ENTITY copyAndFolderTitle.label "Lethbhreacan ⁊ pasganan"> +<!ENTITY sendingPrefix.label "Nuair a chuireas mi teachdaireachd, dèan na leanas a ghnàth: "> +<!ENTITY fccMailFolder.label "Cuir lethbhreac ann an:"> +<!ENTITY fccMailFolder.accesskey "C"> +<!ENTITY fccReplyFollowsParent.label "Cuir na freagairtean sa phasgan far a bheil an teachdaireachd a tha mi a' toirt freagairt dhi"> +<!ENTITY fccReplyFollowsParent.accesskey "C"> +<!-- LOCALIZATION NOTE (ccAddress.label): do not translate "Cc" in below line --> +<!ENTITY ccAddress.label "Cuir Cc dha na seòlaidhean a leanas:"> +<!ENTITY ccAddress.accesskey "C"> +<!ENTITY ccAddressList.placeholder "Sgar seòlaidhean le cromagan"> +<!-- LOCALIZATION NOTE (bccAddress.label): do not translate "Bcc" in below line --> +<!ENTITY bccAddress.label "Cuir Bcc dha na seòlaidhean a leanas:"> +<!ENTITY bccAddress.accesskey "B"> +<!ENTITY bccAddressList.placeholder "Sgar seòlaidhean le cromagan"> +<!ENTITY saveMessageDlg.label "Seall an conaltradh dearbhachaidh nuair a thèid teachdaireachdan a shàbhaladh"> +<!ENTITY saveMessageDlg.accesskey "S"> +<!-- LOCALIZATION NOTE (sentFolderOn.label): OK to translate this, bug #57440 --> +<!ENTITY sentFolderOn.label "Pasgan a' phuist "chuirte" anns:"> +<!ENTITY sentFolderOn.accesskey "s"> +<!ENTITY sentInOtherFolder.label "Eile:"> +<!ENTITY sentInOtherFolder.accesskey "E"> +<!-- LOCALIZATION NOTE (archivesFolderOn.label): OK to translate this, bug #57440 --> +<!ENTITY archivesTitle.label "Tasg-lannan nan teachdaireachdan"> +<!ENTITY keepArchives.label "Cum tasg-lannan de theachdaireachdan ann an:"> +<!ENTITY keepArchives.accesskey "C"> +<!ENTITY archiveHierarchyButton.label "Roghainnean nan tasg-lannan…"> +<!ENTITY archiveHierarchyButton.accesskey "a"> +<!ENTITY archivesFolderOn.label "Pasgan nan "tasg-lann" air:"> +<!ENTITY archivesFolderOn.accesskey "n"> +<!ENTITY archiveInOtherFolder.label "Eile:"> +<!ENTITY archiveInOtherFolder.accesskey "E"> +<!ENTITY specialFolders.label "Dreachdan, tasg-lannan is teamplaidean"> +<!ENTITY keepDrafts2.label "Cum dreachdan an-seo:"> +<!-- LOCALIZATION NOTE (draftsFolderOn.label): OK to translate this, bug #57440 --> +<!ENTITY draftsFolderOn.label "Pasgan nan "dreachdan" anns:"> +<!ENTITY draftsFolderOn.accesskey "d"> +<!ENTITY draftInOtherFolder.label "Eile:"> +<!ENTITY draftInOtherFolder.accesskey "E"> +<!ENTITY keepTemplates.label "Cum teamplaidean de theachdaireachdan ann an:"> +<!-- LOCALIZATION NOTE (templatesFolderOn.label): OK to translate this, bug #57440 --> +<!ENTITY templatesFolderOn.label "Pasgan nan "teamplaid" air:"> +<!ENTITY templatesFolderOn.accesskey "m"> +<!ENTITY templateInOtherFolder.label "Eile:"> +<!ENTITY templateInOtherFolder.accesskey "E"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-e2e.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-e2e.properties new file mode 100644 index 0000000000000000000000000000000000000000..a3b3c2336d517b49f61f579e13f52e7b394cd4b7 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-e2e.properties @@ -0,0 +1,5 @@ +# 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/. + +prefPanel-e2e=Crioptachadh ceann ri cheann diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-identities-list.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-identities-list.dtd new file mode 100644 index 0000000000000000000000000000000000000000..d0e4bd0b29c5957a983b0d1b6cfd7dc105487d52 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-identities-list.dtd @@ -0,0 +1,15 @@ +<!-- 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/. --> + +<!ENTITY identitiesListManageDesc.label "Stiùirich dearbh-aithnean a' chunntais seo. 'S e a' chiad dhiubh a thèid a chleachdadh a ghnàth."> +<!ENTITY identitiesListAdd.label "Cuir ris…"> +<!ENTITY identitiesListAdd.accesskey "C"> +<!ENTITY identitiesListEdit.label "Deasaich…"> +<!ENTITY identitiesListEdit.accesskey "e"> +<!ENTITY identitiesListDefault.label "Suidhich a' bhun-roghainn"> +<!ENTITY identitiesListDefault.accesskey "S"> +<!ENTITY identitiesListDelete.label "Sguab às"> +<!ENTITY identitiesListDelete.accesskey "S"> +<!ENTITY identitiesListClose.label "Dùin"> +<!ENTITY identitiesListClose.accesskey "D"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-identity-edit.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-identity-edit.dtd new file mode 100644 index 0000000000000000000000000000000000000000..c563c14f8411f377925ccd101e2001112841683a --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-identity-edit.dtd @@ -0,0 +1,17 @@ +<!-- 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/. --> +<!-- LOCALIZATION NOTE (identityDialog.style): This value should be roughly + equal to the value of accountManager.size entity minus the value + of accountTree.width entity. --> + +<!ENTITY identityListDesc.label "Rèitich roghainnean na dearbh-aithne seo:"> + +<!ENTITY settingsTab.label "Roghainnean"> +<!ENTITY copiesFoldersTab.label "Lethbhreacan ⁊ pasganan"> +<!ENTITY addressingTab.label "Sgrìobhadh ⁊ seòlachadh"> + +<!ENTITY publicData.label "Dàta poblach"> +<!ENTITY privateData.label "Dàta prìobhaideach"> +<!ENTITY identityAlias.label "Leubail na dearbh-aithne:"> +<!ENTITY identityAlias.accesskey "b"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-im.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-im.dtd new file mode 100644 index 0000000000000000000000000000000000000000..e9b3f8090f43217f6afe46681d3b0d3177b4214d --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-im.dtd @@ -0,0 +1,16 @@ +<!-- 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/. --> + +<!ENTITY accountWindow.title "Roghainnean a' chunntais"> +<!ENTITY accountWindow.width "300"> +<!ENTITY account.general "Coitcheann"> +<!ENTITY account.advanced "Roghainnean adhartach"> +<!ENTITY account.name "Ainm-cleachdaiche:"> +<!ENTITY account.password "Facal-faire:"> +<!ENTITY account.alias "Ainm-brèige:"> +<!ENTITY account.newMailNotification "Innis dhomh ma thig post ùr a-steach"> +<!ENTITY account.autojoin "Seanailean Auto-Joined:"> +<!ENTITY account.proxySettings.caption "Roghainnean progsaidh:"> +<!ENTITY account.proxySettings.change.label "Atharraich…"> +<!ENTITY account.proxySettings.change.accessKey "A"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-junk.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-junk.dtd new file mode 100644 index 0000000000000000000000000000000000000000..f492a51b5e281493b9ee7af7b420b9c5ddeae6a3 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-junk.dtd @@ -0,0 +1,31 @@ +<!-- 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/. --> + +<!ENTITY junkSettings.label "Roghainnean na truilleis"> +<!ENTITY trainingDescription.label "Ma chuireas tu seo an comas, bi agad ri &brandShortName; a thrèanadh gus an aithnich e post-truilleis. Nì thu seo bàr-inneal na truilleis. Feumaidh tu an dà chuid teachdaireachdan truilleis is feadhainn chòir a chomharradh. Bidh &brandShortName; comasach air truilleis a chomharradh e fhèin an uairsin."> +<!ENTITY level.label "Cuir an comas na h-uidheaman-smachd tuigseach air a' chunntas seo"> +<!ENTITY level.accesskey "e"> + +<!ENTITY move.label "Gluais teachdaireachdan truilleis ùra gu:"> +<!ENTITY move.accesskey "G"> +<!ENTITY junkFolderOn.label "Pasgan na "truilleis" air:"> +<!ENTITY junkFolderOn.accesskey "P"> +<!ENTITY otherFolder.label "Eile:"> +<!ENTITY otherFolder.accesskey "E"> +<!ENTITY purge1.label "Sguab às post-truilleis a ghnàth a tha nas sìn na"> +<!ENTITY purge1.accesskey "u"> +<!ENTITY purge2.label "là(ithean)"> + +<!ENTITY whitelistHeader.label "Na cuir comharra truilleis air post gu fèin-obrachail ma tha an seòladair ann an: "> +<!ENTITY whitelistHeader.accesskey "d"> + +<!ENTITY ispHeadersWarning.label "Ma chuireas tu an comas seo, bidh &brandShortName; a' coimhead air teachdaireachdan ris a bheil an comharra seo mar thruilleis."> +<!ENTITY ispHeaders.label "Cuir earbsa ann am bannan-cinn post-truilleis a chuir: "> +<!ENTITY ispHeaders.accesskey "t"> + +<!ENTITY junkClassification.label "Taghadh"> +<!ENTITY junkActions.label "Ceann-uidhe 's glèidheadh"> + +<!ENTITY globalJunkPrefs.label "Roghainnean truilleis uile-choitcheann…"> +<!ENTITY globalJunkPrefs.accesskey "g"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-main.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-main.dtd new file mode 100644 index 0000000000000000000000000000000000000000..b84b1f076ff1b31d814911533eb5deaa23380dd2 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-main.dtd @@ -0,0 +1,47 @@ +<!-- 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/. --> + +<!-- extracted from am-main.xhtml --> + +<!ENTITY accountTitle.label "Roghainnean a' chunntais"> +<!ENTITY accountName.label "Ainm a' chunntais:"> +<!ENTITY accountName.accesskey "n"> +<!ENTITY identityTitle.label "An dearbh-aithne bhunaiteach"> +<!ENTITY identityDesc.label "Tha dearbh-aithne aig gach cunntas; sin am fiosrachadh a chì daoine eile nuair a leughas iad do theachdaireachdan."> +<!ENTITY name.label "D' ainm:"> +<!ENTITY name.accesskey "D"> +<!ENTITY email.label "Seòladh puist-dhealain:"> +<!ENTITY email.accesskey "e"> +<!ENTITY catchAll.label "Freagair leis an dearbh-aithne seo ma bhios na bannan-cinn lìbhrigidh co-ionnann:"> +<!ENTITY catchAll.accesskey "d"> +<!ENTITY replyTo.label "An seòladh freagairt-gu:"> +<!ENTITY replyTo.accesskey "s"> +<!ENTITY replyTo.placeholder "Freagraidh na faightearan an seòladh eile seo"> +<!ENTITY organization.label "Buidheann:"> +<!ENTITY organization.accesskey "B"> +<!ENTITY signatureText.label "Teacsa an earr-sgrìobhaidh:"> +<!ENTITY signatureText.accesskey "T"> +<!ENTITY signatureHtml.label "Cleachd HTML (m.e. <b>bold</b>)"> +<!ENTITY signatureHtml.accesskey "L"> +<!ENTITY signatureFile.label "Tog an t-earr-sgrìobhadh o fhaidhle (teacsa, HTML no dealbh):"> +<!ENTITY signatureFile.accesskey "T"> +<!ENTITY edit.label "Deasaich…"> +<!ENTITY choose.label "Tagh…"> +<!ENTITY choose.accesskey "T"> +<!ENTITY editVCard.label "Deasaich cairt…"> +<!ENTITY editVCard.accesskey "D"> +<!-- LOCALIZATION NOTE (attachVCard.label) : do not translate "vCard" in below line --> +<!ENTITY attachVCard.label "Cuir am vCard agam ri teachdaireachdan"> +<!ENTITY attachVCard.accesskey "v"> + +<!ENTITY manageIdentities.label "Rianaich na dearbh-aithnean…"> +<!ENTITY manageIdentities.accesskey "R"> + +<!-- LOCALIZATION NOTE (smtpName.label) : do not translate "SMTP" in below line --> +<!ENTITY smtpName.label "Frithealaiche a-mach (SMTP):"> +<!ENTITY smtpName.accesskey "F"> +<!ENTITY smtpDefaultServer.label "Cleachd am frithealaiche bunaiteach"> + +<!ENTITY smtpServerEdit.label "Deasaich am frithealaiche SMTP…"> +<!ENTITY smtpServerEdit.accesskey "P"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-mdn.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-mdn.dtd new file mode 100644 index 0000000000000000000000000000000000000000..c6031a618761d5aa95cacde6af5696df90e26db5 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-mdn.dtd @@ -0,0 +1,33 @@ +<!-- 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/. --> + +<!ENTITY pane.title "Bannan-cuidhteis"> +<!ENTITY useGlobalPrefs.label "Cleachd na roghainnean uile-choitcheann agam a thaobh nam bannan-cuidhteis airson a' chunntais seo"> +<!ENTITY useGlobalPrefs.accesskey "u"> +<!ENTITY globalReceipts.label "Roghainnean uile-choitcheann…"> +<!ENTITY globalReceipts.accesskey "R"> +<!ENTITY useCustomPrefs.label "Gnàthaich na bannan-cuidhteis airson a' chunntais seo"> +<!ENTITY useCustomPrefs.accesskey "c"> +<!ENTITY requestReceipt.label "Iarr bann-cuidhteas an-còmhnaidh nuair a chuireas mi teachdaireachd"> +<!ENTITY requestReceipt.accesskey "I"> +<!ENTITY receiptArrive.label "Nuair a thig bann-cuidhteis a-steach:"> +<!ENTITY leaveIt.label "Fàg e sa bhogsa a-steach agam"> +<!ENTITY leaveIt.accesskey "F"> +<!-- LOCALIZATION NOTE moveToSent.label Translate: 'Sent' according to Netscape glossary --> +<!ENTITY moveToSent.label "Gluais e do phasgan a' phuist "chuirte" agam"> +<!ENTITY moveToSent.accesskey "m"> +<!ENTITY requestMDN.label "Nuair a thig iarrtas airson bann-cuidhteis a-steach:"> +<!ENTITY returnSome.label "Ceadaich bannan-cuidhteis airson cuid de theachdaireachdan"> +<!ENTITY returnSome.accesskey "e"> +<!ENTITY never.label "Na cuir bannan-cuidhteis idir"> +<!ENTITY never.accesskey "N"> +<!ENTITY notInToCc.label "Mur eil mi ann an raon "Gu" no "Cc" na teachdaireachd:"> +<!ENTITY notInToCc.accesskey "t"> +<!ENTITY outsideDomain.label "Ma bhios an seòladair taobh a-muigh na h-àrainne agam:"> +<!ENTITY outsideDomain.accesskey "s"> +<!ENTITY otherCases.label "Anns gach suidheachadh eile:"> +<!ENTITY otherCases.accesskey "A"> +<!ENTITY askMe.label "Faighnich dhìom"> +<!ENTITY alwaysSend.label "Cuir an-còmhnaidh"> +<!ENTITY neverSend.label "Na cuir idir"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-mdn.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-mdn.properties new file mode 100644 index 0000000000000000000000000000000000000000..0d3c04a501f1d72c811341a036ea2576825303bb --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-mdn.properties @@ -0,0 +1,6 @@ +# 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/. + +## Strings used in prefs. +prefPanel-mdn=Bannan-cuidhteis diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-offline.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-offline.dtd new file mode 100644 index 0000000000000000000000000000000000000000..81870ec59663f2312a3f392cfb2689435f2fda36 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-offline.dtd @@ -0,0 +1,57 @@ +<!-- 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/. --> + +<!ENTITY doNotDownloadPop3Movemail.label "Na luchdaich a-nuas na leanas gus àite a chaomhnadh air an diosg:"> +<!ENTITY doNotDownloadNntp.label "Na luchdaich a-nuas na leanas a chum cleachdadh far loidhne gus àite a chaomhnadh air an diosg:"> +<!ENTITY doNotDownloadImap.label "'S urrainn dhut cuingeachadh a-rèir aoise is meud a chur air luchdadh a-nuas de theachdaireachdan on fhrithealaiche 's air cumail de lethbhric ionadail gus àite a chaomhnadh air an diosg."> +<!ENTITY allFoldersOffline2.label "Cum na teachdaireachdan sna pasgain uile airson a’ chunntais seo air a’ choimpiutair seo"> +<!ENTITY allFoldersOffline2.accesskey "o"> +<!ENTITY allFoldersOfflineNote.label "An aire: Bidh buaidh aig an atharrachadh seo air a h-uile pasgan sa chunntas seo. Cleachd am putan “Adhartach”… gus pasgain fa leth a shuidheachadh."> +<!ENTITY offlineNotDownload.label "Teachdaireachdan a tha nas motha na"> +<!ENTITY offlineNotDownload.accesskey "m"> +<!ENTITY autosyncNotDownload.label "Na luchdaich a-nuas teachdaireachdan a tha nas motha na"> +<!ENTITY autosyncNotDownload.accesskey "m"> +<!ENTITY kb.label "KB"> +<!ENTITY daysOld.label "là(ithean) a dh'aois"> +<!ENTITY message.label "teachdaireachdan"> +<!ENTITY nntpNotDownloadRead.label "Leugh teachdaireachdan"> +<!ENTITY nntpNotDownloadRead.accesskey "d"> +<!ENTITY nntpDownloadMsg.label "Teachdaireachdan a tha nas sine na"> +<!ENTITY nntpDownloadMsg.accesskey "e"> +<!ENTITY retentionCleanup.label "'S urrainn dhut seann teachdaireachdan a sguabadh às gu buan gus àite air an diosg fhaighinn air ais."> +<!ENTITY retentionCleanupImap.label "'S urrainn dhut seann teachdaireachdan a sguabadh às gu buan gus àite air an diosg fhaighinn air ais, an dà chuid lethbhric ionadail is an fheadhainn thùsail air an fhrithealaiche chèin."> +<!ENTITY retentionCleanupPop.label "'S urrainn dhut seann teachdaireachdan a sguabadh às gu buan gus àite air an diosg fhaighinn air ais, a' gabhail a-steach na feadhainn thùsail air an fhrithealaiche chèin."> +<!ENTITY retentionKeepMsg.label "Sguab às teachdaireachdan a tha nas sine na"> +<!ENTITY retentionKeepMsg.accesskey "t"> +<!ENTITY retentionKeepAll.label "Na sguab às teachdaireachd sam bith"> +<!ENTITY retentionKeepAll.accesskey "N"> +<!ENTITY retentionKeepRecent.label "Sguab às a h-uile ach an fheadhainn as ùire"> +<!ENTITY retentionKeepRecent.accesskey "b"> +<!ENTITY retentionApplyToFlagged.label "Cum teachdaireachdan ris a bheil rionnag an-còmhnaidh"> +<!ENTITY retentionApplyToFlagged.accesskey "C"> +<!ENTITY nntpRemoveMsgBody.label "Thoir air falbh bodhaig nan teachdaireachdan a tha nas sine na"> +<!ENTITY nntpRemoveMsgBody.accesskey "o"> +<!ENTITY offlineSelectNntp.label "Tagh buidhnean-naidheachd a chum cleachdaidh far loidhne…"> +<!ENTITY offlineSelectNntp.accesskey "T"> +<!ENTITY offlineImapAdvancedOffline.label "Adhartach…"> +<!ENTITY offlineImapAdvancedOffline.accesskey "A"> +<!ENTITY syncGroupTitle.label "Sioncronachadh theachdaireachdan"> +<!ENTITY diskspaceGroupTitle.label "Àite air an diosg"> + +<!-- LOCALIZATION NOTE: (ageAutosyncBefore.label, ageAutosyncMiddle.label, ageAutosyncAfter.label): + The entities ageAutosyncBefore.label, ageAutosyncMiddle.label, and ageAutosyncAfter.label appear + on a single line within the scope of useAutosync.ByAge as follows: + + &ageAutosyncBefore.label [textbox for autosync value] &ageAutosyncMiddle.label; [dropdown for autosync interval] &ageAutosyncAfter.label; +--> +<!ENTITY allAutosync.label "Sionronaich a h-uile teachdaireachd ionadail ge be dè an aois"> +<!ENTITY allAutosync.accesskey "c"> +<!ENTITY ageAutosyncBefore.label "Sioncronaich an fheadhainn as ùire"> +<!ENTITY ageAutosync.accesskey "z"> +<!ENTITY ageAutosyncMiddle.label ""> +<!ENTITY dayAgeInterval.label "Là(ithean)"> +<!ENTITY weekAgeInterval.label "Seachdain(ean)"> +<!ENTITY monthAgeInterval.label "Mìos(an)"> +<!ENTITY yearAgeInterval.label "Bliadhna"> +<!ENTITY ageAutosyncAfter.label ""> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-server-advanced.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-server-advanced.dtd new file mode 100644 index 0000000000000000000000000000000000000000..4c7c65607b7d42851799943623fd24ed193364df --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-server-advanced.dtd @@ -0,0 +1,31 @@ +<!-- 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/. --> + +<!ENTITY serverAdvanced.label "Roghainnean adhartach a' chunntais"> +<!-- LOCALIZATION NOTE (serverDirectory.label): Do not translate "IMAP" --> +<!ENTITY serverDirectory.label "Pasgan an fhrithealaiche IMAP:"> +<!ENTITY serverDirectory.accesskey "P"> +<!ENTITY usingSubscription.label "Na seall ach pasgain le fo-sgrìobhadh"> +<!ENTITY usingSubscription.accesskey "N"> +<!ENTITY dualUseFolders.label "Tha am frithealaiche a' cur taic ri pasgain anns a bheil fo-phasgain is teachdaireachdan"> +<!ENTITY dualUseFolders.accesskey "f"> +<!ENTITY maximumConnectionsNumber.label "Àireamh as motha de cheanglaichean frithealaiche ri thasgadh"> +<!ENTITY maximumConnectionsNumber.accesskey "m"> +<!-- LOCALIZATION NOTE (namespaceDesc.label): Do not translate "IMAP" --> +<!ENTITY namespaceDesc.label "Tha na roghainnean seo a' sònrachadh nan namespaces air an fhrithealaiche IMAP agad"> +<!ENTITY personalNamespace.label "Ainm-spàs pearsanta:"> +<!ENTITY personalNamespace.accesskey "p"> +<!ENTITY publicNamespace.label "Poblach (air a cho-roinneadh):"> +<!ENTITY publicNamespace.accesskey "P"> +<!ENTITY otherUsersNamespace.label "Cleachdaichean eile:"> +<!ENTITY otherUsersNamespace.accesskey "C"> +<!ENTITY overrideNamespaces.label "Leig le frithealaichean na namespaces seo fhàgail gu taobh"> +<!ENTITY overrideNamespaces.accesskey "a"> +<!ENTITY pop3DeferringDesc.label "Ma luchdaichear a-nuas post o fhrithealaiche a’ chunntais seo, cuir am post ùr sa phasgan a leanas:" > +<!ENTITY accountInbox.label "Bogsa a‑steach a’ chunntais seo"> +<!ENTITY accountInbox.accesskey "s"> +<!ENTITY deferToServer.label "Am bogsa a-steach airson cunntas eile"> +<!ENTITY deferToServer.accesskey "A"> +<!ENTITY deferGetNewMail.label "Gabh a-steach am frithealaiche seo nuair a dh'iarras mi am post ùr"> +<!ENTITY deferGetNewMail.accesskey "i"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-server-top.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-server-top.dtd new file mode 100644 index 0000000000000000000000000000000000000000..5254382c05febcf49c51b7ec1bedab38dd94eb28 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-server-top.dtd @@ -0,0 +1,89 @@ +<!-- 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/. --> + +<!ENTITY messageStorage.label "Stòras theachdaireachdan"> +<!ENTITY securitySettings.label "Roghainnean tèarainteachd"> +<!ENTITY serverSettings.label "Roghainnean an fhrithealaiche"> +<!ENTITY serverType.label "Seòrsa an fhrithealaiche:"> +<!ENTITY serverName.label "Ainm an fhrithealaiche:"> +<!ENTITY serverName.accesskey "A"> +<!ENTITY userName.label "Ainm a' chleachdaiche:"> +<!ENTITY userName.accesskey "n"> +<!ENTITY port.label "Port:"> +<!ENTITY port.accesskey "P"> +<!ENTITY serverPortDefault.label "Bunaiteach:"> +<!-- LOCALIZATION NOTE (biffStart.label) : translate below 2 line with grammar dependency + For example, in Japanese cases: + biffStart.label "every" + biffEnd.label "minutes for new messages Check" +--> +<!ENTITY biffStart.label "Thoir sùil airson teachdaireachdan ùra gach "> +<!ENTITY biffStart.accesskey "T"> +<!ENTITY biffEnd.label "mionaid(ean)"> +<!ENTITY useIdleNotifications.label "Ceadaich brathan an fhrithealaiche sa bhad nuair a ruigeas teachdaireachdan ùra"> +<!ENTITY useIdleNotifications.accesskey "a"> +<!ENTITY connectionSecurity.label "Tèarainteachd a' cheangail:"> +<!ENTITY connectionSecurity.accesskey "T"> +<!ENTITY connectionSecurityType-0.label "Chan eil gin"> +<!ENTITY connectionSecurityType-1.label "STARTTLS, ma bhios e ri fhaighinn"> +<!ENTITY connectionSecurityType-2.label "STARTTLS"> +<!ENTITY connectionSecurityType-3.label "SSL/TLS"> +<!ENTITY authMethod.label "An dòigh dearbhachaidh:"> +<!ENTITY authMethod.accesskey "i"> +<!ENTITY leaveOnServer.label "Fàg na teachdaireachdan air an fhrithealaiche"> +<!ENTITY leaveOnServer.accesskey "g"> +<!ENTITY headersOnly.label "Faigh na bannan-cinn a-mhàin"> +<!ENTITY headersOnly.accesskey "F"> +<!ENTITY deleteByAgeFromServer.label "Air a' char as motha fad"> +<!ENTITY deleteByAgeFromServer.accesskey "o"> +<!ENTITY daysEnd.label "là(ithean)"> +<!ENTITY deleteOnServer2.label "Gus an sguab mi às iad"> +<!ENTITY deleteOnServer2.accesskey "d"> +<!ENTITY downloadOnBiff.label "Luchdaich a-nuas teachdaireachdan ùra a ghnàth"> +<!ENTITY downloadOnBiff.accesskey "L"> +<!ENTITY deleteMessagePrefix.label "Nuair a sguabas mi às teachdaireachd:"> +<!ENTITY modelMoveToTrash.label "Gluais e dhan phasgan seo:"> +<!ENTITY modelMoveToTrash.accesskey "o"> +<!ENTITY modelMarkDeleted.label "Cuir comharra air gun deach a leughadh"> +<!ENTITY modelMarkDeleted.accesskey "C"> +<!ENTITY modelDeleteImmediately.label "Thoir air falbh e sa bhad"> +<!ENTITY modelDeleteImmediately.accesskey "d"> +<!-- LOCALIZATION NOTE (expungeOnExit.label) : do not translate two of """ in below line --> +<!ENTITY expungeOnExit.label "Glan ("lèir-fhalamhaich") am bogsa a-steach nuair a dhùineas mi am prògram"> +<!ENTITY expungeOnExit.accesskey "e"> +<!ENTITY emptyTrashOnExit.label "Falamhaich an sgudal nuair a dhùineas mi am prògram"> +<!ENTITY emptyTrashOnExit.accesskey "F"> +<!ENTITY loginAtStartup.label "Thoir sùil airson teachdaireachdan ùra nuair a thòisicheas am prògram"> +<!ENTITY loginAtStartup.accesskey "T"> +<!-- LOCALIZATION NOTE (maxMessagesStart.label) : translate below 2 lines with grammar dependency + maxMessengerStart.label will be followed by maxMessagesEnd.label with the number + of messages between them +--> +<!ENTITY maxMessagesStart.label "Faighnich dhìom mus luchdaich mi a-nuas barrachd air"> +<!ENTITY maxMessagesStart.accesskey "m"> +<!-- LOCALIZATION NOTE (maxMessagesEnd.label) : see note for maxMessagesStart.label --> +<!ENTITY maxMessagesEnd.label "teachdaireachdan"> +<!ENTITY alwaysAuthenticate.label "Iarr dearbhachadh gach turas a thèid ceangal a dhèanamh ris an fhrithealaiche seo"> +<!ENTITY alwaysAuthenticate.accesskey "I"> +<!ENTITY newsrcFilePath1.label "Faidhle news.rc:"> +<!ENTITY newsrcPicker1.label "Tagh faidhle news.rc"> +<!ENTITY abbreviate.label "Seall ainmean nam buidhnean-naidheachd ann an leòs pasgan a' phuist mar:"> +<!ENTITY abbreviateOn.label "Ainmean slàna (Mar eisimpleir, 'netscape.public.mozilla.mail-news')"> +<!ENTITY abbreviateOff.label "Ainmean goirid (Mar eisimpleir, 'n.p.m.mail-news')"> +<!ENTITY advancedButton.label "Adhartach…"> +<!ENTITY advancedButton.accesskey "A"> +<!ENTITY serverDefaultCharset2.label "An còdachadh teacsa bunaiteach:"> +<!ENTITY localPath1.label "Am pasgan ionadail:"> +<!ENTITY localFolderPicker.label "Tagh am pasgan ionadail"> +<!ENTITY browseFolder.label "Brabhsaich…"> +<!ENTITY browseFolder.accesskey "B"> +<!ENTITY browseNewsrc.label "Brabhsaich…"> +<!ENTITY browseNewsrc.accesskey "B"> + +<!ENTITY accountTitle.label "Roghainnean a' chunntais"> +<!ENTITY accountSettingsDesc.label "'S e cunntas sònraichte a tha seo. Chan eil dearbh-aithne co-cheangailte ris."> +<!ENTITY storeType.label "Seòrsa stòras nan teachdaireachdan:"> +<!ENTITY storeType.accesskey "t"> +<!ENTITY mboxStore2.label "Faidhle gach pasgan (mbox)"> +<!ENTITY maildirStore.label "Faidhle gach teachdaireachd (maildir)"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-serverwithnoidentities.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-serverwithnoidentities.dtd new file mode 100644 index 0000000000000000000000000000000000000000..9325149f84746f3799dac66c565128d1e30178ee --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-serverwithnoidentities.dtd @@ -0,0 +1,6 @@ +<!-- 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/. --> + +<!ENTITY accountName.label "Ainm a' chunntais:"> +<!ENTITY accountName.accesskey "n"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-smime.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-smime.dtd new file mode 100644 index 0000000000000000000000000000000000000000..2b82f8ed5d536ad6f0da1a144bb12ead83c342fb --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-smime.dtd @@ -0,0 +1,46 @@ +<!-- 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/. --> + +<!ENTITY e2eTitle.label "Crioptachadh ceann ri cheann"> +<!ENTITY e2eLearnMore.label "Barrachd fiosrachaidh"> + +<!ENTITY e2eEnc.description "Às aonais crioptachadh ceann ri cheann, gheibh an solaraiche puist-d agad agus mòr-chaithris grèim air susbaint nan teachdaireachdan agad gun trioblaid."> + +<!ENTITY e2eTechPref.description "An teicneolas crioptachaidh as fheàrr leat:"> + +<!ENTITY encryptionCert2.message "Teisteas pearsanta a chùm crioptachadh:"> +<!ENTITY digitalSign.certificate.button "Tagh…"> +<!ENTITY digitalSign.certificate.accesskey "S"> +<!ENTITY digitalSign.certificate_clear.button "Falamhaich"> +<!ENTITY digitalSign.certificate_clear.accesskey "C"> +<!ENTITY encryption.certificate.button "Tagh…"> +<!ENTITY encryption.certificate.accesskey "t"> +<!ENTITY encryption.certificate_clear.button "Falamhaich"> +<!ENTITY encryption.certificate_clear.accesskey "e"> +<!ENTITY signingGroupTitle.label "Soidhneadh digiteach"> +<!ENTITY signingCert2.message "Teisteas pearsanta a chùm soidhneadh digiteach:"> + +<!ENTITY sendingDefaults.label "Bun-roghainnean airson teachdaireachdan a chur"> + +<!ENTITY technologyAutomatic.label "Tagh gu fèin-obrachail a-rèir nan iuchraichean no teisteasan ri làimh"> + +<!ENTITY certificates2.label "S/MIME"> +<!ENTITY manageCerts3.label "Stiùirich na teisteanasan S/MIME"> +<!ENTITY manageCerts3.accesskey "M"> +<!ENTITY manageDevices2.label "Uidheaman tèarainteachd S/MIME"> +<!ENTITY manageDevices2.accesskey "y"> + +<!ENTITY technologySMIME.label "S/MIME a b’ fheàrr"> +<!ENTITY technologyOpenPGP.label "’S e OpenPGP a b’ fheàrr"> + +<!ENTITY openpgpKeys.label "OpenPGP"> + +<!-- Strings for the cert picker dialog --> +<!ENTITY certPicker.title "Tagh teisteanas"> +<!ENTITY certPicker.info "Teisteanas:"> +<!ENTITY certPicker.detailsLabel "Mion-fhiosrachadh an teisteanais a thagh thu:"> + +<!ENTITY openpgpKey.message "Iuchair phearsanta airson crioptachadh is soidhneadh digiteach:"> +<!ENTITY openpgpKey.button "Suidhich an iuchair phearsanta…"> +<!ENTITY openpgpKey.accesskey "o"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-smime.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-smime.properties new file mode 100644 index 0000000000000000000000000000000000000000..30807eb759b15bed50ec47567de4eab615473a0e --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/am-smime.properties @@ -0,0 +1,40 @@ +# 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/. + +## S/MIME error strings. +## Note to localization: %S is a placeholder +NoSenderSigningCert=Dh'iarr thu gun dèid soidhneadh digiteach a chur ris an teachdaireachd seo ach cha b' urrainn dhan phrògram an teisteanas soidhnidh a shònraich thu ann an roghainnean cunntas a' phuist ⁊ nam buidhnean-naidheachd agad no dh'fhalbh an ùine air an teisteanas. +NoSenderEncryptionCert=Dh'iarr thu gun dèid an teachdaireachd seo a chrioptachadh ach cha b' urrainn dhan phrògram teisteanas an crioptachaidh a shònraich thu ann an roghainnean cunntas a' phuist ⁊ nam buidhnean-naidheachd agad no dh'fhalbh an ùine air an teisteanas. +MissingRecipientEncryptionCert=Dh'iarr thu gun dèid an teachdaireachd seo a chrioptachadh ach cha b' urrainn dhan phrògram teisteanas crioptachaidh a lorg airson %S. +ErrorEncryptMail=Cha ghabh an teachdaireachd a chrioptachadh. Dèan cinnteach gu bheil teisteanas puist dligheach agad airson gach faightear. Dèan cinnteach gu bheil na teisteanasan a shònraich thu ann an roghainnean cunntas a' phuist ⁊ nam buidhnean-naidheachd airson a' chunntais phuist seo dligheach 's gu bheil earbsa annta. +ErrorCanNotSignMail=Cha ghabh soighneadh a chur ris an teachdaireachd. Dèan cinnteach gu bheil teisteanas puist dligheach agad airson gach faightear. Dèan cinnteach gu bheil na teisteanasan a shònraich thu ann an roghainnean cunntas a' phuist ⁊ nam buidhnean-naidheachd airson a' chunntais phuist seo dligheach 's gu bheil earbsa annta. + +## Strings used for in the prefs. +NoSigningCert=Chan urrainn do mhanaidsear nan teisteanasan teisteanas dligheach a lorg as urrainn dhut cleachdadh gus soidhneadh digiteach a chur ri do theachdaireachdan. +NoSigningCertForThisAddress=Chan urrainn do mhanaidser nan teisteanasan teisteanas dligheach a lorg as urrainn dhut cleachdadh gus do theachdaireachdan a shoidhneadh leis an t-seòladh <%S>. +NoEncryptionCert=Chan urrainn do mhanaidsear nan teisteanasan teisteanas dligheach a lorg as urrainn do chàch cleachdadh gus teachdaireachdan crioptaichte a chur thugad. +NoEncryptionCertForThisAddress=Chan urrainn do mhanaidsear nan teisteanasan teisteanas dligheach a lorg as urrainn do chàch cleachdadh gus teachdaireachdan crioptaichte a chur thugad air an t-seòladh <%S>. + +encryption_needCertWantSame=Bu chòir dhut teisteanas a shònrachadh cuideachd a chleachdas daoine eile nuair a chuireas iad teachdaireachdan crioptaichte thugad. A bheil thu airson an dearbh theisteanas a chleachdadh gus teachdaireachdan a chuirear thugad a chrioptachadh ⁊ a dhì-chrioptachadh? +encryption_wantSame=Cleachd an dearbh theisteanas gus teachdaireachdan a chuirear thugad a chrioptachadh ⁊ a dhì-chrioptachadh? +encryption_needCertWantToSelect=Bu chòir dhut teisteanas a shònrachadh cuideachd a chleachdas daoine eile nuair a chuireas iad teachdaireachdan crioptaichte thugad. A bheil thu airson teisteanas crioptachaidh a rèiteachadh an-dràsta? +signing_needCertWantSame=Bu chòir dhut teisteanas a shònrachadh cuideachd a chùm soighneadh digiteach a chur ri do theachdaireachdan. A bheil thu airson an dearbh theisteanas a chleachdadh gus soighneadh digiteach a chur ri do theachdaireachdan? +signing_wantSame=A bheil thu airson an dearbh theisteanas a chleachdadh airson soighneadh digiteach a chur ri do theachdaireachdan? +signing_needCertWantToSelect=Bu chòir dhut teisteanas a shònrachadh cuideachd gus soighneadh digiteach a chur ri do theachdaireachdan. A bheil thu airson teisteanas a rèiteachadh gus soighneadh digiteach a chur ri do theachdaireachdan? + +## Strings used by nsMsgComposeSecure +mime_smimeEncryptedContentDesc=Teachdaireachd ann an crioptachadh S/MIME +mime_smimeSignatureContentDesc=Soidhneadh crioptografach S/MIME + +## Strings used by the cert picker. +CertInfoIssuedFor=Air fhoillseachadh dha: +CertInfoIssuedBy=Air fhoillseachadh le: +CertInfoValid=Dligheach +CertInfoFrom=o +CertInfoTo=gu +CertInfoPurposes=Feuman +CertInfoEmail=Post-d +CertInfoStoredIn=’Ga stòradh an-seo: +NicknameExpired=(dh’fhalbh an ùine air) +NicknameNotYetValid=(chan eil e dligheach fhathast) diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/appUpdate.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/appUpdate.properties new file mode 100644 index 0000000000000000000000000000000000000000..2c97f38f0deaf82452efb1a7fbbac60a4ba5a734 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/appUpdate.properties @@ -0,0 +1,40 @@ +# 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/. + +# LOCALIZATION NOTE (updateAvailableTitle): %S will be replaced with brandShortName +updateAvailableTitle=Tha ùrachadh %S ri fhaighinn. +# LOCALIZATION NOTE (updateAvailableMessage): %S will be replaced with brandShortName +updateAvailableMessage=Nach ùraich thu %S ach am faigh thu na goireasan astair is prìobhaideachd as ùire. +updateAvailablePrimaryButtonLabel=Luchdaich a-nuas an t-ùrachadh +updateAvailablePrimaryButtonAccessKey=D +updateAvailableSecondaryButtonLabel=Chan ann an-dràsta +updateAvailableSecondaryButtonAccessKey=N + +# LOCALIZATION NOTE (updateManualTitle): %S will be replaced with brandShortName +updateManualTitle=Cha ghabh %S ùrachadh dhan tionndadh as ùire. +# LOCALIZATION NOTE (updateManualMessage): %S will be replaced with brandShortName +updateManualMessage=Luchdaich a-nuas lethbhreac ùr de %S agus cuidichidh sinn thu ’ga stàladh. +# LOCALIZATION NOTE (updateManualPrimaryButtonLabel): %S will be replaced with brandShortName +updateManualPrimaryButtonLabel=Luchdaich a-nuas %S +updateManualPrimaryButtonAccessKey=D +updateManualSecondaryButtonLabel=Chan ann an-dràsta +updateManualSecondaryButtonAccessKey=N + +# LOCALIZATION NOTE (updateUnsupportedTitle): %S will be replaced with brandShortName +updateUnsupportedTitle=Cha ghabh %S ùrachadh dhan tionndadh as ùire. +# LOCALIZATION NOTE (updateUnsupportedMessage): %S will be replaced with brandShortName +updateUnsupportedMessage=Cha chuir an siostam agad taic ris an tionndadh as ùire dhe %S. +updateUnsupportedPrimaryButtonLabel=Barrachd fiosrachaidh +updateUnsupportedPrimaryButtonAccessKey=L +updateUnsupportedSecondaryButtonLabel=Dùin +updateUnsupportedSecondaryButtonAccessKey=C + +# LOCALIZATION NOTE (updateRestartTitle): %S will be replaced with brandShortName +updateRestartTitle=Ath-thòisich airson %S ùrachadh. +# LOCALIZATION NOTE (updateRestartMessage): %S will be replaced with brandShortName +updateRestartMessage=Aisigidh %S gach taba ’s uinneag fhosgailte dhut an dèidh dha ath-thòiseachadh. +updateRestartPrimaryButtonLabel=Ath-thòisich +updateRestartPrimaryButtonAccessKey=R +updateRestartSecondaryButtonLabel=Chan ann an-dràsta +updateRestartSecondaryButtonAccessKey=N diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/appleMailImportMsgs.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/appleMailImportMsgs.properties new file mode 100644 index 0000000000000000000000000000000000000000..7f8a1ec2557630e98c45400ab93aee57bfe9463f --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/appleMailImportMsgs.properties @@ -0,0 +1,20 @@ +# 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/. + +# Short name of import module +ApplemailImportName=Apple Mail + +# Description of import module +ApplemailImportDescription=Ion-phortaich post ionadail o phost Mac OS X + +# Success Message +# LOCALIZATION NOTE(ApplemailImportMailboxSuccess): Do not translate the word "%S" below. +ApplemailImportMailboxSuccess=Chaidh na teachdaireachdan ionadail ion-phortadh o %S + +# Error Message +ApplemailImportMailboxBadparam=Thachair ion-mhearachd. Dh'fhàillig an t-ion-phortadh. Feuch ris an ion-phortadh a-rithist. + +# Error message +# LOCALIZATION NOTE(ApplemailImportMailboxConverterror): Do not translate the word "%S" below. +ApplemailImportMailboxConverterror=Thachair mearachd fhad 's a chaidh teachdaireachdan ion-phortadh o %S. Cha deach na teachdaireachdan ion-phortadh. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/baseMenuOverlay.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/baseMenuOverlay.dtd new file mode 100644 index 0000000000000000000000000000000000000000..933c81310d04c1711738aac85ddcaf1de6fdfb99 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/baseMenuOverlay.dtd @@ -0,0 +1,34 @@ +<!-- 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/. --> + +<!-- Help Menu --> +<!ENTITY helpMenu.label "Cobhair"> +<!ENTITY helpMenu.accesskey "h"> +<!-- LOCALIZATION NOTE some localizations of Windows use "?" + for the help button in the menubar but Gnome does not. --> +<!ENTITY helpMenuWin.label "Cobhair"> +<!ENTITY helpMenuWin.accesskey "h"> +<!ENTITY aboutProduct2.label "Mu &brandShorterName;"> +<!ENTITY aboutProduct2.accesskey "A"> +<!ENTITY productHelp.label "Cobhair &brandShortName;"> +<!ENTITY productHelp.accesskey "H"> + +<!ENTITY productHelp.commandkey "VK_F1"> +<!ENTITY productHelpMac.commandkey "?"> +<!ENTITY productHelpMac.modifiers "accel"> + +<!ENTITY helpKeyboardShortcuts.label "Ath-ghoiridean a’ mheur-chlàir"> +<!ENTITY helpKeyboardShortcuts.accesskey "K"> + +<!ENTITY helpFeedbackPage.label "Cuir thugainn do bheachdan…"> +<!ENTITY helpFeedbackPage.accesskey "S"> + +<!ENTITY helpShowTour2.label "Turas &brandShorterName;"> +<!ENTITY helpShowTour2.accesskey "o"> + +<!ENTITY helpGetInvolvedPage.label "Gabh pàirt ann"> +<!ENTITY helpGetInvolvedPage.accesskey "I"> + +<!ENTITY helpDonationsPage.label "Thoir tabhartas"> +<!ENTITY helpDonationsPage.accesskey "D"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/beckyImportMsgs.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/beckyImportMsgs.properties new file mode 100644 index 0000000000000000000000000000000000000000..ca908913ad2c581cedeec5a2de33181ccd433102 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/beckyImportMsgs.properties @@ -0,0 +1,19 @@ +# 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/. +# +# The following are used by the becky import code to display status/error +# and informational messages + +# Short name of import module +BeckyImportName=Post-lìn Becky! + +# Description of import module +BeckyImportDescription=Ion-phortaich post ionadail o phost-lìn Becky! + +# Success Message +# LOCALIZATION NOTE : Do not translate the word "%S" below. +# The variable %S will contain the name of the Mailbox +BeckyImportMailboxSuccess=Chaidh na teachdaireachdan ionadail ion-phortadh o %S. + +BeckyImportAddressSuccess=Chaidh leabhar nan seòladh ion-phortadh diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/charsetTitles.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/charsetTitles.properties new file mode 100644 index 0000000000000000000000000000000000000000..8cfe80d95dcb5b805ae80161894c7476dbd09eb4 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/charsetTitles.properties @@ -0,0 +1,84 @@ +# 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/. + +## Rule of this file: +## 1. key should always be in lower case ascii so we can do case insensitive +## comparison in the code faster. + +## Format of this file: +## charset_name.title = a_title - specifies the human readable title for +## this charset + +## Format of this file: +## charset_name.title = a_title - specifies the human readable title for +## this charset + +iso-8859-1.title = Siarach (ISO-8859-1) +iso-8859-2.title = Meadhan na Roinn-Eòrpa (ISO-8859-2) +iso-8859-3.title = Taobh a Deas na Roinn-Eòrpa (ISO-8859-3) +iso-8859-4.title = Baltach (ISO-8859-4) +iso-8859-10.title = Lochlannach (ISO-8859-10) +iso-8859-13.title = Baltach (ISO-8859-13) +iso-8859-14.title = Ceilteach (ISO-8859-14) +iso-8859-15.title = Siarach (ISO-8859-15) +iso-8859-16.title = Romàinis (ISO-8859-16) +windows-1250.title = Meadhan na Roinn-Eòrpa (Windows-1250) +windows-1252.title = Siarach (Windows-1252) +windows-1254.title = Turcais (Windows-1254) +windows-1257.title = Baltach (Windows-1257) +macintosh.title = Siarach (MacRoman) +x-mac-ce.title = Meadhan na Roinn-Eòrpa (MacCE) +x-mac-turkish.title = Turcais (MacTurkish) +x-mac-croatian.title = Cròthaisis (MacCroatian) +x-mac-romanian.title = Romàinis (MacRomanian) +x-mac-icelandic.title = Innis Tìlis (MacIcelandic) +iso-2022-jp.title = Seapanais (ISO-2022-JP) +shift_jis.title = Seapanais (Shift_JIS) +euc-jp.title = Seapanais (EUC-JP) +big5.title = Sìnis thradaiseanta (Big5) +big5-hkscs.title = Sìnis thradaiseanta (Big5-HKSCS) +gb2312.title = Sìnis shimplichte (GB2312) +gbk.title = Sìnis shimplichte (GBK) +euc-kr.title = Coirèanais (EUC-KR) +utf-7.title = Unicode (UTF-7) +utf-8.title = Unicode (UTF-8) +utf-16.title = Unicode (UTF-16) +utf-16le.title = Unicode (UTF-16LE) +utf-16be.title = Unicode (UTF-16BE) +iso-8859-5.title = Cirilis (ISO-8859-5) +windows-1251.title = Cirilis (Windows-1251) +x-mac-cyrillic.title = Cirilis (MacCyrillic) +x-mac-ukrainian.title = Cirilis /Ucràinis (MacUkrainian) +koi8-r.title = Cirilis (KOI8-R) +koi8-u.title = Cirilis/Ucràinis (KOI8-U) +iso-8859-7.title = Greugais (ISO-8859-7) +windows-1253.title = Greugais (Windows-1253) +x-mac-greek.title = Greugais (MacGreek) +windows-1258.title = Bhiet-Namais (Windows-1258) +windows-874.title = Tàidh (Windows-874) +iso-8859-6.title = Arabais (ISO-8859-6) +iso-8859-8.title = Eabhra lèirsinneach (ISO-8859-8) +iso-8859-8-i.title = Eabhra (ISO-8859-8-I) +windows-1255.title = Eabhra (Windows-1255) +windows-1256.title = Arabais (Windows-1256) +x-user-defined.title = Roghnadh a' chleachdaiche +ibm866.title = Cirilis/Ruisis (CP-866) +gb18030.title = Sìnis shimplichte (GB18030) +x-mac-arabic.title = Arabais (MacArabic) +x-mac-farsi.title = Peirsis (MacFarsi) +x-mac-hebrew.title = Eabhra (MacHebrew) +x-mac-devanagari.title = Hindis (MacDevanagari) +x-mac-gujarati.title = Gujarati (MacGujarati) +x-mac-gurmukhi.title = Gurmukhi (MacGurmukhi) + +chardet.off.title = (Dheth) +chardet.universal_charset_detector.title = Uile-choitcheann +chardet.ja_parallel_state_machine.title = Seapanais +chardet.ko_parallel_state_machine.title = Coireanais +chardet.zhtw_parallel_state_machine.title = Sìnis thradaiseanta +chardet.zhcn_parallel_state_machine.title = Sìnis shimplichte +chardet.zh_parallel_state_machine.title = Sìnis +chardet.cjk_parallel_state_machine.title = Taobh an Ear Àisia +chardet.ruprob.title = Ruisis +chardet.ukprob.title = Ucràinis diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/chat.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/chat.dtd new file mode 100644 index 0000000000000000000000000000000000000000..2fc6b623488ac29e875e8b7024a162894be5c296 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/chat.dtd @@ -0,0 +1,44 @@ +<!-- 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/. --> + +<!ENTITY onlineContactsHeader.label "Luchd-aithne air loidhne"> +<!ENTITY offlineContactsHeader.label "Luchd-aithne far loidhne"> +<!ENTITY conversationsHeader.label "Còmhraidhean"> +<!ENTITY searchResultConversation.label "Toradh luirg"> +<!ENTITY chat.noConv.title "Chithear còmhraidhean an-seo."> +<!ENTITY chat.noConv.description "Cleachd liosta an luchd-aithne air a' phanail chlì gus tòiseachadh air còmhradh."> +<!ENTITY chat.noPreviousConv.description "Chan eil seann chòmhraidhean leis an neach seo aig &brandShortName; gu ruige seo."> +<!ENTITY chat.noAccount.title "Cha do shuidhich thu cunntas."> +<!ENTITY chat.noAccount.description "Leig le &brandShortName; do stiùireadh tron phròiseas gu cunntas cabadaich a chur air dòigh dhut."> +<!ENTITY chat.accountWizard.button "Toiseach tòiseachaidh"> +<!ENTITY chat.noConnectedAccount.title "Chan eil na cunntasan cabadaich agad air ceangal."> +<!ENTITY chat.noConnectedAccount.description "'S urrainn dhut an ceangal on chòmhradh "Staid na cabadaich":"> +<!ENTITY chat.showAccountManager.button "Seall staid na cabadaich"> + +<!ENTITY chat.participants "Com-pàirtichean:"> +<!ENTITY chat.previousConversations "Seann còmhraidhean:"> +<!ENTITY chat.ongoingConversation "Còmhradh a tha a' dol"> + +<!ENTITY openConversationCmd.label "Tòisich air còmhradh"> +<!ENTITY openConversationCmd.accesskey "T"> +<!ENTITY closeConversationCmd.label "Dùin an còmhradh"> +<!ENTITY closeConversationCmd.accesskey "D"> +<!ENTITY aliasCmd.label "Cuir ainm ùr air"> +<!ENTITY aliasCmd.accesskey "C"> +<!ENTITY deleteCmd.label "Thoir air falbh an neach-aithne seo"> +<!ENTITY deleteCmd.accesskey "f"> + +<!ENTITY openConversationButton.tooltip "Tòisich air còmhradh"> +<!ENTITY closeConversationButton.tooltip "Dùin an còmhradh"> + +<!ENTITY addBuddyButton.label "Cuir neach-aithne ris"> +<!ENTITY joinChatButton.label "Gabh pàirt sa chabadaich"> +<!ENTITY chatAccountsButton.label "Seall na cunntasan"> + +<!ENTITY status.available "An làthair"> +<!ENTITY status.unavailable "Trang"> +<!ENTITY status.offline "Far loidhne"> + +<!ENTITY openLinkCmd.label "Fosgail an ceangal…"> +<!ENTITY openLinkCmd.accesskey "F"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/chat.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/chat.properties new file mode 100644 index 0000000000000000000000000000000000000000..d0e07a18e9f6060dbb36aea4bece504d11a97ad3 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/chat.properties @@ -0,0 +1,110 @@ +# 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/. + +chatTabTitle=Chat +goBackToCurrentConversation.button=Back to current conversation +# LOCALIZATION NOTE (startAConversationWith.button): +# %S is replaced with the display name of a contact. +startAConversationWith.button=Tòisich air còmhradh le %S + +# LOCALIZATION NOTE (defaultGroup): +# this is used in the addBuddies dialog if the list of existing groups is empty +defaultGroup=Luchd-aithne + +# LOCALIZATION NOTE (buddy.authRequest.label): +# This string appears in a notification bar at the +# top of the Contacts window when someone added the user to his/her +# contact list, to request the permission from the user to share +# status information with this potential new contact. +# %S is replaced with the user name of the potential new contact. +buddy.authRequest.label=Bu mhath le %S bruidhinn riut +buddy.authRequest.allow.label=Ceadaich +buddy.authRequest.allow.accesskey=a +buddy.authRequest.deny.label=Diùlt +buddy.authRequest.deny.accesskey=D + +## LOCALIZATION NOTE (buddy.verificationRequest): +# Strings used in a notification bar at the top of the chat tab when someone +# sends a verification request for end-to-end encryption keys. +# %S is replaced with the display name of the user or, if this is to verify a +# session of yourself, a string that identifies the session. +buddy.verificationRequest.label=Tha %S airson dearbh-aithnean a chèile a dhearbhadh +buddy.verificationRequest.allow.label=Tòisich air an dearbhadh +buddy.verificationRequest.allow.accesskey=S +buddy.verificationRequest.deny.label=Diùlt +buddy.verificationRequest.deny.accesskey=D + +# LOCALIZATION NOTE (buddy.deletePrompt.title): +# %S here will be replaced by the alias (or username) of a buddy about +# to be removed from the buddy list. +buddy.deletePrompt.title=A bheil thu airson %S a sguabadh às? + +# LOCALIZATION NOTE (buddy.deletePrompt.message): +# %1$S will be replaced by the name of a buddy (either the alias +# followed by the username between parenthesis if an alias is set, or +# only the username otherwise). +# %2$S will be the name of the protocol on which this buddy is removed +# (for example: AIM, MSN, Google Talk). +# +# Please find a wording that will keep the username as close as +# possible to the beginning of the string, because this is the +# important information that an user should see when looking quickly +# at this prompt. +buddy.deletePrompt.message=Thèid %1$S a sguabadh à liosta an luchd-aithne %2$S agad gu buan ma leanas tu air adhart. + +# LOCALIZATION NOTE (buddy.deletePrompt.displayName): +# This is used to format the display name inserted in buddy.deletePrompt.message +# %1$S is the alias, %2$S is the username. +buddy.deletePrompt.displayName=%1$S (%2$S) + +# LOCALIZATION NOTE (buddy.deletePrompt.button): +# the & symbol indicates the position of the character that should be +# used as the accesskey for this button. +buddy.deletePrompt.button=&Sguab às + +displayNameEmptyText=Display Name +userIconFilePickerTitle=Tagh an ìomhaigheag ùr… + +# LOCALIZATION NOTE (chat.isTyping, chat.hasStoppedTyping): +# The contact display name is displayed with a big font on a first +# line and these two strings are displayed on a second line with a +# smaller font. Please try to find a wording that make this look +# almost like a sentence. +chat.isTyping='s iad a' sgrìobhadh… +chat.hasStoppedTyping='s iad air sgur de sgrìobhadh. +# LOCALIZATION NOTE (chat.contactIsTyping, chat.contactHasStoppedTyping): +# These strings are displayed in a tooltip when hovering the status type icon. +# %S is replaced with the display name of the contact. +chat.contactIsTyping=Tha %S a' sgrìobhadh. +chat.contactHasStoppedTyping=Sguir %S dhen sgrìobhadh. + +# LOCALIZATION NOTE (unknownCommand): +# This is shown when an unknown command (/foo) is attempted. %S is the command. +unknownCommand=Chan eil taic ris an àithne %S. Taidhp /help airson liosta nan àitheantan. + +#LOCALIZATION NOTE +# These are special entries in the log tree for the corresponding days. +log.today=And-diugh +log.yesterday=An-dè + +#LOCALIZATION NOTE +# These are special groups in the log tree for the last 3-7 days and +# the last 8-14 days. +log.currentWeek=An t-seachdain-sa +log.previousWeek=An t-seachdain seo chaidh + +# LOCALIZATION NOTE (messagePreview): +# This is the default message preview to be shown +# when the user has chosen not to show any info in the notification about the +# incoming message being notified. +messagePreview=Teachdaireachd cabadaich ùr + +#LOCALIZATION NOTE (bundledMessagePreview): Semi-colon list of plural forms. +# Used when multiple incoming messages from the same sender are bundled +# into a single notification. +# #1 is the number of incoming messages the user is being notified about. When #1 +# is greater than one, the plural form after the semicolon is used. +# Do not translate %1$S, it is the message preview to be shown in the +# notification, i.e. the first incoming message. +bundledMessagePreview=%1$S… (agus #1 teachdaireachd a bharrachd);%1$S… (agus #1 theachdaireachd a bharrachd);%1$S… (agus #1 teachdaireachdan a bharrachd);%1$S… (agus #1 teachdaireachd a bharrachd) diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/configEditorOverlay.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/configEditorOverlay.dtd new file mode 100644 index 0000000000000000000000000000000000000000..3d78799d689c9a6e4e647c76ae7fed06ca4010b6 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/configEditorOverlay.dtd @@ -0,0 +1,5 @@ +<!-- 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/. --> + +<!ENTITY closeCmd.key "W"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/converterDialog.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/converterDialog.dtd new file mode 100644 index 0000000000000000000000000000000000000000..382728d0e2dd0de94e702d252522c60eeb918e51 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/converterDialog.dtd @@ -0,0 +1,11 @@ +<!-- 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/. --> + +<!ENTITY converterDialog.title "Iompaichear seòrsa stòras nan teachdaireachd"> +<!ENTITY converterDialog.continueButton "Lean air adhart"> +<!ENTITY converterDialog.cancelButton "Sguir dheth"> +<!ENTITY converterDialog.finishButton "Crìochnaich"> +<!ENTITY converterDialog.complete "Chaidh iompachadh is thèid &brandShortName; ath-thòiseachadh an-dràsta."> +<!ENTITY converterDialog.error "Dh’fhàillig an t-iompachadh."> + diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/converterDialog.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/converterDialog.properties new file mode 100644 index 0000000000000000000000000000000000000000..f5d6a78497f24dfe8d6c4ebb069e1fb6f06c267d --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/converterDialog.properties @@ -0,0 +1,41 @@ +# 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/. + +# LOCALIZATION NOTE (converterDialog.warning): +# %1$S will be replaced by the name of the account which is going to be converted. +# %2$S will be replaced by the format into which the account will be converted. +# %3$S will be replaced by $BrandShortName. +converterDialog.warning=Thèid na teachdaireachdan sa chunntas %1$S iompachadh dhan fhòrmat %2$S. Nì %3$S ath-thòiseachadh an dèidh dhan iompachadh coileanadh. + +# LOCALIZATION NOTE (converterDialog.message): +# %1$S will be replaced by the name of the account which is being converted. +# %2$S will be replaced by the format into which the account will be converted. +converterDialog.message=Ag iompachadh a’ chunntais %1$S ’na %2$S… + +# LOCALIZATION NOTE (converterDialog.warningForDeferredAccount): +# %1$S will be replaced by the name of the deferred account for which migration is initiated by the user. +# %2$S will be replaced by the name of the account to which the deferred account is deferred ie the name of the deferred-to account. +# %3$S will be replaced by the name of the deferred-to account. +# %4$S will be replaced by a comma separated list of names of accounts which are deferred to the deferred-to account. +# %5$S will be replaced by a comma separated list of names of accounts which are going to get converted. +# %6$S will be replaced by the format into which the accounts will be converted. +# %7$S will be replaced by $BrandShortName. +converterDialog.warningForDeferredAccount=Tha %1$S a’ cleachdadh a’ bhogsa a-steach aig %2$S. Tha na cunntasan a leanas a’ cleachdadh a’ bhogsa a-steach aig %3$S: %4$S. Thèid na teachdaireachdan sna cunntasan %5$S iompachadh nam %6$S a-nis. Thèid %7$S ath-thòiseachadh an dèidh an iompachaidh coileanadh. + +# LOCALIZATION NOTE (converterDialog.warningForDeferredToAccount): +# %1$S will be replaced by the name of the deferred-to account for which migration is initiated by the user and to which other accounts are deferred. +# %2$S will be replaced by a comma separated list of names of accounts which are deferred to the deferred-to account. +# %3$S will be replaced by a comma separated list of names of accounts which are going to get converted. +# %4$S will be replaced by the format into which the accounts will be converted. +# %5$S will be replaced by $BrandShortName. +converterDialog.warningForDeferredToAccount=Tha na cunntasan a leanas a’ cleachdadh a’ bhogsa a-steach aig %1$S: %2$S. Thèid na teachdaireachdan sna cunntasan %3$S iompachadh nam %4$S a-nis. Thèid %5$S ath-thòiseachadh an dèidh an iompachaidh coileanadh. + +# LOCALIZATION NOTE (converterDialog.messageForDeferredAccount): +# %1$S will be replaced by a comma separated list of names of accounts which are being converted. +# %2$S will be replaced by the format into which the accounts will be converted. +converterDialog.messageForDeferredAccount=Ag iompachadh nan cunntasan %1$S ’na %2$S… + +# LOCALIZATION NOTE (converterDialog.percentDone): +# %1$S will be replaced by the percentage of conversion that is complete. +converterDialog.percentDone=%1$S%% deiseil diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/custom.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/custom.properties new file mode 100644 index 0000000000000000000000000000000000000000..a0c54c4210099e8f0c50a76e03ed2f6641864f52 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/custom.properties @@ -0,0 +1,5 @@ +# 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/. + +colonInHeaderName=Tha caractair mì-dhligheach sa bhann-cinn a chuir thu a-steach, leithid ':', caractair nach gabh a chlò-bhualadh, caractair nach eil air nòs ascii no caractair eight bit ascii. Thoir air falbh an caractair mì-dhligheach is feuch ris a-rithist. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/customizeToolbar.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/customizeToolbar.dtd new file mode 100644 index 0000000000000000000000000000000000000000..9d3c9dd0fac0aacd499b027310f29eb662d6fc4e --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/customizeToolbar.dtd @@ -0,0 +1,18 @@ +<!-- 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/. --> + +<!ENTITY dialog.title "Gnàthaich am bàr-inneal"> +<!ENTITY dialog.dimensions "width: 92ch; height: 36em;"> +<!ENTITY instructions.description "Cuir ris no thoir air falbh nithean ’s tu ’gan slaodadh gun bhàr-inneal no fo bharr."> +<!ENTITY show.label "Seall:"> +<!ENTITY iconsAndText.label "Ìomhaigheagan is teacsa"> +<!ENTITY icons.label "Ìomhaigheagan"> +<!ENTITY text.label "Teacsa"> +<!ENTITY iconsBesideText.label "Ìomhaigheagan ri taobh an teacsa"> +<!ENTITY useSmallIcons.label "Cleachd ìomhaigheagan beaga"> +<!ENTITY restoreDefaultSet.label "Aisig an seata bunaiteach"> +<!ENTITY showTitlebar2.label "Bàr an tiotail"> +<!ENTITY extraDragSpace2.label "Raon slaodaidh"> +<!ENTITY saveChanges.label "Deiseil"> +<!ENTITY undoChanges.label "Neo-dhèan na h-atharraichean"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/customizeToolbar.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/customizeToolbar.properties new file mode 100644 index 0000000000000000000000000000000000000000..16f811dafe4d6e524e6fca230bca975af4fee8d4 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/customizeToolbar.properties @@ -0,0 +1,11 @@ +# 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/. + +enterToolbarTitle=Bàr-inneal ùr +enterToolbarName=Cuir a-steach ainm airson a’ bhàir-inneal seo: +enterToolbarDup=Tha bàr-inneal ann mu thràth air a bheil “%S”. Cuir a-steach ainm eile. +enterToolbarBlank=Feumaidh tu ainm a chur a-steach gus bàr-inneal ùr a chruthachadh. +separatorTitle=Sgaradair +springTitle=Beàrn sùbailte +spacerTitle=Beàrn diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/downloadheaders.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/downloadheaders.dtd new file mode 100644 index 0000000000000000000000000000000000000000..b918c6b40056cc8ae24375990b0216a54112e281 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/downloadheaders.dtd @@ -0,0 +1,27 @@ +<!-- 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/. --> + +<!ENTITY all.label "Luchdaich a-nuas a h-uile bann-cinn"> +<!ENTITY all.accesskey "d"> +<!--LOCALIZATION NOTE (download.label): + consider the download.label and headers.label as a single sentence + with the number of headers to be downloaded inserted between them: + EXAMPLE: "Download" <some number> "headers" + Either label could be set to null ("") if required grammatically. +--> + +<!--LOCALIZATION NOTE (download.label): + consider the download.label and headers.label as a single sentence + with the number of headers to be downloaded inserted between them: + EXAMPLE: "Download" <some number> "headers" + Either label could be set to null ("") if required grammatically. +--> + +<!ENTITY download.label "Luchdaich a-nuas"> +<!ENTITY download.accesskey "L"> +<!--LOCALIZATION NOTE (headers.label): see note for download.label --> +<!ENTITY headers.label "bannan-cinn"> +<!ENTITY headers.accesskey "b"> +<!ENTITY mark.label "Cuir comharra air na bannan-cinn eile gun deach an leughadh"> +<!ENTITY mark.accesskey "m"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/editContactOverlay.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/editContactOverlay.dtd new file mode 100644 index 0000000000000000000000000000000000000000..58a1e55c764faded8e0529bf645a33f955a7dd56 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/editContactOverlay.dtd @@ -0,0 +1,20 @@ +<!-- 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/. --> + +<!ENTITY editContactPanelDeleteContact.label "Sguab às"> +<!ENTITY editContactPanelDeleteContact.accesskey "S"> + +<!ENTITY editContactName.label "Ainm:"> +<!ENTITY editContactName.accesskey "n"> + +<!ENTITY editContactEmail.label "Post-dealain:"> +<!ENTITY editContactEmail.accesskey "e"> + +<!ENTITY editContactAddressBook.label "Leabhar nan seòladh:"> +<!ENTITY editContactAddressBook.accesskey "a"> + +<!ENTITY editContactPanelDone.label "Dèanta"> +<!ENTITY editContactPanelDone.accesskey "D"> + +<!ENTITY contactMoveDisabledWarning.description "Chan urrainn dhut leabhar nan seòladh atharrachadh a chionn 's gu bheil a' charaid air liosta puist."> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/editContactOverlay.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/editContactOverlay.properties new file mode 100644 index 0000000000000000000000000000000000000000..bf08300085bff55db7f0e90024392f42547b9f56 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/editContactOverlay.properties @@ -0,0 +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/. + +editTitle=Deasaich a' charaid +viewTitle=Seall a' charaid + +editDetailsLabel=Deasaich am fiosrachadh +editDetailsAccessKey=t +viewDetailsLabel=Seall am fiosrachadh +viewDetailsAccessKey=t + +deleteContactTitle=Sguab às a' charaid +deleteContactMessage=A bheil thu cinnteach gu bheil thu airson a' charaid seo a sguabadh às? diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/fieldMapImport.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/fieldMapImport.dtd new file mode 100644 index 0000000000000000000000000000000000000000..0ecc898e7a6783a9fe14cd1cc36063fadac38cc1 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/fieldMapImport.dtd @@ -0,0 +1,17 @@ +<!-- 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/. --> + +<!ENTITY fieldMapImport.next.label "Air adhart"> +<!ENTITY fieldMapImport.next.accesskey "A"> +<!ENTITY fieldMapImport.previous.label "Air ais"> +<!ENTITY fieldMapImport.previous.accesskey "A"> +<!ENTITY fieldMapImport.text "Cleachd "Gluais suas" is "Gluais sìos" gus am bi raointean leabhar nan seòladh air an taobh chlì a' fhreagairt ris an dàta cheart air an taobh dheis a tha ri ion-phortadh. Thoir air falbh a' chromag o gach rud nach eil thu airson ion-phortadh."> +<!ENTITY fieldMapImport.up.label "Gluais suas"> +<!ENTITY fieldMapImport.up.accesskey "u"> +<!ENTITY fieldMapImport.down.label "Gluais sìos"> +<!ENTITY fieldMapImport.down.accesskey "G"> +<!ENTITY fieldMapImport.fieldListTitle "Raointean leabhar nan seòladh"> +<!ENTITY fieldMapImport.dataTitle "Dàta nan reacord a tha ri ion-phortadh"> +<!ENTITY fieldMapImport.skipFirstRecord.label "Tha ainmean nan raointean sa chiad reacord"> +<!ENTITY fieldMapImport.skipFirstRecord.accessKey "r"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/filter.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/filter.properties new file mode 100644 index 0000000000000000000000000000000000000000..90cd370ac3d065eab66231b592d0e225184854af --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/filter.properties @@ -0,0 +1,108 @@ +# 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/. + +mustSelectFolder=Feumaidh tu pasgan-amais a thaghadh. +enterValidEmailAddress=Cuir a-steach seòladh puist-dhealain dligheach a thèid a shìneadh air adhart dha. +pickTemplateToReplyWith=Tagh teamplaid airson na freagairt. +mustEnterName=Feumaidh tu ainm a chur air a' chriathrag seo. +cannotHaveDuplicateFilterTitle=Ainm criathraige dùbailte +cannotHaveDuplicateFilterMessage=Tha an t-ainm a chuir thu a-steach airson na criathraige ann mu thràth. Tagh ainm eile air a son. +mustHaveFilterTypeTitle=Cha deach tachartas criathraidh a thaghadh +mustHaveFilterTypeMessage=Feumaidh tu co-dhiù aon tachartas a thaghadh ma tha a' chriathrag seo an sàs. Ma tha thu airson a chur à comas fad tachartais air choireigin, thoir a' chromag aige air falbh ann an còmhradh criathragan na teachdaireachd. +deleteFilterConfirmation=A bheil thu cinnteach gu bheil thu airson na criathragan a thagh thu a sguabadh às? +matchAllFilterName=&Maidsich a h-uile teachdaireachd +filterListBackUpMsg=Chan eil na criathragan agad ag obair a chionn 's nach gabh am faidhle msgFilterRules.dat (far a bheil na criathragan agad) a leughadh. Thèid faidhle msgFilterRules.dat ùr a chruthachadh agus cuideachd lethbhreac glèidhidh dhen t-seann-fhaidhle (air a bhios rulesbackup.dat) san dearbh-phasgan. +customHeaderOverflow=Chaidh thu thar a' chrìoch 's barrachd air 50 bann-cinn gnàthaiche agad. Thoir air falbh aonan no barrachd dhiubh 's feuch ris a-rithist. +filterCustomHeaderOverflow=Chaidh thu thar a' chrìoch 's barrachd air 50 bann-cinn gnàthaiche agad. Deasaich am faidhle msgFilterRules.dat (far a bheil na criathragan agad) gus an cleachd e nas lugha de bhannan-cinn. +invalidCustomHeader=Tha caractair mì-dhligheach ann an criathrag agad, leithid ':', caractair nach gabh a chlò-bhualadh, caractair nach eil air nòs ascii no caractair eight bit ascii. Deasaich am faidhle msgFilterRules.dat (far a bheil na criathragan agad) 's tu a' toirt air falbh na caractairean mì-dhligheach o na bannan-cinn gnàthaichte agad. +continueFilterExecution=Cha b' urrainn dhuinn a' chriathrag %S a chleachdadh. A bheil thu airson leantainn ort le bhith a' cleachdadh nan criathragan? +promptTitle=Criathragan beòtha +promptMsg=Tha thu ri criathradh theachdaireachdan an-dràsta fhèin.\nA bheil thu airson leantainn ort le bhith a' cleachdadh nan criathragan? +stopButtonLabel=Sguir dheth +continueButtonLabel=Lean air adhart +# LOCALIZATION NOTE(cannotEnableIncompatFilter) +# %S=the name of the application +cannotEnableIncompatFilter='S mathaid gun deach a’ chriathrag seo a chruthachadh le tionndadh de %S a tha ri tighinn fhathast no nach eil co-chòrdail. Chan urrainn dhut a’ chriathrag seo a chur an comas a chionn ’s nach eil fhios againn mar a chuireas sinn an sàs e. +dontWarnAboutDeleteCheckbox=Na faighnich dhìom a-rithist +# LOCALIZATION NOTE(copyToNewFilterName) +# %S=the name of the filter that is being copied +copyToNewFilterName=Lethbhreac de %S +# LOCALIZATION NOTE(contextPeriodic.label): Semi-colon list of plural forms. +# #1=the number of minutes +contextPeriodic.label=Gu cunbhalach, gach #1 mhionaid;Gu cunbhalach, gach #1 mhionaid;Gu cunbhalach, gach #1 mionaidean;Gu cunbhalach, gach #1 mionaid + +# LOCALIZATION NOTE(filterFailureWarningPrefix) +# %1$S=filter error action +# %2$S=error code as hexadecimal string. +filterFailureWarningPrefix=Dh'fhàillig an criathradh: "%1$S" leis a' chòd mhearachd=%2$S fhad 's a dh'fheuch sinn na leanas: +filterFailureSendingReplyError=Mearachd a’ cur na freagairt +filterFailureSendingReplyAborted=Sguireadh de chur na freagairt +filterFailureMoveFailed=Dh’fhàillig a ghluasad +filterFailureCopyFailed=Dh’fhàillig an lethbhreac +filterFailureAction=Cha deach leinn a’ chriathrag a chur an sàs + +searchTermsInvalidTitle=Faclan-luirg mì-dhligheach +# LOCALIZATION NOTE(searchTermsInvalidRule) +# %1$S=search attribute name from the invalid rule +# %2$S=search operator from the bad rule +searchTermsInvalidRule=Cha ghabh a' chriathrag seo a shàbhaladh a chionn 's gu bheil am facal-luirg "%1$S %2$S" mì-dhligheach sa cho-theacsa seo. +# LOCALIZATION NOTE(filterActionOrderExplanation) +# Keep the \n\n that mean 2 linebreaks. +filterActionOrderExplanation=Ma mhaidseas teachdaireachd ris a' chriathrag seo, thèid na gnìomhan a ruith san òrdugh seo:\n\n +filterActionOrderTitle=Fìor-òrdugh nan gnìomhan +## LOCALIZATION NOTE(filterActionItem): +# %1$S=sequence number of the action, %2$S=action text, %3$S=action argument +filterActionItem=%1$S. %2$S %3$S\n + +## LOCALIZATION NOTE(filterCountVisibleOfTotal): +# %1$S=number of matching filters, %2$S=total number of filters +filterCountVisibleOfTotal=%1$S à %2$S +## LOCALIZATION NOTE(filterCountItems): +## Semicolon-separated list of singular and plural forms. +## See: https://developer.mozilla.org/en/docs/Localization_and_Plurals +## #1 is the count of items in the list. +filterCountItems=#1 nì; #1 nì; #1 nithean; #1 nì +# for junk mail logging / mail filter logging +# LOCALIZATION NOTE(junkLogDetectStr) +# %1$S=author, %2$S=subject, %3$S=date +junkLogDetectStr=Mhothaich sinn do theachdaireachd truilleis o %1$S - %2$S, %3$S +# LOCALIZATION NOTE(logMoveStr) +# %1$S=message id, %2$S=folder URI +logMoveStr=dearbh-aithne na teachdaireachd air gluasad = %1$S gu %2$S +# LOCALIZATION NOTE(logCopyStr) +# %1$S=message id, %2$S=folder URI +logCopyStr=lethbhreac air a dhèanamh de dhearbh-aithne na teachdaireachd = %1$S gu %2$S +# LOCALIZATION NOTE(filterLogLine): +# %1$S=timestamp, %2$S=log message +filterLogLine=[%1$S] %2$S +# LOCALIZATION NOTE(filterMessage): +# %1$S=filter name, %1$S=log message +filterMessage=Teachdaireachd on chriathrag “%1$S”: %2$S +# LOCALIZATION NOTE(filterLogDetectStr) +# %1$S=filter name %2$S=author, %3$S=subject, %4$S=date +filterLogDetectStr=Chaidh an teachdaireachd o %2$S - %3$S, %4$S a chur tron chriathrag "%1$S" +filterMissingCustomAction=Gnìomh gnàthaichte a dhìth +filterAction2=prìomhachas air atharrachadh +filterAction3=air sguabadh às +filterAction4=comharra air a chur gun deach a leughadh +filterAction5=snàth air a mharbhadh +filterAction6=a' cumail sùil air an t-snàth +filterAction7=air rionnag a chur ris +filterAction8=air taga a chur ris +filterAction9=air freagairt a thoirt +filterAction10=air a shìneadh air adhart +filterAction11=air casg a chur air a' ghnìomh +filterAction12=air a sguabadh às on fhrithealaiche POP3 +filterAction13=air fhàgail air an fhrithealaiche POP3 +filterAction14=sgòr truilleis +filterAction15=bodhaig air fhaighinn on fhrithealaiche POP3 +filterAction16=air lethbhreac dheth a chur dhan phasgan +filterAction17=air taga a chur ris +filterAction18=fo-shnàth air a leigeil seachad +filterAction19=cuir comharra nach deach a leughadh +# LOCALIZATION NOTE(filterAutoNameStr) +# %1$S=Header or item to match, e.g. "From", "Tag", "Age in days", etc. +# %2$S=Operator, e.g. "Contains", "is", "is greater than", etc. +# %3$S=Value, e.g. "Steve Jobs", "Important", "42", etc. +filterAutoNameStr=%1$S %2$S: %3$S diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/folderProps.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/folderProps.dtd new file mode 100644 index 0000000000000000000000000000000000000000..7f801c74578326be685151b0e5ffc4fed1b2e096 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/folderProps.dtd @@ -0,0 +1,70 @@ +<!-- 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/. --> + +<!ENTITY folderProps.windowtitle.label "Roghainnean"> + +<!ENTITY generalInfo.label "Fiosrachadh coitcheann"> +<!ENTITY folderRebuildSummaryFileTip2.label "Ath-thog gearr-chunntas clàr-innse nam faidhle"> +<!ENTITY folderRebuildSummaryFile2.label "Càraich pasgan"> +<!ENTITY folderRebuildSummaryFile2.accesskey "r"> +<!ENTITY folderRebuildSummaryFile.explanation "Thèid faidhle clàr-innse nam pasgan (.msf) a thruailleadh uaireannan 's bidh coltas gu bheil teachdaireachdan air chall no bidh feadhainn a chaidh a sguabadh às ri fhaicinn fhathast; ma chàraicheas tu am pasgan, thèid seo a chur ceart."> +<!ENTITY folderIncludeInGlobalSearch.label "Gabh a-steach teachdaireachdan sa phasgan seo ann an toraidhean de lorg uile-choitcheann"> +<!ENTITY folderIncludeInGlobalSearch.accesskey "G"> + +<!ENTITY retention.label "Am poileasaidh glèidhidh"> +<!ENTITY retentionUseAccount.label "Cleachd roghainnean a' chunntais agam"> +<!ENTITY retentionUseAccount.accesskey "u"> +<!ENTITY daysOld.label "là(ithean) a dh'aois"> +<!ENTITY message.label "teachdaireachdan"> +<!ENTITY retentionCleanup.label "'S urrainn dhut seann teachdaireachdan a sguabadh às gu buan gus àite air an diosg fhaighinn air ais."> +<!ENTITY retentionCleanupImap.label "'S urrainn dhut seann teachdaireachdan a sguabadh às gu buan gus àite air an diosg fhaighinn air ais, an dà chuid lethbhric ionadail is an fheadhainn thùsail air an fhrithealaiche chèin."> +<!ENTITY retentionCleanupPop.label "'S urrainn dhut seann teachdaireachdan a sguabadh às gu buan gus àite air an diosg fhaighinn air ais, a' gabhail a-steach na feadhainn thùsail air an fhrithealaiche chèin."> +<!ENTITY retentionDeleteMsg.label "Sguab às teachdaireachdan a tha nas sine na"> +<!ENTITY retentionDeleteMsg.accesskey "S"> +<!ENTITY retentionKeepAll.label "Na sguab às teachdaireachd sam bith"> +<!ENTITY retentionKeepAll.accesskey "a"> +<!ENTITY retentionKeepRecent.label "Sguab às a h-uile ach an fheadhainn as ùire"> +<!ENTITY retentionKeepRecent.accesskey "l"> +<!ENTITY retentionApplyToFlagged.label "Cum teachdaireachdan ris a bheil rionnag an-còmhnaidh"> +<!ENTITY retentionApplyToFlagged.accesskey "e"> + +<!ENTITY folderSynchronizationTab.label "Sioncronachadh"> +<!ENTITY folderCheckForNewMessages2.label "Nuair a lorgar teachdaireachdan ùra airson a' chunntais seo, thoir sùil sa phasgan seo an-còmhnaidh"> +<!ENTITY folderCheckForNewMessages2.accesskey "c"> + +<!ENTITY offlineFolder.check.label "Tagh am pasgan seo a chum cleachdaidh far loidhne"> +<!ENTITY offlineFolder.check.accesskey "s"> +<!ENTITY offlineFolder.button.label "Luchdaich a-nuas an-dràsta"> +<!ENTITY offlineFolder.button.accesskey "d"> + +<!ENTITY selectofflineNewsgroup.check.label "Tagh am buidheann-naidheachd seo a chum cleachdaidh far loidhne"> +<!ENTITY selectofflineNewsgroup.check.accesskey "o"> +<!ENTITY offlineNewsgroup.button.label "Luchdaich a-nuas an-dràsta"> +<!ENTITY offlineNewsgroup.button.accesskey "d"> + +<!ENTITY folderProps.name.label "Ainm:"> +<!ENTITY folderProps.name.accesskey "n"> +<!ENTITY folderProps.color.label "Dath na h-ìomhaigheige:"> +<!ENTITY folderProps.color.accesskey "I"> +<!ENTITY folderProps.reset.tooltip "Aisig an dath bunaiteach"> +<!ENTITY folderProps.location.label "Seòladh:"> +<!ENTITY folderProps.location.accesskey "l"> + +<!ENTITY folderSharingTab.label "Co-roinneadh"> +<!ENTITY privileges.button.label "Pribhleidean…"> +<!ENTITY privileges.button.accesskey "P"> +<!ENTITY permissionsDesc.label "Tha cead agad na leanas a dhèanamh:"> +<!ENTITY folderOtherUsers.label "Càch aig a bheil cothrom dhan phasgan seo:"> +<!ENTITY folderType.label "Seòrsa a' phasgain:"> + +<!ENTITY folderQuotaTab.label "Cuota"> +<!ENTITY folderQuotaUsage.label "Cleachdadh:"> +<!ENTITY folderQuotaStatus.label "Cor:"> + +<!ENTITY numberOfMessages.label "Àireamh de theachdaireachdan:"> +<!-- LOCALIZATION NOTE: When the number of messages can't be determined, this string is displayed as the number --> +<!ENTITY numberUnknown.label "chan eil fhios"> +<!ENTITY sizeOnDisk.label "Meud air an diosg:"> +<!-- LOCALIZATION NOTE: When the size can't be determined, this string is displayed as the size --> +<!ENTITY sizeUnknown.label "chan eil fhios"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/folderWidgets.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/folderWidgets.properties new file mode 100644 index 0000000000000000000000000000000000000000..803b96a24bf921e75401f0e70be7f6b9343da7de --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/folderWidgets.properties @@ -0,0 +1,12 @@ +# 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/. + +# LOCALIZATION NOTE(globalInbox) +# %S=name of the Local folders account +globalInbox=Am bogsa a-steach uile-choitcheann (%S) +# LOCALIZATION NOTE(verboseFolderFormat): %1$S is folder name, %2$S is server name +verboseFolderFormat=%1$S air %2$S +chooseFolder=Tagh pasgan… +chooseAccount=Tagh cunntas… +noFolders=Chan eil pasgan ri làimh diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/folderpane.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/folderpane.dtd new file mode 100644 index 0000000000000000000000000000000000000000..1d9f6d1482e4da96ab40ea7b2e9fef906dd4f89c --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/folderpane.dtd @@ -0,0 +1,7 @@ +<!-- 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/. --> +<!ENTITY nameColumn.label "Ainm"> +<!ENTITY unreadColumn.label "Gun leughadh"> +<!ENTITY totalColumn.label "Gu h-iomlan"> +<!ENTITY folderSizeColumn.label "Meud"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/gloda.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/gloda.properties new file mode 100644 index 0000000000000000000000000000000000000000..3769013c4d82d307b451a4509f41ef423114e777 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/gloda.properties @@ -0,0 +1,175 @@ +# 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/. + +# LOCALIZATION NOTE (*.facetNameLabel): These are the labels used to label the facet +# displays in the global search facet display mechanism. They should be +# compact descriptions of the facet type (e.g. "Folder", and don't need to +# refer to the objects being faceted (e.g. "Message" or "Mail"). + +# LOCALIZATION NOTE (*.includeLabel): The label to use for the included group +# in the facet display. If not provided, we will fall back to +# "glodaFacetView.facets.included.fallbackLabel". + +# LOCALIZATION NOTE (*.excludeLabel): The label to use for the excluded group +# in the facet display. If not provided, we will fall back to +# "glodaFacetView.facets.excluded.fallbackLabel". + +# LOCALIZATION NOTE (*.remainderLabel): The label to use for the remaining items +# that are neither part of the included group or the excluded group in the +# facet display. If not provided, we will fall back to +# "glodaFacetView.facets.remainder.fallbackLabel". + +# LOCALIZATION NOTE (*.mustMatchLabel): The label to use for the popup menu +# to indicate that the results should be restricted to messages which match +# a particular value. If not provided, we will fall back to +# "glodaFacetView.facets.mustMatch.fallbackLabel". #1, if present, is +# replaced by the value of the facet (name, folder, mailing list, etc.) + +# LOCALIZATION NOTE (*.cantMatchLabel): The label to use for the popup menu +# to indicate that the results should be restricted to messages which match +# a particular value. If not provided, we will fall back to +# "glodaFacetView.facets.cantMatch.fallbackLabel". #1, if present, is +# replaced by the value of the facet (name, folder, mailing list, etc.) + +# LOCALIZATION NOTE (*.mayMatchLabel): The label to use for the popup menu +# to indicate that the results should no longer be restricted relative to +# this particular facet value. If not provided, we will fall back to +# "glodaFacetView.facets.mayMatch.fallbackLabel". #1, if present, is +# replaced by the value of the facet (name, folder, mailing list, etc.) + +# LOCALIZATION NOTE (*.mustMatchSomeLabel): The label to use for the popup menu +# to indicate that the results should be restricted to messages which have +# _some_ value (e.g. at least one tag is set). If not provided, we will fall +# back to "glodaFacetView.facets.mustMatchSome.fallbackLabel". #1, if present, +# is replaced by the value of the facet (name, folder, mailing list, etc.) + +# LOCALIZATION NOTE (*.mustMatchNoneLabel): The label to use for the popup menu +# to indicate that the results should be restricted to messages which have _no_ +# value (e.g. no tags are set). If not provided, we will fall back to +# "glodaFacetView.facets.mustMatchNoneLabel.fallbackLabel". #1, if present, is +# replaced by the value of the facet (name, folder, mailing list, etc.) + +# LOCALIZATION NOTE (*.mayMatchAnyLabel): The label to use for the popup menu +# to indicate that the results should not be restricted to messages which have +# any or no value (e.g. no requirements on any tags are set). If not provided, +# we will fall back to "glodaFacetView.facets.mayMatchAnyLabel.fallbackLabel". +# #1, if present, is replaced by the value of the facet (name, folder, mailing +# list, etc.) + +# LOCALIZATION NOTE (gloda.message.attr.account.*): Stores the account in which +# a message's folder is located. +gloda.message.attr.account.facetNameLabel=Cunntas +gloda.message.attr.account.includeLabel=’ga stòradh ann an gin dhe: +gloda.message.attr.account.excludeLabel=gun stòradh an-seo: +gloda.message.attr.account.remainderLabel=cunntasan eile: +gloda.message.attr.account.mustMatchLabel=a dh'fheumas a bhith ann an #1 +gloda.message.attr.account.cantMatchLabel=nach fhaod a bhith ann an #1 + +# LOCALIZATION NOTE (gloda.message.attr.folder.*): Stores the message folder in +# which the message is stored. +gloda.message.attr.folder.facetNameLabel=Pasgan +gloda.message.attr.folder.includeLabel=’ga stòradh ann an gin dhe: +gloda.message.attr.folder.excludeLabel=gun stòradh an-seo: +gloda.message.attr.folder.remainderLabel=pasganan eile: +gloda.message.attr.folder.mustMatchLabel=a dh'fheumas a bhith ann an #1 +gloda.message.attr.folder.cantMatchLabel=nach fhaod a bhith ann an #1 + +# LOCALIZATION NOTE (gloda.message.attr.fromMe.*): Stores everyone involved +# with the message. This means from/to/cc/bcc. +gloda.message.attr.fromMe.facetNameLabel=Uamsa + +# LOCALIZATION NOTE (gloda.message.attr.toMe.*): Stores everyone involved +# with the message. This means from/to/cc/bcc. +gloda.message.attr.toMe.facetNameLabel=Thugamsa + +# LOCALIZATION NOTE (gloda.message.attr.involves.*): Stores everyone involved +# with the message. This means from/to/cc/bcc. +gloda.message.attr.involves.facetNameLabel=Daoine +gloda.message.attr.involves.includeLabel=anns a bheil gin dhe na leanas: +gloda.message.attr.involves.excludeLabel=anns nach eil gin dhe na leanas: +gloda.message.attr.involves.remainderLabel=com-pàirtichean eile: +gloda.message.attr.involves.mustMatchLabel=a dh'fheumas #1 a bhith 'na bhroinn +gloda.message.attr.involves.cantMatchLabel=nach fhaod #1 a bhith 'na bhroinn + +# LOCALIZATION NOTE (gloda.message.attr.date.*): Stores the date of the message. +# Thunderbird normally stores the date the message claims it was composed +# according to the "Date" header. This is not the same as when the message +# was sent or when it was eventually received by the user. In the future we +# may change this to be one of the other dates, but not anytime soon. +gloda.message.attr.date.facetNameLabel=Ceann-là + +# LOCALIZATION NOTE (gloda.message.attr.attachmentTypes.*): Stores the list of +# MIME types (ex: image/png, text/plain) of real attachments (not just part of +# the message content but explicitly named attachments) on the message. +# Although we hope to be able to provide localized human-readable explanations +# of the MIME type (ex: "PowerPoint document"), I don't know if that is going +# to happen. +gloda.message.attr.attachmentTypes.facetNameLabel=Ceanglachain + +# LOCALIZATION NOTE (gloda.message.attr.mailing-list.*): Stores the mailing +# lists detected in the message. This will normally be the e-mail address of +# the mailing list and only be detected in messages received from the mailing +# list. Extensions may contribute additional detected mailing-list-like +# things. +gloda.message.attr.mailing-list.facetNameLabel=Liosta puist +gloda.message.attr.mailing-list.noneLabel=Chan eil gin +gloda.message.attr.mailing-list.includeLabel=air fhaighinn air gin dhe: +gloda.message.attr.mailing-list.excludeLabel=gun fhaighinn air gin dhe: +gloda.message.attr.mailing-list.remainderLabel=liostaichean-puist eile: +gloda.message.attr.mailing-list.mustMatchLabel=a dh'fheumas a bhith ann an #1 +gloda.message.attr.mailing-list.cantMatchLabel=nach fhaod a bhith ann an #1 +gloda.message.attr.mailing-list.mustMatchSomeLabel=a dh'fheumas a bhith ann an liosta puist +gloda.message.attr.mailing-list.mustMatchNoneLabel=nach fhaod a bhith ann an liosta puist + +# LOCALIZATION NOTE (gloda.message.attr.tag.*): Stores the tags applied to the +# message. Notably, gmail's labels are not currently exposed via IMAP and we +# do not do anything clever with gmail, so this is independent of gmail labels +# This may change in the future, but it's a safe bet it's not happening on +# Thunderbird's side prior to 3.0. +gloda.message.attr.tag.facetNameLabel=Tagaichean +gloda.message.attr.tag.noneLabel=Chan eil gin +gloda.message.attr.tag.includeLabel=le gin dhe na tagaichean seo: +gloda.message.attr.tag.excludeLabel=gun taga: +gloda.message.attr.tag.remainderLabel=tagaichean eile: +gloda.message.attr.tag.mustMatchLabel=a dh'fheumas a bhith taga #1 ris +gloda.message.attr.tag.cantMatchLabel=nach fhaod taga #1 a bhith ris +gloda.message.attr.tag.mustMatchSomeLabel=a dh'fheumas taga a bhith ris +gloda.message.attr.tag.mustMatchNoneLabel=nach fhaod taga a bhith ris + +# LOCALIZATION NOTE (gloda.message.attr.star.*): Stores whether the message is +# starred or not, as indicated by a pretty star icon. In the past, the icon +# used to be a flag. The IMAP terminology continues to be "flagged". +gloda.message.attr.star.facetNameLabel=Le rionnag ris + +# LOCALIZATION NOTE (gloda.message.attr.read.*): Stores whether the user has +# read the message or not. +gloda.message.attr.read.facetNameLabel=Air a leughadh + +# LOCALIZATION NOTE (gloda.message.attr.repliedTo.*): Stores whether we believe +# the user has ever replied to the message. We normally show a little icon in +# the thread pane when this is the case. +gloda.message.attr.repliedTo.facetNameLabel=Air a fhreagairt + +# LOCALIZATION NOTE (gloda.message.attr.forwarded.*): Stores whether we believe +# the user has ever forwarded the message. We normally show a little icon in +# the thread pane when this is the case. +gloda.message.attr.forwarded.facetNameLabel=Air a shìneadh air adhart + +# LOCALIZATION NOTE (gloda.mimetype.category.*.label): Map categories of MIME +# types defined in MimeTypeCategories to labels. +# LOCALIZATION NOTE (gloda.mimetype.category.archives.label): Archive is +# referring to things like zip files, tar files, tar.gz files, etc. +gloda.mimetype.category.archives.label=Tasg-lannan +gloda.mimetype.category.documents.label=Sgrìobhainnean +gloda.mimetype.category.images.label=Dealbhan +# LOCALIZATION NOTE (gloda.mimetype.category.media.label): Media is meant to +# encompass both audio and video. This is because video and audio streams are +# frequently stored in the same type of container and we cannot rely on the +# sending e-mail client to have been clever enough to figure out what was +# really in the file. So we group them together. +gloda.mimetype.category.media.label=Meadhanan (fuaim, video) +gloda.mimetype.category.pdf.label=Faidhlichean PDF +# LOCALIZATION NOTE (gloda.mimetype.category.other.label): Other is the category +# for MIME types that we don't really know what it is. +gloda.mimetype.category.other.label=Eile diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/glodaComplete.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/glodaComplete.properties new file mode 100644 index 0000000000000000000000000000000000000000..a2551a0648de37606f4df2ffed2205db93a0594f --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/glodaComplete.properties @@ -0,0 +1,19 @@ +# 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/. + +# LOCALIZATION NOTE (glodaComplete.messagesTagged.label): The label used +# in the autocomplete widget to refer to a query for all messages tagged +# by a particular tag (replacing #1). +glodaComplete.messagesTagged.label=Teachdaireachdan ris a bheil taga: #1 + +# LOCALIZATION NOTE (glodaComplete.messagesMentioning.label): The label used +# in the autocomplete widget to refer to a search for all messages mentioning +# a particular word (replacing #1). +glodaComplete.messagesMentioning.label=Teachdaireachdan a bheir iomradh air: #1 + +# LOCALIZATION NOTE (glodaComplete.messagesWithMany.label): The label used +# in the autocomplete widget to refer to a search for all messages mentioning +# a set of words, or a phrase containing multiple words (e.g. "red pepper") +# We use the same words in en-US, but maybe that's not always true. +glodaComplete.messagesMentioningMany.label=Teachdaireachdan a bheir iomradh air: #1 diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/glodaFacetView.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/glodaFacetView.dtd new file mode 100644 index 0000000000000000000000000000000000000000..90aff4ca6df553813425b80bb5d34d6317d1c64e --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/glodaFacetView.dtd @@ -0,0 +1,29 @@ +<!-- 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/. --> + +<!-- LOCALIZATION NOTE (glodaFacetView.filters.label): Label at the top of the + faceting sidebar. Serves as a header both for the checkboxes under it as + well for labeled facets with multiple options. --> +<!ENTITY glodaFacetView.filters.label "Criathragan"> + +<!-- LOCALIZATION NOTE (glodaFacetView.loading.label): Label that appears when + the search results take a long time to appear. --> +<!ENTITY glodaFacetView.loading.label "'Ga lorg…"> + +<!-- LOCALIZATION NOTE (glodaFacetView.empty.label): Label that appears when + there are no results that match the search query. --> +<!ENTITY glodaFacetView.empty.label "Chan eil teachdaireachd sam bith a' freagairt ris an iarrtas agad"> + +<!-- LOCALIZATION NOTE (glodaFacetView.pageMore.label): Label at the bottom + of the results list to show more hits. --> +<!ENTITY glodaFacetView.pageMore.label "Barrachd »"> + +<!-- LOCALIZATION NOTE(glodaFacetView.results.message.openEmailAsList.label2): The + label for the button/link that causes us to display all of the emails in + the active set in a new thread pane display tab. --> +<!ENTITY glodaFacetView.openEmailAsList.label "Seall na toraidhean mar liosta"> + +<!-- LOCALIZATION NOTE(glodaFacetView.results.message.openEmailAsList.tooltip): + The tooltip to display when hovering over the openEmailAsList label. --> +<!ENTITY glodaFacetView.openEmailAsList.tooltip "Seall a h-uile teachdaireachd puist-d san t-seata bheò ann an taba ùr"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/glodaFacetView.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/glodaFacetView.properties new file mode 100644 index 0000000000000000000000000000000000000000..41366c0abc6acbaf574d18198fef9cfcb23f040e --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/glodaFacetView.properties @@ -0,0 +1,171 @@ +# 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/. + +# LOCALIZATION NOTE (glodaFacetView.tab.query.label): +# The tab title to display for tabs that are based on a gloda (global database) +# query or collection rather than a user search. At some point we might try +# and explain what the query/collection is in automatic fashion, but not today. +glodaFacetView.tab.query.label=Lorg + +# LOCALIZATION NOTE (glodaFacetView.tab.search.label): +# The tab title to display for tabs with a new gloda (global database) +# user search (rather than a query or collection) without a search string. +# After the search has been started, we just display the search string entered +# by the user. +glodaFacetView.tab.search.label=Lorg + +# LOCALIZATION NOTE(glodaFacetView.search.label2): +# The heading for the search page. +# A short description of user's search query will be appended. +glodaFacetView.search.label2=Toraidhean airson: + +# LOCALIZATION NOTE(glodaFacetView.constraints.query.fulltext.label): +# The label to display to describe when our base query was a fulltext search +# across messages. The value is displayed following the label. +glodaFacetView.constraints.query.fulltext.label=A' lorg #1 +glodaFacetView.constraints.query.fulltext.andJoinWord=agus +glodaFacetView.constraints.query.fulltext.orJoinWord=no + +# LOCALIZATION NOTE(glodaFacetView.constraints.query.initial): +# The label to display to describe when our base query is not a full-text +# search. Additional labels are appended describing each constraint. +glodaFacetView.constraints.query.initial=A' lorg nan teachdaireachdan + +# LOCALIZATION NOTE(glodaFacetView.constraints.query.involves.label): +# The label to display to describe when our base query was on messages +# involving a given contact from the address book. The value is displayed +# where the #1 is. +glodaFacetView.constraints.query.involves.label=anns a bheil #1 + +# LOCALIZATION NOTE(glodaFacetView.constraints.query.contact.label): +# The label to display to describe when our base query was on messages +# tagged with a specific tag. The tag is displayed following the label. +glodaFacetView.constraints.query.tagged.label=ris a bheil an taga: + + +# LOCALIZATION NOTE (glodaFacetView.facets.mode.top.listAllLabel): The label to +# use when we are only displaying the top entries for a facet. When the +# label is clicked on, it results in us displaying all of the values for that +# facet. The value "#1" (if present) is replaced with the total number of +# values that will be displayed (rather than the number currently hidden). +# This string supports pluralization. See +# https://developer.mozilla.org/en/Localization_and_Plurals for details on +# how this stuff works. +glodaFacetView.facets.mode.top.listAllLabel=Liostaich a h-uile #1;Liostaich a h-uile #1;Liostaich a h-uile #1;Liostaich a h-uile #1 + +# LOCALIZATION NOTE (glodaFacetView.facets.included.fallbackLabel): The label to +# use for groups in a facet that have been explicitly included by the user if +# there is no explicit attribute "includeLabel" defined. (The explicit label +# would be named "gloda.message.attr.ATTRIBUTE.includeLabel".) +glodaFacetView.facets.included.fallbackLabel=a' gabhail a-steach gin dhe na leanas: +# LOCALIZATION NOTE (glodaFacetView.facets.excluded.fallbackLabel): The label to +# use for groups in a facet that have been explicitly excluded by the user if +# there is no explicit attribute "excludeLabel" defined. (The explicit label +# would be named "gloda.message.attr.ATTRIBUTE.excludeLabel".) +glodaFacetView.facets.excluded.fallbackLabel=as aonais: +# LOCALIZATION NOTE (glodaFacetView.facets.remainder.fallbackLabel): The label +# to use for groups in a facet that are neither part of the included group or +# the excluded group if there is no explicit attribute "remainderLabel" +# defined. (The explicit label would be named +# "gloda.message.attr.ATTRIBUTE.remainderLabel".) +glodaFacetView.facets.remainder.fallbackLabel=eile: + +# LOCALIZATION NOTE (glodaFacetView.facets.mustMatchLabel.fallbackLabel): The label +# to use to restrict a facet by a particular value if there is no explicit +# attribute "mustMatchLabel" defined. (The explicit label would be named +# "gloda.message.attr.ATTRIBUTE.mustMatchLabel".) +glodaFacetView.facets.mustMatchLabel.fallbackLabel=a dh'fheumas #1 a mhaidseadh +glodaFacetView.facets.mustMatchNoneLabel.fallbackLabel=nach fhaod luach a bhith ann + +# LOCALIZATION NOTE (glodaFacetView.facets.cantMatchLabel.fallbackLabel): The label +# to use to restrict a facet by the absence of a particular value if there is +# no explicit attribute "cantMatchLabel" defined. (The explicit label would be +# named "gloda.message.attr.ATTRIBUTE.cantMatchLabel".) +glodaFacetView.facets.cantMatchLabel.fallbackLabel=nach fhaod #1 a mhaidseadh +glodaFacetView.facets.mustMatchSomeLabel.fallbackLabel=a dh'fheumas luach a bhith ann + +# LOCALIZATION NOTE (glodaFacetView.facets.mayMatchLabel.fallbackLabel): The label +# to use to undo the restriction of a facet by a particular value if there is +# no explicit attribute "mayMatchLabel" defined. (The explicit label would be +# named "gloda.message.attr.ATTRIBUTE.mayMatchLabel".) +glodaFacetView.facets.mayMatchLabel.fallbackLabel=thoir air falbh co-èiginn +glodaFacetView.facets.mayMatchAnyLabel.fallbackLabel=thoir air falbh co-èiginn + +# LOCALIZATION NOTE (glodaFacetView.facets.noneLabel): The text to display when +# a facet needs to indicate that an attribute omitted a value or was otherwise +# empty. +glodaFacetView.facets.noneLabel=Chan eil gin + +# LOCALIZATION NOTE (glodaFacetView.facets.filter.attachmentTypes.allLabel): +# The label to use when all types of attachments are being displayed. +glodaFacetView.facets.filter.attachmentTypes.allLabel=Seòrsa sam bith + +# LOCALIZATION NOTE (glodaFacetView.result.message.fromLabel): Used in the +# faceted search message display to indicate the author of a message. +# An example usage is "from: Bob". +glodaFacetView.result.message.fromLabel=o: + +# LOCALIZATION NOTE (glodaFacetView.result.message.toLabel): Used in the +# faceted search message display to indicate the recipients of a message. +# An example usage is "to: Bob, Chuck, Don". +glodaFacetView.result.message.toLabel=gu: + +# LOCALIZATION NOTE (glodaFacetView.result.message.noSubject): Used in the +# faceted search message display to act as a click target for messages with +# no subject. +glodaFacetView.result.message.noSubject=(gun chuspair) + +# LOCALIZATION NOTE(glodaFacetView.results.header.countLabel): +# This label is displayed above the list of result messages; it tells the user +# how many messages we are displaying in the list out of the total number of +# messages in the active set (the set of messages remaining after the +# application of the facet constraints.) +# The goal of the various sub-parts here is to make a label along the lines of +# "M of N". Because there are two numbers, this is split into two parts, +# 'NMessages' for what in English is just the first number and 'ofN' for the +# "of N" part. We then use 'grouping' to decide how to combine the two. This +# was suggested by Rimas Kudelis. +# LOCALIZATION NOTE(glodaFacetView.results.header.countLabel.NMessages): +# The first part of the countLabel string (although you can change the order +# in 'grouping'). This is pluralized using the mechanism described at +# https://developer.mozilla.org/en/Localization_and_Plurals. We replace +# "#1" with the number of messages being shown in the result list. +glodaFacetView.results.header.countLabel.NMessages=#1;#1;#1;#1 +# LOCALIZATION NOTE(glodaFacetView.results.header.countLabel.ofN): +# The second part of the countLabel string (although you can change the order +# in 'grouping'). This is pluralized using the mechanism described at +# https://developer.mozilla.org/en/Localization_and_Plurals. We replace +# "#1" with the total number of messagse in the active set. +glodaFacetView.results.header.countLabel.ofN=à #1;à #1;à #1;à #1 +# LOCALIZATION NOTE(glodaFacetView.results.header.countLabel.grouping): +# Combines the pluralized +# "glodaFacetView.results.header.countLabel.NMessages" string (as #1) with +# the pluralized "glodaFacetView.results.header.countLabel.ofN" (as #2) +# to make a single label. +glodaFacetView.results.header.countLabel.grouping=#2 #1 + +glodaFacetView.results.message.timeline.label=Toglaich an loidhne-ama +# LOCALIZATION NOTE(glodaFacetView.results.message.sort.relevance2): +# a clickable label causing the sort to be done by most relevant messages first. +glodaFacetView.results.message.sort.relevance2=Seòrsaich a-rèir buinteanais +# LOCALIZATION NOTE(glodaFacetView.results.message.sort.date2): +# a clickable label causing the sort to be done by most recent messages first. +glodaFacetView.results.message.sort.date2=Seòrsaich a-rèir cinn-là + +# LOCALIZATION NOTE(glodaFacetView.results.message.recipientSeparator): This is +# the string in between the names of recipients (see +# glodaFacetView.results.message.andOthers for more information). The \u0020 +# character is a Unicode space character, which is needed as otherwise the +# trailing whitespace is trimmed before it gets to the code. +glodaFacetView.results.message.recipientSeparator=,\u0020 + +# LOCALIZATION NOTE(glodaFacetView.results.message.andOthers): +# When a message has too many recipients, we only show the first few and then +# display this label to express how many are not displayed. So if a message +# has 5 recipients, we might only show the first 3, and then use this label +# to indicate that there are 2 that are not displayed. This string can be +# pluralized; see https://developer.mozilla.org/en/Localization_and_Plurals +# for details on how to do that. Note that in English, we use the "serial +# comma", but other languages may not need a leading separator there. +glodaFacetView.results.message.andOthers=agus #1 eile; agus #1 eile; agus #1 eile; agus #1 eile diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/imAccountWizard.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/imAccountWizard.dtd new file mode 100644 index 0000000000000000000000000000000000000000..665b93e21dfc7861d9ea3cb9bd2f32696a08a2a9 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/imAccountWizard.dtd @@ -0,0 +1,32 @@ +<!-- 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/. --> + +<!ENTITY windowTitle.label "Draoidh a' chunntais chabadaich"> + +<!ENTITY accountProtocolTitle.label "An lìonra cabadaich"> +<!ENTITY accountProtocolInfo.label "Tagh lìonra a' chunntais chabadaich agad."> +<!ENTITY accountProtocolField.label "Lìonra:"> +<!ENTITY accountProtocolGetMore.label "Barrachd…"> + +<!ENTITY accountUsernameTitle.label "Ainm-cleachdaiche"> +<!ENTITY accountUsernameDuplicate.label "Chaidh an cunntas seo a rèiteachadh mu thràth!"> + +<!ENTITY accountPasswordTitle.label "Facal-faire"> +<!ENTITY accountPasswordInfo.label "Cuir am facal-faire agad a-steach sa bhogsa gu h-ìosal."> +<!ENTITY accountPasswordField.label "Facal-faire:"> +<!ENTITY accountPasswordManager.label "Ma chuireas tu a-steach facal-faire an-seo, thèid a stòradh le manaidsear nam faclan-faire. Ma tha thu airson am facal-faire a chur a-steach a làimh gach turas a nì thu ceangal dhan chunntas seo, fàg am bogsa seo bàn."> + +<!ENTITY accountAdvancedTitle.label "Roghainnean adhartach"> +<!ENTITY accountAdvancedInfo.label "'S urrainn dhut leum a ghearradh thairis air a' cheum seo ma thogras tu."> +<!ENTITY accountAdvanced.newMailNotification.label "Innis dhomh ma bhios post ùr ann"> +<!ENTITY accountAliasGroupbox.caption "Ainm-brèige ionadail"> +<!ENTITY accountAliasField.label "Ainm-brèige:"> +<!ENTITY accountAliasInfo.label "Chan fhaic thu seo 'nad chòmhraidhean ach ma bhios tu a' bruidhinn ann, chan fhaic an luchd-aithne cèin e."> +<!ENTITY accountProxySettings.caption "Roghainnean progsaidh"> +<!ENTITY accountProxySettings.change.label "Atharraich…"> +<!ENTITY accountProxySettings.change.accessKey "A"> + +<!ENTITY accountSummaryTitle.label "Gearr-chunntas"> +<!ENTITY accountSummaryInfo.label "Chì thu gearr-chunntas dhen fhiosrachadh a chuir thu a-steach gu h-ìosal. Thoir sùil air mu cruthaich thu an cunntas."> +<!ENTITY accountSummary.connectNow.label "Ceangal ris a' chunntas seo an-dràsta."> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/imAccounts.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/imAccounts.properties new file mode 100644 index 0000000000000000000000000000000000000000..f1ba7b2d07e04e05b4d9cb67fcf781bd9148b09e --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/imAccounts.properties @@ -0,0 +1,63 @@ +# 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/. + +# LOCALIZATION NOTE (protoOptions): +# %S is replaced by the name of a protocol +protoOptions=Roghainnean %S +accountUsername=Ainm-cleachdaiche: +# LOCALIZATION NOTE (accountColon): +# This string is used to append a colon after the label of each +# option. It's localizable so that the typography can be adapted. +accountColon=%S: +# LOCALIZATION NOTE (accountUsernameInfo): +# %S is replaced by the name of a protocol +accountUsernameInfo=Cuir a-steach ainm a' chunntais agad air %S. +# LOCALIZATION NOTE (accountUsernameInfoWithDescription): +# %1$S is a hint for the expected format of the username +# %2$S is the name of a protocol +accountUsernameInfoWithDescription=Cuir a-steach an t-ainm-cleachdaiche (%1$S) airson a' chunntais %2$S agad. + +# LOCALIZATION NOTE (account.connection.error): +# %S is the error message. +account.connection.error=Mearachd: %S +# LOCALIZATION NOTE (account.connection.errorUnknownPrpl) +# %S is the id (not very user friendly; hence the quotes) of the missing plugin. +account.connection.errorUnknownPrpl=Chan eil plugan a' phròtacail "%S" ann. +account.connection.errorEnteringPasswordRequired=Feumaidh tu am facal-faire a chur a-steach gus ceangal ris a' chunntas seo. +account.connection.errorCrashedAccount=Thuislich rud nuair a bha sinn airson ceangal ris a' chunntas seo. +# LOCALIZATION NOTE (account.connection.progress): +# %S is a message indicating progress of the connection process +account.connection.progress=A' ceangal: %S… +account.connecting='Ga cheangal… +account.connectedForSeconds=Bha ceangal ann fad grunn diogan. +# LOCALIZATION NOTE (account.connectedFor{Double,Single}, +# account.reconnectIn{Double,Single}): +# Each pair of %S is a number followed by a unit. The units are +# already localized in a downloads.properties file of the toolkit. +account.connectedForDouble=Bha ceangal ann fad %1$S %2$S agus %3$S %4$S. +account.connectedForSingle=Bha ceangal ann fad mu thuaiream %1$S %2$S. +account.reconnectInDouble=Ag ath-cheangal ann an: %1$S %2$S agus %3$S %4$S. +account.reconnectInSingle=Ag ath-cheangal ann an: %1$S %2$S. + +requestAuthorizeTitle=Iarrtas ùghdarrachaidh +# LOCALIZATION NOTE (requestAuthorizeAllow, requestAuthorizeDeny): +# the & symbol indicates the position of the character that should be +# used as the accesskey for this button. +requestAuthorizeAllow=&Ceadaich +requestAuthorizeDeny=&Diùlt +# LOCALIZATION NOTE (requestAuthorizeText): +# %S is a contact username. +requestAuthorizeText=Chuir %S thu ri liosta an luchd-aithne aige/aice, a bheil thu airson leigeil leis/leatha d' fhaicinn? + +accountsManager.notification.button.accessKey=C +accountsManager.notification.button.label=Ceangail an-dràsta +accountsManager.notification.userDisabled.label=Chuir thu à comas ceanglaichean fèin-obrachail. +accountsManager.notification.safeMode.label=Chaidh roghainnean nan ceanglaichean fèin-obrachail a leigeil seachad a chionn 's gu bheil an aplacaid sa mhodh sàbhailte an-dràsta. +accountsManager.notification.startOffline.label=Chaidh roghainnean nan ceanglaichean fèin-obrachail a leigeil seachad a chionn 's gun deach an aplacaid a chur gu dol sa mhodh far-loidhne. +accountsManager.notification.crash.label=Thàinig an ruith mu dheireadh gu crìoch air dòigh ris nach dùil. Chaidh roghainnean nan ceanglaichean fèin-obrachail a chur à comas ach an urrainn dhut na roghainnean agad a dheasachadh. +# LOCALIZATION NOTE (accountsManager.notification.singleCrash.label): Semi-colon list of plural forms. +# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals +# #1 is the number of accounts that are suspected to have caused a crash. +accountsManager.notification.singleCrash.label=Thàinig an ruith mu dheireadh gu crìoch air dòigh ris nach dùil fhad 's a dh'fheuch sinn ri ceangal a dhèanamh ri cunntas ùr no cunntas a chaidh a dheasachadh. Cha deach a cheangal ach an urrainn dhut na roghainnean agad a dheasachadh.;Thàinig an ruith mu dheireadh gu crìoch air dòigh ris nach dùil fhad 's a dh'fheuch sinn ri ceangal a dhèanamh ri #1 chunntas ùr no cunntasan a chaidh an deasachadh. Cha deach a cheangal ach an urrainn dhut na roghainnean agad a dheasachadh.;Thàinig an ruith mu dheireadh gu crìoch air dòigh ris nach dùil fhad 's a dh'fheuch sinn ri ceangal a dhèanamh ri #1 cunntasan ùra no cunntasan a chaidh an deasachadh. Cha deach a cheangal ach an urrainn dhut na roghainnean agad a dheasachadh.;Thàinig an ruith mu dheireadh gu crìoch air dòigh ris nach dùil fhad 's a dh'fheuch sinn ri ceangal a dhèanamh ri #1 cunntas ùr no cunntasan a chaidh an deasachadh. Cha deach a cheangal ach an urrainn dhut na roghainnean agad a dheasachadh. +accountsManager.notification.other.label=Chaidh na ceanglaichean fèin-obrachail a chur à comas. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/imapMsgs.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/imapMsgs.properties new file mode 100644 index 0000000000000000000000000000000000000000..61616710f76b74802c2f5e76f035ea74230ea058 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/imapMsgs.properties @@ -0,0 +1,266 @@ +# 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/. + +# +# The following are used by the imap code to display progress/status/error messages +# + +#LOCALIZATION NOTE(imapAlertDialogTile): Do not translate the word "%S" +# below. Place the word %S where the account name should appear. +imapAlertDialogTitle=Caismeachd airson a' chunntais %S + +# Status - opening folder +imapStatusSelectingMailbox=A' fosgladh a' phasgain %S… + +# Status - create folder +imapStatusCreatingMailbox=A' cruthachadh a' phasgain… + +# Status - deleting a folder +# LOCALIZATION NOTE (imapStatusDeletingMailbox): The "%S" below should not be translated. +# Instead, insert "%S" in your translation where you wish to display the name +# of the folder being deleted. +imapStatusDeletingMailbox=A' sguabadh às a' phasgain %S… + +# Status - renaming mailbox +# LOCALIZATION NOTE (imapStatusRenamingMailbox): The "%S" below should not be translated. +# Instead, insert "%S" in your translation where you wish to display the name +# of the folder being renamed. +imapStatusRenamingMailbox=A' toirt ainm eile air a' phasgan %S… + +# Status - looking for mailboxes +imapStatusLookingForMailbox=A' lorg nam pasgan… + +# Status - subscribing to mailbox +# LOCALIZATION NOTE (imapStatusSubscribeToMailbox): The "%S" below should not be translated. +# Instead, insert "%S" in your translation where you wish to display the name +# of the folder being subscribed to. +imapStatusSubscribeToMailbox=A' fo-sgrìobhadh gun phasgan %S… + +# Status - unsubscribing from mailbox +# LOCALIZATION NOTE (imapStatusUnsubscribeMailbox): The "%S" below should not be translated. +# Instead, insert "%S" in your translation where you wish to display the name +# of the folder being unsubscribed from. +imapStatusUnsubscribeMailbox=A' sgur dhen fho-sgrìobhadh gun phasgan %S… + +# Status - searching imap folder +imapStatusSearchMailbox=A' rannsachadh a' phasgain… + +# Status - closing a folder +imapStatusCloseMailbox=A' dùnadh a' phasgain… + +# Status - compacting a folder +imapStatusExpungingMailbox=A’ dùmhlachadh a’ phasgain… + +# Status - logging out +imapStatusLoggingOut=A' clàradh a-mach… + +# Status - checking server capabilities +imapStatusCheckCompat=A' sgrùdadh comasan an fhrithealaiche phuist… + +# Status - logging on +imapStatusSendingLogin=A' cur fiosrachadh an logaidh a-steach… + +# Status - auth logon +imapStatusSendingAuthLogin=A' cur fiosrachadh an logaidh a-steach… + +imapDownloadingMessage=A' luchdadh a-nuas na teachdaireachd… + +# LOCALIZATION NOTE (imapGettingACLForFolder): Do not translate the word "ACL" below. +imapGettingACLForFolder=A' faighinn ACL a' phasgain… + +imapGettingServerInfo=A' faighinn fiosrachadh rèiteachadh an fhrithealaiche… + +imapGettingMailboxInfo=A' faighinn fiosrachadh rèiteachadh a' bhogsa-phuist… + +imapEmptyMimePart=Thèid am ball-bodhaig seo a luchdadh a-nuas nuair a bhios iarrtas ann. + +# LOCALIZATION NOTE (imapReceivingMessageHeaders3): Do not translate the words "%1$S", "%2$S", and "%3$S" below. +# Place the word %1$S in your translation where the number of the header being downloaded should appear. +# Place the word %2$S in your translation where the total number of headers to be downloaded should appear. +# Place the word %3$S in your translation where the name of the folder being processed should appear. +# Note: The account name and separators (e.g. colon, space) are automatically added to the status message. +# Example: "Joe's Account: Downloading message header 100 of 1000 in Drafts…" +imapReceivingMessageHeaders3=A’ luchdadh a-nuas bann-cinn teachdaireachd %1$S à %2$S dha %3$S… + +# LOCALIZATION NOTE (imapReceivingMessageFlags3): Do not translate the words "%1$S", "%2$S", and "%3$S" below. +# Place the word %1$S in your translation where the number of the flag being downloaded should appear. +# Place the word %2$S in your translation where the total number of flags to be downloaded should appear. +# Place the word %3$S in your translation where the name of the folder being processed should appear. +# Note: The account name and separators (e.g. colon, space) are automatically added to the status message. +# Example: "Jim's Account: Downloading message flag 100 of 1000 in INBOX…" +imapReceivingMessageFlags3=A’ luchdadh a-nuas bratach teachdaireachd %1$S à %2$S dha %3$S… + +imapDeletingMessages=A' sguabadh às nan teachdaireachdan… + +imapDeletingMessage=A' sguabadh às na teachdaireachd… + +# LOCALIZATION NOTE (imapMovingMessages): Do not translate the word "%S" below. +# Place the word %S in your translation where the name of the folder should appear. +imapMovingMessages=A’ gluasad nan teachdaireachdan an-seo: %S… + +# LOCALIZATION NOTE (imapMovingMessage): Do not translate the word "%S" below. +# Place the word %S in your translation where the name of the folder should appear. +imapMovingMessage=A’ gluasad na teachdaireachd an-seo: %S… + +# LOCALIZATION NOTE (imapCopyingMessages): Do not translate the word "%S" below. +# Place the word %S in your translation where the name of the folder should appear. +imapCopyingMessages=A' cur lethbhreac nan teachdaireachdan dha %S… + +# LOCALIZATION NOTE (imapCopyingMessage): Do not translate the word "%S" below. +# Place the word %S in your translation where the name of the folder should appear. +imapCopyingMessage=A' cur lethbhreac na teachdaireachd dha %S… + +# LOCALIZATION NOTE (imapFolderReceivingMessageOf3): Do not translate the words "%1$S", "%2$S", and "%3$S" below. +# Place the word %1$S in your translation where the number of the message being downloaded should appear. +# Place the word %2$S in your translation where the total number of messages to be downloaded should appear. +# Place the word %3$S in your translation where the name of the folder being processed should appear. +# Note: The account name and separators (e.g. colon, space) are automatically added to the status message. +# Example: "Juan's Account: Downloading message 100 of 1000 in Sent…" +imapFolderReceivingMessageOf3=A’ luchdadh a-nuas teachdaireachd %1$S à %2$S dha %3$S… + +# LOCALIZATION NOTE (imapDiscoveringMailbox): Do not translate the word "%S" below. +# Place the word %S in your translation where the name of the folder should appear. +imapDiscoveringMailbox=Pasgan air a lorg: %S + +# LOCALIZATION NOTE (imapEnterServerPasswordPrompt): Do not translate the words %1$S and %2$S below. +# Place the word %1$S in your translation where the username should appear. +# Place the word %2$S in your translation where the servername should appear. +imapEnterServerPasswordPrompt=Cuir a-steach am facal-faire agad airson %1$S air %2$S: + +# LOCALIZATION NOTE (imapServerNotImap4): Do not translate the word "IMAP4" below. +imapServerNotImap4=Chan eil am frithealaiche puist %S 'na fhrithealaiche puist IMAP4. + +# This is intentionally left blank. +imapDone= + +# LOCALIZATION NOTE (imapEnterPasswordPromptTitleWithUsername): Do not translate the +# word %1$S. Place the word %1$S where the user name should appear. +imapEnterPasswordPromptTitleWithUsername=Cuir a-steach am facal-faire agad airson %1$S + +imapUnknownHostError=Dh'fhàillig an ceangal ris an fhrithealaiche %S. +imapOAuth2Error=Dh’fhàillig leis an dearbhadh fhad ’s a bha sinn a’ ceangal ris an fhrithealaiche %S. + +imapConnectionRefusedError=Cha b' urrainn dhuinn ceangal a stèidheachadh ris an fhrithealaiche phuist %S; chaidh an ceangal a dhiùltadh. + +imapNetTimeoutError=Dh'fhalbh an ùine air a' cheangal ris an fhrithealaiche %S. + +imapTlsError=Thachair mearachd TLS nach gabh a thar-àithneadh. Tha sinn an dùil gur e mearachd crathadh-làimhe a th’ ann no nach eil an tionndadh dhe TLS no an teisteanais a chleachd am frithealaiche %S co-chòrdail. + +# Status - no messages to download +imapNoNewMessages=Chan eil teachdaireachdan ùra air an fhrithealaiche. + +imapDefaultAccountName=Post airson %S + +imapSpecialChar2=Tha an caractar %S cuingichte air an fhrithealaiche IMAP seo. Tagh ainm eile. + +imapPersonalSharedFolderTypeName=Am pasgan pearsanta + +imapPublicFolderTypeName=Am pasgan poblach + +imapOtherUsersFolderTypeName=Pasgan nan cleachdaichean eile + +imapPersonalFolderTypeDescription='S e pasgan puist pearsanta a tha seo. Chan eil e air a cho-roinneadh. + +imapPersonalSharedFolderTypeDescription='S e pasgan puist pearsanta a tha seo. Tha e air a cho-roinneadh. + +imapPublicFolderTypeDescription='S e pasgan poblach a tha seo. + +imapOtherUsersFolderTypeDescription=Seo pasgan puist a tha air a cho-roinneadh leis a' chleachdaiche '%S'. + +imapAclFullRights=Làn-smachd + +imapAclLookupRight=Lorg + +imapAclReadRight=Air a leughadh + +imapAclSeenRight=Suidhich "Air a leughadh/Gun leughadh" + +imapAclWriteRight=Sgrìobh + +imapAclInsertRight=Cuir ann (Cuir lethbhreac dheth ann) + +imapAclPostRight=Post + +imapAclCreateRight=Cruthaich fo-phasgan + +imapAclDeleteRight=Sguab às teachdaireachdan + +imapAclAdministerRight=Rianaich am pasgan + +imapServerDoesntSupportAcl=Chan eil am frithealaiche seo a' cur taic ri co-roinneadh phasgan. + +imapAclExpungeRight=Lèir-fhalamhaich + +imapServerDisconnected= Bhris am frithealaiche %S an ceangal. Dh'fhaodadh gu bheil am frithealaiche sìos no gu bheil duilgheadas ann leis an lìonra. + +# LOCALIZATION NOTE (autoSubscribeText): %1$S is the imap folder. +imapSubscribePrompt=A bheil thu airson fo-sgrìobhadh gu %1$S? + +imapServerDroppedConnection=Cha b' urrainn dhuinn ceangal a stèidheachadh ris an fhrithealaiche IMAP. Dh'fhaodadh gun deach thu thairis air an àireamh as motha de cheanglaichean ris an fhrithealaiche seo a tha ceadaichte. Ma thachair seo, cleachd còmhradh roghainnean adhartach an fhrithealaiche IMAP gus àireamh nan ceanglaichean a thèid a thasgadh a lughdachadh. + +# This will occur when a folder that has never been imap selected or opened +# (left-clicked) is first right-clicked to access quota properties. +imapQuotaStatusFolderNotOpen=Chan eil fiosrachadh a' chuota ri fhaighinn a chionn 's nach eil am pasgan fosgailte. + +# The imap capability response reports that QUOTA is not supported. +imapQuotaStatusNotSupported=Chan eil am frithealaiche seo a' cur taic ri cuotannan. + +# The getqutaroot command succeeded but reported no quota information. +imapQuotaStatusNoQuota2=Chan eil am pasgan seo ag aithris fiosrachadh mun chuota aige. + +# Folder properties were requested by the user (right-click) before the getquotaroot +# command was sent. +imapQuotaStatusInProgress=Chan eil fiosrachadh mun chuota ri fhaighinn fhathast. + +# Out of memory +imapOutOfMemory=Dh'fhalbh a' chuimhne air a' phrògram. + +# LOCALIZATION NOTE (imapCopyingMessageOf2): Do not translate the word "%S" below. +# Place the word %3$S in your translation where the name of the destination folder should appear. +# Place the word %1$S where the currently copying message should appear. +# Place the word %2$S where the total number of messages should appear. +imapCopyingMessageOf2=A' cur lethbhreac %1$S à %2$S dha %3$S… + +# LOCALIZATION NOTE (imapMoveFolderToTrash): Do not translate the word %S below. +# "%S" is the the name of the folder. +imapMoveFolderToTrash=A bheil thu cinnteach gu bheil thu airson am pasgan '%S' a sguabadh às? + +# LOCALIZATION NOTE (imapDeleteNoTrash): Do not translate the word %S below. +# "%S" is the the name of the folder. +imapDeleteNoTrash=Cha ghabh am pasgan seo aiseag ma sguabas tu às e 's thèid gach teachdaireachd is fo-phasgan a tha ann a sguabadh às. A bheil thu cinnteach fhathast gu bheil thu airson am pasgan '%S' a sguabadh às? + +imapDeleteFolderDialogTitle=Sguab às am pasgan + +imapDeleteFolderButtonLabel=&Sguab às am pasgan + +# LOCALIZATION NOTE (imapAuthChangeEncryptToPlainSSL): %S is the server hostname +imapAuthChangeEncryptToPlainSSL=Tha coltas nach eil am frithealaiche IMAP %S a' cur taic ri faclan-faire crioptaichte. Ma tha thu dìreach air an cunntas seo a chruthachadh, feuch is atharraich na roghainnean gu "Facal-faire àbhaisteach" mar dhòigh dearbhaidh ann an Roghainnean a' chunntais | Roghainnean an fhrithealaiche'. Nam b' àbhaist dha a bhith ag obair ceart gu leòr 's ma dh'fhàillig e gu h-obann, bruidhinn ri rianadair no solaraiche a' phuist agad. + +# LOCALIZATION NOTE (imapAuthChangePlainToEncrypt): %S is the server hostname +imapAuthChangePlainToEncrypt=Chan eil am frithealaiche IMAP %S a' ceadachadh faclan-faire a tha 'nan teacsa lom. Feuch is atharraich an dòigh dearbhaidh gu "Facal-faire crioptaichte" ann an "Roghainnean a' chunntais | Roghainnean an fhrithealaiche". + +# LOCALIZATION NOTE (imapAuthChangeEncryptToPlainNoSSL): %S is the server hostname +imapAuthChangeEncryptToPlainNoSSL=Tha coltas nach eil am frithealaiche %S a' cur taic ri faclan-faire crioptaichte. Ma tha thu dìreach air an cunntas seo a chruthachadh, feuch is atharraich an "Dòigh dearbhaidh" gu "Facal-faire, 'ga thar-aiseag gu mì-thèarainte" ann an "Roghainnean a' chunntais | Roghainnean an fhrithealaiche". Nam b' àbhaist dha a bhith ag obair mar bu chòir is ma dh'fhàillig e gu h-obann, seo suidheachadh cumanta far am b' urrainn do chuideigin am facal-faire agad a ghoid. + +# LOCALIZATION NOTE (imapAuthMechNotSupported): %S is the server hostname +imapAuthMechNotSupported=TChan eil am frithealaiche IMAP %S a' cur taic ris an dòigh dearbhachaidh a thagh thu. Feuch is atharraich an dòigh dearbhaidh ann an "Roghainnean a' chunntais | Roghainnean an fhrithealaiche". + +# LOCALIZATION NOTE (imapAuthGssapiFailed): %S is the server hostname +imapAuthGssapiFailed=Cha b' urrainn dhuinn am frithealaiche IMAP %S ris an tiocaid Kerberos/GSSAPI. Dèan cinnteach gu bheil thu air logadh a-steach do rìoghachd Kerberos/GSSAPI. + +# LOCALIZATION NOTE (imapServerCommandFailed): +# Place the word %1$S in your translation where the name of the account name should appear. +# Place the word %2$S in your translation where the server response should appear. +imapServerCommandFailed=Cha do shoirbhich leat leis an àithne seo. Dh'fhreagair am frithealaiche puist airson a' chunntais %1$S: %2$S\u0020 + +# LOCALIZATION NOTE (imapFolderCommandFailed): Do not translate the word %S below. +# Place the word %1$S in your translation where the name of the account should appear. +# Place the word %2$S in your translation where the name of the folder should appear. +# Place the word %3$S in your translation where the server response should appear. +imapFolderCommandFailed=Cha do shoirbhich leis a' ghnìomh seo air '%2$S'. Dh'fhreagair am frithealaiche puist airson a' chunntais %1$S: %3$S + +# LOCALIZATION NOTE (imapServerAlert): +# Place the word %1$S in your translation where the name of the account should appear. +# Place the word %2$S in your translation where the alert from the server should appear. +imapServerAlert=Caismeachd on chunntas %1$S: %2$S diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/importDialog.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/importDialog.dtd new file mode 100644 index 0000000000000000000000000000000000000000..822841fb8f64c7b82802f68c27f8868090713ad1 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/importDialog.dtd @@ -0,0 +1,56 @@ +<!-- 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/. --> +<!-- +LOCALIZATION NOTE : 'Communicator 4.x' is the used for previous versions of +Netscape Communicator, Please translate using the brandname in respective +languages for Netscape Communicator 4 releases. +LOCALIZATION NOTE : Do not translate any of the occurrences of the word +"&brandShortName;" below. +--> + + +<!-- +LOCALIZATION NOTE : 'Communicator 4.x' is the used for previous versions of +Netscape Communicator, Please translate using the brandname in respective +languages for Netscape Communicator 4 releases. +LOCALIZATION NOTE : Do not translate any of the occurrences of the word +"&brandShortName;" below. +--> + +<!ENTITY importDialog.windowTitle "Ion-phortaich"> +<!ENTITY importAll.label "Ion-phortaich a h-uile rud"> +<!ENTITY importAll.accesskey "e"> +<!ENTITY importMail.label "Post"> +<!ENTITY importMail.accesskey "P"> +<!ENTITY importFeeds.label "Fo-sgrìobhaidhean inbhirean"> +<!ENTITY importFeeds.accesskey "d"> +<!ENTITY importAddressbook.label "Leabhraichean nan seòladh"> +<!ENTITY importAddressbook.accesskey "a"> +<!ENTITY importSettings.label "Roghainnean"> +<!ENTITY importSettings.accesskey "R"> +<!ENTITY importFilters.label "Criathragan"> +<!ENTITY importFilters.accesskey "C"> + +<!ENTITY importTitle.label "An draoidh ion-phortaidh aig &brandShortName;"> +<!ENTITY importShortDesc.label "Ion-phortaich post, leabhraichean nan seòladh, roghainnean is criathragan o phrògraman eile"> + +<!ENTITY importDescription1.label "Ion-phortaichidh an draoidh seo teachdaireachdan puist, clàir ann an leabhraichean nan seòladh, roghainnean agus/no criathragan o phrògraman puist is leabhraichean nan seòladh ann am fòrmatan eile a-steach do &brandShortName;."> +<!ENTITY importDescription2.label "Nuair a bhios iar air an ion-phortadh, gheibh thu iad am broinn &brandShortName; fhèin."> + +<!ENTITY selectDescription.label "Tagh an seòrsa de dh'fhaidhle a tha thu airson ion-phortadh:"> +<!ENTITY selectDescriptionB.label "Tagh cunntas a tha ann no cruthaich fear ùr:"> +<!ENTITY selectDescription.accesskey "p"> +<!ENTITY acctName.label "Ainm:"> +<!ENTITY acctName.accesskey "A"> +<!ENTITY noModulesFound.label "Cha deach aplacaid no faidhle a lorg as urrainn dhuinn dàta ion-phortadh uaithe."> + +<!ENTITY back.label "< Air ais"> +<!ENTITY forward.label "Air adhart >"> +<!ENTITY finish.label "Crìochnaich"> +<!ENTITY cancel.label "Sguir dheth"> + +<!ENTITY select.label "no tagh an seòrsa de ghoireas a tha ri ion-phortadh:"> + +<!ENTITY title.label "Tiotal"> +<!ENTITY processing.label "Ag ion-phortadh…"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/importMsgs.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/importMsgs.properties new file mode 100644 index 0000000000000000000000000000000000000000..4df205fafab6138360266a6b3d7fc510a7d3c1c1 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/importMsgs.properties @@ -0,0 +1,304 @@ +# 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/. + +# The following are used by the import code to display status/error +# and informational messages + +# Success message when no address books are found to import +## @name IMPORT_NO_ADDRBOOKS +## @loc None +2000=Cha deach leabhar nan seòladh a lorg a b' urrainn dhut ion-phortadh. + +# Error: Address book import not initialized +## @name IMPORT_ERROR_AB_NOTINITIALIZED +## @loc None +2001=Cha ghabh leabhar nan seòladh ion-phortadh: mearachd tòiseachaidh. + +# Error: Unable to create the import thread +## @name IMPORT_ERROR_AB_NOTHREAD +## @loc None +2002=Cha ghabh leabhar nan seòladh ion-phortadh: cha ghabh snàth ion-phortaidh a chruthachadh. + +# Error: Unable to create the import thread +## @name IMPORT_ERROR_GETABOOK +## @loc None +# LOCALIZATION NOTE (Error 2003): Do not translate the word "%S" below. +2003=Mearachd le ion-phortadh %S: cha ghabh leabhar nan seòladh a chruthachadh. + +# Success message when no mailboxes are found to import +## @name IMPORT_NO_MAILBOXES +## @loc None +2004=Cha deach bogsaichean-puist a lorg a ghabhas ion-phortadh + +# Error: Mailbox import not initialized +## @name IMPORT_ERROR_MB_NOTINITIALIZED +## @loc None +2005=Cha ghabh na bogsaichean-puist ion-phortadh, mearachd tòiseachaidh + +# Error: Unable to create the import thread +## @name IMPORT_ERROR_MB_NOTHREAD +## @loc None +2006=Cha ghabh na bogsaichean-puist ion-phortadh, cha ghabh snàth ion-phortaidh a chruthachadh + +# Error: Unable to create the proxy object for importing mailboxes +## @name IMPORT_ERROR_MB_NOPROXY +## @loc None +2007=Cha ghabh na bogsaichean-puist ion-phortadh, cha ghabh nì progsaidh a chruthachadh airson nam bogsaichean-puist amais + +# Error: Error creating destination mailboxes +## @name IMPORT_ERROR_MB_FINDCHILD +## @loc None +# LOCALIZATION NOTE (Error 2008): Do not translate the word "%S" below. +# Place %S in your translation where the name of the mailbox should appear. +2008=Mearachd le cruthachadh nam bogsaichean-puist amais, cha ghabh am bogsa-puist %S a lorg + +# Error: Error creating destination mailboxes +## @name IMPORT_ERROR_MB_CREATE +## @loc None +# LOCALIZATION NOTE (Error 2009): Do not translate the word "%S" below. +# Place %S in your translation where the name of the mailbox should appear. +2009=Mearachd le ion-phortadh a' bhogsa-phuist %S, cha ghabh am bogsa-puist amas a chruthachadh + +# Error: No destination folder to import mailboxes +## @name IMPORT_ERROR_MB_NODESTFOLDER +## @loc None +2010=Cha ghabh pasgan a chruthachadh dhan a chuirear am post + +# Description: Address book field name +## @name IMPORT_FIELD_DESC_START +## @loc None +2100=Ainm + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2101=Sloinneadh + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2102=Ainm-taisbeanaidh + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2103=Far-ainm + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2104=Prìomh-phost-dealain + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2105=Post-dealain eile + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2106=Fòn na h-obrach + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2107=Fòn na dachaighe + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2108=Àireamh an fhacs + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2109=Àireamh a' phèidseir + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2110=Àireamh an fhòn-làimhe + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2111=Seòladh na dachaighe + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2112=Seòladh na dachaighe 2 + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2113=Baile na dachaighe + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2114=Sgìre na dachaighe + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2115=Còd-puist na dachaighe + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2116=Dùthaich na dachaighe + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2117=Seòladh na h-obrach + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2118=Seòladh na h-obrach 2 + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2119=Baile na h-obrach + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2120=Stàit na h-obrach + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2121=Còd-puist na h-obrach + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2122=Dùthaich na h-obrach + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2123=Ainm na dreuchd + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2124=Roinn + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2125=Buidheann + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2126=Duilleag-lìn 1 + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2127=Duilleag-lìn 2 + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2128=A' bhliadhna breith + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2129=Am mìos breith + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2130=An latha breith + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2131=Gnàthaichte 1 + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2132=Gnàthaichte 2 + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2133=Gnàthaichte 3 + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2134=Gnàthaichte 4 + +# Description: Address book field name +## @name IMPORT_FIELD_DESC +## @loc None +2135=Nòtaichean + +# Description: Address book field name +## @name IMPORT_FIELD_DESC_END +## @loc None +2136=Ainm-sgrìn + +#Error strings +ImportAlreadyInProgress=Tha gnìomh cudromach 'ga dhèanamh an-dràsta fhèin. Feuch ris a-rithist nuair a bhios an t-ion-phortadh làithreach deiseil. + +#Error strings for settings import +ImportSettingsBadModule=Cha ghabh mòideal nan roghainnean a luchdadh +ImportSettingsNotFound=Cha ghabh na roghainnean a lorg. Dèan cinnteach gu bheil am prògram air a stàladh air an inneal seo. +ImportSettingsFailed=Thachair mearachd fhad 's a chaidh na roghainnean ion-phortadh. Dh'fhaodadh nach deach a h-uile, no tè sam bith, dhe na roghainnean ion-phortadh. +# LOCALIZATION NOTE : Do not translate the word "%S" below. +ImportSettingsSuccess=Chaidh na roghainnean ion-phortadh o %S + +#Error string for mail import +ImportMailBadModule=Cha ghabh mòideal ion-phortadh a' phuist a luchdadh +ImportMailNotFound=Cha deach post a lorg a ghabhas ion-phortadh. Dèan cinnteach gu bheil am prògram puist air a stàladh mar bu chòir air an inneal seo. +ImportEmptyAddressBook=Cha ghabh leabhar nan seòladh %S ion-phortadh a chionn 's gu bheil e falamh. +# LOCALIZATION NOTE: Do not translate the word "%S" below. +ImportMailFailed=Thachair mearachd fhad 's a chaidh post ion-phortadh o %S +# LOCALIZATION NOTE: Do not translate the word "%S" below. +ImportMailSuccess=Chaidh am post ion-phortadh o %S + +# Error string for address import +ImportAddressBadModule=Cha ghabh mòideal ion-phortadh leabhar nan seòladh a luchdadh. +ImportAddressNotFound=Cha deach leabhar nan seòladh sam bith a lorg a ghabhas ion-phortadh. Dèan cinntach gu bheil am prògram no am fòrmat a thagh thu air a stàladh mar bu chòir air an inneal seo. +# LOCALIZATION NOTE : Do not translate the word "%S" below. +ImportAddressFailed=Thachair mearachd fhad 's a chaidh na seòlaidhean ion-phortadh o %S. +# LOCALIZATION NOTE : Do not translate the word "%S" below. +ImportAddressSuccess=Chaidh na seòlaidhean ion-phortadh o %S. + +# Error string for filters import +ImportFiltersBadModule=Cha ghabh mòideal ion-phortadh nan criathragan a luchdadh. +# LOCALIZATION NOTE : The %S will get replaced by the name of the import module. +ImportFiltersFailed=Thachair mearachd fhad 's a chaidh na criathragan ion-phortadh o %S. +# LOCALIZATION NOTE : The %S will get replaced by the name of the import module. +ImportFiltersSuccess=Chaidh na criathragan ion-phortadh o %S. +# LOCALIZATION NOTE : The %S will get replaced by the name of the import module. +ImportFiltersPartial=Chaidh cuid dhe na criathragan ion-phortadh o %S. Rabhaidhean gu h-ìosal: + +#Progress strings +# LOCALIZATION NOTE : Do not translate the word "%S" below. +MailProgressMeterText=Ag iompachadh nam bogsa-puist o %S +# LOCALIZATION NOTE : Do not translate the word "%S" below. +AddrProgressMeterText=Ag iompachadh leabhraichean nan seòladh o %S + +#Import file dialog strings +ImportSelectSettings=Tagh faidhle nan roghainnean +ImportSelectMailDir=Tagh pasgan a' phuist +ImportSelectAddrDir=Tagh pasgan leabhar nan seòladh +ImportSelectAddrFile=Tagh faidhle leabhar nan seòladh + +# Folder Names for imported Mail +DefaultFolderName=Post air ion-phortadh +# LOCALIZATION NOTE: Do not translate the word "%S" below. +ImportModuleFolderName=Ion-phortadh %S diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/joinChat.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/joinChat.dtd new file mode 100644 index 0000000000000000000000000000000000000000..5f8afb1ad1c683cb4d901cb0eea2d6dbd6404a3f --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/joinChat.dtd @@ -0,0 +1,10 @@ +<!-- 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/. --> + +<!ENTITY joinChatWindow.title "Rach a chabadaich"> +<!ENTITY name.label "Seòmar"> +<!ENTITY optional.label "(roghainneil)"> +<!ENTITY account.label "Cunntas"> +<!ENTITY autojoin.label "Dèan auto-join san t-seòmar chabadaich seo"> +<!ENTITY autojoin.accesskey "D"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/junkLog.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/junkLog.dtd new file mode 100644 index 0000000000000000000000000000000000000000..9e57b5aec9a1db8ad14010ab250ade4c28b4dfe5 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/junkLog.dtd @@ -0,0 +1,10 @@ +<!-- 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/. --> + +<!ENTITY adaptiveJunkLog.title "Loga glic a' phuist-thruilleis"> +<!ENTITY adaptiveJunkLogInfo.label "Loga glic nan gnìomhan smachd air post truilleis."> +<!ENTITY clearLog.label "Falamhaich an loga"> +<!ENTITY clearLog.accesskey "c"> +<!ENTITY closeLog.label "Dùin"> +<!ENTITY closeLog.accesskey "D"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/localMsgs.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/localMsgs.properties new file mode 100644 index 0000000000000000000000000000000000000000..c43e78608455d5c97c15824da7a353a8016925f5 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/localMsgs.properties @@ -0,0 +1,140 @@ +# 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/. + +# +# The following are used by the local mail code to display progress/status/error messages +# + +# LOCALIZATION NOTE(pop3ErrorDialogTitle): Do not translate the word "%S" +# below. Place the word %S where the account name should appear. +pop3ErrorDialogTitle=Mearachd leis a' chunntas %S + +# LOCALIZATION NOTE (pop3EnterPasswordPromptTitleWithUsername): Do not translate the +# word %1$S. Place the word %1$S where the user name should appear. +pop3EnterPasswordPromptTitleWithUsername=Cuir a-steach am facal-faire agad airson %1$S + +# LOCALIZATION NOTE(pop3EnterPasswordPrompt): Do not translate the words "%1$S" +# and "%2$S" below. Place the word %1$S where the user name should appear, and +# %2$S where the host name should appear. +pop3EnterPasswordPrompt=Cuir a-steach am facal-faire agad airson %1$S air %2$S: + +# LOCALIZATION NOTE(pop3PreviouslyEnteredPasswordIsInvalidPrompt): Do not +# translate the words "%1$S" and "%2$S" below. Place the word %1$S where the +# user name should appear, and %2$S where the host name should appear. +pop3PreviouslyEnteredPasswordIsInvalidPrompt=Cuir a-steach facal-faire ùr airson a' chleachdaiche %1$S air %2$S: + +# Status - Downloading message n of m +# LOCALIZATION NOTE (receivingMessages): Do not translate %1$S or %2$S in the following lines. +# Place the word %1$S where the number of messages downloaded so far should appear. +# Place the word %2$S where the total number of messages to receive should appear; +receivingMessages=A' luchdadh a-nuas teachdaireachd %1$S à %2$S… + +# Status - connecting to host +hostContact=Chaidh fios a chur dhan òstair, a' cur fiosrachadh an logaidh a-steach… + +# Status - no messages to download +noNewMessages=Chan eil teachdaireachd ùr ann. + +# Status - messages received after the download +#LOCALIZATION NOTE : Do not translate %1$S or %2$S in the following line. +# %1$S will receive the number of messages received +# %2$S will receive the total number of messages +receivedMsgs=Fhuaras %1$S a-mach à %2$S teachdaireachd(an) + +# Status - parsing folder +#LOCALIZATION NOTE (buildingSummary): Do not translate %S in the following line. +# Place the word %S where the name of the mailbox should appear +buildingSummary=A' togail faidhle gearr-chunntais airson %S… + +# Status - parsing folder +localStatusDocumentDone=Dèanta + +# Status - pop3 server error +#LOCALIZATION NOTE (pop3ServerError): Do not translate POP3 in the following line. +pop3ServerError=Thachair mearachd leis an fhrithealaiche phuist POP3. + +# Status - pop3 user name failed +pop3UsernameFailure=Cha do shoirbhich leat le cur an ainm-chleachdaiche. + +# Status - password failed +#LOCALIZATION NOTE (pop3PasswordFailed): Do not translate "%1$S" below. +# Place the word %1$S where the user name should appear. +pop3PasswordFailed=Cha deach facal-faire a' chleachdaiche %1$S a chur. + +# Status - write error occurred +pop3MessageWriteError=Cha ghabh am post-dealain a sgriobhadh dhan bhogsa-phuist. Dèan cinnteach gu bheil cead-sgrìobhaidh agad air an t-siostam 's gu bheil àite gu leòr agad air an diosg gus lethbhreac a dhèanamh dhan bhogsa-phuist. + +# Status - retr failure from the server +pop3RetrFailure=Cha do shoirbhich leis an àithne RETR. Mearachd le luchdadh a-nuas teachdaireachd. + +# Status - password undefined +pop3PasswordUndefined=Mearachd le faighinn facal-faire a' phuist. + +# Status - username undefined +pop3UsernameUndefined=Cha do chuir thu a-steach ainm-cleachdaiche airson an fhrithealaiche seo. Cuir ainm a-steach ann an clàr-taice suidheachadh nan cunntasan is feuch ris a-rithist. + +# Status - list failure +pop3ListFailure=Cha do shoirbhich leis an àithne LIST. Mearachd le faighinn na dearbh-aithne is meud de theachdaireachd. + +# Status - delete error +pop3DeleFailure=Cha do shoirbhich leis an àithne DELE. Mearachd le bhith a' cur comharra gun deach teachdaireachd a sguabadh às. + +# Status - stat failed +pop3StatFail=Cha do shoirbhich leis an àithne STAT. Mearachd le faighinn àireamh is meud de theachdaireachdan. + +#LOCALIZATION NOTE (pop3ServerSaid): Do not remove the leading space during translation. +pop3ServerSaid= Dh'fhreagair am frithealaiche puist %S:\u0020 + +#LOCALIZATION NOTE (pop3TempServerError): %S is where the POP3 server name will appear. +pop3TempServerError=Fhuair sinn mearachd shealadach o %S nuair a bha sinn a’ faighinn nan teachdaireachdan ùra.\ +Feuchaidh sinn ris a-rithist nuair thèid sùil a thoirt airson teachdaireachdan an ath-thuras. + +copyingMessagesStatus=A' cur lethbhreac a %S à %S teachdaireachd(an) gu %S + +movingMessagesStatus=A’ gluasad teachdaireachd %S à %S an-seo: %S + +# Status - pop3 server or folder busy +# LOCALIZATION NOTE (pop3ServerBusy): Do not translate the word "%S" below. +# Place %S where the account name should appear. +pop3ServerBusy=Tha an cunntas %S 'ga phròiseasadh. Fuirich ort gus am bi sinn deiseil leis mus iarr thu na teachdaireachdan agad. + +pop3TmpDownloadError=Bha mearachd ann le luchdadh a-nuas na teachdaireachd a leanas: \nO: %S\n Cuspair: %S\n Dh'fhaodadh gu bheil bìoras ann no nach eil àite gu leòr air an diosga. A bheil thu airson leum a ghearradh thairis an an teachdaireachd seo? + +# Status - the server doesn't support UIDL… +# LOCALIZATION NOTE(pop3ServerDoesNotSupportUidlEtc): The following sentence should be translated in this way: +# Do not translate "POP3" +# Do not translate "%S". Place %S in your translation where the name of the server should appear. +# Do not translate "UIDL" +pop3ServerDoesNotSupportUidlEtc=Chan eil am frithealaiche puist POP3 (%S) a' cur taic ri UIDL no XTND XLST a tha riatanach airson cur an sàs nan roghainnean "Fàg air an fhrithealaiche", "Àireamh as motha de theachdaireachd" no "Faigh bannan-cinn a-mhàin". Gus do phost a luchdadh a-nuas, cuir dheth na roghainnean seo fo roghainnean an fhrithealaiche airson an fhrithealaiche phuist agad ann an uinneag roghainnean nan cunntasan. + +# Status - the server doesn't support the top command +# LOCALIZATION NOTE(pop3ServerDoesNotSupportTopCommand): The following sentence should be translated in this way: +# Do not translate "POP3" +# Do not translate "%S". Place %S in your translation where the name of the server should appear. +# Do not translate "TOP" +pop3ServerDoesNotSupportTopCommand=Chan eil am frithealaiche puist POP3 (%S) a' cur taic ris an àithne TOP. As aonais taic an fhrithealaiche air a shon, chan urrainn dhuinn na roghainnean "Meud as motha de theachdaireachd" no "Faigh bannan-cinn a-mhàin" a chur an sàs. Chaidh an roghainn seo a chur à comas is thèid teachdaireachdan a luchdadh a-nuas ge be dè am meud. + +nsErrorCouldNotConnectViaTls=Cha ghabh an ceangal TLS ris an fhrithealaiche POP3 a stèidheachadh. Dh'fhaodadh gu bheil am frithealaiche sìos no air a dhroch rèiteachadh. Dèan cinnteach anns na roghainnean frithealaiche ann an uinneag roghainnean nan cunntasan gu bheil roghainnean an fhrithealaiche phuist agad air an deagh rèiteachadh is feuch ris a-rithist. + +# LOCALIZATION NOTE (pop3MoveFolderToTrash): Do not translate the word %S below. +# "%S" is the the name of the folder. +pop3MoveFolderToTrash=A bheil thu cinnteach gu bheil thu airson am pasgan '%S' a sguabadh às? + +pop3DeleteFolderDialogTitle=Sguab às am pasgan + +pop3DeleteFolderButtonLabel=&Sguab às am pasgan + +pop3AuthInternalError=Mearachd inntearnail a' chor rè dearbhadh an fhrithealaiche POP3. Seo ion-mhearachd a' phrògraim ris nach robh dùil. Saoil an dèan thu aithris air buga ùr? + +pop3AuthChangeEncryptToPlainNoSSL=Tha coltas nach eil am frithealaiche POP3 a' cur taic ri faclan-faire crioptaichte. Ma tha thu dìreach air an cunntas seo a chruthachadh, feuch is atharraich an "Dòigh dearbhaidh" gu "Facal-faire, 'ga thar-aiseag gu mì-thèarainte" ann an "Roghainnean a' chunntais | Roghainnean an fhrithealaiche". Nam b' àbhaist dha a bhith ag obair mar bu chòir is ma dh'fhàillig e gu h-obann, seo suidheachadh cumanta far am b' urrainn do chuideigin am facal-faire agad a ghoid. + +pop3AuthChangeEncryptToPlainSSL=Tha coltas nach eil am frithealaiche POP3 a' cur taic ri faclan-faire crioptaichte. Ma tha thu dìreach air an cunntas seo a chruthachadh, feuch is atharraich an "Dòigh dearbhaidh" gu "Facal-faire àbhaisteach" ann an "Roghainnean a' chunntais | Roghainnean an fhrithealaiche". Nam b' àbhaist dha a bhith ag obair mar bu chòir is ma dh'fhàillig e gu h-obann, seo suidheachadh cumanta far am b' urrainn do chuideigin am facal-faire agad a ghoid. + +pop3AuthChangePlainToEncrypt=Tha coltas nach eil am frithealaiche POP3 a' cur taic ri faclan-faire ann an teacsa lom. Ma tha thu dìreach air an cunntas seo a chruthachadh, feuch is atharraich an "Dòigh dearbhaidh" gu "Facal-faire air a chrioptachadh" ann an "Roghainnean a' chunntais | Roghainnean an fhrithealaiche". + +# Authentication server caps and pref don't match +pop3AuthMechNotSupported=Tha coltas nach eil am frithealaiche a' cur taic ris an dòigh dearbhachaidh a thagh thu. Atharraich an "Dòigh dearbhachaidh" ann an "Roghainnean a' chunntais | Roghainnean an fhrithealaiche". + +# Status - Could not log in to GSSAPI, and it was the only method +pop3GssapiFailure=Cha b' urrainn dhuinn am frithealaiche POP ris an tiocaid Kerberos/GSSAPI. Dèan cinnteach gu bheil thu air logadh a-steach do rìoghachd Kerberos/GSSAPI. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/mailEditorOverlay.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/mailEditorOverlay.dtd new file mode 100644 index 0000000000000000000000000000000000000000..eb362d4c54ae6fd0e1456c500b1e2bab0d72cbfa --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/mailEditorOverlay.dtd @@ -0,0 +1,6 @@ +<!-- 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/. --> + +<!ENTITY sendPage.label "Cuir a-null an duilleag…"> +<!ENTITY sendPage.accesskey "g"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/mailOverlay.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/mailOverlay.dtd new file mode 100644 index 0000000000000000000000000000000000000000..0cd5f73ab28ae2bd44d85dfa47588b3de63546b1 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/mailOverlay.dtd @@ -0,0 +1,11 @@ +<!-- 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/. --> + +<!ENTITY newMessageCmd2.key "N"> +<!ENTITY newMessageCmd.key "M"> +<!ENTITY newMessageCmd.label "Teachdaireachd"> +<!ENTITY newMessageCmd.accesskey "T"> + +<!ENTITY newContactCmd.label "Caraid ann an leabhar nan seòladh…"> +<!ENTITY newContactCmd.accesskey "C"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/mailViewList.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/mailViewList.dtd new file mode 100644 index 0000000000000000000000000000000000000000..4fbfab8ace1e8c1a27db7203d5b27c2262ead442 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/mailViewList.dtd @@ -0,0 +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/. --> + +<!--LOCALIZATION NOTE msgViewPickerOverlay.dtd UI for showing various views on a folder --> + + +<!ENTITY mailViewListTitle.label "Gnàthaich sealladh na teachdaireachdan"> + diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/mailViewSetup.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/mailViewSetup.dtd new file mode 100644 index 0000000000000000000000000000000000000000..b3ec3574866810bcbdf882a9ecf9447d2e0e478d --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/mailViewSetup.dtd @@ -0,0 +1,12 @@ +<!-- 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/. --> + +<!--LOCALIZATION NOTE msgViewPickerOverlay.dtd UI for showing various views on a folder --> + + +<!ENTITY mailViewSetupTitle.label "Suidheachadh sealladh nan teachdaireachdan"> +<!ENTITY mailViewHeading.label "Ainm sealladh na teachdaireachdan:"> +<!ENTITY mailViewHeading.accesskey "e"> +<!ENTITY searchTermCaption.label "Nuair a chaidh an sealladh seo a thaghadh, na seall ach teachdaireachdan:"> + diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/mailviews.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/mailviews.properties new file mode 100644 index 0000000000000000000000000000000000000000..50f558bb0b68a8fd29b9b674a13945d1a1df00ce --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/mailviews.properties @@ -0,0 +1,13 @@ +# 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/. + +# +# Mail Views +# + +mailViewPeopleIKnow=Daoine air a bheil mi eòlach +mailViewRecentMail=Post ùr +mailViewLastFiveDays=Na 5 làithean seo chaidh +mailViewNotJunk=Post còir +mailViewHasAttachments=Tha ceanglachain ris diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/markByDate.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/markByDate.dtd new file mode 100644 index 0000000000000000000000000000000000000000..d29f6280c5b5c8d3bee0256bd6a83cc8bb01ff29 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/markByDate.dtd @@ -0,0 +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/. --> + +<!ENTITY messageMarkByDate.label "Cuir comharra gun deach teachdaireachd a leughadh a-rèir cinn-là"> +<!ENTITY markByDateLower.label "Cuir comharra gun deach teachdaireachdan a leughadh a tha o:"> +<!ENTITY markByDateLower.accesskey "C"> +<!ENTITY markByDateUpper.label "Gu:"> +<!ENTITY markByDateUpper.accesskey "G"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messenger.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messenger.dtd new file mode 100644 index 0000000000000000000000000000000000000000..244e92dcee822dab60ca5b71e94cd154eca56cbb --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messenger.dtd @@ -0,0 +1,945 @@ +<!-- 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/. --> + +<!ENTITY titledefault.label "&brandFullName;"> +<!ENTITY titleSeparator.label " - "> + +<!-- File Menu --> +<!ENTITY newFolderCmd.label "Pasgan…"> +<!ENTITY newFolderCmd.accesskey "P"> +<!ENTITY closeTabCmd2.label "Dùin an taba"> +<!ENTITY closeTabCmd2.accesskey "D"> +<!ENTITY closeOtherTabsCmd2.label "Dùin na tabaichean eile"> +<!ENTITY closeOtherTabsCmd2.accesskey "D"> +<!ENTITY recentlyClosedTabsCmd.label "Tabaichean a dhùin thu o chionn goirid"> +<!ENTITY recentlyClosedTabsCmd.accesskey "r"> + +<!ENTITY undoCloseTabCmd.commandkey "T"> +<!-- LOCALIZATION NOTE (moveToNewWindow.label): + Menu option to cause the current tab to be migrated to a new Thunderbird + window. + --> +<!ENTITY moveToNewWindow.label "Gluais gu uinneag ùr"> +<!ENTITY moveToNewWindow.accesskey "G"> +<!ENTITY newVirtualFolderCmd.label "Lorg a chaidh a shàbhaladh…"> +<!ENTITY newVirtualFolderCmd.accesskey "s"> +<!ENTITY newCreateEmailAccountCmd.label "Faigh cunntas puist ùr…"> +<!ENTITY newCreateEmailAccountCmd.accesskey "a"> +<!ENTITY newExistingEmailAccountCmd.label "Cunntas puist a tha agad mu thràth…"> +<!ENTITY newExistingEmailAccountCmd.accesskey "u"> +<!ENTITY newIMAccountCmd.label "Cunntas cabadaich…"> +<!ENTITY newIMAccountCmd.accesskey "C"> +<!ENTITY newFeedAccountCmd.label "Cunntas inbhir…"> +<!ENTITY newFeedAccountCmd.accesskey "b"> +<!ENTITY newIMContactCmd.label "Neach-aithne cabadaich…"> +<!ENTITY newIMContactCmd.accesskey "h"> +<!ENTITY newMessageCmd2.key "N"> +<!ENTITY newMessageCmd.key "M"> +<!ENTITY newMessageCmd.label "Teachdaireachd"> +<!ENTITY newMessageCmd.accesskey "m"> +<!ENTITY newContactCmd.label "Neach-aithne ann an leabhar nan seòladh…"> +<!ENTITY newContactCmd.accesskey "C"> +<!ENTITY openMenuCmd.label "Fosgail"> +<!ENTITY openMenuCmd.accesskey "O"> +<!ENTITY openMessageFileCmd.label "Fosgail teachdaireachd a chaidh a shàbhaladh…"> +<!ENTITY openMessageFileCmd.accesskey "o"> +<!ENTITY saveAsMenu.label "Sàbhail mar"> +<!ENTITY saveAsMenu.accesskey "S"> +<!ENTITY saveAsFileCmd.key "s"> +<!ENTITY saveAsTemplateCmd.label "Theamplaid"> +<!ENTITY saveAsTemplateCmd.accesskey "T"> +<!ENTITY getNewMsgForCmd.label "Faigh teachdaireachdan ùra"> +<!ENTITY getNewMsgForCmd.accesskey "F"> +<!ENTITY getAllNewMsgCmdPopupMenu.label "De gach cunntais"> +<!ENTITY getAllNewMsgCmdPopupMenu.accesskey "a"> +<!ENTITY getNewMsgCurrentAccountCmdPopupMenu.label "A' chunntais làithrich"> +<!ENTITY getNewMsgCurrentAccountCmdPopupMenu.accesskey "c"> +<!ENTITY getNextNMsgCmd2.label "Faigh an ath-bhadan de theachdaireachdan naidheachd"> +<!ENTITY getNextNMsgCmd2.accesskey "t"> +<!ENTITY sendUnsentCmd.label "Cuir na teachdaireachdan nach deach an cur roimhe"> +<!ENTITY sendUnsentCmd.accesskey "d"> +<!ENTITY subscribeCmd.label "Fo-sgrìobh…"> +<!ENTITY subscribeCmd.accesskey "b"> +<!ENTITY deleteFolder.label "Sguab às am pasgan"> +<!ENTITY deleteFolder.accesskey "S"> +<!ENTITY renameFolder.label "Cuir ainm ùr air pasgan…"> +<!ENTITY renameFolder.accesskey "r"> +<!ENTITY renameFolder.key "VK_F2"> +<!ENTITY compactFolders.label "Dùmhlaich na pasgain"> +<!ENTITY compactFolders.accesskey "D"> +<!ENTITY emptyTrashCmd.label "Falamhaich an sgudal"> +<!ENTITY emptyTrashCmd.accesskey "F"> +<!ENTITY offlineMenu.label "Far loidhne"> +<!ENTITY offlineMenu.accesskey "l"> +<!ENTITY offlineGoOfflineCmd.label "Obraich far loidhne"> +<!ENTITY offlineGoOfflineCmd.accesskey "O"> +<!ENTITY synchronizeOfflineCmd.label "Luchdaich a-nuas/sioncronaich an-dràsta…"> +<!ENTITY synchronizeOfflineCmd.accesskey "s"> +<!ENTITY settingsOfflineCmd2.label "Roghainnean obrachaidh far loidhne…"> +<!ENTITY settingsOfflineCmd2.accesskey "e"> +<!ENTITY downloadSelectedCmd.label "Faigh na teachdaireachdan a thagh thu"> +<!ENTITY downloadSelectedCmd.accesskey "F"> +<!ENTITY downloadStarredCmd.label "Faigh teachdaireachdan le rionnag"> +<!ENTITY downloadStarredCmd.accesskey "a"> +<!ENTITY printCmd.label "Clò-bhuail…"> +<!ENTITY printCmd.accesskey "C"> +<!ENTITY printCmd.key "p"> + +<!-- Edit Menu --> +<!ENTITY deleteMsgCmd.label "Sguab às an teachdaireachd"> +<!ENTITY deleteMsgCmd.accesskey "d"> +<!ENTITY undeleteMsgCmd.label "Neo-dhèan sguabadh às na teachdaireachd"> +<!ENTITY undeleteMsgCmd.accesskey "d"> +<!ENTITY deleteMsgsCmd.label "Sguab às na teachdaireachdan a thagh thu"> +<!ENTITY deleteMsgsCmd.accesskey "d"> +<!ENTITY undeleteMsgsCmd.label "Neo-dhèan sguabadh às nan teachdaireachdan"> +<!ENTITY undeleteMsgsCmd.accesskey "d"> +<!ENTITY deleteFolderCmd.label "Sguab às am pasgan"> +<!ENTITY deleteFolderCmd.accesskey "S"> +<!ENTITY unsubscribeNewsgroupCmd.label "Sguir dhen fho-sgrìobhadh"> +<!ENTITY unsubscribeNewsgroupCmd.accesskey "n"> +<!ENTITY selectMenu.label "Tagh"> +<!ENTITY selectMenu.accesskey "T"> +<!ENTITY all.label "A h-uile"> +<!ENTITY all.accesskey "A"> +<!ENTITY selectThreadCmd.label "Snàth"> +<!ENTITY selectThreadCmd.accesskey "t"> +<!ENTITY selectThreadCmd.key "a"> +<!ENTITY selectFlaggedCmd.label "Teachdaireachdan le rionnag"> +<!ENTITY selectFlaggedCmd.accesskey "T"> +<!ENTITY menuFavoriteFolder.label "Cuir am pasgan ris na h-annsachdan"> +<!ENTITY menuFavoriteFolder.accesskey "a"> +<!ENTITY folderPropsCmd2.label "Roghainnean"> +<!ENTITY folderPropsFolderCmd2.label "Roghainnean a' phasgain"> +<!ENTITY folderPropsNewsgroupCmd2.label "Roghainnean a' bhuidhinn-naidheachd"> +<!ENTITY folderPropsCmd.accesskey "o"> +<!ENTITY undoDeleteMsgCmd.label "Neo-dhèan sguabadh às na teachdaireachd"> +<!ENTITY redoDeleteMsgCmd.label "Ath-dhèan sguabadh às na teachdaireachd"> +<!ENTITY undoMoveMsgCmd.label "Neo-dhèan gluasad na teachdaireachd"> +<!ENTITY redoMoveMsgCmd.label "Ath-dhèan gluasad na teachdaireachd"> +<!ENTITY undoCopyMsgCmd.label "Neo-dhèan lethbhreacadh na teachdaireachd"> +<!ENTITY redoCopyMsgCmd.label "Ath-dhèan lethbhreacadh na teachdaireachd"> +<!ENTITY undoMarkAllCmd.label "Neo-dhèan comharrachadh gun deach a leughadh"> +<!ENTITY redoMarkAllCmd.label "Ath-dhèan comharrachadh gun deach a leughadh"> +<!ENTITY undoDefaultCmd.label "Neo-dhèan"> +<!ENTITY undoDefaultCmd.accesskey "N"> +<!ENTITY redoDefaultCmd.label "Ath-dhèan"> +<!ENTITY redoDefaultCmd.accesskey "A"> + +<!-- View Menu --> +<!ENTITY menubarCmd.label "Bàr a' chlàir-thaice"> +<!ENTITY menubarCmd.accesskey "r"> +<!ENTITY showMessengerToolbarCmd.label "Bàr-inneal a' phuist"> +<!ENTITY showMessengerToolbarCmd.accesskey "B"> +<!ENTITY customizeToolbar.label "Gnàthaich…"> +<!ENTITY customizeToolbar.accesskey "c"> + +<!ENTITY messagePaneLayoutStyle.label "Co-dhealbhachd"> +<!ENTITY messagePaneLayoutStyle.accesskey "l"> +<!ENTITY messagePaneClassic.label "An sealladh clasaigeach"> +<!ENTITY messagePaneClassic.accesskey "c"> +<!ENTITY messagePaneWide.label "An sealladh leathann"> +<!ENTITY messagePaneWide.accesskey "A"> +<!ENTITY messagePaneVertical.label "Sealladh inghearach"> +<!ENTITY messagePaneVertical.accesskey "S"> +<!ENTITY showFolderPaneCmd.label "Leòsan nam pasgan"> +<!ENTITY showFolderPaneCmd.accesskey "m"> +<!ENTITY showFolderPaneColsCmd.label "Colbhan leòsan nam pasgan"> +<!ENTITY showFolderPaneColsCmd.accesskey "p"> +<!ENTITY showMessageCmd.label "Leòsan na teachdaireachd"> +<!ENTITY showMessageCmd.accesskey "L"> + +<!ENTITY folderView.label "Pasgain"> +<!ENTITY folderView.accesskey "P"> +<!ENTITY unifiedFolders.label "Aonaichte"> +<!ENTITY unifiedFolders.accesskey "n"> +<!ENTITY allFolders.label "A h-uile"> +<!ENTITY allFolders.accesskey "A"> +<!ENTITY unreadFolders.label "Gun leughadh"> +<!ENTITY unreadFolders.accesskey "u"> +<!ENTITY favoriteFolders.label "Annsachd"> +<!ENTITY favoriteFolders.accesskey "A"> +<!ENTITY recentFolders.label "O chionn goirid"> +<!ENTITY recentFolders.accesskey "r"> +<!ENTITY compactVersion.label "Sealladh dùmhail"> +<!ENTITY compactVersion.accesskey "S"> + +<!-- Sort Menu --> +<!ENTITY sortMenu.label "Seòrsaich a-rèir"> +<!ENTITY sortMenu.accesskey "S"> +<!ENTITY sortByDateCmd.label "Cinn-là"> +<!ENTITY sortByDateCmd.accesskey "C"> +<!ENTITY sortByReceivedCmd.label "Cuin a fhuaradh"> +<!ENTITY sortByReceivedCmd.accesskey "C"> +<!ENTITY sortByStarCmd.label "Rionnaige"> +<!ENTITY sortByStarCmd.accesskey "R"> +<!ENTITY sortByAttachmentsCmd.label "Ceanglachain"> +<!ENTITY sortByAttachmentsCmd.accesskey "e"> +<!ENTITY sortByPriorityCmd.label "Prìomhachais"> +<!ENTITY sortByPriorityCmd.accesskey "P"> +<!ENTITY sortBySizeCmd.label "Meud"> +<!ENTITY sortBySizeCmd.accesskey "M"> +<!ENTITY sortByStatusCmd.label "Staid"> +<!ENTITY sortByStatusCmd.accesskey "S"> +<!ENTITY sortByTagsCmd.label "Thagaichean"> +<!ENTITY sortByTagsCmd.accesskey "g"> +<!ENTITY sortByJunkStatusCmd.label "Na h-inbhe truilleis"> +<!ENTITY sortByJunkStatusCmd.accesskey "N"> +<!ENTITY sortBySubjectCmd.label "A' chuspair"> +<!ENTITY sortBySubjectCmd.accesskey "A"> +<!ENTITY sortByFromCmd.label "An t-seòladair"> +<!ENTITY sortByFromCmd.accesskey "A"> +<!ENTITY sortByRecipientCmd.label "An fhaighteir"> +<!ENTITY sortByRecipientCmd.accesskey "A"> +<!ENTITY sortByCorrespondentCmd.label "Co-sgrìobhaichean"> +<!ENTITY sortByCorrespondentCmd.accesskey "n"> +<!ENTITY sortByUnreadCmd.label "Na h-inbhe leughaidh"> +<!ENTITY sortByUnreadCmd.accesskey "N"> +<!ENTITY sortByOrderReceivedCmd.label "An òrduigh san d' fhuaradh iad"> +<!ENTITY sortByOrderReceivedCmd.accesskey "A"> +<!ENTITY sortAscending.label "A' dìreadh"> +<!ENTITY sortAscending.accesskey "A"> +<!ENTITY sortDescending.label "A' teàrnadh"> +<!ENTITY sortDescending.accesskey "d"> +<!ENTITY sortThreaded.label "'Nan snàithean a-rèir cuspair"> +<!ENTITY sortThreaded.accesskey "t"> +<!ENTITY sortUnthreaded.label "Gun an cur ann an snàithean"> +<!ENTITY sortUnthreaded.accesskey "h"> +<!ENTITY groupBySort.label "Air an seòrsachadh a-rèir seòrsa"> +<!ENTITY groupBySort.accesskey "A"> +<!ENTITY msgsMenu.label "Teachdaireachdan"> +<!ENTITY msgsMenu.accesskey "T"> +<!ENTITY threads.label "Snàithean"> +<!ENTITY threads.accesskey "e"> +<!ENTITY allMsgsCmd.label "A h-uile"> +<!ENTITY allMsgsCmd.accesskey "A"> +<!ENTITY expandAllThreadsCmd.label "Leudaich a h-uile snàth"> +<!ENTITY expandAllThreadsCmd.accesskey "e"> +<!ENTITY expandAllThreadsCmd.key "*"> +<!ENTITY collapseAllThreadsCmd.label "Co-theannaich a h-uile snàth"> +<!ENTITY collapseAllThreadsCmd.accesskey "C"> +<!ENTITY collapseAllThreadsCmd.key "\"> +<!ENTITY unreadMsgsCmd.label "Gun leughadh"> +<!ENTITY unreadMsgsCmd.accesskey "u"> +<!ENTITY threadsWithUnreadCmd.label "Snàithean le feadhainn gun leughadh"> +<!ENTITY threadsWithUnreadCmd.accesskey "t"> +<!ENTITY watchedThreadsWithUnreadCmd.label "Snàithean a tha thu a' cumail sùil orra 's le feadhainn gun leughadh"> +<!ENTITY watchedThreadsWithUnreadCmd.accesskey "S"> +<!ENTITY ignoredThreadsCmd.label "Snàithean a tha thu a' leigeil seachad"> +<!ENTITY ignoredThreadsCmd.accesskey "i"> + +<!ENTITY headersMenu.label "Bannan-cinn"> +<!ENTITY headersMenu.accesskey "B"> +<!ENTITY headersAllCmd.label "A h-uile"> +<!ENTITY headersAllCmd.accesskey "A"> +<!ENTITY headersNormalCmd.label "Àbhaisteach"> +<!ENTITY headersNormalCmd.accesskey "b"> +<!ENTITY bodyMenu.label "Bodhaig na teachdaireachd mar"> +<!ENTITY bodyMenu.accesskey "B"> +<!ENTITY bodyAllowHTML.label "An HTML tùsail"> +<!ENTITY bodyAllowHTML.accesskey "H"> +<!ENTITY bodySanitized.label "HTML simplidh"> +<!ENTITY bodySanitized.accesskey "s"> +<!ENTITY bodyAsPlaintext.label "Teacsa lom"> +<!ENTITY bodyAsPlaintext.accesskey "T"> +<!ENTITY bodyAllParts.label "Gach pàirt dhen bhodhaidg"> +<!ENTITY bodyAllParts.accesskey "G"> + +<!ENTITY bodyMenuFeed.label "Bodhaig teachdaireachd an inbhir mar"> +<!ENTITY bodyMenuFeed.accesskey "B"> +<!ENTITY viewFeedWebPage.label "Duilleag-lìn"> +<!ENTITY viewFeedWebPage.accesskey "D"> +<!ENTITY viewFeedSummary.label "Gearr-chunntas"> +<!ENTITY viewFeedSummary.accesskey "G"> +<!ENTITY viewFeedSummaryFeedPropsPref.label "Am fòrmat bunaiteach"> +<!ENTITY viewFeedSummaryFeedPropsPref.accesskey "A"> + +<!ENTITY viewAttachmentsInlineCmd.label "Seall ceanglachain taobh a-staigh loidhne"> +<!ENTITY viewAttachmentsInlineCmd.accesskey "a"> + +<!ENTITY pageSourceCmd.label "Bun-tùs na teachdaireachd"> +<!ENTITY pageSourceCmd.accesskey "B"> +<!ENTITY pageSourceCmd.key "u"> +<!ENTITY getNewMessagesCmd.key "y"> +<!ENTITY getAllNewMessagesCmd.key "Y"> + +<!-- Search Menu --> +<!ENTITY findMenu.label "Lorg"> +<!ENTITY findMenu.accesskey "L"> +<!ENTITY findCmd.label "Lorg san teachdaireachd seo…"> +<!ENTITY findCmd.accesskey "L"> +<!ENTITY findCmd.key "f"> +<!ENTITY findAgainCmd.label "Lorg a-rithist"> +<!ENTITY findAgainCmd.accesskey "g"> +<!ENTITY findAgainCmd.key "g"> +<!ENTITY findAgainCmd.key2 "VK_F3"> +<!ENTITY findPrevCmd.key "g"> +<!ENTITY findPrevCmd.key2 "VK_F3"> +<!ENTITY searchMailCmd.label "Lorg sna teachdaireachdan…"> +<!ENTITY searchMailCmd.accesskey "L"> +<!ENTITY searchMailCmd.key "f"> +<!ENTITY glodaSearchCmd.label "Lorg uile-choitcheann…"> +<!ENTITY glodaSearchCmd.accesskey "G"> +<!ENTITY searchAddressesCmd.label "Lorg sna seòlaidhean…"> +<!ENTITY searchAddressesCmd.accesskey "s"> + +<!-- Go Menu --> +<!ENTITY goMenu.label "Rach ann"> +<!ENTITY goMenu.accesskey "R"> +<!ENTITY nextMenu.label "Air adhart"> +<!ENTITY nextMenu.accesskey "A"> +<!ENTITY nextMsgCmd.label "Teachdaireachd"> +<!ENTITY nextMsgCmd.accesskey "T"> +<!ENTITY nextMsgCmd.key "f"> +<!ENTITY nextUnreadMsgCmd.label "Teachdaireachd gun leughadh"> +<!ENTITY nextUnreadMsgCmd.accesskey "u"> +<!ENTITY nextUnreadMsgCmd.key "n"> +<!ENTITY nextStarredMsgCmd.label "Teachdaireachd le rionnag"> +<!ENTITY nextStarredMsgCmd.accesskey "T"> +<!ENTITY nextUnreadThread.label "Snàth gun leughadh"> +<!ENTITY nextUnreadThread.accesskey "t"> +<!ENTITY nextUnreadThread.key "t"> +<!ENTITY prevMenu.label "Air ais"> +<!ENTITY prevMenu.accesskey "A"> +<!ENTITY prevMsgCmd.label "Teachdaireachd"> +<!ENTITY prevMsgCmd.accesskey "T"> +<!ENTITY prevMsgCmd.key "b"> +<!ENTITY prevUnreadMsgCmd.label "Teachdaireachd gun leughadh"> +<!ENTITY prevUnreadMsgCmd.accesskey "u"> +<!ENTITY prevUnreadMsgCmd.key "p"> +<!ENTITY goForwardCmd.label "Air adhart"> +<!ENTITY goForwardCmd.accesskey "A"> +<!ENTITY goForwardCmd.commandKey "]"> +<!ENTITY goBackCmd.label "Air ais"> +<!ENTITY goBackCmd.accesskey "A"> +<!ENTITY goBackCmd.commandKey "["> +<!ENTITY goChatCmd.label "Cabadaich"> +<!ENTITY goChatCmd.accesskey "C"> +<!ENTITY prevStarredMsgCmd.label "Teachdaireachd le rionnag"> +<!ENTITY prevStarredMsgCmd.accesskey "T"> +<!ENTITY folderMenu.label "Pasgan"> +<!ENTITY folderMenu.accesskey "P"> +<!ENTITY goRecentlyClosedTabs.label "Tabaichean a dhùin thu o chionn goirid"> +<!ENTITY goRecentlyClosedTabs.accesskey "d"> +<!ENTITY startPageCmd.label "Duilleag tòiseachadh a' phuist"> +<!ENTITY startPageCmd.accesskey "s"> + +<!-- Message Menu --> +<!ENTITY msgMenu.label "Teachdaireachd"> +<!ENTITY msgMenu.accesskey "T"> +<!ENTITY newMsgCmd.label "Teachdaireachd ùr"> +<!ENTITY newMsgCmd.accesskey "T"> +<!ENTITY newNewMsgCmd.label "Teachdaireachd"> +<!ENTITY newNewMsgCmd.accesskey "T"> +<!ENTITY archiveMsgCmd.label "Tasg-lann"> +<!ENTITY archiveMsgCmd.accesskey "a"> +<!ENTITY archiveMsgCmd.key "a"> +<!ENTITY cancelNewsMsgCmd.label "Sguir dhen teachdaireachd"> +<!ENTITY cancelNewsMsgCmd.accesskey "S"> +<!ENTITY replyMsgCmd.label "Freagair"> +<!ENTITY replyMsgCmd.accesskey "r"> +<!ENTITY replyMsgCmd.key "r"> +<!ENTITY replySenderCmd.label "Freagair an seòladair a-mhàin"> +<!ENTITY replySenderCmd.accesskey "r"> +<!ENTITY replyNewsgroupCmd2.label "Freagair am buidheann-naidheachd"> +<!ENTITY replyNewsgroupCmd2.accesskey "F"> +<!ENTITY replyToAllMsgCmd.label "Freagair a h-uile"> +<!ENTITY replyToAllMsgCmd.accesskey "F"> +<!ENTITY replyToAllMsgCmd.key "r"> +<!ENTITY replyToListMsgCmd.label "Freagair an liosta"> +<!ENTITY replyToListMsgCmd.accesskey "l"> +<!ENTITY replyToListMsgCmd.key "l"> +<!ENTITY forwardMsgCmd.label "Sìn air adhart"> +<!ENTITY forwardMsgCmd.accesskey "S"> +<!ENTITY forwardMsgCmd.key "l"> +<!ENTITY forwardAsMenu.label "Sìn air adhart mar"> +<!ENTITY forwardAsMenu.accesskey "S"> +<!ENTITY forwardAsInline.label "Taobh a-staigh na loidhne"> +<!ENTITY forwardAsInline.accesskey "i"> +<!ENTITY forwardAsAttachmentCmd.label "Ceanglachan"> +<!ENTITY forwardAsAttachmentCmd.accesskey "a"> +<!ENTITY editAsNewMsgCmd.label "Deasaich mar theachdaireachd ùr"> +<!ENTITY editAsNewMsgCmd.accesskey "e"> +<!ENTITY editAsNewMsgCmd.key "e"> +<!ENTITY editDraftMsgCmd.label "Deasaich an dreachd teachdaireachd"> +<!ENTITY editDraftMsgCmd.accesskey "D"> +<!ENTITY editTemplateMsgCmd.label "Deasaich an teamplaid"> +<!ENTITY editTemplateMsgCmd.accesskey "t"> +<!ENTITY newMsgFromTemplateCmd.label "Teachdaireachd ùr o theamplaid"> +<!ENTITY newMsgFromTemplateCmd.keycode "VK_RETURN"><!-- do not change "VK_RETURN" --> +<!ENTITY createFilter.label "Cruthaich criathrag on teachdaireachd…"> +<!ENTITY createFilter.accesskey "a"> +<!ENTITY moveMsgToMenu.label "Gluais gu"> +<!ENTITY moveMsgToMenu.accesskey "G"> +<!ENTITY moveCopyMsgRecentMenu.label "O chionn goirid"> +<!ENTITY moveCopyMsgRecentMenu.accesskey "r"> +<!ENTITY copyMessageLocation.label "Dèan lethbhreac de sheòladh na teachdaireachd"> +<!ENTITY copyMessageLocation.accesskey "D"> +<!ENTITY copyMsgToMenu.label "Cuir lethbhreac gu"> +<!ENTITY copyMsgToMenu.accesskey "C"> +<!ENTITY moveToFolderAgain.label "Gluais a-rithist"> +<!ENTITY moveToFolderAgain.accesskey "i"> +<!ENTITY moveToFolderAgainCmd.key "m"> +<!ENTITY killThreadMenu.label "Leig seachad an snàth"> +<!ENTITY killThreadMenu.accesskey "i"> +<!ENTITY killThreadMenu.key "k"> +<!ENTITY killSubthreadMenu.label "Leig seachad am fo-shnàth"> +<!ENTITY killSubthreadMenu.accesskey "s"> +<!ENTITY killSubthreadMenu.key "k"> +<!ENTITY watchThreadMenu.label "Cum sùil air an t-snàth"> +<!ENTITY watchThreadMenu.accesskey "C"> +<!ENTITY watchThreadMenu.key "w"> +<!ENTITY tagMenu.label "Taga"> +<!ENTITY tagMenu.accesskey "g"> +<!ENTITY tagCmd0.key "0"> +<!ENTITY tagCmd1.key "1"> +<!ENTITY tagCmd2.key "2"> +<!ENTITY tagCmd3.key "3"> +<!ENTITY tagCmd4.key "4"> +<!ENTITY tagCmd5.key "5"> +<!ENTITY tagCmd6.key "6"> +<!ENTITY tagCmd7.key "7"> +<!ENTITY tagCmd8.key "8"> +<!ENTITY tagCmd9.key "9"> +<!ENTITY markMenu.label "Cuir comharra"> +<!ENTITY markMenu.accesskey "C"> +<!ENTITY toggleReadCmd.key "m"> +<!ENTITY markAsReadCmd.label "Gun deach a leughadh"> +<!ENTITY markAsReadCmd.accesskey "G"> +<!ENTITY markAsUnreadCmd.label "Comharra nach deach a leughadh"> +<!ENTITY markAsUnreadCmd.accesskey "u"> +<!ENTITY markThreadAsReadCmd.label "Gun deach an snàth a leughadh"> +<!ENTITY markThreadAsReadCmd.accesskey "t"> +<!ENTITY markThreadAsReadCmd.key "r"> +<!ENTITY markReadByDateCmd.label "Gun deach a leughadh a-rèir cinn-là…"> +<!ENTITY markReadByDateCmd.accesskey "d"> +<!ENTITY markReadByDateCmd.key "c"> +<!ENTITY markAllReadCmd.label "Gun deach gach aon dhiubh a leughadh"> +<!ENTITY markAllReadCmd.accesskey "a"> +<!ENTITY markAllReadCmd.key "c"> +<!ENTITY markStarredCmd.label "Cuir rionnag ris"> +<!ENTITY markStarredCmd.accesskey "s"> +<!ENTITY markStarredCmd.key "S"> +<!ENTITY markAsJunkCmd.label "Gur e truilleis a tha ann"> +<!ENTITY markAsJunkCmd.accesskey "G"> +<!ENTITY markAsJunkCmd.key "j"> +<!ENTITY markAsNotJunkCmd.label "Nach e truilleis a tha ann"> +<!ENTITY markAsNotJunkCmd.accesskey "N"> +<!ENTITY markAsNotJunkCmd.key "j"> +<!ENTITY recalculateJunkScoreCmd.label "Tòisich innealan smachd a' phuist-thruilleis"> +<!ENTITY recalculateJunkScoreCmd.accesskey "c"> +<!ENTITY openMessageWindowCmd.label "Fosgail an teachdaireachd"> +<!ENTITY openMessageWindowCmd.accesskey "o"> +<!ENTITY openMessageWindowCmd.key "o"> +<!ENTITY openInConversationCmd.label "Fosgail ann an còmhradh"> +<!ENTITY openInConversationCmd.accesskey "s"> +<!ENTITY openInConversationCmd.key "o"> +<!ENTITY openAttachmentListCmd.label "Ceanglachain"> +<!ENTITY openAttachmentListCmd.accesskey "h"> +<!ENTITY openFeedMessage1.label "Nuair a dh'fhosglar teachdaireachd inbhir"> +<!ENTITY openFeedMessage1.accesskey "h"> +<!ENTITY openFeedWebPage.label "Fosgail mar dhuilleag-lìn"> +<!ENTITY openFeedWebPage.accesskey "F"> +<!ENTITY openFeedSummary.label "Fosgail mar ghearr-chunntas"> +<!ENTITY openFeedSummary.accesskey "g"> +<!ENTITY openFeedWebPageInMP.label "Toglaich an duilleag-lìn is an gearr-chunntas ann an leòs na teachdaireachd"> +<!ENTITY openFeedWebPageInMP.accesskey "T"> + +<!-- Windows Menu --> +<!ENTITY windowMenu.label "Uinneag"> + +<!-- Tools Menu --> +<!ENTITY tasksMenu.label "Innealan"> +<!ENTITY tasksMenu.accesskey "I"> +<!ENTITY messengerCmd.label "Post ⁊ buidhnean-naidheachd"> +<!ENTITY messengerCmd.accesskey "n"> +<!ENTITY addressBookCmd.label "Leabhar nan seòladh"> +<!ENTITY addressBookCmd.accesskey "b"> +<!ENTITY addressBookCmd.key "B"> +<!ENTITY addonNoPrefs.label "Cha deach roghainnean leudachan a lorg."> +<!ENTITY activitymanager.label "Manaidsear gnìomhachd"> +<!ENTITY activitymanager.accesskey "M"> +<!ENTITY imAccountsStatus.label "Staid cabadaich"> +<!ENTITY imAccountsStatus.accesskey "c"> +<!ENTITY imStatus.available "An làthair"> +<!ENTITY imStatus.unavailable "Trang"> +<!ENTITY imStatus.offline "Far loidhne"> +<!ENTITY imStatus.showAccounts "Seall na cunntasan…"> +<!ENTITY joinChatCmd.label "Gabh pàirt sa chabadaich…"> +<!ENTITY joinChatCmd.accesskey "a"> +<!ENTITY savedFiles.label "Faidhlichean a chaidh a shàbhaladh"> +<!ENTITY savedFiles.accesskey "l"> +<!ENTITY savedFiles.key "j"> +<!ENTITY filtersCmd2.label "Criathragan theachdaireachdan"> +<!ENTITY filtersCmd2.accesskey "C"> +<!ENTITY filtersApply.label "Cuir am pasgan tro na criathragan"> +<!ENTITY filtersApply.accesskey "r"> +<!ENTITY filtersApplyToSelection.label "Cuir na teachdaireachdan a thagh thu tro na criathragan"> +<!ENTITY filtersApplyToSelection.accesskey "u"> +<!ENTITY filtersApplyToMessage.label "Cuir an teachdaireachd seo tro na criathragan"> +<!ENTITY filtersApplyToMessage.accesskey "u"> +<!ENTITY runJunkControls.label "Cuir am pasgan tro innealan-smachd a' phuist-thruilleis"> +<!ENTITY runJunkControls.accesskey "C"> +<!ENTITY deleteJunk.label "Sguab às am post a chaidh a chomharradh mar thruilleis sa phasgan"> +<!ENTITY deleteJunk.accesskey "d"> +<!ENTITY importCmd.label "Ion-phortaich…"> +<!ENTITY importCmd.accesskey "I"> +<!ENTITY exportCmd.label "Às-phortaich…"> +<!ENTITY exportCmd.accesskey "x"> +<!ENTITY clearRecentHistory.label "Falamhaich an eachdraidh faisg ort…"> +<!ENTITY clearRecentHistory.accesskey "h"> +<!ENTITY accountManagerCmd2.label "Roghainnean nan cunntasan"> +<!ENTITY accountManagerCmd2.accesskey "s"> +<!-- LOCALIZATION NOTE (accountManagerCmdUnix.accesskey): + Belongs to accountManagerCmd.label, which is placed under the Edit menu + on Unix systems + --> +<!ENTITY accountManagerCmdUnix2.accesskey "A"> + +<!-- Developer Tools Submenu --> +<!ENTITY devtoolsMenu.label "Innealan an luchd-leasachaidh"> +<!ENTITY devtoolsMenu.accesskey "e"> +<!ENTITY devToolboxCmd.label "Acainnean an luchd-leasachaidh"> +<!ENTITY devToolboxCmd.accesskey "l"> +<!ENTITY devToolboxCmd.commandkey "i"> +<!ENTITY debugAddonsCmd.label "Dì-bhugaich na tuilleadain"> +<!ENTITY debugAddonsCmd.accesskey "a"> +<!ENTITY errorConsoleCmd.label "Consoil nam mearachd"> +<!ENTITY errorConsoleCmd.accesskey "e"> +<!ENTITY errorConsoleCmd.commandkey "j"> + +<!-- Mail Toolbar --> +<!ENTITY getMsgButton1.label "Faigh am post"> +<!ENTITY newMsgButton.label "Sgrìobh"> +<!ENTITY replyButton.label "Freagair"> +<!ENTITY replyAllButton.label "Freagair a h-uile"> +<!ENTITY replyListButton.label "Freagair an liosta"> +<!ENTITY forwardButton.label "Sìn air adhart"> +<!ENTITY fileButton.label "Faidhle"> +<!ENTITY archiveButton.label "Tasg-lann"> +<!ENTITY openConversationButton.label "Còmhradh"> +<!ENTITY nextButton.label "Air adhart"> +<!ENTITY nextButtonToolbarItem.label "An ath-theachdaireachd gun leughadh"> +<!ENTITY nextMsgButton.label "Air adhart"> +<!ENTITY previousButton.label "Air ais"> +<!ENTITY previousButtonToolbarItem.label "An teachdaireachd roimhe gun leughadh"> +<!ENTITY previousMsgButton.label "Air ais"> +<!ENTITY backButton1.label "Air ais"> +<!ENTITY goForwardButton1.label "Air adhart"> +<!ENTITY deleteItem.title "Sguab às"> +<!ENTITY markButton.label "Cuir comharra"> +<!ENTITY printButton.label "Clò-bhuail"> +<!ENTITY stopButton.label "Sguir dheth"> +<!ENTITY throbberItem.title "Tosgair gnìomhachd"> +<!ENTITY junkItem.title "Truilleis"> +<!ENTITY addressBookButton.label "Leabhar nan seòladh"> +<!ENTITY chatButton.label "Cabadaich"> +<!ENTITY glodaSearch.title "Lorg uile-choitcheann"> +<!ENTITY searchItem.title "Lorg luath"> +<!ENTITY mailViewsToolbarItem.title "Tursan a chaidh coimhead air"> +<!ENTITY folderLocationToolbarItem.title "Seòladh a' phasgain"> +<!ENTITY tagButton.label "Taga"> +<!ENTITY compactButton.label "Dùmhlaich"> +<!ENTITY appmenuButton.label "Clàr-taice na h-aplacaid"> + +<!-- Mail Toolbar Tooltips--> +<!ENTITY advancedButton.tooltip "Lorg adhartach nan teachdaireachdan"> +<!ENTITY getMsgButton.tooltip "Faigh teachdaireachdan ùra"> +<!ENTITY getAllNewMsgCmd.label "Faigh a h-uile teachdaireachd ùr"> +<!ENTITY getAllNewMsgCmd.accesskey "g"> +<!ENTITY newMsgButton.tooltip "Cruthaich teachdaireachd ùr"> +<!ENTITY replyButton.tooltip "Freagair an teachdaireachd"> +<!ENTITY replyAllButton.tooltip "Freagair an seòladair 's a h-uile faightear"> +<!ENTITY replyListButton.tooltip "Freagair an liosta puist"> +<!ENTITY forwardButton.tooltip "Sìn air adhart an teachdaireachd a thagh thu"> +<!ENTITY forwardAsInline.tooltip "Sìn air adhart an teachdaireachd a thagh thu mar theacsa taobh a-staigh na loidhne"> +<!ENTITY forwardAsAttachment.tooltip "Sìn air adhart an teachdaireachd a thagh thu mar cheanglachan"> +<!ENTITY fileButton.tooltip "Faidhlich an teachdaireachd a thagh thu"> +<!ENTITY archiveButton.tooltip "Cuir na teachdaireachdan a thagh thu san tasg-lann"> +<!ENTITY openMsgConversationButton.tooltip "Seall còmhradh na teachdaireachd a thagh thu"> +<!ENTITY nextButton.tooltip "Gluais dhan ath-theachdaireachd nach deach a leughadh"> +<!ENTITY nextMsgButton.tooltip "Gluais dhan ath-theachdaireachd"> +<!ENTITY previousButton.tooltip "Gluais dhan teachdaireachd roimhe nach deach a leughadh"> +<!ENTITY previousMsgButton.tooltip "Gluais dhan teachdaireachd roimhe"> +<!ENTITY goForwardButton.tooltip "Aon teachdaireachd air adhart"> +<!ENTITY goBackButton.tooltip "Aon teachdaireachd air ais"> +<!ENTITY markButton.tooltip "Cuir comharra air na teachdaireachdan"> +<!ENTITY printButton.tooltip "Clò-bhuail an teachdaireachd seo"> +<!ENTITY stopButton.tooltip "Sguir dhen tar-aiseag làithreach"> +<!ENTITY addressBookButton.tooltip "Rach do leabhar nan seòladh"> +<!ENTITY chatButton.tooltip "Seall taba na cabadaich"> +<!ENTITY tagButton.tooltip "Cuir taga ris na teachdaireachdan"> +<!ENTITY compactButton.tooltip "Thoir air falbh na teachdaireachdan a chaidh an sguabadh às on phasgan a thagh thu"> +<!ENTITY appmenuButton1.tooltip "Seall clàr-taice &brandShortName;"> + +<!-- Toolbar Button Popup --> +<!ENTITY buttonMenuForwardAsInline.label "Sìn air adhart am broinn na loidhne"> +<!ENTITY buttonMenuForwardAsAttachment.label "Sin air adhart mar cheanglachan"> + +<!-- Remote Content Button Popup --> +<!ENTITY remoteContentOptionsAllowForMsg.label "Seall an t-susbaint chèin aig an teachdaireachd seo"> +<!ENTITY remoteContentOptionsAllowForMsg.accesskey "S"> +<!ENTITY editRemoteContentSettings.label "Deasaich roghainnean na susbaint chèin..."> +<!ENTITY editRemoteContentSettings.accesskey "e"> +<!ENTITY editRemoteContentSettingsUnix.label "Deasaich roghainnean na susbaint chèin..."> +<!ENTITY editRemoteContentSettingsUnix.accesskey "e"> + +<!-- Phishing Button Popup --> +<!ENTITY phishingOptionIgnore.label "Leig seachad an rabhadh a thaobh na teachdaireachd seo"> +<!ENTITY phishingOptionIgnore.accesskey "n"> +<!ENTITY phishingOptionSettings.label "Deasaich na roghainnean airson mothachadh foill…"> +<!ENTITY phishingOptionSettings.accesskey "D"> +<!ENTITY phishingOptionSettingsUnix.label "Deasaich na roghainnean airson mothachadh foill…"> +<!ENTITY phishingOptionSettingsUnix.accesskey "D"> + +<!-- AppMenu Popup --> +<!ENTITY appmenuNewMsgCmd.label "Teachdaireachd ùr"> +<!ENTITY appmenuNewContactCmd.label "neach-aithne ann an leabhar nan seòladh…"> +<!ENTITY appmenuEditMenu.label "Deasaich"> +<!ENTITY appmenuToolbarLayout.label "Co-dhealbhachd a' bhàr-inneal…"> +<!ENTITY appmenuSelectThread.label "Tagh snàithlean"> +<!ENTITY appmenuSelectFlagged.label "Tagh teachdaireachdan ris a bheil bratach"> + +<!-- Tags Menu Popup --> +<!ENTITY addNewTag.label "Taga ùr…"> +<!ENTITY addNewTag.accesskey "T"> +<!ENTITY manageTags.label "Stiùirich na tagaichean…"> +<!ENTITY manageTags.accesskey "S"> + +<!-- Folder Pane --> +<!ENTITY folderNameColumn.label "Ainm"> +<!ENTITY folderUnreadColumn.label "Gun leughadh"> +<!ENTITY folderTotalColumn.label "Gu h-iomlan"> +<!ENTITY folderSizeColumn.label "Meud"> + +<!-- Folder Pane Context Menu --> +<!ENTITY folderContextGetMessages.label "Faigh teachdaireachdan"> +<!ENTITY folderContextGetMessages.accesskey "g"> +<!ENTITY folderContextMarkAllFoldersRead.label "Cuir comharra gun deach a h-uile pasgan a leughadh"> +<!ENTITY folderContextPauseAllUpdates.label "Cuir gach ùrachadh ’na stad"> +<!ENTITY folderContextPauseUpdates.label "Cuir na h-ùrachaidhean ’na stad"> +<!ENTITY folderContextPauseUpdates.accesskey "u"> +<!ENTITY folderContextOpenInNewWindow.label "Fosgail"> +<!ENTITY folderContextOpenInNewWindow.accesskey "o"> +<!ENTITY folderContextOpenNewTab.label "Fosgail ann an taba ùr"> +<!ENTITY folderContextOpenNewTab.accesskey "t"> +<!ENTITY folderContextNew.label "Fo-phasgan ùr…"> +<!ENTITY folderContextNew.accesskey "n"> +<!ENTITY folderContextRename.label "Cuir ainm ùr air"> +<!ENTITY folderContextRename.accesskey "r"> +<!ENTITY folderContextRemove.label "Sguab às"> +<!ENTITY folderContextRemove.accesskey "S"> +<!ENTITY folderContextCompact.label "Dùmhlaich"> +<!ENTITY folderContextCompact.accesskey "c"> +<!ENTITY folderContextEmptyTrash.label "Falamhaich an sgudal"> +<!ENTITY folderContextEmptyTrash.accesskey "F"> +<!ENTITY folderContextEmptyJunk.label "Falamhaich an truilleis"> +<!ENTITY folderContextEmptyJunk.accesskey "F"> +<!ENTITY folderContextSendUnsentMessages.label "Cuir na teachdaireachdan nach deach an cur roimhe"> +<!ENTITY folderContextSendUnsentMessages.accesskey "d"> +<!ENTITY folderContextUnsubscribe.label "Sguir dhen fho-sgrìobhadh"> +<!ENTITY folderContextUnsubscribe.accesskey "u"> +<!ENTITY folderContextMarkNewsgroupRead.label "Cuir comharra gun deach am buidheann-naidheachd a leughadh"> +<!ENTITY folderContextMarkNewsgroupRead.accesskey "C"> +<!ENTITY folderContextMarkMailFolderRead.label "Cuir comharra gun deach am pasgan a leughadh"> +<!ENTITY folderContextMarkMailFolderRead.accesskey "C"> +<!ENTITY folderContextSubscribe.label "Fo-sgrìobh…"> +<!ENTITY folderContextSubscribe.accesskey "b"> +<!ENTITY folderContextSearchForMessages.label "Lorg teachdaireachdan…"> +<!ENTITY folderContextSearchForMessages.accesskey "L"> +<!ENTITY folderContextProperties2.label "Roghainnean"> +<!ENTITY folderContextProperties2.accesskey "R"> +<!ENTITY folderContextFavoriteFolder.label "Cuir am pasgan ris na h-annsachdan"> +<!ENTITY folderContextFavoriteFolder.accesskey "a"> +<!ENTITY folderContextSettings2.label "Roghainnean"> +<!ENTITY folderContextSettings2.accesskey "e"> + +<!-- Search Bar --> +<!ENTITY SearchNameOrEmail.label "Na leanas san ainm no sa phost-dealain:"> +<!ENTITY SearchNameOrEmail.accesskey "N"> + +<!-- Gloda Search Bar --> +<!ENTITY glodaSearchBar.placeholder "Lorg sna teachdaireachdan…"> + +<!-- Quick Search Menu Bar --> +<!ENTITY searchSubjectMenu.label "Cuspair"> +<!ENTITY searchFromMenu.label "O"> +<!ENTITY searchSubjectOrFromMenu.label "Cuspair no seòladair"> +<!ENTITY searchRecipient.label "Gu no Cc"> +<!ENTITY searchSubjectOrRecipientMenu.label "Cuspair, Gu no Cc"> +<!ENTITY searchMessageBody.label "An teachdaireachd gu lèir"> +<!ENTITY saveAsVirtualFolderMenu.label "Sàbhail an lorg mar phasgan…"> + +<!-- Thread Pane --> +<!ENTITY selectColumn.label "Tagh teachdaireachdan"> +<!ENTITY threadColumn.label "Snàth"> +<!ENTITY fromColumn.label "O"> +<!ENTITY recipientColumn.label "Faightear"> +<!ENTITY correspondentColumn.label "Co-sgrìobhaichean"> +<!ENTITY subjectColumn.label "An cuspair"> +<!ENTITY dateColumn.label "Ceann-là"> +<!ENTITY priorityColumn.label "Prìomhachas"> +<!ENTITY tagsColumn.label "Taga"> +<!ENTITY accountColumn.label "Cunntas"> +<!ENTITY statusColumn.label "Staid"> +<!ENTITY sizeColumn.label "Meud"> +<!ENTITY junkStatusColumn.label "An inbhe truilleis"> +<!ENTITY unreadColumn.label "Gun leughadh"> +<!ENTITY totalColumn.label "Gu h-iomlan"> +<!ENTITY readColumn.label "Air a leughadh"> +<!ENTITY receivedColumn.label "Air fhaighinn"> +<!ENTITY starredColumn.label "Le rionnag ris"> +<!ENTITY locationColumn.label "Àite"> +<!ENTITY idColumn.label "An t-òrdugh san d' fhuaradh iad"> +<!ENTITY attachmentColumn.label "Ceanglachain"> +<!ENTITY deleteColumn.label "Sguab às"> + +<!-- Thread Pane Tooltips --> +<!ENTITY columnChooser2.tooltip "Tagh na cuilbh a thèid a thaisbeanadh"> +<!ENTITY selectColumn.tooltip "Toglaich taghadh nan teachdaireachdan uile"> +<!ENTITY threadColumn2.tooltip "Seall snàithleanan nan teachdaireachdan"> +<!ENTITY fromColumn2.tooltip "Seòrsaich a-rèir seòladair"> +<!ENTITY recipientColumn2.tooltip "Seòrsaich a-rèir faighteir"> +<!ENTITY correspondentColumn2.tooltip "Seòrsaich a-rèir cho-sgrìobhaichean"> +<!ENTITY subjectColumn2.tooltip "Seòrsaich a-rèir cuspair"> +<!ENTITY dateColumn2.tooltip "Seòrsaich a-rèir cinn-là"> +<!ENTITY priorityColumn2.tooltip "Seòrsaich a-rèir prìomhachais"> +<!ENTITY tagsColumn2.tooltip "Seòrsaich a-rèir taga"> +<!ENTITY accountColumn2.tooltip "Seòrsaich a-rèir cunntais"> +<!ENTITY statusColumn2.tooltip "Seòrsaich a-rèir staid"> +<!ENTITY sizeColumn2.tooltip "Seòrsaich a-rèir meud"> +<!ENTITY junkStatusColumn2.tooltip "Seòrsaich a-rèir inbhe truilleis"> +<!ENTITY unreadColumn2.tooltip "Àireamh nan teachdaireachdan gun leughadh san t-snàth"> +<!ENTITY totalColumn2.tooltip "Àireamh iomlan nan teachdaireachdan san t-snàth"> +<!ENTITY readColumn2.tooltip "Seòrsaich a-rèir na staid leughaidh"> +<!ENTITY receivedColumn2.tooltip "Seòrsaich a-rèir an latha a fhuaras"> +<!ENTITY starredColumn2.tooltip "Seòrsaich a-rèir rionnaige"> +<!ENTITY locationColumn2.tooltip "Seòrsaich a-rèir ionaid"> +<!ENTITY idColumn2.tooltip "Seòrsaich a-rèir cuin a fhuaras"> +<!ENTITY attachmentColumn2.tooltip "Seòrsaich a-rèir ceanglachain"> +<!ENTITY deleteColumn.tooltip "Sguab às teachdaireachd"> + +<!-- Thread Pane Context Menu --> +<!ENTITY contextNewMsgFromTemplate.label "Teachdaireachd ùr o theamplaid"> +<!ENTITY contextOpenNewWindow.label "Fosgail an teachdaireachd ann an uinneag ùr"> +<!ENTITY contextOpenNewWindow.accesskey "F"> +<!-- The contextOpenNewTab.accesskey ("T") potentially conflicts with + cutCmd.accessKey which is defined in textcontext.dtd from toolkit. Right + now, both menu items can't be visible at the same time, but should someone + enable copy/paste of message, this key would probably need to be changed. --> +<!ENTITY contextOpenNewTab.label "Fosgail an teachdaireachd ann an taba ùr"> +<!ENTITY contextOpenNewTab.accesskey "t"> +<!ENTITY contextOpenConversation.label "Fosgail an teachdaireachd ann an còmhradh"> +<!ENTITY contextOpenConversation.accesskey "n"> +<!ENTITY contextOpenContainingFolder.label "Fosgail an teachdaireachd 'na phasgan"> +<!ENTITY contextOpenContainingFolder.accesskey "n"> +<!ENTITY contextEditMsgAsNew.label "Deasaich mar theachdaireachd ùr"> +<!ENTITY contextEditMsgAsNew.accesskey "e"> +<!ENTITY contextEditDraftMsg.label "Deasaich an dreachd teachdaireachd"> +<!ENTITY contextEditTemplate.label "Deasaich an teamplaid"> +<!ENTITY contextEditTemplate.accesskey "t"> +<!ENTITY contextArchive.label "Tasg-lann"> +<!ENTITY contextArchive.accesskey "T"> +<!ENTITY contextReplySender.label "Freagair an seòladair a-mhàin"> +<!ENTITY contextReplySender.accesskey "r"> +<!ENTITY contextReplyNewsgroup2.label "Freagair am buidheann-naidheachd"> +<!ENTITY contextReplyNewsgroup2.accesskey "F"> +<!ENTITY contextReplyAll.label "Freagair a h-uile"> +<!ENTITY contextReplyAll.accesskey "a"> +<!ENTITY contextReplyList.label "Freagair an liosta"> +<!ENTITY contextReplyList.accesskey "l"> +<!ENTITY contextForward.label "Air adhart"> +<!ENTITY contextForward.accesskey "A"> +<!ENTITY contextForwardAsMenu.label "Sìn air adhart"> +<!ENTITY contextForwardAsMenu.accesskey "n"> +<!ENTITY contextForwardAsInline.label "am broinn na loidhne"> +<!ENTITY contextForwardAsInline.accesskey "b"> +<!ENTITY contextForwardAsAttachmentItem.label "mar cheanglachan"> +<!ENTITY contextForwardAsAttachmentItem.accesskey "m"> +<!ENTITY contextMultiForwardAsAttachment.label "Sìn air adhart mar cheanglachain"> +<!ENTITY contextMultiForwardAsAttachment.accesskey "S"> +<!ENTITY contextMoveMsgMenu.label "Gluais gu"> +<!ENTITY contextMoveMsgMenu.accesskey "G"> +<!ENTITY contextMoveCopyMsgRecentMenu.label "O chionn goirid"> +<!ENTITY contextMoveCopyMsgRecentMenu.accesskey "r"> +<!ENTITY contextMoveCopyMsgFavoritesMenu.label "Annsachdan"> +<!ENTITY contextMoveCopyMsgFavoritesMenu.accesskey "F"> +<!ENTITY contextCopyMsgMenu.label "Cuir lethbhreac gu"> +<!ENTITY contextCopyMsgMenu.accesskey "C"> +<!ENTITY contextKillThreadMenu.label "Leig seachad an snàithlean"> +<!ENTITY contextKillSubthreadMenu.accesskey "L"> +<!ENTITY contextKillThreadMenu.accesskey "L"> +<!ENTITY contextKillSubthreadMenu.label "Leig seachad am fo-shnàithlean"> +<!ENTITY contextWatchThreadMenu.label "Cum sùil air an t-snàithlean"> +<!-- LOCALIZATION NOTE (contextWatchThreadMenu.accesskey): + In the en-US locale we ran out of access keys, so there is an empty access key for + Watch Thread. Localizers can pick a suitable key + --> +<!ENTITY contextWatchThreadMenu.accesskey ""> +<!ENTITY contextSaveAs.label "Sàbhail mar…"> +<!ENTITY contextSaveAs.accesskey "S"> +<!ENTITY contextPrint.label "Clò-bhuail…"> +<!ENTITY contextPrint.accesskey "C"> +<!ENTITY contextPrintPreview.label "Ro-shealladh clò-bhualaidh"> +<!ENTITY contextPrintPreview.accesskey "R"> + +<!-- LOCALIZATION NOTE (columnPicker.applyTo.label): + This option in the thread pane column picker pops up a sub-menu containing + the "columnPicker.applyToFolder.label" and + "columnPicker.applyToFolderAndChildren.label" options. This item indicates + a desire to apply the currently displayed set of columns to some other + folder(s). The sub-menu items indicate whether we want to apply it to just + a folder or also its children. + --> +<!ENTITY columnPicker.applyTo.label "Cuir an sàs na colbhan airson…"> +<!-- LOCALIZATION NOTE (columnPicker.applyToFolder.label): + This option in the thread pane column picker is found on a sub-menu beneath + the "columnPicker.applyTo.label" alongside + "columnPicker.applyToFolderAndChildren.label". It indicates a desire to + apply the currently display thread pane column settings to a single folder + that the user selects using the same widget as the move to/copy to + mechanism (via a series of popups). + --> +<!ENTITY columnPicker.applyToFolder.label "Pasgan…"> +<!-- LOCALIZATION NOTE (columnPicker.applyToFolderAndChildren.label): + This option in the thread pane column picker is found on a sub-menu beneath + the "columnPicker.applyTo.label" alongside + "columnPicker.applyToFolder.label". It indicates a desire to + apply the currently display thread pane column settings to a folder and all + of its descendents. The user selects the folder using the same widget as the + move to/copy to mechanism (via a series of popups). + --> +<!ENTITY columnPicker.applyToFolderAndChildren.label "Am pasgan 's a chuid cloinne…"> +<!-- LOCALIZATION NOTE (columnPicker.thisFolder.label): + This is used in the folder selection widget for the + "columnPicker.applyToFolder.label" and + "columnPicker.applyToFolderAndChildren.label" menu options. Whenever + a folder has children, it results in a menu popup; the first menu item + in that popup is given this label to indicate that that folder should be + selected. For example, if folder "A" has two children, "B" and "C", then + when the user hovers over "A", a new popup menu will be displayed whose + items are "This folder", "B", and "C". This is the equivalent of the + "File here" option for the move to/copy to widget. + --> +<!ENTITY columnPicker.thisFolder.label "Am pasgan seo"> + +<!-- Media (video/audio) controls --> +<!ENTITY contextPlay.label "Cluich"> +<!ENTITY contextPlay.accesskey "C"> +<!ENTITY contextPause.label "Cuir 'na stad"> +<!ENTITY contextPause.accesskey "C"> +<!ENTITY contextMute.label "Tostaich"> +<!ENTITY contextMute.accesskey "T"> +<!ENTITY contextUnmute.label "Till an fhuaim"> +<!ENTITY contextUnmute.accesskey "m"> + +<!-- Quick Search Bar --> +<!-- LOCALIZATION NOTE (quickSearchCmd.key): + This is actually the key used for the global message search box; we have + not changed + --> +<!ENTITY quickSearchCmd.key "k"> +<!-- LOCALIZATION NOTE (search.label.base1): + This is the base of the empty text for the global search box. We replace + #1 with the contents of the appropriate search.keyLabel.* value for the + platform. + The goal is to convey to the user that typing in the box will allow them + to search for messages globally and that there is a hotkey they can press + to get to the box faster. If the global indexer is disabled, the search + box will be collapsed and the user will never see this message. + --> +<!ENTITY search.label.base1 "Lorg #1"> +<!-- LOCALIZATION NOTE (search.keyLabel.nonmac): + The description of the key-binding to get into the global search box on + windows and linux (which use the control key). We use the key defined in + the quickSearchCmd.key entity defined above, the letter should match it. + --> +<!ENTITY search.keyLabel.nonmac "<Ctrl+K>"> +<!-- LOCALIZATION NOTE (search.keyLabel.mac): + The description of the key-binding to get into the global search box on mac + systems. We use the key defined in the quickSearchCmd.key entity defined + above, the letter should match it. + --> +<!ENTITY search.keyLabel.mac "<⌘K>"> + +<!-- Message Header Context Menu --> +<!ENTITY AddToAddressBook.label "Cuir ri leabhar nan seòladh…"> +<!ENTITY AddToAddressBook.accesskey "b"> +<!ENTITY AddDirectlyToAddressBook.label "Cuir ri leabhar nan seòladh"> +<!ENTITY AddDirectlyToAddressBook.accesskey "b"> +<!ENTITY EditContact1.label "Deasaich an neach-aithne"> +<!ENTITY EditContact1.accesskey "e"> +<!ENTITY ViewContact.label "Seall an neach-aithne"> +<!ENTITY ViewContact.accesskey "S"> +<!ENTITY SubscribeToNewsgroup.label "Fo-sgrìobh gun bhuidheann-naidheachd"> +<!ENTITY SubscribeToNewsgroup.accesskey "n"> +<!ENTITY SendMessageTo.label "Sgrìobh teachdaireachd thuige/thuice"> +<!ENTITY SendMessageTo.accesskey "S"> +<!ENTITY CopyEmailAddress.label "Dèan lethbhreac de sheòladh a' phuist-dhealain"> +<!ENTITY CopyEmailAddress.accesskey "c"> +<!ENTITY CopyNameAndEmailAddress.label "Dèan lethbhreac dhen ainm is de sheòladh a’ phuist-d"> +<!ENTITY CopyNameAndEmailAddress.accesskey "N"> +<!ENTITY CopyNewsgroupName.label "Dèan lethbhreac de dh'ainm a' bhuidhinn-naidheachd"> +<!ENTITY CopyNewsgroupName.accesskey "c"> +<!ENTITY CopyNewsgroupURL.label "Dèan lethbhreac de dh'URL a' bhuidhinn-naidheachd"> +<!ENTITY CopyNewsgroupURL.accesskey "U"> +<!ENTITY CreateFilterFrom.label "Cruthaich criathrag de…"> +<!ENTITY CreateFilterFrom.accesskey "C"> +<!ENTITY reportPhishingURL.label "Dèan aithris air fallsaidheachd-lìn"> +<!ENTITY reportPhishingURL.accesskey "D"> + +<!-- Spell checker context menu items --> +<!ENTITY spellAddDictionaries.label "Cuir faclairean ris…"> +<!ENTITY spellAddDictionaries.accesskey "a"> + +<!-- Content Pane Context Menu --> +<!ENTITY saveLinkAsCmd.label "Sàbhail an ceangal mar…"> +<!ENTITY saveLinkAsCmd.accesskey "S"> +<!ENTITY saveImageAsCmd.label "Sàbhail an dealbh mar…"> +<!ENTITY saveImageAsCmd.accesskey "S"> +<!ENTITY copyLinkCmd.label "Dèan lethbhreac de sheòladh a' cheangail"> +<!ENTITY copyLinkCmd.accesskey "c"> +<!ENTITY copyImageAllCmd.label "Dèan lethbhreac dhen dealbh"> +<!ENTITY copyImageAllCmd.accesskey "D"> +<!ENTITY copyEmailCmd.label "Dèan lethbhreac de sheòladh a' phuist-dhealain"> +<!ENTITY copyEmailCmd.accesskey "e"> +<!ENTITY stopCmd.label "Sguir dheth"> +<!ENTITY stopCmd.accesskey "S"> +<!ENTITY reloadCmd.label "Ath-luchdaich"> +<!ENTITY reloadCmd.accesskey "A"> +<!ENTITY openInBrowser.label "Fosgail sa bhrabhsair"> +<!ENTITY openInBrowser.accesskey "o"> +<!ENTITY openLinkInBrowser.label "Fosgail an ceangal sa bhrabhsair"> +<!ENTITY openLinkInBrowser.accesskey "o"> + +<!-- Statusbar --> +<!ENTITY statusText.label "Dèanta"> + +<!-- Mac OS X Window Menu --> +<!ENTITY minimizeWindow.label "Lughdaich"> +<!ENTITY minimizeWindow.key "m"> +<!ENTITY bringAllToFront.label "Gluais a h-uile gun a' bheulaibh"> +<!ENTITY zoomWindow.label "Sùm"> + +<!-- Mac OS X Application Menu (Cocoa widgets) --> +<!ENTITY preferencesCmdMac2.label "Roghainnean"> +<!ENTITY preferencesCmdMac.commandkey ","> +<!ENTITY preferencesCmdMac.modifiers "accel"> +<!ENTITY servicesMenuMac.label "Seirbheisean"> +<!ENTITY hideThisAppCmdMac.label "Cuir &brandShortName; am falach"> +<!ENTITY hideThisAppCmdMac.commandkey "H"> +<!ENTITY hideThisAppCmdMac.modifiers "accel"> +<!ENTITY hideOtherAppsCmdMac.label "Cuir càch am falach"> +<!ENTITY hideOtherAppsCmdMac.commandkey "H"> +<!ENTITY hideOtherAppsCmdMac.modifiers "accel,alt"> +<!ENTITY showAllAppsCmdMac.label "Seall na h-uile"> + +<!-- Mac OS X Dock Icon pop-up menu --> +<!ENTITY dockOptions.label "Roghainnean ìomhaigheag na h-aplacaid…"> +<!ENTITY writeNewMessageDock.label "Sgrìobh teachdaireachd ùr"> +<!ENTITY openAddressBookDock.label "Fosgail leabhar nan seòladh"> + +<!-- Content tab Navigation buttons --> +<!ENTITY browseBackButton.tooltip "Rach duilleag air ais"> +<!ENTITY browseForwardButton.tooltip "Rach duilleag air adhart"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messenger.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messenger.properties new file mode 100644 index 0000000000000000000000000000000000000000..f5fb41fbbd52bd706b94b44eca3a2d90694cace3 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messenger.properties @@ -0,0 +1,762 @@ +# 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/. + +# The following are used by the messenger application +# + +# LOCALIZATION NOTE(statusMessage): +# Do not translate the words %1$S and %2$S below. Place the word %1$S where the +# account name should appear and %2$S where the status message should appear. +# EXAMPLE: Jim's Account: Downloading messages... +statusMessage=%1$S: %2$S + +removeAccount=Sguab às cunntas… +newFolderMenuItem=Pasgan… +newSubfolderMenuItem=Fo-phasgan… +newFolder=Pasgan ùr… +newSubfolder=Fo-phasgan ùr… +markFolderRead=Cuir comharra gun deach am pasgan a leughadh;Cuir comharra gun dean na pasgain a leughadh +markNewsgroupRead=Cuir comharra gun deach am buidheann-naidheachd a leughadh;Cuir comharra gun deach na buidhnean-naidheachd a leughadh +folderProperties=Roghainnean a' phasgain +newTag=Taga ùr… +# LOCALIZATION NOTE (getNextNewsMessages): Semi-colon list of plural forms. +# #1 is the number of news messages to get. +getNextNewsMessages=Faigh an ath #1 teachdaireachd naidheachd;Faigh an ath #1 theachdaireachd naidheachd;Faigh na h-ath #1 teachdaireachdan naidheachd;Faigh na h-ath #1 teachdaireachd naidheachd +advanceNextPrompt=Air adhart dhan ath theachdaireachd gun leughadh ann an %S? +titleNewsPreHost=air +replyToSender=Freagair an seòladair +reply=Freagair +EMLFiles=Faidhlichean puist +OpenEMLFiles=Fosgail an teachdaireachd +# LOCALIZATION NOTE(defaultSaveMessageAsFileName): Do not translate ".eml" +# in the line below. Also, the complete file name should be 8.3. +defaultSaveMessageAsFileName=teachdaireachd.eml +# LOCALIZATION NOTE(longMsgSubjectTruncator): A suffix string appended to the filename +# (created from message subject) if it needed to be truncated due to length. +longMsgSubjectTruncator=... +SaveMailAs=Sàbhail an teachdaireachd mar +SaveAttachment=Sàbhail an ceanglachan +SaveAllAttachments=Sàbhail a h-uile ceanglachan +DetachAttachment=Dealaich an ceanglachan +DetachAllAttachments=Dealaich a h-uile ceanglachan +ChooseFolder=Tagh am pasgan seo +MessageLoaded=Teachdaireachd air a luchdadh… +PreviewTitle=%S - %S +saveAttachmentFailed=Cha ghabh an ceanglachan a shàbhaladh. Cuir sùil air ainm an fhaidhle 's feuch ris a-rithist an ceann tamaill. +saveMessageFailed=Cha ghabh an teachdaireachd a shàbhaladh. Cuir sùil air ainm an fhaidhle is feuch ris a-rithist an ceann tamaill. +fileExists=Tha %S ann mu thràth. A bheil thu airson a chur 'na àite? +# LOCALIZATION NOTE(failedToReadFile): %1$S is replaced by the file name, %2$S is replaced by the reason the file load failed. +failedToReadFile=Dh'fhàillig leughadh an fhaidhle: %1$S ri linn %2$S + +downloadingNewsgroups=A' luchdadh a-nuas nam buidhnean-naidheachd a chum cleachdaidh far loidhne +downloadingMail=A' luchdadh a-nuas post a chum cleachdaidh far loidhne +sendingUnsent=Cuir na teachdaireachdan nach deach an cur roimhe + +folderExists=Tha pasgan ann mu thràth air a bheil an t-ainm sin. Cuir a-steach ainm eile. +# LOCALIZATION NOTE(confirmDuplicateFolderRename): %1$S is name of folder being moved, %2$S is parent folder name, %3$S is proposed new folder name +confirmDuplicateFolderRename=Tha fo-phasgan air a bheil "%1$S" sa phasgan "%2$S" mu thràth. A bheil thu airson am pasgan seo a ghluasad, a' cleachdadh an ainm ùir "%3$S"? +folderCreationFailed=Cha b' urrainn dhuinn am pasgan a chruthachadh a chionn 's gu bheil caractair neo-aithnichte ann an ainm a' phasgain. Cuir a-steach ainm eile 's feuch ris a-rithist. + +compactingFolder=A’ dùmhlachadh a’ phasgain %S… +# LOCALIZATION NOTE(compactingDone): %1$S is the compaction gain. +compactingDone=Deiseil leis an dùmhlachadh (chaidh mu %1$S a chaomhnadh). + +confirmFolderDeletionForFilter=Ma sguabas tu às am pasgan '%S', cuiridh seo à comas na criathragan a tha co-cheangailte ris. A bheil thu cinntach gu bheil thu airson am pasgan a sguabadh às? +alertFilterChanged=Thèid na criathragan a tha co-cheangailte ris a' phasgan seo ùrachadh. +filterDisabled=Cha deach am pasgan '%S' a lorg is mar sin, thèid na criathragan a tha co-cheangailte ris a' phasgan seo a chur à comas. Dèan cinnteach gu bheil am pasgan ann 's gu bheil na criathragan ag amas air pasgan-amais dligheach. +filterFolderDeniedLocked=Cha b' urrainn dhuinn na teachdaireachdan a chriathradh dhan phasgan '%S' a chionn 's gu bheil gnìomh eile 'ga dhèanamh. +parsingFolderFailed=Cha ghabh am pasgan %S fhosgladh a chionn 's gu bheil e 'ga chleachdadh le gnìomh eile. Fuirich gus an dig an gnìomh sin gu crìoch is tagh am pasgan a-rithist an uairsin. +deletingMsgsFailed=Cha ghabh na teachdaireachdan sa phasgan %S a sguabadh às a chionn 's gu bheil e 'ga chleachdadh le gnìomh eile. Fuirich gus an dig an gnìomh sin gu crìoch is feuch ris a-rithist. +alertFilterCheckbox=Na thoir rabhadh dhomh a-rithist. +compactFolderDeniedLock=Cha ghabh am pasgan "%S" a dhùmhlachadh a chionn 's gu bheil gnìomh eile 'ga dhèanamh. Feuch ris a-rithist an ceann tamaill. +compactFolderWriteFailed=Cha b' urrainn dhuinn am pasgan '%S' a dhùmhlachadh a chionn 's gun do dh'fhàillig sgrìobhadh dhan phasgan sin. Dèan cinnteach gu bheil àite gu leòr agad air an diosga 's gu bheil cead-sgrìobhaidh agad ann an siostam nam faidhlichean is feuch ris a-rithist. +compactFolderInsufficientSpace=Bha cuid a phasganan ann (m.e. "%S" nach b' urrainn dhuinn dùmhlachadh a chionn 's nach robh àite gu leòr air an diosg. Sguab às cuid a dh'fhaidhlichean is feuch ris a-rithist. +filterFolderHdrAddFailed=Cha b' urrainn dhuinn na teachdaireachdan a chriathradh dha "%S" a chionn 's gun do dh'fhàillig teachdaireachd air an t-slighe ann. Dèan cinnteach gu bheil am pasgan ag obair mar bu chòir no feuch is càraich e slighe roghainnean a' phasgain. +filterFolderWriteFailed=Cha b' urrainn dhuinn na teachdaireachdan a chriathradh dhan phasgan '%S' a chionn 's gun do dh'fhàillig sgrìobhadh dhan phasgan. Dèan cinnteach gu bheil àite gu leòr agad air an diosga 's gu bheil cead-sgrìobhaidh agad ann an siostam nam faidhlichean agus feuch ris a-rithist. +copyMsgWriteFailed=Cha b' urrainn dhuinn na teachdaireachdan a gluasad no lethbhreac dhiubh a chur dhan phasgan '%S' a chionn 's gun do dh'fhàillig sgrìobhadh dhan phasgan. Gus àite a shaoradh air an diosga, rach dhan chlàr-taice "Faidhle' is tagh "Falamhaich an sgudal" is tagh "Dùmhlaich pasgain" an uairsin is feuch ris a-rithist. +cantMoveMsgWOBodyOffline=Chan urrainn dhut teachdaireachdan a ghluasad no lethbhreac dhiubh a dhèanamh fhad 's a bhios tu ag obair far loidhne mura deach an luchdadh a-nuas a chum cleachdaidh far loidhne. Rach dhan uinneag "Post, fosgail an clàr-taice "Faidhle", tagh "Far loidhne" is thoir air falbh a' chromag o "Obraich far loidhne" 's feuch ris a-rithist an uairsin. +operationFailedFolderBusy=Dh'fhàillig an gnìomh a chionn 's gu bheil gnìomh eile a' cleachdadh a' phasgain. Fuirich gus an dig an gnìomh sin gu crìoch is feuch ris a-rithist an uairsin. +folderRenameFailed=Cha b' urrainn dhuinn ainm ùr a chur air a' phasgan. 'S mathaid gu bheil am pasgan 'ga ath-pharsadh no gu bheil an t-ainm ùr 'na ainm dligheach airson pasgan. +# LOCALIZATION NOTE(verboseFolderFormat): %1$S is folder name, %2$S is server name +verboseFolderFormat=%1$S air %2$S +# LOCALIZATION NOTE(filterFolderTruncateFailed): %1$S is replaced by the folder name, %2$S is replaced by the brandShortName +filterFolderTruncateFailed=Bha mearachd ann le bhith a' dèanamh am bogsa a-steach buntach às dèidh do chriathradh de theachdaireachd dhan phasgan '%1$S'. Dh'fhaodadh gu bheil agad %2$S a dhùnadh agus INBOX.msf a sguabadh às. + +mailboxTooLarge=Tha am pasgan %S làn is chan urrainn dhut barrachd theachdaireachdan a chur ann. Gus àite a shaoradh airson barrachd theachdaireachdan, sguab às seann phost no post air nach eil feum tuilleadh is dùmhlaich am pasgan. +outOfDiskSpace=Chan eil àite gu leòr air an diosg gus na teachdaireachdan ùra a luchdadh a-nuas. Feuch is sguab às cuid dhe na seann teachdaireachdan agad, falamhaich pasgan an sgudail is dùmhlaich na pasgain puist agad is feuch ris a-rithist an uairsin. +errorGettingDB=Cha ghabh am faidhle gearr-chunntais airson %S fhosgladh. Dh'fhaodadh gun robh mearachd air an diosga no gu bheil an t-slighe iomlan ro fhada. +defaultServerTag=(Bunaiteach) + +# Used in message database list view to provide a text value for graphic based cells. +messageUnread=Gun leughadh +messageHasFlag=Le rionnag ris +messageHasAttachment=Ceanglachan ris +messageJunk=Truilleis +messageExpanded=Air a leudachadh +messageCollapsed=Air a cho-theannachadh + +# Used in the SMTP Account Settings panel when a server value has no properties +smtpServerList-NotSpecified=<gun sònrachadh> +smtpServer-ConnectionSecurityType-0=Chan eil gin +smtpServer-ConnectionSecurityType-1=STARTTLS, ma bhios e ri fhaighinn +smtpServer-ConnectionSecurityType-2=STARTTLS +smtpServer-ConnectionSecurityType-3=SSL/TLS +smtpServers-confirmServerDeletionTitle=Sguab às am frithealaiche +smtpServers-confirmServerDeletion=A bheil thu cinnteach gu bheil thu airson am frithealaiche seo a sguabadh às: \n %S? + +# Account Settings - Both Incoming and SMTP server +authNo=Gun dearbhachadh +authOld=Facal-faire, an dòigh thùsail (neo-thèarainte) +authPasswordCleartextInsecurely=Facal-faire, 'ga thar-aiseag gun tèarainteachd +authPasswordCleartextViaSSL=Facal-faire àbhaisteach +authPasswordEncrypted=Facal-faire air a chrioptachadh +authKerberos=Kerberos / GSSAPI +authExternal=Teisteanas TLS +authNTLM=NTLM +authOAuth2=OAuth2 +authAnySecure=Dòigh thèarainte sam bith (cha mholamaid seo) +authAny=Dòigh sam bith (neo-thèarainte) + +# OAuth2 window title +# LOCALIZATION NOTE(oauth2WindowTitle): +# %1$S is the username (or full email address) used for authentication. +# %2$S is the hostname of the account being authenticated. +oauth2WindowTitle=Cuir a-steach an t-ainm is facal-faire airson %1$S air %2$S + +# LOCALIZATION NOTE(serverType-nntp): Do not translate "NNTP" in the line below +serverType-nntp=Frithealaiche nan naidheachdan (NNTP) +# LOCALIZATION NOTE(serverType-pop3): Do not translate "POP" in the line below +serverType-pop3=Frithealaiche puist POP +# LOCALIZATION NOTE(serverType-imap): Do not translate "IMAP" in the line below +serverType-imap=Frithealaiche puist IMAP +serverType-none=Stòras puist ionadail + +sizeColumnTooltip2=Seòrsaich a-rèir meud +sizeColumnHeader=Meud +linesColumnTooltip2=Seòrsaich a-rèir loidhne +linesColumnHeader=Loidhnichean + +# LOCALIZATION NOTE (getMsgButtonTooltip): Do not translate the word "%S" below. +# Place the word "%S" in your translation where the name of the comma separated accounts should appear. +getMsgButtonTooltip=Faigh teachdaireachdan ùra a’ chunntais “%S” +# Used to separate email addresses in a list. Note the trailing space ', ' +getMsgButtonTooltip.listSeparator=,\u0020 + +# status feedback stuff +documentDone= +documentLoading=A' luchdadh na teachdaireachd… + +# LOCALIZATION NOTE (autosyncProgress): Do not translate the word "%1$S" or "%2$S" below. +# Place the word %1$S in your translation where the name of the comma separated folders should appear. +# Place the word %2$S in your translation where the name of the comma separated accounts should appear. +autosyncProgress=A' sioncronachadh nan teachdaireachdan ann an %1$S o %2$S… + +unreadMsgStatus=Gun leughadh: %S +selectedMsgStatus=Air a thaghadh: %S +totalMsgStatus=Gu h-iomlan: %S + +# localized folder names + +localFolders=Pasgain ionadail + +# LOCALIZATION NOTE (inboxFolderName): OK to translate all foldernames, bugzilla #57440 & bugzilla #23625 fixed +inboxFolderName=Am bogsa a-steach +trashFolderName=An sgudal +sentFolderName=Am post cuirte +draftsFolderName=Dreachdan +templatesFolderName=Teamplaidean +outboxFolderName=Am bogsa a-mach +junkFolderName=Truilleis +archivesFolderName=Tasg-lannan + +# "Normal" priority is often blank, +# depending on the consumers of these strings +priorityLowest=As ìsle +priorityLow=Ìseal +priorityNormal=Àbhaisteach +priorityHigh=Àrd +priorityHighest=As àirde + +#Group by date thread pane titles +today=An-diugh +yesterday=An-dè +lastWeek=An t-seachdain seo chaidh +last7Days=Na 7 làithean seo chaidh +twoWeeksAgo=Dà sheachdain air ais +last14Days=An cola-deug seo chaidh +older=Seann-phost +futureDate=San àm ri teachd + +#Grouped By Tags +untaggedMessages=Teachdaireachdan gun taga + +# Grouped by status +messagesWithNoStatus=Gun chor + +#Grouped by priority +noPriority=Gun phrìomhachas + +#Grouped by has attachments +noAttachments=Gun cheanglachan +attachments=Ceanglachain + +#Grouped by starred +notFlagged=Gun rionnag +groupFlagged=Le rionnag ris + +# defaults descriptions for tag prefs listed in mailnews.js +# (we keep the .labels. names for backwards compatibility) +mailnews.tags.remove=Thoir air falbh a h-uile taga +mailnews.labels.description.1=Cudromach +mailnews.labels.description.2=Obair +mailnews.labels.description.3=Pearsanta +mailnews.labels.description.4=Ri dhèanamh +mailnews.labels.description.5=An ceann tamaill + +# Format definition tag menu texts. +# This is necessary in order to get the accesskeys to be the on the first +# character of the menu text instead of after the menu text. +# If a key definition exists for the tag at index n, that key's key will be +# taken as the accesskey, eg. +# <key id="key_tag3" key="&tagCmd3.key;" oncommand="ToggleMessageTagKey(3);"/> +# makes the third tag have the accesskey &tagCmd3.key;. +# In the menuitem's label, this accesskey appears at %1$S below; %2$S will be +# replaced by the tag label. +mailnews.tags.format=%1$S %2$S + +replied=Air freagairt ris +forwarded=Air a shìneadh air adhart +redirected=Air ath-stiùireadh +new=Ùr +read=Air a leughadh +flagged=Le rionnag ris + +# for junk status picker in search and mail views +junk=Truilleis + +# for junk score origin picker in search and mail views +junkScoreOriginPlugin=Plugan +junkScoreOriginFilter=Criathrag +junkScoreOriginWhitelist=A' gheal-liosta +junkScoreOriginUser=Cleachdaiche +junkScoreOriginImapFlag=Bratach IMAP + +# for the has attachment picker in search and mail views +hasAttachments=Tha ceanglachain ris + +# for the Tag picker in search and mail views. +tag=Tagaichean + +# LOCALIZATION NOTE(andOthers): +# for multiple authors, add this abbreviation to the first author to indicate +# there are more; for the From column in the threadpane message list. +andOthers=et al. + +# whether to also show phonetic fields in the addressbook +# LOCALIZATION NOTE(mail.addr_book.show_phonetic_fields): +# the only valid values are: true OR false (choose from the untranslated English words) +mail.addr_book.show_phonetic_fields=false + +# valid format options are: +# 1: yyyy/mm/dd +# 2: yyyy/dd/mm +# 3: mm/dd/yyyy +# 4: mm/yyyy/dd +# 5: dd/mm/yyyy +# 6: dd/yyyy/mm +# +# 0: auto-detect the current locale format +# a separator has to be either '/', '-', '.' and the year in Christian year +# otherwise mm/dd/yyyy (option 3) is used +# +mailnews.search_date_format=0 +# separator for search date (e.g. "/", "-"), or empty when search_date_format is zero +mailnews.search_date_separator= +# leading zeros for day and month values, not used if mailnews.search_date_format is not zero +mailnews.search_date_leading_zeros=true + +# offline msg +nocachedbodybody2=Cha deach bodhaig na teachdaireachd seo a luchdadh a-nuas on fhrithealaiche a chum leughaidh far loidhne. Feumaidh tu ceangal ris an lìonra mus urrainn dhut an teachdaireachd seo a leughadh. Rach dhan chlàr-taice “Faidhle” ’s tagh “Far loidhne” ’s thoir air falbh a’ chromag o “Obraich far loidhne” an uairsin. ’S urrainn dhut roghnadh dè na teachdaireachdan no pasgain as urrainn dhut leughadh far loidhne a-mach o seo. Gus seo a dhèanamh, rach dhan chlàr-taice “Faidhle” ’s tagh “Far loidhne” ’s tagh “Luchdaich a-nuas/Sioncronaich” an uairsin. ’S urrainn dhut bacadh a chur air teachdaireachdan mòra leis an roghainn “Àite air an diosga”. + +# LOCALIZATION NOTE(acctCentralTitleFormat): %1$S is brand, %2$S is account type, %3$S is account name +acctCentralTitleFormat=%1$S %2$S - %3$S +mailAcctType=Post +newsAcctType=Naidheachdan +feedsAcctType=Inbhirean + +# LOCALIZATION NOTE(nocachedbodytitle): Do not translate "<TITLE>" or "</TITLE>" in the line below +nocachedbodytitle=<TITLE>Rach air loidhne gus an teachdaireachd seo fhaicinn</TITLE>\n + +# mailWindowOverlay.js +confirmUnsubscribeTitle=Dearbh gu bheil thu airson crìoch a chur air an fho-sgrìobhadh +confirmUnsubscribeText=A bheil thu cinnteach gu bheil thu airson crìoch a chur air an fho-sgrìobhadh gu %S? +confirmUnsubscribeManyText=A bheil thu cinnteach gu bheil thu airson crìoch a chur air an fho-sgrìobhadh gu na buidhnean-naidheachd seo? +restoreAllTabs=Aisig a h-uile taba + +confirmMarkAllFoldersReadTitle=Cuir comharra gun deach a h-uile pasgan a leughadh +confirmMarkAllFoldersReadMessage=A bheil thu cinnteach gu bheil thu airson comharra a chur gun deach gach teachdaireachd anns gach pasgan dhen chunntas seo a leughadh? + +# LOCALIZATION NOTE(junkBarMessage): %S is brand +junkBarMessage=Tha %S dhen bheachd gur e truilleis a tha san teachdaireachd seo. +junkBarButton=Post còir +junkBarButtonKey=P +junkBarInfoButton=Barrachd fiosrachaidh +junkBarInfoButtonKey=B + +# LOCALIZATION NOTE(remoteContentBarMessage): %S is brand +remoteContentBarMessage=Chuir %S bacadh air susbaint chèin san teachdaireachd seo gus do phrìobhaideachd a dhìon. +remoteContentPrefLabel=Roghainnean +remoteContentPrefAccesskey=R +remoteContentPrefLabelUnix=Roghainnean +remoteContentPrefAccesskeyUnix=R + +# LOCALIZATION NOTE(remoteAllowResource): %S is origin +remoteAllowResource=Ceadaich susbaint chèin o %S +# LOCALIZATION NOTE(remoteAllowAll): Semi-colon list of plural forms. +# See: https://developer.mozilla.org/en/Localization_and_Plurals +# #1 is the number of origins +remoteAllowAll=Ceadaich susbaint chèin on na tùsan gu h‑àrd (#1);Ceadaich susbaint chèin on na tùsan gu h‑àrd (#1);Ceadaich susbaint chèin on na tùsan gu h‑àrd (#1);Ceadaich susbaint chèin on na tùsan gu h‑àrd (#1) + +phishingBarMessage=Dh'fhaodadh gu bheil an teachdaireachd seo 'na fhallsaicheachd-lìn. +phishingBarPrefLabel=Roghainnean +phishingBarPrefAccesskey=R +phishingBarPrefLabelUnix=Roghainnean +phishingBarPrefAccesskeyUnix=R + +mdnBarIgnoreButton=Leig seachad an t-iarrtas +mdnBarIgnoreButtonKey=n +mdnBarSendReqButton=Cuir cuidhteas +mdnBarSendReqButtonKey=C + +draftMessageMsg=Seo dreachd teachdaireachd. +draftMessageButton=Deasaich +draftMessageButtonKey=D + +# msgHdrViewOverlay.js +openLabel=Fosgail +openLabelAccesskey=o +saveLabel=Sàbhail mar… +saveLabelAccesskey=a +detachLabel=Dealaich… +detachLabelAccesskey=D +deleteLabel=Sguab às +deleteLabelAccesskey=S +openFolderLabel=Fosgail am pasgan far a bheil e +openFolderLabelAccesskey=F +deleteAttachments=Thèid na ceanglachain a leanas a sguabadh às on teachdaireachd seo:\n%S\nChan urrainn dhut seo a neo-dhèanamh. A bheil thu airson leantainn air adhart? +detachAttachments=Chaidh na ceanglachain a leanas a shàbhaladh 's thèid an sguabadh às gu buan on teachdaireachd seo a-nis:\n%S\nChan urrainn dhut seo a neo-dhèanamh. A bheil thu airson leantainn air adhart? +deleteAttachmentFailure=Dh'fhàillig sguabadh às nan ceanglachan a thagh thu. +emptyAttachment=Tha coltas gu bheil an ceanglachan a leanas falamh.\nBidh cachaileithean-teine aig companaidhean no prògraman\nana-bhìorais a' dubhadh às ceanglachain gu tric. +externalAttachmentNotFound=Cha deach am faidhle dealaichte no ceanglachan ceangail a lorg no chan eil e ri fhaighinn aig an ionad seo tuilleadh. + +# LOCALIZATION NOTE (attachmentCount): Semi-colon list of plural forms. +# See: https://developer.mozilla.org/en/Localization_and_Plurals +# #1 number of attachments +attachmentCount=#1 cheanglachan;#1 cheanglachan;#1 ceanglachain;#1 ceanglachan + +# LOCALIZATION NOTE (attachmentCountSingle): This is the format for the +# attachment header when a message has only one attachment. This is separate +# from attachmentCount above, since attachmentCountSingle typically ends with a +# colon. +attachmentCountSingle=1 cheanglachan: + +# LOCALIZATION NOTE (attachmentSizeUnknown): The string to show for the total +# size of all attachments when none of the attachments' sizes can be detected. +attachmentSizeUnknown=meud neo-aithnichte + +# LOCALIZATION NOTE (attachmentSizeAtLeast): The string to show for the total +# size of all attachments when at least one (but not all) of the attachments' +# sizes can't be detected. %1$S is the formatted size. +attachmentSizeAtLeast=%1$S air a' char as lugha + +# This is the format for prepending accesskeys to the +# each of the attachments in the file|attachments menu: +# ie: 1 file.txt +# 2 another file.txt +attachmentDisplayNameFormat=%S %S + +# This is the heading for the attachment summary when printing an email +attachmentsPrintHeader=Ceanglachain: + +# Connection Error Messages +# LOCALIZATION NOTE(unknownHostError): %S is the server name +unknownHostError=Dh'fhàillig an ceangal ris an fhrithealaiche %S. +# LOCALIZATION NOTE(connectionRefusedError): %S is the server name +connectionRefusedError=Cha b' urrainn dhuinn ceangal ris an fhrithealaiche %S a stèidheachadh; chaidh an ceangal a dhiùltadh. +# LOCALIZATION NOTE(netTimeoutError): %S is the server name +netTimeoutError=Dh'fhalbh an ùine air a' cheangal ris an fhrithealaiche %S. +# LOCALIZATION NOTE(netResetError): %S is the server name +netResetError=Chaidh an ceangal ris an fhrithealaiche %S ath-shuidheachadh. +# LOCALIZATION NOTE(netInterruptError): %S is the server name +netInterruptError=Chaidh an ceangal ris an fhrithealaiche %S a bhriseadh. + +recipientSearchCriteria=Na leanas sa chuspair no san fhaightear: +fromSearchCriteria=Na leanas sa chuspair no san t-seòladair: + +# LOCALIZATION NOTE(biffNotification): %1$S is the number of new messages +biffNotification_message=le %1$S teachdaireachd ùr air +biffNotification_messages=le %1$S teachdaireachd(an) ùr(a) air + +# LOCALIZATION NOTE(newMailNotification_message): %1$S is the name of the account %2$S is the number of new messages +newMailNotification_message=Fhuair %1$S %2$S teachdaireachd ùr + +# LOCALIZATION NOTE(newMailNotification_messages): %1$S is the name of the account %2$S is the number of new messages +newMailNotification_messages=Fhuair thu teachdaireachdan ùra (%2$S) sa chunntas %1$S + +# LOCALIZATION NOTE(newMailNotification_messagetitle): %1$S is subject of new message and %2$S is sender of new message. +# This is UNIX only +newMailNotification_messagetitle=%1$S o %2$S + +# LOCALIZATION NOTE(newMailAlert_message): +# Semi-colon list of plural forms. See: +# https://developer.mozilla.org/en/docs/Localization_and_Plurals +# #1 is the name of the account, #2 is the number of new messages +newMailAlert_message=Fhuair thu #2 teachdaireachd ùr sa chunntas #1;Fhuair thu #2 theachdaireachd ùr sa chunntas #1;Fhuair thu #2 teachdaireachdan ùra sa chunntas #1;Fhuair thu #2 teachdaireachd ùr sa chunntas #1 + +# For the Quota tab in the mail folder properties dialog +quotaPercentUsed=%S%% làn +# for quota in main window (commandglue.js) +percent=%S%% +quotaTooltip2=Cuota IMAP: %S de %S ’ga chleachdadh gu h-iomlan. Briog an-seo airson mion-fhiosrachadh. + +# for message views +confirmViewDeleteTitle=Dearbh +confirmViewDeleteMessage=A bheil thu cinnteach gu bheil thu airson an sealladh seo a sguabadh às? + +# for virtual folders +confirmSavedSearchTitle=Dearbh an sguabadh às +confirmSavedSearchDeleteMessage=A bheil thu cinnteach gu bheil thu airson an lorg seo a chaidh a shàbhaladh a sguabadh às? + +## @name ENTER_PASSWORD_PROMPT +## @loc None +# LOCALIZATION NOTE (passwordPrompt): Do not translate the word %S below. +# Place the word "%S" in your translation where the email address +# or the username should appear +passwordPrompt=Cuir a-steach am facal-faire agad airson %1$S air %2$S: + +## @name ENTER_PASSWORD_PROMPT_TITLE +## @loc None +passwordTitle=Feum air facal-faire airson an fhrithealaiche phuist + +# for checking if the user really wants to open lots of messages in separate windows. +openWindowWarningTitle=Dearbh +# LOCALIZATION NOTE (openWindowWarningConfirmation): Semi-colon list of plural forms. +# #1 is the number of messages the user is attempting to open. +openWindowWarningConfirmation=Dh'fhaodadh gum biodh e slaodadh #1 teachdaireachd fhosgladh. A bheil tu airson leantainn air adhart?;Dh'fhaodadh gum biodh e slaodadh #1 theachdaireachd fhosgladh. A bheil tu airson leantainn air adhart?;Dh'fhaodadh gum biodh e slaodadh #1 teachdaireachdan fhosgladh. A bheil tu airson leantainn air adhart?;Dh'fhaodadh gum biodh e slaodadh #1 teachdaireachd fhosgladh. A bheil tu airson leantainn air adhart? + +# for checking if the user really wants to open lots of messages in tabs. +openTabWarningTitle=Dearbh +# LOCALIZATION NOTE (openTabWarningConfirmation): Semi-colon list of plural forms. +# #1 is the number of messages the user is attempting to open. +openTabWarningConfirmation=Faodaidh gum bi e slaodadh ma dh'fhosglas tu #1 teachdaireachd. A bheil thu airson leantainn air adhart?;Faodaidh gum bi e slaodadh ma dh'fhosglas tu #1 theachdaireachd. A bheil thu airson leantainn air adhart?;Faodaidh gum bi e slaodadh ma dh'fhosglas tu #1 teachdaireachdan. A bheil thu airson leantainn air adhart?;Faodaidh gum bi e slaodadh ma dh'fhosglas tu #1 teachdaireachd. A bheil thu airson leantainn air adhart? + +# for warning the user that a tag they're trying to create already exists +tagExists=Tha taga ann mu thràth air a bheil an t-ainm seo. + +# title of the edit tag dialog +editTagTitle=Deasaich an taga + +# for the virtual folder list dialog title +# %S is the name of the saved search folder +editVirtualFolderPropertiesTitle=Deasaich roghainnean an luirg a chaidh a shàbhaladh airson %S +# LOCALIZATION NOTE (foldersChosen): #1 number of chosen folders +virtualFolderSourcesChosen=Chaidh #1 phasgan a thaghadh;Chaidh #1 phasgan a thaghadh;Chaidh #1 pasganan a thaghadh;Chaidh #1 pasgan a thaghadh + +#alert to inform the user to choose one or more folders to search for a saved search folder +alertNoSearchFoldersSelected=Feumaidh tu aon phasgan a thaghadh a tha ri rannsachadh air a' char as lugha airson a' phasgain luirg a chaidh a shàbhaladh. + +# These are displayed in the message and folder pane windows +# LOCALIZATION NOTE %.*f is the abbreviated size in the appropriate units +byteAbbreviation2=%.*f byte +kiloByteAbbreviation2=%.*f KB +megaByteAbbreviation2=%.*f MB +gigaByteAbbreviation2=%.*f GB +teraByteAbbreviation2=%.*f TB +petaByteAbbreviation2=%.*f PB + +## LOCALIZATION NOTE(folderWithAccount): +## This is used to show folder name together with an account name. +## %1$S = folder name +## %2$S = account name +folderWithAccount=%1$S - %2$S +## LOCALIZATION NOTE(folderWithUnreadMsgs): +## This is a concatenation of two strings to compose a folder label with unread messages. +## %1$S = folder name +## %2$S = count of unread messages +folderWithUnreadMsgs=%1$S (%2$S) +## LOCALIZATION NOTE(summarizedValue): +## This string shows an indication that the value shown is actually a summary +## accumulated from all subfolders. +## %S = summarized value from all subfolders +folderSummarizedSymbolValue=▾%S +## LOCALIZATION NOTE(subfoldersExplanation): +## This is a tooltip message shown on the values in the numeric folder pane columns. +## %1$S = is the count of messages having the respective property, found in the folder under mouse cursor +## %2$S = is the count of messages having the respective property, found in subfolders of the folder under mouse cursor +subfoldersExplanation=%1$S sa phasgan seo, %2$S ann am fo‑phasganan + +# Error message if message for a message id wasn't found +errorOpenMessageForMessageIdTitle=Mearachd le fosgladh dearbh-aithne na teachdaireachd +errorOpenMessageForMessageIdMessage=Cha deach teachdaireachd leis an dearbh-aithne %S a lorg + +# Warnings to alert users about phishing urls +confirmPhishingTitle=Caismeachd fallsaidheachd puist-dhealain +linkMismatchTitle=Mhothaicheadh do cheanglaichean nach eil a’ freagairt ri chèile +#LOCALIZATION NOTE %1$S is the brand name, %2$S is the host name of the url being visited +confirmPhishingUrl=Saoilidh %1$S gu bheil seo 'na fhallsaidheachd puist-dhealain. Dh'fhaodadh gu bheil an ceangal san teachdaireachd a' gabhail air gu bheil e 'na làrach-lìn a bu toigh leat tadhal air. A bheil thu cinnteach gu bheil thu airson tadhal air %2$S? +#LOCALIZATION NOTE %1$S is the host name of indicated host, %2$S is the host name of the actual host. +confirmPhishingUrlAlternate=Tha coltas gu bheil an ceangal air an do bhriog thu a’ dol gu làrach eile seach na tha teacsa a’ cheangail a’ leigeil air. Nithear seo airson tracadh an do bhriogar air ceangal uaireannan ach dh’fhaoidte gur e foill a tha ann cuideachd.\n\nTha teacsa a’ cheangail a’ leigeil air gu bheil e a’ dol gu %1$S ach ’s ann gu %2$S a tha e a’ dol. +#LOCALIZATION NOTE $1$S is the host name of the indicated host. +confirmPhishingGoAhead=Tadhail air %1$S co-dhiù +#LOCALIZATION NOTE %1$S is the host name that was displayed to the user. +confirmPhishingGoDirect=Tadhail air %1$S + +# Check for Updates +# LOCALIZATION NOTE (updatesItem_*): these are alternative labels for Check for Update item in Help menu. +# Which one is used depends on Update process state. +updatesItem_default=Lorg ùrachaidhean… +updatesItem_defaultFallback=Lorg ùrachaidhean… +updatesItem_default.accesskey=C +updatesItem_downloading=A' luchdadh a-nuas %S… +updatesItem_downloadingFallback=A' luchdadh a-nuas ùrachadh… +updatesItem_downloading.accesskey=d +updatesItem_resume=Lean ort le luchdadh a-nuas %S… +updatesItem_resumeFallback=Lean ort le luchdadh a-nuas an ùrachaidh… +updatesItem_resume.accesskey=d +updatesItem_pending=Cuir an t-ùrachadh a chaidh a luchdadh a-nuas an sàs an-dràsta… +updatesItem_pendingFallback=Cuir an t-ùrachadh a chaidh a luchdadh a-nuas an sàs an-dràsta… +updatesItem_pending.accesskey=d + +# Folder Pane Header Title Strings +folderPaneModeHeader_all=A h-uile pasgan +folderPaneModeHeader_unread=Pasgain gun leughadh +folderPaneModeHeader_favorite=Na pasgain as fhearr leat +folderPaneModeHeader_recent=Pasgain a chleachd thu o chionn goirid +folderPaneModeHeader_smart=Pasgain aonaichte +unifiedAccountName=Pasgain aonaichte + +# Copy / Move to Folder Again +#LOCALIZATION NOTE %1$S is the name of the folder we will move to. moveToFolderAgainAccessKey +# should have the same value as copyToFolderAgainAccessKey as they are the same menu item in the UI +# moveToFolderAgainAccessKey should also be a letter that occurs before %1$S +moveToFolderAgain=Gluais gu "%1$S" a-rithist +moveToFolderAgainAccessKey=t +#LOCALIZATION NOTE %1$S is the name of the folder we will copy to +# copyToFolderAgainAccessKey +# should have the same value as moveToFolderAgainAccessKey as they are the same menu item in the UI +# copyToFolderAgainAccessKey should also be a letter that occurs before %1$S +copyToFolderAgain=Cuir lethbhreac dheth gu "%1$S" a-rithist +copyToFolderAgainAccessKey=t + +#LOCALIZATION NOTE(mdnBarMessageNormal) %1$S is the name of the sender +mdnBarMessageNormal=Dh'iarr %1$S gum faigh iad brath nuair a thòisicheas tu air an teachdaireachd seo a leughadh. +#LOCALIZATION NOTE(mdnBarMessageAddressDiffers) %1$S is the name of the sender, %2$S is the address(es) to send return receipt to +mdnBarMessageAddressDiffers=Dh'iarr %1$S gum faigh iad brath (gu %2$S) nuair a thòisicheas tu air an teachdaireachd seo a leughadh. + +# mailCommands.js +emptyJunkFolderTitle=Falamhaich "%S" +emptyJunkFolderMessage=A bheil thu airson gach teachdaireachd is fo-phasgan ann am pasgan na truilleis a sguabadh às? +emptyJunkDontAsk=Na faighnich dhìom a-rithist. +emptyTrashFolderTitle=Falamhaich "%S" +emptyTrashFolderMessage=A bheil thu airson gach teachdaireachd is fo-phasgan ann am pasgan an sgudail a sguabadh às? +emptyTrashDontAsk=Na faighnich dhìom a-rithist. + +# junkCommands.js +junkAnalysisPercentComplete=%S deiseil le mion-sgrùdadh na truilleis +processingJunkMessages=a' pròiseasadh nan teachdaireachdan truilleis + +# Messenger bootstrapping messages +fileNotFoundTitle = Cha deach am faidhle a lorg +#LOCALIZATION NOTE(fileNotFoundMsg): %S is the filename +fileNotFoundMsg = Chan eil am faidhle %S ann. + +fileEmptyTitle = Faidhle falamh +#LOCALIZATION NOTE(fileEmptyMsg): %S is the filename +fileEmptyMsg = Tha am faidhle %S falamh. + +# LOCALIZATION NOTE (headerMoreAddrs): semicolon separated list of plural +# forms of the word "more" as used after the number of addresses +# currently hidden while displaying a header such as "to", "cc", or "bcc" +# in the message header box. English has two identical forms here, so it will +# construct strings that look like (for example) "1 more" or "20 more". +# <https://developer.mozilla.org/en/Localization_and_Plurals> has details +# on this mechanism. +headerMoreAddrs=#1 eile;#1 eile;#1 eile;#1 eile + +# LOCALIZATION NOTE (headerMoreAddrsTooltip): semicolon separated list of +# plural forms of the phrase ", and #1 more" as used in the tooltip text +# of the more widget displayed in the header pane (see headerMoreAddrs). +# English has two identical forms here, so it will construct strings that +# look like (for example) ", and 1 more" or ", and 20 more". +# <https://developer.mozilla.org/en/Localization_and_Plurals> has details +# on this mechanism. +headerMoreAddrsTooltip=agus #1 a bharrachd; agus #1 a bharrachd; agus #1 a bharrachd; agus #1 a bharrachd + +# LOCALIZATION NOTE (headertoFieldMe): first person prepositional object +# pronoun used in the "to" header of the message header pane. This is also +# used for the fallback case if a header-specific localization is not +# available. +headertoFieldMe=Thugam + +# LOCALIZATION NOTE (headerfromFieldMe): first person prepositional object +# pronoun used in the "from" header of the message header pane. +headerfromFieldMe=Thugam + +# LOCALIZATION NOTE (headerreply-toFieldMe): first person prepositional +# object pronoun used in the "reply-to" header of the message header pane. +headerreply-toFieldMe=Thugam + +# LOCALIZATION NOTE (headerccFieldMe): first person prepositional object +# pronoun used in the "cc" header of the message header pane. +headerccFieldMe=Thugam + +# LOCALIZATION NOTE (headerbccFieldMe): first person prepositional object +# pronoun used in the "bcc" header of the message header pane. +headerbccFieldMe=Thugam + +expandAttachmentPaneTooltip=Seall leòsan nan ceanglachan +collapseAttachmentPaneTooltip=Falaich leòsan nan ceanglachan + +# Shown when content tabs are being loaded. +loadingTab='Ga luchdadh… + +confirmMsgDelete.title=Dearbh a sguabadh às +confirmMsgDelete.collapsed.desc=Sguabaidh seo às na teachdaireachdan anns na snàithean co-theannaichte. A bheil thu cinnteach gu bheil thu airson leantainn air adhart? +confirmMsgDelete.deleteNoTrash.desc=Sguabaidh seo às na teachdaireachdan sa bhad gun a bhith 'gan cur san sgudal. A bheil thu cinnteach gu bheil thu airson leantainn air adhart? +confirmMsgDelete.deleteFromTrash.desc=Sguabaidh seo às na teachdaireachdan san sgudal gu buan. A bheil thu cinnteach gu bheil thu airson leantainn air adhart? +confirmMsgDelete.dontAsk.label=Na faighnich dhìomh a-rithist. +confirmMsgDelete.delete.label=Sguab às + +mailServerLoginFailedTitle=Dh'fhàillig an logadh a-steach +# LOCALIZATION NOTE (mailServerLoginFailedTitleWithAccount): +# "%S" is the account name. +mailServerLoginFailedTitleWithAccount=Dh’fhàillig an clàradh a-steach gu “%S” +# LOCALIZATION NOTE (mailServerLoginFailed2): +# %1$S is the host name of the server, %2$S is the user name. +mailServerLoginFailed2=Dh’fhàillig clàradh a-steach dhan fhrithealaiche %1$S leis an ainm-chleachdaiche %2$S. +mailServerLoginFailedRetryButton=Feuch ris a-&rithist +mailServerLoginFailedEnterNewPasswordButton=Cuir a-st&each facal-faire ùr + +# LOCALIZATION NOTE (threadPane.columnPicker.confirmFolder.noChildren.title): +# When the user selects a folder to apply the currently displayed columns to +# via the "columnPicker.applyToFolder.label" menu option, this is the title of +# the confirmation dialog used to verify they selected the correct folder. This +# is the case in which we apply the columns only to the folder and not to any of +# its children. +threadPane.columnPicker.confirmFolder.noChildren.title=A bheil thu airson na h-atharrachaidhean a chur an sàs? +# LOCALIZATION NOTE (threadPane.columnPicker.confirmFolder.noChildren.message): +# When the user selects a folder to apply the currently displayed columns to +# via the "columnPicker.applyToFolder.label" menu option, this is the text of +# the confirmation dialog used to verify they selected the correct folder. The +# string '%S' is replaced with the name of the folder the user selected in +# order to help them confirm they picked what they thought they picked. This +# is the case in which we apply the columns only to the folder and not to any of +# its children. +threadPane.columnPicker.confirmFolder.noChildren.message=A bheil thu airson colbhan a' phasgain làithrich a chur an sàs airson %S? + +# LOCALIZATION NOTE (threadPane.columnPicker.confirmFolder.withChildren.title): +# When the user selects a folder to apply the currently displayed columns to via +# the "columnPicker.applyToFolderAndChildren.label" menu option, this is the +# title of the confirmation dialog used to verify they selected the correct +# folder. This is the case in which we apply the columns to the folder and all +# of its children. +threadPane.columnPicker.confirmFolder.withChildren.title=A bheil thu airson na h-atharrachaidhean a chur an sàs? +# LOCALIZATION NOTE (threadPane.columnPicker.confirmFolder.withChildren.message): +# When the user selects a folder to apply the currently displayed columns to via +# the "columnPicker.applyToFolderAndChildren.label" menu option, this is the +# text of the confirmation dialog used to verify they selected the correct +# folder. The string '%S' is replaced with the name of the folder the user +# selected in order to help them confirm they picked what they thought they +# picked. This is the case in which we apply the columns to the folder and all +# of its children. +threadPane.columnPicker.confirmFolder.withChildren.message=A bheil thu airson colbhan a' phasgain làithrich a chur an sàs airson %S is a cuid cloinne? + +# LOCALIZATION NOTE (lwthemeInstallRequest.message): %S will be replaced with +# the host name of the site. +lwthemeInstallRequest.message=Dh'fheuch an làrach seo (%S) ri coltas a shuidheachadh. +lwthemeInstallRequest.allowButton=Ceadaich +lwthemeInstallRequest.allowButton.accesskey=a + +lwthemePostInstallNotification.message=Chaidh coltas ùr a stàladh. +lwthemePostInstallNotification.undoButton=Neo-dhèan +lwthemePostInstallNotification.undoButton.accesskey=U +lwthemePostInstallNotification.manageButton=Rianaich na coltasan… +lwthemePostInstallNotification.manageButton.accesskey=R + +# troubleshootModeRestart +troubleshootModeRestartPromptTitle=Ath-thòisich ann am modh fuasgladh dhuilgheadasan +troubleshootModeRestartPromptMessage=Cuiridh modh fuasgladh nan duilgheadasan gach tuilleadan à comas agus cleachdaidh e cuid dhe na bun-roghainnean greis.\nA bheil thu cinnteach gu bheil thu airson ath-thòiseachadh? +troubleshootModeRestartButton=Ath-thòisich + +# LOCALIZATION NOTE (downloadAndInstallButton.label): %S is replaced by the +# version of the update: "Update to 28.0". +update.downloadAndInstallButton.label=Ùraich gu %S +update.downloadAndInstallButton.accesskey=u + +# Sanitize +# LOCALIZATION NOTE (sanitizeDialog2.everything.title): When "Time range to +# clear" is set to "Everything", the Clear Recent History dialog's title is +# changed to this. See UI mockup and comment 11 at bug 480169 --> +sanitizeDialog2.everything.title=Falamhaich an eachdraidh air fad +sanitizeButtonOK=Falamhaich an-dràsta +# LOCALIZATION NOTE (sanitizeEverythingWarning2): 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. +sanitizeEverythingWarning2=Thèid an eachdraidh air fad fhalamhadh. +# LOCALIZATION NOTE (sanitizeSelectedWarning): 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. +sanitizeSelectedWarning=Thèid gach rud a thagh thu fhalamhadh. + +learnMoreAboutIgnoreThread=Barrachd fiosrachaidh… +learnMoreAboutIgnoreThreadAccessKey = B +undoIgnoreThread=Neo-dhèan leigeil seachad an t-snàithlein +undoIgnoreThreadAccessKey=N +undoIgnoreSubthread=Neo-dhèan leigeil seachad an fho-shnàithlein +undoIgnoreSubthreadAccessKey=o +# LOCALIZATION NOTE (ignoredThreadFeedback): #1 is the message thread title +ignoredThreadFeedback=Cha dèid freagairtean gun t-snàithlean "#1" a shealltainn. +# LOCALIZATION NOTE (ignoredSubthreadFeedback): #1 is the message subthread title +ignoredSubthreadFeedback=Cha dèid freagairtean gun fho-shnàithlean "#1" a shealltainn. +# LOCALIZATION NOTE (ignoredThreadsFeedback): Semi-colon list of plural forms. +# #1 is the number of threads +ignoredThreadsFeedback=Cha dèid freagairtean gun #1 snàithlean a thagh thu a shealltainn.;Cha dèid freagairtean gun #1 shnàithlean a thagh thu a shealltainn.;Cha dèid freagairtean gun #1 snàithleanan a thagh thu a shealltainn.;Cha dèid freagairtean gun #1 snàithlean a thagh thu a shealltainn. +# LOCALIZATION NOTE (ignoredSubthreadsFeedback): Semi-colon list of plural forms. +# #1 is number of subthreads +ignoredSubthreadsFeedback=Cha dèid freagairtean gun #1 fho-shnàithlean a thagh thu a shealltainn.;Cha dèid freagairtean gun #1 fho-shnàithlean a thagh thu a shealltainn.;Cha dèid freagairtean gun #1 fo-shnàithleanan a thagh thu a shealltainn.;Cha dèid freagairtean gun #1 fo-shnàithlean a thagh thu a shealltainn. +# LOCALIZATION NOTE (saveAsType): replace %S with the extension of the file to be saved. +saveAsType=Faidhle %S + +# LOCALIZATION NOTE (openSearch.label): The label used in the autocomplete +# widget to refer to a search on the web for a short string containing at most +# 15 characters. %1$S is the search provider to use. %2$S is the string to +# search for. +openSearch.label=Lorg "%2$S" le %1$S + +# LOCALIZATION NOTE (openSearch.label.truncated): The label used in the +# autocomplete widget to refer to a search on the web for a short string +# containing more than 15 characters. %1$S is the search provider to use. %2$S +# is the string to search for, truncated to 15 characters. +openSearch.label.truncated=Lorg "%2$S…" le %1$S + +# LOCALIZATION NOTE (aboutDialog.architecture.*): +# The sixtyFourBit and thirtyTwoBit strings describe the architecture of the +# current Thunderbird build: 32-bit or 64-bit. These strings are used in parentheses +# after the Thunderbird version in the About dialog, +# e.g.: "48.0.2 (32-bit)" or "51.0a1 (2016-09-05) (64-bit)". +aboutDialog.architecture.sixtyFourBit = 64-bit +aboutDialog.architecture.thirtyTwoBit = 32-bit + +errorConsoleTitle = Consoil nam mearachd + +# 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 appmenu. +panel.back = Air ais + +# LOCALIZATION NOTE (folderErrorAlertTitle): +# %S is a pretty string to identify the folder and account. +# EXAMPLE: Error - Inbox on bob@example.com +folderErrorAlertTitle = Mearachd – %S + diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EdAdvancedEdit.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EdAdvancedEdit.dtd new file mode 100644 index 0000000000000000000000000000000000000000..798e4c37b4b05cf05052b3fdc369ed1288ea202d --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EdAdvancedEdit.dtd @@ -0,0 +1,18 @@ +<!-- 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/. --> + +<!ENTITY WindowTitle.label "Deasaichear nan roghainnean adhartach"> +<!ENTITY AttName.label "Feart: "> +<!ENTITY AttValue.label "Luach: "> +<!ENTITY PropertyName.label "Buadh: "> +<!ENTITY currentattributesfor.label "Na feartan làithreach aig: "> +<!ENTITY tree.attributeHeader.label "Feart"> +<!ENTITY tree.propertyHeader.label "Buadh"> +<!ENTITY tree.valueHeader.label "Luach"> +<!ENTITY tabHTML.label "Feartan HTML"> +<!ENTITY tabCSS.label "Stoidhle ion-loidhne"> +<!ENTITY tabJSE.label "Tachartasan JavaScript"> + +<!ENTITY editAttribute.label "Briog air nì gu h-àrd gus a luach a dheasachadh"> +<!ENTITY removeAttribute.label "Thoir air falbh"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EdColorPicker.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EdColorPicker.dtd new file mode 100644 index 0000000000000000000000000000000000000000..199bc7f7f08045919c5365fb91e08e6530b90d34 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EdColorPicker.dtd @@ -0,0 +1,22 @@ +<!-- 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/. --> + +<!ENTITY windowTitle.label "Dath"> +<!ENTITY lastPickedColor.label "Dath mu dheireadh a thagh thu"> +<!ENTITY lastPickedColor.accessKey "D"> +<!ENTITY chooseColor1.label "Tagh dath:"> +<!ENTITY chooseColor2.label "Cuir a-steach sreath datha HTML"> +<!ENTITY chooseColor2.accessKey "H"> +<!ENTITY setColorExample.label "(m.e.: "#0000ff" no "blue"):"> +<!ENTITY default.label "Bun-roghainn"> +<!ENTITY default.accessKey "B"> +<!ENTITY palette.label "Pailead:"> +<!ENTITY standardPalette.label "Bunaiteach"> +<!ENTITY webPalette.label "A h-uile dath-lìn"> +<!ENTITY background.label "Cùlaibh airson:"> +<!ENTITY background.accessKey "b"> +<!ENTITY table.label "Clàr"> +<!ENTITY table.accessKey "C"> +<!ENTITY cell.label "Cealla(n)"> +<!ENTITY cell.accessKey "C"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EdConvertToTable.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EdConvertToTable.dtd new file mode 100644 index 0000000000000000000000000000000000000000..e506c98ebf287114780668043f8ee73d431aa903 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EdConvertToTable.dtd @@ -0,0 +1,15 @@ +<!-- 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/. --> +<!-- Window title --> + + +<!ENTITY windowTitle.label "Tionndaidh 'na chlàr"> +<!ENTITY instructions1.label "Cruthaichidh an deasaichear sreath ùr sa chlàr airson gach paragraf dhen taghadh."> +<!ENTITY instructions2.label "Tagh an caractair a tha 'ga chleachdadh gus an taghadh a sgaradh 'na cholbhan:"> +<!ENTITY commaRadio.label "Cromag"> +<!ENTITY spaceRadio.label "Beàrn"> +<!ENTITY otherRadio.label "Caractair eile:"> +<!ENTITY deleteCharCheck.label "Sguab às an caractair sgaraidh"> +<!ENTITY collapseSpaces.label "Leig seachad na beàrnan a bharrachd"> +<!ENTITY collapseSpaces.tooltip "Tionndaidh beàrnan a tha taobh ri thaobh 'na sgaradair a-mhàin"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EdDialogOverlay.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EdDialogOverlay.dtd new file mode 100644 index 0000000000000000000000000000000000000000..6d9aa1855f36dca625b8e8b9ad57c23542da1bf0 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EdDialogOverlay.dtd @@ -0,0 +1,17 @@ +<!-- 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/. --> + +<!ENTITY AdvancedEditButton.label "Deasachadh adhartach…"> +<!ENTITY AdvancedEditButton.accessKey "e"> +<!ENTITY AdvancedEditButton.tooltip "Cuir ris, no atharraich, feartan HTML, feartan stoidhle is JavaScript"> +<!ENTITY chooseFileButton.label "Tagh faidhle…"> +<!ENTITY chooseFileButton.accessKey "f"> +<!ENTITY chooseFileLinkButton.label "Tagh faidhle…"> +<!ENTITY chooseFileLinkButton.accessKey "a"> +<!ENTITY makeUrlRelative.label "Tha an t-URL dàimheach a thaobh àite na duilleige"> +<!ENTITY makeUrlRelative.accessKey "R"> +<!ENTITY makeUrlRelative.tooltip "Atharrachadh eadar URL dàimheach is absaloideach. Feumaidh tu an duilleag a shàbhalachadh an toiseach mus urrainn dhut seo atharrachadh."> + +<!ENTITY LinkURLEditField2.label "Cuir a-steach ionad duilleige-lìn, faile ionadail no tagh acair ainmichte no ceann-sgrìobhaidh o chlàr-taice co-theacsail an raoin:"> +<!ENTITY LinkURLEditField2.accessKey "d"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EdNamedAnchorProperties.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EdNamedAnchorProperties.dtd new file mode 100644 index 0000000000000000000000000000000000000000..f0ed388b68fe78690d6c395885456c6a77cf374a --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EdNamedAnchorProperties.dtd @@ -0,0 +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/. --> + +<!ENTITY windowTitle.label "Roghainnean na h-acrach ainmichte"> +<!ENTITY anchorNameEditField.label "Ainm na h-acrach:"> +<!ENTITY anchorNameEditField.accessKey "n"> +<!ENTITY nameInput.tooltip "Cuir a-steach ainm sònraichte airson na h-acrach ainmichte seo (amas)"> + diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorColorProperties.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorColorProperties.dtd new file mode 100644 index 0000000000000000000000000000000000000000..413cedcadc114639f2480abd6af449e14eb0857f --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorColorProperties.dtd @@ -0,0 +1,29 @@ +<!-- 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/. --> +<!-- Window title --> + +<!ENTITY windowTitle.label "Dathan is cùlaibh na duilleige"> +<!ENTITY pageColors.label "Dathan na duilleige"> +<!ENTITY defaultColorsRadio.label "Dathan bunaiteach an leughadair (Na suidhich dathan san duilleag)"> +<!ENTITY defaultColorsRadio.accessKey "D"> +<!ENTITY defaultColorsRadio.tooltip "Cleachd roghainnean nan dath o bhrabhsair an leughadair a-mhàin"> +<!ENTITY customColorsRadio.label "Cleachd dathan gnàthaichte:"> +<!ENTITY customColorsRadio.accessKey "C"> +<!ENTITY customColorsRadio.tooltip "Brisidh roghainnean nan dath seo na roghainnean a tha ann am brabhsair an leughadair"> + +<!ENTITY normalText.label "Teacsa àbhaisteach"> +<!ENTITY normalText.accessKey "T"> +<!ENTITY linkText.label "Teacsa a' cheangail"> +<!ENTITY linkText.accessKey "l"> +<!ENTITY activeLinkText.label "Teacsa ceangail ghnìomaich"> +<!ENTITY activeLinkText.accessKey "a"> +<!ENTITY visitedLinkText.label "Teacsa ceangail a chaidh a chleachdadh"> +<!ENTITY visitedLinkText.accessKey "c"> +<!ENTITY background.label "Cùlaibh:"> +<!ENTITY background.accessKey "b"> +<!ENTITY colon.character ":"> +<!ENTITY backgroundImage.label "Dealbh a' chùlaibh:"> +<!ENTITY backgroundImage.accessKey "c"> +<!ENTITY backgroundImage.tooltip "Cleachd faidhle deilbh mar chùlaibh na duilleige agad"> +<!ENTITY backgroundImage.shortenedDataURI "URI dàta giorraichte (cuiridh lethbhreac an URI slàn air an stòr-bhòrd)"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorHLineProperties.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorHLineProperties.dtd new file mode 100644 index 0000000000000000000000000000000000000000..17f80a49ef6a77e9258b1f432a5095ac14ffc118 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorHLineProperties.dtd @@ -0,0 +1,27 @@ +<!-- 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/. --> +<!-- Window title --> + + +<!ENTITY windowTitle.label "Roghainnean na loidhne chòmhnard"> + +<!ENTITY dimensionsBox.label "Meudachd"> +<!ENTITY heightEditField.label "Àirde:"> +<!ENTITY heightEditField.accessKey "r"> +<!ENTITY widthEditField.label "Leud:"> +<!ENTITY widthEditField.accessKey "L"> +<!ENTITY pixelsPopup.value "pixel"> +<!ENTITY alignmentBox.label "Co-thaobhachadh"> +<!ENTITY leftRadio.label "Clì"> +<!ENTITY leftRadio.accessKey "l"> +<!ENTITY centerRadio.label "Cuir sa mheadhan"> +<!ENTITY centerRadio.accessKey "C"> +<!ENTITY rightRadio.label "Deas"> +<!ENTITY rightRadio.accessKey "s"> + +<!ENTITY threeDShading.label "Duibhreachadh 3-D"> +<!ENTITY threeDShading.accessKey "3"> +<!ENTITY saveSettings.label "Cleachd mar an roghainn bhunaiteach"> +<!ENTITY saveSettings.accessKey "d"> +<!ENTITY saveSettings.tooltip "Sàbhail na roghainnean seo 's cleachd iad nuair a chuireas mi a-steach loidhnichean còmhnard ùra"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorImageProperties.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorImageProperties.dtd new file mode 100644 index 0000000000000000000000000000000000000000..9939911b7b5401d352a7bd4fd93f145719c84d9c --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorImageProperties.dtd @@ -0,0 +1,81 @@ +<!-- 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/. --> + +<!-- These strings are for use specifically in the editor's image and form image dialogs. --> +<!-- Window title --> + + +<!ENTITY windowTitle.label "Roghainnean an deilbh"> + +<!ENTITY pixelsPopup.value "pixel"> +<!-- These are in the Location tab panel --> + +<!ENTITY locationEditField.label "Seòladh an deilbh:"> +<!ENTITY locationEditField.accessKey "l"> +<!ENTITY locationEditField.tooltip "Cuir a-steach ainm no seòladh an deilbh"> +<!ENTITY locationEditField.shortenedDataURI "URI dàta giorraichte (cuiridh lethbhreac an URI slàn air an stòr-bhòrd)"> +<!ENTITY title.label "Gliocas-sgrìn:"> +<!ENTITY title.accessKey "G"> +<!ENTITY title.tooltip "Seo am feart html 'title' a nochdas mar ghliocas-sgrìn"> +<!ENTITY altText.label "Roghainn teacsa eile:"> +<!ENTITY altText.accessKey "a"> +<!ENTITY altTextEditField.tooltip "Cuir a-steach teacsa a chithear an àite an deilbh"> +<!ENTITY noAltText.label "Na cleachd roghainn teacsa eile"> +<!ENTITY noAltText.accessKey "d"> + +<!ENTITY previewBox.label "Ro-shealladh an deilbh"> + +<!-- These controls are in the Dimensions tab panel --> +<!-- actualSize.label should be same as actualSizeRadio.label + ":" --> + +<!ENTITY actualSize.label "Am meud fìor:"> +<!ENTITY actualSizeRadio.label "Am meud fìor"> +<!ENTITY actualSizeRadio.accessKey "A"> +<!ENTITY actualSizeRadio.tooltip "Aisig meud fìor an deilbh"> +<!ENTITY customSizeRadio.label "Meud gnàthaichte"> +<!ENTITY customSizeRadio.accessKey "n"> +<!ENTITY customSizeRadio.tooltip "Atharraich meud an deilbh mar a chithear e san duilleag"> +<!ENTITY heightEditField.label "Àirde:"> +<!ENTITY heightEditField.accessKey "d"> +<!ENTITY widthEditField.label "Leud:"> +<!ENTITY widthEditField.accessKey "L"> +<!ENTITY constrainCheckbox.label "Cuir co-èiginn air"> +<!ENTITY constrainCheckbox.accessKey "C"> +<!ENTITY constrainCheckbox.tooltip "Glèidh co-mheas an deilbh"> +<!-- These controls are in the Image Map box of the expanded area --> + +<!ENTITY imagemapBox.label "Mapa an deilbh"> +<!ENTITY removeImageMapButton.label "Thoir air falbh"> +<!ENTITY removeImageMapButton.accessKey "r"> +<!-- These are the options for image alignment --> + +<!ENTITY alignment.label "Co-thaobhaich an teacsa a-rèir an deilbh"> +<!ENTITY bottomPopup.value "Aig a' bhun"> +<!ENTITY topPopup.value "Aig a' bharr"> +<!ENTITY centerPopup.value "Sa mheadhan"> +<!ENTITY wrapRightPopup.value "Paisg gun deis"> +<!ENTITY wrapLeftPopup.value "Paisg gun chlì"> +<!-- These controls are in the Spacing Box --> + +<!ENTITY spacingBox.label "Beàrnadh"> +<!ENTITY leftRightEditField.label "Clì 's deis:"> +<!ENTITY leftRightEditField.accessKey "l"> +<!ENTITY topBottomEditField.label "Bun is barr:"> +<!ENTITY topBottomEditField.accessKey "i"> +<!ENTITY borderEditField.label "Iomall soladach:"> +<!ENTITY borderEditField.accessKey "s"> +<!-- These controls are in the Link Box --> + +<!ENTITY showImageLinkBorder.label "Seall iomall mun dealbh cheangailte"> +<!ENTITY showImageLinkBorder.accessKey "b"> +<!ENTITY LinkAdvancedEditButton.label "Deasachadh adhartachadh a' cheangail…"> +<!ENTITY LinkAdvancedEditButton.accessKey "l"> +<!ENTITY LinkAdvancedEditButton.tooltip "Cuir ris no atharraidh buadhan HTML, stoidhle is JavaScript"> +<!-- These tabs are currently used in the image input dialog --> + +<!ENTITY imageInputTab.label "Foirm"> +<!ENTITY imageLocationTab.label "Seòladh"> +<!ENTITY imageDimensionsTab.label "Meudachd"> +<!ENTITY imageAppearanceTab.label "Riochd"> +<!ENTITY imageLinkTab.label "Ceangal"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorInsertChars.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorInsertChars.dtd new file mode 100644 index 0000000000000000000000000000000000000000..a045dcdef079202cfa44ef018e34229663a5b424 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorInsertChars.dtd @@ -0,0 +1,19 @@ +<!-- 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/. --> +<!-- Window title --> + + +<!ENTITY windowTitle.label "Cuir a-steach caractair"> +<!ENTITY category.label "Roinn"> +<!ENTITY letter.label "Litir:"> +<!ENTITY letter.accessKey "L"> +<!ENTITY character.label "Caractair:"> +<!ENTITY character.accessKey "C"> +<!ENTITY accentUpper.label "Stràc air litir mhòr"> +<!ENTITY accentLower.label "Stràc air litir bheag"> +<!ENTITY otherUpper.label "Litir mhòr eile"> +<!ENTITY otherLower.label "Litir bheag eile"> +<!ENTITY commonSymbols.label "Samhlaidhean cumanta"> +<!ENTITY insertButton.label "Cuir a-steach"> +<!ENTITY closeButton.label "Dùin"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorInsertMath.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorInsertMath.dtd new file mode 100644 index 0000000000000000000000000000000000000000..d1cb9a28aed253ace49857663f56a458d6d3ebbd --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorInsertMath.dtd @@ -0,0 +1,21 @@ +<!-- 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/. --> + +<!-- Window title --> +<!ENTITY windowTitle.label "Cuir matamataig a-steach"> + +<!ENTITY sourceEditField.label "Cuir a-steach bun-tùs LaTeX:"> + +<!ENTITY options.label "Roghainnean"> +<!ENTITY optionInline.label "Am modh ion-loidhne"> +<!ENTITY optionInline.accesskey "n"> +<!ENTITY optionDisplay.label "Am modh taisbeanaidh"> +<!ENTITY optionDisplay.accesskey "d"> +<!ENTITY optionLTR.label "Clì gu deas"> +<!ENTITY optionLTR.accesskey "l"> +<!ENTITY optionRTL.label "Deas gu clì"> +<!ENTITY optionRTL.accesskey "D"> + +<!ENTITY insertButton.label "Cuir a-steach"> +<!ENTITY insertButton.accesskey "i"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorInsertSource.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorInsertSource.dtd new file mode 100644 index 0000000000000000000000000000000000000000..1dcf9b6b7cd3ff48f3f2cc31b5e67bd93a662a8e --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorInsertSource.dtd @@ -0,0 +1,15 @@ +<!-- 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/. --> +<!-- Window title --> + +<!ENTITY windowTitle.label "Cuir a-stech HTML"> +<!ENTITY sourceEditField.label "Cuir a-steach tagaichean is teacsa HTML:"> +<!ENTITY example.label "Ball-eisimpleir: "> +<!-- LOCALIZATION NOTE (exampleOpenTag.label): DONT_TRANSLATE: they are text for HTML tagnames: "<i>" and "</i>" --> +<!ENTITY exampleOpenTag.label "<i>"> +<!-- LOCALIZATION NOTE (exampleCloseTag.label): DONT_TRANSLATE: they are text for HTML tagnames: "<i>" and "</i>" --> +<!ENTITY exampleCloseTag.label "</i>"> +<!ENTITY exampleText.label "Fàilte ort, a shaoghail!"> +<!ENTITY insertButton.label "Cuir a-steach"> +<!ENTITY insertButton.accesskey "i"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorInsertTOC.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorInsertTOC.dtd new file mode 100644 index 0000000000000000000000000000000000000000..8fd2871ebe6a59d3ba6f90faf6353e0a99e77680 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorInsertTOC.dtd @@ -0,0 +1,16 @@ +<!-- 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/. --> + +<!ENTITY Window.title "An clàr-innse"> +<!ENTITY buildToc.label "Tog clàr-innse air:"> +<!ENTITY tag.label "Taga:"> +<!ENTITY class.label "Clas:"> +<!ENTITY header1.label "Leibheil 1"> +<!ENTITY header2.label "Leibheil 2"> +<!ENTITY header3.label "Leibheil 3"> +<!ENTITY header4.label "Leibheil 4"> +<!ENTITY header5.label "Leibheil 5"> +<!ENTITY header6.label "Leibheil 6"> +<!ENTITY makeReadOnly.label "Dèan clàr-innse a tha ri leughadh a-mhàin"> +<!ENTITY orderedList.label "Cuir àireamh ri gach clàr sa chlàr-innse"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorInsertTable.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorInsertTable.dtd new file mode 100644 index 0000000000000000000000000000000000000000..0bf6f1a3a04d40fc3f4c1a743821c0481ff47dc4 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorInsertTable.dtd @@ -0,0 +1,18 @@ +<!-- 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/. --> +<!-- Window title --> + +<!ENTITY windowTitle.label "Cuir a-steach clàr"> + +<!ENTITY size.label "Meud"> +<!ENTITY numRowsEditField.label "Sreathan:"> +<!ENTITY numRowsEditField.accessKey "r"> +<!ENTITY numColumnsEditField.label "Colbhan:"> +<!ENTITY numColumnsEditField.accessKey "C"> +<!ENTITY widthEditField.label "Leud:"> +<!ENTITY widthEditField.accessKey "u"> +<!ENTITY borderEditField.label "Iomall:"> +<!ENTITY borderEditField.accessKey "o"> +<!ENTITY borderEditField.tooltip "Cuir a-steach àireamh airson iomall a' chlàir no cuir a-steach neoini (0) mur eil thu ag iarraidh iomall"> +<!ENTITY pixels.label "pixel"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorLinkProperties.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorLinkProperties.dtd new file mode 100644 index 0000000000000000000000000000000000000000..7c8d979c33768ecf0f96da31afbb38893150dca6 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorLinkProperties.dtd @@ -0,0 +1,6 @@ +<!-- 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/. --> + +<!ENTITY windowTitle.label "Roghainnean a' cheangail"> +<!ENTITY LinkURLBox.label "Seòladh a' cheangail"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorListProperties.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorListProperties.dtd new file mode 100644 index 0000000000000000000000000000000000000000..318283d57468e72af694a7c89567be69b74f8998 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorListProperties.dtd @@ -0,0 +1,20 @@ +<!-- 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/. --> +<!-- Window title --> + + +<!ENTITY windowTitle.label "Roghainnean na liosta"> + +<!ENTITY ListType.label "Seòrsa na liosta"> +<!ENTITY bulletStyle.label "Stoidhle nam peilear:"> +<!ENTITY startingNumber.label "Tòisich aig:"> +<!ENTITY startingNumber.accessKey "s"> +<!ENTITY none.value "Chan eil gin"> +<!ENTITY bulletList.value "Liosta pheilearaichte (gun àireamhan)"> +<!ENTITY numberList.value "Liosta àireamhaichte"> +<!ENTITY definitionList.value "Liosta nam mìneachaidhean"> +<!ENTITY changeEntireListRadio.label "Atharraich an liosta gu lèir"> +<!ENTITY changeEntireListRadio.accessKey "c"> +<!ENTITY changeSelectedRadio.label "Na atharraich ach na rudan a tha air a thaghadh"> +<!ENTITY changeSelectedRadio.accessKey "i"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorPersonalDictionary.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorPersonalDictionary.dtd new file mode 100644 index 0000000000000000000000000000000000000000..2788afaa45ef6917a4057ece9b8dc81e02e0fb43 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorPersonalDictionary.dtd @@ -0,0 +1,18 @@ +<!-- 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/. --> +<!-- Window title --> + +<!ENTITY windowTitle.label "Am faclair pearsanta"> + +<!ENTITY wordEditField.label "Facal ùr:"> +<!ENTITY wordEditField.accessKey "F"> +<!ENTITY AddButton.label "Cuir ris"> +<!ENTITY AddButton.accessKey "C"> +<!ENTITY DictionaryList.label "Faclan san fhaclair:"> +<!ENTITY DictionaryList.accessKey "a"> +<!ENTITY RemoveButton.label "Thoir air falbh"> +<!ENTITY RemoveButton.accessKey "o"> + +<!ENTITY CloseButton.label "Dùin"> +<!ENTITY CloseButton.accessKey "D"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorReplace.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorReplace.dtd new file mode 100644 index 0000000000000000000000000000000000000000..ced62053830d1d3102daf0f3dea365c677bcc115 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorReplace.dtd @@ -0,0 +1,29 @@ +<!-- 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/. --> +<!-- extracted from EdReplace.xul --> + + +<!-- extracted from EdReplace.xhtml --> + +<!ENTITY replaceDialog.title "Lorg is cuir 'na àite"> +<!ENTITY findField.label "Lorg teacsa:"> +<!ENTITY findField.accesskey "L"> +<!ENTITY replaceField.label "Cuir na leanas 'na àite:"> +<!ENTITY replaceField.accesskey "e"> +<!ENTITY caseSensitiveCheckbox.label "Aire do litrichean _mòra ’s beaga"> +<!ENTITY caseSensitiveCheckbox.accesskey "M"> +<!ENTITY wrapCheckbox.label "Paisg mun cuairt air"> +<!ENTITY wrapCheckbox.accesskey "P"> +<!ENTITY backwardsCheckbox.label "Lorg air ais"> +<!ENTITY backwardsCheckbox.accesskey "L"> +<!ENTITY findNextButton.label "Lorg an ath-fhear"> +<!ENTITY findNextButton.accesskey "f"> +<!ENTITY replaceButton.label "Cuir 'na àite"> +<!ENTITY replaceButton.accesskey "r"> +<!ENTITY replaceAndFindButton.label "Lorg is cuir 'na àite"> +<!ENTITY replaceAndFindButton.accesskey "L"> +<!ENTITY replaceAllButton.label "Cuir an àite gach aon dhiubh"> +<!ENTITY replaceAllButton.accesskey "a"> +<!ENTITY closeButton.label "Dùin"> +<!ENTITY closeButton.accesskey "D"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorSpellCheck.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorSpellCheck.dtd new file mode 100644 index 0000000000000000000000000000000000000000..010a0625b09e77a7b12256659437e35e66b63466 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorSpellCheck.dtd @@ -0,0 +1,38 @@ +<!-- 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/. --> +<!-- Window title --> + +<!ENTITY windowTitle.label "Ceartaich an litreachadh"> + +<!ENTITY misspelledWord.label "Facal air a dhroch litreachadh:"> +<!ENTITY wordEditField.label "Cuir na leanas 'na àite:"> +<!ENTITY wordEditField.accessKey "n"> +<!ENTITY checkwordButton.label "Ceartaich am facal seo"> +<!ENTITY checkwordButton.accessKey "C"> +<!ENTITY suggestions.label "Molaidhean:"> +<!ENTITY suggestions.accessKey "M"> +<!ENTITY ignoreButton.label "Leig seachad"> +<!ENTITY ignoreButton.accessKey "i"> +<!ENTITY ignoreAllButton.label "Leig seachad gach aon dhiubh"> +<!ENTITY ignoreAllButton.accessKey "n"> +<!ENTITY replaceButton.label "Cuir 'na àite"> +<!ENTITY replaceButton.accessKey "r"> +<!ENTITY replaceAllButton.label "Cuir an àite gach aon dhiubh"> +<!ENTITY replaceAllButton.accessKey "a"> +<!ENTITY stopButton.label "Sguir dheth"> +<!ENTITY stopButton.accessKey "u"> +<!ENTITY userDictionary.label "Am faclair pearsanta:"> +<!ENTITY moreDictionaries.label "Luchdaich a-nuas barrachd fhaclairean…"> +<!ENTITY addToUserDictionaryButton.label "Cuir ris facal"> +<!ENTITY addToUserDictionaryButton.accessKey "C"> +<!ENTITY editUserDictionaryButton.label "Deasaich…"> +<!ENTITY editUserDictionaryButton.accessKey "e"> +<!ENTITY recheckButton2.label "Ath-cheartaich an teacsa"> +<!ENTITY recheckButton2.accessKey "t"> +<!ENTITY closeButton.label "Dùin"> +<!ENTITY closeButton.accessKey "D"> +<!ENTITY sendButton.label "Cuir"> +<!ENTITY sendButton.accessKey "C"> +<!ENTITY languagePopup.label "Cànan:"> +<!ENTITY languagePopup.accessKey "C"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorTableProperties.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorTableProperties.dtd new file mode 100644 index 0000000000000000000000000000000000000000..99c543d22c672b0933feec35bad307401b75fce4 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/EditorTableProperties.dtd @@ -0,0 +1,75 @@ +<!-- 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/. --> + +<!ENTITY tableWindow.title "Roghainnean a' chlàir"> +<!ENTITY applyButton.label "Cuir an sàs"> +<!ENTITY applyButton.accesskey "a"> +<!ENTITY closeButton.label "Dùin"> +<!ENTITY tableTab.label "Clàr"> +<!ENTITY cellTab.label "Ceallan"> +<!ENTITY tableRows.label "Sreathan:"> +<!ENTITY tableRows.accessKey "r"> +<!ENTITY tableColumns.label "Colbhan:"> +<!ENTITY tableColumns.accessKey "C"> +<!ENTITY tableHeight.label "Àirde:"> +<!ENTITY tableHeight.accessKey "e"> +<!ENTITY tableWidth.label "Leud:"> +<!ENTITY tableWidth.accessKey "L"> +<!ENTITY tableBorderSpacing.label "Iomallan is beàrnadh"> +<!ENTITY tableBorderWidth.label "Iomall:"> +<!ENTITY tableBorderWidth.accessKey "I"> +<!ENTITY tableSpacing.label "Beàrnadh:"> +<!ENTITY tableSpacing.accessKey "B"> +<!ENTITY tablePadding.label "Padadh:"> +<!ENTITY tablePadding.accessKey "P"> +<!ENTITY tablePxBetwCells.label "pixel eadar na ceallan"> +<!ENTITY tablePxBetwBrdrCellContent.label "pixel eadar iomall na cealla 's an t-susbaint"> +<!ENTITY tableAlignment.label "Co-thaobhachadh a' chlàir:"> +<!ENTITY tableAlignment.accessKey "t"> +<!ENTITY tableCaption.label "Ceann-sgrìobhadh:"> +<!ENTITY tableCaption.accessKey "n"> +<!ENTITY tableCaptionAbove.label "Os cionn a' chlàir"> +<!ENTITY tableCaptionBelow.label "Fon chlàr"> +<!ENTITY tableCaptionLeft.label "Air taobh clì a' chlàir"> +<!ENTITY tableCaptionRight.label "Air taobh deis a' chlàir"> +<!ENTITY tableCaptionNone.label "Chan eil gin"> +<!ENTITY tableInheritColor.label "(Leig le dath na duilleige a thighinn troimhe)"> + +<!ENTITY cellSelection.label "Na chaidh a thaghadh"> +<!ENTITY cellSelectCell.label "Cealla"> +<!ENTITY cellSelectRow.label "Sreath"> +<!ENTITY cellSelectColumn.label "Colbh"> +<!ENTITY cellSelectNext.label "Air adhart"> +<!ENTITY cellSelectNext.accessKey "A"> +<!ENTITY cellSelectPrevious.label "Air ais"> +<!ENTITY cellSelectPrevious.accessKey "s"> +<!ENTITY applyBeforeChange.label "Theid na h-atharrachaidhean làithreach a chur an sas mus dèid an taghadh atharrachadh."> +<!ENTITY cellContentAlignment.label "Co-thaobhachadh na susbainte"> +<!ENTITY cellHorizontal.label "Còmhnard:"> +<!ENTITY cellHorizontal.accessKey "m"> +<!ENTITY cellVertical.label "Inghearach:"> +<!ENTITY cellVertical.accessKey "I"> +<!ENTITY cellStyle.label "Stoidhle na cealla:"> +<!ENTITY cellStyle.accessKey "c"> +<!ENTITY cellNormal.label "Àbhaisteach"> +<!ENTITY cellHeader.label "Bann-cinn"> +<!ENTITY cellTextWrap.label "Pasgadh an teacsa:"> +<!ENTITY cellTextWrap.accessKey "t"> +<!ENTITY cellWrap.label "Paisg"> +<!ENTITY cellNoWrap.label "Na paisg"> +<!ENTITY cellAlignTop.label "Barr"> +<!ENTITY cellAlignMiddle.label "Meadhan"> +<!ENTITY cellAlignBottom.label "Bun"> +<!ENTITY cellAlignJustify.label "Blocaich"> +<!ENTITY cellInheritColor.label "(Leig le dath a' chlàir a thighinn troimhe)"> +<!ENTITY cellUseCheckboxHelp.label "Tagh na roghainnean a thèid a chur an sàs airson nan ceallan a thagh thu le cromagan sna bogsaichean"> +<!-- Used in both Table and Cell panels --> + +<!ENTITY size.label "Meud"> +<!ENTITY pixels.label "pixel"> +<!ENTITY backgroundColor.label "Dath a' chùlaibh:"> +<!ENTITY backgroundColor.accessKey "b"> +<!ENTITY AlignLeft.label "Clì"> +<!ENTITY AlignCenter.label "Cuir sa mheadhan"> +<!ENTITY AlignRight.label "Deis"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/composeMsgs.properties new file mode 100644 index 0000000000000000000000000000000000000000..ab26ca15514b4f955c14d65360600c2339aaf8ef --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/composeMsgs.properties @@ -0,0 +1,463 @@ +# 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/. + +# +# The following are used by the compose back end +# +## LOCALIZATION NOTE (unableToOpenFile, unableToOpenTmpFile): +## %S will be replaced with the name of file that could not be opened +unableToOpenFile=Cha ghabh am faidhle %S fhosgladh. +unableToOpenTmpFile=Cha ghabh am faidhle sealach %S fhosgladh. Cuir sùil air roghainnean a' phasgain shealaich agad. +unableToSaveTemplate=Cha ghabh do theachdaireachd a shàbhaladh mar theamplaid. +unableToSaveDraft=Cha ghabh do theachdaireachd a shàbhaladh mar dhreach. +couldntOpenFccFolder=Cha b' urrainn dhuinn pasgan a' phuist chuirte fhosgladh. Dèan cinnteach gu bheil roghainnean a' chunntais agad ceart. +noSender=Cha do shònraich thu seòladair. Cuir a-steach seòladh a' phuist-d agad ann an roghainn a' chunntais. +noRecipients=Cha deach faightearan a shònrachadh. Cuir a-steach faightear no buidheann-naidheachd ann an raon an t-seòlaidh. +errorWritingFile=Mearachd le sgrìobhadh an fhaidhle sealaich. + +## LOCALIZATION NOTE (errorSendingFromCommand): argument %s is the Outgoing server (SMTP) response +errorSendingFromCommand=Thachair mearachd rè cur a' phuist. Dh'fhreagair am frithealaiche puist: %s. Dearbhaich gu bheil an seòladh puist-d agad ceart ann an roghainnean a' chunntais agad is feuch ris a-rithist. + +## LOCALIZATION NOTE (errorSendingDataCommand): argument %s is the Outgoing server (SMTP) response +errorSendingDataCommand=Thachair mearachd le frithealaiche a-mach (SMTP) rè cur a' phuist. Dh'fhreagair am frithealaiche: %s. + +## LOCALIZATION NOTE (errorSendingMessage): argument %s is the Outgoing server (SMTP) response +errorSendingMessage=Thachair mearachd rè cur a' phuist. Dh'fhreagair am frithealaiche puist: %s. Cuir sùil air an teachdaireachd is feuch ris a-rithist. +postFailed=Cha b' urrainn dhuinn an teachdaireachd a phostadh a chionn 's gun do dh'fhàillig an ceangal ris an fhrithealaiche naidheachdan. Dh'fhaodadh nach eil am frithealaiche ri fhaighinn no gu bheil e a' diùltadh cheanglaichean. Dèan cinnteach gu bheil roghainnean an fhrithealaiche naidheachdan agad ceart is feuch ris a-rithist. +errorQueuedDeliveryFailed=Thachair mearachd rè libhrigeadh nan teachdaireachdan nach deach an cur. +sendFailed=Dh'fhàillig cur na teachdaireachd. + +## LOCALIZATION NOTE (sendFailedUnexpected): argument %X is a hex error code value +sendFailedUnexpected=Fàilligeadh an cois mearachd ris nach robh dùil %X. Chan eil tuairisgeul air ri làimh. + +## LOCALIZATION NOTE (smtpSecurityIssue): argument %S is the Outgoing server (SMTP) response +smtpSecurityIssue=Feumaidh tu an rèiteachadh mu choinneamh %S a chur ceart. + +## LOCALIZATION NOTE (smtpServerError): argument %s is the Outgoing server (SMTP) response +smtpServerError=Thachair mearachd rè cur a' phuist: Mearachd leis an fhrithealaiche a-mach (SMTP). Dh'fhreagair am frithealaiche: %s. +unableToSendLater=Tha sinn duilich ach chan urrainn do theachdaireachd a shàbhaladh gus a chur às a dhèidh seo. + +## LOCALIZATION NOTE (communicationsError): argument %d is the error code +communicationsError=Thachair mearachd conaltraidh: %d. Feuch ris a-rithist. +dontShowAlert=CHAN E SEO ACH GLÈIDHEADAIR-ÀITE. CHA BU CHÒIR DHUT AN t-SREANG SEO FHAICINN IDIR. + +couldNotGetUsersMailAddress2=Thachair mearachd rè cur a’ phuist: bha seòladh an t-seòladair (O:) mì-dhligheach. Dearbhaich gu bheil an seòladh puist-d seo ceart is feuch ris a-rithist. +couldNotGetSendersIdentity=Thachair mearachd rè cur a’ phuist: bha dearbh-aithne an t-seòladair mì-dhligheach. Dearbhaich gun deach do dhearbh-aithne a rèiteachadh mar bu chòir is feuch ris a-rithist. + +mimeMpartAttachmentError=Mearachd leis a' cheanglachan. +failedCopyOperation=Chaidh an teachdaireachd a chur ach cha b' urrainn dhuinn lethbhreac dheth a chur gu pasgan a' phuist chuirte agad. +nntpNoCrossPosting=Chan urrainn dhut ach aon teachdaireachd a chur gu aon fhrithealaiche naidheachdan aig an aon àm. +msgCancelling=A' sgur dheth… +sendFailedButNntpOk=Chaidh do theachdaireachd a phostadh dhan bhuidheann-naidheachd ach cha deach a chur dhan fhaightear eile fhathast. +errorReadingFile=Mearachd le leughadh an fhaidhle. +followupToSenderMessage=Dh'iarr ùghdar na teachdaireachd seo nach dèid freagairtean a chur ach dhan ùghdar. Ma tha thu airson freagairt a chur dhan bhuidheann-naidheachd cuideachd, cuir sreath ùr ris an raon seòlachaidh, tagh "Buidheann-naidheachd" o liosta nam faightearan is cuir a-steach ainm a' bhuidhinn-naidheachd. + +## LOCALIZATION NOTE (errorAttachingFile): argument %S is the file name/URI of the object to be attached +errorAttachingFile=Thachair mearachd le bhith a' ceangal %S ris. Dèan cinnteach gu bheil cead inntrigidh agad dhan fhaidhle. + +## LOCALIZATION NOTE (incorrectSmtpGreeting): argument %s is the Outgoing server (SMTP) greeting +incorrectSmtpGreeting=Thachair mearachd rè cur a' phuist: Chuir frithealaiche a' phuist fàilte mhì-cheart: %s. + +## LOCALIZATION NOTE (errorSendingRcptCommand): argument %1$S is the Outgoing server (SMTP) response, argument %2$S is the intended message recipient. +errorSendingRcptCommand=Thachair mearachd rè cur a' phuist. Dh'fhreagair am frithealaiche puist: \n%1$S.\n Cuir sùil air faightear na teachdaireachd "%2$S" is feuch ris a-rithist. + +## LOCALIZATION NOTE (startTlsFailed): argument %S is the Outgoing server (SMTP) +startTlsFailed=Thachair mearachd le cur a' phuist: Cha ghabh ceangal tèarainte a stèidheachadh leis an fhrithealaiche a-mach (SMTP) %S le STARTTLS a chionn 's nach eil e a' sanasachd a' ghleus seo. Cuir dheth STARTTLS airson an fhrithealaiche sin no cuir fios gu rianadair na seirbheise agad. + +## LOCALIZATION NOTE (smtpPasswordUndefined): argument %S is the Outgoing server (SMTP) account +smtpPasswordUndefined=Thachair mearachd rè cur a' phuist: Cha b' urrainn dhuinn am facal-faire airson %S fhaighinn. Cha deach an teachdaireachd a chur. + +## LOCALIZATION NOTE (smtpSendNotAllowed): argument %s is the Outgoing server (SMTP) response +smtpSendNotAllowed=Thachair mearachd fhad ’s a bha sinn a’ cur a’ phuist. Fhreagair am frithealaiche puist:\n%s.\nDèan cinnteach gu bheil thu a’ cleachdadh na dearbh-aithne cheart airson post a chur agus gu bheil an dòigh dearbhaidh a thagh thu ceart. Dèan cinnteach gu bheil cead agad post a chur slighe an fhrithealaiche SMTP seo leis an ainm is facal-faire agad on lìonra làithreach agad. + +## LOCALIZATION NOTE (smtpTempSizeExceeded): argument %s is the Outgoing server (SMTP) response +smtpTempSizeExceeded=Tha meud na teachdaireachd a tha thu airson a chur a' dol thairis air a' mheud as motha a tha ceadaichte air an fhrithealaiche rè seala. Cha deach an teachdaireachd a chur; feuch is lughdaich meud na teachdaireachd no fuirich greis is feuch ris a-rithist an uairsin. Dh'fhreagair am frithealaiche: %s. + +## LOCALIZATION NOTE (smtpClientid): argument %s is the Outgoing server (SMTP) response +smtpClientid=Mhothaich am frithealaiche a-mach (SMTP) do mhearachd san àithne CLIENTID. Cha deach an teachdaireachd a chur. Seo na fhreagair am frithealaiche: %s + +## LOCALIZATION NOTE (smtpClientidPermission): argument %s is the Outgoing server (SMTP) response +smtpClientidPermission=Tha freagairt an fhrithealaiche a-mach (SMTP) dhan àithne CLIENTID ag innse dhuinn nach eil cead aig an uidheam agad airson post a chur. Seo na fhreagair am frithealaiche: %s + +## LOCALIZATION NOTE (smtpPermSizeExceeded1): argument %d is the Outgoing server (SMTP) size limit +smtpPermSizeExceeded1=Tha meud na teachdaireachd a tha thu airson a chur a' dol thairis air a' mheud uile-choitcheann as motha (%d baidht) air an fhrithealaiche. Cha deach an teachdaireachd a chur; lughdaich meud na teachdaireachd is feuch ris a-rithist. + +## LOCALIZATION NOTE (smtpPermSizeExceeded2): argument %s is the Outgoing server (SMTP) response +smtpPermSizeExceeded2=Tha meud na teachdaireachd a tha thu airson a chur a' dol thairis air a' mheud uile-choitcheann as motha air an fhrithealaiche. Cha deach an teachdaireachd a chur; lughdaich meud na teachdaireachd is feuch ris a-rithist. Dh'fhreagair am frithealaiche: %s. + +## LOCALIZATION NOTE (smtpSendFailedUnknownServer): argument %S is the Outgoing server (SMTP) +smtpSendFailedUnknownServer=Thachair mearachd rè cur a' phuist: Tha am frithealaiche a-mach (SMTP) %S neo-aithnichte. Dh'fhaodadh gu bheil am frithealaiche air a dhroch rèiteachadh. Dèan cinnteach gu bheil roghainnean an fhrithealaiche a-mach (SMTP) agad ceart is feuch ris a-rithist. + +## LOCALIZATION NOTE (smtpSendRequestRefused): argument %S is the Outgoing server (SMTP) +smtpSendRequestRefused=Cha b’ urrainn dhuinn an teachdaireachd a chur a chionn ’s gun do dh’fhàillig an ceangal ris an fhrithealaiche a-mach (SMTP) %S. Dh’fhaoidte nach eil am frithealaiche ri fhaighinn no gu bheil e a’ diùltadh ceanglaichean SMTP. Dèan cinnteach gu bheil roghainnean an fhrithealaiche a-mach (SMTP) ceart is feuch ris a-rithist. + +## LOCALIZATION NOTE (smtpSendInterrupted): argument %S is the Outgoing server (SMTP) +smtpSendInterrupted=Cha b' urrainn dhuinn an teachdaireachd a chur a chionn 's gun deach an ceangal ris an fhrithealaiche a-mach (SMTP) %S a chall rè an tar-chuir. Feuch ris a-rithist. + +## LOCALIZATION NOTE (smtpSendTimeout): argument %S is the Outgoing server (SMTP) +smtpSendTimeout=Cha b' urrainn dhuinn an teachdaireachd a chur a chionn 's gun do dh'fhalbh an ùine air an fhrithealaiche a-mach (SMTP) %S. Feuch ris a-rithist. + +## LOCALIZATION NOTE (smtpSendFailedUnknownReason): argument %S is the Outgoing server (SMTP) +smtpSendFailedUnknownReason=Cha b' urrainn dhuinn an teachdaireachd a chur slighe an fhrithealaiche a-mach (SMTP) %S ach chan eil fhios againn carson. Dèan cinnteach gu bheil roghainnean an fhrithealaiche a-mach (SMTP) ceart is feuch ris a-rithist. + +# LOCALIZATION NOTE (smtpHintAuthEncryptToPlainNoSsl): %S is the server hostname +smtpHintAuthEncryptToPlainNoSsl=Tha coltas nach eil am frithealaiche a-mach (SMTP) %S a’ cur taic ri faclan-faire crioptaichte. Ma tha thu dìreach air an cunntas a shuidheachadh, feuch is cleachd “Facal-faire ’ga chur gun tèarainteachd” mar an dòigh dearbhaidh ann an “Roghainnean a’ chunntais | Roghainnean an fhrithealaiche a-mach (SMTP)”. Ma dh’obraich e roimhe, dh’fhaoidte gu bheil beàrn tèarainteachd ann air am b’ urrainn do chuideigin am facal-faire a ghoid ort. + +# LOCALIZATION NOTE (smtpHintAuthEncryptToPlainSsl): %S is the server hostname +smtpHintAuthEncryptToPlainSsl=Tha coltas nach eil am frithealaiche a-mach (SMTP) %S a’ cur taic ri faclan-faire crioptaichte. Ma tha thu dìreach air an cunntas a shuidheachadh, feuch is cleachd “Facal-faire àbhaisteach” mar an dòigh dearbhaidh ann an “Roghainnean a’ chunntais | Roghainnean an fhrithealaiche a-mach (SMTP)”. + +# LOCALIZATION NOTE (smtpHintAuthPlainToEncrypt): %S is the server hostname +smtpHintAuthPlainToEncrypt=Chan eil am frithealaiche a-mach (SMTP) %S a’ ceadachadh faclan-faire ann an teacsa lom. Feuch is cleachd “Facal-faire crioptaichte” mar an dòigh dearbhaidh ann an “Roghainnean a’ chunntais | Roghainnean an fhrithealaiche a-mach (SMTP)”. + +# LOCALIZATION NOTE (smtpAuthFailure): %S is the server hostname +smtpAuthFailure=Cha ghabh dearbhadh a dhèanamh dhan fhrithealaiche a-amach (SMTP) %S. Cuir sùil air an fhacal-fhaire is dearbhaich an dòigh dearbhaidh ann an "Roghainnean a' chunntais | Am frithealaiche a-mach (SMTP)". + +# LOCALIZATION NOTE (smtpAuthGssapi): %S is the server hostname +smtpAuthGssapi=Cha do ghabh am frithealaiche a-mach (SMTP) %S ris an tiocaid Kerberos/GSSAPI. Dèan cinnteach gu bheil thu air clàradh a-steach do rìoghachd Kerberos/GSSAPI. + +# LOCALIZATION NOTE (smtpAuthMechNotSupported): %S is the server hostname +smtpAuthMechNotSupported=Chan eil am frithealaiche a-mach (SMTP) %S a' cur taic ris an dòigh dearbhaidh a thagh thu. Atharraich an dòigh dearbhaidh ann an "Roghainnean a' chunntais" | "Am frithealaiche a-mach (SMTP)". + +# LOCALIZATION NOTE (errorIllegalLocalPart2): %s is an email address with an illegal localpart +errorIllegalLocalPart2=Tha caractaran taobh a-muigh ASCII sa phàirt ionadail de sheòladh an fhaighteir %s agus cha chuir am frithealaiche agad taic ri SMTPUTF8. Atharraich an seòladh seo is feuch ris a-rithist. + +## Strings used for the save message dialog shown when the user closes a message compose window +saveDlogTitle=Sàbhail an teachdaireachd + +## LOCALIZATION NOTE (saveDlogMessages3): Do not translate the words %1$S and \n. +## %1$S is replaced by the folder name configured for saving drafts (typically the "Drafts" folder). +## Translate "Write" to match the translation of item "windowTitleWrite" below. +saveDlogMessages3=A bheil thu airson an teachdaireachd seo a shàbhaladh ann am pasgan nan dreachdan agad (%1$S) is uinneag an sgrìobhaidh a dhùnadh? +discardButtonLabel=&Tilg air falbh na h-atharraichean + +## generics string +defaultSubject=(gun chuspair) +chooseFileToAttach=Cuir faidhle/faidhlichean ris +genericFailureExplanation=Dèan cinnteach gu bheil roghainnean a' chunntais agad ceart is feuch ris a-rithist. + +## LOCALIZATION NOTE (undisclosedRecipients): this string must use only US_ASCII characters +undisclosedRecipients=faightearan gun sealltainn + +# LOCALIZATION NOTE (chooseFileToAttachViaCloud): %1$S is the cloud +# provider to save the file to. +chooseFileToAttachViaCloud=Ceangail faidhle no faidhlichean ris le %1$S + +## Window titles +# LOCALIZATION NOTE (windowTitleWrite): +# %1$S is the message subject. +# %2$S is the application name. +# Example: Write: Re: Invitation - Thunderbird +windowTitleWrite=Sgrìobh: %1$S - %2$S +# LOCALIZATION NOTE (windowTitlePrintPreview): +# %1$S is the message subject. +# %2$S is the application name. +# Example: Print Preview: Re: Invitation - Thunderbird +windowTitlePrintPreview=Ro-shealladh clò-bhualaidh: %1$S - %2$S + +## From field +msgIdentityPlaceholder=Cuir a‑steach seòladh “O” gnàthaichte an àite %S +customizeFromAddressTitle=Gnàthaich an seòladh “O” +customizeFromAddressWarning=Ma chuireas solaraiche a’ phuist‑d agad taic ris, is urrainn dhut an seòladh on dig am post‑d atharrachadh gun fheum air dearbh‑aithne ùr ann an roghainnean a’ chunntais. Mar eisimpleir, mas e Calum MacCaluim <calum@example.com> an seòladh “O” àbhaisteach agad is ma tha thu airson ’s gun nochd e mar Calum Sheumais <calum‑sheumais@example.com> no Calum <calum@example.com> dìreach an triop seo. +customizeFromAddressIgnore=Na faighnich dhìom a-rithist + +## Strings used by the empty subject dialog +subjectEmptyTitle=Cuimhniche a' chuspair +subjectEmptyMessage=Chan eil cuspair aig do theachdaireachd fhathast. +sendWithEmptySubjectButton=Cuir as aonai&s cuspair +cancelSendingButton=Sguir dhen a &chur + +## Strings used by the dialog that informs about the lack of newsgroup support. +noNewsgroupSupportTitle=Buidheann-naidheachd gun taic ris +recipientDlogMessage=Chan eil an cunntas seo a' cur taic ach ri faightearan puist-dhealain. Ma leanas tu ort, thèid buidhnean-naidheachd an leigeil seachad. + +## Strings used by the alert that tells the user that an email address is invalid. +addressInvalidTitle=Seòladh mì-dligheach an fhaighteir +addressInvalid=Chan eil %1$S 'na sheòladh puist-dhealain a chionn 's nach eil e dhen chruth cleachdaiche@ostair. Bidh agad ri seo a chur ceart mus cuir thu am post-dealain. + +## String used by the dialog that asks the user to attach a web page +attachPageDlogTitle=Sònraich seòladh a thèid a chur ris +attachPageDlogMessage=Duilleag-lìn (URL): + +## String used for attachment pretty name, when the attachment is a message +messageAttachmentSafeName=Teachdaireachd a chaidh a chur ris + +## String used for attachment pretty name, when the attachment is a message part +partAttachmentSafeName=Pàirt de theachdaireachd a chaidh a chur ris + +# LOCALIZATION NOTE (attachmentBucketAttachFilesTooltip): +# This tooltip should be same as attachFile.label in messengercompose.dtd, +# but without ellipsis (…). +attachmentBucketAttachFilesTooltip=Cuir faidhle/faidhlichean ris +attachmentBucketClearSelectionTooltip=Falamhaich an taghadh +attachmentBucketHeaderShowTooltip=Seall leòsan nan ceanglachan +attachmentBucketHeaderMinimizeTooltip=Fìor-lùghdaich leòsan nan ceanglachan +attachmentBucketHeaderRestoreTooltip=Aisig leòsan nan ceanglachan + +## String used by the Initialization Error dialog +initErrorDlogTitle=Sgrìobh teachdaireachd +initErrorDlgMessage=Thachair mearachd rè cruthachadh na teachdaireachd san uinneag sgrìobhaidh. Feuch ris a-rithist. + +## String used if a file to attach does not exist when passed as +## a command line argument +errorFileAttachTitle=Cuir faidhle ris + +## LOCALIZATION NOTE (errorFileAttachMessage): %1$S will be replaced by the non-existent file name. +errorFileAttachMessage=Chan eil am faidhle %1$S ann agus cha ghabh a chur ris an teachdaireachd mar sin. + +## String used if a file to serve as message body does not exist or cannot be loaded when passed +## as a command line argument +errorFileMessageTitle=Faidhle na teachdaireachd + +## LOCALIZATION NOTE (errorFileMessageMessage): %1$S will be replaced by the non-existent file name. +errorFileMessageMessage=Chan eil am faidhle %1$S ann agus cha ghabh a chleachdadh mar bhodhaig teachdaireachd. + +## LOCALIZATION NOTE (errorLoadFileMessageMessage): %1$S will be replaced by the name of the file that can't be loaded. +errorLoadFileMessageMessage=Cha b’ urrainn dhuinn am faidhle %1$S a luchdadh mar bhodhaig teachdaireachd. + +## Strings used by the Save as Draft/Template dialog +SaveDialogTitle=Sàbhail an teachdaireachd + +## LOCALIZATION NOTE (SaveDialogMsg): %1$S is the folder name, %2$S is the host name +SaveDialogMsg=Chaidh do theachaireachd a shàbhaladh dhan phasgan %1$S fo %2$S. +CheckMsg=Na seall am bogsa conaltraidh seo dhomh a-rithist. + +## Strings used by the prompt when Quitting while in progress +quitComposeWindowTitle=A' cur na teachdaireachd + +## LOCALIZATION NOTE (quitComposeWindowMessage2): don't translate \n +quitComposeWindowMessage2=Tha %1$S a' cur teachdaireachd an-dràsta fhèin.\nA bheil thu airson feitheamh gus am bi an teachdaireachd air a chur mus fàg thu an-seo no a bheil thu airson an-seo fhàgail sa bhad? +quitComposeWindowQuitButtonLabel2=&Fàg an-seo +quitComposeWindowWaitButtonLabel2=&Fuirich +quitComposeWindowSaveTitle=A' sàbhaladh na teachdaireachd + +## LOCALIZATION NOTE (quitComposeWindowSaveMessage): don't translate \n +quitComposeWindowSaveMessage=Tha %1$S a' sàbhaladh teachdaireachd an-dràsta fhèin.\nA bheil thu airson feitheamh gus an deach an teachdaireachd a shàbhaladh mus fàg thu an-seo no a bheil thu airson fàgail sa bhad? + +## Strings used by the prompt for Ctrl-Enter check before sending message +sendMessageCheckWindowTitle=Cuir an teachdaireachd +sendMessageCheckLabel=A bheil thu cinnteach gu bheil thu airson an teachdaireachd seo a chur an-dràsta? +sendMessageCheckSendButtonLabel=Cuir +assemblingMessageDone=A' cur na teachdaireachd ri chèile…Deiseil +assemblingMessage=A' cur na teachdaireachd ri chèile… +smtpDeliveringMail=A' libhrigeadh a' phuist… +smtpMailSent=Chaidh an teachdaireachd a chur +assemblingMailInformation=A' cruinneachadh an fhiosrachaidh phuist… + +## LOCALIZATION NOTE (gatheringAttachment): argument %S is the file name/URI of attachment +gatheringAttachment=A' ceangal %S ris… +creatingMailMessage=A' cruthachadh na teachdaireachd puist… + +## LOCALIZATION NOTE (copyMessageStart): argument %S is the folder name +copyMessageStart=A' cur lethbhreac dhen teachdaireachd gun phasgan %S… +copyMessageComplete=Deiseil leis an lethbhreac. +copyMessageFailed=Dh'fhàillig an lethbhreac. +filterMessageComplete=Tha an criathradh deiseil. +filterMessageFailed=Dh'fhàillig an criathradh. + +## LOCALIZATION NOTE (largeMessageSendWarning): +## Do not translate %S. It is the size of the message in user-friendly notation. +largeMessageSendWarning=Rabhadh! Tha thu an impis teachdaireachd a chur a tha %S. A bheil thu cinnteach gu bheil thu airson seo a dhèanamh? +sendingMessage=A' cur na teachdaireachd… +sendMessageErrorTitle=Mearachd le cur na teachdaireachd +postingMessage=A' postadh na teachdaireachd… +sendLaterErrorTitle=Mearachd le cur na teachdaireachd uaireigin eile +saveDraftErrorTitle=Mearachd le sàbhaladh an dreachd +saveTemplateErrorTitle=Mearachd le sàbhaladh na teamplaide + +## LOCALIZATION NOTE (failureOnObjectEmbeddingWhileSaving): argument %.200S is the file name/URI of object to be embedded +failureOnObjectEmbeddingWhileSaving=Bha mearachd ann le bhith a' gabhail a-steach an fhaidhle %.200S san teachdaireachd. A bheil thu airson leantainn ort le sàbhaladh na teachdaireachd ach as aonais an fhaidhle seo? + +## LOCALIZATION NOTE (failureOnObjectEmbeddingWhileSending): argument %.200S is the file name/URI of object to be embedded +failureOnObjectEmbeddingWhileSending=Bha mearachd ann le bhith a' gabhail a-steach an fhaidhle %.200S san teachdaireachd. A bheil thu airson leantainn ort le cur na teachdaireachd ach as aonais an fhaidhle seo? +returnToComposeWindowQuestion=A bheil thu airson tilleadh an uinneag sgrìobhaidh? + +## reply header in composeMsg +## LOCALIZATION NOTE (mailnews.reply_header_authorwrotesingle): #1 is the author (name of the person replying to) +mailnews.reply_header_authorwrotesingle=Sgrìobh #1 na leanas: + +## LOCALIZATION NOTE (mailnews.reply_header_ondateauthorwrote): #1 is the author, #2 is the date, #3 is the time +mailnews.reply_header_ondateauthorwrote=Sgrìobh #1 na leanas #2 aig #3: + +## LOCALIZATION NOTE (mailnews.reply_header_authorwroteondate): #1 is the author, #2 is the date, #3 is the time +mailnews.reply_header_authorwroteondate=Sgrìobh #1 na leanas #2 aig #3: + +## reply header in composeMsg +## user specified +mailnews.reply_header_originalmessage=-------- An teachdaireachd thùsail -------- + +## forwarded header in composeMsg +## user specified +mailnews.forward_header_originalmessage=-------- An teachdaireachd a tha ’ga shìneadh air adhart -------- + +## Strings used by the rename attachment dialog +renameAttachmentTitle=Cuir ainm ùr air a' cheanglachan +renameAttachmentMessage=Ainm ùr a' cheanglachain: + +## Attachment Reminder +## LOCALIZATION NOTE (mail.compose.attachment_reminder_keywords): comma separated +## words that should trigger an attachment reminder. +mail.compose.attachment_reminder_keywords=.doc,.pdf,attachment,attach,attached,attaching,enclosed,CV,cover letter,ceanglachan,cheanglachan,ceanglachain,cheanglachain,leasachan,leasachain,an cois,ri linn + +remindLaterButton=Cuir 'nam chuimhne an ceann tamaill +remindLaterButton.accesskey=m +disableAttachmentReminderButton=Cuir an cuimhneachan mu cheanglachain à comas san teachdaireachd seo +attachmentReminderTitle=Cuimhniche nan ceanglachan +attachmentReminderMsg=Saoil an do dhìochuimhnich thu ceanglachan a chur ris? + +# LOCALIZATION NOTE (attachmentReminderKeywordsMsgs): Semi-colon list of plural forms. +# See: https://developer.mozilla.org/en/Localization_and_Plurals +# #1 number of keywords +attachmentReminderKeywordsMsgs=Chaidh facal a lorg a tha a' cur 'nar sùilean gu bheil dùil agad ceanglachan a chur ris:;Chaidh #1 fhacal a lorg a tha a' cur 'nar sùilean gu bheil dùil agad ceanglachan a chur ris:;Chaidh #1 faclan a lorg a tha a' cur 'nar sùilean gu bheil dùil agad ceanglachan a chur ris:;Chaidh #1 facal a lorg a tha a' cur 'nar sùilean gu bheil dùil agad ceanglachan a chur ris: +attachmentReminderOptionsMsg='S urrainn dhut na faclan a shònrachadh anns na roghainnean agad air a dh'aithnichear am prògram gu bheil dùil agad ri ceanglachan a cur ris +attachmentReminderYesIForgot=Ò, saoilidh mi gun do dhìochuimhnich! +attachmentReminderFalseAlarm=Cha do dhìochuimhnich, cuir a-null mo theachdaireachd an-dràsta + +# Strings used by the Filelink offer notification bar. +learnMore.label=Barrachd fiosrachaidh… +learnMore.accesskey=B + +# LOCALIZATION NOTE (bigFileDescription): Semi-colon list of plural forms. +# See: https://developer.mozilla.org/en/Localization_and_Plurals +# #1 number of big attached files +bigFileDescription=’S e faidhle mòr a tha seo. ’S mathaid gum b’ fheairrde dhut Filelink a chleachdadh ’na àite.;’S e faidhlichean mòra a tha seo. ’S mathaid gum b’ fheairrde dhut Filelink a chleachdadh ’na àite.;’S e faidhle mòr a tha seo. ’S mathaid gum b’ fheairrde dhut Filelink a chleachdadh ’na àite.;’S e faidhlichean mòra a tha seo. ’S mathaid gum b’ fheairrde dhut Filelink a chleachdadh ’na àite. +bigFileShare.label=Ceangal +bigFileShare.accesskey=l +bigFileAttach.label=Leig seachad +bigFileAttach.accesskey=i +bigFileChooseAccount.title=Tagh cunntas +bigFileChooseAccount.text=Tagh cunntas neòil a thèid an ceanglachan a luchdadh suas dha +bigFileHideNotification.title=Na luchdaich suas na faidhlichean agam +bigFileHideNotification.text=Chan fhaigh thu brath tuilleadh ma cheanglas tu barrachd fhaidhlichean mòra ris an teachdaireachd seo. +bigFileHideNotification.check=Na faighnich dhìom seo a-rithist. + +# LOCALIZATION NOTE(cloudFileUploadingTooltip): Do not translate the string +# %S. %S is the display name for the cloud account the attachment is being +# uploaded to. +cloudFileUploadingTooltip=@ga luchdadh suas gu %S… + +# LOCALIZATION NOTE(cloudFileUploadedTooltip): Do not translate the string +# %S. %S is the display name for the cloud account the attachment was uploaded +# to. +cloudFileUploadedTooltip=Air a luchdadh suas gu %S +cloudFileUploadingNotification=Tha am faidhle agad 'ga cheangal an-dràsta fhèin. Nochdaidh e ann am bodhaig na teachdaireachd nuair a bhios e deiseil.;Tha na faidhlichean agad 'ga cheangal an-dràsta fhèin. Nochdaidh iad ann am bodhaig na teachdaireachd nuair a bhios iad deiseil. +cloudFileUploadingCancel.label=Sguir dheth +cloudFileUploadingCancel.accesskey=e +cloudFilePrivacyNotification=Tha an ceangladh deiseil. Dh'fhaoidte gum faigh daoine eile greim air na ceanglachain a tha ris ma nì iad tomhas air na ceanglaichean no ma chì iad iad. + +## LOCALIZATION NOTE(smtpEnterPasswordPrompt): Do not translate the +## word %S. Place the word %S where the host name should appear. +smtpEnterPasswordPrompt=Cuir a-steach am facal-faire agad airson %S: + +## LOCALIZATION NOTE(smtpEnterPasswordPromptWithUsername): Do not translate the +## words %1$S and %2$S. Place the word %1$S where the host name should appear, +## and %2$S where the user name should appear. +smtpEnterPasswordPromptWithUsername=Cuir a-steach am facal-faire agad airson %2$S air %1$S: +## LOCALIZATION NOTE(smtpEnterPasswordPromptTitleWithHostname): Do not translate the +## word %1$S. Place the word %1$S where the server host name should appear. +smtpEnterPasswordPromptTitleWithHostname=Tha am frithealaiche a-mach (SMTP) %1$S ag iarraidh facal-faire + +# LOCALIZATION NOTE (removeAttachmentMsgs): Semi-colon list of plural forms. +# See: https://developer.mozilla.org/en/Localization_and_Plurals +removeAttachmentMsgs=Thoir air falbh an ceanglachan;Thoir air falbh an dà cheanglachan;Thoir air falbh na ceanglachain;Thoir air falbh na ceanglachain + +## LOCALIZATION NOTE(promptToSaveSentLocally2): Do not translate the strings %1$S, %2$S, %3$S and \n. +## %2$S will be replaced with the account name. $1$S will be replaced by the folder name +## configured to contain saved sent messages (typically the "Sent" folder). +## %3$S will be replaced with the local folders account name (typically "Local Folders"). +## Translate "Write" to match the translation of item "windowTitleWrite" above. +promptToSaveSentLocally2=Chaidh an teachdaireachd agad a chur ach cha deach lethbhreac dhi a chur ri pasgan a’ phuist chuirte agad (%1$S) ri linn mearachd lìonraidh no le ceadan inntrigeadh fhaidhle.\n’S urrainn dhut fheuchainn a-rithist no an teachdaireachd a shàbhaladh gu %3$S/%1$S-%2$S gu h-ionadail. +errorFilteringMsg=Chaidh do theachdaireachd a chur 's a shàbhaladh ach bha mearachd ann leis a chriathradh. +errorCloudFileAuth.title=Mearachd ùghdarrachaidh + +## LOCALIZATION NOTE(promptToSaveDraftLocally2): Do not translate the strings %1$S, %2$S, %3$S and \n. +## %2$S will be replaced with the account name. $1$S will be replaced by the folder name +## configured to contain saved draft messages (typically the "Drafts" folder). +## %3$S will be replaced with the local folders account name (typically "Local Folders"). +promptToSaveDraftLocally2=Cha deach lethbhreac dhen dreachd dhen teachdaireachd agad a chur ri pasgan nan dreachdan agad (%1$S) ri linn mearachd lìonraidh no le ceadan inntrigeadh fhaidhle.\n’S urrainn dhut fheuchainn a-rithist no an dreachd a shàbhaladh gu %3$S/%1$S-%2$S gu h-ionadail. +buttonLabelRetry2=Feuch ris a-&rithist + +## LOCALIZATION NOTE(promptToSaveTemplateLocally2): Do not translate the strings %1$S, %2$S, %3$S and \n. +## %2$S will be replaced with the account name. $1$S will be replaced by the folder name +## configured to contain saved templates (typically the "Templates" folder). +## %3$S will be replaced with the local folders account name (typically "Local Folders"). +promptToSaveTemplateLocally2=Cha deach lethbhreac dhen teamplaid agad a chur ri pasgan nan teamplaidean agad (%1$S) ri linn mearachd lìonraidh no le ceadan inntrigeadh fhaidhle.\n’S urrainn dhut fheuchainn a-rithist no an teamplaid a shàbhaladh gu %3$S/%1$S-%2$S gu h-ionadail. + +## LOCALIZATION NOTE(saveToLocalFoldersFailed): Message appears after normal +## save fails (e.g., to Sent) and save to Local Folders also fails. This could +## occur if network is down and filesystem problems are present such as disk +## full, permission issues or hardware failure. +saveToLocalFoldersFailed=Cha ghabh do theachdaireachd a shàbhaladh sna pasganan ionadail. Dh’fhaoidte nach eil àite air fhàgail airson faidhlichean. + +## LOCALIZATION NOTE(errorCloudFileAuth.message): +## %1$S is the name of the online storage service against which the authentication failed. +errorCloudFileAuth.message=Cha ghabh ùghdarrachadh a dhèanamh le %1$S. +errorCloudFileUpload.title=Mearachd 'ga luchdadh suas + +## LOCALIZATION NOTE(errorCloudFileUpload.message): +## %1$S is the name of the online storage service against which the uploading failed. +## %2$S is the name of the file that failed to upload. +errorCloudFileUpload.message=Cha ghabh %2$S a luchdadh suas gu %1$S. +errorCloudFileQuota.title=Mearachd cuota + +## LOCALIZATION NOTE(errorCloudFileQuota.message): +## %1$S is the name of the online storage service being uploaded to. +## %2$S is the name of the file that could not be uploaded due to exceeding the storage limit. +errorCloudFileQuota.message=Bhiodh barrachd na tha ceadaichte dhut air %1$S nan luchdaicheamaid suas %2$S. +errorCloudFileLimit.title=Mearachd a thaobh meud an fhaidhle + +## LOCALIZATION NOTE(errorCloudFileLimit.message): +## %1$S is the name of the online storage service being uploaded to. +## %2$S is the name of the file that could not be uploaded due to size restrictions. +errorCloudFileLimit.message=Tha %2$S a' dol thairis a' mheud as motha a tha ceadaichte air %1$S. +errorCloudFileOther.title=Mearachd neo-aithnichte + +## LOCALIZATION NOTE(errorCloudFileOther.message): +## %1$S is the name of the online storage service that cannot be communicated with. +errorCloudFileOther.message=Thachair mearachd neo-aithnichte nuair a bha sinn a' conaltradh le %1$S. +errorCloudFileDeletion.title=Mearachd 'ga sguabadh às + +## LOCALIZATION NOTE(errorCloudFileDeletion.message): +## %1$S is the name of the online storage service that the file is to be deleted from. +## %2$S is the name of the file that failed to be deleted. +errorCloudFileDeletion.message=Thachair mearachd nuair a bha sinn airson %2$S a sguabadh à %1$S. +errorCloudFileUpgrade.label=Àrdaich + +## LOCALIZATION NOTE(stopShowingUploadingNotification): This string is used in the Filelink +## upload notification bar to allow the user to dismiss the notification permanently. +stopShowingUploadingNotification.accesskey=N +stopShowingUploadingNotification.label=Na seall seo a-rithist +replaceButton.label=Cuir ’na àite... +replaceButton.accesskey=x +replaceButton.tooltip=Seall an còmhradh leis an urrainn dhut rudan a lorg 's a chur 'nan àite + +## LOCALIZATION NOTE(blockedAllowResource): %S is the URL to load. +blockedAllowResource=Dì-bhac %S +## LOCALIZATION NOTE (blockedContentMessage): Semi-colon list of plural forms. +## See: https://developer.mozilla.org/en/docs/Localization_and_Plurals +## %S will be replaced by brandShortName. +## Files must be unblocked individually, therefore the plural form reads: +## Unblocking a file (one of several) will include it (that one file) in your sent message. +## In other words: +## Unblocking one/several file(s) will include it/them in your message. +blockedContentMessage=Bhac %S luchdadh de dh’fhaidhle dhan teachdaireachd seo. Ma bheir thu am bacadh air falbh, thèid a ghabhail a-staigh san teachdaireachd nuair a chuireas tu e.;Bhac %S luchdadh de dh’fhaidhlichean dhan teachdaireachd seo. Ma bheir thu am bacadh air falbh, thèid a ghabhail a-staigh san teachdaireachd nuair a chuireas tu e.;Bhac %S luchdadh de dh’fhaidhlichean dhan teachdaireachd seo. Ma bheir thu am bacadh air falbh, thèid a ghabhail a-staigh san teachdaireachd nuair a chuireas tu e.;Bhac %S luchdadh de dh’fhaidhlichean dhan teachdaireachd seo. Ma bheir thu am bacadh air falbh, thèid a ghabhail a-staigh san teachdaireachd nuair a chuireas tu e. + +blockedContentPrefLabel=Roghainnean +blockedContentPrefAccesskey=O + +blockedContentPrefLabelUnix=Roghainnean +blockedContentPrefAccesskeyUnix=P + +## Recipient pills fields. +## LOCALIZATION NOTE(confirmRemoveRecipientRowTitle2): %S will be replaced with the field name. +confirmRemoveRecipientRowTitle2=Thoir air falbh seòlaidhean %S +## LOCALIZATION NOTE(confirmRemoveRecipientRowBody2): %S will be replaced with the field name. +confirmRemoveRecipientRowBody2=A bheil thu cinnteach gu bheil thu airson na seòlaidhean %S a thoirt air falbh? +confirmRemoveRecipientRowButton=Thoir air falbh + +## LOCALIZATION NOTE headersSpaceStyle is for aligning label of a newly create recipient row. +## It should be larger than the largest Header label and identical to &headersSpace2.style; +headersSpaceStyle=width: 8em + +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/editor.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/editor.properties new file mode 100644 index 0000000000000000000000000000000000000000..6bccb8309c429ccb8959783f2af54483a6453319 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/editor.properties @@ -0,0 +1,208 @@ +# 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/. + +# LOCALIZATION NOTE FILE: embedded "\n" represent HTML breaks (<br>) +# Don't translate embedded "\n". +# Don't translate strings like this: %variable% +# as they will be replaced using JavaScript +# +No=Cha bu toigh l' +Save=Sàbhail +More=Barrachd +Less=Nas lugha +MoreProperties=Barrachd roghainnean +FewerProperties=Nas lugha de roghainnean +PropertiesAccessKey=P +None=Chan eil gin +none=chan eil gin +OpenHTMLFile=Fosgail faidhle HTML +OpenTextFile=Fosgail faidhle teacsa +SelectImageFile=Tagh faidhle deilbh +SaveDocument=Sàbhail an duilleag +SaveDocumentAs=Sàbhail an duilleag mar +SaveTextAs=Sàbhail an teacsa mar +EditMode=Am modh deasachaidh +Preview=Ro-sheall +Publish=Foillsich +PublishPage=Foillsich an duilleag +DontPublish=Na foillsich +SavePassword=Cleachd manaidsear nam faclan-faire gus am facal-faire seo a shàbhaladh +CorrectSpelling=(an litreachadh ceart) +NoSuggestedWords=(gun fhaclan molta) +NoMisspelledWord=Gun fhacal air a dhroch litreachadh +CheckSpellingDone=Tha ceartachadh an litreachaidh deiseil. +CheckSpelling=Ceartaich an litreachadh +InputError=Mearachd +Alert=Caismeachd +CantEditFramesetMsg=Chan urrainn dhan deasaichear HTML Framesets a dheasachadh no duilleagan anns a bheil frèamaichean ion-loidhne. Airson Framesets, feuch ri duilleag gach frèam a dheasachadh 'na aonar. Airson duilleagan le iframes, sàbhail lethbhreac dhen duilleag is thoir air falbh an taga <iframe>. +CantEditMimeTypeMsg=Cha ghabh a leithid seo de dhuilleag a dheasachadh. +CantEditDocumentMsg=Cha ghabh an duilleag seo a dheasachadh air sgàth adhbhair neo-aithnichte. +BeforeClosing=mus dèid a dhùnadh +BeforePreview=mus dèid a shealltainn sa bhrabhsair +BeforeValidate=mus dèid an sgrìobhainn a dhearbhadh +# LOCALIZATION NOTE (SaveFilePrompt, PublishPrompt): Don't translate %title% and %reason% (this is the reason for asking user to close, such as "before closing") +SaveFilePrompt=A bheil thu airson na dh'atharraich thu a shàbhaladh gu "%title%" %reason%?\u0020 +PublishPrompt=A bheil thu airson na dh'atharraich thu a shàbhaladh gu "%title%" %reason%?\u0020 +SaveFileFailed=Dh'fhàillig sàbhaladh an fhaidhle! + +# Publishing error strings: +# LOCALIZATION NOTE Don't translate %dir% or %file% in the Publishing error strings: +FileNotFound=Cha deach am faidhle %file% a lorg. +SubdirDoesNotExist=Chan eil am fo-phasgan "%dir%" ann air an làrach seo no tha an t-ainm "%file%" 'ga chleachdadh ann am fo-phasgan eile mu thràth. +FilenameIsSubdir=Tha an t-ainm "%file%" 'ga chleachdadh ann am fo-phasgan eile mu thràth. +ServerNotAvailable=Chan eil am frithealaiche ri fhaighinn. Cuir sùil air a' cheangal agad 's feuch ris a-rithist an ceann tamaill. +Offline=Tha thu far loidhne an-dràsta. Briog air an ìomhaigheag air an taobh dheis aig bun uinneig sam bith gus a dhol air loidhne. +DiskFull=Chan eil àite gu leòr air an diosg gus am faidhle "%file%" a shàbhaladh. +NameTooLong=Tha an t-ainm airson an fhaidhle no an fho-phasgan ro fhada. +AccessDenied=Chan eil cead foillseachaidh agad san àite seo. +UnknownPublishError=Thachair mearachd foillseachaidh neo-aithnichte. +PublishFailed=Dh'fhàillig am foillseachadh. +PublishCompleted=Deiseil leis an fhoillseachadh. +AllFilesPublished=Chaigh a h-uile faidhle fhoillseachadh +# LOCALIZATION NOTE Don't translate %x% or %total% +FailedFileMsg=Dh'fhàillig foillseachadh de %x% faidhlichean à %total%. +# End-Publishing error strings +Prompt=Smèid orm +# LOCALIZATION NOTE (PromptFTPUsernamePassword): Don't translate %host% +PromptFTPUsernamePassword=Cuir a-steach an t-ainm-cleachdaiche 's am facal-faire airson an fhrithealaiche FTP aig %host% +RevertCaption=Aisig an tionndadh mu dheireadh a chaidh a shàbhaladh +Revert=Aisig +SendPageReason=mus dèid an duilleag seo a chur +Send=Cuir +## LOCALIZATION NOTE (PublishProgressCaption, PublishToSite, AbandonChanges): Don't translate %title% +PublishProgressCaption=A' foillseachadh: %title% +PublishToSite=A' foillseachadh dhan làrach: %title% +AbandonChanges=A bheil thu airson na h-atharrachaidhean a chuir thu air "%title%" ach nach deach a shàbhaladh a thrèigsinn 's an duilleag ath-luchdadh? +DocumentTitle=Tiotal na duilleige +NeedDocTitle=Cuir a-steach tiotal airson na duilleige làithreach. +DocTitleHelp=Aithnichear an duilleag seo air a h-ainm ann an tiotal na h-uinneige agus sna comharran-lìn. +CancelPublishTitle=Sguir dhen fhoillseachadh? +## LOCALIZATION NOTE: "Continue" in this sentence must match the text for +## the CancelPublishContinue key below +CancelPublishMessage=Ma sguireas tu dhen fhoillseachadh fhad 's a tha e a' dol, faodaidh nach deach ach pàirt dhe na faidhlichean agad a thar-aiseag. A bheil thu airson leantainn ort no sguir dheth? +CancelPublishContinue=Lean air adhart +MissingImageError=Cuir a-steach, no tagh, dealbh dhen t-seòrsa gif, jpg no png. +EmptyHREFError=Tagh àite airson ceangal ùr a chruthachadh. +LinkText=Teacsa a' cheangail +LinkImage=Dealbh a' cheangail +MixedSelection=[Taghadh measgaichte] +Mixed=(measgaichte) +# LOCALIZATION NOTE (NotInstalled): %S is the name of the font +NotInstalled=%S (cha deach a stàladh) +EnterLinkText=Cuir a-steach an teacsa a chithear sa cheangal: +EnterLinkTextAccessKey=T +EmptyLinkTextError=Cuir a-steach teacsa airson a' cheangail seo. +EditTextWarning=Thèid seo an àite susbaint a tha ann mu thràth. +#LOCALIZATION NOTE (ValidateNumber):Don't translate: %n% %min% %max% +ValidateRangeMsg=Tha an àireamh a chuir thu a-steach (%n%) taobh a-muigh an raoin cheadaichte. +ValidateNumberMsg=Cuir a-steach àireamh eadar %min% is %max%. +MissingAnchorNameError=Cuir a-steach ainm airson na h-acrach seo. +#LOCALIZATION NOTE (DuplicateAnchorNameError): Don't translate %name% +DuplicateAnchorNameError=Tha "%name%" ann mu thràth san duilleag seo. Cuir a-steach ainm eile. +BulletStyle=Seòrsa nam peilear +SolidCircle=Cearcall soladach +OpenCircle=Cearcall falamh +SolidSquare=Ceàrnag sholadach +NumberStyle=Stoidhle nan àireamh +Automatic=Leis fhèin +Style_1=1, 2, 3… +Style_I=I, II, III… +Style_i=i, ii, iii… +Style_A=A, B, C… +Style_a=a, b, c… +Pixels=pixel +Percent=ceudad +PercentOfCell=% dhen chealla +PercentOfWindow=% dhen uinneag +PercentOfTable=% dhen chlàr +#LOCALIZATION NOTE (untitledTitle): %S is the window #. No plural handling needed. +untitledTitle=gun tiotal-%S +untitledDefaultFilename=gun tiotal +ShowToolbar=Seall am bàr-inneal +HideToolbar=Cuir am bàr-inneal am falach +ImapError=Cha ghabh an dealbh a luchdadh\u0020 +ImapCheck=\nTagh seòladh ùr (URL) is feuch ris a-rithist. +SaveToUseRelativeUrl=Chan urrainn dhut URL dàimheach a chleachdadh ach air duilleag a tha chaidh a shàbhaladh +NoNamedAnchorsOrHeadings=(chan eil acair ainmichte no ceann-sgrìobhadh air an duilleag seo) +TextColor=Dath an teacsa +HighlightColor=An dath soillseachaidh +PageColor=Dath cùlaibh na duilleige +BlockColor=Dath cùlaibh a' bhloca +TableColor=Dath cùlaibh a' chlàir +CellColor=Dath cùlabh na cealla +TableOrCellColor=Dath clàir no cealla +LinkColor=Dath teacsa nan ceangail +ActiveLinkColor=Dath ceagail bheò +VisitedLinkColor=Dath ceangail a chaidh a chleachdadh +NoColorError=Briog air dath no cuir a-steach sreang datha HTML dligheach +Table=Clàr +TableCell=Cealla a' chlàir +NestedTable=Clàr am broinn clàir +HLine=Loidhne chòmhnard +Link=Ceangal +Image=Dealbh +ImageAndLink=Dealbh is ceangal +NamedAnchor=Acair ainmichte +List=Liosta +ListItem=Ball dhen liosta +Form=Foirm +InputTag=Raon an fhoirm +InputImage=Dealbh an fhoirm +TextArea=Raon teacsa +Select=Liosta taghaidh +Button=Putan +Label=Leubail +FieldSet=Raon sheataichean +Tag=Taga +MissingSiteNameError=Cuir a-steach ainm airson na làraich foillseachaidh seo. +MissingPublishUrlError=Cuir a-steach seòladh a chum foillseachadh na duilleige seo. +MissingPublishFilename=Cuir a-steach ainm faidhle airson na duilleige làithreach. +#LOCALIZATION NOTE (DuplicateSiteNameError): Don't translate %name% +DuplicateSiteNameError=Tha "%name%" ann mu thràth. Cuir a-steach ainm eile airson na làraich. +AdvancedProperties=Roghainnean adhartach… +AdvancedEditForCellMsg=Cha bhi an deasachadh adhartach ri fhaighinn nuair a bhios tu air iomadh cealla a thaghadh +# LOCALIZATION NOTE (ObjectProperties):Don't translate "%obj%" it will be replaced with one of above object nouns +ObjectProperties=Roghainnean %obj%… +# LOCALIZATION NOTE This character must be in the above string and not confict with other accesskeys in Format menu +ObjectPropertiesAccessKey=o +# LOCALIZATION NOTE (JoinSelectedCells): This variable should contain the "tableJoinCells.accesskey" +# letter as defined in editorOverlay.dtd +JoinSelectedCells=Coimeasgaich na ceallan a thagh thu +# LOCALIZATION NOTE (JoinCellToRight): This variable should contain the "tableJoinCells.accesskey" +# letter as defined in editorOverlay.dtd +JoinCellToRight=Coimeasgaich leis a' chealla air an taobh dheis +JoinCellAccesskey=j +# LOCALIZATION NOTE (TableSelectKey): Ctrl key on a keyboard +TableSelectKey=Ctrl+ +# LOCALIZATION NOTE (XulKeyMac): Command key on a Mac keyboard +XulKeyMac=Cmd+ +# LOCALIZATION NOTE (Del): Del key on a keyboard +Del=Del +Delete=Sguab às +DeleteCells=Sguab às na ceallan +DeleteTableTitle=Sguab às sreathan no colbhan +DeleteTableMsg=Ma lughdaicheas tu àireamh nan sreathan no colbhan, sguabaidh seo às ceallan a' chlàir is an t-susbaint a tha annta. A bheil thu cinnteach gu bheil thu airson seo a dhèanamh? +Clear=Falamhaich +#Mouse actions +Click=Briog +Drag=Slaod +Unknown=Neo-aithnichte +# +# LOCALIZATION NOTE "RemoveTextStylesAccesskey" is used for both +# menu items: "RemoveTextStyles" and "StopTextStyles" +RemoveTextStylesAccesskey=T +RemoveTextStyles=Thoir air falbh gach stoidhle teacsa +StopTextStyles=Cuir stad air na stoidhlichean teacsa +# +# LOCALIZATION NOTE "RemoveLinksAccesskey" is used for both +# menu items: "RemoveLinks" and "StopLinks" +RemoveLinksAccesskey=n +RemoveLinks=Thoir air falbh ceanglaichean +StopLinks=Cuir stad air ceangal +# +NoFormAction=Thathar a' moladh gun cuir thu a-steach ghnìomh airson an fhoirm seo. Tha foirmichean fèin-phostach 'nan gleus adhartach nach obraich gu cunbhalach anns gach brabhsair. +NoAltText=Ma tha an dealbh iomchaidh do shusbaint na sgrìobhainne, feumaidh tu teacsa a chur ann a nochdas 'na àite ann am brabhsairean nach seall ach teacsa agus a nochdas ann am brabhsairean eile fhad 's a bhios dealbh 'ga luchdadh no ma bhios luchdadh de dhealbhan à comas. +# +Malformed=Cha b' urrainn dhuinn am bun-tùs aiseag 'na sgrìobhainn a chionn 's nach eil e 'na XHTML dligheach. +NoLinksToCheck=Chan eil eileamaidean ann aig a bheil ceanglaichean ri sgrùdadh diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/editorOverlay.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/editorOverlay.dtd new file mode 100644 index 0000000000000000000000000000000000000000..72d8a704c31af0d347bd9fab8fb826a20cadfb68 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/editorOverlay.dtd @@ -0,0 +1,314 @@ +<!-- 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/. --> + +<!-- Attn: Localization - some of the menus in this dialog directly affect mail also. --> +<!-- File menu items --> + + +<!-- Edit menu items --> + +<!ENTITY pasteNoFormatting.label "Cuir ann gun fhòrmatadh"> +<!ENTITY pasteNoFormatting.accesskey "C"> +<!ENTITY pasteNoFormatting.key "V"> +<!ENTITY pasteAsQuotationCmd.label "Cuir ann mar luaidh"> +<!ENTITY pasteAsQuotationCmd.accesskey "C"> +<!-- Insert menu items --> + +<!ENTITY insertMenu.label "Cuir a-steach"> +<!ENTITY insertMenu.accesskey "i"> +<!ENTITY insertLinkCmd2.label "Ceangal…"> +<!ENTITY insertLinkCmd2.accesskey "l"> +<!ENTITY insertLinkCmd2.key "K"> +<!ENTITY insertAnchorCmd.label "Acair ainmichte…"> +<!ENTITY insertAnchorCmd.accesskey "A"> +<!ENTITY insertImageCmd.label "Dealbh…"> +<!ENTITY insertImageCmd.accesskey "D"> +<!ENTITY insertHLineCmd.label "Loidhne chòmhnard"> +<!ENTITY insertHLineCmd.accesskey "o"> +<!ENTITY insertTableCmd.label "Clàr…"> +<!ENTITY insertTableCmd.accesskey "C"> +<!ENTITY insertHTMLCmd.label "HTML…"> +<!ENTITY insertHTMLCmd.accesskey "H"> +<!ENTITY insertMathCmd.label "Matamataig…"> +<!ENTITY insertMathCmd.accesskey "M"> +<!ENTITY insertCharsCmd.label "Caractairean is samhlaidhean…"> +<!ENTITY insertCharsCmd.accesskey "C"> +<!ENTITY insertBreakAllCmd.label "Loidhne bhàn fo dhealbh(an)"> +<!ENTITY insertBreakAllCmd.accesskey "L"> +<!-- Used just in context popup. --> + +<!ENTITY createLinkCmd.label "Cruthaich ceangal…"> +<!ENTITY createLinkCmd.accesskey "C"> +<!ENTITY editLinkCmd.label "Deasaich an ceangal ann an cumadair ùr"> +<!ENTITY editLinkCmd.accesskey "i"> +<!-- Font Face SubMenu --> + +<!ENTITY FontFaceSelect.tooltip "Tagh cruth-clò"> +<!ENTITY fontfaceMenu.label "Cruth-clò"> +<!ENTITY fontfaceMenu.accesskey "C"> +<!ENTITY fontVarWidth.label "Leud caochlaideach"> +<!ENTITY fontVarWidth.accesskey "L"> +<!ENTITY fontFixedWidth.label "Leud suidhichte"> +<!ENTITY fontFixedWidth.accesskey "L"> +<!ENTITY fontFixedWidth.key "T"> +<!ENTITY fontHelvetica.label "Helvetica, Arial"> +<!ENTITY fontHelvetica.accesskey "l"> +<!ENTITY fontTimes.label "Times"> +<!ENTITY fontTimes.accesskey "T"> +<!ENTITY fontCourier.label "Courier"> +<!ENTITY fontCourier.accesskey "C"> +<!-- Font Size SubMenu --> + +<!ENTITY FontSizeSelect.tooltip "Tagh meud a' chrutha-chlò"> +<!ENTITY decreaseFontSize.label "Nas lugha"> +<!ENTITY decreaseFontSize.accesskey "N"> +<!ENTITY decrementFontSize.key "<"> +<!-- < is above this key on many keyboards --> +<!ENTITY decrementFontSize.key2 ","> +<!ENTITY increaseFontSize.label "Nas motha"> +<!ENTITY increaseFontSize.accesskey "N"> +<!ENTITY incrementFontSize.key ">"> +<!-- > is above this key on many keyboards --> +<!ENTITY incrementFontSize.key2 "."> + +<!-- > is above this key on many keyboards --> + +<!ENTITY fontSizeMenu.label "Meud"> +<!ENTITY fontSizeMenu.accesskey "M"> +<!ENTITY size-tinyCmd.label "Beag bìodach"> +<!ENTITY size-tinyCmd.accesskey "e"> +<!ENTITY size-smallCmd.label "Beag"> +<!ENTITY size-smallCmd.accesskey "B"> +<!ENTITY size-mediumCmd.label "Meadhanach"> +<!ENTITY size-mediumCmd.accesskey "M"> +<!ENTITY size-largeCmd.label "Mòr"> +<!ENTITY size-largeCmd.accesskey "r"> +<!ENTITY size-extraLargeCmd.label "Glè mhòr"> +<!ENTITY size-extraLargeCmd.accesskey "G"> +<!ENTITY size-hugeCmd.label "Anabarrach mòr"> +<!ENTITY size-hugeCmd.accesskey "A"> +<!-- Font Style SubMenu --> + +<!ENTITY fontStyleMenu.label "Stoidhle an teacsa"> +<!ENTITY fontStyleMenu.accesskey "S"> +<!ENTITY styleBoldCmd.label "Trom"> +<!ENTITY styleBoldCmd.accesskey "T"> +<!ENTITY styleBoldCmd.key "B"> +<!ENTITY styleItalicCmd.label "Eadailteach"> +<!ENTITY styleItalicCmd.accesskey "i"> +<!ENTITY styleItalicCmd.key "I"> +<!ENTITY styleUnderlineCmd.label "Loidhne fodha"> +<!ENTITY styleUnderlineCmd.accesskey "L"> +<!ENTITY styleUnderlineCmd.key "U"> +<!ENTITY styleStrikeThruCmd.label "Loidhne troimhe"> +<!ENTITY styleStrikeThruCmd.accesskey "L"> +<!ENTITY styleSuperscriptCmd.label "Os-sgrìobhte"> +<!ENTITY styleSuperscriptCmd.accesskey "O"> +<!ENTITY styleSubscriptCmd.label "Bun-sgrìobhte"> +<!ENTITY styleSubscriptCmd.accesskey "s"> +<!ENTITY styleNonbreakingCmd.label "Do-bhriste"> +<!ENTITY styleNonbreakingCmd.accesskey "D"> +<!ENTITY styleEm.label "Cudrom"> +<!ENTITY styleEm.accesskey "C"> +<!ENTITY styleStrong.label "Cudrom nas làidire"> +<!ENTITY styleStrong.accesskey "C"> +<!ENTITY styleCite.label "Luaidh"> +<!ENTITY styleCite.accesskey "L"> +<!ENTITY styleAbbr.label "Giorrachadh"> +<!ENTITY styleAbbr.accesskey "a"> +<!ENTITY styleAcronym.label "Gearr-ainm"> +<!ENTITY styleAcronym.accesskey "r"> +<!ENTITY styleCode.label "Còd"> +<!ENTITY styleCode.accesskey "C"> +<!ENTITY styleSamp.label "Toradh sampaill"> +<!ENTITY styleSamp.accesskey "m"> +<!ENTITY styleVar.label "Caochladair"> +<!ENTITY styleVar.accesskey "C"> + +<!ENTITY formatFontColor.label "Dath an teacsa…"> +<!ENTITY formatFontColor.accesskey "c"> +<!ENTITY tableOrCellColor.label "Dath cùlaibh clàir no cealla…"> +<!ENTITY tableOrCellColor.accesskey "b"> + +<!ENTITY formatRemoveStyles.key "Y"> +<!ENTITY formatRemoveLinks.key "K"> +<!ENTITY formatRemoveNamedAnchors.label "Thoir air falbh acairean ainmichte"> +<!ENTITY formatRemoveNamedAnchors.accesskey "r"> +<!ENTITY formatRemoveNamedAnchors2.key "R"> + +<!ENTITY paragraphMenu.label "Paragraf"> +<!ENTITY paragraphMenu.accesskey "P"> +<!ENTITY paragraphParagraphCmd.label "Paragraf"> +<!ENTITY paragraphParagraphCmd.accesskey "P"> +<!ENTITY heading1Cmd.label "Ceann-sgrìobhadh 1"> +<!ENTITY heading1Cmd.accesskey "1"> +<!ENTITY heading2Cmd.label "Ceann-sgrìobhadh 2"> +<!ENTITY heading2Cmd.accesskey "2"> +<!ENTITY heading3Cmd.label "Ceann-sgrìobhadh 3"> +<!ENTITY heading3Cmd.accesskey "3"> +<!ENTITY heading4Cmd.label "Ceann-sgrìobhadh 4"> +<!ENTITY heading4Cmd.accesskey "4"> +<!ENTITY heading5Cmd.label "Ceann-sgrìobhadh 5"> +<!ENTITY heading5Cmd.accesskey "5"> +<!ENTITY heading6Cmd.label "Ceann-sgrìobhadh 6"> +<!ENTITY heading6Cmd.accesskey "6"> +<!ENTITY paragraphAddressCmd.label "Seòladh"> +<!ENTITY paragraphAddressCmd.accesskey "a"> +<!ENTITY paragraphPreformatCmd.label "Air a ro-fhòrmatadh"> +<!ENTITY paragraphPreformatCmd.accesskey "f"> +<!-- List menu items --> + +<!ENTITY formatlistMenu.label "Liosta"> +<!ENTITY formatlistMenu.accesskey "L"> +<!ENTITY noneCmd.label "Chan eil gin"> +<!ENTITY noneCmd.accesskey "n"> +<!ENTITY listBulletCmd.label "Peilearan air a bheulaibh"> +<!ENTITY listBulletCmd.accesskey "b"> +<!ENTITY listNumberedCmd.label "Àireamhan air a bheulaibh"> +<!ENTITY listNumberedCmd.accesskey "m"> +<!ENTITY listTermCmd.label "Briathar"> +<!ENTITY listTermCmd.accesskey "t"> +<!ENTITY listDefinitionCmd.label "Mìneachadh"> +<!ENTITY listDefinitionCmd.accesskey "d"> +<!ENTITY listPropsCmd.label "Roghainnean na liosta…"> +<!ENTITY listPropsCmd.accesskey "l"> + +<!ENTITY ParagraphSelect.tooltip "Tagh fòrmat paragraf"> +<!-- Shared in Paragraph, and Toolbar menulist --> +<!ENTITY bodyTextCmd.label "Teacsa na bodhaige"> +<!ENTITY bodyTextCmd.accesskey "T"> +<!-- Align menu items --> + +<!ENTITY alignMenu.label "Co-thaobhaich"> +<!ENTITY alignMenu.accesskey "a"> +<!ENTITY alignLeft.label "Clì"> +<!ENTITY alignLeft.accesskey "l"> +<!ENTITY alignLeft.tooltip "Co-thaobhaich ris an làimh chlì"> +<!ENTITY alignCenter.label "Cuir sa mheadhan"> +<!ENTITY alignCenter.accesskey "C"> +<!ENTITY alignCenter.tooltip "Co-thaobhaich sa mheadhan"> +<!ENTITY alignRight.label "Deis"> +<!ENTITY alignRight.accesskey "D"> +<!ENTITY alignRight.tooltip "Co-thaobhaich ris an làimh dheis"> +<!ENTITY alignJustify.label "Blocaich"> +<!ENTITY alignJustify.accesskey "B"> +<!ENTITY alignJustify.tooltip "Co-thaobhaich ann am bloc"> +<!-- Layer toolbar items --> + +<!ENTITY increaseIndent.label "Meudaich an eag"> +<!ENTITY increaseIndent.accesskey "i"> +<!ENTITY increaseIndent.key "]"> +<!ENTITY decreaseIndent.label "Lùghdaich an eag"> +<!ENTITY decreaseIndent.accesskey "d"> +<!ENTITY decreaseIndent.key "["> + +<!ENTITY colorsAndBackground.label "Dathan is cùlaibh na duilleige…"> +<!ENTITY colorsAndBackground.accesskey "u"> +<!-- Table Menu --> + +<!ENTITY tableMenu.label "Clàr"> +<!ENTITY tableMenu.accesskey "C"> +<!-- Select Submenu --> + +<!ENTITY tableSelectMenu.label "Tagh"> +<!ENTITY tableSelectMenu.accesskey "T"> + +<!ENTITY tableSelectMenu2.label "Tagh clàr"> +<!ENTITY tableSelectMenu2.accesskey "T"> +<!ENTITY tableInsertMenu2.label "Cuir a-steach clàr"> +<!ENTITY tableInsertMenu2.accesskey "i"> +<!ENTITY tableDeleteMenu2.label "Sguab às clàr"> +<!ENTITY tableDeleteMenu2.accesskey "S"> +<!-- Insert SubMenu --> + +<!ENTITY tableInsertMenu.label "Cuir a-steach"> +<!ENTITY tableInsertMenu.accesskey "i"> +<!ENTITY tableTable.label "Clàr"> +<!ENTITY tableTable.accesskey "C"> +<!ENTITY tableRow.label "Sreath"> +<!ENTITY tableRows.label "Sreath(an)"> +<!ENTITY tableRow.accesskey "r"> +<!ENTITY tableRowAbove.label "Sreath os a chionn"> +<!ENTITY tableRowAbove.accesskey "r"> +<!ENTITY tableRowBelow.label "Sreath fodha"> +<!ENTITY tableRowBelow.accesskey "S"> +<!ENTITY tableColumn.label "Colbh"> +<!ENTITY tableColumns.label "Colbh(an)"> +<!ENTITY tableColumn.accesskey "o"> +<!ENTITY tableColumnBefore.label "Colbh roimhe"> +<!ENTITY tableColumnBefore.accesskey "o"> +<!ENTITY tableColumnAfter.label "Colbh 'na dhèidh"> +<!ENTITY tableColumnAfter.accesskey "a"> +<!ENTITY tableCell.label "Cealla"> +<!ENTITY tableCells.label "Cealla(n)"> +<!ENTITY tableCell.accesskey "C"> +<!ENTITY tableCellContents.label "Susbaint na cealla"> +<!ENTITY tableCellContents.accesskey "n"> +<!ENTITY tableAllCells.label "Gach cealla"> +<!ENTITY tableAllCells.accesskey "a"> +<!ENTITY tableCellBefore.label "Cealla roimhe"> +<!ENTITY tableCellBefore.accesskey "C"> +<!ENTITY tableCellAfter.label "Cealla 'na dhèidh"> +<!ENTITY tableCellAfter.accesskey "C"> +<!-- Delete SubMenu --> +<!ENTITY tableDeleteMenu.label "Sguab às"> +<!ENTITY tableDeleteMenu.accesskey "S"> +<!-- text for "Join Cells" is in editor.properties + ("JoinSelectedCells" and "JoinCellToRight") + the access key must exist in both of those strings + But value must be set here for accesskey to draw properly +--> + +<!ENTITY tableJoinCells.label "j"> +<!ENTITY tableJoinCells.accesskey "j"> +<!ENTITY tableSplitCell.label "Sgoilt cealla"> +<!ENTITY tableSplitCell.accesskey "c"> +<!ENTITY convertToTable.label "Cruthaich clàr dhen taghadh"> +<!ENTITY convertToTable.accesskey "r"> +<!ENTITY tableProperties.label "Roghainnean a' chlàir…"> +<!ENTITY tableProperties.accesskey "o"> +<!-- Toolbar-only items --> + +<!ENTITY imageToolbarCmd.label "Dealbh"> +<!ENTITY imageToolbarCmd.tooltip "Cuir a-steach dealbh ùr no deasaich roghainnean an deilbh a thagh thu"> +<!ENTITY hruleToolbarCmd.label "Loidhne.ch"> +<!ENTITY hruleToolbarCmd.tooltip "Cuir a-steach loidhne chòmhnard no deasaich roghainnean na loidhne a thagh thu"> +<!ENTITY tableToolbarCmd.label "Clàr"> +<!ENTITY tableToolbarCmd.tooltip "Cuir a-steach clàr ùr no deasaich roghainnean a' chlàir a thagh thu"> +<!ENTITY linkToolbarCmd.label "Ceangal"> +<!ENTITY linkToolbarCmd.tooltip "Cuir a-steach ceangal ùr no deasaich roghainnean a' cheangail a thagh thu"> +<!ENTITY anchorToolbarCmd.label "Acair"> +<!ENTITY anchorToolbarCmd.tooltip "Cuir a-steach acair ainmichte ùr no deasaich roghainnean na h-acrach a thagh thu"> +<!ENTITY TextColorButton.tooltip "Tagh dath an teacsa"> +<!ENTITY BackgroundColorButton.tooltip "Tagh dath a' chùlaibh"> +<!-- Editor toolbar --> + +<!ENTITY absoluteFontSizeToolbarCmd.tooltip "Suidhich meud a’ chrutha-chlò"> +<!ENTITY decreaseFontSizeToolbarCmd.tooltip "Lughdaich meud a' chrutha-chlò"> +<!ENTITY increaseFontSizeToolbarCmd.tooltip "Meudaich meud a' chrutha-chlò"> +<!ENTITY boldToolbarCmd.tooltip "Trom"> +<!ENTITY italicToolbarCmd.tooltip "Eadailteach"> +<!ENTITY underlineToolbarCmd.tooltip "Loidhne fodha"> +<!ENTITY bulletListToolbarCmd.tooltip "Cleachd no thoir air falbh liosta pheilearaichte"> +<!ENTITY numberListToolbarCmd.tooltip "Cleachd no thoir air falbh liosta àireamhaichte"> +<!ENTITY outdentToolbarCmd.tooltip "Eagaich a-mach teacsa (gluais gun chlì)"> +<!ENTITY indentToolbarCmd.tooltip "Eagaich a-steach teacsa (gluais gun deis)"> +<!ENTITY AlignPopupButton.tooltip "Tagh co-thaobhachadh an teacsa"> +<!ENTITY InsertPopupButton.tooltip "Cuir a-steach ceangal, acair, dealbh, loidhne chòmhnard no clàr"> +<!ENTITY alignLeftButton.tooltip "Co-thaobhaich an teacsa a-rèir na h-oire chlì"> +<!ENTITY alignCenterButton.tooltip "Co-thaobhaich an teacsa sa mheadhan"> +<!ENTITY alignRightButton.tooltip "Co-thaobhaich an teacsa a-rèir na h-oire dheis"> +<!ENTITY alignJustifyButton.tooltip "Co-thaobhaich an teacsa a-rèir nan oirean deis is clì"> +<!-- Structure Toolbar Context Menu items --> + +<!-- TOC manipulation --> + +<!ENTITY insertTOC.label "Cuir a-steach"> +<!ENTITY insertTOC.accesskey "i"> +<!ENTITY updateTOC.label "Ùraich"> +<!ENTITY updateTOC.accesskey "r"> +<!ENTITY removeTOC.label "Thoir air falbh"> +<!ENTITY removeTOC.accesskey "r"> +<!ENTITY tocMenu.label "An clàr-innse…"> +<!ENTITY tocMenu.accesskey "A"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/mailComposeEditorOverlay.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/mailComposeEditorOverlay.dtd new file mode 100644 index 0000000000000000000000000000000000000000..8aaa7a9e8c89bb74708cc8bc5e08e320b408f1b1 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/mailComposeEditorOverlay.dtd @@ -0,0 +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/. --> + +<!ENTITY attachImageSource.label "Cuir an dealbh seo ris an teachdaireachd"> +<!ENTITY attachImageSource.accesskey "s"> + +<!ENTITY attachLinkSource.label "Cuir bun-tùs a' cheangail seo ris an teachdaireachd"> +<!ENTITY attachLinkSource.accesskey "s"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/messengercompose.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/messengercompose.dtd new file mode 100644 index 0000000000000000000000000000000000000000..a797b8ec4cc0903067e4b3b04b6ecd001f8d9fe3 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/messengercompose.dtd @@ -0,0 +1,306 @@ +<!-- 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/. --> + +<!--LOCALIZATION NOTE messengercompose.dtd Main UI for message composition --> +<!ENTITY msgComposeWindow.title "A' sgrìobhadh: (gun chuspair)"> + +<!-- File Menu --> +<!ENTITY fileMenu.label "Faidhle"> +<!ENTITY fileMenu.accesskey "F"> +<!ENTITY newMenu.label "Ùr"> +<!ENTITY newMenu.accesskey "r"> +<!ENTITY newMessage.label "Teachdaireachd"> +<!ENTITY newMessage.accesskey "M"> +<!ENTITY newMessageCmd2.key "N"> +<!ENTITY newContact.label "Neach-aithne ann an leabhar nan seòladh…"> +<!ENTITY newContact.accesskey "e"> +<!ENTITY attachMenu.label "Cuir ris"> +<!ENTITY attachMenu.accesskey "u"> +<!ENTITY attachCloudCmd.label "Filelink"> +<!ENTITY attachCloudCmd.accesskey "i"> +<!ENTITY attachPageCmd.label "Duilleag-lìn…"> +<!ENTITY attachPageCmd.accesskey "D"> +<!ENTITY remindLater.label "Cuir 'nam chuimhne an ceann tamaill"> +<!ENTITY remindLater.accesskey "l"> +<!ENTITY closeCmd.label "Dùin"> +<!ENTITY closeCmd.key "W"> +<!ENTITY closeCmd.accesskey "D"> +<!ENTITY saveCmd.label "Sàbhail"> +<!ENTITY saveCmd.key "S"> +<!ENTITY saveCmd.accesskey "S"> +<!ENTITY saveAsCmd.label "Sàbhail mar"> +<!ENTITY saveAsCmd.accesskey "a"> +<!ENTITY saveAsFileCmd.label "Faidhle…"> +<!ENTITY saveAsFileCmd.accesskey "F"> +<!ENTITY saveAsDraftCmd.label "Dreachd"> +<!ENTITY saveAsDraftCmd.accesskey "D"> +<!ENTITY saveAsTemplateCmd.label "Teamplaid"> +<!ENTITY saveAsTemplateCmd.accesskey "T"> +<!ENTITY sendNowCmd.label "Cuir an-dràsta"> +<!ENTITY sendCmd.keycode "VK_RETURN"> +<!ENTITY sendNowCmd.accesskey "d"> +<!ENTITY sendLaterCmd.label "Cuir uaireigin eile"> +<!ENTITY sendLaterCmd.keycode "VK_RETURN"> +<!ENTITY sendLaterCmd.accesskey "l"> +<!ENTITY printCmd.label "Clò-bhuail…"> +<!ENTITY printCmd.key "P"> +<!ENTITY printCmd.accesskey "C"> + +<!-- Edit Menu --> +<!ENTITY editMenu.label "Deasaich"> +<!ENTITY editMenu.accesskey "e"> +<!ENTITY undoCmd.label "Neo-dhèan"> +<!ENTITY undoCmd.key "Z"> +<!ENTITY undoCmd.accesskey "N"> +<!ENTITY redoCmd.label "Ath-dhèan"> +<!ENTITY redoCmd.key "Y"> +<!ENTITY redoCmd.accesskey "A"> +<!ENTITY cutCmd.key "X"> +<!ENTITY copyCmd.key "C"> +<!ENTITY pasteCmd.key "V"> +<!ENTITY pasteNoFormattingCmd.key "V"> +<!ENTITY pasteAsQuotationCmd.key "o"> +<!ENTITY editRewrapCmd.accesskey "A"> +<!ENTITY deleteCmd.label "Sguab às"> +<!ENTITY deleteCmd.accesskey "S"> +<!ENTITY editRewrapCmd.label "Ath-phaisg"> +<!ENTITY editRewrapCmd.key "R"> +<!ENTITY renameAttachmentCmd.label "Cuir ainm ùr air a' cheanglachan…"> +<!ENTITY renameAttachmentCmd.accesskey "e"> +<!ENTITY reorderAttachmentsCmd.label "Cuir òrdugh eile air na ceanglachain…"> +<!ENTITY reorderAttachmentsCmd.accesskey "u"> +<!ENTITY reorderAttachmentsCmd.key "x"> +<!ENTITY selectAllCmd.accesskey "a"> +<!ENTITY findBarCmd.label "Lorg..."> +<!ENTITY findBarCmd.accesskey "L"> +<!ENTITY findBarCmd.key "F"> +<!ENTITY findReplaceCmd.label "Lorg is cuir 'na àite…"> +<!ENTITY findReplaceCmd.accesskey "L"> +<!ENTITY findReplaceCmd.key "H"> +<!ENTITY findAgainCmd.label "Lorg a-rithist"> +<!ENTITY findAgainCmd.accesskey "g"> +<!ENTITY findAgainCmd.key "G"> +<!ENTITY findAgainCmd.key2 "VK_F3"> +<!ENTITY findPrevCmd.label "Lorg fear roimhe seo"> +<!ENTITY findPrevCmd.accesskey "L"> +<!ENTITY findPrevCmd.key "G"> +<!ENTITY findPrevCmd.key2 "VK_F3"> + +<!-- Reorder Attachment Panel --> +<!ENTITY reorderAttachmentsPanel.label "Òrdugh nan ceanglachan"> +<!ENTITY moveAttachmentBundleUpPanelBtn.label "Gluais còmhla"> + +<!-- LOCALIZATION NOTE (sortAttachmentsPanelBtn.Sort.AZ.label): + Please ensure that this translation matches + sortAttachmentsPanelBtn.Sort.ZA.label, except for the sort direction. --> +<!ENTITY sortAttachmentsPanelBtn.Sort.AZ.label "Seòrsaich: A - Z"> +<!ENTITY sortAttachmentsPanelBtn.Sort.ZA.label "Seòrsaich: Z - A"> +<!-- LOCALIZATION NOTE (sortAttachmentsPanelBtn.SortSelection.AZ.label): + Please ensure that this translation matches + sortAttachmentsPanelBtn.SortSelection.ZA.label, except for the sort direction. --> +<!ENTITY sortAttachmentsPanelBtn.SortSelection.AZ.label "Seòrsaich an taghadh: A - Z"> +<!ENTITY sortAttachmentsPanelBtn.SortSelection.ZA.label "Seòrsaich an taghadh: Z - A"> +<!ENTITY sortAttachmentsPanelBtn.key "y"> + +<!-- View Menu --> +<!ENTITY viewMenu.label "Sealladh"> +<!ENTITY viewMenu.accesskey "S"> +<!ENTITY viewToolbarsMenuNew.label "Na bàraichean-inneal"> +<!ENTITY viewToolbarsMenuNew.accesskey "N"> +<!ENTITY menubarCmd.label "Bàr a' chlàir-thaice"> +<!ENTITY menubarCmd.accesskey "B"> +<!ENTITY showCompositionToolbarCmd.label "Bàr-inneal sgrìobhaidh"> +<!ENTITY showCompositionToolbarCmd.accesskey "o"> +<!ENTITY showFormattingBarCmd.label "Am bàr fòrmataidh"> +<!ENTITY showFormattingBarCmd.accesskey "f"> +<!ENTITY showTaskbarCmd.label "Bàr na staide"> +<!ENTITY showTaskbarCmd.accesskey "s"> +<!ENTITY customizeToolbar.label "Gnàthaich…"> +<!ENTITY customizeToolbar.accesskey "c"> + +<!ENTITY addressSidebar.label "Bàr-taoibh an luchd-aithne"> +<!ENTITY addressSidebar.accesskey "o"> + +<!-- Format Menu --> +<!ENTITY formatMenu.label "Fòrmat"> +<!ENTITY formatMenu.accesskey "F"> + +<!-- Options Menu --> +<!ENTITY optionsMenu.label "Roghainnean"> +<!ENTITY optionsMenu.accesskey "R"> +<!ENTITY checkSpellingCmd2.label "Ceartaich an litreachadh…"> +<!ENTITY checkSpellingCmd2.key "p"> +<!ENTITY checkSpellingCmd2.key2 "VK_F7"> +<!ENTITY checkSpellingCmd2.accesskey "h"> +<!ENTITY enableInlineSpellChecker.label "Ceartaich an litreachadh fhad 's a tha thu a' sgrìobhadh"> +<!ENTITY enableInlineSpellChecker.accesskey "s"> +<!ENTITY quoteCmd.label "Thoir luaidh air an teachdaireachd"> +<!ENTITY quoteCmd.accesskey "T"> + +<!--LOCALIZATION NOTE attachVCard.label Don't translate the term 'vCard' --> +<!ENTITY attachVCard.label "Cuir cairt phearsanta ris (vCard)"> +<!ENTITY attachVCard.accesskey "v"> + +<!ENTITY returnReceiptMenu.label "Bann-cuidhteis"> +<!ENTITY returnReceiptMenu.accesskey "t"> +<!ENTITY dsnMenu.label "Sanasan air cor an lìbhrigidh"> +<!ENTITY dsnMenu.accesskey "n"> +<!ENTITY priorityMenu.label "Prìomhachas"> +<!ENTITY priorityMenu.accesskey "P"> +<!ENTITY priorityButton.title "Prìomhachas"> +<!ENTITY priorityButton.tooltiptext "Atharraich prìomhachas na teachdaireachd"> +<!ENTITY priorityButton.label "Prìomhachas:"> +<!ENTITY lowestPriorityCmd.label "As ìsle"> +<!ENTITY lowestPriorityCmd.accesskey "l"> +<!ENTITY lowPriorityCmd.label "Ìseal"> +<!ENTITY lowPriorityCmd.accesskey "s"> +<!ENTITY normalPriorityCmd.label "Àbhaisteach"> +<!ENTITY normalPriorityCmd.accesskey "b"> +<!ENTITY highPriorityCmd.label "Àrd"> +<!ENTITY highPriorityCmd.accesskey "r"> +<!ENTITY highestPriorityCmd.label "As àirde"> +<!ENTITY highestPriorityCmd.accesskey "A"> +<!ENTITY fileCarbonCopyCmd.label "Cuir lethbhreac dheth gu"> +<!ENTITY fileCarbonCopyCmd.accesskey "d"> +<!ENTITY fileHereMenu.label "Faidhle an-seo"> + +<!-- Tools Menu --> +<!ENTITY tasksMenu.label "Innealan"> +<!ENTITY tasksMenu.accesskey "I"> +<!ENTITY messengerCmd.label "Post ⁊ buidhnean-naidheachd"> +<!ENTITY messengerCmd.accesskey "P"> +<!ENTITY messengerCmd.commandkey "1"> +<!ENTITY addressBookCmd.label "Leabhar nan seòladh"> +<!ENTITY addressBookCmd.accesskey "a"> +<!ENTITY addressBookCmd.key "B"> +<!ENTITY accountManagerCmd2.label "Roghainnean a' chunntais"> +<!ENTITY accountManagerCmd2.accesskey "c"> +<!ENTITY accountManagerCmdUnix2.accesskey "S"> + +<!-- Mac OS X Window Menu --> +<!ENTITY minimizeWindow.key "m"> +<!ENTITY minimizeWindow.label "Lughdaich"> +<!ENTITY bringAllToFront.label "Gluais a h-uile gun a' bheulaibh"> +<!ENTITY zoomWindow.label "Sùm"> +<!ENTITY windowMenu.label "Uinneag"> + +<!-- Mail Toolbar --> +<!ENTITY sendButton.label "Cuir"> +<!ENTITY quoteButton.label "Thoir luaidh"> +<!ENTITY addressButton.label "Luchd-aithne"> +<!ENTITY spellingButton.label "Litreachadh"> +<!ENTITY saveButton.label "Sàbhail"> +<!ENTITY printButton.label "Clò-bhuail"> + +<!-- Mail Toolbar Tooltips --> +<!ENTITY sendButton.tooltip "Cuir an teachdaireachd an-dràsta"> +<!ENTITY sendlaterButton.tooltip "Cuir an teachdaireachd seo uaireigin eile"> +<!ENTITY quoteButton.tooltip "Thoir luaidh air an teachdaireachd roimhe"> +<!ENTITY addressButton.tooltip "Tagh faightear o leabhar nan seòladh"> +<!ENTITY spellingButton.tooltip "Ceartaich an litreachadh san taghadh no san teachdaireachd air fad"> +<!ENTITY saveButton.tooltip "Sàbhail an teachdaireachd seo"> +<!ENTITY cutButton.tooltip "Gearr às"> +<!ENTITY copyButton.tooltip "Dèan lethbhreac"> +<!ENTITY pasteButton.tooltip "Cuir ann"> +<!ENTITY printButton.tooltip "Clò-bhuail an teachdaireachd seo"> + +<!-- Headers --> +<!--LOCALIZATION NOTE headersSpaces.style is for aligning the From:, To: and + Subject: rows. It should be larger than the largest Header label --> +<!ENTITY headersSpace2.style "width: 8em;"> +<!ENTITY fromAddr2.label "O"> +<!ENTITY fromAddr.accesskey "O"> +<!ENTITY replyAddr2.label "Freagairt gu"> +<!ENTITY newsgroupsAddr2.label "Buidheann-naidheachd"> +<!ENTITY followupAddr2.label "Post leanmhainneach gu"> +<!ENTITY subject2.label "Cuspair"> +<!ENTITY subject.accesskey "s"> +<!ENTITY attachmentBucketCloseButton.tooltip "Falaich leòsan nan ceanglachan"> + +<!-- Format Toolbar, imported from editorAppShell.xhtml --> +<!ENTITY SmileButton.tooltip "Cuir samhla-gnùis ann"> +<!ENTITY smiley1Cmd.label "Fiamh-ghàire"> +<!ENTITY smiley2Cmd.label "Drèin"> +<!ENTITY smiley3Cmd.label "Sùil bheag"> +<!ENTITY smiley4Cmd.label "Teanga a-mach"> +<!ENTITY smiley5Cmd.label "Gàire"> +<!ENTITY smiley6Cmd.label "Nàire"> +<!ENTITY smiley7Cmd.label "Dà bharail"> +<!ENTITY smiley8Cmd.label "Iongnadh"> +<!ENTITY smiley9Cmd.label "Pòg"> +<!ENTITY smiley10Cmd.label "Èigh"> +<!ENTITY smiley11Cmd.label "Sgoinneil"> +<!ENTITY smiley12Cmd.label "Beul-airgid"> +<!ENTITY smiley13Cmd.label "Cas sa bheul"> +<!ENTITY smiley14Cmd.label "Neo-chiontach"> +<!ENTITY smiley15Cmd.label "Gul"> +<!ENTITY smiley16Cmd.label "Bilean dùinte"> + +<!-- Message Pane Context Menu --> +<!ENTITY spellCheckNoSuggestions.label "Cha deach moladh sam bith a lorg"> +<!ENTITY spellCheckIgnoreWord.label "Leig seachad am facal seo"> +<!ENTITY spellCheckIgnoreWord.accesskey "i"> +<!ENTITY spellCheckAddToDictionary.label "Cuir ris an fhaclair"> +<!ENTITY spellCheckAddToDictionary.accesskey "n"> +<!ENTITY undo.label "Neo-dhèan"> +<!ENTITY undo.accesskey "N"> +<!ENTITY cut.label "Gearr às"> +<!ENTITY cut.accesskey "G"> +<!ENTITY copy.label "Dèan lethbhreac"> +<!ENTITY copy.accesskey "c"> +<!ENTITY paste.label "Cuir ann"> +<!ENTITY paste.accesskey "C"> +<!ENTITY pasteQuote.label "Cuir ann mar luaidh"> +<!ENTITY pasteQuote.accesskey "C"> + +<!-- Attachment Item and List Context Menus --> +<!ENTITY openAttachment.label "Fosgail"> +<!ENTITY openAttachment.accesskey "o"> +<!ENTITY delete.label "Sguab às"> +<!ENTITY delete.accesskey "S"> +<!ENTITY removeAttachment.label "Thoir air falbh an ceanglachan"> +<!ENTITY removeAttachment.accesskey "T"> +<!ENTITY renameAttachment.label "Cuir ainm ùr air…"> +<!ENTITY renameAttachment.accesskey "r"> +<!ENTITY reorderAttachments.label "Cuir òrdugh eile air na ceanglachain…"> +<!ENTITY reorderAttachments.accesskey "u"> +<!ENTITY removeAllAttachments.label "Thoir air falbh a h-uile ceanglachan"> +<!ENTITY removeAllAttachments.accesskey "v"> +<!ENTITY selectAll.label "Tagh a h-uile"> +<!ENTITY selectAll.accesskey "a"> +<!ENTITY attachCloud.label "Filelink…"> +<!ENTITY attachCloud.accesskey "i"> +<!ENTITY convertCloud.label "Iompaich 'na…"> +<!ENTITY convertCloud.accesskey "I"> +<!ENTITY cancelUpload.label "Sguir dhen luchdadh suas"> +<!ENTITY cancelUpload.accesskey "d"> +<!ENTITY convertRegularAttachment.label "Ceanglachan àbhaisteach"> +<!ENTITY convertRegularAttachment.accesskey "b"> +<!ENTITY attachPage.label "Cuir duilleag-lìn ris…"> +<!ENTITY attachPage.accesskey "C"> + +<!-- Attachment Pane Header Bar Context Menu --> +<!-- LOCALIZATION NOTE (initiallyShowAttachmentPane.label): + Should use the same wording as startExpandedCmd.label + in msgHdrViewOverlay.dtd. --> +<!ENTITY initiallyShowAttachmentPane.label "Seall leòsan a’ cheanglachain an toiseach"> +<!ENTITY initiallyShowAttachmentPane.accesskey "S"> + +<!-- Spell checker context menu items --> +<!ENTITY spellAddDictionaries.label "Cuir faclairean ris…"> +<!ENTITY spellAddDictionaries.accesskey "a"> + +<!-- Title for the address picker panel --> +<!ENTITY addressesSidebarTitle.label "Luchd-aithne"> + +<!-- Identity popup customize menuitem --> +<!ENTITY customizeFromAddress.label "Gnàthaich an seòladh “O”…"> +<!ENTITY customizeFromAddress.accesskey "a"> + +<!-- Accessibility name for the document --> +<!ENTITY aria.message.bodyName "Bodhaig na teachdaireachd"> + +<!-- Status Bar --> +<!ENTITY languageStatusButton.tooltip "Cànan an dearbhadh-litreachaidh"> +<!ENTITY encodingStatusPanel.tooltip "Còdachadh an teacsa"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/sendProgress.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/sendProgress.dtd new file mode 100644 index 0000000000000000000000000000000000000000..c8e7771d3e7e6d4a4143fd6b602e1977df058009 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/sendProgress.dtd @@ -0,0 +1,8 @@ +<!-- 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/. --> +<!--LOCALIZATION NOTE sendProgress.dtd Main UI for Send Message Progress Dialog --> + +<!ENTITY sendDialog.title "A' pròiseasadh na teachdaireachd"> +<!ENTITY status.label "Cor:"> +<!ENTITY progress.label "Adhartas:"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/sendProgress.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/sendProgress.properties new file mode 100644 index 0000000000000000000000000000000000000000..d1425a674fe405d2653287bc9dba85e929b5792a --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/messengercompose/sendProgress.properties @@ -0,0 +1,21 @@ +# 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/. + +# LOCALIZATION NOTE (titleSendMsgSubject): +# %S will be replaced by the message subject. +titleSendMsgSubject=A' cur na teachdaireachd - %S +titleSendMsg=A' cur na teachdaireachd +# LOCALIZATION NOTE (titleSaveMsgSubject): +# %S will be replaced by the message subject. +titleSaveMsgSubject=A' sàbhaladh na teachdaireachd - %S +titleSaveMsg=A' sàbhaladh na teachdaireachd + +# LOCALIZATION NOTE (percentMsg): +# This string is used to format the text to the right of the progress meter. +# %S will be replaced by the percentage of the file that has been saved. +# %% will be replaced a single % sign. +percentMsg=%S%% + +messageSent=Chaidh do theachdaireachd a chur. +messageSaved=Chaidh do theachdaireachd a shàbhaladh. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/migration/migration.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/migration/migration.dtd new file mode 100644 index 0000000000000000000000000000000000000000..7730ef264acf8d45b4e6ee2513e064e28d958e3d --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/migration/migration.dtd @@ -0,0 +1,30 @@ +<!-- 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/. --> + + +<!ENTITY migrationWizard.title "Draoidh an ion-phortaidh"> + +<!ENTITY importFromWin.label "Ion-phortaich roghainnean, roghainnean cunntais, leabhar nan seòlaidh, criathragan is dàta eile o:"> +<!ENTITY importFromNonWin.label "Ion-phortaich roghainnean, roghainnean cunntais, leabhar nan seòlaidh, criathragan is dàta eile o:"> +<!ENTITY importSourceNotFound.label "Cha deach aplacaid a lorg as urrainn dhuinn dàta ion-phortadh uaithe."> + +<!ENTITY importFromNothing.label "Na ion-phortaich rud sam bith"> +<!ENTITY importFromNothing.accesskey "d"> +<!ENTITY importFromSeamonkey3.label "SeaMonkey 2 no nas ùire"> +<!ENTITY importFromSeamonkey3.accesskey "S"> +<!ENTITY importFromOutlook.label "Outlook"> +<!ENTITY importFromOutlook.accesskey "O"> + +<!ENTITY importSource.title "Ion-phortaich na roghainnean is pasgain puist"> +<!ENTITY importItems.title "Rudan ri an ion-phortadh"> +<!ENTITY importItems.label "Tagh na rudan a thèid ion-phortadh:"> + +<!ENTITY migrating.title "Ag ion-phortadh…"> +<!ENTITY migrating.label "Tha na rudan a leanas 'gan ion-phortadh an-dràsta…"> + +<!ENTITY selectProfile.title "Tagh pròifil"> +<!ENTITY selectProfile.label "'S urrainn dhut ion-phortadh o na pròifilean a leanas:"> + +<!ENTITY done.title "Ion-phortadh deiseil"> +<!ENTITY done.label "Chaidh na nithean seo ion-phortadh:"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/migration/migration.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/migration/migration.properties new file mode 100644 index 0000000000000000000000000000000000000000..0683688c7f623b61898921d209e7d6b9c000405e --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/migration/migration.properties @@ -0,0 +1,32 @@ +# 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/. + +profileName_format=%S %S + +# Import Sources +1_seamonkey=Roghainnean + +1_thunderbird=Roghainnean + +2_seamonkey=Roghainnean a' chunntais +2_thunderbird=Roghainnean nan cunntasan +2_outlook=Roghainnean a' chunntais + +4_seamonkey=Leabhraichean nan seòladh +4_thunderbird=Leabhraichean nan seòladh +4_outlook=Leabhar nan seòladh + +8_seamonkey=Trèanadh puist-thruilleis + +16_seamonkey=Faclan-faire air an sàbhaladh + +32_seamonkey=Dàta eile + +64_seamonkey=Pasgain nam buidhnean-naidheachd + +64_thunderbird=Pasgain nam buidhnean-naidheachd + +128_seamonkey=Pasgain a' phuist +128_thunderbird=Pasgain a’ phuist +128_outlook=Pasgain a' phuist diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/mime.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/mime.properties new file mode 100644 index 0000000000000000000000000000000000000000..7b19cd9597ebc190c44ae40f3d3b0766d6bd831f --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/mime.properties @@ -0,0 +1,154 @@ +# 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/. + +# +# The following are used by libmime to emit header display in HTML +# + +# Mail subject +## @name MIME_MHTML_SUBJECT +## @loc None +1000=Cuspair + +# Resent-Comments +## @name MIME_MHTML_RESENT_COMMENTS +## @loc +1001=Beachdan sa phost air ath-chur + +# Resent-Date +## @name MIME_MHTML_RESENT_DATE +## @loc +1002=Ceann-là a chaidh ath-chur + +# Resent-Sender +## @name MIME_MHTML_RESENT_SENDER +## @loc +1003=Seòladair na chaidh ath-chur + +# Resent-From +## @name MIME_MHTML_RESENT_FROM +## @loc +1004=Air ath-chur o + +# Resent-To +## @name MIME_MHTML_RESENT_TO +## @loc +1005=Air ath-chur gu + +# Resent-CC +## @name MIME_MHTML_RESENT_CC +## @loc +1006=CC na chaidh ath-chur + +# Date +## @name MIME_MHTML_DATE +## @loc +1007=Ceann-là + +# Sender +## @name MIME_MHTML_SENDER +## @loc +1008=Seòladair + +# From +## @name MIME_MHTML_FROM +## @loc +1009=O + +# Reply-To +## @name MIME_MHTML_REPLY_TO +## @loc +1010=Freagairt gu + +# Organization +## @name MIME_MHTML_ORGANIZATION +## @loc +1011=Buidheann + +# To +## @name MIME_MHTML_TO +## @loc +1012=Gu + +# CC +## @name MIME_MHTML_CC +## @loc +1013=CC + +# Newsgroups +## @name MIME_MHTML_NEWSGROUPS +## @loc +1014=Buidhnean-naidheachd + +# Followup-To +## @name MIME_MHTML_FOLLOWUP_TO +## @loc +1015=Post leanmhainneach gu + +# References +## @name MIME_MHTML_REFERENCES +## @loc +1016=Iomraidhean + +# Message ID +## @name MIME_MHTML_MESSAGE_ID +## @loc +1021=Dearbh-aithne na teachdaireachd + +# BCC +## @name MIME_MHTML_BCC +## @loc +1023=BCC + +# Link to doc +## @name MIME_MSG_LINK_TO_DOCUMENT +## @loc +1026=Ceangail ri sgrìobhainn + +# Get Doc info +## @name MIME_MSG_DOCUMENT_INFO +## @loc +1027=<B>Fiosrachadh na sgrìobhainne:</B> + +# Msg Attachment +## @name MIME_MSG_ATTACHMENT +## @loc +1028=Ceanglachan + +# default attachment name +## @name MIME_MSG_DEFAULT_ATTACHMENT_NAME +## @loc +# LOCALIZATION NOTE (1040): Do not translate "%s" below. +# Place the %s where you wish the part number of the attachment to appear +1040=Pàirt %s + +# default forwarded message prefix +## @name MIME_FORWARDED_MESSAGE_HTML_USER_WROTE +## @loc +1041=-------- An teachdaireachd thùsail -------- + +# Partial Message Truncated +## @name MIME_MSG_PARTIAL_TRUNCATED +## @loc +MIME_MSG_PARTIAL_TRUNCATED=Air a giorrachadh! + +# Partial Message Truncated Explanation +## @name MIME_MSG_PARTIAL_TRUNCATED_EXPLANATION +## @loc +MIME_MSG_PARTIAL_TRUNCATED_EXPLANATION=Chaidh an teachdaireachd seo thairis air a' mheud as motha a thagh thu ann an roghainnean a' chunntais is cha do luchdaich sinn a-nuas on fhrithealaiche ach na loidhnichean aig an toiseach. + +# Partial Message Not Downloaded +## @name MIME_MSG_PARTIAL_NOT_DOWNLOADED +## @loc +MIME_MSG_PARTIAL_NOT_DOWNLOADED=Gun luchdadh a-nuas + +# Partial Message Not Downloaded Explanation +## @name MIME_MSG_PARTIAL_NOT_DOWNLOADED_EXPLANATION +## @loc +MIME_MSG_PARTIAL_NOT_DOWNLOADED_EXPLANATION=Cha deach ach bannan-cinn na teachdaireachd seo a luchdadh a-nuas on frithealaiche phuist. + +# MIME_MSG_PARTIAL_CLICK_FOR_REST +## @name MIME_MSG_PARTIAL_CLICK_FOR_REST +## @loc +MIME_MSG_PARTIAL_CLICK_FOR_REST=Luchdaich a-nuas an corr dhen teachdaireach diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/mimeheader.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/mimeheader.properties new file mode 100644 index 0000000000000000000000000000000000000000..ef4b922d488673e7f81702f041d7de243a21a91d --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/mimeheader.properties @@ -0,0 +1,35 @@ +# 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/. + +# +# The following are used by libmime for header display in XML & HTML +# +TO=Gu +BCC=BCC +CC=CC +DATE=Ceann-là +DISTRIBUTION=Sgaoileadh +FCC=FCC +FOLLOWUP-TO=Post leanmhainneach gu +FROM=O +STATUS=Staid +LINES=Loidhnichean +MESSAGE-ID=Dearbh-aithne na teachdaireachd +MIME-VERSION=Tionndadh MIME +NEWSGROUPS=Buidhnean-naidheachd +ORGANIZATION=Buidheann +REFERENCES=Iomraidhean +REPLY-TO=Freagairt gu +RESENT-COMMENTS=Beachdan sa phost air ath-chur +RESENT-DATE=Ceann-là a chaidh ath-chur +RESENT-FROM=Air ath-chur o +RESENT-MESSAGE-ID=Dearbh-aithne na teachdaireachd a chaidh ath-chur +RESENT-SENDER=Seòladair na chaidh ath-chur +RESENT-TO=Air ath-chur gu +RESENT-CC=CC na chaidh ath-chur +SENDER=Seòladair +SUBJECT=Cuspair +APPROVED-BY=Air aontachadh le +USER-AGENT=Àidseant-cleachdaiche +FILENAME=Ainm an fhaidhle diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/morkImportMsgs.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/morkImportMsgs.properties new file mode 100644 index 0000000000000000000000000000000000000000..0df09d4d78dfc587ce1d9c44ec201298f8f5cd4f --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/morkImportMsgs.properties @@ -0,0 +1,18 @@ +# 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/. + +# +# The following are used by the Mork import code to display status/error +# and informational messages. +# + +MABFiles = Leabhraichean nan seòladh Mork + +# Short name of import module +morkImportName = Stòr-dàta Mork (.mab) + +# Description of import module +morkImportDescription = Ion-phortaich leabhar nan seòladh o SeaMonkey no seann-tionndaidhean de Thunderbird. + +morkImportSuccess = Soirbheas! diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/msgAccountCentral.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/msgAccountCentral.dtd new file mode 100644 index 0000000000000000000000000000000000000000..2aacc2683b4944ff107677ee9a429147e8cad7ad --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/msgAccountCentral.dtd @@ -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/. --> + +<!ENTITY emailSectionHdr.label "Post-dealain"> +<!ENTITY readMsgsLink.label "Leugh teachdaireachdan"> +<!ENTITY composeMsgLink.label "Sgrìobh teachdaireachd ùr"> + +<!ENTITY newsSectionHdr.label "Buidhnean-naidheachd"> +<!ENTITY subscribeNewsLink.label "Rianaich fo-sgrìobhaidhean gu buidhnean-naidheachd"> + +<!ENTITY feedsSectionHdr.label "Inbhirean"> +<!ENTITY subscribeFeeds.label "Rianaich fo-sgrìobhaidhean"> + +<!ENTITY chat.label "Cabadaich"> + +<!ENTITY accountsSectionHdr.label "Cunntasan"> +<!ENTITY subscribeImapFolders.label "Rianaich fo-sgrìobhaidhean gu pasgain"> +<!ENTITY settingsLink.label "Seall roghainnean a' chunntais seo"> +<!ENTITY setupNewAcct.label "Suidhich cunntas:"> + +<!ENTITY advFeaturesSectionHdr.label "Feartan adhartach"> +<!ENTITY searchMsgsLink.label "Rannsaich na teachdaireachdan"> +<!ENTITY filtersLink.label "Rianaich criathragan nan teachdaireachd"> +<!ENTITY junkSettings.label "Roghainnean a' phuist-thruilleis"> +<!ENTITY offlineLink.label "Roghainnean airson obrachadh far loidhne"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/msgHdrViewOverlay.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/msgHdrViewOverlay.dtd new file mode 100644 index 0000000000000000000000000000000000000000..e1ded6fd312dd0a8185c6c3302c4f7d9b365e4e5 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/msgHdrViewOverlay.dtd @@ -0,0 +1,114 @@ +<!-- 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/. --> + +<!ENTITY toField4.label "Gu"> +<!ENTITY fromField4.label "O"> +<!ENTITY senderField4.label "Seòladair"> +<!ENTITY author.label "Ùghdar"> +<!ENTITY organizationField4.label "Buidheann"> +<!ENTITY replyToField4.label "Freagairt gu"> + +<!ENTITY subjectField4.label "Cuspair"> +<!ENTITY ccField4.label "Cc"> +<!ENTITY bccField4.label "Bcc"> +<!ENTITY newsgroupsField4.label "Buidhnean-naidheachd"> +<!ENTITY followupToField4.label "Post leanmhainnach gu"> +<!ENTITY tagsHdr4.label "Tagaichean"> +<!ENTITY dateField4.label "Ceann-là"> +<!ENTITY userAgentField4.label "Àidseant-cleachdaiche"> +<!ENTITY referencesField4.label "Iomraidhean"> +<!ENTITY messageIdField4.label "ID na teachdaireachd"> +<!ENTITY inReplyToField4.label "San fhreagairt gu"> +<!ENTITY originalWebsite4.label "Làrach-lìn"> + +<!ENTITY hdrArchiveButton1.label "Tasg-lann"> +<!ENTITY hdrArchiveButton1.tooltip "Cuir an teachdaireachd seo san tasg-lann"> +<!ENTITY hdrSmartReplyButton1.label "Freagairt ghlic"> +<!ENTITY hdrReplyButton1.label "Freagair"> +<!ENTITY hdrReplyButton2.tooltip "Freagair seòladair na teachdaireachd seo"> +<!ENTITY hdrReplyAllButton1.label "Freagair a h-uile"> +<!ENTITY hdrReplyAllButton1.tooltip "Freagair a h-uile seòladair is faightear"> +<!ENTITY hdrReplyListButton1.label "Freagair an liosta"> +<!ENTITY hdrReplyListButton1.tooltip "Freagair an liosta puist"> +<!ENTITY hdrFollowupButton1.label "Freagair"> +<!ENTITY hdrFollowupButton1.tooltip "Freagair am buidheann-naidheachd seo"> +<!ENTITY hdrForwardButton1.label "Sìn air adhart"> +<!ENTITY hdrForwardButton1.tooltip "Sìn an teachdaireachd air adhart gu"> +<!ENTITY hdrJunkButton1.label "Truilleis"> +<!ENTITY hdrJunkButton1.tooltip "Cuir comharra truilleis ris an teachdaireachd seo"> +<!ENTITY hdrTrashButton1.label "Sguab às"> +<!ENTITY hdrTrashButton1.tooltip "Sguab às an teachdaireachd seo"> + +<!ENTITY hdrViewToolbarShowFull.label "seall ìomhaigheagan is teacsa"> +<!ENTITY hdrViewToolbarShowFull.accesskey "a"> +<!ENTITY hdrViewToolbarShowIcons.label "Na seall ach ìomhaigheagan"> +<!ENTITY hdrViewToolbarShowIcons.accesskey "i"> +<!ENTITY hdrViewToolbarShowText.label "Seall teacsa a-mhàin"> +<!ENTITY hdrViewToolbarShowText.accesskey "t"> +<!ENTITY hdrViewToolbarAlwaysReplySender.label "Seall "Freagair an seòladair" an-còmhnaidh"> +<!ENTITY hdrViewToolbarAlwaysReplySender.accesskey "r"> + +<!ENTITY otherActionsButton2.label "Barrachd"> +<!ENTITY otherActionsButton.tooltip "Barrachd ghnìomhan"> +<!ENTITY otherActionsOpenConversation1.label "Fosgail ann an còmhradh"> +<!ENTITY otherActionsOpenConversation1.accesskey "o"> +<!ENTITY otherActionsOpenInNewWindow1.label "Fosgail ann an uinneag ùr"> +<!ENTITY otherActionsOpenInNewWindow1.accesskey "F"> +<!ENTITY otherActionsOpenInNewTab1.label "Fosgail ann an taba ùr"> +<!ENTITY otherActionsOpenInNewTab1.accesskey "t"> +<!ENTITY markAsReadMenuItem1.label "Cuir comharra air gun deach a leughadh"> +<!ENTITY markAsReadMenuItem1.accesskey "r"> +<!ENTITY markAsUnreadMenuItem1.label "Cuir comharra air nach deach a leughadh"> +<!ENTITY markAsUnreadMenuItem1.accesskey "u"> +<!ENTITY saveAsMenuItem1.label "Sàbhail mar…"> +<!ENTITY saveAsMenuItem1.accesskey "S"> +<!ENTITY viewSourceMenuItem1.label "Seall am bun-tùs"> +<!ENTITY viewSourceMenuItem1.accesskey "m"> +<!ENTITY otherActionsPrint1.label "Clò-bhuail…"> +<!ENTITY otherActionsPrint1.accesskey "C"> + +<!-- Attachment bar context menu items --> +<!ENTITY startExpandedCmd.label "Seall leòsan a' cheanglachain an toiseach"> +<!ENTITY startExpandedCmd.accesskey "S"> + +<!-- Attachment context menu items --> +<!ENTITY openAttachmentCmd.label "Fosgail"> +<!ENTITY openAttachmentCmd.accesskey "o"> +<!ENTITY saveAsAttachmentCmd.label "Sàbhail mar…"> +<!ENTITY saveAsAttachmentCmd.accesskey "a"> +<!ENTITY detachAttachmentCmd.label "Dealaich…"> +<!ENTITY detachAttachmentCmd.accesskey "D"> +<!ENTITY deleteAttachmentCmd.label "Sguab às"> +<!ENTITY deleteAttachmentCmd.accesskey "S"> +<!ENTITY openAllAttachmentsCmd.label "Fosgail a h-uile…"> +<!ENTITY openAllAttachmentsCmd.accesskey "o"> +<!ENTITY saveAllAttachmentsCmd.label "Sàbhail a h-uile…"> +<!ENTITY saveAllAttachmentsCmd.accesskey "S"> +<!ENTITY detachAllAttachmentsCmd.label "Dealaich a h-uile…"> +<!ENTITY detachAllAttachmentsCmd.accesskey "D"> +<!ENTITY deleteAllAttachmentsCmd.label "Sguab às a h-uile…"> +<!ENTITY deleteAllAttachmentsCmd.accesskey "e"> + +<!ENTITY openAttachment.tooltip "Fosgail am faidhle a tha ris"> + +<!ENTITY detachedAttachmentFolder.show.label "Fosgail am pasgan far a bheil e"> +<!ENTITY detachedAttachmentFolder.show.accesskey "F"> +<!ENTITY detachedAttachmentFolder.showMac.label "Seall san lorgair"> +<!ENTITY detachedAttachmentFolder.showMac.accesskey "F"> + +<!-- Attachment toolbar items --> +<!ENTITY saveAttachmentButton1.label "Sàbhail"> +<!ENTITY saveAttachmentButton1.tooltip "Sàbhail am faidhle a tha ris"> +<!ENTITY saveAllAttachmentsButton1.label "Sàbhail a h-uile"> +<!ENTITY saveAllAttachmentsButton1.tooltip "Sàbhail gach faidhle a tha ris"> + +<!ENTITY copyLinkCmd.label "Dèan lethbhreac de sheòladh a' cheangail"> +<!ENTITY copyLinkCmd.accesskey "c"> + +<!ENTITY CopyMessageId.label "Dèan lethbhreac de ID na teachdaireachd"> +<!ENTITY CopyMessageId.accesskey "D"> +<!ENTITY OpenMessageForMsgId.label "Fosgail an teachdaireachd leis an ID seo"> +<!ENTITY OpenMessageForMsgId.accesskey "F"> +<!ENTITY OpenBrowserWithMsgId.label "Fosgail am brabhsair le ID na teachdaireachd"> +<!ENTITY OpenBrowserWithMsgId.accesskey "b"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/msgSynchronize.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/msgSynchronize.dtd new file mode 100644 index 0000000000000000000000000000000000000000..e6db50772c068e2bbccf85b8a5e6a6b0ba2f647c --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/msgSynchronize.dtd @@ -0,0 +1,27 @@ +<!-- 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/. --> +<!-- extracted from MsgSynchronize.xul and msgSelectOffline.xul--> + + +<!-- extracted from MsgSynchronize.xul and msgSelectOfflineFolders.xul--> + +<!-- extracted from MsgSynchronize.xhtml and msgSelectOfflineFolders.xhtml--> + +<!ENTITY MsgSynchronize.label "Luchdaich a-nuas is sioncronaich teachdaireachdan"> +<!ENTITY MsgSelect.label "Rudan a chum cleachdaidh far loidhne"> +<!ENTITY MsgSyncDesc.label "Ma thagh thu pasgain puist no buidhnean-naidheachd a chum cleachdaidh far loidhne mu thràth, 's urrainn dhut an luchdadh a-nuas agus/no an sioncronachadh an-dràsta. Air neo, cleachd am putan "Tagh" gus pasgain puist is buidhnean-naidheachd a chum cleachdaidh far loidhne."> +<!ENTITY MsgSyncDirections.label "Luchdaich a-nuas agus/no sioncronaich na leanas:"> +<!ENTITY syncTypeMail.label "Teachdaireachdan puist"> +<!ENTITY syncTypeMail.accesskey "T"> +<!ENTITY syncTypeNews.label "Teachdaireachdan bhuidhnean-naidheachd"> +<!ENTITY syncTypeNews.accesskey "n"> +<!ENTITY sendMessage.label "Cuir na teachdaireachdan nach deach an cur roimhe"> +<!ENTITY sendMessage.accesskey "C"> +<!ENTITY workOffline.label "Obraich far loidhne nuair a bhios an luchdadh a-nuas agus/no an sioncronachadh deiseil"> +<!ENTITY workOffline.accesskey "O"> +<!ENTITY selectButton.label "Tagh…"> +<!ENTITY selectButton.accesskey "T"> +<!ENTITY MsgSelectDesc.label "Tagh pasgain puist is buidhnean-naidheachd a chum cleachdaidh far loidhne."> +<!ENTITY MsgSelectInd.label "Luchdaich a-nuas"> +<!ENTITY MsgSelectItems.label "Pasgain is buidhnean-naidheachd"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/msgViewPickerOverlay.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/msgViewPickerOverlay.dtd new file mode 100644 index 0000000000000000000000000000000000000000..f3d5a47724375b8c1b219c721416111caa606742 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/msgViewPickerOverlay.dtd @@ -0,0 +1,23 @@ +<!-- 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/. --> + +<!--LOCALIZATION NOTE msgViewPickerOverlay.dtd UI for showing various views on a folder --> + + +<!ENTITY viewPicker.label "Seall:"> +<!ENTITY viewPicker.accesskey "S"> +<!ENTITY viewAll.label "A h-uile"> +<!ENTITY viewAll.accesskey "A"> +<!ENTITY viewUnread.label "Gun leughadh"> +<!ENTITY viewUnread.accesskey "u"> +<!ENTITY viewNotDeleted.label "Gun sguabadh às"> +<!ENTITY viewNotDeleted.accesskey "d"> +<!ENTITY viewTags.label "Tagaichean"> +<!ENTITY viewTags.accesskey "T"> +<!ENTITY viewCustomViews.label "Seallaidhean gnàthaichte"> +<!ENTITY viewCustomViews.accesskey "S"> +<!ENTITY viewVirtualFolder.label "Sàbhail na tha thu a' coimhead air mar phasgan…"> +<!ENTITY viewVirtualFolder.accesskey "S"> +<!ENTITY viewCustomizeView.label "Gnàthaich…"> +<!ENTITY viewCustomizeView.accesskey "c"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/msgmdn.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/msgmdn.properties new file mode 100644 index 0000000000000000000000000000000000000000..ff6f07502f526e3cff9ee66444164066878d5553 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/msgmdn.properties @@ -0,0 +1,18 @@ +# 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/. +## Msg Mdn Report strings +MsgMdnDisplayed=Aire: Chan eil am bann-cuidhteis seo ach ag aideachadh gun deach coimhead air an teachdaireachd seo air coimpiutair an fhaighteir. Chan eil barantas gun do leugh am faightear e no gun do thuig iad susbaint na teachdaireachd. +MsgMdnDispatched=Chaidh an teachdaireachd a chlò-bhualadh, fhacsadh no a shìneadh air adhart 's cha do choimhead am faightear air. Chan eil barantas gun leugh am faightear an teachdaireachd às a dhèidh seo. +MsgMdnProcessed=Chaidh an teachdaireachd a làimhseachadh le cliant puist an fhaighteir ach cho do choimhead iad air. Chan eil barantas gun leugh am faightear an teachdaireachd às a dhèidh seo. +MsgMdnDeleted=Chaidh an teachdaireachd a sguabadh às. Dh'fhaodadh gun do choimhead no nach do choimhead an neach dhan a chuir thu e air. Dh'fhaodadh gun aisig iad e às a dhèidh seo 's gun leugh iad e. +MsgMdnDenied=Chan eil faightear na teachdaireachd ag iarraidh bann-cuidhteis a thilleadh thugad. +MsgMdnFailed=Thachair mearachd. Cha b' urrainn dhuinn bann-cuidhteis ceart a ghineadh no a chur thugad. +# LOCALIZATION NOTE : Do not translate the word "%S" below. +MsgMdnMsgSentTo=Seo bann-cuidhteis airson am post a chuir thu gu %S. +MdnDisplayedReceipt=Bann-cuidhteis ('ga shealltainn) +MdnDispatchedReceipt=Bann-cuidhteis (air a chur) +MdnProcessedReceipt=Bann-cuidhteis (air a phròiseasadh) +MdnDeletedReceipt=Bann-cuidhteis (air a sguabadh às) +MdnDeniedReceipt=Bann-cuidhteis (air a dhiùltadh) +MdnFailedReceipt=Bann-cuidhteis (air fhàilligeadh) diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/multimessageview.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/multimessageview.dtd new file mode 100644 index 0000000000000000000000000000000000000000..f28ff256cc6a81a98b9bac199951289a4af5f69d --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/multimessageview.dtd @@ -0,0 +1,8 @@ +<!-- 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/. --> + +<!ENTITY window.title "Gearr-chunntas na teachdaireachd"> +<!ENTITY selectedmessages.label "Teachdaireachdan a chaidh a thaghadh"> +<!ENTITY archiveButton.label "Tasg-lann"> +<!ENTITY deleteButton.label "Sguab às"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/multimessageview.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/multimessageview.properties new file mode 100644 index 0000000000000000000000000000000000000000..11c501f55dfa542755b9cdf7ce08004be8a09ef5 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/multimessageview.properties @@ -0,0 +1,66 @@ +# 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/. + +# LOCALIZATION NOTE (numConversations): Semi-colon list of plural forms. +# See: https://developer.mozilla.org/en/Localization_and_Plurals +# The number of conversations (threads or solitary messages) selected. #1 is the +# number of conversations. +numConversations=#1 chòmhradh;#1 chòmhradh;#1 còmhraidhean;#1 còmhradh + +# LOCALIZATION NOTE (atLeastNumConversations): Semi-colon list of plural forms. +# See: https://developer.mozilla.org/en/Localization_and_Plurals +# The number of conversations (threads or solitary messages) selected. #1 is the +# number of conversations. We use this when we didn't actually scan the entire +# list of selected messages, so there may be more conversations than reported +# (or maybe not!). +atLeastNumConversations=#1+ chòmhradh;#1+ chòmhradh;#1+ còmhraidhean;#1+ còmhradh + +# LOCALIZATION NOTE (numMessages): Semi-colon list of plural forms. +# See: https://developer.mozilla.org/en/Localization_and_Plurals +# The number of messages in a thread. #1 is the number of messages. +numMessages=#1 teachdaireachd;#1 theachdaireachd;#1 teachdaireachdan;#1 teachdaireachd + +# LOCALIZATION NOTE (numUnread): Semi-colon list of plural forms. +# See: https://developer.mozilla.org/en/Localization_and_Plurals +# The number of unread messages in a thread; meant to be appended to +# "numMessages". #1 is the number of unread messages. +numUnread=, #1 gun leughadh;, #1 gun leughadh;, #1 gun leughadh;, #1 gun leughadh + +# LOCALIZATION NOTE (numIgnored): Semi-colon list of plural forms. +# See: https://developer.mozilla.org/en/Localization_and_Plurals +# The number of ignored messages in a thread; meant to be appended to +# "numMessages". #1 is the number of ignored messages. +numIgnored=#1 air leigeil seachad;#1 air leigeil seachad;#1 air leigeil seachad;#1 air leigeil seachad + +# LOCALIZATION NOTE (atLeastNumIgnored): Semi-colon list of plural forms. +# See: https://developer.mozilla.org/en/Localization_and_Plurals +# The number of ignored messages in a thread; meant to be appended to +# "numMessages". #1 is the number of ignored messages. We use this when we +# didn't actually scan the entire list of selected messages, so there may be +# more ignored messages than reported (or maybe not!). +atLeastNumIgnored=#1+ air leigeil seachad;#1+ air leigeil seachad;#1+ air leigeil seachad;#1+ air leigeil seachad + +# LOCALIZATION NOTE (noSubject): What to display for a message if it has no +# subject. +noSubject=(gun chuspair) + +# LOCALIZATION NOTE (messagesTotalSize): A message indicating the total size on +# disk of the selected messages. #1 is the size, e.g. "123 KB". +messagesTotalSize=Tha na teachdaireachdan seo a' lìonadh #1. + +# LOCALIZATION NOTE (messagesTotalSizeMoreThan): A message indicating the total +# size on disk of the selected messages. #1 is the size, e.g. "123 KB". We use +# this when we didn't actually scan the entire list of selected messages, so +# this is a *minimum* size. +messagesTotalSizeMoreThan=Tha na teachdaireachdan seo nas motha na #1. + +# LOCALIZATION NOTE (maxCountExceeded): A message to let the user know that not +# all of the selected messages were summarized. #1 is the total number of +# messages selected and #2 is the number of messages actually shown. +maxCountExceeded= (Aire: Tha #1 teachdaireachd(an) air an taghadh, tha a' chiad #2 dhiubh 'gan sealltainn) + +# LOCALIZATION NOTE (maxThreadCountExceeded): A message to let the user know that +# not all of the selected thread were summarized. #1 is the total number of +# threads selected and #2 is the number of threads actually shown. +maxThreadCountExceeded= (An aire: Chaidh #1 threads a thaghadh, tha a’ chiad #2 dhiubh ’gan sealltainn) diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/newFolderDialog.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/newFolderDialog.dtd new file mode 100644 index 0000000000000000000000000000000000000000..c90ad489016cb3801d46ac85911ec6a236d1d03d --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/newFolderDialog.dtd @@ -0,0 +1,16 @@ +<!-- 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/. --> +<!-- Labels --> + +<!ENTITY newFolderDialog.title "Pasgan ùr"> +<!ENTITY name.label "Ainm:"> +<!ENTITY name.accesskey "n"> +<!ENTITY description.label "Cruthaich mar fho-phasgan de:"> +<!ENTITY description.accesskey "C"> +<!ENTITY folderRestriction1.label "Chan eil ach dà sheòrsa de phasgain ceadaichte air an fhrithealaiche seo."> +<!ENTITY folderRestriction2.label "Leig leis na leanas a bhith 'nad phasgan ùr:"> +<!ENTITY foldersOnly.label "Pasgain a-mhàin"> +<!ENTITY messagesOnly.label "Teachdaireachdan a-mhàin"> +<!ENTITY accept.label "Cruthaich am pasgan"> +<!ENTITY accept.accesskey "r"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/news.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/news.properties new file mode 100644 index 0000000000000000000000000000000000000000..8fb4eb7db4038127878cd47841fa8a6e18236b54 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/news.properties @@ -0,0 +1,56 @@ +# 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/. +downloadHeadersTitlePrefix=Luchdaich a-nuas na bannan-cinn +downloadHeadersInfoText=Tha %S bann(an)-cinn ùra ri luchdachadh a-nuas sa bhuidheann-naidheachd seo. +cancelDisallowed=Tha coltas nach tusa a sgrìobh an teachdaireachd seo. Chan urrainn dhut sgur ach de phuist a sgrìobh thu fhèin agus chan ann an fheadhainn a sgrìobh daoine eile. +cancelConfirm=A bheil thu cinnteach gu bheil thu airson sgur dhen teachdaireachd seo? +messageCancelled=Air sgur dhen teachdaireachd. +enterUserPassTitle=Tha feum air ainm-cleachdaiche 's facal-faire airson an fhrithealaiche naidheachdan +# LOCALIZATION NOTE (enterUserPassServer): %S is the server being accessed +enterUserPassServer=Cuir a-steach ainm-cleachdaiche 's facal-faire airson %S: +# LOCALIZATION NOTE (enterUserPassGroup): %1$S is a specific newsgroup to set +# the password for; %2$S is the server from which the newsgroup is accessed +enterUserPassGroup=Cuir a-steach ainm-cleachdaiche 's facal-faire airson %1$S air %2$S: +okButtonText=Luchdaich a-nuas + +noNewMessages=Chan eil teachdaireachdan ùra air an fhrithealaiche. +# LOCALIZATION NOTE (newNewsgroupHeaders): %1$S is the number of the current +# header being downloaded, %2$S is the number of headers to be downloaded, and +# %3$S is the newsgroup whose headers are being downloaded. +newNewsgroupHeaders=A' luchdadh a-nuas %1$S à %2$S bann(an)-cinn o %3$S +# LOCALIZATION NOTE (newNewsgroupFilteringHeaders): %1$S is the name of the MIME +# header being filtered on, %2$S is the number of the current header being +# downloaded, %3$S is the number of headers to be downloaded, and %4$S is the +# newsgroup whose headers are being downloaded. +newNewsgroupFilteringHeaders=A' faighinn bannan-cinn airson nan criathragan: %1$S (%2$S/%3$S) air %4$S +downloadingArticles=A' luchdadh a-nuas artagailean %S-%S +bytesReceived=A' luchdadh a-nuas buidhnean-naidheachd: %S air fhaighinn (%SKB air leughadh aig %SKB/sec) +downloadingArticlesForOffline=A' luchdadh a-nuas artagailean %S-%S ann an %S + +# LOCALIZATION NOTE (autoUnsubscribeText): %1$S is the newsgroup and %2$S is the newsgroup-server it is being removed from. +autoUnsubscribeText=Tha coltas nach eil am buidheann-naidheachd %1$S ann air an òstair %2$S. A bheil thu airson crìoch a chur air an fho-sgrìobhadh thuige? + +# LOCALIZATION NOTE (autoSubscribeText): %1$S is the newsgroup. +autoSubscribeText=A bheil thu airson fo-sgrìobhadh gu %1$S? + +# LOCALIZATION NOTE (Error -304): In the following item, don't translate "NNTP" +# Error - server error +## @name NNTP_ERROR_MESSAGE +## @loc None +-304=Thachair mearachd naidheachd (NNTP): \u0020 + +# Error - newsgroup scan error +## @name NNTP_NEWSGROUP_SCAN_ERROR +## @loc None +-305=Thachair mearachd naidheachd. Tha sganadh nam buidhnean-naidheachd uile neo-iomlan. Feuch ris an àithne "Seall a h-uile buidheann-naidheachd" a-rithist. + +# Error - NNTP authinfo failure +## @name NNTP_AUTH_FAILED +## @loc None +-260=Thachair mearachd ùghdarachaidh. Cuir a-steach an t-ainm agad agus/no am facal-faire agad is feuch ris a-rithist. + +# Error - TCP error +## @name TCP_ERROR +## @loc None +-206=Thachair mearachd conaltraidh. Feuch ri ceangal a dhèanamh a-rithist. Mearachd TCP: diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/newsError.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/newsError.dtd new file mode 100644 index 0000000000000000000000000000000000000000..bf5a4da34f2e8373359775952a805ea12e44da1d --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/newsError.dtd @@ -0,0 +1,31 @@ +<!-- 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/. --> +<!-- LOCALIZATION NOTE (newsError.title): The title of the news error page. + Not generally visible. --> + +<!ENTITY newsError.title "Duilgheadas a’ luchdadh an artaigil"> +<!-- LOCALIZATION NOTE (articleNotFound.title): The main heading for the news + error page. --> + +<!ENTITY articleNotFound.title "Cha deach a t-artaigil a lorg"> +<!-- LOCALIZATION NOTE (articleNotFound.desc): A longer description for the news + error page. --> + +<!ENTITY articleNotFound.desc "Tha frithealaiche a’ bhuidhinn naidheachdan ag innse nach urrainn dha an t-artaigil a lorg."> +<!-- LOCALIZATION NOTE (serverResponded.title): A string preceding the text + response from the newsgroup server describing the error. --> + +<!ENTITY serverResponded.title "Fhreagair frithealaiche a’ bhuidhinn naidheachd:"> +<!-- LOCALIZATION NOTE (articleExpired.title): A string explaining that the + article may have expired. --> + +<!ENTITY articleExpired.title "Saoil an do dh’fhalbh an ùine air an artaigil?"> +<!-- LOCALIZATION NOTE (trySearching.title): A string preceding the message's + ID. --> + +<!ENTITY trySearching.title "Feuch is dèan lorg airson an artaigil:"> +<!-- LOCALIZATION NOTE (removeExpiredArticles.title): The label for the button + to remove all expired articles from the newsgroup. --> + +<!ENTITY removeExpiredArticles.title "Thoir air falbh gach artaigil a dh’fhalbh an ùine air"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/offline.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/offline.properties new file mode 100644 index 0000000000000000000000000000000000000000..fbb50afe5de575d89aab5e6a5582e704e349e5f8 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/offline.properties @@ -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/. + +# Download Messages Prompt +downloadMessagesWindowTitle1=Luchdaich a-nuas teachdaireachdan +downloadMessagesLabel1=A bheil thu airson na teachdaireachdan a luchdadh a-nuas a chum cleachdaidh far loidhne mus dèid thu far loidhne? +downloadMessagesCheckboxLabel1=Faighnich dhìom an-còmhnaidh nuair a thèid mi far loidhne +downloadMessagesNow2=Luch&daich a-nuas an-dràsta + +# Send Messages Prompt +sendMessagesWindowTitle1=Teachdaireachdan nach deach an cur +sendMessagesLabel2=A bheil thu airson na teachdaireachdan nach deach an cur a chur an-dràsta? +sendMessagesCheckboxLabel1=Faighnich dhìom an-còmhnaidh nuair a thèid mi air loidhne +sendMessagesNow2=Cuir an-drà&sta + +processMessagesLater2=&Uaireigin eile + +# GetMessages While Offline Prompt +getMessagesOfflineWindowTitle1=Faigh teachdaireachdan +getMessagesOfflineLabel1=Tha thu far loidhne an-dràsta. A bheil thu airson a dhol air loidhne gus do theachdaireachdan ùra fhaighinn? + +# Send Messages Offline Prompt +sendMessagesOfflineWindowTitle1=Teachdaireachdan nach deach an cur +sendMessagesOfflineLabel1=Tha thu far loidhne an-dràsta. A bheil thu airson a dhol air loidhne gus na teachdaireachdan nach deach an cur fhathast a chur? + +offlineTooltip=Tha thu far loidhne an-dràsta. +onlineTooltip=Tha thu air loidhne an-dràsta. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/offlineStartup.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/offlineStartup.properties new file mode 100644 index 0000000000000000000000000000000000000000..0f4da7d23f6f4bf1105b5eeb636cc72c1b7a625e --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/offlineStartup.properties @@ -0,0 +1,8 @@ +# 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/. + +title=Obraich air loidhne +desc=A bheil thu airson a dhol air loidhne an-dràsta?\n\n(Ma chuireas tu romhad obrachadh far loidhne, 's urrainn dhut a dhol air loidhne às a dhèidh seo - tagh 'Far loidhne' on chlàr-taice 'Faidhle' agus thoir air falbh a' chromag o 'Obraich far loidhne'.) +workOnline=Obraich air loidhne +workOffline=Obraich far loidhne diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/outlookImportMsgs.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/outlookImportMsgs.properties new file mode 100644 index 0000000000000000000000000000000000000000..9b4ad941522cb8a4dce0b8e8d33bd166c716dec1 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/outlookImportMsgs.properties @@ -0,0 +1,82 @@ +# 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/. + +# +# The following are used by the outlook express import code to display status/error +# and informational messages +# + +# +# The following are used by the outlook express import code to display status/error +# and informational messages +# + +# +# The following are used by the Outlook import code to display status/error +# and informational messages +# + +# Short name of import module +## @name OUTLOOKIMPORT_NAME +## @loc None +## LOCALIZATION NOTE (2000): DONT_TRANSLATE +2000=Outlook + +# Description of import module +## @name OUTLOOKIMPORT_DESCRIPTION +## @loc None +## LOCALIZATION NOTE (2010): In this item, don't translate "Outlook" +2010=Post, leabhraichean nan seòladh is roghainnean Outlook + +# Success message +## @name OUTLOOKIMPORT_MAILBOX_SUCCESS +## @loc None +## LOCALIZATION NOTE (2002): In this item, don't translate "%S" or "%d" +## The variable %S will receive the name of the mailbox +## The variable %d will receive the number of messages +2002=Bogsa-puist %S, chaidh %d teachdaireachd(an) ion-phortadh + +# Error message +## @name OUTLOOKIMPORT_MAILBOX_BADPARAM +## @loc None +2003=Chaidh droch pharamatair a thoirt a-null airson ion-phortadh a' bhogsa-phuist. + +# Error message +## @name OUTLOOKIMPORT_MAILBOX_CONVERTERROR +## @loc None +## LOCALIZATION NOTE (2004): In this item, don't translate "%S" +## The variable %S will receive the name of the mailbox +2004=Mearachd le ion-phortadh bogsa-puist %S, dh'fhaodadh nach deach a h-uile teachdaireachd on bhogsa-phuist seo ion-phortadh. + +# Address book name +## @name OUTLOOKIMPORT_ADDRNAME +## @loc None +## LOCALIZATION NOTE (2005): In this item, don't translate "Outlook" +2005=Leabhraichean nan seòladh Outlook + +# Description +## @name OUTLOOKIMPORT_ADDRESS_SUCCESS +## @loc None +## LOCALIZATION NOTE (2006): In this item, don't translate "%S" +## The variable %S will receive the name of the address book +2006=Chaidh leabhar nan seòladh %S ion-phortadh + +# Error message +## @name OUTLOOKIMPORT_ADDRESS_BADPARAM +## @loc None +2007=Droch-pharamatair air a thoirt a-null airson ion-phortadh leabhar nan seòladh. + +# Error message +## @name OUTLOOKIMPORT_ADDRESS_BADSOURCEFILE +## @loc None +## LOCALIZATION NOTE (2008): In this item, don't translate "%S" +## The variable %S will receive the name of the address book +2008=Mearachd le inntrigeadh do dh'fhaidhle airson leabhar nan seòladh %S. + +# Error message +## @name OUTLOOKIMPORT_ADDRESS_CONVERTERROR +## @loc None +## LOCALIZATION NOTE (2009): In this item, don't translate "%S" +## The variable %S will receive the name of the address book +2009=Mearachd le ion-phortadh leabhar nan seòladh aig %S, dh'fhaodadh nach deach a h-uile seòladh ion-phortadh. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/pgpmime.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/pgpmime.properties new file mode 100644 index 0000000000000000000000000000000000000000..a82533184abf58e32e8927e670a66d9727167505 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/pgpmime.properties @@ -0,0 +1,10 @@ +# 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/. + +# +# The following are used by the pgpmime content type handler +# + +# LOCALIZATION NOTE(pgpMimeNeedsAddon): The text can contain HTML tags. +pgpNotAvailable=Seo teachdaireachd OpenPGP chrioptaichte ach chan eil taic ri dì-chrioptachadh OpenPGP ri fhaighinn. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/preferences/applicationManager.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/preferences/applicationManager.properties new file mode 100644 index 0000000000000000000000000000000000000000..a5851c9df47330a0757d30fd4a7be9bbaa51187b --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/preferences/applicationManager.properties @@ -0,0 +1,13 @@ +# 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/. + +# LOCALIZATION NOTE +# in descriptionApplications, %S will be replaced by one of the 3 following strings +descriptionApplications=Gabhaidh na prògraman a leanas an cleachdadh gus %S a làimhseachadh. + +handleProtocol=ceanglaichean %S +handleFile=susbaint %S + +descriptionWebApp=Tha am prògram-lìn seo air òstaireacht le: +descriptionLocalApp=Tha am prògram seo ri fhaighinn aig: diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/preferences/applications.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/preferences/applications.properties new file mode 100644 index 0000000000000000000000000000000000000000..1c84e34aaac8f0e75cce91d04fb439f1a31cfacc --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/preferences/applications.properties @@ -0,0 +1,13 @@ +# 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/. + +# LOCALIZATION NOTE (dialog_removeAccount): +# %S will be replaced with the user-defined name of a storage account. +dialog_removeAccount=A bheil thu cinnteach gu bheil thu airson an cunntas "%S" a thoirt air falbh? + +# LOCALIZATION NOTE (addProvider): +# %S will be replace with the display name of a provider, e.g. DropBox +addProvider=Cuir %S ris + +notConfiguredYet=Cha deach an cunntas seo a rèiteachadh fhathast diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/preferences/messagestyle.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/preferences/messagestyle.properties new file mode 100644 index 0000000000000000000000000000000000000000..5619b891ec2775c97ff90119b44c2f77d5d2310e --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/preferences/messagestyle.properties @@ -0,0 +1,13 @@ +# 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/. + +# Content of preview conversation for chat message styles +default=Bun-roghainn +nick1=Iain Tormod +buddy1=iain_tormod@im.instantbird.org +nick2=Pàdraig ’Ain Ruairidh +buddy2=padraig@im.instantbird.org +message1=Shin thu! :-) +message2=Dè tha dol? +message3=Tha mi a’ feuchainn Thunderbird! ;-) diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/preferences/preferences.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/preferences/preferences.properties new file mode 100644 index 0000000000000000000000000000000000000000..d46ca91a036466e384f6d4303be3c62237a6a289 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/preferences/preferences.properties @@ -0,0 +1,100 @@ +# 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/. + +#### Junk +confirmResetJunkTrainingTitle=Dearbh +confirmResetJunkTrainingText=A bheil thu cinnteach gu bheil thu airson dàta trèanaidh nan criathragan tuigseach ath-shuidheachadh? + +#### Downloads +desktopFolderName=Deasg +myDownloadsFolderName=Na luchdaidhean a-nuas agam +chooseAttachmentsFolderTitle=Tagh pasgan + +#### Applications + +fileEnding=Faidhle %S +saveFile=Sàbhail am faidhle + +# LOCALIZATION NOTE (useApp, useDefault): %S = Application name +useApp=Cleachd %S +useDefault=Cleachd %S (bunaiteach) + +useOtherApp=Cleachd fear eile… +fpTitleChooseApp=Tagh prògram cobharach +manageApp=Mion-fhiosrachadh a' phrògraim… +alwaysAsk=Faighnich dhìom gach turas +delete=Sguab às gnìomh +confirmDeleteTitle=Sguab às gnìomh +confirmDeleteText=A bheil thu cinnteach gu bheil thu airson an gnìomh seo a sguabadh às? + +# LOCALIZATION NOTE (typeDescriptionWithDetails): +# %1$S = type description (for example "Portable Document Format") +# %2$S = details (see below, for example "(application/pdf: .pdf, .pdfx)") +typeDescriptionWithDetails=%1$S %2$S + +# LOCALIZATION NOTE (typeDetailsWithTypeOrExt): +# %1$S = type or extensions (for example "application/pdf", or ".pdf, .pdfx") +typeDetailsWithTypeOrExt=(%1$S) + +# LOCALIZATION NOTE (typeDetailsWithTypeAndExt): +# %1$S = type (for example "application/pdf") +# %2$S = extensions (for example ".pdf, .pdfx") +typeDetailsWithTypeAndExt=(%1$S: %2$S) + +#### Sound Notifications +soundFilePickerTitle=Tagh fuaim + +#### Remote content +imagepermissionstext='S urrainn dhut taghadh dè na làraichean-lìn a thèid an cuid dhealbhan is susbaint cèin a luchdadh. 'S urrainn dhut susbaint chèin sam bith a cheadachadh a-rèir post-d an t-seòladair cuideachd. Cuir a-steach seòladh na làraich no a' phuist-d a bu toigh leag stiùireadh agus briog air "Bac" no "Ceadaich" an uairsin. +imagepermissionstitle=Eisgeachdan - Susbaint chèin + +#### Cookies +cookiepermissionstitle=Eisgeachdan - Briosgaidean +cookiepermissionstext='S urrainn dhut sònrachadh an urrainn do làrach-lìn shònraichte briosgaidean fhàgail gus nach urrainn. Cuir a-steach seòladh cruinn na làraich a tha thu airson rianachadh is briog air "Cuir bacadh air", "Ceadaich fad an t-seisein" no "Ceadaich" an uairsin. + +#### Cookie Viewer +hostColon=Òstair: +domainColon=Àrainn: +forSecureOnly=Ceanglaichean crioptaichte a-mhàin +forAnyConnection=Gach seòrsa de cheangal +expireAtEndOfSession=Aig deireadh an t-seisein + +noCookieSelected=<cha deach briosgaid a thaghadh> +cookiesAll=Tha na briosgaidean a leanas air an stòradh air a' choimpiutair agad: +cookiesFiltered=Tha na briosgaidean a leanas a' freagairt ris an lorg agad: +# LOCALIZATION NOTE (removeSelectedCookies): +# Semicolon-separated list of plural forms. See: +# https://developer.mozilla.org/en/docs/Localization_and_Plurals +# If you need to display the number of selected elements in your language, +# you can use #1 in your localization as a placeholder for the number. +# For example this is the English string with numbers: +# removeSelectedCookies=Remove #1 Selected;Remove #1 Selected +removeSelectedCookies=Thoir air falbh na thagh thu;Thoir air falbh na thagh thu;Thoir air falbh na thagh thu;Thoir air falbh na thagh thu +defaultUserContextLabel=Chan eil gin + +####Preferences::Advanced::Network +#LOCALIZATION NOTE: The next string is for the disk usage of the cache. +# e.g., "Your cache is currently using 200 MB" +# %1$S = size +# %2$S = unit (MB, KB, etc.) +actualDiskCacheSize=Tha an tasgadan agad a’ cleachdadh %1$S %2$S a dh’àite air an diosg an-dràsta +actualDiskCacheSizeCalculated=Ag àireamhachadh meud an tasgadain… + +# LOCALIZATION NOTE (labelDefaultFont): %S = font name +labelDefaultFont=Bun-roghainn (%S) +labelDefaultFontUnnamed=Bun-roghainn + +# LOCALIZATION NOTE (appLocale.label): %S = Name of the application locale, +# e.g. English (United States) +appLocale.label=Sgeama ionadail na h-aplacaid: %S +appLocale.accesskey=p +# LOCALIZATION NOTE (rsLocale.label): %S = Name of the locale chosen in regional settings, +# e.g. German (Germany) +rsLocale.label=Sgeama ionadail nan roghainnean: %S +rsLocale.accesskey=g + +applications-type-pdf = Portable Document Format (PDF) + +# LOCALIZATION NOTE (previewInApp): %S = brandShortName +previewInApp=Ro-sheall le %S diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/prefs.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/prefs.properties new file mode 100644 index 0000000000000000000000000000000000000000..c290f5d0fa0c87c04587897ea1f7888827fdc025 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/prefs.properties @@ -0,0 +1,90 @@ +# 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/. + +# The following are used by the Account Wizard +# +enterValidEmail=Cuir a-steach seòladh puist-dhealain dligheach. +accountNameExists=Tha cunntas ann mu thràth air a bheil an t-ainm sin. Thoir ainm eile air a' chunntas. +accountNameEmpty=Chan fhaod ainm a' chunntais a bhith bàn. +modifiedAccountExists=Tha cunntas puist no buidhinn-naidheachd ann mu thràth sa bheil an dearbh ainm cleachdaiche is ainm frithealaiche. Cuir a-steach ainm cleachdaiche agus/no ainm frithealaiche eile. +userNameChanged=Chaidh an t-ainm cleachdaiche agad ùrachadh. 'S mathaid gum feum thu an seòladh puist-dhealain agad agus/no an t-ainm cleachdaiche a tha co-cheangailte leis a' chunntas seo ùrachadh. +serverNameChanged=Dh'atharraich roghainnean ainm an fhrithealaiche. Dearbhaich gu bheil pasgan sam bith a tha 'ga chleachdadh leis na criathragan ann air an fhrithealaiche ùr. +# LOCALIZATION NOTE (junkSettingsBroken): %1$S is the account name +junkSettingsBroken=Tha coltas gu bheil duilgheadas sna roghainnean truilleis aig a' chunntas "%1$S". A bheil thu airson sùil a thoirt orra mus dèid roghainnean a' chunntais a shàbhaladh? +# LOCALIZATION NOTE (localDirectoryChanged): %1$S is program name (&brandShortName;) +localDirectoryChanged=Feumaidh %1$S tòiseachadh as ùr gus na dh'atharraich thu ann an roghainnean a' phasgain ionadail a chur an sàs. +localDirectoryRestart=Ath-thòisich +userNameEmpty==Chan fhaod ainm a' chleachdaiche a bhith bàn. +# LOCALIZATION NOTE (localDirectoryInvalid): %1$S is path to folder +localDirectoryInvalid=Tha an t-slighe gun phasgan ionadail, "%1$S", mì-dhligheach. Feuch is tagh pasgan eile. +# LOCALIZATION NOTE (localDirectoryNotAllowed): %1$S is path to folder +localDirectoryNotAllowed=Chan eil ann t-slighe gun phasgan ionadail "%1$S" freagarrach mar stòras theachdaireachdan. Tagh pasgan eile. +# if the user chooses to cancel the wizard when no accounts are there throw a message +# LOCALIZATION NOTE (cancelWizard) +# do not localize "\n\n" +cancelWizard=A bheil thu cinnteach gu bheil thu airson draoidh nan cunntasan fhàgail?\n\nMa dh'fhàgas tu e an-dràsta, thèid fiosrachadh sam bith a chuir thu a-steach air chall 's cha dèid an cunntas a chruthachadh. +accountWizard=Draoidh nan cunntasan +WizardExit=Fàg an-seo +WizardContinue=Sguir dheth +# when the wizard already has a domain (Should we say something different?) +enterValidServerName=Cuir a-steach ainm frithealaiche dhligheach. +failedRemoveAccount=Dh'fhàillig toirt air falbh a' chunntais seo. +#LOCALIZATION NOTE: accountName: %1$S is server name, %2$S is user name +accountName=%1$S - %2$S + +# LOCALIZATION NOTE: confirmDeferAccountWarning: do not localize "\n\n", it means a new empty line in the string. +confirmDeferAccountWarning=Ma stòras tu post-dealain ùr a' chunntais seo ann am bogsa a-steach cunntais eile, chan urrainn dhut tuilleadh post-dealain a ruigsinn a luchdaich thu a-nuas roimhe airson a' chunntais seo. Ma tha post-dealain agad sa chunntas seo, cuir lethbhreac dheth ann an cunntas eile an toiseach.\n\nMa tha criathragan agad a chriathras am post a thig dhan chunntas seo, bu chòir dhut an cuir à comas no am pasgan-amais atharrachadh. Ma tha pasgain shònraichte aig cunntas sam bith sa chunntas seo ("Post cuirte", "Dreachan", "Teamplaidean"), bu chòir dhut an atharrachadh gum bi iad ann an cunntas eile.\n\nA bheil airson post-dealain a' chunntais a stòradh ann an cunntas eile fhathast? +confirmDeferAccountTitle=Airson an cunntas ath-seòladh? + +directoryAlreadyUsedByOtherAccount=Tha pasgan 'ga shònrachadh ann an roghainn a' phasgain ionadail ach tha an cunntas "%S" 'ga chleachdadh mu thràth. Feuch is tagh pasgan eile. +directoryParentUsedByOtherAccount=Tha pasgan pàraint a' phasgain 'ga shònrachadh ann an roghainn a' phasgain ionadail ach tha an cunntas "%S" 'ga chleachdadh mu thràth. Feuch is tagh pasgan eile. +directoryChildUsedByOtherAccount=Tha fo-phasgan 'ga shònrachadh ann an roghainn a' phasgain ionadail ach tha an cunntas "%S" 'ga chleachdadh mu thràth. Feuch is tagh pasgan eile. +#Provide default example values for sample email address +exampleEmailUserName=cleachdaiche +exampleEmailDomain=ball-sampaill.net +emailFieldText=Seòladh puist-dhealain: +#LOCALIZATION NOTE: defaultEmailText: %1$S is user name, %2$S is domain +defaultEmailText=Cuir a-steach seòladh a' phuist-dhealain. Seo an seòladh a chleachdas càch gus post-dealain a chur thugad (mar eisimpleir "%1$S@%2$S").\u0020 +#LOCALIZATION NOTE: customizedEmailText: %1$S is provider, %2$S is email username, %3$S is sample email, %4$S is sample username +customizedEmailText=Cuir a-steach an %2$S agad air %1$S (mar eisimpleir, mas e %3$S an seòladh puist-dhealain air "%1$S", 's e %4$S an "%2$S" agad).\u0020 + +# account manager stuff +prefPanel-server=Roghainnean an fhrithealaiche +prefPanel-copies=Lethbhric ⁊ pasgain +prefPanel-synchronization=Sioncronachadh ⁊ stòras +prefPanel-diskspace=Àite air an diosg +prefPanel-addressing=Sgrìobhadh ⁊ seòlachadh +prefPanel-junk=Roghainnean na truilleis +## LOCALIZATION NOTE (prefPanel-smtp): Don't translate "SMTP" +prefPanel-smtp=Frithealaiche a-mach (SMTP) + +# account manager multiple identity support +#LOCALIZATION NOTE: accountName: %1$S +identity-list-title=Dearbh-aithnean airson %1$S + +identityDialogTitleAdd=Dearbh-aithne ùr +## LOCALIZATION NOTE (identityDialogTitleEdit): %S is the identity name +identityDialogTitleEdit=Deasaich %S + +identity-edit-req=Feumaidh tu seòladh puist-dhealain dligheach airson na dearbh-aithne seo a chur a-steach. +identity-edit-req-title=Mearachd ann an cruthachadh na dearbh-aithne + +## LOCALIZATION NOTE (identity-delete-confirm): %S is the identity name +# and should be put on a new line. The new line is produced with the "\n" string. +identity-delete-confirm=A bheil thu cinnteach gu bheil thu airson na dearbh-aithne a leanas a sguabadh às?\n%S +## LOCALIZATION NOTE (identity-delete-confirm-title): %S is the account name +identity-delete-confirm-title=A' sguabadh às na dearbh-aithne airson %S +identity-delete-confirm-button=Sguab às + +choosefile=Tagh faidhle + +forAccount=Airson a' chunntais "%S" + +removeFromServerTitle=Iarr dearbhadh mus dèid teachdaireachd a sguabadh às gu buan gu fèin-obrachail +removeFromServer=Sguabaidh an roghainn seo seann-teachdaireachdan às an fhrithealaichte chèin gu buan AGUS às an stòras ionadail agad. A bheil thu cinnteach gu bheil thu airson leantainn air adhart? + +confirmSyncChangesTitle=Dearbhaich atharrachadh an t-sioncronachaidh +confirmSyncChanges=Chaidh na roghainnean airson sioncronachadh nan teachdaireachdan atharrachadh.\n\nA bheil thu airson an sàbhaladh? +confirmSyncChangesDiscard=Tilg air falbh + diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/profileDowngrade.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/profileDowngrade.dtd new file mode 100644 index 0000000000000000000000000000000000000000..f957f1549c08b15d22d185c061dd86bbbd9eaf44 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/profileDowngrade.dtd @@ -0,0 +1,20 @@ +<!-- 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/. --> + +<!-- LOCALIZATION NOTE: + This UI can be most easily shown by modifying the version in compatibility.ini + to a newer version and then starting Thunderbird. + For this feature, "installation" is used to mean "this discrete download of + Thunderbird" and "version" is used to mean "the specific revision number of a + given Thunderbird channel". These terms are not synonymous. +--> +<!ENTITY window.title "Chuir thu gu dol seann-tionndadh dhe &brandProductName;"> +<!ENTITY window.style "width: 490px;"> + +<!ENTITY window.nosync2 "Dh’fhaoidte gun do rinn tionndadh nas ùire dhe &brandProductName; atharraichean air a’ phròifil agad nach eil co-chòrdail leis an t-seann-tionndadh seo tuilleadh. Na cleachd a’ phròifil seo ach leis an tionndadh nas ùire ud no cruthaich pròifil ùr dhan stàladh seo dhe &brandShortName;. Ma chruthaicheas tu pròifil ùr, feumaidh tu na cunntasan, mìosachain is tuilleadain agad a shuidheachadh às ùr."> + +<!ENTITY window.moreinfo "Barrachd fiosrachaidh…"> +<!ENTITY window.create "Cruthaich pròifil ùr"> +<!ENTITY window.quit-win "Fàg an-seo"> +<!ENTITY window.quit-nonwin "Fàg an-seo"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/removeAccount.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/removeAccount.dtd new file mode 100644 index 0000000000000000000000000000000000000000..6286e9e975a9886521fa8870ba045815d52ed229 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/removeAccount.dtd @@ -0,0 +1,22 @@ +<!-- 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/. --> + +<!ENTITY dialogTitle "Thoir air falbh an cunntas is an dàta"> +<!ENTITY removeButton.label "Thoir air falbh"> +<!ENTITY removeButton.accesskey "T"> +<!ENTITY removeAccount.label "Thoir air falbh fiosrachadh a’ chunntais"> +<!ENTITY removeAccount.accesskey "a"> +<!ENTITY removeAccount.desc "Bheir seo air falbh am fiosrachadh aig &brandShortName; mun chunntas seo. Cha bhi buaidh air a’ chunntas fhèin air an fhrithealaiche."> +<!ENTITY removeData.label "Thoir air falbh dàta nan teachdaireachdan"> +<!ENTITY removeData.accesskey "d"> +<!ENTITY removeDataChat.label "Thoir air falbh dàta nan còmhradh"> +<!ENTITY removeDataChat.accesskey "d"> +<!ENTITY removeDataLocalAccount.desc "Bheir seo air falbh gach teachdaireachd, pasgan is criathrag a tha co-cheangailte ris a’ chunntas seo on diosg ionadail agad. Cha bhi buaidh air cuid dhe na teachdaireachdan a dh’fhaodadh a bhith air an fhrithealaiche. Na dèan seo ma tha thu am beachd an an dàta ionadail a chur ann an tasg-lann no a chleachdadh a-rithist ann an &brandShortName; uaireigin eile."> +<!ENTITY removeDataServerAccount.desc "Bheir seo air falbh gach teachdaireachd, pasgan is criathrag a tha co-cheangailte ris a’ chunntas seo on diosg ionadail agad.Bidh na teachdaireachdan is pasganan air an fhrithealaiche fhathast."> +<!ENTITY removeDataChatAccount.desc "Thoir air falbh gach loga de chòmhraidhean a chaidh a stòradh mu choinneamh a’ chunntais seo air an diosga ionadail agad."> +<!ENTITY showData.label "Seall ionad an dàta"> +<!ENTITY showData.accesskey "S"> +<!ENTITY progressPending "A’ toirt air falbh an dàta a thagh thu…"> +<!ENTITY progressSuccess "Chaidh a thoirt air falbh."> +<!ENTITY progressFailure "Dh’fhàillig a thoirt air falbh."> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/removeAccount.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/removeAccount.properties new file mode 100644 index 0000000000000000000000000000000000000000..42d21a20205403df6cb4610f135b1aa5d75c37d6 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/removeAccount.properties @@ -0,0 +1,5 @@ +# 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/. + +removeQuestion=A bheil thu cinnteach gu bheil thu airson an cunntas “%S” a thoirt air falbh? diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/renameFolderDialog.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/renameFolderDialog.dtd new file mode 100644 index 0000000000000000000000000000000000000000..4e073697e1880c3516cd5026ff5c26544f5918f8 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/renameFolderDialog.dtd @@ -0,0 +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/. --> + +<!ENTITY renameFolderDialog.title "Cuir ainm ùr air a' phasgan"> +<!ENTITY rename.label "Cuir a-steach an t-ainm ùr airson a' phasgain agad:"> +<!ENTITY rename.accesskey "e"> +<!ENTITY accept.label "Cuir ainm ùr air"> +<!ENTITY accept.accesskey "r"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/sanitize.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/sanitize.dtd new file mode 100644 index 0000000000000000000000000000000000000000..01682e843e5be62ac8c1f106532930c63db57c5b --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/sanitize.dtd @@ -0,0 +1,36 @@ +<!-- 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/. --> + +<!ENTITY sanitizeDialog2.title "Falamhaich an eachdraidh faisg ort"> + +<!-- XXX rearrange entities to match physical layout when l10n isn't an issue --> +<!-- LOCALIZATION NOTE (clearTimeDuration.*): "Time range to clear" dropdown. + See UI mockup at bug 480169 --> +<!ENTITY clearTimeDuration.label "An rainse-ama a tha ri fhalamhadh: "> +<!ENTITY clearTimeDuration.accesskey "A"> +<!ENTITY clearTimeDuration.lastHour "An uair a thìde seo chaidh"> +<!ENTITY clearTimeDuration.last2Hours "An dà uair a thìde seo chaidh"> +<!ENTITY clearTimeDuration.last4Hours "Na ceithir uairean a thìde seo chaidh"> +<!ENTITY clearTimeDuration.today "An-diugh"> +<!ENTITY clearTimeDuration.everything "A h-uile rud"> +<!-- Localization note (clearTimeDuration.suffix) - trailing entity for languages +that require it. --> +<!ENTITY clearTimeDuration.suffix ""> + + +<!ENTITY historyGroup.label "An eachdraidh"> + +<!ENTITY itemHistory.label "An eachdraidh brabhsaidh"> +<!ENTITY itemHistory.accesskey "b"> +<!ENTITY itemCookies.label "Briosgaidean"> +<!ENTITY itemCookies.accesskey "B"> +<!ENTITY itemCache.label "Tasgadan"> +<!ENTITY itemCache.accesskey "T"> + +<!-- LOCALIZATION NOTE (sanitizeEverythingUndoWarning): Second warning paragraph + that appears when "Time range to clear" is set to "Everything". See UI + mockup at bug 480169 --> +<!ENTITY sanitizeEverythingUndoWarning "Cha ghabh seo a neo-dhèanamh."> + +<!ENTITY dialog.width "35em"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/seamonkeyImportMsgs.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/seamonkeyImportMsgs.properties new file mode 100644 index 0000000000000000000000000000000000000000..7e65d6e95fcb68b453d2a9844dd42ae53b7f2274 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/seamonkeyImportMsgs.properties @@ -0,0 +1,18 @@ +# 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/. +# +# The following are used by the seamonkey import code to display status/error +# and informational messages + +# Short name of import module +SeamonkeyImportName=SeaMonkey + +# Description of import module +SeamonkeyImportDescription=Ion-phortaich leabhraichean nan seòladh, puist is cunntasan o SeaMonkey. + +# Success Message for addressbook import +SeamonkeyImportAddressSuccess=Chaidh leabhraichean nan seòladh ion-phortadh. + +# Success Message for mail import +SeamonkeyImportSettingsSuccess=Chaidh na teachdaireachdan is cunntasan ionadail ion-phortadh. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/search-attributes.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/search-attributes.properties new file mode 100644 index 0000000000000000000000000000000000000000..3d8f40df80daf8b35132ceb7a84f6b0fe25d44b3 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/search-attributes.properties @@ -0,0 +1,45 @@ +# 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/. + +#these need to match nsMsgSearchAttrib interface in nsMsgSearchCore.idl +#and nsMsgSearchAttribMap in nsMsgSearchAdapter.cpp +Subject=A' chuspair +From=O +Body=Bodhaig +Date=Ceann-là +Priority=Prìomhachas +Status=Staid +To=Gu +Cc=Cc +ToOrCc=Gu no Cc +AgeInDays=Aois ann an làithean +SizeKB=Meud (KB) +Tags=Tagaichean +# for AB and LDAP +AnyName=Ainm sam bith +DisplayName=Ainm-taisbeanaidh +Nickname=Far-ainm +ScreenName=Ainm-sgrìn +Email=Post-dealain +AdditionalEmail=Post-dealain eile +AnyNumber=Àireamh sam bith +WorkPhone=Fòn na h-obrach +HomePhone=Fòn na dachaighe +Fax=Facs +Pager=Pèidsear +Mobile=Fòn-làimhe +City=Baile +Street=Sràid +Title=Tiotal +Organization=Buidheann +Department=Roinn +# more mailnews +FromToCcOrBcc=O, Gu, Cc no Bcc +JunkScoreOrigin=Tùs an sgòir thruilleis +JunkPercent=Ceudad de thruilleis +AttachmentStatus=Cor a' cheanglachain +JunkStatus=An inbhe truilleis +Label=Leubail +Customize=Gnàthaich… +MissingCustomTerm=Briathair gnàthaichte a dhìth diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/search-operators.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/search-operators.properties new file mode 100644 index 0000000000000000000000000000000000000000..6b7b946602705629d5f17587d4007a687c088e50 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/search-operators.properties @@ -0,0 +1,31 @@ +# 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/. + +0=anns a bheil +1=anns nach eil +2=a tha +3=nach eil +4=a tha falamh + +5=a tha ron +6=a tha às dèidh + +7=a tha nas àirde na +8=a tha nas ìsle na + +9=a tha a' tòiseachadh le +10=a tha a' crìochnachadh le + +11=a tha an fhuaim air coltach ri +12=LdapDwim + +13=a tha nas motha na +14=a tha nas lugha na + +15=CoileanadhAinm +16=a tha ann an leabhar nan seòladh agam +17=nach eil ann an leabhar nan seòladh agam +18=nach eil falamh +19=a tha 'na sheise dha +20=nach eil 'na sheise dha diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/search.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/search.properties new file mode 100644 index 0000000000000000000000000000000000000000..04c7b4976571ce814634c04b6858c020a64ea899 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/search.properties @@ -0,0 +1,27 @@ +# 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/. + +# these are the fields that get inserted in the search line +# for "and" searches, this looks like: +# +# searchAnd0 <attribute> searchAnd1 <operator> searchAnd2 <value> searchAnd4 +# +# for example, in english this looks like: +# and the [Sender ] [doesn't contain] [John] +# +# TODO: need to special-case the first line (filterindex==0) + +# filter stuff + +searchingMessage=A' lorg… +# LOCALIZATION NOTE (matchesFound): #1 number of matches found +matchesFound=#1 seise air a lorg;#1 sheise air a lorg;#1 seisean air a lorg;#1 seise air a lorg +noMatchesFound=Cha deach seise a lorg +labelForStopButton=Sguir dheth +labelForSearchButton=Lorg +labelForStopButton.accesskey=S +labelForSearchButton.accesskey=L + +moreButtonTooltipText=Cuir riaghailt ùr ris +lessButtonTooltipText=Thoir air falbh an riaghailt seo diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/searchTermOverlay.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/searchTermOverlay.dtd new file mode 100644 index 0000000000000000000000000000000000000000..4cd1e25b5df96438f05a79abc2ef3dfc45590876 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/searchTermOverlay.dtd @@ -0,0 +1,19 @@ +<!-- 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/. --> + +<!ENTITY matchAll.label "Maidsich gach aon dhe na leanas"> +<!ENTITY matchAll.accesskey "a"> +<!ENTITY matchAny.label "Maidsich gin de dhe na leanas"> +<!ENTITY matchAny.accesskey "n"> +<!ENTITY matchAllMsgs.label "Maids a h-uile teachdaireachd"> +<!ENTITY matchAllMsgs.accesskey "M"> +<!-- LOCALIZATION NOTE + The values below are used to control the widths of the search widgets. + Change the values only when the localized strings in the popup menus + are truncated in the widgets. + --> + +<!ENTITY searchTermListAttributesFlexValue "5"> +<!ENTITY searchTermListOperatorsFlexValue "5"> +<!ENTITY searchTermListValueFlexValue "5"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/shutdownWindow.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/shutdownWindow.properties new file mode 100644 index 0000000000000000000000000000000000000000..3e06efdf57079d8a8a273dc62e070448678510cc --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/shutdownWindow.properties @@ -0,0 +1,10 @@ +# 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/. + + +# These strings are loaded and represented by the XUL dialog. +shutdownDialogTitle=Uinneag adhartas an dùnaidh +taskProgress=A' pròiseasadh %1$S à %2$S saothraichean\u0020 + +# These strings are loaded by the individual shutdown tasks. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/smime.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/smime.properties new file mode 100644 index 0000000000000000000000000000000000000000..1354f275d67ecb2643d650b513a376dd0908dc68 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/smime.properties @@ -0,0 +1,13 @@ +# 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/. + +# +# The following are used by the smime content type handler +# + +## @name NS_MSG_UNABLE_TO_OPEN_FILE +## LOCALIZATION NOTE: the text can contain HTML tags. +1000=Seo teachdaireachd <B>CRIOPTAICHTE</B> no <B>SOIDHNICHTE</B>.<br> Chan eil am prògram puist seo a' cur taic ri crioptachadh no post soidhnichte. + + diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/smtpEditOverlay.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/smtpEditOverlay.dtd new file mode 100644 index 0000000000000000000000000000000000000000..90bc5d8d562471bfaec24eb2ebc3bab1aafe2d33 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/smtpEditOverlay.dtd @@ -0,0 +1,24 @@ +<!-- 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/. --> + +<!ENTITY settings.caption "Roghainnean"> +<!ENTITY security.caption "Tèarainteachd is dearbhachadh"> +<!ENTITY serverName.label "Ainm an fhrithealaiche:"> +<!ENTITY serverName.accesskey "A"> +<!ENTITY serverDescription.label "Tuairisgeul:"> +<!ENTITY serverDescription.accesskey "T"> +<!ENTITY serverPort.label "Port:"> +<!ENTITY serverPort.accesskey "P"> +<!ENTITY userName.label "Ainm a' chleachdaiche:"> +<!ENTITY userName.accesskey "m"> +<!ENTITY connectionSecurity.label "Tèarainteachd a' cheangail:"> +<!ENTITY connectionSecurity.accesskey "n"> +<!ENTITY connectionSecurityType-0.label "Chan eil gin"> +<!ENTITY connectionSecurityType-1.label "STARTTLS, ma bhios e ri fhaighinn"> +<!ENTITY connectionSecurityType-2.label "STARTTLS"> +<!ENTITY connectionSecurityType-3.label "SSL/TLS"> +<!ENTITY smtpEditTitle.label "Frithealaiche SMTP"> +<!ENTITY serverPortDefault.label "Bunaiteach:"> +<!ENTITY authMethod.label "An dòigh dearbhachaidh:"> +<!ENTITY authMethod.accesskey "i"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/subscribe.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/subscribe.dtd new file mode 100644 index 0000000000000000000000000000000000000000..690bc9ed230b3c1bb434a1778b875584d38f7d87 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/subscribe.dtd @@ -0,0 +1,22 @@ +<!-- 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/. --> + +<!ENTITY subscribeDialog.title "Fo-sgrìobh"> +<!ENTITY subscribeButton.label "Fo-sgrìobh"> +<!ENTITY subscribeButton.accesskey "s"> +<!ENTITY unsubscribeButton.label "Sguir dhen fho-sgrìobhadh"> +<!ENTITY unsubscribeButton.accesskey "u"> +<!ENTITY newGroupsTab.label "Buidhnean ùra"> +<!ENTITY newGroupsTab.accesskey "n"> +<!ENTITY refreshButton.label "Ath-ùraich"> +<!ENTITY refreshButton.accesskey "r"> +<!ENTITY stopButton.label "Sguir dheth"> +<!ENTITY stopButton.accesskey "t"> +<!ENTITY server.label "Cunntas:"> +<!ENTITY server.accesskey "a"> +<!ENTITY subscribedHeader.label "Fo-sgrìobh"> +<!-- commenting out until bug 38906 is fixed +<!ENTITY messagesHeader.label "Messages"> --> +<!ENTITY namefield.label "Seall rudan anns a bheil:"> +<!ENTITY namefield.accesskey "S"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/subscribe.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/subscribe.properties new file mode 100644 index 0000000000000000000000000000000000000000..b4ed69046892fc2826ddc45a95ac23ab7456a622 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/subscribe.properties @@ -0,0 +1,13 @@ +# 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/. + +subscribeLabel-nntp=Tagh na buidhnean-naidheachd a tha thu airson fo-sgrìobhadh thuca: +subscribeLabel-imap=Tagh na pasgain a tha thu airson fo-sgrìobhadh thuca: +currentListTab-nntp.label=Liosta nam buidhnean làithreach +currentListTab-nntp.accesskey=L +currentListTab-imap.label=Liosta nam pasgan +currentListTab-imap.accesskey=L +pleaseWaitString=Fuirich ort… +offlineState=Tha thu far loidhne. Cha b’ urrainn dhuinn na nithean fhaighinn on fhrithealaiche. +errorPopulating=Mearachd a’ faighinn nan nithean on fhrithealaiche. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/tabmail.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/tabmail.dtd new file mode 100644 index 0000000000000000000000000000000000000000..60e98c94a8ceb89338bcadd6a9e82539248ed71b --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/tabmail.dtd @@ -0,0 +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/. --> + +<!ENTITY closeTab.label "Dùin an taba"> +<!ENTITY listAllTabs.label "Liostaich gach taba"> +<!-- LOCALIZATION NOTE(defaultTabTitle.label): This is the default tab + title to show when the tab has no title. --> +<!ENTITY defaultTabTitle.label "Dachaigh"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/taskbar.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/taskbar.properties new file mode 100644 index 0000000000000000000000000000000000000000..8e65d941d394f2fc939af7d03cc1331fab5041d9 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/taskbar.properties @@ -0,0 +1,8 @@ +# 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/. + +taskbar.tasks.composeMessage.label=Sgrìobh teachdaireachd ùr +taskbar.tasks.composeMessage.description=Sgrìobh teachdaireachd ùr. +taskbar.tasks.openAddressBook.label=Fosgail leabhar-sheòlaidhean +taskbar.tasks.openAddressBook.description=Fosgail leabhar nan seòlaidhean agad. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/telemetry.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/telemetry.properties new file mode 100644 index 0000000000000000000000000000000000000000..9a321bb4310c70bd26b36e8965bc5bf8fc40889c --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/telemetry.properties @@ -0,0 +1,13 @@ +# 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/. + +# Telemetry prompt +# LOCALIZATION NOTE (telemetryText): %1$S will be replaced by brandFullName, +# and %2$S by the value of the toolkit.telemetry.server_owner preference. +telemetryText = Am biodh tu deònach ar cuideachadh le piseach a thoirt air %1$S 's tu - gu fèin-obrachail - a' cur thugainn dàta mu chleachdadh na cuimhne, dèanadas is freagairteachd a thaobh %2$S? +telemetryLinkLabel = Barrachd fiosrachaidh +telemetryYesButtonLabel = Bhitheadh +telemetryYesButtonAccessKey = B +telemetryNoButtonLabel = Cha bhiodh +telemetryNoButtonAccessKey = C diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/templateUtils.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/templateUtils.properties new file mode 100644 index 0000000000000000000000000000000000000000..f4bd3e84055147cdb31724b95621c6039ef65495 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/templateUtils.properties @@ -0,0 +1,7 @@ +# 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/. + +# LOCALIZATION NOTE yesterday: used in various places where we compute +# a "friendly" date, e.g. displaying that a message was from yesterday. +yesterday=an-dè diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/textImportMsgs.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/textImportMsgs.properties new file mode 100644 index 0000000000000000000000000000000000000000..6f2b7e058eb4dd87761a1e56f7f819011d3cfa8c --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/textImportMsgs.properties @@ -0,0 +1,53 @@ +# 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/. + +# +# The following are used by the outlook express import code to display status/error +# and informational messages +# + +# +# The following are used by the outlook express import code to display status/error +# and informational messages +# + +# +# The following are used by the text import code to display status/error +# and informational messages +# + +# Short name of import module +## @name TEXTIMPORT_NAME +## @loc None +2000=Faidhle teacsa (LDIF, .tab, .csv, .txt) + +# Description of import module +## @name TEXTIMPORT_DESCRIPTION +## @loc None +2001=Ion-phortaich leabhar nan seòladh o fhaidhle teacsa, a' gabhail a-steach: fòrmat LDIF (.ldif, .ldi), tabaichean eatarra (.tab, .txt) no cromagan eatarra (.csv). + +# Description of import module +## @name TEXTIMPORT_ADDRESS_NAME +## @loc None +2002=Leabhar nan seòladh teacsa + +# Description +## @name TEXTIMPORT_ADDRESS_SUCCESS +## @loc None +2003=Chaidh leabhar nan seòladh %S ion-phortadh + +# Error message +## @name TEXTIMPORT_ADDRESS_BADPARAM +## @loc None +2004=Droch-pharamatair air a thoirt a-null airson ion-phortadh leabhar nan seòladh. + +# Error message +## @name TEXTIMPORT_ADDRESS_BADSOURCEFILE +## @loc None +2005=Mearachd le inntrigeadh do dh'faidhle airson leabhar nan seòladh %S. + +# Error message +## @name TEXTIMPORT_ADDRESS_CONVERTERROR +## @loc None +2006=Mearachd le ion-phortadh leabhar nan seòladh aig %S, dh'fhaodadh nach deach a h-uile seòladh ion-phortadh. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/vCardImportMsgs.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/vCardImportMsgs.properties new file mode 100644 index 0000000000000000000000000000000000000000..9837ffdad1ec5542a02e9bf97fa1717e94b539f8 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/vCardImportMsgs.properties @@ -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/. + +# +# The following are used by the vCard import code to display status, error, and +# informational messages +# + +vCardImportName=Faidhle vCard (.vcf) + +vCardImportDescription=Ion-phortaich leabhar sheòlaidhean o fhòrmat vCard + +vCardImportAddressName=Leabhar sheòlaidhean vCard + +# LOCALIZATION NOTE (vCardImportAddressSuccess): %S is replaced by the +# name of the address book being imported. +vCardImportAddressSuccess=Chaidh leabhar nan seòladh %S ion-phortadh + +# LOCALIZATION NOTE (vCardImportAddressSuccess): %S is replaced by the +# name of the address book being imported. +vCardImportAddressBadSourceFile=Mearachd le inntrigeadh do dh'fhaidhle airson leabhar nan seòladh %S. + +# LOCALIZATION NOTE (vCardImportAddressSuccess): %S is replaced by the +# name of the address book being imported. +vCardImportAddressConvertError=Mearachd le ion-phortadh leabhar nan seòladh aig %S, dh'fhaodadh nach deach a h-uile seòladh ion-phortadh. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/viewLog.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/viewLog.dtd new file mode 100644 index 0000000000000000000000000000000000000000..323bc906e1075aed459fe7281209aca2d6b1d038 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/viewLog.dtd @@ -0,0 +1,12 @@ +<!-- 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/. --> + +<!ENTITY viewLog.title "An loga criathraidh"> +<!ENTITY viewLogInfo.text "Tha an loga criathraidh a' clàrachadh nan criathran a chaidh a chleachdadh sa chunntas seo. Cuir cromag sa bhogsa gu h-ìosal gus logadh a chur an comas."> +<!ENTITY clearLog.label "Falamhaich an loga"> +<!ENTITY clearLog.accesskey "c"> +<!ENTITY enableLog.label "Cuir an loga criathraidh an comas"> +<!ENTITY enableLog.accesskey "C"> +<!ENTITY closeLog.label "Dùin"> +<!ENTITY closeLog.accesskey "D"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/viewSource.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/viewSource.dtd new file mode 100644 index 0000000000000000000000000000000000000000..6feb534d84b7ddb59a3412e847267e9d1b1e3c72 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/viewSource.dtd @@ -0,0 +1,84 @@ +<!-- 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/. --> + +<!-- extracted from content/viewSource.xhtml --> + +<!-- LOCALIZATION NOTE (mainWindow.title) : DONT_TRANSLATE --> +<!ENTITY mainWindow.title "&brandFullName;"> +<!-- LOCALIZATION NOTE (mainWindow.titlemodifier) : DONT_TRANSLATE --> +<!ENTITY mainWindow.titlemodifier "&brandFullName;"> +<!-- LOCALIZATION NOTE (mainWindow.titlemodifierseparator) : DONT_TRANSLATE --> +<!ENTITY mainWindow.titlemodifierseparator " - "> +<!ENTITY mainWindow.preface "Bun-tùs: "> + +<!ENTITY editMenu.label "Deasaich"> +<!ENTITY editMenu.accesskey "E"> +<!ENTITY fileMenu.label "Faidhle"> +<!ENTITY fileMenu.accesskey "F"> +<!ENTITY savePageCmd.label "Sàbhail an duilleag mar..."> +<!ENTITY savePageCmd.accesskey "A"> +<!ENTITY savePageCmd.commandkey "S"> +<!ENTITY printCmd.label "Clò-bhuail..."> +<!ENTITY printCmd.accesskey "P"> +<!ENTITY printCmd.commandkey "P"> +<!ENTITY closeCmd.label "Dùin"> +<!ENTITY closeCmd.accesskey "C"> +<!ENTITY closeCmd.commandkey "W"> + +<!-- LOCALIZATION NOTE : +textEnlarge.commandkey3, textReduce.commandkey2 and +textReset.commandkey2 are alternative acceleration keys for zoom. +If shift key is needed with your locale popular keyboard for them, +you can use these alternative items. Otherwise, their values should be empty. --> + +<!ENTITY textEnlarge.commandkey "+"> +<!ENTITY textEnlarge.commandkey2 "="> +<!ENTITY textEnlarge.commandkey3 ""> +<!ENTITY textReduce.commandkey "-"> +<!ENTITY textReduce.commandkey2 ""> +<!ENTITY textReset.commandkey "0"> +<!ENTITY textReset.commandkey2 ""> + +<!ENTITY goToLineCmd.label "Tadhail air loidhne..."> +<!ENTITY goToLineCmd.accesskey "G"> +<!ENTITY goToLineCmd.commandkey "l"> + +<!ENTITY viewMenu.label "Sealladh"> +<!ENTITY viewMenu.accesskey "V"> +<!ENTITY reloadCmd.label "Ath-luchdaich"> +<!ENTITY reloadCmd.accesskey "R"> +<!ENTITY reloadCmd.commandkey "r"> +<!ENTITY menu_wrapLongLines.title "Paisg loidhnichean fada"> +<!ENTITY menu_wrapLongLines.accesskey "W"> +<!ENTITY menu_highlightSyntax.label "Soillseachadh co-chàraidh"> +<!ENTITY menu_highlightSyntax.accesskey "H"> +<!ENTITY menu_textSize.label "Meud an teacsa"> +<!ENTITY menu_textSize.accesskey "Z"> +<!ENTITY menu_textEnlarge.label "Clò nas motha"> +<!ENTITY menu_textEnlarge.accesskey "I"> +<!ENTITY menu_textReduce.label "Clò nas lugha"> +<!ENTITY menu_textReduce.accesskey "D"> +<!ENTITY menu_textReset.label "Àbhaisteach"> +<!ENTITY menu_textReset.accesskey "N"> + +<!ENTITY findOnCmd.label "Lorg san duilleag seo..."> +<!ENTITY findOnCmd.accesskey "F"> +<!ENTITY findOnCmd.commandkey "f"> +<!ENTITY findAgainCmd.label "Lorg a-rithist"> +<!ENTITY findAgainCmd.accesskey "g"> +<!ENTITY findAgainCmd.commandkey "g"> +<!ENTITY findAgainCmd.commandkey2 "VK_F3"> +<!ENTITY findSelectionCmd.commandkey "e"> + +<!ENTITY backCmd.label "Air ais"> +<!ENTITY backCmd.accesskey "B"> +<!ENTITY forwardCmd.label "Air adhart"> +<!ENTITY forwardCmd.accesskey "F"> +<!ENTITY goBackCmd.commandKey "["> +<!ENTITY goForwardCmd.commandKey "]"> + +<!ENTITY copyLinkCmd.label "Dèan lethbhreac de sheòladh a’ cheangail"> +<!ENTITY copyLinkCmd.accesskey "L"> +<!ENTITY copyEmailCmd.label "Dèan lethbhreac de sheòladh a’ phuist-d"> +<!ENTITY copyEmailCmd.accesskey "E"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/viewSource.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/viewSource.properties new file mode 100644 index 0000000000000000000000000000000000000000..500b0f4b25a2d48100f3a1ab90765448a84c7a36 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/viewSource.properties @@ -0,0 +1,17 @@ +# 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/. + +goToLineTitle = Tadhail air loidhne +goToLineText = Cuir a-steach àireamh na loidhne +invalidInputTitle = Ion-chur mì-dhligheach +invalidInputText = Tha àireamh na loidhne a chuir thu a-steach mì-dhligheach. +outOfRangeTitle = Cha deach an loidhne a lorg +outOfRangeText = Cha deach an loidhne a shònraich thu a lorg. +viewSelectionSourceTitle = Bun-tùs DOM na thagh thu +viewMathMLSourceTitle = Bun-tùs DOM MathML + +context_goToLine_label = Tadhail air an loidhne... +context_goToLine_accesskey = L +context_wrapLongLines_label = Paisg loidhnichean fada +context_highlightSyntax_label = Soillseachadh co-chàraidh diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/viewZoomOverlay.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/viewZoomOverlay.dtd new file mode 100644 index 0000000000000000000000000000000000000000..5f13a6159f4642cf57f8ad7d1d251c8dc4301853 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/viewZoomOverlay.dtd @@ -0,0 +1,32 @@ +<!-- 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/. --> + +<!-- LOCALIZATION NOTE : +fullZoomEnlargeCmd.commandkey3, fullZoomReduceCmd.commandkey2 and +fullZoomResetCmd.commandkey2 are alternative acceleration keys for zoom. +If shift key is needed with your locale popular keyboard for them, +you can use these alternative items. Otherwise, their values should be empty. --> + + +<!ENTITY fullZoomEnlargeCmd.label "Sùm a-steach"> +<!ENTITY fullZoomEnlargeCmd.accesskey "m"> +<!ENTITY fullZoomEnlargeCmd.commandkey "+"> +<!-- + is above this key on many keyboards --> +<!ENTITY fullZoomEnlargeCmd.commandkey2 "="> +<!ENTITY fullZoomEnlargeCmd.commandkey3 ""> + +<!ENTITY fullZoomReduceCmd.label "Sùm a-mach"> +<!ENTITY fullZoomReduceCmd.accesskey "h"> +<!ENTITY fullZoomReduceCmd.commandkey "-"> +<!ENTITY fullZoomReduceCmd.commandkey2 ""> + +<!ENTITY fullZoomResetCmd.label "Ath-shuidhich"> +<!ENTITY fullZoomResetCmd.accesskey "A"> +<!ENTITY fullZoomResetCmd.commandkey "0"> +<!ENTITY fullZoomResetCmd.commandkey2 ""> + +<!ENTITY fullZoomToggleCmd.label "Na sùm ach an teacsa"> +<!ENTITY fullZoomToggleCmd.accesskey "t"> +<!ENTITY fullZoom.label "Sùm"> +<!ENTITY fullZoom.accesskey "S"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/virtualFolderListDialog.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/virtualFolderListDialog.dtd new file mode 100644 index 0000000000000000000000000000000000000000..31e4a5c42ef4dadb2297ffa4f05e750d8b260540 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/virtualFolderListDialog.dtd @@ -0,0 +1,10 @@ +<!-- 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/. --> + +<!ENTITY virtualFolderListTitle.title "Tagh pasga(i)n"> +<!ENTITY virtualFolderDesc.label "Tagh na pasgain a thèid a rannsachadh:"> + + +<!ENTITY folderName.label "Ainm aʼ phasgain"> +<!ENTITY folderSearch.label "Lorg"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/virtualFolderProperties.dtd b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/virtualFolderProperties.dtd new file mode 100644 index 0000000000000000000000000000000000000000..2eebb8d3b0b0f48d1b4501bf1503efcb7b82672f --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/virtualFolderProperties.dtd @@ -0,0 +1,22 @@ +<!-- 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/. --> + +<!ENTITY virtualFolderProperties.title "Pasgan ùr airson lorg a chaidh a shàbhaladh"> +<!ENTITY name.label "Ainm:"> +<!ENTITY name.accesskey "n"> +<!ENTITY description.label "Cruthaich mar fho-phasgan de:"> +<!ENTITY description.accesskey "C"> + +<!ENTITY searchTermCaption.label "Rèitich na roghainnean luirg airson a' phasgain luirg seo a chaidh a shàbhaladh: "> + +<!ENTITY folderSelectionCaption.label "Tagh na pasgain a thèid a rannsachadh: "> +<!ENTITY chooseFoldersButton.label "Tagh…"> +<!ENTITY chooseFoldersButton.accesskey "h"> + +<!ENTITY searchOnline.label "Lorg air loidhne (Gheibh thu toraidhean gu ruige an-diugh airson pasgain naidheachdan is IMAP ach bheir e nas fhaide a' fosgladh a' phasgain)"> +<!ENTITY searchOnline.accesskey "s"> +<!ENTITY newFolderButton.label "Cruthaich"> +<!ENTITY newFolderButton.accesskey "r"> +<!ENTITY editFolderButton.label "Ùraich"> +<!ENTITY editFolderButton.accesskey "a"> diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/wmImportMsgs.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/wmImportMsgs.properties new file mode 100644 index 0000000000000000000000000000000000000000..3332aaff1dcd8817ed068c062b7c6fb68dc334a2 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/messenger/wmImportMsgs.properties @@ -0,0 +1,76 @@ +# 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/. + +# +# The following are used by the windows live mail import code to display status/error +# and informational messages +# + +# Short name of import module +## @name WMIMPORT_NAME +## @loc None +## LOCALIZATION NOTE (2000): DONT_TRANSLATE +2000=Windows Live Mail + +# Description of import module +## @name WMIMPORT_DESCRIPTION +## @loc None +## LOCALIZATION NOTE (2001): In this item, don't translate "Windows Live Mail" +2001=Roghainnean Windows Live Mail + +# Success message +## @name WMIMPORT_MAILBOX_SUCCESS +## @loc None +## LOCALIZATION NOTE (2002): In this item, don't translate "%1$S" or "%2$d" +## The variable %1$S will contain the name of the Mailbox +## The variable %2$d will contain the number of messages +2002=Bogsa-puist %1$S, %2$d teachdaireachd(an) air ion-phortadh + +# Error message +## @name WMIMPORT_MAILBOX_BADPARAM +## @loc None +2003=Chaidh droch pharamatair a thoirt a-null airson ion-phortadh a' bhogsa-phuist. + +# Error message +## @name WMIMPORT_MAILBOX_BADSOURCEFILE +## @loc None +## LOCALIZATION NOTE (2004): In this item, don't translate "%S" +## The variable %S will contain the name of the Mailbox +2004=Mearachd le inntrigeadh do dh'fhaidhle airson bogsa-puist %S. + +# Error message +## @name WMIMPORT_MAILBOX_CONVERTERROR +## @loc None +## LOCALIZATION NOTE (2005): In this item, don't translate "%S" +## The variable %S will contain the name of the Mailbox +2005=Mearachd le ion-phortadh bogsa-puist %S, dh'fhaodadh nach deach a h-uile teachdaireachd on bhogsa-phuist seo ion-phortadh. + +# Default name of imported addressbook +## @name WMIMPORT_DEFAULT_NAME +## @loc None +2006=Leabhar nan seòladh aig Windows Live Mail + +# Autofind description +## @name WMIMPORT_AUTOFIND +## @loc None +2007=Leabhar nan seòladh aig Windows Live Mail (leabhar nan seòladh Windows) + +# Description +## @name WMIMPORT_ADDRESS_SUCCESS +## @loc None +## LOCALIZATION NOTE (2006): In this item, don't translate "%S" +## The variable %S will receive the name of the address book +2008=Chaidh leabhar nan seòladh %S ion-phortadh + +# Error message +## @name WMIMPORT_ADDRESS_CONVERTERROR +## @loc None +## LOCALIZATION NOTE (2009): In this item, don't translate "%S" +## The variable %S will receive the name of the address book +2009=Mearachd le ion-phortadh leabhar nan seòladh aig %S, dh'fhaodadh nach deach a h-uile seòladh ion-phortadh. + +# Error message +## @name WMIMPORT_ADDRESS_BADPARAM +## @loc None +2010=Chaidh droch pharamatair a thoirt a-null airson ion-phortadh leabhar nan seòladh. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/mozapps/downloads/downloads.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/mozapps/downloads/downloads.properties new file mode 100644 index 0000000000000000000000000000000000000000..acacbe3050b28dd16653d066952f217460e24cdb --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/mozapps/downloads/downloads.properties @@ -0,0 +1,6 @@ +# 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/. + +# Desktop folder name for downloaded files +downloadsFolder=Luchdaidhean a-nuas diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/mozapps/downloads/unknownContentType.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/mozapps/downloads/unknownContentType.properties new file mode 100644 index 0000000000000000000000000000000000000000..1e832c88bc2ec0379e4aa087cd7de47fd511db92 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/mozapps/downloads/unknownContentType.properties @@ -0,0 +1,23 @@ +# -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- +# 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/. + +title=A' fosgladh %S +saveDialogTitle=Cuir a-steach ainm an fhaidhle a thèid a shàbhaladh thuige… +defaultApp=%S (bunaiteach) +chooseAppFilePickerTitle=Tagh an aplacaid chobharach +badApp=Cha deach an aplacaid a shònraich thu ("%S") a lorg. Cuir sùil air ainm an fhaidhle no sònraich aplacaid eile. +badApp.title=Cha deach an aplacaid a lorg +badPermissions=Cha b' urrainn dhuinn am faidhle a shàbhaladh a chionn 's nach eil cead iomchaidh agad. Tagh pasgan sàbhalaidh eile. +badPermissions.title=Cead sàbhalaidh mì-dhligheach +unknownAccept.label=Sàbhail am faidhle +unknownCancel.label=Sguir dheth +fileType=Faidhle %S +# LOCALIZATION NOTE (orderedFileSizeWithType): first %S is type, second %S is size, and third %S is unit +orderedFileSizeWithType=%1$S (%2$S %3$S) +avifExtHandlerDescription=AV1 Image File (AVIF) +pdfExtHandlerDescription=Portable Document Format (PDF) +svgExtHandlerDescription=Scalable Vector Graphics (SVG) +webpExtHandlerDescription=Dealbh WebP +xmlExtHandlerDescription=Extensible Markup Language (XML) diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/mozapps/profile/profileSelection.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/mozapps/profile/profileSelection.properties new file mode 100644 index 0000000000000000000000000000000000000000..1f1c240d5088f89c9b72cbfdabb6a0e696e3f0aa --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/mozapps/profile/profileSelection.properties @@ -0,0 +1,55 @@ +# 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/. + +# LOCALIZATION NOTE: These strings are used for startup/profile problems and the profile manager. + +# Application not responding +# LOCALIZATION NOTE (restartTitle, restartMessageNoUnlocker2, restartMessageUnlocker, restartMessageNoUnlockerMac, restartMessageUnlockerMac): Messages displayed when the application is running but is not responding to commands. %S is the application name. +restartTitle=Dùin %S +restartMessageNoUnlocker2=Tha %S a’ ruith mu thràth ach chan eil e a’ freagairt. Mus cleachd thu %S, feumaidh tu am pròiseas %S a tha ann a dhùnadh, an t-uidheam agad ath-thòiseachadh no pròifil eile a chleachdadh. +restartMessageUnlocker=Tha %S a' dol mu thràth ach chan eil e a' freagairt. Feumaidh tu crìoch a chur air seann phròiseas %S mus urrainn dhut uinneag ùr fhosgladh. +restartMessageNoUnlockerMac=Tha lethbhreac de %S fosgailte mu thràth. Chan urrainn dhut barrachd air aon lethbhreac de %S fhosgladh aig an aon àm. +restartMessageUnlockerMac=Tha lethbhreac de %S fosgailte mu thràth. Dùinidh lethbhreac %S a tha a' dol an-dràsta gus am fear seo fhosgladh. + +# Profile manager +# LOCALIZATION NOTE (profileTooltip): First %S is the profile name, second %S is the path to the profile folder. +profileTooltip=Pròifil: "%S" - Slighe: "%S" + +pleaseSelectTitle=Tagh pròifil +pleaseSelect=Tagh pròifil gus %S a thòiseachadh no cruthaich pròifil ùr. + +renameProfileTitle=Cuir ainm ùr air pròifil +renameProfilePrompt=Atharraich ainm na pròifile "%S" gu: + +profileNameInvalidTitle=Ainm pròifile mì-dhligheach +profileNameInvalid=Chan eil an t-ainm pròifile "%S" ceadaichte. + +chooseFolder=Tagh pasgan na pròifile +profileNameEmpty=Chan fhaod ainm pròifil a bhith bàn. +invalidChar=Chan eil an caractair "%S" ceadaichte ann an ainmean pròifile. Tagh ainm eile. + +deleteTitle=Sguab às pròifil +deleteProfileConfirm=Ma sguabas tu às pròifil, thèid a chur far liosta nam pròifilean a tha rim faighinn is chan urrainn dhut seo aiseag.\n'S urrainn dhut faidhlichean dàta na pròifile a sguabadh às cuideachd, a' gabhail a-steach nan roghainnean, ceadachasan is dàta eile co-cheangailte ris a' chleachdaiche. Sguabaidh an roghainn seo às am pasgan "%S" is chan urrainn dhut seo aiseag.\nA bheil thu airson faidhlichean dàta na pròifile a sguabadh às? +deleteFiles=Sguab às na faidhlichean +dontDeleteFiles=Na sguab às na faidhlichean + +profileCreationFailed=Cha do ghabh a' phròifil a chruthachadh. 'S mathaid gu bheil am pasgan a thagh thu ri leughadh a-mhàin. +profileCreationFailedTitle=Dh'fhàillig cruthachadh na pròifile +profileExists=Tha pròifil ann mu thràth air a bheil an t-ainm seo. Tagh ainm eile. +profileFinishText=Briog air "Crìochnaich" gus a' phròifil ùr seo a chruthachadh. +profileFinishTextMac=Briog air "Dèanta" gus a' phròifil ùr seo a chruthachadh. +profileMissing=Chan urrainn dhuinn a' phròifil agad (%S) a luchdadh. Faodaidh nach eil e ann no nach gabh a ruigsinn. +profileMissingTitle=Pròifil a dhìth +profileDeletionFailed=Cha b’ urrainn dhuinn a’ phròifil a sguabadh às, dh’fhaoidte gu bheil e ’ga chleachdadh. +profileDeletionFailedTitle=Dh’fhàillig an sguabadh às + +# Profile reset +# LOCALIZATION NOTE (resetBackupDirectory): Directory name for the profile directory backup created during reset. This directory is placed in a location users will see it (ie. their desktop). %S is the application name. +resetBackupDirectory=Seann-dàta %S + +flushFailTitle=Cha deach na h-atharraichean a shàbhaladh +flushFailMessage=Thachair mearachd ris nach robh dùil agus cha deach na h-atharraichean agad a shàbhaladh ri linn sin. +# LOCALIZATION NOTE (flushFailRestartButton): $S is brandShortName. +flushFailRestartButton=Ath-thòisich %S +flushFailExitButton=Fàg an-seo diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/mozapps/update/updates.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/mozapps/update/updates.properties new file mode 100644 index 0000000000000000000000000000000000000000..cb08502b7a7cc53057ba79a50fbc572667f7e0f3 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/mozapps/update/updates.properties @@ -0,0 +1,45 @@ +# 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/. + +# LOCALIZATION NOTE: The 1st %S is brandShortName and 2nd %S is update version +# where update version from the update xml +# example: MyApplication 10.0.5 +updateName=%S %S + +noThanksButton=Na ùraich, mòran taing +noThanksButton.accesskey=N +restartLaterButton=Ath-thòisich uaireigin eile +restartLaterButton.accesskey=l +restartNowButton=Ath-thòisich %S +restartNowButton.accesskey=A + +statusFailed=Dh'fhàillig an stàladh + +installSuccess=Shoirbhich le stàladh an ùrachaidh +installPending=Stàladh ri dhèanamh +patchApplyFailure=Cha do ghabh an t-ùrachadh a stàladh (dh'fhàillig cur an sàs a' bhrèide) +elevationFailure=Chan eil cead agad an t-ùrachadh seo a stàladh. Cuir fios gu rianaire an t-siostaim. + +check_error-200=Tha faidhle XML an ùrachaidh droch chumte (200) +check_error-403=Inntrigeadh air a dhiùltadh (403) +check_error-404=Cha deach faidhle XML an ùrachaidh a lorg (404) +check_error-500=Mearachd taobh a-staigh an fhrithealaiche (500) +check_error-2152398849=Dh'fhàillig e (chan eil fhios carson) +check_error-2152398861=Ceangal air a dhiùltadh +check_error-2152398862=Dh'fhalbh an ùine air a' cheangal +# NS_ERROR_OFFLINE +check_error-2152398864=Tha an lìonra far loidhe (rach air loidhne) +check_error-2152398867=Chan eil am port ceadaichte +check_error-2152398868=Cha d' fhuaradh dàta (feuch ris a-rithist) +check_error-2152398878=Cha deach am frithealaiche ùrachaidh a lorg (cuir sùil air a' cheangal agad ris an lìon) +check_error-2152398890=Cha deach am frithealaiche progsaidh a lorg (cuir sùil air a' cheangal agad ris an lìon) +# NS_ERROR_DOCUMENT_NOT_CACHED +check_error-2152398918=Tha an lìonra far loidhe (rach air loidhne) +check_error-2152398919=Bhris tar-aiseag an dàta (cuir sùil air a' cheangal agad ris an lìon) +check_error-2152398920=Chaidh ceangal ris an fhrithealaiche phrogsaidh a dhiùltadh +check_error-2153390069=Dh'fhalbh an ùine air ceadachas an fhrithealaiche (cuir ceart ceann-là is uair an t-siostaim agad ma tha e cearr) +check_error-verification_failed=Cha do ghabh iomlanachd an ùrachaidh a dhearbhadh +check_error-move_failed=Cha deach leinn an t-ùrachadh ullachadh a chùm stàlaidh +check_error-update_url_not_available=Chan eil URL ùrachaidh ri fhaighinn +check_error-connection_aborted=Sguireadh dhen cheangal diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/mozldap/ldap.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/mozldap/ldap.properties new file mode 100644 index 0000000000000000000000000000000000000000..451fcdbed5af506510e130476ee271f78688b8ba --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/mozldap/ldap.properties @@ -0,0 +1,272 @@ +# +# 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/. + +# +# 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/. + +# The following two strings are used when prompting the user for authentication +# information: + +## @name AUTH_PROMPT_TITLE +## @loc none +authPromptTitle=Feum air facal-faire frithealaiche LDAP + +## @name AUTH_PROMPT_TEXT +## @loc %1$S should not be localized. It is the hostname of the LDAP server. +authPromptText=Cuir a-steach am facal-faire agad airson %1$S. + +# These are string versions of all the errors defined in +# nsILDAPErrors.idl, as well as the nsresult codes based on those +# errors. See that file for the genesis of these codes, as well as +# for info about how to get documentation about their precise +# meanings. + +# These are string versions of all the errors defined in +# nsILDAPErrors.idl, as well as the nsresult codes based on those +# errors. See that file for the genesis of these codes, as well as +# for info about how to get documentation about their precise +# meanings. + +## @name OPERATIONS_ERROR +## @loc none +1=Mearachd obrachaidh + +## @name PROTOCOL_ERROR +## @loc none +2=Mearachd pròtacail + +## @name TIMELIMIT_EXCEEDED +## @loc none +3=Chaidheas seachad air a' chrìoch ùine + +## @name SIZELIMIT_EXCEEDED +## @loc none +4=Chaidheas seachad air crìoch a' mheud + +## @name COMPARE_FALSE +## @loc none +5=Coimeas fallsa + +## @name COMPARE_TRUE +## @loc none +6=Coimeas fìos + +## @name STRONG_AUTH_NOT_SUPPORTED +## @loc none +7=Chan eil taic ann ris an dòigh dearbhachaidh + +## @name STRONG_AUTH_REQUIRED +## @loc none +8=Tha feum air dearbhachadh làidir + +## @name PARTIAL_RESULTS +## @loc none +9=Fhuaradh toraidhean is tar-chur pàirteil + +## @name REFERRAL +## @loc none +10=Fhuaradh tar-chur + +## @name ADMINLIMIT_EXCEEDED +## @loc none +11=Chaidheas seachad air a' chrìoch rianach + +## @name UNAVAILABLE_CRITICAL_EXTENSION +## @loc none +12=Leudachan èiginneach nach eil ri làimh + +## @name CONFIDENTIALITY_REQUIRED +## @loc none +13=Feum air fo-rùnachd + +## @name SASL_BIND_IN_PROGRESS +## @loc none +14=Ceangal SASL 'ga dhèanamh + +## @name NO_SUCH_ATTRIBUTE +## @loc none +16=Chan eil feart d' a leithid ann + +## @name UNDEFINED_TYPE +## @loc none +17=Seòrsa de dh'fheart gun mhìneachadh + +## @name INAPPROPRIATE MATCHIN +## @loc none +18=Maidseadh mì-fhreagarrach + +## @name CONSTRAINT_VIOLATION +## @loc none +19=Milleadh co-èiginne + +## @name TYPE_OR_VALUE_EXISTS +## @loc none +20=Tha an seòrsa no an luach seo ann mu thràth + +## @name INVALID_SYNTAX +## @loc none +21=Co-chàradh mì-dhligheach + +## @name NO_SUCH_OBJECT +## @loc none +32=Chan eil a leithid de nì ann + +## @name ALIAS_PROBLEM +## @loc none +33=Duilgheadas le ainm-brèige + +## @name INVALID_DN_ SYNTAX +## @loc none +34=Co-chàradh DN mì-dhligheach + +## @name IS_LEAF +## @loc none +35=Chan eil an nì seo 'na dhuille + +## @name ALIAS_DEREF_PROBLEM +## @loc none +36=Duilgheadas le dì-iomradh an ainm-bhrèige + +## @name INAPPROPRIATE_AUTH +## @loc none +48=Dearbhadh mì-fhreagarrach + +## @name INVALID_CREDENTIALS +## @loc none +49=Teisteasan mì-dhligheach + +## @name INSUFFICIENT_ACCESS +## @loc none +50=Easbhaidh inntrigidh + +## @name BUSY +## @loc none +51=Tha am frithealaiche LDAP trang + +## @name UNAVAILABLE +## @loc none +52=Chan eil am frithealaiche LDAP ri fhaighinn + +## @name UNWILLING_TO_PERFORM +## @loc none +53=Chan eil am frithealaiche LDAP deònach a dhèanamh + +## @name LOOP_DETECT +## @loc none +54=Chaidh lùb a lorg + +## @name SORT_CONTROL_MISSING +## @loc none +60=Tha uidheam-smachd airson seòrsachadh a dhìth + +## @name INDEX_RANGE_ERROR +## @loc none +61=Tha toraidhean an luirg a' dol thairis air an raon a shònraich he h-offsets + +## @name NAMING_VIOLATION +## @loc none +64=Milleadh ainm + +## @name OBJECT_CLASS_VIOLATION +## @loc none +65=Milleadh clas nan nithean + +## @name NOT_ALLOWED_ON_NONLEAF +## @loc none +66=Chan eil seo ceadaichte air nonleaf + +## @name NOT_ALLOWED_ON_RDN +## @loc none +67=Chan eil seo ceadaichte air RDN + +## @name ALREADY_EXISTS +## @loc none +68=Tha e ann mu thràth + +## @name NO_OBJECT_CLASS_MODS +## @loc none +69=Cha ghabh clas nan nithean atharrachadh + +## @name RESULTS_TOO_LARGE +## @loc none +70=Tha na toraidhean ro mhòr + +## @name AFFECTS_MULTIPLE_DSAS +## @loc none +71=Buaidh air iomadh frithealaiche + +## @name OTHER +## @loc none +80=Mearachd neo-aithnichte + +## @name SERVER_DOWN +## @loc none +81=Cha ghabh conaltradh leis an fhrithealaiche LDAP a dhèanamh + +## @name LOCAL_ERROR +## @loc none +82=Mearachd ionadail + +## @name ENCODING_ERROR +## @loc none +83=Mearachd còdachaidh + +## @name DECODING_ERROR +## @loc none +84=Mearachd dì-chòdachaidh + +## @name TIMEOUT +## @loc none +85=Dh'fhalbh an ùine air an fhrithealaiche LDAP + +## @name AUTH_UNKNOWN +## @loc none +86=Dòigh dearbhachaidh neo-aithnichte + +## @name FILTER_ERROR +## @loc none +87=Criathrag luirg mì-dhligheach + +## @name USER_CANCELLED +## @loc none +88=Sguir an cleachdaiche dheth + +## @name PARAM_ERROR +## @loc none +89=Droch pharamatair airson gnàth-ghnìomh LDAP + +## @name NO_MEMORY +## @loc none +90=Dh'fhalbh a' chuimhne air + +## @name CONNECT_ERROR +## @loc none +91=Cha ghabh ceangal a dhèanamh ris an fhrithealaiche LDAP + +## @name NOT_SUPPORTED +## @loc none +92=Chan eil taic ris san tionndadh seo dhen phròtacal LDAP + +## @name CONTROL_NOT_FOUND +## @loc none +93=Cha deach an uidheam-smachd LDAP a lorg + +## @name NO_RESULTS_RETURNED +## @loc none +94=Cha deach toradh a lorg + +## @name MORE_RESULTS_TO_RETURN +## @loc none +95=Barrachd thoraidhean + +## @name CLIENT_LOOP +## @loc none +96=Lorg an cliant lùb + +## @name REFERRAL_LIMIT_EXCEEDED +## @loc none +97=Chaidheas thairis air crìoch sìnteige an tar-chuir diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/necko/necko.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/necko/necko.properties new file mode 100644 index 0000000000000000000000000000000000000000..f4226be87702f2ed8823cb3fc6542d1a08b3b36b --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/necko/necko.properties @@ -0,0 +1,94 @@ +# 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/. + +3=A' lorg %1$S… +4=Air ceangal a dhèanamh ri %1$S… +5=A' cur iarrtas gu %1$S… +6=A' tar-aiseag dàta o %1$S… +7=A' dèanamh ceangal ri %1$S… +8=%1$S air a leughadh\u0020 +9=%1$S air a sgrìobhadh +10=A' feitheamh ri %1$S… +11=Chaidh %1$S a lorg… +12=A’ dèanamh crathadh-làimhe TLS le %1$S… +13=Chaidh an crathadh-làimhe TLS airson %1$S a choileanadh… + +RepostFormData=Tha an duilleag-lìn seo ag ath-stiùireadh gu àite eile. A bheil thu airson dàta an fhoirm a chur thu a-steach a chur a-null dhan àite ùr? + +# Directory listing strings +DirTitle=Clàr-amais %1$S +DirGoUp=Suas gu pasgan aig ìre nas àirde +ShowHidden=Seall na h-oibseactan falaichte +DirColName=Ainm +DirColSize=Meud +DirColMTime=Atharrachadh mu dheireadh +DirFileLabel=Faidhle:\u0020 + +SuperfluousAuth=Tha thu gu bhith logadh a-steach dhan làrach "%1$S" leis an ainm "%2$S" ach chan eil feum air dearbhadh air an làrach seo. Dh'fhaodadh gur e foill a tha seo.\n\nAn e "%1$S" an làrach a bha thu ag iarraidh? +AutomaticAuth=Tha thu gu bhith logadh a-steach dhan làrach "%1$S" leis an ainm "%2$S". + +TrackerUriBlocked=Chaidh an goireas aig “%1$S” a bhacadh a chionn ’s gu bheil bacadh susbaint an comas. +UnsafeUriBlocked=Chaidh an goireas aig “%1$S” a bhacadh le gleus a’ bhrabhsaidh tèarainte. +# LOCALIZATION NOTE (CORPBlocked): %1$S is the URL of the blocked resource. %2$S is the URL of the MDN page about CORP. +CORPBlocked=The resource at “%1$S” was blocked due to its Cross-Origin-Resource-Policy header (or lack thereof). See %2$S +CookieBlockedByPermission=Chaidh an t-iarrtas inntrigidh do bhriosgaidean no stòras air “%1$S” a bhacadh a chionn ’s gu bheil ceadan bhriosgaidean gnàthaichte an sàs. +CookieBlockedTracker=Chaidh an t-iarrtas inntrigidh do bhriosgaidean no stòras air “%1$S” a bhacadh a chionn ’s gun dàinig e o thracaiche agus tha bacadh susbaint an comas. +CookieBlockedAll=Chaidh an t-iarrtas inntrigidh do bhriosgaidean no stòras air “%1$S” a bhacadh a chionn ’s gu bheil sinn a’ bacadh gach iarrtas airson inntrigidh stòrais. +CookieBlockedForeign=Chaidh an t-iarrtas inntrigidh do bhriosgaidean no stòras air “%1$S” a bhacadh a chionn ’s gu bheil sinn a’ bacadh gach iarrtas inntrigidh o threas-phàrtaidh agus a chionn ’s gu bheil bacadh susbaint an comas. +# As part of dynamic state partitioning, third-party resources might be limited to "partitioned" storage access that is separate from the first-party context. +# This allows e.g. cookies to still be set, and prevents tracking without totally blocking storage access. This message is shown in the web console when this happens +# to inform developers that their storage is isolated. +CookiePartitionedForeign2=Partitioned cookie or storage access was provided to “%1$S” because it is loaded in the third-party context and dynamic state partitioning is enabled. + +# LOCALIZATION NOTE (CookieAllowedForOriginByStorageAccessAPI): %2$S and %1$S are URLs. +CookieAllowedForOriginByStorageAccessAPI=Storage access granted for origin “%2$S” on “%1$S”. +# LOCALIZATION NOTE (CookieAllowedForOriginByHeuristic): %2$S and %1$S are URLs. +CookieAllowedForOriginByHeuristic=Storage access automatically granted for origin “%2$S” on “%1$S”. +# LOCALIZATION NOTE (CookieAllowedForFpiByHeuristic): %2$S and %1$S are URLs. +CookieAllowedForFpiByHeuristic=Storage access automatically granted for First-Party isolation “%2$S” on “%1$S”. + +# LOCALIZATION NOTE(CookieRejectedNonRequiresSecure2): %1$S is the cookie name. Do not localize "SameSite=None" and "secure". +CookieRejectedNonRequiresSecure2=Cookie “%1$S” rejected because it has the “SameSite=None” attribute but is missing the “secure” attribute. +# LOCALIZATION NOTE(CookieRejectedNonRequiresSecureForBeta3): %1$S is the cookie name. %2$S is a URL. Do not localize "SameSite", "SameSite=None" and "secure". +CookieRejectedNonRequiresSecureForBeta3=Cookie “%1$S” will be soon rejected because it has the “SameSite” attribute set to “None” without the “secure” attribute. To know more about the “SameSite“ attribute, read %2$S +# LOCALIZATION NOTE(CookieLaxForced2): %1$S is the cookie name. Do not localize "SameSite", "Lax" and "SameSite=Lax". +CookieLaxForced2=Cookie “%1$S” has “SameSite” policy set to “Lax” because it is missing a “SameSite” attribute, and “SameSite=Lax” is the default value for this attribute. +# LOCALIZATION NOTE(CookieLaxForcedForBeta2): %1$S is the cookie name. %2$S is a URL. Do not localize "SameSite", "Lax" and "SameSite=Lax", "SameSite=None". +CookieLaxForcedForBeta2=Cookie “%1$S” does not have a proper “SameSite” attribute value. Soon, cookies without the “SameSite” attribute or with an invalid value will be treated as “Lax”. This means that the cookie will no longer be sent in third-party contexts. If your application depends on this cookie being available in such contexts, please add the “SameSite=None“ attribute to it. To know more about the “SameSite“ attribute, read %2$S +# LOCALIZATION NOTE(CookieSameSiteValueInvalid2): %1$S is cookie name. Do not localize "SameSite", "Lax", "Strict" and "None" +CookieSameSiteValueInvalid2=Invalid “SameSite“ value for cookie “%1$S”. The supported values are: “Lax“, “Strict“, “None“. +# LOCALIZATION NOTE (CookieOversize): %1$S is the cookie name. %2$S is the number of bytes. "B" means bytes. +CookieOversize=Cookie “%1$S” is invalid because its size is too big. Max size is %2$S B. +# LOCALIZATION NOTE (CookiePathOversize): %1$S is the cookie name. %2$S is the number of bytes. "B" means bytes. +CookiePathOversize=Cookie “%1$S” is invalid because its path size is too big. Max size is %2$S B. +# LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header. +CookieRejectedByPermissionManager=Cookie “%1$S” has been rejected by user set permissions. +# LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name. +CookieRejectedInvalidCharName=Cookie “%1$S” has been rejected for invalid characters in the name. +# LOCALIZATION NOTE (CookieRejectedInvalidDomain): %1$S is the cookie name. +CookieRejectedInvalidDomain=Cookie “%1$S” has been rejected for invalid domain. +# LOCALIZATION NOTE (CookieRejectedInvalidPrefix): %1$S is the cookie name. +CookieRejectedInvalidPrefix=Cookie “%1$S” has been rejected for invalid prefix. +# LOCALIZATION NOTE (CookieRejectedInvalidCharValue): %1$S is the cookie name. +CookieRejectedInvalidCharValue=Cookie “%1$S” has been rejected for invalid characters in the value. +# LOCALIZATION NOTE (CookieRejectedHttpOnlyButFromScript): %1$S is the cookie name. +CookieRejectedHttpOnlyButFromScript=Cookie “%1$S” has been rejected because there is already an HTTP-Only cookie but script tried to store a new one. +# LOCALIZATION NOTE (CookieRejectedSecureButHttp): %1$S is the cookie name. +CookieRejectedSecureButNonHttps=Cookie “%1$S” has been rejected because a non-HTTPS cookie can’t be set as “secure”. +# LOCALIZATION NOTE (CookieRejectedThirdParty): %1$S is the cookie response header. +CookieRejectedThirdParty=Cookie “%1$S” has been rejected as third-party. +# LOCALIZATION NOTE (CookieRejectedNonsecureOverSecure): %1$S is the cookie name. +CookieRejectedNonsecureOverSecure=Cookie “%1$S” has been rejected because there is an existing “secure” cookie. +# LOCALIZATION NOTE (CookieRejectedForNonSameSiteness): %1$S is the cookie name. +CookieRejectedForNonSameSiteness=Cookie “%1$S” has been rejected because it is in a cross-site context and its “SameSite” is “Lax” or “Strict”. + +# LOCALIZATION NOTE (CookieBlockedCrossSiteRedirect): %1$S is the cookie name. Do not translate "SameSite", "Lax" or "Strict". +CookieBlockedCrossSiteRedirect=Cookie “%1$S” with the “SameSite” attribute value “Lax” or “Strict” was omitted because of a cross-site redirect. + +# LOCALIZATION NOTE (APIDeprecationWarning): %1$S is the deprecated API; %2$S is the API function that should be used. +APIDeprecationWarning=Warning: ‘%1$S’ deprecated, please use ‘%2$S’ + +# LOCALIZATION NOTE (ResourceBlockedCORS): %1$S is the url of the resource blocked by ORB. $2$S is the reason. +# example: The resource at <url> was blocked by OpaqueResponseBlocking. Reason: “nosniff with either blocklisted or text/plain”. +ResourceBlockedORB=The resource at “%1$S” was blocked by OpaqueResponseBlocking. Reason: “%2$S”. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/passwordmgr/passwordmgr.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/passwordmgr/passwordmgr.properties new file mode 100644 index 0000000000000000000000000000000000000000..aab855a098f7b3bb7044cd6199fd7f971a6c1a64 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/passwordmgr/passwordmgr.properties @@ -0,0 +1,75 @@ +# 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/. + +rememberPassword = Cleachd manaidsear nam faclan-faire gus am facal-faire seo a chumail ann an cuimhne. +savePasswordTitle = Dearbh +# LOCALIZATION NOTE (saveLoginMsg2, saveLoginMsgNoUser2): +# %S is the login's hostname. +saveLoginMsg2 = A bheil thu airson an clàradh a-steach airson %S a shàbhaladh? +saveLoginMsgNoUser2 = A bheil thu airson am facal-faire airson %S a shàbhaladh? +saveLoginButtonAllow.label = Sàbhail +saveLoginButtonAllow.accesskey = S +saveLoginButtonDeny.label = Na sàbhail +saveLoginButtonDeny.accesskey = N +saveLoginButtonNever.label = Na sàbhail idir +saveLoginButtonNever.accesskey = e +# LOCALIZATION NOTE (updateLoginMsg3, updateLoginMsgNoUser3): +# %S is the login's hostname. +updateLoginMsg3 = A bheil thu airson an clàradh a-steach airson %S ùrachadh? +updateLoginMsgNoUser3 = A bheil thu airson am facal-faire airson %S ùrachadh? +updateLoginMsgAddUsername2 = A bheil thu airson an t-ainm-cleachdaiche seo a chur ris an fhacal-fhaire a shàbhail thu? +updateLoginButtonText = Ùraich +updateLoginButtonAccessKey = U +updateLoginButtonDeny.label = Na ùraich +updateLoginButtonDeny.accesskey = N +updateLoginButtonDelete.label = Thoir air falbh an clàradh a-steach air a shàbhaladh +updateLoginButtonDelete.accesskey = r +# LOCALIZATION NOTE (rememberPasswordMsg): +# 1st string is the username for the login, 2nd is the login's hostname. +# Note that long usernames may be truncated. +rememberPasswordMsg = A bheil thu ag iarraidh am facal-faire airson "%1$S" a chumail an cuimhne air %2$S? +# LOCALIZATION NOTE (rememberPasswordMsgNoUsername): +# String is the login's hostname. +rememberPasswordMsgNoUsername = A bheil thu airson am facal-faire a chumail an cuimhne air %S? +# LOCALIZATION NOTE (noUsernamePlaceholder): +# This is displayed in place of the username when it is missing. +noUsernamePlaceholder=Gun ainm-cleachdaiche +togglePasswordLabel=Seall am facal-faire +togglePasswordAccessKey2=h +notNowButtonText = &Na cum an cuimhne an turas seo +neverForSiteButtonText = Na cu&m an cuimhne gu sìorraidh bràth +rememberButtonText = &Cum an cuimhne +passwordChangeTitle = Dearbh atharrachadh an fhacail-fhaire +# LOCALIZATION NOTE (updatePasswordMsg): +# String is the username for the login. +updatePasswordMsg = A bheil thu airson am facal-faire a chaidh a shàbhaladh airson %S ùrachadh? +updatePasswordMsgNoUser = A bheil thu airson am facal-faire a chaidh a shàbhaladh ùrachadh? +userSelectText2 = Tagh an login a thèid ùrachadh: +loginsDescriptionAll2=Tha clàraidhean a-steach air na làraichean a leanas ’gan stòradh air a’ choimpiutair agad + +# LOCALIZATION NOTE (useASecurelyGeneratedPassword): +# Shown in the autocomplete popup to allow filling a generated password into a password field. +useASecurelyGeneratedPassword=Cleachd facal-faire a chaidh a ghintinn gu tèarainte +# LOCALIZATION NOTE (generatedPasswordWillBeSaved): +# %S will contain the brandShorterName. This informs the user that the generated password will be automatically saved. +generatedPasswordWillBeSaved=Sàbhailidh %S am facal-faire seo dhan làrach-lìn seo. +# LOCALIZATION NOTE (loginHostAge): +# This is used to show the context menu login items with their age. +# 1st string is the username for the login, 2nd is the login's age. +loginHostAge=%1$S (%2$S) +# LOCALIZATION NOTE (noUsername): +# String is used on the context menu when a login doesn't have a username. +noUsername=Gun ainm-cleachdaiche +# LOCALIZATION NOTE (displaySameOrigin): +# String is used on the autocomplete row when the login origin is a domain match with the document origin +displaySameOrigin=On làrach-lìn seo + +# LOCALIZATION NOTE (insecureFieldWarningDescription2): +# %1$S will contain insecureFieldWarningLearnMore and look like a link to indicate that clicking will open a tab with support information. +insecureFieldWarningDescription2 = Chan eil an ceangal seo tèarainte. Ma chlàraicheas tu a-steach an-seo, dh’fhaoidte gun goid cuideigin an dàta ort. %1$S +insecureFieldWarningLearnMore = Barrachd fiosrachaidh + +# LOCALIZATION NOTE (viewSavedLogins.label): +# This label is used in the footer of login autocomplete menus. +viewSavedLogins.label= Seall an dàta clàraidh a chaidh a shàbhaladh diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/pipnss/nsserrors.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/pipnss/nsserrors.properties new file mode 100644 index 0000000000000000000000000000000000000000..a7373c34c1cf4191c71cc8f2f945a928ee03360a --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/pipnss/nsserrors.properties @@ -0,0 +1,331 @@ +# 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/. + +SSL_ERROR_EXPORT_ONLY_SERVER=Cha ghabh conaltradh tèarainte a dhèanamh. Chan eil an seise a’ cur taic ri sàr-chrioptachadh. +SSL_ERROR_US_ONLY_SERVER=Cha ghabh conaltradh tèarainte a dhèanamh. Feumaidh an seise sàr-chrioptachadh nach eil taic ann ris. +SSL_ERROR_NO_CYPHER_OVERLAP=Cha ghabh conaltradh tèarainte a dhèanamh: chan eil algairim(ean) crioptachaidh an cumantas ann. +SSL_ERROR_NO_CERTIFICATE=Cha ghabh an ceadachas no an iuchair air a bheil feum airson dearbhadh a lorg. +SSL_ERROR_BAD_CERTIFICATE=Cha ghabh conaltradh tèarainte a dhèanamh ris an t-seise: chaidh teisteanas an t-seise a dhiùltadh. +SSL_ERROR_BAD_CLIENT=Fhuair am frithealaiche droch dhàta on chliant. +SSL_ERROR_BAD_SERVER=Fhuair am frithealaiche droch dhàta on fhrithealaiche. +SSL_ERROR_UNSUPPORTED_CERTIFICATE_TYPE=Chan eil taic ann ris an t-seòrsa seo de theisteanas. +SSL_ERROR_UNSUPPORTED_VERSION=Tha an seise a' cleachdadh tionndadh dhen phròtacal tèarainteachd nach eil taic ris. +SSL_ERROR_WRONG_CERTIFICATE=Dh'fhàillig dearbhadh a' chliant: chan eil an iuchair phrìobhaideach ann an stòr-dàta nan iuchraichean a' freagairt ris an iuchair phoblach ann an stòr-dàta nan teisteanasan. +SSL_ERROR_BAD_CERT_DOMAIN=Cha ghabh conaltradh tèarainte a dhèanamh ris an t-seise: chan eil ainm na h-àrainne a' freagairt ri teisteanas an fhrithealaiche. +SSL_ERROR_POST_WARNING=Còd mearachd SSL nach aithnich sinn. +SSL_ERROR_SSL2_DISABLED=Tha an seise a' cur taic ri SSL tionndadh 2 a-mhàin, rud a tha air a chur à comas gu h-ionadail. +SSL_ERROR_BAD_MAC_READ=Fhuair SSL clàr le còd dearbhadh teachdaireachd mì-cheart ann. +SSL_ERROR_BAD_MAC_ALERT=Tha an seise SSL a' dèanamh aithris air còd dearbhadh teachdaireachd mì-cheart. +SSL_ERROR_BAD_CERT_ALERT=Chan urrainn dhan t-seise SSL an teisteanas agad a dhearbhadh. +SSL_ERROR_REVOKED_CERT_ALERT=Dhiùlt an seise SSL an teisteanas agad is e ag ràdh gun deach a chùl-ghairm. +SSL_ERROR_EXPIRED_CERT_ALERT=Dhiùlt an seise SSL an teisteanas agad is e ag ràdh gun do dh'fhalbh an ùine air. +SSL_ERROR_SSL_DISABLED=Cha ghabh ceangal a dhèanamh: tha SSL air a chur à comas. +SSL_ERROR_FORTEZZA_PQG=Cha ghabh ceangal a dhèanamh: tha an seise SSL ann an àrainn FORTEZZA eile. +SSL_ERROR_UNKNOWN_CIPHER_SUITE=Chaidh sreath-sifir SSL neo-aithnichte iarraidh. +SSL_ERROR_NO_CIPHERS_SUPPORTED=Chan eil sreath-sifir ann agus an comas sa phrògram seo. +SSL_ERROR_BAD_BLOCK_PADDING=Fhuair SSL clàr le droch phadadh bluic. +SSL_ERROR_RX_RECORD_TOO_LONG=Fhuair SSL clàr a chaidh thairis air an fhad a tha ceadaichte. +SSL_ERROR_TX_RECORD_TOO_LONG=Dh'fheuch SSL ri clàr a chur a-null a chaidh thairis air an fhad a tha ceadaichte. +SSL_ERROR_RX_MALFORMED_HELLO_REQUEST=Fhuair SSL teachdaireachd crathadh-làimhe Hello Request mhì-chumte. +SSL_ERROR_RX_MALFORMED_CLIENT_HELLO=Fhuair SSL teachdaireachd crathadh-làimhe Client Hello mhì-chumte. +SSL_ERROR_RX_MALFORMED_SERVER_HELLO=Fhuair SSL teachdaireachd crathadh-làimhe Server Hello mhì-chumte. +SSL_ERROR_RX_MALFORMED_CERTIFICATE=Fhuair SSL teachdaireachd crathadh-làimhe Certificate mhì-chumte. +SSL_ERROR_RX_MALFORMED_SERVER_KEY_EXCH=Fhuair SSL teachdaireachd crathadh-làimhe Server Key Exchange mhì-chumte. +SSL_ERROR_RX_MALFORMED_CERT_REQUEST=Fhuair SSL teachdaireachd crathadh-làimhe Certificate Request mhì-chumte. +SSL_ERROR_RX_MALFORMED_HELLO_DONE=Fhuair SSL teachdaireachd crathadh-làimhe Server Hello Done mhì-chumte. +SSL_ERROR_RX_MALFORMED_CERT_VERIFY=Fhuair SSL teachdaireachd crathadh-làimhe Certificate Verify mhì-chumte. +SSL_ERROR_RX_MALFORMED_CLIENT_KEY_EXCH=Fhuair SSL teachdaireachd crathadh-làimhe Client Key Exchange mhì-chumte. +SSL_ERROR_RX_MALFORMED_FINISHED=Fhuair SSL teachdaireachd crathadh-làimhe Finished mhì-chumte. +SSL_ERROR_RX_MALFORMED_CHANGE_CIPHER=Fhuair SSL clàr Change Cipher Spec mì-chumte. +SSL_ERROR_RX_MALFORMED_ALERT=Fhuair SSL clàr caismeachd mì-chumte. +SSL_ERROR_RX_MALFORMED_HANDSHAKE=Fhuair SSL clàr Handshake mì-chumte. +SSL_ERROR_RX_MALFORMED_APPLICATION_DATA=Fhuair SSL clàr Application Data mì-chumte. +SSL_ERROR_RX_UNEXPECTED_HELLO_REQUEST=Fhuair SSL teachdaireachd crathadh-làimhe Hello Request ris nach robh dùil. +SSL_ERROR_RX_UNEXPECTED_CLIENT_HELLO=Fhuair SSL teachdaireachd crathadh-làimhe Client Hello ris nach robh dùil. +SSL_ERROR_RX_UNEXPECTED_SERVER_HELLO=Fhuair SSL teachdaireachd crathadh-làimhe Server Hello ris nach robh dùil. +SSL_ERROR_RX_UNEXPECTED_CERTIFICATE=Fhuair SSL teachdaireachd crathadh-làimhe Certificate ris nach robh dùil. +SSL_ERROR_RX_UNEXPECTED_SERVER_KEY_EXCH=Fhuair SSL teachdaireachd crathadh-làimhe Server Key Exchange ris nach robh dùil. +SSL_ERROR_RX_UNEXPECTED_CERT_REQUEST=Fhuair SSL teachdaireachd crathadh-làimhe Certificate Request ris nach robh dùil. +SSL_ERROR_RX_UNEXPECTED_HELLO_DONE=Fhuair SSL teachdaireachd crathadh-làimhe Server Hello Done ris nach robh dùil. +SSL_ERROR_RX_UNEXPECTED_CERT_VERIFY=Fhuair SSL teachdaireachd crathadh-làimhe Certificate Verify ris nach robh dùil. +SSL_ERROR_RX_UNEXPECTED_CLIENT_KEY_EXCH=Fhuair SSL teachdaireachd crathadh-làimhe Client Key Exchange ris nach robh dùil. +SSL_ERROR_RX_UNEXPECTED_FINISHED=Fhuair SSL teachdaireachd crathadh-làimhe Finished ris nach robh dùil. +SSL_ERROR_RX_UNEXPECTED_CHANGE_CIPHER=Fhuair SSL clàr Change Ciper Spec ris nach robh dùil. +SSL_ERROR_RX_UNEXPECTED_ALERT=Fhuair SSL clàr caismeachd ris nach robh dùil. +SSL_ERROR_RX_UNEXPECTED_HANDSHAKE=Fhuair SSL clàr crathaidh-làimhe ris nach robh dùil. +SSL_ERROR_RX_UNEXPECTED_APPLICATION_DATA=Fhuair SSL clàr Application Data ris nach robh dùil. +SSL_ERROR_RX_UNKNOWN_RECORD_TYPE=Fhuair SSL clàr anns a bha seòrsa neo-aithnichte de shusbaint. +SSL_ERROR_RX_UNKNOWN_HANDSHAKE=Fhuair SSL teachdaireachd cràthaidh-làimhe anns a bha seòrsa neo-aithnichte de theachdaireachd. +SSL_ERROR_RX_UNKNOWN_ALERT=Fhuair SSL clàr caismeachd sa bha tuairisgeul caismeachd neo-aithnichte. +SSL_ERROR_CLOSE_NOTIFY_ALERT=Dhùin an seise SSL an ceangal seo. +SSL_ERROR_HANDSHAKE_UNEXPECTED_ALERT=Cha robh dùil aig an t-seise SSL ris an teachdaireachd crathaidh-làimhe a fhuair e. +SSL_ERROR_DECOMPRESSION_FAILURE_ALERT=Cha b' urrainn do sheise SSL clàr SSL a fhuair e a dhì-dhùmhlachadh gu soirbheachail. +SSL_ERROR_HANDSHAKE_FAILURE_ALERT=Cha b' urrainn dhan t-seise SSL seata freagarrach de pharamadairean tèarainteachd a cho-rèiteachadh. +SSL_ERROR_ILLEGAL_PARAMETER_ALERT=Dhiùlt an seise SSL teachdaireachd crathaidh-làimhe airson susbaint mì-fhreagarrach. +SSL_ERROR_UNSUPPORTED_CERT_ALERT=Chan eil an seise SSL a' cur taic ri teisteanasan dhen t-seòrsa a fhuair e. +SSL_ERROR_CERTIFICATE_UNKNOWN_ALERT=Bha duilgheadas neo-shònraichte aig an t-seise SSL leis an teisteanas a fhuair e. +SSL_ERROR_GENERATE_RANDOM_FAILURE=Dh'fhàillig an gineadair àireamhan tuaireamach aig SSL. +SSL_ERROR_SIGN_HASHES_FAILURE=Cha do ghabh ainm digiteach a chur ris an dàta air a bheil feum gus an teisteanas agad a dhearbhadh. +SSL_ERROR_EXTRACT_PUBLIC_KEY_FAILURE=Cha b' urrainn do SSL an iuchair phoblach a tharraing à teisteanas an t-seise. +SSL_ERROR_SERVER_KEY_EXCHANGE_FAILURE=Fàillinn neo-shònraichte rè làimhseachadh crathadh-làimhe SSL Server Key Exchange. +SSL_ERROR_CLIENT_KEY_EXCHANGE_FAILURE=Fàillinn neo-shònraichte rè làimhseachadh crathadh-làimhe SSL Client Key Exchange. +SSL_ERROR_ENCRYPTION_FAILURE=Dh'fhàillig algairim crioptachadh tomad dàta anns an t-sreath-sifir a chaidh a thaghadh. +SSL_ERROR_DECRYPTION_FAILURE=Dh'fhàillig algairim dì-chrioptachadh tomad dàta anns an t-sreath-sifir a chaidh a thaghadh. +SSL_ERROR_SOCKET_WRITE_FAILURE=Dh'fhàillig sgrìobhadh an dàta air a chrioptachadh gun bhun-socaid. +SSL_ERROR_MD5_DIGEST_FAILURE=Dh'fhàillig am foincsean eagaraidh MD5. +SSL_ERROR_SHA_DIGEST_FAILURE=Dh'fhàillig am foincsean eagaraidh SHA-1. +SSL_ERROR_MAC_COMPUTATION_FAILURE=Dh'fhàillig coimpiutadh Còd Dearbhachadh na Teachdaireachd MAC. +SSL_ERROR_SYM_KEY_CONTEXT_FAILURE=Dh'fhàillig cruthachadh an co-theacs Symmetric Key. +SSL_ERROR_SYM_KEY_UNWRAP_FAILURE=Dh'fhàillig dì-phasgadh an Symmetric Key anns an teachdaireachd Client Key Exchange. +SSL_ERROR_PUB_KEY_SIZE_LIMIT_EXCEEDED=Dh'fheuch am frithealaiche SSL ri iuchair phoblach de dh'ìre dhachaigheil a chleachdadh le sreath-sifir às-phortaidh. +SSL_ERROR_IV_PARAM_FAILURE=Dh'fhàillig còd PKCS11 le eadar-theangachadh IV gu paramadair. +SSL_ERROR_INIT_CIPHER_SUITE_FAILURE=Dh'fhàillig tòiseachadh an t-sreatha-sifir a chaidh a thaghadh. +SSL_ERROR_SESSION_KEY_GEN_FAILURE=Dh'fhàillig gineadh nan iuchraichean seisein airson seisean SSL air a' chliant. +SSL_ERROR_NO_SERVER_KEY_FOR_ALG=Chan eil iuchair aig an fhrithealaiche airson algairim malairt na h-iuchrach a dh'fheuchadh. +SSL_ERROR_TOKEN_INSERTION_REMOVAL=Chaidh tòcan PKCS#11 a chur ann no a thoirt air falbh rè an obrachaidh. +SSL_ERROR_TOKEN_SLOT_NOT_FOUND=Cha deach tòcan PKCS#11 a lorg gus obrachadh riatanach a dhèanamh. +SSL_ERROR_NO_COMPRESSION_OVERLAP=Cha ghabh conaltradh tèarainte a dhèanamh ris an t-seise: chan eil algairim(ean) dùmhlachaidh coitcheann ann. +SSL_ERROR_HANDSHAKE_NOT_COMPLETED=Cha ghabh crathadh-làimhe SSL eile a thòiseachadh mus dàining an crathadh làithreach gu crìoch. +SSL_ERROR_BAD_HANDSHAKE_HASH_VALUE=Fhuaradh luachan-hais mì-cheart airson crathadh-làimhe on t-seise. +SSL_ERROR_CERT_KEA_MISMATCH=Cha ghabh an teisteanas a fhuaradh a chleachdadh le algairim malairt na h-iuchrach a chaidh a thaghadh. +SSL_ERROR_NO_TRUSTED_SSL_CLIENT_CA=Chan eil earbsa ann an ùghdarras teisteanais sam bith airson dearbhadh cliant SSL. +SSL_ERROR_SESSION_NOT_FOUND=Cha deach ID seisean SSL a' chliant a lorg ann an tasgadan-seisein an frithealaiche. +SSL_ERROR_DECRYPTION_FAILED_ALERT=Cha b' urrainn dhan t-seise clàr SSL a fhuair e a dhì-chrioptachadh. +SSL_ERROR_RECORD_OVERFLOW_ALERT=Fhuair an seise clàr SSL nach eil ceadaichte tuilleadh. +SSL_ERROR_UNKNOWN_CA_ALERT=Chan eil an seise ag aithneachadh ùghdarras nan teisteanasan a chuir a-mach an teisteanas agad is chan eil earbsa aige ann. +SSL_ERROR_ACCESS_DENIED_ALERT=Fhuair an seise teisteanas dligheach ach chaidh inntrigeadh a dhiùltadh. +SSL_ERROR_DECODE_ERROR_ALERT=Cha b' urrainn dhan t-seise an teachdaireachd crathadh-làimhe SSL a dhì-chrioptachadh. +SSL_ERROR_DECRYPT_ERROR_ALERT=Tha an seise ag aithris gun do dh'fhàillig dearbhadh an t-soidhnidh no malairt na h-iuchrach. +SSL_ERROR_EXPORT_RESTRICTION_ALERT=Tha an seise ag aithris nach eil an co-rèiteachadh a' gèilleadh ris na riaghailtean às-phortadh. +SSL_ERROR_PROTOCOL_VERSION_ALERT=Tha an seise ag aithris gu bheil tionndadh a' phròtacail neo-chòrdail no gun taic. +SSL_ERROR_INSUFFICIENT_SECURITY_ALERT=Feumaidh am frithealaiche sifirean nas tèarainte na an fheadhainn a tha an cliant a' cur taic riutha an-dràsta. +SSL_ERROR_INTERNAL_ERROR_ALERT=Tha an seise ag aithris gun do thachair mearachd inntearnail dha. +SSL_ERROR_USER_CANCELED_ALERT=Sguir an cleachdaiche seise dhen chrathadh-làimhe. +SSL_ERROR_NO_RENEGOTIATION_ALERT=Chan eil an seise a' toirt cead do dh'ath-cho-rèiteachadh nam paramadairean tèarainteachd SSL. +SSL_ERROR_SERVER_CACHE_NOT_CONFIGURED=Cha deach tasgadan an fhrithealaichean SSL a rèiteachadh agus a chur à comas airson na socaide seo. +SSL_ERROR_UNSUPPORTED_EXTENSION_ALERT=Chan eil an seise SSL a' cur taic ris an leudachan TLS Hello a chaidh iarraidh. +SSL_ERROR_CERTIFICATE_UNOBTAINABLE_ALERT=Cha b' urrainn dhan t-seise SSL an teisteanas agad fhaighinn on URL a thug thu dha. +SSL_ERROR_UNRECOGNIZED_NAME_ALERT=Chan eil teisteanas aig an t-seise SSL airson an ainm DNS a chaidh iarraidh. +SSL_ERROR_BAD_CERT_STATUS_RESPONSE_ALERT=Cha b' urrainn dhan t-seise SSL freagairt OCSP fhaighinn airson an teisteanais aige. +SSL_ERROR_BAD_CERT_HASH_VALUE_ALERT=Dh'aithris an seise SSL gun robh droch luach-hais aig an teisteanas. +SSL_ERROR_RX_UNEXPECTED_NEW_SESSION_TICKET=Fhuair SSL teachdaireachd crathadh-làimhe New Session ris nach robh dùil. +SSL_ERROR_RX_MALFORMED_NEW_SESSION_TICKET=Fhuair SSL teachdaireachd crathadh-làimhe New Session mhì-chumte. +SSL_ERROR_DECOMPRESSION_FAILURE=Fhuair SSL reacord dùmhlaichte nach urrainn dhuinn dì-dhùmhlachadh. +SSL_ERROR_RENEGOTIATION_NOT_ALLOWED=Chan eil co-rèiteachadh ceadaichte san t-socaid SSL seo. +SSL_ERROR_UNSAFE_NEGOTIATION=Dh'fheuch an seise ri crathadh-làimhe seann nòsach a dhèanamh (a dh'fhaodadh a bhith so-leònte). +SSL_ERROR_RX_UNEXPECTED_UNCOMPRESSED_RECORD=Fhuair SSL clàr neo-dhùmhlaichte ris nach robh dùil. +SSL_ERROR_WEAK_SERVER_EPHEMERAL_DH_KEY=Fhuair SSL iuchair Diffie-Hellman lag is gearr-shaoghalach ann an teachdaireachd crathadh-làimhe Server Key Exchange. +SSL_ERROR_NEXT_PROTOCOL_DATA_INVALID=Fhuair SSL dàta leudachadh NPN mì-dhligheach. +SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_SSL2=Chan eil taic ri feart SSL airson ceanglaichean SSL 2.0. +SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_SERVERS=Chan eil taic ri feart SSL airson fhrithealaichean. +SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_CLIENTS=Chan eil taic ri feart SSL airson chliantan. +SSL_ERROR_INVALID_VERSION_RANGE=SSL version range is not valid. +SSL_ERROR_CIPHER_DISALLOWED_FOR_VERSION=SSL peer selected a cipher suite disallowed for the selected protocol version. +SSL_ERROR_RX_MALFORMED_HELLO_VERIFY_REQUEST=SSL received a malformed Hello Verify Request handshake message. +SSL_ERROR_RX_UNEXPECTED_HELLO_VERIFY_REQUEST=SSL received an unexpected Hello Verify Request handshake message. +SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_VERSION=SSL feature not supported for the protocol version. +SSL_ERROR_RX_UNEXPECTED_CERT_STATUS=SSL received an unexpected Certificate Status handshake message. +SSL_ERROR_UNSUPPORTED_HASH_ALGORITHM=Unsupported hash algorithm used by TLS peer. +SSL_ERROR_DIGEST_FAILURE=Digest function failed. +SSL_ERROR_INCORRECT_SIGNATURE_ALGORITHM=Incorrect signature algorithm specified in a digitally-signed element. +SSL_ERROR_NEXT_PROTOCOL_NO_CALLBACK=The next protocol negotiation extension was enabled, but the callback was cleared prior to being needed. +SSL_ERROR_NEXT_PROTOCOL_NO_PROTOCOL=The server supports no protocols that the client advertises in the ALPN extension. +SSL_ERROR_INAPPROPRIATE_FALLBACK_ALERT=The server rejected the handshake because the client downgraded to a lower TLS version than the server supports. +SSL_ERROR_WEAK_SERVER_CERT_KEY=Bha iuchair phoblach ann an teisteanas an fhrithealaiche a bha ro lag. +SSL_ERROR_RX_SHORT_DTLS_READ=Not enough room in buffer for DTLS record. +SSL_ERROR_NO_SUPPORTED_SIGNATURE_ALGORITHM=No supported TLS signature algorithm was configured. +SSL_ERROR_UNSUPPORTED_SIGNATURE_ALGORITHM=The peer used an unsupported combination of signature and hash algorithm. +SSL_ERROR_MISSING_EXTENDED_MASTER_SECRET=The peer tried to resume without a correct extended_master_secret extension. +SSL_ERROR_UNEXPECTED_EXTENDED_MASTER_SECRET=The peer tried to resume with an unexpected extended_master_secret extension. +SEC_ERROR_IO=Thachair mearachd I/O rè an ùghdarrachaidh thèarainteachd. +SEC_ERROR_LIBRARY_FAILURE=fàillinn na leabhar-lainn thèarainteachd. +SEC_ERROR_BAD_DATA=leabhar-lann tèarainteachd: fhuaradh droch dhàta. +SEC_ERROR_OUTPUT_LEN=leabhar-lann tèarainteachd: mearachd le faid an às-chuir. +SEC_ERROR_INPUT_LEN=thachair mearachd le faid an in-chuir ris an leabhar-lann tèarainteachd. +SEC_ERROR_INVALID_ARGS=leabhar-lann tèarainteachd: argamaidean mì-dhligheach. +SEC_ERROR_INVALID_ALGORITHM=leabhar-lann tèarainteachd: algairim mhì-dhligheach. +SEC_ERROR_INVALID_AVA=leabhar-lann tèarainteachd: AVA mì-dhligheach. +SEC_ERROR_INVALID_TIME=Sreang ama air a dhroch chumadh. +SEC_ERROR_BAD_DER=leabhar-lann tèarainteachd: teachdaireachd air a dhroch fhòrmatadh ann an còdachadh DER. +SEC_ERROR_BAD_SIGNATURE=Tha ainm mì-dhligheach ri teisteanas an t-seise. +SEC_ERROR_EXPIRED_CERTIFICATE=Dh'fhalbh an ùine air teisteanas an t-seise. +SEC_ERROR_REVOKED_CERTIFICATE=Chaidh teisteanas an t-seise a chùl-ghairm. +SEC_ERROR_UNKNOWN_ISSUER=Chan eil foillsichear teisteanas an t-seise 'ga aithneachadh. +SEC_ERROR_BAD_KEY=Tha iuchair phoblach an t-seise mì-dhligheach. +SEC_ERROR_BAD_PASSWORD=Tha am facal-faire tèarainteachd a chuir thu a-steach cearr. +SEC_ERROR_RETRY_PASSWORD=Bha am facal-faire ùr a chuir thu a-steach cearr. Feuch ris a-rithist. +SEC_ERROR_NO_NODELOCK=leabhar-lann tèarainteachd: gun ghlas nòid. +SEC_ERROR_BAD_DATABASE=leabhar-lann tèarainteachd: droch stòr-dàta. +SEC_ERROR_NO_MEMORY=leabhar-lann tèarainteachd: fàillinn roinneadh na cuimhne. +SEC_ERROR_UNTRUSTED_ISSUER=Tha comharra ri foillsichear teisteanas an t-seise a tha ag ràdh nach eil earbsa aig a' chleachdaiche ann. +SEC_ERROR_UNTRUSTED_CERT=Tha comharra ri teisteanas an t-seise a tha ag ràdh nach eil earbsa aig a' chleachdaiche ann. +SEC_ERROR_DUPLICATE_CERT=Tha an teisteanas san stòr-dàta agad mu thràth. +SEC_ERROR_DUPLICATE_CERT_NAME=Tha ainm an teisteanais a luchdaich thu a-nuas 'ga chleachdadh san stòr-dàta agad mu thràth. +SEC_ERROR_ADDING_CERT=Thachair mearachd fhad 's a chaidh an teisteanas a chur ris an stòr-dàta. +SEC_ERROR_FILING_KEY=Thachair mearachd le faidhleadh na h-iuchrach airson an teisteanais seo. +SEC_ERROR_NO_KEY=Cha ghabh an iuchair phrìobhaideach airson an teisteanais seo a lorg ann an stòr-dàta nan iuchraichean +SEC_ERROR_CERT_VALID=Tha an teisteanas seo dligheach. +SEC_ERROR_CERT_NOT_VALID=Chan eil an teisteanas seo dligheach. +SEC_ERROR_CERT_NO_RESPONSE=Leabhar-lann teisteanais: Gun fhreagairt +SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE=Dh'fhalbh an ùine air an teisteanas aig foillsichear an teisteanais. Cuir sùil air ceann-là is àm an t-siostaim agad. +SEC_ERROR_CRL_EXPIRED=Dh’fhalbh an ùine air an CRL aig foillsichear an teisteanais seo. Ùraich e no cuir sùil air ceann-là is àm an t-siostaim agad. +SEC_ERROR_CRL_BAD_SIGNATURE=Tha ainm mì-dhligheach aig CRL foillsichear an teisteanais. +SEC_ERROR_CRL_INVALID=Tha fòrmat mì-dhligheach aig an CRL ùr. +SEC_ERROR_EXTENSION_VALUE_INVALID=Tha luach leudachan an teisteanais mì-dhligheach. +SEC_ERROR_EXTENSION_NOT_FOUND=Cha deach leudachan an teisteanais a lorg. +SEC_ERROR_CA_CERT_INVALID=Tha teisteanas an fhoillsicheir mì-dhligheach. +SEC_ERROR_PATH_LEN_CONSTRAINT_INVALID=Tha am bacadh air faid slighe an teisteanais mì-dhligheach. +SEC_ERROR_CERT_USAGES_INVALID=Tha an raon airson cleachdadh nan teisteanasan mì-dhligheach. +SEC_INTERNAL_ONLY=**Mòideal dhen taobh a-staigh A-MHÀIN** +SEC_ERROR_INVALID_KEY=Chan eil an iuchair a' cur taic ris an obrachadh a chaidh iarradh. +SEC_ERROR_UNKNOWN_CRITICAL_EXTENSION=Tha leudachan neo-aithnichte èiginneach anns an teisteanas. +SEC_ERROR_OLD_CRL=Chan eil an CRL ùr as dèidh an fhir làithrich. +SEC_ERROR_NO_EMAIL_CERT=Gun chrioptachadh is gun soidhneadh: chan eil teisteanas puist-dhealain agad fhathast. +SEC_ERROR_NO_RECIPIENT_CERTS_QUERY=Gun chrioptachadh: chan eil teisteanasan agad airson a h-uile faightear. +SEC_ERROR_NOT_A_RECIPIENT=Cha ghabh a dhubh-chrioptachadh: chan eil thu 'nad fhaightear no cha deach teisteanas is iuchair phrìobhaideach a fhreagras ri chèile a lorg. +SEC_ERROR_PKCS7_KEYALG_MISMATCH=Cha gabh a chrioptachadh: chan eil algairim crioptachadh na h-iuchrach a' freagairt ris an teisteanas agad. +SEC_ERROR_PKCS7_BAD_SIGNATURE=Dh'fhàillig dearbhadh an ainm: cha deach soidhnichear a lorg, chaidh cus dhiubh a lorg no dàta mì-cheart no truaillte. +SEC_ERROR_UNSUPPORTED_KEYALG=Algairim iuchrach neo-aithnichte no gun taic. +SEC_ERROR_DECRYPTION_DISALLOWED=Cha ghabh a chrioptachadh: air a chrioptachadh le algairim no meud iuchrach nach eil ceadaichte. +XP_SEC_FORTEZZA_BAD_CARD=Cha deach a’ chairt Fortezza a thòiseachadh mar bu chòir. Thoir air falbh e ’s till dhan fhoillsichear agad e. +XP_SEC_FORTEZZA_NO_CARD=Cha deach cairt Fortezza a lorg +XP_SEC_FORTEZZA_NONE_SELECTED=Cha deach cairt Fortezza a thaghadh +XP_SEC_FORTEZZA_MORE_INFO=Tagh a' phearsantachd a tha thu ag iarraidh barrachd fiosrachaidh mu dhèidhinn +XP_SEC_FORTEZZA_PERSON_NOT_FOUND=Cha deach a' phearsantachd a lorg +XP_SEC_FORTEZZA_NO_MORE_INFO=Chan eil barrachd fiosrachaidh mun phearsantachd seo ann +XP_SEC_FORTEZZA_BAD_PIN=PIN mì-dhligheach +XP_SEC_FORTEZZA_PERSON_ERROR=Cha deach na pearsantachdan Fortezza a thòiseachadh. +SEC_ERROR_NO_KRL=Chan eil liosta nan iuchraichean a chaidh a chùl-ghairm a lorg airson teisteanas na làraich seo. +SEC_ERROR_KRL_EXPIRED=Dh'fhalbh an ùine air liosta nan iuchraichean a chaidh a chùl-ghairm airson teisteanas na làraich seo. +SEC_ERROR_KRL_BAD_SIGNATURE=Tha ainm mì-dhligheach ri liosta nan iuchraichean a chaidh a chùl-ghairm airson teisteanas na làraich seo. +SEC_ERROR_REVOKED_KEY=Chaidh iuchair teisteanas na làraich seo a chùl-ghairm. +SEC_ERROR_KRL_INVALID=Tha fòrmat liosta nan iuchraichean a chaidh a chùl-ghairm mì-dhligheach. +SEC_ERROR_NEED_RANDOM=leabhar-lann tèarainteach: feum air dàta tuaireamach. +SEC_ERROR_NO_MODULE=leabhar-lann tèarainteach: chan urrainn do mhòideal tèarainteachd sam bith an t-obrachadh a dh'iarr thu a dhèanamh. +SEC_ERROR_NO_TOKEN=Chan eil a' chairt no an tòcan tèarainteachd ann, feumaidh a thòiseachadh no chaidh a thoirt air falbh. +SEC_ERROR_READ_ONLY=leabhar-lann tèarainteach: stòr-dàta ri leughadh a-mhàin. +SEC_ERROR_NO_SLOT_SELECTED=Cha deach sliotan no tòcan a thaghadh. +SEC_ERROR_CERT_NICKNAME_COLLISION=Tha teisteanas air a bheil an dearbh fhar-ainm ann mu thràth. +SEC_ERROR_KEY_NICKNAME_COLLISION=Tha iuchair air a bheil an dearbh fhar-ainm ann mu thràth. +SEC_ERROR_SAFE_NOT_CREATED=mearachd rè cruthachadh an oibseict sàbhailte +SEC_ERROR_BAGGAGE_NOT_CREATED=mearachd rè cruthachadh an oibseict bhagaiste +XP_JAVA_REMOVE_PRINCIPAL_ERROR=Cha do ghabh am prìomhaire a thoirt air falbh +XP_JAVA_DELETE_PRIVILEGE_ERROR=Cha do ghabh a' phribhleid a sguabadh às +XP_JAVA_CERT_NOT_EXISTS_ERROR=Chan eil teisteanas aig a' phrìomhaire +SEC_ERROR_BAD_EXPORT_ALGORITHM=Chan eil an algairim air a bheil feum ceadaichte. +SEC_ERROR_EXPORTING_CERTIFICATES=Mearachd ann an às-phortadh nan teisteanasan. +SEC_ERROR_IMPORTING_CERTIFICATES=Mearachd le ion-phortadh nan teisteanasan. +SEC_ERROR_PKCS12_DECODING_PFX=Cha ghabh ion-phortadh. Mearachd dì-chòdachaidh. Faidhle mì-dhligheach. +SEC_ERROR_PKCS12_INVALID_MAC=Cha ghabh ion-phortadh. Còd MAC mì-dhligheach. Facal-faire cearr no faidhle air a thruailleadh. +SEC_ERROR_PKCS12_UNSUPPORTED_MAC_ALGORITHM=Cha ghabh ion-phortadh. Chan eil taic ann ris an algairim MAC. +SEC_ERROR_PKCS12_UNSUPPORTED_TRANSPORT_MODE=Cha ghabh ion-phortadh. Chan eil taic ann ach ri modhan iomlanachd facail-fhaire is prìobhaideachd. +SEC_ERROR_PKCS12_CORRUPT_PFX_STRUCTURE=Cha ghabh ion-phortadh. Tha structar an fhaidhle air a thruailleadh. +SEC_ERROR_PKCS12_UNSUPPORTED_PBE_ALGORITHM=Cha ghabh ion-phortadh. Chan eil taic ann ris an algairim crioptachaidh. +SEC_ERROR_PKCS12_UNSUPPORTED_VERSION=Cha ghabh ion-phortadh. Chan eil taic ann ri tionndadh an fhaidhle. +SEC_ERROR_PKCS12_PRIVACY_PASSWORD_INCORRECT=Cha ghabh ion-phortadh. Facal-faire prìobhaideachd mì-cheart. +SEC_ERROR_PKCS12_CERT_COLLISION=Cha ghabh ion-phortadh. Tha an dearbh fhar-ainm san stòr-dàta mu thràth. +SEC_ERROR_USER_CANCELLED=Bhriog an cleachdaiche air "Sguir dheth". +SEC_ERROR_PKCS12_DUPLICATE_DATA=Cha deach ion-phortadh, tha e san stòr-dàta mu thràth. +SEC_ERROR_MESSAGE_SEND_ABORTED=Cha deach an teachdaireachd a chur. +SEC_ERROR_INADEQUATE_KEY_USAGE=Chan eil cleachdadh iuchair an teisteanais freagarrach airson an obrachaidh a chaidh iarraidh. +SEC_ERROR_INADEQUATE_CERT_TYPE=Chan eil seòrsa an teisteanais ceadaichte airson na h-aplacaid. +SEC_ERROR_CERT_ADDR_MISMATCH=Chan eil an seòladh san teisteanas soidhnidh a' freagairt ris an t-seòladh ann am bann-cinn na teachdaireachd. +SEC_ERROR_PKCS12_UNABLE_TO_IMPORT_KEY=Cha ghabh ion-phortadh. Mearachd le ion-phortadh na h-iuchrach phrìobhaideach. +SEC_ERROR_PKCS12_IMPORTING_CERT_CHAIN=Cha ghabh ion-phortadh. Mearachd le ion-phortadh de shlabhraidh teisteanais. +SEC_ERROR_PKCS12_UNABLE_TO_LOCATE_OBJECT_BY_NAME=Cha ghabh ion-phortadh. Cha ghabh an teisteanas a lorg air iuchair no fhar-ainm. +SEC_ERROR_PKCS12_UNABLE_TO_EXPORT_KEY=Cha ghabh ion-phortadh. Cha do ghabh an iuchair phrìobhaideach a lorg ’s às-phortadh. +SEC_ERROR_PKCS12_UNABLE_TO_WRITE=Cha ghabh ion-phortadh. Cha ghabh am faidhle às-phortaidh a sgrìobhadh. +SEC_ERROR_PKCS12_UNABLE_TO_READ=Cha ghabh ion-phortadh. Cha ghabh am faidhle ion-phortaidh a leughadh. +SEC_ERROR_PKCS12_KEY_DATABASE_NOT_INITIALIZED=Cha ghabh ion-phortadh. Tha stòr-dàta nan iuchraichean air a thruailleadh no sguabadh às. +SEC_ERROR_KEYGEN_FAIL=Cha ghabh cèile iuchraichean poblach/prìobhaideach a ghineadh. +SEC_ERROR_INVALID_PASSWORD=Tha am facal-faire a chuir thu a-steach mì-dhligheach. Tagh fear eile. +SEC_ERROR_RETRY_OLD_PASSWORD=Chaidh an seann fhacal-faire a chur a-steach gu cearr. Feuch ris a-rithist. +SEC_ERROR_BAD_NICKNAME=Tha far-ainm an teisteanais 'ga chleachdadh mu thràth. +SEC_ERROR_NOT_FORTEZZA_ISSUER=Tha teisteanas neo-Fortezza aig slabhraidh Fortezza an t-seise. +SEC_ERROR_CANNOT_MOVE_SENSITIVE_KEY=Cha ghabh iuchair chugallach a ghluasad dhan t-sliotan far a bheil feum air. +SEC_ERROR_JS_INVALID_MODULE_NAME=Ainm mì-dhligheach air a' mhòideal. +SEC_ERROR_JS_INVALID_DLL=Ainm mì-dhligheach air slighe no ainm faidhle a' mhòideil +SEC_ERROR_JS_ADD_MOD_FAILURE=Cha ghabh am mòideal a chur ris +SEC_ERROR_JS_DEL_MOD_FAILURE=Cha ghabh am mòideal a sguabadh às +SEC_ERROR_OLD_KRL=Chan eil liosta nan iuchraichean a chaidh a chùl-ghairm as dèidh an fhir làithrich. +SEC_ERROR_CKL_CONFLICT=Tha foillsichear eile aig liosta nan iuchraichean amharasach ùr is an LIA làithreach. Sguab às an LIAT làithreach. +SEC_ERROR_CERT_NOT_IN_NAME_SPACE=Chan eil cead aig ùghdarras teisteanachaidh an teisteanais seo teisteanas leis an ainm seo fhoillseachadh. +SEC_ERROR_KRL_NOT_YET_VALID=Chan eil liosta cùl-ghairm nan iuchraichean airson an teisteanais seo dligheach fhathast. +SEC_ERROR_CRL_NOT_YET_VALID=Chan eil liosta cùl-ghairm nan teisteanasan airson an teisteanais seo dligheach fhathast. +SEC_ERROR_UNKNOWN_CERT=Cha deach an teisteanas a dh'iarr thu a lorg. +SEC_ERROR_UNKNOWN_SIGNER=Cha deach teisteanas an t-soidhniche a lorg. +SEC_ERROR_CERT_BAD_ACCESS_LOCATION=Tha fòrmat mì-dhligheach air àite frithealaiche inbhe an teisteanais. +SEC_ERROR_OCSP_UNKNOWN_RESPONSE_TYPE=Cha ghabh an fhreagairt OCSP a dhì-chòdadh gu lèir; chan aithnichear a sheòrsa. +SEC_ERROR_OCSP_BAD_HTTP_RESPONSE=Thill am frithealaiche OCSP dàta HTTP ris nach robh dùil no a tha mì-dhligheach. +SEC_ERROR_OCSP_MALFORMED_REQUEST=Mheas am frithealaiche OCSP gu bheil an t-iarrtas air a thruailleadh no air a dhroch chumadh. +SEC_ERROR_OCSP_SERVER_ERROR=Thachair mearachd taobh a-staigh an fhrithealaiche OCSP. +SEC_ERROR_OCSP_TRY_SERVER_LATER=Tha am frithealaiche OCSP a' moladh dhut feuchainn ris a-rithist an ceann tàmaill. +SEC_ERROR_OCSP_REQUEST_NEEDS_SIG=Feumaidh am frithealaiche OCSP ainm ris an iarrtas seo. +SEC_ERROR_OCSP_UNAUTHORIZED_REQUEST=Dhiùlt am frithealaiche OCSP an t-iarrtas seo a chionn 's nach eil ùghdarras aige. +SEC_ERROR_OCSP_UNKNOWN_RESPONSE_STATUS=Thill am frithealaiche OCSP inbhe nach gabh aithneachadh. +SEC_ERROR_OCSP_UNKNOWN_CERT=Chan eil inbhe airson an teisteanais seo aig an fhrithealaiche OCSP. +SEC_ERROR_OCSP_NOT_ENABLED=Feumaidh tu OCSP a chur an comas mus dèan thu seo. +SEC_ERROR_OCSP_NO_DEFAULT_RESPONDER=Feumaidh tu freagairiche OCSP bunaiteach a shuidheachadh mus dèan thu seo. +SEC_ERROR_OCSP_MALFORMED_RESPONSE=Chaidh freagairt an fhrithealaiche OCSP a thruailleadh no a dhroch cumadh. +SEC_ERROR_OCSP_UNAUTHORIZED_RESPONSE=Chan eil ùghdarras aig soidhniche na freagairt OCSP inbhe a thoirt seachad airson an teisteanais seo. +SEC_ERROR_OCSP_FUTURE_RESPONSE=Chan eil an fhreagairt OCSP dligheach fhathast (tha ceann-là san àm ri teachd ann). +SEC_ERROR_OCSP_OLD_RESPONSE=Tha fiosrachadh anns an fhreagairt OCSP a dh'fhalbh an ùine air. +SEC_ERROR_DIGEST_NOT_FOUND=Cha deach an gearr-chunntas CMS no PKCS #7 a lorg san teachdaireachd shoidhnichte. +SEC_ERROR_UNSUPPORTED_MESSAGE_TYPE=Chan eil taic ann ri seòrsa na teachdaireachd CMS no PKCS #7. +SEC_ERROR_MODULE_STUCK=Cha do ghabh am mòideal PKCS #11 a thoirt air falbh a chionn 's gu bheilear 'ga chleachdadh fhathast. +SEC_ERROR_BAD_TEMPLATE=Cha do ghabh an dàta ASN.1 a dhì-chòdadh. Bha an teamplaid a chaidh a shònrachadh mì-dhligheach. +SEC_ERROR_CRL_NOT_FOUND=Cha deach liosta nan teisteanasan a chaidh a chùl-ghairm a lorg. +SEC_ERROR_REUSED_ISSUER_AND_SERIAL=Tha thu a' feuchainn ri teisteanas a thoirt a-steach aig a bheil an dearbh fhoillsichear/àireamh shreathach 's a tha aig teisteanas làithreach ach chan e an dearbh theisteanas a tha ann. +SEC_ERROR_BUSY=Cha do ghabh NSS a dhùnadh. Tha oibseactan 'gan cleachdadh fhathast. +SEC_ERROR_EXTRA_INPUT=Tha dàta a bharrachd 's gun chleachdadh anns an teachdaireachd a chaidh a chòdachadh a-rèir DER. +SEC_ERROR_UNSUPPORTED_ELLIPTIC_CURVE=Lùb eileapsach gun taic ris. +SEC_ERROR_UNSUPPORTED_EC_POINT_FORM=Lùb eileapsach ann am foirm puinge gun taic ris. +SEC_ERROR_UNRECOGNIZED_OID=Aithniche oibseactan neo-aithnichte. +SEC_ERROR_OCSP_INVALID_SIGNING_CERT=Teisteanas soidhnidh OCSP neo-dhligheach san fhreagairt OCSP. +SEC_ERROR_REVOKED_CERTIFICATE_CRL=Chaidh an teisteanas a chùl-ghairm ann an liosta nan teisteanasan a chaidh a chùl-ghairm aig an fhoillsichear. +SEC_ERROR_REVOKED_CERTIFICATE_OCSP=Tha freagairiche OCSP an fhoillsicheir ag aithris gun deach an teisteanas a chùl-ghairm. +SEC_ERROR_CRL_INVALID_VERSION=Tha àireamh tionndaidh neo-aithnichte air liosta nan teisteanasan a chaidh a chùl-ghairm aig an fhoillsicheir. +SEC_ERROR_CRL_V1_CRITICAL_EXTENSION=Tha leudachan èiginneach air liosta nan teisteanasan a chaidh a chùl-ghairm V1 aig an fhoillsichear. +SEC_ERROR_CRL_UNKNOWN_CRITICAL_EXTENSION=Tha leudachan èiginneach is neo-aithnichte air liosta nan teisteanasan a chaidh a chùl-ghairm V2 aig an fhoillsichear. +SEC_ERROR_UNKNOWN_OBJECT_TYPE=Chaidh seòrsa neo-aithnichte a thaghadh airson an oibseict. +SEC_ERROR_INCOMPATIBLE_PKCS11=Tha an draibhear PKCS #11 a' milleadh an t-sònrachais air dòigh neo-chòrdail. +SEC_ERROR_NO_EVENT=Chan eil tachartas sliotain ùr ri fhaighinn an-dràsta. +SEC_ERROR_CRL_ALREADY_EXISTS=Tha liosta de theisteanasan a chaidh a chùl-ghairm ann mu thràth. +SEC_ERROR_NOT_INITIALIZED=Cha deach an NSS a thòiseachadh. +SEC_ERROR_TOKEN_NOT_LOGGED_IN=Dh'fhàillig an t-obrachadh a chionn 's nach deach an tòcan PKCS #11 a logadh a-steach. +SEC_ERROR_OCSP_RESPONDER_CERT_INVALID=Tha teisteanas neo-dhligheach aig an fhrithealaiche OCSP rèitichte. +SEC_ERROR_OCSP_BAD_SIGNATURE=Tha ainm mì-dhligheach ris an fhreagairt OCSP. +SEC_ERROR_OUT_OF_SEARCH_LIMITS=Tha rannsachadh dearbhachadh an teisteanais taobh a-muigh raon an rannsachaidh +SEC_ERROR_INVALID_POLICY_MAPPING=Tha anypolicy ann am mapadh a' phoileasaidh +SEC_ERROR_POLICY_VALIDATION_FAILED=Tha slabhraidh nan teisteanas a' fàilligeadh an dearbhachaidh phoileasaidh +SEC_ERROR_UNKNOWN_AIA_LOCATION_TYPE=Tha àite de sheòrsa neo-aithnichte ann an leudachan AIA an teisteanais +SEC_ERROR_BAD_HTTP_RESPONSE=Thill am frithealaiche droch fhreagairt HTTP +SEC_ERROR_BAD_LDAP_RESPONSE=Thill am frithealaiche droch fhreagairt LDAP +SEC_ERROR_FAILED_TO_ENCODE_DATA=Dh'fhàillig còdachadh an dàta le còdaichear ASN1 +SEC_ERROR_BAD_INFO_ACCESS_LOCATION=Droch àite inntrigeadh fiosrachaidh ann an leudachan an teisteanais +SEC_ERROR_LIBPKIX_INTERNAL=Thachair mearachd inntearnail Libpkix rè dearbhachadh an teisteanais. +SEC_ERROR_PKCS11_GENERAL_ERROR=Thill mòideal PKCS #11 CKR_GENERAL_ERROR agus tha seo a' cur 'nar sùilean gun do thachair mearachd nach gabh aiseag. +SEC_ERROR_PKCS11_FUNCTION_FAILED=Thill mòideal PKCS #11 CKR_FUNCTION_FAILED agus tha sin a’ cur ’nar sùilean nach b’ urrainn dha an gnìomh a chaidh iarraidh a dhèanamh. Faodaidh gun obraich e ma dh’fheuchas tu ris a-rithist. +SEC_ERROR_PKCS11_DEVICE_ERROR=Thill mòideal PKCS #11 CKR_DEVICE_ERROR agus tha sin a' cur 'nar sùilean gun do dh'èirich duilgheadas ris an tòcan no ris an t-sliotan. +SEC_ERROR_BAD_INFO_ACCESS_METHOD=Tha dòigh inntrigidh neo-aithnichte do dh'fhiosrachadh ann an leudachan an teisteanais. +SEC_ERROR_CRL_IMPORT_FAILED=Thachair mearachd nuair a bhathar airson CRL ion-phortadh. +SEC_ERROR_EXPIRED_PASSWORD=Dh'fhalbh an ùine air an fhacal-fhaire. +SEC_ERROR_LOCKED_PASSWORD=Tha am facal-faire glaiste. +SEC_ERROR_UNKNOWN_PKCS11_ERROR=Mearachd PKCS #11 neo-aithnichte. +SEC_ERROR_BAD_CRL_DP_URL=URL mì-dhligheach no gun taic ann an ainm puing sgaoileadh CRL. +SEC_ERROR_CERT_SIGNATURE_ALGORITHM_DISABLED=Chaidh an teisteanas a shoidhneadh le algairim soidhnidh a tha à comas a chionn 's nach eil e tèarainte. +MOZILLA_PKIX_ERROR_KEY_PINNING_FAILURE=The server uses key pinning (HPKP) but no trusted certificate chain could be constructed that matches the pinset. Key pinning violations cannot be overridden. +MOZILLA_PKIX_ERROR_CA_CERT_USED_AS_END_ENTITY=The server uses a certificate with a basic constraints extension identifying it as a certificate authority. For a properly-issued certificate, this should not be the case. +MOZILLA_PKIX_ERROR_INADEQUATE_KEY_SIZE=The server presented a certificate with a key size that is too small to establish a secure connection. +MOZILLA_PKIX_ERROR_V1_CERT_USED_AS_CA=An X.509 version 1 certificate that is not a trust anchor was used to issue the server's certificate. X.509 version 1 certificates are deprecated and should not be used to sign other certificates. +MOZILLA_PKIX_ERROR_NOT_YET_VALID_CERTIFICATE=Nochd am frithealaiche teisteanas nach eil dligheach fhathast. +MOZILLA_PKIX_ERROR_NOT_YET_VALID_ISSUER_CERTIFICATE=Chaidh teisteanas nach eil dligheach fhathast a chleachdadh gus teisteanas an fhrithealaichte fhoillseachadh. +MOZILLA_PKIX_ERROR_SIGNATURE_ALGORITHM_MISMATCH=Chan eil an algairim soidhnidh san raon soidhnidh aig an teisteanas co-ionnann ris an algairim san raon signatureAlgorithm aige. +MOZILLA_PKIX_ERROR_OCSP_RESPONSE_FOR_CERT_MISSING=Chan eil staid mu choinneamh an teisteanais a tha ’ga dhearbhadh san fhreagairt OCSP. +MOZILLA_PKIX_ERROR_VALIDITY_TOO_LONG=Nochd am frithealaiche teisteanas a tha dligheach ro fhada. +MOZILLA_PKIX_ERROR_REQUIRED_TLS_FEATURE_MISSING=Tha gleus TLS air a bheil feum a dhìth. +MOZILLA_PKIX_ERROR_INVALID_INTEGER_ENCODING=The server presented a certificate that contains an invalid encoding of an integer. Common causes include negative serial numbers, negative RSA moduli, and encodings that are longer than necessary. +MOZILLA_PKIX_ERROR_EMPTY_ISSUER_NAME=Nochd am frithealaiche teisteanas le ainm foillsichear falamh. +MOZILLA_PKIX_ERROR_ADDITIONAL_POLICY_CONSTRAINT_FAILED=An additional policy constraint failed when validating this certificate. +MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT=Chan eil earbsa san teisteanas seo a chionn 's gun deach a fhèin-shoidhneadh. diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/pipnss/pipnss.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/pipnss/pipnss.properties new file mode 100644 index 0000000000000000000000000000000000000000..1c44cf980824c59a620f1755149aebe51cf0e80b --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/pipnss/pipnss.properties @@ -0,0 +1,136 @@ +# +# 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/. + +CertPasswordPrompt=Cuir a-steach am facal-faire airson tòcan PKCS#11 %S. + +CertPasswordPromptDefault=Cuir a-steach am prìomh fhacal-faire agad. + +# The following strings have special requirements: they must fit in a 32 or 64 +# bytes buffer after being encoded to UTF-8. +# +# It's possible to verify the length of a translation using the Browser Console +# in Firefox and evaluating the following code: +# +# (new TextEncoder('utf-8').encode('YOURSTRING')).length +# +# Simply replace YOURSTRING with your translation. +# +# If it's not possible to produce an understandable translation within these +# limits, keeping the English text is an acceptable workaround. + +# The following strings have special requirements: they must fit in a 32 or 64 +# bytes buffer after being encoded to UTF-8. +# +# It's possible to verify the length of a translation using the Browser Console +# in Firefox and evaluating the following code: +# +# (new TextEncoder().encode('YOURSTRING')).length +# +# Simply replace YOURSTRING with your translation. +# +# If it's not possible to produce an understandable translation within these +# limits, keeping the English text is an acceptable workaround. + +# LOCALIZATION NOTE (RootCertModuleName): string limit is 64 bytes after +# conversion to UTF-8. +# length_limit = 64 bytes +RootCertModuleName=Mòideal Builtin Roots +# LOCALIZATION NOTE (ManufacturerID): string limit is 32 bytes after conversion +# to UTF-8. +# length_limit = 32 bytes +ManufacturerID=Mozilla.org +# LOCALIZATION NOTE (LibraryDescription): string limit is 32 bytes after +# conversion to UTF-8. +# length_limit = 32 bytes +LibraryDescription=PSM Internal Crypto Services +# LOCALIZATION NOTE (TokenDescription): string limit is 32 bytes after +# conversion to UTF-8. +# length_limit = 32 bytes +TokenDescription=Generic Crypto Services +# LOCALIZATION NOTE (PrivateTokenDescription): string limit is 32 bytes after +# conversion to UTF-8. +# length_limit = 32 bytes +PrivateTokenDescription=Software Security Device +# LOCALIZATION NOTE (SlotDescription): string limit is 64 bytes after conversion +# to UTF-8. +# length_limit = 64 bytes +SlotDescription=Seirbheisean inntearnail crioptachadh PSM +# LOCALIZATION NOTE (PrivateSlotDescription): string limit is 64 bytes after +# conversion to UTF-8. +# length_limit = 64 bytes +PrivateSlotDescription=Iuchraichean prìobhaideach PSM +# LOCALIZATION NOTE (Fips140TokenDescription): string limit is 32 bytes after +# conversion to UTF-8. +# length_limit = 32 bytes +Fips140TokenDescription=Software Security Device (FIPS) +# LOCALIZATION NOTE (Fips140SlotDescription): string limit is 64 bytes after +# conversion to UTF-8. +# length_limit = 64 bytes +Fips140SlotDescription=Seirbheisean crioptachaidh, iuchrach is teisteanais FIPS 140 + +# LOCALIZATION NOTE (nick_template): $1s is the common name from a cert (e.g. "Mozilla"), $2s is the CA name (e.g. VeriSign) +nick_template=ID %2$s %1$s + +CertDumpKUSign=A' cur ainm ris +CertDumpKUNonRep=Neo-dhiùltadh +CertDumpKUEnc=Crioptachadh nan iuchraichean +CertDumpKUDEnc=Crioptachadh an dàta +CertDumpKUKA=Aonta na h-iuchrach +CertDumpKUCertSign=Soidhniche an teisteanais +CertDumpKUCRLSigner=Soidhniche liosta nan teisteanasan a chaidh a chùl-ghairm + +PSMERR_SSL_Disabled=Cha ghabh ceangal tèarainte a dhèanamh a chionn 's gun deach am pròtacal SSL a chur à comas. +PSMERR_SSL2_Disabled=Cha ghabh ceangal tèarainte a dhèanamh a chionn 's gu bheil an làrach a' cleachdadh seann tionndadh dhen phròtacal SSL nach eil tèarainte. +PSMERR_HostReusedIssuerSerial=Fhuair thu teisteanas neo-dhligheach. Leig fios gu rianaire an fhrithealaiche no seòladair a’ phuist-dhealain ’s thoir dhaibh am fiosrachadh a leanas:\n\nYour certificate contains the same serial number as another certificate issued by the certificate authority. Please get a new certificate containing a unique serial number. + +# LOCALIZATION NOTE (SSLConnectionErrorPrefix2): %1$S is the host string, %2$S is more detailed information (localized as well). +SSLConnectionErrorPrefix2=Thachair mearachd fhad 's a bha ceangal ann ri %1$S. %2$S\n + +certErrorIntro=Tha %S a' cleachdadh teisteanas tèarainteachd mì-dhligheach. + +certErrorTrust_SelfSigned=Chan eil earbsa san teisteanas seo a chionn 's gun deach a fhèin-shoidhneadh. +certErrorTrust_UnknownIssuer=Chan eil earbsa san teisteanas seo a chionn 's nach eil foillsichear an teisteanais aithnichte. +certErrorTrust_UnknownIssuer2=Dh’fhaoidte nach eil am frithealaiche a’ cur nan teisteasan eadar-mheadhanach iomchaidh. +certErrorTrust_UnknownIssuer3=Dh’fhaoidte gum bi agad ri teisteanas root eile ion-phortadh. +certErrorTrust_CaInvalid=Chan eil earbsa san teisteanas seo a chionn 's gun deach fhoillseachadh le teisteanas mì-dhligheach de dh'ùghdarras teisteanachaidh. +certErrorTrust_Issuer=Chan eil earbsa san teisteanas seo a chionn 's nach eil earbsa ann am foillsichear an teisteanais. +certErrorTrust_SignatureAlgorithmDisabled=Chan eil earbsa san teisteanas a chionn 's gun deach a shoidhneadh le algairim soidhnidh a chaidh a chur à comas a chionn 's nach eil an algairim tèarainte. +certErrorTrust_ExpiredIssuer=Chan eil earbsa san teisteanas seo a chionn 's gun do dh'fhalbh an ùine air teisteanas an fhoillsicheir. +certErrorTrust_Untrusted=Chan eil earbsa san tùs on dàinig an teisteanas seo. +certErrorTrust_MitM=Tha an ceangal agad ’ga eadar-cheapadh le progsaidh TLS. Dì-stàlaich e mas urrainn dhut no cuir air gleus an t-uidheam agad gus nach cuir e earbsa san teisteanas root aige. + +certErrorMismatch=Chan e teisteanas dligheach airson an ainm %S a tha seo. +# LOCALIZATION NOTE (certErrorMismatchSinglePrefix): %S is replaced by the domain for which the certificate is valid +certErrorMismatchSinglePrefix=Chan e teisteanas dligheach a tha seo ach airson %S. +certErrorMismatchMultiple=Chan e teisteanas dligheach a tha seo ach airson nan ainmean a leanas: + +# LOCALIZATION NOTE (certErrorExpiredNow): Do not translate %1$S (date+time of expired certificate) or %2$S (current date+time) +certErrorExpiredNow=Dh'fhalbh an ùine air an teisteanas %1$S. Tha e %2$S an-dràsta. + +# LOCALIZATION NOTE (certErrorNotYetValidNow): Do not translate %1$S (date+time certificate will become valid) or %2$S (current date+time) +certErrorNotYetValidNow=Cha bhi an teisteanas ann an èifeachd ro %1$S. Tha e %2$S an-dràsta. + +certErrorMitM=Tha làraichean-lìn a’ dearbhadh cò iad le teisteanasan agus tha iad sin ’gam foillseachadh le ùghdarrasan theisteanasan. +# LOCALIZATION NOTE (certErrorMitM2): %S is brandShortName +certErrorMitM2=Tha taic a’ bhuidhinn neo-phrothaidich Mozilla aig %S agus tha iad a’ rianachd ùghdarras theisteanasan (CA) fosgailte. Tha stòras an CA a’ dèanamh cinnteach gu bheil ùghdarrasan nan teisteanasan a’ leantainn nan riaghailtean a mholar airson tèarainteachd chleachdaichean. +# LOCALIZATION NOTE (certErrorMitM3): %S is brandShortName +certErrorMitM3=Tha %S a’ cleachdadh stòras CA Mozilla airson dearbhadh gu bheil ceangal tèarainte, seach teisteanasan a sholair siostam-obrachaidh a’ chleachdaiche. Ma tha prògram an aghaidh bhìorasan no lìonra ag eadar-cheapadh ceangal le teisteanas tèarainteachd a chaidh fhoillseachadh le CA nach eil ann an stòras CA Mozilla, tuigear dheth nach eil an ceangal sàbhailte. + +certErrorSymantecDistrustAdministrator=’S urrainn dhut fios a leigeil gu rianaire na làraich-lìn seo mun duilgheadas seo. + +# LOCALIZATION NOTE (certErrorCodePrefix3): %S is replaced by the error code. +certErrorCodePrefix3=Còd na mearachd: %S + +P12DefaultNickname=Teisteanas a chaidh ion-phortadh +CertUnknown=Neo-aithnichte +CertNoEmailAddress=(gun seòladh puist-dhealain) +CaCertExists=Tha an teisteanas seo air a stàladh mar ùghdarras teisteanachaidh mu thràth. +NotACACert=Chan e teisteanas le ùghdarras teisteanachaidh a tha seo agus air sgàth sin, cha ghabh ion-phortadh do liosta nan ùghdarrasan teisteanachaidh. +UserCertIgnoredNoPrivateKey=Cha ghabh an teisteanas pearsanta a stàladh a chionn 's nach ann leat-sa a tha an iuchair phrìobhaideach a bhuineas ris 's a chaidh a chruthachadh nuair a dh'iarradh an teisteanas. +UserCertImported=Chaidh an teisteanas pearsanta agad a stàladh. Bu chòir dhut lethbhreac glèidhidh an teisteanas seo a chumail. +CertOrgUnknown=(Neo-aithnichte) +CertNotStored=(Gun stòradh) +CertExceptionPermanent=Buan +CertExceptionTemporary=Sealach diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/pippki/pippki.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/pippki/pippki.properties new file mode 100644 index 0000000000000000000000000000000000000000..0a9f207d48089a3683fcce1b58b841a97f2f0c55 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/pippki/pippki.properties @@ -0,0 +1,75 @@ +# 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/. + +# Download Cert dialog +# LOCALIZATION NOTE(newCAMessage1): +# %S is a string representative of the certificate being downloaded/imported. +newCAMessage1=A bheil thu airson earbsa a chur ann an "%S" a chum na leanas? +unnamedCA=Ùghdarras teisteanachaidh (gun ainm) + +getPKCS12FilePasswordMessage=Cuir a-steach am facal-faire a chleachd thu gus lethbhreac-glèidhidh an teisteanais seo a chrioptachadh: + +# Client auth +clientAuthRemember=Cuimhnich an co-dhùnadh seo +# LOCALIZATION NOTE(clientAuthNickAndSerial): Represents a single cert when the +# user is choosing from a list of certificates. +# %1$S is the nickname of the cert. +# %2$S is the serial number of the cert in AA:BB:CC hex format. +clientAuthNickAndSerial=%1$S [%2$S] +# LOCALIZATION NOTE(clientAuthHostnameAndPort): +# %1$S is the hostname of the server. +# %2$S is the port of the server. +clientAuthHostnameAndPort=%1$S:%2$S +# LOCALIZATION NOTE(clientAuthMessage1): %S is the Organization of the server +# cert. +clientAuthMessage1=Buidheann: "%S" +# LOCALIZATION NOTE(clientAuthMessage2): %S is the Organization of the issuer +# cert of the server cert. +clientAuthMessage2=Air fhoillseachadh fo: "%S" +# LOCALIZATION NOTE(clientAuthIssuedTo): %1$S is the Distinguished Name of the +# currently selected client cert, such as "CN=John Doe,OU=Example" (without +# quotes). +clientAuthIssuedTo=Foillsichte dha: %1$S +# LOCALIZATION NOTE(clientAuthSerial): %1$S is the serial number of the selected +# cert in AA:BB:CC hex format. +clientAuthSerial=Àireamh shreathach: %1$S +# LOCALIZATION NOTE(clientAuthValidityPeriod): +# %1$S is the already localized notBefore date of the selected cert. +# %2$S is the already localized notAfter date of the selected cert. +clientAuthValidityPeriod=Dligheach eadar %1$S is %2$S +# LOCALIZATION NOTE(clientAuthKeyUsages): %1$S is a comma separated list of +# already localized key usages the selected cert is valid for. +clientAuthKeyUsages=Prìomh-chleachdadh: %1$S +# LOCALIZATION NOTE(clientAuthEmailAddresses): %1$S is a comma separated list of +# e-mail addresses the selected cert is valid for. +clientAuthEmailAddresses=Seòlaidhean puist-d: %1$S +# LOCALIZATION NOTE(clientAuthIssuedBy): %1$S is the Distinguished Name of the +# cert which issued the selected cert. +clientAuthIssuedBy=Foillsichte le: %1$S +# LOCALIZATION NOTE(clientAuthStoredOn): %1$S is the name of the PKCS #11 token +# the selected cert is stored on. +clientAuthStoredOn=’Ga chumail air: %1$S + +# Page Info +pageInfo_NoEncryption=Chan eil an ceangal air a chrioptachadh +pageInfo_Privacy_None1=Chan eil an làrach-lìn %S a' cur taic ri crioptachadh na duilleige a tha thu a' coimhead air. +pageInfo_Privacy_None2='S urrainn do dhaoine eile fiosrachadh gun chrioptachadh a chuireas tu a-null air an lìon fhaicinn 's e a' trasnadh an lìn.\u0020 +pageInfo_Privacy_None4=Cha deach an duilleag a tha thu a’ coimhead air a chrioptachadh mus deach a chur a-nall thairis air an lìon. +# LOCALIZATION NOTE (pageInfo_EncryptionWithBitsAndProtocol and pageInfo_BrokenEncryption): +# %1$S is the name of the encryption standard, +# %2$S is the key size of the cipher. +# %3$S is protocol version like "SSL 3" or "TLS 1.2" +pageInfo_EncryptionWithBitsAndProtocol=Ceangal crioptaichte (%1$S, %2$S bit keys, %3$S) +pageInfo_BrokenEncryption=Crioptachadh briste (%1$S, %2$S bit keys, %3$S) +pageInfo_Privacy_Encrypted1=Chaidh an duilleag a tha thu a' coimhead air a chrioptachadh mus deach a chur a-nall thairis air an lìon. +pageInfo_Privacy_Encrypted2=Bidh e doirbh do dhaoine gun ùghdarras fiosrachadh a tha a' siubhal eadar coimpiutairean fhaicinn ma chaidh a chrioptachadh. Mar sin, chan eil coltas gun leugh duine sam bith an duilleag seo 's e a' siubhal an lìonraidh. +pageInfo_MixedContent=Ceangal air a chrioptachadh gu ìre +pageInfo_MixedContent2=Cha deach cuid dhen duilleag a tha thu a' coimhead air a chrioptachadh mus deach a chur a-nall thairis air an lìon. +pageInfo_WeakCipher=Tha an ceangal agad ris an làrach seo a’ cleachdadh crioptachadh lag is chan eil e prìobhaideachd. Chì daoine eile am fiosrachadh agad agus is urrainn dhaibh giùlan na làraich-lìn atharrachadh. +pageInfo_CertificateTransparency_Compliant=Tha an làrach-lìn seo a’ gèilleadh ri poileasaidh soilleireachd nan teisteanasan. + +# Token Manager +password_not_set=(gun suidheachadh) +enable_fips=Cuir FIPS an comas + diff --git a/thunderbird-l10n/gd/chrome/gd/locale/gd/places/places.properties b/thunderbird-l10n/gd/chrome/gd/locale/gd/places/places.properties new file mode 100644 index 0000000000000000000000000000000000000000..42e813eb73e6b795e1b1b33c7d6f4242902eb7ad --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/gd/places/places.properties @@ -0,0 +1,32 @@ +# 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/. + +BookmarksMenuFolderTitle=Clàr-taice nan comharra-lìn +BookmarksToolbarFolderTitle=Bàr nan comharran-lìn +OtherBookmarksFolderTitle=Comharran-lìn eile +TagsFolderTitle=Tagaichean +MobileBookmarksFolderTitle=Comharran-lìn mobile +OrganizerQueryHistory=Eachdraidh +OrganizerQueryDownloads=Luchdaidhean a-nuas +OrganizerQueryAllBookmarks=A h-uile comharra-lìn + +# LOCALIZATION NOTE : +# These are used to generate history containers when history is grouped by date +finduri-AgeInDays-is-0=An-diugh +finduri-AgeInDays-is-1=An-dè +finduri-AgeInDays-is=%S làithean air ais +finduri-AgeInDays-last-is=Na %S làithean seo chaidh +finduri-AgeInDays-isgreater=Nas sine na %S làithean +finduri-AgeInMonths-is-0=Am mìos seo +finduri-AgeInMonths-isgreater=Nas sine na %S mìosan + +# LOCALIZATION NOTE (localhost): +# This is used to generate local files container when history is grouped by site +localhost=(faidhlichean ionadail) + +# LOCALIZATION NOTE (backupFileSizeText): +# The string is used for showing file size of each backup in the "fileRestorePopup" popup +# %1$S is the file size +# %2$S is the file size unit +backupFileSizeText=%1$S %2$S diff --git a/thunderbird-l10n/gd/chrome/gd/locale/pdfviewer/chrome.properties b/thunderbird-l10n/gd/chrome/gd/locale/pdfviewer/chrome.properties new file mode 100644 index 0000000000000000000000000000000000000000..0d715b4c159142ac8f5dee3e766167214d849b31 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/pdfviewer/chrome.properties @@ -0,0 +1,20 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Chrome notification bar messages and buttons +unsupported_feature=Faodaidh nach eil an sgrìobhainn PDF seo 'ga shealltainn mar bu chòir. +unsupported_feature_forms=Tha foirmean sa PDF seo. Chan eil taic ri lìonadh foirmean. +unsupported_feature_signatures=Tha soidhnidhean digiteach san sgrìobhainn PDF seo. Chan eil taic ri dearbhadh shoidhnidhean. +open_with_different_viewer=Fosgail le sealladair eile +open_with_different_viewer.accessKey=o diff --git a/thunderbird-l10n/gd/chrome/gd/locale/pdfviewer/viewer.properties b/thunderbird-l10n/gd/chrome/gd/locale/pdfviewer/viewer.properties new file mode 100644 index 0000000000000000000000000000000000000000..231d927ac3825487d0f2bbed2ab24fd56d32b650 --- /dev/null +++ b/thunderbird-l10n/gd/chrome/gd/locale/pdfviewer/viewer.properties @@ -0,0 +1,257 @@ +# Copyright 2012 Mozilla Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Main toolbar buttons (tooltips and alt text for images) +previous.title=An duilleag roimhe +previous_label=Air ais +next.title=An ath-dhuilleag +next_label=Air adhart + +# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input. +page.title=Duilleag +# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number +# representing the total number of pages in the document. +of_pages=à {{pagesCount}} +# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}" +# will be replaced by a number representing the currently visible page, +# respectively a number representing the total number of pages in the document. +page_of_pages=({{pageNumber}} à {{pagesCount}}) + +zoom_out.title=Sùm a-mach +zoom_out_label=Sùm a-mach +zoom_in.title=Sùm a-steach +zoom_in_label=Sùm a-steach +zoom.title=Sùm +presentation_mode.title=Gearr leum dhan mhodh taisbeanaidh +presentation_mode_label=Am modh taisbeanaidh +open_file.title=Fosgail faidhle +open_file_label=Fosgail +print.title=Clò-bhuail +print_label=Clò-bhuail + +save.title=Sàbhail +save_label=Sàbhail +bookmark1.title=An duilleag làithreach (Seall an URL on duilleag làithreach) +bookmark1_label=An duilleag làithreach + +open_in_app.title=Fosgail san aplacaid +open_in_app_label=Fosgail san aplacaid + +# Secondary toolbar and context menu +tools.title=Innealan +tools_label=Innealan +first_page.title=Rach gun chiad duilleag +first_page_label=Rach gun chiad duilleag +last_page.title=Rach gun duilleag mu dheireadh +last_page_label=Rach gun duilleag mu dheireadh +page_rotate_cw.title=Cuairtich gu deiseil +page_rotate_cw_label=Cuairtich gu deiseil +page_rotate_ccw.title=Cuairtich gu tuathail +page_rotate_ccw_label=Cuairtich gu tuathail + +cursor_text_select_tool.title=Cuir an comas inneal taghadh an teacsa +cursor_text_select_tool_label=Inneal taghadh an teacsa +cursor_hand_tool.title=Cuir inneal na làimhe an comas +cursor_hand_tool_label=Inneal na làimhe + +scroll_page.title=Cleachd sgroladh duilleige +scroll_page_label=Sgroladh duilleige +scroll_vertical.title=Cleachd sgroladh inghearach +scroll_vertical_label=Sgroladh inghearach +scroll_horizontal.title=Cleachd sgroladh còmhnard +scroll_horizontal_label=Sgroladh còmhnard +scroll_wrapped.title=Cleachd sgroladh paisgte +scroll_wrapped_label=Sgroladh paisgte + +spread_none.title=Na cuir còmhla sgoileadh dhuilleagan +spread_none_label=Gun sgaoileadh dhuilleagan +spread_odd.title=Cuir còmhla duilleagan sgaoilte a thòisicheas le duilleagan aig a bheil àireamh chorr +spread_odd_label=Sgaoileadh dhuilleagan corra +spread_even.title=Cuir còmhla duilleagan sgaoilte a thòisicheas le duilleagan aig a bheil àireamh chothrom +spread_even_label=Sgaoileadh dhuilleagan cothrom + +# Document properties dialog box +document_properties.title=Roghainnean na sgrìobhainne… +document_properties_label=Roghainnean na sgrìobhainne… +document_properties_file_name=Ainm an fhaidhle: +document_properties_file_size=Meud an fhaidhle: +# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}" +# will be replaced by the PDF file size in kilobytes, respectively in bytes. +document_properties_kb={{size_kb}} KB ({{size_b}} bytes) +# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}" +# will be replaced by the PDF file size in megabytes, respectively in bytes. +document_properties_mb={{size_mb}} MB ({{size_b}} bytes) +document_properties_title=Tiotal: +document_properties_author=Ùghdar: +document_properties_subject=Cuspair: +document_properties_keywords=Faclan-luirg: +document_properties_creation_date=Latha a chruthachaidh: +document_properties_modification_date=Latha atharrachaidh: +# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}" +# will be replaced by the creation/modification date, and time, of the PDF file. +document_properties_date_string={{date}}, {{time}} +document_properties_creator=Cruthadair: +document_properties_producer=Saothraiche a' PDF: +document_properties_version=Tionndadh a' PDF: +document_properties_page_count=Àireamh de dhuilleagan: +document_properties_page_size=Meud na duilleige: +document_properties_page_size_unit_inches=ann an +document_properties_page_size_unit_millimeters=mm +document_properties_page_size_orientation_portrait=portraid +document_properties_page_size_orientation_landscape=dreach-tìre +document_properties_page_size_name_a3=A3 +document_properties_page_size_name_a4=A4 +document_properties_page_size_name_letter=Litir +document_properties_page_size_name_legal=Laghail +# LOCALIZATION NOTE (document_properties_page_size_dimension_string): +# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement and orientation, of the (current) page. +document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}} ({{orientation}}) +# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string): +# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by +# the size, respectively their unit of measurement, name, and orientation, of the (current) page. +document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}} ({{name}}, {{orientation}}) +# LOCALIZATION NOTE (document_properties_linearized): The linearization status of +# the document; usually called "Fast Web View" in English locales of Adobe software. +document_properties_linearized=Grad shealladh-lìn: +document_properties_linearized_yes=Tha +document_properties_linearized_no=Chan eil +document_properties_close=Dùin + +print_progress_message=Ag ullachadh na sgrìobhainn airson clò-bhualadh… +# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by +# a numerical per cent value. +print_progress_percent={{progress}}% +print_progress_close=Sguir dheth + +# Tooltips and alt text for side panel toolbar buttons +# (the _label strings are alt text for the buttons, the .title strings are +# tooltips) +toggle_sidebar.title=Toglaich am bàr-taoibh +toggle_sidebar_notification2.title=Toglaich am bàr-taoibh (tha oir-loidhne/ceanglachain/breathan aig an sgrìobhainn) +toggle_sidebar_label=Toglaich am bàr-taoibh +document_outline.title=Seall oir-loidhne na sgrìobhainn (dèan briogadh dùbailte airson a h-uile nì a leudachadh/a cho-theannadh) +document_outline_label=Oir-loidhne na sgrìobhainne +attachments.title=Seall na ceanglachain +attachments_label=Ceanglachain +layers.title=Seall na breathan (dèan briogadh dùbailte airson a h-uile breath ath-shuidheachadh dhan staid bhunaiteach) +layers_label=Breathan +thumbs.title=Seall na dealbhagan +thumbs_label=Dealbhagan +current_outline_item.title=Lorg nì làithreach na h-oir-loidhne +current_outline_item_label=Nì làithreach na h-oir-loidhne +findbar.title=Lorg san sgrìobhainn +findbar_label=Lorg + +additional_layers=Barrachd breathan +# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number. +page_landmark=Duilleag {{page}} +# Thumbnails panel item (tooltip and alt text for images) +# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page +# number. +thumb_page_title=Duilleag a {{page}} +# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page +# number. +thumb_page_canvas=Dealbhag duilleag a {{page}} + +# Find panel button title and messages +find_input.title=Lorg +find_input.placeholder=Lorg san sgrìobhainn... +find_previous.title=Lorg làthair roimhe na h-abairt seo +find_previous_label=Air ais +find_next.title=Lorg ath-làthair na h-abairt seo +find_next_label=Air adhart +find_highlight=Soillsich a h-uile +find_match_case_label=Aire do litrichean mòra is beaga +find_match_diacritics_label=Aire do stràcan +find_entire_word_label=Faclan-slàna +find_reached_top=Ràinig sinn barr na duilleige, a' leantainn air adhart o bhonn na duilleige +find_reached_bottom=Ràinig sinn bonn na duilleige, a' leantainn air adhart o bharr na duilleige +# LOCALIZATION NOTE (find_match_count): The supported plural forms are +# [one|two|few|many|other], with [other] as the default value. +# "{{current}}" and "{{total}}" will be replaced by a number representing the +# index of the currently active find result, respectively a number representing +# the total number of matches in the document. +find_match_count={[ plural(total) ]} +find_match_count[one]={{current}} à {{total}} mhaids +find_match_count[two]={{current}} à {{total}} mhaids +find_match_count[few]={{current}} à {{total}} maidsichean +find_match_count[many]={{current}} à {{total}} maids +find_match_count[other]={{current}} à {{total}} maids +# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are +# [zero|one|two|few|many|other], with [other] as the default value. +# "{{limit}}" will be replaced by a numerical value. +find_match_count_limit={[ plural(limit) ]} +find_match_count_limit[zero]=Barrachd air {{limit}} maids +find_match_count_limit[one]=Barrachd air {{limit}} mhaids +find_match_count_limit[two]=Barrachd air {{limit}} mhaids +find_match_count_limit[few]=Barrachd air {{limit}} maidsichean +find_match_count_limit[many]=Barrachd air {{limit}} maids +find_match_count_limit[other]=Barrachd air {{limit}} maids +find_not_found=Cha deach an abairt a lorg + +# Predefined zoom values +page_scale_width=Leud na duilleige +page_scale_fit=Freagair ri meud na duilleige +page_scale_auto=Sùm fèin-obrachail +page_scale_actual=Am fìor-mheud +# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a +# numerical scale value. +page_scale_percent={{scale}}% + +# Loading indicator messages +loading_error=Thachair mearachd rè luchdadh a' PDF. +invalid_file_error=Faidhle PDF a tha mì-dhligheach no coirbte. +missing_file_error=Faidhle PDF a tha a dhìth. +unexpected_response_error=Freagairt on fhrithealaiche ris nach robh dùil. + +rendering_error=Thachair mearachd rè reandaradh na duilleige. + +# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be +# replaced by the modification date, and time, of the annotation. +annotation_date_string={{date}}, {{time}} + +# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip. +# "{{type}}" will be replaced with an annotation type from a list defined in +# the PDF spec (32000-1:2008 Table 169 – Annotation types). +# Some common types are e.g.: "Check", "Text", "Comment", "Note" +text_annotation_type.alt=[Nòtachadh {{type}}] +password_label=Cuir a-steach am facal-faire gus am faidhle PDF seo fhosgladh. +password_invalid=Tha am facal-faire cearr. Nach fheuch thu ris a-rithist? +password_ok=Ceart ma-thà +password_cancel=Sguir dheth + +printing_not_supported=Rabhadh: Chan eil am brabhsair seo a' cur làn-taic ri clò-bhualadh. +printing_not_ready=Rabhadh: Cha deach am PDF a luchdadh gu tur airson clò-bhualadh. +web_fonts_disabled=Tha cruthan-clò lìn à comas: Chan urrainn dhuinn cruthan-clò PDF leabaichte a chleachdadh. + +# Editor +editor_free_text2.title=Teacsa +editor_free_text2_label=Teacsa +editor_ink2.title=Tarraing +editor_ink2_label=Tarraing + +free_text2_default_content=Tòisich air sgrìobhadh… + +# Editor Parameters +editor_free_text_color=Dath +editor_free_text_size=Meud +editor_ink_color=Dath +editor_ink_thickness=Tighead +editor_ink_opacity=Trìd-dhoilleireachd + +# Editor aria +editor_free_text2_aria_label=An deasaiche teacsa +editor_ink2_aria_label=An deasaiche tharraingean +editor_ink_canvas_aria_label=Dealbh a chruthaich cleachdaiche diff --git a/thunderbird-l10n/gd/localization/gd/branding/brand.ftl b/thunderbird-l10n/gd/localization/gd/branding/brand.ftl new file mode 100644 index 0000000000000000000000000000000000000000..1568f61a122b844c61aa6a5afc8466bf48dade7f --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/branding/brand.ftl @@ -0,0 +1,22 @@ +# 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/. + + +## Thunderbird Brand +## +## Thunderbird must be treated as a brand, and kept in English. +## It cannot be: +## - Transliterated. +## - Translated. +## +## Reference: https://www.mozilla.org/styleguide/communications/translation/ + +-brand-shorter-name = Thunderbird +-brand-short-name = Thunderbird +-brand-full-name = Mozilla Thunderbird +# This brand name can be used in messages where the product name needs to +# remain unchanged across different versions (Daily, Beta, etc.). +-brand-product-name = Thunderbird +-vendor-short-name = Mozilla +trademarkInfo = 'S e comharran-malairt aig Fonndas Mozilla a tha ann am Mozilla Thunderbird agus sna suaicheantasan Thunderbird. diff --git a/thunderbird-l10n/gd/localization/gd/browser/appExtensionFields.ftl b/thunderbird-l10n/gd/localization/gd/browser/appExtensionFields.ftl new file mode 100644 index 0000000000000000000000000000000000000000..92fc46feb02b36c522bd4f008b17e33747700149 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/browser/appExtensionFields.ftl @@ -0,0 +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/. + + +## Theme names and descriptions used in the Themes panel in about:addons + +# "Auto" is short for automatic. It can be localized without limitations. +extension-default-theme-name-auto = Ùrlar an t-siostaim – fèin-obrachail +extension-default-theme-description = Cleachd roghainnean an t-siostaim obrachaidh airson putanan, clàran-taice is uinneagan. +extension-thunderbird-compact-light-name = Soilleir +extension-thunderbird-compact-light-description = Ùrlar le sgeama dhathan soilleir. +extension-thunderbird-compact-dark-name = Dorcha +extension-thunderbird-compact-dark-description = Ùrlar le sgeama dhathan dorcha. diff --git a/thunderbird-l10n/gd/localization/gd/browser/branding/brandings.ftl b/thunderbird-l10n/gd/localization/gd/browser/branding/brandings.ftl new file mode 100644 index 0000000000000000000000000000000000000000..9ada8da73a462522017570b75ea5338b963912e9 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/browser/branding/brandings.ftl @@ -0,0 +1,18 @@ +# 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/. + + +## The following feature names must be treated as a brand. +## +## They cannot be: +## - Transliterated. +## - Translated. +## +## Declension should be avoided where possible, leaving the original +## brand unaltered in prominent UI positions. +## +## For further details, consult: +## https://mozilla-l10n.github.io/styleguides/mozilla_general/#brands-copyright-and-trademark + +-profiler-brand-name = Firefox Profiler diff --git a/thunderbird-l10n/gd/localization/gd/browser/components/mozSupportLink.ftl b/thunderbird-l10n/gd/localization/gd/browser/components/mozSupportLink.ftl new file mode 100644 index 0000000000000000000000000000000000000000..b78416546e3c321ee70bab4bcf764cb5ed96dc1b --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/browser/components/mozSupportLink.ftl @@ -0,0 +1,5 @@ +# 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/. + +moz-support-link-text = Barrachd fiosrachaidh diff --git a/thunderbird-l10n/gd/localization/gd/calendar/calendar-context-menus.ftl b/thunderbird-l10n/gd/localization/gd/calendar/calendar-context-menus.ftl new file mode 100644 index 0000000000000000000000000000000000000000..c1e1626c6b353ae64c45bf369b8e0d9fc6aa0a9a --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/calendar/calendar-context-menus.ftl @@ -0,0 +1,10 @@ +# 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/. + +list-calendar-context-reload-menuitem = + .label = Sioncronaich + .accesskey = S +calendar-item-context-menu-modify-menuitem = + .label = Deasaich + .accesskey = e diff --git a/thunderbird-l10n/gd/localization/gd/calendar/calendar-delete-prompt.ftl b/thunderbird-l10n/gd/localization/gd/calendar/calendar-delete-prompt.ftl new file mode 100644 index 0000000000000000000000000000000000000000..d41f468f61444a1ba401178102edf799a47b952a --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/calendar/calendar-delete-prompt.ftl @@ -0,0 +1,47 @@ +# 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/. + +calendar-delete-event-prompt-title = + { $count -> + [one] Sguab às an tachartas + [two] Sguab às na tachartasan + [few] Sguab às na tachartasan + *[other] Sguab às na tachartasan + } +calendar-delete-event-prompt-message = + { $count -> + [one] A bheil thu cinnteach gu bheil thu airson an { $count } tachartas seo a sguabadh às? + [two] A bheil thu cinnteach gu bheil thu airson an { $count } thachartas seo a sguabadh às? + [few] A bheil thu cinnteach gu bheil thu airson an { $count } tachartasan seo a sguabadh às? + *[other] A bheil thu cinnteach gu bheil thu airson an { $count } tachartas seo a sguabadh às? + } +calendar-delete-task-prompt-title = + { $count -> + [one] Sguab às an t-saothair + [two] Sguab às na saothraichean + [few] Sguab às na saothraichean + *[other] Sguab às na saothraichean + } +calendar-delete-task-prompt-message = + { $count -> + [one] A bheil thu cinnteach gu bheil thu airson an { $count } saothair seo a sguabadh às? + [two] A bheil thu cinnteach gu bheil thu airson an { $count } shaothair seo a sguabadh às? + [few] A bheil thu cinnteach gu bheil thu airson na { $count } saothraichean seo a sguabadh às? + *[other] A bheil thu cinnteach gu bheil thu airson na { $count } saothair seo a sguabadh às? + } +calendar-delete-item-prompt-title = + { $count -> + [one] Sguab às an nì + [two] Sguab às na nithean + [few] Sguab às na nithean + *[other] Sguab às na nithean + } +calendar-delete-item-prompt-message = + { $count -> + [one] A bheil thu cinnteach gu bheil thu airson an { $count } nì seo a sguabadh às? + [two] A bheil thu cinnteach gu bheil thu airson an { $count } nì seo a sguabadh às? + [few] A bheil thu cinnteach gu bheil thu airson na { $count } nithean seo a sguabadh às? + *[other] A bheil thu cinnteach gu bheil thu airson na { $count } nì seo a sguabadh às? + } +calendar-delete-prompt-disable-message = Na faighnich dhìom a-rithist. diff --git a/thunderbird-l10n/gd/localization/gd/calendar/calendar-editable-item.ftl b/thunderbird-l10n/gd/localization/gd/calendar/calendar-editable-item.ftl new file mode 100644 index 0000000000000000000000000000000000000000..0e1969eaa9e4b772ebce8c0795a1d309ea7450fa --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/calendar/calendar-editable-item.ftl @@ -0,0 +1,30 @@ +# 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/. + +calendar-editable-item-privacy-icon-private = + .alt = Prìobhaideachd: Tachartas prìobhaideach +calendar-editable-item-privacy-icon-confidential = + .alt = Prìobhaideachd: Na seall ach an t-àm is an ceann-là +calendar-editable-item-recurrence = + .alt = Ath-chùrsach +calendar-editable-item-recurrence-exception = + .alt = Eisgeachd ath-chùrsachd +calendar-editable-item-todo-icon-task = + .alt = Saothair +calendar-editable-item-todo-icon-completed-task = + .alt = Saothair crìochnaichte +calendar-editable-item-multiday-event-icon-start = + .alt = Tha tachartas thar iomadh latha a’ tòiseachadh +calendar-editable-item-multiday-event-icon-continue = + .alt = Tha tachartas thar iomadh latha a’ leantainn air adhart +calendar-editable-item-multiday-event-icon-end = + .alt = Tha tachartas thar iomadh latha a’ crìochnachadh +calendar-editable-item-reminder-icon-alarm = + .alt = Tha caismeachd cuimhneachaidh air an sgeideal +calendar-editable-item-reminder-icon-suppressed-alarm = + .alt = Tha caismeachd cuimhneachaidh air an sgeideal ach ’ga mùchadh an-dràsta +calendar-editable-item-reminder-icon-email = + .alt = Tha post-d cuimhneachaidh air an sgeideal +calendar-editable-item-reminder-icon-audio = + .alt = Tha caismeachd cuimhneachaidh fuaime air an sgeideal diff --git a/thunderbird-l10n/gd/localization/gd/calendar/calendar-event-dialog-reminder.ftl b/thunderbird-l10n/gd/localization/gd/calendar/calendar-event-dialog-reminder.ftl new file mode 100644 index 0000000000000000000000000000000000000000..094e774e8387b6b17b541fa7275d5aefb0388e1b --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/calendar/calendar-event-dialog-reminder.ftl @@ -0,0 +1,10 @@ +# 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/. + +calendar-event-reminder-icon-display = + .alt = Seall caismeachd +calendar-event-reminder-icon-email = + .alt = Cuir post-d +calendar-event-reminder-icon-audio = + .alt = Cluich caismeachd fuaime diff --git a/thunderbird-l10n/gd/localization/gd/calendar/calendar-event-listing.ftl b/thunderbird-l10n/gd/localization/gd/calendar/calendar-event-listing.ftl new file mode 100644 index 0000000000000000000000000000000000000000..4296b2395c7dc826ab2d97057cc065e5046d58b7 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/calendar/calendar-event-listing.ftl @@ -0,0 +1,65 @@ +# 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/. + +calendar-event-listing-close = + .tooltiptext = Dùin lorg is liosta nan tachartasan + +## Listing columns + +calendar-event-listing-column-calendar-name = + .label = Ainm a' mhìosachain + .tooltiptext = Seòrsaich a-rèir ainm a' mhìosachain +calendar-event-listing-column-category = + .label = Roinn-seòrsa + .tooltiptext = Seòrsaich a-rèir roinn-seòrsa +# This label and tooltip is used for the column with the checkbox in the task +# tree view, which indicates whether a task has been marked as completed. +calendar-event-listing-column-completed = + .label = Dèanta + .tooltiptext = Seòrsaich a-rèir coileanaidh +calendar-event-listing-column-completed-date = + .label = Deiseil + .tooltiptext = Seòrsaich a-rèir latha coileanaidh +calendar-event-listing-column-due-date = + .label = Ceann-ama + .tooltiptext = Seòrsaich a-rèir latha libhrigidh +calendar-event-listing-column-end-date = + .label = A' crìochnachadh + .tooltiptext = Seòrsaich a-rèir latha crìochnachaidh +calendar-event-listing-column-location = + .label = Àite + .tooltiptext = Seòrsaich a-rèir ionaid +calendar-event-listing-column-percent-complete = + .label = % deiseil + .tooltiptext = Seòrsaich a-rèir ceudad coileanaidh +calendar-event-listing-column-priority = + .label = Prìomhachas + .tooltiptext = Seòrsaich a-rèir prìomhachais +calendar-event-listing-column-start-date = + .label = A' tòiseachadh + .tooltiptext = Seòrsaich a-rèir latha tòiseachaidh +calendar-event-listing-column-status = + .label = Staid + .tooltiptext = Seòrsaich a-rèir staid +calendar-event-listing-column-time-until-due = + .label = Feum air ann an + .tooltiptext = Seòrsaich a-rèir ùine gu libhrigeadh +calendar-event-listing-column-title = + .label = Tiotal + .tooltiptext = Seòrsaich a-rèir tiotail + +## Interval dropdown options + +calendar-event-listing-interval-calendar-month = + .label = Tachartasan sa mhìos mhìosachain seo +calendar-event-listing-interval-current-view = + .label = Tachartasan san t-sealladh làithreach +calendar-event-listing-interval-next-7-days = + .label = Tachartasan anns na 7 làithean seo tighinn +calendar-event-listing-interval-next-14-days = + .label = Tachartasan sa chola-deug seo tighinn +calendar-event-listing-interval-next-31-days = + .label = Tachartasan san 31 latha seo tighinn +calendar-event-listing-interval-selected-day = + .label = An latha a thagh thu diff --git a/thunderbird-l10n/gd/localization/gd/calendar/calendar-ics-file-dialog.ftl b/thunderbird-l10n/gd/localization/gd/calendar/calendar-ics-file-dialog.ftl new file mode 100644 index 0000000000000000000000000000000000000000..db536a832bc1592d4b93e1ce2cd84d99e6dff7f3 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/calendar/calendar-ics-file-dialog.ftl @@ -0,0 +1,50 @@ +# 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/. + +calendar-ics-file-window-2 = + .title = Ion-phortaich tachartasan is saothraichean a’ mhìosachain +calendar-ics-file-window-title = Ion-phortaich tachartasan is saothraichean a’ mhìosachain +calendar-ics-file-dialog-import-event-button-label = Ion-phortaich tachartas +calendar-ics-file-dialog-import-task-button-label = Ion-phortaich saothair +calendar-ics-file-dialog-2 = + .buttonlabelaccept = Ion-phortaich na h-uile +calendar-ics-file-accept-button-ok-label = Ceart ma-thà +calendar-ics-file-cancel-button-close-label = Dùin +calendar-ics-file-dialog-message-2 = Ion-phortaich o fhaidhle: +calendar-ics-file-dialog-calendar-menu-label = Ion-phortaich dhan mhìosachan: +calendar-ics-file-dialog-items-loading-message = + .value = A’ luchdadh nithean… +calendar-ics-file-dialog-search-input = + .placeholder = Criathraich nithean… +calendar-ics-file-dialog-sort-start-ascending = + .label = Seòrsaich a-rèir an tòiseachaidh (as tràithe an toiseach) +calendar-ics-file-dialog-sort-start-descending = + .label = Seòrsaich a-rèir an tòiseachaidh (as anmoiche an toiseach) +# "A > Z" is used as a concise way to say "alphabetical order". +# You may replace it with something appropriate to your language. +calendar-ics-file-dialog-sort-title-ascending = + .label = Seòrsaich a-rèir tiotal (A > Z) +# "Z > A" is used as a concise way to say "reverse alphabetical order". +# You may replace it with something appropriate to your language. +calendar-ics-file-dialog-sort-title-descending = + .label = Seòrsaich a-rèir tiotal (Z > A) +calendar-ics-file-dialog-progress-message = ’Ga ion-phortadh… +calendar-ics-file-import-success = Chaidh an ion-phortadh! +calendar-ics-file-import-error = Thachair mearachd agus dh’fhàillig an t-ion-phortadh. +calendar-ics-file-import-complete = Tha an t-ion-phortadh deiseil. +calendar-ics-file-import-duplicates = + { $duplicatesCount -> + [one] Chaidh { $duplicatesCount } nì a leigeil seachad on a tha e air a’ mhìosachain-amais mu thràth. + [two] Chaidh { $duplicatesCount } nì a leigeil seachad on a tha iad air a’ mhìosachain-amais mu thràth. + [few] Chaidh { $duplicatesCount } nithean a leigeil seachad on a tha iad air a’ mhìosachain-amais mu thràth. + *[other] Chaidh { $duplicatesCount } nì a leigeil seachad on a tha iad air a’ mhìosachain-amais mu thràth. + } +calendar-ics-file-import-errors = + { $errorsCount -> + [one] Tha { $errorsCount } nì nach deach ion-phortadh. Thoir sùil air consoil nam mearachdan airson barrachd fiosrachaidh. + [two] Tha { $errorsCount } nì nach deach ion-phortadh. Thoir sùil air consoil nam mearachdan airson barrachd fiosrachaidh. + [few] Tha { $errorsCount } nithean nach deach ion-phortadh. Thoir sùil air consoil nam mearachdan airson barrachd fiosrachaidh. + *[other] Tha { $errorsCount } nì nach deach ion-phortadh. Thoir sùil air consoil nam mearachdan airson barrachd fiosrachaidh. + } +calendar-ics-file-dialog-no-calendars = Chan eil mìosachan sam bith ann a tha comasach air tachartasan no saothraichean ion-phortadh. diff --git a/thunderbird-l10n/gd/localization/gd/calendar/calendar-invitation-panel.ftl b/thunderbird-l10n/gd/localization/gd/calendar/calendar-invitation-panel.ftl new file mode 100644 index 0000000000000000000000000000000000000000..74179d9838de1d5ca7077d7e68d3fdb5013dfe2d --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/calendar/calendar-invitation-panel.ftl @@ -0,0 +1,115 @@ +# 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/. + +# Variables: +# $organizer (String) - The participant that created the original invitation. +calendar-invitation-panel-intro = Thug { $organizer } cuireadh dhut gu: +calendar-invitation-panel-status-new = Fhuair thu cuireadh gun tachartas seo. +calendar-invitation-panel-status-processed = Chaidh an tachartas a chur ris a’ mhìosachan agad mu thràth. +calendar-invitation-panel-status-updateminor = Tha ùrachadh air an tachartas seo san teachdaireachd seo. +calendar-invitation-panel-status-updatemajor = Tha ùrachadh air an tachartas seo san teachdaireachd seo. Bu chòir dhut dearbhadh am bi thu an làthair às ùr. +calendar-invitation-panel-status-cancelled = Tha an teachdaireachd seo a’ cur gu neoini an tachartais seo. +calendar-invitation-panel-status-cancelled-notfound = Tha an teachdaireachd seo a’ cur gu neoini tachartas nach eil sa mhìosachan agad. +# Variables: +# $organizer (String) - The participant that cancelled the invitation. +calendar-invitation-panel-intro-cancel = Chuir { $organizer } na leanas gu neoini: +# Variables: +# $summary (String) - A short summary or title of the event. +calendar-invitation-panel-title = { $summary } +calendar-invitation-panel-action-button = Sàbhail +calendar-invitation-panel-view-button = Seall +calendar-invitation-panel-update-button = Ùraich +calendar-invitation-panel-delete-button = Sguab às +calendar-invitation-panel-accept-button = Tha +calendar-invitation-panel-decline-button = Chan eil +calendar-invitation-panel-tentative-button = ’S dòcha +calendar-invitation-panel-reply-status = * Cha do chuir thu romhad e no cha do fhreagair thu fhathast +calendar-invitation-panel-more-button = Barrachd +calendar-invitation-panel-menu-item-save = + .label = Sàbhail sa mhìosachan +calendar-invitation-panel-menu-item-save-copy = + .label = Sàbhail lethbhreac dheth +calendar-invitation-panel-menu-item-toggle-changes = + .label = Seall na h-atharraichean +calendar-invitation-panel-prop-title-when = Cuin: +calendar-invitation-panel-prop-title-location = Ionad: +# Variables: +# $dayOfWeek (String) - The day of the week for a given date. +# $date (String) - The date example: Tuesday, February 24, 2022. +calendar-invitation-datetime-date = { $dayOfWeek }, { $date } +# Variables: +# $time (String) - The time part of a datetime using the "short" timeStyle. +# $timezone (String) - The timezone info for the datetime. +calendar-invitation-datetime-time = { $time } ({ $timezone }) +# Example: Friday, September 16, 2022 +# Variables: +# $startDate (String) - The date (without time) the event starts on. +calendar-invitation-interval-all-day = { $startDate } +# Example: September 16, 2022 – September 16, 2023 +# Variables: +# $startMonth (String) - The month the interval starts. +# $startDay (String) - The day of the month the interval starts. +# $startYear (String) - The year the interval starts. +# $endMonth (String) - The month the interval ends. +# $endDay (String) - The day of the month the interval ends. +# $endYear (String) - The year the interval ends. +calendar-invitation-interval-all-day-between-years = { $startDay } { $startMonth } { $startYear } – { $endDay } { $endMonth } { $endYear } +# Example: September 16 – 20, 2022 +# Variables: +# $month (String) - The month the interval is in. +# $startDay (String) - The day of the month the interval starts. +# $endDay (String) - The day of the month the interval ends. +# $year (String) - The year the interval is in. +calendar-invitation-interval-all-day-in-month = { $startDay } { $month } – { $year } { $endDay } +# Example: September 16 – October 20, 2022 +# Variables: +# $startMonth (String) - The month the interval starts. +# $startDay (String) - The day of the month the interval starts. +# $endMonth (String) - The month the interval ends. +# $endDay (String) - The day of the month the interval ends. +# $year (String) - The year the interval is in. +calendar-invitation-interval-all-day-between-months = { $startDay } { $startMonth } – { $endDay } { $endMonth } { $year } +# Example: Friday, September 16, 2022 15:00 America/Port of Spain +# Variables: +# $startDate (String) - The date the interval starts. +# $startTime (String) - The time the interval starts. +# $timezone (String) - The timezone the interval is in. +calendar-invitation-interval-same-date-time = { $startDate } <b>{ $startTime }</b> { $timezone } +# Example: Friday, September 16, 2022 14:00 – 16:00 America/Port of Spain +# Variables: +# $startDate (String) - The date the interval starts. +# $startTime (String) - The time the interval starts. +# $endTime (String) - The time the interval ends. +# $timezone (String) - The timezone the interval is in. +calendar-invitation-interval-same-day = { $startDate } <b>{ $startTime }</b> – <b>{ $endTime }</b> { $timezone } +# Example: Friday, September 16, 2022 14:00 – Tuesday, September 20, 2022 16:00 America/Port of Spain +# Variables: +# $startDate (String) - The date the interval starts. +# $startTime (String) - The time the interval starts. +# $endDate (String) - The date the interval ends. +# $endTime (String) - The time the interval ends. +# $timezone (String) - The timezone the interval is in. +calendar-invitation-interval-several-days = { $startDate } <b>{ $startTime }</b> – { $endDate } <b>{ $endTime }</b> { $timezone } +calendar-invitation-panel-prop-title-recurrence = Ag ath-tachairt: +calendar-invitation-panel-prop-title-attendees = Freastalaichean: +calendar-invitation-panel-prop-title-description = Tuairisgeul: +# Variables: +# $count (Number) - The number of attendees with the "ACCEPTED" participation status. +calendar-invitation-panel-partstat-accepted = Ghabh { $count } ris +# Variables: +# $count (Number) - The number of attendees with the "DECLINED" participation status. +calendar-invitation-panel-partstat-declined = Dhiùlt { $count } +# Variables: +# $count (Number) - The number of attendees with the "TENTATIVE" participation status. +calendar-invitation-panel-partstat-tentative = Tha { $count } gun chinnt +# Variables: +# $count (Number) - The number of attendees with the "NEEDS-ACTION" participation status. +calendar-invitation-panel-partstat-needs-action = Tha { $count } ann nach do dhèilig ris +# Variables: +# $count (Number) - The total number of attendees. +calendar-invitation-panel-partstat-total = Freastalaichean: { $count } +calendar-invitation-panel-prop-title-attachments = Ceanglachain: +calendar-invitation-change-indicator-removed = Air a thoirt air falbh +calendar-invitation-change-indicator-added = Ùr +calendar-invitation-change-indicator-modified = Air atharrachadh diff --git a/thunderbird-l10n/gd/localization/gd/calendar/calendar-invitations-dialog.ftl b/thunderbird-l10n/gd/localization/gd/calendar/calendar-invitations-dialog.ftl new file mode 100644 index 0000000000000000000000000000000000000000..b8cbac6208d09371cb58f8ab33ff169fab66b86f --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/calendar/calendar-invitations-dialog.ftl @@ -0,0 +1,10 @@ +# 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/. + +calendar-invitation-current-participation-status-icon-accepted = + .alt = Air a ghabhail ris aig an àm seo +calendar-invitation-current-participation-status-icon-declined = + .alt = Air a dhiùltadh aig an àm seo +calendar-invitation-current-participation-status-icon-needs-action = + .alt = Gun chinnt aig an àm seo diff --git a/thunderbird-l10n/gd/localization/gd/calendar/calendar-itip-identity-dialog.ftl b/thunderbird-l10n/gd/localization/gd/calendar/calendar-itip-identity-dialog.ftl new file mode 100644 index 0000000000000000000000000000000000000000..f2e0f6a68255698a21d1a3839e1974f8f17f7c27 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/calendar/calendar-itip-identity-dialog.ftl @@ -0,0 +1,8 @@ +# 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/. + +calendar-itip-identity-dialog-title = Gun chuireadh? +calendar-itip-identity-warning = Chan eil thu air liosta nan aoighean fhathast. +calendar-itip-identity-label = Freagair mar: +calendar-itip-identity-label-none = Co-cheangail an tachartas seo ri: diff --git a/thunderbird-l10n/gd/localization/gd/calendar/calendar-print.ftl b/thunderbird-l10n/gd/localization/gd/calendar/calendar-print.ftl new file mode 100644 index 0000000000000000000000000000000000000000..c99be9fa031d16de33ab99fc08b2c10dde823047 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/calendar/calendar-print.ftl @@ -0,0 +1,17 @@ +# 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/. + +calendar-print-layout-label = Co-dhealbhachd +calendar-print-layout-list = Liosta +calendar-print-layout-month-grid = Griod mìosail +calendar-print-layout-week-planner = Planadair seachdaineil +calendar-print-filter-label = Na thèid a chlò-bhualadh +calendar-print-filter-events = Tachartasan +calendar-print-filter-tasks = Saothraichean +calendar-print-filter-completedtasks = Saothraichean crìochnaichte +calendar-print-filter-taskswithnoduedate = Saothraichean gun cheann-ama +calendar-print-range-from = O +calendar-print-range-to = Gu +calendar-print-back-button = Air ais +calendar-print-next-button = Air adhart diff --git a/thunderbird-l10n/gd/localization/gd/calendar/calendar-recurrence-dialog.ftl b/thunderbird-l10n/gd/localization/gd/calendar/calendar-recurrence-dialog.ftl new file mode 100644 index 0000000000000000000000000000000000000000..15ee0aba633c692a8859dccebf447e2eb00d7195 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/calendar/calendar-recurrence-dialog.ftl @@ -0,0 +1,8 @@ +# 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/. + +calendar-recurrence-preview-label = Ro-sheall +calendar-recurrence-next = An ath-mhìos +calendar-recurrence-previous = Am mìos roimhe +calendar-recurrence-today = An-diugh diff --git a/thunderbird-l10n/gd/localization/gd/calendar/calendar-summary-dialog.ftl b/thunderbird-l10n/gd/localization/gd/calendar/calendar-summary-dialog.ftl new file mode 100644 index 0000000000000000000000000000000000000000..69d9fa08f679a63a05360c55f014f16da287dc79 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/calendar/calendar-summary-dialog.ftl @@ -0,0 +1,15 @@ +# 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/. + +calendar-summary-dialog-edit-button = + .label = Deasaich + .accesskey = e +calendar-summary-dialog-edit-menu-button = + .label = Deasaich +edit-button-context-menu-this-occurrence = + .label = Na deasaich ach an teachd seo + .accesskey = t +edit-button-context-menu-all-occurrences = + .label = Deasaich gach teachd dheth + .accesskey = a diff --git a/thunderbird-l10n/gd/localization/gd/calendar/calendar-uri-redirect-dialog.ftl b/thunderbird-l10n/gd/localization/gd/calendar/calendar-uri-redirect-dialog.ftl new file mode 100644 index 0000000000000000000000000000000000000000..cecac3a55ae8a2228116ab45d66c063b2f44e3ee --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/calendar/calendar-uri-redirect-dialog.ftl @@ -0,0 +1,12 @@ +# 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/. + +calendar-uri-redirect-window = + .title = Ath-stiùireadh URI a’ mhìosachain +calendar-uri-redirect-window-title = Ath-stiùireadh URI a’ mhìosachain +calendar-uri-redirect-description = + Tha am frithealaichte ag ath-stiùireadh an URI aig a’ mhìosachan “{ $calendarName }”. + A bheil thu airson gabhail ris an ath-stiùireadh agus an URI ùr aig a’ mhìosachan seo a chleachdadh? +calendar-uri-redirect-original-uri-label = An URI làithreach: +calendar-uri-redirect-target-uri-label = Gad ath-stiùireadh dhan URI ùr: diff --git a/thunderbird-l10n/gd/localization/gd/calendar/calendar-widgets.ftl b/thunderbird-l10n/gd/localization/gd/calendar/calendar-widgets.ftl new file mode 100644 index 0000000000000000000000000000000000000000..f60620623a4cd4c9441e8def2881c5e907c77703 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/calendar/calendar-widgets.ftl @@ -0,0 +1,111 @@ +# 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/. + +calendar-deactivated-notification-events = Tha gach mìosachan à comas an-dràsta fhèin. Cuir mìosachan làithreach ris no cuir fear ùr ris airson tachartasan a chruthachadh is a dheasachadh. +calendar-deactivated-notification-tasks = Tha gach mìosachan à comas an-dràsta fhèin. Cuir mìosachan làithreach ris no cuir fear ùr ris airson saothraichean a chruthachadh is a dheasachadh. +calendar-notifications-label = Seall brathan airson tachartasan ri thighinn +calendar-add-notification-button = + .label = Cuir brath ris + +## Side panel + +calendar-list-header = Mìosachain +# Variables: +# $calendarName (String) - Calendar name as given by the user +calendar-no-reminders-tooltip = + .title = Chaidh am mìosachan { $calendarName } a mhùchadh +calendar-enable-button = Cuir an comas +# Variables: +# $calendarName (String) - Calendar name as given by the user +calendar-list-item-context-button = + .title = Roghainnean a’ mhìosachain “{ $calendarName }” +calendar-import-new-calendar = Mìosachan ùr… + .title = Cruthaich mìosachan ùr no fo-sgrìobh gu fear ùr +calendar-refresh-calendars = + .title = Ath-luchdaich a h-uile mìosachan is sioncronaich na h-atharraichean +calendar-new-event-primary-button = Tachartas ùr +calendar-new-task-primary-button = Saothair ùr + +## Calendar navigation + +calendar-nav-button-prev-tooltip-day = + .title = An latha roimhe + .accesskey = n +calendar-nav-button-prev-tooltip-week = + .title = An t-seachdain roimhe + .accesskey = s +calendar-nav-button-prev-tooltip-multiweek = + .title = An t-seachdain roimhe + .accesskey = s +calendar-nav-button-prev-tooltip-month = + .title = Am mìos roimhe + .accesskey = s +calendar-nav-button-prev-tooltip-year = + .title = A’ bhliadhna roimhpe + .accesskey = s +calendar-nav-button-next-tooltip-day = + .title = An ath-latha + .accesskey = n +calendar-nav-button-next-tooltip-week = + .title = An ath-sheachdain + .accesskey = n +calendar-nav-button-next-tooltip-multiweek = + .title = An ath-sheachdain + .accesskey = n +calendar-nav-button-next-tooltip-month = + .title = An ath-mhìos + .accesskey = n +calendar-nav-button-next-tooltip-year = + .title = An ath-bhliadhna + .accesskey = x +calendar-today-button-tooltip = + .title = Tadhail air an-diugh +calendar-view-toggle-day = Latha + .title = Na seall dhomh ach aon latha +calendar-view-toggle-week = Seachdain + .title = Seall dhomh an t-seachdain air fad +calendar-view-toggle-multiweek = Iomadh s. + .title = Seall dhomh iomadh seachdain còmhla +calendar-view-toggle-month = Mìos + .title = Seall dhomh mìos air fad + +## Menu on calendar control bar + +calendar-control-bar-menu-button = + .title = Roghainnean co-dhealbhachd a’ mhìosachain +calendar-find-events-menu-option = + .label = Lorg leòsan nan tachartasan +calendar-hide-weekends-option = + .label = Làithean-obrach na seachdaine a-mhàin +calendar-define-workweek-option = + .label = Cruthaich deifinisean de làithean seachdain obrach +calendar-show-tasks-calendar-option = + .label = Seall saothraichean sa mhìosachan + +## Calendar Context Menu + +calendar-context-menu-previous-day = + .label = An latha roimhe + .accesskey = A +calendar-context-menu-previous-week = + .label = An t-seachdain roimhe + .accesskey = s +calendar-context-menu-previous-multiweek = + .label = An t-seachdain roimhe + .accesskey = s +calendar-context-menu-previous-month = + .label = Am mìos roimhe + .accesskey = s +calendar-context-menu-next-day = + .label = An ath-latha + .accesskey = A +calendar-context-menu-next-week = + .label = An ath-sheachdain + .accesskey = A +calendar-context-menu-next-multiweek = + .label = An ath-sheachdain + .accesskey = A +calendar-context-menu-next-month = + .label = An ath-mhìos + .accesskey = A diff --git a/thunderbird-l10n/gd/localization/gd/calendar/category-dialog.ftl b/thunderbird-l10n/gd/localization/gd/calendar/category-dialog.ftl new file mode 100644 index 0000000000000000000000000000000000000000..1c299e01f7286e94b589de6b465bf661aadc3ef5 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/calendar/category-dialog.ftl @@ -0,0 +1,7 @@ +# 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/. + +category-name-label = Ainm +category-color-label = + .label = Cleachd dath diff --git a/thunderbird-l10n/gd/localization/gd/calendar/preferences.ftl b/thunderbird-l10n/gd/localization/gd/calendar/preferences.ftl new file mode 100644 index 0000000000000000000000000000000000000000..f8f8abe0e41c4987f4684279f73449f45afb6d40 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/calendar/preferences.ftl @@ -0,0 +1,192 @@ +# 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/. + +calendar-title = Am mìosachan +calendar-title-reminder = Cuimhneachain +calendar-title-notification = Brathan +calendar-title-category = Roinnean-seòrsa +dateformat-label = + .value = Fòrmat teacs nan ceann-là: + .accesskey = F +# $date (String) - the formatted example date +dateformat-long = + .label = Fada: { $date } +# $date (String) - the formatted example date +dateformat-short = + .label = Goirid: { $date } +use-system-timezone-radio-button = + .label = Cleachd roinn-tìde an t-siostaim +set-timezone-manually-radio-button = + .label = Suidhich an raon-ama de làimh +timezone-label = + .value = An roinn-tìde: +weekstart-label = + .value = Tòisich an t-seachdain: + .accesskey = T +day-1-name = + .label = DiDòmhnaich +day-2-name = + .label = DiLuain +day-3-name = + .label = DiMàirt +day-4-name = + .label = DiCiadain +day-5-name = + .label = DiarDaoin +day-6-name = + .label = DihAoine +day-7-name = + .label = DiSathairne +show-weeknumber-label = + .label = Seall àireamh na seachdain sna seallaidhean agus sa mheanbh-mhìos + .accesskey = n +workdays-label = + .value = Làithean na seachdain-obrach: +day-1-checkbox = + .label = DiD + .accesskey = D +day-2-checkbox = + .label = DiL + .accesskey = D +day-3-checkbox = + .label = DiM + .accesskey = D +day-4-checkbox = + .label = DiC + .accesskey = D +day-5-checkbox = + .label = Diar + .accesskey = D +day-6-checkbox = + .label = Dih + .accesskey = D +day-7-checkbox = + .label = DiS + .accesskey = D +dayweek-legend = Seallaidhean làitheil is seachdaineil +visible-hours-label = + .value = Seall: + .accesskey = S +visible-hours-end-label = + .value = uairean a thìde còmhla +day-start-label = + .value = Tòisichidh an latha aig: + .accesskey = d +day-end-label = + .value = Crìochnaichidh an latha aig: + .accesskey = C +midnight-label = + .label = Meadhan-oidhche +noon-label = + .label = Meadhan-latha +location-checkbox = + .label = Seall an t-ionad + .accesskey = L +multiweek-legend = Sealladh ioma-sheachdaineil +number-of-weeks-label = + .value = Àireamh nan seachdain a chithear (a' gabhail a-steach an fheadhainn 's a chaidh): + .accesskey = e +week-0-label = + .label = chan eil gin +week-1-label = + .label = 1 seachdain +week-2-label = + .label = 2 sheachdain +week-3-label = + .label = 3 seachdainean +week-4-label = + .label = 4 seachdainean +week-5-label = + .label = 5 seachdainean +week-6-label = + .label = 6 seachdainean +previous-weeks-label = + .value = Na seachdainean 's a chaidh a chithear: + .accesskey = N +todaypane-legend = Leòsan an latha +agenda-days = + .value = Tha an clàr-gnothaich a’ sealltainn: + .accesskey = g +event-task-legend = Tachartasan is saothraichean +default-length-label = + .value = Faid bhunaiteach thachartasan is shaothraichean: + .accesskey = E +task-start-label = + .value = Latha tòiseachaidh: +task-start-1-label = + .label = Chan eil gin +task-start-2-label = + .label = Toiseach an latha +task-start-3-label = + .label = Deireadh an latha +task-start-4-label = + .label = A-màireach +task-start-5-label = + .label = An ath-sheachdain +task-start-6-label = + .label = Dàimheach ris an àm làithreach +task-start-7-label = + .label = Dàimheach ris an toiseach +task-start-8-label = + .label = Dàimheach ris an an-uair +task-due-label = + .value = Ceann-ama: +edit-intab-label = + .label = Deasaich tachartasan is saothraichean ann an taba seach uinneag còmhraidh. + .accesskey = t +prompt-delete-label = + .label = Faighnich dhìom mus tèid tachartasan is saothraichean a sguabadh às. + .accesskey = F +accessibility-legend = So-ruigsinneachd +accessibility-colors-label = + .label = Pisich na dathan a chùm so-ruigsinneachd + .accesskey = c +reminder-legend = Nuair a sheirmeas caismeachd: +reminder-play-checkbox = + .label = Cluich fuaim + .accesskey = s +reminder-play-alarm-button = + .label = Cluich + .accesskey = u +reminder-default-sound-label = + .label = Cleachd an fhuaim bhunaiteach + .accesskey = d +reminder-custom-sound-label = + .label = Cleachd an fhuaim a leanas + .accesskey = U +reminder-browse-sound-label = + .label = Brabhsaich… + .accesskey = B +reminder-dialog-label = + .label = Seall bogsa caismeachd + .accesskey = x +missed-reminder-label = + .label = Seall cuimhneachain a dh’fhairtlich orm a thaobh mhìosachan so-sgrìobhte + .accesskey = m +reminder-default-legend = Roghainnean caismeachd bunaiteach +default-snooze-label = + .value = Faid bhunaiteach an dùsail: + .accesskey = s +event-alarm-label = + .value = Roghainnean caismeachd bunaiteach airson tachartasan: + .accesskey = e +alarm-on-label = + .label = Air +alarm-off-label = + .label = Dheth +task-alarm-label = + .value = Roghainnean caismeachd bunaiteach airson gnìomhan: + .accesskey = a +event-alarm-time-label = + .value = An t-àm bunaiteach ro thachartas nuair a sheirmeas caismeachd: + .accesskey = u +task-alarm-time-label = + .value = An t-àm bunaiteach ro ghnìomh nuair a sheirmeas caismeachd: + .accesskey = o +calendar-notifications-customize-label = Gabhaidh na brathan a ghnàthachadh do gach mìosachan ann an uinneag roghainnean a’ mhìosachain +category-new-label = Roinn-seòrsa ùr +category-edit-label = Deasaich roinn +category-overwrite-title = Rabhadh: Ainm dùbailte +category-overwrite = Tha roinn ann mu thràth air a bheil an t-ainm sin. A bheil thu airson sgrìobhadh thairis air? +category-blank-warning = Feumaidh tu ainm airson na roinne a chur a-steach. diff --git a/thunderbird-l10n/gd/localization/gd/chat/matrix.ftl b/thunderbird-l10n/gd/localization/gd/chat/matrix.ftl new file mode 100644 index 0000000000000000000000000000000000000000..cc1b3421c72cf9c990c97b2554ab184e65282223 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/chat/matrix.ftl @@ -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/. + + +### Matrix Protocol strings + + +## Conversation names when a room has no user readable name. + +room-name-empty = Còmhradh bàn +# Variables: +# $oldName (String) - The previous name the conversation had before it was +# removed. +room-name-empty-had-name = Còmhradh bàn (’s e { $oldName } a bh’ air) +# Variables: +# $participant (String) - The name of one participant that isn't the user. +# $otherParticipantCount (Number) - The count of other participants apart from +# the user and $participant. +room-name-others2 = + { $otherParticipantCount -> + [one] { $participant } agus { $otherParticipantCount } eile + [two] { $participant } agus { $otherParticipantCount } eile + [few] { $participant } agus { $otherParticipantCount } eile + *[other] { $participant } agus { $otherParticipantCount } eile + } diff --git a/thunderbird-l10n/gd/localization/gd/crashreporter/aboutcrashes.ftl b/thunderbird-l10n/gd/localization/gd/crashreporter/aboutcrashes.ftl new file mode 100644 index 0000000000000000000000000000000000000000..24c5084a7dec32e41d8f5b076010721283eb0ca3 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/crashreporter/aboutcrashes.ftl @@ -0,0 +1,25 @@ +# 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/. + +crash-reports-title = Aithisgean tuislidh +submit-all-button-label = Cuir a-null na h-uile +delete-button-label = Falamhaich na h-uile +delete-confirm-title = A bheil thu cinnteach? +delete-unsubmitted-description = Sguabaidh seo às a h-uile aithisg air tuisleadh nach deach a chur is cha ghabh seo a neo-dhèanamh. +delete-submitted-description = Sguabaidh seo às liosta nan aithisgean air tuislidhean a chaidh a chur ach cha sguab e às an dàta a chaidh a chur. Cha ghabh seo a neo-dhèanamh. + +crashes-unsubmitted-label = Aithisgean air tuislidhean nach deach an cur +id-heading = ID na h-aithisge +date-crashed-heading = Ceann-là an tuislidh +submit-crash-button-label = Cuir +# This text is used to replace the label of the crash submit button +# if the crash submission fails. +submit-crash-button-failure-label = Dh’fhàillig e + +crashes-submitted-label = Aithisgean air tuislidhean coimpiutair a chaidh a chur +date-submitted-heading = Ceann-là a chaidh a chur +view-crash-button-label = Seall + +no-reports-label = Cha deach aithisg air tuisleadh a chur. +no-config-label = Cha deach an aplacaid seo a rèiteachadh gus aithisgean tuislidh a shealltainn. Feumaidh tu an roghainn <code>breakpad.reportURL</code> a shuidheachadh. diff --git a/thunderbird-l10n/gd/localization/gd/devtools/client/aboutdebugging.ftl b/thunderbird-l10n/gd/localization/gd/devtools/client/aboutdebugging.ftl new file mode 100644 index 0000000000000000000000000000000000000000..79542fe75b979c708c0aeb18f3568cb380ab64ed --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/devtools/client/aboutdebugging.ftl @@ -0,0 +1,407 @@ +# 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/. + + +### These strings are used inside the about:debugging UI. + + +# Page Title strings + +# Page title (ie tab title) for the Setup page +about-debugging-page-title-setup-page = Debugging - Setup + +# Page title (ie tab title) for the Runtime page +# Variables: +# $selectedRuntimeId - ID of the current runtime, such as "this-firefox", "localhost:6080", etc. +about-debugging-page-title-runtime-page = Debugging - Runtime / { $selectedRuntimeId } + +# Sidebar strings + +# 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 = This { -brand-shorter-name } + +# Sidebar heading for selecting the currently running instance of Firefox +about-debugging-sidebar-this-firefox = + .name = { about-debugging-this-firefox-runtime-name } + +# Sidebar heading for connecting to some remote source +about-debugging-sidebar-setup = + .name = Setup + +# Text displayed in the about:debugging sidebar when USB devices discovery is enabled. +about-debugging-sidebar-usb-enabled = USB enabled + +# 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 disabled + +# Connection status (connected) for runtime items in the sidebar +aboutdebugging-sidebar-runtime-connection-status-connected = Connected +# Connection status (disconnected) for runtime items in the sidebar +aboutdebugging-sidebar-runtime-connection-status-disconnected = Disconnected + +# Text displayed in the about:debugging sidebar when no device was found. +about-debugging-sidebar-no-devices = No devices discovered + +# 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 = Connect + +# Text displayed in buttons found in sidebar items when the runtime is connecting. +about-debugging-sidebar-item-connect-button-connecting = Connecting… + +# Text displayed in buttons found in sidebar items when the connection failed. +about-debugging-sidebar-item-connect-button-connection-failed = 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 = Connection still pending, check for messages on the target browser + +# Text displayed as connection error in sidebar item when the connection has timed out. +about-debugging-sidebar-item-connect-button-connection-timeout = Connection timed out + +# 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 = Waiting for browser… + +# Text displayed in sidebar items for remote devices that have been disconnected from the +# computer. +about-debugging-sidebar-runtime-item-unplugged = 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://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/) +about-debugging-sidebar-support = Debugging 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 = Help icon + +# 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 = Refresh devices + +# Setup Page strings + +# Title of the Setup page. +about-debugging-setup-title = Setup + +# Introduction text in the Setup page to explain how to configure remote debugging. +about-debugging-setup-intro = Configure the connection method you wish to remotely debug your device with. + +# Explanatory text in the Setup page about what the 'This Firefox' page is for +about-debugging-setup-this-firefox2 = Use <a>{ about-debugging-this-firefox-runtime-name }</a> to debug extensions and service workers on this version of { -brand-shorter-name }. + +# Title of the heading Connect section of the Setup page. +about-debugging-setup-connect-heading = Connect a Device + +# 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 = Enabling this will download and add the required Android USB debugging components to { -brand-shorter-name }. + +# 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 = Enable USB Devices + +# Text of the button displayed in the USB section of the setup page when USB debugging is enabled. +about-debugging-setup-usb-disable-button = Disable USB Devices + +# 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 = Updating… + +# USB section of the Setup page (USB status) +about-debugging-setup-usb-status-enabled = Enabled +about-debugging-setup-usb-status-disabled = Disabled +about-debugging-setup-usb-status-updating = Updating… + +# USB section step by step guide +about-debugging-setup-usb-step-enable-dev-menu2 = Enable Developer menu on your Android device. + +# USB section step by step guide +about-debugging-setup-usb-step-enable-debug2 = Enable USB Debugging in the Android Developer Menu. + +# USB section step by step guide +about-debugging-setup-usb-step-enable-debug-firefox2 = Enable USB Debugging in Firefox on the Android device. + +# USB section step by step guide +about-debugging-setup-usb-step-plug-device = Connect the Android device to your computer. + +# Text shown in the USB section of the setup page with a link to troubleshoot connection errors. +# 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 = Problems connecting to the USB device? <a>Troubleshoot</a> + +# Network section of the Setup page +about-debugging-setup-network = + .title = Network Location + +# Text shown in the Network section of the setup page with a link to troubleshoot connection errors. +# 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 = Problems connecting via network location? <a>Troubleshoot</a> + +# 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 = Add + +# Text to display when there are no locations to show. +about-debugging-network-locations-empty-text = No network locations have been added yet. + +# 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 = Host + +# 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 = Remove + +# 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 = Invalid host “{ $host-value }”. The expected format is “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 +about-debugging-network-location-form-duplicate = The host “{ $host-value }” is already registered + +# Runtime Page strings + +# 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). +about-debugging-runtime-temporary-extensions = + .name = Temporary Extensions +# Title of the extensions category. +about-debugging-runtime-extensions = + .name = Extensions +# Title of the tabs category. +about-debugging-runtime-tabs = + .name = Tabs +# Title of the service workers category. +about-debugging-runtime-service-workers = + .name = Service Workers +# Title of the shared workers category. +about-debugging-runtime-shared-workers = + .name = Shared Workers +# Title of the other workers category. +about-debugging-runtime-other-workers = + .name = Other Workers +# Title of the processes category. +about-debugging-runtime-processes = + .name = Processes + +# Label of the button opening the performance profiler panel in runtime pages for remote +# runtimes. +about-debugging-runtime-profile-button2 = Profile performance + +# 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: +# https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/index.html#service-workers-not-compatible +about-debugging-runtime-service-workers-not-compatible = Your browser configuration is not compatible with Service Workers. <a>Learn more</a> + +# This string is displayed in the runtime page if the remote browser version is too old. +# "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 = The connected browser has an old version ({ $runtimeVersion }). The minimum supported version is ({ $minVersion }). This is an unsupported setup and may cause DevTools to fail. Please update the connected browser. <a>Troubleshooting</a> + +# 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 = This version of Firefox cannot debug Firefox for Android (68). We recommend installing Firefox for Android Nightly on your phone for testing. <a>More details</a> + +# This string is displayed in the runtime page if the remote browser version is too recent. +# "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 = The connected browser is more recent ({ $runtimeVersion }, buildID { $runtimeID }) than your { -brand-shorter-name } ({ $localVersion }, buildID { $localID }). This is an unsupported setup and may cause DevTools to fail. Please update Firefox. <a>Troubleshooting</a> + +# 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 = Disconnect + +# Text of the connection prompt button displayed in Runtime pages, when the preference +# "devtools.debugger.prompt-connection" is false on the target runtime. +about-debugging-connection-prompt-enable-button = Enable connection prompt + +# Text of the connection prompt button displayed in Runtime pages, when the preference +# "devtools.debugger.prompt-connection" is true on the target runtime. +about-debugging-connection-prompt-disable-button = Disable connection prompt + +# Title of a modal dialog displayed on remote runtime pages after clicking on the Profile Runtime button. +about-debugging-profiler-dialog-title2 = Profiler + +# 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. +about-debugging-collapse-expand-debug-targets = Collapse / expand + +# Debug Targets strings + +# 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 = Nothing yet. + +# 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 = Inspect + +# 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 = Load Temporary Add-on… + +# Text displayed when trying to install a temporary extension in the "This Firefox" page. +about-debugging-tmp-extension-install-error = There was an error during the temporary add-on installation. + +# 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 = Reload + +# 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 = Remove + +# Text of a button displayed for a temporary extension loaded in the "This Firefox" page. +# Clicking on the button will forcefully terminate the extension background script (button +# only visible in extensions that includes a non-persistent background script, either an +# event page or a background service worker). +about-debugging-tmp-extension-terminate-bgscript-button = Terminate background script + +# 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 = Select manifest.json file or .xpi/.zip archive + +# This string is displayed as a message about the add-on having a temporaryID. +about-debugging-tmp-extension-temporary-id = This WebExtension has a temporary ID. <a>Learn more</a> + +# Text displayed for extensions in "runtime" pages, before displaying a link the extension's +# manifest URL. +about-debugging-extension-manifest-url = + .label = Manifest URL + +# Text displayed for extensions in "runtime" pages, before displaying the extension's uuid. +# UUIDs look like b293e463-481e-5148-a487-5aaf7a130429 +about-debugging-extension-uuid = + .label = Internal UUID + +# Text displayed for extensions (temporary extensions only) in "runtime" pages, before +# displaying the location of the temporary extension. +about-debugging-extension-location = + .label = Location + +# 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 = Extension ID + +# Text displayed for extensions in "runtime" pages, before displaying the status of the +# extension background script. +about-debugging-extension-backgroundscript = + .label = Background script + +# Displayed for extension using a non-persistent background page (either an event page or +# background service worker) when the background script is currently running. +about-debugging-extension-backgroundscript-status-running = A’ ruith + +# Displayed for extension using a non-persistent background page when is currently stopped. +about-debugging-extension-backgroundscript-status-stopped = Air stad + +# This string is displayed as a label of the button that pushes a test payload +# to a service worker. +# Note this relates to the "Push" API, which is normally not localized so it is +# probably better to not localize it. +about-debugging-worker-action-push2 = Push + .disabledTitle = Service Worker push is currently disabled for multiprocess { -brand-shorter-name } + +# This string is displayed as a label of the button that starts a service worker. +about-debugging-worker-action-start2 = Start + .disabledTitle = Service Worker start is currently disabled for multiprocess { -brand-shorter-name } + +# This string is displayed as a label of the button that unregisters a service worker. +about-debugging-worker-action-unregister = Unregister + +# Displayed for service workers in runtime pages that listen to Fetch events. +about-debugging-worker-fetch-listening = + .label = Fetch + .value = Listening for fetch events + +# Displayed for service workers in runtime pages that do not listen to Fetch events. +about-debugging-worker-fetch-not-listening = + .label = Fetch + .value = Not listening for fetch events + +# Displayed for service workers in runtime pages that are currently running (service +# worker instance is active). +about-debugging-worker-status-running = Running + +# Displayed for service workers in runtime pages that are registered but stopped. +about-debugging-worker-status-stopped = Stopped + +# Displayed for service workers in runtime pages that are registering. +about-debugging-worker-status-registering = Registering + +# Displayed for service workers in runtime pages, to label the scope of a worker +about-debugging-worker-scope = + .label = Scope + +# Displayed for service workers in runtime pages, to label the push service endpoint (url) +# of a worker +about-debugging-worker-push-service = + .label = Push Service + +# Displayed as title of the inspect button when service worker debugging is disabled. +about-debugging-worker-inspect-action-disabled = + .title = Service Worker inspection is currently disabled for multiprocess { -brand-shorter-name } + +# 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 = Tab is not fully loaded and cannot be inspected + +# 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 = Multiprocess Toolbox + +# Displayed as description for the Main Process debug target in the Processes category. +# Only for remote browsers, if `devtools.aboutdebugging.process-debugging` is true. +about-debugging-multiprocess-toolbox-description = Main Process and Content Processes for the target browser + +# Alt text used for the close icon of message component (warnings, errors and notifications). +about-debugging-message-close-icon = + .alt = Close message + +# Label text used for the error details of message component. +about-debugging-message-details-label-error = Error details + +# Label text used for the warning details of message component. +about-debugging-message-details-label-warning = Warning details + +# Label text used for default state of details of message component. +about-debugging-message-details-label = Details diff --git a/thunderbird-l10n/gd/localization/gd/devtools/client/accessibility.ftl b/thunderbird-l10n/gd/localization/gd/devtools/client/accessibility.ftl new file mode 100644 index 0000000000000000000000000000000000000000..557691c1cfe2376348e699ac2e3d0bc490a83a68 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/devtools/client/accessibility.ftl @@ -0,0 +1,101 @@ +# 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/. + + +### These strings are used inside the Accessibility panel. + +accessibility-learn-more = Learn more + +accessibility-text-label-header = Text Labels and Names + +accessibility-keyboard-header = Keyboard + +## Text entries that are used as text alternative for icons that depict accessibility isses. + + +## These strings are used in the overlay displayed when running an audit in the accessibility panel + +accessibility-progress-initializing = Initializing… + .aria-valuetext = Initializing… + +# This string is displayed in the audit progress bar in the accessibility panel. +# Variables: +# $nodeCount (Integer) - The number of nodes for which the audit was run so far. +accessibility-progress-progressbar = + { $nodeCount -> + [one] Checking { $nodeCount } node + [two] Checking { $nodeCount } nodes + [few] Checking { $nodeCount } nodes + *[other] Checking { $nodeCount } nodes + } + +accessibility-progress-finishing = Finishing up… + .aria-valuetext = Finishing up… + +## Text entries that are used as text alternative for icons that depict accessibility issues. + +accessibility-warning = + .alt = Warning + +accessibility-fail = + .alt = Error + +accessibility-best-practices = + .alt = Best Practices + +## Text entries for a paragraph used in the accessibility panel sidebar's checks section +## that describe that currently selected accessible object has an accessibility issue +## with its text label or accessible name. + +accessibility-text-label-issue-area = Use <code>alt</code> attribute to label <div>area</div> elements that have the <span>href</span> attribute. <a>Learn more</a> + +accessibility-text-label-issue-dialog = Dialogs should be labeled. <a>Learn more</a> + +accessibility-text-label-issue-document-title = Documents must have a <code>title</code>. <a>Learn more</a> + +accessibility-text-label-issue-embed = Embedded content must be labeled. <a>Learn more</a> + +accessibility-text-label-issue-figure = Figures with optional captions should be labeled. <a>Learn more</a> + +accessibility-text-label-issue-fieldset = <code>fieldset</code> elements must be labeled. <a>Learn more</a> + +accessibility-text-label-issue-fieldset-legend2 = Use a <code>legend</code> element to label a <span>fieldset</span>. <a>Learn more</a> + +accessibility-text-label-issue-form = Form elements must be labeled. <a>Learn more</a> + +accessibility-text-label-issue-form-visible = Form elements should have a visible text label. <a>Learn more</a> + +accessibility-text-label-issue-frame = <code>frame</code> elements must be labeled. <a>Learn more</a> + +accessibility-text-label-issue-glyph = Use <code>alt</code> attribute to label <span>mglyph</span> elements. <a>Learn more</a> + +accessibility-text-label-issue-heading = Headings must be labeled. <a>Learn more</a> + +accessibility-text-label-issue-heading-content = Headings should have visible text content. <a>Learn more</a> + +accessibility-text-label-issue-iframe = Use <code>title</code> attribute to describe <span>iframe</span> content. <a>Learn more</a> + +accessibility-text-label-issue-image = Content with images must be labeled. <a>Learn more</a> + +accessibility-text-label-issue-interactive = Interactive elements must be labeled. <a>Learn more</a> + +accessibility-text-label-issue-optgroup-label2 = Use a <code>label</code> attribute to label an <span>optgroup</span>. <a>Learn more</a> + +accessibility-text-label-issue-toolbar = Toolbars must be labeled when there is more than one toolbar. <a>Learn more</a> + +## Text entries for a paragraph used in the accessibility panel sidebar's checks section +## that describe that currently selected accessible object has a keyboard accessibility +## issue. + +accessibility-keyboard-issue-semantics = Focusable elements should have interactive semantics. <a>Learn more</a> + +accessibility-keyboard-issue-tabindex = Avoid using <code>tabindex</code> attribute greater than zero. <a>Learn more</a> + +accessibility-keyboard-issue-action = Interactive elements must be able to be activated using a keyboard. <a>Learn more</a> + +accessibility-keyboard-issue-focusable = Interactive elements must be focusable. <a>Learn more</a> + +accessibility-keyboard-issue-focus-visible = Focusable element may be missing focus styling. <a>Learn more</a> + +accessibility-keyboard-issue-mouse-only = Clickable elements must be focusable and should have interactive semantics. <a>Learn more</a> diff --git a/thunderbird-l10n/gd/localization/gd/devtools/client/application.ftl b/thunderbird-l10n/gd/localization/gd/devtools/client/application.ftl new file mode 100644 index 0000000000000000000000000000000000000000..0600c90c8777057168a5ef4ef178531e4c0d5ae5 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/devtools/client/application.ftl @@ -0,0 +1,153 @@ +# 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/. + + +### These strings are used inside the Application panel which is available +### by setting the preference `devtools-application-enabled` to true. + + +### 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. + +# Header for the list of Service Workers displayed in the application panel for the current page. +serviceworker-list-header = Service Workers + +# Text displayed next to the list of Service Workers to encourage users to check out +# about:debugging to see all registered Service Workers. +serviceworker-list-aboutdebugging = Open <a>about:debugging</a> for Service Workers from other domains + +# Text for the button to unregister a Service Worker. Displayed for active Service Workers. +serviceworker-worker-unregister = Unregister + +# Text for the debug link displayed for an already started Service Worker. Clicking on the +# link opens a new devtools toolbox for this service worker. The title attribute is only +# displayed when the link is disabled. +serviceworker-worker-debug = Debug + .title = Only running service workers can be debugged + +# Alt text for the image icon displayed inside a debug link for a service worker. +serviceworker-worker-inspect-icon = + .alt = Inspect + +# Text for the start link displayed for a registered but not running Service Worker. +# Clicking on the link will attempt to start the service worker. +serviceworker-worker-start3 = Start + +# Text displayed for the updated time of the service worker. The <time> element will +# display the last update time of the service worker script. +# Variables: +# $date (date) - Update date +serviceworker-worker-updated = Updated <time>{ DATETIME($date, month: "long", year: "numeric", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric") }</time> + +## Service Worker status strings: all serviceworker-worker-status-* strings are also +## defined in aboutdebugging.properties and should be synchronized with them. + +# Service Worker status. A running service worker is registered, currently executed, can +# be debugged and stopped. +serviceworker-worker-status-running = Running + +# Service Worker status. A stopped service worker is registered but not currently active. +serviceworker-worker-status-stopped = Stopped + +# Text displayed when no service workers are visible for the current page. +serviceworker-empty-intro2 = No service workers found + +# Link will open https://developer.mozilla.org/docs/Web/API/Service_Worker_API/Using_Service_Workers +serviceworker-empty-intro-link = Barrachd fiosrachaidh + +# Text displayed when there are no Service Workers to display for the current page, +# introducing hints to debug Service Worker issues. +# <a> and <span> are links that will open the webconsole and the debugger, respectively. +serviceworker-empty-suggestions2 = If the current page should have a service worker, you could look for errors in the <a>Console</a> or step through your service worker registration in the <span>Debugger</span>. + +# Suggestion to go to about:debugging in order to see Service Workers for all domains. +# Link will open about:debugging in a new tab. +serviceworker-empty-suggestions-aboutdebugging2 = View service workers from other domains + +# Header for the Manifest page when we have an actual manifest +manifest-view-header = App Manifest + +# Header for the Manifest page when there's no manifest to inspect +manifest-empty-intro2 = No web app manifest detected + +# The link will open https://developer.mozilla.org/en-US/docs/Web/Manifest +manifest-empty-intro-link = Learn how to add a manifest + +# Header for the Errors and Warnings section of Manifest inspection displayed in the application panel. +manifest-item-warnings = Errors and Warnings + +# Header for the Identity section of Manifest inspection displayed in the application panel. +manifest-item-identity = Identity + +# Header for the Presentation section of Manifest inspection displayed in the application panel. +manifest-item-presentation = Presentation + +# Header for the Icon section of Manifest inspection displayed in the application panel. +manifest-item-icons = Icons + +# Text displayed while we are loading the manifest file +manifest-loading = Loading manifest… + +# Text displayed when the manifest has been successfully loaded +manifest-loaded-ok = Manifest loaded. + +# Text displayed as a caption when there has been an error while trying to +# load the manifest +manifest-loaded-error = There was an error while loading the manifest: + +# Text displayed as an error when there has been a Firefox DevTools error while +# trying to load the manifest +manifest-loaded-devtools-error = Firefox DevTools error + +# Text displayed when the page has no manifest available +manifest-non-existing = No manifest found to inspect. + +# Text displayed when the page has a manifest embedded in a Data URL and +# thus we cannot link to it. +manifest-json-link-data-url = The manifest is embedded in a Data URL. + +# Text displayed at manifest icons to label their purpose, as declared +# in the manifest. +# Variables: +# $purpose (string) - Manifest purpose +manifest-icon-purpose = Purpose: <code>{ $purpose }</code> + +# Text displayed as the alt attribute for <img> tags showing the icons in the +# manifest. +manifest-icon-img = + .alt = Icon + +# Text displayed as the title attribute for <img> tags showing the icons in the +# manifest. +# Variables: +# $sizes (string) - User-dependent string that has been parsed as a +# space-separated list of `<width>x<height>` sizes or +# the keyword `any`. +manifest-icon-img-title = Icon with sizes: { $sizes } + +# Text displayed as the title attribute for <img> tags showing the icons in the +# manifest, in case there's no icon size specified by the user +manifest-icon-img-title-no-sizes = Unspecified size icon + +# Sidebar navigation item for Manifest sidebar item section +sidebar-item-manifest = Manifest + .alt = Manifest Icon + .title = Manifest + +# Sidebar navigation item for Service Workers sidebar item section +sidebar-item-service-workers = Service Workers + .alt = Service Workers Icon + .title = Service Workers + +# Text for the ALT and TITLE attributes of the warning icon +icon-warning = + .alt = Warning icon + .title = Warning + +# Text for the ALT and TITLE attributes of the error icon +icon-error = + .alt = Error icon + .title = Error diff --git a/thunderbird-l10n/gd/localization/gd/devtools/client/compatibility.ftl b/thunderbird-l10n/gd/localization/gd/devtools/client/compatibility.ftl new file mode 100644 index 0000000000000000000000000000000000000000..eadee42dacf15d49ee7d024df8e1a0c8ad31808f --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/devtools/client/compatibility.ftl @@ -0,0 +1,58 @@ +# 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/. + + +## Messages used as headers in the main pane + +compatibility-selected-element-header = Selected Element +compatibility-all-elements-header = All Issues + +## Message used as labels for the type of issue + +compatibility-issue-deprecated = (deprecated) +compatibility-issue-experimental = (experimental) +compatibility-issue-prefixneeded = (prefix needed) +compatibility-issue-deprecated-experimental = (deprecated, experimental) +compatibility-issue-deprecated-prefixneeded = (deprecated, prefix needed) +compatibility-issue-experimental-prefixneeded = (experimental, prefix needed) +compatibility-issue-deprecated-experimental-prefixneeded = (deprecated, experimental, prefix needed) + +## Messages used as labels and titles for buttons in the footer + +compatibility-settings-button-label = Settings +compatibility-settings-button-title = + .title = Settings + +## Messages used as headers in settings pane + +compatibility-settings-header = Settings +compatibility-target-browsers-header = Target Browsers + +## + +# Text used as the label for the number of nodes where the issue occurred +# Variables: +# $number (Number) - The number of nodes where the issue occurred +compatibility-issue-occurrences = + { $number -> + [one] + { $number } occurrence + { $number } occurrence + [two] { $number } occurrences + [few] { $number } occurrences + *[other] { $number } occurrences + } + +compatibility-no-issues-found = No compatibility issues found. +compatibility-close-settings-button = + .title = Close settings + +# Text used in the element containing the browser icons for a given compatibility issue. +# Line breaks are significant. +# Variables: +# $browsers (String) - A line-separated list of browser information (e.g. Firefox 98\nChrome 99). +compatibility-issue-browsers-list = + .title = + Compatibility issues in: + { $browsers } diff --git a/thunderbird-l10n/gd/localization/gd/devtools/client/perftools.ftl b/thunderbird-l10n/gd/localization/gd/devtools/client/perftools.ftl new file mode 100644 index 0000000000000000000000000000000000000000..669557deb272a304873f2343fc60b2c4b8b8fe0a --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/devtools/client/perftools.ftl @@ -0,0 +1,162 @@ +# 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/. + + +### These strings are used in DevTools’ performance-new panel, about:profiling, and +### the remote profiling panel. There are additional profiler strings in the appmenu.ftl +### file that are used for the profiler popup. + +perftools-intro-title = Profiler Settings +perftools-intro-description = + Recordings launch profiler.firefox.com in a new tab. All data is stored + locally, but you can choose to upload it for sharing. + +## All of the headings for the various sections. + +perftools-heading-settings = Full Settings +perftools-heading-buffer = Buffer Settings +perftools-heading-features = Features +perftools-heading-features-default = Features (Recommended on by default) +perftools-heading-features-disabled = Disabled Features +perftools-heading-features-experimental = Experimental +perftools-heading-threads = Threads +perftools-heading-threads-jvm = JVM Threads +perftools-heading-local-build = Local build + +## + +perftools-description-intro = + Recordings launch <a>profiler.firefox.com</a> in a new tab. All data is stored + locally, but you can choose to upload it for sharing. +perftools-description-local-build = + If you’re profiling a build that you have compiled yourself, on this + machine, please add your build’s objdir to the list below so that + it can be used to look up symbol information. + +## The controls for the interval at which the profiler samples the code. + +perftools-range-interval-label = Sampling interval: +perftools-range-interval-milliseconds = { NUMBER($interval, maxFractionalUnits: 2) } ms + +## + +# The size of the memory buffer used to store things in the profiler. +perftools-range-entries-label = Buffer size: + +perftools-custom-threads-label = Add custom threads by name: + +perftools-devtools-interval-label = Interval: +perftools-devtools-threads-label = Threads: +perftools-devtools-settings-label = Settings + +## Various statuses that affect the current state of profiling, not typically displayed. + +perftools-status-recording-stopped-by-another-tool = The recording was stopped by another tool. +perftools-status-restart-required = The browser must be restarted to enable this feature. + +## These are shown briefly when the user is waiting for the profiler to respond. + +perftools-request-to-stop-profiler = Stopping recording +perftools-request-to-get-profile-and-stop-profiler = Capturing profile + +## + +perftools-button-start-recording = Start recording +perftools-button-capture-recording = Capture recording +perftools-button-cancel-recording = Cancel recording +perftools-button-save-settings = Save settings and go back +perftools-button-restart = Restart +perftools-button-add-directory = Add a directory +perftools-button-remove-directory = Remove selected +perftools-button-edit-settings = Edit Settings… + +## These messages are descriptions of the threads that can be enabled for the profiler. + +perftools-thread-gecko-main = + .title = The main processes for both the parent process, and content processes +perftools-thread-compositor = + .title = Composites together different painted elements on the page +perftools-thread-dom-worker = + .title = This handles both web workers and service workers +perftools-thread-renderer = + .title = When WebRender is enabled, the thread that executes OpenGL calls +perftools-thread-render-backend = + .title = The WebRender RenderBackend thread +perftools-thread-timer = + .title = The thread handling timers (setTimeout, setInterval, nsITimer) +perftools-thread-style-thread = + .title = Style computation is split into multiple threads +pref-thread-stream-trans = + .title = Network stream transport +perftools-thread-socket-thread = + .title = The thread where networking code runs any blocking socket calls +perftools-thread-img-decoder = + .title = Image decoding threads +perftools-thread-dns-resolver = + .title = DNS resolution happens on this thread +perftools-thread-task-controller = + .title = TaskController thread pool threads +perftools-thread-jvm-gecko = + .title = The main Gecko JVM thread +perftools-thread-jvm-nimbus = + .title = The main threads for the Nimbus experiments SDK +perftools-thread-jvm-default-dispatcher = + .title = The Default dispatcher for the Kotlin coroutines library +perftools-thread-jvm-glean = + .title = The main threads for the Glean telemetry SDK +perftools-thread-jvm-arch-disk-io = + .title = The IO dispatcher for the Kotlin coroutines library +perftools-thread-jvm-pool = + .title = Threads created in an unnamed thread pool + +## + +perftools-record-all-registered-threads = Bypass selections above and record all registered threads + +perftools-tools-threads-input-label = + .title = These thread names are a comma separated list that is used to enable profiling of the threads in the profiler. The name needs to be only a partial match of the thread name to be included. It is whitespace sensitive. + +## Onboarding UI labels. These labels are displayed in the new performance panel UI, when +## devtools.performance.new-panel-onboarding preference is true. + +perftools-onboarding-message = <b>New</b>: { -profiler-brand-name } is now integrated into Developer Tools. <a>Learn more</a> about this powerful new tool. + +perftools-onboarding-close-button = + .aria-label = Close the onboarding message + +## Profiler presets + + +# Presets and their l10n IDs are defined in the file +# devtools/client/performance-new/popup/background.jsm.js +# The same labels and descriptions are also defined in appmenu.ftl. + + +# Presets and their l10n IDs are defined in the file +# devtools/client/performance-new/shared/background.jsm.js +# The same labels and descriptions are also defined in appmenu.ftl. + +perftools-presets-web-developer-label = Web Developer +perftools-presets-web-developer-description = Recommended preset for most web app debugging, with low overhead. + +perftools-presets-firefox-label = { -brand-shorter-name } +perftools-presets-firefox-description = Recommended preset for profiling { -brand-shorter-name }. + +perftools-presets-graphics-label = Graphics +perftools-presets-graphics-description = Preset for investigating graphics bugs in { -brand-shorter-name }. + +perftools-presets-media-label = Media +perftools-presets-media-description2 = Preset for investigating audio and video bugs in { -brand-shorter-name }. + +perftools-presets-networking-label = Networking +perftools-presets-networking-description = Preset for investigating networking bugs in { -brand-shorter-name }. + +# "Power" is used in the sense of energy (electricity used by the computer). +perftools-presets-power-label = Power +perftools-presets-power-description = Preset for investigating power use bugs in { -brand-shorter-name }, with low overhead. + +perftools-presets-custom-label = Custom + +## + diff --git a/thunderbird-l10n/gd/localization/gd/devtools/client/storage.ftl b/thunderbird-l10n/gd/localization/gd/devtools/client/storage.ftl new file mode 100644 index 0000000000000000000000000000000000000000..9d769b197e49435b829b157f8e41ea80461e43c4 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/devtools/client/storage.ftl @@ -0,0 +1,132 @@ +# 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/. + + +### These strings are used inside the Storage Inspector. + +# Key shortcut used to focus the filter box on top of the data view +storage-filter-key = CmdOrCtrl+F + +# Hint shown when the selected storage host does not contain any data +storage-table-empty-text = No data present for selected host + +# Hint shown when the cookies storage type is selected. Clicking the link will open +# https://firefox-source-docs.mozilla.org/devtools-user/storage_inspector/cookies/ +storage-table-type-cookies-hint = View and edit cookies by selecting a host. <a data-l10n-name="learn-more-link">Learn more</a> + +# Hint shown when the local storage type is selected. Clicking the link will open +# https://firefox-source-docs.mozilla.org/devtools-user/storage_inspector/local_storage_session_storage/ +storage-table-type-localstorage-hint = View and edit the local storage by selecting a host. <a data-l10n-name="learn-more-link">Learn more</a> + +# Hint shown when the session storage type is selected. Clicking the link will open +# https://firefox-source-docs.mozilla.org/devtools-user/storage_inspector/local_storage_session_storage/ +storage-table-type-sessionstorage-hint = View and edit the session storage by selecting a host. <a data-l10n-name="learn-more-link">Learn more</a> + +# Hint shown when the IndexedDB storage type is selected. Clicking the link will open +# https://firefox-source-docs.mozilla.org/devtools-user/storage_inspector/indexeddb/ +storage-table-type-indexeddb-hint = View and delete IndexedDB entries by selecting a database. <a data-l10n-name="learn-more-link">Learn more</a> + +# Hint shown when the cache storage type is selected. Clicking the link will open +# https://firefox-source-docs.mozilla.org/devtools-user/storage_inspector/cache_storage/ +storage-table-type-cache-hint = View and delete the cache storage entries by selecting a storage. <a data-l10n-name="learn-more-link">Learn more</a> + +# Hint shown when the extension storage type is selected. Clicking the link will open +# https://firefox-source-docs.mozilla.org/devtools-user/storage_inspector/extension_storage/ +storage-table-type-extensionstorage-hint = View and edit the extension storage by selecting a host. <a data-l10n-name="learn-more-link">Learn more</a> + +# Placeholder for the searchbox that allows you to filter the table items +storage-search-box = + .placeholder = Filter items + +# Placeholder text in the sidebar search box +storage-variable-view-search-box = + .placeholder = Filter values + +# Add Item button title +storage-add-button = + .title = Add Item + +# Refresh button title +storage-refresh-button = + .title = Refresh Items + +# Context menu action to delete all storage items +storage-context-menu-delete-all = + .label = Delete All + +# Context menu action to delete all session cookies +storage-context-menu-delete-all-session-cookies = + .label = Delete All Session Cookies + +# Context menu action to copy a storage item +storage-context-menu-copy = + .label = Copy + +# Context menu action to delete storage item +# Variables: +# $itemName (String) - Name of the storage item that will be deleted +storage-context-menu-delete = + .label = Delete “{ $itemName }” + +# Context menu action to add an item +storage-context-menu-add-item = + .label = Add Item + +# Context menu action to delete all storage items from a given host +# Variables: +# $host (String) - Host for which we want to delete the items +storage-context-menu-delete-all-from = + .label = Delete All From “{ $host }” + +## Header names of the columns in the Storage Table for each type of storage available +## through the Storage Tree to the side. + +storage-table-headers-cookies-name = Ainm +storage-table-headers-cookies-value = Value +storage-table-headers-cookies-expires = Expires / Max-Age +storage-table-headers-cookies-size = Size +storage-table-headers-cookies-last-accessed = Last Accessed +storage-table-headers-cookies-creation-time = Created +storage-table-headers-cache-status = Status +storage-table-headers-extension-storage-area = Storage Area + +## Labels for Storage type groups present in the Storage Tree, like cookies, local storage etc. + +storage-tree-labels-cookies = Briosgaidean +storage-tree-labels-local-storage = Local Storage +storage-tree-labels-session-storage = Session Storage +storage-tree-labels-indexed-db = Indexed DB +storage-tree-labels-cache = Cache Storage +storage-tree-labels-extension-storage = Extension Storage + +## + +# Tooltip for the button that collapses the right panel in the +# storage UI when the panel is closed. +storage-expand-pane = + .title = Expand Pane + +# Tooltip for the button that collapses the right panel in the +# storage UI when the panel is open. +storage-collapse-pane = + .title = Collapse Pane + +# String displayed in the expires column when the cookie is a Session Cookie +storage-expires-session = Session + +# Heading displayed over the item value in the sidebar +storage-data = Dàta + +# Heading displayed over the item parsed value in the sidebar +storage-parsed-value = Parsed Value + +# Warning notification when IndexedDB database could not be deleted immediately. +# Variables: +# $dbName (String) - Name of the database +storage-idb-delete-blocked = Database “{ $dbName }” will be deleted after all connections are closed. + +# Error notification when IndexedDB database could not be deleted. +# Variables: +# $dbName (String) - Name of the database +storage-idb-delete-error = Database “{ $dbName }” could not be deleted. diff --git a/thunderbird-l10n/gd/localization/gd/devtools/client/styleeditor.ftl b/thunderbird-l10n/gd/localization/gd/devtools/client/styleeditor.ftl new file mode 100644 index 0000000000000000000000000000000000000000..453cc3075b62cfc80740d3621956ea05a0c0740c --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/devtools/client/styleeditor.ftl @@ -0,0 +1,53 @@ +# 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/. + +styleeditor-new-button = + .tooltiptext = Cruthaich siota-stoidhle ùr is cuir ris an sgrìobhainn e + .accesskey = r +styleeditor-import-button = + .tooltiptext = Ion-phortaich siota-stoidhle a tha ann mu thràth agus cur ris an sgrìobhainn e + .accesskey = I +styleeditor-filter-input = + .placeholder = Filter style sheets +styleeditor-visibility-toggle = + .tooltiptext = Toglaich so-fhaicsinneachd an t-siota-stoidhle + .accesskey = S +styleeditor-visibility-toggle-system = + .tooltiptext = System style sheets can’t be disabled +styleeditor-save-button = Sàbhail + .tooltiptext = Sàbhail an siota-stoidhle seo mar fhaidhle + .accesskey = S +styleeditor-options-button = + .tooltiptext = Style Editor options +styleeditor-at-rules = At-rules +styleeditor-editor-textbox = + .data-placeholder = Cuir CSS an-seo. +styleeditor-no-stylesheet = Chan eil siota-stoidhle aig an duilleag seo. +styleeditor-no-stylesheet-tip = Saoil am bu toigh leat <a data-l10n-name="append-new-stylesheet">siota-stoidhle ùr a chur ris</a>? +styleeditor-open-link-new-tab = + .label = Open Link in New Tab +styleeditor-copy-url = + .label = Copy URL +styleeditor-find = + .label = Lorg + .accesskey = L +styleeditor-find-again = + .label = Lorg a-rithist + .accesskey = g +styleeditor-go-to-line = + .label = Thoir leum gu loidhne… + .accesskey = T +# Label displayed when searching a term that is not found in any stylesheet path +styleeditor-stylesheet-all-filtered = No matching style sheet has been found. + +# This string is shown in the style sheets list +# Variables: +# $ruleCount (Integer) - The number of rules in the stylesheet. +styleeditor-stylesheet-rule-count = + { $ruleCount -> + [one] { $ruleCount } riaghailt + [two] { $ruleCount } riaghailt + [few] { $ruleCount } riaghailtean + *[other] { $ruleCount } riaghailt. + } diff --git a/thunderbird-l10n/gd/localization/gd/devtools/client/toolbox-options.ftl b/thunderbird-l10n/gd/localization/gd/devtools/client/toolbox-options.ftl new file mode 100644 index 0000000000000000000000000000000000000000..8f1dc3d634e518f88d6377e29510aea5c55d7120 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/devtools/client/toolbox-options.ftl @@ -0,0 +1,149 @@ +# 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/. + + +### Localization for Developer Tools options + + +## Default Developer Tools section + +# The heading +options-select-default-tools-label = Default Developer Tools + +# 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 = * Not supported for current toolbox target + +# 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 = Developer Tools installed by add-ons + +# The label for the heading of group of checkboxes corresponding to the default developer +# tool buttons. +options-select-enabled-toolbox-buttons-label = Available Toolbox Buttons + +# The label for the heading of the radiobox corresponding to the theme +options-select-dev-tools-theme-label = Ùrlaran + +## Inspector section + +# The heading +options-context-inspector = Sgrùdaichear + +# The label for the checkbox option to show user agent styles +options-show-user-agent-styles-label = Show Browser Styles +options-show-user-agent-styles-tooltip = + .title = Turning this on will show default styles that are loaded by the browser. + +# The label for the checkbox option to enable collapse attributes +options-collapse-attrs-label = Truncate DOM attributes +options-collapse-attrs-tooltip = + .title = Truncate long attributes in the inspector + +# The label for the checkbox option to enable the "drag to update" feature +options-inspector-draggable-properties-label = Click and drag to edit size values +options-inspector-draggable-properties-tooltip = + .title = Click and drag to edit size values in the inspector rules view. + +# 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 = Use simpler highlighters with prefers-reduced-motion +options-inspector-simplified-highlighters-tooltip = + .title = Enables simplified highlighters when prefers-reduced-motion is enabled. Draws lines instead of filled rectangles around highlighted elements to avoid flashing effects. + +## "Default Color Unit" options for the Inspector + +options-default-color-unit-label = Default color unit +options-default-color-unit-authored = As Authored +options-default-color-unit-hex = Hex +options-default-color-unit-hsl = HSL(A) +options-default-color-unit-rgb = RGB(A) +options-default-color-unit-hwb = HWB +options-default-color-unit-name = Color Names + +## Style Editor section + +# The heading +options-styleeditor-label = An deasaiche stoidhle + +# The label for the checkbox that toggles autocompletion of css in the Style Editor +options-stylesheet-autocompletion-label = Autocomplete CSS +options-stylesheet-autocompletion-tooltip = + .title = Autocomplete CSS properties, values and selectors in Style Editor as you type + +## Screenshot section + +# The heading +options-screenshot-label = Screenshot Behavior + +# Label for the checkbox that toggles screenshot to clipboard feature +options-screenshot-clipboard-only-label = Screenshot to clipboard only +options-screenshot-clipboard-tooltip2 = + .title = Saves the screenshot directly to the clipboard + +# Label for the checkbox that toggles the camera shutter audio for screenshot tool +options-screenshot-audio-label = Play camera shutter sound +options-screenshot-audio-tooltip = + .title = Enables the camera audio sound when taking screenshot + +## Editor section + +# The heading +options-sourceeditor-label = Editor Preferences + +options-sourceeditor-detectindentation-tooltip = + .title = Guess indentation based on source content +options-sourceeditor-detectindentation-label = Detect indentation +options-sourceeditor-autoclosebrackets-tooltip = + .title = Automatically insert closing brackets +options-sourceeditor-autoclosebrackets-label = Autoclose brackets +options-sourceeditor-expandtab-tooltip = + .title = Use spaces instead of the tab character +options-sourceeditor-expandtab-label = Indent using spaces +options-sourceeditor-tabsize-label = Tab size +options-sourceeditor-keybinding-label = Keybindings +options-sourceeditor-keybinding-default-label = Bunaiteach + +## Advanced section + +# The heading (this item is also used in perftools.ftl) +options-context-advanced-settings = Advanced settings + +# The label for the checkbox that toggles the HTTP cache on or off +options-disable-http-cache-label = Disable HTTP Cache (when toolbox is open) +options-disable-http-cache-tooltip = + .title = Turning this option on will disable the HTTP cache for all tabs that have the toolbox open. Service Workers are not affected by this option. + +# The label for checkbox that toggles JavaScript on or off +options-disable-javascript-label = Disable JavaScript * +options-disable-javascript-tooltip = + .title = Turning this option on will disable JavaScript for the current tab. If the tab or the toolbox is closed then this setting will be forgotten. + +# The label for checkbox that toggles chrome debugging, i.e. the devtools.chrome.enabled preference +options-enable-chrome-label = Enable browser chrome and add-on debugging toolboxes +options-enable-chrome-tooltip = + .title = Turning this option on will allow you to use various developer tools in browser context (via Tools > Web Developer > Browser Toolbox) and debug add-ons from the Add-ons Manager + +# The label for checkbox that toggles remote debugging, i.e. the devtools.debugger.remote-enabled preference +options-enable-remote-label = Enable remote debugging +options-enable-remote-tooltip2 = + .title = Turning this option on will allow to debug this browser instance remotely + +# The label for checkbox that toggles custom formatters for objects +options-enable-custom-formatters-label = Enable custom formatters +options-enable-custom-formatters-tooltip = + .title = Turning this option on will allow sites to define custom formatters for DOM objects + +# The label for checkbox that toggles the service workers testing over HTTP on or off. +options-enable-service-workers-http-label = Enable Service Workers over HTTP (when toolbox is open) +options-enable-service-workers-http-tooltip = + .title = Turning this option on will enable the service workers over HTTP for all tabs that have the toolbox open. + +# The label for the checkbox that toggles source maps in all tools. +options-source-maps-label = Enable Source Maps +options-source-maps-tooltip = + .title = If you enable this option sources will be mapped in the tools. + +# The message shown for settings that trigger page reload +options-context-triggers-page-refresh = * Current session only, reloads the page diff --git a/thunderbird-l10n/gd/localization/gd/devtools/client/toolbox.ftl b/thunderbird-l10n/gd/localization/gd/devtools/client/toolbox.ftl new file mode 100644 index 0000000000000000000000000000000000000000..009d11c56f523b28e3cbfb4428fbb366456cb556 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/devtools/client/toolbox.ftl @@ -0,0 +1,55 @@ +# 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/. + + +### These messages are used in the DevTools toolbox. + + +## These labels are shown in the "..." menu in the toolbox, and represent different +## commands such as the docking of DevTools, toggling features, and viewing some +## external links. Some of the commands have the keyboard shortcut shown next to +## the label. + +toolbox-meatball-menu-dock-bottom-label = Dock to bottom +toolbox-meatball-menu-dock-left-label = Dock to left +toolbox-meatball-menu-dock-right-label = Dock to right +toolbox-meatball-menu-dock-separate-window-label = Separate window + +toolbox-meatball-menu-splitconsole-label = Show split console +toolbox-meatball-menu-hideconsole-label = Hide split console + +toolbox-meatball-menu-settings-label = Settings +toolbox-meatball-menu-documentation-label = Documentation… +toolbox-meatball-menu-community-label = Community… + +# This menu item is only available in the browser toolbox. It forces the popups/panels +# to stay visible on blur, which is primarily useful for addon developers and Firefox +# contributors. +toolbox-meatball-menu-noautohide-label = Disable popup auto-hide + +toolbox-meatball-menu-pseudo-locale-accented = Enable “accented” locale +toolbox-meatball-menu-pseudo-locale-bidi = Enable “bidi” locale + +## + + +## These labels are shown in the top-toolbar in the Browser Toolbox and Browser Console + +toolbox-mode-browser-toolbox-label = Browser Toolbox Mode +toolbox-mode-browser-console-label = Browser Console Mode + +toolbox-mode-everything-label = Multiprocess +toolbox-mode-everything-sub-label = (Slower) +toolbox-mode-everything-container = + .title = Debug everything in all processes + +toolbox-mode-parent-process-label = Parent process only +toolbox-mode-parent-process-sub-label = (Fast) +toolbox-mode-parent-process-container = + .title = Only focus on resources from the parent process. + +toolbox-always-on-top-enabled2 = Disable always on top + .title = This will restart the Developer Tools +toolbox-always-on-top-disabled2 = Enable always on top + .title = This will restart the Developer Tools diff --git a/thunderbird-l10n/gd/localization/gd/devtools/client/tooltips.ftl b/thunderbird-l10n/gd/localization/gd/devtools/client/tooltips.ftl new file mode 100644 index 0000000000000000000000000000000000000000..e1b13aa3a71a6c644bd0ec1f5c0be1c6fa4e5e02 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/devtools/client/tooltips.ftl @@ -0,0 +1,118 @@ +# 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/. + + +### Localization for Developer Tools tooltips. + +learn-more = <span data-l10n-name="link">Learn more</span> + +## 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 why +## the property is not applied. +## Variables: +## $property (string) - A CSS property name e.g. "color". +## $display (string) - A CSS display value e.g. "inline-block". + +inactive-css-not-grid-or-flex-container = <strong>{ $property }</strong> has no effect on this element since it’s neither a flex container nor a grid container. + +inactive-css-not-grid-or-flex-container-or-multicol-container = <strong>{ $property }</strong> has no effect on this element since it’s not a flex container, a grid container, or a multi-column container. + +inactive-css-not-grid-or-flex-item = <strong>{ $property }</strong> has no effect on this element since it’s not a grid or flex item. + +inactive-css-not-grid-item = <strong>{ $property }</strong> has no effect on this element since it’s not a grid item. + +inactive-css-not-grid-container = <strong>{ $property }</strong> has no effect on this element since it’s not a grid container. + +inactive-css-not-flex-item = <strong>{ $property }</strong> has no effect on this element since it’s not a flex item. + +inactive-css-not-flex-container = <strong>{ $property }</strong> has no effect on this element since it’s not a flex container. + +inactive-css-not-inline-or-tablecell = <strong>{ $property }</strong> has no effect on this element since it’s not an inline or table-cell element. + +inactive-css-property-because-of-display = <strong>{ $property }</strong> has no effect on this element since it has a display of <strong>{ $display }</strong>. + +inactive-css-not-display-block-on-floated = The <strong>display</strong> value has been changed by the engine to <strong>block</strong> because the element is <strong>floated</strong>. + +inactive-css-property-is-impossible-to-override-in-visited = It’s impossible to override <strong>{ $property }</strong> due to <strong>:visited</strong> restriction. + +inactive-css-position-property-on-unpositioned-box = <strong>{ $property }</strong> has no effect on this element since it’s not a positioned element. + +inactive-text-overflow-when-no-overflow = <strong>{ $property }</strong> has no effect on this element since <strong>overflow:hidden</strong> is not set. + +inactive-css-not-for-internal-table-elements = <strong>{ $property }</strong> has no effect on internal table elements. + +inactive-css-not-for-internal-table-elements-except-table-cells = <strong>{ $property }</strong> has no effect on internal table elements except table cells. + +inactive-css-not-table = <strong>{ $property }</strong> has no effect on this element since it’s not a table. + +inactive-scroll-padding-when-not-scroll-container = <strong>{ $property }</strong> has no effect on this element since it doesn’t scroll. + +inactive-css-border-image = <strong>{ $property }</strong> has no effect on this element since it cannot be applied to internal table elements where <strong>border-collapse</strong> is set to <strong>collapse</strong> on the parent table element. + +inactive-css-ruby-element = <strong>{ $property }</strong> has no effect on this element since it is a ruby element. Its size is determined by the font size of the ruby text. + +## 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-not-grid-or-flex-container-fix = Try adding <strong>display:grid</strong> or <strong>display:flex</strong>. { learn-more } + +inactive-css-not-grid-or-flex-container-or-multicol-container-fix = Try adding either <strong>display:grid</strong>, <strong>display:flex</strong>, or <strong>columns:2</strong>. { learn-more } + +inactive-css-not-grid-or-flex-item-fix-3 = Try adding <strong>display:grid</strong>, <strong>display:flex</strong>, <strong>display:inline-grid</strong>, or <strong>display:inline-flex</strong> to the element’s parent. { learn-more } + +inactive-css-not-grid-item-fix-2 = Try adding <strong>display:grid</strong> or <strong>display:inline-grid</strong> to the element’s parent. { learn-more } + +inactive-css-not-grid-container-fix = Try adding <strong>display:grid</strong> or <strong>display:inline-grid</strong>. { learn-more } + +inactive-css-not-flex-item-fix-2 = Try adding <strong>display:flex</strong> or <strong>display:inline-flex</strong> to the element’s parent. { learn-more } + +inactive-css-not-flex-container-fix = Try adding <strong>display:flex</strong> or <strong>display:inline-flex</strong>. { learn-more } + +inactive-css-not-inline-or-tablecell-fix = Try adding <strong>display:inline</strong> or <strong>display:table-cell</strong>. { learn-more } + +inactive-css-non-replaced-inline-or-table-row-or-row-group-fix = Try adding <strong>display:inline-block</strong> or <strong>display:block</strong>. { learn-more } + +inactive-css-non-replaced-inline-or-table-column-or-column-group-fix = Try adding <strong>display:inline-block</strong>. { learn-more } + +inactive-css-not-display-block-on-floated-fix = Try removing <strong>float</strong> or adding <strong>display:block</strong>. { learn-more } + +inactive-css-position-property-on-unpositioned-box-fix = Try setting its <strong>position</strong> property to something other than <strong>static</strong>. { learn-more } + +inactive-text-overflow-when-no-overflow-fix = Try adding <strong>overflow:hidden</strong>. { learn-more } + +inactive-css-not-for-internal-table-elements-fix = Try setting its <strong>display</strong> property to something else than <strong>table-cell</strong>, <strong>table-column</strong>, <strong>table-row</strong>, <strong>table-column-group</strong>, <strong>table-row-group</strong>, or <strong>table-footer-group</strong>. { learn-more } + +inactive-css-not-for-internal-table-elements-except-table-cells-fix = Try setting its <strong>display</strong> property to something else than <strong>table-column</strong>, <strong>table-row</strong>, <strong>table-column-group</strong>, <strong>table-row-group</strong>, or <strong>table-footer-group</strong>. { learn-more } + +inactive-css-not-table-fix = Try adding <strong>display:table</strong> or <strong>display:inline-table</strong>. { learn-more } + +inactive-scroll-padding-when-not-scroll-container-fix = Try adding <strong>overflow:auto</strong>, <strong>overflow:scroll</strong>, or <strong>overflow:hidden</strong>. { learn-more } + +inactive-css-border-image-fix = On the parent table element, remove the property or change the value of <strong>border-collapse</strong> to a value other than <strong>collapse</strong>. { learn-more } + +inactive-css-ruby-element-fix = Try changing the <strong>font-size</strong> of the ruby text. { learn-more } + +## In the Rule View when a CSS property may have compatibility issues with other browsers +## we display an icon. When this icon is hovered this message is displayed to explain why +## the property is incompatible and the platforms it is incompatible on. +## Variables: +## $property (string) - A CSS declaration name e.g. "-moz-user-select" that can be a platform specific alias. +## $rootProperty (string) - A raw CSS property name e.g. "user-select" that is not a platform specific alias. + +css-compatibility-default-message = <strong>{ $property }</strong> is not supported in the following browsers: + +css-compatibility-deprecated-experimental-message = <strong>{ $property }</strong> was an experimental property that is now deprecated by W3C standards. It is not supported in the following browsers: + +css-compatibility-deprecated-experimental-supported-message = <strong>{ $property }</strong> was an experimental property that is now deprecated by W3C standards. + +css-compatibility-deprecated-message = <strong>{ $property }</strong> is deprecated by W3C standards. It is not supported in the following browsers: + +css-compatibility-deprecated-supported-message = <strong>{ $property }</strong> is deprecated by W3C standards. + +css-compatibility-experimental-message = <strong>{ $property }</strong> is an experimental property. It is not supported in the following browsers: + +css-compatibility-experimental-supported-message = <strong>{ $property }</strong> is an experimental property. + +css-compatibility-learn-more-message = <span data-l10n-name="link">Learn more</span> about <strong>{ $rootProperty }</strong> diff --git a/thunderbird-l10n/gd/localization/gd/devtools/shared/debugger-paused-reasons.ftl b/thunderbird-l10n/gd/localization/gd/devtools/shared/debugger-paused-reasons.ftl new file mode 100644 index 0000000000000000000000000000000000000000..66c986b5e372b689544a8786437662b95d887b1e --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/devtools/shared/debugger-paused-reasons.ftl @@ -0,0 +1,87 @@ +# 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/. + + +### These strings are used inside the Debugger which is available from the Web +### Developer sub-menu -> 'Debugger', as well as in the "Paused Debugger +### Overlay" that is displayed in the content page when it pauses. + + +### 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. + +# The text that is displayed in a info block explaining how the debugger is +# currently paused due to a `debugger` statement in the code +whypaused-debugger-statement = Paused on debugger statement + +# The text that is displayed in a info block explaining how the debugger is +# currently paused on a breakpoint +whypaused-breakpoint = Paused on breakpoint + +# The text that is displayed in a info block explaining how the debugger is +# currently paused on an event breakpoint. +whypaused-event-breakpoint = Paused on event breakpoint + +# The text that is displayed in a info block explaining how the debugger is +# currently paused on an exception +whypaused-exception = Paused on exception + +# The text that is displayed in a info block explaining how the debugger is +# currently paused on a DOM mutation breakpoint +whypaused-mutation-breakpoint = Paused on DOM mutation + +# The text that is displayed to describe an added node which triggers a subtree +# modification +whypaused-mutation-breakpoint-added = Added: + +# The text that is displayed to describe a removed node which triggers a subtree +# modification +whypaused-mutation-breakpoint-removed = Removed: + +# The text that is displayed in a info block explaining how the debugger is +# currently paused at a JS execution +whypaused-interrupted = Paused at Execution + +# The text that is displayed in a info block explaining how the debugger is +# currently paused while stepping in or out of the stack +whypaused-resume-limit = Paused while stepping + +# The text that is displayed in a info block explaining how the debugger is +# currently paused on a dom event +whypaused-pause-on-dom-events = Paused on event listener + +# The text that is displayed in an info block when evaluating a conditional +# breakpoint throws an error +whypaused-breakpoint-condition-thrown = Error with conditional breakpoint + +# The text that is displayed in a info block explaining how the debugger is +# currently paused on an xml http request +whypaused-xhr = Paused on XMLHttpRequest + +# The text that is displayed in a info block explaining how the debugger is +# currently paused on a promise rejection +whypaused-promise-rejection = Paused on promise rejection + +# The text that is displayed in a info block explaining how the debugger is +# currently paused at a watchpoint on an object property +whypaused-get-watchpoint = Paused on property get + +# The text that is displayed in an info block explaining how the debugger is +# currently paused at a watchpoint on an object property +whypaused-set-watchpoint = Paused on property set + +# The text that is displayed in a info block explaining how the debugger is +# currently paused on an assert +whypaused-assert = Paused on assertion + +# The text that is displayed in a info block explaining how the debugger is +# currently paused on a debugger statement +whypaused-debug-command = Paused on debugged function + +# The text that is displayed in a info block explaining how the debugger is +# currently paused on an event listener breakpoint set +whypaused-other = Debugger paused diff --git a/thunderbird-l10n/gd/localization/gd/devtools/shared/highlighters.ftl b/thunderbird-l10n/gd/localization/gd/devtools/shared/highlighters.ftl new file mode 100644 index 0000000000000000000000000000000000000000..930525de5b0f07d9e9577f4d8ce3da90ace8e323 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/devtools/shared/highlighters.ftl @@ -0,0 +1,67 @@ +# 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/. + + +### This file contains strings used in highlighters. +### Highlighters are visualizations that DevTools draws on top of content to aid +### in understanding content sizing, etc. + +# The row and column position of a grid cell shown in the grid cell infobar when hovering +# over the CSS grid outline. +# Variables +# $row (integer) - The row index +# $column (integer) - The column index +grid-row-column-positions = Row { $row } / Column { $column } + +# The layout type of an element shown in the infobar when hovering over a DOM element and +# it is a grid container. +gridtype-container = Grid Container + +# The layout type of an element shown in the infobar when hovering over a DOM element and +# it is a grid item. +gridtype-item = Grid Item + +# The layout type of an element shown in the infobar when hovering over a DOM element and +# it is both a grid container and a grid item. +gridtype-dual = Grid Container/Item + +# The layout type of an element shown in the infobar when hovering over a DOM element and +# it is a flex container. +flextype-container = Flex Container + +# The layout type of an element shown in the infobar when hovering over a DOM element and +# it is a flex item. +flextype-item = Flex Item + +# The layout type of an element shown in the infobar when hovering over a DOM element and +# it is both a flex container and a flex item. +flextype-dual = Flex Container/Item + +# The message displayed in the content page when the user clicks on the +# "Pick an element from the page" in about:devtools-toolbox inspector panel, when +# debugging a remote page. +# Variables +# $action (string) - Will either be remote-node-picker-notice-action-desktop or +# remote-node-picker-notice-action-touch +remote-node-picker-notice = DevTools Node Picker enabled. { $action } + +# Text displayed in `remote-node-picker-notice`, when the remote page is on desktop +remote-node-picker-notice-action-desktop = Click an element to select it in the Inspector + +# Text displayed in `remote-node-picker-notice`, when the remote page is on Android +remote-node-picker-notice-action-touch = Tap an element to select it in the Inspector + +# The text displayed in the button that is in the notice in the content page when the user +# clicks on the "Pick an element from the page" in about:devtools-toolbox inspector panel, +# when debugging a remote page. +remote-node-picker-notice-hide-button = Hide + +# The text displayed in a toolbox notification message which is only displayed +# if prefers-reduced-motion is enabled (via OS-level settings or by using the +# ui.prefersReducedMotion=1 preference). +simple-highlighters-message = When prefers-reduced-motion is enabled, a simpler highlighter can be enabled in the settings panel, to avoid flashing colors. + +# Text displayed in a button inside the "simple-highlighters-message" toolbox +# notification. "Settings" here refers to the DevTools settings panel. +simple-highlighters-settings-button = Open Settings diff --git a/thunderbird-l10n/gd/localization/gd/devtools/startup/key-shortcuts.ftl b/thunderbird-l10n/gd/localization/gd/devtools/startup/key-shortcuts.ftl new file mode 100644 index 0000000000000000000000000000000000000000..bbc2c7ca1e8c3544289407371457790cf8b0fa65 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/devtools/startup/key-shortcuts.ftl @@ -0,0 +1,38 @@ +# 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/. + +# Key pressed to open a toolbox with the default panel selected +devtools-commandkey-toggle-toolbox = I +# Alternative key pressed to open a toolbox with the default panel selected +devtools-commandkey-toggle-toolbox-f12 = VK_F12 +# Key pressed to open the Browser Toolbox, used for debugging Firefox itself +devtools-commandkey-browser-toolbox = I +# Key pressed to open the Browser Console, used for debugging Firefox itself +devtools-commandkey-browser-console = J +# Key pressed to toggle on the Responsive Design Mode +devtools-commandkey-responsive-design-mode = M +# Key pressed to open a toolbox with the inspector panel selected +devtools-commandkey-inspector = C +# Key pressed to open a toolbox with the web console panel selected +devtools-commandkey-webconsole = K +# Key pressed to open a toolbox with the debugger panel selected +devtools-commandkey-jsdebugger = Z +# Key pressed to open a toolbox with the network monitor panel selected +devtools-commandkey-netmonitor = E +# Key pressed to open a toolbox with the style editor panel selected +devtools-commandkey-styleeditor = VK_F7 +# Key pressed to open a toolbox with the performance panel selected +devtools-commandkey-performance = VK_F5 +# Key pressed to open a toolbox with the storage panel selected +devtools-commandkey-storage = VK_F9 +# Key pressed to open a toolbox with the DOM panel selected +devtools-commandkey-dom = W +# Key pressed to open a toolbox with the accessibility panel selected +devtools-commandkey-accessibility-f12 = VK_F12 +# Key pressed to start or stop the performance profiler +devtools-commandkey-profiler-start-stop = VK_1 +# Key pressed to capture a recorded performance profile +devtools-commandkey-profiler-capture = VK_2 +# Key pressed to toggle the JavaScript tracing +devtools-commandkey-javascript-tracing-toggle = VK_5 diff --git a/thunderbird-l10n/gd/localization/gd/dom/XMLPrettyPrint.ftl b/thunderbird-l10n/gd/localization/gd/dom/XMLPrettyPrint.ftl new file mode 100644 index 0000000000000000000000000000000000000000..87f25f1bbc064d6a472cedfec96c1a67b7a3da4c --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/dom/XMLPrettyPrint.ftl @@ -0,0 +1,5 @@ +# 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/. + +xml-nostylesheet = Tha coltas nach eil fiosrachadh stoidhle leis an fhaidhle XML seo. Chithear craobh nan sgrìobhainnean gu h-ìosal. diff --git a/thunderbird-l10n/gd/localization/gd/dom/media.ftl b/thunderbird-l10n/gd/localization/gd/dom/media.ftl new file mode 100644 index 0000000000000000000000000000000000000000..908e0f5cc8d4ef76d0fa296fecc4dc458697a888 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/dom/media.ftl @@ -0,0 +1,6 @@ +# 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/. + +default-audio-output-device-label = Default audio output device +mediastatus-fallback-title = Tha { -brand-short-name } a’ cluich meadhan diff --git a/thunderbird-l10n/gd/localization/gd/locales-preview/aboutTranslations.ftl b/thunderbird-l10n/gd/localization/gd/locales-preview/aboutTranslations.ftl new file mode 100644 index 0000000000000000000000000000000000000000..68e9d8aafd713da6267d9071c7567fc495e82173 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/locales-preview/aboutTranslations.ftl @@ -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/. + +# The title of the about:translations page, referencing the translations feature. +about-translations-title = Translations +about-translations-header = { -translations-brand-name } +about-translations-results-placeholder = Translation +# Text displayed on from-language dropdown when no language is selected +about-translations-detect = Detect language +# Text displayed on a language dropdown when the language is in beta +# Variables: +# $language (string) - The localized display name of the language +about-translations-displayname-beta = { $language } BETA +# Text displayed on from-language dropdown when a language is detected +# Variables: +# $language (string) - The localized display name of the detected language +about-translations-detect-lang = Detect language ({ $language }) +# Text displayed on from-language dropdown when a beta language is detected +# Variables: +# $language (string) - The localized display name of the detected language +about-translations-detect-lang-beta = Detect language ({ $language } BETA) +# Text displayed on to-language dropdown when no language is selected +about-translations-select = Select language +about-translations-textarea = + .placeholder = Add text to translate +about-translations-no-support = Your device does not meet the minimum requirements to use this feature. Try on another device. +about-translations-engine-error = The translations engine failed to load. diff --git a/thunderbird-l10n/gd/localization/gd/messenger/about3Pane.ftl b/thunderbird-l10n/gd/localization/gd/messenger/about3Pane.ftl new file mode 100644 index 0000000000000000000000000000000000000000..17981cc8842e8f68c67b3011db96388ef7235d75 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/about3Pane.ftl @@ -0,0 +1,366 @@ +# 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/. + + +## Message List Header Bar + +quick-filter-button = + .title = Toglaich bàr a’ ghrad-chriathraidh +quick-filter-button-label = Grad-chriathrag +thread-pane-header-display-button = + .title = Roghainnean taisbeanadh liosta nan teachdaireachdan +# Variables: +# $count (Number) - The number of messages in this folder. +thread-pane-folder-message-count = + { $count -> + [one] { $count } teachdaireachd + [two] { $count } theachdaireachd + [few] { $count } teachdaireachdan + *[other] { $count } teachdaireachd + } +# Variables: +# $count (Number) - The number of messages currently selected. +thread-pane-folder-selected-count = + { $count -> + [one] { $count } air a thaghadh + [two] { $count } air an taghadh + [few] { $count } air an taghadh + *[other] { $count } air an taghadh + } +thread-pane-header-context-table-view = + .label = An sealladh clàir +thread-pane-header-context-cards-view = + .label = Sealladh nan cairtean +thread-pane-header-context-hide = + .label = Falaich bann-cinn liosta nan teachdaireachdan + +## Quick Filter Bar + +# The tooltip to display when the user hovers over the sticky button +# (currently displayed as a push-pin). When active, the sticky button +# causes the current filter settings to be retained when the user changes +# folders or opens new tabs. (When inactive, only the state of the text +# filters are propagated between folder changes and when opening new tabs.) +quick-filter-bar-sticky = + .title = Cum na criathragan beò nuair a leumar eadar pasgain +# The tooltip for the filter button that replaces the quick filter buttons with +# a dropdown menu. +quick-filter-bar-dropdown = + .title = Clàr-taice na grad-chriathraige +quick-filter-bar-dropdown-unread = + .label = Gun leughadh +quick-filter-bar-dropdown-starred = + .label = Le rionnag ris +quick-filter-bar-dropdown-inaddrbook = + .label = Neach-aithne +quick-filter-bar-dropdown-tags = + .label = Tagaichean +quick-filter-bar-dropdown-attachment = + .label = Ceanglachan +# The tooltip for the filter button that causes us to filter results to only +# include unread messages. +quick-filter-bar-unread = + .title = Na seall ach teachdaireachdan gun leughadh +# The label for the filter button that causes us to filter results to only +# include unread messages. +quick-filter-bar-unread-label = Gun leughadh +# The tooltip for the filter button that causes us to filter results to only +# include messages that have been starred/flagged. +quick-filter-bar-starred = + .title = Na seall ach teachdaireachdan le rionnag riutha +# The label for the filter button that causes us to filter results to only +# include messages that have been starred/flagged. +quick-filter-bar-starred-label = Le rionnag ris +# The tooltip for the filter button that causes us to filter results to only +# include messages from contacts in one of the user's non-remote address +# books. +quick-filter-bar-inaddrbook = + .title = Na seall ach teachdaireachdan o dhaoine ann an leabhar nan seòladh agad +# The label for the filter button that causes us to filter results to only +# include messages from contacts in one of the user's non-remote address +# books. +quick-filter-bar-inaddrbook-label = Caraid +# The tooltip for the filter button that causes us to filter results to only +# include messages with at least one tag on them. +quick-filter-bar-tags = + .title = Na seall ach teachdaireachdan le tagaichean orra +# The label for the filter button that causes us to filter results to only +# include messages with at least one tag on them. +quick-filter-bar-tags-label = Tagaichean +# The tooltip for the filter button that causes us to filter results to only +# include messages with attachments. +quick-filter-bar-attachment = + .title = Na seall ach teachdaireachdan le ceanglachain +# The label for the filter button that causes us to filter results to only +# include messages with attachments. +quick-filter-bar-attachment-label = Ceanglachan +# The contents of the results box when there is a filter active but there +# are no messages matching the filter. +quick-filter-bar-no-results = Gun toradh +# This is used to populate the results box; it either displays the +# number of messages found using this string, that there are no messages +# (using quick-filter-bar-no-results), or the box is hidden. +# Variables: +# $count (Number) - The number of messages that match selected filters. +quick-filter-bar-results = + { $count -> + [one] { $count } teachdaireachd + [two] { $count } theachdaireachd + [few] { $count } teachdaireachdan + *[other] { $count } teachdaireachd + } +# Keyboard shortcut for the text search box. +# This should match quick-filter-bar-show in messenger.ftl. +quick-filter-bar-textbox-shortcut = + { PLATFORM() -> + [macos] ⇧ ⌘ K + *[other] Ctrl+Shift+K + } +# This is the empty text for the text search box. +# The goal is to convey to the user that typing in the box will filter +# the messages and that there is a hotkey they can press to get to the +# box faster. +quick-filter-bar-textbox = + .placeholder = Criathair na teachdaireachdan a leanas <{ quick-filter-bar-textbox-shortcut }> +# Tooltip of the Any-of/All-of tagging mode selector. +quick-filter-bar-boolean-mode = + .title = Modh criathradh thagaichean +# The Any-of tagging mode. +quick-filter-bar-boolean-mode-any = + .label = Gin dhiubh seo + .title = Bu chòir gum maidsich co-dhiù aon dhe na tagaichean +# The All-of tagging mode. +quick-filter-bar-boolean-mode-all = + .label = Gach aon dhiubh + .title = Bu chòir gum maidsich gach aon dhe na tagaichean +# This label explains what the sender/recipients/subject/body buttons do. +# This string should ideally be kept short because the label and the text +# filter buttons share their bar (that appears when there is text in the text +# filter box) with the list of tags when the tag filter is active, and the +# tag sub-bar wants as much space as possible. (Overflow is handled by an +# arrow scroll box.) +quick-filter-bar-text-filter-explanation = Criathair na teachdaireachdan a-rèir: +# The button label that toggles whether the text filter searches the message +# sender for the string. +quick-filter-bar-text-filter-sender = Seòladair +# The button label that toggles whether the text filter searches the message +# recipients (to, cc) for the string. +quick-filter-bar-text-filter-recipients = Faightearan +# The button label that toggles whether the text filter searches the message +# subject for the string. +quick-filter-bar-text-filter-subject = Cuspair +# The button label that toggles whether the text filter searches the message +# body for the string. +quick-filter-bar-text-filter-body = Bodhaig +# The first line of the panel popup that tells the user we found no matches +# but we can convert to a global search for them. +quick-filter-bar-gloda-upsell-line1 = Lean ris an rannsachadh seo air feadh gach pasgain +# The second line of the panel popup that tells the user we found no matches. +# Variables: +# $text (String) - What the user has typed so far. +quick-filter-bar-gloda-upsell-line2 = Put ‘Enter’ a-rithist gus leantainn ort leis an rannsachadh agad airson: { $text } + +## Folder pane + +folder-pane-get-messages-button = + .title = Faigh na teachdaireachdan +folder-pane-get-all-messages-menuitem = + .label = Faigh a h-uile teachdaireachd ùr + .accesskey = g +folder-pane-write-message-button = Teachdaireachd ùr + .title = Sgrìobh teachdaireachd ùr +folder-pane-more-menu-button = + .title = Roghainnean leòsan nam pasgan +# Context menu item to show/hide different folder types in the folder pane +folder-pane-header-folder-modes = + .label = Modhan nam pasgan +# Context menu item to toggle display of "Get messages" button in folder pane header +folder-pane-header-context-toggle-get-messages = + .label = Seall “Faigh teachdaireachdan” +# Context menu item to toggle display of "New Message" button in folder pane header +folder-pane-header-context-toggle-new-message = + .label = Seall “Teachdaireachd ùr” +folder-pane-header-context-hide = + .label = Falaich bann-cinn leòsan nam pasgan +folder-pane-show-total-toggle = + .label = Seall iomlan nan teachdaireachdan +# Context menu item to show or hide folder sizes +folder-pane-header-toggle-folder-size = + .label = Seall meud a’ phasgain +folder-pane-header-hide-local-folders = + .label = Falaich na pasganan ionadail +folder-pane-mode-context-button = + .title = Roghainnean modh nam pasgan +folder-pane-mode-context-toggle-compact-mode = + .label = Sealladh dùmhail + .accesskey = S +# Variables: +# $count (Number) - Number of unread messages. +folder-pane-unread-aria-label = + { $count -> + [one] { $count } teachdaireachd gun leughadh + [two] { $count } theachdaireachd gun leughadh + [few] { $count } teachdaireachdan gun leughadh + *[other] { $count } teachdaireachd gun leughadh + } +# Variables: +# $count (Number) - Number of total messages. +folder-pane-total-aria-label = + { $count -> + [one] { $count } teachdaireachd uile gu lèir + [two] { $count } theachdaireachd uile gu lèir + [few] { $count } teachdaireachdan uile gu lèir + *[other] { $count } teachdaireachd uile gu lèir + } + +## Message thread pane + +threadpane-column-header-select = + .title = Toglaich taghadh nan teachdaireachdan uile +threadpane-column-header-select-all = + .title = Tagh a h-uile teachdaireachd +threadpane-column-header-deselect-all = + .title = Dì-thagh a h-uile teachdaireachd +threadpane-column-label-select = + .label = Tagh teachdaireachdan +threadpane-column-header-thread = + .title = Toglaich snàithleanan nan teachdaireachd +threadpane-column-label-thread = + .label = Snàth +threadpane-column-header-flagged = + .title = Seòrsaich a-rèir rionnaige +threadpane-column-label-flagged = + .label = Le rionnag ris +threadpane-flagged-cell-label = Le rionnag ris +threadpane-column-header-attachments = + .title = Seòrsaich a-rèir ceanglachain +threadpane-column-label-attachments = + .label = Ceanglachain +threadpane-attachments-cell-label = Ceanglachain +threadpane-column-header-spam = + .title = Seòrsaich a-rèir na staid spama +threadpane-column-label-spam = + .label = Spama +threadpane-spam-cell-label = Spama +threadpane-column-header-unread-button = + .title = Seòrsaich a-rèir na staid leughaidh +threadpane-column-label-unread-button = + .label = An staid leughaidh +threadpane-read-cell-label = Air a leughadh +threadpane-unread-cell-label = Gun leughadh +threadpane-column-header-sender = O + .title = Seòrsaich a-rèir seòladair +threadpane-column-label-sender = + .label = O +threadpane-column-header-recipient = Faightear + .title = Seòrsaich a-rèir faighteir +threadpane-column-label-recipient = + .label = Faightear +threadpane-column-header-correspondents = Co-sgrìobhaichean + .title = Seòrsaich a-rèir cho-sgrìobhaichean +threadpane-column-label-correspondents = + .label = Co-sgrìobhaichean +threadpane-column-header-subject = An cuspair + .title = Seòrsaich a-rèir cuspair +threadpane-column-label-subject = + .label = An cuspair +threadpane-column-header-date = Ceann-là + .title = Seòrsaich a-rèir cinn-là +threadpane-column-label-date = + .label = Ceann-là +threadpane-column-header-received = Air fhaighinn + .title = Seòrsaich a-rèir an latha a fhuaras +threadpane-column-label-received = + .label = Air fhaighinn +threadpane-column-header-status = Staid + .title = Seòrsaich a-rèir staid +threadpane-column-label-status = + .label = Staid +threadpane-column-header-size = Meud + .title = Seòrsaich a-rèir meud +threadpane-column-label-size = + .label = Meud +threadpane-column-header-tags = Taga + .title = Seòrsaich a-rèir taga +threadpane-column-label-tags = + .label = Taga +threadpane-column-header-account = Cunntas + .title = Seòrsaich a-rèir cunntais +threadpane-column-label-account = + .label = Cunntas +threadpane-column-header-priority = Prìomhachas + .title = Seòrsaich a-rèir prìomhachais +threadpane-column-label-priority = + .label = Prìomhachas +threadpane-column-header-unread = Gun leughadh + .title = Àireamh nan teachdaireachdan gun leughadh san t-snàth +threadpane-column-label-unread = + .label = Gun leughadh +threadpane-column-header-total = Gu h-iomlan + .title = Àireamh iomlan nan teachdaireachdan san t-snàth +threadpane-column-label-total = + .label = Gu h-iomlan +threadpane-column-header-location = Àite + .title = Seòrsaich a-rèir ionaid +threadpane-column-label-location = + .label = Àite +threadpane-column-header-id = An t-òrdugh san d' fhuaradh iad + .title = Seòrsaich a-rèir cuin a fhuaras +threadpane-column-label-id = + .label = An t-òrdugh san d' fhuaradh iad +threadpane-column-header-delete = + .title = Sguab às teachdaireachd +threadpane-column-label-delete = + .label = Sguab às + +## Message state variations + +threadpane-message-new = + .alt = Taisbeanair a dh’innseas gu bheil teachdaireachd ùr ann + .title = Teachdaireachd ùr +threadpane-message-replied = + .alt = Taisbeanair a dh’innseas gun deach freagairt + .title = Chaidh an teachdaireachd a fhreagairt +threadpane-message-redirected = + .alt = Taisbeanair a dh’innseas gun deach ath-stiùireadh + .title = Chaidh an teachdaireachd ath-stiùireadh +threadpane-message-forwarded = + .alt = Taisbeanair a dh’innseas gun deach a shìneadh air adhart + .title = Chaidh an teachdaireachd a shìneadh air adhart +threadpane-message-replied-forwarded = + .alt = Taisbeanair a dh’innseas gun deach a fhreagairt is a shìneadh air adhart + .title = Chaidh an teachdaireachd a fhreagairt is a shìneadh air adhart +threadpane-message-replied-redirected = + .alt = Taisbeanair a dh’innseas gun deach a fhreagairt is ath-stiùireadh + .title = Chaidh an teachdaireachd a fhreagairt is ath-stiùireadh +threadpane-message-forwarded-redirected = + .alt = Taisbeanair a dh’innseas gun deach a shìneadh air adhart is ath-stiùireadh + .title = Chaidh an teachdaireachd a shìneadh air adhart is ath-stiùireadh +threadpane-message-replied-forwarded-redirected = + .alt = Taisbeanair a dh’innseas gun deach a fhreagairt, a shìneadh air adhart is ath-stiùireadh + .title = Chaidh an teachdaireachd a fhreagairt, a shìneadh air adhart agus ath-stiùireadh +apply-columns-to-menu = + .label = Cuir an sàs na colbhan airson… +apply-current-view-to-menu = + .label = Cuir an sealladh làithreach an sàs ann an… +apply-current-view-to-folder = + .label = Pasgan… +apply-current-view-to-folder-children = + .label = Am pasgan 's a chuid cloinne… + +## Apply columns confirmation dialog + +apply-changes-to-folder-title = A bheil thu airson na h-atharrachaidhean a chur an sàs? +# Variables: +# $name (String): The name of the folder to apply to. +apply-current-columns-to-folder-message = A bheil thu airson colbhan a' phasgain làithrich a chur an sàs airson { $name }? +# Variables: +# $name (String): The name of the folder to apply to. +apply-current-columns-to-folder-with-children-message = A bheil thu airson colbhan a' phasgain làithrich a chur an sàs airson { $name } is a cuid cloinne? +# Variables: +# $name (String): The name of the folder to apply to. +apply-current-view-to-folder-message = A bheil thu airson sealladh a’ phasgain làithrich a chur an sàs airson { $name }? +# Variables: +# $name (String): The name of the folder to apply to. +apply-current-view-to-folder-with-children-message = A bheil thu airson sealladh a’ phasgain làithrich a chur an sàs airson { $name } agus a’ chlann aige? diff --git a/thunderbird-l10n/gd/localization/gd/messenger/aboutAddonsExtra.ftl b/thunderbird-l10n/gd/localization/gd/messenger/aboutAddonsExtra.ftl new file mode 100644 index 0000000000000000000000000000000000000000..e888f1ec7a3e767ddf23049849da45c11f0c5f3e --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/aboutAddonsExtra.ftl @@ -0,0 +1,12 @@ +# 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/. + +add-on-options-button = + .title = Roghainnean nan tuilleadan + +add-on-search-alternative-button-label = Lorg tuilleadan eile + +atn-addons-heading-search-input = + .placeholder = Lorg air addons.thunderbird.net + diff --git a/thunderbird-l10n/gd/localization/gd/messenger/aboutDialog.ftl b/thunderbird-l10n/gd/localization/gd/messenger/aboutDialog.ftl new file mode 100644 index 0000000000000000000000000000000000000000..507315e9626b5f3f460e5b23f944dd4bfa7d68aa --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/aboutDialog.ftl @@ -0,0 +1,66 @@ +# 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/. + +about-update-whats-new = Na tha ùr +aboutDialog-title = + .title = Mu { -brand-full-name } +about-dialog-title = Mu { -brand-full-name } +release-notes-link = Na nòtaichean sgaoilidh +update-internal-error = Chan urrainn dhuinn sùil a thoirt airson ùrachaidhean air sgàth mearachd inntearnail. Gheibhear ùrachaidhean aig <a data-l10n-name="manual-link"/> +update-check-for-updates-button = Thoir sùil airson ùrachaidhean + .accesskey = c +update-update-button = Dèan ath-thòiseachadh airson { -brand-shorter-name } ùrachadh + .accesskey = R +update-checking-for-updates = A' lorg ùrachaidhean… +update-downloading-message = A' luchdadh a-nuas ùrachadh — <span data-l10n-name="download-status"></span> +update-applying = A' cur an sàs an ùrachaidh… +update-downloading = <img data-l10n-name="icon"/>A' luchdadh a-nuas ùrachadh — <span data-l10n-name="download-status"></hspan> +update-failed = Dh'fhàillig an t-ùrachadh. <a data-l10n-name="failed-link">Luchdaich a-nuas an tionndadh as ùire</a> +update-admin-disabled = Chaidh casg a chur air ùrachadh leis an rianadair +update-no-updates-found = Tha { -brand-short-name } cho ùr 's a ghabhas +update-other-instance-handling-updates = Tha { -brand-short-name } 'ga ùrachadh ann an ionstans eile +update-manual = Ùrachaidhean a tha ri am faighinn aig <a data-l10n-name="manual-link"/> +update-unsupported = Cha ghabh barrachd ùrachadh air an t-siostam seo. <a data-l10n-name="unsupported-link">Barrachd fiosrachaidh</a> +update-restarting = Ag ath-thòiseachadh… +# Variables: +# $channel (String): description of the update channel (e.g. "release", "beta", "nightly" etc.) +channel-description = Tha thu san t-seanail ùrachaidh <span data-l10n-name="current-channel">{ $channel }</span> an-dràsta. +warning-desc-version = Thathar ag obair air { -brand-short-name } fhathast agus faodaidh nach bi iad buileach seasmhach. +warning-desc-telemetry = Cuiridh seo dàta mu dhèanadas, bathar-cruaidh, cleachdadh is gnàthachaidhean air ais gu { -vendor-short-name } gus taic a chumail riutha le leasachadh { -brand-short-name }. +# Example of resulting string: 66.0.1 (64-bit) +# Variables: +# $version (String): version of Thunderbird, e.g. 66.0.1 +# $bits (Number): bits of the architecture (32 or 64) +aboutDialog-version = { $version } ({ $bits } biod) +# Example of resulting string: 66.0a1 (2019-01-16) (64-bit) +# Variables: +# $version (String): version of Thunderbird for Daily builds, e.g. 66.0a1 +# $isodate (String): date in ISO format, e.g. 2019-01-16 +# $bits (Number): bits of the architecture (32 or 64) +aboutDialog-version-nightly = { $version } ({ $isodate }) ({ $bits } biod) +aboutdialog-update-checking-failed = Cha b’ urrainn dhuinn sùil a thoirt airson ùrachaidhean. +community-exp = + <a data-l10n-name="community-exp-mozilla-link"> + Tha { -vendor-short-name }</a> + 'na <a data-l10n-name="community-exp-credits-link"> + choimhearsnachd an t-saoghail</a> + a tha ag obair còmhla gus an lìon a chumail fosgailte, poblach is so-ruigsinneach dhan a h-uile duine. +community-2 = + Tha { -brand-short-name } 'ga dhealbhadh le <a data-l10n-name="community-mozilla-link"> + Tha { -vendor-short-name }</a> + , <a data-l10n-name="community-credits-link"> + coimhearsnachd an t-saoghail</a> + ag obair còmhla gus an lìon a chumail fosgailte, poblach is so-ruigsinneach dhan a h-uile duine. +about-helpus = + Bheil thu son cuideachadh? <a data-l10n-name="helpus-donate-link"> + Thoir tabhartas</a> or <a data-l10n-name="helpus-get-involved-link"> + gabh pàrt ann!</a> +community-experimental = <a data-l10n-name="community-exp-mozilla-link">Tha { -vendor-short-name }</a> 'na <a data-l10n-name="community-exp-credits-link">choimhearsnachd an t-saoghail</a> a tha ag obair còmhla gus an lìon a chumail fosgailte, poblach is so-ruigsinneach dhan a h-uile duine. +community-desc = Tha { -brand-short-name } 'ga dhealbhadh le <a data-l10n-name="community-mozilla-link">Tha { -vendor-short-name }</a>, <a data-l10n-name="community-credits-link">coimhearsnachd an t-saoghail</a> ag obair còmhla gus an lìon a chumail fosgailte, poblach is so-ruigsinneach dhan a h-uile duine. +about-donation = Bheil thu son cuideachadh? <a data-l10n-name="helpus-donate-link">Thoir tabhartas</a> or <a data-l10n-name="helpus-get-involved-link">gabh pàrt ann!</a> +bottom-links-license = Fiosrachadh Ceadachais +bottom-links-rights = Còraichean a' Chleachdaiche Dheireannaich +bottom-links-privacy = Am Poileasaidh Prìobhaideachd +cmd-close-mac-command-key = + .key = w diff --git a/thunderbird-l10n/gd/localization/gd/messenger/aboutImport.ftl b/thunderbird-l10n/gd/localization/gd/messenger/aboutImport.ftl new file mode 100644 index 0000000000000000000000000000000000000000..7ed38cbc68524efa0553015e688f1bb3aa6525a0 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/aboutImport.ftl @@ -0,0 +1,181 @@ +# 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-page-title = Ion-phortaich +export-page-title = Às-phortaich + +## Header + +import-start = An t-inneal ion-phortaidh +import-start-title = Ion-phortaich roghainnean no dàta o aplacaid no faidhle. +import-start-description = Tagh an t-àite far a bheil na tha ri ion-phortadh. Bidh cothrom agad co-dhùnadh dè dìreach an dàta a thèid ion-phortadh às a dhèidh seo. +import-from-app = Ion-phortaich o aplacaid +import-file = Ion-phortaich o fhaidhle +import-file-title = Tagh faidhle airson na tha na bhroinn ion-phortadh. +import-file-description = Ion-phortaich lethbhreac-glèidhidh de phròifil, leabhar-sheòlaidhean no mìosachan a rinn thu roimhe. +import-address-book-title = Ion-phortaich faidhle leabhar-sheòlaidhean +import-calendar-title = Ion-phortaich faidhle mìosachain +export-profile = Às-phortaich + +## Buttons + +button-back = Air ais +button-continue = Air adhart +button-export = Às-phortaich +button-finish = Coilean + +## Import from app steps + +app-name-thunderbird = Thunderbird +app-name-seamonkey = SeaMonkey +app-name-outlook = Outlook +app-name-becky = Post-lìn Becky! +app-name-apple-mail = Apple Mail +source-thunderbird = Ion-phortaich o stàladh eile dhe { app-name-thunderbird } +source-thunderbird-description = Ion-phortaich roghainnean, criathragan, teachdaireachdan is dàta eile o phròifil { app-name-thunderbird }. +source-seamonkey = Ion-phortaich o stàladh { app-name-seamonkey } +source-seamonkey-description = Ion-phortaich roghainnean, criathragan, teachdaireachdan is dàta eile o phròifil { app-name-seamonkey }. +source-outlook = Ion-phortaich o { app-name-outlook } +source-outlook-description = Ion-phortaich cunntasan, leabhraichean-sheòlaidhean is teachdaireachdan o { app-name-outlook } . +source-becky = Ion-phortaich o { app-name-becky } +source-becky-description = Ion-phortaich leabhraichean-sheòlaidhean is teachdaireachdan o { app-name-becky }. +source-apple-mail = Ion-phortaich o { app-name-apple-mail } +source-apple-mail-description = Ion-phortaich o teachdaireachdan o { app-name-apple-mail }. +source-file2 = Ion-phortaich o fhaidhle +source-file-description = Tagh faidhle airson leabhraichean-sheòlaidhean, mìosachain no lethbhreac-glèidhidh de phròifil (faidhle ZIP) ion-phortadh. + +## Import from file selections + +file-profile2 = Ion-phortaich lethbhreac-glèidhidh de phròifil +file-profile-description = Tagh pròifil Thunderbird a rinn thu lethbhreac-glèidhidh dheth roimhe (.zip) +file-calendar = Ion-phortaich mìosachain +file-calendar-description = Tagh faidhle sa bheil mìosachain no tachartasan a chaidh às-phortadh (.ics) +file-addressbook = Ion-phortaich leabhraichean-sheòlaidhean +file-addressbook-description = Tagh faidhle sa bheil leabhraichean-sheòlaidhean is luchd-aithne a chaidh às-phortadh roimhe + +## Import from app profile steps + +from-app-thunderbird = Ion-phortaich o phròifil { app-name-thunderbird } +from-app-seamonkey = Ion-phortaich o phròifil { app-name-seamonkey } +from-app-outlook = Ion-phortaich o { app-name-outlook } +from-app-becky = Ion-phortaich o { app-name-becky } +from-app-apple-mail = Ion-phortaich o { app-name-apple-mail } +profiles-pane-title-thunderbird = Ion-phortaich roghainnean is dàta o phròifil { app-name-thunderbird }. +profiles-pane-title-seamonkey = Ion-phortaich roghainnean is dàta o phròifil { app-name-seamonkey }. +profiles-pane-title-outlook = Ion-phortaich dàta o { app-name-outlook }. +profiles-pane-title-becky = Ion-phortaich dàta o { app-name-becky }. +profiles-pane-title-apple-mail = Ion-phortaich teachdaireachdan o { app-name-apple-mail }. +profile-source = Ion-phortaich o phròifil +# $profileName (string) - name of the profile +profile-source-named = Ion-phortaich o phròifil <strong>“{ $profileName }”</strong> +profile-file-picker-directory = Tagh pasgan pròifile +profile-file-picker-archive = Tagh faidhle <strong>ZIP</strong> +profile-file-picker-archive-description = Feumaidh am faidhle a bhith nas lugha na 2GB. +profile-file-picker-archive-title = Tagh faidhle ZIP (nas lugha na 2GB) +items-pane-title2 = Tagh na thèid ion-phortadh: +items-pane-directory = Am pasgan: +items-pane-profile-name = Ainm na pròifile: +items-pane-checkbox-accounts = Cunntasan is roghainnean +items-pane-checkbox-address-books = Leabhraichean-sheòlaidhean +items-pane-checkbox-calendars = Mìosachain +items-pane-checkbox-mail-messages = Teachdaireachdan puist +items-pane-override = Cha tèid sgrìobhadh thairis air dàta làithreach no dàta a tha a cheart-shamhla ann mu thràth. + +## Import from address book file steps + +import-from-addr-book-file-description = Tagh fòram an fhaidhle sa bheil dàta leabhar nan seòladh agad. +addr-book-csv-file = Faidhle sgaraichte le cromagan no tabaichean (.csv, .tsv) +addr-book-ldif-file = Faidhle LDIF (.ldif) +addr-book-vcard-file = Faidhle vCard (.vcf, .vcard) +addr-book-sqlite-file = Faidhle stòr-dàta SQLite (.sqlite) +addr-book-mab-file = Faidhle stòr-dàta Mork (.mab) +addr-book-file-picker = Tagh faidhle leabhar-sheòlaidhean +addr-book-csv-field-map-title = Maidsich ainmean nan raointean +addr-book-csv-field-map-desc = Tagh raointean an leabhair-sheòlaidh a fhreagras air na raointean tùsail. Thoir air falbh a’ chromag o raointean nach eil thu airson ion-phortadh. +addr-book-directories-title = Tagh càit an tèid an dàta a thagh thu ion-phortadh +addr-book-directories-pane-source = Am faidhle tùsail: +# $addressBookName (string) - name of the new address book that would be created. +addr-book-import-into-new-directory2 = Cruthaich pasgan ùr air am bi <strong>“{ $addressBookName }”</strong> +# $addressBookName (string) - name of the address book to import into +addr-book-summary-title = Ion-phortaich an dàta a thagh thu dhan phasgan <strong>“{ $addressBookName }”</strong> +# $addressBookName (string) - name of the address book that will be created. +addr-book-summary-description = Thèid leabhar-sheòlaidhean ùr a chruthachadh air am bi <strong>“{ $addressBookName }”</strong>. + +## Import from calendar file steps + +import-from-calendar-file-desc = Tagh am faidhle iCalendar (.ics) a bu toil leat ion-phortadh. +calendar-items-title = Tagh na rudan a thèid ion-phortadh. +calendar-items-loading = A’ luchdadh nan nithean… +calendar-items-filter-input = + .placeholder = Criathraich na nithean… +calendar-select-all-items = Tagh na h-uile +calendar-deselect-all-items = Dì-thagh na h-uile +calendar-target-title = Tagh càit an tèid na nithean a thagh thu ion-phortadh. +# $targetCalendar (string) - name of the new calendar that would be created +calendar-import-into-new-calendar2 = Cruthaich mìosachan ùr air am bi <strong>“{ $targetCalendar }”</strong> +# $itemCount (number) - count of selected items (tasks, events) that will be imported +# $targetCalendar (string) - name of the calendar the items will be imported into +calendar-summary-title = + { $itemCount -> + [one] Ion-phortaich { $itemCount } nì dhan mhìosachan “{ $targetCalendar }” + [two] Ion-phortaich { $itemCount } nì dhan mhìosachan “{ $targetCalendar }” + [few] Ion-phortaich { $itemCount } nithean dhan mhìosachan “{ $targetCalendar }” + *[other] Ion-phortaich { $itemCount } nì dhan mhìosachan “{ $targetCalendar }” + } +# $targetCalendar (string) - name of the calendar that will be created +calendar-summary-description = Thèid mìosachan ùr a chruthachadh air am bi “{ $targetCalendar }” + +## Import dialog + +# $progressPercent (string) - percent formatted progress (for example "10%") +progress-pane-importing2 = Ag ion-phortadh… { $progressPercent } +# $progressPercent (string) - percent formatted progress (for example "10%") +progress-pane-exporting2 = Ag às-phortadh… { $progressPercent } +progress-pane-finished-desc2 = Deiseil. +error-pane-title = Mearachd +error-message-zip-file-too-big2 = Tha am faidhle a thagh thu nas motha na 2GB. Às-tharraing e an toiseach is dèan ion-phortadh on phasgan far an deach às-tharraing an àite sin. +error-message-extract-zip-file-failed2 = Cha b’ urrainn dhuinn am faidhle ZIP às-tharraing. Às-tharraing thu fhèin e an toiseach is dèan ion-phortadh on phasgan far an deach às-tharraing an àite sin. +error-message-failed = Dh’fhàillig an t-ion-phortadh gu h-obann, dh’fhaoidte gum bi barrachd fiosrachaidh ri fhaighinn air consoil nam mearachdan. +error-failed-to-parse-ics-file = Cha deach dad a lorg san fhaidhle as urrainn dhuinn às-phortadh. +error-export-failed = Dh’fhàillig an t-às-phortadh gu h-obann, dh’fhaoidte gum bi barrachd fiosrachaidh ri fhaighinn air consoil nam mearachdan. +error-message-no-profile = Cha deach pròifil a lorg. + +## <csv-field-map> element + +csv-first-row-contains-headers = Tha ainmean nan raointean sa chiad ràgh +csv-source-field = Raon an tùis +csv-source-first-record = A’ chiad chlàr +csv-source-second-record = An dàrna clàr +csv-target-field = Raon leabhar nan seòladh + +## Export tab + +export-profile-title = Às-phortaich cunntasan, teachdaireachdan, leabhraichean-sheòlaidhean is roghainnean ann am faidhle ZIP. +export-profile-description = Ma tha a’ phròifil làithreach agad nas motha na 2GB, mholamaid dhut lethbhreac-glèidhidh a dhèanamh dheth thu fhèin. +export-open-profile-folder = Fosgail pasgan na pròifil +export-file-picker2 = Às-phortaich mar fhaidhle ZIP +export-brand-name = { -brand-product-name } + +## Summary pane + +summary-pane-title = An dàta a tha ri ion-phortadh +summary-pane-start = Tòisich air an ion-phortadh +summary-pane-warning = Feumaidh tu { -brand-product-name } ath-thòiseachadh an dèidh dhan ion-phortadh coileanadh. +summary-pane-start-over = Ath-thòisich inneal an ion-phortaidh + +## Footer area + +footer-help = Cobhair a dhìth? +footer-import-documentation = Ion-phortaich an docamaideadh +footer-export-documentation = Às-phortaich an docamaideadh +footer-support-forum = Fòram na taice + +## Step navigation on top of the wizard pages + +step-list = + .aria-label = Na ceuman airson ion-phortadh +step-confirm = Dearbh +# Variables: +# $number (number) - step number +step-count = { $number } diff --git a/thunderbird-l10n/gd/localization/gd/messenger/aboutProfilesExtra.ftl b/thunderbird-l10n/gd/localization/gd/messenger/aboutProfilesExtra.ftl new file mode 100644 index 0000000000000000000000000000000000000000..e815d29f4a5a17ae2828e46fbe227384c57f5ecc --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/aboutProfilesExtra.ftl @@ -0,0 +1,5 @@ +# 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/. + +profiles-launch-profile-plain = Cuir a’ phròifil gu dol diff --git a/thunderbird-l10n/gd/localization/gd/messenger/aboutRights.ftl b/thunderbird-l10n/gd/localization/gd/messenger/aboutRights.ftl new file mode 100644 index 0000000000000000000000000000000000000000..7eacfd84e3439dc69579ff8ce16399fe473271f8 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/aboutRights.ftl @@ -0,0 +1,30 @@ +# 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/. + +rights-title = Mu do chòraichean +rights-intro = Tha { -brand-full-name } 'na bhathar-bog a tha saor an-asgaidh agus 'na chòd fosgailte a tha 'ga leasachadh le coimhearsnachd mhòr a dhaoine o cheithir ceàrnan an t-saoghail. Tha rud na dhà ann a tha cudromach: +rights-intro-point-1 = Tha { -brand-short-name } ’ga sholar dhut fo theirmichean <a data-l10n-name="mozilla-public-license-link">Ceadachas Poblach Mozilla</a>. ’S ciall dha seo gu bheil cead agad { -brand-short-name } a chleachdadh, lethbhreacan a dhèanamh dheth agus a thoirt do dhaoine eile. Tha fàilte romhad cuideachd am bun-tùs aig { -brand-short-name } atharrachadh ach an obraich e nas fheàrr dhut. Tha Ceadachas Poblach Mozilla a’ toirt cead dhut cuideachd na tionndaidhean a dh’atharraich thu a sgaoileadh. +rights-intro-point-2 = Chan eil sinn a’ toirt seachad còir air comharran-malairt no ceadachas air comharran-malairt aig Fonndas Mozilla no pàrtaidh sam bith, a’ gabhail a-steach (gun chuingeachadh) ainm no suaicheantas Thunderbirs. Gheibh thu fiosrachadh sam bith mu na comharran-malairt <a data-l10n-name="mozilla-trademarks-link">an-seo</a>. +rights-intro-point-3 = 'S urrainn dhut fiosrachadh a thilleadh dha { -vendor-short-name } le cuid dhe na feartan ann am { -brand-short-name }, can aithrisiche nan tuislidhean. Ma bheir thu fiosrachadh mar sinn dhuinn, bidh thu a' toirt cead dha { -vendor-short-name } am fiosrachadh seo a chleachdadh gus am bathar aca a leasachadh, cead am fiosrachadh seo fhoillseachadh no sgaoileadh air na làraichean-lìn. +rights-intro-point-4 = Tha sinn a' mìneachadh mar a chleachdas sinn am fiosrachadh pearsanta 's na beachdan a bheir thu dha { -vendor-short-name } slighe { -brand-short-name } ann am <a data-l10n-name="mozilla-privacy-policy-link">poileasaidh prìobhaideachd { -brand-short-name }</a>. +rights-intro-point-4-unbranded = Chì thu poileasaidhean prìobhaideachd sam bith a tha iomchaidh dhan bhathar seo an-seo. +rights-intro-point-5 = Tha cuid dhe na feartan aig { -brand-short-name } a' cleachdadh seirbheisean fiosrachaidh a tha stèidhichte air an lìon. Chan urrainn dhuinn làn-bharantas a thoirt gu bheil iad gu tur ceart. Gheibh thu barrachd fiosrachaidh, a' gabhail a-steach fiosrachadh a dh'innseas dhut mar a chuireas tu na seirbheisean seo à comas ann an <a data-l10n-name="mozilla-service-terms-link">teirmichean na seirbheise</a>. +rights-intro-point-5-unbranded = If this product incorporates web services, any applicable service terms for the service(s) should be linked to the <a data-l10n-name="mozilla-website-services-link">Web Site Services</a> section. +rights-intro-point-6 = Airson ’s gun urrainn dha cuid a shusbaint video a chluich, luchdaichidh { -brand-short-name } a-nuas cuid a mhòidealan dì-chrioptachaidh o threas-phàrtaidhean. +rights-webservices-header = { -brand-full-name } Web-Based Information Services +rights-webservices2 = Cleachdaidh { -brand-full-name } seirbheisean fiosrachaidh a tha stèidhichte air an lìon (na “seirbheisean”) airson cuid dhe na gleusan a sholarachadh dhut san tionndadh bhìnearaidh seo dhe { -brand-short-name } fo na teirmichean a chì thu gu h-ìosal. Ma tha co-dhiù aon seirbheis ann nach eil thu airson cleachdadh no mur an gabh thu ris na teirmichean gu h-ìosal , is urrainn dhut an gleus na na seirbheisean ud a chur à comas. Gheibh thu stiùireadh a dh’innseas dhut mar a chuireas tu gleus no seirbheis àraidh à comas <a data-l10n-name="mozilla-disable-service-link">an-seo</a>. ’S urrainn dhut gleusan is seirbheisean eile a chur à comas ann an roghainnean na h-aplacaid. +rights-locationawarebrowsing = <strong>Brabhsadh a mhothaiches dha d' àite: </strong>seo rud a dh'fheumas tu a chur air an-còmhnaidh. Cha dèid fiosrachadh mu d' àite a chur a-null gun do chead idir. Ma tha thu airson am feart seo a chur dheth gu tur, dèan nan leanas: +rights-locationawarebrowsing-term-1 = Cuir na leanas sa bhàr URL <code>about:config</code> +rights-locationawarebrowsing-term-2 = Cuir a-steach geo.enabled +rights-locationawarebrowsing-term-3 = Dèan briogadh dùbailte air an roghainn geo.enabled +rights-locationawarebrowsing-term-4 = Tha brabhsadh a mhothaicheas dha d' àite dheth a-nis +rights-webservices-unbranded = An overview of the web site services the product incorporates, along with instructions on how to disable them, if applicable, should be included here. +rights-webservices-term-unbranded = Any applicable service terms for this product should be listed here. +rights-webservices-term-1 = { -vendor-short-name } and its contributors, licensors and partners work to provide the most accurate and up-to-date Services. However, we cannot guarantee that this information is comprehensive and error-free. For example, the Safe Browsing Service may not identify some risky sites and may identify some safe sites in error and the Location Aware Service all locations returned by our service providers are estimates only and neither we nor our service providers guarantee the accuracy of the locations provided. +rights-webservices-term-2 = { -vendor-short-name } may discontinue or change the Services at its discretion. +rights-webservices-term-3 = You are welcome to use these Services with the accompanying version of { -brand-short-name }, and { -vendor-short-name } grants you its rights to do so. { -vendor-short-name } and its licensors reserve all other rights in the Services. These terms are not intended to limit any rights granted under open source licenses applicable to { -brand-short-name } and to corresponding source code versions of { -brand-short-name }. +rights-webservices-term-4 = <strong>The Services are provided "as-is." { -vendor-short-name }, its contributors, licensors, and distributors, disclaim all warranties, whether express or implied, including without limitation, warranties that the Services are merchantable and fit for your particular purposes. You bear the entire risk as to selecting the Services for your purposes and as to the quality and performance of the Services. Some jurisdictions do not allow the exclusion or limitation of implied warranties, so this disclaimer may not apply to you.</strong> +rights-webservices-term-5 = <strong>Except as required by law, { -vendor-short-name }, its contributors, licensors, and distributors will not be liable for any indirect, special, incidental, consequential, punitive, or exemplary damages arising out of or in any way relating to the use of { -brand-short-name } and the Services. The collective liability under these terms will not exceed $500 (five hundred dollars). Some jurisdictions do not allow the exclusion or limitation of certain damages, so this exclusion and limitation may not apply to you.</strong> +rights-webservices-term-6 = { -vendor-short-name } may update these terms as necessary from time to time. These terms may not be modified or canceled without { -vendor-short-name }'s written agreement. +rights-webservices-term-7 = These terms are governed by the laws of the state of California, U.S.A., excluding its conflict of law provisions. If any portion of these terms is held to be invalid or unenforceable, the remaining portions will remain in full force and effect. In the event of a conflict between a translated version of these terms and the English language version, the English language version shall control. diff --git a/thunderbird-l10n/gd/localization/gd/messenger/aboutSupportCalendar.ftl b/thunderbird-l10n/gd/localization/gd/messenger/aboutSupportCalendar.ftl new file mode 100644 index 0000000000000000000000000000000000000000..14600a580c39e477c7ed688c2da916a50c23e78a --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/aboutSupportCalendar.ftl @@ -0,0 +1,33 @@ +# 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/. + +calendars-title = Roghainnean a’ mhìosachain +calendars-table-heading-property = Ainm +calendars-table-heading-value = Luach +calendars-table-name = Ainm +calendars-table-type = Seòrsa +calendars-table-disabled = À comas +calendars-table-username = Ainm-cleachdaiche +calendars-table-uri = URI +calendars-table-refreshinterval = Eadaramh an ath-nuadhachaidh +calendars-table-readonly = Ri leughadh a-mhàin +calendars-table-suppressalarms = Mùch na caismeachdan +calendars-table-cache-enabled = Tha an tasgadan an comas +calendars-table-imip-identity = Dearbh-aithne iMIP +calendars-table-imip-identity-disabled = Tha iMIP à comas +calendars-table-imip-identity-account = Cunntas iMIP +calendars-table-organizerid = ID an eagraiche +calendars-table-forceemailscheduling = Spàrr sgeidealachadh puist-d +calendars-table-capabilities-alarms-popup-supported = Tha taic ri priob-chaismeachdan +calendars-table-capabilities-alarms-oninviations-supported = Tha taic ri caismeachdan an cois chuiridhean +calendars-table-capabilities-alarms-maxcount = An àireamh as motha de chaismeachdan gach tachartas +calendars-table-capabilities-attachments-supported = Tha taic ri ceanglachain +calendars-table-capabilities-categories-maxcount = An àireamh as motha de roinnean-seòrsa +calendars-table-capabilities-privacy-supported = Tha taic ri staid na prìobhaideachd +calendars-table-capabilities-priority-supported = Tha taic ri prìomhachas +calendars-table-capabilities-events-supported = Tha taic ri tachartasan +calendars-table-capabilities-tasks-supported = Tha taic ri saothraichean +calendars-table-capabilities-timezones-floating-supported = Tha taic ris an àm ionadail +calendars-table-capabilities-timezones-utc-supported = Tha taic ri UTC/GMT +calendars-table-capabilities-autoschedule-supported = Tha taic ri sgeidealachadh fèin-obrachail diff --git a/thunderbird-l10n/gd/localization/gd/messenger/aboutSupportChat.ftl b/thunderbird-l10n/gd/localization/gd/messenger/aboutSupportChat.ftl new file mode 100644 index 0000000000000000000000000000000000000000..82076c04d81365508feb31509a3224b148da2bd1 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/aboutSupportChat.ftl @@ -0,0 +1,11 @@ +# 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/. + +chat-title = Cunntasan cabadaich +chat-table-heading-account = ID +chat-table-heading-protocol = Pròtacal +chat-table-heading-name = Ainm +chat-table-heading-actions = Gnìomhan +chat-table-copy-debug-log = Dèan lethbhreac de loga an dì-bhugachaidh + .title = Cuir lethbhreacan de mhearachdan is logachadh eile on chunntas chabadaich seo air an stòr-bhòrd. Dh’fhaoidte gum bi fiosrachadh pearsanta ann mar theachdaireachdan cabadaich. diff --git a/thunderbird-l10n/gd/localization/gd/messenger/aboutSupportMail.ftl b/thunderbird-l10n/gd/localization/gd/messenger/aboutSupportMail.ftl new file mode 100644 index 0000000000000000000000000000000000000000..19375638973452c46afa1f2323e3f895e0be9e41 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/aboutSupportMail.ftl @@ -0,0 +1,29 @@ +# 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/. + +accounts-title = Cunntasan puist is naidheachdan +show-private-data-main-text = Gabh a-steach ainmean chunntasan +show-private-data-explanation-text = (fiosrachadh air a dh’aithnichear thu fhèin ma dh’fhaoidte) +accounts-ID = ID +accounts-name = Ainm +accounts-incoming-server = Am frithealaiche a-steach +accounts-outgoing-servers = Frithealaichean a-mach +accounts-server-name = Ainm +accounts-conn-security = Tèarainteachd a’ cheangail +accounts-auth-method = An dòigh dearbhaidh +accounts-default = Bun-roghainn? +identity-name = Dearbh-aithne +send-via-email = Cuir air a’ phost-d +app-basics-telemetry = Dàta telemeatraidh +app-basics-cache-use = Cleachdadh an tasgadain +mail-libs-title = Leabhar-lannan +libs-table-heading-library = Leabhar-lann +libs-table-heading-expected-version = An tionndadh as lugha ris a tha dùil +libs-table-heading-loaded-version = An tionndadh a tha ga chleachdadh +libs-table-heading-path = Slighe +libs-table-heading-status = Staid +libs-rnp-status-ok = Ceart ma-thà +libs-rnp-status-load-failed = Dh’fhàillig a luchdadh. Chan obraich OpenPGP. +libs-rnp-status-incompatible = Tionndadh nach eil co-chòrdail. Chan obraich OpenPGP. +libs-rnp-status-unofficial = Tionndadh neo-oifigeach. Dh’fhaoidte nach obraich OpenPGP mar a bhiodh dùil. diff --git a/thunderbird-l10n/gd/localization/gd/messenger/accountCentral.ftl b/thunderbird-l10n/gd/localization/gd/messenger/accountCentral.ftl new file mode 100644 index 0000000000000000000000000000000000000000..a31966b5596d1d372a884d60e85120c67b8d7e1a --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/accountCentral.ftl @@ -0,0 +1,57 @@ +# 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/. + +account-central-title = Fàilte gu { -brand-full-name } +account-settings = Roghainnean a’ chunntais +# $accounts (Number) - the number of configured accounts +setup-title = + { $accounts -> + [0] Tagh na thèid a shuidheachadh + [one] Suidhich cunntas eile + [two] Suidhich cunntas eile + [few] Suidhich cunntas eile + *[other] Suidhich cunntas eile + } +about-title = Mu { -brand-full-name } +resources-title = Goireasan +release-notes = + .title = Mu { -brand-full-name } +email-label = Post-d + .aria-label = Ceangail ri cunntas puist-d a th’ agad mu thràth +email-description = Bheir { -brand-short-name } comas dhut ceangal ri cunntas puist-d a th’ agad mu thràth airson am post-d agad a leughadh gun duilgheadas o bhroinn na h-aplacaid. +calendar-label = Mìosachan + .aria-label = Cruthaich mìosachan ùr +calendar-description = Bheir { -brand-short-name } comas dhut tachartasan a làimhseachadh a chumail rian air cùisean. Ma cheanglas tu ri mìosachan cèin, cumaidh sinn na tachartasan air fad agad sioncronaichte air feadh nan uidheaman agad air fad. +chat-label = Cabadaich + .aria-label = Ceangail ris a’ chunntas chabadaich agad +chat-description = Bheir { -brand-short-name } comas dhut ceangal ri iomadh cunntas grad-theachdaireachd is e a’ cur taic ri iomadh ùrlar. +filelink-label = Filelink + .aria-label = Suidhich Filelink +filelink-description = Bheir { -brand-short-name } comas dhut cunntas Filelink goireasach san neul a shuidheachadh airson ceanglachain mhòra a chur gun duilgheadas. +addressbook-label = Leabhar nan seòladh + .aria-label = Cruthaich leabhar-sheòlaidhean ùr +addressbook-description = Bheir { -brand-short-name } comas dhut an luchd-aithne air fad agad a stiùireadh ann an leabhar-sheòlaidhean. Is urrainn dhut leabhar-sheòlaidhean cèin a cheangal ris cuideachd airson an luchd-aithne air fad agad a chumail sioncronaichte. +feeds-label = Inbhirean + .aria-label = Ceangail ri inbhirean +feeds-description = Bheir { -brand-short-name } comas dhut ceangal ri inbhirean RSS/Atom airson naidheachdan fhaighinn o fheadh an t-saoghail. +newsgroups-label = Buidhnean-naidheachd + .aria-label = Ceangail ri buidheann-naidheachd +newsgroups-description = Bheir { -brand-short-name } comas dhut ceangal ris na buidhnean-naidheachd air fad a tha a dhìth ort. +import-title = Ion-phortaich o phrògram eile +import-paragraph2 = Bheir { -brand-short-name } comas dhut teachdaireachdan puist, clàran ann an leabhraichean-sheòlaidhean, fo-sgrìobhaidhean aig inbhirean agus/no criathragan o phrògraman puist is leabhraichean-sheòlaidhean ann am fòrmatan eile ion-phortadh. +import-label = Ion-phortaich + .aria-label = Ion-phortaich dàta o phrògraman eile +about-paragraph = ’S e Thunderbird am prìomh-chliant airson post-d agus mìosachan a dh’obraicheas air feadh nan ùrlaran ann an saoghal bathar-bog còd fosgailte, saor an-asgaidh do ghnìomhachasan is cleachdadh pearsanta. Tha sinn airson a chumail tèarainte ’s a dhèanamh fiù nas fhearr. +about-paragraph-consider-donation = <b>Tha Thunderbird ga mhaoineachadh le daoine mar thu fhèin! Ma tha Thunderbird a’ còrdadh riut, nach cùm thu taic rinn?</b> Ma bheir thu <a data-l10n-name="donation-link">tabhartas</a> dhuinn, sin an dòigh as fheàrr airson dèanamh cinnteach gum fan Thunderbird beò. +explore-link = Fidir na gleusan +support-link = Taic +involved-link = Gabh pàirt ann +developer-link = Docamaideachd luchd-leasachaidh +read = Leugh teachdaireachdan +compose = Sgrìobh teachdaireachd ùr +search = Lorg teachdaireachdan +filter = Stiùirich na criathragan theachdaireachdan +nntp-subscription = Stiùirich na fo-sgrìobhaidhean aig buidhnean-naidheachd +rss-subscription = Stiùirich na fo-sgrìobhaidhean aig inbhirean +e2e = Crioptachadh ceann ri cheann diff --git a/thunderbird-l10n/gd/localization/gd/messenger/accountManager.ftl b/thunderbird-l10n/gd/localization/gd/messenger/accountManager.ftl new file mode 100644 index 0000000000000000000000000000000000000000..98e2e575075efa0aa205d258fd4227446cccaa09 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/accountManager.ftl @@ -0,0 +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/. + +open-preferences-sidebar-button2 = Roghainnean { -brand-short-name } +open-addons-sidebar-button = Tuilleadain ’s ùrlaran +account-action-add-newsgroup-account = + .label = Cuir cunntas buidhinn-naidheachd ris… + .accesskey = n +server-change-restart-required = Tha feum air ath-thòiseachadh mus tèid ainm ùr an fhrithealaiche no a’ chleachdaiche a chur an sàs. +edit-vcard-dialog-accept-button = Sàbhail + .accesskey = S +edit-vcard-dialog-cancel-button = Sguir dheth + .accesskey = d diff --git a/thunderbird-l10n/gd/localization/gd/messenger/accountProvisioner.ftl b/thunderbird-l10n/gd/localization/gd/messenger/accountProvisioner.ftl new file mode 100644 index 0000000000000000000000000000000000000000..e708923f720d6c751b3b3333dc54c2c2d285297e --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/accountProvisioner.ftl @@ -0,0 +1,59 @@ +# 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/. + +account-provisioner-tab-title = Faigh seòladh puist-d ùr o sholaraiche seirbheise +provisioner-searching-icon = + .alt = A’ lorg… +account-provisioner-title = Cruthaich seòladh puist-d ùr +account-provisioner-description = Cleachd na com-pàirtichean earbsach againn airson seòladh puist-d ùr a bhios prìobhaideach is tèarainte. +account-provisioner-start-help = Thèid briathran-luirg a chur gu { -vendor-short-name } (<a data-l10n-name="mozilla-privacy-link">am poileasaidh prìobhaideachd</a>) agus solaraichean puist-d le treas-phàrtaidhean <strong>mailfence.com</strong> (<a data-l10n-name="mailfence-privacy-link">am poileasaidh prìobhaideachd</a>, <a data-l10n-name="mailfence-tou-link">teirmichean a’ chleachdaidh</a>) agus <strong>gandi.net</strong> (<a data-l10n-name="gandi-privacy-link">am poileasaidh prìobhaideachd</a>, <a data-l10n-name="gandi-tou-link">teirmichean a’ chleachdaidh</a>) airson seòlaidhean puist-d a tha ri làimh a lorg. +account-provisioner-mail-account-title = Ceannaich seòladh puist-d ùr +account-provisioner-mail-account-description = Tha Thunderbird ann an com-pàirteachas le <a data-l10n-name="mailfence-home-link">Mailfence</a> airson seirbheis puist ùr a sholarachadh a tha prìobhaideach is tèarainte. Tha sinn dhen bheachd gu bheil a h-uile duine airidh air post-d tèarainte. +account-provisioner-domain-title = Ceannaich post-d is àrainn dhut fhèin +account-provisioner-domain-description = Chaidh Thunderbird ann an com-pàirteachas le <a data-l10n-name="gandi-home-link">Gandi</a> airson àrainn ghnàthaichte a thairgsinn dhut. Bheir seo comas dhut seòladh sam bith air an àrainn ud a chleachdadh. + +## Forms + +account-provisioner-mail-input = + .placeholder = D’ ainm, far-ainm no briathar-luirg eile +account-provisioner-domain-input = + .placeholder = D’ ainm, far-ainm no briathar-luirg eile +account-provisioner-search-button = Lorg +account-provisioner-button-cancel = Sguir dheth +account-provisioner-button-existing = Cleachd cunntas puist-d a th’ agad mu thràth +account-provisioner-button-back = Air ais + +## Notifications + +account-provisioner-fetching-provisioners = A’ faighinn an luchd-solarachaidh… +account-provisioner-connection-issues = Cha b’ urrainn dhuinn conaltradh a dhèanamh leis an fhrithealaiche chlàraidh againn. Thoir sùil air a’ cheangal agad ach a bheil e ann. +account-provisioner-searching-email = A’ lorg cunntasan puist a tha ri fhaighinn… +account-provisioner-searching-domain = A’ lorg àrainnean a tha ri fhaighinn… +account-provisioner-searching-error = Cha b’ urrainn dhuinn seòladh sam bith a lorg a mholamaid dhut. Feuch briathran-luirg eile. + +## Illustrations + +account-provisioner-step1-image = + .title = Tagh dè an cunntas a thèid a chruthachadh + +## Search results + +# Variables: +# $count (Number) - The number of domains found during search. +account-provisioner-results-title = + { $count -> + [one] Lorg sinn { $count } seòladh a tha ri fhaighinn airson: + [two] Lorg sinn { $count } sheòladh a tha ri fhaighinn airson: + [few] Lorg sinn { $count } seòlaidhean a tha ri fhaighinn airson: + *[other] Lorg sinn { $count } seòladh a tha ri fhaighinn airson: + } +account-provisioner-mail-results-caption = ’S urrainn dhut far-ainmean no briathran eile a chur a-steach airson barrachd phost-d a lorg. +account-provisioner-domain-results-caption = ’S urrainn dhut far-ainmean no briathran eile a chur a-steach airson barrachd àrainnean a lorg. +account-provisioner-free-account = An-asgaidh +# Variables: +# $price (String) - Yearly fee for the mail account. For example "US $9.99". +account-provision-price-per-year = { $price } gach bliadhna +account-provisioner-all-results-button = Seall gach toradh +account-provisioner-open-in-tab-img = + .title = Fosgail ann an taba ùr diff --git a/thunderbird-l10n/gd/localization/gd/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/gd/localization/gd/messenger/accountcreation/accountHub.ftl new file mode 100644 index 0000000000000000000000000000000000000000..9b904a2e9f19ce652d3fb3c113c996542c32e78e --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/accountcreation/accountHub.ftl @@ -0,0 +1,47 @@ +# 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/. + + +### Account Hub +### Account hub is where user can setup new accounts in Thunderbird. + + +## Header + +account-hub-brand = { -brand-full-name } +account-hub-welcome-line = Fàilte gu <span data-l10n-name="brand-name">{ -brand-full-name }</span> +account-hub-title = Làr-ionad nan cunntasan + +## Footer + +account-hub-release-notes = Na notaichean sgaoilidh +account-hub-support = Taic +account-hub-donate = Thoir tabhartas + +## Initial setup page + +account-hub-email-setup-button = Cunntas puist-d + .title = Suidhich cunntas puist-d +account-hub-calendar-setup-button = Mìosachan + .title = Suidhich mìosachan cèin no ionadail +account-hub-address-book-setup-button = Leabhar-sheòlaidhean + .title = Suidhich leabhar-sheòlaidhean cèin no ionadail +account-hub-chat-setup-button = Cabadaich + .title = Suidhich cunntas cabadaich +account-hub-feed-setup-button = Inbhir RSS + .title = Suidhich cunntas inbhir RSS +account-hub-newsgroup-setup-button = Buidheann-naidheachd + .title = Suidhich cunntas airson buidhnean-naidheachd +account-hub-import-setup-button = Ion-phortaich + .title = Ion-phortaich lethbhreac-glèidhidh de phròifil a rinn thu roimhe +# Note: "Sync" represents the Firefox Sync product so it shouldn't be translated. +account-hub-sync-button = Clàraich a-steach gu gleus an t-sioncronachaidh... + +## Email page + +account-hub-email-title = Suidhich an cunntas puist-d agad +account-hub-email-cancel-button = Sguir dheth +account-hub-email-back-button = Air ais +account-hub-email-continue-button = Lean air adhart +account-hub-email-confirm-button = Dearbh diff --git a/thunderbird-l10n/gd/localization/gd/messenger/accountcreation/accountSetup.ftl b/thunderbird-l10n/gd/localization/gd/messenger/accountcreation/accountSetup.ftl new file mode 100644 index 0000000000000000000000000000000000000000..48ca386607d5e6124323874f0bafd5914cba00da --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/accountcreation/accountSetup.ftl @@ -0,0 +1,300 @@ +# 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/. + +account-setup-tab-title = Suidheachadh a’ chunntais + +## Header + +account-setup-title = Suidhich seòladh puist-d a tha agad mu thràth +account-setup-description = Cuir a-steach am fiosrachadh a tha a dhìth airson an seòladh puist-d a th’ agad mu thràth a chleachdadh. +account-setup-secondary-description = Bheir { -brand-product-name } sùil gu fèin-obrachail feuch a bheil rèiteachadh frithealaiche ann a mholar ’s a tha ag obair. +account-setup-success-title = Chaidh an cunntas a chruthachadh +account-setup-success-description = ’S urrainn dhut an cunntas seo a chleachdadh le { -brand-short-name } a-nis. +account-setup-success-secondary-description = ’S urrainn dhut an àrainneachd a leasachadh is tu a’ ceangal seirbheisean co-cheangailte ris agus a’ rèiteachadh roghainnean adhartan a + +## Form fields + +account-setup-name-label = D’ ainm slàn + .accesskey = n +# Note: "John Doe" is a multiple-use name that is used when the true name of a person is unknown. We use this fake name as an input placeholder. Translators should update this to reflect the placeholder name of their language/country. +account-setup-name-input = + .placeholder = Calum MacCaluim +account-setup-name-info-icon = + .title = D' ainm, mar a chì daoine eile e +account-setup-name-warning-icon = + .title = Cuir a-steach d’ ainm +account-setup-email-label = Seòladh puist-d + .accesskey = e +account-setup-email-input = + .placeholder = calummaccaluim@example.com +account-setup-email-info-icon = + .title = An seòladh puist-d a th’ agad +account-setup-email-warning-icon = + .title = Seòladh puist-d mì-dhligheach +account-setup-password-label = Facal-faire + .accesskey = F + .title = Roghainneil, cha tèid a chleachdadh ach airson an t-ainm-cleachdaiche a dhearbhadh +account-provisioner-button = Faigh seòladh puist-d ùr + .accesskey = F +account-setup-password-toggle-show = + .title = Seall am facal-faire ann an teacsa soilleir +account-setup-password-toggle-hide = + .title = Falaich am facal-faire +account-setup-remember-password = Cuimhnich am facal-faire + .accesskey = m +account-setup-exchange-label = An clàradh a-steach agad + .accesskey = l +# YOURDOMAIN refers to the Windows domain in ActiveDirectory. yourusername refers to the user's account name in Windows. +account-setup-exchange-input = + .placeholder = AN_ÀRAINN_AGAD\an_t-ainm-cleachdaiche_agad +# Domain refers to the Windows domain in ActiveDirectory. We mean the user's login in Windows at the local corporate network. +account-setup-exchange-info-icon = + .title = Clàradh a-steach àrainn + +## Action buttons + +account-setup-button-cancel = Sguir dheth + .accesskey = h +account-setup-button-manual-config = Rèitich de làimh + .accesskey = m +account-setup-button-stop = Stad + .accesskey = S +account-setup-button-retest = Ath-dheuchainn + .accesskey = t +account-setup-button-continue = Air adhart + .accesskey = d +account-setup-button-done = Deiseil + .accesskey = D + +## Notifications + +account-setup-looking-up-settings = A’ lorg an rèiteachaidh… +account-setup-looking-up-settings-guess = A’ lorg rèiteachadh – a’ feuchainn ainmean fhrithealaichean cumanta… +account-setup-looking-up-settings-half-manual = A' lorg rèiteachadh – a’ probhadh an fhrithealaiche… +account-setup-looking-up-disk = A’ lorg rèiteachadh – Stàladh { -brand-short-name }… +account-setup-looking-up-isp = A' lorg rèiteachadh – solaraiche a’ phuist-d… +# Note: Do not translate or replace Mozilla. It stands for the public project mozilla.org, not Mozilla Corporation. The database is a generic, public domain facility usable by any client. +account-setup-looking-up-db = A’ lorg rèiteachadh – stòr-dàta ISP Mozilla… +account-setup-looking-up-mx = A’ lorg rèiteachadh – àrainn a’ phuist a-steach… +account-setup-looking-up-exchange = A’ lorg rèiteachadh – frithealaiche Exchange… +account-setup-checking-password = A’ sgrùdadh an fhacail-fhaire… +account-setup-installing-addon = A’ luchdadh a-nuas is a’ stàladh an tuilleadain… +account-setup-success-half-manual = Chaidh na roghainnean a leanas a lorg le bhith a’ probhadh an fhrithealaiche ann: +account-setup-success-guess = Chaidh rèiteachadh a lorg le bhith a’ feuchainn ainmean fhrithealaichean cumanta. +account-setup-success-guess-offline = Chan eil thu air loidhne. Rinn sinn tomhas air cuid dhe na roghainnean ach feumaidh tu an cur ceart. +account-setup-success-password = Tha am facal-faire ceart +account-setup-success-addon = Chaidh an tuilleadan a stàladh +# Note: Do not translate or replace Mozilla. It stands for the public project mozilla.org, not Mozilla Corporation. The database is a generic, public domain facility usable by any client. +account-setup-success-settings-db = Chaidh rèiteachadh a lorg san stòr-dàta aig ISP Mozilla. +account-setup-success-settings-disk = Chaidh rèiteachadh a lorg ann an stàladh { -brand-short-name }. +account-setup-success-settings-isp = Chaidh rèiteachadh a lorg air solaraiche a’ phuist. +# Note: Microsoft Exchange is a product name. +account-setup-success-settings-exchange = Chaidh rèiteachadh airson frithealaiche Exchange Microsoft a lorg. + +## Illustrations + +account-setup-step1-image = + .title = Suidheachadh tùsail +account-setup-step2-image = + .title = A’ luchdadh… +account-setup-step3-image = + .title = Chaidh rèiteachadh a lorg +account-setup-step4-image = + .title = Mearachd leis a’ cheangal +account-setup-step5-image = + .title = Chaidh an cunntas a chruthachadh +account-setup-privacy-footnote2 = Cha tèid na teisteasan agad a stòradh ach gu h-ionadail air a’ choimpiutair agad. +account-setup-selection-help = Ann an imcheist dè thaghas tu? +account-setup-selection-error = Cobhair a dhìth? +account-setup-success-help = Dragh ort mun ath-cheum? +account-setup-documentation-help = Docamaideadh an t-suidheachaidh +account-setup-forum-help = Fòram na taice +account-setup-privacy-help = Am poileasaidh prìobhaideachd +account-setup-getting-started = Toiseach-tòiseachaidh + +## Results area + +# Variables: +# $count (Number) - Number of available protocols. +account-setup-results-area-title = + { $count -> + [one] Tha rèiteachadh ri fhaighinn + [two] Tha rèiteachaidhean ri am fhaighinn + [few] Tha rèiteachaidhean ri am fhaighinn + *[other] Tha rèiteachaidhean ri am fhaighinn + } +account-setup-result-imap-description = Cùm am pasgan is am post-d agad sioncronaichte air an fhrithealaiche agad +account-setup-result-pop-description = Cùm na pasganan is am post-d agad air a’ choimpiutair agad +# Note: Exchange, Office365 are the name of products. +account-setup-result-exchange2-description = Cleachd frithealaiche Microsoft Exchange no seirbheisean Office365 san neul +account-setup-incoming-title = A-steach +account-setup-outgoing-title = A-mach +account-setup-username-title = Ainm-cleachdaiche +account-setup-exchange-title = Frithealaiche +account-setup-result-no-encryption = Gun chrioptachadh +account-setup-result-ssl = SSL/TLS +account-setup-result-starttls = STARTTLS +account-setup-result-outgoing-existing = Cleachd frithealaiche a-mach SMTP làithreach +# Variables: +# $incoming (String): The email/username used to log into the incoming server +# $outgoing (String): The email/username used to log into the outgoing server +account-setup-result-username-different = A-steach: { $incoming }, A-mach: { $outgoing } + +## Error messages + +# Note: The reference to "janedoe" (Jane Doe) is the name of an example person. You will want to translate it to whatever example persons would be named in your language. In the example, AD is the name of the Windows domain, and this should usually not be translated. +account-setup-credentials-incomplete = Dh’fhàillig an dearbhadh. Tha na chuir thu a-steach ceàrr no tha feum air ainm-cleachdaiche fa leth airson clàradh a-steach. Mar is trice, ’s e an t-ainm leis an clàraich thu a-steach air an àrainn Windows agad an t-ainm-cleachdaiche, le no as aonais na h-àrainne (mar eisimpleir, unanicualraig no AD\\unanicualraig) +account-setup-credentials-wrong = Dh’fhàillig an dearbhadh. Thoir sùil air an ainm-chleachdaiche ’s air an fhacal-fhaire +account-setup-find-settings-failed = Cha b’ urrainn dha { -brand-short-name } na roghainnean airson cunntas a’ phuist-d agad a lorg +account-setup-exchange-config-unverifiable = Cha b’ urrainn dhuinn an rèiteachadh a dhearbhadh. Ma tha an t-ainm-cleachdaiche ’s am facal-faire agad ceart, ’s mathaid gun do chuir rianaire an fhrithealaiche an rèiteachadh a thagh thu dhan chunntas agad à comas. Feuch pròtacal eile. +account-setup-provisioner-error = Thachair mearachd fhad ’s a bha sinn a’ suidheachadh a’ chunntais ùir agad ann an { -brand-short-name }. Feuch is suidhich an cunntas agad de làimh. + +## Manual configuration area + +account-setup-manual-config-title = Rèiteachadh de làimh +account-setup-incoming-server-legend = Am frithealaiche a-steach +account-setup-protocol-label = Pròtacal: +account-setup-hostname-label = Ainm an òstair: +account-setup-port-label = Port: + .title = Tagh 0 mar àireamh a’ phuirt airson fèin-mhothachadh +account-setup-auto-description = Nì { -brand-short-name } oidhirp raointean a tha bàn a lorg leis fhèin. +account-setup-ssl-label = Tèarainteachd a’ cheangail: +account-setup-outgoing-server-legend = Am frithealaiche a-mach + +## Incoming/Outgoing SSL Authentication options + +ssl-autodetect-option = Fèin-mhothaich +ssl-no-authentication-option = Gun dearbhachadh +ssl-cleartext-password-option = Facal-faire àbhaisteach +ssl-encrypted-password-option = Facal-faire crioptaichte + +## Incoming/Outgoing SSL options + +ssl-noencryption-option = Gun chrioptachadh +account-setup-auth-label = An dòigh dearbhachaidh: +account-setup-username-label = Ainm-cleachdaiche: +account-setup-advanced-setup-button = Rèiteachadh adhartach + .accesskey = a + +## Warning insecure server dialog + +account-setup-insecure-title = Rabhadh! +account-setup-insecure-incoming-title = Roghainnean a-steach: +account-setup-insecure-outgoing-title = Roghainnean a-mach: +# Variables: +# $server (String): The name of the hostname of the server the user was trying to connect to. +account-setup-warning-cleartext = Chan eil <b>{ $server }</b> a’ cleachdadh crioptachadh. +account-setup-warning-cleartext-details = Chan eil frithealaichean puist neo-thèarainte a' cleachdadh ceanglaichean crioptaichte gus na faclan-faire 's am fiosrachadh prìobhaideach agad a dhìon. Ma nì thu ceangal ris an fhrithealaiche seo, faodaidh gun nochd thu am facal-faire 's fiosrachadh prìobhaideach agad. +account-setup-insecure-server-checkbox = Tuigidh mi an cunnart + .accesskey = u +account-setup-insecure-description = ’S urrainn dha { -brand-short-name } cead a thoirt dhut am post agad fhaighinn leis na roghainnean a thagh thu. Ge-tà, bu chòir dhut fios a leigeil dhan rianadair agad no do sholaraiche a' phuist-dhealain agad a thaobh nan ceanglaichean neo-iomchaidh seo. Faic na <a data-l10n-name="thunderbird-faq-link">CÀBHA aig Thunderbird</a> airson barrachd fiosrachaidh. +insecure-dialog-cancel-button = Atharraich na roghainnean + .accesskey = t +insecure-dialog-confirm-button = Dearbh + .accesskey = e + +## Warning Exchange confirmation dialog + +# Variables: +# $domain (String): The name of the server where the configuration was found, e.g. rackspace.com. +exchange-dialog-question = Lorg { -brand-short-name } am fiosrachadh airson an cunntas agad a shuidheachadh air { $domain }. A bheil thu airson leantainn air adhart is an teisteas agad a chur? +exchange-dialog-confirm-button = Clàraich a-steach +exchange-dialog-cancel-button = Sguir dheth + +## Dismiss account creation dialog + +exit-dialog-title = Cha deach cunntas puist-d a rèiteachadh +exit-dialog-description = A bheil thu cinnteach gu bheil thu airson sgur dhen t-suidheachadh? ’S urrainn dhut { -brand-short-name } a chleachdadh gun chunntas puist-d fhathast ach tha mòran ghleusan ann nach bi ri do làimh. +account-setup-no-account-checkbox = Cleachd { -brand-short-name } gun chunntas puist-d + .accesskey = e +exit-dialog-cancel-button = Lean air an t-suidheachadh + .accesskey = c +exit-dialog-confirm-button = Fàg an suidheachadh + .accesskey = s + +## Alert dialogs + +account-setup-creation-error-title = Mearachd rè cruthachadh a’ chunntais +account-setup-error-server-exists = Tha am frithealaiche a-steach ann mu thràth. +account-setup-confirm-advanced-title = Dearbh an rèiteachadh adhartach +account-setup-confirm-advanced-description = Thèid an còmhradh seo a dhùnadh agus thèid cunntas leis na roghainnean làithreach a chruthachadh, fiù ma bhios an rèiteachadh ceàrr. A bheil thu airson leantainn air adhart? + +## Addon installation section + +account-setup-addon-install-title = Stàlaich +account-setup-addon-install-intro = Gheibh thu cothrom air a’ chunntas phuist-d agad on fhrithealaiche seo le tuilleadan le treas-phàrtaidh: +account-setup-addon-no-protocol = Gu mì-fhortanach, chan eil frithealaiche a’ phuist-d a’ cur taic ri pròtacalan fosgailte. { account-setup-addon-install-intro } + +## Success view + +account-setup-settings-button = Roghainnean a’ chunntais +account-setup-encryption-button = Crioptachadh ceann ri cheann +account-setup-signature-button = Cuir soidhneadh ris +account-setup-dictionaries-button = Luchdaich a-nuas faclairean +account-setup-address-book-carddav-button = Ceangail ri leabhar-sheòlaidhean CardDAV +account-setup-address-book-ldap-button = Ceangail ri leabhar-sheòlaidhean LDAP +account-setup-calendar-button = Ceangail ri mìosachan cèin +account-setup-linked-services-title = Ceangail na seirbheisean co-cheangailte agad ris +account-setup-linked-services-description = Mhothaich { -brand-short-name } do sheirbheisean eile a tha co-cheangailte ri cunntas a’ phuist-d agad. +account-setup-no-linked-description = Suidhich seirbheisean eile airson { -brand-short-name } a chur gu làn-fheum. +# Variables: +# $count (Number) - The number of address books found during autoconfig. +account-setup-found-address-books-description = + { $count -> + [one] Lorg { -brand-short-name } { $count } leabhar-sheòlaidhean a tha co-cheangailte ris a’ chunntas phuist-d agad. + [two] Lorg { -brand-short-name } { $count } leabhar-sheòlaidhean a tha co-cheangailte ris a’ chunntas phuist-d agad. + [few] Lorg { -brand-short-name } { $count } leabhraichean-sheòlaidhean a tha co-cheangailte ris a’ chunntas phuist-d agad. + *[other] Lorg { -brand-short-name } { $count } leabhar-sheòlaidhean a tha co-cheangailte ris a’ chunntas phuist-d agad. + } +# Variables: +# $count (Number) - The number of calendars found during autoconfig. +account-setup-found-calendars-description = + { $count -> + [one] Lorg { -brand-short-name } { $count } mhìosachan a tha co-cheangailte ris a’ chunntas phuist-d agad. + [two] Lorg { -brand-short-name } { $count } mhìosachan a tha co-cheangailte ris a’ chunntas phuist-d agad. + [few] Lorg { -brand-short-name } { $count } mìosachain a tha co-cheangailte ris a’ chunntas phuist-d agad. + *[other] Lorg { -brand-short-name } { $count } mìosachan a tha co-cheangailte ris a’ chunntas phuist-d agad. + } +account-setup-button-finish = Coilean + .accesskey = o +account-setup-looking-up-address-books = A’ lorg leabhraichean-sheòlaidhean… +account-setup-looking-up-calendars = A’ lorg mìosachain… +account-setup-address-books-button = Leabhraichean-sheòlaidhean +account-setup-calendars-button = Mìosachain +account-setup-connect-link = Ceangail +account-setup-existing-address-book = Co-cheangailte + .title = Chaidh an leabhar-sheòlaidhean seo ceangal ris mu thràth +account-setup-existing-calendar = Co-cheangailte + .title = Chaidh am mìosachan seo ceangal ris mu thràth +account-setup-connect-all-calendars = Ceangail a h-uile mìosachan ris +account-setup-connect-all-address-books = Ceangail a h-uile leabhar-sheòlaidhean ris + +## Calendar synchronization dialog + +calendar-dialog-title = Ceangail mìosachan ris +calendar-dialog-cancel-button = Sguir dheth + .accesskey = u +calendar-dialog-confirm-button = Ceangail + .accesskey = n +account-setup-calendar-name-label = Ainm +account-setup-calendar-name-input = + .placeholder = Am mìosachan agam +account-setup-calendar-color-label = Dath +account-setup-calendar-refresh-label = Ath-nuadhaich +account-setup-calendar-refresh-manual = De làimh +# Variables: +# $count (Number) - Number of minutes in the calendar refresh interval. +account-setup-calendar-refresh-interval = + { $count -> + [one] Gach { $count } mhionaid + [two] Gach { $count } mhionaid + [few] Gach { $count } mionaidean + *[other] Gach { $count } mionaid + } +account-setup-calendar-read-only = Ri leughadh a-mhàin + .accesskey = R +account-setup-calendar-show-reminders = Seall cuimhneachain + .accesskey = S +account-setup-calendar-offline-support = Taic far loidhne + .accesskey = T diff --git a/thunderbird-l10n/gd/localization/gd/messenger/addonNotifications.ftl b/thunderbird-l10n/gd/localization/gd/messenger/addonNotifications.ftl new file mode 100644 index 0000000000000000000000000000000000000000..33901a1efbf5025979a88ca39f5a5b677402bd06 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/addonNotifications.ftl @@ -0,0 +1,134 @@ +# 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/. + +xpinstall-prompt = Cha do leig { -brand-short-name } leis an làrach seo iarraidh ort bathar-bog a stàladh air a’ choimpiutair agad. + +## Variables: +## $host (String): The hostname of the site the add-on is being installed from. + +xpinstall-prompt-header = A bheil thu airson cead a thoirt dha { $host } leudachan a stàladh? +xpinstall-prompt-message = Tha thu a’ feuchainn ri tuilleadan a stàladh o { $host }. Dèan cinnteach gu bheil earbsa agad san làrach seo mus lean thu air adhart. + +## + +xpinstall-prompt-header-unknown = A bheil thu airson cead a thoirt do làrach neo-aithnichte tuilleadan a stàladh? +xpinstall-prompt-message-unknown = Tha thu a’ feuchainn ri tuilleadan a stàladh o làrach neo-aithnichte. Dèan cinnteach gu bheil earbsa agad san làrach seo mus lean thu air adhart. +xpinstall-prompt-dont-allow = + .label = Na ceadaich + .accesskey = D +xpinstall-prompt-never-allow = + .label = Na ceadaich seo uair sam bith + .accesskey = N +# Long text in this context make the dropdown menu extend awkwardly to the left, +# avoid a localization that's significantly longer than the English version. +xpinstall-prompt-never-allow-and-report = + .label = Dèan aithris air làrach amharasach + .accesskey = r +# Accessibility Note: +# Be sure you do not choose an accesskey that is used elsewhere in the active context (e.g. main menu bar, submenu of the warning popup button) +# See https://website-archive.mozilla.org/www.mozilla.org/access/access/keyboard/ for details +xpinstall-prompt-install = + .label = Lean air adhart dhan stàladh + .accesskey = C + +# These messages are shown when a website invokes navigator.requestMIDIAccess. + +site-permission-install-first-prompt-midi-header = Tha an làrach seo ag iarraidh cead-inntrigidh dha na h-uidheaman MIDI (Musical Instrument Digital Interface) agad. ’S urrainn dhut inntrigeadh dhan uidheam a chur an comas le bhith a’ stàladh tuilleadan. +site-permission-install-first-prompt-midi-message = Chan eil làn-chinnt gum bi an t-inntrigeadh seo sàbhailte. Na lean air adhart ach ma tha earbsa agad san làrach seo. + +## + +xpinstall-disabled-locked = Chuir rianaire an t-siostaim agad casg air stàladh bathair-bhuig. +xpinstall-disabled = Chan eil stàladh bathair-bhuig an comas an-dràsta. Briog air “Cuir an comas” agus feuch ris a-rithist. +xpinstall-disabled-button = + .label = Cuir an comas + .accesskey = n +# 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-install-blocked-by-policy = Chaidh { $addonName } ({ $addonId }) a bhacadh le rianaire an t-siostaim agad. +# This message is shown when the installation of add-ons from a domain is blocked by enterprise policy. +addon-domain-blocked-by-policy = Cha do leig rianair an t-siostaim agad leis an làrach seo iarraidh ort bathar-bog a stàladh air a’ choimpiutair agad. +addon-install-full-screen-blocked = Chan fhaod thu tuilleadan a stàladh fhad ’s a tha thu ann am modh na làn-sgrìn no gu bhith dol ann. +# Variables: +# $addonName (String): the localized name of the sideloaded add-on. +webext-perms-sideload-menu-item = Chaidh { $addonName } a chur ri { -brand-short-name } +# Variables: +# $addonName (String): the localized name of the extension which has been updated. +webext-perms-update-menu-item = Feumaidh { $addonName } ceadan ùra + +## Add-on removal warning + +# Variables: +# $name (String): The name of the add-on that will be removed. +addon-removal-title = A bheil thu airson { $name } a thoirt air falbh? +# Variables: +# $name (String): the name of the extension which is about to be removed. +addon-removal-message = A bheil thu airson { $name } a thoirt air falbh o { -brand-shorter-name }? +addon-removal-button = Thoir air falbh +addon-removal-abuse-report-checkbox = Dèan aithris air an leudachan seo gu { -vendor-short-name } +# Variables: +# $addonCount (Number): the number of add-ons being downloaded +addon-downloading-and-verifying = + { $addonCount -> + [one] A’ luchdadh a-nuas is a’ dearbhadh { $addonCount } tuilleadan… + [two] A’ luchdadh a-nuas is a’ dearbhadh { $addonCount } thuilleadan… + [few] A’ luchdadh a-nuas is a’ dearbhadh { $addonCount } tuilleadain… + *[other] A’ luchdadh a-nuas is a’ dearbhadh { $addonCount } tuilleadan… + } +addon-download-verifying = ’Ga dhearbhadh +addon-install-cancel-button = + .label = Sguir dheth + .accesskey = C +addon-install-accept-button = + .label = Cuir ris + .accesskey = A + +## Variables: +## $addonCount (Number): the number of add-ons being installed + +addon-confirm-install-message = + { $addonCount -> + [one] Bu toigh leis an làrach seo { $addonCount } tuilleadan a stàladh sa { -brand-short-name } agad: + [two] Bu toigh leis an làrach seo { $addonCount } thuilleadan a stàladh sa { -brand-short-name } agad: + [few] Bu toigh leis an làrach seo { $addonCount } tuilleadain a stàladh sa { -brand-short-name } agad: + *[other] Bu toigh leis an làrach seo { $addonCount } tuilleadan a stàladh sa { -brand-short-name } agad: + } +addon-confirm-install-unsigned-message = + { $addonCount -> + [one] An aire: Bu chaomh leis an làrach seo { $addonCount } tuilleadan gun dearbhadh a stàladh ann an { -brand-short-name }. Leanaidh tu air adhart air do chunnart fhèin. + [two] An aire: Bu chaomh leis an làrach seo { $addonCount } thuilleadan gun dearbhadh a stàladh ann an { -brand-short-name }. Leanaidh tu air adhart air do chunnart fhèin. + [few] An aire: Bu chaomh leis an làrach seo { $addonCount } tuilleadain gun dearbhadh a stàladh ann an { -brand-short-name }. Leanaidh tu air adhart air do chunnart fhèin. + *[other] An aire: Bu chaomh leis an làrach seo { $addonCount } tuilleadan gun dearbhadh a stàladh ann an { -brand-short-name }. Leanaidh tu air adhart air do chunnart fhèin. + } +# Variables: +# $addonCount (Number): the number of add-ons being installed (at least 2) +addon-confirm-install-some-unsigned-message = + { $addonCount -> + [one] An aire: Bu mhath leis an làrach seo co-dhiù { $addonCount } tuilleadan a stàladh ann am { -brand-short-name } ach cha deach a dhearbhadh. Leanadh tu air adhart leis air do chunnart fhèin. + [two] An aire: Bu mhath leis an làrach seo co-dhiù { $addonCount } thuilleadan a stàladh ann am { -brand-short-name } ach cha deach a dhearbhadh. Leanadh tu air adhart leis air do chunnart fhèin. + [few] An aire: Bu mhath leis an làrach seo co-dhiù { $addonCount } tuilleadain a stàladh ann am { -brand-short-name } ach cha deach a dhearbhadh. Leanadh tu air adhart leis air do chunnart fhèin. + *[other] An aire: Bu mhath leis an làrach seo co-dhiù { $addonCount } tuilleadan a stàladh ann am { -brand-short-name } ach cha deach a dhearbhadh. Leanadh tu air adhart leis air do chunnart fhèin. + } + +## Add-on install errors +## Variables: +## $addonName (String): the add-on name. + +addon-install-error-network-failure = Cha b’ urrainn dhuinn an tuilleadan seo a luchdadh a-nuas a chionn ’s gun do dh’fhàillig an ceangal. +addon-install-error-incorrect-hash = Cha b’ urrainn dhuinn an tuilleadan seo a stàladh a chionn ’s nach eil e a’ freagairt ris an tuilleadan a bha dùil aig { -brand-short-name } ris. +addon-install-error-corrupt-file = Cha b’ urrainn dhuinn an tuilleadan a chaidh a luchdadh a-nuas on làrach seo a stàladh a chionn ’s gu bheil e truaillte a-rèir coltais. +addon-install-error-file-access = Cha b’ urrainn dhuinn { $addonName } a stàladh a chionn ’s nach urrainn dha { -brand-short-name } am faidhle air a bheil feum atharrachadh. +addon-install-error-not-signed = Cha do leig { -brand-short-name } leis an làrach seo tuilleadan neo-dhearbhte a stàladh. +addon-install-error-invalid-domain = Cha ghabh an tuilleadan { $addonName } a stàladh on ionad seo. +addon-local-install-error-network-failure = Cha do ghabh an tuilleadan seo a stàladh air sgàth mearachd ann an siostam nam faidhle. +addon-local-install-error-incorrect-hash = Cha b’ urrainn dhuinn an tuilleadan seo a stàladh a chionn ’s nach eil e a’ freagairt ris an tuilleadan a bha dùil aig { -brand-short-name } ris. +addon-local-install-error-corrupt-file = Cha do ghabh an tuilleadan seo a stàladh a chionn 's gu bheil e truaillte a-rèir coltais. +addon-local-install-error-file-access = Cha b’ urrainn dhuinn { $addonName } a stàladh a chionn ’s nach urrainn dha { -brand-short-name } am faidhle air a bheil feum atharrachadh. +addon-local-install-error-not-signed = Cha b’ urrainn dhuinn an tuilleadan seo a stàladh a chionn ’s nach deach a dhearbhadh. +# Variables: +# $appVersion (String): the application version. +addon-install-error-incompatible = Cha b’ urrainn dhuinn { $addonName } a stàladh a chionn ’s nach eil e co-chòrdail le { -brand-short-name } { $appVersion }. +addon-install-error-blocklisted = Cha b’ urrainn dhuinn { $addonName } a stàladh a chionn ’s bheil cunnart mòr gun adhbharaich e duilgheadasan seasmhachd no tèarainteachd. diff --git a/thunderbird-l10n/gd/localization/gd/messenger/addressbook/abCardDAVDialog.ftl b/thunderbird-l10n/gd/localization/gd/messenger/addressbook/abCardDAVDialog.ftl new file mode 100644 index 0000000000000000000000000000000000000000..9b14eb4d578e92fe5bdb5a17313c410d217c8588 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/addressbook/abCardDAVDialog.ftl @@ -0,0 +1,24 @@ +# 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/. + +carddav-window-title = Leabhar-sheòlaidhean CardDAV ùr… +carddav-dialog = + .buttonlabelaccept = Air adhart + .buttonaccesskeyaccept = A +carddav-username-label = + .value = Ainm-cleachdaiche: + .accesskey = A +carddav-location-label = + .value = Ionad: + .accesskey = d +carddav-location = + .default-placeholder = URL no ainm an òstair aig frithealaiche leabhar nan seòladh +carddav-loading = A’ lorg an rèiteachaidh… +# Variables: +# $url (String) - CardDAV endpoint hostname. For example "example.com". +carddav-known-incompatible = Tha fhios nach eil { $url } co-chòrdail le { -brand-short-name }. +carddav-connection-error = Dh’fhàillig an ceangal. +carddav-none-found = Cha do lorg sinn leabhar-sheòlaidhean sam bith airson a’ chunntais a shònraich thu. +carddav-already-added = Chaidh gach leabhar-sheòlaidhean airson a’ chunntais a shònraich thu a chur ris mu thràth. +carddav-available-books = Leabhraichean-sheòlaidhean a tha ri fhaighinn: diff --git a/thunderbird-l10n/gd/localization/gd/messenger/addressbook/abCardDAVProperties.ftl b/thunderbird-l10n/gd/localization/gd/messenger/addressbook/abCardDAVProperties.ftl new file mode 100644 index 0000000000000000000000000000000000000000..d8cc97be65cea8cf68c9d25c1d4f9459b59fee3f --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/addressbook/abCardDAVProperties.ftl @@ -0,0 +1,33 @@ +# 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/. + +carddav-url-label = + .value = URL CardDAV: + .accesskey = V +carddav-refreshinterval-label = + .label = Sioncronaich: + .accesskey = S +# Variables: +# $minutes (integer) - Number of minutes between address book synchronizations +carddav-refreshinterval-minutes-value = + .label = + { $minutes -> + [one] gach { $minutes } mhionaid + [two] gach { $minutes } mhionaid + [few] gach { $minutes } mionaidean + *[other] gach { $minutes } mionaid + } +# Variables: +# $hours (integer) - Number of hours between address book synchronizations +carddav-refreshinterval-hours-value = + .label = + { $hours -> + [one] gach { $hours } uair a thìde + [two] gach { $hours } uair a thìde + [few] gach { $hours } uairean a thìde + *[other] gach { $hours } uair a thìde + } +carddav-readonly-label = + .label = Ri leughadh a-mhàin + .accesskey = R diff --git a/thunderbird-l10n/gd/localization/gd/messenger/addressbook/aboutAddressBook.ftl b/thunderbird-l10n/gd/localization/gd/messenger/addressbook/aboutAddressBook.ftl new file mode 100644 index 0000000000000000000000000000000000000000..ef0a72977f69651fc0f9215f4b68e337e6422b1d --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/addressbook/aboutAddressBook.ftl @@ -0,0 +1,311 @@ +# 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/. + +about-addressbook-title = Leabhar nan seòladh + +## Toolbar + +about-addressbook-toolbar-new-address-book = + .label = Leabhar nan seòladh ùr +about-addressbook-toolbar-add-carddav-address-book = + .label = Cuir leabhar-sheòlaidhean CardDAV ris +about-addressbook-toolbar-add-ldap-address-book = + .label = Cuir leabhar-sheòlaidhean LDAP ris +about-addressbook-toolbar-new-contact = + .label = Neach-aithne ùr +about-addressbook-toolbar-new-list = + .label = Liosta ùr +about-addressbook-toolbar-import = + .label = Ion-phortaich + +## Books + +all-address-books-row = + .title = Gach leabhar-sheòlaidhean +all-address-books = Gach leabhar-sheòlaidhean +# Variables: +# $name (String) - The name of the selected book/list. +# $count (Number) - The number of contacts in the selected book/list. +about-addressbook-card-count = Luchd-aithne uile gu lèir ann an { $name }: { $count } +# Variables: +# $count (Number) - The number of contacts in all address books. +about-addressbook-card-count-all = Luchd-aithne uile gu lèir anns gach leabhar-sheòlaidhean: { $count } +about-addressbook-books-context-properties = + .label = Roghainnean +about-addressbook-books-context-edit-list = + .label = Deasaich an liosta +about-addressbook-books-context-synchronize = + .label = Sioncronaich +about-addressbook-books-context-edit = + .label = Deasaich +about-addressbook-books-context-print = + .label = Clò-bhuail… +about-addressbook-books-context-export = + .label = Às-phortaich… +about-addressbook-books-context-delete = + .label = Sguab às +about-addressbook-books-context-remove = + .label = Thoir air falbh +about-addressbook-books-context-startup-default = + .label = Pasgan tòiseachaidh bunaiteach +about-addressbook-confirm-delete-book-title = Sguab às leabhar nan seòladh +# Variables: +# $name (String) - Name of the address book to be deleted. +about-addressbook-confirm-delete-book = A bheil thu cinnteach gu bheil thu airson { $name } agus gach neach-aithne a tha na bhroinn a sguabadh às? +about-addressbook-confirm-remove-remote-book-title = Thoir leabhar nan seòladh air falbh +# Variables: +# $name (String) - Name of the remote address book to be removed. +about-addressbook-confirm-remove-remote-book = A bheil thu cinnteach gu bheil thu airson { $name } a thoirt air falbh? + +## Cards + +# Variables: +# $name (String) - Name of the address book that will be searched. +about-addressbook-search = + .placeholder = Lorg { $name } +about-addressbook-search-all = + .placeholder = Lorg anns gach leabhar-sheòlaidhean +about-addressbook-sort-button2 = + .title = Roghainnean taisbeanadh na liosta +about-addressbook-name-format-display = + .label = An t-ainm-taisbeanaidh +about-addressbook-name-format-firstlast = + .label = Ainm Sloinneadh +about-addressbook-name-format-lastfirst = + .label = Sloinneadh, Ainm +about-addressbook-sort-name-ascending = + .label = Seòrsaich a-rèir ainm (A > Z) +about-addressbook-sort-name-descending = + .label = Seòrsaich a-rèir ainm (Z > A) +about-addressbook-sort-email-ascending = + .label = Seòrsaich a-rèir seòladh a’ phuist-d (A > Z) +about-addressbook-sort-email-descending = + .label = Seòrsaich a-rèir seòladh a’ phuist-d (Z > A) +about-addressbook-horizontal-layout = + .label = Cleachd a’ cho-dhealbhachd chòmhnard +about-addressbook-vertical-layout = + .label = Cleachd a’ cho-dhealbhachd inghearach +about-addressbook-table-layout = + .label = Co-dhealbhachd mar chlàr + +## Card column headers +## Each string is listed here twice, and the values should match. + +about-addressbook-column-header-generatedname = Ainm +about-addressbook-column-label-generatedname = + .label = { about-addressbook-column-header-generatedname } +about-addressbook-column-header-emailaddresses = Seòlaidhean puist-d +about-addressbook-column-label-emailaddresses = + .label = { about-addressbook-column-header-emailaddresses } +about-addressbook-column-header-phonenumbers = Àireamhan-fòn +about-addressbook-column-label-phonenumbers = + .label = { about-addressbook-column-header-phonenumbers } +about-addressbook-column-header-addresses = Seòlaidhean +about-addressbook-column-label-addresses = + .label = { about-addressbook-column-header-addresses } +about-addressbook-column-header-title = An tiotal +about-addressbook-column-label-title = + .label = { about-addressbook-column-header-title } +about-addressbook-column-header-department = An roinn +about-addressbook-column-label-department = + .label = { about-addressbook-column-header-department } +about-addressbook-column-header-organization = Am buidheann +about-addressbook-column-label-organization = + .label = { about-addressbook-column-header-organization } +about-addressbook-column-header-addrbook = Leabhar nan seòladh +about-addressbook-column-label-addrbook = + .label = { about-addressbook-column-header-addrbook } +about-addressbook-column-header-generatedname2 = Ainm + .title = Seòrsaich a-rèir ainm +about-addressbook-column-label-generatedname2 = + .label = An t-ainm +about-addressbook-column-header-emailaddresses2 = Seòlaidhean puist-d + .title = Seòrsaich a-rèir seòladh puist-d +about-addressbook-column-label-emailaddresses2 = + .label = Seòlaidhean puist-d +about-addressbook-column-header-nickname2 = Far-ainm + .title = Seòrsaich a-rèir far-ainm +about-addressbook-column-label-nickname2 = + .label = Far-ainm +about-addressbook-column-header-phonenumbers2 = Àireamhan-fòn + .title = Seòrsaich a-rèir àireamh-fòn +about-addressbook-column-label-phonenumbers2 = + .label = Àireamhan-fòn +about-addressbook-column-header-addresses2 = Seòlaidhean + .title = Seòrsaich a-rèir seòlaidh +about-addressbook-column-label-addresses2 = + .label = Seòlaidhean +about-addressbook-column-header-title2 = An tiotal + .title = Seòrsaich a-rèir an tiotail +about-addressbook-column-label-title2 = + .label = An tiotal +about-addressbook-column-header-department2 = An roinn + .title = Seòrsaich a-rèir na roinne +about-addressbook-column-label-department2 = + .label = An roinn +about-addressbook-column-header-organization2 = Am buidheann + .title = Seòrsaich a-rèir a’ bhuidhinn +about-addressbook-column-label-organization2 = + .label = Am buidheann +about-addressbook-column-header-addrbook2 = Leabhar nan seòladh + .title = Seòrsaich a-rèir leabhar nan seòladh +about-addressbook-column-label-addrbook2 = + .label = Leabhar nan seòladh +about-addressbook-cards-context-write = + .label = Sgrìobh +about-addressbook-confirm-delete-mixed-title = Sguab an luchd-aithne is na liostaichean às +# Variables: +# $count (Number) - The number of contacts and lists to be deleted. Always greater than 1. +about-addressbook-confirm-delete-mixed = A bheil thu cinnteach gu bheil thu airson an luchd-aithne ’s na liostaichean seo, { $count } dhiubh, a sguabadh às? +# Variables: +# $count (Number) - The number of lists to be deleted. +about-addressbook-confirm-delete-lists-title = + { $count -> + [one] Sguab an liosta às + [two] Sguab na liostaichean às + [few] Sguab na liostaichean às + *[other] Sguab na liostaichean às + } +# Variables: +# $count (Number) - The number of lists to be deleted. +# $name (String) - The name of the list to be deleted, if $count is 1. +about-addressbook-confirm-delete-lists = + { $count -> + [one] A bheil thu cinnteach gu bheil thu airson an { $count } liosta seo a sguabadh às? + [two] A bheil thu cinnteach gu bheil thu airson an { $count } liosta seo a sguabadh às? + [few] A bheil thu cinnteach gu bheil thu airson na { $count } liostaichean seo a sguabadh às? + *[other] A bheil thu cinnteach gu bheil thu airson na { $count } liostaichean seo a sguabadh às? + } +# Variables: +# $count (Number) - The number of contacts to be removed. +about-addressbook-confirm-remove-contacts-title = + { $count -> + [one] Thoir air falbh an neach-aithne + [two] Thoir air falbh an luchd-aithne + [few] Thoir air falbh an luchd-aithne + *[other] Thoir air falbh an luchd-aithne + } +# Variables: +# $count (Number) - The number of contacts to be removed. +# $list (String) - The name of the list that contacts will be removed from. +about-addressbook-confirm-remove-contacts-multi = + { $count -> + [one] A bheil thu cinnteach gu bheil thu airson an luchd-aithne seo, { $count } dhiubh, a thoirt air falbh o { $list }? + [two] A bheil thu cinnteach gu bheil thu airson an luchd-aithne seo, { $count } dhiubh, a thoirt air falbh o { $list }? + [few] A bheil thu cinnteach gu bheil thu airson an luchd-aithne seo, { $count } dhiubh, a thoirt air falbh o { $list }? + *[other] A bheil thu cinnteach gu bheil thu airson an luchd-aithne seo, { $count } dhiubh, a thoirt air falbh o { $list }? + } +# Variables: +# $count (Number) - The number of contacts to be deleted. +about-addressbook-confirm-delete-contacts-title = + { $count -> + [one] Sguab an luchd-aithne às + [two] Sguab an luchd-aithne às + [few] Sguab an luchd-aithne às + *[other] Sguab an luchd-aithne às + } +# Variables: +# $name (String) - The name of the contact to be deleted. +about-addressbook-confirm-delete-contacts-single = A bheil thu cinnteach gu bheil thu airson an neach-aithne { $name } a sguabadh às? +# Variables: +# $count (Number) - The number of contacts to be deleted. +about-addressbook-confirm-delete-contacts-multi = + { $count -> + [one] A bheil thu cinnteach gu bheil thu airson an luchd-aithne seo, { $count } dhiubh, a sguabadh às? + [two] A bheil thu cinnteach gu bheil thu airson an luchd-aithne seo, { $count } dhiubh, a sguabadh às? + [few] A bheil thu cinnteach gu bheil thu airson an luchd-aithne seo, { $count } dhiubh, a sguabadh às? + *[other] A bheil thu cinnteach gu bheil thu airson an luchd-aithne seo, { $count } dhiubh, a sguabadh às? + } + +## Card list placeholder +## Shown when there are no cards in the list + +about-addressbook-placeholder-empty-book = Chan eil luchd-aithne ri fhaighinn +about-addressbook-placeholder-new-contact = Neach-aithne ùr +about-addressbook-placeholder-search-only = Cha seall an leabhar-sheòlaidhean seo luchd-aithne ach an dèidh dhut lorg a dhèanamh +about-addressbook-placeholder-searching = A’ lorg… +about-addressbook-placeholder-no-search-results = Cha deach luchd-aithne a lorg + +## Details + +# Variables: +# $count (Number) - The number of selected items (will never be fewer than 2). +about-addressbook-selection-mixed-header2 = + { $count -> + [one] Thagh thu { $count } innteart ann an leabhar nan seòladh + [two] Thagh thu { $count } innteart ann an leabhar nan seòladh + [few] Thagh thu { $count } innteartan ann an leabhar nan seòladh + *[other] Thagh thu { $count } innteart ann an leabhar nan seòladh + } +# Variables: +# $count (Number) - The number of selected contacts +about-addressbook-selection-contacts-header2 = + { $count -> + [one] Thagh thu { $count } neach-aithne + [two] Thagh thu { $count } neach-aithne + [few] Thagh thu { $count } luchd-aithne + *[other] Thagh thu { $count } neach-aithne + } +# Variables: +# $count (Number) - The number of selected lists +about-addressbook-selection-lists-header2 = + { $count -> + [one] Thagh thu { $count } liosta + [two] Thagh thu { $count } liosta + [few] Thagh thu { $count } liostaichean + *[other] Thagh thu { $count } liosta + } +about-addressbook-details-edit-photo = + .title = Deasaich dealbh an neach-aithne +about-addressbook-new-contact-header = Neach-aithne ùr +about-addressbook-prefer-display-name = B’ fheàrr leam an t-ainm-taisbeanaidh seach bann-cinn na teachdaireachd an-còmhnaidh +about-addressbook-write-action-button = Sgrìobh +about-addressbook-event-action-button = Tachartas +about-addressbook-search-action-button = Lorg +about-addressbook-new-list-action-button = Liosta ùr +about-addressbook-begin-edit-contact-button = Deasaich +about-addressbook-delete-edit-contact-button = Sguab às +about-addressbook-cancel-edit-contact-button = Sguir dheth +about-addressbook-save-edit-contact-button = Sàbhail +about-addressbook-add-contact-to = Cuir ri: +about-addressbook-details-email-addresses-header = Seòlaidhean puist-d +about-addressbook-details-phone-numbers-header = Àireamhan-fòn +about-addressbook-details-addresses-header = Seòlaidhean +about-addressbook-details-notes-header = Nòtaichean +about-addressbook-details-impp-header = Grad-theachdaireachdan +about-addressbook-details-websites-header = Làraichean-lìn +about-addressbook-details-other-info-header = Fiosrachadh eile +about-addressbook-entry-type-work = Obair +about-addressbook-entry-type-home = Dhachaigh +about-addressbook-entry-type-fax = Facs +# Or "Mobile" +about-addressbook-entry-type-cell = Fòn-làimhe +about-addressbook-entry-type-pager = Pèidsear +about-addressbook-entry-name-birthday = Co-là breith +about-addressbook-entry-name-anniversary = Ceann-bliadhna +about-addressbook-entry-name-title = Tiotal +about-addressbook-entry-name-role = Dreuchd +about-addressbook-entry-name-organization = Buidheann +about-addressbook-entry-name-website = Làrach-lìn +about-addressbook-entry-name-time-zone = An roinn-tìde +about-addressbook-entry-name-custom1 = Gnàthaichte 1 +about-addressbook-entry-name-custom2 = Gnàthaichte 2 +about-addressbook-entry-name-custom3 = Gnàthaichte 3 +about-addressbook-entry-name-custom4 = Gnàthaichte 4 +about-addressbook-unsaved-changes-prompt-title = Atharraichean gun sàbhaladh +about-addressbook-unsaved-changes-prompt = A bheil thu airson na h-atharraichean agad a shàbhaladh mus fhàg thu an sealladh deasachaidh? + +# Photo dialog + +about-addressbook-photo-drop-target = Leig às no cuir ann dealbh an-seo no dèan briogadh airson faidhle a thaghadh. +about-addressbook-photo-drop-loading = A’ luchdadh an deilbh… +about-addressbook-photo-drop-error = Dh’fhàillig luchdadh an deilbh. +about-addressbook-photo-filepicker-title = Tagh faidhle deilbh +about-addressbook-photo-discard = Tilg air falbh an dealbh làithreach +about-addressbook-photo-cancel = Sguir dheth +about-addressbook-photo-save = Sàbhail + +# Keyboard shortcuts + +about-addressbook-new-contact-key = N diff --git a/thunderbird-l10n/gd/localization/gd/messenger/addressbook/fieldMapImport.ftl b/thunderbird-l10n/gd/localization/gd/messenger/addressbook/fieldMapImport.ftl new file mode 100644 index 0000000000000000000000000000000000000000..6bc5a25a94e2eaa5d64a6d7424f19ffa0003494d --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/addressbook/fieldMapImport.ftl @@ -0,0 +1,10 @@ +# 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-ab-csv-dialog-title = Ion-phortaich leabhar-sheòlaidhean o fhaidhle +# $recordNumber (Number) - The current record number of the preview data. +import-ab-csv-preview-record-number = Ro-shealladh dhen ion-phortadh dàta airson a’ chlàir { $recordNumber } +import-ab-csv-dialog = + .buttonlabelaccept = Ion-phortaich + .buttonaccesskeyaccept = I diff --git a/thunderbird-l10n/gd/localization/gd/messenger/addressbook/vcard.ftl b/thunderbird-l10n/gd/localization/gd/messenger/addressbook/vcard.ftl new file mode 100644 index 0000000000000000000000000000000000000000..7813341978bedada4f420f70585fdf353688a956 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/addressbook/vcard.ftl @@ -0,0 +1,138 @@ +# 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/. + + +# Display Name + +vcard-displayname = An t-ainm-taisbeanaidh +vcard-displayname-placeholder = + .placeholder = { vcard-displayname } + +# Type selection + +vcard-entry-type-label = Seòrsa +vcard-entry-type-home = Dachaigh +vcard-entry-type-work = Obair +vcard-entry-type-none = Chan eil gin +vcard-entry-type-custom = Gnàthaichte + +# N vCard field + +vcard-name-header = An t-ainm +vcard-n-prefix = Ro-leasachan +vcard-n-add-prefix = + .title = Cuir ro-leasachan ris +vcard-n-firstname = Ainm +vcard-n-add-firstname = + .title = Cuir ainm ris +vcard-n-middlename = Ainm meadhanach +vcard-n-add-middlename = + .title = Cuir ainm meadhanach ris +vcard-n-lastname = Sloinneadh +vcard-n-add-lastname = + .title = Cuir sloinneadh ris +vcard-n-suffix = Iar-leasachan +vcard-n-add-suffix = + .title = Cuir iar-leasachan ris + +# Nickname + +vcard-nickname = Far-ainm + +# Email vCard field + +vcard-email-header = Seòlaidhean puist-d +vcard-email-add = Cuir seòladh puist-d ris +vcard-email-label = An seòladh puist-d +vcard-primary-email-label = A’ bhun-roghainn + +# URL vCard field + +vcard-url-header = Làraichean-lìn +vcard-url-add = Cuir làrach-lìn ris +vcard-url-label = Làrach-lìn + +# Tel vCard field + +vcard-tel-header = Àireamhan-fòn +vcard-tel-add = Cuir àireamh fòn ris +vcard-tel-label = Àireamh fòn +# Or "Mobile" +vcard-entry-type-cell = Fòn-làimhe +vcard-entry-type-fax = Facs +vcard-entry-type-pager = Pèidsear + +# TZ vCard field + +vcard-tz-header = An roinn-tìde +vcard-tz-add = Cuir roinn-tìde ris + +# IMPP vCard field + +vcard-impp2-header = Grad-theachdaireachdan +vcard-impp-add = Cuir cunntas cabadaich ris +vcard-impp-label = Cunntas cabadaich +vcard-impp-select = Protocol +vcard-impp-option-other = Eile +vcard-impp-input-label = URI +vcard-impp-input-title = URI airson grad-theachdaireachdan + +# BDAY and ANNIVERSARY vCard field + +vcard-bday-anniversary-header = Làithean sònraichte +vcard-bday-anniversary-add = Cuir latha sònraichte ris +vcard-bday-label = Co-là breith +vcard-anniversary-label = Ceann-bliadhna +vcard-date-day = Latha +vcard-date-month = Mìos +vcard-date-year = Bliadhna + +# ADR vCard field + +vcard-adr-header = Seòlaidhean +vcard-adr-add = Cuir seòladh ris +vcard-adr-label = An seòladh +vcard-adr-delivery-label = Leubail lìbhrigidh +vcard-adr-street = Seòladh sràide +# Or "Locality" +vcard-adr-locality = Baile +# Or "Region" +vcard-adr-region = Stàit/Siorrachd/Còigeamh +# The term "ZIP code" only applies in USA. Most locales should use "Postal code" only. +vcard-adr-code = Còd-puist/ZIP +vcard-adr-country = An dùthaich + +# NOTE vCard field + +vcard-note-header = Nòtaichean +vcard-note-add = Cuir nòta ris + +# TITLE, ROLE and ORGANIZATION vCard fields + +vcard-org-header = Roghainnean a’ bhuidhinn +vcard-org-add = Cuir roghainnean buidhinn eile ris +vcard-org-title = Tiotal +vcard-org-title-input = + .title = Dreuchd no obair + .placeholder = Tiotal an dreuchd +vcard-org-role = Dreuchd +vcard-org-role-input = + .title = An dreuchd no pàirt a th’ aig neach ann ann suidheachadh àraidh + .placeholder = Dreuchd ann am pròiseact +vcard-org-org = Buidheann +vcard-org-org-input = + .title = Ainm a’ bhuidhinn + .placeholder = Ainm na companaidh +vcard-org-org-unit = Roinn +vcard-org-org-unit-input = + .title = Ainm aonad a’ bhuidhinn + .placeholder = Roinn + +# Custom properties + +vcard-custom-header = Roghainnean gnàthaichte +vcard-custom-add = Cuir roghainnean gnàthaichte ris +vcard-remove-button-title = + .title = Thoir air falbh +vcard-remove-button = Thoir air falbh diff --git a/thunderbird-l10n/gd/localization/gd/messenger/appmenu.ftl b/thunderbird-l10n/gd/localization/gd/messenger/appmenu.ftl new file mode 100644 index 0000000000000000000000000000000000000000..cb13d957f2e4ade2bc911cd2e99c578837d8d6ff --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/appmenu.ftl @@ -0,0 +1,210 @@ +# 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/. + + +## Sync + +appmenu-sync-panel-title = + .title = Sioncronachadh +appmenu-signin-panel = + .label = Clàraich a-steach a shioncronachadh + .accesskey = i +appmenu-sync-sync = + .value = Sioncronachadh a’ chunntais + .accesskey = o +appmenu-sync-manage = + .value = Stiùirich an cunntas + .accesskey = t +appmenu-sync-account = + .value = example@example.com +appmenu-sync-now = + .label = Sioncronaich an-dràsta + .accesskey = n +appmenu-sync-settings = + .label = Roghainnean sioncronachaidh + .accesskey = R +appmenu-sync-sign-out = + .label = Clàraich a-mach… + .accesskey = a + +## New Account + +appmenu-new-account-panel-title = + .title = Cunntas ùr +appmenu-new-account-panel = + .label = Cunntas ùr + .accesskey = n +appmenu-create-new-mail-account = + .label = Faigh post-d ùr + .accesskey = F +appmenu-new-mail-account = + .label = Post-d làithreach + .accesskey = e +appmenu-new-calendar = + .label = Mìosachan + .accesskey = c +appmenu-new-chat-account = + .label = Cabadaich + .accesskey = h +appmenu-new-feed = + .label = inbhir + .accesskey = b +appmenu-new-newsgroup = + .label = Buidheann-naidheachd + .accesskey = n + +## New Account / Address Book + +appmenu-newab-panel-title = + .title = Leabhar-sheòlaidhean ùr +appmenu-newab-panel = + .label = Leabhar-sheòlaidhean ùr + .accesskey = a +appmenu-new-addressbook = + .label = Leabhar-sheòlaidhean ionadail + .accesskey = a +appmenu-new-carddav = + .label = Leabhar-sheòlaidhean CardDAV + .accesskey = C +appmenu-new-ldap = + .label = Leabhar-sheòlaidhean LDAP + .accesskey = L + +## Create + +appmenu-create-panel-title = + .title = Cruthaich +appmenu-create-panel = + .label = Cruthaich + .accesskey = C +appmenu-create-message = + .label = Teachdaireachd + .accesskey = e +appmenu-create-event = + .label = Tachartas + .accesskey = T +appmenu-create-task = + .label = Saothair + .accesskey = t +appmenu-create-contact = + .label = Neach-aithne + .accesskey = c + +## Open + +appmenu-open-file-panel = + .label = Fosgail o fhaidhle + .accesskey = o +appmenu-open-file-panel-title = + .title = Fosgail o fhaidhle +appmenu-open-message = + .label = Theachdaireachd… + .accesskey = T +appmenu-open-calendar = + .label = Mìosachan… + .accesskey = c + +## View / Layout + +appmenu-view-panel-title = + .title = Seall +appmenu-view-panel = + .label = Seall + .accesskey = l +appmenuitem-toggle-thread-pane-header = + .label = Bann-cinn liosta nan teachdaireachdan +appmenu-font-size-value = Meud a’ chrutha-chlò +appmenu-mail-uidensity-value = Dùmhlachd +appmenu-uidensity-compact = + .tooltiptext = Dùmhail +appmenu-uidensity-default = + .tooltiptext = Bun-roghainn +appmenu-uidensity-relaxed = + .tooltiptext = Socair +appmenuitem-font-size-enlarge = + .tooltiptext = Meudaich an cruth-clò +appmenuitem-font-size-reduce = + .tooltiptext = Lùghdaich an cruth-clò +# Variables: +# $size (String) - The current font size. +appmenuitem-font-size-reset = + .label = { $size }px + .tooltiptext = Ath-shuidhich meud a’ chrutha-chlò + +## Tools + +appmenu-tools-panel-title = + .title = Innealan +appmenu-tools-panel = + .label = Innealan + .accesskey = n +appmenu-tools-import = + .label = Ion-phortaich + .accesskey = I +appmenu-tools-export = + .label = Às-phortaich + .accesskey = o +appmenu-tools-message-search = + .label = Lorg sna teachdaireachdan + .accesskey = L +appmenu-tools-message-filters = + .label = Criathragan theachdaireachdan + .accesskey = C +appmenu-tools-download-manager = + .label = Manaidsear an luchdaidh a-nuas + .accesskey = M +appmenu-tools-activity-manager = + .label = Am manaidsear gnìomhachd + .accesskey = A +appmenu-tools-dev-tools = + .label = Innealan an luchd-leasachaidh + .accesskey = d + +## Help + +appmenu-help-panel-title = + .title = Cobhair +appmenu-help-get-help = + .label = Faigh cobhair + .accesskey = h +appmenu-help-explore-features = + .label = Fidir na gleusan + .accesskey = F +appmenu-help-shortcuts = + .label = Ath-ghoiridean a’ mheur-chlàir + .accesskey = t +appmenu-help-get-involved = + .label = Gabh pàirt + .accesskey = G +appmenu-help-donation = + .label = Thoir tabhartas + .accesskey = b +appmenu-help-share-feedback = + .label = Co-roinn do bheachd-smuaintean is innis dhuinn dè do bheachd + .accesskey = s +appmenu-help-enter-troubleshoot-mode2 = + .label = Am modh fuasgladh dhuilgheadasan… + .accesskey = m +appmenu-help-exit-troubleshoot-mode2 = + .label = Cuir am modh fuasgladh dhuilgheadasan dheth + .accesskey = m +appmenu-help-troubleshooting-info = + .label = Taic le duilgheadasan + .accesskey = T +appmenu-help-about-product = + .label = Mu dhèidhinn { -brand-short-name } + .accesskey = M + +## Application Update + +appmenuitem-banner-update-downloading = + .label = A’ luchdadh a-nuas ùrachadh { -brand-shorter-name } +appmenuitem-banner-update-available = + .label = Tha ùrachadh ri fhaighinn – luchdaich a-nuas e an-dràsta +appmenuitem-banner-update-manual = + .label = Tha ùrachadh ri fhaighinn – luchdaich a-nuas e an-dràsta +appmenuitem-banner-update-unsupported = + .label = Chan urrainn dhuinn ùrachadh – chan eil an siostam co-chòrdail +appmenuitem-banner-update-restart = + .label = Tha ùrachadh ri fhaighinn – ath-thòisich an-dràsta diff --git a/thunderbird-l10n/gd/localization/gd/messenger/chat-verifySession.ftl b/thunderbird-l10n/gd/localization/gd/messenger/chat-verifySession.ftl new file mode 100644 index 0000000000000000000000000000000000000000..bce4c361ce1b5809deae56f7f4be1586a61e8fcd --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/chat-verifySession.ftl @@ -0,0 +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/. + +verify-window-title = Dearbh an dearbh-aithne +# Variables: +# $subject (String) - a human readable identifier for the other side of the verification flow. +verify-window-subject-title = Dearbh dearbh-aithne { $subject } +verify-dialog = + .buttonlabelaccept = Tha iad a’ maidseadh + .buttonaccesskeyaccept = M + .buttonlabelextra2 = Chan eil iad a’ maidseadh + .buttonaccesskeyextra2 = D +challenge-label = Dearbh gu bheil an t-sreang a tha ga thaisbeanadh co-ionnann ris na tha ga thaisbeanadh aig a’ cheann eile. diff --git a/thunderbird-l10n/gd/localization/gd/messenger/chat.ftl b/thunderbird-l10n/gd/localization/gd/messenger/chat.ftl new file mode 100644 index 0000000000000000000000000000000000000000..61d45c70dc8d1c60e70168e2959db06829818d53 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/chat.ftl @@ -0,0 +1,39 @@ +# 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/. + +chat-joining-chat-icon2 = + .alt = A’ dol an sàs na cabadaich +chat-left-chat-icon2 = + .alt = Air a’ chabadaich fhàgail +chat-participant-owner-role-icon2 = + .alt = Sealbhadair +chat-participant-administrator-role-icon2 = + .alt = Rianaire +chat-participant-moderator-role-icon2 = + .alt = Modaratair +chat-participant-voiced-role-icon2 = + .alt = Faodaidh an com-pàirtiche teachdaireachdan a phostadh +chat-verify-identity = + .label = Dearbh an dearbh-aithne + .accesskey = i +chat-identity-verified = + .label = Chaidh an dearbh-aithne a dhearbhadh mu thràth +chat-buddy-identity-status = An t-earbsa sa chrioptachadh +chat-buddy-identity-status-verified = Air a dhearbhadh +chat-buddy-identity-status-unverified = Gun dearbhadh + +## Conversation invite notification box + +# This string appears in a notification bar at the top of the Contacts window +# when someone invited the user to a multi user chat conversation, to request +# the user to confirm they want to join the chat. +# Variables: +# $conversation (String) - Name of the conversation the user is invited to. +chat-conv-invite-label = Fhuair thu cuireadh cabadaich gu { $conversation } +chat-conv-invite-accept = + .label = Gabh ris + .accesskey = a +chat-conv-invite-deny = + .label = Diùlt + .accesskey = D diff --git a/thunderbird-l10n/gd/localization/gd/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/gd/localization/gd/messenger/compactFoldersDialog.ftl new file mode 100644 index 0000000000000000000000000000000000000000..c6678f1b2e50d8965b8f07e91213281e25f8ebd1 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/compactFoldersDialog.ftl @@ -0,0 +1,20 @@ +# 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/. + +compact-dialog-window-title = + .title = Dùmhlaich na pasganan +compact-folders-dialog-title = Dùmhlaich na pasganan +compact-dialog = + .buttonlabelaccept = Dùmhlaich an-dràsta + .buttonaccesskeyaccept = D + .buttonlabelcancel = Cuir nam chuimhne a-rithist an ceann greis + .buttonaccesskeycancel = C + .buttonlabelextra1 = Barrachd fiosrachaidh… + .buttonaccesskeyextra1 = B +# Variables: +# $data (String): The amount of space to be freed, formatted byte, MB, GB, etc., based on the size. +compact-dialog-message = Feumaidh { -brand-short-name } obair-ghlèidhidh a dhèanamh air na faidhlichean gu cunbhalach airson dèanadas nam pasganan puist agad. Saoraidh seo { $data } a dhàta air an diosg gun bhuaidh air na teachdaireachdan agad. Airson cead a thoirt dha { -brand-short-name } seo a dhèanamh gu fèin-obrachail san àm ri teachd gun fhaighneachd dhìot-sa, cuir cromag sa bhogsa gu h-ìosal mus tagh thu “{ compact-dialog.buttonlabelaccept }”. +compact-dialog-never-ask-checkbox = + .label = Dùmhlaich na pasganan gu fèin-obrachail san àm ri teachd + .accesskey = a diff --git a/thunderbird-l10n/gd/localization/gd/messenger/exportDialog.ftl b/thunderbird-l10n/gd/localization/gd/messenger/exportDialog.ftl new file mode 100644 index 0000000000000000000000000000000000000000..32fc654fbb3ef028911fafa98b50f40f963863c2 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/exportDialog.ftl @@ -0,0 +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/. + +export-dialog-brand-name = { -brand-product-name } +export-dialog-title = Às-phortaich +export-dialog = + .buttonlabelaccept = Air adhart +export-dialog-button-finish = Coilean +export-dialog-file-picker = Às-phortaich mar fhaidhle ZIP +export-dialog-description1 = Às-phortaich cunntasan puist, teachdaireachdan puist, leabhraichean-sheòlaidhean is roghainnean ann am faidhle ZIP. +export-dialog-desc2 = Nuair a bhios feum agad air, is urrainn dhut am faidhle ZIP ion-phortadh gus a’ phròifil agad aiseag. +export-dialog-exporting = Ga às-phortadh… +export-dialog-exported = Chaidh às-phortadh! diff --git a/thunderbird-l10n/gd/localization/gd/messenger/extensionPermissions.ftl b/thunderbird-l10n/gd/localization/gd/messenger/extensionPermissions.ftl new file mode 100644 index 0000000000000000000000000000000000000000..18528be7324304801a04a1950d347c5a61f52625 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/extensionPermissions.ftl @@ -0,0 +1,24 @@ +# 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/. + + +## Extension permission description keys are derived from permission names. +## Permissions for which the message has been changed and the key updated +## must have a corresponding entry in the `PERMISSION_L10N_ID_OVERRIDES` map. + +webext-perms-description-accountsFolders = Cruthaich, ath-ainmich no sguab às pasganan a’ chunntais phuist agad +webext-perms-description-accountsIdentities = Cruthaich, atharraich no sguab às dearbh-aithnean nan cunntasan puist agad +webext-perms-description-accountsRead = Faic na cunntasan puist agad, na dearbh-aithnean is na pasganan aca +webext-perms-description-addressBooks = na leabhraichean-sheòlaidhean is an luchd-aithne agad a leughadh is atharrachadh +webext-perms-description-compose = Na teachdaireachdan puist-d agad a leughadh is atharrachadh mar a sgrìobhas is mar a chuireas tu iad +webext-perms-description-compose-send = Puist-d a sgrìobh thu a chur às do leth +webext-perms-description-compose-save = Sàbhail teachdaireachdan puist-d a sgrìobh thu mar dhreachdan no teamplaidean +webext-perms-description-experiment = Làn-inntrigeadh gun chuingeachadh dha { -brand-short-name } agus dhan choimpiutair agad +webext-perms-description-messagesImport = Ion-phortaich teachdaireachdan gu Thunderbird +webext-perms-description-messagesModify = Na teachdaireachdan puist-d agad a leughadh is atharrachadh mar a thèid an taisbeanadh dhut +webext-perms-description-messagesMove = Dèan lethbhreac dhe na teachdaireachdan puist-d agad no gluais iad (fiù do phasgan an sgudail) +webext-perms-description-messagesDelete = Sguab às na teachdaireachdan puist-d agad gu buan +webext-perms-description-messagesRead = Leugh na teachdaireachdan puist-d is comharraich no tagaich iad +webext-perms-description-messagesTags = Cruthaich, atharraich is sguab às tagaichean nan teachdaireachdan +webext-perms-description-sensitiveDataUpload = Tar-chuir dàta cleachdaiche dìomhair (ma chaidh cead-inntrigidh a thoirt) gu frithealaiche cèin airson pròiseasadh a bharrachd diff --git a/thunderbird-l10n/gd/localization/gd/messenger/extensions/popup.ftl b/thunderbird-l10n/gd/localization/gd/messenger/extensions/popup.ftl new file mode 100644 index 0000000000000000000000000000000000000000..cf521cd8b8b95385f8fb2462dc845bb8175b548c --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/extensions/popup.ftl @@ -0,0 +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/. + +close-shortcut = + .key = w +# Variables: +# $title (String): the title of the popup window +extension-popup-title = + { PLATFORM() -> + [macos] { $title } + *[other] { $title } - { -brand-full-name } + } +extension-popup-default-title = { -brand-full-name } diff --git a/thunderbird-l10n/gd/localization/gd/messenger/extensionsUI.ftl b/thunderbird-l10n/gd/localization/gd/messenger/extensionsUI.ftl new file mode 100644 index 0000000000000000000000000000000000000000..105f0eed272233d32630675115df249832022ac1 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/extensionsUI.ftl @@ -0,0 +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/. + +webext-experiment-warning = Goididh tuilleadain dhroch-rùnach fiosrachadh prìobhaideach ort no millidh iad an coimpiutair agad. Na stàlaich an tuilleadan seo ach ma tha earbsa agad san tùs. +webext-perms-learn-more = Barrachd fiosrachaidh +# Variables: +# $addonName (String): localized named of the extension that was just installed. +addon-post-install-message = Chaidh { $addonName } a chur ris. diff --git a/thunderbird-l10n/gd/localization/gd/messenger/firefoxAccounts.ftl b/thunderbird-l10n/gd/localization/gd/messenger/firefoxAccounts.ftl new file mode 100644 index 0000000000000000000000000000000000000000..8153656d97e0350ce3e89cb01e456b82231a94e9 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/firefoxAccounts.ftl @@ -0,0 +1,32 @@ +# 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/. + +# “Account” can be localized, “Firefox” must be treated as a brand, +# and kept in English. +-fxaccount-brand-name = + { $capitalization -> + [sentence] Cunntas Firefox + *[title] Cunntas Firefox + } + +## These strings are shown in a desktop notification after the user requests we resend a verification email. + +fxa-verification-sent-title = Chaidh an dearbhadh a chur +# Variables: +# $userEmail (String) - Email address of user's Firefox Account. +fxa-verification-sent-body = Chaidh ceangal dearbhaidh a chur gu { $userEmail }. +fxa-verification-not-sent-title = Chan urrainn dhuinn an dearbhadh a chur +fxa-verification-not-sent-body = Chan urrainn dhuinn post-d dearbhaidh a chur an-dràsta fhèin, feuch ris a-rithist às a dhèidh seo. + +## These strings are shown in a confirmation dialog when the user chooses to sign out. + +fxa-signout-dialog-title = A bheil thu airson clàradh a-mach à { -fxaccount-brand-name }? +fxa-signout-dialog-body = Mairidh an dàta a chaidh a shioncronachadh sa chunntas agad. +fxa-signout-dialog-button = Clàraich a-mach + +## These strings are shown in a confirmation dialog when the user chooses to stop syncing. + +sync-disconnect-dialog-title = A bheil thu airson a dhì-cheangal? +sync-disconnect-dialog-body = Sguiridh { -brand-product-name } dhen t-sioncronachadh ach cha sguab e às gin dhen dàta agad air an uidheam seo. +sync-disconnect-dialog-button = Dì-cheangail diff --git a/thunderbird-l10n/gd/localization/gd/messenger/flatpak.ftl b/thunderbird-l10n/gd/localization/gd/messenger/flatpak.ftl new file mode 100644 index 0000000000000000000000000000000000000000..f5e82feba65eec7f711a810fc287a796aaf21a8c --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/flatpak.ftl @@ -0,0 +1,24 @@ +# 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/. + + +### These messages are used by the Thunderbird Linux Flatpak "desktop" file. +### An end user will see them associated with the application launcher icon + +# This is the label on the icon +flatpak-desktop-name = { -brand-short-name } +# Appears as a tooltip when hovering over application menu entry +flatpak-desktop-comment = Cuir is faigh post le { -brand-product-name } +# A generic description of Thunderbird +flatpak-desktop-generic-name = Cliant puist + +## Actions Section +## These are alternative ways of starting Thunderbird, such as open the compose +## window to write a message. Visible in a context menu after right clicking a +## Thunderbird taskbar icon, possibly other places depending on the environment. + +flatpak-desktop-action-compose = Sgrìobh teachdaireachd ùr +flatpak-desktop-action-addressbook = Fosgail leabhar nan seòladh +flatpak-desktop-action-calendar = Fosgail am mìosachan +flatpak-desktop-action-keymanager = Fosgail manaidsear iuchraichean OpenPGP diff --git a/thunderbird-l10n/gd/localization/gd/messenger/folderprops.ftl b/thunderbird-l10n/gd/localization/gd/messenger/folderprops.ftl new file mode 100644 index 0000000000000000000000000000000000000000..3fa571e0001acb79d702e4363556896cd4efeff0 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/folderprops.ftl @@ -0,0 +1,10 @@ +# 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/. + + +## Quota tab + +# Variables: +# $percent (Number) - Usage percentage of the assigned IMAP quota. +quota-percent-used = { $percent }% làn diff --git a/thunderbird-l10n/gd/localization/gd/messenger/importDialog.ftl b/thunderbird-l10n/gd/localization/gd/messenger/importDialog.ftl new file mode 100644 index 0000000000000000000000000000000000000000..a71ca1e7595ee1270583d8ee03670edc7e7c152f --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/importDialog.ftl @@ -0,0 +1,21 @@ +# 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/. + +# Short name of the import module +thunderbird-import-name = Thunderbird +# Description of the import module +thunderbird-import-description = Ion-phortaich post o phasgan pròifil Thunderbird. +import-from-thunderbird-zip = + .label = Thunderbird (lethbhreac-glèidhidh de phròifil a chaidh às-phortadh; faidhle ZIP a tha nas lugha na 2GB) + .accesskey = Z +import-from-thunderbird-dir = + .label = Thunderbird (pasgan na pròifil) + .accesskey = T +import-select-profile-zip = Tagh pasgan pròifil air a shiopachadh +import-select-profile-dir = Tagh pasgan pròifil +zip-file-too-big-title = Tha am faidhle ZIP ro mhòr +zip-file-too-big-message = Tha am faidhle ZIP a thagh thu nas motha na 2GB. Às-tharraing e an toiseach is dèan ion-phortadh on phasgan far an deach às-tharraing an àite sin. +wizardpage-failed = + .label = Dh’fhàillig ion-phortadh +wizardpage-failed-message = Dh’fhàillig an t-ion-phortadh gu h-obann, dh’fhaoidte gum bi barrachd fiosrachaidh ri fhaighinn air consoil nam mearachdan. diff --git a/thunderbird-l10n/gd/localization/gd/messenger/mailWidgets.ftl b/thunderbird-l10n/gd/localization/gd/messenger/mailWidgets.ftl new file mode 100644 index 0000000000000000000000000000000000000000..f99634c0a9575c7b06de8a80434823821c229c1b --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/mailWidgets.ftl @@ -0,0 +1,13 @@ +# 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/. + +apply-current-view-to-menu = + .label = Cuir an sealladh làithreach an sàs ann an… +threadpane-apply-changes-prompt-title = A bheil thu airson na h-atharrachaidhean a chur an sàs? +# Variables: +# $name (String): The name of the folder to apply to. +threadpane-apply-changes-prompt-no-children-text = A bheil thu airson sealladh a’ phasgain làithrich a chur an sàs airson { $name }? +# Variables: +# $name (String): The name of the folder to apply to. +threadpane-apply-changes-prompt-with-children-text = A bheil thu airson sealladh a’ phasgain làithrich a chur an sàs airson { $name } agus a’ chlann aige? diff --git a/thunderbird-l10n/gd/localization/gd/messenger/menubar.ftl b/thunderbird-l10n/gd/localization/gd/messenger/menubar.ftl new file mode 100644 index 0000000000000000000000000000000000000000..be77d5f4681486e8a39e9e2bc1301bcd0116700b --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/menubar.ftl @@ -0,0 +1,144 @@ +# 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/. + +toolbar-context-menu-menu-bar = + .toolbarname = Bàr a’ chlàir-thaice + .accesskey = B + +## Tools Menu + +menu-tools-settings = + .label = Roghainnean + .accesskey = e +menu-addons-and-themes = + .label = Tuilleadain ’s ùrlaran + .accesskey = a + +## Help Menu + +menu-help-help-title = + .label = Cobhair + .accesskey = h +menu-help-get-help = + .label = Faigh cobhair + .accesskey = h +menu-help-explore-features = + .label = Fidir na gleusan + .accesskey = F +menu-help-shortcuts = + .label = Ath-ghoiridean a’ mheur-chlàir + .accesskey = m +menu-help-get-involved = + .label = Gabh pàirt + .accesskey = G +menu-help-donation = + .label = Thoir tabhartas + .accesskey = T +menu-help-share-feedback = + .label = Co-roinn do bheachd-smuaintean is innis dhuinn dè do bheachd + .accesskey = s +menu-help-enter-troubleshoot-mode = + .label = Am modh fuasgladh dhuilgheadasan… + .accesskey = m +menu-help-exit-troubleshoot-mode = + .label = Cuir am modh fuasgladh dhuilgheadasan dheth + .accesskey = m +menu-help-more-troubleshooting-info = + .label = Barrachd fiosrachaidh mu fhuasgladh dhuilgheadasan + .accesskey = m +menu-help-troubleshooting-info = + .label = Fiosrachadh mu fhuasgladh dhuilgheadasan + .accesskey = f +menu-help-about-product = + .label = Mu dhèidhinn { -brand-short-name } + .accesskey = u +# These menu-quit strings are only used on Windows and Linux. +menu-quit = + .label = + { PLATFORM() -> + [windows] Fàg an-seo + *[other] Fàg an-seo + } + .accesskey = + { PLATFORM() -> + [windows] F + *[other] F + } +# This menu-quit-mac string is only used on macOS. +menu-quit-mac = + .label = Fàg { -brand-shorter-name } +quit-app-shortcut = + .key = Q + +## Mail Toolbar + +toolbar-junk-button = + .label = Truilleis + .tooltiptext = Comharraich gur e truilleis a tha sna teachdaireachdan a thagh thu +toolbar-not-junk-button = + .label = Post còir + .tooltiptext = Comharraich gur e post còir a tha sna teachdaireachdan a thagh thu +toolbar-delete-button = + .label = Sguab às + .tooltiptext = Sguab às na teachdaireachdan no am pasgan a thagh thu +toolbar-undelete-button = + .label = Neo-dhèan an sguabadh às + .tooltiptext = Neo-dhèan sguabadh às nan teachdaireachdan a thagh thu + +## View + +menu-view-repair-text-encoding = + .label = Càraich còdachadh an teacsa + .accesskey = C + +## View / Folders + +menu-view-folders-toggle-header = + .label = Bann-cinn leòsan nam pasgan + .accesskey = B + +## View / Layout + +menu-view-toggle-thread-pane-header = + .label = Bann-cinn liosta nan teachdaireachdan + .accesskey = B +menu-font-size-label = + .label = Meud a’ chrutha-chlò + .accesskey = u +menuitem-font-size-enlarge = + .label = Meudaich an cruth-clò + .accesskey = i +menuitem-font-size-reduce = + .label = Lùghdaich an cruth-clò + .accesskey = L +menuitem-font-size-reset = + .label = Ath-shuidhich meud a’ chrutha-chlò + .accesskey = t +mail-uidensity-label = + .label = Dùmhlachd + .accesskey = D +mail-uidensity-compact = + .label = Dùmhail + .accesskey = m +mail-uidensity-normal = + .label = Àbhaisteach + .accesskey = b +mail-uidensity-touch = + .label = Suathadh + .accesskey = S +mail-uidensity-default = + .label = Bun-roghainn + .accesskey = u +mail-uidensity-relaxed = + .label = Socair + .accesskey = r +menu-spaces-toolbar-button = + .label = Bàr-inneal nan spàsan + .accesskey = B + +## File + +file-new-newsgroup-account = + .label = Cunntas buidhinn-naidheachd… + .accesskey = n diff --git a/thunderbird-l10n/gd/localization/gd/messenger/messageheader/headerFields.ftl b/thunderbird-l10n/gd/localization/gd/messenger/messageheader/headerFields.ftl new file mode 100644 index 0000000000000000000000000000000000000000..1a51a13a8583969b70584fcab193461b7a2af93e --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/messageheader/headerFields.ftl @@ -0,0 +1,48 @@ +# 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/. + + +## Header lists + +message-header-to-list-name = Gu +message-header-from-list-name = O +message-header-sender-list-name = Seòladair +message-header-reply-to-list-name = Freagairt gu +message-header-cc-list-name = Cc +message-header-bcc-list-name = Bcc +message-header-newsgroups-list-name = Buidhnean-naidheachd +message-header-tags-list-name = Tagaichean + +## Other message headers. +## The field-separator is for screen readers to separate the field name from the field value. + +message-header-author-field = An t-ùghdar<span data-l10n-name="field-separator">:</span> +message-header-organization-field = Am buidheann<span data-l10n-name="field-separator">:</span> +message-header-subject-field = An cuspair<span data-l10n-name="field-separator">:</span> +message-header-followup-to-field = Iar-theachdaireachdan gu<span data-l10n-name="field-separator">:</span> +message-header-date-field = An ceann-là<span data-l10n-name="field-separator">:</span> +message-header-user-agent-field = Àidseant cleachdaiche<span data-l10n-name="field-separator">:</span> +message-header-references-field = Reifreansan<span data-l10n-name="field-separator">:</span> +message-header-message-id-field = ID na teachdaireachd<span data-l10n-name="field-separator">:</span> +message-header-in-reply-to-field = Mar fhreagairt air<span data-l10n-name="field-separator">:</span> +message-header-website-field = An làrach-lìn<span data-l10n-name="field-separator">:</span> +# An additional email header field that the user has chosen to display. Unlike +# the other headers, the name of this header is not expected to be localised +# because it is generated from the raw field name found in the email header. +# $fieldName (String) - The field name. +message-header-custom-field = { $fieldName }<span data-l10n-name="field-separator">:</span> + +## + +message-header-address-in-address-book-icon2 = + .alt = Ann an leabhar nan seòladh +message-header-address-not-in-address-book-icon2 = + .alt = Chan ann an leabhar nan seòladh +message-header-address-not-in-address-book-button = + .title = Sàbhail an seòladh seo ann an leabhar nan seòladh +message-header-address-in-address-book-button = + .title = Deasaich an neach-aithne +message-header-field-show-more = Barrachd + .title = Seall a h-uile faightear +message-ids-field-show-all = Seall na h-uile diff --git a/thunderbird-l10n/gd/localization/gd/messenger/messenger.ftl b/thunderbird-l10n/gd/localization/gd/messenger/messenger.ftl new file mode 100644 index 0000000000000000000000000000000000000000..2b0b18375dc110ab751bea66b4126b241b25bcc2 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/messenger.ftl @@ -0,0 +1,420 @@ +# 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/. + + +## Window controls + +messenger-window-minimize-button = + .tooltiptext = Fìor-lùghdaich +messenger-window-maximize-button = + .tooltiptext = Làn-mheudaich +messenger-window-restore-down-button = + .tooltiptext = Aisig sìos +messenger-window-close-button = + .tooltiptext = Dùin +# Variables: +# $count (Number) - Number of unread messages. +unread-messages-os-tooltip = + { $count -> + [one] { $count } teachdaireachd gun leughadh + [two] { $count } theachdaireachd gun leughadh + [few] { $count } teachdaireachdan gun leughadh + *[other] { $count } teachdaireachd gun leughadh + } +about-rights-notification-text = ’S e bathar-bog an-asgaidh a th’ ann an { -brand-short-name }, le còd fosgailte a chaidh a chruthachadh leis na mìltean de dhaoine o cheithir ceàrnan ruadha an t-saoghail. + +## Content tabs + +content-tab-page-loading-icon = + .alt = Tha ann duilleag seo ga luchdadh +content-tab-security-high-icon = + .alt = Tha an ceangal tèarainte +content-tab-security-broken-icon = + .alt = Chan eil an ceangal tèarainte + +# Back + +# Variables +# $shortcut (String) - A keyboard shortcut for the Go Back command. +content-tab-menu-back = + .tooltiptext = Air ais duilleag ({ $shortcut }) + .aria-label = Air ais + .accesskey = A +# This menuitem is only visible on macOS +content-tab-menu-back-mac = + .label = Air ais + .accesskey = r + +# Forward + +# Variables +# $shortcut (String) - A keyboard shortcut for the Go Forward command. +content-tab-menu-forward = + .tooltiptext = Air adhart duilleag ({ $shortcut }) + .aria-label = Air adhart + .accesskey = d +# This menuitem is only visible on macOS +content-tab-menu-forward-mac = + .label = Air adhart + .accesskey = A + +# Reload + +content-tab-menu-reload = + .tooltiptext = Ath-luchdaich an duilleag + .aria-label = Ath-luchdaich + .accesskey = c +# This menuitem is only visible on macOS +content-tab-menu-reload-mac = + .tooltiptext = Ath-luchdaich an duilleag + .label = Ath-luchdaich + .accesskey = h + +# Stop + +content-tab-menu-stop = + .tooltiptext = Sguir de luchdadh na duilleige + .aria-label = Sguir dheth + .accesskey = S +# This menuitem is only visible on macOS +content-tab-menu-stop-mac = + .tooltiptext = Sguir de luchdadh na duilleige + .label = Sguir dheth + .accesskey = { "" } + +## Toolbar + +addons-and-themes-toolbarbutton = + .label = Tuilleadain ’s ùrlaran + .tooltiptext = Stiùirich na tuilleadain agad +quick-filter-toolbarbutton = + .label = Grad-chriathrag + .tooltiptext = Criathraich na teachdaireachdan +redirect-msg-button = + .label = Ath-stiùirich + .tooltiptext = Ath-stiùirich an teachdaireachd a thagh thu + +## Folder Pane + +folder-pane-toolbar = + .toolbarname = Bàr-inneal leòsan nam pasgan + .accesskey = B +folder-pane-toolbar-options-button = + .tooltiptext = Roghainnean leòsan nam pasgan +folder-pane-header-label = Pasganan + +## Folder Toolbar Header Popup + +folder-toolbar-hide-toolbar-toolbarbutton = + .label = Falaich am bàr-inneal + .accesskey = F +show-all-folders-label = + .label = A h-uile pasgan + .accesskey = h +show-unread-folders-label = + .label = Pasganan gun leughadh + .accesskey = s +show-favorite-folders-label = + .label = Na pasganan as fheàrr leat + .accesskey = n +show-smart-folders-label = + .label = Pasganan aonaichte + .accesskey = P +show-recent-folders-label = + .label = Pasganan o chionn goirid + .accesskey = P +show-tags-folders-label = + .label = Tagaichean + .accesskey = T +folder-toolbar-toggle-folder-compact-view = + .label = Sealladh dùmhail + .accesskey = S + +## Menu + + +## File Menu + +menu-file-save-as-file = + .label = Faidhle… + .accesskey = F + +## Edit Menu + +menu-edit-delete-folder = + .label = Sguab às am pasgan + .accesskey = S +menu-edit-unsubscribe-newsgroup = + .label = Cuir crìoch air an fho-sgrìobhadh aig a’ bhuidheann-naidheachd + .accesskey = b +# Variables: +# $count (Number) - Number of selected messages. +menu-edit-delete-messages = + .label = + { $count -> + [one] Sguab às an teachdaireachd + *[other] Sguab às na teachdaireachdan a thagh thu + } + .accesskey = d +# Variables: +# $count (Number) - Number of selected messages. +menu-edit-undelete-messages = + .label = + { $count -> + [one] Neo-dhèan sguabadh às na teachdaireachd + *[other] Neo-dhèan sguabadh às nan teachdaireachdan + } + .accesskey = d +menu-edit-properties = + .label = Roghainnean + .accesskey = o +menu-edit-folder-properties = + .label = Roghainnean a' phasgain + .accesskey = o +menu-edit-newsgroup-properties = + .label = Roghainnean a' bhuidhinn-naidheachd + .accesskey = o + +## Message Menu + +redirect-msg-menuitem = + .label = Ath-stiùirich + .accesskey = A + +## AppMenu + +appmenu-save-as-file = + .label = Faidhle… +appmenu-settings = + .label = Roghainnean +appmenu-addons-and-themes = + .label = Tuilleadain ’s ùrlaran +appmenu-help-enter-troubleshoot-mode = + .label = Am modh fuasgladh dhuilgheadasan… +appmenu-help-exit-troubleshoot-mode = + .label = Cuir am modh fuasgladh dhuilgheadasan dheth +appmenu-help-more-troubleshooting-info = + .label = Barrachd fiosrachaidh mu fhuasgladh air duilgheadasan +appmenu-redirect-msg = + .label = Ath-stiùirich + +## Context menu + +context-menu-redirect-msg = + .label = Ath-stiùirich +# Variables: +# $count (Number) - Number of selected messages. +mail-context-delete-messages = + .label = + { $count -> + [one] Sguab na teachdaireachdan a thagh thu às + [two] Sguab na teachdaireachdan a thagh thu às + [few] Sguab na teachdaireachdan a thagh thu às + *[other] Sguab na teachdaireachdan a thagh thu às + } +context-menu-decrypt-to-folder = + .label = Cuir lethbhreac dhe na chaidh a dhì-chrioptachadh gu + .accesskey = t +# Variables: +# $count (Number) - Number of selected messages. +mail-context-undelete-messages = + .label = + { $count -> + [one] Neo-dhèan sguabadh às na teachdaireachd + *[other] Neo-dhèan sguabadh às nan teachdaireachdan + } +context-menu-decrypt-to-folder2 = + .label = Cruthaich lethbhreac dì-chrioptaichte an-seo: + .accesskey = r + +## Message header pane + +other-action-redirect-msg = + .label = Ath-stiùirich +message-header-msg-flagged = + .title = Le rionnag ris + .aria-label = Le rionnag ris +# Variables: +# $address (String) - The email address of the recipient this picture belongs to. +message-header-recipient-avatar = + .alt = An dealbh pròifil aig { $address }. + +## Message header cutomize panel + +message-header-customize-panel-title = Roghainnean bann-cinn na teachdaireachd +message-header-customize-button-style = + .value = Stoidhle a’ phutain + .accesskey = t +message-header-button-style-default = + .label = Ìomhaigheagan is teacsa +message-header-button-style-text = + .label = Teacsa +message-header-button-style-icons = + .label = Ìomhaigheagan +message-header-show-sender-full-address = + .label = Seall làn-seòladh an t-seòladair an-còmhnaidh + .accesskey = d +message-header-show-sender-full-address-description = Thèid an seòladh-puist a shealltainn fon ainm-taisbeanaidh. +message-header-show-recipient-avatar = + .label = Seall dealbh pròifil an t-seòladair + .accesskey = b +message-header-show-big-avatar = + .label = Dealbh pròifil nas motha + .accesskey = b +message-header-hide-label-column = + .label = Falaich colbh nan leubailean + .accesskey = F +message-header-large-subject = + .label = Cuspair mòr + .accesskey = u +message-header-all-headers = + .label = Seall a h-uile bann-cinn + .accesskey = a + +## Action Button Context Menu + +toolbar-context-menu-manage-extension = + .label = Stiùirich an leudachan + .accesskey = e +toolbar-context-menu-remove-extension = + .label = Thoir an leudachan air falbh + .accesskey = h + +## Add-on removal warning + +# Variables: +# $name (String): The name of the add-on that will be removed. +addon-removal-title = A bheil thu airson { $name } a thoirt air falbh? +addon-removal-confirmation-button = Thoir air falbh +# Variables: +# $name (String): The name of the add-on that will be removed. +addon-removal-confirmation-message = A bheil thu airson { $name } a thoirt air falbh agus an rèiteachadh is dàta air fad aige o { -brand-short-name }? +caret-browsing-prompt-title = Brabhsadh carait +caret-browsing-prompt-text = Cuiridh tu brabhsadh le cùrsair air is dheth le F7. Cuiridh am feart seo cùrsair gluasadach ann an cuid a shusbaint agus ’s urrainn dhut teacsa a thaghadh leis a’ mheur-chlàr leis. A bheil thu airson brabhsadh le cùrsair a chur air a-nis? +caret-browsing-prompt-check-text = Na faighnich dhìom a-rithist. +repair-text-encoding-button = + .label = Càraich còdachadh an teacsa + .tooltiptext = Dèan tomhas air còdachadh ceart an teacsa, stèidhichte air susbaint na teachdaireachd + +## no-reply handling + +no-reply-title = Chan eil taic ri freagairtean +# Variables: +# $email (String) - Email address the reply will be sent to. Example: "noreply@example.com" +no-reply-message = Tha coltas nach eil duine sam bith a’ cumail sùil air an t-seòladh airson freagairtean, { $email }, agus tha e cha mhòr cinnteach nach leugh duine sam bith teachdaireachdan a chuirear gun t-seòladh seo. +no-reply-reply-anyway-button = Cuir an fhreagairt co-dhiù + +## error messages + + +## Spaces toolbar + +spaces-toolbar-element = + .toolbarname = Bàr-inneal nan spàsan + .aria-label = Bàr-inneal nan spàsan + .aria-description = Bàr-inneal inghearach airson leum eadar diofar spàsan. Cleachd na saighdean a ghluasad tro na putanan a tha ri làimh. +spaces-toolbar-button-mail2 = + .title = Post +spaces-toolbar-button-address-book2 = + .title = Leabhar nan seòladh +spaces-toolbar-button-calendar2 = + .title = Am mìosachan +spaces-toolbar-button-tasks2 = + .title = Saothraichean +spaces-toolbar-button-chat2 = + .title = Cabadaich +spaces-toolbar-button-overflow = + .title = Barrachd spàsan… +spaces-toolbar-button-settings2 = + .title = Roghainnean +spaces-toolbar-button-hide = + .title = Falaich bàr-inneal nan spàsan +spaces-toolbar-button-show = + .title = Seall bàr-inneal nan spàsan +spaces-context-new-tab-item = + .label = Fosgail ann an taba ùr +spaces-context-new-window-item = + .label = Fosgail ann an uinneag ùr +# Variables: +# $tabName (String) - The name of the tab this item will switch to. +spaces-context-switch-tab-item = + .label = Leum gu { $tabName } +settings-context-open-settings-item2 = + .label = Roghainnean +settings-context-open-account-settings-item2 = + .label = Roghainnean a’ chunntais +settings-context-open-addons-item2 = + .label = Tuilleadain ’s ùrlaran + +## Spaces toolbar pinned tab menupopup + +spaces-toolbar-pinned-tab-button = + .tooltiptext = Clàr-taice nan spàsan +spaces-pinned-button-menuitem-mail2 = + .label = { spaces-toolbar-button-mail2.title } +spaces-pinned-button-menuitem-address-book2 = + .label = { spaces-toolbar-button-address-book2.title } +spaces-pinned-button-menuitem-calendar2 = + .label = { spaces-toolbar-button-calendar2.title } +spaces-pinned-button-menuitem-tasks2 = + .label = { spaces-toolbar-button-tasks2.title } +spaces-pinned-button-menuitem-chat2 = + .label = { spaces-toolbar-button-chat2.title } +spaces-pinned-button-menuitem-settings2 = + .label = { spaces-toolbar-button-settings2.title } +spaces-pinned-button-menuitem-show = + .label = { spaces-toolbar-button-show.title } +# Variables: +# $count (Number) - Number of unread messages. +chat-button-unread-messages = { $count } + .title = + { $count -> + [one] { $count } teachdaireachd gun leughadh + [two] { $count } theachdaireachd gun leughadh + [few] { $count } teachdaireachdan gun leughadh + *[other] { $count } teachdaireachd gun leughadh + } + +## Spaces toolbar customize panel + +menuitem-customize-label = + .label = Gnàthaich… +spaces-customize-panel-title = Roghainnean bàr-inneal nan spàsan +spaces-customize-background-color = Dath a’ chùlaibh +spaces-customize-icon-color = Dath a’ phutain +# The background color used on the buttons of the spaces toolbar when they are +# `current`, meaning the related space/tab is active and visible. +spaces-customize-accent-background-color = Dath cùlaibh a’ phutain a thagh thu +# The icon color used on the buttons of the spaces toolbar when they are +# `current`, meaning the related space/tab is active and visible. +spaces-customize-accent-text-color = Dath a’ phutain a thagh thu +spaces-customize-button-restore = Aisig na bun-roghainnean + .accesskey = A +customize-panel-button-save = Deiseil + .accesskey = e + +## Quick Filter Bar + +# The label to display for the "View... Toolbars..." menu item that controls +# whether the quick filter bar is visible. +quick-filter-bar-toggle = + .label = Bàr-criathraidh luath + .accesskey = B +# This is the key used to show the quick filter bar. +# This should match quick-filter-bar-textbox-shortcut in about3Pane.ftl. +quick-filter-bar-show = + .key = k + +## OpenPGP + +openpgp-forget = Dìochuimhnich abairtean-faire OpenPGP + +## Quota panel. + +# Variables: +# $percent (Number) - Usage percentage of the assigned IMAP quota. +# $usage (String) - Current quota usage (may include unit) +# $limit (String) - Current quota limit (may include unit) +quota-panel-percent-used = { $percent }% làn + .title = Cuòta IMAP: { $usage } à { $limit } air a chleachdadh uile gu lèir diff --git a/thunderbird-l10n/gd/localization/gd/messenger/messengercompose/messengercompose.ftl b/thunderbird-l10n/gd/localization/gd/messenger/messengercompose/messengercompose.ftl new file mode 100644 index 0000000000000000000000000000000000000000..288301e6c2357a470061ff0e2086aa3af33dd760 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/messengercompose/messengercompose.ftl @@ -0,0 +1,435 @@ +# 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/. + + +## Send Format + +compose-send-format-menu = + .label = Am fòrmat anns an tèid a chur + .accesskey = f +compose-send-auto-menu-item = + .label = Fèin-obrachail + .accesskey = F +compose-send-both-menu-item = + .label = An dà chuid HTML agus teacsa lom + .accesskey = n +compose-send-html-menu-item = + .label = Dìreach HTML + .accesskey = H +compose-send-plain-menu-item = + .label = Dìreach teacsa lom + .accesskey = D + +## Addressing widget + +# $type (String) - the type of the addressing row +remove-address-row-button = + .title = Thoir air falbh an raon { $type } +# $type (String) - the type of the addressing row +# $count (Number) - the number of address pills currently present in the addressing row +address-input-type-aria-label = + { $count -> + [0] { $type } + [one] { $type } le { $count } seòladh, cleachd an t-saighead chlì airson fòcas a chur air. + [two] { $type } le { $count } sheòladh, cleachd an t-saighead chlì airson fòcas a chur air. + [few] { $type } le { $count } seòlaidhean, cleachd an t-saighead chlì airson fòcas a chur air. + *[other] { $type } le { $count } seòladh, cleachd an t-saighead chlì airson fòcas a chur air. + } +# $email (String) - the email address +# $count (Number) - the number of address pills currently present in the addressing row +pill-aria-label = + { $count -> + [one] { $email }, 1 à { $count }, brùth Enter airson a dheasachadh, Delete airson a thoirt air falbh. + [two] { $email }, 1 à { $count }, brùth Enter airson a dheasachadh, Delete airson a thoirt air falbh. + [few] { $email }, 1 à { $count }, brùth Enter airson a dheasachadh, Delete airson a thoirt air falbh. + *[other] { $email }, 1 à { $count }, brùth Enter airson a dheasachadh, Delete airson a thoirt air falbh. + } +# $email (String) - the email address +pill-tooltip-invalid-address = Chan eil { $email } na sheòladh puist-d dligheach +# $email (String) - the email address +pill-tooltip-not-in-address-book = Chan eil { $email } ann an leabhar nan seòladh agad +pill-action-edit = + .label = Deasaich an seòladh + .accesskey = D +# $type (String) - the type of the addressing row, e.g. Cc, Bcc, etc. +pill-action-select-all-sibling-pills = + .label = Tagh a h-uile seòladh san raon { $type } + .accesskey = { "" } +pill-action-select-all-pills = + .label = Tagh a h-uile seòladh + .accesskey = T +pill-action-move-to = + .label = Gluais gun raon “Gu” + .accesskey = { "" } +pill-action-move-cc = + .label = Gluais gun raon “Cc” + .accesskey = C +pill-action-move-bcc = + .label = Gluais gun raon “Bcc” + .accesskey = B +pill-action-expand-list = + .label = Leudaich an liosta + .accesskey = L + +## Attachment widget + +ctrl-cmd-shift-pretty-prefix = + { PLATFORM() -> + [macos] ⇧ ⌘{ " " } + *[other] Ctrl+Shift+ + } +trigger-attachment-picker-key = A +toggle-attachment-pane-key = M +menuitem-toggle-attachment-pane = + .label = Leòsan nan ceanglachan + .accesskey = s + .acceltext = { ctrl-cmd-shift-pretty-prefix }{ toggle-attachment-pane-key } +toolbar-button-add-attachment = + .label = Ceangail ris + .tooltiptext = Cuir ceanglachan ris ({ ctrl-cmd-shift-pretty-prefix }{ trigger-attachment-picker-key }) +add-attachment-notification-reminder2 = + .label = Cuir ceanglachan ris… + .accesskey = a + .tooltiptext = { toolbar-button-add-attachment.tooltiptext } +menuitem-attach-files = + .label = Faidhl(ichean)… + .accesskey = F + .acceltext = { ctrl-cmd-shift-pretty-prefix }{ trigger-attachment-picker-key } +context-menuitem-attach-files = + .label = Cuir faidhle/faidhlichean ris… + .accesskey = f + .acceltext = { ctrl-cmd-shift-pretty-prefix }{ trigger-attachment-picker-key } +# Note: Do not translate the term 'vCard'. +context-menuitem-attach-vcard = + .label = A’ vCard agam + .accesskey = C +context-menuitem-attach-openpgp-key = + .label = An iuchair phoblach OpenPGP agam + .accesskey = P +# $count (Number) - the number of attachments in the attachment bucket +attachment-bucket-count-value = + { $count -> + [1] { $count } cheanglachan + [one] { $count } cheanglachan + [two] { $count } cheanglachan + [few] { $count } ceanglachain + *[other] { $count } ceanglachan + } +attachment-area-show = + .title = Seall leòsan nan ceanglachan ({ ctrl-cmd-shift-pretty-prefix }{ toggle-attachment-pane-key }) +attachment-area-hide = + .title = Falaich leòsan nan ceanglachan ({ ctrl-cmd-shift-pretty-prefix }{ toggle-attachment-pane-key }) + +## Variables: +## $count (Number) - Number of files being dropped onto the composer. + +drop-file-label-attachment = + { $count -> + [one] Cuir ris mar cheanglachan + [two] Cuir ris mar cheanglachain + [few] Cuir ris mar cheanglachain + *[other] Cuir ris mar cheanglachain + } +drop-file-label-inline = + { $count -> + [one] Cuir a-steach am broinn na loidhne + [two] Cuir a-steach am broinn na loidhne + [few] Cuir a-steach am broinn na loidhne + *[other] Cuir a-steach am broinn na loidhne + } + +## Reorder Attachment Panel + +move-attachment-first-panel-button = + .label = Gluais gun chiad àite +move-attachment-left-panel-button = + .label = Gluais gun taobh chlì +move-attachment-right-panel-button = + .label = Gluais gun taobh deas +move-attachment-last-panel-button = + .label = Gluais gun àite mu dheireadh +button-return-receipt = + .label = Cuidhteas + .tooltiptext = Iarr cuidhteas tillidh airson na teachdaireachd seo + +## Encryption + +encryption-menu = + .label = Tèarainteachd + .accesskey = c +encryption-toggle = + .label = Crioptaich + .tooltiptext = Cleachd crioptachadh ceann ri ceann airson na teachdaireachd seo +encryption-options-openpgp = + .label = OpenPGP + .tooltiptext = Seall no atharraich roghainnean crioptachadh OpenPGP +encryption-options-smime = + .label = S/MIME + .tooltiptext = Seall no atharraich roghainnean crioptachadh S/MIME +signing-toggle = + .label = Soidhnich.. + .tooltiptext = Cuir soidhneadh digiteach ris an teachdaireachd seo +menu-openpgp = + .label = OpenPGP + .accesskey = O +menu-smime = + .label = S/MIME + .accesskey = S +menu-encrypt = + .label = Crioptaich + .accesskey = C +menu-encrypt-subject = + .label = Crioptaich an cuspair + .accesskey = r +menu-sign = + .label = Cuir soidhneadh digiteach ris + .accesskey = i +menu-manage-keys = + .label = Cuidiche nan iuchraichean + .accesskey = a +menu-view-certificates = + .label = Seall teisteanasan nam faightearan + .accesskey = S +menu-open-key-manager = + .label = Manaidsear nan iuchraichean + .accesskey = M +openpgp-key-issue-notification-one = Airson crioptachadh ceann ri ceann, feumaidh tu na duilgheadasan a th’ aig na h-iuchraichean airson { $addr } a chur ceart +smime-cert-issue-notification-one = Airson crioptachadh ceann ri ceann, feumaidh tu na duilgheadasan a th’ aig na teisteanasan airson { $addr } a chur ceart. +# Variables: +# $addr (String) - Email address (which related to the currently selected +# from address) which isn't set up to end-to-end encryption. +openpgp-key-issue-notification-from = Cha do shuidhich thu comas teachdaireachdan crioptaichte ceann ri ceann a chur o { $addr }. +# Variables: +# $addr (String) - Email address with key issues. +openpgp-key-issue-notification-single = Airson crioptachadh ceann ri ceann, feumaidh tu na duilgheadasan a th’ aig na h-iuchraichean airson { $addr } a chur ceart. +# Variables: +# $count (Number) - Number of recipients with key issues. +openpgp-key-issue-notification-multi = + { $count -> + [one] Airson crioptachadh ceann ri ceann, feumaidh tu na duilgheadasan a th’ aig { $count } fhaightear a chur ceart an toiseach. + [two] Airson crioptachadh ceann ri ceann, feumaidh tu na duilgheadasan a th’ aig { $count } fhaightear a chur ceart an toiseach. + [few] Airson crioptachadh ceann ri ceann, feumaidh tu na duilgheadasan a th’ aig { $count } faightearan a chur ceart an toiseach. + *[other] Airson crioptachadh ceann ri ceann, feumaidh tu na duilgheadasan a th’ aig { $count } faightear a chur ceart an toiseach. + } +# Variables: +# $addr (String) - mail address with certificate issues. +smime-cert-issue-notification-single = Airson crioptachadh ceann ri ceann, feumaidh tu na duilgheadasan a th’ aig na teisteanasan airson { $addr } a chur ceart. +# Variables: +# $count (Number) - Number of recipients with certificate issues. +smime-cert-issue-notification-multi = + { $count -> + [one] Airson crioptachadh ceann ri ceann, feumaidh tu duilgheadasan nan teisteanasan a th’ aig { $count } fhaightear a chur ceart an toiseach. + [two] Airson crioptachadh ceann ri ceann, feumaidh tu duilgheadasan nan teisteanasan a th’ aig { $count } fhaightear a chur ceart an toiseach. + [few] Airson crioptachadh ceann ri ceann, feumaidh tu duilgheadasan nan teisteanasan a th’ aig { $count } faightearan a chur ceart an toiseach. + *[other] Airson crioptachadh ceann ri ceann, feumaidh tu duilgheadasan nan teisteanasan a th’ aig { $count } faightear a chur ceart an toiseach. + } +key-notification-disable-encryption = + .label = Na crioptaich + .accesskey = N + .tooltiptext = Cuir an crioptachadh ceann ri ceann à comas +key-notification-resolve = + .label = Fuasgail… + .accesskey = F + .tooltiptext = Fosgail cuidiche iuchraichean OpenPGP +can-encrypt-smime-notification = ’S urrainn dhut crioptachadh ceann ri ceann S/MIME a chleachdadh. +can-encrypt-openpgp-notification = ’S urrainn dhut crioptachadh ceann ri ceann OpenPGP a chleachdadh. +can-e2e-encrypt-button = + .label = Crioptaich + .accesskey = r + +## Addressing Area + +to-address-row-label = + .value = Gu +# $key (String) - the shortcut key for this field +show-to-row-main-menuitem = + .label = An raon “Gu” + .accesskey = G + .acceltext = { ctrl-cmd-shift-pretty-prefix }{ $key } +# No acceltext should be shown. +# The label should match the show-to-row-button text. +show-to-row-extra-menuitem = + .label = Gu + .accesskey = G +# $key (String) - the shortcut key for this field +show-to-row-button = Gu + .title = Seall an raon “Gu” ({ ctrl-cmd-shift-pretty-prefix }{ $key }) +cc-address-row-label = + .value = Cc +# $key (String) - the shortcut key for this field +show-cc-row-main-menuitem = + .label = An raon “Cc” + .accesskey = C + .acceltext = { ctrl-cmd-shift-pretty-prefix }{ $key } +# No acceltext should be shown. +# The label should match the show-cc-row-button text. +show-cc-row-extra-menuitem = + .label = Cc + .accesskey = C +# $key (String) - the shortcut key for this field +show-cc-row-button = Cc + .title = Seall an raon “Cc” ({ ctrl-cmd-shift-pretty-prefix }{ $key }) +bcc-address-row-label = + .value = Bcc +# $key (String) - the shortcut key for this field +show-bcc-row-main-menuitem = + .label = An raon “Bcc” + .accesskey = B + .acceltext = { ctrl-cmd-shift-pretty-prefix }{ $key } +# No acceltext should be shown. +# The label should match the show-bcc-row-button text. +show-bcc-row-extra-menuitem = + .label = Bcc + .accesskey = B +# $key (String) - the shortcut key for this field +show-bcc-row-button = Bcc + .title = Seall an raon “Bcc” ({ ctrl-cmd-shift-pretty-prefix }{ $key }) +extra-address-rows-menu-button = + .title = Raointean seòlachaidh eile a thèid a thaisbeanadh +# Variables: +# $count (Number) - the count of addresses in the "To" and "Cc" fields. +public-recipients-notice-multi = + { $count -> + [one] Chì an { $count } fhaightear ann an Gu agus Cc seòladh a chèile. ’S urrainn dhut seo a sheachnadh le bhith a’ cleachdadh Bcc an àite sin. + [two] Chì an { $count } fhaightear ann an Gu agus Cc seòladh a chèile. ’S urrainn dhut seo a sheachnadh le bhith a’ cleachdadh Bcc an àite sin. + [few] Chì na { $count } faightearan ann an Gu agus Cc seòladh a chèile. ’S urrainn dhut seo a sheachnadh le bhith a’ cleachdadh Bcc an àite sin. + *[other] Chì na { $count } faightear ann an Gu agus Cc seòladh a chèile. ’S urrainn dhut seo a sheachnadh le bhith a’ cleachdadh Bcc an àite sin. + } +many-public-recipients-bcc = + .label = Cleachd Bcc na àite + .accesskey = C +many-public-recipients-ignore = + .label = Cùm na faightearan poblach + .accesskey = h +many-public-recipients-prompt-title = Tha cus fhaightearan poblach ann +# $count (Number) - the count of addresses in the public recipients fields. +many-public-recipients-prompt-msg = + { $count -> + [one] Tha { $count } fhaightear poblach aig an teachdaireachd seo. Dh’fhaoidte gu bheil seo na dhragh prìobhaideachd. ’S urrainn dhut seo a sheachnadh le bhith a’ gluasad nam faightearan seo on raon Gu/CC gun raon Bcc na àite. + [two] Tha { $count } fhaightear poblach aig an teachdaireachd seo. Dh’fhaoidte gu bheil seo na dhragh prìobhaideachd. ’S urrainn dhut seo a sheachnadh le bhith a’ gluasad nam faightearan seo on raon Gu/CC gun raon Bcc na àite. + [few] Tha { $count } faightearan poblach aig an teachdaireachd seo. Dh’fhaoidte gu bheil seo na dhragh prìobhaideachd. ’S urrainn dhut seo a sheachnadh le bhith a’ gluasad nam faightearan seo on raon Gu/CC gun raon Bcc na àite. + *[other] Tha { $count } faightear poblach aig an teachdaireachd seo. Dh’fhaoidte gu bheil seo na dhragh prìobhaideachd. ’S urrainn dhut seo a sheachnadh le bhith a’ gluasad nam faightearan seo on raon Gu/CC gun raon Bcc na àite. + } +many-public-recipients-prompt-cancel = Sguir dhen a chur +many-public-recipients-prompt-send = Cuir e co-dhiù + +## Notifications + +# Variables: +# $identity (string) - The name of the used identity, most likely an email address. +compose-missing-identity-warning = Cha deach eintiteas àraidh a lorg a fhreagras ris an t-seòladh “O”. Thèid an teachdaireachd a chur leis an raon “O” làithreach agus le roghainnean na h-aithne { $identity }. +encrypted-bcc-warning = Ma chuireas tu teachdaireachd crioptaichte, cha bhi na faightearan ann am Bcc am falach buileach agus b’ urrainn gum faic an còrr dhe na faightearan iad. +encrypted-bcc-ignore-button = Tha mi a’ tuigsinn +auto-disable-e2ee-warning = Chaidh an crioptachadh ceann ri ceann aig an teachdaireachd seo a chur à comas gu fèin-obrachail. + +## Editing + + +# Tools + +compose-tool-button-remove-text-styling = + .tooltiptext = Thoir air falbh stoidhleadh an teacsa + +## Filelink + +# A text used in a tooltip of Filelink attachments, whose account has been +# removed or is unknown. +cloud-file-unknown-account-tooltip = Chaidh a luchdadh suas gu cunntas FileLink nach aithne dhuinn. + +# Placeholder file + +# Title for the html placeholder file. +# $filename - name of the file +cloud-file-placeholder-title = { $filename } – ceanglachan FileLink +# A text describing that the file was attached as a Filelink and can be downloaded +# from the link shown below. +# $filename - name of the file +cloud-file-placeholder-intro = Chaidh am faidhle { $filename } a cheangal ris mar FileLink. Gabhaidh a luchdadh a-nuas aig a’ cheangal gu h-ìosal. + +# Template + +# A line of text describing how many uploaded files have been appended to this +# message. Emphasis should be on sharing as opposed to attaching. This item is +# used as a header to a list, hence the colon. +# Variables: +# $count (Number) - Number of files. +cloud-file-count-header = + { $count -> + [one] Cheangail mi { $count } fhaidhle ris a’ phost-d seo: + [two] Cheangail mi { $count } fhaidhle ris a’ phost-d seo: + [few] Cheangail mi { $count } faidhlichean ris a’ phost-d seo: + *[other] Cheangail mi { $count } faidhle ris a’ phost-d seo: + } +# A text used in a footer, instructing the reader where to find additional +# information about the used service provider. +# $link (string) - html a-tag for a link pointing to the web page of the provider +cloud-file-service-provider-footer-single = Faigh barrachd fiosrachaidh mu { $link }. +# A text used in a footer, instructing the reader where to find additional +# information about the used service providers. Links for the used providers are +# split into a comma separated list of the first n-1 providers and a single entry +# at the end. +# $firstLinks (string) - comma separated list of html a-tags pointing to web pages +# of the first n-1 used providers +# $lastLink (string) - html a-tag pointing the web page of the n-th used provider +cloud-file-service-provider-footer-multiple = Faigh barrachd fiosrachaidh mu { $firstLinks } agus { $lastLink }. +# Tooltip for an icon, indicating that the link is protected by a password. +cloud-file-tooltip-password-protected-link = Ceangal a tha fo dhìon facail-fhaire +# Used in a list of stats about a specific file +# Service - the used service provider to host the file (Filelink Service: BOX.com) +# Size - the size of the file (Size: 4.2 MB) +# Link - the link to the file (Link: https://some.provider.com) +# Expiry Date - stating the date the link will expire (Expiry Date: 12.12.2022) +# Download Limit - stating the maximum allowed downloads, before the link becomes invalid +# (Download Limit: 6) +cloud-file-template-service-name = Seirbheis FileLink: +cloud-file-template-size = Meud: +cloud-file-template-link = Ceangal: +cloud-file-template-password-protected-link = Ceangal a tha fo dhìon facail-fhaire: +cloud-file-template-expiry-date = Falbhaidh an ùine air: +cloud-file-template-download-limit = Crìoch an luchdaidh a-nuas: + +# Messages + +cloud-file-connection-error-title = Mearachd leis a’ cheangal +# Variables: +# $provider (string) - name of the online storage service that reported the error +cloud-file-connection-error = Tha { -brand-short-name } far loidhne is cha b’ urrainn dha ceangal ri { $provider }. +# Variables: +# $provider (string) - name of the online storage service that reported the error +# $filename (string) - name of the file that was uploaded and caused the error +cloud-file-upload-error-with-custom-message-title = Cha b’ urrainn dhuinn { $filename } a luchdadh suas gu { $provider } +cloud-file-rename-error-title = Cha b’ urrainn dhuinn ainm ùr a thoirt air +# Variables: +# $provider (string) - name of the online storage service that reported the error +# $filename (string) - name of the file that was renamed and caused the error +cloud-file-rename-error = Cha b’ urrainn dhuinn ainm ùr a thoirt air { $filename } air { $provider }. +# Variables: +# $provider (string) - name of the online storage service that reported the error +# $filename (string) - name of the file that was renamed and caused the error +cloud-file-rename-error-with-custom-message-title = Cha b’ urrainn dhuinn ainm ùr a thoirt air { $filename } air { $provider } +# Variables: +# $provider (string) - name of the online storage service that reported the error +cloud-file-rename-not-supported = Chan eil { $provider } a’ cur taic ri ath-ainmeachadh fhaidhlichean a chaidh an luchdadh suas mu thràth. +cloud-file-attachment-error-title = Mearachd le ceanglachan FileLink +# Variables: +# $filename (string) - name of the file that was renamed and caused the error +cloud-file-attachment-error = Cha b’ urrainn dhuinn an ceanglachan FileLink { $filename } ùrachadh a chionn ’s gun deach faidhle ionadail a ghluasad no a sguabadh às. +cloud-file-account-error-title = Mearachd le cunntas FileLink +# Variables: +# $filename (string) - name of the file that was renamed and caused the error +cloud-file-account-error = Cha b’ urrainn dhuinn an ceanglachan FileLink { $filename } ùrachadh a chionn ’s gun deach an cunntas FileLink aige a sguabadh às. + +## Link Preview + +link-preview-title = Ro-shealladh a’ cheangail +link-preview-description = ’S urrainn dha { -brand-short-name } ro-shealladh leabaichte a chur ris nuair a chuireas tu ceanglaichean ann. +link-preview-autoadd = Cuir ro-shealladh cheanglaichean ris gu fèin-obrachail ma ghabhas sin a dhèanamh +link-preview-replace-now = A bheil thu airson ro-shealladh a chur ris a’ cheangal seo? +link-preview-yes-replace = Tha + +## Dictionary selection popup + +spell-add-dictionaries = + .label = Cuir faclairean ris… + .accesskey = a diff --git a/thunderbird-l10n/gd/localization/gd/messenger/migration.ftl b/thunderbird-l10n/gd/localization/gd/messenger/migration.ftl new file mode 100644 index 0000000000000000000000000000000000000000..6a3ed971c3367e74ebd256072fb50fc987b2a03c --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/migration.ftl @@ -0,0 +1,15 @@ +# 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/. + +migration-progress-header = Ag ullachadh { -brand-short-name }… + +## Migration tasks + + +# These strings are displayed to the user if a migration is taking a long time. +# They should be short (no more than a handful of words) and in the present tense. + +migration-task-test-fast = A’ cur atharrachadh luath fo dheuchainn +migration-task-test-slow = A’ cur atharrachadh slaodach fo dheuchainn +migration-task-test-progress = A’ cur bàr an adhartais fo dheuchainn diff --git a/thunderbird-l10n/gd/localization/gd/messenger/multimessageview.ftl b/thunderbird-l10n/gd/localization/gd/messenger/multimessageview.ftl new file mode 100644 index 0000000000000000000000000000000000000000..03d2c7d5fd314100379d9bef65619273d89da3cf --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/multimessageview.ftl @@ -0,0 +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/. + +multi-message-window-title = + .title = Gearr-chunntas na teachdaireachd +selected-messages-label = + .label = Teachdaireachdan a chaidh a thaghadh +multi-message-archive-button = + .label = Tasg-lann + .tooltiptext = Tasg-lann +multi-message-delete-button = + .label = Sguab às + .tooltiptext = Sguab às diff --git a/thunderbird-l10n/gd/localization/gd/messenger/openpgp/backupKeyPassword.ftl b/thunderbird-l10n/gd/localization/gd/messenger/openpgp/backupKeyPassword.ftl new file mode 100644 index 0000000000000000000000000000000000000000..bc5ec25c30a0d02be97c37bc6bd74c42d5834f0d --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/openpgp/backupKeyPassword.ftl @@ -0,0 +1,17 @@ +# 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/. + +set-password-window = + .title = Tagh facal-faire airson lethbhreac-glèidhidh a dhèanamh dhen iuchair OpenPGP agad +set-password-window-title = Tagh facal-faire airson lethbhreac-glèidhidh a dhèanamh dhen iuchair OpenPGP agad +set-password-legend = Tagh facal-faire +set-password-message = Dìonaidh am facal-faire a shuidhicheas tu an-seo am faidhle lethbhric-ghlèidhidh a chruthaicheas tu dhan iuchair dhìomhair OpenPGP agad. Feumaidh tu am facal-faire seo a shuidheachadh mus lean thu air adhart leis an lethbhreac-ghlèidhidh. +set-password-backup-pw = + .value = Facal-faire an lethbhric-ghlèidhidh air an iuchair rùin: +set-password-repeat-backup-pw = + .value = Facal-faire an lethbhric-ghlèidhidh air an iuchair rùin (a-rithist): +set-password-backup-pw-label = Facal-faire an lethbhric-ghlèidhidh air an iuchair rùin: +set-password-backup-pw2-label = Facal-faire an lethbhric-ghlèidhidh air an iuchair rùin (a-rithist): +set-password-reminder = <b>Cudromach</b>: ma dhìochuimhnicheas tu facal-faire lethbhreac-glèidhidh na h-iuchrach rùin agad, chan urrainn dhut an lethbhreac-glèidhidh seo a chleachdadh às dèidh sin. Cùm cunntas dheth ann an àite sàbhailte. +password-quality-meter = Tomhas càileachd an fhacail-fhaire diff --git a/thunderbird-l10n/gd/localization/gd/messenger/openpgp/changeExpiryDlg.ftl b/thunderbird-l10n/gd/localization/gd/messenger/openpgp/changeExpiryDlg.ftl new file mode 100644 index 0000000000000000000000000000000000000000..67e4ac244a29428ac246bc89ac8943cafd972ce7 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/openpgp/changeExpiryDlg.ftl @@ -0,0 +1,22 @@ +# 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/. + +openpgp-change-key-expiry-title = + .title = Atharraich cuin a dh’fhalbhas an ùine air an iuchair +openpgp-change-expiry-title = Atharraich cuin a dh’fhalbhas an ùine air an iuchair +info-will-expire = Chaidh an iuchair a rèiteachadh ach am falbh an ùine oirre { $date }. +info-already-expired = Dh’fhalbh an ùine air an iuchair seo mu thràth. +info-does-not-expire = Chaidh an iuchair a rèiteachadh ach nach fhalbh an ùine oirre gu bràth. +info-explanation-1 = <b>Nuair a dh’fhalbh an ùine air iuchair</b>, chan urrainn dhut a cleachdadh a chùm crioptachadh no soidhneadh digiteach tuilleadh. +info-explanation-2 = Airson an iuchair a chleachdadh ùine nas fhaide, atharraich an latha a dh’fhalbhas an ùine oirre agus co-roinn an iuchair phoblach le càch a-rithist. +expire-dont-change = + .label = Na atharraich an latha a dh’fhalbhas an ùine oirre +expire-never-label = + .label = Chan fhalbh an ùine oirre gu bràth +expire-in-label = + .label = Falbhaidh an ùine air an iuchair: +expire-in-months = Mìosan +expire-no-change-label = Na atharraich an latha a dh’fhalbhas an ùine oirre +expire-in-time-label = Falbhaidh an ùine air an iuchair: +expire-never-expire-label = Chan fhalbh an ùine oirre gu bràth diff --git a/thunderbird-l10n/gd/localization/gd/messenger/openpgp/composeKeyStatus.ftl b/thunderbird-l10n/gd/localization/gd/messenger/openpgp/composeKeyStatus.ftl new file mode 100644 index 0000000000000000000000000000000000000000..169ad681f34348c43bb05a8fe90c2967595b9cc2 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/openpgp/composeKeyStatus.ftl @@ -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/. + +openpgp-compose-key-status-intro-need-keys = Airson teachdaireachd a chur aig am bi crioptachadh ceann ri ceann, feumaidh tu iuchair phoblach fhaighinn airson gach faightear agus gabhail ris. +openpgp-compose-key-status-keys-heading = Faotainneachd iuchraichean OpenPGP: +openpgp-compose-key-status-title = + .title = Tèarainteachd theachdaireachdan OpenPGP +openpgp-compose-key-status-recipient = + .label = Faightear +openpgp-compose-key-status-status = + .label = Staid +openpgp-compose-key-status-open-details = Stiùirich na h-iuchraichean aig an fhaightear a thagh thu… +openpgp-recip-good = ceart ma-thà +openpgp-recip-missing = chan eil iuchair ri fhaighinn +openpgp-recip-none-accepted = cha deach gabhail ri iuchair +openpgp-compose-general-info-alias = Mar is trice feumaidh { -brand-short-name } gum bi ID cleachdaiche agus seòladh puist-d a tha a’ freagairt ris ann an iuchair phoblach an fhaighteir. ’S urrainn dhut seo a thar-sgrìobhadh le riaghailteas alias faightear OpenPGP. +openpgp-compose-general-info-alias-learn-more = Barrachd fiosrachaidh +# Variables: +# $count (Number) - Number of alias keys for a recipient. +openpgp-compose-alias-status-direct = + { $count -> + [one] air a mhapadh ri { $count } iuchair alias + [two] air a mhapadh ri { $count } iuchair alias + [few] air a mhapadh ri { $count } iuchraichean alias + *[other] air a mhapadh ri { $count } iuchair alias + } +openpgp-compose-alias-status-error = iuchair alias nach gabh a chleachdadh/nach eil ri fhaighinn diff --git a/thunderbird-l10n/gd/localization/gd/messenger/openpgp/keyAssistant.ftl b/thunderbird-l10n/gd/localization/gd/messenger/openpgp/keyAssistant.ftl new file mode 100644 index 0000000000000000000000000000000000000000..fc25dbb40ea1f35c606d654dcb1038ae000c009f --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/openpgp/keyAssistant.ftl @@ -0,0 +1,137 @@ +# 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/. + +openpgp-key-assistant-title = Cuidiche iuchair OpenPGP +openpgp-key-assistant-rogue-warning = Feuch is na gabh ri iuchair fuadain. A dhèanamh cinnteach gun d’fhuair thu an iuchair cheart, bu chòir dhut a dhearbhadh. <a data-l10n-name="openpgp-link">Barrachd fiosrachaidh…</a> + +## Encryption status + +openpgp-key-assistant-recipients-issue-header = Cha ghabh a chrioptachadh +# Variables: +# $count (Number) - The number of recipients that need attention. +openpgp-key-assistant-recipients-issue-description = + { $count -> + [one] Airson crioptachadh a dhèanamh, feumaidh tu iuchair dhligheach fhaighinn airson { $count } fhaightear agus gabhail ris. <a data-l10n-name="openpgp-link">Barrachd fiosrachaidh…</a> + [two] Airson crioptachadh a dhèanamh, feumaidh tu iuchair dhligheach fhaighinn airson { $count } fhaightear agus gabhail ris. <a data-l10n-name="openpgp-link">Barrachd fiosrachaidh…</a> + [few] Airson crioptachadh a dhèanamh, feumaidh tu iuchair dhligheach fhaighinn airson { $count } faightearan agus gabhail ris. <a data-l10n-name="openpgp-link">Barrachd fiosrachaidh…</a> + *[other] Airson crioptachadh a dhèanamh, feumaidh tu iuchair dhligheach fhaighinn airson { $count } faightear agus gabhail ris. <a data-l10n-name="openpgp-link">Barrachd fiosrachaidh…</a> + } +openpgp-key-assistant-info-alias = Mar is trice feumaidh { -brand-short-name } gum bi ID cleachdaiche agus seòladh puist-d a tha a’ freagairt ris ann an iuchair phoblach an fhaighteir. ’S urrainn dhut seo a thar-sgrìobhadh le riaghailteas alias faightear OpenPGP. <a data-l10n-name="openpgp-link">Barrachd fiosrachaidh…</a> +# Variables: +# $count (Number) - The number of recipients that need attention. +openpgp-key-assistant-recipients-description = + { $count -> + [one] Tha iuchair sho-chleachdte a chaidh gabhail ris airson { $count } fhaightear mu thràth. + [two] Tha iuchair sho-chleachdte a chaidh gabhail ris airson { $count } fhaightear mu thràth. + [few] Tha iuchair sho-chleachdte a chaidh gabhail ris airson { $count } faightearan mu thràth. + *[other] Tha iuchair sho-chleachdte a chaidh gabhail ris airson { $count } faightear mu thràth. + } +openpgp-key-assistant-recipients-description-no-issues = Gabhaidh an teachdaireachd seo a chrioptachadh. Tha iuchraichean so-chleachdte a chaidh gabhail riutha agad airson gach faightear. + +## Resolve section + +# Variables: +# $recipient (String) - The email address of the recipient needing resolution. +# $numKeys (Number) - The number of keys. +openpgp-key-assistant-resolve-title = + { $numKeys -> + [one] Lorg { -brand-short-name } an iuchair a leanas airson { $recipient }. + [two] Lorg { -brand-short-name } na h-iuchraichean a leanas airson { $recipient }. + [few] Lorg { -brand-short-name } na h-iuchraichean a leanas airson { $recipient }. + *[other] Lorg { -brand-short-name } na h-iuchraichean a leanas airson { $recipient }. + } +openpgp-key-assistant-valid-description = Tagh an iuchair a tha thu airson gabhail ris +# Variables: +# $numKeys (Number) - The number of available keys. +openpgp-key-assistant-invalid-title = + { $numKeys -> + [one] Chan urrainn dhut an iuchair a leanas a chleachdadh ach ma gheibh thu ùrachadh. + [two] Chan urrainn dhut na h-iuchraichean a leanas a chleachdadh ach ma gheibh thu ùrachadh. + [few] Chan urrainn dhut na h-iuchraichean a leanas a chleachdadh ach ma gheibh thu ùrachadh. + *[other] Chan urrainn dhut na h-iuchraichean a leanas a chleachdadh ach ma gheibh thu ùrachadh. + } +openpgp-key-assistant-no-key-available = Chan eil iuchair ri fhaighinn. +openpgp-key-assistant-multiple-keys = Tha iomadh iuchair ri fhaighinn. +# Variables: +# $count (Number) - The number of unaccepted keys. +openpgp-key-assistant-key-unaccepted = + { $count -> + [one] Tha iuchair ri fhaighinn ach cha deach gabhail ris fhathast. + [two] Tha iomach iuchair ri fhaighinn ach cha deach gabhail riutha fhathast. + [few] Tha iomach iuchair ri fhaighinn ach cha deach gabhail riutha fhathast. + *[other] Tha iomach iuchair ri fhaighinn ach cha deach gabhail riutha fhathast. + } +# Variables: +# $date (String) - The expiration date of the key. +openpgp-key-assistant-key-accepted-expired = Dh’fhalbh an ùine air iuchair a ghabh thu ris { $date }. +openpgp-key-assistant-keys-accepted-expired = Dh’fhalbh an ùine air iomadh iuchair a ghabh thu riutha. +# Variables: +# $date (String) - The expiration date of the key. +openpgp-key-assistant-this-key-accepted-expired = Chaidh gabhail ris an iuchair roimhe ach dh’fhalbh an ùine air { $date }. +# Variables: +# $date (String) - The expiration date of the key. +openpgp-key-assistant-key-unaccepted-expired-one = Dh’fhalbh an ùine air { $date }. +openpgp-key-assistant-key-unaccepted-expired-many = Dh’fhalbh an ùine air iomadh iuchair. +openpgp-key-assistant-key-fingerprint = Lorg-meòir +# Variables: +# $count (Number) - Number of key sources. +openpgp-key-assistant-key-source = + { $count -> + [one] Tùs + [two] Tùsan + [few] Tùsan + *[other] Tùsan + } +openpgp-key-assistant-key-collected-attachment = ceanglachan puist +# Autocrypt is the name of a standard. +openpgp-key-assistant-key-collected-autocrypt = Bann-cinn Autocrypt +openpgp-key-assistant-key-collected-keyserver = frithealaiche iuchraichean +# Web Key Directory (WKD) is a concept. +openpgp-key-assistant-key-collected-wkd = Web Key Directory +# Do not translate GnuPG, it's a name of other software. +openpgp-key-assistant-key-collected-gnupg = Dul-iuchrach GnuPG +# Variables: +# $count (Number) - Number of found keys. +openpgp-key-assistant-keys-has-collected = + { $count -> + [one] Lorg sinn iuchair ach cha deach gabhail ris fhathast. + [two] Lorg sinn iomadh iuchair ach cha deach gabhail riutha fhathast. + [few] Lorg sinn iomadh iuchair ach cha deach gabhail riutha fhathast. + *[other] Lorg sinn iomadh iuchair ach cha deach gabhail riutha fhathast. + } +openpgp-key-assistant-key-rejected = Chaidh an iuchair seo a dhiùltadh roimhe. +openpgp-key-assistant-key-accepted-other = Chaidh gabhail ris an iuchair seo roimhe mu choinneamh seòladh puist-d eile. +# Variables: +# $recipient (String) - The email address of the recipient needing resolution. +openpgp-key-assistant-resolve-discover-info = Faigh lorg air iuchraichean eile no iuchraichean ùraichte airson { $recipient } air loidhne no ion-phortaich iad o fhaidhle. + +## Discovery section + +openpgp-key-assistant-discover-title = A’ faighinn lorg orra air loidhne. +# Variables: +# $recipient (String) - The email address which we're discovering keys. +openpgp-key-assistant-discover-keys = A’ faighinn lorg air iuchraichean airson { $recipient }… +# Variables: +# $recipient (String) - The email address which we're discovering keys. +openpgp-key-assistant-expired-key-update = + Chaidh ùrachadh a lorg airson aon dhe na h-iuchraichean a ghabhadh ris roimhe airson { $recipient }. + Gabhaidh a chleachdadh a-nis leis nach eil an ùine air falbh air tuilleadh. + +## Dialog buttons + +openpgp-key-assistant-discover-online-button = Faigh lorg air iuchraichean poblach air loidhne… +openpgp-key-assistant-import-keys-button = Ion-phortaich iuchraichean poblach o fhaidhle… +openpgp-key-assistant-issue-resolve-button = Fuasgail… +openpgp-key-assistant-view-key-button = Faic an iuchair… +openpgp-key-assistant-recipients-show-button = Seall +openpgp-key-assistant-recipients-hide-button = Falaich +openpgp-key-assistant-cancel-button = Sguir dheth +openpgp-key-assistant-back-button = Air ais +openpgp-key-assistant-accept-button = Gabh ris +openpgp-key-assistant-close-button = Dùin +openpgp-key-assistant-disable-button = Cuir an crioptachadh à comas +openpgp-key-assistant-confirm-button = Cuir e an cruth crioptaichte +# Variables: +# $date (String) - The key creation date. +openpgp-key-assistant-key-created = air a chruthachadh { $date } diff --git a/thunderbird-l10n/gd/localization/gd/messenger/openpgp/keyWizard.ftl b/thunderbird-l10n/gd/localization/gd/messenger/openpgp/keyWizard.ftl new file mode 100644 index 0000000000000000000000000000000000000000..977d741c73031e9eb9f9791945c4c72bc535d401 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/openpgp/keyWizard.ftl @@ -0,0 +1,136 @@ +# 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/. + +# $identity (String) - the email address of the currently selected identity +key-wizard-dialog-window = + .title = Cuir iuchair phearsanta OpenPGP ris airson { $identity } +key-wizard-button = + .buttonlabelaccept = Air adhart + .buttonlabelhelp = Air ais +key-wizard-dialog = + .buttonlabelaccept = Air adhart + .buttonlabelextra1 = Air ais +key-wizard-warning = <b>Ma tha iuchair phearsanta agad mu thràth</b> airson a’ phuist-d seo, bu chòir dhut ion-phortadh. Air neo cha bhi cothrom agad air tasg-lannan a’ phuist-d chrioptaichte agad agus chan urrainn dhut post-d crioptaichte a thig a-steach a leughadh mas ann o dhaoine a tha a’ cleachdadh na h-iuchrach làithreach agad a tha iad. +key-wizard-learn-more = Barrachd fiosrachaidh +radio-create-key = + .label = Cruthaich iuchair OpenPGP ùr + .accesskey = C +radio-import-key = + .label = Ion-phortaich iuchair OpenPGP làithreach + .accesskey = I +radio-gnupg-key = + .label = Cleachd an iuchair on taobh a-muigh agad slighe GnuPG (m.e. o chairt thapaidh) + .accesskey = u + +## Generate key section + +openpgp-generate-key-title = Gin iuchair OpenPGP +openpgp-keygen-secret-protection = Dìon nan iuchraichean rùin +radio-keygen-no-protection = + .label = Gun dìon +radio-keygen-protect-primary-pass = + .label = Dìon le prìomh-fhacal-faire +radio-keygen-passphrase-protection = + .label = Dìon le abairt-fhaire: +openpgp-passphrase-repeat = Dearbh an abairt-fhaire: +openpgp-generate-key-info = <b>Dh’fhaoidte gun toir gintinn na h-iuchrach grunn mhionaidean.</b> Na fàg an aplacaid fhad ’s a tha an iuchair ga gintinn. Ma nì thu brabhsadh no rudan a bhios trom air an diosg fhad ’s a tha an iuchair ga gintinn, ath-lìonaidh sin an “randomness pool” agus cuiridh sin spionnadh sa phròiseas. Gheibh thu brath nuair a bhios an iuchair air a gintinn. +openpgp-keygen-expiry-title = Cuin a dh’fhalbhas an ùine air an iuchair +openpgp-keygen-expiry-description = Suidhich cuin a dh’fhalbhas an ùine air an iuchair a tha thu air ùr-ghintinn. Is urrainn dhut sìneadh a chur sa cheann-là às a dhèidh seo ma bhios feum air. +radio-keygen-expiry = + .label = Falbhaidh an ùine air an iuchair ann an + .accesskey = e +radio-keygen-no-expiry = + .label = Chan fhalbh an ùine air an iuchair + .accesskey = r +openpgp-keygen-advanced-title = Roghainnean adhartach +openpgp-keygen-advanced-description = Stiùirich roghainnean adhartach na h-iuchrach OpenPGP agad. +openpgp-keygen-keytype = + .value = Seòrsa na h-iuchrach: + .accesskey = h +openpgp-keygen-keysize = + .value = Meud na h-iuchrach: + .accesskey = M +openpgp-keygen-type-rsa = + .label = RSA +openpgp-keygen-type-ecc = + .label = ECC (Elliptic Curve) +openpgp-keygen-button = Gin iuchair +openpgp-keygen-progress-title = A’ gintinn na h-iuchrach OpenPGP ùr agad… +openpgp-keygen-import-progress-title = Ag ion-phortadh nan iuchraichean OpenPGP agad… +openpgp-import-success = Chaidh na h-iuchraichean OpenPGP ion-phortadh! +openpgp-import-success-title = Coilean an t-ion-phortadh +openpgp-import-success-description = Airson post-d a chrioptachadh leis an iuchair OpenPGP a thug thu a-steach, dùin an còmhradh seo is tadhail air roghainnean a’ chunntais agad is tagh an-sin e. +openpgp-keygen-confirm = + .label = Dearbh +openpgp-keygen-dismiss = + .label = Sguir dheth +openpgp-keygen-cancel = + .label = Sguir dhen phròiseas… +openpgp-keygen-import-complete = + .label = Dùin + .accesskey = D +openpgp-keygen-missing-username = Cha deach ainm a shònrachadh dhan chunntas làithreach. Cuir a-steach luach san raon “D’ ainm” ann an roghainnean a’ chunntais. +openpgp-keygen-long-expiry = Chan urrainn dhut iuchair a chruthachadh a dh’fhalbhas an ùine air ann am barrachd air 100 bliadhna. +openpgp-keygen-short-expiry = Feumaidh an iuchair a bhith dligheach co-dhiù latha. +openpgp-keygen-ongoing = Tha an iuchair ga gintinn mu thràth! +openpgp-keygen-error-core = Chan urrainn dhuinn OpenPGP Core Service a chur gu dol +openpgp-keygen-error-failed = Dh’fhàillig gintinn na h-iuchrach OpenPGP gu h-obann +# $key (String) - the ID of the newly generated OpenPGP key +openpgp-keygen-error-revocation = Chaidh an iuchair OpenPGP a chruthachadh ach cha b’ urrainn dhuinn an iuchair { $key } a ghairm air ais +openpgp-keygen-abort-title = A bheil thu airson sgur de ghintinn na h-iuchrach? +openpgp-keygen-abort = Tha an iuchair OpenPGP ga gintinn, a bheil thu cinnteach gu bheil thu airson sgur dheth? +# $identity (String) - the name and email address of the currently selected identity +openpgp-key-confirm = A bheil thu airson iuchair rùin is phoblach a ghintinn airson { $identity }? + +## Import Key section + +openpgp-import-key-title = Ion-phortaich iuchair OpenPGP phearsanta làithreach +openpgp-import-key-legend = Tagh faidhle a rinn thu lethbhreac dheth roimhe. +openpgp-import-key-description = ’S urrainn dhut iuchraichean pearsanta a chaidh a chruthachadh le bathar-bog OpenPGP eile ion-phortadh. +openpgp-import-key-info = Dh’fhaoidte gum bi ainmean eile air iuchair phearsanta aig bathar-bog eile, can “an iuchair agad fhèin”. “iuchair rùin”, “iuchair phrìobhaideach” no “paidhir iuchraichean”. +# $count (Number) - the number of keys found in the selected files +openpgp-import-key-list-amount-2 = + { $count -> + [one] Lorg { -brand-short-name } { $count } iuchair as urrainn dhut ion-phortadh. + [two] Lorg { -brand-short-name } { $count } iuchair as urrainn dhut ion-phortadh. + [few] Lorg { -brand-short-name } { $count } iuchraichean as urrainn dhut ion-phortadh. + *[other] Lorg { -brand-short-name } { $count } iuchair as urrainn dhut ion-phortadh. + } +openpgp-import-key-list-description = Dearbh dè na h-iuchraichean a thèid a làimhseachadh mar na h-iuchraichean pearsanta agad. Cha bu chòir dhut ach iuchraichean a chruthaich thu fhèin agus a sheallas do dhearbh-aithne fhèin a chleachdadh mar iuchraichean pearsanta. ’S urrainn dhut an roghainn seo atharrachadh às a dhèidh seo ann an còmhradh roghainnean na h-iuchrach. +openpgp-import-key-list-caption = Ma chuir thu comharra ri iuchraichean gun tèid a làimhseachadh mar iuchraichean pearsanta a shealltainn ann an earrann a’ chrioptachaidh ceann ri ceann. Bidh an còrr ri fhaighinn am broinn manaidsear nan iuchraichean. +openpgp-import-keep-passphrases = + .label = Cùm an dìon le abairtean-faire airson iuchraichean rùin a chaidh ion-phortadh +openpgp-passphrase-prompt-title = Tha feum air abairt-fhaire +# $identity (String) - the id of the key being imported +openpgp-passphrase-prompt = Cuir a-steach an abairt-fhaire airson a’ ghlas a thoirt far na h-iuchrach a leanas: { $key } +openpgp-import-key-button = + .label = Tagh faidhle airson ion-phortadh… + .accesskey = s +import-key-file = Ion-phortaich faidhle iuchair OpenPGP +import-key-personal-checkbox = + .label = Làimhsich seo mar iuchair phearsanta +gnupg-file = Faidhlichean GnuPG +import-error-file-size = <b>Mearachd!</b> Chan eil taic ri faidhlichean a tha nas motha na 5MB. +# $error (String) - the reported error from the failed key import method +import-error-failed = <b>Mearachd!</b> Cha b’ urrainn dhuinn am faidhle ion-phortadh. { $error } +# $error (String) - the reported error from the failed key import method +openpgp-import-keys-failed = <b>Mearachd!</b> Cha b’ urrainn dhuinn na h-iuchraichean ion-phortadh. { $error } +openpgp-import-identity-label = Dearbh-aithne +openpgp-import-fingerprint-label = Lorg-meòir +openpgp-import-created-label = Air a chruthachadh +openpgp-import-bits-label = Biodan +openpgp-import-key-props = + .label = Roghainnean na h-iuchrach + .accesskey = R + +## External Key section + +openpgp-external-key-title = Iuchair GnuPG air an taobh a-muigh +openpgp-external-key-description = Rèitich iuchair GnuPG air an taobh a-muigh le bhith a’ cur a-steach ID na h-iuchrach +openpgp-external-key-info = A bharrachd air sin, feumaidh tu manaidsear nan iuchaireach a chleachdadh airson an iuchair phoblach cho-cheangailte ion-phortadh is gabhail ris. +openpgp-external-key-warning = <b>Chan fhaod thu barrachd air aon iuchair GnuPG air an taobh a-muigh a rèiteachadh.</b> Thèid a cur an àite na tè a bh’ agad roimhe seo. +openpgp-save-external-button = Sàbhail ID na h-iuchrach +openpgp-external-key-label = ID na h-iuchrach rùin: +openpgp-external-key-input = + .placeholder = 123456789341298340 diff --git a/thunderbird-l10n/gd/localization/gd/messenger/openpgp/msgReadStatus.ftl b/thunderbird-l10n/gd/localization/gd/messenger/openpgp/msgReadStatus.ftl new file mode 100644 index 0000000000000000000000000000000000000000..d083f2b5fd06e55a1235380f02ee4ec604ef22e7 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/openpgp/msgReadStatus.ftl @@ -0,0 +1,81 @@ +# 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/. + + +## Message Header Encryption Button + +message-header-show-security-info-key = S +# $type (String) - the shortcut key defined in the message-header-show-security-info-key +message-security-button = + .title = + { PLATFORM() -> + [macos] Seall tèarainteachd na teachdaireachd (⌃ ⌘ { message-header-show-security-info-key }) + *[other] Seall tèarainteachd na teachdaireachd (Ctrl+Alt+{ message-header-show-security-info-key }) + } +openpgp-view-signer-key = + .label = Seall iuchair an t-soidhniche +openpgp-view-your-encryption-key = + .label = Seall an iuchair dì-chrioptachaidh agad +openpgp-openpgp = OpenPGP +openpgp-no-sig = Gun soidhneadh digiteach +openpgp-no-sig-info = Cha do chuir an seòladair soighneadh digiteach ris an teachdaireachd seo. Mur eil soidhneadh digiteach ann, faodaidh gun deach an teachdaireachd seo a chur le cuideigin a tha a’ leigeil air gu bheil an seòladh puist-d seo aige. Cuideachd, faodaidh gun deach atharrachadh a chur air an teachdaireachd fhad ’s a chaidh a sheòladh thairis air an lìonra. +openpgp-uncertain-sig = Soidhneadh digiteach neo-chinnteach +# Variables: +# $date (String) - Date with time the signature was made in a short format. +openpgp-uncertain-sig-with-date = Soidhneadh digiteach neo-chinnteach – Chaidh a shoidhneadh { $date } +openpgp-invalid-sig = Soidhneadh digiteach mì-dhligheach +# Variables: +# $date (String) - Date with time the signature was made in a short format. +openpgp-invalid-sig-with-date = Soidhneadh digiteach mì-dhligheach – Chaidh a shoidhneadh { $date } +openpgp-good-sig = Deagh-shoidhneadh digiteach +# Variables: +# $date (String) - Date with time the signature was made in a short format. +openpgp-good-sig-with-date = Deagh-shoidhneadh digiteach – Chaidh a shoidhneadh { $date } +openpgp-sig-uncertain-no-key = Tha soidhneadh digiteach aig an teachdaireachd seo ach chan eil cinnt a bheil e ceart. Feumaidh tu lethbhreac de dh’iuchair phoblach an t-seòladair fhaighinn a dhearbhadh an t-soidhnidh. +openpgp-sig-uncertain-uid-mismatch = Tha soidhneadh digiteach aig an teachdaireachd seo ach mhothaich sinn do mhì-chòrdadh. Chaidh an teachdaireachd a chur o sheòladh puist-d nach eil co-ionnann ri iuchair phoblach an t-soidhniche. +openpgp-sig-uncertain-not-accepted = Tha soidhneadh digiteach aig an teachdaireachd seo ach cha do chuir thu romhad fhathast an gabh thu ri iuchair an t-soidhniche seo. +openpgp-sig-invalid-rejected = Tha soidhneadh digiteach aig an teachdaireachd seo ach chuir thu romhad roimhe iuchair an t-soidhniche a dhiùltadh. +openpgp-sig-invalid-technical-problem = Tha soidhneadh digiteach aig an teachdaireachd seo ach mhothaich sinn do mhearachd theicnigeach. Dh’fhàs an teachdaireachd coirbte no chaidh an teachdaireachd atharrachadh le cuideigin eile. +openpgp-sig-valid-unverified = Tha soidhneadh digiteach dligheach aig an teachdaireachd seo o iuchair a ghabh thu ris mu thràth. Ge-tà, cha do dhearbh thu fhathast gur ann aig an t-seòladair a tha an iuchair. +openpgp-sig-valid-verified = Tha soidhneadh digiteach dligheach aig an teachdaireachd seo o iuchair dhearbhte. +openpgp-sig-valid-own-key = Tha soidhneadh digiteach dligheach aig an teachdaireachd seo on iuchair phearsanta agad. +# Variables: +# $key (String) - The ID of the OpenPGP key used to create the signature. +openpgp-sig-key-id = ID iuchair an t-soidhniche: { $key } +# Variables: +# $key (String) - The primary ID of the OpenPGP key used to create the signature. +# $subkey (String) - A subkey of the primary key was used to create the signature, and this is the ID of that subkey. +openpgp-sig-key-id-with-subkey-id = ID iuchair an t-soidhniche: { $key } (ID na fo-iuchrach: { $subkey }) +# Variables: +# $key (String) - The ID of the user's OpenPGP key used to decrypt the message. +openpgp-enc-key-id = ID na h-iuchrach dì-chrioptachaidh agad: { $key } +# Variables: +# $key (String) - The primary ID of the user's OpenPGP key used to decrypt the message. +# $subkey (String) - A subkey of the primary key was used to decrypt the message, and this is the ID of that subkey. +openpgp-enc-key-with-subkey-id = ID na h-iuchrach dì-chrioptachaidh agad: { $key } (ID na fo-iuchrach: { $subkey }) +openpgp-enc-none = Teachdaireachd gun chrioptachadh +openpgp-enc-none-label = Cha deach an teachdaireachd a chrioptachadh mus deach a chur. 'S urrainn do dhaoine eile coimhead air fiosrachadh a thathar a' cur thairis air an eadar-lìon fhad 's a tha e 'ga sheòladh mura deach a chrioptachadh. +openpgp-enc-invalid-label = Chan urrainn dhuinn an teachdaireachd a dhì-chrioptachadh +openpgp-enc-invalid = Chaidh an teachdaireachd seo a chrioptachadh mus deach a chur thugad ach cha ghabh a thoirt far na teachdaireachd. +openpgp-enc-clueless = Tha duilgheadasan neo-aithnichte ann leis an teachdaireachd chrioptaichte seo. +openpgp-enc-valid-label = Teachdaireachd air a chrioptachadh +openpgp-enc-valid = Chaidh an teachdaireachd seo a chrioptachadh mus deach a chur thugad. Nì crioptachadh cinnteach nach leugh ach na daoine a bha thu airson a chur thuca a leughadh. +openpgp-unknown-key-id = Iuchair neo-aithnichte +openpgp-other-enc-additional-key-ids = A bharrachd air sin, chaidh an teachdaireachd a chrioptachadh do shealbhadairean nan iuchraichean a leanas: +openpgp-other-enc-all-key-ids = Chaidh an teachdaireachd a chrioptachadh do shealbhadairean nan iuchraichean a leanas: +openpgp-message-header-encrypted-ok-icon = + .alt = Chaidh a dhì-chrioptachadh +openpgp-message-header-encrypted-notok-icon = + .alt = Dh’fhàillig an dì-chrioptachadh +openpgp-message-header-signed-ok-icon = + .alt = Deagh-shoidhneadh +# Mismatch icon is used for notok state as well +openpgp-message-header-signed-mismatch-icon = + .alt = Droch-shoidhneadh +openpgp-message-header-signed-unknown-icon = + .alt = Chan eil fhios dè staid an t-soidhnidh +openpgp-message-header-signed-verified-icon = + .alt = Soidhneadh a chaidh a dhearbhadh +openpgp-message-header-signed-unverified-icon = + .alt = Soidhneadh gun dearbhadh diff --git a/thunderbird-l10n/gd/localization/gd/messenger/openpgp/oneRecipientStatus.ftl b/thunderbird-l10n/gd/localization/gd/messenger/openpgp/oneRecipientStatus.ftl new file mode 100644 index 0000000000000000000000000000000000000000..8b42cb37c8891f08cbcfecf23cffa2c8fe947747 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/openpgp/oneRecipientStatus.ftl @@ -0,0 +1,57 @@ +# 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/. + +openpgp-one-recipient-status-title = + .title = Tèarainteachd theachdaireachdan OpenPGP +openpgp-one-recipient-status-status = + .label = Staid +openpgp-one-recipient-status-key-id = + .label = ID na h-iuchrach +openpgp-one-recipient-status-created-date = + .label = Air a chruthachadh +openpgp-one-recipient-status-expires-date = + .label = Falbhaidh an ùine air +openpgp-one-recipient-status-open-details = + .label = Fosgail am mion-fhiosrachadh is deasaich na chaidh gabhail ris… +openpgp-one-recipient-status-discover = + .label = Faigh lorg air iuchraichean ùra no ùraichte +openpgp-one-recipient-status-instruction1 = Airson teachdaireachd le crioptachadh ceann ri cheann a chur gu cuideigin, feumaidh tu an iuchair phoblach OpenPGP aca fhaighinn agus comharradh gun deach gabhail ris. +openpgp-one-recipient-status-instruction2 = Airson an iuchair phoblach aca fhaighinn, ion-phortaich e o phost-d a chuir iad thugad agus sa bheil e. Air neo feuch is faigh greim air an iuchair phoblach aca ann an eòlaire. +openpgp-key-own = Air gabhail ris (iuchair phearsanta) +openpgp-key-secret-not-personal = Cha ghabh a chleachdadh +openpgp-key-verified = Air gabhail ris (air a dhearbhadh) +openpgp-key-unverified = Air gabhail ris (gun dearbhadh) +openpgp-key-undecided = Gun ghabhail ris (gun co-dhùnadh) +openpgp-key-rejected = Gun ghabhail ris (air a dhiùltadh) +openpgp-key-expired = Dh’fhalbh an ùine air +# Variables: +# $key (String) - Recipient email address. +openpgp-intro = Iuchraichean poblach a tha ri fhaighinn airson { $key } +# Variables: +# $kid (String) - Public key id to import. +openpgp-pubkey-import-id = ID: { $kid } +# Variables: +# $fpr (String) - Fingerprint of the public key to import. +openpgp-pubkey-import-fpr = Lorg-meòir: { $fpr } +# Variables: +# $num (Number) - Number of public keys contained in the key file. +openpgp-pubkey-import-intro = + { $num -> + [one] Tha { $num } iuchair phoblach san fhaidhle seo ’s chì thu gu h-ìosal e: + [two] Tha { $num } iuchair phoblach san fhaidhle seo ’s chì thu gu h-ìosal iad: + [few] Tha { $num } iuchraichean poblach san fhaidhle seo ’s chì thu gu h-ìosal iad: + *[other] Tha { $num } iuchair phoblach san fhaidhle seo ’s chì thu gu h-ìosal iad: + } +# Variables: +# $num (Number) - Number of keys to accept. +openpgp-pubkey-import-accept = + { $num -> + [one] A bheil thu a’ gabhail ris an iuchair seo airson soidhnichean digiteach a dhearbhadh agus airson teachdaireachdan a chrioptachadh mu choinneamh nan seòlaidhean puist-d a chì thu ann? + [two] A bheil thu a’ gabhail ris na h-iuchraichean seo airson soidhnichean digiteach a dhearbhadh agus airson teachdaireachdan a chrioptachadh mu choinneamh nan seòlaidhean puist-d a chì thu ann? + [few] A bheil thu a’ gabhail ris na h-iuchraichean seo airson soidhnichean digiteach a dhearbhadh agus airson teachdaireachdan a chrioptachadh mu choinneamh nan seòlaidhean puist-d a chì thu ann? + *[other] A bheil thu a’ gabhail ris na h-iuchraichean seo airson soidhnichean digiteach a dhearbhadh agus airson teachdaireachdan a chrioptachadh mu choinneamh nan seòlaidhean puist-d a chì thu ann? + } +pubkey-import-button = + .buttonlabelaccept = Ion-phortaich + .buttonaccesskeyaccept = I diff --git a/thunderbird-l10n/gd/localization/gd/messenger/openpgp/openpgp-frontend.ftl b/thunderbird-l10n/gd/localization/gd/messenger/openpgp/openpgp-frontend.ftl new file mode 100644 index 0000000000000000000000000000000000000000..cc3ca75fcaf764b2fe3544eb4617c8ee7a63b647 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/openpgp/openpgp-frontend.ftl @@ -0,0 +1,54 @@ +# 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/. + +openpgp-manage-keys-openpgp-cmd = + .label = Manaidsear iuchraichean OpenPGP + .accesskey = O +openpgp-ctx-decrypt-open = + .label = Dì-chrioptaich is fosgail + .accesskey = D +openpgp-ctx-decrypt-save = + .label = Dì-chrioptaich is fosgail mar… + .accesskey = c +openpgp-ctx-import-key = + .label = Ion-phortaich iuchair OpenPGP + .accesskey = I +openpgp-ctx-verify-att = + .label = Dearbh an soidhneadh + .accesskey = D +openpgp-has-sender-key = Tha an teachdaireachd seo a’ cumail a-mach gu bheil iuchair phoblach OpenPGP an t-seòladair na broinn. +# Variables: +# $email (String) - Email address with the problematic public key. +openpgp-be-careful-new-key = Rabhadh: Tha an iuchair phoblach OpenPGP ùr san teachdaireachd eadar-dhealaichte o na h-iuchraichean poblach a ghabh thu riutha roimhe mu choinneamh { $email }. +openpgp-import-sender-key = + .label = Ion-phortaich… +openpgp-search-keys-openpgp = + .label = Faigh lorg air iuchair OpenPGP +openpgp-missing-signature-key = Chaidh an teachdaireachd seo a shoidhneadh le iuchair nach eil agad fhathast. +openpgp-search-signature-key = + .label = Faigh lorg… +# Don't translate the terms "OpenPGP" and "MS-Exchange" +openpgp-broken-exchange-opened = Seo teachdaireachd OpenPGP a dh’fhàs, a-rèir coltais, coirbte air sgàth MS-Exchange agus cha ghabh a chàradh a chionn ’s gun deach fhosgladh o fhaidhle ionadail. Cuir lethbhreac dhen teachdaireachd ann am pasgan puist is feuch gleus an fhèin-chàraidh. +openpgp-broken-exchange-info = Seo teachdaireachd OpenPGP a dh’fhàs, a-rèir coltais, coirbte air sgàth MS-Exchange. Mur eil susbaint na teachdaireachd ga sealltainn mar bu chòir, feuch gleus an fhèin-chàraidh. +openpgp-broken-exchange-repair = + .label = Càirich an teachdaireachd +openpgp-broken-exchange-wait = Fuirich ort… +openpgp-has-nested-encrypted-parts = Tha pìosan crioptaichte a bharrachd aig an teachdaireachd seo. +openpgp-show-encrypted-parts = Dì-chrioptaich is seall +openpgp-cannot-decrypt-because-mdc = + Seo teachdaireachd chrioptaichte a tha a’ cleachdadh seann-acainn sho-leònta. + Dh’fhaoidte gun deach atharrachadh air an t-slighe ’s cuideigin am beachd an t-susbaint + aige a ghoid. Chan eil an t-susbaint ga shealltainn gus do dhìon. +openpgp-cannot-decrypt-because-missing-key = Chan eil an iuchair-rùin air a bheil feum airson an teachdaireachd seo a dhì-chrioptachadh ri làimh. +openpgp-partially-signed = + Cha deach ach cuid dhen teachdaireachd seo a shoidhneadh air dòigh dhigiteach le OpenPGP. + Ma bhriogas tu air a’ phutan “Dearbh”, thèid na pìosan gun dìon a chur am falach agus thèid staid an t-soidhnidh dhigitich a shealltainn. +openpgp-partially-encrypted = + Cha deach ach cuid dhen teachdaireachd seo a chrioptachadh le OpenPGP. + Cha deach na pìosan dhen teachdaireachd seo a ghabhas a leughadh ’s a tha gan sealltainn an crioptachadh. + Ma bhriogas tu air a’ phutan “Dì-chrioptaich” thèid na pìosan crioptaichte a shealltainn. +openpgp-reminder-partial-display = Cuimhneachan: Chan eil sna chì thu gu h-ìosal ach cuid dhen teachdaireachd thùsail. +openpgp-partial-verify-button = Dearbh +openpgp-partial-decrypt-button = Dì-chrioptaich +openpgp-unexpected-key-for-you = Rabhadh: Tha iuchair OpenPGP neo-aithnichte san teachdaireachd seo sa bheil reifreans air aon dhe na seòlaidhean puist-d agad fhèin. Mur e seo aon dhe na h-iuchraichean agad, dh’fhaoidte gu bheil cuid-eigin airson car a thoirt à co-sgrìobhaichean eile. diff --git a/thunderbird-l10n/gd/localization/gd/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/gd/localization/gd/messenger/openpgp/openpgp.ftl new file mode 100644 index 0000000000000000000000000000000000000000..c02b4954ebe7b94bf0b70d3ddd39e9fa82933852 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/openpgp/openpgp.ftl @@ -0,0 +1,447 @@ +# 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/. + +e2e-intro-description = Airson teachdaireachdan crioptaichte a chur no feadhainn ris a bheil soidhneadh digiteach, feumaidh tu teicneolas crioptachaidh a rèiteachadh, can OpenPGP no S/MIME. +e2e-intro-description-more = Tagh an iuchair phearsanta agad airson cleachadh OpenPGP a chur an comas no an teisteanas pearsanta agad airson cleachdadh S/MIME a chur an comas. A thaobh iuchrach no teisteanais phearsanta, ’s ann agad-sa ’s a tha an iuchair rùin cho-cheangailte. +e2e-signing-description = Leigidh soidhneadh digiteach leis na faightearan dearbhadh gur e thu fhèin a chuir e agus nach deach an t-susbaint atharrachadh. Bidh soidhneadh ri teachdaireachdan crioptaichte a ghnàth an-còmhnaidh. +e2e-sign-message = + .label = Soidhnich teachdaireachdan gun chrioptachadh + .accesskey = u +e2e-disable-enc = + .label = Cuir à comas crioptachadh de theachdaireachdan ùra + .accesskey = d +e2e-enable-enc = + .label = Cuir an comas crioptachadh de theachdaireachdan ùra + .accesskey = n +e2e-enable-description = ’S urrainn dhut an crioptachadh a chur à comas teachdaireachd air theachdaireachd. +e2e-advanced-section = Roghainnean adhartach +e2e-attach-key = + .label = Cuir an iuchair phoblach agam ris nuair a chuireas mi soidhneadh digiteach OpenPGP ris + .accesskey = b +e2e-encrypt-subject = + .label = Crioptaich an cuspair aig teachdaireachdan OpenPGP + .accesskey = P +e2e-encrypt-drafts = + .label = Glèidh dreachdan theachdaireachdan ann am fòrmat crioptaichte + .accesskey = r +# Do not translate "Autocrypt", it's the name of a standard. +e2e-autocrypt-headers = + .label = Cuir iuchraichean poblach OpenPGP ann am bannan-cinn puist-d airson co-chòrdalachd le Autocrypt + .accesskey = t +openpgp-key-created-label = + .label = Air a chruthachadh +openpgp-key-expiry-label = + .label = Falbhadh an ùine air +openpgp-key-id-label = + .label = ID na h-iuchrach +openpgp-cannot-change-expiry = Seo iuchair aig a bheil structar toinnte, chan urrainn dhut an ceann-là a dh’fhalbhas an ùine air atharrachadh. +openpgp-key-man-title = + .title = Manaidsear iuchraichean OpenPGP +openpgp-key-man-dialog-title = Manaidsear iuchraichean OpenPGP +openpgp-key-man-generate = + .label = Paidhir iuchraichean ùr + .accesskey = P +openpgp-key-man-gen-revoke = + .label = Teisteanas ais-ghairm + .accesskey = T +openpgp-key-man-ctx-gen-revoke-label = + .label = Gin ⁊ sàbhail an teisteanas ais-ghairm +openpgp-key-man-file-menu = + .label = Faidhle + .accesskey = F +openpgp-key-man-edit-menu = + .label = Deasaich + .accesskey = e +openpgp-key-man-view-menu = + .label = Seall + .accesskey = S +openpgp-key-man-generate-menu = + .label = Gin + .accesskey = G +openpgp-key-man-keyserver-menu = + .label = Frithealaiche iuchraichean + .accesskey = F +openpgp-key-man-import-public-from-file = + .label = Ion-phortaich iuchraichean poblach o fhaidhle + .accesskey = I +openpgp-key-man-import-secret-from-file = + .label = Ion-phortaich iuchraichean rùin o fhaidhle +openpgp-key-man-import-sig-from-file = + .label = Ion-phortaich ais-ghairmean o fhaidhle +openpgp-key-man-import-from-clipbrd = + .label = Ion-phortaich iuchraichean on stòrd-bhòrd + .accesskey = I +openpgp-key-man-import-from-url = + .label = Ion-phortaich iuchraichean o URL + .accesskey = U +openpgp-key-man-export-to-file = + .label = Às-phortaich iuchraichean poblach ann am faidhle + .accesskey = e +openpgp-key-man-send-keys = + .label = Cuir iuchraichean poblach air a’ phost-d + .accesskey = s +openpgp-key-man-backup-secret-keys = + .label = Sàbhail lethbhreac-glèidhidh iuchraichean ann am faidhle + .accesskey = b +openpgp-key-man-discover-cmd = + .label = Fidir iuchraichean air loidhne + .accesskey = d +openpgp-key-man-publish-cmd = + .label = Foillsich + .accesskey = F +openpgp-key-publish = Foillsich +openpgp-key-man-discover-prompt = Airson iuchraichean OpenPGP fhidreadh air loidhne, air frithealaichean iuchraichean no leis a’ phròtacal WKD, cuir a-steach seòladh puist-d no ID iuchrach. +openpgp-key-man-discover-progress = A’ lorg… +# Variables: +# $keyserver (String) - The address of a server that contains a directory of OpenPGP public keys +openpgp-key-publish-ok = Chaidh an iuchair phoblach a chur gu “{ $keyserver }”. +# Variables: +# $keyserver (String) - The address of a server that contains a directory of OpenPGP public keys +openpgp-key-publish-fail = Cha b’ urrainn dhuinn an iuchair phoblach agad a chur gu “{ $keyserver }”. +openpgp-key-copy-key = + .label = Dèan lethbhreac dhen iuchair phoblach + .accesskey = c +openpgp-key-export-key = + .label = Às-phortaich iuchair phoblach ann am faidhle + .accesskey = e +openpgp-key-backup-key = + .label = Sàbhail lethbhreac-glèidhidh iuchrach ann am faidhle + .accesskey = S +openpgp-key-send-key = + .label = Cuir iuchair phoblach air a’ phost-d + .accesskey = s +openpgp-key-man-ctx-expor-to-file-label = + .label = Às-phortaich iuchraichean ann am faidhle +openpgp-key-man-ctx-copy = + .label = Lethbhreac + .accesskey = L +openpgp-key-man-close = + .label = Dùin +openpgp-key-man-reload = + .label = Ath-luchdaich tasgadan nan iuchraichean + .accesskey = r +openpgp-key-man-change-expiry = + .label = Atharraich an ceann-là a dh’fhalbhas an ùine air + .accesskey = e +openpgp-key-man-refresh-online = + .label = Ath-nuadhaich air loidhne + .accesskey = r +openpgp-key-man-ignored-ids = + .label = Seòlaidhean puist-d +openpgp-key-man-del-key = + .label = Sguab às na h-iuchraichean + .accesskey = b +openpgp-delete-key = + .label = Sguab às an iuchair + .accesskey = S +openpgp-key-man-revoke-key = + .label = Ais-ghairm iuchair + .accesskey = s +openpgp-key-man-key-props = + .label = Roghainnean na h-iuchrach + .accesskey = h +openpgp-key-man-key-more = + .label = Barrachd + .accesskey = B +openpgp-key-man-view-photo = + .label = ID deilbh + .accesskey = D +openpgp-key-man-ctx-view-photo-label = + .label = Seall an ID deilbh +openpgp-key-man-show-invalid-keys = + .label = Seall iuchraichean mì-dhligheach + .accesskey = d +openpgp-key-man-show-others-keys = + .label = Seall na h-iuchraichean aig daoine eile + .accesskey = o +openpgp-key-man-user-id-label = + .label = Ainm +openpgp-key-man-fingerprint-label = + .label = Lorg-meòir +openpgp-key-man-select-all = + .label = Tagh gach iuchair + .accesskey = a +openpgp-key-man-empty-tree-tooltip = + .label = Cuir a-steach briathran-luirg sa bhogsa gu h-àrd +openpgp-key-man-nothing-found-tooltip = + .label = Chan eil iuchair ann a fhreagras air na lorg thu +openpgp-key-man-please-wait-tooltip = + .label = Fuirich ort fhad ’s a luchdaicheas sinn na h-iuchraichean agad… +openpgp-key-man-filter-label = + .placeholder = Lorg iuchraichean +openpgp-key-man-select-all-key = + .key = A +openpgp-key-man-key-details-key = + .key = I +openpgp-ign-addr-intro = Tha thu a’ gabhail ris an iuchair seo mu choinneamh nan seòlaidhean puist-d a leanas a thagh thu: +openpgp-key-details-doc-title = Roghainnean na h-iuchrach +openpgp-key-details-signatures-tab = + .label = Teisteanasan +openpgp-key-details-structure-tab = + .label = Structar +openpgp-key-details-uid-certified-col = + .label = ID a’ chleachdaiche / Teisteanaichte le +openpgp-key-details-key-id-label = ID na h-iuchrach +openpgp-key-details-id-label = + .label = ID +openpgp-key-details-key-type-label = Seòrsa +openpgp-key-details-key-part-label = + .label = Cuid iuchrach +openpgp-key-details-attr-ignored = Rabhadh: Dh’fhaoidte nach obraich an iuchair seo mar a bhiodh dùil a chionn ’s gu bheil roghainnean aige nach eil sàbhailte agus dh’fhaoidte gun tèid an leigeil seachad. +openpgp-key-details-attr-upgrade-sec = Bu chòir dhut na roghainnean neo-shàbhailte seo àrdachadh. +openpgp-key-details-attr-upgrade-pub = Bu chòir dhut iarraidh air seilbheadair na h-iuchrach seo na roghainnean neo-shàbhailte àrdachadh. +openpgp-key-details-upgrade-unsafe = + .label = Àrdaich na roghainnean neo-shàbhailte + .accesskey = d +openpgp-key-details-upgrade-ok = Chaidh an iuchair àrdachadh. Bu chòir dhut an iuchair phoblach a dh’àrdaich thu a cho-roinneadh leis na co-sgrìobhaichean agad. +openpgp-key-details-algorithm-label = + .label = Algairim +openpgp-key-details-size-label = + .label = Meud +openpgp-key-details-created-label = + .label = Air a chruthachadh +openpgp-key-details-created-header = Air a chruthachadh +openpgp-key-details-expiry-label = + .label = Falbhadh an ùine air +openpgp-key-details-expiry-header = Falbhadh an ùine air +openpgp-key-details-usage-label = + .label = Cleachdadh +openpgp-key-details-fingerprint-label = Lorg-meòir +openpgp-key-details-legend-secret-missing = Chan eil an iuchair rùin ri làimh mu choinneamh iuchraichean ris a bheil (!). +openpgp-key-details-sel-action = + .label = Tagh gnìomh… + .accesskey = T +openpgp-card-details-close-window-label = + .buttonlabelaccept = Dùin +openpgp-acceptance-label = + .label = Gabhaltas na h-iuchrach +openpgp-acceptance-rejected-label = + .label = Chan eil, diùlt an iuchair seo. +openpgp-acceptance-undecided-label = + .label = Chan eil fhathast, uaireigin eile ’s dòcha. +openpgp-acceptance-unverified-label = + .label = Tha, ach cha do dhearbh mi gur e an iuchair cheart a th’ ann. +openpgp-acceptance-verified-label = + .label = Tha, dhearbh mi mi fhìn gu bheil an lorg-meòir ceart aig an iuchair seo. +key-accept-personal = + Tha an dà chuir a’ phàirt rùin is a’ phàirt phoblach dhen iuchair seo agad. ’S urrainn dhut a chleachdadh mar iuchair phearsanta. + Ma thug cuideigin eile dhut an iuchair seo, na cleachd e mar iuchair phearsanta. +openpgp-personal-no-label = + .label = Chan eil, na cleachd e mar an iuchair phearsanta agam. +openpgp-personal-yes-label = + .label = Tha, làimhsich an iuchair seo mar iuchair phearsanta. +openpgp-passphrase-protection = + .label = Dìon le abairt-fhaire +openpgp-passphrase-status-unprotected = Gun dìon +openpgp-passphrase-status-primary-password = Ga dhìon leis a’ phrìomh-fhacal-faire aig { -brand-short-name } +openpgp-passphrase-status-user-passphrase = Ga dhìon le abairt-fhaire +openpgp-passphrase-instruction-unprotected = Suidhich abairt-fhaire a dhìon na h-iuchrach seo +openpgp-passphrase-instruction-primary-password = Air neo dìon an iuchair seo le abairt-fhaire fa leth +openpgp-passphrase-instruction-user-passphrase = Thoir a’ ghlas dhen iuchair seo gus an dìon aige atharrachadh. +openpgp-passphrase-unlock = Thoir a’ ghlas dheth +openpgp-passphrase-unlocked = Chaidh a’ ghlas a thoirt dhen iuchair. +openpgp-remove-protection = Thoir air falbh an dìon le abairt-fhaire +openpgp-use-primary-password = Thoir air falbh an abairt-fhaire is dìon e le prìomh-fhacal-faire +openpgp-passphrase-new = Abairt-fhaire ùr +openpgp-passphrase-new-repeat = Dearbh an abairt-fhaire ùr +openpgp-passphrase-set = Suidhich an abairt-fhaire +openpgp-passphrase-change = Atharraich an abairt-fhaire +openpgp-copy-cmd-label = + .label = Dèan lethbhreac + +## e2e encryption settings + +# $identity (String) - the email address of the currently selected identity +openpgp-description-no-key = Chan eil iuchair phearsanta OpenPGP aig { -brand-short-name } airson <b>{ $identity }</b> +# $count (Number) - the number of configured keys associated with the current identity +# $identity (String) - the email address of the currently selected identity +openpgp-description-has-keys = + { $count -> + [one] Lorg { -brand-short-name } { $count } iuchair phearsanta OpenPGP a tha co-cheangailte ri <b>{ $identity }</b> + [two] Lorg { -brand-short-name } { $count } iuchair phearsanta OpenPGP a tha co-cheangailte ri <b>{ $identity }</b> + [few] Lorg { -brand-short-name } { $count } iuchraichean pearsanta OpenPGP a tha co-cheangailte ri <b>{ $identity }</b> + *[other] Lorg { -brand-short-name } { $count } iuchair phearsanta OpenPGP a tha co-cheangailte ri <b>{ $identity }</b> + } +# $key (String) - the currently selected OpenPGP key +openpgp-selection-status-have-key = Tha an rèiteachadh làithreach agad a’ cleachdadh ID iuchair <b>{ $key }</b> +# $key (String) - the currently selected OpenPGP key +openpgp-selection-status-error = Tha an rèiteachadh làithreach agad a’ cleachdadh ID iuchair <b>{ $key }</b> ach dh’fhalbh an ùine air. +openpgp-add-key-button = + .label = Cuir iuchair ris… + .accesskey = u +e2e-learn-more = Barrachd fiosrachaidh +openpgp-keygen-success = Chaidh an iuchair OpenPGP a chruthachadh! +openpgp-keygen-import-success = Chaidh an iuchair OpenPGP ion-phortadh! +openpgp-keygen-external-success = Chaidh ID iuchair GnuPG air an taobh a-muigh a shàbhaladh! + +## OpenPGP Key selection area + +openpgp-radio-none = + .label = Chan eil gin +openpgp-radio-none-desc = Na cleachd OpenPGP mu choinneamh na dearbh-aithne seo. +openpgp-radio-key-not-usable = Cha ghabh an iuchair seo a chleachdadh mar iuchair phearsanta a chionn ’s gu bheil an iuchair rùin a dhìth! +openpgp-radio-key-not-accepted = Mus urrainn dhut an iuchair seo a chleachdadh, feumaidh tu aontachadh ris mar iuchair phearsanta! +openpgp-radio-key-not-found = Cha b’ urrainn dhuinn an iuchair a lorg! Ma tha thu airson a chleachdadh, feumaidh tu ion-phortadh gu { -brand-short-name }. +# $date (String) - the future expiration date of when the OpenPGP key will expire +openpgp-radio-key-expires = Falbhaidh an ùine air: { $date } +# $date (String) - the past expiration date of when the OpenPGP key expired +openpgp-radio-key-expired = Dh’fhalbh an ùine air: { $date } +openpgp-key-expires-within-6-months-icon = + .title = Falbhaidh an ùine air an iuchair ann an nas lugha na 6 mìosan +openpgp-key-has-expired-icon = + .title = Dh’fhalbh an ùine air an iuchair +openpgp-suggest-publishing-key = Ma dh’fhoillsicheas tu an iuchair phoblach air frithealaiche iuchraichean, is urrainn do dhaoine eile lorg fhaighinn air. +openpgp-key-expand-section = + .tooltiptext = Barrachd fiosrachaidh +openpgp-key-revoke-title = Ais-ghairm iuchair +openpgp-key-edit-title = Atharraich an iuchair OpenPGP +openpgp-key-edit-date-title = Cuir sìneadh sa cheann-là a dh’fhalbhas an ùine air +openpgp-manager-description = Cleachd am manaidsear iuchraichean OpenPGP a stiùireadh is a choimhead air iuchraichean poblach nan co-sgrìobhaichean agad is gach iuchair eile nach fhaic thu gu h-àrd. +openpgp-manager-button = + .label = Fosgail manaidsear iuchraichean OpenPGP + .accesskey = m +openpgp-key-remove-external = + .label = Thoir air falbh ID na h-iuchrach air an taobh a-muigh + .accesskey = h +key-external-label = Iuchair GnuPG air an taobh a-muigh + +## Strings in keyDetailsDlg.xhtml + +key-type-public = iuchair phoblach +key-type-primary = prìomh-iuchair +key-type-subkey = fo-iuchair +key-type-pair = paidhir iuchraichean (iuchair rùin is iuchair phoblach) +key-expiry-never = chan ann idir +key-usage-encrypt = Crioptaich +key-usage-sign = Soidhnich +key-usage-certify = Teisteanaich +key-usage-authentication = Dearbhadh +key-does-not-expire = Chan fhalbh an ùine air an iuchair +# Variables: +# $keyExpiry (String) - Date the key expired on. +key-expired-date = Dh’fhalbh an ùine air { $keyExpiry } +key-expired-simple = Dh’fhalbh an ùine air an iuchair +key-revoked-simple = Chaidh an iuchair a ghairm air ais +key-do-you-accept = A bheil thu a’ gabhail ris an iuchair seo airson soidhnidhean digiteach a dhearbhadh agus airson teachdaireachdan a chrioptachadh? +# Variables: +# $addr (String) - Email address the key claims it belongs to. +key-verification = Dearbh lorg-meòir na h-iuchrach slighe seanail conaltraidh thèarainte seach post-d a dhèanamh cinnteach gu e an iuchair aig { $addr } a th’ ann an da-rìribh. + +## Strings enigmailMsgComposeOverlay.js + +# Variables: +# $problem (String) - Error message from key usability check. +cannot-use-own-key-because = Chan urrainn dhuinn an teachdaireachd a chur a chionn ’s gu bheil duilgheadas leis an iuchair phearsanta agad. { $problem } +window-locked = Tha an uinneag sgrìobhaidh glaiste; sguireadh dhen chur + +## Strings in keyserver.jsm + +keyserver-error-aborted = Sguireadh dheth +keyserver-error-unknown = Thachair mearachd neo-aithnichte +keyserver-error-server-error = Rinn am frithealaiche iuchraichean aithris air mearachd. +keyserver-error-import-error = Cha b’ urrainn dhuinn an iuchair a chaidh a luchdadh a-nuas ion-phortadh. +keyserver-error-unavailable = Chan eil am frithealaiche iuchraichean ri làimh. +keyserver-error-security-error = Chan eil am frithealaiche iuchraichean a’ cur taic ri inntrigeadh crioptaichte. +keyserver-error-certificate-error = Chan eil teisteanas an fhrithealaiche iuchraichean dligheach. +keyserver-error-unsupported = Chan eil taic ris an fhrithealaiche iuchraichean. + +## Strings in mimeWkdHandler.jsm + +wkd-message-body-req = + Dhèilig an solaraiche puist-d agad ris an iarrtas agad agus luchdaich e suas an iuchair phoblach agad gu eòlaire iuchraichean-lìn OpenPGP. + Dèan dearbhadh gu bheil thu airson foillseachadh na h-iuchrach phoblach agad a choileanadh. +wkd-message-body-process = + Seo post-d co-cheangailte ri pròiseasadh fèin-obrachail airson an iuchair phoblach agad a luchdadh suas gu eòlaire iuchraichean-lìn OpenPGP. + Cha leig thu leas dad a dhèanamh de làimh aig an ìre-sa. + +## Strings in persistentCrypto.jsm + +# Variables: +# $subject (String) - Subject of the message. +converter-decrypt-body-failed = + Cha b’ urrainn dhuinn an teachdaireachd aig a bheil an cuspair + { $subject }. + a dhì-chrioptachadh. A bheil thu airson feuchainn ris a-rithist le abairt-fhaire eile no a bheil thu airson leum a ghearradh seachad air an teachdaireachd? + +## Strings filters.jsm + +filter-folder-required = Feumaidh tu pasgan targaide a thaghadh. + +## Strings filtersWrapper.jsm + + +## Strings in enigmailKeyImportInfo.js + + +## Strings in enigmailKeyManager.js + + +## Account settings export output + + +## Strings in keyObj.jsm +## Variables: +## $userId (String) - The name and/or email address that is mentioned in the key's information. +## $keyId (String) - Key id for the key entry. + + +## Strings in gnupg-keylist.jsm + + +## Strings in key.jsm + + +## Strings in keyRing.jsm & decryption.jsm + + +## Strings used in errorHandling.jsm + + +## Strings used in enigmailKeyManager.js & windows.jsm + + +## Strings used in keyRing.jsm & keyLookupHelper.jsm + + +## Strings used in keyRing.jsm & GnuPGCryptoAPI.jsm + + +## Strings used in keyRing.jsm + + +## Strings used in trust.jsm + + +## Strings used in commonWorkflows.js + + +## Strings used in enigmailKeygen.js + + +## Strings used in enigmailMessengerOverlay.js + + +## Strings used in enigmailMsgComposeOverlay.js + + +## Strings used in decryption.jsm + + +## Strings used in enigmailMsgHdrViewOverlay.js + + +## Strings used in encryption.jsm + + +## Strings used in windows.jsm + + +## Strings used in dialog.jsm + + +## Strings used in persistentCrypto.jsm + + +## Strings used in enigmailMsgBox.js + diff --git a/thunderbird-l10n/gd/localization/gd/messenger/otr/add-finger.ftl b/thunderbird-l10n/gd/localization/gd/messenger/otr/add-finger.ftl new file mode 100644 index 0000000000000000000000000000000000000000..6fbe8159b2db12df85a3ecca3b73921192c6e43f --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/otr/add-finger.ftl @@ -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 --git a/thunderbird-l10n/gd/localization/gd/messenger/otr/am-im-otr.ftl b/thunderbird-l10n/gd/localization/gd/messenger/otr/am-im-otr.ftl new file mode 100644 index 0000000000000000000000000000000000000000..2c240c27a690a38e24215fec7e4a15c34928d292 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/otr/am-im-otr.ftl @@ -0,0 +1,7 @@ +# 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/. + +account-encryption = + .label = Crioptachadh ceann ri cheann + diff --git a/thunderbird-l10n/gd/localization/gd/messenger/otr/auth.ftl b/thunderbird-l10n/gd/localization/gd/messenger/otr/auth.ftl new file mode 100644 index 0000000000000000000000000000000000000000..6fbe8159b2db12df85a3ecca3b73921192c6e43f --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/otr/auth.ftl @@ -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 --git a/thunderbird-l10n/gd/localization/gd/messenger/otr/chat.ftl b/thunderbird-l10n/gd/localization/gd/messenger/otr/chat.ftl new file mode 100644 index 0000000000000000000000000000000000000000..4e9e03e1180fecd94f3691ba67eb417a3ade77da --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/otr/chat.ftl @@ -0,0 +1,19 @@ +# 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/. + +state-label = Staid a’ chrioptachaidh: + +start-text = Tòisich air còmhradh crioptaichte + +start-label = + .label = { start-text } + +start-tooltip = + .tooltiptext = { start-text } + +end-label = + .label = Cuir crìoch air a’ chòmhradh chrioptaichte + +auth-label = + .label = Dearbh cò an neach-aithne agad diff --git a/thunderbird-l10n/gd/localization/gd/messenger/otr/finger-sync.ftl b/thunderbird-l10n/gd/localization/gd/messenger/otr/finger-sync.ftl new file mode 100644 index 0000000000000000000000000000000000000000..6fbe8159b2db12df85a3ecca3b73921192c6e43f --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/otr/finger-sync.ftl @@ -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 --git a/thunderbird-l10n/gd/localization/gd/messenger/otr/finger.ftl b/thunderbird-l10n/gd/localization/gd/messenger/otr/finger.ftl new file mode 100644 index 0000000000000000000000000000000000000000..6fbe8159b2db12df85a3ecca3b73921192c6e43f --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/otr/finger.ftl @@ -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 --git a/thunderbird-l10n/gd/localization/gd/messenger/otr/otr.ftl b/thunderbird-l10n/gd/localization/gd/messenger/otr/otr.ftl new file mode 100644 index 0000000000000000000000000000000000000000..6fbe8159b2db12df85a3ecca3b73921192c6e43f --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/otr/otr.ftl @@ -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 --git a/thunderbird-l10n/gd/localization/gd/messenger/otr/otrUI.ftl b/thunderbird-l10n/gd/localization/gd/messenger/otr/otrUI.ftl new file mode 100644 index 0000000000000000000000000000000000000000..6fbe8159b2db12df85a3ecca3b73921192c6e43f --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/otr/otrUI.ftl @@ -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 --git a/thunderbird-l10n/gd/localization/gd/messenger/policies/aboutPolicies.ftl b/thunderbird-l10n/gd/localization/gd/messenger/policies/aboutPolicies.ftl new file mode 100644 index 0000000000000000000000000000000000000000..6fbe8159b2db12df85a3ecca3b73921192c6e43f --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/policies/aboutPolicies.ftl @@ -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 --git a/thunderbird-l10n/gd/localization/gd/messenger/policies/policies-descriptions.ftl b/thunderbird-l10n/gd/localization/gd/messenger/policies/policies-descriptions.ftl new file mode 100644 index 0000000000000000000000000000000000000000..6fbe8159b2db12df85a3ecca3b73921192c6e43f --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/policies/policies-descriptions.ftl @@ -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 --git a/thunderbird-l10n/gd/localization/gd/messenger/preferences/am-copies.ftl b/thunderbird-l10n/gd/localization/gd/messenger/preferences/am-copies.ftl new file mode 100644 index 0000000000000000000000000000000000000000..fddbe520ab20eaaed7176ff2a725444acb18c135 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/preferences/am-copies.ftl @@ -0,0 +1,5 @@ +# 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/. + +account-prefs-show-address-row-description = Fàg raon an t-seòlaidh bàn airson ràgh an t-seòlaidh a shealltainn an-còmhnaidh nuair a thòisicheas tu air teachdaireachd ùr. diff --git a/thunderbird-l10n/gd/localization/gd/messenger/preferences/am-im.ftl b/thunderbird-l10n/gd/localization/gd/messenger/preferences/am-im.ftl new file mode 100644 index 0000000000000000000000000000000000000000..36bcdf57c3954c69e9432f834c9d0c4563d08b0f --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/preferences/am-im.ftl @@ -0,0 +1,7 @@ +# 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/. + +account-settings-title = Roghainnean dearbhaidh +account-channel-title = Seanailean bunaiteach + diff --git a/thunderbird-l10n/gd/localization/gd/messenger/preferences/application-manager.ftl b/thunderbird-l10n/gd/localization/gd/messenger/preferences/application-manager.ftl new file mode 100644 index 0000000000000000000000000000000000000000..2e06f38f961b3b4625d0a4eaa12da1f685b16b3e --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/preferences/application-manager.ftl @@ -0,0 +1,7 @@ +# 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/. + +remove-app-button = + .label = Thoir air falbh + .accesskey = r diff --git a/thunderbird-l10n/gd/localization/gd/messenger/preferences/attachment-reminder.ftl b/thunderbird-l10n/gd/localization/gd/messenger/preferences/attachment-reminder.ftl new file mode 100644 index 0000000000000000000000000000000000000000..7ec695969ef62a95745e3715b43a50348975b09b --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/preferences/attachment-reminder.ftl @@ -0,0 +1,21 @@ +# 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/. + +attachment-reminder-window = + .title = Faclan a bheir ceanglachan gu m' aire +attachment-reminder-dialog-title = Faclan a bheir ceanglachan gu m' aire +attachment-reminder-label = Bheir { -brand-short-name } ceanglachan a tha a dhìth fhathast gu d' aire ma bhios tu an impis post-dealain a chur anns a bheil gin dhe na faclan seo. +keyword-new-button = + .label = Ùr… + .accesskey = r +keyword-edit-button = + .label = Deasaich… + .accesskey = e +keyword-remove-button = + .label = Sguab às + .accesskey = S +new-keyword-title = Facal-luirg ùr +new-keyword-label = Facal-luirg: +edit-keyword-title = Deasaich am facal-luirg +edit-keyword-label = Facal-luirg: diff --git a/thunderbird-l10n/gd/localization/gd/messenger/preferences/colors.ftl b/thunderbird-l10n/gd/localization/gd/messenger/preferences/colors.ftl new file mode 100644 index 0000000000000000000000000000000000000000..b46a366d45ab2f488a74e17b9555a07cfa184ed1 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/preferences/colors.ftl @@ -0,0 +1,33 @@ +# 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/. + +colors-dialog-legend = Teacsa is cùlaibh +text-color-label = + .value = Teacsa: + .accesskey = T +background-color-label = + .value = Cùlaibh: + .accesskey = b +use-system-colors = + .label = Cleachd dathan an t-siostaim + .accesskey = s +colors-link-legend = Dathan cheanglaichean +link-color-label = + .value = Ceanglaichean gun tadhal orra: + .accesskey = l +visited-link-color-label = + .value = Ceanglaichean air an deach tadhal orra: + .accesskey = l +underline-link-checkbox = + .label = Cuir loidhne fo cheanglaichean + .accesskey = u +override-color-label = + .value = Cleachd na dathan a shònraich mi gu h-àrd an àite na feadhainn a shònraich an t-susbaint: + .accesskey = u +override-color-always = + .label = An-còmhnaidh +override-color-auto = + .label = Le ùrlaran àrd-iomsgaraidh a-mhàin +override-color-never = + .label = Chan ann idir diff --git a/thunderbird-l10n/gd/localization/gd/messenger/preferences/connection.ftl b/thunderbird-l10n/gd/localization/gd/messenger/preferences/connection.ftl new file mode 100644 index 0000000000000000000000000000000000000000..ebee5ae7acbf78a39509fbbaa3acf87a09e68f2e --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/preferences/connection.ftl @@ -0,0 +1,78 @@ +# 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/. + +connection-dns-over-https-url-resolver = Cleachd solaraiche + .accesskey = r +# Variables: +# $name (String) - Display name or URL for the DNS over HTTPS provider +connection-dns-over-https-url-item-default = + .label = { $name } (bun-roghainn) + .tooltiptext = Cleachd an URL bunaiteach airson DNS thar HTTPS fhuasgladh +connection-dns-over-https-url-custom = + .label = Gnàthaichte + .accesskey = c + .tooltiptext = Cuir a-steach an URL as fheàrr leat airson DNS thar HTTPS fhuasgladh +connection-dns-over-https-custom-label = Gnàthaichte +connection-proxy-legend = Rèitich progsaidhean a chum inntrigeadh dhan lìon +proxy-type-no = + .label = Gun phrogsaidh + .accesskey = G +proxy-type-wpad = + .label = Mothaich do roghainnean progsaidh leis fhèin air an lìonra seo + .accesskey = M +proxy-type-system = + .label = Cleachd roghainnean progsaidh an t-siostaim + .accesskey = C +proxy-type-manual = + .label = Rèiteachadh-làimhe nam progsaidh: + .accesskey = m +proxy-http-label = + .value = Progsaidh HTTP: + .accesskey = H +http-port-label = + .value = Port: + .accesskey = P +proxy-http-sharing = + .label = Cleachd am progsaidh seo airson HTTPS cuideachd + .accesskey = p +proxy-https-label = + .value = Progsaidh HTTPS: + .accesskey = S +ssl-port-label = + .value = Port: + .accesskey = o +proxy-socks-label = + .value = Òstair SOCKS: + .accesskey = C +socks-port-label = + .value = Port: + .accesskey = t +proxy-socks4-label = + .label = SOCKS v4 + .accesskey = K +proxy-socks5-label = + .label = SOCKS v5 + .accesskey = v +proxy-type-auto = + .label = URL rèiteachadh nam progsaidh leis fhèin: + .accesskey = a +proxy-reload-label = + .label = Ath-luchdaich + .accesskey = l +no-proxy-label = + .value = Gun phrogsaidh airson: + .accesskey = n +no-proxy-example = Ball-sampaill: .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 = Tha ceanglaichean gu localhost, 127.0.0.1/8 agus ::1 gun phrogsaidh an-còmhnaidh. +proxy-password-prompt = + .label = Na iarr orm mo dhearbhadh ma chaidh am facal-faire a shàbhaladh ann + .accesskey = i + .tooltiptext = Nì an roghainn seo dearbhadh sàmhach as do leth mu choinneamh phrogsaidhean a chaidh ainm is facal-faire a shàbhaladh air an son. Thèid do bhrodadh mur an obraich an dearbhadh. +proxy-remote-dns = + .label = DNS progsaidh nuair a chleachdar SOCKS v5 + .accesskey = d +proxy-enable-doh = + .label = Cuir an comas DNS air HTTPS + .accesskey = b diff --git a/thunderbird-l10n/gd/localization/gd/messenger/preferences/cookies.ftl b/thunderbird-l10n/gd/localization/gd/messenger/preferences/cookies.ftl new file mode 100644 index 0000000000000000000000000000000000000000..8282a8c1e16fe872e8287cdff05df5e21f359f5c --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/preferences/cookies.ftl @@ -0,0 +1,41 @@ +# 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/. + +window-close-key = + .key = w +window-focus-search-key = + .key = f +window-focus-search-alt-key = + .key = k +filter-search-label = + .value = Lorg: + .accesskey = L +cookies-on-system-label = Tha na briosgaidean a leanas air an stòradh air a' choimpiutair agad: +treecol-site-header = + .label = Seòladh +treecol-name-header = + .label = Ainm na briosgaid +props-name-label = + .value = Ainm: +props-value-label = + .value = Susbaint: +props-domain-label = + .value = Òstair: +props-path-label = + .value = Slighe: +props-secure-label = + .value = Seòl airson: +props-expires-label = + .value = Falbhaidh an ùine air: +props-container-label = + .value = Soitheach: +remove-cookie-button = + .label = Thoir air falbh briosgaid + .accesskey = r +remove-all-cookies-button = + .label = Thoir air falbh gach briosgaid + .accesskey = a +cookie-close-button = + .label = Dùin + .accesskey = D diff --git a/thunderbird-l10n/gd/localization/gd/messenger/preferences/dock-options.ftl b/thunderbird-l10n/gd/localization/gd/messenger/preferences/dock-options.ftl new file mode 100644 index 0000000000000000000000000000000000000000..6d835f8e6fc85471d0ac5fdb912a01d2f342cd1d --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/preferences/dock-options.ftl @@ -0,0 +1,16 @@ +# 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/. + +bounce-system-dock-icon = + .label = Beòthaich ìomhaigheag na h-aplacaid nuair a ruigeas teachdaireachd ùr + .accesskey = i +dock-icon-legend = Baidse ìomhaigheag na h-aplacaid +dock-icon-show-label = + .value = Baidse ìomhaigheag na h-aplacaid le: +count-unread-messages-radio = + .label = Co mheud teachdaireachd gun leughadh + .accesskey = u +count-new-messages-radio = + .label = Co mheud teachdaireachd ùr + .accesskey = h diff --git a/thunderbird-l10n/gd/localization/gd/messenger/preferences/fonts.ftl b/thunderbird-l10n/gd/localization/gd/messenger/preferences/fonts.ftl new file mode 100644 index 0000000000000000000000000000000000000000..aca048dfc787f3eeab773c01d646e1cc7305a9e8 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/preferences/fonts.ftl @@ -0,0 +1,151 @@ +# 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/. + +fonts-window-close = + .key = w + +# Variables: +# $name {string, "Arial"} - Name of the default font +fonts-label-default = + .label = Bun-roghainn ({ $name }) +fonts-label-default-unnamed = + .label = Bun-roghainn + +fonts-encoding-dialog-title = + .title = Cruthan-clò ⁊ còdachaidhean + +fonts-language-legend = + .value = Cruthan-clò airson: + .accesskey = t + +fonts-proportional-label = + .value = Co-rèireach: + .accesskey = C + +## Languages + +# Note: Translate "Latin" as the name of Latin (Roman) script, not as the name of the Latin language. +font-language-group-latin = + .label = Laideann +font-language-group-japanese = + .label = Seapanais +font-language-group-trad-chinese = + .label = Sìnis thradaiseanta (Taidh-Bhàn) +font-language-group-simpl-chinese = + .label = Sìnis shimplichte +font-language-group-trad-chinese-hk = + .label = Sìnis thradaiseanta (Hong Kong) +font-language-group-korean = + .label = Coireanais +font-language-group-cyrillic = + .label = Cirilis +font-language-group-el = + .label = Greugais +font-language-group-other = + .label = Dòighean-litreachaidh eile +font-language-group-thai = + .label = Tàidh +font-language-group-hebrew = + .label = Eabhra +font-language-group-arabic = + .label = Arabais +font-language-group-devanagari = + .label = Devanagari +font-language-group-tamil = + .label = Taimil +font-language-group-armenian = + .label = Airmeinis +font-language-group-bengali = + .label = Beangailis +font-language-group-canadian = + .label = Lidire Aonaichte Canadach +font-language-group-ethiopic = + .label = Amtharais +font-language-group-georgian = + .label = Cairtbheilis +font-language-group-gujarati = + .label = Gujarati +font-language-group-gurmukhi = + .label = Gurmukhi +font-language-group-khmer = + .label = Cmèar +font-language-group-malayalam = + .label = Malayalam +font-language-group-math = + .label = Matamataig +font-language-group-odia = + .label = Odia +font-language-group-telugu = + .label = Telugu +font-language-group-kannada = + .label = Kannada +font-language-group-sinhala = + .label = Sinhala +font-language-group-tibetan = + .label = Tibeitis + +## Default font type + +default-font-serif = + .label = Serif + +default-font-sans-serif = + .label = Sans Serif + +font-size-proportional-label = + .value = Meud: + .accesskey = e + +font-size-monospace-label = + .value = Meud: + .accesskey = i + +font-serif-label = + .value = Serif: + .accesskey = S + +font-sans-serif-label = + .value = Sans-serif: + .accesskey = n + +font-monospace-label = + .value = Clò aon-leud: + .accesskey = C + +font-min-size-label = + .value = Meud as lugha a' chrutha-chlò: + .accesskey = M + +min-size-none = + .label = Chan eil gin + +## Fonts in message + +font-control-legend = Smachd nan cruthan-clò + +use-document-fonts-checkbox = + .label = Leig le teachdaireachdan cruthan-clò eile a chleachdadh + .accesskey = L + +use-fixed-width-plain-checkbox = + .label = Cleachd cruth-clò de leud suidhichte airson teachdaireachdan ann an teacsa lom + .accesskey = x + +## Language settings + +text-encoding-legend = Còdachadh teacsa + +text-encoding-description = Suidhich an còdachadh teacsa bunaiteach airson post a chur ’s fhaighinn + +font-outgoing-email-label = + .value = Post a-mach: + .accesskey = P + +font-incoming-email-label = + .value = Post a-steach: + .accesskey = P + +default-font-reply-checkbox = + .label = Ma ghabhas sin a dhèanamh, cleachd an còdachadh teacsa bunaiteach ’nam fhreagairtean + .accesskey = h diff --git a/thunderbird-l10n/gd/localization/gd/messenger/preferences/languages.ftl b/thunderbird-l10n/gd/localization/gd/messenger/preferences/languages.ftl new file mode 100644 index 0000000000000000000000000000000000000000..f10d89d4c463fb8b1aa981ad0bf7f0f62b36029e --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/preferences/languages.ftl @@ -0,0 +1,30 @@ +# 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/. + +languages-customize-moveup = + .label = Gluais suas + .accesskey = u +languages-customize-movedown = + .label = Gluais sìos + .accesskey = G +languages-customize-remove = + .label = Thoir air falbh + .accesskey = r +languages-customize-select-language = + .placeholder = Tagh cànan gus a chur ris… +languages-customize-add = + .label = Cuir ris + .accesskey = s +messenger-languages-description = Nochdaidh { -brand-short-name } a’ chiad chànan a ghnàth agus an corr dhiubh ma bhios feum orra, san òrdugh sa bheil iad ann. +messenger-languages-search = Lorg barrachd chànan… +messenger-languages-searching = + .label = A’ lorg nan cànan… +messenger-languages-downloading = + .label = ’Ga luchdadh a-nuas… +messenger-languages-select-language = + .label = Tagh cànan gus a chur ris… + .placeholder = Tagh cànan gus a chur ris… +messenger-languages-installed-label = Cànain stàlaichte +messenger-languages-available-label = Na cànain a tha ri fhaighinn +messenger-languages-error = Chan urrainn dha { -brand-short-name } na cànain agad ùrachadh an-dràsta fhèin. Dèan cinnteach gu bheil ceangal agad ris an eadar-lìon no feuch ris a-rithist. diff --git a/thunderbird-l10n/gd/localization/gd/messenger/preferences/new-tag.ftl b/thunderbird-l10n/gd/localization/gd/messenger/preferences/new-tag.ftl new file mode 100644 index 0000000000000000000000000000000000000000..146bbaf59cc05e0e6f584b6220c97ef73c3361ce --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/preferences/new-tag.ftl @@ -0,0 +1,13 @@ +# 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/. + +tag-dialog-window = + .title = Taga ùr +tag-dialog-title = Taga ùr +tag-name-label = + .value = Ainm an taga: + .accesskey = t +tag-color-label = + .value = Dath: + .accesskey = D diff --git a/thunderbird-l10n/gd/localization/gd/messenger/preferences/notifications.ftl b/thunderbird-l10n/gd/localization/gd/messenger/preferences/notifications.ftl new file mode 100644 index 0000000000000000000000000000000000000000..833ecf9aa3d804a0e92440e2788bfa3510a899a4 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/preferences/notifications.ftl @@ -0,0 +1,29 @@ +# 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/. + +notifications-dialog-window = + .title = Gnàthaich a' chaismeachd airson post ùr +notifications-dialog-title = Gnàthaich a' chaismeachd airson post ùr +customize-alert-description = Tagh na raointean a nochdas sna rabhaidhean caismeachd: +preview-text-checkbox = + .label = Teacsa ro-shealladh nan teachdaireachdan + .accesskey = T +subject-checkbox = + .label = Cuspair + .accesskey = s +sender-checkbox = + .label = Seòladair + .accesskey = e + +## Note: open-time-label-before is displayed first, then there's a field where +## the user can enter a number, and open-time-label-after is displayed at the end +## of the line. The translations of the open-time-label-before and open-time-label-after +## parts don't have to mean the exact same thing as in English; please try instead +## to translate the whole sentence. + +open-time-label-before = + .value = Seall am brath mu phost ùr fad + .accesskey = m +open-time-label-after = + .value = diog(an) diff --git a/thunderbird-l10n/gd/localization/gd/messenger/preferences/offline.ftl b/thunderbird-l10n/gd/localization/gd/messenger/preferences/offline.ftl new file mode 100644 index 0000000000000000000000000000000000000000..e65b6b4c2f9891a77f66b2329a8c533911de7c0c --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/preferences/offline.ftl @@ -0,0 +1,43 @@ +# 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/. + +offline-dialog-window = + .title = Na roghainnean airson obrachadh far loidhne +offline-dialog-title = Na roghainnean airson obrachadh far loidhne +autodetect-online-label = + .label = Lean ris an staid air loidhne a chaidh a mhothachadh dha + .accesskey = d +offline-preference-startup-label = Staid de làimh aig àm tòiseachaidh: +status-radio-remember = + .label = Cuimhnich mo roghainn air loidhne/far loidhne roimhe + .accesskey = r +status-radio-ask = + .label = Faighnich dhìom dè an staid air loidhne + .accesskey = F +status-radio-always-online = + .label = Air loidhne + .accesskey = l +status-radio-always-offline = + .label = Far loidhne + .accesskey = o +going-online-label = An cuirear na teachdaireachdan nach deach an cur roimhe nuair a thèid thu air loidhne? +going-online-auto = + .label = Cuiridh + .accesskey = C +going-online-not = + .label = Cha chuir + .accesskey = C +going-online-ask = + .label = Faighnich dhìom + .accesskey = F +going-offline-label = Am bu toigh leat na teachdaireachdan a luachdadh a-nuas a chum cleachdaidh far loidhne nuair a thèid thu far loidhne? +going-offline-auto = + .label = Bu toigh l' + .accesskey = B +going-offline-not = + .label = Cha bu toigh l' + .accesskey = o +going-offline-ask = + .label = Faighnich dhìom + .accesskey = a diff --git a/thunderbird-l10n/gd/localization/gd/messenger/preferences/passwordManager.ftl b/thunderbird-l10n/gd/localization/gd/messenger/preferences/passwordManager.ftl new file mode 100644 index 0000000000000000000000000000000000000000..5c15fa2ee28274efd8074285db2cdb35e3a57030 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/preferences/passwordManager.ftl @@ -0,0 +1,83 @@ +# 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/. + +saved-logins = + .title = Clàraidhean a-steach a chaidh a shàbhaladh +saved-logins-title = Clàraidhean a-steach a chaidh a shàbhaladh +window-close = + .key = w +focus-search-primary-shortcut = + .key = f +focus-search-alt-shortcut = + .key = k +copy-provider-url-cmd = + .label = Dèan lethbhreac dhen URL + .accesskey = U +copy-username-cmd = + .label = Dèan lethbhreac dhen ainm-chleachdaiche + .accesskey = c +edit-username-cmd = + .label = Deasaich an t-ainm-cleachdaiche + .accesskey = D +copy-password-cmd = + .label = Dèan lethbhreac dhen fhacal-fhaire + .accesskey = f +edit-password-cmd = + .label = Deasaich am facal-faire + .accesskey = e +search-filter = + .accesskey = L + .placeholder = Lorg +column-heading-provider = + .label = Solaraiche +column-heading-username = + .label = Ainm-cleachdaiche +column-heading-password = + .label = Facal-faire +column-heading-time-created = + .label = Ciad chleachdadh +column-heading-time-last-used = + .label = Cleachdadh mu dheireadh +column-heading-time-password-changed = + .label = Atharrachadh mu dheireadh +column-heading-times-used = + .label = Dè cho tric +remove = + .label = Thoir air falbh + .accesskey = r +import = + .label = Ion-phortaich… + .accesskey = I +password-close-button = + .label = Dùin + .accesskey = D +show-passwords = + .label = Seall na faclan-faire + .accesskey = f +hide-passwords = + .label = Falaich na faclan-faire + .accesskey = f +logins-description-all = Tha clàraidhean a-steach air na solaraichean a leanas ’gan stòradh air a’ choimpiutair agad +logins-description-filtered = Tha na clàraidhean a-steach a leanas a’ freagairt ris an lorg agad: +remove-all = + .label = Thoir air falbh a h-uile + .accesskey = a +remove-all-shown = + .label = Thoir air falbh gach aon a tha ’ga shealltainn + .accesskey = a +remove-all-passwords-prompt = A bheil thu airson gach facal-faire a thoirt air falbh? +remove-all-passwords-title = Thoir air falbh a h-uile facal-faire +no-master-password-prompt = A bheil thu cinnteach gu bheil thu airson na faclan-faire agad a shealltainn? + +## OS Authentication dialog + +# This message can be seen by trying to show or copy the passwords. +password-os-auth-dialog-message = Dearbh cò thusa airson am facal-faire a shàbhail thu a nochdadh. +# This message can be seen by trying to show or copy the passwords. +# The macOS strings are preceded by the operating system with "Thunderbird is trying to " +# and includes subtitle of "Enter password for the user "xxx" to allow this." These +# notes are only valid for English. Please test in your locale. +password-os-auth-dialog-message-macosx = na faclan-faire a shàbhail thu a nochdadh +# Don't change this label. +password-os-auth-dialog-caption = { -brand-full-name } diff --git a/thunderbird-l10n/gd/localization/gd/messenger/preferences/permissions.ftl b/thunderbird-l10n/gd/localization/gd/messenger/preferences/permissions.ftl new file mode 100644 index 0000000000000000000000000000000000000000..13b11cb1aba07fbc0e8b7d801c0bf4b687ea5c7f --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/preferences/permissions.ftl @@ -0,0 +1,40 @@ +# 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/. + +permission-preferences-close-window = + .key = w +website-address-label = + .value = Seòladh na làraich-lìn: + .accesskey = d +block-button = + .label = Cuir bacadh air + .accesskey = b +allow-session-button = + .label = Ceadaich fad an t-seisein + .accesskey = n +allow-button = + .label = Ceadaich + .accesskey = a +treehead-sitename-label = + .label = Seòladh +treehead-status-label = + .label = Staid +remove-site-button = + .label = Thoir air falbh làrach + .accesskey = r +remove-all-site-button = + .label = Thoir air falbh a h-uile làrach + .accesskey = e +cancel-button = + .label = Sguir dheth + .accesskey = S +save-button = + .label = Sàbhail na h-atharraichean + .accesskey = S +permission-can-label = Ceadaich +permission-can-access-first-party-label = Na ceadaich ach a’ chiad phàrtaidh +permission-can-session-label = Ceadaich fad an t-seisein +permission-cannot-label = Cuir bacadh air +invalid-uri-message = Cuir a-steach ainm òstair dhligheach +invalid-uri-title = Chuir thu a-steach ainm òstair mì-dhligheach diff --git a/thunderbird-l10n/gd/localization/gd/messenger/preferences/preferences.ftl b/thunderbird-l10n/gd/localization/gd/messenger/preferences/preferences.ftl new file mode 100644 index 0000000000000000000000000000000000000000..1873b6d67fdeac5a785137315d34ad3e04331413 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/preferences/preferences.ftl @@ -0,0 +1,666 @@ +# 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/. + +close-button = + .aria-label = Dùin +category-list = + .aria-label = Roinnean-seòrsa +pane-general-title = Coitcheann +category-general = + .tooltiptext = { pane-general-title } +pane-compose-title = Sgrìobhadh +category-compose = + .tooltiptext = Sgrìobhadh +pane-privacy-title = Prìobhaideachd ⁊ tèarainteachd +category-privacy = + .tooltiptext = Prìobhaideachd ⁊ tèarainteachd +pane-chat-title = Cabadaich +category-chat = + .tooltiptext = Cabadaich +pane-calendar-title = Am mìosachan +category-calendar = + .tooltiptext = Am mìosachan +general-language-and-appearance-header = Cànan ⁊ coltas +general-incoming-mail-header = Post a-steach +general-files-and-attachment-header = Faidhlichean ⁊ ceanglaichean +general-tags-header = Tagaichean +general-reading-and-display-header = Leughadh ⁊ sealladh +general-updates-header = Ùrachaidhean +general-network-and-diskspace-header = An lìonra ⁊ àite air an diosg +general-indexing-label = Inneacsadh +composition-category-header = Sgrìobhadh +composition-attachments-header = Ceanglachain +composition-spelling-title = Litreachadh +compose-html-style-title = Stoidhle HTML +composition-addressing-header = Seòlachadh +privacy-main-header = Prìobhaideachd +privacy-passwords-header = Faclan-faire +privacy-junk-header = Truilleis +collection-header = Cruinneachadh is cleachdadh dàta le { -brand-short-name } +collection-description = Tha sinn ag obair gu cruaidh airson an dà chuid roghainnean a thoirt dhut agus dìreach an dàta a chruinneachadh a dh’fheumas sinn airson { -brand-short-name } a sholar dhan a h-uile duine agus airson a leasachadh. Iarraidh sinn cead ort uair sam bith ma bhios feum air dàta pearsanta. +collection-privacy-notice = Sanas prìobhaideachd +collection-health-report-telemetry-disabled = Chan eil thu a’ toirt cead dha { -vendor-short-name } tuilleadh airson dàta teicnigeach ’s nan eadar-ghnìomhan a ghlacadh. Thèid dàta sam bith a chaidh a chruinneachadh cheana a sguabadh às am broinn 30 latha. +collection-health-report-telemetry-disabled-link = Barrachd fiosrachaidh +collection-health-report = + .label = Leig le { -brand-short-name } dàta teicnigeach is dàta mu eadar-ghabhail a chur gu { -vendor-short-name } + .accesskey = r +collection-health-report-link = Barrachd fiosrachaidh +# This message is displayed above disabled data sharing options in developer builds +# or builds with no Telemetry support available. +collection-health-report-disabled = Tha aithriseadh dàta à comas airson rèiteachadh a’ bhuild seo +collection-backlogged-crash-reports = + .label = Leig le { -brand-short-name } aithisgean tuislidh a chàirn roimhe a chur às do leth + .accesskey = c +collection-backlogged-crash-reports-link = Barrachd fiosrachaidh +privacy-security-header = Tèarainteachd +privacy-scam-detection-title = Mothachadh do chleasan-meallaidh +privacy-anti-virus-title = Bathar an aghaigh bhìorasan +privacy-certificates-title = Teisteanasan +chat-pane-header = Cabadaich +chat-status-title = Staid +chat-notifications-title = Brathan +chat-pane-styling-header = Stoidhle +choose-messenger-language-description = Tagh an cànan a chithear sna clàran-taice, teachdaireachd is brathan o { -brand-short-name }. +manage-messenger-languages-button = + .label = Suidhich roghainnean eile... + .accesskey = l +confirm-messenger-language-change-description = Ath-thòisich { -brand-short-name } gus na h-atharraichean seo a chur an sàs +confirm-messenger-language-change-button = Cuir an sàs is ath-thòisich +update-setting-write-failure-title = Mearachd le sàbhaladh roghainnean an ùrachaidh +# Variables: +# $path (String) - Path to the configuration file +# The newlines between the main text and the line containing the path is +# intentional so the path is easier to identify. +update-setting-write-failure-message = + Thachair { -brand-short-name } ri mearachd agus cha deach an t-atharrachadh seo a shàbhaladh. Thoir an aire gu bheil suidheachadh roghainn an ùrachaidh seo feumach air cead sgrìobhaidh dhan fhaidhle gu h-ìosal. Feuch an càraich thu fhèin no rianaire an t-siostaim a’ mhearachd seo a’ toirt smachd slàn dhan bhuidheann “Users” air an fhaidhle seo. + + Cha b’ urrainn dhuinn sgrìobhadh dhan fhaidhle: { $path } +update-in-progress-title = ’Ga ùrachadh +update-in-progress-message = A bheil thu airson ’s gun cùm { -brand-short-name } a’ dol leis an ùrachadh seo? +update-in-progress-ok-button = &Tilg air falbh +# Continue is the cancel button so pressing escape or using a platform standard +# method of closing the UI will not discard the update. +update-in-progress-cancel-button = &Lean air adhart +account-button = Roghainnean a’ chunntais +open-addons-sidebar-button = Tuilleadain ’s ùrlaran + +## OS Authentication dialog + +# This message can be seen by trying to add a Primary Password. +primary-password-os-auth-dialog-message-win = Airson prìomh fhacal-faire a chruthachadh, cuir a-steach teisteas clàraidh a-steach Windows. Cuiridh seo ri dìon tèarainteachd nan cunntasan agad. +# This message can be seen by trying to add a Primary Password. +# The macOS strings are preceded by the operating system with "Thunderbird is trying to " +# and includes subtitle of "Enter password for the user "xxx" to allow this." These +# notes are only valid for English. Please test in your locale. +primary-password-os-auth-dialog-message-macosx = prìomh fhacal-faire a chruthachadh +# Don't change this label. +master-password-os-auth-dialog-caption = { -brand-full-name } + +## General Tab + +focus-search-shortcut = + .key = f +focus-search-shortcut-alt = + .key = k +general-legend = Duilleag tòiseachaidh { -brand-short-name } +start-page-label = + .label = Nuair a thòiseachas { -brand-short-name }, seall an duilleag tòiseachaidh ann an raon nan teachdaireachdan + .accesskey = N +location-label = + .value = Àite: + .accesskey = o +restore-default-label = + .label = Aisig na roghainnean bunaiteach + .accesskey = r +default-search-engine = An t-einnsean-luirg bunaiteach +remove-search-engine = + .label = Thoir air falbh + .accesskey = r +minimize-to-tray-label = + .label = Nuair a bhios { -brand-short-name } ’ga fhìor-lùghdachadh, gluais gun treidhe e + .accesskey = g +new-message-arrival = Nuair a ruigeas teachdaireachd ùr: +mail-play-sound-label = + .label = + { PLATFORM() -> + [macos] Cluich am faidhle fuaime a leanas: + *[other] Cluich fuaim + } + .accesskey = + { PLATFORM() -> + [macos] d + *[other] d + } +mail-play-button = + .label = Cluich + .accesskey = C +change-dock-icon = Atharraich na roghainnean airson ìomhaigheag na h-aplacaid +app-icon-options = + .label = Roghainnean ìomhaigheag na h-aplacaid… + .accesskey = n +animated-alert-label = + .label = Seall caismeachd + .accesskey = S +customize-alert-label = + .label = Gnàthaich… + .accesskey = c +biff-use-system-alert = + .label = Cleachd brath an t-siostaim +tray-icon-unread-label = + .label = Seall ìomhaigheag treidhe airson teachdaireachdan gun leughadh + .accesskey = t +tray-icon-unread-description = Mholamaid seo nuair a chleachdas tu putanan beaga air bàr nan saothair +mail-system-sound-label = + .label = Fuaim bhunaiteach an t-siostaim airson post ùr + .accesskey = b +mail-custom-sound-label = + .label = Cleachd an fhuaim a leanas + .accesskey = u +mail-browse-sound-button = + .label = Brabhsaich… + .accesskey = B +enable-gloda-search-label = + .label = Cuir an lorg is an clàr-innsiche uile-choitcheann an comas + .accesskey = e +datetime-formatting-legend = Fòrmatadh a’ chinn-là ’s an ama +language-selector-legend = Cànan +allow-hw-accel = + .label = Cleachd luathachadh a' bhathar-bhog ma bhios e ri làimh + .accesskey = m +store-type-label = + .value = Seòrsa stòras nan teachdaireachdan airson cunntasan ùra: + .accesskey = t +mbox-store-label = + .label = Faidhle gach pasgan (mbox) +maildir-store-label = + .label = Faidhle gach teachdaireachd (maildir) +scrolling-legend = Sgroladh +autoscroll-label = + .label = Cleachd fèin-sgroladh + .accesskey = o +smooth-scrolling-label = + .label = Cleachd sgroladh rèidh + .accesskey = h +system-integration-legend = Co-fhilleadh an t-siostaim +always-check-default = + .label = Bheir { -brand-short-name } sùil an e e fhèin do roghainn prògram nam post-dealain gach turas a thòiseachas e + .accesskey = a +check-default-button = + .label = Thoir sùil an-dràsta… + .accesskey = n +# Note: This is the search engine name for all the different platforms. +# Platforms that don't support it should be left blank. +search-engine-name = + { PLATFORM() -> + [macos] Spotlight + [windows] Windows Search + *[other] { "" } + } +search-integration-label = + .label = Leig le { search-engine-name } teachdaireachdan a rannsachadh + .accesskey = s +config-editor-button = + .label = Deasaichear nan roghainnean… + .accesskey = c +return-receipts-description = Suidhich mar a làimhsicheas { -brand-short-name } na bannan-cuidhteis +return-receipts-button = + .label = Bannan-cuidhteis… + .accesskey = B +update-app-legend = Ùrachaidhean { -brand-short-name } +# Variables: +# $version (String): version of Thunderbird, e.g. 68.0.1 +update-app-version = Tionndadh { $version } +allow-description = Thoir cead dha { -brand-short-name } +automatic-updates-label = + .label = Stàlaich na h-ùrachaidhean gu fèin-obrachail (mholamaid seo airson tèarainteachd na b’ fhearr) + .accesskey = S +check-updates-label = + .label = Thoir sùil ach a bheil ùrachadh ann ach cuiridh mi fhìn romham a bheil mi airson an stàladh + .accesskey = b +update-history-button = + .label = Seall eachdraidh nan ùrachaidhean + .accesskey = S +use-service = + .label = Cleachd seirbheis a stàlaicheas ùrachaidhean sa chùlaibh + .accesskey = b +cross-user-udpate-warning = Bidh buaidh aig an roghainn seo air gach cunntas Windows agus pròifil { -brand-short-name } a chleachdas an stàladh seo de { -brand-short-name }. +networking-legend = Ceangal +proxy-config-description = Rèitich mar a cheanglas { -brand-short-name } ris an lìon +network-settings-button = + .label = Roghainnean… + .accesskey = R +offline-legend = Far loidhne +offline-settings = Rèitich na roghainnean airson obrachadh far loidhne +offline-settings-button = + .label = Far loidhne… + .accesskey = o +diskspace-legend = Àite air an diosg +offline-compact-folder = + .label = CDùmhlaich na pasgain nan sàbhaladh seo barrachd air + .accesskey = a +offline-compact-folder-automatically = + .label = Faighnich gach turas ron dùmhlachadh + .accesskey = g +compact-folder-size = + .value = MB uile gu lèir + +## Note: The entities use-cache-before and use-cache-after appear on a single +## line in preferences as follows: +## use-cache-before [ textbox for cache size in MB ] use-cache-after + +use-cache-before = + .value = Cleachd suas gu + .accesskey = u +use-cache-after = MB a dh'àite airson an tasgadan + +## + +smart-cache-label = + .label = Leig seachad stiùireadh fèin-obrachail an tasgadain + .accesskey = f +clear-cache-button = + .label = Falmhaich e an-dràsta + .accesskey = c +fonts-legend = Cruthan clò ⁊ dathan +default-font-label = + .value = An cruth-clò bunaiteach: + .accesskey = A +default-size-label = + .value = Meud: + .accesskey = M +font-options-button = + .label = Adhartach… + .accesskey = A +color-options-button = + .label = Dathan… + .accesskey = D +display-width-legend = Teachdaireachdan ann an teacsa lom +# Note : convert-emoticons-label 'Emoticons' are also known as 'Smileys', e.g. :-) +convert-emoticons-label = + .label = Seall na samhlaidhean-gnùis mar dhealbhan + .accesskey = d +display-text-label = Nuair choimheadas mi air teachdaireachdan ann an teacsa lom a tha mi a' toirt luaidh orra: +style-label = + .value = Stoidhle: + .accesskey = S +regular-style-item = + .label = Àbhaisteach +bold-style-item = + .label = Trom +italic-style-item = + .label = Eadailteach +bold-italic-style-item = + .label = Eadailteach is trom +size-label = + .value = Meud: + .accesskey = M +regular-size-item = + .label = Àbhaisteach +bigger-size-item = + .label = Nas motha +smaller-size-item = + .label = Nas lugha +quoted-text-color = + .label = Dath: + .accesskey = h +search-handler-table = + .placeholder = Criathraich susbaint a-rèir seòrsaichean is gnìomhan +save-to-label = + .label = Sàbhail faidhlichean ann an + .accesskey = S +choose-folder-label = + .label = + { PLATFORM() -> + [macos] Tagh… + *[other] Brabhsaich… + } + .accesskey = + { PLATFORM() -> + [macos] T + *[other] B + } +always-ask-label = + .label = Faighnich dhìom càit an dèid faidhlichean a shàbhaladh an-còmhnaidh + .accesskey = a +display-tags-text = 'S urrainn dhut do theachdaireachdan agad a chur ann an roinnean 's prìomhachas a thoirt dhaibh le tagaichean. +new-tag-button = + .label = Ùr… + .accesskey = r +edit-tag-button = + .label = Deasaich… + .accesskey = e +delete-tag-button = + .label = Sguab às + .accesskey = S +auto-mark-as-read = + .label = Cuirear comharra gun deach teachdaireachd a leughadh leis fhèin + .accesskey = a +mark-read-no-delay = + .label = Sa bhad nuair a choimheadas mi air + .accesskey = o + +## Note: This will concatenate to "After displaying for [___] seconds", +## using (mark-read-delay) and a number (seconds-label). + +mark-read-delay = + .label = Nuair a bhios mi air coimhead air fad + .accesskey = d +seconds-label = diog(an) + +## + +open-msg-label = + .value = Fosgail teachdaireachdan ann an: +open-msg-tab = + .label = Taba ùr + .accesskey = T +open-msg-window = + .label = Uinneag teachdaireachd ùr + .accesskey = n +open-msg-ex-window = + .label = Uinneag teachdaireachd a tha fosgailte mu thràth + .accesskey = e +close-move-delete = + .label = Dùin uinneag/taba na teachdaireachd nuair a sguabas mi às fear no ma ghluaiseas mi fear + .accesskey = c +display-name-label = + .value = Ainm-taisbeanaidh: +condensed-addresses-label = + .label = Na seall ach an t-ainm-taisbeanaidh airson nan daoine ann an leabhar nan seòladh agam + .accesskey = s + +## Compose Tab + +forward-label = + .value = Sìn air adhart teachdaireachdan: + .accesskey = S +inline-label = + .label = Taobh a-staigh na loidhne +as-attachment-label = + .label = Mar cheanglachan +extension-label = + .label = cuir leudachan ri ainm an fhaidhle + .accesskey = e + +## Note: This will concatenate to "Auto Save every [___] minutes", +## using (auto-save-label) and a number (auto-save-end). + +auto-save-label = + .label = Dèanar sàbhaladh leis fhèin a h-uile + .accesskey = a +auto-save-end = mionaid(ean) + +## + +warn-on-send-accel-key = + .label = Iarr dearbhadh ma thèid ath-ghoirid a' mheur-chlàir a chleachdadh gus teachdaireachd a chur + .accesskey = c +spellcheck-label = + .label = Ceartaich an litreachadh mus dèid a chur + .accesskey = C +spellcheck-inline-label = + .label = Ceartaich an litreachadh fhad 's a bhios mi a' sgrìobhadh + .accesskey = E +language-popup-label = + .value = Cànan: + .accesskey = C +download-dictionaries-link = Luchdaich a-nuas barrachd fhaclairean +font-label = + .value = Cruth-clò: + .accesskey = C +font-size-label = + .value = Meud: + .accesskey = z +default-colors-label = + .label = Cleachd dathan bunaiteach an leughadair + .accesskey = d +font-color-label = + .value = Dath an teacsa: + .accesskey = t +bg-color-label = + .value = Dath a' chùlaibh: + .accesskey = b +restore-html-label = + .label = Aisig na roghainnean bunaiteach + .accesskey = r +default-format-label = + .label = Cleachd fòrmat pharagrafan a ghnàth seach teacsa bodhaig + .accesskey = p +autocomplete-description = Nuair a choileanar seòlaidhean de theachdaireachdan, thoir sùil airson clàir a fhreagras riutha an-seo: +ab-label = + .label = Leabhraichean nan seòladh ionadail + .accesskey = L +directories-label = + .label = Frithealaiche nam pasganan: + .accesskey = F +directories-none-label = + .none = Chan eil gin +edit-directories-label = + .label = Deasaich na pasganan… + .accesskey = e +email-picker-label = + .label = Cuirear seòlaidhean puist-dhealain a chuireas mi teachdaireachd thuca an-seo a ghnàth: + .accesskey = a +default-directory-label = + .value = Am pasgan tòiseachaidh bunaiteach ann an uinneag leabhar nan seòladh: + .accesskey = s +default-last-label = + .none = Am pasgan a chleachd thu turas mu dheireadh +attachment-label = + .label = Cum sùil airson ceanglachain a dh'fhaodadh a bhith a dhìth + .accesskey = m +attachment-options-label = + .label = Faclan air a dh'aithnichear iad… + .accesskey = F +enable-cloud-share = + .label = Mol co-roinneadh airson faidhlichean a tha nas motha na +cloud-share-size = + .value = MB +add-cloud-account = + .label = Cuir ris… + .accesskey = C + .defaultlabel = Cuir ris… +remove-cloud-account = + .label = Thoir air falbh + .accesskey = T +find-cloud-providers = + .value = Lorg barrachd solaraichean… +cloud-account-description = Cuir seirbheis stòrais Filelink ùr ris + +## Privacy Tab + +mail-content = Susbaint puist +remote-content-label = + .label = Ceadaich susbaint chèin ann an teachdaireachdan + .accesskey = a +exceptions-button = + .label = Eisgeachdan... + .accesskey = E +remote-content-info = + .value = Barrachd fiosrachaidh air ceistean prìobhaideachd a thaobh susbaint chèin +web-content = Susbaint-lìn +history-label = + .label = Cum an cuimhne làraichean-lìn is ceanglaichean air an do thadhail mi + .accesskey = r +cookies-label = + .label = Gabh ri briosgaidean o làraichean + .accesskey = c +third-party-label = + .value = Gabh ri briosgaidean treas pàrtaidh: + .accesskey = G +third-party-always = + .label = An-còmhnaidh +third-party-never = + .label = Chan ann idir +third-party-visited = + .label = O fheadhainn air an deach tadhal +keep-label = + .value = Cum gus: + .accesskey = C +keep-expire = + .label = am falbh an ùine orra +keep-close = + .label = an dùin mi { -brand-short-name } +keep-ask = + .label = faighnich dhìom gach turas +cookies-button = + .label = Seall na briosgaidean… + .accesskey = S +do-not-track-label = + .label = Cuir sanas “Na dèan tracadh orm” gu làraichean-lìn a dh’innseas nach eil thu ag iarraidh gun dèanar tracadh ort + .accesskey = N +learn-button = + .label = Barrachd fiosrachaidh +dnt-learn-more-button = + .value = Barrachd fiosrachaidh +passwords-description = 'S urrainn do { -brand-short-name } na faclan-faire airson gach cunntas agad a chumail 'na chuimhne. +passwords-button = + .label = Faclan-faire a chaidh a shàbhaladh… + .accesskey = s +primary-password-description = Dìonaidh am prìomh fhacal-faire na faclan-faire uile agad ach feumaidh tu a chur a-steach turas gach seisein. +primary-password-label = + .label = Cleachd prìomh fhacal-faire + .accesskey = p +primary-password-button = + .label = Atharraich am prìomh fhacal-faire… + .accesskey = c +forms-primary-pw-fips-title = Tha thu ann am modh FIPS an-dràsta. Feumaidh FIPS prìomh fhacal-faire nach eil falamh. +forms-master-pw-fips-desc = Dh’fhàillig atharrachadh an fhacail-fhaire +junk-description = Suidhich na roghainnean bunaiteach agad airson post-truilleis. 'S urrainn dhut roghainnean a shònrachadh ann an "Roghainnean nan cunntasan" aig am bi buaidh air cunntasan fa leth. +junk-label = + .label = Nuair a chuireas mi comharra gu bheil teachdaireachd 'na phost-truilleis: + .accesskey = N +junk-move-label = + .label = Gluais iad gu pasgan "Truilleis" a' chunntais sin + .accesskey = G +junk-delete-label = + .label = Sguab às iad + .accesskey = d +junk-read-label = + .label = Cuir comharra mar gum biodh teachdaireachd air a leughadh ma tha comharra truilleis ris + .accesskey = m +junk-log-label = + .label = Cuir an comas logadh criathradh glic na truilleis + .accesskey = e +junk-log-button = + .label = Seall an loga + .accesskey = S +reset-junk-button = + .label = Ath-shuidhich an dàta trèanaidh + .accesskey = r +phishing-description = 'S urrainn do { -brand-short-name } sgrùdadh a dhèanamh air teachdaireachdan air eagal 's gu bheil iad nam fallsaidheachdan puis-dhealain le bhith a' cumail faire air gleusan cumanta a chleachdar a chum foill. +phishing-label = + .label = Innis dhomh ma tha amharas gu bheil an teachdaireachd a tha mi a' leughadh 'na fhallsaidheachd puist-dhealain + .accesskey = t +antivirus-description = Nì { -brand-short-name } furasta e do bhathar-bog an aghaidh bhìorasan teachdaireachdan puist a thig a-steach a sgrùdadh air eagal ’s gum bi bìorasan annta, mus dèid an stòradh gu h-ionadail. +antivirus-label = + .label = Leig le cliantan an aghaidh bhìorasan teachdaireachdan a thig a-steach a chur ann an cuarantain + .accesskey = a +certificate-description = Nuair a dh'iarras frithealaiche an teisteanas pearsanta agam: +certificate-auto = + .label = Taghar fear leis fhèin + .accesskey = S +certificate-ask = + .label = Faighnich dhìom gach turas + .accesskey = a +ocsp-label = + .label = Cuir ceist air OCSP Responder Servers airson dligheachd nan teisteanasan a dhearbhadh + .accesskey = C +certificate-button = + .label = Stiùirich na teisteanasan… + .accesskey = S +security-devices-button = + .label = Uidheaman tèarainteachd... + .accesskey = d + +## Chat Tab + +startup-label = + .value = Nuair a thòisicheas { -brand-short-name }: + .accesskey = s +offline-label = + .label = Cum na cunntasan cabadich agam far loidhne +auto-connect-label = + .label = Dèan ceangal ris na cunntasan cabadaich agam gu fèin-obrachail + +## Note: idle-label is displayed first, then there's a field where the user +## can enter a number, and itemTime is displayed at the end of the line. +## The translations of the idle-label and idle-time-label parts don't have +## to mean the exact same thing as in English; please try instead to +## translate the whole sentence. + +idle-label = + .label = Nochd dhan luchd-aithne agam gu bheil mi 'nam thàmh an dèidh + .accesskey = N +idle-time-label = mionaid(ean) 's mi gun dad a dhèanamh + +## + +away-message-label = + .label = agus cuir an teachdaireachd a leanas ris a' chomharra "Air falbh": + .accesskey = A +send-typing-label = + .label = Nochd ann an còmhradh ma bhios cuideigin a' sgrìobhadh rud + .accesskey = c +notification-label = Nuair a thig teachdaireachd a-steach is ann dhomhsa: +show-notification-label = + .label = Seall brath: + .accesskey = b +notification-all = + .label = le ainm an t-seòladair is ro-shealladh na teachdaireachd +notification-name = + .label = le ainm an t-seòladair a-mhàin +notification-empty = + .label = as aonais fiosrachaidh sam bith +notification-type-label = + .label = + { PLATFORM() -> + [macos] Beòthaich ìomhaigheag an doca + *[other] Boillsg an nì air bàr nan saothair + } + .accesskey = + { PLATFORM() -> + [macos] o + *[other] B + } +chat-play-sound-label = + .label = Cluich fuaim + .accesskey = f +chat-play-button = + .label = Cluich + .accesskey = C +chat-system-sound-label = + .label = Fuaim bhunaiteach an t-siostaim airson post ùr + .accesskey = F +chat-custom-sound-label = + .label = Cleachd an fhuaim a leanas + .accesskey = u +chat-browse-sound-button = + .label = Brabhsaich… + .accesskey = B +theme-label = + .value = Ùrlar: + .accesskey = T +style-bubbles = + .label = Builgeanan +style-dark = + .label = Dorcha +style-paper = + .label = Siotaichean pàipeir +style-simple = + .label = Simplidh +preview-label = Ro-shealladh: +no-preview-label = Chan eil ro-shealladh ri fhaighinn +no-preview-description = Chan eil an t-ùrlar seo dligheach no chan eil e ri fhaighinn aig an àm seo (tuilleadan à comas, modh sàbhailte, ...). +chat-variant-label = + .value = Eug-samhail: + .accesskey = V + +## Settings UI Search Results + +search-results-header = Toraidhean luirg +search-results-help-link = A bheil cobhair a dhìth ort? Tadhail air <a data-l10n-name="url">Taic { -brand-short-name }</a> + +## Sync Tab + diff --git a/thunderbird-l10n/gd/localization/gd/messenger/preferences/receipts.ftl b/thunderbird-l10n/gd/localization/gd/messenger/preferences/receipts.ftl new file mode 100644 index 0000000000000000000000000000000000000000..c5a1de2e07947aa9f00b3fd7e6c851bf6b3f3d4f --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/preferences/receipts.ftl @@ -0,0 +1,15 @@ +# 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/. + +receipts-dialog-window = + .title = Bannan-cuidhteis +receipts-dialog-title = Bannan-cuidhteis +receipt-arrive-label = Nuair a thig bann-cuidhteis a-steach: +receipt-request-label = Nuair a thig iarrtas airson bann-cuidhteis a-steach: +receipt-send-never-label = + .label = Na cuir idir +receipt-send-always-label = + .label = Cuir an-còmhnaidh +receipt-send-ask-label = + .label = Faighnich dhìom diff --git a/thunderbird-l10n/gd/localization/gd/messenger/preferences/sync-dialog.ftl b/thunderbird-l10n/gd/localization/gd/messenger/preferences/sync-dialog.ftl new file mode 100644 index 0000000000000000000000000000000000000000..6fbe8159b2db12df85a3ecca3b73921192c6e43f --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/preferences/sync-dialog.ftl @@ -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 --git a/thunderbird-l10n/gd/localization/gd/messenger/preferences/system-integration.ftl b/thunderbird-l10n/gd/localization/gd/messenger/preferences/system-integration.ftl new file mode 100644 index 0000000000000000000000000000000000000000..17af4efd3fe580f8f7f7ba429bd6fdef1ca554c1 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/preferences/system-integration.ftl @@ -0,0 +1,39 @@ +# 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/. + +system-integration-title = + .title = Co-fhilleadh an t-siostaim +system-integration-dialog-title = Co-fhilleadh an t-siostaim +system-integration-dialog = + .buttonlabelaccept = Suidhich mar a' bhun-roghainn + .buttonlabelcancel = Gearr leum thairis air a' cho-fhilleadh + .buttonlabelcancel2 = Sguir dheth +default-client-intro = Cleachd { -brand-short-name } mar an cliant bunaiteach airson: +unset-default-tooltip = Chan urrainn dhut { -brand-short-name } a thoirt air falbh mar an cliant bunaiteach o bhroinn { -brand-short-name }. Ma tha thu ag iarraidh aplacaid eile mar bhun-roghainn, feumaidh tu a dhol ann is bun-roghainn a dhèanamh dheth o bhroinn fhèin. +checkbox-email-label = + .label = Post-dealain + .tooltiptext = { unset-default-tooltip } +checkbox-newsgroups-label = + .label = Buidhnean-naidheachd + .tooltiptext = { unset-default-tooltip } +checkbox-feeds-label = + .label = Inbhirean + .tooltiptext = { unset-default-tooltip } +checkbox-calendar-label = + .label = Mìosachan + .tooltiptext = { unset-default-tooltip } +# Note: This is the search engine name for all the different platforms. +# Platforms that don't support it should be left blank. +system-search-engine-name = + { PLATFORM() -> + [macos] Spotlight + [windows] Windows Search + *[other] { "" } + } +system-search-integration-label = + .label = Leig le { system-search-engine-name } teachdaireachdan a rannsachadh + .accesskey = s +check-on-startup-label = + .label = Ceasnaich seo gach turas a thòisicheas { -brand-short-name } + .accesskey = a diff --git a/thunderbird-l10n/gd/localization/gd/messenger/shortcuts.ftl b/thunderbird-l10n/gd/localization/gd/messenger/shortcuts.ftl new file mode 100644 index 0000000000000000000000000000000000000000..6fbe8159b2db12df85a3ecca3b73921192c6e43f --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/shortcuts.ftl @@ -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 --git a/thunderbird-l10n/gd/localization/gd/messenger/syncAccounts.ftl b/thunderbird-l10n/gd/localization/gd/messenger/syncAccounts.ftl new file mode 100644 index 0000000000000000000000000000000000000000..39534c261017355c3163c1619d1bb56a2c9e11b5 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/syncAccounts.ftl @@ -0,0 +1,27 @@ +# 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/. + + +# The strings in this file relate to the configuration of Mozilla accounts for sync. + + +## These strings are shown in a desktop notification after the user requests we resend a verification email. + +sync-verification-sent-title = Chaidh an dearbhadh a chur +# Variables: +# $userEmail (String) - Email address of the account used for sync. +sync-verification-sent-body = Chaidh ceangal dearbhaidh a chur gu { $userEmail }. +sync-verification-not-sent-title = Chan urrainn dhuinn an dearbhadh a chur +sync-verification-not-sent-body = Chan urrainn dhuinn post-d dearbhaidh a chur an-dràsta fhèin, feuch ris a-rithist às a dhèidh seo. + +## These strings are shown in a confirmation dialog when the user chooses to sign out. + +sync-signout-dialog-body = Mairidh an dàta a chaidh a shioncronachadh sa chunntas agad. +sync-signout-dialog-button = Clàraich a-mach + +## These strings are shown in a confirmation dialog when the user chooses to stop syncing. + +sync-disconnect-dialog-title = A bheil thu airson a dhì-cheangal? +sync-disconnect-dialog-body = Sguiridh { -brand-product-name } dhen t-sioncronachadh ach cha sguab e às gin dhen dàta agad air an uidheam seo. +sync-disconnect-dialog-button = Dì-cheangail diff --git a/thunderbird-l10n/gd/localization/gd/messenger/treeView.ftl b/thunderbird-l10n/gd/localization/gd/messenger/treeView.ftl new file mode 100644 index 0000000000000000000000000000000000000000..a6e48263891ea4d842cbddb109f4c871de1bd82a --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/treeView.ftl @@ -0,0 +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/. + + +## Table + +tree-list-view-column-picker = + .title = Tagh na cuilbh a thèid a thaisbeanadh diff --git a/thunderbird-l10n/gd/localization/gd/messenger/troubleshootMode.ftl b/thunderbird-l10n/gd/localization/gd/messenger/troubleshootMode.ftl new file mode 100644 index 0000000000000000000000000000000000000000..f562b3aa0cf537829e95c32d16b0d2d8833ddc6a --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/troubleshootMode.ftl @@ -0,0 +1,33 @@ +# 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/. + +troubleshoot-mode-window = + .title = Modh fuasgladh dhuilgheadasan { -brand-short-name } + .style = width: 37em; +troubleshoot-mode-dialog-title = Modh fuasgladh dhuilgheadasan { -brand-short-name } +troubleshoot-mode-description = Cleachd modh fuasgladh dhuilgheadasan { -brand-short-name } airson duilgheadasan a sgrùdadh. Thèid na tuilleadain is gnàthachaidhean agad a chur à comas rè seal. +troubleshoot-mode-description2 = 'S urrainn dhut na h-atharrachaidhean seo gu lèir, no cuid dhiubh, a chur an sàs gu buan: +troubleshoot-mode-disable-addons = + .label = Cuir à comas a h-uile tuilleadan + .accesskey = d +troubleshoot-mode-reset-toolbars = + .label = Ath-shuidhich na bàraichean-inneal ’s na h-uidheaman-smachd + .accesskey = r +troubleshoot-mode-change-and-restart = + .label = Cuir na h-atharrachaidhean an gnìomh is ath-thòisich + .accesskey = m +troubleshoot-mode-continue = + .label = Cùm a’ dol ann am modh fuasgladh dhuilgheadasan + .accesskey = C +troubleshoot-mode-quit = + .label = + { PLATFORM() -> + [windows] Fàg an-seo + *[other] Fàg an-seo + } + .accesskey = + { PLATFORM() -> + [windows] F + *[other] F + } diff --git a/thunderbird-l10n/gd/localization/gd/messenger/unifiedToolbar.ftl b/thunderbird-l10n/gd/localization/gd/messenger/unifiedToolbar.ftl new file mode 100644 index 0000000000000000000000000000000000000000..0e122a94ae494ba977fa6a0e2950630f71d2bd39 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/unifiedToolbar.ftl @@ -0,0 +1,31 @@ +# 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/. + + +### Unified Toolbar strings + + +## Search bar + + +## Unified toolbar context menu + +customize-menu-customize = + .label = Gnàthaich… + +# Unified toolbar get messages button context menu + +toolbar-get-all-messages-menuitem = + .label = Faigh a h-uile teachdaireachd ùr + .accesskey = g + +## Unified Toolbar customization + +customize-button-style-icons-beside-text-option = Ìomhaigheagan ri taobh an teacsa + +## Unified toolbar customization palette context menu + + +## Unified toolbar customization target context menu + diff --git a/thunderbird-l10n/gd/localization/gd/messenger/unifiedToolbarItems.ftl b/thunderbird-l10n/gd/localization/gd/messenger/unifiedToolbarItems.ftl new file mode 100644 index 0000000000000000000000000000000000000000..64ff132e14e95114ac9efdcacd04014dd6d4954f --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/unifiedToolbarItems.ftl @@ -0,0 +1,111 @@ +# 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/. + + +### Unified Toolbar Item Label strings + +spacer-label = Beàrn sùbailte +toolbar-write-message-label = Sgrìobh +toolbar-write-message = + .title = Cruthaich teachdaireachd ùr +toolbar-unifinder-label = Lorg tachartasan +toolbar-unifinder = + .title = Toglaich an leòsan a lorgas tachartasan +toolbar-folder-location-label = Seòladh a' phasgain +toolbar-edit-event-label = Deasaich +toolbar-edit-event = + .title = Deasaich an tachartas no saothair a thagh thu +toolbar-get-messages-label = Faigh am post +toolbar-reply-label = Freagair +toolbar-reply = + .title = Freagair an teachdaireachd +toolbar-reply-all-label = Freagair a h-uile +toolbar-reply-all = + .title = Freagair an seòladair 's a h-uile faightear +toolbar-reply-to-list-label = Freagair an liosta +toolbar-reply-to-list = + .title = Freagair an liosta puist +toolbar-archive-label = Tasg-lann +toolbar-archive = + .title = Cuir na teachdaireachdan a thagh thu san tasg-lann +toolbar-conversation-label = Còmhradh +toolbar-conversation = + .title = Seall còmhradh na teachdaireachd a thagh thu +toolbar-previous-unread-label = An teachdaireachd roimhe gun leughadh +toolbar-previous-unread = + .title = Gluais dhan teachdaireachd roimhe nach deach a leughadh +toolbar-previous-label = Air ais +toolbar-previous = + .title = Gluais dhan teachdaireachd roimhe +toolbar-next-unread-label = An ath-theachdaireachd gun leughadh +toolbar-next-unread = + .title = Gluais dhan ath-theachdaireachd nach deach a leughadh +toolbar-next-label = Air adhart +toolbar-next = + .title = Gluais dhan ath-theachdaireachd +toolbar-compact-label = Dùmhlaich +toolbar-compact = + .title = Thoir air falbh na teachdaireachdan a chaidh an sguabadh às on phasgan a thagh thu +toolbar-add-as-event-label = Cuir ris mar thachartas +toolbar-add-as-event = + .title = Tog fiosrachadh mìosachain on teachdaireachd is cuir ris a' mhìosachan e mar thachartas +toolbar-add-as-task-label = Cuir ris mar shaothair +toolbar-add-as-task = + .title = Tog fiosrachadh mìosachain on teachdaireachd is cuir ris a' mhìosachan e mar shaothair +toolbar-tag-message-label = Taga +toolbar-tag-message = + .title = Cuir taga ris na teachdaireachdan +toolbar-forward-inline-label = Sìn air adhart +toolbar-forward-inline = + .title = Sìn air adhart an teachdaireachd a thagh thu mar theacsa taobh a-staigh na loidhne +toolbar-forward-attachment-label = Sin air adhart mar cheanglachan +toolbar-forward-attachment = + .title = Sìn air adhart an teachdaireachd a thagh thu mar cheanglachan +toolbar-mark-as-label = Cuir comharra +toolbar-mark-as = + .title = Cuir comharra air na teachdaireachdan +toolbar-address-book = + .title = Rach do leabhar nan seòladh +toolbar-chat-label = Cabadaich +toolbar-chat = + .title = Seall taba na cabadaich +toolbar-calendar-label = Mìosachan +toolbar-calendar = + .title = Leum gu taba a' mhìosachain +toolbar-tasks-label = Saothraichean +toolbar-tasks = + .title = Leum gu taba nan saothraichean +toolbar-print-label = Clò-bhuail +toolbar-print = + .title = Clò-bhuail an teachdaireachd seo +toolbar-synchronize-label = Sioncronaich +toolbar-synchronize = + .title = Ath-luchdaich na mìosachain is sioncronaich na h-atharraichean +toolbar-delete-event-label = Sguab às +toolbar-delete-event = + .title = Sguab às na tachartasan no saothraichean a thagh thu +toolbar-go-to-today-label = Rach gu an-diugh +toolbar-go-to-today = + .title = Rach gu an-diugh +toolbar-print-event-label = Clò-bhuail +toolbar-print-event = + .title = Clò-bhuail na tachartasan no saothraichean +toolbar-new-event-label = Tachartas +toolbar-new-event = + .title = Cruthaich tachartas ùr +toolbar-new-task-label = Saothair +toolbar-new-task = + .title = Cruthaich saothair ùr +toolbar-go-back-label = Air ais +toolbar-go-back = + .title = Aon teachdaireachd air ais +toolbar-go-forward-label = Air adhart +toolbar-go-forward = + .title = Aon teachdaireachd air adhart +toolbar-stop-label = Sguir dheth +toolbar-stop = + .title = Sguir dhen tar-aiseag làithreach +toolbar-throbber-label = Tosgair gnìomhachd +toolbar-throbber = + .title = Tosgair gnìomhachd diff --git a/thunderbird-l10n/gd/localization/gd/messenger/viewSource.ftl b/thunderbird-l10n/gd/localization/gd/messenger/viewSource.ftl new file mode 100644 index 0000000000000000000000000000000000000000..6fbe8159b2db12df85a3ecca3b73921192c6e43f --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/messenger/viewSource.ftl @@ -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 --git a/thunderbird-l10n/gd/localization/gd/security/certificates/certManager.ftl b/thunderbird-l10n/gd/localization/gd/security/certificates/certManager.ftl new file mode 100644 index 0000000000000000000000000000000000000000..52ad4b22bd27dc148c1ff0113ab2a745b3b513cd --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/security/certificates/certManager.ftl @@ -0,0 +1,225 @@ +# 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/. + +certmgr-title = + .title = Manaidsear nan teisteanasan + +certmgr-tab-mine = + .label = Na teisteanasan agad + +certmgr-tab-remembered = + .label = Co-dhùnaidhean deabhaidh + +certmgr-tab-people = + .label = Daoine + +certmgr-tab-servers = + .label = Frithealaichean + +certmgr-tab-ca = + .label = Ùghdarrasan + +certmgr-mine = Tha teisteanasan agad a bheir aithne ort fhèin o na buidhnean seo +certmgr-remembered = Thèid na teisteasan seo a chleachdadh ach an aithnich làraichean-lìn thu +certmgr-people = Tha teisteanasan agad a bheir aithne air na daoine a leanas +certmgr-server = Aithnichidh na h-innteartan seo eisgeachdan air mearachdan teisteanasan fhrithealaichean +certmgr-ca = Tha teisteanasan agad a bheir aithne air na h-ùghdarrasan teisteanachaidh a leanas + +certmgr-edit-ca-cert2 = + .title = Deasaich roghainnean earbsa de theisteanasan nan ùghdarrasan teisteanachaidh + .style = min-width: 48em; + +certmgr-edit-cert-edit-trust = Deasaich na roghainnean earbsa: + +certmgr-edit-cert-trust-ssl = + .label = 'S urrainn dhan teisteanas seo làraichean-lìn aithneachadh. + +certmgr-edit-cert-trust-email = + .label = 'S urrainn dhan teisteanas seo cleachdaichean puist-dhealain aithneachadh. + +certmgr-delete-cert2 = + .title = Sguab às teisteanas + .style = min-width: 48em; min-height: 24em; + +certmgr-cert-host = + .label = Òstair + +certmgr-cert-name = + .label = Ainm an teisteanais + +certmgr-cert-server = + .label = Am frithealaiche + +certmgr-token-name = + .label = Uidheam tèarainteachd + +certmgr-begins-label = + .label = Tòisichidh e + +certmgr-expires-label = + .label = Falbhaidh an ùine air + +certmgr-email = + .label = Seòladh puist-dhealain + +certmgr-serial = + .label = Àireamh shreathach + +certmgr-view = + .label = Seall… + .accesskey = S + +certmgr-edit = + .label = Deasaich earbsa… + .accesskey = e + +certmgr-export = + .label = Às-phortaich… + .accesskey = s + +certmgr-delete = + .label = Sguab às… + .accesskey = S + +certmgr-delete-builtin = + .label = Sguab às no cuir mì-earbsa… + .accesskey = S + +certmgr-backup = + .label = Dèan lethbhreac glèidhidh… + .accesskey = b + +certmgr-backup-all = + .label = Dèan lethbhreac-glèidhidh dhen a h-uile… + .accesskey = D + +certmgr-restore = + .label = Ion-phortaich… + .accesskey = I + +certmgr-add-exception = + .label = Cuir eisgeachd ris… + .accesskey = C + +exception-mgr = + .title = Cuir eisgeachd tèarainteachd ris + +exception-mgr-extra-button = + .label = Dearbh an eisgeachd tèarainteachd + .accesskey = c + +exception-mgr-supplemental-warning = Chan iarr bancaichean, bùithtean is làraichean poblach is dligheach eile ort seo a dhèanamh. + +exception-mgr-cert-location-url = + .value = Seòladh: + +exception-mgr-cert-location-download = + .label = Faigh teisteanas + .accesskey = G + +exception-mgr-cert-status-view-cert = + .label = Seall… + .accesskey = V + +exception-mgr-permanent = + .label = Stòir an eisgeachd seo gu buan + .accesskey = S + +pk11-bad-password = Bha am facal-faire a chuir thu a-steach cearr. +pkcs12-decode-err = Cha do ghabh am faidhle a dhì-chòdadh. Chan eil e ann am fòrmat PKCS #12, chaidh a thruailleadh no bha am facal-faire a chur thu a-steach mì-cheart. +pkcs12-unknown-err-restore = Cha do ghabh am faidhle PKCS #12 aiseag ach chan eil fhios carson. +pkcs12-unknown-err-backup = Dh'fhàillig cruthachadh an lethbhric-ghlèidhidh PKCS #12 ach chan eil fhios carson. +pkcs12-unknown-err = Dh'fhàillig an t-obrachadh PKCS #12 ach chan eil fhios carson. +pkcs12-info-no-smartcard-backup = Chan urrainnear lethbhreac-glèidhidh de theisteanasan a dhèanamh o uidheam tèarainteachd cruaidh mar Smart Card. +pkcs12-dup-data = Tha an teisteanas is an iuchair phrìobhaideachd ann mu thràth air an uidheam tèarainteachd. + +## PKCS#12 file dialogs + +choose-p12-backup-file-dialog = Ainm an fhaidhle a tha ri lethbhreac-ghlèidhidh +file-browse-pkcs12-spec = Faidhlichean PKCS12 +choose-p12-restore-file-dialog = Faidhle teisteanais a tha ri ion-phortadh + +## Import certificate(s) file dialog + +file-browse-certificate-spec = Faidhlichean teisteanais +import-ca-certs-prompt = Tagh faidhle anns a bheil teisteanas(an) o ùghdarras teisteanachaidh ri ion-phortadh +import-email-cert-prompt = Tagh faidhle anns a bheil teisteanas puist-dhealain a tha ri ion-phortadh + +## For editing certificates trust + +# Variables: +# $certName: the name of certificate +edit-trust-ca = Tha an teisteanas "{ $certName }" a' riochdachadh ùghdarras teisteanachaidh. + +## For Deleting Certificates + +delete-user-cert-title = + .title = Sguab às na teisteanasan agad +delete-user-cert-confirm = A bheil thu cinnteach gu bheil thu airson na teisteanasan seo a sguabadh às? +delete-user-cert-impact = Ma sguabas tu às aon dhe na teisteanasan agad fhèin, chan urrainn dhut aithne a thoirt ort fhèin tuilleadh. + + +delete-ssl-override-title = + .title = Sguab às eisgeachd teisteanas an fhrithealaiche +delete-ssl-override-confirm = A bheil thu cinnteach gu bheil thu airson eisgeachd an fhrithealaiche seo a sguabadh às? +delete-ssl-override-impact = Ma sguabas tu às eisgeachd frithealaiche, aisigidh thu na sgrùdaidhean tèarainteachd àbhaisteach airson an fhrithealaiche sin agus bidh thu ag iarraidh teisteanas dligheach uaidhe. + +delete-ca-cert-title = + .title = Sguab às no thoir earbsa far teisteanasan nan ùghdarrasan teisteanachaidh +delete-ca-cert-confirm = Dh'iarr thu gun sguabar às teisteanasan nan ùghdarrasan teisteanachaidh seo. Thèid earbsa a thoirt far gach teisteanas a tha air fhilleadh a-steach 's bidh an dearbh bhuaidh aige seo. A bheil thu cinnteach gu bheil thu airson an sguabadh às no earbsa a thoirt air falbh? +delete-ca-cert-impact = Ma sguabas tu às teisteanas de dh'ùghdarras teisteanachaidh no ma bheir thu air falbh earbsa, cha chuir an aplacaid seo earbsa ann an teisteanasan tuilleadh a thig on ùghdarras teisteanachaidh seo. + + +delete-email-cert-title = + .title = Sguab às teisteanasan a' phuist-dhealain +delete-email-cert-confirm = A bheil thu cinnteach gu bheil thu airson teisteanasan post-dealain nan daoine seo a sguabadh às? +delete-email-cert-impact = Ma sguabas tu às teisteanas post-dealain duine, chan urrainn dhut post-dealain air a chrioptachadh a chur gun duine sin tuilleadh. + +# Used for semi-uniquely representing a cert. +# +# Variables: +# $serialNumber : the serial number of the cert in AA:BB:CC hex format. +cert-with-serial = + .value = Teisteanas leis an àireamh shreathach: { $serialNumber } + +# Used to indicate that the user chose not to send a client authentication certificate to a server that requested one in a TLS handshake. +send-no-client-certificate = Na cuir teisteanas cliant + +# Used when no cert is stored for an override +no-cert-stored-for-override = (Gun stòradh) + +# When a certificate is unavailable (for example, it has been deleted or the token it exists on has been removed). +certificate-not-available = (Unavailable) + +## Used to show whether an override is temporary or permanent + +permanent-override = Buan +temporary-override = Sealach + +## Add Security Exception dialog + +add-exception-branded-warning = Tha thu an impis am modh a chur gu neoini air a làimhsicheas { -brand-short-name } an làrach seo. +add-exception-invalid-header = Tha an làrach a' feuchainn ri fiosrachadh mì-dhligheach a chleachdadh gus aithne a thoirt air fhèin. +add-exception-domain-mismatch-short = Làrach mhì-cheart +add-exception-domain-mismatch-long = 'S ann do làrach eile a tha an teisteanas seo agus dh'fhaoidte gu bheil an làrach seo fhèin airson leigeil air gur e an làrach eile a tha ann. +add-exception-expired-short = Fiosrachadh ro aosta +add-exception-expired-long = Chan eil an teisteanas seo dligheach aig an àm seo. Dh'fhaoidte gun deach a ghoid no air chall 's gu bheil cuideigin 'ga chleachdadh gus leigeil orra gur iad-san an làrach cheart. +add-exception-unverified-or-bad-signature-short = Dearbh-aithne neo-aithnichte +add-exception-unverified-or-bad-signature-long = Chan eil earbsa san teisteanas a chionn 's nach deach a dhearbhadh le ùghdarras earbsach le soidhneadh tèarainte. +add-exception-valid-short = Teisteanas dligheach +add-exception-valid-long = Tha an làrach a' solar dearbh-aithne dhligheach is dhearbhaichte. Chan eil feum air eisgeachd a chur ris. +add-exception-checking-short = A' sgrùdadh an fhiosrachaidh +add-exception-checking-long = A' feuchainn ris an làrach aithneachadh… +add-exception-no-cert-short = Chan eil fiosrachadh ri fhaighinn +add-exception-no-cert-long = Cha ghabh inbhe na dearbh-aithne fhaighinn airson na làraich a chaidh a shònrachadh. + +## Certificate export "Save as" and error dialogs + +save-cert-as = Sàbhail an teisteanas gu faidhle +cert-format-base64 = Teisteanas X.509 (PEM) +cert-format-base64-chain = Teisteanas X.509 le slabhraidh (PEM) +cert-format-der = Teisteanas X.509 (DER) +cert-format-pkcs7 = Teisteanas X.509 (PKCS#7) +cert-format-pkcs7-chain = Teisteanas X.509 le slabhraidh (PKCS#7) +write-file-failure = Mearachd faidhle diff --git a/thunderbird-l10n/gd/localization/gd/security/certificates/deviceManager.ftl b/thunderbird-l10n/gd/localization/gd/security/certificates/deviceManager.ftl new file mode 100644 index 0000000000000000000000000000000000000000..023d6a430cc25f96b596d2a9dcd44db7fad42717 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/security/certificates/deviceManager.ftl @@ -0,0 +1,133 @@ +# 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/. + + +## Strings used for device manager + +devmgr-window = + .title = Manaidsear nan uidheaman + .style = min-width: 67em; min-height: 32em; + +devmgr-devlist = + .label = Mòidealan is uidheaman tèarainteachd + +devmgr-header-details = + .label = Mion-fhiosrachadh + +devmgr-header-value = + .label = Luach + +devmgr-button-login = + .label = Atharraich ainm an t-sliotain + .accesskey = n + +devmgr-button-logout = + .label = Log a-steach + .accesskey = o + +devmgr-button-changepw = + .label = Log a-steach + .accesskey = L + +devmgr-button-load = + .label = Log a-mach + .accesskey = L + +devmgr-button-unload = + .label = Luchdaich + .accesskey = u + +devmgr-button-enable-fips = + .label = Cuir FIPS an comas + .accesskey = F + +devmgr-button-disable-fips = + .label = Cuir FIPS à comas + .accesskey = F + +## Strings used for load device + +load-device = + .title = Load PKCS#11 Device Driver + +load-device-info = Cuir a-steach fiosrachadh mun mhòideal a bu toigh leat a chur ris. + +load-device-modname = + .value = Ainm a’ mhòideil + .accesskey = M + +load-device-modname-default = + .value = Mòideal PKCS#11 ùr + +load-device-filename = + .value = Ainm faidhle a’ mhòideil + .accesskey = f + +load-device-browse = + .label = Brabhsaich… + .accesskey = B + +## Token Manager + +devinfo-status = + .label = Staid + +devinfo-status-disabled = + .label = Air a chur à comas + +devinfo-status-not-present = + .label = Chan eil e ann + +devinfo-status-uninitialized = + .label = Gun tòiseachadh + +devinfo-status-not-logged-in = + .label = Gun logadh a-steach + +devinfo-status-logged-in = + .label = Air logadh a-steach + +devinfo-status-ready = + .label = Deiseil + +devinfo-desc = + .label = Tuairisgeul + +devinfo-man-id = + .label = Saothraiche + +devinfo-hwversion = + .label = Tionndadh a' bhathar-chruaidh +devinfo-fwversion = + .label = Tionndadh a' bhathar-dainginn + +devinfo-modname = + .label = Mòideal + +devinfo-modpath = + .label = Slighe + +login-failed = Dh'fhàillig an logadh a-steach + +devinfo-label = + .label = Leubail + +devinfo-serialnum = + .label = Àireamh shreathach + +fips-nonempty-primary-password-required = Tha e riatanach sa mhodh FIPS gu bheil prìomh fhacal-faire agad airson gach uidheam tèarainteachd. Suidhich am facal-faire mus feuch thu ris a' mhodh FIPS a chur an comas. +unable-to-toggle-fips = Cha ghabh am modh FIPS airson an uidheim tèarainteachd atharrachadh. Mholar dhut gum fàg thu an-seo 's gun tòisich thu an aplacaid seo a-rithist. +load-pk11-module-file-picker-title = Choose a PKCS#11 device driver to load + +# Load Module Dialog +load-module-help-empty-module-name = + .value = Chan fhaod ainm a’ mhòideil a bhith bàn. + +# Do not translate 'Root Certs' +load-module-help-root-certs-module-name = + .value = Tha “Root Certs” glèidhte is cha ghabh a chleachdadh mar ainm mòideil. + +add-module-failure = Cha ghabh am mòideal a chur ris +del-module-warning = A bheil thu cinnteach gu bheil thu airson am mòideal tèarainteachd seo a sguabadh às? +del-module-error = Cha ghabh am mòideal a sguabadh às diff --git a/thunderbird-l10n/gd/localization/gd/security/pippki/pippki.ftl b/thunderbird-l10n/gd/localization/gd/security/pippki/pippki.ftl new file mode 100644 index 0000000000000000000000000000000000000000..1dedbd728b8c2dc4c3fbb6fa673d01e966e97371 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/security/pippki/pippki.ftl @@ -0,0 +1,81 @@ +# 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/. + +password-quality-meter = Tomhas càileachd an fhacail-fhaire + +## Change Password dialog + +change-device-password-window = + .title = Atharraich am facal-faire + +# Variables: +# $tokenName (String) - Security device of the change password dialog +change-password-token = Uidheam tèarainteachd: { $tokenName } +change-password-old = Am facal-faire làithreach: +change-password-new = Am facal-faire ùr: +change-password-reenter = Am faca-faire ùr (a-rithist): + +pippki-failed-pw-change = Cha b’ urrainn dhuinn am facal-faire atharrachadh. +pippki-incorrect-pw = Cha do chuir thu a-steach am facal-faire làithreach ceart. Feuch ris a-rithist. +pippki-pw-change-ok = Chaidh am facal-faire atharrachadh. + +pippki-pw-empty-warning = Cha dèid na faclan-faire is iuchraichean prìobhaideach air an stòradh a dhìon. +pippki-pw-erased-ok = Sguab thu às am facal-faire agad. { pippki-pw-empty-warning } +pippki-pw-not-wanted = Rabhadh! Chuir thu romhad gun a bhith a' cleachdadh facal-faire. { pippki-pw-empty-warning } + +pippki-pw-change2empty-in-fips-mode = Tha thu ann am modh FIPS an-dràsta. Feumaidh FIPS facal-faire nach eil falamh. + +## Reset Primary Password dialog + +reset-primary-password-window2 = + .title = Ath-shuidhich am prìomh fhacal-faire + .style = min-width: 44em +reset-password-button-label = + .label = Ath-shuidhich +reset-primary-password-text = Ma dh’fhalamhaicheas tu am prìomh fhacal-faire, thèid gach facal-faire airson làraichean-lìn is puist-dhealain, teisteanasan pearsanta is iuchraichean prìobhaideach air chall. A bheil thu cinnteach gu bheil thu airson am prìomh fhacal-faire agad ath-shuidheachadh? + +pippki-reset-password-confirmation-title = Ath-shuidhich am prìomh fhacal-faire +pippki-reset-password-confirmation-message = Chaidh am prìomh fhacal-faire agad ath-shuidheachadh + +## Downloading cert dialog + +download-cert-window2 = + .title = A' luchdadh a-nuas teisteanas + .style = min-width: 46em +download-cert-message = Chaidh iarraidh ort earbsa a chur ann an ùghdarras teisteanachaidh (ÙT) ùr. +download-cert-trust-ssl = + .label = Cuir earbsa san ùghdarras teisteanachaidh seo gus làraichean-lìn aithneachadh. +download-cert-trust-email = + .label = Cuir earbsa san ùghdarras teisteanachaidh seo gus cleachdaichean puist-dhealain aithneachadh. +download-cert-message-desc = Mus cuir thu earbsa san ùghdarras teisteanachaidh seo, bu chòir dhut sùil a chur air a theisteanas fhèin agus na poileasaidhean is modhan-obrach aca (ma tha gin ann). +download-cert-view-cert = + .label = Seall +download-cert-view-text = Sgrùdaich teisteanas an ùghdarrais theisteanachaidh + +## Client Authorization Ask dialog + +client-auth-window = + .title = Iarrtas aithneachadh cleachdaiche +client-auth-site-description = Dh'iarr an làrach ort aithne a thoirt ort fhèin le teisteanas: +client-auth-choose-cert = Tagh teisteanas a nochdas tu mar dhearbh-aithne: +client-auth-cert-details = Mion-fhiosrachadh an teisteanais a thagh thu: + +## Set password (p12) dialog + +set-password-window = + .title = Tagh facal-faire lethbhreac-ghlèidhidh an teisteanais +set-password-message = Bidh facal-faire lethbhreac-glèidhidh an teisteanais a shuidheas tu an-seo a' glèidheadh am faidhle a tha thu gu bhith cruthachadh. Feumaidh tu am facal-faire seo a shuidheachadh mus lean thu ort leis a' lethbhreac-ghlèidhidh. +set-password-backup-pw = + .value = Facal-faire lethbhreac-glèidhidh an teisteanais: +set-password-repeat-backup-pw = + .value = Facal-faire lethbhreac-glèidhidh an teisteanais (a-rithist): +set-password-reminder = Cudromach: ma dhìochuimhnicheas tu facal-faire lethbhreac-glèidhidh an teisteanais agad, chan urrainn dhut an lethbhreac-glèidhidh seo a chleachdadh as dèidh sin. Cum cunntas dheth ann an àite sàbhailte. + +## Protected Auth dialog + +## Protected authentication alert + +# Variables: +# $tokenName (String) - The name of the token to authenticate to (for example, "OS Client Cert Token (Modern)") +protected-auth-alert = Please authenticate to the token “{ $tokenName }”. How to do so depends on the token (for example, using a fingerprint reader or entering a code with a keypad). diff --git a/thunderbird-l10n/gd/localization/gd/services/accounts.ftl b/thunderbird-l10n/gd/localization/gd/services/accounts.ftl new file mode 100644 index 0000000000000000000000000000000000000000..f9999c563da2fe4dfe51a99c8ccf5fd2cc90b1fe --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/services/accounts.ftl @@ -0,0 +1,8 @@ +# 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/. + +# Variables: +# $user (String): the user name (e.g. "Ed") +# $system (String): the operating system (e.g. "Android") +account-client-name = { -brand-short-name } aig { $user } air { $system } diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutAbout.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutAbout.ftl new file mode 100644 index 0000000000000000000000000000000000000000..c3aaf47ff01cc7575a0b7a57bb9d609817399b59 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutAbout.ftl @@ -0,0 +1,6 @@ +# 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/. + +about-about-title = Mu dhèidhinn mu dhèidhinn +about-about-note = Seo liosta nan duilleagan "Mu dhèidhinn" dhut.<br/> Faodaidh gu bheil coltas toinnte air cuid dhiubh. Tha cuid dhiubh a chum breithneachadh teicnigeach a-mhàin.<br/> Agus tha cuid dhiubh a dhìth a chionn 's gu bheil feum aca air sreangan iarrtas. diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutAddons.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutAddons.ftl new file mode 100644 index 0000000000000000000000000000000000000000..27dbfa1cf873b3c91242376e2705a6814482935a --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutAddons.ftl @@ -0,0 +1,519 @@ +# 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/. + +addons-page-title = Manaidsear nan tuilleadan + +search-header = + .placeholder = Lorg air addons.mozilla.org + .searchbuttonlabel = Lorg + +## Variables +## $domain - Domain name where add-ons are available (e.g. addons.mozilla.org) + +list-empty-get-extensions-message = Faigh leudachain is ùrlaran air <a data-l10n-name="get-extensions">{ $domain }</a> + +list-empty-get-dictionaries-message = Faigh faclairean air <a data-l10n-name="get-extensions">{ $domain }</a> + +list-empty-get-language-packs-message = Faigh pacaidean cànain air <a data-l10n-name="get-extensions">{ $domain }</a> + +## + +list-empty-installed = + .value = Chan eil tuilleadan dhen t-seòrsa seo air a stàladh agad + +list-empty-available-updates = + .value = Cha deach ùrachadh a lorg + +list-empty-recent-updates = + .value = Cha do dh'ùraich thu tuilleadan sam bith o chionn goirid + +list-empty-find-updates = + .label = Lorg ùrachaidhean + +list-empty-button = + .label = Faigh barrachd fiosrachaidh mu thuilleadain + +help-button = Taic nan tuilleadan +sidebar-help-button-title = + .title = Taic nan tuilleadan + +addons-settings-button = Roghainnean { -brand-short-name } +sidebar-settings-button-title = + .title = Roghainnean { -brand-short-name } + +show-unsigned-extensions-button = + .label = Bha leudachain ann nach b’ urrainn dhuinn dearbhadh + +show-all-extensions-button = + .label = Seall a h-uile leudachan + +detail-version = + .label = Tionndadh + +detail-last-updated = + .label = Ùrachadh mu dheireadh + +addon-detail-description-expand = Seall barrachd +addon-detail-description-collapse = Seall nas lugha + +detail-contributions-description = Dh'iarr leasaichear an tuilleadain seo gun cuir thu taic ri shìor-leasachadh tro thabhartas beag. + +detail-contributions-button = Gabh pàirt ann + .title = Cuir taic ri leasachadh an leudachain seo + .accesskey = C + +detail-update-type = + .value = Ùrachaidhean fèin-obrachail + +detail-update-default = + .label = Bunaiteach + .tooltiptext = Na stàlaich ùrachaidhean gu fèin-obrachail ach mas e sin an roghainn bhunaiteach + +detail-update-automatic = + .label = Air + .tooltiptext = Stàlaich ùrachaidhean gu fèin-obrachail + +detail-update-manual = + .label = Dheth + .tooltiptext = Na stàlaich ùrachaidhean gu fèin-obrachail + +# Used as a description for the option to allow or block an add-on in private windows. +detail-private-browsing-label = Ruith ann an uinneagan prìobhaideach + +# Some add-ons may elect to not run in private windows by setting incognito: not_allowed in the manifest. This +# cannot be overridden by the user. +detail-private-disallowed-label = Chan eil seo ceadaichte ann an uinneagan prìobhaideach +detail-private-disallowed-description2 = Cha ruith an leudachan seo fhad ’s a nì thu brabhsadh prìobhaideach. <a data-l10n-name="learn-more">Barrachd fiosrachaidh</a> + +# Some special add-ons are privileged, run in private windows automatically, and this permission can't be revoked +detail-private-required-label = Feumaidh seo cothrom air uinneagan prìobhaideach +detail-private-required-description2 = Gheibh an leudachan cothrom air a’ ghnìomhachd air loidhne agad nuair a bhios tu ri brabhsadh prìobhaideach. <a data-l10n-name="learn-more">Barrachd fiosrachaidh</a> + +detail-private-browsing-on = + .label = Ceadaich + .tooltiptext = Cuir an comas ann am brabhsadh prìobhaideach + +detail-private-browsing-off = + .label = Na ceadaich + .tooltiptext = Cuir à comas ann am brabhsadh prìobhaideach + +detail-home = + .label = Duilleag-dhachaigh + +detail-home-value = + .value = { detail-home.label } + +detail-repository = + .label = Pròifil an tuilleadain + +detail-repository-value = + .value = { detail-repository.label } + +detail-check-for-updates = + .label = Lorg ùrachaidhean + .accesskey = L + .tooltiptext = Lorg ùrachaidhean airson an tuilleadain seo + +detail-show-preferences = + .label = + { PLATFORM() -> + [windows] Roghainnean + *[other] Roghainnean + } + .accesskey = + { PLATFORM() -> + [windows] o + *[other] R + } + .tooltiptext = + { PLATFORM() -> + [windows] Atharraich roghainnean an tuilleadain seo + *[other] Atharraich roghainnean an tuilleadain seo + } + +detail-rating = + .value = Rangachadh + +addon-restart-now = + .label = Ath-thòisich an-dràsta + +disabled-unsigned-heading = + .value = Chaidh cuid dhe na tuilleadain a chur à comas + +disabled-unsigned-description = Cha deach na tuilleadain a leanas a dhearbhadh a chum cleachdaidh ann an { -brand-short-name }. ’S urrainn dhut <label data-l10n-name="find-addons">feadhainn eile a lorg ’nan àite</label> no iarraidh air an luchd-leasachaidh aca an dearbhadh. + +disabled-unsigned-learn-more = Barrachd fiosrachaidh mu na nì sinn gus do chumail sàbhailte air loidhne. + +disabled-unsigned-devinfo = Mas e neach-leasachaidh a tha annad ’s tu a’ beachdachadh air dearbhadh nan tuilleadan agad, nach leugh thu<label data-l10n-name="learn-more">an stiùireadh againn</label>. + +plugin-deprecation-description = Dad a dhìth ort? Chan eil { -brand-short-name } a’ cur taic ri cuid a phlugain tuilleadh. <label data-l10n-name="learn-more">Barrachd fiosrachaidh.</label> + +legacy-warning-show-legacy = Seall leudachain dhìleabach + +legacy-extensions = + .value = Leudachain dhìleabach + +legacy-extensions-description = Chan eil na leudachain seo a’ coileanadh stannardan { -brand-short-name } agus chaidh an cur às comas ri linn sin. <label data-l10n-name="legacy-learn-more">Fiosraich na tha ùr a thaobh leudachan</label> + +private-browsing-description2 = + Tha { -brand-short-name } ag atharrachadh mar a dh’obraicheas leudachain ann am brabhsadh prìobhaideach. Cha ruith leudachan ùr sam bith a chuireas tu ri { -brand-short-name } ann an uinneagan prìobhaideach. Chan obraich an leudachan ann am brabhsadh prìobhaideach gus an ceadaich thu e sna roghainnean agus cha bhi cothrom aige air do ghnìomhachd air loidhne . Rinn sinn seo gus am brabhsadh prìobhaideach a chumail prìobhaideach. + <label data-l10n-name="private-browsing-learn-more">Mar a stiùiricheas tu roghainnean nan leudachan</label> + +addon-category-discover = Na mholamaid +addon-category-discover-title = + .title = Na mholamaid +addon-category-extension = Leudachain +addon-category-extension-title = + .title = Leudachain +addon-category-theme = Ùrlaran +addon-category-theme-title = + .title = Ùrlaran +addon-category-plugin = Plugain +addon-category-plugin-title = + .title = Plugain +addon-category-dictionary = Faclairean +addon-category-dictionary-title = + .title = Faclairean +addon-category-locale = Cànain +addon-category-locale-title = + .title = Cànain +addon-category-available-updates = Ùrachaidhean a tha ri am faighinn +addon-category-available-updates-title = + .title = Ùrachaidhean a tha ri am faighinn +addon-category-recent-updates = Na chaidh ùrachadh o chionn goirid +addon-category-recent-updates-title = + .title = Na chaidh ùrachadh o chionn goirid +addon-category-sitepermission = Ceadan na làraich +addon-category-sitepermission-title = + .title = Ceadan na làraich +# String displayed in about:addons in the Site Permissions section +# Variables: +# $host (string) - DNS host name for which the webextension enables permissions +addon-sitepermission-host = Ceadan na làraich airson { $host } + +## These are global warnings + +extensions-warning-safe-mode = Chaidh a h-uile tuilleadan a chur à comas leis a' mhodh sàbhailte. +extensions-warning-check-compatibility = Chaidh an sgrùdadh air co-chòrdalachd nan tuilleadain a chur à comas. Dh'fhaodadh gu bheil tuilleadan agad nach eil co-chòrdail. +extensions-warning-check-compatibility-button = Cuir an comas + .title = Cuir an comas sgrùdadh co-chòrdalachd nan tuilleadan +extensions-warning-update-security = Chaidh an sgrùdadh tèarainteachd air ùrachadh nan tuilleadain a chur à comas. Dh'fhaodadh gun cuir ùrachaidhean cron ort. +extensions-warning-update-security-button = Cuir an comas + .title = Cuir an comas sgrùdadh tèarainteachd nan tuilleadan + +## Strings connected to add-on updates + +addon-updates-check-for-updates = Lorg ùrachaidhean + .accesskey = c +addon-updates-view-updates = Seall na chaidh ùrachadh o chionn goirid + .accesskey = S + +# This menu item is a checkbox that toggles the default global behavior for +# add-on update checking. + +addon-updates-update-addons-automatically = Ùraich na tuilleadain gu fèin-obrachail + .accesskey = a + +## Specific add-ons can have custom update checking behaviors ("Manually", +## "Automatically", "Use default global behavior"). These menu items reset the +## update checking behavior for all add-ons to the default global behavior +## (which itself is either "Automatically" or "Manually", controlled by the +## extensions-updates-update-addons-automatically.label menu item). + +addon-updates-reset-updates-to-automatic = Ath-shuidhich gach tuilleadan airson 's gun ùraich iad gu fèin-obrachail + .accesskey = r +addon-updates-reset-updates-to-manual = Ath-shuidhich gach tuilleadan airson 's gun ùraich iad de làimh + .accesskey = r + +## Status messages displayed when updating add-ons + +addon-updates-updating = Ag ùrachadh nan tuilleadan +addon-updates-installed = Chaidh na tuilleadain agad ùrachadh. +addon-updates-none-found = Cha deach ùrachadh a lorg +addon-updates-manual-updates-found = Seall na h-ùrachaidhean a tha ri am faighinn + +## Add-on install/debug strings for page options menu + +addon-install-from-file = Stàlaich tuilleadan o fhaidhle… + .accesskey = i +addon-install-from-file-dialog-title = Tagh tuilleadan ri stàladh +addon-install-from-file-filter-name = Tuilleadain +addon-open-about-debugging = Dì-bhugaich na tuilleadain + .accesskey = b + +## Extension shortcut management + +# This is displayed in the page options menu +addon-manage-extensions-shortcuts = Stiùirich ath-ghoiridean an leudachain + .accesskey = S + +shortcuts-no-addons = Chan eil leudachan sam bith an comas agad. +shortcuts-no-commands = Chan eil ath-ghoirid aig na leudachain a leanas: +shortcuts-input = + .placeholder = Cuir a-steach ath-ghoirid + +shortcuts-browserAction2 = Gnìomhaich putan a’ bhàr-inneal +shortcuts-pageAction = Cuir gnìomh na duilleige an gnìomh +shortcuts-sidebarAction = Toglaich am bàr-taoibh + +shortcuts-modifier-mac = Gabh a-staigh Ctrl, Alt no ⌘ +shortcuts-modifier-other = Gabh a-staigh Ctrl no Alt +shortcuts-invalid = Combanaid mhì-dhligheach +shortcuts-letter = Sgrìobh litir +shortcuts-system = Cha ghabh ath-ghoirid { -brand-short-name } a thar-àithneadh + +# String displayed in warning label when there is a duplicate shortcut +shortcuts-duplicate = Ath-ghoirid dhùblaichte + +# String displayed when a keyboard shortcut is already assigned to more than one add-on +# Variables: +# $shortcut (string) - Shortcut string for the add-on +shortcuts-duplicate-warning-message = Tha { $shortcut } ’ga chleachdadh ’na ath-ghoirid do dh’iomadh rud. Adhbharaichidh ath-ghoiridean dùblaichte giùlan ris nach eilear an dùil. + +# String displayed when a keyboard shortcut is already used by another add-on +# Variables: +# $addon (string) - Name of the add-on +shortcuts-exists = ’Ga chleachdadh le { $addon } mu thràth + +# Variables: +# $numberToShow (number) - Number of other elements available to show +shortcuts-card-expand-button = + { $numberToShow -> + [one] Seall { $numberToShow } a bharrachd + [two] Seall { $numberToShow } a bharrachd + [few] Seall { $numberToShow } a bharrachd + *[other] Seall { $numberToShow } a bharrachd + } + +shortcuts-card-collapse-button = Seall nas lugha + +header-back-button = + .title = Air ais + +## Recommended add-ons page + +# Explanatory introduction to the list of recommended add-ons. The action word +# ("recommends") in the final sentence is a link to external documentation. +discopane-intro = + Tha leudachain is ùrlaran coltach ri aplacaidean dhan bhrabhsair agad agus leigidh iad leat + faclan-faire a dhìon, videothan a luchdadh a-nuas, bargain a lorg, sanasachd sàrachail a bhacadh, + an coltas air a’ bhrabhsair agad atharrachadh is mòran a bharrachd. Tha na prògraman bathair-bhog + beaga seo ’gan leasachadh le treas-phàrtaidh gu tric. Seo roghadh is taghadh a tha + { -brand-product-name } <a data-l10n-name="learn-more-trigger">a’ moladh</a> airson + tèarainteachd, dèanadas is gleusan nas fheàrr. + +# Notice to make user aware that the recommendations are personalized. +discopane-notice-recommendations = + Tha cuid dhe na molaidhean seo pearsanaichte. Tha iad stèidhichte air leudachain + eile a stàlaich thu, roghainnean na pròifil is stadastaireachd a’ chleachdaidh. +discopane-notice-learn-more = Barrachd fiosrachaidh + +privacy-policy = Am poileasaidh prìobhaideachd + +# Refers to the author of an add-on, shown below the name of the add-on. +# Variables: +# $author (string) - The name of the add-on developer. +created-by-author = le <a data-l10n-name="author">{ $author }</a> +# Shows the number of daily users of the add-on. +# Variables: +# $dailyUsers (number) - The number of daily users. +user-count = Cleachdaichean: { $dailyUsers } +install-extension-button = Cuir ri { -brand-product-name } +install-theme-button = Stàlaich an t-ùrlar +# The label of the button that appears after installing an add-on. Upon click, +# the detailed add-on view is opened, from where the add-on can be managed. +manage-addon-button = Stiùirich +find-more-addons = Lorg barrachd leudachain +find-more-themes = Lorg barrachd ùrlaran + +# This is a label for the button to open the "more options" menu, it is only +# used for screen readers. +addon-options-button = + .aria-label = Barrachd roghainnean + +## Add-on actions + +report-addon-button = Dèan aithris air +remove-addon-button = Thoir air falbh +# The link will always be shown after the other text. +remove-addon-disabled-button = Cha ghabh a thoirt air falbh <a data-l10n-name="link">Carson?</a> +disable-addon-button = Cuir à comas +enable-addon-button = Cuir an comas +# This is used for the toggle on the extension card, it's a checkbox and this +# is always its label. +extension-enable-addon-button-label = + .aria-label = Cuir an comas +preferences-addon-button = + { PLATFORM() -> + [windows] Roghainnean + *[other] Roghainnean + } +details-addon-button = Mion-fhiosrachadh +release-notes-addon-button = Nòtaichean sgaoilidh +permissions-addon-button = Ceadan + +extension-enabled-heading = An comas +extension-disabled-heading = À comas + +theme-enabled-heading = An comas +theme-disabled-heading2 = Ùrlaran a shàbhail thu + +plugin-enabled-heading = An comas +plugin-disabled-heading = À comas + +dictionary-enabled-heading = An comas +dictionary-disabled-heading = À comas + +locale-enabled-heading = An comas +locale-disabled-heading = À comas + +sitepermission-enabled-heading = An comas +sitepermission-disabled-heading = À comas + +always-activate-button = Cuir an gnìomh an-còmhnaidh +never-activate-button = Na cuir an gnìomh idir + +addon-detail-author-label = Ùghdar +addon-detail-version-label = Tionndadh +addon-detail-last-updated-label = Ùrachadh mu dheireadh +addon-detail-homepage-label = Duilleag-dhachaigh +addon-detail-rating-label = Rangachadh + +# Message for add-ons with a staged pending update. +install-postponed-message = Thèid an leudachan seo ùrachadh nuair a thèid { -brand-short-name } ath-thòiseachadh. +install-postponed-button = Ùraich an-dràsta + +# The average rating that the add-on has received. +# Variables: +# $rating (number) - A number between 0 and 5. The translation should show at most one digit after the comma. +five-star-rating = + .title = Rangachadh { NUMBER($rating, maximumFractionDigits: 1) } à 5 + +# This string is used to show that an add-on is disabled. +# Variables: +# $name (string) - The name of the add-on +addon-name-disabled = { $name } (à comas) + +# The number of reviews that an add-on has received on AMO. +# Variables: +# $numberOfReviews (number) - The number of reviews received +addon-detail-reviews-link = + { $numberOfReviews -> + [one] { $numberOfReviews } lèirmheas + [two] { $numberOfReviews } lèirmheas + [few] { $numberOfReviews } lèirmheasan + *[other] { $numberOfReviews } lèirmheas + } + +## Pending uninstall message bar + +# Variables: +# $addon (string) - Name of the add-on +pending-uninstall-description = Chaidh <span data-l10n-name="addon-name">{ $addon }</span> a thoirt air falbh. +pending-uninstall-undo-button = Neo-dhèan + +addon-detail-updates-label = Ceadaich ùrachaidhean fèin-obrachail +addon-detail-updates-radio-default = Bun-roghainn +addon-detail-updates-radio-on = Air +addon-detail-updates-radio-off = Dheth +addon-detail-update-check-label = Thoir sùil airson ùrachaidhean +install-update-button = Ùraich + +# This is the tooltip text for the private browsing badge in about:addons. The +# badge is the private browsing icon included next to the extension's name. +addon-badge-private-browsing-allowed2 = + .title = Ceadaichte ann an uinneagan prìobhaideach + .aria-label = { addon-badge-private-browsing-allowed2.title } +addon-detail-private-browsing-help = Ma fhuair e cead, gheibh an leudachan cothrom air a’ ghnìomhachd air loidhne agad nuair a bhios tu ri brabhsadh prìobhaideach. <a data-l10n-name="learn-more">Barrachd fiosrachaidh</a> +addon-detail-private-browsing-allow = Ceadaich +addon-detail-private-browsing-disallow = Na ceadaich + +## "sites with restrictions" (internally called "quarantined") are special domains +## where add-ons are normally blocked for security reasons. + +## This is the tooltip text for the recommended badges for an extension in about:addons. The +## badge is a small icon displayed next to an extension when it is recommended on AMO. + +addon-badge-recommended2 = + .title = Cha mhol { -brand-product-name } ach leudachain a choileanas na stannardan againn a thaobh tèarainteachd is dèanadas + .aria-label = { addon-badge-recommended2.title } +# We hard code "Mozilla" in the string below because the extensions are built +# by Mozilla and we don't want forks to display "by Fork". +addon-badge-line3 = + .title = Leudachan oifigeil le Mozilla. Tha e a’ coileanadh nan stannardan a thaobh tèarainteachd is dèanadas + .aria-label = { addon-badge-line3.title } +addon-badge-verified2 = + .title = Chaidh an leudachan seo a sgrùdadh is tha e a’ coileanadh nan stannardan againn a thaobh tèarainteachd is dèanadas + .aria-label = { addon-badge-verified2.title } + +## + +available-updates-heading = Ùrachaidhean a tha ri am faighinn +recent-updates-heading = Na chaidh ùrachadh o chionn goirid + +release-notes-loading = ’Ga luchdadh… +release-notes-error = Tha sinn duilich ach thachair mearachd rè luchdadh nan nòtaichean sgaoilidh. + +addon-permissions-empty = Chan eil an leudachan seo feumach air cead sam bith +addon-permissions-required = Ceadan riatanach dha na bun-ghleusan: +addon-permissions-optional = Ceadan roghainneil airson barrachd ghleusan: +addon-permissions-learnmore = Barrachd fiosrachaidh mu cheadan + +recommended-extensions-heading = Leudachain a mholamaid +recommended-themes-heading = Ùrlaran a mholamaid + +# Variables: +# $hostname (string) - Host where the permissions are granted +addon-sitepermissions-required = Bheir seo na comasan a leanas dha <span data-l10n-name="hostname">{ $hostname }</span>: + +# A recommendation for the Firefox Color theme shown at the bottom of the theme +# list view. The "Firefox Color" name itself should not be translated. +recommended-theme-1 = Am bu mhiann leat cruthachadh? <a data-l10n-name="link">Tog an t-ùrlar agad fhèin le Firefox Color.</a> + +## Page headings + +extension-heading = Stiùirich na leudachain agad +theme-heading = Stiùirich na h-ùrlaran agad +plugin-heading = Stiùirich na plugain agad +dictionary-heading = Stiùirich na faclairean agad +locale-heading = Stiùirich na cànain agad +updates-heading = Stiùirich na h-ùrachaidhean agad +sitepermission-heading = Stiùirich ceadan na làraich agad +discover-heading = Cuir dreach pearsanta air { -brand-short-name } +shortcuts-heading = Stiùirich ath-ghoiridean an leudachain + +default-heading-search-label = Lorg barrachd leudachain +addons-heading-search-input = + .placeholder = Lorg air addons.mozilla.org + +addon-page-options-button = + .title = Innealan airson a h-uile tuilleadan + +## Detail notifications +## Variables: +## $name (String): name of the add-on. + + +## Detail notifications +## Variables: +## $name (string) - Name of the add-on. + +# Variables: +# $version (string) - Application version. +details-notification-incompatible = Chan eil { $name } co-chòrdail le { -brand-short-name } { $version }. +details-notification-incompatible-link = Barrachd fiosrachaidh + +details-notification-unsigned-and-disabled = Cha b’ urrainn dhuinn { $name } a dhearbhadh a chum cleachdaidh ann an { -brand-short-name } agus chaidh a chur à comas. +details-notification-unsigned-and-disabled-link = Barrachd fiosrachaidh + +details-notification-unsigned = Cha b’ urrainn dhuinn { $name } a dhearbhadh a chum cleachdaidh ann an { -brand-short-name }. Bi faiceallach. +details-notification-unsigned-link = Barrachd fiosrachaidh + +details-notification-blocked = Chaidh { $name } a chur à comas air sgàth adhbharan tèarainteachd no seasmhachd. +details-notification-blocked-link = Barrachd fiosrachaidh + +details-notification-softblocked = Tha fhios gun adhbharaich { $name } duilgheadasan tèarainteachd is seasmhachd. +details-notification-softblocked-link = Barrachd fiosrachaidh + +details-notification-gmp-pending = Thèid { $name } stàladh a dh'aithghearr. diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutCompat.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutCompat.ftl new file mode 100644 index 0000000000000000000000000000000000000000..d3a00e28e4cb82fa7a3e9b51f97cf2f3105b2f63 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutCompat.ftl @@ -0,0 +1,24 @@ +# 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/. + +label-disable = Cuir à comas +label-enable = Cuir an comas +label-interventions = Eadar-theachd +# Variables: +# $bug (string) - Bug number +label-more-information = Barrachd fiosrachaidh: Buga { $bug } +label-overrides = Tar-àitheantan àidseant a’ chleachdaiche +text-disabled-in-about-config = Chaidh an gleus seo a chur à comas ann an about:config +text-no-interventions = Chan eil eadar-theachd sam bith ’ga chleachdadh +text-no-overrides = Chan eil tar-àithne UA sam bith ’ga chleachadh +text-title = about:compat + +## Do not translate "SmartBlock". For reference, SmartBlock is a feature +## of Firefox anti-tracking which fixes website breakage caused when +## trackers are blocked, by acting just enough like those trackers to fix the +## breakage. SmartBlock also contains special fixes for sites broken by +## Firefox's Total Cookie Protection feature. + +label-smartblock = SmartBlock Fixes +text-no-smartblock = No SmartBlock fixes are being used diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutGlean.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutGlean.ftl new file mode 100644 index 0000000000000000000000000000000000000000..81dfcd6fa6b1423a2fc247b7af50190b78b893fb --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutGlean.ftl @@ -0,0 +1,103 @@ +# 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/. + + +### "Glean" and "Glean SDK" should remain in English. + +### "FOG", "Glean", and "Glean SDK" should remain in English. + +-fog-brand-name = FOG +-glean-brand-name = Glean +glean-sdk-brand-name = { -glean-brand-name } SDK +glean-debug-ping-viewer-brand-name = { -glean-brand-name } Debug Ping Viewer + +about-glean-page-title2 = About { -glean-brand-name } +about-glean-header = About { -glean-brand-name } +about-glean-interface-description = + The <a data-l10n-name="glean-sdk-doc-link">{ glean-sdk-brand-name }</a> + is a data collection library used in { -vendor-short-name } projects. + This interface is designed to be used by developers and testers to manually + <a data-l10n-name="fog-link">test instrumentation</a>. + +about-glean-upload-enabled = Data upload is enabled. +about-glean-upload-disabled = Data upload is disabled. +about-glean-upload-enabled-local = Data upload is enabled only for sending to a local server. +about-glean-upload-fake-enabled = + Data upload is disabled, + but we’re lying and telling the { glean-sdk-brand-name } it is enabled + so that data is still recorded locally. + Note: If you set a debug tag, pings will be uploaded to the + <a data-l10n-name="glean-debug-ping-viewer">{ glean-debug-ping-viewer-brand-name }</a> regardless of settings. + +# This message is followed by a bulleted list. +about-glean-prefs-and-defines = Relevant <a data-l10n-name="fog-prefs-and-defines-doc-link">preferences and defines</a> include: +# Variables: +# $data-upload-pref-value (String): the value of the datareporting.healthreport.uploadEnabled pref. Typically "true", sometimes "false" +# Do not translate strings between <code> </code> tags. +about-glean-data-upload = <code>datareporting.healthreport.uploadEnabled</code>: { $data-upload-pref-value } +# Variables: +# $local-port-pref-value (Integer): the value of the telemetry.fog.test.localhost_port pref. Typically 0. Can be negative. +# Do not translate strings between <code> </code> tags. +about-glean-local-port = <code>telemetry.fog.test.localhost_port</code>: { $local-port-pref-value } +# Variables: +# $glean-android-define-value (Boolean): the value of the MOZ_GLEAN_ANDROID define. Typically "false", sometimes "true". +# Do not translate strings between <code> </code> tags. +about-glean-glean-android = <code>MOZ_GLEAN_ANDROID</code>: { $glean-android-define-value } +# Variables: +# $moz-official-define-value (Boolean): the value of the MOZILLA_OFFICIAL define. +# Do not translate strings between <code> </code> tags. +about-glean-moz-official = <code>MOZILLA_OFFICIAL</code>: { $moz-official-define-value } + +about-glean-about-testing-header = About Testing +# This message is followed by a numbered list. +about-glean-manual-testing = + Full instructions are documented in the + <a data-l10n-name="fog-instrumentation-test-doc-link">{ -fog-brand-name } instrumentation testing docs</a> + and in the <a data-l10n-name="glean-sdk-doc-link">{ glean-sdk-brand-name } documentation</a>, + but, in short, to manually test that your instrumentation works, you should: + +# This message is an option in a dropdown filled with untranslated names of pings. +about-glean-no-ping-label = (don’t submit any ping) +# An in-line text input field precedes this string. +about-glean-label-for-tag-pings = In the preceding field ensure there is a memorable debug tag so you can recognize your pings later. +# An in-line drop down list precedes this string. +# Do not translate strings between <code> </code> tags. +about-glean-label-for-ping-names = + Select from the preceding list the ping your instrumentation is in. + If it’s in a <a data-l10n-name="custom-ping-link">custom ping</a>, choose that one. + Otherwise, the default for <code>event</code> metrics is + the <code>events</code> ping + and the default for all other metrics is + the <code>metrics</code> ping. +# An in-line check box precedes this string. +about-glean-label-for-log-pings = + (Optional. Check the preceding box if you want pings to also be logged when they are submitted. + You will additionally need to <a data-l10n-name="enable-logging-link">enable logging</a>.) +# Variables +# $debug-tag (String): The user-set value of the debug tag input on this page. Like "about-glean-kV" +# An in-line button labeled "Apply settings and submit ping" precedes this string. +about-glean-label-for-controls-submit = + Press the preceding button to tag all { -glean-brand-name } pings with your tag and submit the selected ping. + (All pings submitted from then until you restart the application will be tagged with + <code>{ $debug-tag }</code>.) +about-glean-li-for-visit-gdpv = + <a data-l10n-name="gdpv-tagged-pings-link">Visit the { glean-debug-ping-viewer-brand-name } page for pings with your tag</a>. + It shouldn’t take more than a few seconds from pushing the button to your ping arriving. + Sometimes it may take a small handful of minutes. + +# Do not translate strings between <code> </code> tags. +about-glean-adhoc-explanation = + For more <i>ad hoc</i> testing, + you can also determine the current value of a particular piece of instrumentation + by opening a devtools console here on <code>about:glean</code> + and using the <code>testGetValue()</code> API like + <code>Glean.metricCategory.metricName.testGetValue()</code>. + + +controls-button-label-verbose = Apply settings and submit ping + +about-glean-about-data-header = About Data +about-glean-about-data-explanation = + To browse the list of collected data, please consult the + <a data-l10n-name="glean-dictionary-link">{ -glean-brand-name } Dictionary</a>. diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutHttpsOnlyError.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutHttpsOnlyError.ftl new file mode 100644 index 0000000000000000000000000000000000000000..ce4956edee954496265a4277433077034779d09d --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutHttpsOnlyError.ftl @@ -0,0 +1,31 @@ +# 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/. + +about-httpsonly-title-alert = Caismeachd a’ mhodh HTTPS a-mhàin +about-httpsonly-title-site-not-available = Secure Site Not Available + +# Variables: +# $websiteUrl (String) - Url of the website that failed to load. Example: www.example.com +about-httpsonly-explanation-unavailable2 = Chuir thu am modh HTTPS a-mhàin an comas a chùm barrachd tèarainteachd ach chan eil tionndadh HTTPS dhe <em>{ $websiteUrl }</em> ri fhaighinn. +about-httpsonly-explanation-question = Dè as adhbhar? +about-httpsonly-explanation-nosupport = Tha sinn an dùil nach cuir an làrach taic ri HTTPS. +about-httpsonly-explanation-risk = Gidheadh, dh’fhaoidte gu bheil ionnsaigh a’ dol air adhart. Ma thadhlas tu air an làrach-lìn, cha bu chòir dhut fiosrachadh dìomhair a chur a-steach, can faclan-faire, puist-d no fiosrachadh cairte-creideis. +about-httpsonly-explanation-continue = Ma leanas tu air adhart, thèid am modh HTTPS a-mhàin a chur dheth dhan làrach seo rè seal. + +about-httpsonly-button-continue-to-site = Lean air adhart gun làrach-lìn HTTP +about-httpsonly-button-go-back = Air ais +about-httpsonly-link-learn-more = Barrachd fiosrachaidh… + +## Suggestion Box that only shows up if a secure connection to www can be established +## Variables: +## $websiteUrl (String) - Url of the website that can be securely loded with these alternatives. Example: example.com + + +## Suggestion Box that only shows up if a secure connection to www can be established +## Variables: +## $websiteUrl (String) - Url of the website that can be securely loaded with these alternatives. Example: example.com + +about-httpsonly-suggestion-box-header = Roghainn eile +about-httpsonly-suggestion-box-www-text = Tha tionndadh tèarainte dhe <em>www.{ $websiteUrl }</em> ann. ’S urrainn dhut tadhal air an làrach ud seach air <em>{ $websiteUrl }</em>. +about-httpsonly-suggestion-box-www-button = Tadhail air www.{ $websiteUrl } diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutLogging.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutLogging.ftl new file mode 100644 index 0000000000000000000000000000000000000000..28eb5cae1c494422c1adf7158d51a45310fb7f48 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutLogging.ftl @@ -0,0 +1,68 @@ +# 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/. + + +## The following feature name must be treated as a brand. +## +## They cannot be: +## - Transliterated. +## - Translated. +## +## Declension should be avoided where possible, leaving the original +## brand unaltered in prominent UI positions. +## +## For further details, consult: +## https://mozilla-l10n.github.io/styleguides/mozilla_general/#brands-copyright-and-trademark + +## + +# This is the title of the page +about-logging-title = About Logging +about-logging-page-title = Logging manager +about-logging-current-log-file = Am faidhle logaidh làithreach: +about-logging-new-log-file = New log file: +about-logging-currently-enabled-log-modules = Currently enabled log modules: +about-logging-log-tutorial = Faic <a data-l10n-name="logging">Logadh HTTP</a> airson stiùireadh mun inneal seo. +# This message is used as a button label, "Open" indicates an action. +about-logging-open-log-file-dir = Open directory +about-logging-set-log-file = Suidhich faidhle logaidh +about-logging-set-log-modules = Suidhich mòidealan logaidh +about-logging-start-logging = Tòisich air logadh +about-logging-stop-logging = Sguir dhen logadh +about-logging-buttons-disabled = Logging configured via environment variables, dynamic configuration unavailable. +about-logging-some-elements-disabled = Logging configured via URL, some configuration options are unavailable +about-logging-info = Info: +about-logging-log-modules-selection = Log module selection +about-logging-new-log-modules = New log modules: +about-logging-logging-output-selection = Logging output +about-logging-logging-to-file = Logging to a file +about-logging-logging-to-profiler = Logging to the { -profiler-brand-name } +about-logging-no-log-modules = None +about-logging-no-log-file = None +about-logging-logging-preset-selector-text = Logging preset: + +## Logging presets + +about-logging-preset-networking-label = Networking +about-logging-preset-networking-description = Log modules to diagnose networking issues +about-logging-preset-media-playback-label = Media playback +about-logging-preset-media-playback-description = Log modules to diagnose media playback issues (not video-conferencing issues) +about-logging-preset-custom-label = Gnàthaichte +about-logging-preset-custom-description = Log modules manually selected + +# Error handling +about-logging-error = Error: + +## Variables: +## $k (String) - Variable name +## $v (String) - Variable value + +about-logging-invalid-output = Invalid value “{ $v }“ for key “{ $k }“ +about-logging-unknown-logging-preset = Unknown logging preset “{ $v }“ +about-logging-unknown-profiler-preset = Unknown profiler preset “{ $v }“ +about-logging-unknown-option = Unknown about:logging option “{ $k }“ +about-logging-configuration-url-ignored = Configuration URL ignored +about-logging-file-and-profiler-override = Can’t force file output and override profiler options at the same time + +about-logging-configured-via-url = Option configured via URL diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutMozilla.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutMozilla.ftl new file mode 100644 index 0000000000000000000000000000000000000000..f0d0f336e5e3f1eca24d8b0f0d5dff46d56ad5c6 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutMozilla.ftl @@ -0,0 +1,11 @@ +# 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/. + +about-mozilla-title-6-27 = The Book of Mozilla, 6:27 +about-mozilla-quote-6-27 = + The Beast continued its studies with renewed <em>Focus</em>, building great <em>Reference</em> + works and contemplating new <em>Realities</em>. The Beast brought forth its followers and + acolytes to create a renewed smaller form of itself and, through <em>Mischievous</em> means, + sent it out across the world. +about-mozilla-from-6-27 = from <strong>The Book of Mozilla,</strong> 6:27 diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutNetworking.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutNetworking.ftl new file mode 100644 index 0000000000000000000000000000000000000000..9676e34d05b40a489fda5e46ae708f4c292c19bb --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutNetworking.ftl @@ -0,0 +1,68 @@ +# 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/. + +about-networking-title = Mu dhèidhinn lìonraidhean +about-networking-http = HTTP +about-networking-sockets = Socaidean +about-networking-dns = DNS +about-networking-dns-clear-cache-button = Falamhaich tasgadan nan DNS +about-networking-dns-trr-url = URL DoH +about-networking-dns-trr-mode = DoH Mode +about-networking-dns-suffix = Iar-leasachan DNS +about-networking-websockets = WebSockets +about-networking-refresh = Ath-nuadhaich +about-networking-auto-refresh = Ath-nuadhaich a h-uile 3 diogan +about-networking-hostname = Ainm an òstair +about-networking-port = Port +about-networking-http-version = Tionndadh HTTP +about-networking-ssl = SSL +about-networking-active = Gnìomhach +about-networking-idle = Idle +about-networking-host = Òstair +about-networking-type = Type +about-networking-sent = Air a chur +about-networking-received = Air fhaighinn +about-networking-family = Teaghlach +about-networking-trr = TRR +about-networking-addresses = Seòlaidhean +about-networking-expires = Falbhaidh an ùine air (ann an diogan) +about-networking-originAttributesSuffix = Iuchair cumail fa leth +about-networking-flags = Extra flags +about-networking-messages-sent = Teachdaireachdan a chaidh a chur +about-networking-messages-received = Teachdaireachdan a fhuaradh +about-networking-bytes-sent = Bytes a chaidh a chur +about-networking-bytes-received = Bytes a fhuaradh +about-networking-logging = Logadh +about-networking-dns-lookup = Lorg DNS +about-networking-dns-lookup-button = Fuasgail +about-networking-dns-domain = Àrainn: +about-networking-dns-lookup-table-column = IPan +about-networking-dns-https-rr-lookup-table-column = RRs HTTP +about-networking-rcwn = RCWN Stats +about-networking-rcwn-status = RCWN Status +about-networking-rcwn-cache-won-count = Cache won count +about-networking-rcwn-net-won-count = Net won count +about-networking-total-network-requests = Total network request count +about-networking-rcwn-operation = Cache Operation +about-networking-rcwn-perf-open = Open +about-networking-rcwn-perf-read = Read +about-networking-rcwn-perf-write = Write +about-networking-rcwn-perf-entry-open = Entry Open +about-networking-rcwn-avg-short = Short Average +about-networking-rcwn-avg-long = Long Average +about-networking-rcwn-std-dev-long = Long Standard Deviation +about-networking-rcwn-cache-slow = Cache slow count +about-networking-rcwn-cache-not-slow = Cache not slow count +about-networking-networkid = ID an lìonraidh +about-networking-networkid-id = ID an lìonraidh +# Note: do not translate about:logging, as it is a URL. +about-networking-moved-about-logging = This page has been moved to <a data-l10n-name="about-logging-url">about:logging</a>. + +## Link is intended as "network link" + +about-networking-networkid-is-up = Tha an ceangal ag obair +about-networking-networkid-status-known = Tha sinn eòlach air staid a’ cheangail + +## + diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutPerformance.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutPerformance.ftl new file mode 100644 index 0000000000000000000000000000000000000000..e75ff3bd4c54929cf38f87a8871d779f6948f154 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutPerformance.ftl @@ -0,0 +1,67 @@ +# 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/. + +# Page title +about-performance-title = Manaidsear nan saothair + +## Column headers + +column-name = Ainm +column-type = Seòrsa +column-energy-impact = Buaidh air caitheamh dealain +column-memory = Cuimhne + +## Special values for the Name column + +ghost-windows = Tabaichean a dhùin thu o chionn goirid +# Variables: +# $title (String) - the title of the preloaded page, typically 'New Tab' +preloaded-tab = Air ro-luchdadh: { $title } + +## Values for the Type column + +type-tab = Taba +type-subframe = Fo-fhrèam +type-tracker = Tracaiche +type-addon = Tuilleadan +type-browser = Brabhsair +type-worker = Worker +type-other = Eile + +## Values for the Energy Impact column +## +## Variables: +## $value (Number) - Value of the energy impact, eg. 0.25 (low), +## 5.38 (medium), 105.38 (high) + +energy-impact-high = Àrd ({ $value }) +energy-impact-medium = Meadhanach ({ $value }) +energy-impact-low = Ìseal ({ $value }) + +## Values for the Memory column +## +## Variables: +## $value (Number) - How much memory is used + +size-KB = { $value } KB +size-MB = { $value } MB +size-GB = { $value } GB + +## Tooltips for the action buttons + +close-tab = + .title = Dùin an taba +show-addon = + .title = Seall ann am manaidsear nan tuilleadan + +# Tooltip when hovering an item of the about:performance table +# Variables: +# $totalDispatches (Number) - how many dispatches occurred for this page since it loaded +# $totalDuration (Number) - how much CPU time was used by this page since it loaded +# $dispatchesSincePrevious (Number) - how many dispatches occurred in the last 2 seconds +# $durationSincePrevious (Number) - how much CPU time was used in the last 2 seconds +item = + .title = + Dispatches since load: { $totalDispatches } ({ $totalDuration }ms) + Dispatches in the last seconds: { $dispatchesSincePrevious } ({ $durationSincePrevious }ms) diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutPlugins.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutPlugins.ftl new file mode 100644 index 0000000000000000000000000000000000000000..44d0882170a94457ce627e39e56d78c8cda62ff7 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutPlugins.ftl @@ -0,0 +1,46 @@ +# 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/. + +title-label = Mu na plugain + +installed-plugins-label = Plugain stàlaichte +no-plugins-are-installed-label = Cha deach plugan stàlaichte a lorg + +deprecation-description = Dad a dhìth ort? Chan eil taic ri cuid a phlugain tuilleadh. <a data-l10n-name="deprecation-link">Barrachd fiosrachaidh.</a> + +## The information of plugins +## +## Variables: +## $pluginLibraries: the plugin library +## $pluginFullPath: path of the plugin +## $version: version of the plugin + +file-dd = <span data-l10n-name="file">Faidhle:</span> { $pluginLibraries } +path-dd = <span data-l10n-name="path">Slighe:</span> { $pluginFullPath } +version-dd = <span data-l10n-name="version">Tionndadh:</span> { $version } + +## These strings describe the state of plugins +## +## Variables: +## $blockListState: show some special state of the plugin, such as blocked, outdated + +state-dd-enabled = <span data-l10n-name="state">Staid:</span> Air a chur an comas +state-dd-enabled-block-list-state = <span data-l10n-name="state">Staid:</span> Air a chur an comas ({ $blockListState }) +state-dd-Disabled = <span data-l10n-name="state">Staid:</span> Air a chur à comas +state-dd-Disabled-block-list-state = <span data-l10n-name="state">Staid:</span> Air a chur à comas ({ $blockListState }) + +mime-type-label = Seòrsa MIME +description-label = Tuairisgeul +suffixes-label = Leasachain + +## Gecko Media Plugins (GMPs) + +plugins-gmp-license-info = Fiosrachadh mun cheadachas +plugins-gmp-privacy-info = Fiosrachadh prìobhaideachd + +plugins-openh264-name = OpenH264 Video Codec 'ga sholar le Cisco Systems, Inc. +plugins-openh264-description = Tha am plugan seo ’ga stàladh le Mozilla gu fèin-obrachail a ghèilleadh ri riatanasan WebRTC agus airson gairmean WebRTC a chur an comas le uidheaman a dh’fheumas an codec video H.264. Tadhail air http://www.openh264.org/ a chur sùil air bun-tùs a’ chodec agus airson barrachd fiosrachaidh mu dhèidhinn. + +plugins-widevine-name = Tha an Widevine Content Decryption Module ’ga sholar le Google Inc. +plugins-widevine-description = This plugin enables playback of encrypted media in compliance with the Encrypted Media Extensions specification. Encrypted media is typically used by sites to protect against copying of premium media content. Visit https://www.w3.org/TR/encrypted-media/ for more information on Encrypted Media Extensions. diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutProcesses.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutProcesses.ftl new file mode 100644 index 0000000000000000000000000000000000000000..86b0abc9cc51dbf7e0004254ce5f7a3a8f6f2af8 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutProcesses.ftl @@ -0,0 +1,214 @@ +# 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/. + +# Page title +about-processes-title = Process Manager + +# The Actions column +about-processes-column-action = + .title = Actions + +## Tooltips + +about-processes-shutdown-process = + .title = Unload tabs and kill process +about-processes-shutdown-tab = + .title = Close tab + +# Profiler icons +# Variables: +# $duration (Number) The time in seconds during which the profiler will be running. +# The value will be an integer, typically less than 10. +about-processes-profile-process = + .title = + { $duration -> + [one] + Profile all threads of this process for { $duration } second + Profile all threads of this process for { $duration } second + [two] + Profile all threads of this process for { $duration } second + Profile all threads of this process for { $duration } seconds + [few] + Profile all threads of this process for { $duration } second + Profile all threads of this process for { $duration } seconds + *[other] + Profile all threads of this process for { $duration } second + Profile all threads of this process for { $duration } seconds + } + +## Column headers + +about-processes-column-name = Name +about-processes-column-memory-resident = Memory +about-processes-column-cpu-total = CPU + +## Process names +## Variables: +## $pid (String) The process id of this process, assigned by the OS. + +about-processes-browser-process = { -brand-short-name } ({ $pid }) +about-processes-web-process = Shared Web Process ({ $pid }) +about-processes-file-process = Files ({ $pid }) +about-processes-extension-process = Extensions ({ $pid }) +about-processes-privilegedabout-process = About pages ({ $pid }) +about-processes-plugin-process = Plugins ({ $pid }) +about-processes-privilegedmozilla-process = { -vendor-short-name } sites ({ $pid }) +about-processes-gmp-plugin-process = Gecko Media Plugins ({ $pid }) +about-processes-gpu-process = GPU ({ $pid }) +about-processes-vr-process = VR ({ $pid }) +about-processes-rdd-process = Data Decoder ({ $pid }) +about-processes-socket-process = Network ({ $pid }) +about-processes-remote-sandbox-broker-process = Remote Sandbox Broker ({ $pid }) +about-processes-fork-server-process = Fork Server ({ $pid }) +about-processes-preallocated-process = Preallocated ({ $pid }) +about-processes-utility-process = Utility ({ $pid }) + +# Unknown process names +# Variables: +# $pid (String) The process id of this process, assigned by the OS. +# $type (String) The raw type for this process. +about-processes-unknown-process = Other: { $type } ({ $pid }) + +## Isolated process names +## Variables: +## $pid (String) The process id of this process, assigned by the OS. +## $origin (String) The domain name for this process. + +about-processes-web-isolated-process = { $origin } ({ $pid }) +about-processes-web-serviceworker = { $origin } ({ $pid }, serviceworker) +about-processes-with-coop-coep-process = { $origin } ({ $pid }, cross-origin isolated) +about-processes-web-isolated-process-private = { $origin } — Private ({ $pid }) +about-processes-with-coop-coep-process-private = { $origin } — Private ({ $pid }, cross-origin isolated) + +## Details within processes + +# Single-line summary of threads (non-idle process) +# Variables: +# $number (Number) The number of threads in the process. Typically larger +# than 30. We don't expect to ever have processes with less +# than 5 threads. +# $active (Number) The number of active threads in the process. +# The value will be greater than 0 and will never be +# greater than $number. +# $list (String) Comma separated list of active threads. +# Can be an empty string if the process is idle. +about-processes-active-threads = + { $active -> + [one] { $active } active thread out of { $number }: { $list } + [two] { $active } active threads out of { $number }: { $list } + [few] { $active } active threads out of { $number }: { $list } + *[other] { $active } active threads out of { $number }: { $list } + } + +# Single-line summary of threads (idle process) +# Variables: +# $number (Number) The number of threads in the process. Typically larger +# than 30. We don't expect to ever have processes with less +# than 5 threads. +# The process is idle so all threads are inactive. +about-processes-inactive-threads = + { $number -> + [one] { $number } inactive thread + [two] { $number } inactive threads + [few] { $number } inactive threads + *[other] { $number } inactive threads + } + +# Thread details +# Variables: +# $name (String) The name assigned to the thread. +# $tid (String) The thread id of this thread, assigned by the OS. +about-processes-thread-name-and-id = { $name } + .title = Thread id: { $tid } + +# Tab +# Variables: +# $name (String) The name of the tab (typically the title of the page, might be the url while the page is loading). +about-processes-tab-name = Tab: { $name } +about-processes-preloaded-tab = Preloaded New Tab + +# Single subframe +# Variables: +# $url (String) The full url of this subframe. +about-processes-frame-name-one = Subframe: { $url } + +# Group of subframes +# Variables: +# $number (Number) The number of subframes in this group. Always ≥ 1. +# $shortUrl (String) The shared prefix for the subframes in the group. +about-processes-frame-name-many = Subframes ({ $number }): { $shortUrl } + +## Utility process actor names + +about-processes-utility-actor-unknown = Unknown actor +about-processes-utility-actor-audio-decoder-generic = Generic Audio Decoder +about-processes-utility-actor-audio-decoder-applemedia = Apple Media Audio Decoder +about-processes-utility-actor-audio-decoder-wmf = Windows Media Framework Audio Decoder +about-processes-utility-actor-mf-media-engine = Windows Media Foundation Media Engine CDM +# "Oracle" refers to an internal Firefox process and should be kept in English +about-processes-utility-actor-js-oracle = JavaScript Oracle +about-processes-utility-actor-windows-utils = Windows Utils + +## Displaying CPU (percentage and total) +## Variables: +## $percent (Number) The percentage of CPU used by the process or thread. +## Always > 0, generally <= 200. +## $total (Number) The amount of time used by the process or thread since +## its start. +## $unit (String) The unit in which to display $total. See the definitions +## of `duration-unit-*`. + +# Common case. +about-processes-cpu = { NUMBER($percent, maximumSignificantDigits: 2, style: "percent") } + .title = Total CPU time: { NUMBER($total, maximumFractionDigits: 0) }{ $unit } + +# Special case: data is not available yet. +about-processes-cpu-user-and-kernel-not-ready = (’ga thomhas) + +# Special case: process or thread is almost idle (using less than 0.1% of a CPU core). +# This case only occurs on Windows where the precision of the CPU times is low. +about-processes-cpu-almost-idle = < 0.1% + .title = Total CPU time: { NUMBER($total, maximumFractionDigits: 0) }{ $unit } + +# Special case: process or thread is currently idle. +about-processes-cpu-fully-idle = idle + .title = Total CPU time: { NUMBER($total, maximumFractionDigits: 0) }{ $unit } + +## Displaying Memory (total and delta) +## Variables: +## $total (Number) The amount of memory currently used by the process. +## $totalUnit (String) The unit in which to display $total. See the definitions +## of `memory-unit-*`. +## $delta (Number) The absolute value of the amount of memory added recently. +## $deltaSign (String) Either "+" if the amount of memory has increased +## or "-" if it has decreased. +## $deltaUnit (String) The unit in which to display $delta. See the definitions +## of `memory-unit-*`. + +# Common case. +about-processes-total-memory-size-changed = { NUMBER($total, maximumFractionDigits: 0) }{ $totalUnit } + .title = Evolution: { $deltaSign }{ NUMBER($delta, maximumFractionDigits: 0) }{ $deltaUnit } + +# Special case: no change. +about-processes-total-memory-size-no-change = { NUMBER($total, maximumFractionDigits: 0) }{ $totalUnit } + +## Duration units + +duration-unit-ns = ns +duration-unit-us = µs +duration-unit-ms = ms +duration-unit-s = s +duration-unit-m = m +duration-unit-h = h +duration-unit-d = d + +## Memory units + +memory-unit-B = B +memory-unit-KB = KB +memory-unit-MB = MB +memory-unit-GB = GB +memory-unit-TB = TB +memory-unit-PB = PB +memory-unit-EB = EB diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutProfiles.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutProfiles.ftl new file mode 100644 index 0000000000000000000000000000000000000000..4b44044aaa396fdefcf08e0710d2a2b4fa939f91 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutProfiles.ftl @@ -0,0 +1,74 @@ +# 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/. + + +profiles-title = Mu na pròifilean +profiles-subtitle = ’S urrainn dhut na pròifilean agad a stiùireadh air an duilleag seo. Tha gach pròifil ’na shaoghal fa leth a thaobh na h-eachdraidh, nan comharran-lìn, roghainnean is tuilleadan. +profiles-create = Cruthaich pròifil ùr +profiles-restart-title = Ath-thòisich +profiles-restart-in-safe-mode = Ath-thòisich leis na tuilleadan à comas… +profiles-restart-normal = Ath-thòisich air an dòigh àbhaisteach… +profiles-conflict = Rinn lethbhreac eile de { -brand-product-name } atharraichean air pròifilean. Feumaidh tu { -brand-short-name } ath-thòiseachadh mus atharraich thu dad eile. +profiles-flush-fail-title = Cha deach na h-atharraichean a shàbhaladh +profiles-flush-conflict = { profiles-conflict } +profiles-flush-failed = Thachair mearachd ris nach robh dùil agus cha deach na h-atharraichean agad a shàbhaladh ri linn sin. +profiles-flush-restart-button = Ath-thòisich { -brand-short-name } + +# Variables: +# $name (String) - Name of the profile +profiles-name = Pròifil: { $name } +profiles-is-default = A’ phròifil bhunaiteach +profiles-rootdir = Am pasgan root + +# localDir is used to show the directory corresponding to +# the main profile directory that exists for the purpose of storing data on the +# local filesystem, including cache files or other data files that may not +# represent critical user data. (e.g., this directory may not be included as +# part of a backup scheme.) +# In case localDir and rootDir are equal, localDir is not shown. +profiles-localdir = Am pasgan ionadail +profiles-current-profile = Tha a’ phròifil seo ’ga chleachdadh is cha ghabh a sguabadh às. +profiles-in-use-profile = Tha a’ phròifil seo ’ga chleachdadh ann an aplacaid eile ’s cha ghabh a sguabadh às. + +profiles-rename = Thoir ainm ùr air +profiles-remove = Thoir air falbh +profiles-set-as-default = Suidhich mar a’ phròifil bhunaiteach +profiles-launch-profile = Cuir gu dol a’ phròifil ann am brabhsair ùr + +profiles-cannot-set-as-default-title = Cha ghabh bun-roghainn a shuidheachadh +profiles-cannot-set-as-default-message = Cha ghabh a’ phròifil bhunaiteach atharrachadh airson { -brand-short-name }. + +profiles-yes = tha +profiles-no = chan eil + +profiles-rename-profile-title = Thoir ainm ùr air a’ phròifil +# Variables: +# $name (String) - Name of the profile +profiles-rename-profile = Thoir ainm ùr air pròifil { $name } + +profiles-invalid-profile-name-title = Tha ainm na pròifil mì-dhligheach +# Variables: +# $name (String) - Name of the profile +profiles-invalid-profile-name = Chan eil an t-ainm “{ $name }” ceadaichte airson pròifil. + +profiles-delete-profile-title = Sguab às a’ phròifil +# Variables: +# $dir (String) - Path to be displayed +profiles-delete-profile-confirm = + Ma sguabas tu às pròifil, thèid a chur far liosta nam pròifilean a tha rim faighinn is chan urrainn dhut seo aiseag. + ’S urrainn dhut faidhlichean dàta na pròifile a sguabadh às cuideachd, a’ gabhail a-steach nan roghainnean, ceadachasan is dàta eile co-cheangailte ris a’ chleachdaiche. Sguabaidh an roghainn seo às am pasgan “{ $dir }” is chan urrainn dhut seo aiseag. + A bheil thu airson faidhlichean dàta na pròifile a sguabadh às? +profiles-delete-files = Sguab às na faidhlichean +profiles-dont-delete-files = Na sguab às na faidhlichean + +profiles-delete-profile-failed-title = Mearachd +profiles-delete-profile-failed-message = Thachair mearachd fhad ’s a bha sinn a’ feuchainn ris a’ phròifil seo a sguabadh às. + + +profiles-opendir = + { PLATFORM() -> + [macos] Seall san lorgair + [windows] Fosgail pasgan + *[other] Fosgail am pasgan + } diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutReader.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutReader.ftl new file mode 100644 index 0000000000000000000000000000000000000000..113ff81d3c4fc2b1daa4146869e3c158f90b95f2 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutReader.ftl @@ -0,0 +1,54 @@ +# 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/. + +about-reader-loading = ’Ga luchdadh… +about-reader-load-error = Dh'fhàillig luchdadh an artaigil on duilleag + +about-reader-color-scheme-light = Soilleir + .title = Sgeama dhathan soilleir +about-reader-color-scheme-dark = Dorcha + .title = Sgeama dhathan dorcha +about-reader-color-scheme-sepia = Sepia + .title = Sgeama dhathan sepia +about-reader-color-scheme-auto = Auto + .title = Color Scheme Auto + +# An estimate for how long it takes to read an article, +# expressed as a range covering both slow and fast readers. +# Variables: +# $rangePlural (String): The plural category of the range, using the same set as for numbers. +# $range (String): The range of minutes as a localised string. Examples: "3-7", "~1". +about-reader-estimated-read-time = + { $rangePlural -> + [one] { $range } mhionaid + [two] { $range } mhionaid + [few] { $range } mionaidean + *[other] { $range } mionaid + } + +## These are used as tooltips in Type Control + +about-reader-toolbar-minus = + .title = Lùghdaich meud a’ chrutha-chlò +about-reader-toolbar-plus = + .title = Meudaich an cruth-clò +about-reader-toolbar-contentwidthminus = + .title = Lùghdaich leud na susbaint +about-reader-toolbar-contentwidthplus = + .title = Meudaich leud na susbaint +about-reader-toolbar-lineheightminus = + .title = Lùghdaich àirde na loidhne +about-reader-toolbar-lineheightplus = + .title = Meudaich àirde na loidhne + +## These are the styles of typeface that are options in the reader view controls. + +about-reader-font-type-serif = Serif +about-reader-font-type-sans-serif = Sans-serif + +## Reader View toolbar buttons + +about-reader-toolbar-close = Dùin sealladh an leughadair +about-reader-toolbar-type-controls = Uidheaman-smachd sgrìobhaidh +about-reader-toolbar-savetopocket = Sàbhail gu { -pocket-brand-name } diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutRights.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutRights.ftl new file mode 100644 index 0000000000000000000000000000000000000000..a2fdbebb02ef26468f409b06bb07b9c68b9bff7e --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutRights.ftl @@ -0,0 +1,36 @@ +# 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/. + +rights-title = Mu do chòraichean +rights-intro = Tha { -brand-full-name } 'na bhathar-bog a tha saor an-asgaidh agus 'na chòd fosgailte a tha 'ga leasachadh le coimhearsnachd mhòr a dhaoine o cheithir ceàrnan an t-saoghail. Tha rud na dhà ann a tha cudromach: +rights-intro-point-1 = Tha { -brand-short-name } ’ga sholar dhut fo theirmichean <a data-l10n-name="mozilla-public-license-link">Ceadachas Poblach Mozilla</a>. ’S ciall dha seo gu bheil cead agad { -brand-short-name } a chleachdadh, lethbhreacan a dhèanamh dheth agus a thoirt do dhaoine eile. Tha fàilte romhad cuideachd am bun-tùs aig { -brand-short-name } atharrachadh ach an obraich e nas fheàrr dhut. Tha Ceadachas Poblach Mozilla a’ toirt cead dhut cuideachd na tionndaidhean a dh’atharraich thu a sgaoileadh. +rights-intro-point-2 = Chan eil sinn a' toirt seachad còir air comharran-malairt no ceadachas air comharran-malairt aig Fonndas Mozilla no pàrtaidh sam bith, a' gabhail a-steach (gun chuingeachadh) ainm no suaicheantas Firefox. Gheibh thu fiosrachadh sam bith mu na comharran-malairt <a data-l10n-name="mozilla-trademarks-link">an-seo</a>. +rights-intro-point-3 = 'S urrainn dhut fiosrachadh a thilleadh dha { -vendor-short-name } le cuid dhe na feartan ann am { -brand-short-name }, can aithrisiche nan tuislidhean. Ma bheir thu fiosrachadh mar sinn dhuinn, bidh thu a' toirt cead dha { -vendor-short-name } am fiosrachadh seo a chleachdadh gus am bathar aca a leasachadh, cead am fiosrachadh seo fhoillseachadh no sgaoileadh air na làraichean-lìn. +rights-intro-point-4 = Tha sinn a' mìneachadh mar a chleachdas sinn am fiosrachadh pearsanta 's na beachdan a bheir thu dha { -vendor-short-name } slighe { -brand-short-name } ann am <a data-l10n-name="mozilla-privacy-policy-link">poileasaidh prìobhaideachd { -brand-short-name }</a>. +rights-intro-point-4-unbranded = Chì thu poileasaidhean prìobhaideachd sam bith a tha iomchaidh dhan bhathar seo an-seo. +rights-intro-point-5 = Tha cuid dhe na feartan aig { -brand-short-name } a' cleachdadh seirbheisean fiosrachaidh a tha stèidhichte air an lìon. Chan urrainn dhuinn làn-bharantas a thoirt gu bheil iad gu tur ceart. Gheibh thu barrachd fiosrachaidh, a' gabhail a-steach fiosrachadh a dh'innseas dhut mar a chuireas tu na seirbheisean seo à comas ann an <a data-l10n-name="mozilla-service-terms-link">teirmichean na seirbheise</a>. +rights-intro-point-5-unbranded = If this product incorporates web services, any applicable service terms for the service(s) should be linked to the <a data-l10n-name="mozilla-website-services-link">Web Site Services</a> section. +rights-intro-point-6 = Airson ’s gun urrainn dha cuid a shusbaint video a chluich, luchdaichidh { -brand-short-name } a-nuas cuid a mhòidealan dì-chrioptachaidh o threas-phàrtaidhean. +rights-webservices-header = { -brand-full-name } Web-Based Information Services +rights-webservices = { -brand-full-name } uses web-based information services ("Services") to provide some of the features provided for your use with this binary version of { -brand-short-name } under the terms described below. If you do not want to use one or more of the Services or the terms below are unacceptable, you may disable the feature or Service(s). Instructions on how to disable a particular feature or Service may be found <a data-l10n-name="mozilla-disable-service-link">here</a>. 'S urrainn dhut feartan is seirbheisean eile a chur à comas ann an roghainnean na h-aplacaid. +rights-safebrowsing = <strong>BrabhsadhTèarainte: </strong>Cha mholar dhut am brabhsadh tèarainte a chur à comas oir faodaidh gun tadhal thu air làraichean mì-thèarainte mar sin. Ma tha thu airson am feart seo a chur dheth gu tur, dèan na leanas: +rights-safebrowsing-term-1 = Fosgail roghainnean na h-aplacaid +rights-safebrowsing-term-2 = Tagh roghainn na tèarainteachd +rights-safebrowsing-term-3 = Thoir air falbh a’ chromag o “{ enableSafeBrowsing-label }” +enableSafeBrowsing-label = Bac susbaint chunnartach is susbaint foill +rights-safebrowsing-term-4 = Tha am brabhsadh tèarainte dheth a-nis +rights-locationawarebrowsing = <strong>Brabhsadh a mhothaiches dha d' àite: </strong>seo rud a dh'fheumas tu a chur air an-còmhnaidh. Cha dèid fiosrachadh mu d' àite a chur a-null gun do chead idir. Ma tha thu airson am feart seo a chur dheth gu tur, dèan nan leanas: +rights-locationawarebrowsing-term-1 = Cuir na leanas sa bhàr URL <code>about:config</code> +rights-locationawarebrowsing-term-2 = Cuir a-steach geo.enabled +rights-locationawarebrowsing-term-3 = Dèan briogadh dùbailte air an roghainn geo.enabled +rights-locationawarebrowsing-term-4 = Tha brabhsadh a mhothaicheas dha d' àite dheth a-nis +rights-webservices-unbranded = An overview of the web site services the product incorporates, along with instructions on how to disable them, if applicable, should be included here. +rights-webservices-term-unbranded = Any applicable service terms for this product should be listed here. +rights-webservices-term-1 = { -vendor-short-name } and its contributors, licensors and partners work to provide the most accurate and up-to-date Services. However, we cannot guarantee that this information is comprehensive and error-free. For example, the Safe Browsing Service may not identify some risky sites and may identify some safe sites in error and the Location Aware Service all locations returned by our service providers are estimates only and neither we nor our service providers guarantee the accuracy of the locations provided. +rights-webservices-term-2 = { -vendor-short-name } may discontinue or change the Services at its discretion. +rights-webservices-term-3 = You are welcome to use these Services with the accompanying version of { -brand-short-name }, and { -vendor-short-name } grants you its rights to do so. { -vendor-short-name } and its licensors reserve all other rights in the Services. These terms are not intended to limit any rights granted under open source licenses applicable to { -brand-short-name } and to corresponding source code versions of { -brand-short-name }. +rights-webservices-term-4 = <strong>The Services are provided "as-is." { -vendor-short-name }, its contributors, licensors, and distributors, disclaim all warranties, whether express or implied, including without limitation, warranties that the Services are merchantable and fit for your particular purposes. You bear the entire risk as to selecting the Services for your purposes and as to the quality and performance of the Services. Some jurisdictions do not allow the exclusion or limitation of implied warranties, so this disclaimer may not apply to you.</strong> +rights-webservices-term-5 = <strong>Except as required by law, { -vendor-short-name }, its contributors, licensors, and distributors will not be liable for any indirect, special, incidental, consequential, punitive, or exemplary damages arising out of or in any way relating to the use of { -brand-short-name } and the Services. The collective liability under these terms will not exceed $500 (five hundred dollars). Some jurisdictions do not allow the exclusion or limitation of certain damages, so this exclusion and limitation may not apply to you.</strong> +rights-webservices-term-6 = { -vendor-short-name } may update these terms as necessary from time to time. These terms may not be modified or canceled without { -vendor-short-name }'s written agreement. +rights-webservices-term-7 = These terms are governed by the laws of the state of California, U.S.A., excluding its conflict of law provisions. If any portion of these terms is held to be invalid or unenforceable, the remaining portions will remain in full force and effect. In the event of a conflict between a translated version of these terms and the English language version, the English language version shall control. diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutServiceWorkers.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutServiceWorkers.ftl new file mode 100644 index 0000000000000000000000000000000000000000..4ec1644c9476fe813b581e6881b6de506e8c8a19 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutServiceWorkers.ftl @@ -0,0 +1,40 @@ +# 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/. + + +### The term "Service Workers" and "Workers" should not be translated + +about-service-workers-title = Mu dhèidhinn obraichean seirbheise +about-service-workers-main-title = Obraichean seirbheise clàraichte +about-service-workers-warning-not-enabled = Chan eil na h-obraichean seirbheise an comas. +about-service-workers-warning-no-service-workers = Cha deach obraiche seirbheise sam bith a chlàradh. + +# The original title of service workers' information +# +# Variables: +# $originTitle: original title +origin-title = Tùs: { $originTitle } + +## These strings are for showing the information of workers. +## +## Variables: +## $name: the name of scope, active cache, waiting cache and the push end point. +## $url: the url of script specification and current worker. + +scope = <strong>Sgòp:</strong> { $name } +script-spec = <strong>Script Spec:</strong> <a data-l10n-name="link">{ $url }</a> +current-worker-url = <strong>URL an obraiche làithrich:</strong> <a data-l10n-name="link">{ $url }</a> +active-cache-name = <strong>Ainm an tasgadain ghnìomhaich:</strong> { $name } +waiting-cache-name = <strong>Ainm an tasgadain a tha a’ feitheamh:</strong> { $name } +push-end-point-waiting = <strong>Puing-dheiridh a’ push:</strong> { waiting } +push-end-point-result = <strong>Puing-dheiridh a’ push:</strong> { $name } + +# This term is used as a button label (verb, not noun). +update-button = Ùraich + +unregister-button = Dì-chlàraich + +unregister-error = Cha b’ urrainn dhuinn an t-obraiche seirbheise seo a dhì-chlàradh. + +waiting = A' feitheamh… diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutSupport.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutSupport.ftl new file mode 100644 index 0000000000000000000000000000000000000000..aef6de1169c01624c760586c6d302f776a7f0e6a --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutSupport.ftl @@ -0,0 +1,424 @@ +# 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/. + +page-title = Taic le duilgheadasan +page-subtitle = Tha fiosrachadh teicnigeach air an duilleag seo a dh'fhaodadh a bhith feumail dhut ann am fuasgladh dhuilgheadasan. Ma tha ceist neo-theicnigeach agad mu { -brand-short-name }, cuir sùil air an <a data-l10n-name="support-link">làrach-taice</a> againn. + +crashes-title = Aithisgean tuislidh +crashes-id = ID na h-aithisge +crashes-send-date = Air a chur +crashes-all-reports = Gach aithisg tuislidh +crashes-no-config = Cha deach an aplacaid seo a rèiteachadh fhathast is chan urrainn dha aithisgean tuislidh a shealltainn. +support-addons-title = Tuilleadain +support-addons-name = Ainm +support-addons-type = Seòrsa +support-addons-enabled = An comas +support-addons-version = Tionndadh +support-addons-id = ID +security-software-title = Bathar-bog tèarainteachd +security-software-type = Seòrsa +security-software-name = Ainm +security-software-antivirus = Bathar an aghaigh bhìorasan +security-software-antispyware = Bathar an aghaidh bathar-foill +security-software-firewall = Cachaileith-theine +features-title = Gleusan { -brand-short-name } +features-name = Ainm +features-version = Tionndadh +features-id = ID +processes-title = Pròiseasan cèin +processes-type = Seòrsa +processes-count = Cunntas +app-basics-title = Bun-tùs na h-aplacaid +app-basics-name = Ainm +app-basics-version = Tionndadh +app-basics-build-id = Build ID +app-basics-distribution-id = ID an sgaoilidh +app-basics-update-channel = Ùraich an t-seanail +# This message refers to the folder used to store updates on the device, +# as in "Folder for updates". "Update" is a noun, not a verb. +app-basics-update-dir = + { PLATFORM() -> + [linux] Pasgan nan ùrachaidhean + *[other] Pasgan nan ùrachaidhean + } +app-basics-update-history = Eachdraidh nan ùrachaidhean +app-basics-show-update-history = Seall eachdraidh nan ùrachaidhean +# Represents the path to the binary used to start the application. +app-basics-binary = Bìnearaidh na h-aplacaid +app-basics-profile-dir = + { PLATFORM() -> + [linux] Pasgan nam pròifilean + *[other] Pasgan na pròifil + } +app-basics-enabled-plugins = Plugain a tha an comas +app-basics-build-config = Rèiteachadh na togalach +app-basics-user-agent = UserAgent +app-basics-os = OS +app-basics-os-theme = OS Theme +# Rosetta is Apple's translation process to run apps containing x86_64 +# instructions on Apple Silicon. This should remain in English. +app-basics-rosetta = Rosetta Translated +app-basics-memory-use = Cleachdadh na cuimhne +app-basics-performance = Dèanadas +app-basics-service-workers = Obraichean seirbheise clàraichte +app-basics-third-party = Mòidealan threas-phàrtaidhean +app-basics-profiles = Pròifilean +app-basics-launcher-process-status = Pròiseas an lòinseir +app-basics-multi-process-support = Uinneagan ioma-phròiseasaidh +app-basics-fission-support = Fission Windows +app-basics-remote-processes-count = Pròiseasan cèin +app-basics-enterprise-policies = Poileasaidhean Enterprise +app-basics-location-service-key-google = Google Location Service Key +app-basics-safebrowsing-key-google = Google Safebrowsing Key +app-basics-key-mozilla = Iuchair seirbheis nan ionad aig Mozilla +app-basics-safe-mode = Am modh tèarainte +app-basics-memory-size = Memory Size (RAM) +app-basics-disk-available = Disk Space Available + +# Variables: +# $value (number) - Amount of data being stored +# $unit (string) - The unit of data being stored (e.g. MB) +app-basics-data-size = { $value } { $unit } + +show-dir-label = + { PLATFORM() -> + [macos] Seall san lorgair + [windows] Fosgail pasgan + *[other] Fosgail am pasgan + } +environment-variables-title = Caochladairean na h-àrainneachd +environment-variables-name = Ainm +environment-variables-value = Luach +experimental-features-title = Gleusan deuchainneach +experimental-features-name = Ainm +experimental-features-value = Luach +modified-key-prefs-title = Roghainnean cudromach a chaidh atharrachadh +modified-prefs-name = Ainm +modified-prefs-value = Luach +user-js-title = Roghainnean user.js +user-js-description = Tha faidhle air a bheil <a data-l10n-name="user-js-link">user.js</a> ann am pasgan na pròifil agad agus gheibh thu roghainnean 'na bhroinn nach deach an cruthachadh le { -brand-short-name }. +locked-key-prefs-title = Roghainnean cudromach a tha glaiste +locked-prefs-name = Ainm +locked-prefs-value = Luach +graphics-title = Grafaigean +graphics-features-title = Gleusan +graphics-diagnostics-title = Diagnosachd +graphics-failure-log-title = Loga nam fàilligidhean +graphics-gpu1-title = GPU #1 +graphics-gpu2-title = GPU #2 +graphics-decision-log-title = Loga nan co-dhùnaidhean +graphics-crash-guards-title = Gleusan a chuir freiceadan nan tuislidhean à comas +graphics-workarounds-title = Workarounds +graphics-device-pixel-ratios = Window Device Pixel Ratios +# Windowing system in use on Linux (e.g. X11, Wayland). +graphics-window-protocol = Pròtacal nan uinneagan +# Desktop environment in use on Linux (e.g. GNOME, KDE, XFCE, etc). +graphics-desktop-environment = Àrainneachd deasga +place-database-title = Stòr-dàta nan àitichean +place-database-stats = Statistics +place-database-stats-show = Show Statistics +place-database-stats-hide = Hide Statistics +place-database-stats-entity = Entity +place-database-stats-count = Count +place-database-stats-size-kib = Size (KiB) +place-database-stats-size-perc = Size (%) +place-database-stats-efficiency-perc = Efficiency (%) +place-database-stats-sequentiality-perc = Sequentiality (%) +place-database-integrity = Treibhdhireas +place-database-verify-integrity = Dearbh an treibhdhireas +a11y-title = So-ruigsinneachd +a11y-activated = Air gnìomhachadh +a11y-force-disabled = Casg air so-ruigsinneachd +a11y-handler-used = Làimhsichear na so-ruigsinneachd a chaidh a chleachdadh +a11y-instantiator = Accessibility Instantiator +library-version-title = Tionndaidhean leabharlainn +copy-text-to-clipboard-label = Cuir lethbhreac dhen teacsa air an stòr-bhòrd +copy-raw-data-to-clipboard-label = Cuir lethbhreac dhen dàta lom dhan stòr-bhòrd +sandbox-title = Bogsa-gainmhich +sandbox-sys-call-log-title = Gairmean siostaim a chaidh a dhiùltadh +sandbox-sys-call-index = # +sandbox-sys-call-age = Diogan air ais +sandbox-sys-call-pid = PID +sandbox-sys-call-tid = TID +sandbox-sys-call-proc-type = Seòrsa a’ phròiseis +sandbox-sys-call-number = Syscall +sandbox-sys-call-args = Argamaidean +troubleshoot-mode-title = Sgrùd duilgheadasan +restart-in-troubleshoot-mode-label = Am modh fuasgladh dhuilgheadasan… +clear-startup-cache-title = Feuch am falamhaich thu tasgadan an tòiseachaidh +clear-startup-cache-label = Falamhaich tasgadan an tòiseachaidh… +startup-cache-dialog-title2 = A bheil thu airson { -brand-short-name } ath-thòiseachadh airson tasgadan an tòiseachaidh fhalamhachadh? +startup-cache-dialog-body2 = Chan atharraich seo na roghainnean agad is cha dèid leudachan sam bith a thoirt air falbh. +restart-button-label = Ath-thòisich + +## Media titles + +audio-backend = Audio Backend +max-audio-channels = Seanailean air a’ char as motha +sample-rate = Reat samplachaidh as fhearr dhut +roundtrip-latency = Roundtrip latency (standard deviation) +media-title = Meadhanan +media-output-devices-title = Uidheaman às-chuir +media-input-devices-title = Uidheaman ion-chuir +media-device-name = Ainm +media-device-group = Buidheann +media-device-vendor = Reiceadair +media-device-state = Staid +media-device-preferred = As fhearr +media-device-format = Fòrmat +media-device-channels = Seanailean +media-device-rate = Reat +media-device-latency = Latency +media-capabilities-title = Comasan mheadhanan +media-codec-support-info = Codec Support Information +# List all the entries of the database. +media-capabilities-enumerate = Enumerate database + +## Codec support table + +## + +intl-title = Eadar-nàiseantachadh ⁊ ionadaileadh +intl-app-title = Roghainnean na h-aplacaid +intl-locales-requested = Dreachan ionadail a chaidh iarraidh +intl-locales-available = Dreachan ionadail ri am faighinn +intl-locales-supported = Dreachan ionadail na h-aplacaid +intl-locales-default = An sgeama ionadail bunaiteach +intl-os-title = Siostam-obrachaidh +intl-os-prefs-system-locales = Dreachan ionadail an t-siostaim-obrachaidh +intl-regional-prefs = Roghainnean roinneil + +## Remote Debugging +## +## The Firefox remote protocol provides low-level debugging interfaces +## used to inspect state and control execution of documents, +## browser instrumentation, user interaction simulation, +## and for subscribing to browser-internal events. +## +## See also https://firefox-source-docs.mozilla.org/remote/ + +remote-debugging-title = Dì-bhugachadh aig astar (pròtacal Chromium) +remote-debugging-accepting-connections = A’ gabhail ri ceanglaichean +remote-debugging-url = URL + +## + +# Variables +# $days (Integer) - Number of days of crashes to log +report-crash-for-days = + { $days -> + [one] Aithisgean tuislidh san { $days } latha mu dheireadh + [two] Aithisgean tuislidh san { $days } latha mu dheireadh + [few] Aithisgean tuislidh sna { $days } làithean mu dheireadh + *[other] Aithisgean tuislidh san { $days } latha mu dheireadh + } + +# Variables +# $minutes (integer) - Number of minutes since crash +crashes-time-minutes = + { $minutes -> + [one] { $minutes } mhionaid air ais + [two] { $minutes } mhionaid air ais + [few] { $minutes } mionaidean air ais + *[other] { $minutes } mionaid air ais + } + +# Variables +# $hours (integer) - Number of hours since crash +crashes-time-hours = + { $hours -> + [one] { $hours } uair a thìde air ais + [two] { $hours } uair a thìde air ais + [few] { $hours } uairean a thìde air ais + *[other] { $hours } uair a thìde air ais + } + +# Variables +# $days (integer) - Number of days since crash +crashes-time-days = + { $days -> + [one] { $days } latha air ais + [two] { $days } latha air ais + [few] { $days } làithean air ais + *[other] { $days } latha air ais + } + +# Variables +# $reports (integer) - Number of pending reports +pending-reports = + { $reports -> + [one] Gach aithisg tuislidh (a' gabhail a-steach { $reports } tuisleadh ri dhèiligeadh san rainse ama a tha seo) + [two] Gach aithisg tuislidh (a' gabhail a-steach { $reports } thuisleadh ri dhèiligeadh san rainse ama a tha seo) + [few] Gach aithisg tuislidh (a' gabhail a-steach { $reports } tuislidhean ri dhèiligeadh san rainse ama a tha seo) + *[other] Gach aithisg tuislidh (a' gabhail a-steach { $reports } tuisleadh ri dhèiligeadh san rainse ama a tha seo) + } + +raw-data-copied = Chaidh lethbhreac an dàta luim a chur air an stòr-bhòrd +text-copied = Chaidh lethbhreac an teacsa a chur air a' bhòrd-chliopaichean + +## The verb "blocked" here refers to a graphics feature such as "Direct2D" or "OpenGL layers". + +blocked-driver = Chaidh casg a chuir air seo air tionndadh draibhear nan grafaigean agad. +blocked-gfx-card = Chaidh casg a chuir air seo air draibhear nan grafaigean agad air sgàth duilgheadasan draibheir a tha gun rèiteachadh fhathast. +blocked-os-version = Chaidh casg a chur air an cois tionndadh an t-siostaim-obrachaidh agad. +blocked-mismatched-version = Air a’ bhacadh ’s an draibhear grafaigeachd eadar-dhealaichte a thaobh na tha sa chlàr-lann agus san DLL. +# Variables +# $driverVersion - The graphics driver version string +try-newer-driver = Chaidh casg a chuir air seo air draibhear nan grafaigean agad. Feuch is ùraich draibhear nan grafaigean agad gu tionndadh { $driverVersion } no fear nas ùire. + +# "ClearType" is a proper noun and should not be translated. Feel free to leave English strings if +# there are no good translations, these are only used in about:support +clear-type-parameters = Paramadairean ClearType + +compositing = Compositing +hardware-h264 = Dì-chòdachadh bathar-cruaidh H264 +main-thread-no-omtc = main thread, gun OMTC +yes = Tha +no = Chan eil +unknown = Neo-aithnichte +virtual-monitor-disp = Virtual Monitor Display + +## The following strings indicate if an API key has been found. +## In some development versions, it's expected for some API keys that they are +## not found. + +found = Chaidh a lorg +missing = A dhìth + +gpu-process-pid = GPUProcessPid +gpu-process = GPUProcess +gpu-description = Tuairisgeul +gpu-vendor-id = ID an reiceadair +gpu-device-id = ID an uidheim +gpu-subsys-id = Subsys ID +gpu-drivers = Draibhearan +gpu-ram = RAM +gpu-driver-vendor = Reiceadair an draibheir +gpu-driver-version = Tionndadh an draibheir +gpu-driver-date = Ceann-là an draibheir +gpu-active = Gnìomhach +webgl1-wsiinfo = Fiosrachadh WSI WebGL 1 +webgl1-renderer = Reandaraiche draibhear WebGL 1 +webgl1-version = Tionndadh an draibheir WebGL 1 +webgl1-driver-extensions = Leudachain an draibheir WebGL 1 +webgl1-extensions = Leudachain WebGL 1 +webgl2-wsiinfo = Fiosrachadh WSI WebGL 2 +webgl2-renderer = Reandaraiche draibhear WebGL 2 +webgl2-version = Tionndadh an draibheir WebGL 2 +webgl2-driver-extensions = Leudachain an draibheir WebGL 2 +webgl2-extensions = Leudachain WebGL 2 +webgpu-default-adapter = WebGPU Default Adapter +webgpu-fallback-adapter = WebGPU Fallback Adapter + +# Variables +# $bugNumber (string) - Bug number on Bugzilla +support-blocklisted-bug = Chaidh a chur air liosta-bhacaidh air sàilleibh duilgheadasan aithnichte: <a data-l10n-name="bug-link">buga { $bugNumber }</a> + +# Variables +# $failureCode (string) - String that can be searched in the source tree. +unknown-failure = Blocklisted; failure code { $failureCode } + +d3d11layers-crash-guard = D3D11 Compositor +glcontext-crash-guard = OpenGL +wmfvpxvideo-crash-guard = WMF VPX Video Decoder + +reset-on-next-restart = Ath-shuidhich aig an ath ath-thòiseachadh +gpu-process-kill-button = Cuir crìoch air pròiseas an GPU +gpu-device-reset = Ath-shuidheachadh an uidheim +gpu-device-reset-button = Cuir gu dol ath-shuidheachadh an uidheim +uses-tiling = Uses Tiling +content-uses-tiling = Cleachd leacachadh (Susbaint) +off-main-thread-paint-enabled = Off Main Thread Painting Enabled +off-main-thread-paint-worker-count = Off Main Thread Painting Worker Count +target-frame-rate = Target Frame Rate + +min-lib-versions = An tionndadh as lugha ris a tha dùil +loaded-lib-versions = An tionndadh a tha 'ga chleachdadh + +has-seccomp-bpf = Seccomp-BPF (Criathradh ghairmean an t-siostaim) +has-seccomp-tsync = Sioncronachadh snàithlein Seccomp +has-user-namespaces = Ainm-spàsan cleachdaiche +has-privileged-user-namespaces = Cleachd ainm-spàsan airson pròiseasan aig a bheil pribhleid +can-sandbox-content = Content Process Sandboxing +can-sandbox-media = Media Plugin Sandboxing +content-sandbox-level = Content Process Sandbox Level +effective-content-sandbox-level = Effective Content Process Sandbox Level +content-win32k-lockdown-state = Win32k Lockdown State for Content Process +support-sandbox-gpu-level = GPU Process Sandbox Level +sandbox-proc-type-content = susbaint +sandbox-proc-type-file = susbaint faidhle +sandbox-proc-type-media-plugin = plugan mheadhanan +sandbox-proc-type-data-decoder = data decoder + +startup-cache-title = Tasgadan tòiseachaidh +startup-cache-disk-cache-path = Slighe tasgadain air an diosg +startup-cache-ignore-disk-cache = Leig seachad an tasgadan air an diosg +startup-cache-found-disk-cache-on-init = Chaidh tasgadan a lorg air an diosg rè an tòiseachaidh +startup-cache-wrote-to-disk-cache = Chaidh sgrìobhadh gu tasgadan an diosg + +launcher-process-status-0 = Enabled +launcher-process-status-1 = Disabled due to failure +launcher-process-status-2 = Disabled forcibly +launcher-process-status-unknown = Unknown status + +# Variables +# $remoteWindows (integer) - Number of remote windows +# $totalWindows (integer) - Number of total windows +multi-process-windows = { $remoteWindows }/{ $totalWindows } +# Variables +# $fissionWindows (integer) - Number of remote windows +# $totalWindows (integer) - Number of total windows +fission-windows = { $fissionWindows }/{ $totalWindows } +fission-status-experiment-control = Chaidh a chur à comas le deuchainn +fission-status-experiment-treatment = Chaidh a chur an comas le deuchainn +fission-status-disabled-by-e10s-env = Chaidh a chur à comas leis an àrainneachd +fission-status-enabled-by-env = Chaidh a chur an comas leis an àrainneachd +fission-status-disabled-by-env = Disabled by environment +fission-status-enabled-by-default = An comas o thùs +fission-status-disabled-by-default = À comas o thùs +fission-status-enabled-by-user-pref = Chaidh a chur an comas leis a’ chleachdaiche +fission-status-disabled-by-user-pref = Chaidh a chur à comas leis a’ chleachdaiche +fission-status-disabled-by-e10s-other = E10s disabled +fission-status-enabled-by-rollout = Enabled by phased rollout + +async-pan-zoom = Panachadh/Sùmadh neo-shioncronach +apz-none = chan eil gin +wheel-enabled = tha ion-chur cuibhle an comas +touch-enabled = tha ion-chur suathaidh an comas +drag-enabled = tha slaodadh a’ bhàr-sgrolaidh an comas +keyboard-enabled = meur-chlàr an comas +autoscroll-enabled = tha an sgroladh fèin-obrachail an comas +zooming-enabled = smooth pinch-zoom enabled + +## Variables +## $preferenceKey (string) - String ID of preference + +wheel-warning = tha ion-chur cuibhle neo-shioncronach à comas ri linn roghainn ris nach eil taic: { $preferenceKey } +touch-warning = tha ion-chur suathaidh neo-shioncronach à comas ri linn roghainn ris nach eil taic: { $preferenceKey } + +## Strings representing the status of the Enterprise Policies engine. + +policies-inactive = ’Na thàmh +policies-active = Gnìomhach +policies-error = Mearachd + +## Printing section + +support-printing-title = Clò-bhualadh +support-printing-troubleshoot = Fuasgladh air duilgheadasan +support-printing-clear-settings-button = Falamhaich roghainnean a’ chlò-bhualaidh a chaidh a shàbhaladh +support-printing-modified-settings = Chaidh roghainnean a’ chlò-bhualaidh atharrachadh +support-printing-prefs-name = Ainm +support-printing-prefs-value = Luach + +## Normandy sections + +support-remote-experiments-title = Deuchainnean cèine +support-remote-experiments-name = Ainm +support-remote-experiments-branch = Experiment Branch +support-remote-experiments-see-about-studies = See <a data-l10n-name="support-about-studies-link">about:studies</a> for more information, including how to disable individual experiments or to disable { -brand-short-name } from running this type of experiment in the future. + +support-remote-features-title = Gleusan cèine +support-remote-features-name = Ainm +support-remote-features-status = Staid diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutTelemetry.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutTelemetry.ftl new file mode 100644 index 0000000000000000000000000000000000000000..824a39b349e0d39aad0e4c2a5ba9405fe6c034ac --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutTelemetry.ftl @@ -0,0 +1,138 @@ +# 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/. + +about-telemetry-ping-data-source = Ping tùs an dàta: +about-telemetry-show-current-data = An dàta làithreach +about-telemetry-show-archived-ping-data = Dàta nam ping tasglannaichte +about-telemetry-show-subsession-data = Seall dàta nam fo-sheiseanan +about-telemetry-choose-ping = Tagh ping: +about-telemetry-archive-ping-type = Seòrsa a’ phing +about-telemetry-archive-ping-header = Ping +about-telemetry-option-group-today = An-diugh +about-telemetry-option-group-yesterday = An-dè +about-telemetry-option-group-older = Nas sine +about-telemetry-previous-ping = << +about-telemetry-next-ping = >> +about-telemetry-page-title = Dàta telemeatraidh +about-telemetry-current-store = An stòr làithreach: +about-telemetry-more-information = Barrachd fiosrachaidh a dhìth ort? +about-telemetry-firefox-data-doc = Tha treòirean ann am <a data-l10n-name="data-doc-link">Firefox Data Documentation</a> a dh’innseas dhut mar a dh’obraicheas tu leis na h-innealan dàta againn. +about-telemetry-telemetry-client-doc = Gheibh thu deifiniseanan choincheapan, docamaideadh API agus reifreansan dàta san docamaidean <a data-l10n-name="client-doc-link">Firefox Telemetry Client</a>. +about-telemetry-telemetry-dashboard = Bheir <a data-l10n-name="dashboard-link">deas-bhùird an telemeatraidh</a> comas dhut dealbh a dhèanamh dhen dàta a gheibh Mozilla slighe gleus an telemeatraidh. +about-telemetry-telemetry-probe-dictionary = Tha am <a data-l10n-name="probe-dictionary-link">Probe Dictionary</a> a’ toirt dhut mion-fhiosrachadh is tuairisgeulan mun fhiosrachadh a chruinnich an telemeatraidh. +about-telemetry-show-in-Firefox-json-viewer = Fosgail san t-sealladair JSON +about-telemetry-home-section = Dhachaigh +about-telemetry-general-data-section = Dàta coitcheann +about-telemetry-environment-data-section = Dàta na h-àrainneachd +about-telemetry-session-info-section = Fiosrachadh mun t‑seisean +about-telemetry-scalar-section = Scalars +about-telemetry-keyed-scalar-section = Keyed Scalars +about-telemetry-histograms-section = Histograms +about-telemetry-keyed-histogram-section = Keyed Histograms +about-telemetry-events-section = Tachartasan +about-telemetry-simple-measurements-section = Tomhaisean simplidh +about-telemetry-slow-sql-section = SQL Statements slaodach +about-telemetry-addon-details-section = Mion-fhiosrachadh an tuilleadain +about-telemetry-late-writes-section = Sgrìobhaidhean fadalach +about-telemetry-raw-payload-section = Raw Payload +about-telemetry-raw = JSON amh +about-telemetry-full-sql-warning = AN AIRE: Tha Slow SQL Debugging an comas. Ma dh'fhaoidte gum faic thu sreangan SQL slàna gu h-ìosal ach cha dèid a chur gu gleus an telemeatraidh. +about-telemetry-fetch-stack-symbols = Faigh ainmean nam foincseanan aig na stacaichean +about-telemetry-hide-stack-symbols = Seall dàta amh nan stacaichean +# Selects the correct release version +# Variables: +# $channel (String): represents the corresponding release data string +about-telemetry-data-type = + { $channel -> + [release] dàta sgaoilidh + *[prerelease] dàta ro-sgaoilidh + } +# Selects the correct upload string +# Variables: +# $uploadcase (String): represents a corresponding upload string +about-telemetry-upload-type = + { $uploadcase -> + [enabled] an comas + *[disabled] à comas + } +# Example Output: 1 sample, average = 0, sum = 0 +# Variables: +# $sampleCount (Integer): amount of histogram samples +# $prettyAverage (Integer): average of histogram samples +# $sum (Integer): sum of histogram samples +about-telemetry-histogram-stats = + { $sampleCount -> + [one] { $sampleCount } sample, average = { $prettyAverage }, sum = { $sum } + [two] { $sampleCount } sample, average = { $prettyAverage }, sum = { $sum } + [few] { $sampleCount } sample, average = { $prettyAverage }, sum = { $sum } + *[other] { $sampleCount } sample, average = { $prettyAverage }, sum = { $sum } + } +# Variables: +# $telemetryServerOwner (String): the value of the toolkit.telemetry.server_owner preference. Typically "Mozilla" +about-telemetry-page-subtitle = Tha an duilleag seo a' sealltainn dhut fiosrachadh air dèanadas, bathar-cruaidh, cleachdadh is gnàthachadh a tha gleus an telemeatraidh a' cruinneachadh. Thèid an dàta seo a chur gu { $telemetryServerOwner } a chum leasachadh { -brand-full-name }. +about-telemetry-settings-explanation = Tha gleus an telemeatraidh a’ cruinneachadh { about-telemetry-data-type } agus tha a luchdadh suas <a data-l10n-name="upload-link">{ about-telemetry-upload-type }</a>. +# Variables: +# $name (String): ping name, e.g. “saved-session” +# $timeStamp (String): ping localized timestamp, e.g. “2017/07/08 10:40:46” +about-telemetry-ping-details = Tha gach pìos de dh’fhiosrachadh gu chur paisgte ann an “<a data-l10n-name="ping-link">pings</a>”. Tha thu a’ coimhead air ping { $name }, { $timestamp }. +about-telemetry-data-details-current = Tha gach pìos de dh’fhiosrachadh gu chur paisgte ann an “<a data-l10n-name="ping-link">pings</a>”. Tha thu a’ coimhead air an dàta làithreach. +# string used as a placeholder for the search field +# More info about it can be found here: +# https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/data/main-ping.html +# Variables: +# $selectedTitle (String): the section name from the structure of the ping. +about-telemetry-filter-placeholder = + .placeholder = Lorg ann an { $selectedTitle } +about-telemetry-filter-all-placeholder = + .placeholder = Lorg anns gach earrann +# Variables: +# $searchTerms (String): the searched terms +about-telemetry-results-for-search = Toraidhean airson “{ $searchTerms }” +# More info about it can be found here: https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/data/main-ping.html +# Variables: +# $sectionName (String): the section name from the structure of the ping. +# $currentSearchText (String): the current text in the search input +about-telemetry-no-search-results = Tha sinn duilich ach cha eil toradh sam bith ann an { $sectionName } airson “{ $currentSearchText }” +# Variables: +# $searchTerms (String): the searched terms +about-telemetry-no-search-results-all = Tha sinn duilich ach chan eil toradh sam bith ann an earrann sam bith airson “{ $searchTerms }” +# This message is displayed when a section is empty. +# Variables: +# $sectionName (String): is replaced by the section name. +about-telemetry-no-data-to-display = Tha sinn duilich ach chan eil dàta sam bith ri làimh ann an “{ $sectionName }” aig an àm seo +# used as a tooltip for the “current” ping title in the sidebar +about-telemetry-current-data-sidebar = an dàta làithreach +# used in the “Ping Type” select +about-telemetry-telemetry-ping-type-all = na h-uile +# button label to copy the histogram +about-telemetry-histogram-copy = Dèan lethbhreac +# these strings are used in the “Slow SQL Statements” section +about-telemetry-slow-sql-main = SQL Statements slaodadh sa phrìomh shnàithlean +about-telemetry-slow-sql-other = SQL Statements slaodadh ann an snàithleanan taice +about-telemetry-slow-sql-hits = Buillean +about-telemetry-slow-sql-average = Cuibheas an ama (ms) +about-telemetry-slow-sql-statement = Aithris +# these strings are used in the “Add-on Details” section +about-telemetry-addon-table-id = ID an tuilleadain +about-telemetry-addon-table-details = Mion-fhiosrachadh +# Variables: +# $addonProvider (String): the name of an Add-on Provider (e.g. “XPI”, “Plugin”) +about-telemetry-addon-provider = Solaraiche { $addonProvider } +about-telemetry-keys-header = Roghainn +about-telemetry-names-header = Ainm +about-telemetry-values-header = Luach +# Variables: +# $lateWriteCount (Integer): the number of the late writes +about-telemetry-late-writes-title = Sgrìobhadh fadalach #{ $lateWriteCount } +about-telemetry-stack-title = Staca: +about-telemetry-memory-map-title = Mapa cuimhne: +about-telemetry-error-fetching-symbols = Thachair mearachd nuair a dh'fheuch sinn ris na samhlaidhean fhaighinn dhut. Dèan cinnteach gu bheil ceangal agad ris an eadar-lìon is feuch ris a-rithist. +about-telemetry-time-stamp-header = stampa-ama +about-telemetry-category-header = roinn +about-telemetry-method-header = dòigh +about-telemetry-object-header = oibseact +about-telemetry-extra-header = extra +# Variables: +# $process (String): type of process in subsection headers ( e.g. "content", "parent" ) +about-telemetry-process = Pròiseas { $process } diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutThirdParty.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutThirdParty.ftl new file mode 100644 index 0000000000000000000000000000000000000000..49cfbee9bed898d8a6b5a03687e4f5a2e100b75a --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutThirdParty.ftl @@ -0,0 +1,77 @@ +# 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/. + +third-party-page-title = Fiosrachadh air mòidealan treas-phàrtaidhean +third-party-section-title = Liosta nam mòidealan treas-phàrtaidhean am broinn { -brand-short-name } + +third-party-intro = + Seallaidh an duilleag seo na mòidealan a chaidh a chur ri { -brand-short-name } + le treas-phàrtaidhean. Tha sinn a’ meas mòideal sam bith nach deach a shoidhneadh + le Microsoft no { -vendor-short-name } ’na mhòideal treas-phàrtaidh. + +third-party-message-empty = Cha do mhothaich sinn do mhòideal treas-phàrtaidh sam bith. +third-party-message-no-duration = Gun chlàradh + +third-party-detail-version = Tionndadh an fhaidhle +third-party-detail-vendor = Fiosrachadh an reiceadair +third-party-detail-occurrences = Tachartasan + .title = Dè cho tric ’s a chaidh am mòideal seo a luchdadh. +third-party-detail-duration = Àm bacaidh cuibheasach (ms) + .title = Dè dho fada ‘s a bhac am mòideal seo an aplacaid. +third-party-detail-app = Aplacaid +third-party-detail-publisher = Foillsichear + +third-party-th-process = Pròiseas +third-party-th-duration = Faid an luchdaidh (ms) +third-party-th-status = Staid + +third-party-tag-ime = IME + .title = Thèid an seòrsa seo de mhòideal a luchdadh nuair a chleachdas tu IME treas-phàrtaidh. +third-party-tag-shellex = Leudachan slige + .title = Thèid am mòideal seo a luchdadh nuair a dh’fhosglas tu còmhradh faidhle an t-siostaim. +third-party-tag-background = Cùlaibh + .title = + Cha do bhac am mòideal seo an aplacaid on a chaidh a luchdadh + sa chùlaibh. +third-party-icon-unsigned = + .title = This module is not signed + .alt = This module is not signed +third-party-icon-warning = + .title = { -brand-short-name } crashed in code from this module + .alt = { -brand-short-name } crashed in code from this module + +third-party-status-loaded = Air a luchdadh +third-party-status-blocked = Bacte +third-party-status-redirected = Air ath-stiùireadh + +third-party-button-copy-to-clipboard = Cuir lethbhreac dhen dàta lom dhan stòr-bhòrd +third-party-button-reload = Ath-luchdaich le fiosrachadh an t-siostaim + .title = Ath-luchdaich le fiosrachadh an t-siostaim +third-party-button-open = + .title = Fosgail ionad an fhaidhle… +third-party-button-to-block = + .title = Block this module + .aria-label = Block this module +third-party-button-to-unblock = + .title = Currently blocked. Click to unblock it. + .aria-label = Currently blocked. Click to unblock it. +third-party-button-to-unblock-disabled = + .title = + Currently marked as blocked, although the blocklist is disabled for this run + of { -brand-short-name }. Click to unblock it. + .aria-label = + Currently marked as blocked, although the blocklist is disabled for this run + of { -brand-short-name }. Click to unblock it. +third-party-button-expand = + .title = Seall mion-fhiosrachadh +third-party-button-collapse = + .title = Co-theannaich am mion-fhiosrachadh +third-party-blocking-requires-restart = Airson mòideal le treas-phàrtaidh a bhacadh, feumaidh { -brand-short-name } ath-thòiseachadh. +third-party-should-restart-title = Restart { -brand-short-name } +third-party-restart-now = Ath-thòisich an-dràsta +third-party-restart-later = Restart later + +third-party-blocked-by-builtin = + .title = Blocked by { -brand-short-name } + .alt = Blocked by { -brand-short-name } diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutWebrtc.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutWebrtc.ftl new file mode 100644 index 0000000000000000000000000000000000000000..63c0d8d60b9c754c9ba11bedf4b97c9c19312914 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutWebrtc.ftl @@ -0,0 +1,330 @@ +# 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/. + + +### Localization for about:webrtc, a troubleshooting and diagnostic page +### for WebRTC calls. See https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API. + +# The text "WebRTC" is a proper noun and should not be translated. +about-webrtc-document-title = WebRTC Internals + +# "about:webrtc" is a internal browser URL and should not be +# translated. This string is used as a title for a file save dialog box. +about-webrtc-save-page-dialog-title = sàbhail about:webrtc mar + +## These labels are for a disclosure which contains the information for closed PeerConnection sections + + +## AEC is an abbreviation for Acoustic Echo Cancellation. + +about-webrtc-aec-logging-msg-label = Logadh AEC +about-webrtc-aec-logging-off-state-label = Tòisich air logadh AEC +about-webrtc-aec-logging-on-state-label = Sguir de logadh AEC +about-webrtc-aec-logging-on-state-msg = Tha an logadh AEC gnìomhach (bruidhinn ris an neach a ghairm beagan mhionaidean is sguir dhen ghlacadh an uairsin) + +about-webrtc-aec-logging-toggled-on-state-msg = Tha an logadh AEC gnìomhach (bruidhinn ris an neach a ghairm beagan mhionaidean is sguir dhen ghlacadh an uairsin) +# Variables: +# $path (String) - The path to which the aec log file is saved. +about-webrtc-aec-logging-toggled-off-state-msg = Gheibhear na faidhlichean loga an-seo: { $path } + +## + +# The autorefresh checkbox causes the page to autorefresh its content when checked +about-webrtc-auto-refresh-label = Auto Refresh + + +# "PeerConnection" is a proper noun associated with the WebRTC module. "ID" is +# an abbreviation for Identifier. This string should not normally be translated +# and is used as a data label. +about-webrtc-peerconnection-id-label = PeerConnection ID: + +## "SDP" is an abbreviation for Session Description Protocol, an IETF standard. +## See http://wikipedia.org/wiki/Session_Description_Protocol + +about-webrtc-sdp-heading = SDP +about-webrtc-local-sdp-heading = SDP ionadail +about-webrtc-local-sdp-heading-offer = SDP ionadail (Offer) +about-webrtc-local-sdp-heading-answer = SDP ionadail (Answer) +about-webrtc-remote-sdp-heading = SDP cèin +about-webrtc-remote-sdp-heading-offer = SDP cèin (Offer) +about-webrtc-remote-sdp-heading-answer = SDP cèin (Answer) +about-webrtc-sdp-history-heading = Eachdraidh SDP +about-webrtc-sdp-parsing-errors-heading = Mearachdan parsaidh SDP + +## + +# "RTP" is an abbreviation for the Real-time Transport Protocol, an IETF +# specification, and should not normally be translated. "Stats" is an +# abbreviation for Statistics. +about-webrtc-rtp-stats-heading = Stats RTP + +## "ICE" is an abbreviation for Interactive Connectivity Establishment, which +## is an IETF protocol, and should not normally be translated. + +about-webrtc-ice-state = Staid ICE +# "Stats" is an abbreviation for Statistics. +about-webrtc-ice-stats-heading = Stats ICE +about-webrtc-ice-restart-count-label = ICE restarts: +about-webrtc-ice-rollback-count-label = ICE rollbacks: +about-webrtc-ice-pair-bytes-sent = Bytes sent: +about-webrtc-ice-pair-bytes-received = Bytes received: +about-webrtc-ice-component-id = Component ID + +## These adjectives are used to label a line of statistics collected for a peer +## connection. The data represents either the local or remote end of the +## connection. + +about-webrtc-type-local = Ionadail +about-webrtc-type-remote = Cèin + +## + +# This adjective is used to label a table column. Cells in this column contain +# the localized javascript string representation of "true" or are left blank. +about-webrtc-nominated = Air ainmeachadh + +# This adjective is used to label a table column. Cells in this column contain +# the localized javascript string representation of "true" or are left blank. +# This represents an attribute of an ICE candidate. +about-webrtc-selected = Air a thaghadh + +about-webrtc-save-page-label = Sàbhail an duilleag +about-webrtc-debug-mode-msg-label = Am modh dì-bhugachaidh +about-webrtc-debug-mode-off-state-label = Tòisich air a’ mhodh dì-bhugachaidh +about-webrtc-debug-mode-on-state-label = Cuir crìoch air a’ mhodh dì-bhugachaidh +about-webrtc-stats-heading = Stats an t-seisein +about-webrtc-stats-clear = Falamhaich an eachdraidh +about-webrtc-log-heading = Loga nan ceangal +about-webrtc-log-clear = Falamhaich an loga +about-webrtc-log-show-msg = seall an loga + .title = dèan briogadh gus an earrann seo a leudachadh +about-webrtc-log-hide-msg = falaich an loga + .title = dèan briogadh gus an earrann seo a cho-theannadh + +about-webrtc-log-section-show-msg = Seall an loga + .title = Dèan briogadh gus an earrann seo a leudachadh +about-webrtc-log-section-hide-msg = Falaich an loga + .title = Dèan briogadh gus an earrann seo a cho-theannadh + +## These are used to display a header for a PeerConnection. +## Variables: +## $browser-id (Number) - A numeric id identifying the browser tab for the PeerConnection. +## $id (String) - A globally unique identifier for the PeerConnection. +## $url (String) - The url of the site which opened the PeerConnection. +## $now (Date) - The JavaScript timestamp at the time the report was generated. + +about-webrtc-connection-open = [ { $browser-id } | { $id } ] { $url } { $now } +about-webrtc-connection-closed = [ { $browser-id } | { $id } ] { $url } (air a dhùnadh) { $now } + +## These are used to indicate what direction media is flowing. +## Variables: +## $codecs - a list of media codecs + + +## + +about-webrtc-local-candidate = Tagraiche ionadail +about-webrtc-remote-candidate = Tagraiche cèin +about-webrtc-raw-candidates-heading = All Raw Candidates +about-webrtc-raw-local-candidate = Raw Local Candidate +about-webrtc-raw-remote-candidate = Raw Remote Candidate +about-webrtc-raw-cand-show-msg = show raw candidates + .title = dèan briogadh gus an earrann seo a leudachadh +about-webrtc-raw-cand-hide-msg = hide raw candidates + .title = dèan briogadh gus an earrann seo a cho-theannadh +about-webrtc-raw-cand-section-show-msg = Show raw candidates + .title = Dèan briogadh gus an earrann seo a leudachadh +about-webrtc-raw-cand-section-hide-msg = Hide raw candidates + .title = Dèan briogadh gus an earrann seo a cho-theannadh +about-webrtc-priority = Prìomhachas +about-webrtc-fold-show-msg = seall am mion-fhiosrachadh + .title = dèan briogadh gus an earrann seo a leudachadh +about-webrtc-fold-hide-msg = falaich am mion-fhiosrachadh + .title = dèan briogadh gus an earrann seo a cho-theannadh +about-webrtc-fold-default-show-msg = Seall am mion-fhiosrachadh + .title = Dèan briogadh gus an earrann seo a leudachadh +about-webrtc-fold-default-hide-msg = Falaich am mion-fhiosrachadh + .title = Dèan briogadh gus an earrann seo a cho-theannadh +about-webrtc-dropped-frames-label = Frèamaichean a thuit: +about-webrtc-discarded-packets-label = Pacaidean a chaidh a thilgeil air falbh: +about-webrtc-decoder-label = Dì-chòdaichear +about-webrtc-encoder-label = Còdaichear +about-webrtc-show-tab-label = Seall an taba +about-webrtc-current-framerate-label = Framerate +about-webrtc-width-px = Leud (px) +about-webrtc-height-px = Àirde (px) +about-webrtc-consecutive-frames = Frèamaichean leantach +about-webrtc-time-elapsed = An ùine a dh’fhalbh (s) +about-webrtc-estimated-framerate = Tuairmse air an reat fhrèamaichean +about-webrtc-rotation-degrees = Cuairteachadh (ceum) +about-webrtc-first-frame-timestamp = Stampa-tìde a’ chiad fhrèam a fhuaras +about-webrtc-last-frame-timestamp = Stampa-tìde an fhrèam mu dheireadh a fhuaras + +## SSRCs are identifiers that represent endpoints in an RTP stream + +# This is an SSRC on the local side of the connection that is receiving RTP +about-webrtc-local-receive-ssrc = Faighinn SSRC ionadail +# This is an SSRC on the remote side of the connection that is sending RTP +about-webrtc-remote-send-ssrc = Cur SSRC cèin + +## These are displayed on the button that shows or hides the +## PeerConnection configuration disclosure + +about-webrtc-pc-configuration-show-msg = Show Configuration +about-webrtc-pc-configuration-hide-msg = Hide Configuration + +## + +# An option whose value will not be displayed but instead noted as having been +# provided +about-webrtc-configuration-element-provided = Chaidh a sholar + +# An option whose value will not be displayed but instead noted as having not +# been provided +about-webrtc-configuration-element-not-provided = Cha deach a sholar + +# The options set by the user in about:config that could impact a WebRTC call +about-webrtc-custom-webrtc-configuration-heading = Roghainnean WebRTC a shuidhich a cleachdaiche + +# Section header for estimated bandwidths of WebRTC media flows +about-webrtc-bandwidth-stats-heading = Tuairmse air an leud-bhanna + +# The ID of the MediaStreamTrack +about-webrtc-track-identifier = Aithnichear an traca + +# The estimated bandwidth available for sending WebRTC media in bytes per second +about-webrtc-send-bandwidth-bytes-sec = Leud-banna a’ chuir (baidht/diog) + +# The estimated bandwidth available for receiving WebRTC media in bytes per second +about-webrtc-receive-bandwidth-bytes-sec = Leud-banna na faighinn (baidht/diog) + +# Maximum number of bytes per second that will be padding zeros at the ends of packets +about-webrtc-max-padding-bytes-sec = Am padadh as motha (baidht/diog) + +# The amount of time inserted between packets to keep them spaced out +about-webrtc-pacer-delay-ms = Dàil a’ cheumnaiche (ms) + +# The amount of time it takes for a packet to travel from the local machine to the remote machine, +# and then have a packet return +about-webrtc-round-trip-time-ms = RTT (ms) + +# This is a section heading for video frame statistics for a MediaStreamTrack. +# see https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack. +# Variables: +# $track-identifier (String) - The unique identifier for the MediaStreamTrack. +about-webrtc-frame-stats-heading = Stadastaireachd fhrèamaichean a’ video – ID MediaStreamTrack: { $track-identifier } + +## These are paths used for saving the about:webrtc page or log files so +## they can be attached to bug reports. +## Variables: +## $path (String) - The path to which the file is saved. + +about-webrtc-save-page-msg = chaidh an duilleag a shàbhaladh an-seo: { $path } +about-webrtc-debug-mode-off-state-msg = gheibhear an trace log an-seo: { $path } +about-webrtc-debug-mode-on-state-msg = tha am modh dì-bhugachaidh air, an trace log an-seo: { $path } +about-webrtc-aec-logging-off-state-msg = gheibhear na faidhlichean loga an-seo: { $path } + +about-webrtc-save-page-complete-msg = Chaidh an duilleag a shàbhaladh an-seo: { $path } +about-webrtc-debug-mode-toggled-off-state-msg = Gheibhear an trace log an-seo: { $path } +about-webrtc-debug-mode-toggled-on-state-msg = Tha am modh dì-bhugachaidh air, an trace log an-seo: { $path } + +## + +# This is the total number of frames encoded or decoded over an RTP stream. +# Variables: +# $frames (Number) - The number of frames encoded or decoded. +about-webrtc-frames = + { $frames -> + [one] { $frames } frame + [two] { $frames } frames + [few] { $frames } frames + *[other] { $frames } frames + } + +# This is the number of audio channels encoded or decoded over an RTP stream. +# Variables: +# $channels (Number) - The number of channels encoded or decoded. +about-webrtc-channels = + { $channels -> + [one] { $channels } channel + [two] { $channels } channels + [few] { $channels } channels + *[other] { $channels } channels + } + +# This is the total number of packets received on the PeerConnection. +# Variables: +# $packets (Number) - The number of packets received. +about-webrtc-received-label = + { $packets -> + [one] Fhuaras { $packets } phacaid + [two] Fhuaras { $packets } phacaid + [few] Fhuaras { $packets } pacaidean + *[other] Fhuaras { $packets } pacaid + } + +# This is the total number of packets lost by the PeerConnection. +# Variables: +# $packets (Number) - The number of packets lost. +about-webrtc-lost-label = + { $packets -> + [one] Chaidh { $packets } phacaid air chall + [two] Chaidh { $packets } phacaid air chall + [few] Chaidh { $packets } pacaidean air chall + *[other] Chaidh { $packets } pacaid air chall + } + +# This is the total number of packets sent by the PeerConnection. +# Variables: +# $packets (Number) - The number of packets sent. +about-webrtc-sent-label = + { $packets -> + [one] Chaidh { $packets } phacaid a chur + [two] Chaidh { $packets } phacaid a chur + [few] Chaidh { $packets } pacaidean a chur + *[other] Chaidh { $packets } pacaid a chur + } + +# Jitter is the variance in the arrival time of packets. +# See: https://w3c.github.io/webrtc-stats/#dom-rtcreceivedrtpstreamstats-jitter +# Variables: +# $jitter (Number) - The jitter. +about-webrtc-jitter-label = Jitter { $jitter } + +# ICE candidates arriving after the remote answer arrives are considered trickled +# (an attribute of an ICE candidate). These are highlighted in the ICE stats +# table with light blue background. +about-webrtc-trickle-caption-msg = Trickled candidates (arriving after answer) are highlighted in blue + +## "SDP" is an abbreviation for Session Description Protocol, an IETF standard. +## See http://wikipedia.org/wiki/Session_Description_Protocol + +# This is used as a header for local SDP. +# Variables: +# $timestamp (Number) - The Unix Epoch time at which the SDP was set. +about-webrtc-sdp-set-at-timestamp-local = Chaidh SDP ionadail a shuidheachadh air stampa-tìde { NUMBER($timestamp, useGrouping: "false") } + +# This is used as a header for remote SDP. +# Variables: +# $timestamp (Number) - The Unix Epoch time at which the SDP was set. +about-webrtc-sdp-set-at-timestamp-remote = Chaidh SDP cèin a shuidheachadh air stampa-tìde { NUMBER($timestamp, useGrouping: "false") } + +# This is used as a header for an SDP section contained in two columns allowing for side-by-side comparisons. +# Variables: +# $timestamp (Number) - The Unix Epoch time at which the SDP was set. +# $relative-timestamp (Number) - The timestamp relative to the timestamp of the earliest received SDP. +about-webrtc-sdp-set-timestamp = Stampa-tìde { NUMBER($timestamp, useGrouping: "false") } (+ { $relative-timestamp } ms) + +## These are displayed on the button that shows or hides the SDP information disclosure + +about-webrtc-show-msg-sdp = Show SDP +about-webrtc-hide-msg-sdp = Hide SDP + +## These are displayed on the button that shows or hides the Media Context information disclosure. +## The Media Context is the set of preferences and detected capabilities that informs +## the negotiated CODEC settings. + + +## + diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutWindowsMessages.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutWindowsMessages.ftl new file mode 100644 index 0000000000000000000000000000000000000000..9bd049a6ac583e148d87e3bb44216f2a1084fc07 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/about/aboutWindowsMessages.ftl @@ -0,0 +1,20 @@ +# 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/. + + +### Localization for the about:windows-messages page, which is only available +### on the Windows operating system. +### This page records and shows messages sent from the operating system to +### individual browser windows. These messages can be useful in debugging +### hard-to-reproduce issues with window sizing and position. + +# Windows refers to the operating system +windows-messages-page-title = Windows Messages Information +windows-messages-intro = + This page shows the most recent messages sent by Windows + to the { -brand-short-name } browser windows. The + bolded entry represents this window. Note that this page shows + the most recent messages at the time the page was loaded; + to see current ones you will need to refresh the page. +windows-messages-copy-to-clipboard = Copy to clipboard diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/about/abuseReports.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/about/abuseReports.ftl new file mode 100644 index 0000000000000000000000000000000000000000..871e75596ca64eb91e39095cf583eda465169b80 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/about/abuseReports.ftl @@ -0,0 +1,98 @@ +# 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/. + +# Localized string used as the dialog window title. +# "Report" is a noun in this case, "Report for AddonName". +# +# Variables: +# $addon-name (string) - Name of the add-on being reported +abuse-report-dialog-title = Aithris air { $addon-name } +abuse-report-title-extension = Dèan aithris air an leudachan seo gu { -vendor-short-name } +abuse-report-title-sitepermission = Report This Site Permissions add-on to { -vendor-short-name } +abuse-report-title-theme = Dèan aithris air an ùrlar seo gu { -vendor-short-name } +abuse-report-subtitle = Dè an duilgheadas? +# Variables: +# $author-name (string) - Name of the add-on author +abuse-report-addon-authored-by = le <a data-l10n-name="author-name">{ $author-name }</a> +abuse-report-learnmore = + Nach eil thu cinnteach dè an duilgheas a thaghas tu? + <a data-l10n-name="learnmore-link">Barrachd fiosrachaidh mu aithrisean air leudachain is ùrlaran</a> +abuse-report-learnmore-intro = Nach eil thu cinnteach dè an duilgheas a thaghas tu? +abuse-report-learnmore-link = Barrachd fiosrachaidh mu aithrisean air leudachain is ùrlaran +abuse-report-submit-description = Mìnich an duilgheadas (roghainneil) +abuse-report-textarea = + .placeholder = Tha e nas fhasa dhuinn dèiligeadh ri duilgheadas ma bhios fiosrachadh mionaideach againn. Mìnich dè tha a’ tachairt. Mòran taing airson ar cuideachadh a chùm an lìon a chumail slàn. +abuse-report-submit-note = + An aire: Na gabh a-steach fiosrachadh pearsanta (can d’ ainm, seòladh puist-d, àireamh fòn, seòladh). + Cumaidh { -vendor-short-name } clàr buan dhe na h-aithrisean seo. + +## Panel buttons. + +abuse-report-cancel-button = Sguir dheth +abuse-report-next-button = Air adhart +abuse-report-goback-button = Air ais +abuse-report-submit-button = Cuir a-null + +## Message bars descriptions. +## +## Variables: +## $addon-name (string) - Name of the add-on + +abuse-report-messagebar-aborted = Chaidh sgur dhen aithris air <span data-l10n-name="addon-name">{ $addon-name }</span>. +abuse-report-messagebar-submitting = A’ cur na h-aithris air <span data-l10n-name="addon-name">{ $addon-name }</span>. +abuse-report-messagebar-submitted = Mòran taig airson aithris a chur thugainn. A bheil thu airson <span data-l10n-name="addon-name">{ $addon-name }</span> a thoirt air falbh? +abuse-report-messagebar-submitted-noremove = Mòran taing airson aithris a chur thugainn. +abuse-report-messagebar-removed-extension = Mòran taing airson aithris a chur thugainn. Thug thu an leudachan <span data-l10n-name="addon-name">{ $addon-name }</span> air falbh. +abuse-report-messagebar-removed-sitepermission = Thank you for submitting a report. You’ve removed the Site Permissions add-on <span data-l10n-name="addon-name">{ $addon-name }</span>. +abuse-report-messagebar-removed-theme = Mòran taing airson aithris a chur thugainn. Thug thu an t-ùrlar <span data-l10n-name="addon-name">{ $addon-name }</span> air falbh. +abuse-report-messagebar-error = Thachair mearachd le cur na h-aithris air <span data-l10n-name="addon-name">{ $addon-name }</span>. +abuse-report-messagebar-error-recent-submit = Cha deach an aithris air <span data-l10n-name="addon-name">{ $addon-name }</span> a chur on a chaidh aithris eile mu dhèidhinn a chur a-null o chionn goirid. + +## Message bars actions. + +abuse-report-messagebar-action-remove-extension = Thoir air falbh e +abuse-report-messagebar-action-keep-extension = Cumaidh mi e +abuse-report-messagebar-action-remove-sitepermission = Yes, Remove It +abuse-report-messagebar-action-keep-sitepermission = No, I’ll Keep It +abuse-report-messagebar-action-remove-theme = Thoir air falbh e +abuse-report-messagebar-action-keep-theme = Cumaidh mi e +abuse-report-messagebar-action-retry = Feuch ris a-rithist +abuse-report-messagebar-action-cancel = Sguir dheth + +## Abuse report reasons (optionally paired with related examples and/or suggestions) + +abuse-report-damage-reason-v2 = Rinn e dochann air a’ choimpiutair agam no bhris e tèarainteachd an dàta agam +abuse-report-damage-example = Ball-eisimpleir: Chuir e bathar-bog droch-rùnach ris no ghoid e dàta +abuse-report-spam-reason-v2 = Tha spama no sanasachd gun iarraidh ’na bhroinn +abuse-report-spam-example = Ball-eisimpleir: Chuir e sanasachd ri làraichean-lìn +abuse-report-settings-reason-v2 = Dh’atharraich e an t-einnsean-luirg, an duilleag-dhachaigh no an taba ùr agam gun fhiosta no iarraidh orm +abuse-report-settings-suggestions = Mus dèan thu aithris air an leudachan, feuch an atharraich thu na roghainnean agad: +abuse-report-settings-suggestions-search = Atharraich bun-roghainnean an luirg agad +abuse-report-settings-suggestions-homepage = Atharraich an duilleag-dhachaigh ’s an taba ùr agad +abuse-report-deceptive-reason-v2 = Dh’innis e gur e ruideigin eadar-dhealaichte a bhiodh ann +abuse-report-deceptive-example = Ball-eisimpleir: Tuairisgeul no dealbhan meallta +abuse-report-broken-reason-extension-v2 = Chan eil e ag obair, tha e a’ briseadh làraichean-lìn no a’ cur maille air { -brand-product-name } +abuse-report-broken-reason-sitepermission-v2 = It doesn’t work, breaks websites, or slows down { -brand-product-name } +abuse-report-broken-reason-theme-v2 = Chan eil e ag obair no tha e a’ briseadh taisbeanadh a’ bhrabhsair +abuse-report-broken-example = Ball-eisimpleir: Tha gleusan slaodach, doirbh a chleachdadh no chan obraich iad; cha luchdaich pàirtean de làraichean-lìn no tha coltas neònach orra +abuse-report-broken-suggestions-extension = + Tha coltas gun do lorg thu buga. A bharrachd air aithris a chur a-null an-seo, ‘s e an dòigh as fheàrr + airson duilgheadas le gleus fhuasgladh gun cuir thu fios gu luchd-leasachaidh an leudachain. + <a data-l10n-name="support-link">Tadhail air làrach-lìn an leudachain</a> airson fiosrachadh mun luchd-leasachaidh fhaighinn. +abuse-report-broken-suggestions-sitepermission = + It sounds like you’ve identified a bug. In addition to submitting a report here, the best way + to get a functionality issue resolved is to contact the website developer. + <a data-l10n-name="support-link">Visit the website</a> to get the developer information. +abuse-report-broken-suggestions-theme = + Tha coltas gun do lorg thu buga. A bharrachd air aithris a chur a-null an-seo, ‘s e an dòigh as fheàrr + airson duilgheadas le gleus fhuasgladh gun cuir thu fios gu luchd-leasachaidh an ùrlair. + <a data-l10n-name="support-link">Tadhail air làrach-lìn an ùrlair</a> airson fiosrachadh mun luchd-leasachaidh fhaighinn. +abuse-report-policy-reason-v2 = Tha susbaint fhuathach, ainneartach no mhì-laghail ann +abuse-report-policy-suggestions = + An aire: Feumaidh tu aithris air cùisean còrach-lethbhreac is comharra-mhalairt a dhèanamh le + pròiseas sònraichte. <a data-l10n-name="report-infringement-link">Lean ris an stiùireadh seo</a> + airson aithris a dhèanamh air an duilgheadas. +abuse-report-unwanted-reason-v2 = Cha robh mi ’ga iarraidh a-riamh agus chan eil fios agam ciamar a gheibh mi cuidhteas dheth +abuse-report-unwanted-example = Ball-eisimpleir: Stàlaich aplacaid e gun chead uam +abuse-report-other-reason = Rudeigin eile diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/about/certviewer.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/about/certviewer.ftl new file mode 100644 index 0000000000000000000000000000000000000000..a206f6ef39c88ef97860686a4b8dd0fbd6538122 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/about/certviewer.ftl @@ -0,0 +1,122 @@ +# 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/. + +certificate-viewer-certificate-section-title = Teisteanas + +## Error messages + +certificate-viewer-error-message = Cha do lorg sinn fiosrachadh an teisteanais no tha an teisteanas coirbte. Feuch ris a-rithist. +certificate-viewer-error-title = Chaidh rudeigin ceàrr + +## Certificate information labels + +certificate-viewer-algorithm = Algairim +certificate-viewer-certificate-authority = Ùghdarras teisteanachaidh +certificate-viewer-cipher-suite = Suite shifirean +certificate-viewer-common-name = Ainm coitcheann +certificate-viewer-email-address = Seòladh puist-d +# Variables: +# $firstCertName (String) - Common Name for the displayed certificate +certificate-viewer-tab-title = Teisteanas dha { $firstCertName } +# Inc. means Incorporated, e.g GitHub is incorporated in Delaware +certificate-viewer-inc-country = Dùthaich chlàraichte +certificate-viewer-country = Dùthaich +certificate-viewer-curve = Lùb +certificate-viewer-distribution-point = Puing sgaoilidh +certificate-viewer-dns-name = Ainm DNS +certificate-viewer-ip-address = Seòladh IP +certificate-viewer-other-name = Ainm eile +certificate-viewer-exponent = Easponant +certificate-viewer-id = ID +certificate-viewer-key-exchange-group = Buidheann iomlaid iuchraichean +certificate-viewer-key-id = ID na h-iuchrach +certificate-viewer-key-size = Meud na h-iuchrach +# Inc. means Incorporated, e.g GitHub is incorporated in Delaware +certificate-viewer-inc-locality = Ionadachd chlàraichte +certificate-viewer-locality = Ionadachd +certificate-viewer-location = Ionad +certificate-viewer-logid = ID an loga +certificate-viewer-method = Dòigh +certificate-viewer-modulus = Mòidealas +certificate-viewer-name = Ainm +certificate-viewer-not-after = Crìoch +certificate-viewer-not-before = Toiseach +certificate-viewer-organization = Buidheann +certificate-viewer-organizational-unit = Aonad na buidhne +certificate-viewer-policy = Poileasaidh +certificate-viewer-protocol = Pròtacal +certificate-viewer-public-value = Luach poblach +certificate-viewer-purposes = Adhbharan +certificate-viewer-qualifier = Càilichear +certificate-viewer-qualifiers = Càilichearan +certificate-viewer-required = Riatanach +certificate-viewer-unsupported = <gun taic ris> +# Inc. means Incorporated, e.g GitHub is incorporated in Delaware +certificate-viewer-inc-state-province = Stàit/Siorrachd/Còigeamh chlàraichte +certificate-viewer-state-province = Stàit/Siorrachd/Còigeamh +certificate-viewer-sha-1 = SHA-1 +certificate-viewer-sha-256 = SHA-256 +certificate-viewer-serial-number = Àireamh shreathach +certificate-viewer-signature-algorithm = Algairim an t-soidhnidh +certificate-viewer-signature-scheme = Sgeama an t-soidhnidh +certificate-viewer-timestamp = Stampa-tìde +certificate-viewer-value = Luach +certificate-viewer-version = Tionndadh +certificate-viewer-business-category = Roinn-seòrsa gnìomhachais +certificate-viewer-subject-name = Ainm a’ chuspair +certificate-viewer-issuer-name = Ainm an fhoillsicheir +certificate-viewer-validity = Dligheachd +certificate-viewer-subject-alt-names = Ainmean eile a’ chuspair +certificate-viewer-public-key-info = Fiosrachadh na h-iuchrach poblaich +certificate-viewer-miscellaneous = Rudan eile +certificate-viewer-fingerprints = Lorgan-meòir +certificate-viewer-basic-constraints = Bun-chuingeachaidhean +certificate-viewer-key-usages = Cleachdadh na h-iuchrach +certificate-viewer-extended-key-usages = Cleachdadh leudaichte na h-iuchrach +certificate-viewer-ocsp-stapling = Leudachadh iarrtas an teisteachaidh TLS (OCSP Stapling) +certificate-viewer-subject-key-id = ID iuchair a’ chuspair +certificate-viewer-authority-key-id = ID iuchair an ùghdarrais +certificate-viewer-authority-info-aia = Fiosrachadh an ùghdarrais (AIA) +certificate-viewer-certificate-policies = Poileasaidhean teisteanais +certificate-viewer-embedded-scts = SCTs leabaichte +certificate-viewer-crl-endpoints = Puingean-deiridh CRL + +# This message is used as a row header in the Miscellaneous section. +# The associated data cell contains links to download the certificate. +certificate-viewer-download = Luchdaich a-nuas +# This message is used to replace boolean values (true/false) in several certificate fields, e.g. Certificate Authority +# Variables: +# $boolean (String) - true/false value for the specific field +certificate-viewer-boolean = + { $boolean -> + [true] Tha + *[false] Chan eil + } + +## Variables: +## $fileName (String) - The file name to save the PEM data in, derived from the common name from the certificate being displayed. + +certificate-viewer-download-pem = PEM (teisteanas) + .download = { $fileName }.pem +certificate-viewer-download-pem-chain = PEM (dùl-iuchrach) + .download = { $fileName }-chain.pem + +# The title attribute for Critical Extension icon +certificate-viewer-critical-extension = + .title = Chaidh comharra a chur gu bheil an leudachan seo èiginneach. Is ciall dha seo gum feum na cliantan an teisteanas a dhiùltadh mura tuig iad e. +certificate-viewer-export = Às-phortaich + .download = { $fileName }.pem + +## + +# Label for a tab where we haven't found a better label: +certificate-viewer-unknown-group-label = (chan eil fhios) + +## Labels for tabs displayed in stand-alone about:certificate page + +certificate-viewer-tab-mine = Na teisteanasan agad +certificate-viewer-tab-people = Daoine +certificate-viewer-tab-servers = Frithealaichean +certificate-viewer-tab-ca = Ùghdarrasan +certificate-viewer-tab-unkonwn = Chan eil fhios diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/about/config.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/about/config.ftl new file mode 100644 index 0000000000000000000000000000000000000000..c25a041a2a5ebc28ca77bc2d902b0815ba61512c --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/about/config.ftl @@ -0,0 +1,55 @@ +# 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/. + + +## These strings appear on the warning you see when first visiting about:config. + +about-config-intro-warning-title = Cùm a’ dol ach bidh air d’ fhaiceall +about-config-intro-warning-text = Ma dh’atharraicheas tu roghainnean an rèiteachaidh, dh’fhaoidte gum bi droch-bhuaidh air dèanadas no tèarainteachd { -brand-short-name }. +about-config-intro-warning-checkbox = Thoir rabhadh dhomh ma bhios mi an ìmpidh na roghainnean seo atharrachadh +about-config-intro-warning-button = Tuigidh mi an cunnart, air adhart leam + +## + +# This is shown on the page before searching but after the warning is accepted. +about-config-caution-text = Ma dh’atharraichear na roghainnean seo, dh’fhaoidte gum bi droch-bhuaidh air dèanadas no tèarainteachd { -brand-short-name }. + +about-config-page-title = Roghainnean adhartach + +about-config-search-input1 = + .placeholder = Lorg ainm roghainn +about-config-show-all = Seall na h-uile + +about-config-show-only-modified = Na seall ach na roghainnean a chaidh atharrachadh + +about-config-pref-add-button = + .title = Cuir ris +about-config-pref-toggle-button = + .title = Toglaich +about-config-pref-edit-button = + .title = Deasaich +about-config-pref-save-button = + .title = Sàbhail +about-config-pref-reset-button = + .title = Ath-shuidhich +about-config-pref-delete-button = + .title = Sguab às + +## Labels for the type selection radio buttons shown when adding preferences. + +about-config-pref-add-type-boolean = Boolean +about-config-pref-add-type-number = Àireamh +about-config-pref-add-type-string = Sreang + +## Preferences with a non-default value are differentiated visually, and at the +## same time the state is made accessible to screen readers using an aria-label +## that won't be visible or copied to the clipboard. +## +## Variables: +## $value (String): The full value of the preference. + +about-config-pref-accessible-value-default = + .aria-label = { $value } (bun-roghainn) +about-config-pref-accessible-value-custom = + .aria-label = { $value } (gnàthaichte) diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/about/url-classifier.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/about/url-classifier.ftl new file mode 100644 index 0000000000000000000000000000000000000000..cf5f8762394034293f6939c251457a16cc2b37fd --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/about/url-classifier.ftl @@ -0,0 +1,58 @@ +# 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/. + +url-classifier-title = URL Classifier Information +url-classifier-search-title = Search +url-classifier-search-result-title = Results +url-classifier-search-result-uri = URI: { $uri } +url-classifier-search-result-list = List of tables: { $list } +url-classifier-search-input = URL +url-classifier-search-error-invalid-url = Invalid URL +url-classifier-search-error-no-features = No features selected +url-classifier-search-btn = Start searching +url-classifier-search-features = Features +url-classifier-search-listType = List type +url-classifier-provider-title = Solaraiche +url-classifier-provider = Solaraiche +url-classifier-provider-last-update-time = An t-ùrachadh mu dheireadh +url-classifier-provider-next-update-time = An ath-ùrachadh +url-classifier-provider-back-off-time = Àm back-off +url-classifier-provider-last-update-status = Staid an ùrachaidh mu dheireadh +url-classifier-provider-update-btn = Ùraich +url-classifier-cache-title = Tasgadan +url-classifier-cache-refresh-btn = Ath-nuadhaich +url-classifier-cache-clear-btn = Falamhaich +url-classifier-cache-table-name = Ainm a’ chlàir +url-classifier-cache-ncache-entries = Innteartan àicheil san tasgadan +url-classifier-cache-pcache-entries = Innteartan dearbh san tasgadan +url-classifier-cache-show-entries = Seall na h-innteartan +url-classifier-cache-entries = Innteartan san tasgadan +url-classifier-cache-prefix = Ro-leasachan +url-classifier-cache-ncache-expiry = Negative cache expiry +url-classifier-cache-fullhash = Full hash +url-classifier-cache-pcache-expiry = Positive cache expiry +url-classifier-debug-title = Debug +url-classifier-debug-module-btn = Set Log Modules +url-classifier-debug-file-btn = Set Log File +url-classifier-debug-js-log-chk = Set JS Log +url-classifier-debug-sb-modules = Safe Browsing log modules +url-classifier-debug-modules = Current log modules +url-classifier-debug-sbjs-modules = Safe Browsing JS log +url-classifier-debug-file = Current log file + +url-classifier-trigger-update = Trigger Update +url-classifier-not-available = N/A +url-classifier-disable-sbjs-log = Disable Safe Browsing JS Log +url-classifier-enable-sbjs-log = Enable Safe Browsing JS Log +url-classifier-enabled = Enabled +url-classifier-disabled = Disabled +url-classifier-updating = updating +url-classifier-cannot-update = cannot update +url-classifier-success = success + +## Variables +## $error (string) - Error message + +url-classifier-update-error = update error ({ $error }) +url-classifier-download-error = download error ({ $error }) diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/branding/accounts.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/branding/accounts.ftl new file mode 100644 index 0000000000000000000000000000000000000000..a813571aee2d1f8b5af298fe512ed1f7637869ca --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/branding/accounts.ftl @@ -0,0 +1,7 @@ +# 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/. + +# “Account” can be localized, “Firefox” must be treated as a brand, +# and kept in English. +-fxaccount-brand-name = Cunntas Firefox diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/branding/brandings.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/branding/brandings.ftl new file mode 100644 index 0000000000000000000000000000000000000000..f49f18be5f4f90f0015ce743553c5bfc8b78f123 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/branding/brandings.ftl @@ -0,0 +1,45 @@ +# 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/. + + +## The following feature names must be treated as a brand. +## +## They cannot be: +## - Transliterated. +## - Translated. +## +## Declension should be avoided where possible, leaving the original +## brand unaltered in prominent UI positions. +## +## For further details, consult: +## https://mozilla-l10n.github.io/styleguides/mozilla_general/#brands-copyright-and-trademark + +-facebook-container-brand-name = Facebook Container +-lockwise-brand-name = Firefox Lockwise +-lockwise-brand-short-name = Lockwise +-monitor-brand-name = Firefox Monitor +-monitor-brand-short-name = Monitor +-pocket-brand-name = Pocket +-send-brand-name = Firefox Send +-screenshots-brand-name = Firefox Screenshots +-mozilla-vpn-brand-name = Mozilla VPN +-profiler-brand-name = Firefox Profiler +-translations-brand-name = Firefox Translations +-focus-brand-name = Firefox Focus + +-relay-brand-name = Firefox Relay +-relay-brand-short-name = Relay + +# “Suggest” can be localized, “Firefox” must be treated as a brand +# and kept in English. +-firefox-suggest-brand-name = Firefox Suggest + +# ”Home" can be localized, “Firefox” must be treated as a brand +# and kept in English. +-firefox-home-brand-name = Dachaigh Firefox + +# View" can be localized, “Firefox” must be treated as a brand +# and kept in English. +-firefoxview-brand-name = Sealladh Firefox + diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/downloads/downloadUI.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/downloads/downloadUI.ftl new file mode 100644 index 0000000000000000000000000000000000000000..c583390fa1ef7c56756e8be94c4f1c5e27117fb7 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/downloads/downloadUI.ftl @@ -0,0 +1,51 @@ +# 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/. + +download-ui-confirm-title = A bheil thu airson sgur de gach luchdadh a-nuas? + +## Variables: +## $downloadsCount (Number): The current downloads count. + +download-ui-confirm-quit-cancel-downloads = + { $downloadsCount -> + [1] Ma sguireas tu dheth an-dràsta, thèid casg a chur air aon luchdadh a-nuas. A bheil thu cinnteach gu bheil thu airson leantainn ort? + *[other] Ma sguireas tu dheth an-dràsta, thèid casg a chur air luchdadh a-nuas de { $downloadsCount } rudan. A bheil thu cinnteach gu bheil thu airson leantainn ort? + } +download-ui-confirm-quit-cancel-downloads-mac = + { $downloadsCount -> + [1] Ma sguireas tu dheth an-dràsta, thèid casg a chur air aon luchdadh a-nuas. A bheil thu cinnteach gu bheil thu airson leantainn ort? + *[other] Ma sguireas tu dheth an-dràsta, thèid casg a chur air luchdadh a-nuas de { $downloadsCount } rudan. A bheil thu cinnteach gu bheil thu airson leantainn ort? + } +download-ui-dont-quit-button = + { PLATFORM() -> + [mac] Na sguir + *[other] Na sguir + } + +download-ui-confirm-offline-cancel-downloads = + { $downloadsCount -> + [1] Ma thèid thu far loidhne an-dràsta, thèid casg a chur air aon luchdadh a-nuas. A bheil thu cinnteach gu bheil thu airson a dhol far loidhne? + *[other] Ma thèid thu far loidhne an-dràsta, thèid casg a chur air luchdadh a-nuas de { $downloadsCount } rudan. A bheil thu cinnteach gu bheil thu airson a dhol far loidhne? + } +download-ui-dont-go-offline-button = Fuirich air loidhne + +download-ui-confirm-leave-private-browsing-windows-cancel-downloads = + { $downloadsCount -> + [1] Ma dhùineas tu gach uinneag brabhsaidh prìobhaideach an-dràsta, thèid crìoch a chur air aon luchdadh a-nuas. A bheil thu cinnteach gu bheil thu airson sgur dhen bhrabhsadh phrìobhaideach? + *[other] Ma dhùineas tu gach uinneag brabhsaidh prìobhaideach an-dràsta, thèid crìoch a chur air luchdadh a-nuas de { $downloadsCount } rudan. A bheil thu cinnteach gu bheil thu airson sgur dhen bhrabhsadh phrìobhaideach? + } +download-ui-dont-leave-private-browsing-button = Fuirich sa bhrabhsadh phrìobhaideach + +download-ui-cancel-downloads-ok = + { $downloadsCount -> + [1] Sguir de 1 luchdadh a-nuas + *[other] Sguir de luchdadh a-nuas de { $downloadsCount } rudan + } + +## + +download-ui-file-executable-security-warning-title = Cinnteach a thaobh fosgladh an fhaidhle sho-ghnìomhaichte? +# Variables: +# $executable (String): The executable file to be opened. +download-ui-file-executable-security-warning = 'S e faidhle so-ghnìomhaichte a tha ann an "{ $executable }". Dh'fhaodadh bìorasan no còd droch rùnach eile a bhith ann am faidhlichean so-ghnìomhaichte 's faodaidh iad an coimpiutair agad a mhilleadh. Bi faiceallach le fosgladh an fhaidhle seo. A bheil thu cinnteach gu bheil thu airson "{ $executable }" a chur a dhol? diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/downloads/downloadUtils.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/downloads/downloadUtils.ftl new file mode 100644 index 0000000000000000000000000000000000000000..8dd8f05de76b7729120c32bc2a0210aae3a1887c --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/downloads/downloadUtils.ftl @@ -0,0 +1,114 @@ +# 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/. + +## Variables: +## $timeValue (number) - Number of units of time + +# Short form for seconds +download-utils-short-seconds = + { $timeValue -> + [one] d + [two] d + [few] d + *[other] d + } +# Short form for minutes +download-utils-short-minutes = + { $timeValue -> + [one] m + [two] m + [few] m + *[other] m + } +# Short form for hours +download-utils-short-hours = + { $timeValue -> + [one] u + [two] u + [few] u + *[other] u + } +# Short form for days +download-utils-short-days = + { $timeValue -> + [one] l + [two] l + [few] l + *[other] l + } + +## + +# — is the "em dash" (long dash) +# example: 4 minutes left — 1.1 of 11.1 GB (2.2 MB/sec) +# Variables: +# $timeLeft (String): time left. +# $transfer (String): transfer progress. +# $rate (String): rate number. +# $unit (String): rate unit. +download-utils-status = { $timeLeft } — { $transfer } ({ $rate } { $unit }/sec) +# If download speed is a JavaScript Infinity value, this phrase is used +# — is the "em dash" (long dash) +# example: 4 minutes left — 1.1 of 11.1 GB (Really fast) +# Variables: +# $timeLeft (String): time left. +# $transfer (String): transfer progress. +download-utils-status-infinite-rate = { $timeLeft } — { $transfer } (Cho luath ri seabhag) +# — is the "em dash" (long dash) +# example: 4 minutes left — 1.1 of 11.1 GB +# Variables: +# $timeLeft (String): time left. +# $transfer (String): transfer progress. +download-utils-status-no-rate = { $timeLeft } — { $transfer } + +download-utils-bytes = byte +download-utils-kilobyte = KB +download-utils-megabyte = MB +download-utils-gigabyte = GB + +# example: 1.1 of 333 MB +# Variables: +# $progress (String): progress number. +# $total (String): total number. +# $totalUnits (String): total unit. +download-utils-transfer-same-units = { $progress } de { $total } { $totalUnits } +# example: 11.1 MB of 3.3 GB +# Variables: +# $progress (String): progress number. +# $progressUnits (String): progress unit. +# $total (String): total number. +# $totalUnits (String): total unit. +download-utils-transfer-diff-units = { $progress } { $progressUnits } de { $total } { $totalUnits } +# example: 111 KB +# Variables: +# $progress (String): progress number. +# $progressUnits (String): unit. +download-utils-transfer-no-total = { $progress } { $progressUnits } + +# examples: 1m; 11h +# Variables: +# $time (String): time number. +# $unit (String): time unit. +download-utils-time-pair = { $time }{ $unit } +# examples: 1m left; 11h left +# Variables: +# $time (String): time left, including a unit +download-utils-time-left-single = { $time } air fhàgail +# examples: 11h 2m left; 1d 22h left +# Variables: +# $time1 (String): time left, including a unit +# $time2 (String): smaller measure of time left, including a unit +download-utils-time-left-double = { $time1 } { $time2 } air fhàgail +download-utils-time-few-seconds = Diog no dhà air fhàgail +download-utils-time-unknown = Chan eil fhios dè an ùine a tha air fhàgail + +# Variables: +# $scheme (String): URI scheme like data: jar: about: +download-utils-done-scheme = Goireas { $scheme } +# Special case of done-scheme for file: +# This is used as an eTLD replacement for local files, so make it lower case +download-utils-done-file-scheme = faidhle ionadail + +# Displayed time for files finished yesterday +download-utils-yesterday = An-dè diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/featuregates/features.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/featuregates/features.ftl new file mode 100644 index 0000000000000000000000000000000000000000..75e52f5e64f919d914c97a1269cbaaffbe7d78c6 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/featuregates/features.ftl @@ -0,0 +1,58 @@ +# 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/. + +# The title of the experiment should be kept in English as it may be referenced +# by various online articles and is technical in nature. +experimental-features-css-masonry2 = + .label = CSS: Masonry Layout +experimental-features-css-masonry-description = Enables support for the experimental CSS Masonry Layout feature. See the <a data-l10n-name="explainer">explainer</a> for a high level description of the feature. To provide feedback, please comment in <a data-l10n-name="w3c-issue">this GitHub issue</a> or <a data-l10n-name="bug">this bug</a>. + +# The title of the experiment should be kept in English as it may be referenced +# by various online articles and is technical in nature. +experimental-features-web-gpu2 = + .label = Web API: WebGPU +experimental-features-web-gpu-description3 = The <a data-l10n-name="wikipedia-webgpu">WebGPU API</a> provides low-level support for performing computation and graphics rendering using the <a data-l10n-name="wikipedia-gpu">Graphics Processing Unit (GPU)</a> of the user’s device or computer. The first version of the <a data-l10n-name="spec">specification</a> is nearing finalization. See <a data-l10n-name="bugzilla">bug 1616739</a> for more details. + +# The title of the experiment should be kept in English as it may be referenced +# by various online articles and is technical in nature. +experimental-features-media-jxl = + .label = Media: JPEG XL +experimental-features-media-jxl-description = With this feature enabled, { -brand-short-name } supports the JPEG XL (JXL) format. This is an enhanced image file format that supports lossless transition from traditional JPEG files. See <a data-l10n-name="bugzilla">bug 1539075</a> for more details. + +experimental-features-devtools-compatibility-panel = + .label = Developer Tools: Compatibility Panel +experimental-features-devtools-compatibility-panel-description = A side panel for the Page Inspector that shows you information detailing your app’s cross-browser compatibility status. See <a data-l10n-name="bugzilla">bug 1584464</a> for more details. + + +# Do not translate 'SameSite', 'Lax' and 'None'. +experimental-features-cookie-samesite-none-requires-secure2 = + .label = Cookies: SameSite=None requires secure attribute +experimental-features-cookie-samesite-none-requires-secure2-description = Cookies with “SameSite=None” attribute require the secure attribute. This feature requires “Cookies: SameSite=Lax by default”. + +# about:home should be kept in English, as it refers to the the URI for +# the internal default home page. +experimental-features-abouthome-startup-cache = + .label = about:home startup cache +experimental-features-abouthome-startup-cache-description = A cache for the initial about:home document that is loaded by default at startup. The purpose of the cache is to improve startup performance. + +# "Service Worker" is an API name and is usually not translated. +experimental-features-devtools-serviceworker-debugger-support = + .label = Developer Tools: Service Worker debugging +# "Service Worker" is an API name and is usually not translated. +experimental-features-devtools-serviceworker-debugger-support-description = Enables experimental support for Service Workers in the Debugger panel. This feature may slow the Developer Tools down and increase memory consumption. + +# WebRTC global mute toggle controls +experimental-features-webrtc-global-mute-toggles = + .label = WebRTC Global Mute Toggles +experimental-features-webrtc-global-mute-toggles-description = Add controls to the WebRTC global sharing indicator that allow users to globally mute their microphone and camera feeds. + +# JS JIT Warp project +experimental-features-js-warp = + .label = JavaScript JIT: Warp +experimental-features-js-warp-description = Enable Warp, a project to improve JavaScript performance and memory usage. + +# Search during IME +experimental-features-ime-search = + .label = Address Bar: show results during IME composition +experimental-features-ime-search-description = An IME (Input Method Editor) is a tool that allows you to enter complex symbols, such as those used in East Asian or Indic written languages, using a standard keyboard. Enabling this experiment will keep the address bar panel open, showing search results and suggestions, while using IME to input text. Note that the IME might display a panel that covers the address bar results, therefore this preference is only suggested for IME not using this type of panel. diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/alert.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/alert.ftl new file mode 100644 index 0000000000000000000000000000000000000000..583a3be2f80c0a7544df733715e8fd7c61b7a443 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/alert.ftl @@ -0,0 +1,8 @@ +# 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/. + +alert-close = + .tooltiptext = Dùin an teachdaireachd seo +alert-settings-title = + .tooltiptext = Roghainnean diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/appPicker.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/appPicker.ftl new file mode 100644 index 0000000000000000000000000000000000000000..f381f97c9653684e755a3c5a6608fa6c366ab84c --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/appPicker.ftl @@ -0,0 +1,10 @@ +# 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/. + +app-picker-browse-button = + .buttonlabelextra2 = Brabhsaich… +app-picker-send-msg = + .value = Cuir an rud seo gu: +app-picker-no-app-found = + .value = Cha deach aplacaid a lorg airson a leithid seo de dh'fhaidhle. diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/browser-utils.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/browser-utils.ftl new file mode 100644 index 0000000000000000000000000000000000000000..fa3718b6526a997966a9562835ec6ad21f5b16b1 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/browser-utils.ftl @@ -0,0 +1,11 @@ +# 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/. + +# Used for data: URLs where we don't have any useful origin information +browser-utils-url-data = (data) + +# Used for extension URLs +# Variables: +# $extension (string) - Name of the extension that generated the URL +browser-utils-url-extension = Extension ({ $extension }) diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/commonDialog.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/commonDialog.ftl new file mode 100644 index 0000000000000000000000000000000000000000..0aae21735eb5e8a743542720e3d7c5cc6291523a --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/commonDialog.ftl @@ -0,0 +1,20 @@ +# 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/. + +common-dialog-title-null = Tha an duilleag seo ag ràdh: +common-dialog-title-system = { -brand-short-name } +# Title displayed when the origin of a web dialog is unknown. +common-dialog-title-unknown = Chan eil fhios + +common-dialog-username = + .value = Ainm-cleachdaiche +common-dialog-password = + .value = Facal-faire + +common-dialog-copy-cmd = + .label = Dèan lethbhreac + .accesskey = c +common-dialog-select-all-cmd = + .label = Tagh a h-uile + .accesskey = a diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/createProfileWizard.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/createProfileWizard.ftl new file mode 100644 index 0000000000000000000000000000000000000000..a4da65b7a8053a23537f989d8a437740ea11098b --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/createProfileWizard.ftl @@ -0,0 +1,53 @@ +# 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/. + +create-profile-window2 = + .title = Draoidh cruthachadh pròifile + .style = min-width: 45em; min-height: 32em; + +## First wizard page + +create-profile-first-page-header2 = + { PLATFORM() -> + [macos] Ro-ràdh + *[other] Fàilte gu { create-profile-window2.title } + } + +profile-creation-explanation-1 = Cumaidh { -brand-short-name } fiosrachadh nan roghainnean agad 'nad phròifil phearsanta. + +profile-creation-explanation-2 = Ma bhios daoine eile a' cleachdadh { -brand-short-name } air an inneal seo, 's urrainn dhut pròifil a chleachdadh gus fiosrachadh gach cleachdaiche a chumail o chèile. Bu chòir do gach cleachdaiche pròifil aca fhèin a chruthachadh a chum seo. + +profile-creation-explanation-3 = Mas tusa an aon duine a bhios a' cleachdadh { -brand-short-name } air an inneal seo, feumaidh aon phròifil a bhith agad air a' char as lugha. 'S urrainn dhut iomadh pròifil a chruthachadh dhut fhèin, ma thogras tu, gus seataichean eadar-dhealaichte de roghainnean a stòradh. Mar eisimpleir, ma bhios tu ag iarraidh pròifil a chleachdas tu 'nad obair 's tè eile a chum cleachdaidh phearsanta. + +profile-creation-explanation-4 = + { PLATFORM() -> + [macos] Briog air "Air adhart" gus a' phròifil agad a chruthachadh. + *[other] Briog air "Air adhart" gus a' phròifil agad a chruthachadh. + } + +## Second wizard page + +create-profile-last-page-header2 = + { PLATFORM() -> + [macos] Co-dhùnadh + *[other] A' toirt gu buil an { create-profile-window2.title } + } + +profile-creation-intro = Ma chruthaicheas tu iomadh pròifil, aithnichidh tu iad air an cuid ainmean. 'S urrainn dhut an t-ainm a chaidh a chur air shùilean dhut an-seo a chleachdadh no ainm sam bith eile bu toigh leat. + +profile-prompt = Cuir a-steach ainm ùr airson na pròifile: + .accesskey = e + +profile-default-name = + .value = Cleachdaiche bunaiteach + +profile-directory-explanation = Thèid na roghainnean cleachdaiche agad is dàta cleachdaiche sam bith eile a tha co-cheangailte ris a stòradh ann an: + +create-profile-choose-folder = + .label = Tagh pasgan… + .accesskey = T + +create-profile-use-default = + .label = Cleachd am pasgan bunaiteach + .accesskey = p diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/cspErrors.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/cspErrors.ftl new file mode 100644 index 0000000000000000000000000000000000000000..750911303357dac218c730806d22f7f7525d8ea7 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/cspErrors.ftl @@ -0,0 +1,32 @@ +# 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/. + +# Variables: +# $directive (String): the name of a CSP directive, such as "script-src". +csp-error-missing-directive = Policy is missing a required '{ $directive }' directive + +# Variables: +# $directive (String): the name of a CSP directive, such as "script-src". +# $keyword (String): the name of a CSP keyword, usually 'unsafe-inline'. +csp-error-illegal-keyword = '{ $directive }' directive contains a forbidden { $keyword } keyword + +# Variables: +# $directive (String): the name of a CSP directive, such as "script-src". +# $scheme (String): a protocol name, such as "http", which appears as "http:", as it would in a URL. +csp-error-illegal-protocol = '{ $directive }' directive contains a forbidden { $scheme }: protocol source + +# Variables: +# $directive (String): the name of a CSP directive, such as "script-src". +# $scheme (String): a protocol name, such as "http", which appears as "http:", as it would in a URL. +csp-error-missing-host = { $scheme }: protocol requires a host in '{ $directive }' directives + +# Variables: +# $directive (String): the name of a CSP directive, such as "script-src". +# $source (String): the name of a CSP source, usually 'self'. +csp-error-missing-source = '{ $directive }' must include the source { $source } + +# Variables: +# $directive (String): the name of a CSP directive, such as "script-src". +# $scheme (String): a protocol name, such as "http", which appears as "http:", as it would in a URL. +csp-error-illegal-host-wildcard = { $scheme }: wildcard sources in '{ $directive }' directives must include at least one non-generic sub-domain (e.g., *.example.com rather than *.com) diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/datepicker.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/datepicker.ftl new file mode 100644 index 0000000000000000000000000000000000000000..1cb16ad16cf1fc740456771135368c3d625707aa --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/datepicker.ftl @@ -0,0 +1,50 @@ +# 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/. + + +### Datepicker - Dialog for default HTML's <input type="date"> + + +## These labels are used by screenreaders and other assistive technology +## to indicate the purpose of a date picker calendar and a month-year selection +## spinner dialogs for HTML's <input type="date"> + +date-picker-label = + .aria-label = Choose a date +date-spinner-label = + .aria-label = Choose a month and a year + +## Text of the clear button + +date-picker-clear-button = Clear + +## These labels are used by screenreaders and other assistive technology +## to indicate the purpose of buttons that leaf through months of a calendar + +date-picker-previous = + .aria-label = Previous month +date-picker-next = + .aria-label = Next month + +## These labels are used by screenreaders and other assistive technology +## to indicate the type of a value/unit that is being selected within a +## Month/Year date spinner dialogs on a datepicker calendar dialog + +date-spinner-month = + .aria-label = Month +date-spinner-year = + .aria-label = Year + +## These labels are used by screenreaders and other assistive technology +## to indicate the purpose of buttons that leaf through either months +## or years of a Month/Year date spinner on a datepicker calendar dialog + +date-spinner-month-previous = + .aria-label = Previous month +date-spinner-month-next = + .aria-label = Next month +date-spinner-year-previous = + .aria-label = Previous year +date-spinner-year-next = + .aria-label = Next year diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/datetimebox.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/datetimebox.ftl new file mode 100644 index 0000000000000000000000000000000000000000..14525487f536cf65bc2f3ccc1a84afe6a818d370 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/datetimebox.ftl @@ -0,0 +1,43 @@ +# 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/. + + +## Placeholders for date and time inputs + +datetime-year-placeholder = bbbb +datetime-month-placeholder = mm +datetime-day-placeholder = ll +datetime-time-placeholder = -- + +## Field labels for input type=date + +datetime-year = + .aria-label = Bliadhna +datetime-month = + .aria-label = Mìos +datetime-day = + .aria-label = Latha + +## Field labels for input type=time + +datetime-hour = + .aria-label = Uairean a thìde +datetime-minute = + .aria-label = Mionaidean +datetime-second = + .aria-label = Diogan +datetime-millisecond = + .aria-label = Mille-dhiogan +datetime-dayperiod = + .aria-label = m/f + +## Calendar button for input type=date + + +# This label is used by screenreaders and other assistive technology +# to indicate the purpose of a toggle button inside of the <input type="date"> +# field that opens/closes a date picker calendar dialog + +datetime-calendar = + .aria-label = Calendar diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/extensionPermissions.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/extensionPermissions.ftl new file mode 100644 index 0000000000000000000000000000000000000000..b6eaebb9492992e4614711ce0fd15e7b6af83b3c --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/extensionPermissions.ftl @@ -0,0 +1,33 @@ +# 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/. + + +## Extension permission description keys are derived from permission names. +## Permissions for which the message has been changed and the key updated +## must have a corresponding entry in the `PERMISSION_L10N_ID_OVERRIDES` map. + +webext-perms-description-bookmarks = Comharran-lìn a leughadh is atharrachadh +webext-perms-description-browserSettings = roghainnean a’ bhrabhsair a leughadh is atharrachadh +webext-perms-description-browsingData = an eachdraidh brabhsaidh, briosgaidean is dàta co-cheangailte eile fhalamhachadh +webext-perms-description-clipboardRead = Faigh an dàta on stòr-bhòrd +webext-perms-description-clipboardWrite = dàta a chur air an stòr-bhòrd +webext-perms-description-declarativeNetRequest = Bac susbaint air duilleag sam bith +webext-perms-description-declarativeNetRequestFeedback = An eachdraidh brabhsaidh agad a leughadh +webext-perms-description-devtools = innealan luchd-leasachaidh a leudachadh ach am faigh iad cothrom air an dàta agad ann an tabaichean fosgailte +webext-perms-description-downloads = Faidhlichean a luchdadh a-nuas agus eachdraidh nan luchdaidhean a-nuas aig a’ bhrabhsair a leughadh is atharrachadh +webext-perms-description-downloads-open = faidhlichean a chaidh a luchdadh a-nuas dhan choimpiutair agad fhosgladh +webext-perms-description-find = an teacsa air gach taba fosgailte a leughadh +webext-perms-description-geolocation = cothrom fhaighinn air d’ ionad +webext-perms-description-history = Cothrom fhaighinn air an eachdraidh bhrabhsaidh +webext-perms-description-management = sùil a chumail air caitheamh nan leudachan agus ùrlaran a stiùireadh +webext-perms-description-nativeMessaging = Teachdaireachdan a chur is fhaighinn o phrògraman eile seach { -brand-short-name } +webext-perms-description-notifications = Brathan a shealltainn dhut +webext-perms-description-pkcs11 = seirbheisean dearbhaidh crioptografach a sholar +webext-perms-description-privacy = Roghainnean na prìobhaideachd a leughadh is atharrachadh +webext-perms-description-proxy = roghainnean progsaidh a’ bhrabhsair a stiùireadh +webext-perms-description-sessions = Cothrom fhaighinn air tabaichean a dhùin thu o chionn goirid +webext-perms-description-tabs = Cothrom fhaighinn air tabaichean a’ bhrabhsair +webext-perms-description-tabHide = Falaich is seall tabaichean a’ bhrabhsair +webext-perms-description-topSites = Cothrom fhaighinn air an eachdraidh bhrabhsaidh +webext-perms-description-webNavigation = Cothrom fhaighinn air gnìomhachd a’ bhrabhsair rè seòladaireachd diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/extensions.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/extensions.ftl new file mode 100644 index 0000000000000000000000000000000000000000..c6c6c4c2a7f51cd6a74207a823f6b15e9a0decfa --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/extensions.ftl @@ -0,0 +1,116 @@ +# 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/. + + +## Headers used in the webextension permissions dialog, +## See https://bug1308309.bmoattachments.org/attachment.cgi?id=8814612 +## for an example of the full dialog. +## Note: This string will be used as raw markup. Avoid characters like <, >, & +## Variables: +## $extension (String): replaced with the localized name of the extension. + +webext-perms-header = A bheil thu airson { $extension } a chur ris? +webext-perms-header-with-perms = A bheil thu airson { $extension } a chur ris? Seo na dh’fhaodas an leudachan: +webext-perms-header-unsigned = A bheil thu airson { $extension } a chur ris? An aire: Cha deach an leudachan seo a dhearbhadh. Goididh leudachain dhroch-rùnach fiosrachadh prìobhaideach ort no millidh iad an coimpiutair agad. Na stàlaich an leudachan seo ach ma tha earbsa agad san tùs. +webext-perms-header-unsigned-with-perms = A bheil thu airson { $extension } a chur ris? An aire: Cha deach an leudachan seo a dhearbhadh. Goididh leudachain dhroch-rùnach fiosrachadh prìobhaideach ort no millidh iad an coimpiutair agad. Na stàlaich an leudachan seo ach ma tha earbsa agad san tùs. Seo na dh’fhaodas an leudachan: +webext-perms-sideload-header = Chaidh { $extension } a chur ris +webext-perms-optional-perms-header = Tha { $extension } ag iarraidh ceadan a bharrachd. + +## + +webext-perms-add = + .label = Cuir ris + .accesskey = C +webext-perms-cancel = + .label = Sguir dheth + .accesskey = S + +webext-perms-sideload-text = Stàlaich prògram eile air a’ choimpiutair agad tuilleadan agus dh’fhaoidte gu bheil buaidh aige air a’ bhrabhsair agad. Thoir sùil air na tha an tuilleadan ag iarraidh de cheadan agus tagh “Cuir an comas” no “Sguir dheth” (airson fhàgail à comas). +webext-perms-sideload-text-no-perms = Stàlaich prògram eile air a’ choimpiutair agad tuilleadan agus dh’fhaoidte gu bheil buaidh aige air a’ bhrabhsair agad. Tagh “Cuir an comas” no “Sguir dheth” (airson fhàgail à comas). +webext-perms-sideload-enable = + .label = Cuir an comas + .accesskey = u +webext-perms-sideload-cancel = + .label = Sguir dheth + .accesskey = S + +# Variables: +# $extension (String): replaced with the localized name of the extension. +webext-perms-update-text = Chaidh { $extension } ùrachadh. Feumaidh tu aontachadh ris na ceadan ùra mus dèid an tionndadh ùr a stàladh. Ma thaghas tu “Sguir dheth”, thèid an leudachan làithreach a ghlèidheadh. Seo na dh’fhaodas an leudachan: +webext-perms-update-accept = + .label = Ùraich + .accesskey = r + +webext-perms-optional-perms-list-intro = Tha e ag iarraidh na leanas: +webext-perms-optional-perms-allow = + .label = Ceadaich + .accesskey = a +webext-perms-optional-perms-deny = + .label = Diùlt + .accesskey = D + +webext-perms-host-description-all-urls = Cothrom fhaighinn air an dàta agad airson a h-uile làrach-lìn + +# Variables: +# $domain (String): will be replaced by the DNS domain for which a webextension is requesting access (e.g., mozilla.org) +webext-perms-host-description-wildcard = Cothrom fhaighinn air an dàta air fad agad airson làraichean air an àrainn { $domain } + +# Variables: +# $domainCount (Number): Integer indicating the number of additional +# hosts for which this webextension is requesting permission. +webext-perms-host-description-too-many-wildcards = + { $domainCount -> + [one] Cothrom fhaighinn air an dàta agad air { $domainCount } àrainn eile + [two] Cothrom fhaighinn air an dàta agad air { $domainCount } àrainn eile + [few] Cothrom fhaighinn air an dàta agad air { $domainCount } àrainnean eile + *[other] Cothrom fhaighinn air an dàta agad air { $domainCount } àrainn eile + } +# Variables: +# $domain (String): will be replaced by the DNS host name for which a webextension is requesting access (e.g., www.mozilla.org) +webext-perms-host-description-one-site = Cothrom fhaighinn air an dàta agad airson { $domain } + +# Variables: +# $domainCount (Number): Integer indicating the number of additional +# hosts for which this webextension is requesting permission. +webext-perms-host-description-too-many-sites = + { $domainCount -> + [one] Cothrom fhaighinn air an dàta agad air { $domainCount } làrach eile + [two] Cothrom fhaighinn air an dàta agad air { $domainCount } làrach eile + [few] Cothrom fhaighinn air an dàta agad air { $domainCount } làraichean eile + *[other] Cothrom fhaighinn air an dàta agad air { $domainCount } làrach eile + } + +## Headers used in the webextension permissions dialog for synthetic add-ons. +## The part of the string describing what privileges the extension gives should be consistent +## with the value of webext-site-perms-description-gated-perms-{sitePermission}. +## Note, this string will be used as raw markup. Avoid characters like <, >, & +## Variables: +## $hostname (String): the hostname of the site the add-on is being installed from. + +webext-site-perms-header-with-gated-perms-midi = Bheir an tuilleadan seo inntrigidh dha { $hostname } dha na h-uidheaman MIDI agad. +webext-site-perms-header-with-gated-perms-midi-sysex = Bheir an tuilleadan seo inntrigidh dha { $hostname } dha na h-uidheaman MIDI agad (le taic SysEx). + +## + +# This string is used as description in the webextension permissions dialog for synthetic add-ons. +# Note, the empty line is used to create a line break between the two sections. +# Note, this string will be used as raw markup. Avoid characters like <, >, & +webext-site-perms-description-gated-perms-midi = + ’S e uidheaman plug-in a bhios annta mar is trice, mar shinteisearan fuaime ach dh’fhaoidte cuideachd gum bi e am broinn a’ choimpiutair agad. + + Mar is trice, cha bhi cead-inntrigidh aig làraichean-lìn do dh’uidheaman MIDI. Tha cunnart ann gun èirich dochann no briseadh tèarainteachd ri linn mì-ghnìomh. + +## Headers used in the webextension permissions dialog. +## Note: This string will be used as raw markup. Avoid characters like <, >, & +## Variables: +## $extension (String): replaced with the localized name of the extension being installed. +## $hostname (String): will be replaced by the DNS host name for which a webextension enables permissions. + +webext-site-perms-header-with-perms = A bheil thu airson { $extension } a chur ris? Bheir an leudachan seo na comasan a leanas dha { $hostname }: +webext-site-perms-header-unsigned-with-perms = A bheil thu airson { $extension } a chur ris? Cha deach an leudachan seo a dhearbhadh. Goididh leudachain dhroch-rùnach fiosrachadh prìobhaideach ort no millidh iad an coimpiutair agad. Na stàlaich an leudachan seo ach ma tha earbsa agad san tùs. Bheir an leudachan seo na comasan a leanas dha { $hostname }: + +## These should remain in sync with permissions.NAME.label in sitePermissions.properties + +webext-site-perms-midi = Cothrom fhaighinn air uidheaman MIDI +webext-site-perms-midi-sysex = Cothrom fhaighinn air uidheama MIDI le taic SysEx diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/handlerDialog.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/handlerDialog.ftl new file mode 100644 index 0000000000000000000000000000000000000000..93e0669f1a6c0b4d294b5be81cdb98242a4e24f8 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/handlerDialog.ftl @@ -0,0 +1,104 @@ +# 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/. + + +## Permission Dialog +## Variables: +## $host - the hostname that is initiating the request +## $scheme - the type of link that's being opened. +## $appName - Name of the application that will be opened. +## $extension - Name of extension that initiated the request + + +## Permission Dialog +## Variables: +## $host (string) - The hostname that is initiating the request +## $scheme (string) - The type of link that's being opened. +## $appName (string) - Name of the application that will be opened. +## $extension (string) - Name of extension that initiated the request + +permission-dialog-description = A bheil thu airson cead a thoirt dhan làrach seo gum fosgail i ceangal { $scheme }? + +permission-dialog-description-file = A bheil thu airson cead a thoirt dhan fhaidhle seo gum fosgail e ceangal { $scheme }? + +permission-dialog-description-host = A bheil thu airson cead a thoirt dha { $host } gum fosgail e ceangal { $scheme }? + +permission-dialog-description-extension = Allow the extension { $extension } to open the { $scheme } link? + +permission-dialog-description-app = A bheil thu airson cead a thoirt dhan làrach seo gum fosgail i ceangal { $scheme } le { $appName }? + +permission-dialog-description-host-app = A bheil thu airson cead a thoirt dha { $host } gum fosgail e ceangal { $scheme } le { $appName }? + +permission-dialog-description-file-app = A bheil thu airson cead a thoirt dhan fhaidhle seo gum fosgail e ceangal { $scheme } le { $appName }? + +permission-dialog-description-extension-app = Allow the extension { $extension } to open the { $scheme } link with { $appName }? + +## Please keep the emphasis around the hostname and scheme (ie the +## `<strong>` HTML tags). Please also keep the hostname as close to the start +## of the sentence as your language's grammar allows. + + +## Please keep the emphasis around the hostname and scheme (ie the +## `<strong>` HTML tags). Please also keep the hostname as close to the start +## of the sentence as your language's grammar allows. +## Variables: +## $host (string) - The hostname that is initiating the request +## $scheme (string) - The type of link that's being opened. + +permission-dialog-remember = Thoir cead dha <strong>{ $host }</strong> gum fosgail e ceanglaichean <strong>{ $scheme }</strong> an-còmhnaidh + +permission-dialog-remember-file = Thoir cead dhan fhaidhle seo gum fosgail e ceanglaichean <strong>{ $scheme }</strong> an-còmhnaidh + +permission-dialog-remember-extension = Always allow this extension to open <strong>{ $scheme }</strong> links + +## + +permission-dialog-btn-open-link = + .label = Fosgail an ceangal + .accessKey = o + +permission-dialog-btn-choose-app = + .label = Tagh aplacaid + .accessKey = a + +permission-dialog-unset-description = Feumaidh tu aplacaid a thaghadh. + +permission-dialog-set-change-app-link = Tagh aplacaid eile. + +## Chooser dialog +## Variables: +## $scheme - the type of link that's being opened. + + +## Chooser dialog +## Variables: +## $scheme (string) - The type of link that's being opened. + +chooser-window = + .title = Tagh aplacaid + .style = min-width: 26em; min-height: 26em; + +chooser-dialog = + .buttonlabelaccept = Fosgail an ceangal + .buttonaccesskeyaccept = o + +chooser-dialog-description = Tagh an aplacaid a dh’fhosglas ceangal { $scheme }. + +# Please keep the emphasis around the scheme (ie the `<strong>` HTML tags). +chooser-dialog-remember = Cleachd an aplacaid seo an-còmhnaidh airson ceanglaichean <strong>{ $scheme }</strong> fhosgladh + +chooser-dialog-remember-extra = + { PLATFORM() -> + [windows] ’S urrainn dhut seo atharrachadh ann an roghainnean { -brand-short-name }. + *[other] ’S urrainn dhut seo atharrachadh ann an roghainnean { -brand-short-name }. + } + +choose-other-app-description = Tagh aplacaid eile +choose-app-btn = + .label = Tagh… + .accessKey = h +choose-other-app-window-title = Aplacaid eile… + +# Displayed under the name of a protocol handler in the Launch Application dialog. +choose-dialog-privatebrowsing-disabled = À comas ann an uinneagan prìobhaideach diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/htmlForm.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/htmlForm.ftl new file mode 100644 index 0000000000000000000000000000000000000000..7cab3f59b7611477b1c642f1df442fc1230b4734 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/htmlForm.ftl @@ -0,0 +1,16 @@ +# 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/. + +# This string is shown at the end of the tooltip text for +# <input type='file' multiple> when there are more than 21 files selected +# (when we will only list the first 20, plus an "and X more" line). +# Variables: +# $fileCount (Number): The number of remaining files. +input-file-and-more-files = + { $fileCount -> + [one] agus { $fileCount } a bharrachd + [two] agus { $fileCount } a bharrachd + [few] agus { $fileCount } a bharrachd + *[other] agus { $fileCount } a bharrachd + } diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/mozFiveStar.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/mozFiveStar.ftl new file mode 100644 index 0000000000000000000000000000000000000000..199974845931004b3465aac9026601ddc1465137 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/mozFiveStar.ftl @@ -0,0 +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/. + +# The rating out of 5 stars. +# Variables: +# $rating (number) - A number between 0 and 5. The translation should show at most one digit after the comma. +moz-five-star-rating = + .title = Rangachadh { NUMBER($rating, maximumFractionDigits: 1) } à 5 diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/mozMessageBar.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/mozMessageBar.ftl new file mode 100644 index 0000000000000000000000000000000000000000..9a15a5ce8d0418fb1fd60acea02237352a0a37f1 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/mozMessageBar.ftl @@ -0,0 +1,7 @@ +# 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/. + +moz-message-bar-close-button = + .aria-label = Close + .title = Close diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/notification.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/notification.ftl new file mode 100644 index 0000000000000000000000000000000000000000..d37c53772d0f7e781b198f36c6689c87a1d5cf4f --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/notification.ftl @@ -0,0 +1,16 @@ +# 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/. + +notification-learnmore-default-label = + .value = Barrachd fiosrachaidh + +# 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 = Close + .title = Close + +close-notification-message = + .tooltiptext = Dùin an teachdaireachd seo diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/popupnotification.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/popupnotification.ftl new file mode 100644 index 0000000000000000000000000000000000000000..070fba0a96315514973d29913fbf817261b8eb60 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/popupnotification.ftl @@ -0,0 +1,10 @@ +# 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/. + +popup-notification-learn-more = Barrachd fiosrachaidh +popup-notification-more-actions-button = + .aria-label = Barrachd ghnìomhan +popup-notification-default-button = + .label = Ceart ma-thà! + .accesskey = C diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/processTypes.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/processTypes.ftl new file mode 100644 index 0000000000000000000000000000000000000000..a97c6925ca40108994182fcb103b1c59a501a22d --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/processTypes.ftl @@ -0,0 +1,61 @@ +# 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/. + + +## +## Localization for remote types defined in RemoteType.h +## + +process-type-web = Web Content + +# process used to run privileged about pages, +# such as about:home +process-type-privilegedabout = Duilleag “Mu dhèidhinn” le pribhleidean + +# process used to run privileged mozilla pages, +# such as accounts.firefox.com +process-type-privilegedmozilla = Susbaint Mozilla le pribhleidean + +process-type-extension = Extension + +# process used to open file:// URLs +process-type-file = Local File + +# process used to isolate a webpage from other web pages +# to improve security +process-type-webisolated = Susbaint-lìn fa leth + +# process used to isolate a ServiceWorker to improve +# performance +process-type-webserviceworker = Isolated Service Worker + +# process preallocated; may change to other types +process-type-prealloc = Ro-riaraichte + +## +## Localization for Gecko process types defined in GeckoProcessTypes.h +## + +process-type-default = Main +process-type-tab = Taba + +# process used to communicate with the GPU for +# graphics acceleration +process-type-gpu = GPU + +# process used to perform network operations +process-type-socket = Socaid + +# process used to decode media +process-type-rdd = RDD + +# process used to run some IPC actor in their own sandbox +process-type-utility = Sandboxed IPC Actor + +## +## Other +## + +# fallback +process-type-unknown = Chan eil fhios diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/profileDowngrade.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/profileDowngrade.ftl new file mode 100644 index 0000000000000000000000000000000000000000..1f696ab3548bf6ef8d30fc5a9317e29bf83ade88 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/profileDowngrade.ftl @@ -0,0 +1,20 @@ +# 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/. + +profiledowngrade-window2 = + .title = Chuir thu gu dol seann-tionndadh de { -brand-product-name } + .style = min-width: 490px; + +profiledowngrade-window-create = + .label = Cruthaich pròifil ùr + +profiledowngrade-sync = Ma chleachdas tu seann-tionndadh de { -brand-product-name }, faodaidh gun truaill sin na comharran-lìn agus eachdraidh a’ bhrabhsaidh a chaidh a shàbhaladh ann am pròifil { -brand-product-name } làithreach. Gus am fiosrachadh agad a dhìon, cruthaich pròifil ùr airson an stàladh seo de { -brand-short-name }. ’S urrainn dhut clàradh a-steach le { -fxaccount-brand-name } gus na comharran-lìn agus eachdraidh a’ bhrabhsaidh agad a shioncronachadh eadar pròifilean. +profiledowngrade-nosync = Ma chleachdas tu seann-tionndadh de { -brand-product-name }, faodaidh gun truaill sin na comharran-lìn agus eachdraidh a’ bhrabhsaidh a chaidh a shàbhaladh ann am pròifil { -brand-product-name } làithreach. Gus am fiosrachadh agad a dhìon, cruthaich pròifil ùr airson an stàladh seo de { -brand-short-name }. + +profiledowngrade-quit = + .label = + { PLATFORM() -> + [windows] Fàg an-seo + *[other] Fàg an-seo + } diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/profileSelection.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/profileSelection.ftl new file mode 100644 index 0000000000000000000000000000000000000000..1ebc3585ed299a97787ea9d373a763234466f376 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/profileSelection.ftl @@ -0,0 +1,38 @@ +# 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/. + +profile-selection-window = + .title = { -brand-short-name } - Tagh pròifil cleachdaiche + +profile-selection-button-accept = + .label = Tòisich { -brand-short-name } + +profile-selection-button-cancel = + .label = Fàg an-seo + +profile-selection-new-button = + .label = Cruthaich pròifil… + .accesskey = C + +profile-selection-rename-button = + .label = Cuir ainm ùr air pròifil… + .accesskey = r + +profile-selection-delete-button = + .label = Sguab às pròifil… + .accesskey = S + +profile-selection-conflict-message = Rinn lethbhreac eile de { -brand-product-name } atharraichean air pròifilean. Feumaidh tu { -brand-short-name } ath-thòiseachadh mus atharraich thu dad eile. + +## Messages used in the profile manager + +profile-manager-description = Sàbhalaidh { -brand-short-name } fiosrachadh mu na roghainnean is rudan eile agad 'nad phròifil. + +profile-manager-work-offline = + .label = Dèan obair far loidhne + .accesskey = o + +profile-manager-use-selected = + .label = Cleachd a' phròifil a thagh mi 's na faighnich dhìom nuair a thòisicheas e + .accesskey = s diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/resetProfile.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/resetProfile.ftl new file mode 100644 index 0000000000000000000000000000000000000000..b6350f07e71d1ec68fc91334dded47c976a18cc0 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/resetProfile.ftl @@ -0,0 +1,15 @@ +# 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/. + +refresh-profile-dialog-title = A bheil thu airson { -brand-short-name } ath-shuidheachadh air na bun-roghainnean? +refresh-profile-dialog-button = + .label = Ath-nuadhaich { -brand-short-name } +refresh-profile-dialog-description = Dèan toiseach-tòiseachaidh ùr airson duilgheadasan leis an dèanadas a chàradh. Bheir seo air falbh na leudachain ’ na gnàthachaidhean agad. Cha chaill thu fiosrachadh deatamach mar chomharran-lìn is faclan-faire. +refresh-profile = Cuir { -brand-short-name } air gleus +refresh-profile-button = Ath-nuadhaich { -brand-short-name }… +refresh-profile-learn-more = Barrachd fiosrachaidh + +refresh-profile-progress = + .title = Ath-nuadhaich { -brand-short-name } +refresh-profile-progress-description = Cha mhòr deiseil… diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/run-from-dmg.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/run-from-dmg.ftl new file mode 100644 index 0000000000000000000000000000000000000000..1028ed7dfcf28f062a1695f95026654b3d432aa8 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/run-from-dmg.ftl @@ -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/. + + +## Strings for a dialog that may open on macOS before the app's main window +## opens. The dialog prompts the user to allow the app to install itself in an +## appropriate location before relaunching itself from that location if the +## user accepts. + +prompt-to-install-title = A bheil thu airson stàladh { -brand-short-name } a choileanad? +prompt-to-install-message = Coilean an stàladh aon cheum seo airson { -brand-short-name } a chumail ùraichte agus airson ’s nach caill thu dàta. Thèid { -brand-short-name } a chur ri pasgan nan aplacaidean agad agus ris an doca. +prompt-to-install-yes-button = Stàlaich +prompt-to-install-no-button = Na stàlaich + +## Strings for a dialog that opens if the installation failed. + +install-failed-title = Dh’fhàillig stàladh { -brand-short-name }. +install-failed-message = Dh’fhàillig stàladh { -brand-short-name } ach tha e na ruith fhathast. + +## Strings for a dialog that recommends to the user to start an existing +## installation of the app in the Applications directory if one is detected, +## rather than the app that was double-clicked in a .dmg. + +prompt-to-launch-existing-app-title = A bheil thu airson aplacaid { -brand-short-name } làithreach fhosgladh? +prompt-to-launch-existing-app-message = Tha { -brand-short-name } stàlaichte agad mu thràth. Cleachd an aplacaid a stàlaich thu airson a chumail ùraichte agus airson ’s nach caill thu dàta. +prompt-to-launch-existing-app-yes-button = Fosgail am fear làithreach +prompt-to-launch-existing-app-no-button = Cha tòisich, mòran taing diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/tabprompts.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/tabprompts.ftl new file mode 100644 index 0000000000000000000000000000000000000000..baa767980e056511c3a6f3673e0c43f272a1bfce --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/tabprompts.ftl @@ -0,0 +1,13 @@ +# 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/. + +tabmodalprompt-username = + .value = Ainm a' chleachdaiche: +tabmodalprompt-password = + .value = Facal-faire: + +tabmodalprompt-ok-button = + .label = Ceart ma-thà +tabmodalprompt-cancel-button = + .label = Sguir dheth diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/textActions.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/textActions.ftl new file mode 100644 index 0000000000000000000000000000000000000000..027d7451d7648b04fedb8f77eff8638367b3ba17 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/textActions.ftl @@ -0,0 +1,79 @@ +# 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-action-undo = + .label = Neo-dhèan + .accesskey = N + +text-action-undo-shortcut = + .key = Z + +text-action-redo = + .label = Ath-dhèan + .accesskey = A + +text-action-redo-shortcut = + .key = Y + +text-action-cut = + .label = Gearr às + .accesskey = G + +text-action-cut-shortcut = + .key = X + +text-action-copy = + .label = Dèan lethbhreac + .accesskey = c + +text-action-copy-shortcut = + .key = C + +text-action-paste = + .label = Cuir ann + .accesskey = C + +text-action-paste-no-formatting = + .label = Cuir ann gun fhòrmatadh + .accesskey = m + +text-action-paste-shortcut = + .key = V + +text-action-delete = + .label = Sguab às + .accesskey = S + +text-action-select-all = + .label = Tagh a h-uile + .accesskey = T + +text-action-select-all-shortcut = + .key = A + +text-action-spell-no-suggestions = + .label = Gun mholaidhean litreachaidh + +text-action-spell-add-to-dictionary = + .label = Cuir ris an fhaclair + .accesskey = C + +text-action-spell-undo-add-to-dictionary = + .label = Neo-dhèan cur ris an fhaclair + .accesskey = N + +text-action-spell-check-toggle = + .label = Ceartaich an litreachadh + .accesskey = C + +text-action-spell-add-dictionaries = + .label = Cuir faclairean ris… + .accesskey = u + +text-action-spell-dictionaries = + .label = Cànain + .accesskey = n + +text-action-search-text-box-clear = + .title = Falamhaich diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/timepicker.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/timepicker.ftl new file mode 100644 index 0000000000000000000000000000000000000000..6fbe8159b2db12df85a3ecca3b73921192c6e43f --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/timepicker.ftl @@ -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 --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/tree.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/tree.ftl new file mode 100644 index 0000000000000000000000000000000000000000..46aae4a6759677136fc6136a54bc03a483eca310 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/tree.ftl @@ -0,0 +1,6 @@ +# 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/. + +tree-columnpicker-restore-order = + .label = Aisig òrdugh nan colbh diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/unknownContentType.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/unknownContentType.ftl new file mode 100644 index 0000000000000000000000000000000000000000..80ee7903878b4c8b3da67d6c8fd4a8fe2ac49bdb --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/unknownContentType.ftl @@ -0,0 +1,42 @@ +# 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/. + +unknowncontenttype-handleinternally = + .label = Fosgail le { -brand-short-name } + .accesskey = e + +unknowncontenttype-settingschange = + .value = + { PLATFORM() -> + [windows] 'S urrainn dhut na roghainnean atharrachadh ann an roghainnean { -brand-short-name }. + *[other] 'S urrainn dhut na roghainnean atharrachadh ann an roghainnean { -brand-short-name }. + } + +unknowncontenttype-intro = Chuir thu romhad na leanas fhosgladh: +unknowncontenttype-which-is = a tha 'na: +unknowncontenttype-from = o: +unknowncontenttype-prompt = A bheil thu airson am faidhle seo a shàbhaladh? +unknowncontenttype-action-question = Dè nì { -brand-short-name } leis an fhaidhle seo? +unknowncontenttype-open-with = + .label = Fosgail le + .accesskey = o +unknowncontenttype-other = + .label = Eile… +unknowncontenttype-choose-handler = + .label = + { PLATFORM() -> + [macos] Tagh… + *[other] Brabhsaich… + } + .accesskey = + { PLATFORM() -> + [macos] T + *[other] B + } +unknowncontenttype-save-file = + .label = Sàbhail am faidhle + .accesskey = S +unknowncontenttype-remember-choice = + .label = Dèantar seo leis fhèin le faidhlichean d' a leithid san àm ri teachd. + .accesskey = a diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/videocontrols.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/videocontrols.ftl new file mode 100644 index 0000000000000000000000000000000000000000..53521b0bdfe3b9adc6cc7f3154f86434d0a1dbd6 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/videocontrols.ftl @@ -0,0 +1,74 @@ +# 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/. + +# This label is used by screenreaders and other assistive technology to indicate +# to users how much of the video has been loaded from the network. It will be +# followed by the percentage of the video that has loaded (e.g. "Loading: 13%"). +videocontrols-buffer-bar-label = ’Ga luchdadh: +videocontrols-volume-control = + .aria-label = Àirde na fuaime +videocontrols-closed-caption-button = + .aria-label = Fo-thiotalan + +videocontrols-play-button = + .aria-label = Cluich +videocontrols-pause-button = + .aria-label = Cuir 'na stad +videocontrols-mute-button = + .aria-label = Tostaich +videocontrols-unmute-button = + .aria-label = Till an fhuaim +videocontrols-enterfullscreen-button = + .aria-label = Làn-sgrìn +videocontrols-exitfullscreen-button = + .aria-label = Fàg an làn-sgrìn +videocontrols-casting-button-label = + .aria-label = Tilg air an sgrìn +videocontrols-closed-caption-off = + .offlabel = Dheth + +# This string is used as part of the Picture-in-Picture video toggle button when +# the mouse is hovering it. +videocontrols-picture-in-picture-label = Dealbh am broinn deilbh + +# This string is used as the label for a variation of the Picture-in-Picture video +# toggle button when the mouse is hovering over the video. +videocontrols-picture-in-picture-toggle-label2 = Priob a-mach a’ video seo + +# This string is used as part of a variation of the Picture-in-Picture video toggle +# button. When using this variation, this string appears below the toggle when the +# mouse hovers the toggle. +videocontrols-picture-in-picture-explainer3 = Pailteas sgrìnichean, pailteas spòrs. Cluich a’ video seo fhad ’s a bhios tu ri rudan eile. + +videocontrols-error-aborted = Sguireadh de luchdadh a' video. +videocontrols-error-network = Sguireadh cluich a' video air sgàth mearachd lìonraidh. +videocontrols-error-decode = Cha ghabh a' video a chluich a chionn 's gu bheil am faidhle coirbte. +videocontrols-error-src-not-supported = Chan eil taic ann ri fòrmat a' video no an seòrsa MIME. +videocontrols-error-no-source = Cha deach video a lorg aig a bheil fòrmat no seòrsa MIME a tha taic ris. +videocontrols-error-generic = Sguireadh de chluich a' video air sgàth mearachd neo-aithnichte. +videocontrols-status-picture-in-picture = Tha a’ video seo a’ cluich sa mhodh dealbh am broinn deilbh. + +# This message shows the current position and total video duration +# +# Variables: +# $position (String): The current media position +# $duration (String): The total video duration +# +# For example, when at the 5 minute mark in a 6 hour long video, +# $position would be "5:00" and $duration would be "6:00:00", result +# string would be "5:00 / 6:00:00". Note that $duration is not always +# available. For example, when at the 5 minute mark in an unknown +# duration video, $position would be "5:00" and the string which is +# surrounded by <span> would be deleted, result string would be "5:00". +videocontrols-position-and-duration-labels = { $position }<span data-l10n-name="position-duration-format"> / { $duration }</span> + +# This is a plain text version of the videocontrols-position-and-duration-labels +# string, used by screenreaders. +# +# Variables: +# $position (String): The current media position +# $duration (String): The total video duration +videocontrols-scrubber-position-and-duration = + .aria-label = Ionad + .aria-valuetext = { $position } / { $duration } diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/global/wizard.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/global/wizard.ftl new file mode 100644 index 0000000000000000000000000000000000000000..fe3980966d8e463bebd2e8fe9b3bfc07db63b5c8 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/global/wizard.ftl @@ -0,0 +1,37 @@ +# 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/. + +wizard-macos-button-back = + .label = Air ais + .accesskey = A +wizard-linux-button-back = + .label = Air ais + .accesskey = A +wizard-win-button-back = + .label = < Air ais + .accesskey = A + +wizard-macos-button-next = + .label = Lean air adhart + .accesskey = L +wizard-linux-button-next = + .label = Air adhart + .accesskey = A +wizard-win-button-next = + .label = Air adhart > + .accesskey = A + +wizard-macos-button-finish = + .label = Dèanta +wizard-linux-button-finish = + .label = Crìochnaich +wizard-win-button-finish = + .label = Crìochnaich + +wizard-macos-button-cancel = + .label = Sguir dheth +wizard-linux-button-cancel = + .label = Sguir dheth +wizard-win-button-cancel = + .label = Sguir dheth diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/intl/languageNames.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/intl/languageNames.ftl new file mode 100644 index 0000000000000000000000000000000000000000..f78ecb9e5bebf241ea372b56e94eeaebd75c9c8e --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/intl/languageNames.ftl @@ -0,0 +1,214 @@ +# 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/. + +language-name-aa = Afar +language-name-ab = Abchasais +language-name-ach = Acholi +language-name-ae = Avestanais +language-name-af = Afrikaans +language-name-ak = Akan +language-name-am = Amtharais +language-name-an = Aragonais +language-name-ar = Arabais +language-name-as = Asamais +language-name-ast = Astùrais +language-name-av = Avarais +language-name-ay = Aymara +language-name-az = Asarbaideànais +language-name-ba = Bashkir +language-name-be = Bealaruisis +language-name-bg = Bulgairis +language-name-bh = Bihari +language-name-bi = Bislama +language-name-bm = Bambara +language-name-bn = Beangailis +language-name-bo = Tibeitis +language-name-br = Breatnais +language-name-bs = Bosnais +language-name-ca = Catalanais +language-name-cak = Kaqchikel +language-name-ce = Deideanais +language-name-ch = Chamorro +language-name-co = Corsais +language-name-cr = Cree +language-name-crh = Tatarais a’ Chriom +language-name-cs = Seicis +language-name-csb = Kashubian +language-name-cu = Slàbhais na h-Eaglaise +language-name-cv = Chuvash +language-name-cy = Cuimris +language-name-da = Danmhairgis +language-name-de = Gearmailtis +language-name-dsb = Sòrbais Ìochdarach +language-name-dv = Divehi +language-name-dz = Dzongkha +language-name-ee = Ewe +language-name-el = Greugais +language-name-en = Beurla +language-name-eo = Esperanto +language-name-es = Spàinntis +language-name-et = Estonais +language-name-eu = Basgais +language-name-fa = Farsaidh +language-name-ff = Fulah +language-name-fi = Suomais +language-name-fj = Fìdis +language-name-fo = Fàrothais +language-name-fr = Fraingis +language-name-fur = Friùilis +language-name-fy = Frìsis +language-name-ga = Gaeilge +language-name-gd = Gàidhlig +language-name-gl = Gailìsis +language-name-gn = Guaraní +language-name-gu = Gujarati +language-name-gv = Gaelg +language-name-ha = Hausa +language-name-haw = Cànan Hawai'i +language-name-he = Eabhra +language-name-hi = Hindis +language-name-hil = Hiligaynon +language-name-ho = Hiri Motu +language-name-hr = Cròthaisis +language-name-hsb = Sòrbais Uachdarach +language-name-ht = Crìtheol Haidhti +language-name-hu = Ungairis +language-name-hy = Airmeinis +language-name-hz = Herero +language-name-ia = Interlingua +language-name-id = Innd-innsis +language-name-ie = Interlingue +language-name-ig = Igbo +language-name-ii = Yi Sichuan +language-name-ik = Inupiaq +language-name-io = Ido +language-name-is = Innis-tìlis +language-name-it = Eadailtis +language-name-iu = Inuktitut +language-name-ja = Seapanais +language-name-jv = Deàbhanais +language-name-ka = Cairtbheilis +language-name-kab = Kabyle +language-name-kg = Kongo +language-name-ki = Kikuyu +language-name-kj = Kuanyama +language-name-kk = Casachais +language-name-kl = Graonlannais +language-name-km = Cmèar +language-name-kn = Kannada +language-name-ko = Coireanais +language-name-kok = Konkani +language-name-kr = Kanuri +language-name-ks = Caismiris +language-name-ku = Cùrdais +language-name-kv = Komi +language-name-kw = Còrnais +language-name-ky = Cìorgais +language-name-la = Laideann +language-name-lb = Lugsamburgais +language-name-lg = Ganda +language-name-li = Liomburgais +language-name-lij = Liogùrais +language-name-ln = Lingala +language-name-lo = Làtho +language-name-lt = Liotuainis +language-name-ltg = Latgalian +language-name-lu = Luba-Katanga +language-name-lv = Laitbheis +language-name-mai = Maithili +language-name-meh = Mixtec Tlaxiaco Iar-dheasach +language-name-mg = Malagasais +language-name-mh = Marshallais +language-name-mi = Māori +language-name-mix = Mixtec Mixtepec +language-name-mk = Masadonais +language-name-ml = Malayalam +language-name-mn = Mongolais +language-name-mr = Marathi +language-name-ms = Malaidhis +language-name-mt = Maltais +language-name-my = Burmais +language-name-na = Nauru +language-name-nb = Bokmål na Nirribhidh +language-name-nd = Ndebele a Tuath +language-name-ne = Neapàilis +language-name-ng = Ndonga +language-name-nl = Duitsis +language-name-nn = Nynorsk na Nirribhidh +language-name-no = Nirribhis +language-name-nr = Ndebele a Deas +language-name-nso = Soto a Tuatha +language-name-nv = Navajo +language-name-ny = Chichewa +language-name-oc = Ogsatanais +language-name-oj = Ojibwa +language-name-om = Oromo +language-name-or = Odia +language-name-os = Osàidis +language-name-pa = Panjabi +language-name-pi = Pali +language-name-pl = Pòlainnis +language-name-ps = Paistiu +language-name-pt = Portagailis +language-name-qu = Ceatsua +language-name-rm = Rumains +language-name-rn = Kirundi +language-name-ro = Ròmanais +language-name-ru = Ruisis +language-name-rw = Kinyarwanda +language-name-sa = Sanskrit +language-name-sc = Sardainis +language-name-sco = Beurla Ghallda +language-name-sd = Sindhi +language-name-se = Sàmi a Tuath +language-name-sg = Sango +language-name-si = Singhala +language-name-sk = Slòbhacais +language-name-sl = Slòbhainis +language-name-sm = Samothanais +language-name-sn = Shona +language-name-so = Somàilis +language-name-son = Songhay +language-name-sq = Albanais +language-name-sr = Sèirbis +language-name-ss = Siswati +language-name-st = Soto a Deas +language-name-su = Sundanais +language-name-sv = Suainis +language-name-sw = Swahili +language-name-szl = Silèiseach +language-name-ta = Taimil +language-name-te = Telugu +language-name-tg = Taidigis +language-name-th = Tàidh +language-name-ti = Tigrinya +language-name-tig = Tigre +language-name-tk = Turcmanais +language-name-tl = Tagalog +language-name-tlh = Klingon +language-name-tn = Tswana +language-name-to = Tonga +language-name-tr = Turcais +language-name-trs = Triqui +language-name-ts = Tsonga +language-name-tt = Tatarais +language-name-tw = Twi +language-name-ty = Cànan Tahiti +language-name-ug = Ùigiurais +language-name-uk = Ucràinis +language-name-ur = Urdu +language-name-uz = Usbagais +language-name-ve = Venda +language-name-vi = Bhiet-Namais +language-name-vo = Volapük +language-name-wa = Bhallonais +language-name-wen = Sòrbais +language-name-wo = Wolof +language-name-xh = Xhosa +language-name-yi = Iùdhais +language-name-yo = Yoruba +language-name-za = Zhuang +language-name-zam = Zapotec Mhiahuatlán +language-name-zh = Sìnis +language-name-zu = Zulu diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/intl/regionNames.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/intl/regionNames.ftl new file mode 100644 index 0000000000000000000000000000000000000000..099cb5c690b3f7c5e9c5ea37ab0f88a75279ab43 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/intl/regionNames.ftl @@ -0,0 +1,280 @@ +# 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/. + + +### Notice: If you're updating this list, you should also +### update the list in mozIntl.js. + +region-name-ad = Andorra +region-name-ae = Na h-Iomaratan Arabach Aonaichte +region-name-af = Afghanastàn +region-name-ag = Aintìoga is Barbuda +region-name-ai = Anguilla +region-name-al = Albàinia +region-name-am = Airmeinia +region-name-ao = Angòla +region-name-aq = An Antartaig +region-name-ar = An Argantain +region-name-as = Samotha na h-Airmeireaga +region-name-at = An Ostair +region-name-au = Astràilia +region-name-aw = Arùba +region-name-az = Asarbaideàn +region-name-ba = Bosna is Hearsagobhana +region-name-bb = Barbados +region-name-bd = Bangladais +region-name-be = A' Bheilg +region-name-bf = Buirciona Faso +region-name-bg = A' Bhulgair +region-name-bh = Bachrain +region-name-bi = Burundaidh +region-name-bj = Beinin +region-name-bl = Saint Barthélemy +region-name-bm = Bearmùda +region-name-bn = Brùnaigh +region-name-bo = Boilibhia +region-name-bq-2018 = Eileanan Caraibeach nan Tìrean Ìsle +region-name-br = Braisil +region-name-bs = Eileanan Bhathama +region-name-bt = Butàn +region-name-bv = Eilean Bouvet +region-name-bw = Botsuana +region-name-by = A' Bhealaruis +region-name-bz = Beilìs +region-name-ca = Canada +region-name-cc = Na h-Eileanan Cocos (Keeling) +region-name-cd = Congo (Kinshasa) +region-name-cf = Poblachd Meadhan Afraga +region-name-cg = Congo (Brazzaville) +region-name-ch = An Eilbheis +region-name-ci = Costa Ìbhri +region-name-ck = Eileanan Cook +region-name-cl = An t-Sile +region-name-cm = Camarun +region-name-cn = An t-Sìn +region-name-co = Coloimbia +region-name-cp = Clipperton Island +region-name-cr = Costa Rìcea +region-name-cu = Cùba +region-name-cv-2020 = An Ceap Uaine +region-name-cw = Curaçao +region-name-cx = Eilean na Nollaig +region-name-cy = Cìopras +region-name-cz-2019 = An t-Seic +region-name-de = A' Ghearmailt +region-name-dg = Diego Garcia +region-name-dj = Diobùtaidh +region-name-dk = An Danmhairg +region-name-dm = Doiminicea +region-name-do = A' Phoblachd Dhoiminiceach +region-name-dz = Aildiria +region-name-ec = Eacuador +region-name-ee = An Eastoin +region-name-eg = An Èiphit +region-name-eh = Sathara an Iar +region-name-er = Eartra +region-name-es = An Spàinn +region-name-et = An Itiop +region-name-fi = An Fhionnlann +region-name-fj = Fìdi +region-name-fk = Na h-Eileanan Fàclannach (Malvinas) +region-name-fm = Stàitean Feadarail nam Meanbh-eileanan +region-name-fo = Na h-Eileanan Fàro +region-name-fr = An Fhraing +region-name-ga = Gabon +region-name-gb = An Rìoghachd Aonaichte +region-name-gd = Greanàda +region-name-ge = A' Chairtbheil +region-name-gf = Guidheàna na Frainge +region-name-gg = Geàrnsaidh +region-name-gh = Gàna +region-name-gi = Diobraltar +region-name-gl = A' Ghraonlann +region-name-gm = A’ Ghaimbia +region-name-gn = Gini +region-name-gp = Guadalup +region-name-gq = Gini Mheadhan-Chriosach +region-name-gr = A' Ghreug +region-name-gs = Seòrsea a Deas is na h-Eileanan Sandwich a Deas +region-name-gt = Guatamala +region-name-gu = Guam +region-name-gw = Gini-Bioso +region-name-gy = Guidheàna +region-name-hk = Hong Kong +region-name-hm = Eilean Heard is MhicDhòmhnaill +region-name-hn = Hondùras +region-name-hr = A' Chròthais +region-name-ht = Haidhti +region-name-hu = An Ungair +region-name-id = Na h-Innd Innse +region-name-ie = Èirinn +region-name-il = Iosrael +region-name-im = Eilean Mhanainn +region-name-in = Na h-Innseachan +region-name-io = Ranntair Breatannach Cuan nan Innseachan +region-name-iq = Ioràc +region-name-ir = Ioràn +region-name-is = Innis Tìle +region-name-it = An Eadailt +region-name-je = Deàrsaidh +region-name-jm = Diameuga +region-name-jo = Iòrdan +region-name-jp = An t-Seapan +region-name-ke = Ceinia +region-name-kg = Cìorgastan +region-name-kh = Cambuidea +region-name-ki = Ciribeas +region-name-km = Comoros +region-name-kn = Naomh Crìstean is Nibheis +region-name-kp = Coirèa a Tuath +region-name-kr = Coirèa a Deas +region-name-kw = Cuibhèit +region-name-ky = Na h-Eileanan Caimean +region-name-kz = Casachstàn +region-name-la = Làthos +region-name-lb = Leabanon +region-name-lc = Naomh Lùisea +region-name-li = Lichtenstein +region-name-lk = Sri Lanca +region-name-lr = Libèir +region-name-ls = Leasoto +region-name-lt = An Liotuain +region-name-lu = Lugsamburg +region-name-lv = An Laitbhe +region-name-ly = Libia +region-name-ma = Moroco +region-name-mc = Monaco +region-name-md = A' Mholdobha +region-name-me = Am Monadh Neagrach +region-name-mf = Naomh Màrtainn +region-name-mg = Madagasgar +region-name-mh = Eileanan Mharshall +region-name-mk-2019 = A’ Mhasadon a Tuath +region-name-ml = Màili +region-name-mm = Miànmar +region-name-mn = Dùthaich nam Mongol +region-name-mo = Macàthu +region-name-mp = Na h-Eileanan Mairianach a Tuath +region-name-mq = Mairtinic +region-name-mr = Moratàinea +region-name-ms = Montsarat +region-name-mt = Malta +region-name-mu = Na h-Eileanan Mhoiriseas +region-name-mv = Na h-Eileanan Maladaibh +region-name-mw = Malabhaidh +region-name-mx = Meagsago +region-name-my = Malaidhsea +region-name-mz = Mòsaimbic +region-name-na = An Namaib +region-name-nc = Cailleann Nuadh +region-name-ne = Nìgeir +region-name-nf = Eilean Norfolk +region-name-ng = Nigèiria +region-name-ni = Niocaragua +region-name-nl = Na Tìrean Ìsle +region-name-no = An Nirribhidh +region-name-np = Neapàl +region-name-nr = Nabhru +region-name-nu = Niue +region-name-nz = Sealainn Nuadh +region-name-om = Omàn +region-name-pa = Panama +region-name-pe = Pearù +region-name-pf = Poilinèis na Frainge +region-name-pg = Gini Nuadh Phaputhach +region-name-ph = Na h-Eileanan Filipineach +region-name-pk = Pagastàn +region-name-pl = A' Phòlainn +region-name-pm = Saint Pierre is Miquelon +region-name-pn = Eileanan Pheit a’ Chàirn +region-name-pr = Porto Rìceo +region-name-pt = A' Phortagail +region-name-pw = Palabh +region-name-py = Paraguaidh +region-name-qa = Catar +region-name-qm = Eileanan Midway +region-name-qs = Bassas da India +region-name-qu = Eilean Juan de Nova +region-name-qw = Eilean Wake +region-name-qx = Eileanan Glorioso +region-name-qz = Akrotíri +region-name-re = Réunion +region-name-ro = Romàinia +region-name-rs = An t-Sèirb +region-name-ru = An Ruis +region-name-rw = Rubhanda +region-name-sa = Aràibia nan Sabhd +region-name-sb = Eileanan Sholaimh +region-name-sc = Na h-Eileanan Sheiseall +region-name-sd = Sudàn +region-name-se = An t-Suain +region-name-sg = Singeapòr +region-name-sh = Saint Helena, Eilean na Deasghabhalach is Tristan da Cunha +region-name-si = An t-Slòbhain +region-name-sk = An t-Slòbhac +region-name-sl = Siarra Leòmhann +region-name-sm = San Marino +region-name-sn = Seanagal +region-name-so = Somàilia +region-name-sr = Suranam +region-name-ss = Sudàn a Deas +region-name-st = São Tomé is Príncipe +region-name-sv = An Salbhador +region-name-sx = Sint Maarten +region-name-sy = Siridhea +region-name-sz-2019 = eSwatini +region-name-tc = Na h-Eileanan Turcach is Caiceo +region-name-td = An t-Seàd +region-name-tf = Talmhan Deasach is Antartaigeach na Frainge +region-name-tg = Togo +region-name-th = Dùthaich nan Tàidh +region-name-tj = Taidigeastàn +region-name-tk = Tokelau +region-name-tl = Tìomor an Ear +region-name-tm = Turcmanastàn +region-name-tn = Tuinisea +region-name-to = Tonga +region-name-tr = An Tuirc +region-name-tt = Trianaid is Tobago +region-name-tv = Tubhalu +region-name-tw = Taidh-Bhàn +region-name-tz = An Tansan +region-name-ua = An Ucràin +region-name-ug = Uganda +region-name-us = Na Stàitean Aonaichte +region-name-uy = Uruguaidh +region-name-uz = Usbagastan +region-name-va = Cathair na Bhatacain +region-name-vc = Naomh Bhionsant agus Eileanan Greanadach +region-name-ve = A' Bheiniseala +region-name-vg = Eileanan Breatannach na Maighdinn +region-name-vi = Eileanan na Maighdinn aig na Stàitean Aonaichte +region-name-vn = Bhiet-Nam +region-name-vu = Vanuatu +region-name-wf = Uallas agus Futuna +region-name-ws = Samotha +region-name-xa = Eileanan Ashmore is Cartier +region-name-xb = Eilean Baker +region-name-xc = Eileanan na Mara Gròmaiche +region-name-xd = Dhekélia +region-name-xe = Eilean Europa +region-name-xg = Bann Ghàsa +region-name-xh = Eilean Howland +region-name-xj = Jan Mayen +region-name-xk = A’ Chosobho +region-name-xl = Atal Palmyra +region-name-xm = Riof Kingman +region-name-xp = Eileanan Paracel +region-name-xq = Eilean Jarvis +region-name-xr = Svalbard +region-name-xs = Eileanan Spratly +region-name-xt = Eilean Tromelin +region-name-xu = Atal Johnston +region-name-xv = Lanavaz +region-name-xw = Am Bruach an Iar +region-name-ye = An Eaman +region-name-yt = Mayotte +region-name-za = Afraga a Deas +region-name-zm = Sàimbia +region-name-zw = An t-Sìombab diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/main-window/autocomplete.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/main-window/autocomplete.ftl new file mode 100644 index 0000000000000000000000000000000000000000..6d7430fdcbe1a2907dbeb2ead42b57ea44efc69b --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/main-window/autocomplete.ftl @@ -0,0 +1,23 @@ +# 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 Logins Autocomplete + +## Variables: +## $host (String) - Host name of the current site. + +autocomplete-import-logins-chrome = + <div data-l10n-name="line1">Ion-phortaich an clàradh a-steach agad o Google Chrome</div> + <div data-l10n-name="line2">airson { $host } is làraichean eile</div> +autocomplete-import-logins-chromium = + <div data-l10n-name="line1">Ion-phortaich an clàradh a-steach agad o Chromium</div> + <div data-l10n-name="line2">airson { $host } is làraichean eile</div> +autocomplete-import-logins-chromium-edge = + <div data-l10n-name="line1">Ion-phortaich an clàradh a-steach agad o Microsoft Edge</div> + <div data-l10n-name="line2">airson { $host } is làraichean eile</div> + +## + +autocomplete-import-learn-more = Barrachd fiosrachaidh diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/main-window/findbar.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/main-window/findbar.ftl new file mode 100644 index 0000000000000000000000000000000000000000..454db4eac6481df2cd672fce031d47419794b37c --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/main-window/findbar.ftl @@ -0,0 +1,80 @@ +# 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/. + + +### This file contains the entities needed to use the Find Bar. + +findbar-next = + .tooltiptext = Lorg ath-làthair na h-abairt seo +findbar-previous = + .tooltiptext = Lorg làthair roimhe na h-abairt seo + +findbar-find-button-close = + .tooltiptext = Dùin am bàr luirg + +findbar-highlight-all2 = + .label = Soillsich na h-uile + .accesskey = + { PLATFORM() -> + [macos] l + *[other] a + } + .tooltiptext = Soillsich gach ionstans dhen abairt + +findbar-case-sensitive = + .label = Aire do litrichean mòra is beaga + .accesskey = c + .tooltiptext = Lorg agus an aire do litrichean mòra 's beaga + +findbar-match-diacritics = + .label = An aire do shràcan + .accesskey = i + .tooltiptext = Dèan diofar eadar litrichean le sràcan is na litrichean bunasach aca (mar sin, chan ionnann “aithne” is “àithne”) + +findbar-entire-word = + .label = Faclan slàna + .accesskey = F + .tooltiptext = Na lorg ach faclan slàna + +findbar-not-found = Cha deach an abairt a lorg + +findbar-wrapped-to-top = Ràinig sinn bun na duilleige, a' leantainn air adhart o bharr na duilleige +findbar-wrapped-to-bottom = Ràinig sinn barr na duilleige, a' leantainn air adhart o bhun na duilleige + +findbar-normal-find = + .placeholder = Lorg air an duilleag +findbar-fast-find = + .placeholder = Lorg luath +findbar-fast-find-links = + .placeholder = Lorg luath (ceanglaichean a-mhàin) + +findbar-case-sensitive-status = + .value = (aire do litrichean mòra/beaga) +findbar-match-diacritics-status = + .value = (An aire do shràcan) +findbar-entire-word-status = + .value = (Faclan slàna a-mhàin) + +# Variables: +# $current (Number): Index of the currently selected match +# $total (Number): Total count of matches +findbar-found-matches = + .value = + { $total -> + [one] { $current } à { $total } mhaids + [two] { $current } à { $total } mhaids + [few] { $current } à { $total } maidsichean + *[other] { $current } à { $total } maids + } + +# Variables: +# $limit (Number): Total count of matches allowed before counting stops +findbar-found-matches-count-limit = + .value = + { $limit -> + [one] Barrachd air { $limit } mhaids + [two] Barrachd air { $limit } mhaids + [few] Barrachd air { $limit } maidsichean + *[other] Barrachd air { $limit } maids + } diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/neterror/certError.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/neterror/certError.ftl new file mode 100644 index 0000000000000000000000000000000000000000..0359687199e826c20187a96299a9f477e2e9b146 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/neterror/certError.ftl @@ -0,0 +1,141 @@ +# 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/. + +# Variables: +# $hostname (string) - Hostname of the website with cert error. +cert-error-intro = Tha { $hostname } a' cleachdadh teisteanas tèarainteachd mì-dhligheach. + +cert-error-mitm-intro = Tha làraichean-lìn a’ dearbhadh cò iad le teisteanasan agus tha iad sin ’gam foillseachadh le ùghdarrasan theisteanasan. + +cert-error-mitm-mozilla = Tha taic a’ bhuidhinn neo-phrothaidich Mozilla aig { -brand-short-name } agus tha iad a’ rianachd ùghdarras theisteanasan (CA) fosgailte. Tha stòras an CA a’ dèanamh cinnteach gu bheil ùghdarrasan nan teisteanasan a’ leantainn nan riaghailtean a mholar airson tèarainteachd chleachdaichean. + +cert-error-mitm-connection = Tha { -brand-short-name } a’ cleachdadh stòras CA Mozilla airson dearbhadh gu bheil ceangal tèarainte, seach teisteanasan a sholair siostam-obrachaidh a’ chleachdaiche. Ma tha prògram an aghaidh bhìorasan no lìonra ag eadar-cheapadh ceangal le teisteanas tèarainteachd a chaidh fhoillseachadh le CA nach eil ann an stòras CA Mozilla, tuigear dheth nach eil an ceangal sàbhailte. + +cert-error-trust-unknown-issuer-intro = Dh’fhaoidte gu bheil cuideigin a’ leigeil orra gur iad-san an làrach seo agus cha bu chòir dhut leantainn air adhart. + +# Variables: +# $hostname (string) - Hostname of the website with cert error. +cert-error-trust-unknown-issuer = Bidh làraichean-lìn a’ dearbhadh cò iad le teisteanasan. Chan eil { -brand-short-name } a’ cur earbsa ann an { $hostname } o chionn ’s nach aithne dhuinn foillsichear an teisteanais aca, gun deach an teisteanas a fhèin-soidhneadh no nach eil am frithealaiche a’ cur nam meadhan-teisteanasan ceart. + +cert-error-trust-cert-invalid = Chan eil earbsa againn san teisteanas seo o chionn ’s gun deach fhoillseachadh le ùghdarras teisteanachaidh mì-dhligheach. + +cert-error-trust-untrusted-issuer = Chan eil earbsa againn san teisteanas seo o chionn ’s nach eil earbsa ann am foillsichear an teisteanais. + +cert-error-trust-signature-algorithm-disabled = Chan eil earbsa againn san teisteanas o chionn ’s gun deach a shoidhneadh le algairim soidhnidh a chaidh a chur à comas o chionn ’s nach eil an algairim tèarainte. + +cert-error-trust-expired-issuer = Chan eil earbsa againn san teisteanas seo o chionn ’s gun do dh’fhalbh an ùine air teisteanas an fhoillsicheir. + +cert-error-trust-self-signed = Chan eil earbsa againn san teisteanas seo o chionn ’s gun deach a fhèin-shoidhneadh. + +cert-error-trust-symantec = Chan eilear dhen bheachd gu bheil teisteanasan le GeoTrust, RapidSSL, Symantec, Thawte agus VeriSign sàbhailte tuilleadh a chionn ’s nach robh na h-ùghdarrasan theisteanasan seo a’ leantainn gnàthasan tèarainteach roimhe seo. + +cert-error-untrusted-default = Chan eil earbsa againn san tùs on dàinig an teisteanas seo. + +# Variables: +# $hostname (string) - Hostname of the website with cert error. +cert-error-domain-mismatch = Bidh làraichean-lìn a’ dearbhadh cò iad le teisteanasan. Chan eil earbsa aig { -brand-short-name } san làrachd seo a chionn ’s gu bheil e a’ cleachdadh teisteanas nach eil dligheach mu choinneamh { $hostname }. + +# Variables: +# $hostname (string) - Hostname of the website with cert error. +# $alt-name (string) - Alternate domain name for which the cert is valid. +cert-error-domain-mismatch-single = Bidh làraichean-lìn a’ dearbhadh cò iad le teisteanasan. Chan eil earbsa aig { -brand-short-name } san làrachd seo a chionn ’s gu bheil e a’ cleachdadh teisteanas nach eil dligheach mu choinneamh { $hostname }. Chan e teisteanas dligheach a tha seo ach airson <a data-l10n-name="domain-mismatch-link">{ $alt-name }</a>. + +# Variables: +# $hostname (string) - Hostname of the website with cert error. +# $alt-name (string) - Alternate domain name for which the cert is valid. +cert-error-domain-mismatch-single-nolink = Bidh làraichean-lìn a’ dearbhadh cò iad le teisteanasan. Chan eil earbsa aig { -brand-short-name } san làrachd seo a chionn ’s gu bheil e a’ cleachdadh teisteanas nach eil dligheach mu choinneamh { $hostname }. Chan e teisteanas dligheach a tha seo ach airson { $alt-name }. + +# Variables: +# $hostname (string) - Hostname of the website with cert error. +# $subject-alt-names (string) - Alternate domain names for which the cert is valid. +cert-error-domain-mismatch-multiple = Bidh làraichean-lìn a’ dearbhadh cò iad le teisteanasan tèarainteachd. Chan eil earbsa aig { -brand-short-name } san làrach seo a chionn ’s gu bheil e a’ cleachdadh teisteanas nach eil dligheach airson { $hostname }. Chan eil an teisteanas dligheach ach airson nan ainmean a leanas: { $subject-alt-names } + +# Variables: +# $hostname (string) - Hostname of the website with cert error. +# $not-after-local-time (Date) - Certificate is not valid after this time. +cert-error-expired-now = Bidh làraichean-lìn a’ dearbhadh cò iad le teisteanasan a dh’obraicheas fad greis. Dh’fhalbh an ùine air an teisteanas aig { $hostname } { $not-after-local-time } + +# Variables: +# $hostname (string) - Hostname of the website with cert error. +# $not-before-local-time (Date) - Certificate is not valid before this time. +cert-error-not-yet-valid-now = Bidh làraichean-lìn a’ dearbhadh cò iad le teisteanasan a dh’obraicheas fad greis. Cha bhi teisteanas airson { $hostname } dligheach ron { $not-before-local-time }. + +# Variables: +# $error (string) - NSS error code string that specifies type of cert error. e.g. unknown issuer, invalid cert, etc. +cert-error-code-prefix = Còd na mearachd: { $error } + +# Variables: +# $error (string) - NSS error code string that specifies type of cert error. e.g. unknown issuer, invalid cert, etc. +cert-error-code-prefix-link = Còd na mearachd: <a data-l10n-name="error-code-link">{ $error }</a> + +# Variables: +# $hostname (string) - Hostname of the website with SSL error. +# $errorMessage (string) - Error message corresponding to the type of error we are experiencing. +cert-error-ssl-connection-error = Thachair mearachd fhad 's a bha ceangal ann ri { $hostname }. { $errorMessage } + +# Variables: +# $hostname (string) - Hostname of the website with cert error. +cert-error-symantec-distrust-description = Bidh làraichean-lìn a’ dearbhadh cò iad le teisteanasan tèarainteachd a tha ’gam foillseachadh le ùghdarrasan theisteanasan. Chan eil earbsa aig a’ mhòrchuid de bhrabhsairean ann an GeoTrust, RapidSSL, Symantec, Thawte agus VeriSign tuilleadh. Tha { $hostname } a’ cleachdadh teisteanas o aon dhe na h-ùghdarrasan seo agus cha ghabh dearbh-aithne na làraich-lìn a dhearbhadh ri linn sin. + +cert-error-symantec-distrust-admin = ’S urrainn dhut fios a leigeil gu rianaire na làraich-lìn seo mun duilgheadas seo. + +cert-error-old-tls-version = Dh’fhaoidte nach cuir an làrach-lìn seo taic dhan phròtacail TLS 1.2 ach sin an tionndadh as lugha ris an cuir { -brand-short-name } taic. + +# Variables: +# $hasHSTS (Boolean) - Indicates whether HSTS header is present. +cert-error-details-hsts-label = HTTP Strict Transport Security: { $hasHSTS } + +# Variables: +# $hasHPKP (Boolean) - Indicates whether HPKP header is present. +cert-error-details-key-pinning-label = HTTP Public Key Pinning: { $hasHPKP } + +cert-error-details-cert-chain-label = Sèine an teisteanais: + +open-in-new-window-for-csp-or-xfo-error = Fosgail an làrach ann an uinneag ùr + +# Variables: +# $hostname (string) - Hostname of the website blocked by csp or xfo error. +csp-xfo-blocked-long-desc = Gus do thèarainteachd a dhìon, cha leig { $hostname } le { -brand-short-name } an duilleag a thaisbeanadh ma tha làrach eile leabaichte na bhroinn. Feumaidh tu an duilleag seo fhosgladh ann an uinneag ùr mus fhaic thu e. + +## Messages used for certificate error titles + +connectionFailure-title = Cha ghabh ceangal a dhèanamh ris +deniedPortAccess-title = Tha an seòladh seo cuingichte +# "Hmm" is a sound made when considering or puzzling over something. +# You don't have to include it in your translation if your language does not have a written word like this. +dnsNotFound-title = Hm, tha duilgheasan againn a’ faighinn sgeul air an làrach seo. + +dns-not-found-trr-only-title2 = Bidh e na chunnart tèarainteachd ma dh’fhaoidte ma bheirear sùil air an àrainn seo +dns-not-found-native-fallback-title2 = Bidh e na chunnart tèarainteachd ma dh’fhaoidte ma bheirear sùil air an àrainn seo + +fileNotFound-title = Cha deach am faidhle a lorg +fileAccessDenied-title = Chaidh inntrigeadh dhan fhaidhle a dhiùltadh +generic-title = Mo chreach! +captivePortal-title = Clàraich a-steach dhan lìonra +# "Hmm" is a sound made when considering or puzzling over something. +# You don't have to include it in your translation if your language does not have a written word like this. +malformedURI-title = Hm chan eil coltas ceart air an t-seòladh sin. +netInterrupt-title = Bhris rudeigin a-steach air a' cheangal +notCached-title = Dh'fhalbh an ùine air an sgrìobhainn +netOffline-title = Am modh far loidhne +contentEncodingError-title = Mearachd le còdachadh na susbaint +unsafeContentType-title = Faidhle de sheòrsa neo-thèarainte +netReset-title = Chaidh an ceangal ath-shuidheachadh +netTimeout-title = Dh'fhalbh an ùine air a' cheangal +unknownProtocolFound-title = Cha deach an seòladh a thuigsinn +proxyConnectFailure-title = Tha am frithealaiche progsaidh a' diùltadh cheanglaichean +proxyResolveFailure-title = Cha ghabh am frithealaiche progsaidh a lorg +redirectLoop-title = Chan eil an duilleag ag ath-stiùireadh mar bu chòir +unknownSocketType-title = Freagairt ris nach robh dùil on fhrithealaiche +nssFailure2-title = Dh’fhàillig an ceangal tèarainte +csp-xfo-error-title = Chan urrainn dha { -brand-short-name } an duilleag seo fhosgladh +corruptedContentError-title = Mearachd air sgàth susbaint thruaillte +sslv3Used-title = Chan urrainn dhuinn ceangal tèarainte a dhèanamh +inadequateSecurityError-title = Chan eil an ceangal agad tèarainte +blockedByPolicy-title = Duilleag bhacte +clockSkewError-title = Tha cleoc a’ choimpiutair agad cearr +networkProtocolError-title = Mearachd pròtacal an lìonraidh +nssBadCert-title = Rabhadh: Tha rud romhad a dh’fhaodadh a bhith ’na chunnart tèarainteachd +nssBadCert-sts-title = Cha deach ceangal a dhèanamh: Rud a dh’fhaodadh a bhith ’na chunnart tèarainteachd +certerror-mitm-title = Tha bathar-bog ann a tha a’ cumail { -brand-short-name } o bhith a’ dèanamh ceangal tèarainte ris an làrach seo diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/neterror/netError.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/neterror/netError.ftl new file mode 100644 index 0000000000000000000000000000000000000000..73772607258e4a7c52551083f50f1737ea70d049 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/neterror/netError.ftl @@ -0,0 +1,175 @@ +# 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/. + + +## Error page titles + +neterror-page-title = Duilgheadas le luchdadh na duilleige +certerror-page-title = Rabhadh: Tha rud romhad a dh’fhaodadh a bhith ’na chunnart tèarainteachd +certerror-sts-page-title = Cha deach ceangal a dhèanamh: Rud a dh’fhaodadh a bhith ’na chunnart tèarainteachd +neterror-blocked-by-policy-page-title = Duilleag bhacte +neterror-captive-portal-page-title = Clàraich a-steach dhan lìonra +neterror-dns-not-found-title = Cha deach am frithealaiche a lorg +neterror-malformed-uri-page-title = URL mì-dhligheach + +## Error page actions + +neterror-advanced-button = Adhartach… +neterror-copy-to-clipboard-button = Cuir lethbhreac dhen teacsa air an stòr-bhòrd +neterror-learn-more-link = Barrachd fiosrachaidh… +neterror-open-portal-login-page-button = Fosgail an duilleag airson clàradh a-steach do lìonra +neterror-override-exception-button = Tuigidh mi an cunnart, air adhart leam +neterror-pref-reset-button = Aisig na roghainnean bunaiteach +neterror-return-to-previous-page-button = Air ais +neterror-return-to-previous-page-recommended-button = Air ais (Mholamaid seo) +neterror-try-again-button = Feuch ris a-rithist +neterror-add-exception-button = Lean air adhart air an làrach seo an-còmhnaidh +neterror-settings-button = Atharraich na roghainnean DNS +neterror-view-certificate-link = Seall an teisteanas +neterror-trr-continue-this-time = Lean air adhart an turas seo +neterror-disable-native-feedback-warning = Lean air adhart an-còmhnaidh + +## + +neterror-pref-reset = Tha coltas gur e roghainnean tèarainteachd an lìonraidh agad ag adhbharachadh seo. A bheil thu airson na roghainnean bunaiteach a thilleadh? +neterror-error-reporting-automatic = Nach cuir thu aithisg mu mhearachdan d’ a leithid dha { -vendor-short-name } ach an urrainn dhuinn làraichean droch-rùnach mar seo a bhacadh? + +## Specific error messages + +neterror-generic-error = Chan urrainn dha { -brand-short-name } an duilleag seo a luchdadh air sgàth adhbhar air choireigin. + +neterror-load-error-try-again = Dh’fhaodadh nach eil an làrach seo ri faighinn rè seal no gu bheil e ro thrang. Feuch ris a-rithist an ceann tamaill. +neterror-load-error-connection = Mur urrainn dhut duilleag sam bith a ruigsinn, cuir sùil air ceangal a’ choimpiutair agad ris an lìonra. +neterror-load-error-firewall = Ma tha an coimpiutair no an lìonra agad ’ga dhìon le chachaileith-theine no progsaidh, dèan cinnteach gu bheil cead aig { -brand-short-name } ceangal ris an lìon. + +neterror-captive-portal = Feumaidh tu clàradh a-steach dhan lìonra seo mus fhaigh thu cothrom air an eadar-lìon. + +# Variables: +# $hostAndPath (String) - a suggested site (e.g. "www.example.com") that the user may have meant instead. +neterror-dns-not-found-with-suggestion = Saoil a bheil thu airson tadhal air <a data-l10n-name="website">{ $hostAndPath }</a>? +neterror-dns-not-found-hint-header = <strong>Mas e an seòladh ceart a chuir thu a-steach, is urrainn dhut:</strong> +neterror-dns-not-found-hint-try-again = Feuchainn ris an ceann greis +neterror-dns-not-found-hint-check-network = Sùil a thoirt air a’ cheangal agad ris an lìonra +neterror-dns-not-found-hint-firewall = Sùil a thoirt a bheil cead-inntrigidh aig { -brand-short-name } dhan lìon (dh’fhaoidte gu bheil ceangal agad ach air cùlaibh cachaileith-theine) + +## 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 = Chan urrainn dha { -brand-short-name } d’ iarrtas airson seòladh na làraich seo a dhìon leis an fhuasglaiche DNS earbsach againn. Seo dhut na h-adhbharan: +neterror-dns-not-found-trr-third-party-warning2 = ’S urrainn dhut leantainn air adhart leis an fhuasglaiche DNS bhunaiteach agad. Ge-tà, dh’fhaoidte gum faic treas-phàrtaidh na làraichean-lìn air an tadhail thu. + +neterror-dns-not-found-trr-only-could-not-connect = Cha b’ urrainn dha { -brand-short-name } ceangal ri { $trrDomain }. +neterror-dns-not-found-trr-only-timeout = Thug an ceangal ri { $trrDomain } na b’ fhaide na bha dùil +neterror-dns-not-found-trr-offline = Chan eil ceangal agad ris an eadar-lìon. +neterror-dns-not-found-trr-unknown-host2 = Cha d’fhuair { $trrDomain } lorg air an làrach-lìn seo. +neterror-dns-not-found-trr-server-problem = Bha duilgheadas ann le { $trrDomain }. +neterror-dns-not-found-trr-unknown-problem = Duilgheadas ris nach robh dùil. + +## Native fallback specific messages +## Variables: +## $trrDomain (String) - Hostname of the DNS over HTTPS server that is currently in use. + +neterror-dns-not-found-native-fallback-reason = Chan urrainn dha { -brand-short-name } d’ iarrtas airson seòladh na làraich seo a dhìon leis an fhuasglaiche DNS earbsach againn. Seo dhut na h-adhbharan: +neterror-dns-not-found-native-fallback-heuristic = Chaidh DNS air HTTPS a chur à comas air an lìonra agad. +neterror-dns-not-found-native-fallback-not-confirmed2 = Cha b’ urrainn dha { -brand-short-name } ceangal ri { $trrDomain }. + +## + +neterror-file-not-found-filename = Dèan cinnteach nach eile litrichean mòra no beaga san àite chearr no mearachdan litreachaidh eile. +neterror-file-not-found-moved = Saoil an deach am faidhle a ghluasad, a sguabadh às no gun deach ainm ùr a chur air? + +neterror-access-denied = Dh’fhaoidte gun deach a thoirt air falbh no a ghluasad no gu bheil bacadh air inntrigeadh an cois ceadan an fhaidhle. + +neterror-unknown-protocol = Dh'fhaodadh gum bi agad bathar-bog a bharrachd a stàladh mus fosgail thu an seòladh seo. + +neterror-redirect-loop = Tachraidh seo uaireannan mur eil briosgaidean an comas no 'gan diùltadh. + +neterror-unknown-socket-type-psm-installed = Dèan cinnteach gu bheil manaidsear na tèarainteachd phearsanta air an t-siostam agad. +neterror-unknown-socket-type-server-config = Dh'fhaodadh seo tachairt an cois rèiteachadh neo-stannardach air an fhrithealaiche. + +neterror-not-cached-intro = Chan eil an sgrìobhainn a dh’iarr thu ri làimh san tasgadan aig { -brand-short-name }. +neterror-not-cached-sensitive = Air sgàth adhbharan tèarainteachd, cha dèan { -brand-short-name } ath-iarrtas airson sgrìobhainnean cugallach gu fèin-obrachail. +neterror-not-cached-try-again = Briog air “Feuch ris a-rithist” gus iarrtas eile a chur dhan làrach-lìn airson na sgrìobhainne. + +neterror-net-offline = Brùth “Feuch ris a-rithist” gus a dhol air loidhne is luchdaich an duilleag a-rithist an uairsin. + +neterror-proxy-resolve-failure-settings = Dèan cinnteach gu bheil na roghainnean progsaidh ceart. +neterror-proxy-resolve-failure-connection = Dèan cinnteach gu bheil ceangal a' choimpiutair agad ris an lìonra ag obair. +neterror-proxy-resolve-failure-firewall = Ma tha an coimpiutair no an lìonra agad 'ga dhìon le cachaileith-theine no progsaidh, dèan cinnteach gu bheil cead aig { -brand-short-name } ceangal ris an lìon. + +neterror-proxy-connect-failure-settings = Dèan cinnteach gu bheil na roghainnean progsaidh ceart. +neterror-proxy-connect-failure-contact-admin = Cuir fios gu rianaire an lìonra agad gus dèanamh cinnteach gu bheil am progsaidh ag obair. + +neterror-content-encoding-error = Nach leig thu fios air an duilgheadas seo gun fheadhainn aig a bheil an làrach-lìn? + +neterror-unsafe-content-type = Nach leig thu fios air an duilgheadas seo gun fheadhainn aig a bheil an làrach-lìn? + +neterror-nss-failure-not-verified = Cha ghabh an duilleag a bha thu airson faicinn a shealltainn a chionn 's nach do ghabh fìrinneachd an dàta a fhuaradh a dhearbhadh. +neterror-nss-failure-contact-website = Leig fios gu na daoine aig a bheil an làrach mun duilgheadas seo. + +# Variables: +# $hostname (String) - Hostname of the website to which the user was trying to connect. +certerror-intro = Mhothaich { -brand-short-name } do rud a dh’fhaodadh a bhith ’na chunnart tèarainteachd is cha do thadhail e air <b>{ $hostname }</b>. Ma thadhlas tu air an làrach seo, dh’fhaoidte gun urrainn do dhaoine fiosrachadh mar fhaclan-faire, puist-d no cairtean-creideis a ghoid ort. +# Variables: +# $hostname (String) - Hostname of the website to which the user was trying to connect. +certerror-sts-intro = Mhothaich { -brand-short-name } dha rud a dh’fhaodadh a bhith ’na chunnart tèarainteachd agus cha do thadhail e air <b>{ $hostname }</b> a chionn ’s gu bheil an làrach-lìn seo feumach air ceangal tèarainte. +# Variables: +# $hostname (String) - Hostname of the website to which the user was trying to connect. +certerror-expired-cert-intro = Mhothaich { -brand-short-name } dha rud a dh’fhaodadh a bhith ’na chunnart tèarainteachd agus cha do thadhail e air <b>{ $hostname }</b>. Tha an làrach-lìn air a dhroch-rèiteachadh no tha an t-àm cearr aig cleoc a’ choimpiutair agad. +# Variables: +# $hostname (String) - Hostname of the website to which the user was trying to connect. +# $mitm (String) - The name of the software intercepting communications between you and the website (or “man in the middle”) +certerror-mitm = ’S mathaid gur e làrach shàbhailte a tha ann an <b>{ $hostname }</b> ach cha b’ urrainn dhuinn ceangal tèarainte a dhèanamh. ’S e <b>{ $mitm }</b> a tha ag adhbharachadh seo, bathar-bog air a’ choimpiutair agad no air an lìonra agad. + +neterror-corrupted-content-intro = Cha ghabh an duilleag a dh'iarr thu a shealltainn a chionn 's gun deach mearachd a lorg ann an tar-chur an dàta. +neterror-corrupted-content-contact-website = Nach leig thu fios do sheilbheadairean na làraich-lìn mun duilgheadas seo? + +# Do not translate "SSL_ERROR_UNSUPPORTED_VERSION". +neterror-sslv3-used = Fiosrachadh adhartach: SSL_ERROR_UNSUPPORTED_VERSION + +# Variables: +# $hostname (String) - Hostname of the website to which the user was trying to connect. +neterror-inadequate-security-intro = Tha <b>{ $hostname }</b> a’ cleachdadh seann-teicneolas tèarainteachd a tha so-leònte. Cha bhiodh e doirbh do chuideigin dàta a leigeil ris a bha tèarainte ’nad bheachd. Bidh aig rianaire na làraich am frithealaiche a chàradh mus urrainn dhut tadhal air an làrach. +# Do not translate "NS_ERROR_NET_INADEQUATE_SECURITY". +neterror-inadequate-security-code = Còd na mearachd: NS_ERROR_NET_INADEQUATE_SECURITY + +# Variables: +# $hostname (String) - Hostname of the website to which the user was trying to connect. +# $now (Date) - The current datetime, to be formatted as a date +neterror-clock-skew-error = Tha an coimpiutair agad dhen bheachd gu bheil e { DATETIME($now, dateStyle: "medium") } agus chan urrainn dha { -brand-short-name } ceangal tèarainte a dhèanamh ri linn sin. Airson tadhal air <b>{ $hostname }</b>, ùraich cleoc a’ choimpiutair agad ann an roghainnean an t-siostaom is dèan cinnteach gu bheil an t-àm, ceann-là agus roinn-tìde cheart ann is ath-nuadhaich <b>{ $hostname }</b> an uairsin. + +neterror-network-protocol-error-intro = Chan urrainn dhuinn an duilleag a tha a dhìth ort a shealltainn dhut a chionn ’s gun do mhothaich sinn ri mearachd ann am pròtacal an lìonraidh. +neterror-network-protocol-error-contact-website = Cuir fios dha na daoine aig a bheil an làrach-lìn is innis dhaibh mun duilgheadas. + +certerror-expired-cert-second-para = Dh’fhaoidte gun do dh’fhalbh an ùine air teisteanas na làraich-lìn agus chan urrainn dha { -brand-short-name } ceangal tèarainte a dhèanamh ri linn sin. Ma thadhlas tu air an làrach seo, dh’fhaoidte gun dèid rudan mar fhaclan-faire, puist-d is cairtean-creideis a ghoid ort. +certerror-expired-cert-sts-second-para = Dh’fhaoidte gun do dh’fhalbh an ùine air teisteanas na làraich-lìn agus chan urrainn dha { -brand-short-name } ceangal tèarainte a dhèanamh ri linn sin. + +certerror-what-can-you-do-about-it-title = Dè nì mi mu dhèidhinn? + +certerror-unknown-issuer-what-can-you-do-about-it-website = Tha teans mòr gu bheil rudeigin cearr san làrach-lìn fhèin agus nach eil dad ann as urrainn dhut-sa dèanamh. +certerror-unknown-issuer-what-can-you-do-about-it-contact-admin = Mas ann air lìonra corporra a tha thu no ma tha thu a’ cleachdadh bathar-bog an aghaidh bhìorasan, ’s urrainn dhut fios a leigeil gu na sgiobannan-taice airson cobhair. ’S urrainn dhut fios a leigeil do rianaire na làraich cuideachd. + +# Variables: +# $hostname (String) - Hostname of the website to which the user was trying to connect. +# $now (Date) - The current datetime, to be formatted as a date +certerror-expired-cert-what-can-you-do-about-it-clock = ’S e { DATETIME($now, dateStyle: "medium") } an t-àm a-rèir a’ choimpiutair agad. Dèan cinnteach gu bheil an t-àm, ceann-là agus roinn-tìde cheart ann an roghainnean an t-siostaim agad is ath-nuadhaich <b>{ $hostname }</b> an uairsin. +certerror-expired-cert-what-can-you-do-about-it-contact-website = Ma tha an cleoc agad ceart, tha teans gu bheil an làrach-lìn air a dhroch-rèiteachadh agus nach eil dad ann as urrainn dhut-sa a dhèanamh airson a chur ceart. ’S urrainn dhut fios a chur gu rianaire na làraich-lìn mun duilgheadas ge-tà. + +certerror-bad-cert-domain-what-can-you-do-about-it = Tha teans gu bheil rudeigin cearr leis an làrach-lìn agus nach eil dad ann as urrainn dhut-sa a dhèanamh airson a chur ceart. ’S urrainn dhut fios a chur gu rianaire na làraich-lìn mun duilgheadas ge-tà. + +certerror-mitm-what-can-you-do-about-it-antivirus = Ma tha gleus aig a’ bhathar-bhog agad an aghaidh bhìorasan a nì sganadh air ceanglaichean crioptaichte (rud ris an canar “sganadh-lìn” no “sganadh https” gu tric), ’s urrainn dhut a chur à comas. Mur an obraich sin, feuch is thoir air falbh am bathar-bog an aghaidh bhìorasan agus stàlaich às ùr e. +certerror-mitm-what-can-you-do-about-it-corporate = Ma tha thu air lìonra corporra, iarr taic air roinn an TF agad. +# Variables: +# $mitm (String) - The name of the software intercepting communications between you and the website (or “man in the middle”) +certerror-mitm-what-can-you-do-about-it-attack = Mur eil thu eòlach air <b>{ $mitm }</b>, dh’fhaoidte gur e ionnsaigh a tha seo agus cha bu chòir dhut leantainn air adhart dhan làrach. + +# Variables: +# $mitm (String) - The name of the software intercepting communications between you and the website (or “man in the middle”) +certerror-mitm-what-can-you-do-about-it-attack-sts = Mur eil thu eòlach air <b>{ $mitm }</b>, dh’fhaoidte gur e ionnsaigh a tha seo agus chan eil dad ann as urrainn dhut dèanamh airson an làrach inntrigeadh. + +# Variables: +# $hostname (String) - Hostname of the website to which the user was trying to connect. +certerror-what-should-i-do-bad-sts-cert-explanation = Tha poileasaidh tèarainteachd aig <b>{ $hostname }</b> air a bheil HTTP Strict Transport Security (HSTS), agus is ciall dha sin nach urrainn dha { -brand-short-name } ach ceangal tèarainte a dhèanamh. Chan urrainn dhut eisgeachd a chur ris a thadhal air an làrach seo. diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/neterror/nsserrors.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/neterror/nsserrors.ftl new file mode 100644 index 0000000000000000000000000000000000000000..a8253039623b2f285f4836beace928c889e68bb2 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/neterror/nsserrors.ftl @@ -0,0 +1,349 @@ +# 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/. + +# DO NOT ADD THINGS OTHER THAN ERROR MESSAGES HERE. +# This file gets parsed into a JS dictionary of all known error message ids in +# gen_aboutneterror_codes.py . If we end up needing fluent attributes or +# refactoring them in some way, the script will need updating. + +psmerr-ssl-disabled = Cha ghabh ceangal tèarainte a dhèanamh a chionn 's gun deach am pròtacal SSL a chur à comas. +psmerr-ssl2-disabled = Cha ghabh ceangal tèarainte a dhèanamh a chionn 's gu bheil an làrach a' cleachdadh seann tionndadh dhen phròtacal SSL nach eil tèarainte. + +# This is a multi-line message. +psmerr-hostreusedissuerandserial = + Fhuair thu teisteanas neo-dhligheach. Leig fios gu rianaire an fhrithealaiche no seòladair a’ phuist-dhealain ’s thoir dhaibh am fiosrachadh a leanas: + + Your certificate contains the same serial number as another certificate issued by the certificate authority. Please get a new certificate containing a unique serial number. + +ssl-error-export-only-server = Cha ghabh conaltradh tèarainte a dhèanamh. Chan eil an seise a’ cur taic ri sàr-chrioptachadh. +ssl-error-us-only-server = Cha ghabh conaltradh tèarainte a dhèanamh. Feumaidh an seise sàr-chrioptachadh nach eil taic ann ris. +ssl-error-no-cypher-overlap = Cha ghabh conaltradh tèarainte a dhèanamh: chan eil algairim(ean) crioptachaidh an cumantas ann. +ssl-error-no-certificate = Cha ghabh an ceadachas no an iuchair air a bheil feum airson dearbhadh a lorg. +ssl-error-bad-certificate = Cha ghabh conaltradh tèarainte a dhèanamh ris an t-seise: chaidh teisteanas an t-seise a dhiùltadh. +ssl-error-bad-client = Fhuair am frithealaiche droch dhàta on chliant. +ssl-error-bad-server = Fhuair am frithealaiche droch dhàta on fhrithealaiche. +ssl-error-unsupported-certificate-type = Chan eil taic ann ris an t-seòrsa seo de theisteanas. +ssl-error-unsupported-version = Tha an seise a' cleachdadh tionndadh dhen phròtacal tèarainteachd nach eil taic ris. +ssl-error-wrong-certificate = Dh'fhàillig dearbhadh a' chliant: chan eil an iuchair phrìobhaideach ann an stòr-dàta nan iuchraichean a' freagairt ris an iuchair phoblach ann an stòr-dàta nan teisteanasan. +ssl-error-bad-cert-domain = Cha ghabh conaltradh tèarainte a dhèanamh ris an t-seise: chan eil ainm na h-àrainne a' freagairt ri teisteanas an fhrithealaiche. +ssl-error-post-warning = Còd mearachd SSL nach aithnich sinn. +ssl-error-ssl2-disabled = Tha an seise a' cur taic ri SSL tionndadh 2 a-mhàin, rud a tha air a chur à comas gu h-ionadail. +ssl-error-bad-mac-read = Fhuair SSL clàr le còd dearbhadh teachdaireachd mì-cheart ann. +ssl-error-bad-mac-alert = Tha an seise SSL a' dèanamh aithris air còd dearbhadh teachdaireachd mì-cheart. +ssl-error-bad-cert-alert = Chan urrainn dhan t-seise SSL an teisteanas agad a dhearbhadh. +ssl-error-revoked-cert-alert = Dhiùlt an seise SSL an teisteanas agad is e ag ràdh gun deach a chùl-ghairm. +ssl-error-expired-cert-alert = Dhiùlt an seise SSL an teisteanas agad is e ag ràdh gun do dh'fhalbh an ùine air. +ssl-error-ssl-disabled = Cha ghabh ceangal a dhèanamh: tha SSL air a chur à comas. +ssl-error-fortezza-pqg = Cha ghabh ceangal a dhèanamh: tha an seise SSL ann an àrainn FORTEZZA eile. +ssl-error-unknown-cipher-suite = Chaidh sreath-sifir SSL neo-aithnichte iarraidh. +ssl-error-no-ciphers-supported = Chan eil sreath-sifir ann agus an comas sa phrògram seo. +ssl-error-bad-block-padding = Fhuair SSL clàr le droch phadadh bluic. +ssl-error-rx-record-too-long = Fhuair SSL clàr a chaidh thairis air an fhad a tha ceadaichte. +ssl-error-tx-record-too-long = Dh'fheuch SSL ri clàr a chur a-null a chaidh thairis air an fhad a tha ceadaichte. +ssl-error-rx-malformed-hello-request = Fhuair SSL teachdaireachd crathadh-làimhe Hello Request mhì-chumte. +ssl-error-rx-malformed-client-hello = Fhuair SSL teachdaireachd crathadh-làimhe Client Hello mhì-chumte. +ssl-error-rx-malformed-server-hello = Fhuair SSL teachdaireachd crathadh-làimhe Server Hello mhì-chumte. +ssl-error-rx-malformed-certificate = Fhuair SSL teachdaireachd crathadh-làimhe Certificate mhì-chumte. +ssl-error-rx-malformed-server-key-exch = Fhuair SSL teachdaireachd crathadh-làimhe Server Key Exchange mhì-chumte. +ssl-error-rx-malformed-cert-request = Fhuair SSL teachdaireachd crathadh-làimhe Certificate Request mhì-chumte. +ssl-error-rx-malformed-hello-done = Fhuair SSL teachdaireachd crathadh-làimhe Server Hello Done mhì-chumte. +ssl-error-rx-malformed-cert-verify = Fhuair SSL teachdaireachd crathadh-làimhe Certificate Verify mhì-chumte. +ssl-error-rx-malformed-client-key-exch = Fhuair SSL teachdaireachd crathadh-làimhe Client Key Exchange mhì-chumte. +ssl-error-rx-malformed-finished = Fhuair SSL teachdaireachd crathadh-làimhe Finished mhì-chumte. +ssl-error-rx-malformed-change-cipher = Fhuair SSL clàr Change Cipher Spec mì-chumte. +ssl-error-rx-malformed-alert = Fhuair SSL clàr caismeachd mì-chumte. +ssl-error-rx-malformed-handshake = Fhuair SSL clàr Handshake mì-chumte. +ssl-error-rx-malformed-application-data = Fhuair SSL clàr Application Data mì-chumte. +ssl-error-rx-unexpected-hello-request = Fhuair SSL teachdaireachd crathadh-làimhe Hello Request ris nach robh dùil. +ssl-error-rx-unexpected-client-hello = Fhuair SSL teachdaireachd crathadh-làimhe Client Hello ris nach robh dùil. +ssl-error-rx-unexpected-server-hello = Fhuair SSL teachdaireachd crathadh-làimhe Server Hello ris nach robh dùil. +ssl-error-rx-unexpected-certificate = Fhuair SSL teachdaireachd crathadh-làimhe Certificate ris nach robh dùil. +ssl-error-rx-unexpected-server-key-exch = Fhuair SSL teachdaireachd crathadh-làimhe Server Key Exchange ris nach robh dùil. +ssl-error-rx-unexpected-cert-request = Fhuair SSL teachdaireachd crathadh-làimhe Certificate Request ris nach robh dùil. +ssl-error-rx-unexpected-hello-done = Fhuair SSL teachdaireachd crathadh-làimhe Server Hello Done ris nach robh dùil. +ssl-error-rx-unexpected-cert-verify = Fhuair SSL teachdaireachd crathadh-làimhe Certificate Verify ris nach robh dùil. +ssl-error-rx-unexpected-client-key-exch = Fhuair SSL teachdaireachd crathadh-làimhe Client Key Exchange ris nach robh dùil. +ssl-error-rx-unexpected-finished = Fhuair SSL teachdaireachd crathadh-làimhe Finished ris nach robh dùil. +ssl-error-rx-unexpected-change-cipher = Fhuair SSL clàr Change Ciper Spec ris nach robh dùil. +ssl-error-rx-unexpected-alert = Fhuair SSL clàr caismeachd ris nach robh dùil. +ssl-error-rx-unexpected-handshake = Fhuair SSL clàr crathaidh-làimhe ris nach robh dùil. +ssl-error-rx-unexpected-application-data = Fhuair SSL clàr Application Data ris nach robh dùil. +ssl-error-rx-unknown-record-type = Fhuair SSL clàr anns a bha seòrsa neo-aithnichte de shusbaint. +ssl-error-rx-unknown-handshake = Fhuair SSL teachdaireachd cràthaidh-làimhe anns a bha seòrsa neo-aithnichte de theachdaireachd. +ssl-error-rx-unknown-alert = Fhuair SSL clàr caismeachd sa bha tuairisgeul caismeachd neo-aithnichte. +ssl-error-close-notify-alert = Dhùin an seise SSL an ceangal seo. +ssl-error-handshake-unexpected-alert = Cha robh dùil aig an t-seise SSL ris an teachdaireachd crathaidh-làimhe a fhuair e. +ssl-error-decompression-failure-alert = Cha b' urrainn do sheise SSL clàr SSL a fhuair e a dhì-dhùmhlachadh gu soirbheachail. +ssl-error-handshake-failure-alert = Cha b' urrainn dhan t-seise SSL seata freagarrach de pharamadairean tèarainteachd a cho-rèiteachadh. +ssl-error-illegal-parameter-alert = Dhiùlt an seise SSL teachdaireachd crathaidh-làimhe airson susbaint mì-fhreagarrach. +ssl-error-unsupported-cert-alert = Chan eil an seise SSL a' cur taic ri teisteanasan dhen t-seòrsa a fhuair e. +ssl-error-certificate-unknown-alert = Bha duilgheadas neo-shònraichte aig an t-seise SSL leis an teisteanas a fhuair e. +ssl-error-generate-random-failure = Dh'fhàillig an gineadair àireamhan tuaireamach aig SSL. +ssl-error-sign-hashes-failure = Cha do ghabh ainm digiteach a chur ris an dàta air a bheil feum gus an teisteanas agad a dhearbhadh. +ssl-error-extract-public-key-failure = Cha b' urrainn do SSL an iuchair phoblach a tharraing à teisteanas an t-seise. +ssl-error-server-key-exchange-failure = Fàillinn neo-shònraichte rè làimhseachadh crathadh-làimhe SSL Server Key Exchange. +ssl-error-client-key-exchange-failure = Fàillinn neo-shònraichte rè làimhseachadh crathadh-làimhe SSL Client Key Exchange. +ssl-error-encryption-failure = Dh'fhàillig algairim crioptachadh tomad dàta anns an t-sreath-sifir a chaidh a thaghadh. +ssl-error-decryption-failure = Dh'fhàillig algairim dì-chrioptachadh tomad dàta anns an t-sreath-sifir a chaidh a thaghadh. +ssl-error-socket-write-failure = Dh'fhàillig sgrìobhadh an dàta air a chrioptachadh gun bhun-socaid. +ssl-error-md5-digest-failure = Dh'fhàillig am foincsean eagaraidh MD5. +ssl-error-sha-digest-failure = Dh'fhàillig am foincsean eagaraidh SHA-1. +ssl-error-mac-computation-failure = Dh'fhàillig coimpiutadh Còd Dearbhachadh na Teachdaireachd MAC. +ssl-error-sym-key-context-failure = Dh'fhàillig cruthachadh an co-theacs Symmetric Key. +ssl-error-sym-key-unwrap-failure = Dh'fhàillig dì-phasgadh an Symmetric Key anns an teachdaireachd Client Key Exchange. +ssl-error-pub-key-size-limit-exceeded = Dh'fheuch am frithealaiche SSL ri iuchair phoblach de dh'ìre dhachaigheil a chleachdadh le sreath-sifir às-phortaidh. +ssl-error-iv-param-failure = Dh'fhàillig còd PKCS11 le eadar-theangachadh IV gu paramadair. +ssl-error-init-cipher-suite-failure = Dh'fhàillig tòiseachadh an t-sreatha-sifir a chaidh a thaghadh. +ssl-error-session-key-gen-failure = Dh'fhàillig gineadh nan iuchraichean seisein airson seisean SSL air a' chliant. +ssl-error-no-server-key-for-alg = Chan eil iuchair aig an fhrithealaiche airson algairim malairt na h-iuchrach a dh'fheuchadh. +ssl-error-token-insertion-removal = Chaidh tòcan PKCS#11 a chur ann no a thoirt air falbh rè an obrachaidh. +ssl-error-token-slot-not-found = Cha deach tòcan PKCS#11 a lorg gus obrachadh riatanach a dhèanamh. +ssl-error-no-compression-overlap = Cha ghabh conaltradh tèarainte a dhèanamh ris an t-seise: chan eil algairim(ean) dùmhlachaidh coitcheann ann. +ssl-error-handshake-not-completed = Cha ghabh crathadh-làimhe SSL eile a thòiseachadh mus dàining an crathadh làithreach gu crìoch. +ssl-error-bad-handshake-hash-value = Fhuaradh luachan-hais mì-cheart airson crathadh-làimhe on t-seise. +ssl-error-cert-kea-mismatch = Cha ghabh an teisteanas a fhuaradh a chleachdadh le algairim malairt na h-iuchrach a chaidh a thaghadh. +ssl-error-no-trusted-ssl-client-ca = Chan eil earbsa ann an ùghdarras teisteanais sam bith airson dearbhadh cliant SSL. +ssl-error-session-not-found = Cha deach ID seisean SSL a' chliant a lorg ann an tasgadan-seisein an frithealaiche. +ssl-error-decryption-failed-alert = Cha b' urrainn dhan t-seise clàr SSL a fhuair e a dhì-chrioptachadh. +ssl-error-record-overflow-alert = Fhuair an seise clàr SSL nach eil ceadaichte tuilleadh. +ssl-error-unknown-ca-alert = Chan eil an seise ag aithneachadh ùghdarras nan teisteanasan a chuir a-mach an teisteanas agad is chan eil earbsa aige ann. +ssl-error-access-denied-alert = Fhuair an seise teisteanas dligheach ach chaidh inntrigeadh a dhiùltadh. +ssl-error-decode-error-alert = Cha b' urrainn dhan t-seise an teachdaireachd crathadh-làimhe SSL a dhì-chrioptachadh. +ssl-error-decrypt-error-alert = Tha an seise ag aithris gun do dh'fhàillig dearbhadh an t-soidhnidh no malairt na h-iuchrach. +ssl-error-export-restriction-alert = Tha an seise ag aithris nach eil an co-rèiteachadh a' gèilleadh ris na riaghailtean às-phortadh. +ssl-error-protocol-version-alert = Tha an seise ag aithris gu bheil tionndadh a' phròtacail neo-chòrdail no gun taic. +ssl-error-insufficient-security-alert = Feumaidh am frithealaiche sifirean nas tèarainte na an fheadhainn a tha an cliant a' cur taic riutha an-dràsta. +ssl-error-internal-error-alert = Tha an seise ag aithris gun do thachair mearachd inntearnail dha. +ssl-error-user-canceled-alert = Sguir an cleachdaiche seise dhen chrathadh-làimhe. +ssl-error-no-renegotiation-alert = Chan eil an seise a' toirt cead do dh'ath-cho-rèiteachadh nam paramadairean tèarainteachd SSL. +ssl-error-server-cache-not-configured = Cha deach tasgadan an fhrithealaichean SSL a rèiteachadh agus a chur à comas airson na socaide seo. +ssl-error-unsupported-extension-alert = Chan eil an seise SSL a' cur taic ris an leudachan TLS Hello a chaidh iarraidh. +ssl-error-certificate-unobtainable-alert = Cha b' urrainn dhan t-seise SSL an teisteanas agad fhaighinn on URL a thug thu dha. +ssl-error-unrecognized-name-alert = Chan eil teisteanas aig an t-seise SSL airson an ainm DNS a chaidh iarraidh. +ssl-error-bad-cert-status-response-alert = Cha b' urrainn dhan t-seise SSL freagairt OCSP fhaighinn airson an teisteanais aige. +ssl-error-bad-cert-hash-value-alert = Dh'aithris an seise SSL gun robh droch luach-hais aig an teisteanas. +ssl-error-rx-unexpected-new-session-ticket = Fhuair SSL teachdaireachd crathadh-làimhe New Session ris nach robh dùil. +ssl-error-rx-malformed-new-session-ticket = Fhuair SSL teachdaireachd crathadh-làimhe New Session mhì-chumte. +ssl-error-decompression-failure = Fhuair SSL reacord dùmhlaichte nach urrainn dhuinn dì-dhùmhlachadh. +ssl-error-renegotiation-not-allowed = Chan eil co-rèiteachadh ceadaichte san t-socaid SSL seo. +ssl-error-unsafe-negotiation = Dh'fheuch an seise ri crathadh-làimhe seann nòsach a dhèanamh (a dh'fhaodadh a bhith so-leònte). +ssl-error-rx-unexpected-uncompressed-record = Fhuair SSL clàr neo-dhùmhlaichte ris nach robh dùil. +ssl-error-weak-server-ephemeral-dh-key = Fhuair SSL iuchair Diffie-Hellman lag is gearr-shaoghalach ann an teachdaireachd crathadh-làimhe Server Key Exchange. +ssl-error-next-protocol-data-invalid = Fhuair SSL dàta leudachadh NPN mì-dhligheach. +ssl-error-feature-not-supported-for-ssl2 = Chan eil taic ri feart SSL airson ceanglaichean SSL 2.0. +ssl-error-feature-not-supported-for-servers = Chan eil taic ri feart SSL airson fhrithealaichean. +ssl-error-feature-not-supported-for-clients = Chan eil taic ri feart SSL airson chliantan. +ssl-error-invalid-version-range = SSL version range is not valid. +ssl-error-cipher-disallowed-for-version = SSL peer selected a cipher suite disallowed for the selected protocol version. +ssl-error-rx-malformed-hello-verify-request = SSL received a malformed Hello Verify Request handshake message. +ssl-error-rx-unexpected-hello-verify-request = SSL received an unexpected Hello Verify Request handshake message. +ssl-error-feature-not-supported-for-version = SSL feature not supported for the protocol version. +ssl-error-rx-unexpected-cert-status = SSL received an unexpected Certificate Status handshake message. +ssl-error-unsupported-hash-algorithm = Unsupported hash algorithm used by TLS peer. +ssl-error-digest-failure = Digest function failed. +ssl-error-incorrect-signature-algorithm = Incorrect signature algorithm specified in a digitally-signed element. +ssl-error-next-protocol-no-callback = The next protocol negotiation extension was enabled, but the callback was cleared prior to being needed. +ssl-error-next-protocol-no-protocol = The server supports no protocols that the client advertises in the ALPN extension. +ssl-error-inappropriate-fallback-alert = The server rejected the handshake because the client downgraded to a lower TLS version than the server supports. +ssl-error-weak-server-cert-key = Bha iuchair phoblach ann an teisteanas an fhrithealaiche a bha ro lag. +ssl-error-rx-short-dtls-read = Not enough room in buffer for DTLS record. +ssl-error-no-supported-signature-algorithm = No supported TLS signature algorithm was configured. +ssl-error-unsupported-signature-algorithm = The peer used an unsupported combination of signature and hash algorithm. +ssl-error-missing-extended-master-secret = The peer tried to resume without a correct extended_master_secret extension. +ssl-error-unexpected-extended-master-secret = The peer tried to resume with an unexpected extended_master_secret extension. + +sec-error-io = Thachair mearachd I/O rè an ùghdarrachaidh thèarainteachd. +sec-error-library-failure = fàillinn na leabhar-lainn thèarainteachd. +sec-error-bad-data = leabhar-lann tèarainteachd: fhuaradh droch dhàta. +sec-error-output-len = leabhar-lann tèarainteachd: mearachd le faid an às-chuir. +sec-error-input-len = thachair mearachd le faid an in-chuir ris an leabhar-lann tèarainteachd. +sec-error-invalid-args = leabhar-lann tèarainteachd: argamaidean mì-dhligheach. +sec-error-invalid-algorithm = leabhar-lann tèarainteachd: algairim mhì-dhligheach. +sec-error-invalid-ava = leabhar-lann tèarainteachd: AVA mì-dhligheach. +sec-error-invalid-time = Sreang ama air a dhroch chumadh. +sec-error-bad-der = leabhar-lann tèarainteachd: teachdaireachd air a dhroch fhòrmatadh ann an còdachadh DER. +sec-error-bad-signature = Tha ainm mì-dhligheach ri teisteanas an t-seise. +sec-error-expired-certificate = Dh'fhalbh an ùine air teisteanas an t-seise. +sec-error-revoked-certificate = Chaidh teisteanas an t-seise a chùl-ghairm. +sec-error-unknown-issuer = Chan eil foillsichear teisteanas an t-seise 'ga aithneachadh. +sec-error-bad-key = Tha iuchair phoblach an t-seise mì-dhligheach. +sec-error-bad-password = Tha am facal-faire tèarainteachd a chuir thu a-steach cearr. +sec-error-retry-password = Bha am facal-faire ùr a chuir thu a-steach cearr. Feuch ris a-rithist. +sec-error-no-nodelock = leabhar-lann tèarainteachd: gun ghlas nòid. +sec-error-bad-database = leabhar-lann tèarainteachd: droch stòr-dàta. +sec-error-no-memory = leabhar-lann tèarainteachd: fàillinn roinneadh na cuimhne. +sec-error-untrusted-issuer = Tha comharra ri foillsichear teisteanas an t-seise a tha ag ràdh nach eil earbsa aig a' chleachdaiche ann. +sec-error-untrusted-cert = Tha comharra ri teisteanas an t-seise a tha ag ràdh nach eil earbsa aig a' chleachdaiche ann. +sec-error-duplicate-cert = Tha an teisteanas san stòr-dàta agad mu thràth. +sec-error-duplicate-cert-name = Tha ainm an teisteanais a luchdaich thu a-nuas 'ga chleachdadh san stòr-dàta agad mu thràth. +sec-error-adding-cert = Thachair mearachd fhad 's a chaidh an teisteanas a chur ris an stòr-dàta. +sec-error-filing-key = Thachair mearachd le faidhleadh na h-iuchrach airson an teisteanais seo. +sec-error-no-key = Cha ghabh an iuchair phrìobhaideach airson an teisteanais seo a lorg ann an stòr-dàta nan iuchraichean +sec-error-cert-valid = Tha an teisteanas seo dligheach. +sec-error-cert-not-valid = Chan eil an teisteanas seo dligheach. +sec-error-cert-no-response = Leabhar-lann teisteanais: Gun fhreagairt +sec-error-expired-issuer-certificate = Dh'fhalbh an ùine air an teisteanas aig foillsichear an teisteanais. Cuir sùil air ceann-là is àm an t-siostaim agad. +sec-error-crl-expired = Dh’fhalbh an ùine air an CRL aig foillsichear an teisteanais seo. Ùraich e no cuir sùil air ceann-là is àm an t-siostaim agad. +sec-error-crl-bad-signature = Tha ainm mì-dhligheach aig CRL foillsichear an teisteanais. +sec-error-crl-invalid = Tha fòrmat mì-dhligheach aig an CRL ùr. +sec-error-extension-value-invalid = Tha luach leudachan an teisteanais mì-dhligheach. +sec-error-extension-not-found = Cha deach leudachan an teisteanais a lorg. +sec-error-ca-cert-invalid = Tha teisteanas an fhoillsicheir mì-dhligheach. +sec-error-path-len-constraint-invalid = Tha am bacadh air faid slighe an teisteanais mì-dhligheach. +sec-error-cert-usages-invalid = Tha an raon airson cleachdadh nan teisteanasan mì-dhligheach. +sec-internal-only = **Mòideal dhen taobh a-staigh A-MHÀIN** +sec-error-invalid-key = Chan eil an iuchair a' cur taic ris an obrachadh a chaidh iarradh. +sec-error-unknown-critical-extension = Tha leudachan neo-aithnichte èiginneach anns an teisteanas. +sec-error-old-crl = Chan eil an CRL ùr as dèidh an fhir làithrich. +sec-error-no-email-cert = Gun chrioptachadh is gun soidhneadh: chan eil teisteanas puist-dhealain agad fhathast. +sec-error-no-recipient-certs-query = Gun chrioptachadh: chan eil teisteanasan agad airson a h-uile faightear. +sec-error-not-a-recipient = Cha ghabh a dhubh-chrioptachadh: chan eil thu 'nad fhaightear no cha deach teisteanas is iuchair phrìobhaideach a fhreagras ri chèile a lorg. +sec-error-pkcs7-keyalg-mismatch = Cha gabh a chrioptachadh: chan eil algairim crioptachadh na h-iuchrach a' freagairt ris an teisteanas agad. +sec-error-pkcs7-bad-signature = Dh'fhàillig dearbhadh an ainm: cha deach soidhnichear a lorg, chaidh cus dhiubh a lorg no dàta mì-cheart no truaillte. +sec-error-unsupported-keyalg = Algairim iuchrach neo-aithnichte no gun taic. +sec-error-decryption-disallowed = Cha ghabh a chrioptachadh: air a chrioptachadh le algairim no meud iuchrach nach eil ceadaichte. +sec-error-no-krl = Chan eil liosta nan iuchraichean a chaidh a chùl-ghairm a lorg airson teisteanas na làraich seo. +sec-error-krl-expired = Dh'fhalbh an ùine air liosta nan iuchraichean a chaidh a chùl-ghairm airson teisteanas na làraich seo. +sec-error-krl-bad-signature = Tha ainm mì-dhligheach ri liosta nan iuchraichean a chaidh a chùl-ghairm airson teisteanas na làraich seo. +sec-error-revoked-key = Chaidh iuchair teisteanas na làraich seo a chùl-ghairm. +sec-error-krl-invalid = Tha fòrmat liosta nan iuchraichean a chaidh a chùl-ghairm mì-dhligheach. +sec-error-need-random = leabhar-lann tèarainteach: feum air dàta tuaireamach. +sec-error-no-module = leabhar-lann tèarainteach: chan urrainn do mhòideal tèarainteachd sam bith an t-obrachadh a dh'iarr thu a dhèanamh. +sec-error-no-token = Chan eil a' chairt no an tòcan tèarainteachd ann, feumaidh a thòiseachadh no chaidh a thoirt air falbh. +sec-error-read-only = leabhar-lann tèarainteach: stòr-dàta ri leughadh a-mhàin. +sec-error-no-slot-selected = Cha deach sliotan no tòcan a thaghadh. +sec-error-cert-nickname-collision = Tha teisteanas air a bheil an dearbh fhar-ainm ann mu thràth. +sec-error-key-nickname-collision = Tha iuchair air a bheil an dearbh fhar-ainm ann mu thràth. +sec-error-safe-not-created = mearachd rè cruthachadh an oibseict sàbhailte +sec-error-baggage-not-created = mearachd rè cruthachadh an oibseict bhagaiste +sec-error-bad-export-algorithm = Chan eil an algairim air a bheil feum ceadaichte. +sec-error-exporting-certificates = Mearachd ann an às-phortadh nan teisteanasan. +sec-error-importing-certificates = Mearachd le ion-phortadh nan teisteanasan. +sec-error-pkcs12-decoding-pfx = Cha ghabh ion-phortadh. Mearachd dì-chòdachaidh. Faidhle mì-dhligheach. +sec-error-pkcs12-invalid-mac = Cha ghabh ion-phortadh. Còd MAC mì-dhligheach. Facal-faire cearr no faidhle air a thruailleadh. +sec-error-pkcs12-unsupported-mac-algorithm = Cha ghabh ion-phortadh. Chan eil taic ann ris an algairim MAC. +sec-error-pkcs12-unsupported-transport-mode = Cha ghabh ion-phortadh. Chan eil taic ann ach ri modhan iomlanachd facail-fhaire is prìobhaideachd. +sec-error-pkcs12-corrupt-pfx-structure = Cha ghabh ion-phortadh. Tha structar an fhaidhle air a thruailleadh. +sec-error-pkcs12-unsupported-pbe-algorithm = Cha ghabh ion-phortadh. Chan eil taic ann ris an algairim crioptachaidh. +sec-error-pkcs12-unsupported-version = Cha ghabh ion-phortadh. Chan eil taic ann ri tionndadh an fhaidhle. +sec-error-pkcs12-privacy-password-incorrect = Cha ghabh ion-phortadh. Facal-faire prìobhaideachd mì-cheart. +sec-error-pkcs12-cert-collision = Cha ghabh ion-phortadh. Tha an dearbh fhar-ainm san stòr-dàta mu thràth. +sec-error-user-cancelled = Bhriog an cleachdaiche air "Sguir dheth". +sec-error-pkcs12-duplicate-data = Cha deach ion-phortadh, tha e san stòr-dàta mu thràth. +sec-error-message-send-aborted = Cha deach an teachdaireachd a chur. +sec-error-inadequate-key-usage = Chan eil cleachdadh iuchair an teisteanais freagarrach airson an obrachaidh a chaidh iarraidh. +sec-error-inadequate-cert-type = Chan eil seòrsa an teisteanais ceadaichte airson na h-aplacaid. +sec-error-cert-addr-mismatch = Chan eil an seòladh san teisteanas soidhnidh a' freagairt ris an t-seòladh ann am bann-cinn na teachdaireachd. +sec-error-pkcs12-unable-to-import-key = Cha ghabh ion-phortadh. Mearachd le ion-phortadh na h-iuchrach phrìobhaideach. +sec-error-pkcs12-importing-cert-chain = Cha ghabh ion-phortadh. Mearachd le ion-phortadh de shlabhraidh teisteanais. +sec-error-pkcs12-unable-to-locate-object-by-name = Cha ghabh ion-phortadh. Cha ghabh an teisteanas a lorg air iuchair no fhar-ainm. +sec-error-pkcs12-unable-to-export-key = Cha ghabh ion-phortadh. Cha do ghabh an iuchair phrìobhaideach a lorg ’s às-phortadh. +sec-error-pkcs12-unable-to-write = Cha ghabh ion-phortadh. Cha ghabh am faidhle às-phortaidh a sgrìobhadh. +sec-error-pkcs12-unable-to-read = Cha ghabh ion-phortadh. Cha ghabh am faidhle ion-phortaidh a leughadh. +sec-error-pkcs12-key-database-not-initialized = Cha ghabh ion-phortadh. Tha stòr-dàta nan iuchraichean air a thruailleadh no sguabadh às. +sec-error-keygen-fail = Cha ghabh cèile iuchraichean poblach/prìobhaideach a ghineadh. +sec-error-invalid-password = Tha am facal-faire a chuir thu a-steach mì-dhligheach. Tagh fear eile. +sec-error-retry-old-password = Chaidh an seann fhacal-faire a chur a-steach gu cearr. Feuch ris a-rithist. +sec-error-bad-nickname = Tha far-ainm an teisteanais 'ga chleachdadh mu thràth. +sec-error-not-fortezza-issuer = Tha teisteanas neo-Fortezza aig slabhraidh Fortezza an t-seise. +sec-error-cannot-move-sensitive-key = Cha ghabh iuchair chugallach a ghluasad dhan t-sliotan far a bheil feum air. +sec-error-js-invalid-module-name = Ainm mì-dhligheach air a' mhòideal. +sec-error-js-invalid-dll = Ainm mì-dhligheach air slighe no ainm faidhle a' mhòideil +sec-error-js-add-mod-failure = Cha ghabh am mòideal a chur ris +sec-error-js-del-mod-failure = Cha ghabh am mòideal a sguabadh às +sec-error-old-krl = Chan eil liosta nan iuchraichean a chaidh a chùl-ghairm as dèidh an fhir làithrich. +sec-error-ckl-conflict = Tha foillsichear eile aig liosta nan iuchraichean amharasach ùr is an LIA làithreach. Sguab às an LIAT làithreach. +sec-error-cert-not-in-name-space = Chan eil cead aig ùghdarras teisteanachaidh an teisteanais seo teisteanas leis an ainm seo fhoillseachadh. +sec-error-krl-not-yet-valid = Chan eil liosta cùl-ghairm nan iuchraichean airson an teisteanais seo dligheach fhathast. +sec-error-crl-not-yet-valid = Chan eil liosta cùl-ghairm nan teisteanasan airson an teisteanais seo dligheach fhathast. +sec-error-unknown-cert = Cha deach an teisteanas a dh'iarr thu a lorg. +sec-error-unknown-signer = Cha deach teisteanas an t-soidhniche a lorg. +sec-error-cert-bad-access-location = Tha fòrmat mì-dhligheach air àite frithealaiche inbhe an teisteanais. +sec-error-ocsp-unknown-response-type = Cha ghabh an fhreagairt OCSP a dhì-chòdadh gu lèir; chan aithnichear a sheòrsa. +sec-error-ocsp-bad-http-response = Thill am frithealaiche OCSP dàta HTTP ris nach robh dùil no a tha mì-dhligheach. +sec-error-ocsp-malformed-request = Mheas am frithealaiche OCSP gu bheil an t-iarrtas air a thruailleadh no air a dhroch chumadh. +sec-error-ocsp-server-error = Thachair mearachd taobh a-staigh an fhrithealaiche OCSP. +sec-error-ocsp-try-server-later = Tha am frithealaiche OCSP a' moladh dhut feuchainn ris a-rithist an ceann tàmaill. +sec-error-ocsp-request-needs-sig = Feumaidh am frithealaiche OCSP ainm ris an iarrtas seo. +sec-error-ocsp-unauthorized-request = Dhiùlt am frithealaiche OCSP an t-iarrtas seo a chionn 's nach eil ùghdarras aige. +sec-error-ocsp-unknown-response-status = Thill am frithealaiche OCSP inbhe nach gabh aithneachadh. +sec-error-ocsp-unknown-cert = Chan eil inbhe airson an teisteanais seo aig an fhrithealaiche OCSP. +sec-error-ocsp-not-enabled = Feumaidh tu OCSP a chur an comas mus dèan thu seo. +sec-error-ocsp-no-default-responder = Feumaidh tu freagairiche OCSP bunaiteach a shuidheachadh mus dèan thu seo. +sec-error-ocsp-malformed-response = Chaidh freagairt an fhrithealaiche OCSP a thruailleadh no a dhroch cumadh. +sec-error-ocsp-unauthorized-response = Chan eil ùghdarras aig soidhniche na freagairt OCSP inbhe a thoirt seachad airson an teisteanais seo. +sec-error-ocsp-future-response = Chan eil an fhreagairt OCSP dligheach fhathast (tha ceann-là san àm ri teachd ann). +sec-error-ocsp-old-response = Tha fiosrachadh anns an fhreagairt OCSP a dh'fhalbh an ùine air. +sec-error-digest-not-found = Cha deach an gearr-chunntas CMS no PKCS #7 a lorg san teachdaireachd shoidhnichte. +sec-error-unsupported-message-type = Chan eil taic ann ri seòrsa na teachdaireachd CMS no PKCS #7. +sec-error-module-stuck = Cha do ghabh am mòideal PKCS #11 a thoirt air falbh a chionn 's gu bheilear 'ga chleachdadh fhathast. +sec-error-bad-template = Cha do ghabh an dàta ASN.1 a dhì-chòdadh. Bha an teamplaid a chaidh a shònrachadh mì-dhligheach. +sec-error-crl-not-found = Cha deach liosta nan teisteanasan a chaidh a chùl-ghairm a lorg. +sec-error-reused-issuer-and-serial = Tha thu a' feuchainn ri teisteanas a thoirt a-steach aig a bheil an dearbh fhoillsichear/àireamh shreathach 's a tha aig teisteanas làithreach ach chan e an dearbh theisteanas a tha ann. +sec-error-busy = Cha do ghabh NSS a dhùnadh. Tha oibseactan 'gan cleachdadh fhathast. +sec-error-extra-input = Tha dàta a bharrachd 's gun chleachdadh anns an teachdaireachd a chaidh a chòdachadh a-rèir DER. +sec-error-unsupported-elliptic-curve = Lùb eileapsach gun taic ris. +sec-error-unsupported-ec-point-form = Lùb eileapsach ann am foirm puinge gun taic ris. +sec-error-unrecognized-oid = Aithniche oibseactan neo-aithnichte. +sec-error-ocsp-invalid-signing-cert = Teisteanas soidhnidh OCSP neo-dhligheach san fhreagairt OCSP. +sec-error-revoked-certificate-crl = Chaidh an teisteanas a chùl-ghairm ann an liosta nan teisteanasan a chaidh a chùl-ghairm aig an fhoillsichear. +sec-error-revoked-certificate-ocsp = Tha freagairiche OCSP an fhoillsicheir ag aithris gun deach an teisteanas a chùl-ghairm. +sec-error-crl-invalid-version = Tha àireamh tionndaidh neo-aithnichte air liosta nan teisteanasan a chaidh a chùl-ghairm aig an fhoillsicheir. +sec-error-crl-v1-critical-extension = Tha leudachan èiginneach air liosta nan teisteanasan a chaidh a chùl-ghairm V1 aig an fhoillsichear. +sec-error-crl-unknown-critical-extension = Tha leudachan èiginneach is neo-aithnichte air liosta nan teisteanasan a chaidh a chùl-ghairm V2 aig an fhoillsichear. +sec-error-unknown-object-type = Chaidh seòrsa neo-aithnichte a thaghadh airson an oibseict. +sec-error-incompatible-pkcs11 = Tha an draibhear PKCS #11 a' milleadh an t-sònrachais air dòigh neo-chòrdail. +sec-error-no-event = Chan eil tachartas sliotain ùr ri fhaighinn an-dràsta. +sec-error-crl-already-exists = Tha liosta de theisteanasan a chaidh a chùl-ghairm ann mu thràth. +sec-error-not-initialized = Cha deach an NSS a thòiseachadh. +sec-error-token-not-logged-in = Dh'fhàillig an t-obrachadh a chionn 's nach deach an tòcan PKCS #11 a logadh a-steach. +sec-error-ocsp-responder-cert-invalid = Tha teisteanas neo-dhligheach aig an fhrithealaiche OCSP rèitichte. +sec-error-ocsp-bad-signature = Tha ainm mì-dhligheach ris an fhreagairt OCSP. +sec-error-out-of-search-limits = Tha rannsachadh dearbhachadh an teisteanais taobh a-muigh raon an rannsachaidh +sec-error-invalid-policy-mapping = Tha anypolicy ann am mapadh a' phoileasaidh +sec-error-policy-validation-failed = Tha slabhraidh nan teisteanas a' fàilligeadh an dearbhachaidh phoileasaidh +sec-error-unknown-aia-location-type = Tha àite de sheòrsa neo-aithnichte ann an leudachan AIA an teisteanais +sec-error-bad-http-response = Thill am frithealaiche droch fhreagairt HTTP +sec-error-bad-ldap-response = Thill am frithealaiche droch fhreagairt LDAP +sec-error-failed-to-encode-data = Dh'fhàillig còdachadh an dàta le còdaichear ASN1 +sec-error-bad-info-access-location = Droch àite inntrigeadh fiosrachaidh ann an leudachan an teisteanais +sec-error-libpkix-internal = Thachair mearachd inntearnail Libpkix rè dearbhachadh an teisteanais. +sec-error-pkcs11-general-error = Thill mòideal PKCS #11 CKR_GENERAL_ERROR agus tha seo a' cur 'nar sùilean gun do thachair mearachd nach gabh aiseag. +sec-error-pkcs11-function-failed = Thill mòideal PKCS #11 CKR_FUNCTION_FAILED agus tha sin a’ cur ’nar sùilean nach b’ urrainn dha an gnìomh a chaidh iarraidh a dhèanamh. Faodaidh gun obraich e ma dh’fheuchas tu ris a-rithist. +sec-error-pkcs11-device-error = Thill mòideal PKCS #11 CKR_DEVICE_ERROR agus tha sin a' cur 'nar sùilean gun do dh'èirich duilgheadas ris an tòcan no ris an t-sliotan. +sec-error-bad-info-access-method = Tha dòigh inntrigidh neo-aithnichte do dh'fhiosrachadh ann an leudachan an teisteanais. +sec-error-crl-import-failed = Thachair mearachd nuair a bhathar airson CRL ion-phortadh. +sec-error-expired-password = Dh'fhalbh an ùine air an fhacal-fhaire. +sec-error-locked-password = Tha am facal-faire glaiste. +sec-error-unknown-pkcs11-error = Mearachd PKCS #11 neo-aithnichte. +sec-error-bad-crl-dp-url = URL mì-dhligheach no gun taic ann an ainm puing sgaoileadh CRL. +sec-error-cert-signature-algorithm-disabled = Chaidh an teisteanas a shoidhneadh le algairim soidhnidh a tha à comas a chionn 's nach eil e tèarainte. + +mozilla-pkix-error-key-pinning-failure = The server uses key pinning (HPKP) but no trusted certificate chain could be constructed that matches the pinset. Key pinning violations cannot be overridden. +mozilla-pkix-error-ca-cert-used-as-end-entity = The server uses a certificate with a basic constraints extension identifying it as a certificate authority. For a properly-issued certificate, this should not be the case. +mozilla-pkix-error-inadequate-key-size = The server presented a certificate with a key size that is too small to establish a secure connection. +mozilla-pkix-error-v1-cert-used-as-ca = An X.509 version 1 certificate that is not a trust anchor was used to issue the server's certificate. X.509 version 1 certificates are deprecated and should not be used to sign other certificates. +mozilla-pkix-error-not-yet-valid-certificate = Nochd am frithealaiche teisteanas nach eil dligheach fhathast. +mozilla-pkix-error-not-yet-valid-issuer-certificate = Chaidh teisteanas nach eil dligheach fhathast a chleachdadh gus teisteanas an fhrithealaichte fhoillseachadh. +mozilla-pkix-error-signature-algorithm-mismatch = Chan eil an algairim soidhnidh san raon soidhnidh aig an teisteanas co-ionnann ris an algairim san raon signatureAlgorithm aige. +mozilla-pkix-error-ocsp-response-for-cert-missing = Chan eil staid mu choinneamh an teisteanais a tha ’ga dhearbhadh san fhreagairt OCSP. +mozilla-pkix-error-validity-too-long = Nochd am frithealaiche teisteanas a tha dligheach ro fhada. +mozilla-pkix-error-required-tls-feature-missing = Tha gleus TLS air a bheil feum a dhìth. +mozilla-pkix-error-invalid-integer-encoding = The server presented a certificate that contains an invalid encoding of an integer. Common causes include negative serial numbers, negative RSA moduli, and encodings that are longer than necessary. +mozilla-pkix-error-empty-issuer-name = Nochd am frithealaiche teisteanas le ainm foillsichear falamh. +mozilla-pkix-error-additional-policy-constraint-failed = An additional policy constraint failed when validating this certificate. +mozilla-pkix-error-self-signed-cert = Chan eil earbsa san teisteanas seo a chionn 's gun deach a fhèin-shoidhneadh. + +xp-java-remove-principal-error = Cha do ghabh am prìomhaire a thoirt air falbh +xp-java-delete-privilege-error = Cha do ghabh a' phribhleid a sguabadh às +xp-java-cert-not-exists-error = Chan eil teisteanas aig a' phrìomhaire + +xp-sec-fortezza-bad-card = Cha deach a’ chairt Fortezza a thòiseachadh mar bu chòir. Thoir air falbh e ’s till dhan fhoillsichear agad e. +xp-sec-fortezza-no-card = Cha deach cairt Fortezza a lorg +xp-sec-fortezza-none-selected = Cha deach cairt Fortezza a thaghadh +xp-sec-fortezza-more-info = Tagh a' phearsantachd a tha thu ag iarraidh barrachd fiosrachaidh mu dhèidhinn +xp-sec-fortezza-person-not-found = Cha deach a' phearsantachd a lorg +xp-sec-fortezza-no-more-info = Chan eil barrachd fiosrachaidh mun phearsantachd seo ann +xp-sec-fortezza-bad-pin = PIN mì-dhligheach +xp-sec-fortezza-person-error = Cha deach na pearsantachdan Fortezza a thòiseachadh. diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/payments/payments.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/payments/payments.ftl new file mode 100644 index 0000000000000000000000000000000000000000..c00ad62c9e1e366c651baac1e9fd200aaa4ab905 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/payments/payments.ftl @@ -0,0 +1,51 @@ +# 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/. + + +# This value isn't used directly, but is defined to avoid duplication +# in the "credit-card-label-*" strings. +# +# Variables: +# $month (String): Numeric month the credit card expires +# $year (String): Four-digit year the credit card expires +credit-card-expiration = Falbhaidh a ùine air { $month }/{ $year } + +## These labels serve as a description of a credit card. +## The description must include a credit card number, and may optionally +## include a cardholder name, an expiration date, or both, so we have +## four variations. + +# Label for a credit card with a number only +# +# Variables: +# $number (String): Partially-redacted credit card number +# $type (String): Credit card type +credit-card-label-number-2 = { $number } + .aria-label = { $type } { credit-card-label-number-2 } + +# Label for a credit card with a number and name +# +# Variables: +# $number (String): Partially-redacted credit card number +# $name (String): Cardholder name +# $type (String): Credit card type +credit-card-label-number-name-2 = { $number }, { $name } + .aria-label = { $type } { credit-card-label-number-name-2 } + +# Label for a credit card with a number and expiration date +# +# Variables: +# $number (String): Partially-redacted credit card number +# $type (String): Credit card type +credit-card-label-number-expiration-2 = { $number }, { credit-card-expiration } + .aria-label = { $type } { credit-card-label-number-expiration-2 } + +# Label for a credit card with a number, name, and expiration date +# +# Variables: +# $number (String): Partially-redacted credit card number +# $name (String): Cardholder name +# $type (String): Credit card type +credit-card-label-number-name-expiration-2 = { $number }, { $name }, { credit-card-expiration } + .aria-label = { $type } { credit-card-label-number-name-expiration-2 } diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/pictureinpicture/pictureinpicture.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/pictureinpicture/pictureinpicture.ftl new file mode 100644 index 0000000000000000000000000000000000000000..41729249289edb7d84892dfddcf227e0a147430a --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/pictureinpicture/pictureinpicture.ftl @@ -0,0 +1,74 @@ +# 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/. + +pictureinpicture-player-title = Dealbh am broinn deilbh + +## 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 +## DOM node that then shows the tooltip. +## +## Variables: +## $shortcut (String) - Keyboard shortcut to execute the command. + +pictureinpicture-pause-btn = + .aria-label = Cuir na stad + .tooltip = Cuir na stad (Spacebar) +pictureinpicture-play-btn = + .aria-label = Cluich + .tooltip = Cluich (Spacebar) + +pictureinpicture-mute-btn = + .aria-label = Mùch + .tooltip = Mùch ({ $shortcut }) +pictureinpicture-unmute-btn = + .aria-label = Till an fhuaim + .tooltip = Till an fhuaim ({ $shortcut }) + +pictureinpicture-unpip-btn = + .aria-label = Cuir air ais dhan taba + .tooltip = Air ais dhan taba + +pictureinpicture-close-btn = + .aria-label = Dùin + .tooltip = Dùin ({ $shortcut }) + +pictureinpicture-subtitles-btn = + .aria-label = Fo-thiotalan + .tooltip = Fo-thiotalan + +## + +## 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. + +pictureinpicture-seekbackward-btn = + .aria-label = An comhair a chùil + .tooltip = An comhair a chùil (←) + +pictureinpicture-seekforward-btn = + .aria-label = An comhair a bheòil + .tooltip = An comhair a bheòil (→) + +## + +# This string is never displayed on the window. Is intended to be announced by +# a screen reader whenever a user opens the subtitles settings panel +# after selecting the subtitles button. +pictureinpicture-subtitles-panel-accessible = Roghainnean nam fo-thiotalan + +pictureinpicture-subtitles-label = Fo-thiotalan + +pictureinpicture-font-size-label = Meud a’ chrutha-chlò + +pictureinpicture-font-size-small = Beag + +pictureinpicture-font-size-medium = Meadhanach + +pictureinpicture-font-size-large = Mòr diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/preferences/preferences.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/preferences/preferences.ftl new file mode 100644 index 0000000000000000000000000000000000000000..ac5ecb81955c2d9544d94163430b5836dc277ee5 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/preferences/preferences.ftl @@ -0,0 +1,39 @@ +# 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/. + +password-not-set = + .value = (gun suidheachadh) + +failed-pp-change = Cha ghabh am prìomh fhacal-faire atharrachadh. +incorrect-pp = Cha do chuir thu a-steach am prìomh fhacal-faire làithreach ceart. Feuch ris a-rithist. +pp-change-ok = Chaidh am prìomh fhacal-faire atharrachadh. + +settings-pp-erased-ok = Sguab thu am prìomh-fhacal-faire agad às. Cha bhi faclan-faire is iuchraichean prìobhaideach theisteasan a tha fo stiùireadh { -brand-short-name } fo dhìon. +settings-pp-not-wanted = Rabhadh! Cuir thu romhad gun a bhith a’ cleachdadh prìomh-fhacal-faire agad às. Cha bhi faclan-faire is iuchraichean prìobhaideach theisteasan a tha fo stiùireadh { -brand-short-name } fo dhìon. + +pp-change2empty-in-fips-mode = Tha thu ann am modh FIPS an-dràsta. Feumaidh FIPS prìomh fhacal-faire nach eil falamh. +pw-change-success-title = Shoirbhich leat le atharrachadh an fhacail-fhaire +pw-change-failed-title = Dh'fhàillig atharrachadh an fhacail-fhaire +pw-remove-button = + .label = Thoir air falbh + +primary-password-dialog = + .title = Prìomh fhacal-faire +set-password-old-password = Am facal-faire làithreach: +set-password-new-password = Cuir a-steach am facal-faire ùr: +set-password-reenter-password = Cuir a-steach am facal-faire a-rithist: +set-password-meter = Tomhas càileachd an fhacail-fhaire +set-password-meter-loading = 'Ga luchdadh +primary-password-admin = Tha an rianaire agad ag iarraidh prìomh fhacal-faire ort mus sàbhail thu clàraidhean a-steach is faclan-faire. +primary-password-description = Tha prìomh fhacal-faire 'ga chleachdadh gus fiosrachadh cugallach mar clàraidhean a-steach is faclan-faire a dhìon air an uidheam seo. Ma chruthaicheas tu prìomh fhacal-faire, thèid iarraidh ort a chur a-steach aon turas gach seisean nuair a dh’iarras { -brand-short-name } fiosrachadh a chaidh a sàbhaladh fo dhìon an fhacail-fhaire seo. +primary-password-warning = Dèan cinnteach gun cùm thu am prìomh fhacal-faire agad ’nad chuimhne. Ma dhìochuimhnicheas tu am prìomh fhacal-faire agad, chan urrainn dhut smid dhen fhiosrachadh fhaighinn a tha fo dhìon air an uidheam seo. + +remove-primary-password = + .title = Thoir air falbh am prìomh fhacal-faire +remove-info = + .value = Feumaidh tu am facal-faire làithreach a chur a-steach gus leantainn air adhart: +remove-primary-password-warning1 = Thathar a’ cleachdadh a’ phrìomh fhacail-fhaire agad gus fiosrachadh cugallach mar clàraidhean a-steach is faclan-faire a dhìon. +remove-primary-password-warning2 = Ma bheir thu air falbh am prìomh fhacal-faire agad, cha bhi d’ fhiosrachadh fo dhìon ma dh’èireas le ionnsaigh air a’ choimpiutair agad. +remove-password-old-password = + .value = Am facal-faire làithreach: diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/printing/printDialogs.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/printing/printDialogs.ftl new file mode 100644 index 0000000000000000000000000000000000000000..791c853dda24dad0c67520bb4e1666141f6d3b8d --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/printing/printDialogs.ftl @@ -0,0 +1,112 @@ +# 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/. + +print-setup = + .title = Roghainnean na duilleige +custom-prompt-title = Gnàthaichte… +custom-prompt-prompt = Cuir a-steach teacsa a' bhanna-chinn/-choise ghnàthaichte agad +basic-tab = + .label = Fòrmat ⁊ roghainnean +advanced-tab = + .label = Marghain ⁊ bann-cinn/bann-coise +format-group-label = + .value = Fòrmat +orientation-label = + .value = Taobhachadh na duilleige: +portrait = + .label = Portraid + .accesskey = P +landscape = + .label = Dreach-tìre + .accesskey = D +scale = + .label = Sgèile: + .accesskey = S +scale-percent = + .value = % +shrink-to-fit = + .label = Crùb gu leud na duilleige + .accesskey = C +options-group-label = + .value = Roghainnean +print-bg = + .label = Clò-bhuail an cùlaibh (dathan ⁊ dealbhan) + .accesskey = b +margin-group-label-inches = + .value = Marghain (òirlich) +margin-group-label-metric = + .value = Marghain (milemeatairean) +margin-top = + .value = Barr: + .accesskey = B +margin-top-invisible = + .value = Barr: +margin-bottom = + .value = Bun: + .accesskey = B +margin-bottom-invisible = + .value = Bun: +margin-left = + .value = Clì: + .accesskey = l +margin-left-invisible = + .value = Clì: +margin-right = + .value = Deis: + .accesskey = D +margin-right-invisible = + .value = Deis: +header-footer-label = + .value = Bannan-cinn ⁊ coise +hf-left-label = + .value = Clì: +hf-center-label = + .value = Meadhan: +hf-right-label = + .value = Deis: +header-left-tip = + .tooltiptext = Bann-cinn clì +header-center-tip = + .tooltiptext = Bann-cinn meadhanach +header-right-tip = + .tooltiptext = Bann-cinn deis +footer-left-tip = + .tooltiptext = Bann-coise clì +footer-center-tip = + .tooltiptext = Bann-coise meadhanach +footer-right-tip = + .tooltiptext = Bann-coise deis +hf-blank = + .label = --bàn-- +hf-title = + .label = Tiotal +hf-url = + .label = URL +hf-date-and-time = + .label = Ceann-là/Àm +hf-page = + .label = Duilleag a # +hf-page-and-total = + .label = Duilleag a # à # +hf-custom = + .label = Gnàthaichte… +print-preview-window = + .title = Ro-shealladh clò-bhualaidh +print-title = + .value = Tiotal: +print-preparing = + .value = ’Ga ullachadh… +print-progress = + .value = Adhartas: +print-window = + .title = 'Ga chlò-bhualadh +print-complete = + .value = Tha an clò-bhualadh deiseil. + +# Variables +# $percent (integer) - Number of printed percentage +print-percent = + .value = { $percent }% +dialog-cancel-label = Sguir dheth +dialog-close-label = Dùin diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/printing/printPreview.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/printing/printPreview.ftl new file mode 100644 index 0000000000000000000000000000000000000000..a705a496d596895525d0c3bcdd2cdb9669d6086e --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/printing/printPreview.ftl @@ -0,0 +1,73 @@ +# 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/. + +printpreview-simplify-page-checkbox = + .label = Dèan an duilleag na simplidhe + .accesskey = i + .tooltiptext = Cha ghabh an duilleag seo a dhèanamh nas simplidhe gu fèin-obrachail +printpreview-simplify-page-checkbox-enabled = + .label = { printpreview-simplify-page-checkbox.label } + .accesskey = { printpreview-simplify-page-checkbox.accesskey } + .tooltiptext = Cuir air gleus a’ cho-dhealbhachd ach am bi e nas fhasa ri leughadh +printpreview-close = + .label = Dùin + .accesskey = D +printpreview-portrait = + .label = Portraid + .accesskey = o +printpreview-landscape = + .label = Dreach-tìre + .accesskey = D +printpreview-scale = + .value = Sgèile: + .accesskey = S +printpreview-shrink-to-fit = + .label = Crùb gu freagarrachd +printpreview-custom = + .label = Gnàthaichte… +printpreview-print = + .label = Clò-bhuail… + .accesskey = C +printpreview-of = + .value = a-mach à +printpreview-custom-scale-prompt-title = Sgèile ghnàthaichte +printpreview-page-setup = + .label = Roghainnean na duilleige… + .accesskey = u +printpreview-page = + .value = Duilleag: + .accesskey = a + +# Variables +# $sheetNum (integer) - The current sheet number +# $sheetCount (integer) - The total number of sheets to print +printpreview-sheet-of-sheets = { $sheetNum } à { $sheetCount } + +## Variables +## $percent (integer) - menuitem percent label +## $arrow (String) - UTF-8 arrow character for navigation buttons + +printpreview-percentage-value = + .label = { $percent }% +printpreview-homearrow = + .label = { $arrow } + .tooltiptext = A' chiad duilleag +printpreview-previousarrow = + .label = { $arrow } + .tooltiptext = An duilleag roimhe +printpreview-nextarrow = + .label = { $arrow } + .tooltiptext = An ath-dhuilleag +printpreview-endarrow = + .label = { $arrow } + .tooltiptext = An duilleag mu dheireadh + +printpreview-homearrow-button = + .title = A’ chiad duilleag +printpreview-previousarrow-button = + .title = An duilleag roimhpe +printpreview-nextarrow-button = + .title = An ath-dhuilleag +printpreview-endarrow-button = + .title = An duilleag mu dheireadh diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/printing/printUI.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/printing/printUI.ftl new file mode 100644 index 0000000000000000000000000000000000000000..d8f711c0fb8315f0a02128e97b283a97a4cbfc71 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/printing/printUI.ftl @@ -0,0 +1,150 @@ +# 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/. + +printui-title = Clò-bhuail +# Dialog title to prompt the user for a filename to save print to PDF. +printui-save-to-pdf-title = Sàbhail mar + +# Variables +# $sheetCount (integer) - Number of paper sheets +printui-sheets-count = + { $sheetCount -> + [one] { $sheetCount } siota de phàipear + [two] { $sheetCount } shiota de phàipear + [few] { $sheetCount } siotaichean de phàipear + *[other] { $sheetCount } siota de phàipear + } + +printui-page-range-all = Na h-uile +printui-page-range-current = Làithreach +printui-page-range-odd = Còrr +printui-page-range-even = Cothrom +printui-page-range-custom = Gnàthaichte +printui-page-range-label = Duilleagan +printui-page-range-picker = + .aria-label = Tagh rainse dhuilleagan +printui-page-custom-range-input = + .aria-label = Cuir a-steach rainse dhuilleagan ghnàthaichte + .placeholder = m.e. 2-6, 9, 12-16 + +# Section title for the number of copies to print +printui-copies-label = Lethbhreacan + +printui-orientation = Comhair +printui-landscape = Dreach-tìre +printui-portrait = Portraid + +# Section title for the printer or destination device to target +printui-destination-label = Ceann-uidhe +printui-destination-pdf-label = Sàbhail gu PDF + +printui-more-settings = Barrachd roghainnean +printui-less-settings = Nas lugha de roghainnean + +printui-paper-size-label = Meud a’ phàipeir + +# Section title (noun) for the print scaling options +printui-scale = Sgèile +printui-scale-fit-to-page-width = Co-fhreagair ri leud na duilleige +# Label for input control where user can set the scale percentage +printui-scale-pcent = Sgèile + +# Section title (noun) for the two-sided print options +printui-two-sided-printing = Clò-bhualadh dà-thaobhach +printui-two-sided-printing-off = Dheth +# Flip the sheet as if it were bound along its long edge. +printui-two-sided-printing-long-edge = Thoir flip air an oir fhada +# Flip the sheet as if it were bound along its short edge. +printui-two-sided-printing-short-edge = Thoir flip air an oir ghoirid + +# Section title for miscellaneous print options +printui-options = Roghainnean +printui-headers-footers-checkbox = Clò-bhuail bannan-cinn is -coise +printui-backgrounds-checkbox = Clò-bhuail na cùlaibhean + +## The "Format" section, select a version of the website to print. Radio +## 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 = Fòrmat +# Option for printing the original page. +printui-source-radio = Tùsail +# Option for printing just the content a user selected prior to printing. +printui-selection-radio = An taghadh +# Option for "simplifying" the page by printing the Reader View version. +printui-simplify-page-radio = Sìmplichte + +## + +printui-color-mode-label = Modh nan dath +printui-color-mode-color = Dath +printui-color-mode-bw = Dubh is geal + +printui-margins = Marghain +printui-margins-default = Bun-roghainn +printui-margins-min = As lugha +printui-margins-none = Gun mharghain +printui-margins-custom-inches = Gnàthaichte (òirleach) +printui-margins-custom-mm = Gnàthaichte (mm) +printui-margins-custom-top = Bàrr +printui-margins-custom-top-inches = Bàrr (òirleach) +printui-margins-custom-top-mm = Bàrr (mm) +printui-margins-custom-bottom = Bonn +printui-margins-custom-bottom-inches = Bonn (òirleach) +printui-margins-custom-bottom-mm = Bonn (mm) +printui-margins-custom-left = Clì +printui-margins-custom-left-inches = Clì (òirleach) +printui-margins-custom-left-mm = Clì (mm) +printui-margins-custom-right = Deas +printui-margins-custom-right-inches = Deas (òirleach) +printui-margins-custom-right-mm = Deas (mm) + +printui-system-dialog-link = Clò-bhuail le còmhradh an t-siostaim… + +printui-primary-button = Clò-bhuail +printui-primary-button-save = Sàbhail +printui-cancel-button = Sguir dheth +printui-close-button = Dùin + +printui-loading = Ag ullachadh an ro-sheallaidh + +# Reported by screen readers and other accessibility tools to indicate that +# the print preview has focus. +printui-preview-label = + .aria-label = Ro-shealladh clò-bhualaidh + +printui-pages-per-sheet = Duilleagan air gach siota + +# 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 = ’Ga chlò-bhualadh... +printui-print-progress-indicator-saving = ’Ga shàbhaladh… + +## Paper sizes that may be supported by the Save to PDF destination: + +printui-paper-a5 = A5 +printui-paper-a4 = A4 +printui-paper-a3 = A3 +printui-paper-a2 = A2 +printui-paper-a1 = A1 +printui-paper-a0 = A0 +printui-paper-b5 = B5 +printui-paper-b4 = B4 +printui-paper-jis-b5 = JIS-B5 +printui-paper-jis-b4 = JIS-B4 +printui-paper-letter = US Letter +printui-paper-legal = US Legal +printui-paper-tabloid = Tabloid + +## Error messages shown when a user has an invalid input + +printui-error-invalid-scale = Feumaidh an sgèile a bhith ’na àireamh eadar 10 is 200. +printui-error-invalid-margin = Cuir a-steach marghan a tha dligheach do mheud a’ phàipeir a thagh thu. +printui-error-invalid-copies = Feumaidh na lethbhreacan a bhith ’nan àireamh eadar 1 is 10000. + +# Variables +# $numPages (integer) - Number of pages +printui-error-invalid-range = Feumaidh an rainse a bhith ’na àireamh eadar 1 is { $numPages }. +printui-error-invalid-start-overflow = Feumaidh àireamh na duilleige “o” a bhith nas lugha na àireamh na duilleige “gu”. diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/updates/backgroundupdate.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/updates/backgroundupdate.ftl new file mode 100644 index 0000000000000000000000000000000000000000..6e724df6acdaacd45a295206a454af681395f7c9 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/updates/backgroundupdate.ftl @@ -0,0 +1,5 @@ +# 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/. + +backgroundupdate-task-description = Bheir saothair an ùrachaidh sa chùlaibh sùil airson ùrachaidhean air { -brand-short-name } nuair nach eil { -brand-short-name } a’ ruith. Thèid an t-saothair seo a stàladh gu fèin-obrachail le { -brand-short-name } agus ath-stàladh nuair a thèid { -brand-short-name } a ruith. Airson an t-saothair seo a chur à comas, ùraich roghainnean a’ bhrabhsair no roghainn poileasaidh enterprise “BackgroundAppUpdate” aig { -brand-short-name }. diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/updates/elevation.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/updates/elevation.ftl new file mode 100644 index 0000000000000000000000000000000000000000..b45c26cf134b4ace691e18e203a07942bf329b84 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/updates/elevation.ftl @@ -0,0 +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/. +# This is temporary until bug 1521632 is fixed + +elevation-update-wizard = + .title = Ùrachadh a’ bhathair-bhog +elevation-details-link-label = + .value = Mion-fhiosrachadh +elevation-error-manual = 'S urrainn dhut { -brand-short-name } ùrachadh de làimh ma leanas tu ris a' cheangal seo a luchdadh a-nuas an tionndadh as ùire ann: +elevation-finished-page = Ùrachadh deiseil ri stàladh +elevation-finished-background-page = Chaidh ùrachadh tèarainteachd is seasmhachd airson { -brand-short-name } a luchdadh a-nuas is tha e deiseil ri stàladh. +elevation-finished-background = Ùrachadh: +elevation-more-elevated = Feumaidh an t-ùrachadh seo pribhleidean rianaire. Thèid an t-ùrachadh seo a stàladh an ath-thuras a thòisicheas { -brand-short-name }. ’S urrainn dhut { -brand-short-name } ath-thòiseachadh an-dràsta fhèin, cumail a’ dol is ath-thòiseachadh uaireigin eile no an t-ùrachadh seo a dhiùltadh. diff --git a/thunderbird-l10n/gd/localization/gd/toolkit/updates/history.ftl b/thunderbird-l10n/gd/localization/gd/toolkit/updates/history.ftl new file mode 100644 index 0000000000000000000000000000000000000000..2c063de3a3407600880f07fe92006c4788606d05 --- /dev/null +++ b/thunderbird-l10n/gd/localization/gd/toolkit/updates/history.ftl @@ -0,0 +1,29 @@ +# 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/. + +history-title = Eachdraidh nan ùrachaidhean +history-intro = Chaidh na h-ùrachaidhean a leanas a stàladh + +close-button-label = + .buttonlabelcancel = Dùin + .title = Eachdraidh nan ùrachaidhean + +no-updates-label = Cha deach ùrachadh a stàladh fhathast +name-header = Ainm an ùrachaidh +date-header = Ceann-là an stàlaidh +type-header = Seòrsa +state-header = Staid + +# Used to display update history +# +# Variables: +# $name (String): name of the update +# $buildID (String): build identifier from the local updates.xml +update-full-build-name = { $name } ({ $buildID }) + +update-details = Mion-fhiosrachadh + +update-installed-on = Air a stàladh: { $date } + +update-status = Cor: { $status } diff --git a/thunderbird-l10n/gd/manifest.json b/thunderbird-l10n/gd/manifest.json new file mode 100644 index 0000000000000000000000000000000000000000..9947731a3b5bdbd3b576b6db1af25b9ba9c93778 --- /dev/null +++ b/thunderbird-l10n/gd/manifest.json @@ -0,0 +1,56 @@ +{ + "langpack_id": "gd", + "manifest_version": 2, + "browser_specific_settings": { + "gecko": { + "id": "langpack-gd@thunderbird.mozilla.org", + "strict_min_version": "115.0", + "strict_max_version": "115.*" + } + }, + "name": "Language: Gàidhlig (Scottish Gaelic)", + "description": "Thunderbird Language Pack for Gàidhlig (gd) – Scottish Gaelic", + "version": "115.6.20231215.200246", + "languages": { + "gd": { + "version": "20231215210318", + "chrome_resources": { + "alerts": "chrome/gd/locale/gd/alerts/", + "autoconfig": "chrome/gd/locale/gd/autoconfig/", + "branding": "chrome/gd/locale/branding/", + "calendar": "chrome/gd/locale/gd/calendar/", + "chat": "chrome/gd/locale/gd/chat/", + "communicator": "chrome/gd/locale/gd/communicator/", + "devtools": "chrome/gd/locale/gd/devtools/client/", + "devtools-shared": "chrome/gd/locale/gd/devtools/shared/", + "global": "chrome/gd/locale/gd/global/", + "global-platform": { + "macosx": "chrome/gd/locale/gd/global-platform/mac/", + "linux": "chrome/gd/locale/gd/global-platform/unix/", + "android": "chrome/gd/locale/gd/global-platform/unix/", + "win": "chrome/gd/locale/gd/global-platform/win/" + }, + "lightning": "chrome/gd/locale/gd/lightning/", + "messenger": "chrome/gd/locale/gd/messenger/", + "messenger-mapi": "chrome/gd/locale/gd/messenger-mapi/", + "messenger-newsblog": "chrome/gd/locale/gd/messenger-newsblog/", + "messenger-region": "chrome/gd/locale/gd/messenger-region/", + "messenger-smime": "chrome/gd/locale/gd/messenger-smime/", + "mozapps": "chrome/gd/locale/gd/mozapps/", + "mozldap": "chrome/gd/locale/gd/mozldap/", + "necko": "chrome/gd/locale/gd/necko/", + "passwordmgr": "chrome/gd/locale/gd/passwordmgr/", + "pdf.js": "chrome/gd/locale/pdfviewer/", + "pipnss": "chrome/gd/locale/gd/pipnss/", + "pippki": "chrome/gd/locale/gd/pippki/", + "places": "chrome/gd/locale/gd/places/" + } + } + }, + "sources": { + "browser": { + "base_path": "browser/" + } + }, + "author": "Sgioba Ionadaileadh Mozilla na Gàidhlig (contributors: Michael 'Akerbeltz' Bauer, Kevin Scannell)" +} diff --git a/thunderbird-l10n/gl/localization/gl/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/gl/localization/gl/messenger/accountcreation/accountHub.ftl index 205154175a4007bba8cb016a59ab044f67adf66e..7085ae56c3e12288dc7a64703f3d09f7efb09672 100644 --- a/thunderbird-l10n/gl/localization/gl/messenger/accountcreation/accountHub.ftl +++ b/thunderbird-l10n/gl/localization/gl/messenger/accountcreation/accountHub.ftl @@ -80,3 +80,4 @@ account-hub-username-label = Nome de usuario account-hub-adding-account-title = Engadindo conta account-hub-adding-account-subheader = Volvendo a probar a configuración da conta account-hub-account-added-title = Conta engadida +account-hub-find-settings-failed = O { -brand-full-name } non atopou a configuración da súa conta de correo electrónico. diff --git a/thunderbird-l10n/gl/localization/gl/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/gl/localization/gl/messenger/compactFoldersDialog.ftl index 642d5836fbdbf54714b745a616060b351b900920..6089bcd14c8ce73101f1a47586cf33d14b2f5940 100644 --- a/thunderbird-l10n/gl/localization/gl/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/gl/localization/gl/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Compactar cartafoles - .style = width: 50em; compact-dialog-window-title = .title = Compactar cartafoles +compact-folders-dialog-title = Compactar cartafoles compact-dialog = .buttonlabelaccept = Compactar agora .buttonaccesskeyaccept = C diff --git a/thunderbird-l10n/gl/localization/gl/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/gl/localization/gl/messenger/openpgp/openpgp.ftl index 237a360325804e117746b35119700b03bfac1b86..9b1d815b6c8618f4b87ad83d81bf81e2cf2d5ec0 100644 --- a/thunderbird-l10n/gl/localization/gl/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/gl/localization/gl/messenger/openpgp/openpgp.ftl @@ -29,36 +29,6 @@ e2e-encrypt-drafts = e2e-autocrypt-headers = .label = Enviar as chaves públicas de OpenPGP nas cabeceiras do correo electrónico para fornecer a compatibilidade con Autocrypt .accesskey = v -openpgp-key-user-id-label = Conta/Identificador de usuario -openpgp-keygen-title-label = - .title = Xerar unha chave OpenPGP -openpgp-cancel-key = - .label = Cancelar - .tooltiptext = Cancelar a xeración da chave -openpgp-key-gen-expiry-title = - .label = Caducidade da chave -openpgp-key-gen-expire-label = A chave caduca en -openpgp-key-gen-days-label = - .label = días -openpgp-key-gen-months-label = - .label = meses -openpgp-key-gen-years-label = - .label = anos -openpgp-key-gen-no-expiry-label = - .label = A chave non caduca -openpgp-key-gen-key-size-label = Tamaño da chave -openpgp-key-gen-console-label = Xeración de chaves -openpgp-key-gen-key-type-label = Tipo de chave -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (curva elíptica) -openpgp-generate-key = - .label = Xerar unha chave - .tooltiptext = Xera unha nova chave compatíbel co OpenPGP para cifrar e/ou asinar -openpgp-advanced-prefs-button-label = - .label = Avanzadas… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">Nota: a xeración de chaves pode tardar varios minutos en completarse.</a> Non saia da aplicación mentres a xeración de chaves estea en curso. Navegar activamente ou realizar operacións intensivas en disco durante a xeración de chaves reabastecerá o «cantidade de aleatoriedade» e acelerará o proceso. Recibirá un aviso cando remate a xeración de chaves. openpgp-key-created-label = .label = Data de creación openpgp-key-expiry-label = @@ -68,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Esta é unha chave cunha estrutura complexa; non se admite cambiar a súa data de caducidade. openpgp-key-man-title = .title = Xestor de chaves OpenPGP +openpgp-key-man-dialog-title = Xestor de chaves OpenPGP openpgp-key-man-generate = .label = Novo par de chaves .accesskey = v @@ -415,10 +386,7 @@ key-verification = Verifique a impresión dixital da chave mediante unha canle d # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = Non se puido enviar a mensaxe porque hai un problema coa súa chave persoal. { $problema } -cannot-encrypt-because-missing = Non se puido enviar esta mensaxe co cifrado de extremo a extremo porque hai problemas coas chaves dos seguintes destinatarios: { $problem } window-locked = A xanela de redacción está bloqueada; cancelouse o envío -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = Esta é unha parte da mensaxe cifrada. Debe abrila nunha xanela separada facendo clic no anexo. ## Strings in keyserver.jsm @@ -641,7 +609,6 @@ import-key-file = Importar o ficheiro de chave OpenPGP import-rev-file = Importar ficheiro de revogación OpenPGP gnupg-file = Ficheiros GnuPG import-keys-failed = Fallou a importación das chaves -passphrase-prompt = Insira a frase secreta que desbloquea a seguinte chave: { $key } # Variables: # $key (String) - Key id to unlock. # $date (String) - The date on which the key was created diff --git a/thunderbird-l10n/gl/localization/gl/messenger/preferences/cookies.ftl b/thunderbird-l10n/gl/localization/gl/messenger/preferences/cookies.ftl index e0e112c2f3092de32069f45224ac3eab6583a961..d9d0f5e796325178315d692cc530fd3dd5f7d73b 100644 --- a/thunderbird-l10n/gl/localization/gl/messenger/preferences/cookies.ftl +++ b/thunderbird-l10n/gl/localization/gl/messenger/preferences/cookies.ftl @@ -4,6 +4,7 @@ cookies-window-dialog2 = .title = Rastros (Cookies) +cookies-dialog-title = Rastros window-close-key = .key = w window-focus-search-key = diff --git a/thunderbird-l10n/gl/localization/gl/messenger/preferences/system-integration.ftl b/thunderbird-l10n/gl/localization/gl/messenger/preferences/system-integration.ftl index f4aa84623cec3208e1afbfbefe5584d14b245229..e558be184323af843d53979ab8df3eb7c4203700 100644 --- a/thunderbird-l10n/gl/localization/gl/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/gl/localization/gl/messenger/preferences/system-integration.ftl @@ -4,6 +4,7 @@ system-integration-title = .title = Integración co sistema +system-integration-dialog-title = Integración co sistema system-integration-dialog = .buttonlabelaccept = Estabelecer como predeterminado .buttonlabelcancel = Saltar integración diff --git a/thunderbird-l10n/gl/manifest.json b/thunderbird-l10n/gl/manifest.json index dc3db1977035f33eefef84fcd2b9247316a09062..33a9aa7f0673451779522e36a0bc344bece60fa6 100644 --- a/thunderbird-l10n/gl/manifest.json +++ b/thunderbird-l10n/gl/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Galego (Galician)", "description": "Thunderbird Language Pack for Galego (gl) – Galician", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "gl": { - "version": "20231208145515", + "version": "20231215210402", "chrome_resources": { "alerts": "chrome/gl/locale/gl/alerts/", "autoconfig": "chrome/gl/locale/gl/autoconfig/", diff --git a/thunderbird-l10n/he/chrome/he/locale/he/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/he/chrome/he/locale/he/messenger/messengercompose/composeMsgs.properties index 9468c224dbfde4391bf3f78b3eaff7e0ede09b30..3fa07bee5e545abd36a604c8ea2154388ed5f6a1 100644 --- a/thunderbird-l10n/he/chrome/he/locale/he/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/he/chrome/he/locale/he/messenger/messengercompose/composeMsgs.properties @@ -439,6 +439,8 @@ startTlsFailed=An error occurred while sending mail: Unable to establish a secur smtpPasswordUndefined=An error occurred while sending mail: Could not get password for %S. The message was not sent. ## LOCALIZATION NOTE (smtpSendNotAllowed): argument %s is the Outgoing server (SMTP) response smtpSendNotAllowed=An error occurred while sending mail. The mail server responded:\n%s.\nPlease ensure that you are using the correct identity to send and that the used authentication method is correct. Verify that you are allowed to send via this SMTP server with your current credentials from your current network. +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. # LOCALIZATION NOTE (smtpHintAuthEncryptToPlainNoSsl): %S is the server hostname smtpHintAuthEncryptToPlainNoSsl=The Outgoing server (SMTP) %S does not seem to support encrypted passwords. If you just set up the account, try changing the 'Authentication method' in 'Account Settings | Outgoing server (SMTP)' to 'Password, transmitted insecurely'. If it used to work but now doesn't, you may be susceptible to getting your password stolen. # LOCALIZATION NOTE (smtpHintAuthPlainToEncrypt): %S is the server hostname diff --git a/thunderbird-l10n/he/localization/he/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/he/localization/he/messenger/openpgp/openpgp.ftl index 27a800ba8d2e0c1f194bc2b0d77c0f0c3f0fd98f..fc7c67243d500d737fe38eaf0977bca18fe69a2f 100644 --- a/thunderbird-l10n/he/localization/he/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/he/localization/he/messenger/openpgp/openpgp.ftl @@ -1,39 +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/. e2e-advanced-section = הגדרות מתקדמות - -openpgp-key-user-id-label = חשבון / מזהה משתמש -openpgp-keygen-title-label = - .title = ייצור מפתח OpenPGP -openpgp-cancel-key = - .label = ביטול - .tooltiptext = ביטול ייצור מפתח -openpgp-key-gen-days-label = - .label = ימים -openpgp-key-gen-months-label = - .label = חודשים -openpgp-key-gen-years-label = - .label = שנים -openpgp-key-gen-key-size-label = גודל מפתח -openpgp-key-gen-key-type-label = סוג מפתח -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (עקומה אליפטית) -openpgp-advanced-prefs-button-label = - .label = מתקדם… - openpgp-key-id-label = .label = מזהה מפתח - openpgp-cannot-change-expiry = זהו מפתח עם מבנה מורכב, שינוי תאריך התפוגה שלו אינו נתמך. - openpgp-key-man-title = .title = מנהל מפתחות OpenPGP - +openpgp-key-man-dialog-title = מנהל מפתחות OpenPGP openpgp-key-man-file-menu = .label = קובץ .accesskey = ק @@ -46,11 +21,9 @@ openpgp-key-man-view-menu = openpgp-key-man-generate-menu = .label = ייצור .accesskey = י - openpgp-key-man-ctx-copy = .label = העתקה .accesskey = ה - openpgp-key-man-ctx-copy-fprs = .label = { $count -> @@ -58,7 +31,6 @@ openpgp-key-man-ctx-copy-fprs = *[other] טביעות אצבע } .accesskey = ט - openpgp-key-man-ctx-copy-key-ids = .label = { $count -> @@ -66,7 +38,6 @@ openpgp-key-man-ctx-copy-key-ids = *[other] מזהי מפתח } .accesskey = מ - openpgp-key-man-ctx-copy-public-keys = .label = { $count -> @@ -74,7 +45,6 @@ openpgp-key-man-ctx-copy-public-keys = *[other] מפתחות ציבוריים } .accesskey = צ - openpgp-key-man-close = .label = סגירה openpgp-key-man-change-expiry = @@ -116,10 +86,8 @@ openpgp-key-man-nothing-found-tooltip = .label = אין מפתחות שתואמים למונחי החיפוש שלך openpgp-key-man-please-wait-tooltip = .label = נא להמתין בזמן טעינת המפתחות... - openpgp-key-man-filter-label = .placeholder = חיפוש אחר מפתחות - openpgp-key-details-signatures-tab = .label = אישורים openpgp-key-details-structure-tab = @@ -127,7 +95,6 @@ openpgp-key-details-structure-tab = openpgp-key-details-id-label = .label = מזהה openpgp-key-details-key-type-label = סוג - openpgp-key-details-algorithm-label = .label = אלגוריתם openpgp-key-details-size-label = @@ -146,7 +113,6 @@ openpgp-key-details-sel-action = .accesskey = ב openpgp-card-details-close-window-label = .buttonlabelaccept = סגירה - openpgp-copy-cmd-label = .label = העתקה @@ -155,51 +121,38 @@ openpgp-copy-cmd-label = openpgp-add-key-button = .label = הוספת מפתח… .accesskey = ה - e2e-learn-more = מידע נוסף - openpgp-keygen-success = מפתח OpenPGP נוצר בהצלחה! - openpgp-keygen-import-success = מפתחות OpenPGP יובאו בהצלחה! - openpgp-keygen-external-success = מזהה מפתח GnuPG חיצוני נשמר! ## OpenPGP Key selection area openpgp-radio-none = .label = ללא - openpgp-radio-none-desc = לא להשתמש ב־OpenPGP עבור זהות זו. - openpgp-radio-key-not-usable = מפתח זה אינו שמיש כמפתח אישי, כי המפתח הסודי חסר! openpgp-radio-key-not-accepted = כדי להשתמש במפתח זה עליך לאשר אותו כמפתח אישי! openpgp-radio-key-not-found = מפתח זה לא נמצא! אם ברצונך להשתמש בו, עליך לייבא אותו אל { -brand-short-name }. - # $key (String) - the expiration date of the OpenPGP key openpgp-radio-key-expires = יפוג בתאריך: { $date } - # $key (String) - the expiration date of the OpenPGP key openpgp-radio-key-expired = פג בתאריך: { $date } - openpgp-key-expires-within-6-months-icon = .title = תוקף המפתח יפוג בעוד פחות מ־6 חודשים - openpgp-key-has-expired-icon = .title = פג תוקף המפתח - openpgp-key-expand-section = .tooltiptext = מידע נוסף - openpgp-key-edit-title = שינוי מפתח OpenPGP - openpgp-key-edit-date-title = הארכת תאריך התפוגה - openpgp-key-remove-external = .label = הסרת מזהה מפתח חיצוני .accesskey = ס - key-external-label = מפתח GnuPG חיצוני +## Strings in keyDetailsDlg.xhtml + # Strings in keyDetailsDlg.xhtml key-type-public = מפתח ציבורי key-type-primary = מפתח ראשי @@ -207,9 +160,96 @@ key-type-subkey = מפתח משנה key-expired-date = תוקף המפתח פג ב־{ $keyExpiry } key-expired-simple = פג תוקף המפתח +## Strings enigmailMsgComposeOverlay.js + + +## Strings in keyserver.jsm + + +## Strings in mimeWkdHandler.jsm + + +## Strings in persistentCrypto.jsm + + +## Strings filters.jsm + + +## Strings filtersWrapper.jsm + + +## Strings in enigmailKeyImportInfo.js + + +## Strings in enigmailKeyManager.js + + ## Account settings export output + +## Strings in keyObj.jsm +## Variables: +## $userId (String) - The name and/or email address that is mentioned in the key's information. +## $keyId (String) - Key id for the key entry. + + +## Strings in gnupg-keylist.jsm + + +## Strings in key.jsm + + +## Strings in keyRing.jsm & decryption.jsm + + +## Strings used in errorHandling.jsm + + +## Strings used in enigmailKeyManager.js & windows.jsm + + +## Strings used in keyRing.jsm & keyLookupHelper.jsm + + +## Strings used in keyRing.jsm & GnuPGCryptoAPI.jsm + + +## Strings used in keyRing.jsm + + +## Strings used in trust.jsm + + +## Strings used in commonWorkflows.js + + +## Strings used in enigmailKeygen.js + expiry-too-long = לא ניתן ליצור מפתח שתוקפו יפוג בעוד יותר ממאה שנה. -# Strings used in enigmailMessengerOverlay.js +## Strings used in enigmailMessengerOverlay.js + + +## Strings used in enigmailMsgComposeOverlay.js + + +## Strings used in decryption.jsm + + +## Strings used in enigmailMsgHdrViewOverlay.js + + +## Strings used in encryption.jsm + + +## Strings used in windows.jsm + + +## Strings used in dialog.jsm + + +## Strings used in persistentCrypto.jsm + + +## Strings used in enigmailMsgBox.js diff --git a/thunderbird-l10n/he/localization/he/messenger/preferences/system-integration.ftl b/thunderbird-l10n/he/localization/he/messenger/preferences/system-integration.ftl index c422c3247ff21a658bfa7c8b4a206e3c82b36143..6ae00f7d8a4b238daeac856d18c8818bd38612e7 100644 --- a/thunderbird-l10n/he/localization/he/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/he/localization/he/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = השתלבות במערכת - +system-integration-dialog-title = השתלבות במערכת system-integration-dialog = .buttonlabelaccept = הגדרה כבררת מחדל .buttonlabelcancel = דילוג על ההשתלבות .buttonlabelcancel2 = ביטול - default-client-intro = שימוש ב־{ -brand-short-name } כלקוח בררת מחדל עבור: - unset-default-tooltip = זה בלתי אפשרי לבטל את ההגדרה של { -brand-short-name } כלקוח בררת המחדל מתוך { -brand-short-name }. כדי להפוך תכנית אחרת לבררת המחדל עליך להשתמש בתיבת הדו־שיח של 'הגדרה כבררת מחדל' בתכנית עצמה. - checkbox-email-label = .label = דואר אלקטרוני .tooltiptext = { unset-default-tooltip } @@ -23,7 +20,6 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = הזנות .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -32,11 +28,9 @@ system-search-engine-name = [windows] Windows Search *[other] { "" } } - system-search-integration-label = .label = השתמש ב־{ system-search-engine-name } כדי לחפש הודעות .accesskey = ה - check-on-startup-label = .label = בצע בדיקה זו בכל הפעלה של { -brand-short-name } .accesskey = כ diff --git a/thunderbird-l10n/he/manifest.json b/thunderbird-l10n/he/manifest.json index df4ca3444f7a272e62cfd0228f9a24f3b068e96b..a8471cacd72e583b8561d8d262ce0637c7d03d0a 100644 --- a/thunderbird-l10n/he/manifest.json +++ b/thunderbird-l10n/he/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: עברית (Hebrew)", "description": "Thunderbird Language Pack for עברית (he) – Hebrew", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "he": { - "version": "20231208145559", + "version": "20231215210446", "chrome_resources": { "alerts": "chrome/he/locale/he/alerts/", "autoconfig": "chrome/he/locale/he/autoconfig/", diff --git a/thunderbird-l10n/hr/localization/hr/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/hr/localization/hr/messenger/compactFoldersDialog.ftl index d3fb2f4387db0ec3d1a73573948c65710e5771fe..c5c891edd249624d2496559650d110a6d1360a6d 100644 --- a/thunderbird-l10n/hr/localization/hr/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/hr/localization/hr/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Sažmi mape - .style = width: 50em; compact-dialog-window-title = .title = Sažmi mape +compact-folders-dialog-title = Sažmi mape compact-dialog = .buttonlabelaccept = Sažmi sada .buttonaccesskeyaccept = S diff --git a/thunderbird-l10n/hr/localization/hr/messenger/preferences/system-integration.ftl b/thunderbird-l10n/hr/localization/hr/messenger/preferences/system-integration.ftl index bf68cf1b8580ca485b950a20e6f0bd8d92b881c3..fc6785721b61ace19264672016abb95775e21525 100644 --- a/thunderbird-l10n/hr/localization/hr/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/hr/localization/hr/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Sistemska integracija - +system-integration-dialog-title = Sistemska integracija system-integration-dialog = .buttonlabelaccept = Postavi kao zadani .buttonlabelcancel = Preskoči integraciju .buttonlabelcancel2 = Otkaži - default-client-intro = Koristite { -brand-short-name } kao zadani klijent za: - unset-default-tooltip = Nije moguće isključiti { -brand-short-name } kao zadani klijent iz samog { -brand-short-name }a. Ukoliko želite postaviti drugu aplikaciju za zadanu, morate koristiti njene 'Postavi kao zadani' postavke. - checkbox-email-label = .label = E-poštu .tooltiptext = { unset-default-tooltip } @@ -26,7 +23,6 @@ checkbox-feeds-label = checkbox-calendar-label = .label = Kalendar .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -35,11 +31,9 @@ system-search-engine-name = [windows] Windows pretraživanje *[other] { "" } } - system-search-integration-label = .label = Dozvoli { system-search-engine-name } pretraživanje poruka .accesskey = D - check-on-startup-label = .label = Uvijek napravi ovu provjeru prilikom pokretanja { -brand-short-name }a .accesskey = a diff --git a/thunderbird-l10n/hr/manifest.json b/thunderbird-l10n/hr/manifest.json index 9638839c01a18b029f88e6aa882d144921e1946f..c75faa522440c26ddfab3004599d4a8523ba994f 100644 --- a/thunderbird-l10n/hr/manifest.json +++ b/thunderbird-l10n/hr/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Hrvatski (Croatian)", "description": "Thunderbird Language Pack for Hrvatski (hr) – Croatian", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "hr": { - "version": "20231208145645", + "version": "20231215210531", "chrome_resources": { "alerts": "chrome/hr/locale/hr/alerts/", "autoconfig": "chrome/hr/locale/hr/autoconfig/", diff --git a/thunderbird-l10n/hsb/localization/hsb/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/hsb/localization/hsb/messenger/accountcreation/accountHub.ftl index 1d5f5641e1de6690990eba573cfa173d8a528599..8df85324b8c6664145cb56596dc3b4addcb125dc 100644 --- a/thunderbird-l10n/hsb/localization/hsb/messenger/accountcreation/accountHub.ftl +++ b/thunderbird-l10n/hsb/localization/hsb/messenger/accountcreation/accountHub.ftl @@ -80,3 +80,4 @@ account-hub-username-label = Wužiwarske mjeno account-hub-adding-account-title = Přidawanje konta account-hub-adding-account-subheader = Nastajenja za kontowu konfiguraciju znowa testować account-hub-account-added-title = Konto je so přidało +account-hub-find-settings-failed = { -brand-full-name } njemóžeše nastajenja za waše e-mejlowe konto namakać. diff --git a/thunderbird-l10n/hsb/localization/hsb/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/hsb/localization/hsb/messenger/compactFoldersDialog.ftl index a94f64abb540c0e73e2aa89b0092c8949922f038..0917efa524b1600e6fed951eacd55f059e87206f 100644 --- a/thunderbird-l10n/hsb/localization/hsb/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/hsb/localization/hsb/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Rjadowaki zhusćić - .style = width: 50em; compact-dialog-window-title = .title = Rjadowaki zhusćić +compact-folders-dialog-title = Rjadowaki zhusćić compact-dialog = .buttonlabelaccept = Nětko zhusćić .buttonaccesskeyaccept = h diff --git a/thunderbird-l10n/hsb/localization/hsb/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/hsb/localization/hsb/messenger/openpgp/openpgp.ftl index 924d8bf8ac5e3860226433933c84028eee89a261..4cd73a9c780ac36f67e0824572dbbd8319f9f129 100644 --- a/thunderbird-l10n/hsb/localization/hsb/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/hsb/localization/hsb/messenger/openpgp/openpgp.ftl @@ -29,36 +29,6 @@ e2e-encrypt-drafts = e2e-autocrypt-headers = .label = Zjawne kluče OpenPGP w e-mejlowych hłowach za kompatibelnosć z Autocrypt pósłać .accesskey = k -openpgp-key-user-id-label = Konto/Wužiwarski ID -openpgp-keygen-title-label = - .title = OpenPGP-kluč wutworić -openpgp-cancel-key = - .label = Přetorhnyć - .tooltiptext = Wutworjenje kluča přetorhnyć -openpgp-key-gen-expiry-title = - .label = Płaćiwosć kluča -openpgp-key-gen-expire-label = Kluč spadnje za -openpgp-key-gen-days-label = - .label = dnjow -openpgp-key-gen-months-label = - .label = měsacow -openpgp-key-gen-years-label = - .label = lět -openpgp-key-gen-no-expiry-label = - .label = Kluč njespadnje -openpgp-key-gen-key-size-label = Wulkosć kluča -openpgp-key-gen-console-label = Wutworjenje kluča -openpgp-key-gen-key-type-label = Klučowy typ: -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (Elliptic Curve) -openpgp-generate-key = - .label = Kluč wutworić - .tooltiptext = Wutworja nowy hodźacy so OPenPGP-kluč za zaklučowanje a/abo signowanje -openpgp-advanced-prefs-button-label = - .label = Rozšěrjeny… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">KEDŹBU: Wutworjenje kluča móže někotre mjeńšiny trać.</a> Njekónčće nałoženje, mjeztym so kluč wutworja. Hdyž aktiwnje přehladujeće abo operacije z intensiwnym wužiwanjom kruteje tačele wuwjedźeće, mjeztym zo so kluč wutworja, so ‚pool připadnosće‘ znowa napjelni a proces pospěši. Dóstanjeće zdźělenku, hdyž wutowrjenje kluča je dokónčene. openpgp-key-created-label = .label = Wutworjeny openpgp-key-expiry-label = @@ -68,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = To je kluč z kompleksnej strukturu, změnjenje jeho datuma spadnjenja so njepodpěruje. openpgp-key-man-title = .title = Zrjadowak OpenPGP-klučow +openpgp-key-man-dialog-title = Zrjadowak OpenPGP-klučow openpgp-key-man-generate = .label = Nowy klučowy por .accesskey = k @@ -429,10 +400,7 @@ key-verification = Přepruwujće porstowy wotćišć kluča z pomocu druheho wě # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = Njeje móžno powěsć słać, dokelž je problem z wašim wosobinskim klučom. { $problem } -cannot-encrypt-because-missing = Njeje móžno, tutu powěsć ze zaklučowanjom kónc do kónca pósłác, dokelž su problemy z klučemi slědowacych přijimarjow: { $problem } window-locked = Wobdźěłowanske wokno je zawrjene; słanje je so přetorhnyło -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = To je zaklučowany powěsćowy dźěl. Klikńće na přiwěšk, zo byšće jón w separatnym woknje wočinił. ## Strings in keyserver.jsm @@ -655,7 +623,6 @@ import-key-file = Dataju OpenPGP-kluča importować import-rev-file = Wotwołansku dataju OpenPGP importować gnupg-file = GnuPG-dataje import-keys-failed = Importowanje klučow njeje so poradźiło -passphrase-prompt = Prošu zapodajće hesłowu frazu, kotraž slědowacy kluč dopušća: { $key } # Variables: # $key (String) - Key id to unlock. # $date (String) - The date on which the key was created diff --git a/thunderbird-l10n/hsb/localization/hsb/messenger/preferences/system-integration.ftl b/thunderbird-l10n/hsb/localization/hsb/messenger/preferences/system-integration.ftl index eb4ef534894d8bb701053004ec94f681fe249376..6c3e758075fc6512b756bfd8dd85f99ed6aeb76b 100644 --- a/thunderbird-l10n/hsb/localization/hsb/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/hsb/localization/hsb/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Systemowa integracija - +system-integration-dialog-title = Systemowa integracija system-integration-dialog = .buttonlabelaccept = Jako standard nastajić .buttonlabelcancel = Integraciju přeskročić .buttonlabelcancel2 = Přetorhnyć - default-client-intro = { -brand-short-name } jako standardny program wužiwać za: - unset-default-tooltip = Njeje móžno, znutřka { -brand-short-name } postajić, zo { -brand-short-name } hižo nima so jako standardny program wužiwać. Zo byšće druhe nałoženje k standardnemu programej činił, dyrbiće dialog 'Jako standard wužiwać' tutoho nałoženja wužiwać. - checkbox-email-label = .label = E-mejl .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Kanale .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Protyka .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Windowsowe pytanje *[other] { "" } } - system-search-integration-label = .label = { system-search-engine-name } za pytanje powěsćow dowolić .accesskey = d - check-on-startup-label = .label = Tutu kontrolu přeco přewjesć, hdyž { -brand-short-name } startuje .accesskey = T diff --git a/thunderbird-l10n/hsb/manifest.json b/thunderbird-l10n/hsb/manifest.json index c0ca01710b7684155f8acef41a77fd8295efeb2d..5d27420124f1847c43fe4e075e6c79f1f7ccfb49 100644 --- a/thunderbird-l10n/hsb/manifest.json +++ b/thunderbird-l10n/hsb/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Hornjoserbšćina (Upper Sorbian)", "description": "Thunderbird Language Pack for Hornjoserbšćina (hsb) – Upper Sorbian", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "hsb": { - "version": "20231208145730", + "version": "20231215210616", "chrome_resources": { "alerts": "chrome/hsb/locale/hsb/alerts/", "autoconfig": "chrome/hsb/locale/hsb/autoconfig/", diff --git a/thunderbird-l10n/hu/localization/hu/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/hu/localization/hu/messenger/compactFoldersDialog.ftl index c5e0c7a677f866f0a4f86cfa290835bf0e163cc6..d43298d4ab91f3f9a840f137b02abad6d0ed8d3c 100644 --- a/thunderbird-l10n/hu/localization/hu/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/hu/localization/hu/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Mappák tömörítése - .style = width: 50em; compact-dialog-window-title = .title = Mappák tömörítése +compact-folders-dialog-title = Mappák tömörítése compact-dialog = .buttonlabelaccept = Tömörítés most .buttonaccesskeyaccept = T diff --git a/thunderbird-l10n/hu/localization/hu/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/hu/localization/hu/messenger/openpgp/openpgp.ftl index 9215be80de188b20db60e915f0fa94cbf5001245..80a7e23012d213f40f17933b536e1d4207619205 100644 --- a/thunderbird-l10n/hu/localization/hu/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/hu/localization/hu/messenger/openpgp/openpgp.ftl @@ -29,36 +29,6 @@ e2e-encrypt-drafts = e2e-autocrypt-headers = .label = OpenPGP nyilvános kulcsok küldése a levelek fejlécében az Autocrpyt-kompatibilitás érdekében .accesskey = t -openpgp-key-user-id-label = Fiók / felhasználói azonosító -openpgp-keygen-title-label = - .title = OpenPGP-kulcs előállítása -openpgp-cancel-key = - .label = Mégse - .tooltiptext = Kulcselőállítás megszakítása -openpgp-key-gen-expiry-title = - .label = Kulcs lejárata -openpgp-key-gen-expire-label = A kulcs lejár: -openpgp-key-gen-days-label = - .label = nap múlva -openpgp-key-gen-months-label = - .label = hónap múlva -openpgp-key-gen-years-label = - .label = év múlva -openpgp-key-gen-no-expiry-label = - .label = A kulcs nem jár le -openpgp-key-gen-key-size-label = Kulcsméret -openpgp-key-gen-console-label = Kulcselőállítás -openpgp-key-gen-key-type-label = Kulcs típusa -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (elliptikus görbe) -openpgp-generate-key = - .label = Kulcs előállítása - .tooltiptext = Új OpenPGP-nek megfelelő kulcsot állít elő titkosításhoz és aláíráshoz -openpgp-advanced-prefs-button-label = - .label = Speciális… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">MEGJEGYZÉS: A kulcs előállítása akár néhány percet is igénybe vehet.</a> Ne zárja be az alkalmazást, amíg a kulcs előállítása folyamatban van. A kulcselőállítás során az aktív böngészés vagy a lemezintenzív műveletek feltöltik a „véletlenszerűségi készletet”, és ez felgyorsítja a folyamatot. Értesítést kap, amikor a kulcselőállítás befejeződött. openpgp-key-created-label = .label = Létrehozva openpgp-key-expiry-label = @@ -68,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Ez egy komplex felépítésű kulcs, lejárati idejének megváltoztatása nem támogatott. openpgp-key-man-title = .title = OpenPGP-kulcskezelő +openpgp-key-man-dialog-title = OpenPGP-kulcskezelő openpgp-key-man-generate = .label = Új kulcspár .accesskey = k @@ -415,10 +386,7 @@ key-verification = Ellenőrizze a kulcs ujjlenyomatát az e-mailtől eltérő bi # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = Az üzenet nem küldhető el, mert probléma van a személyes kulcsával. { $problem } -cannot-encrypt-because-missing = Az üzenetet nem lehet végpontok közötti titkosítással elküldeni, mert problémák vannak a következő címzettek kulcsaival: { $problem } window-locked = Az írási ablak zárolva van; küldés megszakítva -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = Ez egy titkosított üzenetrész. A mellékletre kattintva, egy külön ablakban kell megnyitnia. ## Strings in keyserver.jsm @@ -641,7 +609,6 @@ import-key-file = OpenPGP-kulcsfájl importálása import-rev-file = OpenPGP visszavonási fájl importálása gnupg-file = GnuPG-fájlok import-keys-failed = A kulcsok importálása sikertelen -passphrase-prompt = Írja be a jelmondatot, amely feloldja a következő kulcsot: { $key } # Variables: # $key (String) - Key id to unlock. # $date (String) - The date on which the key was created diff --git a/thunderbird-l10n/hu/localization/hu/messenger/preferences/system-integration.ftl b/thunderbird-l10n/hu/localization/hu/messenger/preferences/system-integration.ftl index ff893ec129ce04e2d4a02b480078f9427b9800bc..c6f8769b97ca57c993a7d51b9e2aa8e3a1e7bddc 100644 --- a/thunderbird-l10n/hu/localization/hu/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/hu/localization/hu/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Integrálódás a rendszerbe - +system-integration-dialog-title = Integrálódás a rendszerbe system-integration-dialog = .buttonlabelaccept = Legyen ez az alapértelmezett .buttonlabelcancel = Integráció kihagyása .buttonlabelcancel2 = Mégse - default-client-intro = A { -brand-short-name } beállítása alapértelmezett kliensként: - unset-default-tooltip = Nem lehet a { -brand-short-name }ból törölni a { -brand-short-name } beállítását alapértelmezett kliensként. Másik alkalmazás alapértelmezetté tételéhez használja annak „Beállítás alapértelmezettként” ablakát. - checkbox-email-label = .label = Levelezés .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Hírforrások .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Naptár .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Windows Search *[other] { "" } } - system-search-integration-label = .label = A(z) { system-search-engine-name } kereshet az üzenetek között .accesskey = s - check-on-startup-label = .label = Ellenőrzés elvégzése a { -brand-short-name } minden indításakor .accesskey = E diff --git a/thunderbird-l10n/hu/manifest.json b/thunderbird-l10n/hu/manifest.json index 105ab3fbade14d26b59da5150f910dcea6951c22..d461f8afba7820eecf8555b3ef36d57a56732f8c 100644 --- a/thunderbird-l10n/hu/manifest.json +++ b/thunderbird-l10n/hu/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Magyar (Hungarian)", "description": "Thunderbird Language Pack for Magyar (hu) – Hungarian", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "hu": { - "version": "20231208145229", + "version": "20231215210136", "chrome_resources": { "alerts": "chrome/hu/locale/hu/alerts/", "autoconfig": "chrome/hu/locale/hu/autoconfig/", diff --git a/thunderbird-l10n/hy-AM/chrome/hy-AM/locale/hy-AM/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/hy-AM/chrome/hy-AM/locale/hy-AM/messenger/messengercompose/composeMsgs.properties index 76e8824d70d96f3bfc240154fd1287ffbd9bde1f..725dd783201ad43c6227d7c2f75de928418ce64b 100644 --- a/thunderbird-l10n/hy-AM/chrome/hy-AM/locale/hy-AM/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/hy-AM/chrome/hy-AM/locale/hy-AM/messenger/messengercompose/composeMsgs.properties @@ -458,5 +458,7 @@ confirmRemoveRecipientRowButton=Ջնջել ## It should be larger than the largest Header label and identical to &headersSpace2.style; headersSpaceStyle=width: 8em +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. # LOCALIZATION NOTE (errorIllegalLocalPart2): %s is an email address with an illegal localpart errorIllegalLocalPart2=There are non-ASCII characters in the local part of the recipient address %s and your server does not support SMTPUTF8. Please change this address and try again. diff --git a/thunderbird-l10n/hy-AM/localization/hy-AM/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/hy-AM/localization/hy-AM/messenger/openpgp/openpgp.ftl index 90d08c6ba7d4f2d2af24317c3dcd0291817c3151..6b21cb5f1eb1a534814488b51ff9c92c585ff92b 100644 --- a/thunderbird-l10n/hy-AM/localization/hy-AM/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/hy-AM/localization/hy-AM/messenger/openpgp/openpgp.ftl @@ -1,14 +1,10 @@ - # 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/. -openpgp-cancel-key = - .label = Չեղարկել - .tooltiptext = Չեղարկման բանալու ստեղծում - openpgp-key-man-title = .title = OpenPGP բանալիների կառավարիչ +openpgp-key-man-dialog-title = OpenPGP բանալիների կառավարիչ ## e2e encryption settings @@ -19,10 +15,99 @@ openpgp-manager-button = .label = OpenPGP բանալիների կառավարիչ .accesskey = K +## Strings in keyDetailsDlg.xhtml + + +## Strings enigmailMsgComposeOverlay.js + + +## Strings in keyserver.jsm + + +## Strings in mimeWkdHandler.jsm + + +## Strings in persistentCrypto.jsm + + +## Strings filters.jsm + + +## Strings filtersWrapper.jsm + + +## Strings in enigmailKeyImportInfo.js + + +## Strings in enigmailKeyManager.js + + ## Account settings export output -# Strings used in enigmailMessengerOverlay.js +## Strings in keyObj.jsm +## Variables: +## $userId (String) - The name and/or email address that is mentioned in the key's information. +## $keyId (String) - Key id for the key entry. + + +## Strings in gnupg-keylist.jsm + + +## Strings in key.jsm + + +## Strings in keyRing.jsm & decryption.jsm + + +## Strings used in errorHandling.jsm + + +## Strings used in enigmailKeyManager.js & windows.jsm + + +## Strings used in keyRing.jsm & keyLookupHelper.jsm + + +## Strings used in keyRing.jsm & GnuPGCryptoAPI.jsm + + +## Strings used in keyRing.jsm + + +## Strings used in trust.jsm + + +## Strings used in commonWorkflows.js + + +## Strings used in enigmailKeygen.js + + +## Strings used in enigmailMessengerOverlay.js + + +## Strings used in enigmailMsgComposeOverlay.js + + +## Strings used in decryption.jsm invalid-email = Սխալ՝ անվավեր էլ. փոստի հասցե(ներ) +## Strings used in enigmailMsgHdrViewOverlay.js + + +## Strings used in encryption.jsm + + +## Strings used in windows.jsm + + +## Strings used in dialog.jsm + + +## Strings used in persistentCrypto.jsm + + +## Strings used in enigmailMsgBox.js + diff --git a/thunderbird-l10n/hy-AM/localization/hy-AM/messenger/preferences/system-integration.ftl b/thunderbird-l10n/hy-AM/localization/hy-AM/messenger/preferences/system-integration.ftl index 7aae6aca6456472a113303e3e25fc85d1a705246..5ad51bb7fcade96c63f8ceda8f18023322e80582 100644 --- a/thunderbird-l10n/hy-AM/localization/hy-AM/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/hy-AM/localization/hy-AM/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Համակարգային ինտեգրում - +system-integration-dialog-title = Համակարգային ինտեգրում system-integration-dialog = .buttonlabelaccept = Նշել որպես հիմնական .buttonlabelcancel = Բաց թողնել ինտեգրացիան .buttonlabelcancel2 = Չեղարկել - default-client-intro = Օգտ. { -brand-short-name }-ը որպես հիմնական ծրագիր՝ - unset-default-tooltip = It is not possible to unset { -brand-short-name } as the default client within { -brand-short-name }. To make another application the default you must use its 'Set as default' dialog. - checkbox-email-label = .label = Էլ. նամակ .tooltiptext = { unset-default-tooltip } @@ -23,7 +20,6 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Սնումներ .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -32,11 +28,9 @@ system-search-engine-name = [windows] Windows Search *[other] { "" } } - system-search-integration-label = .label = Թույլատրել { system-search-engine-name }-ին որոնել նամակներ .accesskey = s - check-on-startup-label = .label = { -brand-short-name }-ը բացելիս միշտ ստուգել այս ընտրությունը։ .accesskey = A diff --git a/thunderbird-l10n/hy-AM/manifest.json b/thunderbird-l10n/hy-AM/manifest.json index d69a7b7fe7e0b152916793319a8ce0a7849c3e0f..4e313a1ae30addd323b242f00d60dc270f638ad2 100644 --- a/thunderbird-l10n/hy-AM/manifest.json +++ b/thunderbird-l10n/hy-AM/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: հայերեն (Armenian)", "description": "Thunderbird Language Pack for հայերեն (hy-AM) – Armenian", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "hy-AM": { - "version": "20231208145313", + "version": "20231215210221", "chrome_resources": { "alerts": "chrome/hy-AM/locale/hy-AM/alerts/", "autoconfig": "chrome/hy-AM/locale/hy-AM/autoconfig/", diff --git a/thunderbird-l10n/id/chrome/id/locale/id/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/id/chrome/id/locale/id/messenger/messengercompose/composeMsgs.properties index 6ad5e008b7cc01fd58dc14c05a122a0bc5c15b46..b424eecee70bfc84daa9e23bb12bcd8ba14120b7 100644 --- a/thunderbird-l10n/id/chrome/id/locale/id/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/id/chrome/id/locale/id/messenger/messengercompose/composeMsgs.properties @@ -459,3 +459,6 @@ confirmRemoveRecipientRowButton=Hapus ## LOCALIZATION NOTE headersSpaceStyle is for aligning label of a newly create recipient row. ## It should be larger than the largest Header label and identical to &headersSpace2.style; headersSpaceStyle=lebar: 8em + +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. diff --git a/thunderbird-l10n/id/localization/id/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/id/localization/id/messenger/openpgp/openpgp.ftl index 463de1e15abc21012c51755b71bd760e87edab56..b3a522decc67f2b9f6ac1740f76128aa48bd21ca 100644 --- a/thunderbird-l10n/id/localization/id/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/id/localization/id/messenger/openpgp/openpgp.ftl @@ -1,11 +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/. e2e-intro-description = Untuk mengirim pesan terenkripsi atau bertanda tangan digital, Anda perlu mengkonfigurasi teknologi enkripsi, baik OpenPGP maupun S/MIME. e2e-intro-description-more = Pilih kunci pribadi Anda untuk mengaktifkan penggunaan OpenPGP, atau sertifikat pribadi Anda untuk mengaktifkan penggunaan S/MIME. Untuk kunci pribadi atau sertifikat, Anda memiliki kunci rahasia yang sesuai. - e2e-advanced-section = Pengaturan tingkat lanjut e2e-attach-key = .label = Lampirkan kunci publik saya saat menambahkan tanda tangan digital OpenPGP @@ -16,48 +14,14 @@ e2e-encrypt-subject = e2e-encrypt-drafts = .label = Simpan pesan draf dalam format terenkripsi .accesskey = r - -openpgp-key-user-id-label = Akun / ID Pengguna -openpgp-keygen-title-label = - .title = Hasilkan Kunci OpenPGP -openpgp-cancel-key = - .label = Batalkan - .tooltiptext = Batalkan Pembuatan Kunci -openpgp-key-gen-expiry-title = - .label = Kedaluwarsa kunci -openpgp-key-gen-expire-label = Kunci kedaluwarsa dalam -openpgp-key-gen-days-label = - .label = hari -openpgp-key-gen-months-label = - .label = bulan -openpgp-key-gen-years-label = - .label = tahun -openpgp-key-gen-no-expiry-label = - .label = Kunci tidak kedaluwarsa -openpgp-key-gen-key-size-label = Ukuran kunci -openpgp-key-gen-console-label = Pembuatan Kunci -openpgp-key-gen-key-type-label = Jenis kunci -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (Kurva Eliptik) -openpgp-generate-key = - .label = Hasilkan kunci - .tooltiptext = Membuat sebuah kunci kepatuhan OpenPGP baru untuk enkripsi dan atau penandatanganan -openpgp-advanced-prefs-button-label = - .label = Canggih… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">CATATAN: Pembuatan kunci mungkin membutuhkan waktu hingga beberapa menit untuk menyelesaikannya.</a> Jangan keluar dari aplikasi saat pembuatan kunci sedang berlangsung. Menjelajah secara aktif atau melakukan operasi intensif disk selama pembuatan kunci akan mengisi kembali 'kumpulan keacakan' dan mempercepat proses. Anda akan diberi tahu saat pembuatan kunci selesai. - openpgp-key-expiry-label = .label = Kedaluwarsa - openpgp-key-id-label = .label = ID Kunci - openpgp-cannot-change-expiry = Ini adalah kunci dengan struktur yang kompleks, mengubah tanggal kedaluwarsa tidak didukung. - openpgp-key-man-title = .title = Manajer Kunci OpenPGP +openpgp-key-man-dialog-title = Manajer Kunci OpenPGP openpgp-key-man-generate = .label = Pasangan Kunci Baru .accesskey = K @@ -66,7 +30,6 @@ openpgp-key-man-gen-revoke = .accesskey = R openpgp-key-man-ctx-gen-revoke-label = .label = Hasilkan & Simpan Sertifikat Pencabutan - openpgp-key-man-file-menu = .label = File .accesskey = F @@ -82,7 +45,6 @@ openpgp-key-man-generate-menu = openpgp-key-man-keyserver-menu = .label = Keyserver .accesskey = K - openpgp-key-man-import-public-from-file = .label = Impor Kunci Publik Dari File .accesskey = I @@ -105,78 +67,64 @@ openpgp-key-man-send-keys = openpgp-key-man-backup-secret-keys = .label = Cadangkan Kunci Rahasia Ke File .accesskey = C - openpgp-key-man-discover-cmd = .label = Temukan Kunci Daring .accesskey = D openpgp-key-man-discover-prompt = Untuk menemukan kunci OpenPGP secara daring, pada server kunci atau menggunakan protokol WKD, masukkan salah satu alamat surel atau ID kunci. openpgp-key-man-discover-progress = Mencari… - openpgp-key-copy-key = .label = Salin Kunci Publik .accesskey = C - openpgp-key-export-key = .label = Ekspor Kunci Publik Ke File .accesskey = E - openpgp-key-backup-key = .label = Cadangkan Kunci Rahasia Ke File .accesskey = C - openpgp-key-send-key = .label = Kirim Kunci Publik Lewat Surel .accesskey = S - openpgp-key-man-copy-key-ids = .label = { $count -> *[other] Salin ID Kunci ke Papan Klip } .accesskey = k - openpgp-key-man-copy-fprs = .label = { $count -> *[other] Salin Sidik Jari Ke Papan Klip } .accesskey = S - openpgp-key-man-copy-to-clipboard = .label = { $count -> *[other] Salin Kunci Publik Ke Papan Klip } .accesskey = P - openpgp-key-man-ctx-expor-to-file-label = .label = Ekspor Kunci Ke File - openpgp-key-man-ctx-copy = .label = Salin .accesskey = S - openpgp-key-man-ctx-copy-fprs = .label = { $count -> *[other] Sidik Jari } .accesskey = S - openpgp-key-man-ctx-copy-key-ids = .label = { $count -> *[other] ID Kunci } .accesskey = K - openpgp-key-man-ctx-copy-public-keys = .label = { $count -> *[other] Kunci Publik } .accesskey = P - openpgp-key-man-close = .label = Tutup openpgp-key-man-reload = @@ -224,15 +172,12 @@ openpgp-key-man-nothing-found-tooltip = .label = Tidak ada kunci yang cocok dengan istilah pencarian Anda openpgp-key-man-please-wait-tooltip = .label = Harap tunggu sementara kunci sedang dimuat… - openpgp-key-man-filter-label = .placeholder = Cari kunci - openpgp-key-man-select-all-key = .key = A openpgp-key-man-key-details-key = .key = I - openpgp-key-details-signatures-tab = .label = Sertifikasi openpgp-key-details-structure-tab = @@ -244,7 +189,6 @@ openpgp-key-details-id-label = openpgp-key-details-key-type-label = Tipe openpgp-key-details-key-part-label = .label = Bagian kunci - openpgp-key-details-algorithm-label = .label = Algoritme openpgp-key-details-size-label = @@ -280,7 +224,6 @@ openpgp-personal-no-label = .label = Tidak, jangan gunakan sebagai kunci pribadi saya. openpgp-personal-yes-label = .label = Ya, perlakukan kunci ini sebagai kunci pribadi. - openpgp-copy-cmd-label = .label = Salin @@ -288,66 +231,48 @@ openpgp-copy-cmd-label = # $key (String) - the currently selected OpenPGP key openpgp-selection-status-have-key = Konfigurasi Anda saat ini menggunakan ID kunci <b>{ $key }</b> - # $key (String) - the currently selected OpenPGP key openpgp-selection-status-error = Konfigurasi Anda saat ini menggunakan kunci <b>{ $key }</b>, yang telah kedaluwarsa. - openpgp-add-key-button = .label = Tambahkan Kunci… .accesskey = a - e2e-learn-more = Pelajari lebih lanjut - openpgp-keygen-success = Kunci OpenPGP berhasil dibuat! - openpgp-keygen-import-success = Kunci OpenPGP berhasil diimpor! - openpgp-keygen-external-success = ID Kunci GnuPG Eksternal disimpan! ## OpenPGP Key selection area openpgp-radio-none = .label = Nihil - openpgp-radio-none-desc = Jangan gunakan OpenPGP untuk identitas ini. - openpgp-radio-key-not-usable = Kunci ini tidak dapat digunakan sebagai kunci pribadi, karena kunci rahasia hilang! openpgp-radio-key-not-accepted = Untuk menggunakan kunci ini Anda harus menyetujuinya sebagai kunci pribadi! openpgp-radio-key-not-found = Kunci ini tidak ditemukan! Jika ingin menggunakannya, Anda harus mengimpornya ke { -brand-short-name }. - # $key (String) - the expiration date of the OpenPGP key openpgp-radio-key-expires = Kedaluwarsa pada: { $date } - # $key (String) - the expiration date of the OpenPGP key openpgp-radio-key-expired = Kedaluwarsa pada: { $date } - openpgp-key-expires-within-6-months-icon = .title = Kunci akan kedaluwarsa dalam waktu kurang dari 6 bulan - openpgp-key-has-expired-icon = .title = Kunci kedaluwarsa - openpgp-key-expand-section = .tooltiptext = Informasi lebih lanjut - openpgp-key-revoke-title = Cabut Kunci - openpgp-key-edit-title = Ubah Kunci OpenPGP - openpgp-key-edit-date-title = Perpanjang Tanggal Kedaluwarsa - openpgp-manager-description = Gunakan Manajer Kunci OpenPGP untuk melihat dan mengelola kunci publik koresponden Anda dan semua kunci lain yang tidak tercantum di atas. - openpgp-manager-button = .label = Manajer Kunci OpenPGP .accesskey = K - openpgp-key-remove-external = .label = Hapus ID Kunci Eksternal .accesskey = E - key-external-label = Kunci GnuPG Eksternal +## Strings in keyDetailsDlg.xhtml + # Strings in keyDetailsDlg.xhtml key-type-public = kunci publik key-type-primary = kunci utama @@ -364,12 +289,13 @@ key-expired-simple = Kunci sudah kedaluwarsa key-revoked-simple = Kunci sudah dicabut key-do-you-accept = Apakah Anda menerima kunci ini untuk memverifikasi tanda tangan digital dan untuk mengenkripsi pesan? +## Strings enigmailMsgComposeOverlay.js + # Strings enigmailMsgComposeOverlay.js cannot-use-own-key-because = Tidak dapat mengirim pesan, karena ada masalah dengan kunci pribadi Anda. { $problem } -cannot-encrypt-because-missing = Tidak dapat mengirim pesan ini dengan enkripsi ujung ke ujung, karena ada masalah dengan kunci dari penerima berikut: { $problem } window-locked = Jendela tulis terkunci; pengiriman dibatalkan -mime-decrypt-encrypted-part-concealed-data = Ini adalah bagian pesan terenkripsi. Anda perlu membukanya di jendela terpisah dengan mengklik lampiran. +## Strings in keyserver.jsm # Strings in keyserver.jsm keyserver-error-aborted = Dibatalkan @@ -381,6 +307,8 @@ keyserver-error-security-error = Server kunci tidak mendukung akses terenkripsi. keyserver-error-certificate-error = Sertifikat server kunci tidak valid. keyserver-error-unsupported = Server kunci tidak didukung. +## Strings in mimeWkdHandler.jsm + # Strings in mimeWkdHandler.jsm wkd-message-body-req = Penyedia surel Anda telah memproses permintaan Anda untuk mengunggah kunci publik Anda ke OpenPGP Web Key Directory. @@ -389,12 +317,16 @@ wkd-message-body-process = Ini adalah surel yang terkait dengan pemrosesan otomatis untuk mengunggah kunci publik Anda ke OpenPGP Web Key Directory. Anda tidak perlu melakukan tindakan manual apa pun pada saat ini. +## Strings in persistentCrypto.jsm + # Strings in persistentCrypto.jsm converter-decrypt-body-failed = Tidak dapat mendekripsi pesan dengan subjek { $subject }. Apakah Anda ingin mencoba lagi dengan frasa sandi yang berbeda atau ingin melewatkan pesan? +## Strings filters.jsm + # Strings filters.jsm filter-folder-required = Anda harus memilih folder target. filter-decrypt-move-warn-experimental = @@ -407,11 +339,15 @@ filter-warn-key-not-secret = Peringatan - tindakan filter "Enkripsi ke kunci" menggantikan penerima. Jika Anda tidak memiliki kunci rahasia untuk '{ $desc }' Anda tidak dapat lagi membaca surel itu. +## Strings filtersWrapper.jsm + # Strings filtersWrapper.jsm filter-decrypt-move-label = Dekripsi secara permanen (OpenPGP) filter-decrypt-copy-label = Buat Salinan yang didekripsi (OpenPGP) filter-encrypt-label = Enkripsi ke kunci (OpenPGP) +## Strings in enigmailKeyImportInfo.js + # Strings in enigmailKeyImportInfo.js import-info-title = .title = Sukses! Kunci diimpor @@ -421,6 +357,8 @@ import-info-fpr = Sidik Jari import-info-details = Lihat Rincian dan kelola penerimaan kunci import-info-no-keys = Tidak ada kunci yang diimpor. +## Strings in enigmailKeyManager.js + # Strings in enigmailKeyManager.js import-from-clip = Apakah Anda ingin mengimpor beberapa kunci dari papan klip? import-from-url = Unduh kunci publik dari URL ini: @@ -464,10 +402,14 @@ dlg-button-delete = &Hapus openpgp-export-public-success = <b>Kunci Publik berhasil diekspor!</b> openpgp-export-public-fail = <b>Tidak dapat mengekspor kunci publik yang dipilih!</b> - openpgp-export-secret-success = <b>Kunci Rahasia berhasil diekspor!</b> openpgp-export-secret-fail = <b>Tidak dapat mengekspor kunci rahasia yang dipilih!</b> +## Strings in keyObj.jsm +## Variables: +## $userId (String) - The name and/or email address that is mentioned in the key's information. +## $keyId (String) - Key id for the key entry. + # Strings in keyObj.jsm key-ring-pub-key-revoked = Kunci { $userId } (ID kunci { $keyId }) dicabut. key-ring-pub-key-expired = Kunci { $userId } (ID kunci { $keyId }) telah kedaluwarsa. @@ -479,63 +421,68 @@ key-ring-sign-sub-keys-expired = Semua subkunci penandatanganan dari kunci { $us key-ring-enc-sub-keys-revoked = Semua subkunci enkripsi dari kunci { $userId } (ID kunci { $keyId }) dicabut. key-ring-enc-sub-keys-expired = Semua subkunci enkripsi dari kunci { $userId } (ID kunci { $keyId }) telah kedaluwarsa. +## Strings in gnupg-keylist.jsm + # Strings in gnupg-keylist.jsm keyring-photo = Foto user-att-photo = Atribut pengguna (gambar JPEG) +## Strings in key.jsm + # Strings in key.jsm already-revoked = Kunci ini sudah dicabut. - # $identity (String) - the id and associated user identity of the key being revoked revoke-key-question = Anda akan mencabut kunci '{ $identity }'. Anda tidak lagi dapat masuk dengan kunci ini, dan setelah didistribusikan, orang lain tidak lagi dapat mengenkripsi dengan kunci itu. Anda masih dapat menggunakan kunci tersebut untuk mendekripsi pesan lama. Apakah Anda ingin melanjutkan? - # $keyId (String) - the id of the key being revoked revoke-key-not-present = Anda tidak memiliki kunci (0x{ $keyId }) yang cocok dengan sertifikat pencabutan ini! Jika Anda kehilangan kunci, Anda harus mengimpornya (mis. dari server kunci) sebelum mengimpor sertifikat pencabutan! - # $keyId (String) - the id of the key being revoked revoke-key-already-revoked = Kunci 0x { $keyId } sudah pernah dicabut. - key-man-button-revoke-key = &Cabut Kunci - openpgp-key-revoke-success = Kunci berhasil dicabut. - after-revoke-info = Kunci telah dicabut. Bagikan kunci publik ini lagi, dengan mengirimkannya melalui surel, atau dengan mengunggahnya ke server kunci, untuk memberi tahu orang lain bahwa Anda telah mencabut kunci Anda. Segera setelah perangkat lunak yang digunakan oleh orang lain mengetahui tentang pencabutan tersebut, itu akan berhenti memakai kunci lama Anda. Jika Anda menggunakan kunci baru untuk alamat surel yang sama, dan Anda melampirkan kunci publik baru ke surel yang Anda kirim, maka informasi tentang kunci lama Anda yang dicabut akan secara otomatis disertakan. +## Strings in keyRing.jsm & decryption.jsm + # Strings in keyRing.jsm & decryption.jsm key-man-button-import = &Impor - delete-key-title = Hapus Kunci OpenPGP - delete-external-key-title = Buamg Kunci GnuPG Eksternal - delete-external-key-description = Apakah Anda ingin membuang ID kunci GnuPG Eksternal ini? - key-in-use-title = Kunci OpenPGP sedang digunakan - delete-key-in-use-description = Tidak dapat melanjutkan! Kunci yang Anda pilih untuk dihapus saat ini sedang digunakan oleh identitas ini. Pilih kunci lain, atau pilih tidak ada, dan coba lagi. - revoke-key-in-use-description = Tidak dapat melanjutkan! Kunci yang Anda pilih untuk pencabutan sedang digunakan oleh identitas ini. Pilih kunci lain, atau pilih tidak ada, dan coba lagi. +## Strings used in errorHandling.jsm + # Strings used in errorHandling.jsm key-error-key-spec-not-found = Alamat surel '{ $keySpec }' tidak bisa dicocokkan dengan kunci di keyring Anda. key-error-key-id-not-found = ID kunci yang dikonfigurasi '{ $keySpec }' tidak dapat ditemukan di keyring Anda. key-error-not-accepted-as-personal = Anda belum mengonfirmasi bahwa kunci dengan ID '{ $keySpec }' adalah kunci pribadi Anda. +## Strings used in enigmailKeyManager.js & windows.jsm + # Strings used in enigmailKeyManager.js & windows.jsm need-online = Fungsi yang Anda pilih tidak tersedia dalam mode luring. Pergilah daring dan coba lagi. +## Strings used in keyRing.jsm & keyLookupHelper.jsm + + +## Strings used in keyRing.jsm & GnuPGCryptoAPI.jsm + # Strings used in keyRing.jsm & GnuPGCryptoAPI.jsm fail-key-extract = Kesalahan - perintah ekstraksi kunci gagal +## Strings used in keyRing.jsm + # Strings used in keyRing.jsm fail-cancel = Kesalahan - Penerimaan kunci dibatalkan oleh pengguna not-first-block = Kesalahan - Blok OpenPGP pertama bukan blok kunci publik @@ -545,6 +492,8 @@ file-write-failed = Gagal menulis ke berkas { $output } no-pgp-block = Kesalahan - Tidak ditemukan blok data OpenPGP terbungkus yang valid confirm-permissive-import = Impor gagal. Kunci yang Anda coba impor mungkin rusak atau menggunakan atribut yang tidak diketahui. Apakah Anda ingin mencoba mengimpor bagian yang benar? Ini mungkin mengakibatkan impor kunci yang tidak lengkap dan tidak dapat digunakan. +## Strings used in trust.jsm + # Strings used in trust.jsm key-valid-unknown = tidak dikenal key-valid-invalid = tidak valid @@ -557,14 +506,17 @@ key-trust-full = dipercaya key-trust-ultimate = tertinggi key-trust-group = (grup) +## Strings used in commonWorkflows.js + # Strings used in commonWorkflows.js import-key-file = Impor Berkas Kunci OpenPGP import-rev-file = Impor Berkas Pencabutan OpenPGP gnupg-file = Berkas GnuPG import-keys-failed = Pengimporan kunci gagal -passphrase-prompt = Harap masukkan frasa sandi untuk membuka kunci berikut: { $key } file-to-big-to-import = File ini terlalu besar. Harap jangan mengimpor banyak kunci sekaligus. +## Strings used in enigmailKeygen.js + # Strings used in enigmailKeygen.js save-revoke-cert-as = Buat & Simpan Sertifikat Pencabutan revoke-cert-ok = Sertifikat pencabutan telah berhasil dibuat. Anda dapat menggunakannya untuk membuat kunci publik Anda tidak valid, mis. seandainya Anda kehilangan kunci rahasia Anda. @@ -579,11 +531,10 @@ key-abort = Batalkan pembuatan kunci? key-man-button-generate-key-abort = B&atalkan Pembuatan Kunci key-man-button-generate-key-continue = Lanjutkan Pembuatan Kun&ci -# Strings used in enigmailMessengerOverlay.js +## Strings used in enigmailMessengerOverlay.js failed-decrypt = Kesalahan - dekripsi gagal fix-broken-exchange-msg-failed = Tidak berhasil memperbaiki pesan. - attachment-no-match-from-signature = Tidak dapat mencocokkan file tanda tangan '{ $attachment }' dengan lampiran attachment-no-match-to-signature = Tidak dapat mencocokkan lampiran '{ $attachment }' dengan file tanda tangan signature-verified-ok = Tanda tangan untuk lampiran { $attachment } berhasil diverifikasi @@ -594,6 +545,8 @@ decrypt-ok-no-sig = msg-ovl-button-cont-anyway = &Lanjutkan Saja enig-content-note = *Lampiran pesan ini belum ditandatangani atau dienkripsi* +## Strings used in enigmailMsgComposeOverlay.js + # Strings used in enigmailMsgComposeOverlay.js msg-compose-button-send = Kirim Pe&san msg-compose-details-button-label = Rincian... @@ -628,6 +581,8 @@ possibly-pgp-mime = Mungkin pesan yang dienkripsi atau ditandatangani PGP/MIME; cannot-send-sig-because-no-own-key = Tidak dapat menandatangani pesan ini secara digital, karena Anda belum mengonfigurasi enkripsi ujung-ke-ujung untuk <{ $key }> cannot-send-enc-because-no-own-key = Tidak dapat mengirim pesan ini dengan enkripsi, karena Anda belum mengonfigurasi enkripsi ujung-ke-ujung untuk <{ $key }> +## Strings used in decryption.jsm + # Strings used in decryption.jsm do-import-multiple = Impor kunci berikut? @@ -642,17 +597,25 @@ attachment-pgp-key = Lampiran '{ $name }' yang Anda buka tampaknya seperti berkas kunci OpenPGP. Klik 'Impor' untuk mengimpor kunci yang ada atau 'Lihat' untuk melihat konten berkas di jendela peramban +## Strings used in enigmailMsgHdrViewOverlay.js + # Strings used in enigmailMsgHdrViewOverlay.js decrypted-msg-with-format-error = Pesan yang didekripsi (format surel PGP rusak yang dipulihkan mungkin disebabkan oleh server Exchange lama, sehingga hasilnya mungkin tidak sempurna untuk dibaca) +## Strings used in encryption.jsm + # Strings used in encryption.jsm not-required = Kesalahan - tidak diperlukan enkripsi +## Strings used in windows.jsm + # Strings used in windows.jsm no-photo-available = Tidak ada Foto tersedia error-photo-path-not-readable = Path foto '{ $photo }' tidak dapat dibaca debug-log-title = Log Debug OpenPGP +## Strings used in dialog.jsm + # Strings used in dialog.jsm repeat-prefix = Lansiran ini akan berulang { $count } repeat-suffix-singular = kali lagi. @@ -668,10 +631,14 @@ enig-confirm = Konfirmasi OpenPGP enig-alert = Lansiran OpenPGP enig-info = Informasi OpenPGP +## Strings used in persistentCrypto.jsm + # Strings used in persistentCrypto.jsm dlg-button-retry = &Coba Lagi dlg-button-skip = &Lewati +## Strings used in enigmailMsgBox.js + # Strings used in enigmailMsgBox.js enig-alert-title = .title = Lansiran OpenPGP diff --git a/thunderbird-l10n/id/localization/id/messenger/preferences/system-integration.ftl b/thunderbird-l10n/id/localization/id/messenger/preferences/system-integration.ftl index 22c14a897b948edd114ea9112ff7d43e7430f358..734ce4dfee5eb5792fa21886f79f0d55a3c31fab 100644 --- a/thunderbird-l10n/id/localization/id/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/id/localization/id/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Integrasi dengan Sistem - +system-integration-dialog-title = Integrasi dengan Sistem system-integration-dialog = .buttonlabelaccept = Setel menjadi Baku .buttonlabelcancel = Lewatkan Integrasi .buttonlabelcancel2 = Batal - default-client-intro = Gunakan { -brand-short-name } sebagai program klien baku untuk: - unset-default-tooltip = Tidak mungkin membatalkan { -brand-short-name } sebagai klien tetap dalam { -brand-short-name }. Untuk menjadikan aplikasi lain baku, Anda harus menggunakan dialog 'Atur sebagai baku'. - checkbox-email-label = .label = Email .tooltiptext = { unset-default-tooltip } @@ -23,7 +20,6 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Feed .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -32,11 +28,9 @@ system-search-engine-name = [windows] Windows Search *[other] { "" } } - system-search-integration-label = .label = Izinkan { system-search-engine-name } untuk mencari pesan .accesskey = I - check-on-startup-label = .label = Periksa selalu saat memulai { -brand-short-name } .accesskey = P diff --git a/thunderbird-l10n/id/manifest.json b/thunderbird-l10n/id/manifest.json index b29bce13a58c0da5cf726f478b4ac66f959b8ed5..be92372ad168c334485088200f2fae664335cec6 100644 --- a/thunderbird-l10n/id/manifest.json +++ b/thunderbird-l10n/id/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Indonesia (Indonesian)", "description": "Thunderbird Language Pack for Indonesia (id) – Indonesian", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "id": { - "version": "20231208145358", + "version": "20231215210305", "chrome_resources": { "alerts": "chrome/id/locale/id/alerts/", "autoconfig": "chrome/id/locale/id/autoconfig/", diff --git a/thunderbird-l10n/is/localization/is/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/is/localization/is/messenger/accountcreation/accountHub.ftl index d5f8e32dc768f4d16b9d4266ba012a3bea0ca65f..4336fc78d67248f2ff2ce46370d228c7a5b875c2 100644 --- a/thunderbird-l10n/is/localization/is/messenger/accountcreation/accountHub.ftl +++ b/thunderbird-l10n/is/localization/is/messenger/accountcreation/accountHub.ftl @@ -80,3 +80,4 @@ account-hub-username-label = Notandanafn account-hub-adding-account-title = Bætir við reikningi account-hub-adding-account-subheader = Endurprófa stillingar reiknings account-hub-account-added-title = Reikningi bætt við +account-hub-find-settings-failed = { -brand-full-name } fann ekki stillingarnar fyrir tölvupóstreikninginn þinn diff --git a/thunderbird-l10n/is/localization/is/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/is/localization/is/messenger/compactFoldersDialog.ftl index 5d4943a0f969879b61b33a3aeea9eae08403adac..cd79f4fa5d1c140a28b1cd8e0db1646f2f9b1349 100644 --- a/thunderbird-l10n/is/localization/is/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/is/localization/is/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Þjappa möppur - .style = width: 50em; compact-dialog-window-title = .title = Þjappa möppur +compact-folders-dialog-title = Þjappa möppur compact-dialog = .buttonlabelaccept = Þjappa núna .buttonaccesskeyaccept = n diff --git a/thunderbird-l10n/is/localization/is/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/is/localization/is/messenger/openpgp/openpgp.ftl index b220b9028f53c667c1aeb2a20a746404e8eebde2..a9e2c4197cab044c4f9e26772f271d0f36f32284 100644 --- a/thunderbird-l10n/is/localization/is/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/is/localization/is/messenger/openpgp/openpgp.ftl @@ -29,36 +29,6 @@ e2e-encrypt-drafts = e2e-autocrypt-headers = .label = Senda OpenPGP-dreifilykil/lykla í tölvupósthausum til að halda samhæfni við Autocrypt .accesskey = p -openpgp-key-user-id-label = Reikningur / Notandaauðkenni -openpgp-keygen-title-label = - .title = Útbúa OpenPGP-lykil -openpgp-cancel-key = - .label = Hætta við - .tooltiptext = Hætta við að útbúa lykil -openpgp-key-gen-expiry-title = - .label = Gildistími lykils -openpgp-key-gen-expire-label = Lykill rennur út eftir -openpgp-key-gen-days-label = - .label = dagar -openpgp-key-gen-months-label = - .label = mánuðir -openpgp-key-gen-years-label = - .label = ár -openpgp-key-gen-no-expiry-label = - .label = Lykill rennur ekki út -openpgp-key-gen-key-size-label = Stærð lykils -openpgp-key-gen-console-label = Lyklagerð -openpgp-key-gen-key-type-label = Tegund lykils -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (Elliptic Curve) -openpgp-generate-key = - .label = Útbúa lykil - .tooltiptext = Útbýr nýjan OpenPGP-samhæfðan lykil fyrir dulritun og/eða undirritun -openpgp-advanced-prefs-button-label = - .label = Ítarlegt… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">ATHUGAÐU: Það getur tekið allt að nokkrar mínútur að búa til lykla.</a> Ekki hætta í forritinu á meðan lyklagerð er í gangi. Sé verið að vafra eða framkvæma diskfrekar aðgerðir meðan á lyklagerð stendur endurnýjar það tilviljunarkennt úrtak tölvunnar (randomness pool) og flýtir fyrir ferlinu. Þú færð aðvörun þegar lyklagerð er lokið. openpgp-key-created-label = .label = Búið til openpgp-key-expiry-label = @@ -68,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Þetta er lykill með flókna uppbyggingu, það er ekki stuðningur við að breyta fyrningardagsetningu hans. openpgp-key-man-title = .title = OpenPGP lyklastýring +openpgp-key-man-dialog-title = OpenPGP lyklastýring openpgp-key-man-generate = .label = Nýtt lyklapar .accesskey = k @@ -415,10 +386,7 @@ key-verification = Staðfestu fingrafar lykilsins með því að nota örugga sa # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = Ekki er hægt að senda skilaboðin vegna þess að það er vandamál með persónulega lykilinn þinn. { $problem } -cannot-encrypt-because-missing = Ekki er hægt að senda þessi skilaboð með enda-í-enda dulritun vegna þess að vandamál eru með dulritunarlykla eftirfarandi viðtakenda: { $problem } window-locked = Skrifgluggi er læstur; hætt við sendingu -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = Þetta er dulritaður hluti skilaboða. Þú þarft að opna það í sérstökum glugga með því að smella á viðhengið. ## Strings in keyserver.jsm @@ -641,7 +609,6 @@ import-key-file = Flytja inn OpenPGP-lykilskrá import-rev-file = Flytja inn OpenPGP-afturköllunarskrá gnupg-file = GnuPG-skrár import-keys-failed = Mistókst að flytja inn lyklana -passphrase-prompt = Settu inn aðgangsorðið til að aflæsa eftirfarandi lykli: { $key } # Variables: # $key (String) - Key id to unlock. # $date (String) - The date on which the key was created diff --git a/thunderbird-l10n/is/localization/is/messenger/preferences/system-integration.ftl b/thunderbird-l10n/is/localization/is/messenger/preferences/system-integration.ftl index 8bcde95bb1fcc10d014afcf2f2154ca9e0e811cb..1048cf9624c6c90e76c749a810ceeda7d96c8011 100644 --- a/thunderbird-l10n/is/localization/is/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/is/localization/is/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Samþætting kerfis - +system-integration-dialog-title = Samþætting kerfis system-integration-dialog = .buttonlabelaccept = Setja sem sjálfgefinn .buttonlabelcancel = Sleppa samþættingu .buttonlabelcancel2 = Hætta við - default-client-intro = Nota { -brand-short-name } sem sjálfgefið forrit fyrir: - unset-default-tooltip = Ekki er hægt taka af { -brand-short-name } sem sjálfgefin vafra í { -brand-short-name } sjálfum. Til að breyta þessu verðurðu að fara í hinn vafrann og nota stillingar þar til að gera þann vafra að sjálfgefnum. - checkbox-email-label = .label = Tölvupóst .tooltiptext = { unset-default-tooltip } @@ -26,7 +23,6 @@ checkbox-feeds-label = checkbox-calendar-label = .label = Dagatöl .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -35,11 +31,9 @@ system-search-engine-name = [windows] Windows leit *[other] { "" } } - system-search-integration-label = .label = Leyfa { system-search-engine-name } að leita í pósti .accesskey = s - check-on-startup-label = .label = Alltaf athuga þegar { -brand-short-name } er ræstur .accesskey = A diff --git a/thunderbird-l10n/is/manifest.json b/thunderbird-l10n/is/manifest.json index 85b4a655e94e83743e00b95888f242e0e0eadc00..3cf2fac386fec971fdbdf9e03ff0986f77bb95fa 100644 --- a/thunderbird-l10n/is/manifest.json +++ b/thunderbird-l10n/is/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Islenska (Icelandic)", "description": "Thunderbird Language Pack for Islenska (is) – Icelandic", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "is": { - "version": "20231208145442", + "version": "20231215210350", "chrome_resources": { "alerts": "chrome/is/locale/is/alerts/", "autoconfig": "chrome/is/locale/is/autoconfig/", diff --git a/thunderbird-l10n/it/localization/it/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/it/localization/it/messenger/accountcreation/accountHub.ftl index 9e670517bcde08bc0cf77d525d2aef657797d7dd..61a359c96fbb06d323f0300a0715c1d724d4bebf 100644 --- a/thunderbird-l10n/it/localization/it/messenger/accountcreation/accountHub.ftl +++ b/thunderbird-l10n/it/localization/it/messenger/accountcreation/accountHub.ftl @@ -80,3 +80,4 @@ account-hub-username-label = Nome utente account-hub-adding-account-title = Aggiunta dell’account account-hub-adding-account-subheader = Nuovo test delle impostazioni di configurazione dell’account account-hub-account-added-title = Account aggiunto +account-hub-find-settings-failed = { -brand-full-name } non è riuscito a trovare le impostazioni per il tuo account email. diff --git a/thunderbird-l10n/it/localization/it/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/it/localization/it/messenger/compactFoldersDialog.ftl index 19eb821164a5d4e268d417e55fb4ec0f7ed4846d..1ff1c3c0f93d206ee5fa4a4abc1dac65ec4730e0 100644 --- a/thunderbird-l10n/it/localization/it/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/it/localization/it/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Compatta cartelle - .style = width: 50em; compact-dialog-window-title = .title = Compatta cartelle +compact-folders-dialog-title = Compatta cartelle compact-dialog = .buttonlabelaccept = Compatta ora .buttonaccesskeyaccept = C diff --git a/thunderbird-l10n/it/localization/it/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/it/localization/it/messenger/openpgp/openpgp.ftl index ce07d680ae2c112173a9593a86618c13a3264ea6..a166ebb644b793e8a16850882a7a74ccd4bfda7b 100644 --- a/thunderbird-l10n/it/localization/it/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/it/localization/it/messenger/openpgp/openpgp.ftl @@ -29,36 +29,6 @@ e2e-encrypt-drafts = e2e-autocrypt-headers = .label = Invia le chiavi pubbliche OpenPGP nelle intestazioni delle email per compatibilità con Autocrypt .accesskey = G -openpgp-key-user-id-label = Account/ID utente -openpgp-keygen-title-label = - .title = Genera chiave OpenPGP -openpgp-cancel-key = - .label = Annulla - .tooltiptext = Annulla generazione della chiave -openpgp-key-gen-expiry-title = - .label = Scadenza chiave -openpgp-key-gen-expire-label = La chiave scade in -openpgp-key-gen-days-label = - .label = giorni -openpgp-key-gen-months-label = - .label = mesi -openpgp-key-gen-years-label = - .label = anni -openpgp-key-gen-no-expiry-label = - .label = La chiave non ha scadenza -openpgp-key-gen-key-size-label = Dimensione chiave -openpgp-key-gen-console-label = Generazione chiave -openpgp-key-gen-key-type-label = Tipo di chiave -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (curva ellittica) -openpgp-generate-key = - .label = Genera chiave - .tooltiptext = Genera una nuova chiave OpenPGP adatta per crittografia e/o firma -openpgp-advanced-prefs-button-label = - .label = Avanzate… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">NOTA: il completamento del processo di generazione della chiave potrebbe richiedere alcuni minuti.</a> Non uscire dall’applicazione mentre è in corso la generazione della chiave. Navigare attivamente o eseguire operazioni a uso intensivo del disco durante la generazione delle chiavi incrementerà il livello di casualità e accelererà il processo. Quando il processo di generazione della chiave sarà completato, si riceverà un avviso. openpgp-key-created-label = .label = Data di creazione openpgp-key-expiry-label = @@ -68,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Questa chiave ha una struttura complessa, la modifica della data di scadenza non è supportata. openpgp-key-man-title = .title = Gestore delle chiavi OpenPGP +openpgp-key-man-dialog-title = Gestore delle chiavi OpenPGP openpgp-key-man-generate = .label = Nuova coppia di chiavi .accesskey = N @@ -415,10 +386,7 @@ key-verification = Verifica l’impronta digitale della chiave con un canale di # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = Impossibile inviare il messaggio perché si è verificato un problema con la chiave personale. { $problem } -cannot-encrypt-because-missing = Impossibile inviare questo messaggio con la crittografia end-to-end poiché ci sono problemi con le chiavi dei seguenti destinatari: { $problem } window-locked = La finestra di composizione è bloccata; invio annullato -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = Questa è una parte crittata del messaggio. È necessario aprirlo in una finestra separata facendo clic sull’allegato. ## Strings in keyserver.jsm @@ -640,7 +608,6 @@ import-key-file = Importa file chiave OpenPGP import-rev-file = Importa file di revoca OpenPGP gnupg-file = File GnuPG import-keys-failed = Importazione delle chiavi non riuscita -passphrase-prompt = Inserire la passphrase per sbloccare la seguente chiave: { $key } # Variables: # $key (String) - Key id to unlock. # $date (String) - The date on which the key was created diff --git a/thunderbird-l10n/it/localization/it/messenger/preferences/system-integration.ftl b/thunderbird-l10n/it/localization/it/messenger/preferences/system-integration.ftl index 1915ae42566da1772176f3daa7efee135ef87b01..d48541363521a3bc67049bd149b7ce5a174ddb11 100644 --- a/thunderbird-l10n/it/localization/it/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/it/localization/it/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Integrazione col sistema - +system-integration-dialog-title = Integrazione col sistema system-integration-dialog = .buttonlabelaccept = Imposta come predefinito .buttonlabelcancel = Salta integrazione .buttonlabelcancel2 = Annulla - default-client-intro = Utilizza { -brand-short-name } come programma predefinito per: - unset-default-tooltip = Non è possibile rendere { -brand-short-name } non predefinito dall’interno di { -brand-short-name } stesso. Se si desidera che un’altra applicazione sia la predefinita si deve utilizzare la voce “Rendila predefinita” all’interno della stessa. - checkbox-email-label = .label = EMail .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Feed .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Calendario .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Ricerca di Windows *[other] { "" } } - system-search-integration-label = .label = Permetti a { system-search-engine-name } di cercare nei messaggi .accesskey = P - check-on-startup-label = .label = Esegui sempre questo controllo all’avvio di { -brand-short-name } .accesskey = A diff --git a/thunderbird-l10n/it/manifest.json b/thunderbird-l10n/it/manifest.json index 2611884abddcd2a88845002240e1264d66442089..bd7c659b02c22e5601e6854a616e952d386a17a7 100644 --- a/thunderbird-l10n/it/manifest.json +++ b/thunderbird-l10n/it/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Italiano (Italian)", "description": "Thunderbird Language Pack for Italiano (it) – Italian", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "it": { - "version": "20231208145527", + "version": "20231215210436", "chrome_resources": { "alerts": "chrome/it/locale/it/alerts/", "autoconfig": "chrome/it/locale/it/autoconfig/", diff --git a/thunderbird-l10n/ja/chrome/ja/locale/ja/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/ja/chrome/ja/locale/ja/messenger/messengercompose/composeMsgs.properties index 4eb07cb9a4d92ce83a7636df166f704b905518a5..404a8d7d9194dfe008a2b0c03050f6cc23548812 100644 --- a/thunderbird-l10n/ja/chrome/ja/locale/ja/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/ja/chrome/ja/locale/ja/messenger/messengercompose/composeMsgs.properties @@ -74,6 +74,9 @@ smtpSendNotAllowed =メールの送信前にエラーが発生しました。 ## LOCALIZATION NOTE (smtpTempSizeExceeded): argument %s is the Outgoing server (SMTP) response smtpTempSizeExceeded =送信メッセージのサイズが一時的にサーバーの制限容量を超えたため、メッセージを送信できませんでした。メッセージのサイズを小さくするか、しばらく待ってから再度試してください。サーバーからの応答: %s +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients =受信者の許容数を超えたためメッセージを送信できませんでした。サーバーからの応答: %s + ## LOCALIZATION NOTE (smtpClientid): argument %s is the Outgoing server (SMTP) response smtpClientid =送信 (SMTP) サーバーが CLIENTID コマンドでエラーを検出したため、メッセージを送信できませんでした。サーバーからの応答: %s diff --git a/thunderbird-l10n/ja/localization/ja/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/ja/localization/ja/messenger/compactFoldersDialog.ftl index 31f452088d81c900a31c1285776a1ef04d59d285..af89860d592c6c79a48a2f8baf0e077aa5c4bb79 100644 --- a/thunderbird-l10n/ja/localization/ja/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/ja/localization/ja/messenger/compactFoldersDialog.ftl @@ -4,6 +4,7 @@ compact-dialog-window-title = .title = フォルダーの最適化 +compact-folders-dialog-title = フォルダーの最適化 compact-dialog = .buttonlabelaccept = 今すぐ最適化 .buttonaccesskeyaccept = C diff --git a/thunderbird-l10n/ja/localization/ja/messenger/extensionPermissions.ftl b/thunderbird-l10n/ja/localization/ja/messenger/extensionPermissions.ftl index d9036980f35c513a5ca197cfffe1312333ccd54c..8ca055835cdf25ba91c47b40115e3120b18c2ec8 100644 --- a/thunderbird-l10n/ja/localization/ja/messenger/extensionPermissions.ftl +++ b/thunderbird-l10n/ja/localization/ja/messenger/extensionPermissions.ftl @@ -20,5 +20,8 @@ webext-perms-description-messagesModify = 表示されたメッセージの読 webext-perms-description-messagesMove = メッセージのコピーまたは移動 (ごみ箱への移動を含む) webext-perms-description-messagesDelete = メッセージの完全削除 webext-perms-description-messagesRead = メッセージの読み取りとマーク付け、タグ付け +webext-perms-description-messagesRead2 = メッセージの読み取り +webext-perms-description-messagesUpdate = メッセージのプロパティとタグの変更 webext-perms-description-messagesTags = メッセージタグの作成と変更、削除 +webext-perms-description-messagesTagsList =メッセージタグのリスト表示 webext-perms-description-sensitiveDataUpload = 個人情報を含むユーザーデータを (アクセスが承認されている場合に) さらに処理を行うためリモートサーバーへ送信 diff --git a/thunderbird-l10n/ja/localization/ja/messenger/openpgp/msgReadStatus.ftl b/thunderbird-l10n/ja/localization/ja/messenger/openpgp/msgReadStatus.ftl index 50f5a791b19ff825672155be4a5bef6fac070a71..2fa667b4f7660a0fa87d4c797cc012dd2c0f584b 100644 --- a/thunderbird-l10n/ja/localization/ja/messenger/openpgp/msgReadStatus.ftl +++ b/thunderbird-l10n/ja/localization/ja/messenger/openpgp/msgReadStatus.ftl @@ -26,6 +26,10 @@ openpgp-invalid-sig = デジタル署名が正しくありません # Variables: # $date (String) - Date with time the signature was made in a short format. openpgp-invalid-sig-with-date = デジタル署名が正しくありません - 署名日時: { $date } +openpgp-bad-date-sig = 署名日時が一致しません +# Variables: +# $date (String) - Date with time the signature was made in a short format. +openpgp-bad-date-sig-with-date = 署名日時が一致しません - 署名日時: { $date } openpgp-good-sig = 正しく署名されています # Variables: # $date (String) - Date with time the signature was made in a short format. @@ -35,6 +39,7 @@ openpgp-sig-uncertain-uid-mismatch = このメッセージにはデジタル署 openpgp-sig-uncertain-not-accepted = このメッセージにはデジタル署名が含まれていますが、署名者の鍵を受け入れるかまだ決定されていません。 openpgp-sig-invalid-rejected = このメッセージにはデジタル署名が含まれていますが、署名者の鍵は拒絶されています。 openpgp-sig-invalid-technical-problem = このメッセージにはデジタル署名が含まれていますが、技術的エラーが検出されました。メッセージが破損しているか、第三者によってメッセージが書き換えられています。 +openpgp-sig-invalid-date-mismatch = このメッセージにはデジタル署名が含まれていますが、署名日時とメールの送信日時が一致しません。コンテンツが別のコンテキストによって書き換えられるなど、第三者が受信者を欺こうとしている可能性があります。 openpgp-sig-valid-unverified = このメッセージにはあなたが受け入れた鍵による有効な署名が含まれていますが、その鍵が送信者のものであるか検証されていません。 openpgp-sig-valid-verified = このメッセージには検証済みの鍵による有効な署名が含まれています。 openpgp-sig-valid-own-key = このメッセージにはあなたの個人鍵による有効な署名が含まれています。 diff --git a/thunderbird-l10n/ja/localization/ja/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/ja/localization/ja/messenger/openpgp/openpgp.ftl index 4efd06fb7977bb974f419c031655c64736e7fd57..364af1dbafc6cfd35cd23fb7c4f051b165d7eae9 100644 --- a/thunderbird-l10n/ja/localization/ja/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/ja/localization/ja/messenger/openpgp/openpgp.ftl @@ -38,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = この鍵は複雑な構造をしているため、有効期限が変更できません。 openpgp-key-man-title = .title = OpenPGP 鍵マネージャー +openpgp-key-man-dialog-title = OpenPGP 鍵マネージャー openpgp-key-man-generate = .label = 新しい鍵ペア .accesskey = K @@ -316,7 +317,7 @@ openpgp-description-no-key = <b>{ $identity }</b> の個人 OpenPGP 鍵が { -br # $identity (String) - the email address of the currently selected identity openpgp-description-has-keys = { $count -> - [one] <b>{ $identity }</b> に関連付けられた個人 OpenPGP 鍵が { -brand-short-name } 内に { $count } 個見つかりました + [one] <b>{ $identity }</b> に関連付けられた個人 OpenPGP 鍵が { -brand-short-name } 内に { $count } 個見つかりました *[other] <b>{ $identity }</b> に関連付けられた個人 OpenPGP 鍵が { -brand-short-name } 内に { $count } 個見つかりました } # $key (String) - the currently selected OpenPGP key @@ -463,9 +464,9 @@ copy-to-clipbrd-ok = 鍵をクリップボードにコピーしました # $userId (String) - User id of the key. delete-secret-key = 警告: あなたは秘密鍵を削除しようとしています! - + 秘密鍵を削除した場合、これとペアの公開鍵で暗号化されたすべてのメッセージが復号できなくなり、鍵を失効することもできなくなります。 - + 以下の秘密鍵と公開鍵の両方を本当に削除してもよろしいですか? ‘{ $userId }’ delete-mix = diff --git a/thunderbird-l10n/ja/localization/ja/messenger/preferences/cookies.ftl b/thunderbird-l10n/ja/localization/ja/messenger/preferences/cookies.ftl index f31a9a662350670c9233245738aaf4af6b5e5bee..00f8d53de12109d2c83d21ac0094ebd0bd212f08 100644 --- a/thunderbird-l10n/ja/localization/ja/messenger/preferences/cookies.ftl +++ b/thunderbird-l10n/ja/localization/ja/messenger/preferences/cookies.ftl @@ -4,6 +4,7 @@ cookies-window-dialog2 = .title = Cookie +cookies-dialog-title = Cookie window-close-key = .key = w window-focus-search-key = diff --git a/thunderbird-l10n/ja/localization/ja/messenger/preferences/system-integration.ftl b/thunderbird-l10n/ja/localization/ja/messenger/preferences/system-integration.ftl index b79636ce2a5e1e84d4064600a354a406089643ae..19a6ccfa1ad1a07df2ed7d719351f1d790b5a07b 100644 --- a/thunderbird-l10n/ja/localization/ja/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/ja/localization/ja/messenger/preferences/system-integration.ftl @@ -4,6 +4,7 @@ system-integration-title = .title = システム統合 +system-integration-dialog-title = システム統合 system-integration-dialog = .buttonlabelaccept = 既定として設定 .buttonlabelcancel = 統合をスキップ diff --git a/thunderbird-l10n/ja/localization/ja/messenger/unifiedToolbarItems.ftl b/thunderbird-l10n/ja/localization/ja/messenger/unifiedToolbarItems.ftl index dd67dd55fa8766b61e9b5fd40f31b89a0d00f0a9..1d6f6035d0c431991de71b5e4d9cff0910df8f86 100644 --- a/thunderbird-l10n/ja/localization/ja/messenger/unifiedToolbarItems.ftl +++ b/thunderbird-l10n/ja/localization/ja/messenger/unifiedToolbarItems.ftl @@ -142,3 +142,24 @@ toolbar-stop = toolbar-throbber-label = アクティブインジケーター toolbar-throbber = .title = アクティブインジケーター +toolbar-create-contact-label = 新しい連絡先 +toolbar-create-contact = + .title = 新しい連絡先を作成します +toolbar-create-address-book-label = 新しいアドレス帳 +toolbar-create-address-book = + .title = 新しいアドレス帳を作成します +toolbar-create-list-label = 新しいアドレスリスト +toolbar-create-list = + .title = 新しいアドレスリストを作成します +toolbar-import-contacts-label = インポート +toolbar-import-contacts = + .title = ファイルから連絡先をインポートします + +## New Address Book popup items + +toolbar-new-address-book-popup-add-js-address-book = + .label = ローカルアドレス帳を追加 +toolbar-new-address-book-popup-add-carddav-address-book = + .label = CardDAV アドレス帳を追加 +toolbar-new-address-book-popup-add-ldap-address-book = + .label = LDAP アドレス帳を追加 diff --git a/thunderbird-l10n/ja/manifest.json b/thunderbird-l10n/ja/manifest.json index 3392f6d9817ba877decbd3fab2b927ec8ec64c38..def4327a5f28d9cc7d3cfa2c30905c6b577784f1 100644 --- a/thunderbird-l10n/ja/manifest.json +++ b/thunderbird-l10n/ja/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: 日本語 (Japanese)", "description": "Thunderbird Language Pack for 日本語 (ja) – Japanese", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "ja": { - "version": "20231208145439", + "version": "20231215210129", "chrome_resources": { "alerts": "chrome/ja/locale/ja/alerts/", "autoconfig": "chrome/ja/locale/ja/autoconfig/", diff --git a/thunderbird-l10n/ka/chrome/ka/locale/ka/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/ka/chrome/ka/locale/ka/messenger/messengercompose/composeMsgs.properties index d64e4f5f80e37ae19b506c093880074a5bcc5e22..1f8da1d3d468456407348df435820d5e8a74a010 100644 --- a/thunderbird-l10n/ka/chrome/ka/locale/ka/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/ka/chrome/ka/locale/ka/messenger/messengercompose/composeMsgs.properties @@ -458,3 +458,6 @@ confirmRemoveRecipientRowButton=მოცილება ## LOCALIZATION NOTE headersSpaceStyle is for aligning label of a newly create recipient row. ## It should be larger than the largest Header label and identical to &headersSpace2.style; headersSpaceStyle=width: 8em + +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. diff --git a/thunderbird-l10n/ka/localization/ka/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/ka/localization/ka/messenger/compactFoldersDialog.ftl index ea0e8aa7525e392536644f092d9c0000a55747fa..79654856e05edf2a887b73e0f92f4628f2750920 100644 --- a/thunderbird-l10n/ka/localization/ka/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/ka/localization/ka/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = შეკუმშული საქაღალდეები - .style = width: 50em; compact-dialog-window-title = .title = შეკუმშული საქაღალდეები +compact-folders-dialog-title = შეკუმშული საქაღალდეები compact-dialog = .buttonlabelaccept = შეკუმშვა ახლავე .buttonaccesskeyaccept = ხ diff --git a/thunderbird-l10n/ka/localization/ka/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/ka/localization/ka/messenger/openpgp/openpgp.ftl index 0539fc13ac4f618c61862c2da9fedde894bb3d14..c1b0d4273cf03480b90cae7b7c083cee9f149e7c 100644 --- a/thunderbird-l10n/ka/localization/ka/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/ka/localization/ka/messenger/openpgp/openpgp.ftl @@ -34,6 +34,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = ეს გასაღები რთული აგებულებისაა, მისი ვადის ცვლილება, არ არის მხარდაჭერილი. openpgp-key-man-title = .title = OpenPGP-გასაღების მმართველი +openpgp-key-man-dialog-title = OpenPGP-გასაღების მმართველი openpgp-key-man-generate = .label = გასაღებების ახალი წყვილი .accesskey = ღ diff --git a/thunderbird-l10n/ka/localization/ka/messenger/preferences/system-integration.ftl b/thunderbird-l10n/ka/localization/ka/messenger/preferences/system-integration.ftl index 3f1f637b171ce78bb9a5ca52447025764cbe4efa..b2bde40fbba272123200a4d00b182b27c11b892d 100644 --- a/thunderbird-l10n/ka/localization/ka/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/ka/localization/ka/messenger/preferences/system-integration.ftl @@ -4,6 +4,7 @@ system-integration-title = .title = სისტემური ინტეგრაცია +system-integration-dialog-title = სისტემური ინტეგრაცია system-integration-dialog = .buttonlabelaccept = გახდეს ნაგულისხმევი .buttonlabelcancel = ჩამატების გამოტოვება diff --git a/thunderbird-l10n/ka/manifest.json b/thunderbird-l10n/ka/manifest.json index fa023174ae7063fbb366dd69fab17095c50cbe1a..8f8336614611cfea08f6ada0439954b700bf47a2 100644 --- a/thunderbird-l10n/ka/manifest.json +++ b/thunderbird-l10n/ka/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: ქართული (Georgian)", "description": "Thunderbird Language Pack for ქართული (ka) – Georgian", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "ka": { - "version": "20231208145523", + "version": "20231215210213", "chrome_resources": { "alerts": "chrome/ka/locale/ka/alerts/", "autoconfig": "chrome/ka/locale/ka/autoconfig/", diff --git a/thunderbird-l10n/kab/chrome/kab/locale/kab/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/kab/chrome/kab/locale/kab/messenger/messengercompose/composeMsgs.properties index 7df0c6e8596c4e58fef7c89dc0005dccf2d5b6b4..840b28351ca8f0c5d89ffe19b01ea070dad8d575 100644 --- a/thunderbird-l10n/kab/chrome/kab/locale/kab/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/kab/chrome/kab/locale/kab/messenger/messengercompose/composeMsgs.properties @@ -459,3 +459,6 @@ confirmRemoveRecipientRowButton=Kkes ## LOCALIZATION NOTE headersSpaceStyle is for aligning label of a newly create recipient row. ## It should be larger than the largest Header label and identical to &headersSpace2.style; headersSpaceStyle=width: 8em + +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. diff --git a/thunderbird-l10n/kab/localization/kab/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/kab/localization/kab/messenger/compactFoldersDialog.ftl index 870f6360679bbdc20c672bee4fd209026941b44f..3e755210228c6a0397f091787d26d9c943ae5169 100644 --- a/thunderbird-l10n/kab/localization/kab/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/kab/localization/kab/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Ssed ikaramen - .style = width: 50em; compact-dialog-window-title = .title = Ssed ikaramen +compact-folders-dialog-title = Ssed ikaramen compact-dialog = .buttonlabelaccept = Ssed tura .buttonaccesskeyaccept = S diff --git a/thunderbird-l10n/kab/localization/kab/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/kab/localization/kab/messenger/openpgp/openpgp.ftl index e825c5072e7f43dfb7ffe0e615b3645339cb4ae5..de5f7575fb3443be176cb290808cfaee1d93d339 100644 --- a/thunderbird-l10n/kab/localization/kab/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/kab/localization/kab/messenger/openpgp/openpgp.ftl @@ -25,36 +25,6 @@ e2e-encrypt-subject = e2e-encrypt-drafts = .label = Kles iznan irewwayen deg umasal awgelhan .accesskey = s -openpgp-key-user-id-label = Amiḍan / Asulay n useqdac -openpgp-keygen-title-label = - .title = Sirew tasarut OpenPGP -openpgp-cancel-key = - .label = Sefsex - .tooltiptext = Sefsex asirew n tsarut -openpgp-key-gen-expiry-title = - .label = Keffu n tsarut -openpgp-key-gen-expire-label = Tasarut ad temmet deg -openpgp-key-gen-days-label = - .label = ussan -openpgp-key-gen-months-label = - .label = ayyuren -openpgp-key-gen-years-label = - .label = iseggasen -openpgp-key-gen-no-expiry-label = - .label = Tasarut ut tettmettat ara -openpgp-key-gen-key-size-label = Teɣzi n tsarut -openpgp-key-gen-console-label = Asirew n tsarut -openpgp-key-gen-key-type-label = Anaw n tsarut -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (Elliptic Curve) -openpgp-generate-key = - .label = Sirew tasarut - .tooltiptext = Sirew tasarut i yemṣadan d OpenPGP i uwgelhen d/neɣ uzmul -openpgp-advanced-prefs-button-label = - .label = Talqayt… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">Asirew n tsarut yezmer ad yeṭṭef aṭas n tesdatin akken ad yemmed.</a> Ur teffeɣ ara seg usnas ma iteddu usirew n tsarut. Tunigin turmidt neɣ aselken n temhalin tussidin ɣef uḍebsi ma iteddu usirew n tsarut ad d-yerr 'amsegaw agacuran' d urured n ukala. Ad d-teṭṭfeḍ ulɣu mi ara yemmed usirew n tsarut. openpgp-key-created-label = .label = Yettwarna openpgp-key-expiry-label = @@ -64,6 +34,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Ta d tasarut s tɣessa tuddist, Abeddel n uzemz-is n taggara ur yettwasefrak ara. openpgp-key-man-title = .title = Asefrak n tsarut OpenPGP +openpgp-key-man-dialog-title = Asefrak n tsarut OpenPGP openpgp-key-man-generate = .label = Tayuga n tsura timaynutin .accesskey = K @@ -377,10 +348,7 @@ key-verification = Senqed adsil umḍin n tsarut s usenqed n ubadu n teywalt aɣ # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = D awezɣi tuzna n yizen, acku yella wugur deg tsarut-ik tudmawant. { $problem } -cannot-encrypt-because-missing = D awezɣi ad yettwazen yizen s uwgelhen seg yixef ɣer yixef. Acku llan wuguren akked tsura n uɣerwaḍ-a: { $problem } window-locked = Asfaylu n usuddes yemdel; tuzna tettwasefsex -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = Wagi d aḥric n yizen yettwawgelhen. Tesriḍd ad t-teldiḍ deg usfaylu weḥd-s s usiti ɣef umedday. ## Strings in keyserver.jsm @@ -539,7 +507,6 @@ key-trust-group = (agraw) import-key-file = Kter afaylu n tsarut OpenPGP gnupg-file = Ifuyla GnuPG import-keys-failed = Aktar n tsura ur yeddi ara -passphrase-prompt = Ma ulac aɣilif, sekcem tafyirt n uɛeddi ara yeldi n tasarut: { $key } file-to-big-to-import = Afaylu-a d ameqqran aṭas. Ma ulac aɣilif, ur d-ketter ara taggayt tameqqrant n tsura ɣef tikkelt. ## Strings used in enigmailKeygen.js diff --git a/thunderbird-l10n/kab/localization/kab/messenger/preferences/system-integration.ftl b/thunderbird-l10n/kab/localization/kab/messenger/preferences/system-integration.ftl index 7d5ba6b4cd56ca66756285732dd4cd7aef77fa90..d92f194f356955d5a5fd8ed09b2ad398ce902d52 100644 --- a/thunderbird-l10n/kab/localization/kab/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/kab/localization/kab/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Amsidef anagrawan - +system-integration-dialog-title = Amsidef anagrawan system-integration-dialog = .buttonlabelaccept = Sbadu-t d amezwer .buttonlabelcancel = Zgel amsidef .buttonlabelcancel2 = Sefsex - default-client-intro = &Seqdec { -brand-short-name } d amsaɣ amezwer i: - unset-default-tooltip = Ur tezmireḍ ara ad tekkseḍ { -brand-short-name } d amsaɣ-inek amezwer deg { -brand-short-name }. Akken ad tarreḍ asnas nniḍen d amezwer, yessefk ad tferneḍ deg tnaka n 'Sbadu-t d amezwer' - checkbox-email-label = .label = Imayl .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Isuddam RSS .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Awitay .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Anadi n yisfulay *[other] { "" } } - system-search-integration-label = .label = Sireg { system-search-engine-name } akken ad d-nadiḍ iznan .accesskey = d - check-on-startup-label = .label = Selkam yal tikelt asenqed agi di tnekra n { -brand-short-name } .accesskey = i diff --git a/thunderbird-l10n/kab/manifest.json b/thunderbird-l10n/kab/manifest.json index 474b0d8740edb92e89538a8bc5544a8ccc11886d..3362281b0a18d245833689f0b079931e40f119a6 100644 --- a/thunderbird-l10n/kab/manifest.json +++ b/thunderbird-l10n/kab/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Taqbaylit (Kabyle)", "description": "Thunderbird Language Pack for Taqbaylit (kab) – Kabyle", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "kab": { - "version": "20231208145607", + "version": "20231215210258", "chrome_resources": { "alerts": "chrome/kab/locale/kab/alerts/", "autoconfig": "chrome/kab/locale/kab/autoconfig/", diff --git a/thunderbird-l10n/kk/localization/kk/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/kk/localization/kk/messenger/accountcreation/accountHub.ftl index 62108f98ce499ac5d00fc85776300c557e1c4ad8..8d71d90622cebdee2396d5d2be8f2eb8b79cdfad 100644 --- a/thunderbird-l10n/kk/localization/kk/messenger/accountcreation/accountHub.ftl +++ b/thunderbird-l10n/kk/localization/kk/messenger/accountcreation/accountHub.ftl @@ -80,3 +80,4 @@ account-hub-username-label = Пайдаланушы аты account-hub-adding-account-title = Тіркелгіні қосу account-hub-adding-account-subheader = Тіркелгі баптауларын қайта тексерілуде account-hub-account-added-title = Тіркелгі қосылды +account-hub-find-settings-failed = { -brand-full-name } сіздің эл. пошта тіркелгісі үшін баптауларды таба алмады. diff --git a/thunderbird-l10n/kk/localization/kk/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/kk/localization/kk/messenger/compactFoldersDialog.ftl index 0d492df12923c9a72b1cb4e007978f2c973fc2e4..2cf67961a49b863c0f1c5eebbda246e5c33ce1cb 100644 --- a/thunderbird-l10n/kk/localization/kk/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/kk/localization/kk/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Бумаларды ықшамдау - .style = width: 50em; compact-dialog-window-title = .title = Бумаларды ықшамдау +compact-folders-dialog-title = Бумаларды ықшамдау compact-dialog = .buttonlabelaccept = Қазір ықшамдау .buttonaccesskeyaccept = ш diff --git a/thunderbird-l10n/kk/localization/kk/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/kk/localization/kk/messenger/openpgp/openpgp.ftl index 5ae24cde5aac4707e94cbb6c97818bc173f471e2..a8f3e9de9a751be1a9bb48712ba1ef9dbcd101ec 100644 --- a/thunderbird-l10n/kk/localization/kk/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/kk/localization/kk/messenger/openpgp/openpgp.ftl @@ -25,36 +25,6 @@ e2e-encrypt-subject = e2e-encrypt-drafts = .label = Шимай қағаз хабарламаларын шифрленген түрде сақтау .accesskey = р -openpgp-key-user-id-label = Тіркелгі / Пайдаланушы идентификаторы -openpgp-keygen-title-label = - .title = OpenPGP кілтін генерациялау -openpgp-cancel-key = - .label = Бас тарту - .tooltiptext = Кілт генерациядан бас тарту -openpgp-key-gen-expiry-title = - .label = Кілттің жарамдылық мерзімі -openpgp-key-gen-expire-label = Кілт мерзімі бітеді -openpgp-key-gen-days-label = - .label = күн -openpgp-key-gen-months-label = - .label = ай -openpgp-key-gen-years-label = - .label = жыл -openpgp-key-gen-no-expiry-label = - .label = Кілттің мерзімі бітпейді -openpgp-key-gen-key-size-label = Кілт өлшемі -openpgp-key-gen-console-label = Кілтті генерациялау -openpgp-key-gen-key-type-label = Кілт түрі -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (эллиптикалық қисықтар) -openpgp-generate-key = - .label = Кілтті генерациялау - .tooltiptext = Шифрлеу және/немесе қолтаңба қою үшін жаңа OpenPGP-үйлесімді кілтін жасайды -openpgp-advanced-prefs-button-label = - .label = Кеңейтілген… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">ЕСКЕРТУ: Кілтті генерациялау бірнеше минутты алуы мүмкін.</a> Кілтті генерациялау орындалып жатқанда қолданбадан шықпаңыз. Кілтті генерациялау кезінде белсенді шолу немесе дискіні көп қажет ететін операцияларды орындау «кездейсоқтық пулын» толықтырады және процесті жылдамдатады. Кілтті генерациялау аяқталған кезде сізге ескерту жіберіледі. # Do not translate "Autocrypt", it's the name of a standard. e2e-autocrypt-headers = .label = Autocrypt үйлесімділігі үшін эл. пошта тақырыптамаларында OpenPGP ашық кілт(тер)ін жіберу @@ -68,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Бұл күрделі құрылымы бар кілт, оның жарамдылық мерзімін өзгертуге қолдау көрсетілмейді. openpgp-key-man-title = .title = OpenPGP кілттер басқарушысы +openpgp-key-man-dialog-title = OpenPGP кілттер басқарушысы openpgp-key-man-generate = .label = Жаңа кілттер жұбы .accesskey = к @@ -412,10 +383,7 @@ key-verification = Кілт баспасын эл. поштадан басқа # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = Хабарламаны жіберу мүмкін емес, себебі сіздің жеке кілтіңізде мәселе бар. { $problem } -cannot-encrypt-because-missing = Бұл хабарламаны өтпелі шифрлеумен жіберу мүмкін емес, себебі келесі алушылардың кілттерінде мәселелер бар: { $problem } window-locked = Жазу терезесі құлыпталған; жіберу тоқтатылды -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = Бұл шифрленген хабарлама бөлігі. Салынымды басу арқылы оны бөлек терезеде ашу керек. ## Strings in keyserver.jsm @@ -640,7 +608,6 @@ import-key-file = OpenPGP кілт файлын импорттау import-rev-file = OpenPGP қайта шақыру файлын импорттау gnupg-file = GnuPGфайлдары import-keys-failed = Кілттерді импорттау сәтсіз аяқталды -passphrase-prompt = Келесі кілттің құлпын ашатын кілттік фразаны енгізіңіз: { $key } # Variables: # $key (String) - Key id to unlock. # $date (String) - The date on which the key was created diff --git a/thunderbird-l10n/kk/localization/kk/messenger/preferences/system-integration.ftl b/thunderbird-l10n/kk/localization/kk/messenger/preferences/system-integration.ftl index c0e9da7ab728dc0a01b820dbfb51be707b8db3c3..2c7cd4b3f44ebeb56245f10c88984e934df5157a 100644 --- a/thunderbird-l10n/kk/localization/kk/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/kk/localization/kk/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Жүйелік интеграция - +system-integration-dialog-title = Жүйелік интеграция system-integration-dialog = .buttonlabelaccept = Бастапқы ретінде орнату .buttonlabelcancel = Интеграцияны аттап кету .buttonlabelcancel2 = Бас тарту - default-client-intro = { -brand-short-name } келесі үшін негізгі клиент ретінде қолдану: - unset-default-tooltip = { -brand-short-name } қолданбасын негізгі клиент емес етіп { -brand-short-name } ішінен орнату мүмкін емес. Басқа қолданбаны үнсіз келісім қолданбасы ретінде орнату үшін "Үнсіз келісім қолданбасы ретінде орнату" сұхбатын қолданыңыз. - checkbox-email-label = .label = Эл. пошта .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Жаңалықтар таспалары .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Күнтізбе .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Windows іздеуі *[other] { "" } } - system-search-integration-label = .label = { system-search-engine-name } үшін хабарламалардан іздеуді рұқсат ету .accesskey = з - check-on-startup-label = .label = { -brand-short-name } іске қосылған кезде әрқашан да осыны тексеру .accesskey = ш diff --git a/thunderbird-l10n/kk/manifest.json b/thunderbird-l10n/kk/manifest.json index 10bda6b7d8f1e82946f8473120c746f071321a1b..e502b5363783003d5b3e0eb7dc5021d0947d59ce 100644 --- a/thunderbird-l10n/kk/manifest.json +++ b/thunderbird-l10n/kk/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: қазақ тілі (Kazakh)", "description": "Thunderbird Language Pack for қазақ тілі (kk) – Kazakh", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "kk": { - "version": "20231208145652", + "version": "20231215210342", "chrome_resources": { "alerts": "chrome/kk/locale/kk/alerts/", "autoconfig": "chrome/kk/locale/kk/autoconfig/", diff --git a/thunderbird-l10n/ko/chrome/ko/locale/ko/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/ko/chrome/ko/locale/ko/messenger/messengercompose/composeMsgs.properties index d0e3d2ef7ecd41b132e555cc329f256bcdf79364..b76a155052f7802b2a87f33dd663bf92a24c0b40 100644 --- a/thunderbird-l10n/ko/chrome/ko/locale/ko/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/ko/chrome/ko/locale/ko/messenger/messengercompose/composeMsgs.properties @@ -459,3 +459,6 @@ confirmRemoveRecipientRowButton=삭제 ## LOCALIZATION NOTE headersSpaceStyle is for aligning label of a newly create recipient row. ## It should be larger than the largest Header label and identical to &headersSpace2.style; headersSpaceStyle=width: 8em + +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. diff --git a/thunderbird-l10n/ko/localization/ko/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/ko/localization/ko/messenger/openpgp/openpgp.ftl index 53871f5ce4d96d075da0d943b8807d44a53d3027..3ed7a42b74951724a1d45b515279e43bc4b962b0 100644 --- a/thunderbird-l10n/ko/localization/ko/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/ko/localization/ko/messenger/openpgp/openpgp.ftl @@ -1,53 +1,17 @@ - # 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/. e2e-intro-description = 암호화되거나 디지털 서명 된 메시지를 보내려면 OpenPGP 또는 S/MIME과 같은 암호화 기술을 구성해야 합니다. - e2e-intro-description-more = OpenPGP 사용을 활성화하려면 개인 키를 선택하고 S/MIME 사용을 활성화하려면 개인 인증서를 선택합니다. 개인 키 또는 인증서의 경우 해당 비밀 키를 소유합니다. - -openpgp-key-user-id-label = 계정 / 사용자 ID -openpgp-keygen-title-label = - .title = OpenPGP 키 생성 -openpgp-cancel-key = - .label = 취소 - .tooltiptext = 키 생성 취소 -openpgp-key-gen-expiry-title = - .label = 키 만료 -openpgp-key-gen-expire-label = 키 만료일: -openpgp-key-gen-days-label = - .label = 일 -openpgp-key-gen-months-label = - .label = 월 -openpgp-key-gen-years-label = - .label = 년 -openpgp-key-gen-no-expiry-label = - .label = 키 만료되지 않음 -openpgp-key-gen-key-size-label = 키 크기 -openpgp-key-gen-console-label = 키 생성 -openpgp-key-gen-key-type-label = 키 유형 -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (타원 곡선) -openpgp-generate-key = - .label = 키 생성 - .tooltiptext = 암호화 및 서명을 위한 신규 Open PGP 키 생성 -openpgp-advanced-prefs-button-label = - .label = 고급 설정… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">참고 : 키 생성을 완료하는 데 최대 몇 분이 걸릴 수 있습니다.</a> 키 생성이 진행되는 동안 애플리케이션을 종료하지 마십시오. 키 생성 중에 적극적으로 검색하거나 디스크 집약적인 작업을 수행하면 '무작위 풀'이 보충되고 프로세스 속도가 빨라집니다. 키 생성이 완료되면 경고가 표시됩니다. - openpgp-key-expiry-label = .label = 만료 - openpgp-key-id-label = .label = 키 ID - openpgp-cannot-change-expiry = 구조가 복잡한 키이므로 만료일 변경은 지원되지 않습니다. - openpgp-key-man-title = .title = OpenPGP 키 관리자 +openpgp-key-man-dialog-title = OpenPGP 키 관리자 openpgp-key-man-generate = .label = 새로운 키 페어 .accesskey = K @@ -56,7 +20,6 @@ openpgp-key-man-gen-revoke = .accesskey = R openpgp-key-man-ctx-gen-revoke-label = .label = 폐기 인증서 생성 및 저장 - openpgp-key-man-file-menu = .label = 파일 .accesskey = F @@ -72,7 +35,6 @@ openpgp-key-man-generate-menu = openpgp-key-man-keyserver-menu = .label = 키 서버 .accesskey = K - openpgp-key-man-import-public-from-file = .label = 파일에서 공개 키 가져 오기 .accesskey = I @@ -95,78 +57,64 @@ openpgp-key-man-send-keys = openpgp-key-man-backup-secret-keys = .label = 비밀 키를 파일로 백업 .accesskey = B - openpgp-key-man-discover-cmd = .label = 온라인에서 키 찾기 .accesskey = D openpgp-key-man-discover-prompt = 온라인, 키 서버 또는 WKD 프로토콜을 사용하여 OpenPGP 키를 검색하려면 이메일 주소 또는 키 ID를 입력합니다. openpgp-key-man-discover-progress = 검색 중… - openpgp-key-copy-key = .label = 공개 키 복사 .accesskey = C - openpgp-key-export-key = .label = 공개 키를 파일로 내보내기 .accesskey = E - openpgp-key-backup-key = .label = 비밀 키를 파일로 백업 .accesskey = B - openpgp-key-send-key = .label = 이메일을 통해 공개 키 보내기 .accesskey = S - openpgp-key-man-copy-key-ids = .label = { $count -> *[other] 키 ID를 클립 보드로 복사 } .accesskey = K - openpgp-key-man-copy-fprs = .label = { $count -> *[other] 지문을 클립 보드로 복사 } .accesskey = F - openpgp-key-man-copy-to-clipboard = .label = { $count -> *[other] 공개키를 클립 보드로 복사 } .accesskey = P - openpgp-key-man-ctx-expor-to-file-label = .label = 파일로 키 내보내기 - openpgp-key-man-ctx-copy = .label = 복사 .accesskey = C - openpgp-key-man-ctx-copy-fprs = .label = { $count -> *[other] 지문 } .accesskey = F - openpgp-key-man-ctx-copy-key-ids = .label = { $count -> *[other] 키 ID } .accesskey = K - openpgp-key-man-ctx-copy-public-keys = .label = { $count -> *[other] 공개키 } .accesskey = P - openpgp-key-man-close = .label = 닫기 openpgp-key-man-reload = @@ -214,15 +162,12 @@ openpgp-key-man-nothing-found-tooltip = .label = 검색어와 일치하는 키 없음 openpgp-key-man-please-wait-tooltip = .label = 키를 읽는 동안 잠시 기다려주세요… - openpgp-key-man-filter-label = .placeholder = 키 검색 - openpgp-key-man-select-all-key = .key = A openpgp-key-man-key-details-key = .key = I - openpgp-key-details-signatures-tab = .label = 인증 openpgp-key-details-structure-tab = @@ -234,7 +179,6 @@ openpgp-key-details-id-label = openpgp-key-details-key-type-label = 형식 openpgp-key-details-key-part-label = .label = 키 부분 - openpgp-key-details-algorithm-label = .label = 알고리즘 openpgp-key-details-size-label = @@ -270,7 +214,6 @@ openpgp-personal-no-label = .label = 아니요, 개인 키로 사용하지 마세요. openpgp-personal-yes-label = .label = 예, 이 키를 개인 키로 사용하세요. - openpgp-copy-cmd-label = .label = 복사 @@ -278,53 +221,39 @@ openpgp-copy-cmd-label = # $key (String) - the currently selected OpenPGP key openpgp-selection-status-error = 현재 구성은 만료 된 <b>{ $key }</b> 키를 사용합니다. - openpgp-add-key-button = .label = 키 추가… .accesskey = A - e2e-learn-more = 더 알아보기 - openpgp-keygen-success = OpenPGP 키가 성공적으로 생성되었습니다! - openpgp-keygen-import-success = OpenPGP 키를 성공적으로 가져 왔습니다! - openpgp-keygen-external-success = 외부 GnuPG 키 ID가 저장되었습니다! ## OpenPGP Key selection area openpgp-radio-none = .label = 없음 - openpgp-radio-none-desc = 이 ID에 OpenPGP를 사용하지 마세요. - # $key (String) - the expiration date of the OpenPGP key openpgp-radio-key-expires = 만료일: { $date } - # $key (String) - the expiration date of the OpenPGP key openpgp-radio-key-expired = 만료일: { $date } - openpgp-key-expand-section = .tooltiptext = 자세한 정보 - openpgp-key-revoke-title = 키 폐기 - openpgp-key-edit-title = OpenPGP 키 변경 - openpgp-key-edit-date-title = 만료일 연장 - openpgp-manager-description = OpenPGP 키 관리자를 사용하여 상대방의 공개 키와 위에 나열되지 않은 다른 모든 키를 살펴보고 관리 할 수 있습니다. - openpgp-manager-button = .label = OpenPGP 키 관리자 .accesskey = K - openpgp-key-remove-external = .label = 외부 키 ID 제거 .accesskey = E - key-external-label = 외부 GnuPG 키 +## Strings in keyDetailsDlg.xhtml + # Strings in keyDetailsDlg.xhtml key-type-public = 공개 키 key-type-primary = 기본 키 @@ -341,12 +270,13 @@ key-expired-simple = 키가 만료됨 key-revoked-simple = 키 폐기됨 key-do-you-accept = 디지털 서명 확인 및 메시지 암호화를 위해 이 키를 수락합니까? +## Strings enigmailMsgComposeOverlay.js + # Strings enigmailMsgComposeOverlay.js cannot-use-own-key-because = 개인 키에 문제가 있어 메시지를 보낼 수 없습니다. { $problem } -cannot-encrypt-because-missing = 다음 수신자의 키에 문제가 있어 종단 간 암호화로 이 메시지를 보낼 수 없습니다. { $problem } window-locked = 작성 창이 잠겨 있습니다. 전송 취소 -mime-decrypt-encrypted-part-concealed-data = 이것은 암호화 된 메시지 부분입니다. 첨부 파일을 클릭하여 별도의 창에서 열어야합니다. +## Strings in keyserver.jsm # Strings in keyserver.jsm keyserver-error-aborted = 중단됨 @@ -358,6 +288,8 @@ keyserver-error-security-error = 키 서버는 암호화 된 액세스를 지원 keyserver-error-certificate-error = 키 서버의 인증서가 유효하지 않습니다. keyserver-error-unsupported = 키 서버가 지원되지 않습니다. +## Strings in mimeWkdHandler.jsm + # Strings in mimeWkdHandler.jsm wkd-message-body-req = 여러분의 이메일 제공 업체가 귀하의 공개 키를 OpenPGP 웹 키 디렉토리에 업로드하기 위한 요청을 처리했습니다. @@ -366,12 +298,16 @@ wkd-message-body-process = OpenPGP 웹 키 디렉토리에 공개 키를 업로드하기 위한 자동 처리와 관련된 이메일입니다. 이 시점에서 수동 조치를 취할 필요가 없습니다. +## Strings in persistentCrypto.jsm + # Strings in persistentCrypto.jsm converter-decrypt-body-failed = 제목이 있는 메시지를 복호화할 수 없습니다. { $subject }. 다른 암호로 다시 시도 하시겠습니까, 아니면 메시지를 건너 뛰시겠습니까? +## Strings filters.jsm + # Strings filters.jsm filter-folder-required = 대상 폴더를 선택해야 합니다. filter-decrypt-move-warn-experimental = @@ -384,11 +320,15 @@ filter-warn-key-not-secret = 경고- "키로 암호화"필터 동작이 수신자를 대체합니다. '{ $desc }'에 대한 비밀 키가 없으면 더 이상 이메일을 읽을 수 없습니다. +## Strings filtersWrapper.jsm + # Strings filtersWrapper.jsm filter-decrypt-move-label = 영구 복호화 (OpenPGP) filter-decrypt-copy-label = 복호화 된 복사본 생성 (OpenPGP) filter-encrypt-label = 키로 암호화 (OpenPGP) +## Strings in enigmailKeyImportInfo.js + # Strings in enigmailKeyImportInfo.js import-info-title = .title = 성공! 키 가져오기 완료 @@ -398,6 +338,8 @@ import-info-fpr = 지문 import-info-details = 세부 정보보기 및 키 수락 관리 import-info-no-keys = 가져온 키 없음 +## Strings in enigmailKeyManager.js + # Strings in enigmailKeyManager.js import-from-clip = 클립 보드에서 일부 키를 가져 오시겠습니까? import-from-url = 이 URL에서 공개 키를 다운로드하십시오: @@ -441,10 +383,14 @@ dlg-button-delete = 삭제 openpgp-export-public-success = <b> 공개 키를 성공적으로 내보냈습니다! </ b> openpgp-export-public-fail = <b> 선택한 공개 키를 내보낼 수 없습니다! </ b> - openpgp-export-secret-success = <b> 비밀 키를 성공적으로 내보냈습니다! </ b> openpgp-export-secret-fail = <b> 선택한 비밀 키를 내보낼 수 없습니다! </ b> +## Strings in keyObj.jsm +## Variables: +## $userId (String) - The name and/or email address that is mentioned in the key's information. +## $keyId (String) - Key id for the key entry. + # Strings in keyObj.jsm key-ring-pub-key-revoked = { $userId } 키 (키 ID { $keyId })가 폐기되었습니다. key-ring-pub-key-expired = { $userId } 키 (키 ID { $keyId })가 만료되었습니다. @@ -456,63 +402,68 @@ key-ring-sign-sub-keys-expired = { $userId } 키 (키 ID { $keyId })의 모든 key-ring-enc-sub-keys-revoked = { $userId } 키 (키 ID { $keyId })의 모든 암호화 하위 키가 취소됩니다. key-ring-enc-sub-keys-expired = { $userId } 키 (키 ID { $keyId })의 모든 암호화 하위 키가 만료되었습니다. +## Strings in gnupg-keylist.jsm + # Strings in gnupg-keylist.jsm keyring-photo = 사진 user-att-photo = 사용자 속성 (JPEG 이미지) +## Strings in key.jsm + # Strings in key.jsm already-revoked = 이 키는 이미 폐기되었습니다. - # $identity (String) - the id and associated user identity of the key being revoked revoke-key-question = '{ $identity }'키를 폑기하려고합니다. 더 이상이 키로 서명 할 수 없으며 일단 배포되면 다른 사용자가 더 이상 해당 키로 암호화 할 수 없습니다. 여전히 키를 사용하여 이전 메시지를 복호화할 수 있습니다. 진행 하시겠습니까? - # $keyId (String) - the id of the key being revoked revoke-key-not-present = 이 폐기 인증서와 일치하는 키 (0x { $keyId })가 없습니다! 키를 분실 한 경우, 폐기 인증서를 가져 오기 전에 (예 : 키 서버에서) 키를 가져와야 합니다. - # $keyId (String) - the id of the key being revoked revoke-key-already-revoked = 0x { $keyId } 키가 이미 폐기되었습니다. - key-man-button-revoke-key = 키 폐기 - openpgp-key-revoke-success = 키가 폐기되었습니다. - after-revoke-info = 키가 폐기되었습니다. 이 공개 키를 이메일로 보내거나 키 서버에 업로드하여 다시 공유하여 다른 사람에게 키를 폐기했음을 알립니다. 다른 사람이 사용하는 소프트웨어가 폐기 사실을 알게 되는 즉시 이전 키 사용이 중지됩니다. 동일한 이메일 주소에 새 키를 사용하고 보내는 이메일에 새 공개 키를 첨부하면 폐기된 이전 키에 대한 정보가 자동으로 포함됩니다. +## Strings in keyRing.jsm & decryption.jsm + # Strings in keyRing.jsm & decryption.jsm key-man-button-import = 가져오기 - delete-key-title = OpenPGP 키 삭제 - delete-external-key-title = 외부 GnuPG 키 제거 - delete-external-key-description = 이 외부 GnuPG 키 ID를 제거 하시겠습니까? - key-in-use-title = 현재 사용중인 OpenPGP 키 - delete-key-in-use-description = 계속할 수 없습니다! 삭제하려고 선택한 키는 현재 ID에서 사용 중입니다. 다른 키를 선택하거나 없음을 선택하고 다시 시도하십시오. - revoke-key-in-use-description = 계속할 수 없습니다! 취소를 위해 선택한 키는 현재 ID에서 사용 중입니다. 다른 키를 선택하거나 없음을 선택하고 다시 시도하십시오. +## Strings used in errorHandling.jsm + # Strings used in errorHandling.jsm key-error-key-spec-not-found = 이메일 주소 '{ $keySpec }'은 키링의 키와 일치 할 수 없습니다. key-error-key-id-not-found = 구성된 키 ID '{ $keySpec }'을 키링에서 찾을 수 없습니다. key-error-not-accepted-as-personal = ID가 '{ $keySpec }'인 키가 개인 키인지 확인하지 않았습니다. +## Strings used in enigmailKeyManager.js & windows.jsm + # Strings used in enigmailKeyManager.js & windows.jsm need-online = 선택한 기능은 오프라인 모드에서 사용할 수 없습니다. 온라인에 접속하여 다시 시도하십시오. +## Strings used in keyRing.jsm & keyLookupHelper.jsm + + +## Strings used in keyRing.jsm & GnuPGCryptoAPI.jsm + # Strings used in keyRing.jsm & GnuPGCryptoAPI.jsm fail-key-extract = 오류 - 키 추출 명령 실패 +## Strings used in keyRing.jsm + # Strings used in keyRing.jsm fail-cancel = 오류 - 사용자가 키 수신 취소 not-first-block = 오류 - 첫 번째 OpenPGP 블록이 공개 키 블록이 아님 @@ -522,6 +473,8 @@ file-write-failed = { $output } 파일 쓰기 실패 no-pgp-block = 오류 - 유효한 Armored OpenPGP 데이터 블록 없음 confirm-permissive-import = 가져 오지 못했습니다. 가져 오려는 키가 손상되었거나 알 수 없는 속성을 사용할 수 있습니다. 올바른 부분을 가져 오시겠습니까? 이로 인해 불완전하고 사용할 수 없는 키를 가져올 수도 있습니다. +## Strings used in trust.jsm + # Strings used in trust.jsm key-valid-unknown = 알 수 없음 key-valid-invalid = 유효하지 않음 @@ -534,14 +487,17 @@ key-trust-full = 신뢰할 수 있음 key-trust-ultimate = 완전히 신뢰함 key-trust-group = (그룹) +## Strings used in commonWorkflows.js + # Strings used in commonWorkflows.js import-key-file = OpenPGP 키 파일 가져 오기 import-rev-file = OpenPGP 폐기 파일 가져 오기 gnupg-file = GnuPG 파일 import-keys-failed = 키 가져 오기 실패 -passphrase-prompt = 다음 키를 잠금 해제하는 비밀번호를 입력하십시오. { $key } file-to-big-to-import = 이 파일이 너무 큽니다. 한 번에 많은 키를 가져 오지 마십시오. +## Strings used in enigmailKeygen.js + # Strings used in enigmailKeygen.js save-revoke-cert-as = 폐기 인증서 생성 및 저장 revoke-cert-ok = 폐기 인증서가 성공적으로 생성되었습니다. 이를 사용하여 공개 키를 무효화 할 수 있습니다. 예: 비밀 키를 잃어 버릴 경우 @@ -556,11 +512,10 @@ key-abort = 키 생성을 중단 하시겠습니까? key-man-button-generate-key-abort = 키 생성 중단 key-man-button-generate-key-continue = 키 생성 계속 -# Strings used in enigmailMessengerOverlay.js +## Strings used in enigmailMessengerOverlay.js failed-decrypt = 오류- 복호화 실패 fix-broken-exchange-msg-failed = 메시지를 복구하지 못했습니다. - attachment-no-match-from-signature = 서명 파일 '{ $attachment }'를 첨부 파일과 일치시킬 수 없음 attachment-no-match-to-signature = '{ $attachment }'첨부 파일을 서명 파일과 일치시킬 수 없음 signature-verified-ok = { $attachment } 첨부 파일의 서명이 성공적으로 확인 완료 @@ -571,6 +526,8 @@ decrypt-ok-no-sig = msg-ovl-button-cont-anyway = 계속 진행하기 enig-content-note = *이 메시지의 첨부 파일은 서명되거나 암호화되지 않았습니다 * +## Strings used in enigmailMsgComposeOverlay.js + # Strings used in enigmailMsgComposeOverlay.js msg-compose-button-send = 메시지 전송 msg-compose-details-button-label = 상세 보기… @@ -605,6 +562,8 @@ possibly-pgp-mime = PGP / MIME 암호화 또는 서명 된 메시지 일 수 있 cannot-send-sig-because-no-own-key = <{ $key }>에 대해 종단 간 암호화를 아직 구성하지 않았으므로 이 메시지에 디지털 서명 할 수 없음 cannot-send-enc-because-no-own-key = <{ $key }>에 대한 종단 간 암호화를 아직 구성하지 않았으므로 이 메시지를 암호화하여 보낼 수 없음 +## Strings used in decryption.jsm + # Strings used in decryption.jsm do-import-multiple = 다음 키를 가져 오시겠습니까? @@ -620,17 +579,25 @@ attachment-pgp-key = 포함 된 키를 가져 오려면 '가져 오기'를 클릭하고 브라우저 창에서 파일 내용을 보려면 '보기'를 클릭하세요. dlg-button-view = 보기 +## Strings used in enigmailMsgHdrViewOverlay.js + # Strings used in enigmailMsgHdrViewOverlay.js decrypted-msg-with-format-error = 복호화된 메시지 (이전 Exchange 서버로 인해 손상된 PGP 이메일 형식을 복원하여 결과를 읽기에 완벽하지 않을 수 있음) +## Strings used in encryption.jsm + # Strings used in encryption.jsm not-required = 오류 - 암호화 불필요 +## Strings used in windows.jsm + # Strings used in windows.jsm no-photo-available = 사용 가능한 사진 없음 error-photo-path-not-readable = '{ $photo }' 사진 경로 읽을 수 없음 debug-log-title = OpenPGP 디버그 로그 +## Strings used in dialog.jsm + # Strings used in dialog.jsm repeat-prefix = 알림 { $count }회 반복 repeat-suffix-singular = 더 많은 시간. @@ -646,9 +613,13 @@ enig-confirm = OpenPGP 확인 enig-alert = OpenPGP 경고 enig-info = OpenPGP 정보 +## Strings used in persistentCrypto.jsm + # Strings used in persistentCrypto.jsm dlg-button-retry = 재시도 dlg-button-skip = 건너뛰기 +## Strings used in enigmailMsgBox.js + enig-alert-title = .title = OpenPGP 경고 diff --git a/thunderbird-l10n/ko/localization/ko/messenger/preferences/system-integration.ftl b/thunderbird-l10n/ko/localization/ko/messenger/preferences/system-integration.ftl index 1d754f1ede1e75797e1b9394af44ed1869036c50..a50cf7f73180296fb5caa51291d0dd34b13312ae 100644 --- a/thunderbird-l10n/ko/localization/ko/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/ko/localization/ko/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = 시스템 통합 - +system-integration-dialog-title = 시스템 통합 system-integration-dialog = .buttonlabelaccept = 기본으로 설정 .buttonlabelcancel = 통합 미루기 .buttonlabelcancel2 = 미루기 - default-client-intro = { -brand-short-name }를 다음 항목의 기본 프로그램으로 사용: - unset-default-tooltip = { -brand-short-name }에서 { -brand-short-name }를 기본 클라이언트로 사용하지 않게 할 수 없습니다. 다른 어플리케이션을 기본으로 사용하려면 해당 어플리케이션의 '기본으로 설정' 창을 이용하세요. - checkbox-email-label = .label = 이메일 .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = 피드 .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = 달력 .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Windows Search *[other] { "" } } - system-search-integration-label = .label = 검색시 { system-search-engine-name } 엔진 사용 허가 .accesskey = S - check-on-startup-label = .label = { -brand-short-name } 시작할 때 항상 확인 .accesskey = A diff --git a/thunderbird-l10n/ko/manifest.json b/thunderbird-l10n/ko/manifest.json index 0324566b3a7f2b568d4569a01fbda99a9e0e88f8..5d501ddb0febe902970ab1ce969b60ffbfcaa4fc 100644 --- a/thunderbird-l10n/ko/manifest.json +++ b/thunderbird-l10n/ko/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: 한국어 (Korean)", "description": "Thunderbird Language Pack for 한국어 (ko) – Korean", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "ko": { - "version": "20231208145737", + "version": "20231215210427", "chrome_resources": { "alerts": "chrome/ko/locale/ko/alerts/", "autoconfig": "chrome/ko/locale/ko/autoconfig/", diff --git a/thunderbird-l10n/lt/chrome/lt/locale/lt/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/lt/chrome/lt/locale/lt/messenger/messengercompose/composeMsgs.properties index b0c7c0b1484be532f5cc94444a7ee163807438ec..369e06d604d70696867a23bae2bb2158732a78f2 100644 --- a/thunderbird-l10n/lt/chrome/lt/locale/lt/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/lt/chrome/lt/locale/lt/messenger/messengercompose/composeMsgs.properties @@ -459,3 +459,6 @@ confirmRemoveRecipientRowButton=Pašalinti ## LOCALIZATION NOTE headersSpaceStyle is for aligning label of a newly create recipient row. ## It should be larger than the largest Header label and identical to &headersSpace2.style; headersSpaceStyle=width: 8em + +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. diff --git a/thunderbird-l10n/lt/localization/lt/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/lt/localization/lt/messenger/openpgp/openpgp.ftl index b5c6d7d99fe8376d3007a5580dbda13fa1eda229..af05adbad1e21cdaa004e6fcd3284c2b0feb6af6 100644 --- a/thunderbird-l10n/lt/localization/lt/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/lt/localization/lt/messenger/openpgp/openpgp.ftl @@ -1,54 +1,18 @@ - # 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/. e2e-intro-description = Norėdami siųsti užšifruotus ar skaitmeniškai pasirašytus pranešimus, turite sukonfigūruoti šifravimo technologiją - „OpenPGP“ arba „S/MIME“. e2e-intro-description-more = Pasirinkite savo asmeninį raktą, kad galėtumėte naudoti „OpenPGP“, arba asmeninį sertifikatą, kad galėtumėte naudoti „S/MIME“. Kaip asmeninio rakto ar sertifikato savininkas, jūs turite atitinkamą slaptą raktą. - e2e-advanced-section = Papildomi nustatymai - -openpgp-key-user-id-label = Paskyra / Vartotojo ID -openpgp-keygen-title-label = - .title = Sugeneruoti „OpenPGP“ raktą -openpgp-cancel-key = - .label = Atšaukti - .tooltiptext = Atšaukti rakto generavimą -openpgp-key-gen-expiry-title = - .label = Rakto galiojimo laikas -openpgp-key-gen-expire-label = Rakto galiojimas baigiasi -openpgp-key-gen-days-label = - .label = dienų -openpgp-key-gen-months-label = - .label = mėnesių -openpgp-key-gen-years-label = - .label = metų -openpgp-key-gen-no-expiry-label = - .label = Raktas nenustoja galioti -openpgp-key-gen-key-size-label = Rakto dydis -openpgp-key-gen-console-label = Raktų generavimas -openpgp-key-gen-key-type-label = Rakto tipas -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (elipsinės kreivės) -openpgp-generate-key = - .label = Sukurti raktą - .tooltiptext = Sukuria naują, su „OpenPGP“ suderinamą raktų porą šifravimui ir (arba) pasirašymui -openpgp-advanced-prefs-button-label = - .label = Papildomai… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link"><b>Raktų generavimas gali užtrukti iki kelių minučių.</b></a> Neišeikite iš programos, kol generuojami raktai. Aktyvus naršymas ar aktyvios disko naudojimas raktų generavimo metu pagerins atsitiktinių reikšmių statistiką ir pagreitins procesą. Kai raktai bus sukurti, jus įspės. - openpgp-key-expiry-label = .label = Galiojimo pabaiga - openpgp-key-id-label = .label = Rakto ID - openpgp-cannot-change-expiry = Tai raktas su sudėtinga struktūra, jo galiojimo pabaigos keitimas nepalaikomas. - openpgp-key-man-title = .title = „OpenPGP Key Manager“ +openpgp-key-man-dialog-title = „OpenPGP Key Manager“ openpgp-key-man-generate = .label = Nauja raktų pora .accesskey = N @@ -57,7 +21,6 @@ openpgp-key-man-gen-revoke = .accesskey = A openpgp-key-man-ctx-gen-revoke-label = .label = Sukurti ir išsaugoti atšaukimo pažymėjimą - openpgp-key-man-file-menu = .label = Failas .accesskey = F @@ -73,7 +36,6 @@ openpgp-key-man-generate-menu = openpgp-key-man-keyserver-menu = .label = Raktų serveris .accesskey = R - openpgp-key-man-import-public-from-file = .label = Importuoti viešą (-us) raktą (-us) iš failo .accesskey = I @@ -96,29 +58,23 @@ openpgp-key-man-send-keys = openpgp-key-man-backup-secret-keys = .label = Išsaugoti slaptą raktą faile .accesskey = s - openpgp-key-man-discover-cmd = .label = Ieškoti raktų internete .accesskey = I openpgp-key-man-discover-prompt = „OpenPGP“ raktų paieškai internete, raktų serveryje arba WKD protokolu įveskite arba elektroninio pašto adresą arba rakto ID. openpgp-key-man-discover-progress = Ieškoma… - openpgp-key-copy-key = .label = Kopijuoti viešąjį raktą .accesskey = K - openpgp-key-export-key = .label = Eksportuoti viešą (-us) raktą (-us) į failą .accesskey = E - openpgp-key-backup-key = .label = Išsaugoti slaptą raktą faile .accesskey = s - openpgp-key-send-key = .label = Siųsti viešą raktą el. paštu .accesskey = s - openpgp-key-man-copy-key-ids = .label = { $count -> @@ -127,7 +83,6 @@ openpgp-key-man-copy-key-ids = *[other] Kopijuoti raktų ID į mainų sritį } .accesskey = K - openpgp-key-man-copy-fprs = .label = { $count -> @@ -136,7 +91,6 @@ openpgp-key-man-copy-fprs = *[other] Kopijuoti „pirštų atspaudus“ į mainų sritį } .accesskey = K - openpgp-key-man-copy-to-clipboard = .label = { $count -> @@ -145,14 +99,11 @@ openpgp-key-man-copy-to-clipboard = *[other] Kopijuoti viešųjų raktų į mainų sritį } .accesskey = K - openpgp-key-man-ctx-expor-to-file-label = .label = Eksportuoti raktus į failą - openpgp-key-man-ctx-copy = .label = Kopijuoti .accesskey = K - openpgp-key-man-ctx-copy-fprs = .label = { $count -> @@ -161,7 +112,6 @@ openpgp-key-man-ctx-copy-fprs = *[other] „Pirštų atspaudų“ } .accesskey = a - openpgp-key-man-ctx-copy-key-ids = .label = { $count -> @@ -170,7 +120,6 @@ openpgp-key-man-ctx-copy-key-ids = *[other] Raktų ID } .accesskey = I - openpgp-key-man-ctx-copy-public-keys = .label = { $count -> @@ -179,7 +128,6 @@ openpgp-key-man-ctx-copy-public-keys = *[other] Viešųjų raktų } .accesskey = V - openpgp-key-man-close = .label = Užverti openpgp-key-man-reload = @@ -227,15 +175,12 @@ openpgp-key-man-nothing-found-tooltip = .label = Nei vienas raktas neatitinka jūsų paieškos sąlygų openpgp-key-man-please-wait-tooltip = .label = Palaukite, raktai įkeliami… - openpgp-key-man-filter-label = .placeholder = Raktų paieška - openpgp-key-man-select-all-key = .key = v openpgp-key-man-key-details-key = .key = I - openpgp-key-details-signatures-tab = .label = Sertifikatai openpgp-key-details-structure-tab = @@ -247,7 +192,6 @@ openpgp-key-details-id-label = openpgp-key-details-key-type-label = Tipas openpgp-key-details-key-part-label = .label = Rakto dalis - openpgp-key-details-algorithm-label = .label = Algoritmas openpgp-key-details-size-label = @@ -283,7 +227,6 @@ openpgp-personal-no-label = .label = Ne, nenaudoti jo kaip mano asmeninio rakto. openpgp-personal-yes-label = .label = Taip, tai asmeninis raktas. - openpgp-copy-cmd-label = .label = Kopijuoti @@ -291,55 +234,40 @@ openpgp-copy-cmd-label = # $key (String) - the currently selected OpenPGP key openpgp-selection-status-error = Dabartinėje konfigūracijoje naudojamas raktas <b> { $key } </b>, kurio galiojimo laikas baigėsi. - openpgp-add-key-button = .label = Pridėti raktą… .accesskey = P - e2e-learn-more = Sužinoti daugiau - openpgp-keygen-success = „OpenPGP“ raktas sukurtas sėkmingai! - openpgp-keygen-import-success = „OpenPGP“ raktai sėkmingai importuoti! - openpgp-keygen-external-success = Išorinio „GnuPG“ rakto ID išsaugotas. ## OpenPGP Key selection area openpgp-radio-none = .label = Joks - openpgp-radio-none-desc = Šiai tapatybei „OpenPGP“ nenaudoti. - openpgp-radio-key-not-found = Šio rakto rasti nepavyko! Jei norite jį naudoti, turite jį importuoti į „{ -brand-short-name }“. - # $key (String) - the expiration date of the OpenPGP key openpgp-radio-key-expires = Galiojimas baigiasi: { $date } - # $key (String) - the expiration date of the OpenPGP key openpgp-radio-key-expired = Negalioja nuo: { $date } - openpgp-key-expand-section = .tooltiptext = Daugiau informacijos - openpgp-key-revoke-title = Atšaukti raktą - openpgp-key-edit-title = Pakeisti „OpenPGP“ raktą - openpgp-key-edit-date-title = Pratęsti galiojimo datą - openpgp-manager-description = Korespondentų viešųjų raktų ir visų kitų aukščiau neišvardintų raktų peržiūrai ir tvarkymui naudokite „OpenPGP Key Manager“. - openpgp-manager-button = .label = „OpenPGP Key Manager“ .accesskey = O - openpgp-key-remove-external = .label = Pašalinti išorinio rakto ID .accesskey = P - key-external-label = Išorinis „GnuPG“ raktas +## Strings in keyDetailsDlg.xhtml + # Strings in keyDetailsDlg.xhtml key-type-public = viešas raktas key-type-primary = pirminis raktas @@ -356,12 +284,13 @@ key-expired-simple = Raktas nebegalioja key-revoked-simple = Raktas atšauktas key-do-you-accept = Ar priimate šį raktą skaitmeninių parašų tikrinimui ir pranešimų šifravimui? +## Strings enigmailMsgComposeOverlay.js + # Strings enigmailMsgComposeOverlay.js cannot-use-own-key-because = Nepavyko išsiųsti pranešimo, nes yra problema su jūsų asmeniniu raktu. { $problem } -cannot-encrypt-because-missing = Nepavyko išsiųsti šio pranešimo su abipusiu šifravimu, nes kilo problemų su šių gavėjų raktais: { $problem } window-locked = Kūrimo langas yra užrakintas; siuntimas atšauktas -mime-decrypt-encrypted-part-concealed-data = Tai - užšifruota pranešimo dalis. Turite šį priedą atidaryti atskirame lange. +## Strings in keyserver.jsm # Strings in keyserver.jsm keyserver-error-aborted = Nutraukta @@ -373,6 +302,8 @@ keyserver-error-security-error = Raktų serveris nepalaiko šifruotos prieigos. keyserver-error-certificate-error = Raktų serverio sertifikatas negalioja. keyserver-error-unsupported = Raktų serveris nepalaikomas. +## Strings in mimeWkdHandler.jsm + # Strings in mimeWkdHandler.jsm wkd-message-body-req = Jūsų el. pašto paslaugų teikėjas apdorojo jūsų užklausą įkelti viešąjį raktą į „OpenPGP“ žiniatinklio raktų katalogą. @@ -381,12 +312,16 @@ wkd-message-body-process = Šis el. laiškas susijęs su automatiniu viešų „OpenPGP“ raktų įkėlimu į žiniatinklio raktų katalogą. Jums nereikia atlikti jokių rankinių veiksmų. +## Strings in persistentCrypto.jsm + # Strings in persistentCrypto.jsm converter-decrypt-body-failed = Nepavyko iššifruoti pranešimo, kurio tema { $subject }. Galima bandyti dar kartą, naudojant kitą slaptažodį, arba praleisti pranešimą. +## Strings filters.jsm + # Strings filters.jsm filter-folder-required = Reikia nurodyti aplanką. filter-decrypt-move-warn-experimental = @@ -399,11 +334,15 @@ filter-warn-key-not-secret = Įspėjimas - filtravimo veiksmas „Šifruoti į raktą“ pakeičia gavėjus. Jei neturite slapto „{ $desc }“ rakto, nebegalėsite skaityti el. laiškų. +## Strings filtersWrapper.jsm + # Strings filtersWrapper.jsm filter-decrypt-move-label = Iššifruoti visam laikui („OpenPGP“) filter-decrypt-copy-label = Sukurti iššifruotą kopiją („OpenPGP“) filter-encrypt-label = Šifruoti su raktu („OpenPGP“) +## Strings in enigmailKeyImportInfo.js + # Strings in enigmailKeyImportInfo.js import-info-title = .title = Raktai sėkmingai importuoti @@ -413,6 +352,8 @@ import-info-fpr = „Pirštų atspaudas“ import-info-details = Peržiūrėti išsamią informaciją ir tvarkyti raktų priėmimą import-info-no-keys = Nėra importuotų raktų. +## Strings in enigmailKeyManager.js + # Strings in enigmailKeyManager.js import-from-clip = Ar tikrai norite importuoti raktą (-us) iš mainų srities? import-from-url = Atsisiųsti viešąjį raktą iš šio URL: @@ -455,10 +396,14 @@ dlg-button-delete = Š&alinti openpgp-export-public-success = <b> Viešasis raktas eksportuotas </b> openpgp-export-public-fail = <b> Nepavyko eksportuoti pasirinkto viešojo rakto! </b> - openpgp-export-secret-success = <b> Slaptasis raktas eksportuotas </b> openpgp-export-secret-fail = <b> Nepavyko eksportuoti pasirinkto slaptojo rakto! </b> +## Strings in keyObj.jsm +## Variables: +## $userId (String) - The name and/or email address that is mentioned in the key's information. +## $keyId (String) - Key id for the key entry. + # Strings in keyObj.jsm key-ring-pub-key-revoked = Raktas { $userId } (rakto ID { $keyId }) yra atšauktas. key-ring-pub-key-expired = Rakto „{ $userId }“ (rakto ID „{ $keyId }“) galiojimas pasibaigęs. @@ -470,63 +415,68 @@ key-ring-sign-sub-keys-expired = Visi rakto { $userId } (rakto ID { $keyId }) pa key-ring-enc-sub-keys-revoked = Visi rakto { $userId } (rakto ID { $keyId }) šifravimo raktai atšaukiami. key-ring-enc-sub-keys-expired = Visi rakto { $userId } (rakto ID { $keyId }) šifravimo raktai nebegalioja. +## Strings in gnupg-keylist.jsm + # Strings in gnupg-keylist.jsm keyring-photo = Nuotrauka user-att-photo = Vartotojo atributas (JPEG vaizdas) +## Strings in key.jsm + # Strings in key.jsm already-revoked = Šis raktas atšauktas. - # $identity (String) - the id and associated user identity of the key being revoked revoke-key-question = Ketinate atšaukti raktą „{ $identity }“. Jūs nebegalėsite pasirašyti šiou raktu, o kai atšaukimo informacija bus išplatinta, kiti nebegalės šifruoti šiuo raktu. Bet vis dar galėsite naudoti raktą iššifruoti seniems pranešimams. Ar norite testi? - # $keyId (String) - the id of the key being revoked revoke-key-not-present = Jūs neturite rakto (0x{ $keyId }), kuris atitiktų šį atšaukimo sertifikatą! Jei pametėte raktą, prieš importuodami atšaukimo sertifikatą turite šį raktą importuoti (pvz. iš raktų serverio). - # $keyId (String) - the id of the key being revoked revoke-key-already-revoked = Raktas 0x{ $keyId } jau atšauktas. - key-man-button-revoke-key = &Atšaukti raktą - openpgp-key-revoke-success = Raktas sėkmingai atšauktas. - after-revoke-info = Raktas atšauktas. Dar kartą bendrinkite šį viešąjį raktą siųsdami jį el. paštu arba įkeldami į raktų serverius, kad kiti žinotų, jog atšaukėte raktą. Kai tik kitų žmonių naudojama programinė įranga sužinos apie rakto atšaukimą, ji nustos naudoti seną raktą. Jei tam pačiam el. pašto adresui naudojate naują raktą ir jį pridedate prie siunčiamų el. laiškų, informacija apie panaikintą seną raktą bus įtraukta automatiškai . +## Strings in keyRing.jsm & decryption.jsm + # Strings in keyRing.jsm & decryption.jsm key-man-button-import = &Importuoti - delete-key-title = Pašalingti „OpenPGP“ raktą - delete-external-key-title = Pašalinti išorinį „GnuPG“ raktą - delete-external-key-description = Ar norite pašalinti šį išorinio „GnuPG“ rakto ID? - key-in-use-title = Šis „OpenPGP“ raktas šiuo metu naudojamas - delete-key-in-use-description = Neįmanoma tęsti! Ši tapatybė šiuo metu naudoja raktą, kurį norite ištrinti. Pasirinkite tapatybei kitą raktą ( arba jokio rakto) ir bandykite dar kartą. - revoke-key-in-use-description = Neįmanoma tęsti! Ši tapatybė šiuo metu naudoja raktą, kurį norite atšaukti. Pasirinkite tapatybei kitą raktą ( arba jokio rakto) ir bandykite dar kartą. +## Strings used in errorHandling.jsm + # Strings used in errorHandling.jsm key-error-key-spec-not-found = El. pašto adreso „{ $keySpec }“ nėra jūsų raktų sąraše. key-error-key-id-not-found = Nurodyto rakto ID „{ $keySpec }“ nėrai jūsų raktų saraše. key-error-not-accepted-as-personal = Jūs nepatvirtinote, kad raktas, kurio ID „{ $keySpec }“, yra jūsų asmeninis raktas. +## Strings used in enigmailKeyManager.js & windows.jsm + # Strings used in enigmailKeyManager.js & windows.jsm need-online = Pasirinkta funkcija negalima neprisijungus prie tinklo. Prisijunkite prie interneto ir bandykite dar kartą. +## Strings used in keyRing.jsm & keyLookupHelper.jsm + + +## Strings used in keyRing.jsm & GnuPGCryptoAPI.jsm + # Strings used in keyRing.jsm & GnuPGCryptoAPI.jsm fail-key-extract = Klaida - nepavyko išgauti rakto +## Strings used in keyRing.jsm + # Strings used in keyRing.jsm fail-cancel = Klaida - rakto gavimą atšaukė vartotojas not-first-block = Klaida - pirmasis „OpenPGP“ blokas nėra viešojo rakto blokas @@ -536,6 +486,8 @@ file-write-failed = Nepavyko įrašyti į failą { $output } no-pgp-block = Klaida - nerastas galiojantis apsaugotas „OpenPGP“ duomenų blokas confirm-permissive-import = Nepavyko importuoti. Raktas, kurį bandote importuoti, gali būti sugadintas arba naudoja nežinomus atributus. Galima pabandyti importuoti teisingas dalis, bet dėl to gali būti importuojami neišsamūs ar netinkami naudojimui raktai. +## Strings used in trust.jsm + # Strings used in trust.jsm key-valid-unknown = nežinomas key-valid-invalid = netinkamas @@ -548,14 +500,17 @@ key-trust-full = patikimas key-trust-ultimate = visiškas key-trust-group = (grupė) +## Strings used in commonWorkflows.js + # Strings used in commonWorkflows.js import-key-file = Importuoti „OpenPGP“ raktų failą import-rev-file = Importuoti „OpenPGP“ atšaukimų failą gnupg-file = „GnuPG“ failai import-keys-failed = Nepavyko importuoti raktų -passphrase-prompt = Įveskite rakto „{ $key }“ slaptažodį. file-to-big-to-import = Šis failas per didelis. Neimportuokite didelių raktų rinkinių vienu metu. +## Strings used in enigmailKeygen.js + # Strings used in enigmailKeygen.js save-revoke-cert-as = Sukurti ir išsaugoti atšaukimo pažymėjimą revoke-cert-ok = Atšąukimo sertifikatas sėkmingai sukurtas. Galite jį naudoti norėdami anuliuoti savo viešąjį raktą, pvz. jei pamestumėte slaptą raktą. @@ -570,11 +525,10 @@ key-abort = Nutraukti raktų generavimą? key-man-button-generate-key-abort = &Nutraukti raktų generavimą? key-man-button-generate-key-continue = &Tęsti raktų generavimą -# Strings used in enigmailMessengerOverlay.js +## Strings used in enigmailMessengerOverlay.js failed-decrypt = Klaida - nepavyko iššifruoti fix-broken-exchange-msg-failed = Nepavyko ištaisyti šio pranešimo. - attachment-no-match-from-signature = Nepavyko suderinti parašo failo „{ $attachment }“ ir priedo attachment-no-match-to-signature = Nepavyko suderinti priedo „{ $attachment }“ ir parašo failo signature-verified-ok = Priedo „{ $attachment }“ parašas buvo sėkmingai patvirtintas @@ -585,6 +539,8 @@ decrypt-ok-no-sig = msg-ovl-button-cont-anyway = &Tęsti bet kokiu atveju enig-content-note = * Šio pranešimo priedai nebuvo pasirašyti ir užšifruoti * +## Strings used in enigmailMsgComposeOverlay.js + # Strings used in enigmailMsgComposeOverlay.js msg-compose-button-send = Išsiųsti laišką msg-compose-details-button-label = Išsamiau… @@ -619,6 +575,8 @@ possibly-pgp-mime = Galbūt tai PGP/MIME šifruotas arba pasirašytas pranešima cannot-send-sig-because-no-own-key = Negalima pasirašyti šio pranešimo skaitmeniniu būdu, nes raktui „<{ $key }>“ dar nesukonfigūravote abipusio šifravimo cannot-send-enc-because-no-own-key = Negalima užšifruoti ir išsiųsti šio pranešimo, nes raktui „<{ $key }>“ dar nesukonfigūravote abipusio šifravimo +## Strings used in decryption.jsm + # Strings used in decryption.jsm do-import-multiple = Importuoti šiuos raktus? @@ -634,17 +592,25 @@ attachment-pgp-key = Spustelėkite „Importuoti“, jei norite importuoti esančius raktus, arba „Žiūrėti“, jei norite peržiūrėti failo turinį naršyklės lange dlg-button-view = &Peržiūrėti +## Strings used in enigmailMsgHdrViewOverlay.js + # Strings used in enigmailMsgHdrViewOverlay.js decrypted-msg-with-format-error = Iššifruotas pranešimas ( tai atkurtas sugadintas PGP el. pašto pranešimas, kurį tikriausiai sugadino senas „Exchange“ serveris. Rezultatas gali būti netikslus ar neįskaitomas) +## Strings used in encryption.jsm + # Strings used in encryption.jsm not-required = Klaida - šifruoti nereikia +## Strings used in windows.jsm + # Strings used in windows.jsm no-photo-available = Nuotraukos nėra error-photo-path-not-readable = Nepavyko nuskaityti nuotraukų iš nurodytos vietos „{ $photo }“ debug-log-title = „OpenPGP“ derinimo žurnalas +## Strings used in dialog.jsm + # Strings used in dialog.jsm repeat-prefix = Šis įspėjimas pasikartos { $count } repeat-suffix-singular = daugiau laiko. @@ -660,10 +626,14 @@ enig-confirm = „OpenPGP“ patvirtinimas enig-alert = „OpenPGP“ įspėjimas enig-info = „OpenPGP“ informacija +## Strings used in persistentCrypto.jsm + # Strings used in persistentCrypto.jsm dlg-button-retry = Kartoti dlg-button-skip = &Praleisti +## Strings used in enigmailMsgBox.js + # Strings used in enigmailMsgBox.js enig-alert-title = .title = „OpenPGP“ įspėjimas diff --git a/thunderbird-l10n/lt/localization/lt/messenger/preferences/system-integration.ftl b/thunderbird-l10n/lt/localization/lt/messenger/preferences/system-integration.ftl index eb083022e521bc3fe24ccbd402178a865a7a660d..701f0f1ad8aea592d125e13d428339ada5a13ef7 100644 --- a/thunderbird-l10n/lt/localization/lt/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/lt/localization/lt/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Integracija su sistema - +system-integration-dialog-title = Integracija su sistema system-integration-dialog = .buttonlabelaccept = Skirti numatytąja .buttonlabelcancel = Praleisti integraciją .buttonlabelcancel2 = Atsisakyti - default-client-intro = „{ -brand-short-name }“ laikyti numatytąja programa: - unset-default-tooltip = Programai „{ -brand-short-name }“ neįmanoma nurodyti kad ji nebūtų laikoma numatytąja programa. Jeigu numatytąja norite skirti kitą programą, pasinaudokite atitinkamu tos programos dialogo langu. - checkbox-email-label = .label = el. pašto .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = sklaidos kanalų .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Kalendorius .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Windows Search *[other] { "" } } - system-search-integration-label = .label = Leisti „{ system-search-engine-name }“ ieškoti laiškų .accesskey = L - check-on-startup-label = .label = Paleidžiant „{ -brand-short-name }“ tikrinti, ar ji yra numatytoji .accesskey = P diff --git a/thunderbird-l10n/lt/manifest.json b/thunderbird-l10n/lt/manifest.json index 1f3a23251fb224d382106a4b6fe976e15c13980f..3716130d5aabd2c4bed95b7bcef23d6ce4c8d0d5 100644 --- a/thunderbird-l10n/lt/manifest.json +++ b/thunderbird-l10n/lt/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Lietuvių (Lithuanian)", "description": "Thunderbird Language Pack for Lietuvių (lt) – Lithuanian", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "lt": { - "version": "20231208145233", + "version": "20231215210114", "chrome_resources": { "alerts": "chrome/lt/locale/lt/alerts/", "autoconfig": "chrome/lt/locale/lt/autoconfig/", diff --git a/thunderbird-l10n/lv/chrome/lv/locale/lv/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/lv/chrome/lv/locale/lv/messenger/messengercompose/composeMsgs.properties index f76afd36290e2593f5a4391d2573d351638f9de3..8408ecc339b2965f013c8372ed878f66dbca84f5 100644 --- a/thunderbird-l10n/lv/chrome/lv/locale/lv/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/lv/chrome/lv/locale/lv/messenger/messengercompose/composeMsgs.properties @@ -459,3 +459,6 @@ confirmRemoveRecipientRowButton=Noņemt ## LOCALIZATION NOTE headersSpaceStyle is for aligning label of a newly create recipient row. ## It should be larger than the largest Header label and identical to &headersSpace2.style; headersSpaceStyle=width: 8em + +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. diff --git a/thunderbird-l10n/lv/localization/lv/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/lv/localization/lv/messenger/openpgp/openpgp.ftl index 281a3dd928aa55b580001506f4005fab9e6754f2..2f0c7b24ddf2fd13634ff2eb1af7988ef860c3dd 100644 --- a/thunderbird-l10n/lv/localization/lv/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/lv/localization/lv/messenger/openpgp/openpgp.ftl @@ -1,53 +1,17 @@ - # 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/. e2e-intro-description = Lai nosūtītu šifrētas vai digitāli parakstītas vēstules, jums jāiestata šifrēšanas tehnoloģija: OpenPGP vai S/MIME. - e2e-intro-description-more = Atlasiet savu personīgo atslēgu, lai ieslēgtu OpenPGP, vai personīgo sertifikātu, lai ieslēgtu S/MIME lietošanu. Personīgajai atslēgai vai sertifikātam jums ir attiecīgā slepenā atslēga. - -openpgp-key-user-id-label = Konta / lietotāja ID -openpgp-keygen-title-label = - .title = Ģenerēt OpenPGP atslēgu -openpgp-cancel-key = - .label = Atcelt - .tooltiptext = Atcelt atslēgas ģenerēšanu -openpgp-key-gen-expiry-title = - .label = Atslēgas derīgums -openpgp-key-gen-expire-label = Derīga līdz -openpgp-key-gen-days-label = - .label = dienas -openpgp-key-gen-months-label = - .label = mēneši -openpgp-key-gen-years-label = - .label = gadi -openpgp-key-gen-no-expiry-label = - .label = Atslēga der mūžīgi -openpgp-key-gen-key-size-label = Atslēgas izmērs: -openpgp-key-gen-console-label = Atslēgas ģenerēšana -openpgp-key-gen-key-type-label = Atslēgas veids -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (eliptiskā līkne) -openpgp-generate-key = - .label = Ģenerēt atslēgu - .tooltiptext = Ģenerē jaunu OpenPGP savietojamu atslēgu šifrēšanai un/vai parakstīšanai -openpgp-advanced-prefs-button-label = - .label = Izvērsti… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">PIEZĪME: Atslēgu ģenerēšana var ilgt vairākas minūtes.</a> Kamēr notiek atslēgas ģenerēšana, neizejiet no programmas. Veicot tīmekļa pārlūkošana vai disku noslogojošas darbības, tās papildinās datora 'nejaušības krājumu' un paātrinās procesu. Kad atslēgu ģenerēšana būs pabeigta, jūs saņemsiet ziņojumu. - openpgp-key-expiry-label = .label = Derīgums - openpgp-key-id-label = .label = Atslēgas ID - openpgp-cannot-change-expiry = Šai atslēgai ir sarežģīta struktūra un tās derīguma maiņa nav atbalstīta. - openpgp-key-man-title = .title = OpenPGP atslēgu pārvaldnieks +openpgp-key-man-dialog-title = OpenPGP atslēgu pārvaldnieks openpgp-key-man-generate = .label = Jauns atslēgu pāris .accesskey = J @@ -56,7 +20,6 @@ openpgp-key-man-gen-revoke = .accesskey = A openpgp-key-man-ctx-gen-revoke-label = .label = Ģenerēt un saglabāt atsaukšanas sertifikātu - openpgp-key-man-file-menu = .label = Fails .accesskey = F @@ -72,7 +35,6 @@ openpgp-key-man-generate-menu = openpgp-key-man-keyserver-menu = .label = Atslēgu serveris .accesskey = A - openpgp-key-man-import-public-from-file = .label = Importēt publisko(-ās) atslēgu(-as) no faila .accesskey = I @@ -95,29 +57,23 @@ openpgp-key-man-send-keys = openpgp-key-man-backup-secret-keys = .label = Dublēt slepeno(-ās) atslēgu(-as) failā .accesskey = D - openpgp-key-man-discover-cmd = .label = Atklāt atslēgas tiešsaistē .accesskey = A openpgp-key-man-discover-prompt = Lai tiešsaistē atklātu OpenPGP atslēgas, atslēgu serveros vai ar WKD protokolu, ievadiet epasta adresi, vai atslēgas ID. openpgp-key-man-discover-progress = Meklē… - openpgp-key-copy-key = .label = Kopēt publisko atslēgu .accesskey = K - openpgp-key-export-key = .label = Eksportēt publisko atslēgu failā .accesskey = E - openpgp-key-backup-key = .label = Dublēt privāto atslēgu failā .accesskey = D - openpgp-key-send-key = .label = Sūtīt publisko atslēgu pa epastu .accesskey = S - openpgp-key-man-copy-key-ids = .label = { $count -> @@ -126,7 +82,6 @@ openpgp-key-man-copy-key-ids = *[other] Kopēt atslēgu ID uz starpliktuvi } .accesskey = K - openpgp-key-man-copy-fprs = .label = { $count -> @@ -135,7 +90,6 @@ openpgp-key-man-copy-fprs = *[other] Kopēt pirkstu nospiedumus uz starpliktuvi } .accesskey = n - openpgp-key-man-copy-to-clipboard = .label = { $count -> @@ -144,14 +98,11 @@ openpgp-key-man-copy-to-clipboard = *[other] Kopēt publiskās atslēgas uz starpliktuvi } .accesskey = p - openpgp-key-man-ctx-expor-to-file-label = .label = Eksportēt atslēgas failā - openpgp-key-man-ctx-copy = .label = Kopēt .accesskey = K - openpgp-key-man-ctx-copy-fprs = .label = { $count -> @@ -160,7 +111,6 @@ openpgp-key-man-ctx-copy-fprs = *[other] Pirkstu nospiedumi } .accesskey = n - openpgp-key-man-ctx-copy-key-ids = .label = { $count -> @@ -169,7 +119,6 @@ openpgp-key-man-ctx-copy-key-ids = *[other] Atslēgu ID } .accesskey = I - openpgp-key-man-ctx-copy-public-keys = .label = { $count -> @@ -178,7 +127,6 @@ openpgp-key-man-ctx-copy-public-keys = *[other] Publiskās atslēgas } .accesskey = P - openpgp-key-man-close = .label = Aizvērt openpgp-key-man-reload = @@ -226,15 +174,12 @@ openpgp-key-man-nothing-found-tooltip = .label = Meklēšanas nosacījumiem neatbilst neviena atslēga openpgp-key-man-please-wait-tooltip = .label = Lūdzu, uzgaidiet, kamēr ielādē atslēgas… - openpgp-key-man-filter-label = .placeholder = Meklēt atslēgas - openpgp-key-man-select-all-key = .key = A openpgp-key-man-key-details-key = .key = I - openpgp-key-details-signatures-tab = .label = Sertifikāti openpgp-key-details-structure-tab = @@ -246,7 +191,6 @@ openpgp-key-details-id-label = openpgp-key-details-key-type-label = Veids openpgp-key-details-key-part-label = .label = Galvenā daļa - openpgp-key-details-algorithm-label = .label = Algoritms openpgp-key-details-size-label = @@ -282,7 +226,6 @@ openpgp-personal-no-label = .label = Nē, nelietot to kā jūsu personīgo atslēgu. openpgp-personal-yes-label = .label = Jā, uzskatīt šo atslēgu par personīgo atslēgu. - openpgp-copy-cmd-label = .label = Kopēt @@ -290,53 +233,39 @@ openpgp-copy-cmd-label = # $key (String) - the currently selected OpenPGP key openpgp-selection-status-error = Jūsu pašreizējos iestatījumos tiek izmantota atslēga <b>{ $key }</b>, kurai ir beidzies derīgums. - openpgp-add-key-button = .label = Pievienot atslēgu… .accesskey = P - e2e-learn-more = Uzzināt vairāk - openpgp-keygen-success = OpenPGP atslēga ir veiksmīgi izveidota! - openpgp-keygen-import-success = OpenPGP atslēgas ir veiksmīgi importētas! - openpgp-keygen-external-success = Ārējas GnuPG atslēgas ID ir saglabāts! ## OpenPGP Key selection area openpgp-radio-none = .label = Nav - openpgp-radio-none-desc = Neizmantot OpenPGP šai identitātei. - # $key (String) - the expiration date of the OpenPGP key openpgp-radio-key-expires = Derīgums: { $date } - # $key (String) - the expiration date of the OpenPGP key openpgp-radio-key-expired = Nederīga no: { $date } - openpgp-key-expand-section = .tooltiptext = Papildu informācija - openpgp-key-revoke-title = Atsaukt atslēgu - openpgp-key-edit-title = Mainīt OpenPGP atslēgu - openpgp-key-edit-date-title = Pagarināt derīgumu - openpgp-manager-description = Lai apskatītu un pārvaldītu korespondentu publiskās atslēgas un visas citas atslēgas, kas nav uzskaitītas iepriekš, izmantojiet OpenPGP atslēgu pārvaldnieku. - openpgp-manager-button = .label = OpenPGP atslēgu pārvaldnieks .accesskey = a - openpgp-key-remove-external = .label = Noņemt ārējās atslēgas ID .accesskey = N - key-external-label = Ārēja GnuPG atslēga +## Strings in keyDetailsDlg.xhtml + # Strings in keyDetailsDlg.xhtml key-type-public = publiskā atslēga key-type-primary = primārā atslēga @@ -353,12 +282,13 @@ key-expired-simple = Atslēga ir beigusies key-revoked-simple = Atslēga ir atsaukta key-do-you-accept = Vai jūs pieņemat šo atslēgu digitālo parakstu pārbaudei un ziņojumu šifrēšanai? +## Strings enigmailMsgComposeOverlay.js + # Strings enigmailMsgComposeOverlay.js cannot-use-own-key-because = Neizdevās nosūtīt vēstuli, jo radās problēma ar jūsu personīgo atslēgu. { $problem } -cannot-encrypt-because-missing = Neizdevās nosūtīt šo vēstulei ar tiešās saziņas šifrēšanu, jo ir problēmas ar šo adresātu atslēgām: { $problem } window-locked = Salikšanas logs ir bloķēts; sūtīšana atcelta -mime-decrypt-encrypted-part-concealed-data = Šī ir šifrētā vēstules daļa. Jums tā jāatver atsevišķā logā, klikšķinot uz pielikuma. +## Strings in keyserver.jsm # Strings in keyserver.jsm keyserver-error-aborted = Pārtraukts @@ -370,6 +300,8 @@ keyserver-error-security-error = Atslēgu serveris neatbalsta šifrētu piekļuv keyserver-error-certificate-error = Atslēgu servera sertifikāts nav derīgs. keyserver-error-unsupported = Atslēgu serveris nav atbalstīts. +## Strings in mimeWkdHandler.jsm + # Strings in mimeWkdHandler.jsm wkd-message-body-req = Jūsu epasta pakalpojumu sniedzējs apstrādāja jūsu pieprasījumu augšuplādēt publisko atslēgu OpenPGP tīmekļa atslēgu katalogā. @@ -378,12 +310,16 @@ wkd-message-body-process = Šis ir saistīts epasts, lai automātiski apstrādātu augšuplādēto publisko atslēgu OpenPGP Tīmekļa atslēgu katalogā. Šobrīd jums nav jāveic nekādas manuālas darbības. +## Strings in persistentCrypto.jsm + # Strings in persistentCrypto.jsm converter-decrypt-body-failed = Neizdevās atšifrēt ziņojumu ar tēmu { $subject }. Vai vēlaties mēģināt vēlreiz, izmantojot citu paroli, vai arī vēlaties izlaist vēstuli? +## Strings filters.jsm + # Strings filters.jsm filter-folder-required = Jums jāizvēlas mērķa mape. filter-decrypt-move-warn-experimental = @@ -396,11 +332,15 @@ filter-warn-key-not-secret = Brīdinājums - filtrēšanas darbība "Šifrēt uz atslēgu" aizstāj adresātus. Ja jums nav slepenās atslēgas priekš '{ $desc }', jūs vairs nevarēsiet lasīt šos epastus. +## Strings filtersWrapper.jsm + # Strings filtersWrapper.jsm filter-decrypt-move-label = Atšifrēt pastāvīgi (OpenPGP) filter-decrypt-copy-label = Izveidot atšifrētu kopiju (OpenPGP) filter-encrypt-label = Šifrēt uz atslēgu (OpenPGP) +## Strings in enigmailKeyImportInfo.js + # Strings in enigmailKeyImportInfo.js import-info-title = .title = Atslēgas importētas veiksmīgi! @@ -410,6 +350,8 @@ import-info-fpr = Pirkstu nospiedums import-info-details = Skatīt informāciju un pārvaldīt atslēgu pieņemšanu import-info-no-keys = Nav importētu atslēgu. +## Strings in enigmailKeyManager.js + # Strings in enigmailKeyManager.js import-from-clip = Vai vēlaties importēt dažas atslēgas no starpliktuves? import-from-url = Lejuplādēt publisko atslēgu no šī URL: @@ -455,10 +397,14 @@ dlg-button-delete = &Dzēst openpgp-export-public-success = <b>Publiskā atslēga ir veiksmīgi eksportēta!</b> openpgp-export-public-fail = <b>Neizdevās eksportēt atlasīto publisko atslēgu!</b> - openpgp-export-secret-success = <b>Slepenā atslēga ir veiksmīgi eksportēta!</b> openpgp-export-secret-fail = <b>Neizdevās eksportēt atlasīto slepeno atslēgu!</b> +## Strings in keyObj.jsm +## Variables: +## $userId (String) - The name and/or email address that is mentioned in the key's information. +## $keyId (String) - Key id for the key entry. + # Strings in keyObj.jsm key-ring-pub-key-revoked = Atslēga { $userId } (atslēgas ID { $keyId }) ir atsaukta. key-ring-pub-key-expired = Atslēga { $userId } (atslēgas ID { $keyId }) ir beigusies. @@ -470,63 +416,68 @@ key-ring-sign-sub-keys-expired = Visas atslēgas { $userId } (atslēgas ID { $ke key-ring-enc-sub-keys-revoked = Visas atslēgas { $userId } (atslēgas ID { $keyId }) šifrēšanas apakšatslēgas ir atsauktas. key-ring-enc-sub-keys-expired = Visas atslēgas { $userId } (atslēgas ID { $keyId }) šifrēšanas apakšatslēgas ir beigušās. +## Strings in gnupg-keylist.jsm + # Strings in gnupg-keylist.jsm keyring-photo = Foto user-att-photo = Lietotāja atribūts (JPEG attēls) +## Strings in key.jsm + # Strings in key.jsm already-revoked = Šī atslēga jau ir atsaukta. - # $identity (String) - the id and associated user identity of the key being revoked revoke-key-question = Jūs gatavojaties atsaukt atslēgu '{ $identity }'. Jūs vairs nevarēsit parakstīties ar šo atslēgu, un pēc izplatīšanas, citi ar šo atslēgu vairs nevarēs šifrēt. Jūs joprojām varēsit to izmantot veco vēstuļu atšifrēšanai. Vai vēlaties turpināt? - # $keyId (String) - the id of the key being revoked revoke-key-not-present = Jums nav atslēgas (0x{ $keyId }), kas atbilstu šim atsaukšanas sertifikātam! Ja esat pazaudējis atslēgu, pirms importēt atcelšanas sertifikātu, jums jāimportē atslēga (piemēram, no atslēgu servera)! - # $keyId (String) - the id of the key being revoked revoke-key-already-revoked = Atslēga 0x{ $keyId } jau ir atsaukta. - key-man-button-revoke-key = &Atsaukt atslēgu - openpgp-key-revoke-success = Atslēga veiksmīgi atsaukta. - after-revoke-info = Atslēga ir atsaukta. Vēlreiz kopīgojiet šo publisko atslēgu, nosūtot to pa epastu vai augšupielādējot atslēgu serveros, lai citi zinātu, ka esat to atsaucis. Tiklīdz citu cilvēku izmantotā programmatūra uzzinās par atsaukšanu, tās pārtrauks izmantot jūsu veco atslēgu. Ja izmantojat jauno atslēgu tai pašai epasta adresei, pievienojiet jauno publisko atslēgu sūtītajiem epastiem un informācija par jūsu atsaukto veco atslēgu tiks iekļauta automātiski. +## Strings in keyRing.jsm & decryption.jsm + # Strings in keyRing.jsm & decryption.jsm key-man-button-import = &Importēt - delete-key-title = Dzēst OpenPGP atslēgu - delete-external-key-title = Noņemt ārēju GnuPG atslēgu - delete-external-key-description = Vai vēlaties noņemt šo ārējās GnuPG atslēgas ID? - key-in-use-title = OpenPGP atslēga pašlaik tiek izmantota - delete-key-in-use-description = Nevar turpināt! Šī identitāte pašlaik izmanto dzēšanai izvēlēto atslēgu. Atlasiet citu vai nevienu atslēgu un mēģiniet vēlreiz. - revoke-key-in-use-description = Nevar turpināt! Šī identitāte pašlaik izmanto atsaukšanai izvēlēto atslēgu. Atlasiet citu vai nevienu atslēgu un mēģiniet vēlreiz. +## Strings used in errorHandling.jsm + # Strings used in errorHandling.jsm key-error-key-spec-not-found = Epasta adrese '{ $keySpec }' neatbilst nevienai atslēgai jūsu atslēgu saišķī. key-error-key-id-not-found = Iestatītais atslēgas ID '{ $keySpec }' jūsu atslēgu saišķī nav atrodams. key-error-not-accepted-as-personal = Jūs neesat apstiprinājis, ka atslēga ar ID '{ $keySpec }' ir jūsu personīgā atslēga. +## Strings used in enigmailKeyManager.js & windows.jsm + # Strings used in enigmailKeyManager.js & windows.jsm need-online = Jūsu izvēlētā darbība nav pieejama nesaistes režīmā. Lūdzu, dodieties tiešsaistē un mēģiniet vēlreiz. +## Strings used in keyRing.jsm & keyLookupHelper.jsm + + +## Strings used in keyRing.jsm & GnuPGCryptoAPI.jsm + # Strings used in keyRing.jsm & GnuPGCryptoAPI.jsm fail-key-extract = Kļūda - atslēgas izvilkšanas komanda neizdevās +## Strings used in keyRing.jsm + # Strings used in keyRing.jsm fail-cancel = Kļūda - lietotājs atcēla atslēgas saņemšanu not-first-block = Kļūda - pirmais OpenPGP bloks nav publiskās atslēgas bloks @@ -536,6 +487,8 @@ file-write-failed = Neizdevās rakstīt failā { $output } no-pgp-block = Kļūda - nav atrasts derīgs bruņots OpenPGP datu bloks confirm-permissive-import = Importēšana neizdevās. Importējamā atslēga var būt bojāta vai izmantot nezināmus atribūtus. Vai vēlaties mēģināt importēt pareizās daļas? Var gadīties, ka tad tiks importētas nepilnīgas un nelietojamas atslēgas. +## Strings used in trust.jsm + # Strings used in trust.jsm key-valid-unknown = nezināms key-valid-invalid = nederīgs @@ -548,14 +501,17 @@ key-trust-full = uzticams key-trust-ultimate = pilnīgs key-trust-group = (grupa) +## Strings used in commonWorkflows.js + # Strings used in commonWorkflows.js import-key-file = Importēt OpenPGP atslēgas failu import-rev-file = Importēt OpenPGP atsaukšanas failu gnupg-file = GnuPG faili import-keys-failed = Atslēgu importēšana neizdevās -passphrase-prompt = Lūdzu, ievadiet paroli šīs atslēgas atbloķēšanai: { $key } file-to-big-to-import = Šis fails ir pārāk liels. Lūdzu, neimportējiet uzreiz lielus atslēgu komplektus. +## Strings used in enigmailKeygen.js + # Strings used in enigmailKeygen.js save-revoke-cert-as = Izveidot un saglabāt atsaukšanas sertifikātu revoke-cert-ok = Atsaukšanas sertifikāts ir veiksmīgi izveidots. Varat to izmantot, lai noliegtu savu publisko atslēgu, piem., gadījumā, kad jūs pazaudējat slepeno atslēgu. @@ -570,11 +526,10 @@ key-abort = Pārtraukt atslēgu ģenerēšanu? key-man-button-generate-key-abort = &Pārtraukt atslēgu ģenerēšanu key-man-button-generate-key-continue = &Turpināt atslēgu ģenerēšanu -# Strings used in enigmailMessengerOverlay.js +## Strings used in enigmailMessengerOverlay.js failed-decrypt = Kļūda - atšifrēšana neizdevās fix-broken-exchange-msg-failed = Neizdevās izlabot šo vēstuli. - attachment-no-match-from-signature = Neizdevās pielikumā pievienot paraksta failu '{ $attachment }' attachment-no-match-to-signature = Neizdevās piemērot pielikumu '{ $attachment }' paraksta failam signature-verified-ok = Pielikuma { $attachment } paraksts ir veiksmīgi pārbaudīts @@ -585,6 +540,8 @@ decrypt-ok-no-sig = msg-ovl-button-cont-anyway = &Turpināt tik un tā enig-content-note = *Pielikumi šai vēstulei nav parakstīti un šifrēti* +## Strings used in enigmailMsgComposeOverlay.js + # Strings used in enigmailMsgComposeOverlay.js msg-compose-button-send = &Sūtīt vēstuli msg-compose-details-button-label = Detaļas… @@ -619,6 +576,8 @@ possibly-pgp-mime = Iespējams, ar PGP/MIME šifrēta vai parakstīt vēstule; l cannot-send-sig-because-no-own-key = Šo vēstuli nevar digitāli parakstīt, jo vēl neesat iestatījis tiešās saziņas šifrēšanu priekš <{ $key }> cannot-send-enc-because-no-own-key = Šo vēstuli nevar nosūtīt šifrētu, jo vēl neesat iestatījis tiešās saziņas šifrēšanu priekš <{ $key }> +## Strings used in decryption.jsm + # Strings used in decryption.jsm do-import-multiple = Vai importēt šīs atslēgas? @@ -634,17 +593,25 @@ attachment-pgp-key = Lai importētu ietvertās atslēgas, klikšķiniet 'Importēt', vai 'Skatīt', lai skatītu faila saturu pārlūkā. dlg-button-view = &Skatīt +## Strings used in enigmailMsgHdrViewOverlay.js + # Strings used in enigmailMsgHdrViewOverlay.js decrypted-msg-with-format-error = Atšifrētā vēstule (atjaunots bojāts PGP epasta formāts, ko, iespējams, izraisījis vecs Exchange serveris, tāpēc rezultāts varētu nebūt ideāls lasīšanai) +## Strings used in encryption.jsm + # Strings used in encryption.jsm not-required = Kļūda - šifrēšana nav nepieciešama +## Strings used in windows.jsm + # Strings used in windows.jsm no-photo-available = Foto nav pieejams error-photo-path-not-readable = Foto ceļš '{ $photo }' nav lasāms debug-log-title = OpenPGP atkļūdošanas žurnāls +## Strings used in dialog.jsm + # Strings used in dialog.jsm repeat-prefix = Šis brīdinājums atkārtosies { $count } repeat-suffix-singular = reizi. @@ -660,9 +627,13 @@ enig-confirm = OpenPGP apstiprinājums enig-alert = OpenPGP brīdinājums enig-info = OpenPGP informācija +## Strings used in persistentCrypto.jsm + # Strings used in persistentCrypto.jsm dlg-button-retry = &Atkārtot dlg-button-skip = &Izlaist +## Strings used in enigmailMsgBox.js + enig-alert-title = .title = OpenPGP brīdinājums diff --git a/thunderbird-l10n/lv/localization/lv/messenger/preferences/system-integration.ftl b/thunderbird-l10n/lv/localization/lv/messenger/preferences/system-integration.ftl index d28f310ba8f9dd1bd07aebc2e8aac1c906fb55d7..7da32f3e4d1a6e1728f662cd54e8b9f5aa0663f3 100644 --- a/thunderbird-l10n/lv/localization/lv/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/lv/localization/lv/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Sistēmas integrācija - +system-integration-dialog-title = Sistēmas integrācija system-integration-dialog = .buttonlabelaccept = Iestatīt kā noklusēto .buttonlabelcancel = Izlaist integrāciju .buttonlabelcancel2 = Atcelt - default-client-intro = Izmantot { -brand-short-name } kā noklusēto klientu: - unset-default-tooltip = Nav iespējams { -brand-short-name } noņemt kā noklusēto klientu, darbojoties { -brand-short-name }. Lai padarītu par noklusēto citu lietotni, ir jāizmanto tās 'Iestatīt kā noklusēto' dialogs. - checkbox-email-label = .label = Epasts .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Plūsmas .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Kalendārs .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Windows Search *[other] { "" } } - system-search-integration-label = .label = Ļaut { system-search-engine-name } meklēt vēstules .accesskey = m - check-on-startup-label = .label = Vienmēr veikt šo pārbaudi, palaižot { -brand-short-name } .accesskey = V diff --git a/thunderbird-l10n/lv/manifest.json b/thunderbird-l10n/lv/manifest.json index 8cfaa5072a7ab9eaf80a2de36d2d9c20a3716b16..1bafa228f8bd38cdf2ee86ad5b28c716cc15dfe5 100644 --- a/thunderbird-l10n/lv/manifest.json +++ b/thunderbird-l10n/lv/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Latviešu (Latvian)", "description": "Thunderbird Language Pack for Latviešu (lv) – Latvian", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "lv": { - "version": "20231208145317", + "version": "20231215210158", "chrome_resources": { "alerts": "chrome/lv/locale/lv/alerts/", "autoconfig": "chrome/lv/locale/lv/autoconfig/", diff --git a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/composeMsgs.properties index 0089b0130d500f8018f7ac656239f1918f666d0b..80a7a161f0bfa6adf585979ee22fd7e977f77a65 100644 --- a/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/ms/chrome/ms/locale/ms/messenger/messengercompose/composeMsgs.properties @@ -437,6 +437,8 @@ blockedContentPrefAccesskeyUnix=K ## LOCALIZATION NOTE (smtpSendNotAllowed): argument %s is the Outgoing server (SMTP) response smtpSendNotAllowed=An error occurred while sending mail. The mail server responded:\n%s.\nPlease ensure that you are using the correct identity to send and that the used authentication method is correct. Verify that you are allowed to send via this SMTP server with your current credentials from your current network. +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. ## LOCALIZATION NOTE (smtpClientid): argument %s is the Outgoing server (SMTP) response smtpClientid=The outgoing server (SMTP) detected an error in the CLIENTID command. The message was not sent. The server responded: %s ## LOCALIZATION NOTE (smtpClientidPermission): argument %s is the Outgoing server (SMTP) response diff --git a/thunderbird-l10n/ms/localization/ms/messenger/preferences/system-integration.ftl b/thunderbird-l10n/ms/localization/ms/messenger/preferences/system-integration.ftl index 17b9ce01f62ab45c89e7e67d1f56146aa4ce1e9a..c06fc82ca404a54d1a1c9b3a91327272355b6eaa 100644 --- a/thunderbird-l10n/ms/localization/ms/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/ms/localization/ms/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Integrasi Sistem - +system-integration-dialog-title = Integrasi Sistem system-integration-dialog = .buttonlabelaccept = Tetapkan sebagai Piawai .buttonlabelcancel = Langkau Integrasi .buttonlabelcancel2 = Batal - default-client-intro = Guna { -brand-short-name } sebagai klien piawai untuk: - unset-default-tooltip = Tidak boleh membuang tetapan { -brand-short-name } sebagai klien piawai dari dalam { -brand-short-name }. Untuk menetapkan aplikasi lain sebagai piawai, anda perlu buat dari dalam dialog 'Tetapkan sebagai piawai'. - checkbox-email-label = .label = E-mel .tooltiptext = { unset-default-tooltip } @@ -23,7 +20,6 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Suapan .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -32,11 +28,9 @@ system-search-engine-name = [windows] Windows Search *[other] { "" } } - system-search-integration-label = .label = Izinkan { system-search-engine-name } mencari mesej .accesskey = I - check-on-startup-label = .label = Sentiasa semak apabila memulakan { -brand-short-name } .accesskey = S diff --git a/thunderbird-l10n/ms/manifest.json b/thunderbird-l10n/ms/manifest.json index 3f547e0ed8dee4d05800685b34b4327db3970785..fecc72c03a86d4f2080d1e6c40c3d09e243780e0 100644 --- a/thunderbird-l10n/ms/manifest.json +++ b/thunderbird-l10n/ms/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Melayu (Malay)", "description": "Thunderbird Language Pack for Melayu (ms) – Malay", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "ms": { - "version": "20231208145401", + "version": "20231215210241", "chrome_resources": { "alerts": "chrome/ms/locale/ms/alerts/", "autoconfig": "chrome/ms/locale/ms/autoconfig/", diff --git a/thunderbird-l10n/nb-NO/chrome/nb-NO/locale/nb-NO/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/nb-NO/chrome/nb-NO/locale/nb-NO/messenger/messengercompose/composeMsgs.properties index d2ee2b3c09f80b643e55fa65d920d64498748e7e..f829dfd00a3c7009f0b3d3e8bfe8b698560af046 100644 --- a/thunderbird-l10n/nb-NO/chrome/nb-NO/locale/nb-NO/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/nb-NO/chrome/nb-NO/locale/nb-NO/messenger/messengercompose/composeMsgs.properties @@ -459,3 +459,6 @@ confirmRemoveRecipientRowButton=Fjern ## LOCALIZATION NOTE headersSpaceStyle is for aligning label of a newly create recipient row. ## It should be larger than the largest Header label and identical to &headersSpace2.style; headersSpaceStyle=width: 8em + +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. diff --git a/thunderbird-l10n/nb-NO/chrome/nb-NO/locale/nb-NO/mozldap/ldap.properties b/thunderbird-l10n/nb-NO/chrome/nb-NO/locale/nb-NO/mozldap/ldap.properties index a27749805cc2d5a65badb681eb819911db4f6fcf..33ae8ab8e9d9c8659d29cc765b34a379405e6b46 100644 --- a/thunderbird-l10n/nb-NO/chrome/nb-NO/locale/nb-NO/mozldap/ldap.properties +++ b/thunderbird-l10n/nb-NO/chrome/nb-NO/locale/nb-NO/mozldap/ldap.properties @@ -1,8 +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/. - # # 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 @@ -19,12 +14,6 @@ authPromptTitle=Passord påkrevd for LDAP-server ## @loc %1$S should not be localized. It is the hostname of the LDAP server. authPromptText=Skriv inn passordet for %1$S -# These are string versions of all the errors defined in -# nsILDAPErrors.idl, as well as the nsresult codes based on those -# errors. See that file for the genesis of these codes, as well as -# for info about how to get documentation about their precise -# meanings. - # These are string versions of all the errors defined in # nsILDAPErrors.idl, as well as the nsresult codes based on those # errors. See that file for the genesis of these codes, as well as @@ -95,7 +84,7 @@ authPromptText=Skriv inn passordet for %1$S ## @loc none 17=Udefinert attributtype -## @name INAPPROPRIATE MATCHIN +## @name INAPPROPRIATE MATCHING ## @loc none 18=Upassende tilpasning @@ -137,7 +126,7 @@ authPromptText=Skriv inn passordet for %1$S ## @name INVALID_CREDENTIALS ## @loc none -49=Ugyldige akkreditiver +49=Ugyldige innloggingsinformasjon ## @name INSUFFICIENT_ACCESS ## @loc none diff --git a/thunderbird-l10n/nb-NO/localization/nb-NO/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/nb-NO/localization/nb-NO/messenger/openpgp/openpgp.ftl index e45580bcd955413b785a62f632825613da922347..1b7b5100cdf9e28c1434f6a0cf23043f780c52b1 100644 --- a/thunderbird-l10n/nb-NO/localization/nb-NO/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/nb-NO/localization/nb-NO/messenger/openpgp/openpgp.ftl @@ -1,11 +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/. e2e-intro-description = For å sende krypterte eller digitalt signerte meldinger, må du konfigurere en krypteringsteknologi, enten OpenPGP eller S/MIME. e2e-intro-description-more = Velg din personlige nøkkel for å slå på OpenPGP, eller ditt personlige sertifikat for å slå på S/MIME. For en personlig nøkkel eller sertifikat eier du den tilsvarende hemmelige nøkkelen. - e2e-advanced-section = Avanserte innstillinger e2e-attach-key = .label = Legg ved min offentlige nøkkel når du legger til en digital OpenPGP-signatur @@ -16,48 +14,14 @@ e2e-encrypt-subject = e2e-encrypt-drafts = .label = Lagre utkast til meldinger i kryptert format .accesskey = a - -openpgp-key-user-id-label = Konto / bruker-ID -openpgp-keygen-title-label = - .title = Generer OpenPGP-nøkkel -openpgp-cancel-key = - .label = Avbryt - .tooltiptext = Avbryt nøkkelgenerering -openpgp-key-gen-expiry-title = - .label = Nøkkelen utløper -openpgp-key-gen-expire-label = Nøkkelen utløper om -openpgp-key-gen-days-label = - .label = dager -openpgp-key-gen-months-label = - .label = måneder -openpgp-key-gen-years-label = - .label = år -openpgp-key-gen-no-expiry-label = - .label = Nøkkelen utløper ikke -openpgp-key-gen-key-size-label = Nøkkelstørrelse -openpgp-key-gen-console-label = Nøkkelgenerering -openpgp-key-gen-key-type-label = Nøkkeltype -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (elliptisk kurve) -openpgp-generate-key = - .label = Generer nøkkel - .tooltiptext = Genererer en ny OpenPGP-kompatibel nøkkel for kryptering og/eller signering -openpgp-advanced-prefs-button-label = - .label = Avansert… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">Merk: Nøkkelgenerering kan ta opptil flere minutter å fullføre.</a> Ikke avslutt applikasjonen mens nøkkelgenerering pågår. Hvis du aktivt surfer eller utfører diskintensive operasjoner under nøkkelgenerering, vil det fylle opp «randomness pool»-en og gjøre prosessen raskere. Du blir varslet når nøkkelgenerering er fullført. - openpgp-key-expiry-label = .label = Utløper - openpgp-key-id-label = .label = Nøkkel-ID - openpgp-cannot-change-expiry = Dette er en nøkkel med en kompleks struktur, det er ikke støtte for å endre utløpsdatoen. - openpgp-key-man-title = .title = OpenPGP-nøkkelbehandler +openpgp-key-man-dialog-title = OpenPGP-nøkkelbehandler openpgp-key-man-generate = .label = Nytt nøkkelpar .accesskey = N @@ -66,7 +30,6 @@ openpgp-key-man-gen-revoke = .accesskey = T openpgp-key-man-ctx-gen-revoke-label = .label = Generer og lagre tilbakekallingssertifikat - openpgp-key-man-file-menu = .label = Fil .accesskey = F @@ -82,7 +45,6 @@ openpgp-key-man-generate-menu = openpgp-key-man-keyserver-menu = .label = Nøkkelserver .accesskey = N - openpgp-key-man-import-public-from-file = .label = Importer offentlig nøkler fra fil .accesskey = I @@ -105,29 +67,23 @@ openpgp-key-man-send-keys = openpgp-key-man-backup-secret-keys = .label = Sikkerhetskopier hemmelige nøkler til fil .accesskey = S - openpgp-key-man-discover-cmd = .label = Oppdag nøkler på nettet .accesskey = O openpgp-key-man-discover-prompt = Skriv inn en e-postadresse eller en nøkkel-ID for å oppdage OpenPGP-nøkler på nettet, på nøkkelservere eller ved å bruke WKD-protokollen, openpgp-key-man-discover-progress = Søker… - openpgp-key-copy-key = .label = Kopier offentlig nøkkel .accesskey = K - openpgp-key-export-key = .label = Eksporter offentlig nøkkel til fil .accesskey = E - openpgp-key-backup-key = .label = Sikkerhetskopier hemmelig nøkkel til fil .accesskey = S - openpgp-key-send-key = .label = Send offentlig nøkkel via e-post .accesskey = S - openpgp-key-man-copy-key-ids = .label = { $count -> @@ -135,7 +91,6 @@ openpgp-key-man-copy-key-ids = *[other] Kopier Nøkkel-ID-er til utklippstavlen } .accesskey = K - openpgp-key-man-copy-fprs = .label = { $count -> @@ -143,7 +98,6 @@ openpgp-key-man-copy-fprs = *[other] Kopier fingeravtrykk til utklippstavlen } .accesskey = K - openpgp-key-man-copy-to-clipboard = .label = { $count -> @@ -151,14 +105,11 @@ openpgp-key-man-copy-to-clipboard = *[other] Kopier offentlige nøkler til utklippstavlen } .accesskey = o - openpgp-key-man-ctx-expor-to-file-label = .label = Eksporter nøkler til fil - openpgp-key-man-ctx-copy = .label = Kopier .accesskey = K - openpgp-key-man-ctx-copy-fprs = .label = { $count -> @@ -166,7 +117,6 @@ openpgp-key-man-ctx-copy-fprs = *[other] Fingeravtrykk } .accesskey = F - openpgp-key-man-ctx-copy-key-ids = .label = { $count -> @@ -174,7 +124,6 @@ openpgp-key-man-ctx-copy-key-ids = *[other] Nøkkel-ID-er } .accesskey = N - openpgp-key-man-ctx-copy-public-keys = .label = { $count -> @@ -182,7 +131,6 @@ openpgp-key-man-ctx-copy-public-keys = *[other] Offentlige nøkler } .accesskey = O - openpgp-key-man-close = .label = Lukk openpgp-key-man-reload = @@ -230,15 +178,12 @@ openpgp-key-man-nothing-found-tooltip = .label = Ingen nøkler samsvarer med søkeordene dine openpgp-key-man-please-wait-tooltip = .label = Vent mens nøklene lastes inn… - openpgp-key-man-filter-label = .placeholder = Søk etter nøkler - openpgp-key-man-select-all-key = .key = A openpgp-key-man-key-details-key = .key = I - openpgp-key-details-signatures-tab = .label = Sertifiseringer openpgp-key-details-structure-tab = @@ -250,7 +195,6 @@ openpgp-key-details-id-label = openpgp-key-details-key-type-label = Type openpgp-key-details-key-part-label = .label = Nøkkeldel - openpgp-key-details-algorithm-label = .label = Algoritme openpgp-key-details-size-label = @@ -287,7 +231,6 @@ openpgp-personal-no-label = .label = Nei, ikke bruk den som min personlige nøkkel. openpgp-personal-yes-label = .label = Ja, behandle denne nøkkelen som en personlig nøkkel. - openpgp-copy-cmd-label = .label = Kopier @@ -295,66 +238,48 @@ openpgp-copy-cmd-label = # $key (String) - the currently selected OpenPGP key openpgp-selection-status-have-key = Din nåværende konfigurasjon bruker nøkkel-ID <b>{ $key }</b> - # $key (String) - the currently selected OpenPGP key openpgp-selection-status-error = Din nåværende konfigurasjon bruker nøkkelen <b>{ $key }</b>, som er utløpt. - openpgp-add-key-button = .label = Legg til nøkkel… .accesskey = L - e2e-learn-more = Les mer - openpgp-keygen-success = OpenPGP-nøkkel opprettet! - openpgp-keygen-import-success = OpenPGP-nøkler importert! - openpgp-keygen-external-success = Ekstern GnuPG-nøkkel-ID lagret! ## OpenPGP Key selection area openpgp-radio-none = .label = Ingen - openpgp-radio-none-desc = Ikke bruk OpenPGP for denne identiteten. - openpgp-radio-key-not-usable = Denne nøkkelen kan ikke brukes som en personlig nøkkel, fordi den hemmelige nøkkelen mangler! openpgp-radio-key-not-accepted = For å bruke denne nøkkelen må du godkjenne den som en personlig nøkkel! openpgp-radio-key-not-found = Denne nøkkelen ble ikke funnet! Hvis du vil bruke den, må du importere den til { -brand-short-name }. - # $key (String) - the expiration date of the OpenPGP key openpgp-radio-key-expires = Utløper den: { $date } - # $key (String) - the expiration date of the OpenPGP key openpgp-radio-key-expired = Utløpt den: { $date } - openpgp-key-expires-within-6-months-icon = .title = Nøkkelen utløper om under 6 måneder - openpgp-key-has-expired-icon = .title = Nøkkel utløpt - openpgp-key-expand-section = .tooltiptext = Mer informasjon - openpgp-key-revoke-title = Tilbakekall nøkkel - openpgp-key-edit-title = Endre OpenPGP-nøkkel - openpgp-key-edit-date-title = Utvid utløpsdato - openpgp-manager-description = Bruk OpenPGP-nøkkelbehandleren for å se og administrere offentlige nøkler til dine korrespondenter og alle andre nøkler som ikke er oppført ovenfor. - openpgp-manager-button = .label = OpenPGP-nøkkelbehandler .accesskey = k - openpgp-key-remove-external = .label = Fjern ekstern nøkkel-ID .accesskey = F - key-external-label = Ekstern GnuPG-nøkkel +## Strings in keyDetailsDlg.xhtml + # Strings in keyDetailsDlg.xhtml key-type-public = offentlig nøkkel key-type-primary = primærnøkkel @@ -371,13 +296,13 @@ key-expired-simple = Nøkkelen er utløpt key-revoked-simple = Nøkkelen ble tilbakekalt key-do-you-accept = Godtar du denne nøkkelen for å bekrefte digitale signaturer og for å kryptere meldinger? +## Strings enigmailMsgComposeOverlay.js + # Strings enigmailMsgComposeOverlay.js cannot-use-own-key-because = Kan ikke sende meldingen, fordi det er et problem med din personlige nøkkel. { $problem } -cannot-encrypt-because-missing = Kan ikke sende denne meldingen med ende-til-ende-kryptering, fordi det er problemer med nøklene til følgende mottakere: { $problem } window-locked = Meldingsvindu er låst; sending avbrutt -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = Dette er en kryptert meldingsdel. Du må åpne det i et eget vindu ved å klikke på vedlegget. +## Strings in keyserver.jsm # Strings in keyserver.jsm keyserver-error-aborted = Avbrutt @@ -389,6 +314,8 @@ keyserver-error-security-error = Nøkkelserveren støtter ikke kryptert tilgang. keyserver-error-certificate-error = Nøkkelserverens sertifikat er ikke gyldig. keyserver-error-unsupported = Nøkkelserveren støttes ikke. +## Strings in mimeWkdHandler.jsm + # Strings in mimeWkdHandler.jsm wkd-message-body-req = Din e-postleverandør behandlet forespørselen din om å laste opp den offentlige nøkkelen til OpenPGP Web Key Directory. @@ -397,12 +324,16 @@ wkd-message-body-process = Dette er en e-postmelding relatert til automatisk prosessering for å laste opp din offentlige nøkkel til OpenPGP Web Key Directory. Du trenger ikke gjøre noen manuelle tiltak på dette tidspunktet. +## Strings in persistentCrypto.jsm + # Strings in persistentCrypto.jsm converter-decrypt-body-failed = Kunne ikke dekryptere melding med emnet { $subject }. Ønsker du å prøve på nytt med en annen passordfrase, eller vil du hoppe over meldingen? +## Strings filters.jsm + # Strings filters.jsm filter-folder-required = Du må velge en målmappe filter-decrypt-move-warn-experimental = @@ -415,11 +346,15 @@ filter-warn-key-not-secret = Advarsel - filterhandlingen «Krypter til nøkkel» erstatter mottakerne. Hvis du ikke har den hemmelige nøkkelen for «{ $desc }», vil du ikke lenger kunne lese e-postene. +## Strings filtersWrapper.jsm + # Strings filtersWrapper.jsm filter-decrypt-move-label = Dekrypter permanent (OpenPGP) filter-decrypt-copy-label = Lag dekryptert kopi (OpenPGP) filter-encrypt-label = Krypter til nøkkel (OpenPGP) +## Strings in enigmailKeyImportInfo.js + # Strings in enigmailKeyImportInfo.js import-info-title = .title = Nøkler importerte! @@ -429,6 +364,8 @@ import-info-fpr = Fingeravtrykk import-info-details = Se detaljer og behandle nøkkelaksept import-info-no-keys = Ingen nøkler importerte. +## Strings in enigmailKeyManager.js + # Strings in enigmailKeyManager.js import-from-clip = Vil du importere noen nøkler fra utklippstavlen? import-from-url = Last ned offentlig nøkkel fra denne nettadressen: @@ -472,10 +409,14 @@ dlg-button-delete = &Slett openpgp-export-public-success = <b>Offentlig nøkkel eksportert!</b> openpgp-export-public-fail = <b>Det gikk ikke å eksportere den valgte offentlige nøkkelen!</b> - openpgp-export-secret-success = <b>Hemmelig nøkkel eksportert!</b> openpgp-export-secret-fail = <b>Det gikk ikke å eksportere den valgte hemmelige nøkkelen!</b> +## Strings in keyObj.jsm +## Variables: +## $userId (String) - The name and/or email address that is mentioned in the key's information. +## $keyId (String) - Key id for the key entry. + # Strings in keyObj.jsm key-ring-pub-key-revoked = Nøkkelen { $userId } (nøkkel-ID { $keyId }) er tilbakekalt. key-ring-pub-key-expired = Nøkkelen { $userId } (nøkkel-ID { $keyId }) er utløpt. @@ -487,63 +428,68 @@ key-ring-sign-sub-keys-expired = Alle signerings-undernøklene til nøkkel { $us key-ring-enc-sub-keys-revoked = Alle krypteringsundernøklene til nøkkel { $userId } (nøkkel-ID { $keyId }) er tilbakekalt. key-ring-enc-sub-keys-expired = Alle krypteringsundernøklene til nøkkel { $userId } (nøkkel-ID { $keyId }) er utløpt. +## Strings in gnupg-keylist.jsm + # Strings in gnupg-keylist.jsm keyring-photo = Foto user-att-photo = Brukerattributt (JPEG-bilde) +## Strings in key.jsm + # Strings in key.jsm already-revoked = Denne nøkkelen er allerede trukket tilbake. - # $identity (String) - the id and associated user identity of the key being revoked revoke-key-question = Du er i ferd med å tilbakekalle nøkkelen «{ $identity }». Du vil ikke lenger kunne signere med denne nøkkelen, og når den er distribuert, vil andre ikke lenger kunne kryptere med den nøkkelen. Du kan fremdeles bruke nøkkelen til å dekryptere gamle meldinger. Vil du fortsette? - # $keyId (String) - the id of the key being revoked revoke-key-not-present = Du har ingen nøkkel (0x{ $keyId }) som samsvarer med dette tilbakekallingssertifikatet! Hvis du har mistet nøkkelen, må du importere den (f.eks. fra en nøkkelserver) før du importerer tilbakekallingssertifikatet! - # $keyId (String) - the id of the key being revoked revoke-key-already-revoked = Nøkkelen 0x{ $keyId } er allerede trukket tilbake. - key-man-button-revoke-key = &Tilbakekall nøkkel - openpgp-key-revoke-success = Nøkkel er tilbakekalt. - after-revoke-info = Nøkkelen er trukket tilbake. Del denne offentlige nøkkelen igjen, ved å sende den via e-post, eller ved å laste den opp til nøkkelserverne, for å la andre få vite at du har tilbakekalt nøkkelen din. Så snart programvaren som brukes av andre mennesker får vite om tilbakekallingen, vil den slutte å bruke den gamle nøkkelen. Hvis du bruker en ny nøkkel for den samme e-postadressen, og du legger ved den nye offentlige nøkkelen til e-postmeldinger du sender, vil informasjon om den tilbakekalte gamle nøkkelen automatisk bli inkludert. +## Strings in keyRing.jsm & decryption.jsm + # Strings in keyRing.jsm & decryption.jsm key-man-button-import = &Importer - delete-key-title = Slett OpenPGP-nøkkel - delete-external-key-title = Fjern den eksterne GnuPG-nøkkelen - delete-external-key-description = Vil du fjerne denne eksterne GnuPG nøkkel-ID-en? - key-in-use-title = OpenPGP-nøkkel for tiden i bruk - delete-key-in-use-description = Kan ikke fortsette! Nøkkelen du valgte for sletting, brukes for øyeblikket av denne identiteten. Velg en annen nøkkel, eller velg ingen, og prøv igjen. - revoke-key-in-use-description = Kan ikke fortsette! Nøkkelen du valgte for tilbakekalling, brukes for øyeblikket av denne identiteten. Velg en annen nøkkel, eller velg ingen, og prøv igjen. +## Strings used in errorHandling.jsm + # Strings used in errorHandling.jsm key-error-key-spec-not-found = E-postadressen «{ $keySpec }» kan ikke matches med en nøkkel på nøkkelringen. key-error-key-id-not-found = Fant ikke den konfigurerte nøkkel-ID-en «{ $keySpec }» på nøkkelringen. key-error-not-accepted-as-personal = Du har ikke bekreftet at nøkkelen med ID «{ $keySpec }» er din personlige nøkkel. +## Strings used in enigmailKeyManager.js & windows.jsm + # Strings used in enigmailKeyManager.js & windows.jsm need-online = Funksjonen du har valgt er ikke tilgjengelig i frakoblet modus. Koble til og prøv igjen. +## Strings used in keyRing.jsm & keyLookupHelper.jsm + + +## Strings used in keyRing.jsm & GnuPGCryptoAPI.jsm + # Strings used in keyRing.jsm & GnuPGCryptoAPI.jsm fail-key-extract = Feil - nøkkelekstraksjonskommandoen mislyktes +## Strings used in keyRing.jsm + # Strings used in keyRing.jsm fail-cancel = Feil - Mottak av nøkkel avbrutt av bruker not-first-block = Feil - Første OpenPGP-blokk ikke offentlig nøkkelblokk @@ -553,6 +499,8 @@ file-write-failed = Kunne ikke skrive til filen { $output } no-pgp-block = Feil - Ingen gyldig, armert OpenPGP-datablokk funnet confirm-permissive-import = Import mislyktes. Nøkkelen du prøver å importere kan være korrupt eller bruke ukjente attributter. Vil du prøve å importere de riktige delene? Dette kan føre til import av ufullstendige og ubrukelige nøkler. +## Strings used in trust.jsm + # Strings used in trust.jsm key-valid-unknown = ukjent key-valid-invalid = ugyldig @@ -565,14 +513,17 @@ key-trust-full = tiltrodd key-trust-ultimate = ultimat key-trust-group = (gruppe) +## Strings used in commonWorkflows.js + # Strings used in commonWorkflows.js import-key-file = Importer OpenPGP-nøkkelfil import-rev-file = Importer OpenPGP-tilbakekallingsfil gnupg-file = GnuPG-filer import-keys-failed = Import av nøklene mislyktes -passphrase-prompt = Skriv inn passordfrasen som låser opp følgende nøkkel: { $key } file-to-big-to-import = Denne filen er for stor. Ikke importer et stort sett med nøkler på en gang. +## Strings used in enigmailKeygen.js + # Strings used in enigmailKeygen.js save-revoke-cert-as = Opprett og lagre tilbakekallingssertifikat revoke-cert-ok = Tilbakekallingssertifikatet er opprettet. Du kan bruke det til å ugyldiggjøre den offentlige nøkkelen, f.eks. i tilfelle du mister den hemmelige nøkkelen. @@ -587,11 +538,10 @@ key-abort = Avbryte nøkkelgenerering? key-man-button-generate-key-abort = &Avbryte nøkkelgenerering? key-man-button-generate-key-continue = &Fortsett nøkkelgenerering -# Strings used in enigmailMessengerOverlay.js +## Strings used in enigmailMessengerOverlay.js failed-decrypt = Feil - dekryptering mislyktes fix-broken-exchange-msg-failed = Klarte ikke å reparere meldingen. - attachment-no-match-from-signature = Kunne ikke samsvare signaturfilen «{ $attachment }» til et vedlegg attachment-no-match-to-signature = Kunne ikke samsvare vedlegg «{ $attachment }» til en signaturfil signature-verified-ok = Signaturen for vedlegget { $attachment } ble bekreftet @@ -602,6 +552,8 @@ decrypt-ok-no-sig = msg-ovl-button-cont-anyway = &Fortsett likevel enig-content-note = *Vedlegg til denne meldingen er ikke signerte eller krypterte* +## Strings used in enigmailMsgComposeOverlay.js + # Strings used in enigmailMsgComposeOverlay.js msg-compose-button-send = &Send melding msg-compose-details-button-label = Detaljer… @@ -636,6 +588,8 @@ possibly-pgp-mime = Mulig PGP-/MIME-kryptert eller signert melding; bruk «Dekry cannot-send-sig-because-no-own-key = Kan ikke signere denne meldingen digitalt, fordi du ennå ikke har konfigurert ende-til-ende-kryptering for <{ $key }> cannot-send-enc-because-no-own-key = Kan ikke sende denne meldingen kryptert, fordi du ennå ikke har konfigurert ende-til-ende-kryptering for <{ $key }> +## Strings used in decryption.jsm + # Strings used in decryption.jsm do-import-multiple = Importere følgende nøkler? @@ -651,17 +605,25 @@ attachment-pgp-key = Klikk på «Importer» for å importere nøklene eller «Vis» for å se filinnholdet i nettleservinduet dlg-button-view = &Vis +## Strings used in enigmailMsgHdrViewOverlay.js + # Strings used in enigmailMsgHdrViewOverlay.js decrypted-msg-with-format-error = Dekryptert melding (gjenopprettet ødelagt PGP-e-postformat sannsynligvis forårsaket av en gammel Exchange-server, slik at resultatet kanskje ikke er perfekt å lese) +## Strings used in encryption.jsm + # Strings used in encryption.jsm not-required = Feil - ingen kryptering nødvendig +## Strings used in windows.jsm + # Strings used in windows.jsm no-photo-available = Ingen foto tilgjengelig error-photo-path-not-readable = Fotostien «{ $photo }» er ikke lesbar debug-log-title = OpenPGP-feilsøkingslogg +## Strings used in dialog.jsm + # Strings used in dialog.jsm repeat-prefix = Denne varselen vil bli gjentatt { $count } repeat-suffix-singular = gang til. @@ -677,10 +639,14 @@ enig-confirm = OpenPGP-bekreftelse enig-alert = OpenPGP-varsel enig-info = OpenPGP-informasjon +## Strings used in persistentCrypto.jsm + # Strings used in persistentCrypto.jsm dlg-button-retry = &Prøv igjen dlg-button-skip = &Hopp over +## Strings used in enigmailMsgBox.js + # Strings used in enigmailMsgBox.js enig-alert-title = .title = OpenPGP-varsel diff --git a/thunderbird-l10n/nb-NO/localization/nb-NO/messenger/preferences/system-integration.ftl b/thunderbird-l10n/nb-NO/localization/nb-NO/messenger/preferences/system-integration.ftl index f6156d63c163cd89bb9f1ecc7d0004d0530b01d6..8e66376759760c85f53f6151646de98a2f5adf7e 100644 --- a/thunderbird-l10n/nb-NO/localization/nb-NO/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/nb-NO/localization/nb-NO/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Systemintegrasjon - +system-integration-dialog-title = Systemintegrasjon system-integration-dialog = .buttonlabelaccept = Bruk som standard .buttonlabelcancel = Hopp over integrasjon .buttonlabelcancel2 = Avbryt - default-client-intro = Bruk { -brand-short-name } som standardprogram for: - unset-default-tooltip = Det er ikke mulig å fjerne { -brand-short-name } som standardklient fra innenfor { -brand-short-name }. For å sette et annet program som standard må du bruke dette programmets 'Bruk som standard'-dialog. - checkbox-email-label = .label = E-post .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Nyhetskilder .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Kalender .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Windows-søk *[other] { "" } } - system-search-integration-label = .label = Tillat { system-search-engine-name } å søke i meldinger .accesskey = T - check-on-startup-label = .label = Alltid sjekk dette ved oppstart av { -brand-short-name } .accesskey = A diff --git a/thunderbird-l10n/nb-NO/manifest.json b/thunderbird-l10n/nb-NO/manifest.json index e3937bce2d62769ab9310290512db8eb22f97190..51f81946771004396092d0ee75ab8b62d42e6bfb 100644 --- a/thunderbird-l10n/nb-NO/manifest.json +++ b/thunderbird-l10n/nb-NO/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Norsk Bokmål (Norwegian Bokmål)", "description": "Thunderbird Language Pack for Norsk Bokmål (nb-NO) – Norwegian Bokmål", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "nb-NO": { - "version": "20231208145445", + "version": "20231215210326", "chrome_resources": { "alerts": "chrome/nb-NO/locale/nb-NO/alerts/", "autoconfig": "chrome/nb-NO/locale/nb-NO/autoconfig/", diff --git a/thunderbird-l10n/nl/localization/nl/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/nl/localization/nl/messenger/accountcreation/accountHub.ftl index 40e5b400799808c140543317b2237ddda0b20144..8b8b3167543ae5fad50489ecfd8ab7fc2aed7844 100644 --- a/thunderbird-l10n/nl/localization/nl/messenger/accountcreation/accountHub.ftl +++ b/thunderbird-l10n/nl/localization/nl/messenger/accountcreation/accountHub.ftl @@ -80,3 +80,4 @@ account-hub-username-label = Gebruikersnaam account-hub-adding-account-title = Account toevoegen account-hub-adding-account-subheader = Accountconfiguratie-instellingen opnieuw testen account-hub-account-added-title = Account toegevoegd +account-hub-find-settings-failed = { -brand-full-name } kan de instellingen voor uw e-mailaccount niet vinden diff --git a/thunderbird-l10n/nl/localization/nl/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/nl/localization/nl/messenger/compactFoldersDialog.ftl index 6840601c6921f997b6eebca72c00449839a52123..d1d3c8244844f055ede047cc137cd0cedfde3826 100644 --- a/thunderbird-l10n/nl/localization/nl/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/nl/localization/nl/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Mappen comprimeren - .style = width: 50em; compact-dialog-window-title = .title = Mappen comprimeren +compact-folders-dialog-title = Mappen comprimeren compact-dialog = .buttonlabelaccept = Nu comprimeren .buttonaccesskeyaccept = c diff --git a/thunderbird-l10n/nl/localization/nl/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/nl/localization/nl/messenger/openpgp/openpgp.ftl index ebf55e422cc2c6762fddba8e6ff90d844077a90c..c7adcee93bdec0ec96711e11d35db01c0b0a03f3 100644 --- a/thunderbird-l10n/nl/localization/nl/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/nl/localization/nl/messenger/openpgp/openpgp.ftl @@ -29,36 +29,6 @@ e2e-encrypt-drafts = e2e-autocrypt-headers = .label = Publieke OpenPGP-sleutel(s) in de e-mailheaders verzenden voor compatibiliteit met Autocrypt .accesskey = y -openpgp-key-user-id-label = Account / Gebruikers-ID -openpgp-keygen-title-label = - .title = OpenPGP-sleutel aanmaken -openpgp-cancel-key = - .label = Annuleren - .tooltiptext = Aanmaken sleutel annuleren -openpgp-key-gen-expiry-title = - .label = Geldigheidsduur sleutel -openpgp-key-gen-expire-label = Sleutel verloopt over -openpgp-key-gen-days-label = - .label = dagen -openpgp-key-gen-months-label = - .label = maanden -openpgp-key-gen-years-label = - .label = jaar -openpgp-key-gen-no-expiry-label = - .label = Sleutel vervalt niet -openpgp-key-gen-key-size-label = Sleutelgrootte -openpgp-key-gen-console-label = Aanmaken sleutel -openpgp-key-gen-key-type-label = Sleuteltype -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (Elliptische Curve) -openpgp-generate-key = - .label = Sleutel aanmaken - .tooltiptext = Maakt een nieuwe OpenPGP-sleutel aan voor versleuteling en/of ondertekening -openpgp-advanced-prefs-button-label = - .label = Geavanceerd… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">OPMERKING: het aanmaken van de sleutel kan enkele minuten in beslag nemen.</a> Sluit de applicatie niet af terwijl het aanmaken van de sleutel bezig is. Actief navigeren of schijfintensieve bewerkingen uitvoeren tijdens het genereren van sleutels zal de ‘willekeurigheidspool’ aanvullen en het proces versnellen. U wordt gewaarschuwd wanneer het aanmaken van de sleutel is voltooid. openpgp-key-created-label = .label = Aangemaakt openpgp-key-expiry-label = @@ -68,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Dit is een sleutel met een complexe structuur, het wijzigen van de vervaldatum wordt niet ondersteund. openpgp-key-man-title = .title = OpenPGP-sleutelbeheerder +openpgp-key-man-dialog-title = OpenPGP-sleutelbeheerder openpgp-key-man-generate = .label = Nieuw sleutelpaar .accesskey = s @@ -415,10 +386,7 @@ key-verification = Controleer de vingerafdruk van de sleutel met een ander bevei # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = Kan het bericht niet verzenden, omdat er een probleem is met uw persoonlijke sleutel. { $problem } -cannot-encrypt-because-missing = Kan dit bericht niet verzenden met end-to-end-versleuteling, omdat er problemen zijn met de sleutels van de volgende ontvangers: { $problem } window-locked = Het opstelvenster is vergrendeld; verzenden geannuleerd -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = Dit is een versleuteld berichtgedeelte. U moet het in een apart venster openen door op de bijlage te klikken. ## Strings in keyserver.jsm @@ -641,7 +609,6 @@ import-key-file = OpenPGP-sleutelbestand importeren import-rev-file = OpenPGP-intrekkingsbestand importeren gnupg-file = GnuPG-bestanden import-keys-failed = Het importeren van de sleutels is mislukt -passphrase-prompt = Voer de wachtwoordzin in waarmee de volgende sleutel wordt ontgrendeld: { $key } # Variables: # $key (String) - Key id to unlock. # $date (String) - The date on which the key was created diff --git a/thunderbird-l10n/nl/localization/nl/messenger/preferences/system-integration.ftl b/thunderbird-l10n/nl/localization/nl/messenger/preferences/system-integration.ftl index 52de960146b1d5c11bde020bde54f40381e23299..97da1f2c3a850c3f85c3b8a6a30b200c769cb7c9 100644 --- a/thunderbird-l10n/nl/localization/nl/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/nl/localization/nl/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Systeemintegratie - +system-integration-dialog-title = Systeemintegratie system-integration-dialog = .buttonlabelaccept = Als standaard instellen .buttonlabelcancel = Integratie overslaan .buttonlabelcancel2 = Annuleren - default-client-intro = { -brand-short-name } als de standaardclient gebruiken voor: - unset-default-tooltip = Het is niet mogelijk om het instellen van { -brand-short-name } als de standaardclient binnen { -brand-short-name } ongedaan te maken. Om een andere toepassing de standaardclient te maken, moet u het dialoogvenster ‘Als standaard instellen’ ervan gebruiken. - checkbox-email-label = .label = E-mail .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Feeds .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Agenda .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Windows Zoeken *[other] { "" } } - system-search-integration-label = .label = { system-search-engine-name } toestaan om berichten te doorzoeken .accesskey = t - check-on-startup-label = .label = Deze controle altijd uitvoeren bij het starten van { -brand-short-name } .accesskey = D diff --git a/thunderbird-l10n/nl/manifest.json b/thunderbird-l10n/nl/manifest.json index 7dafb9cf898ed1e811cf8aa47d3df9e22cda8bb8..1dd75b81db61db88030cd109fa9ad7bdaeab3732 100644 --- a/thunderbird-l10n/nl/manifest.json +++ b/thunderbird-l10n/nl/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Nederlands (Dutch)", "description": "Thunderbird Language Pack for Nederlands (nl) – Dutch", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "nl": { - "version": "20231208145531", + "version": "20231215210411", "chrome_resources": { "alerts": "chrome/nl/locale/nl/alerts/", "autoconfig": "chrome/nl/locale/nl/autoconfig/", diff --git a/thunderbird-l10n/nn-NO/chrome/nn-NO/locale/nn-NO/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/nn-NO/chrome/nn-NO/locale/nn-NO/messenger/messengercompose/composeMsgs.properties index e7fc2948c3f432037b303d11299ea80d8569123c..1bac3659cb334ec76aef642192e034f2e60dfc9a 100644 --- a/thunderbird-l10n/nn-NO/chrome/nn-NO/locale/nn-NO/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/nn-NO/chrome/nn-NO/locale/nn-NO/messenger/messengercompose/composeMsgs.properties @@ -459,3 +459,6 @@ confirmRemoveRecipientRowButton=Fjern ## LOCALIZATION NOTE headersSpaceStyle is for aligning label of a newly create recipient row. ## It should be larger than the largest Header label and identical to &headersSpace2.style; headersSpaceStyle=width: 8em + +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. diff --git a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/compactFoldersDialog.ftl index 83ca80af435512aac75871022bc933e61493ccd9..3793b9262510608486d76aafd69a29f9071fdf99 100644 --- a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Komprimer mappene - .style = width: 50em; compact-dialog-window-title = .title = Komprimer mappene +compact-folders-dialog-title = Komprimer mappene compact-dialog = .buttonlabelaccept = Komprimer no .buttonaccesskeyaccept = N diff --git a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/openpgp/openpgp.ftl index 853934e5c80eb8dfdea0f1ee3e57366d2b229e45..4056dad0fbcb8357ce61b3df76b9822195420750 100644 --- a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/openpgp/openpgp.ftl @@ -5,36 +5,6 @@ e2e-intro-description = For å sende krypterte eller digitalt signerte meldingar, må du konfigurere ein krypteringsteknologi, anten OpenPGP eller S/MIME. e2e-intro-description-more = Vel den personlege nøkkelen din for å slå på OpenPGP, eller det personlege sertifikatet ditt for å slå på S/MIME. For ein personlig nøkkel eller eit sertifikat eig du den tilsvarande hemmelege nøkkelen. e2e-advanced-section = Avanserte innstillingar -openpgp-key-user-id-label = Konto/Brukar-ID -openpgp-keygen-title-label = - .title = Generer OpenPGP-nøkkel -openpgp-cancel-key = - .label = Avbryt - .tooltiptext = Avbryt nøkkelgenerering -openpgp-key-gen-expiry-title = - .label = Nøkkelen går ut -openpgp-key-gen-expire-label = Nøkkelen går ut om -openpgp-key-gen-days-label = - .label = dagar -openpgp-key-gen-months-label = - .label = månadar -openpgp-key-gen-years-label = - .label = år -openpgp-key-gen-no-expiry-label = - .label = Nøkkelen går ikkje ut -openpgp-key-gen-key-size-label = Nøkkelstørrelse -openpgp-key-gen-console-label = Nøkkelgenerering -openpgp-key-gen-key-type-label = Nøkkeltype -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (elliptisk kurve) -openpgp-generate-key = - .label = Generer nøkkel - .tooltiptext = Genererer ein ny OpenPGP-kompatibel nøkkel for kryptering og/eller signering -openpgp-advanced-prefs-button-label = - .label = Avansert… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">Merk: Nøkkelgenerering kan ta opptil fleire minutt å fullføre.</a> Ikkje avslutt applikasjonen medan nøkkelgenereringa er i gang. Dersom du aktivt surfar eller utfører diskintensive operasjonar under ei nøkkelgenerering, vil det fylle opp «randomness pool»-en og gjere prosessen raskare. Du vert varsla når nøkkelgenereringa er fullført. openpgp-key-created-label = .label = Opprtta openpgp-key-expiry-label = @@ -44,6 +14,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Dette er ein nøkkel med ein kompleks struktur, det er ikkje støtte for å endre går ut-datoen. openpgp-key-man-title = .title = OpenPGP-nøkkelhandterar +openpgp-key-man-dialog-title = OpenPGP-nøkkelhandterar openpgp-key-man-generate = .label = Nytt nøkkelpar .accesskey = N @@ -330,10 +301,7 @@ key-do-you-accept = Godtar du denne nøkkelen for å stadfeste digitale signatur # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = Klarte ikkje å sende meldinga, fordi det er eit problem med den personlege nøkkelen din. { $problem } -cannot-encrypt-because-missing = Klarte ikkje å sende denne meldinga med ende-til-ende-kryptering, fordi det er problem med nøklane til følgjande mottakarar: { $problem } window-locked = Meldingsvindauge er låst; sending avbroten -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = Dette er ein kryptert meldingsdel. Du må opne det i eit eige vindauge ved å klikke på vedlegget. ## Strings in keyserver.jsm @@ -554,7 +522,6 @@ import-key-file = Importer OpenPGP-nøkkelfil import-rev-file = Importer OpenPGP-tilbakekallingsfil gnupg-file = GnuPG-filer import-keys-failed = Mislykka importering av nøklane -passphrase-prompt = Skriv inn passordfrasa som låser opp følgjande nøkkel: { $key } file-to-big-to-import = Denne fila er for stor. Ikkje importer eit stort sett med nøklar på ein gong. ## Strings used in enigmailKeygen.js diff --git a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/preferences/system-integration.ftl b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/preferences/system-integration.ftl index e658f576baa9477f8995ed9f8127267db48a7bd4..690d9b78e8fde99b5aa985d146cf341541e1efd5 100644 --- a/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/nn-NO/localization/nn-NO/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Systemintegrasjon - +system-integration-dialog-title = Systemintegrasjon system-integration-dialog = .buttonlabelaccept = Vel som standard .buttonlabelcancel = Hopp over integrasjon .buttonlabelcancel2 = Avbryt - default-client-intro = Bruk { -brand-short-name } som standardprogram for: - unset-default-tooltip = Det er ikkje muleg å fjerne { -brand-short-name } som standardklient i sjølve { -brand-short-name }. For å velje eit anna program som standard må du bruke dette programmet sin 'Vel som standard'-dialog. - checkbox-email-label = .label = E-post .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = RSS-kjelder .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Kalender .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Windows-søk *[other] { "" } } - system-search-integration-label = .label = Tillat { system-search-engine-name } å søke i meldingar .accesskey = T - check-on-startup-label = .label = Alltid sjekk dette ved oppstart av { -brand-short-name } .accesskey = A diff --git a/thunderbird-l10n/nn-NO/manifest.json b/thunderbird-l10n/nn-NO/manifest.json index 83573bcdcaa32de1d2819ddfdd80c8d432afb911..9e7504d1203671b0b1fbbff34a04e62818bbc992 100644 --- a/thunderbird-l10n/nn-NO/manifest.json +++ b/thunderbird-l10n/nn-NO/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Nynorsk (Norwegian Nynorsk)", "description": "Thunderbird Language Pack for Nynorsk (nn-NO) – Norwegian Nynorsk", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "nn-NO": { - "version": "20231208153255", + "version": "20231215210120", "chrome_resources": { "alerts": "chrome/nn-NO/locale/nn-NO/alerts/", "autoconfig": "chrome/nn-NO/locale/nn-NO/autoconfig/", diff --git a/thunderbird-l10n/pa-IN/chrome/pa-IN/locale/pa-IN/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/pa-IN/chrome/pa-IN/locale/pa-IN/messenger/messengercompose/composeMsgs.properties index ff19921e3cb7fff26a0b8f7cde2db768f04901ff..b01297aafd43b7b12f566291bb652dc268b83d11 100644 --- a/thunderbird-l10n/pa-IN/chrome/pa-IN/locale/pa-IN/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/pa-IN/chrome/pa-IN/locale/pa-IN/messenger/messengercompose/composeMsgs.properties @@ -240,14 +240,12 @@ startTlsFailed=An error occurred while sending mail: Unable to establish a secur smtpPasswordUndefined=An error occurred while sending mail: Could not get password for %S. The message was not sent. ## LOCALIZATION NOTE (smtpSendNotAllowed): argument %s is the Outgoing server (SMTP) response smtpSendNotAllowed=An error occurred while sending mail. The mail server responded:\n%s.\nPlease ensure that you are using the correct identity to send and that the used authentication method is correct. Verify that you are allowed to send via this SMTP server with your current credentials from your current network. -## LOCALIZATION NOTE (smtpTempSizeExceeded): argument %s is the Outgoing server (SMTP) response -smtpTempSizeExceeded=The size of the message you are trying to send exceeds a temporary size limit of the server. The message was not sent; try to reduce the message size or wait some time and try again. The server responded: %s. +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. ## LOCALIZATION NOTE (smtpClientid): argument %s is the Outgoing server (SMTP) response smtpClientid=The outgoing server (SMTP) detected an error in the CLIENTID command. The message was not sent. The server responded: %s ## LOCALIZATION NOTE (smtpClientidPermission): argument %s is the Outgoing server (SMTP) response smtpClientidPermission=The outgoing server (SMTP) response to the CLIENTID command indicates that your device is not permitted to send mail. The server responded: %s -## LOCALIZATION NOTE (smtpPermSizeExceeded1): argument %d is the Outgoing server (SMTP) size limit -smtpPermSizeExceeded1=The size of the message you are trying to send exceeds the global size limit (%d bytes) of the server. The message was not sent; reduce the message size and try again. ## LOCALIZATION NOTE (smtpPermSizeExceeded2): argument %s is the Outgoing server (SMTP) response smtpPermSizeExceeded2=The size of the message you are trying to send exceeds the global size limit of the server. The message was not sent; reduce the message size and try again. The server responded: %s. ## LOCALIZATION NOTE (smtpSendFailedUnknownServer): argument %S is the Outgoing server (SMTP) diff --git a/thunderbird-l10n/pa-IN/localization/pa-IN/messenger/preferences/system-integration.ftl b/thunderbird-l10n/pa-IN/localization/pa-IN/messenger/preferences/system-integration.ftl index 16f7bb5671b38b5e7448d0effe009470c6ff378f..0b1eef5ce8704efbefe768d6005af7b632b05fc5 100644 --- a/thunderbird-l10n/pa-IN/localization/pa-IN/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/pa-IN/localization/pa-IN/messenger/preferences/system-integration.ftl @@ -4,11 +4,9 @@ system-integration-title = .title = ਸਿਸਟਮ ਜੋੜ - +system-integration-dialog-title = ਸਿਸਟਮ ਜੋੜ default-client-intro = { -brand-short-name } ਨੂੰ ਮੇਰੇ ਮੂਲ ਕਲਾਇਟ ਵਜੋਂ ਵਰਤੋਂ: - unset-default-tooltip = It is not possible to unset { -brand-short-name } as the default client within { -brand-short-name }. To make another application the default you must use its 'Set as default' dialog. - checkbox-email-label = .label = ਈਮੇਲ .tooltiptext = { unset-default-tooltip } @@ -18,7 +16,6 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = ਫੀਡ .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -27,11 +24,9 @@ system-search-engine-name = [windows] Windows Search *[other] { "" } } - system-search-integration-label = .label = Allow { system-search-engine-name } to search messages .accesskey = S - check-on-startup-label = .label = Always perform this check when starting { -brand-short-name } .accesskey = A diff --git a/thunderbird-l10n/pa-IN/manifest.json b/thunderbird-l10n/pa-IN/manifest.json index b864e0972933293034ee5737e7041d038efc797b..49e2c3388ee0d06bf9cdda10613c74f719c6cc0d 100644 --- a/thunderbird-l10n/pa-IN/manifest.json +++ b/thunderbird-l10n/pa-IN/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: ਪੰਜਾਬੀ (Punjabi)", "description": "Thunderbird Language Pack for ਪੰਜਾਬੀ (pa-IN) – Punjabi", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "pa-IN": { - "version": "20231208153339", + "version": "20231215210203", "chrome_resources": { "alerts": "chrome/pa-IN/locale/pa-IN/alerts/", "autoconfig": "chrome/pa-IN/locale/pa-IN/autoconfig/", diff --git a/thunderbird-l10n/pl/chrome/pl/locale/pl/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/pl/chrome/pl/locale/pl/messenger/messengercompose/composeMsgs.properties index 3464ee839d5c6e01216c27e90cb2fa38f86aaf3b..ca439b2b00c9e3dde7e4f5d44e576bd0e11acfda 100644 --- a/thunderbird-l10n/pl/chrome/pl/locale/pl/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/pl/chrome/pl/locale/pl/messenger/messengercompose/composeMsgs.properties @@ -74,6 +74,9 @@ smtpSendNotAllowed=Wystąpił błąd podczas wysyłania wiadomości. Odpowiedź ## LOCALIZATION NOTE (smtpTempSizeExceeded): argument %s is the Outgoing server (SMTP) response smtpTempSizeExceeded=Rozmiar wysyłanej wiadomości przekracza tymczasowy limit rozmiaru wiadomości na serwerze. Wiadomość nie została wysłana; należy spróbować zmniejszyć jej rozmiar lub odczekać trochę i spróbować ponownie. Odpowiedź serwera: %s. +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=Wiadomość nie została wysłana z powodu przekroczenia dozwolonej liczby adresatów. Odpowiedź serwera: %s. + ## LOCALIZATION NOTE (smtpClientid): argument %s is the Outgoing server (SMTP) response smtpClientid=Serwer poczty wychodzącej (SMTP) wykrył błąd w poleceniu CLIENTID. Wiadomość nie została wysłana. Odpowiedź serwera: %s diff --git a/thunderbird-l10n/pl/localization/pl/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/pl/localization/pl/messenger/accountcreation/accountHub.ftl index 50f363a2770fc869b53cf55f3486242517fc02dc..62bdd2be3dd76c2d00ca127d77b61a24ad1fa746 100644 --- a/thunderbird-l10n/pl/localization/pl/messenger/accountcreation/accountHub.ftl +++ b/thunderbird-l10n/pl/localization/pl/messenger/accountcreation/accountHub.ftl @@ -80,3 +80,4 @@ account-hub-username-label = Nazwa użytkownika account-hub-adding-account-title = Dodawanie konta account-hub-adding-account-subheader = Ponowne wykrywanie ustawień konfiguracji konta account-hub-account-added-title = Dodano konto +account-hub-find-settings-failed = { -brand-full-name } nie znalazł ustawień konta. diff --git a/thunderbird-l10n/pl/localization/pl/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/pl/localization/pl/messenger/compactFoldersDialog.ftl index 688a355848dd5d58f2b90c6ec6fd1b83c3ded934..e18247d21842a870cf1fb065a159b89e980dcf49 100644 --- a/thunderbird-l10n/pl/localization/pl/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/pl/localization/pl/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Porządkuj foldery - .style = width: 50em; compact-dialog-window-title = .title = Porządkuj foldery +compact-folders-dialog-title = Porządkuj foldery compact-dialog = .buttonlabelaccept = Uporządkuj .buttonaccesskeyaccept = U diff --git a/thunderbird-l10n/pl/localization/pl/messenger/extensionPermissions.ftl b/thunderbird-l10n/pl/localization/pl/messenger/extensionPermissions.ftl index b0566012af885e111c28c35a3a26f697b0f9711d..45455b6873234b998b701c05db7d0c2206d0f084 100644 --- a/thunderbird-l10n/pl/localization/pl/messenger/extensionPermissions.ftl +++ b/thunderbird-l10n/pl/localization/pl/messenger/extensionPermissions.ftl @@ -20,5 +20,8 @@ webext-perms-description-messagesModify = Odczytywanie i modyfikowanie wiadomo webext-perms-description-messagesMove = Kopiowanie i przenoszenie wiadomości e-mail (w tym przenoszenie ich do kosza) webext-perms-description-messagesDelete = Trwałe usuwanie wiadomości e-mail webext-perms-description-messagesRead = Odczytywanie wiadomości e-mail oraz ich oznaczanie i dodawanie etykiet +webext-perms-description-messagesRead2 = Odczytywanie wiadomości e-mail +webext-perms-description-messagesUpdate = Zmiana właściwości i etykiet wiadomości e-mail webext-perms-description-messagesTags = Tworzenie, modyfikowanie i usuwanie etykiet wiadomości +webext-perms-description-messagesTagsList = Wyświetlanie etykiet wiadomości webext-perms-description-sensitiveDataUpload = Przesyłanie prywatnych danych użytkownika (jeśli udzielono dostęp) na zdalny serwer w celu dalszego przetwarzania diff --git a/thunderbird-l10n/pl/localization/pl/messenger/openpgp/msgReadStatus.ftl b/thunderbird-l10n/pl/localization/pl/messenger/openpgp/msgReadStatus.ftl index f20907ab22108aaca7782afb600480591c9ab775..54a7258df61143b8295f9cb41f2678978692b84a 100644 --- a/thunderbird-l10n/pl/localization/pl/messenger/openpgp/msgReadStatus.ftl +++ b/thunderbird-l10n/pl/localization/pl/messenger/openpgp/msgReadStatus.ftl @@ -28,6 +28,10 @@ openpgp-invalid-sig = Nieprawidłowy podpis cyfrowy # Variables: # $date (String) - Date with time the signature was made in a short format. openpgp-invalid-sig-with-date = Nieprawidłowy podpis cyfrowy – podpisany w dniu { $date } +openpgp-bad-date-sig = Niezgodność daty podpisu +# Variables: +# $date (String) - Date with time the signature was made in a short format. +openpgp-bad-date-sig-with-date = Niezgodność daty podpisu – podpisany w dniu { $date } openpgp-good-sig = Dobry podpis cyfrowy # Variables: # $date (String) - Date with time the signature was made in a short format. @@ -37,6 +41,7 @@ openpgp-sig-uncertain-uid-mismatch = Ta wiadomość zawiera podpis cyfrowy, ale openpgp-sig-uncertain-not-accepted = Ta wiadomość zawiera podpis cyfrowy, ale nie zdecydowano jeszcze, czy klucz osoby podpisującej jest dla Ciebie akceptowalny. openpgp-sig-invalid-rejected = Ta wiadomość zawiera podpis cyfrowy, ale wcześniej zdecydowano odrzucić klucz osoby podpisującej. openpgp-sig-invalid-technical-problem = Ta wiadomość zawiera podpis cyfrowy, ale wykryto błąd techniczny. Wiadomość została uszkodzona albo zmieniona przez kogoś innego. +openpgp-sig-invalid-date-mismatch = Ta wiadomość zawiera podpis cyfrowy, ale nie został on złożony w momencie wysłania wiadomości e-mail. Może to być próba oszustwa za pomocą treści z niewłaściwego kontekstu: np. treści napisane w innym kontekście czasowym lub przeznaczone dla kogoś innego. openpgp-sig-valid-unverified = Ta wiadomość zawiera prawidłowy podpis cyfrowy z klucza, który już zaakceptowano. Nie zweryfikowano jednak jeszcze, czy klucz jest rzeczywiście własnością nadawcy. openpgp-sig-valid-verified = Ta wiadomość zawiera prawidłowy podpis cyfrowy ze zweryfikowanego klucza. openpgp-sig-valid-own-key = Ta wiadomość zawiera prawidłowy podpis cyfrowy z własnego klucza osobistego. diff --git a/thunderbird-l10n/pl/localization/pl/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/pl/localization/pl/messenger/openpgp/openpgp.ftl index dc4897f318b347d0f9187f64a7c405eb6f9cc2c2..e4bdc70a8598f262ee796e117c1658eb080b6eeb 100644 --- a/thunderbird-l10n/pl/localization/pl/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/pl/localization/pl/messenger/openpgp/openpgp.ftl @@ -25,36 +25,6 @@ e2e-encrypt-subject = e2e-encrypt-drafts = .label = Przechowuj szkice wiadomości w formacie zaszyfrowanym .accesskey = P -openpgp-key-user-id-label = Identyfikator konta/użytkownika -openpgp-keygen-title-label = - .title = Wygeneruj klucz OpenPGP -openpgp-cancel-key = - .label = Anuluj - .tooltiptext = Anuluj generowanie klucza -openpgp-key-gen-expiry-title = - .label = Ważność klucza -openpgp-key-gen-expire-label = Klucz wygasa za -openpgp-key-gen-days-label = - .label = dni -openpgp-key-gen-months-label = - .label = mies. -openpgp-key-gen-years-label = - .label = lat(a) -openpgp-key-gen-no-expiry-label = - .label = Klucz nie wygasa -openpgp-key-gen-key-size-label = Rozmiar klucza -openpgp-key-gen-console-label = Generowanie kluczy -openpgp-key-gen-key-type-label = Typ klucza -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (krzywa eliptyczna) -openpgp-generate-key = - .label = Wygeneruj klucz - .tooltiptext = Generuje nowy klucz zgodny z OpenPGP do szyfrowania i podpisywania -openpgp-advanced-prefs-button-label = - .label = Zaawansowane… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">UWAGA: generowanie klucza może zająć nawet kilka minut.</a> Nie wyłączaj aplikacji w trakcie generowania. Aktywne przeglądanie Internetu i wykonywanie działań intensywnie korzystających z dysku podczas generowania klucza uzupełni „pulę losowości” i przyspieszy ten proces. Po ukończeniu generowania zostanie wyświetlony komunikat. # Do not translate "Autocrypt", it's the name of a standard. e2e-autocrypt-headers = .label = Wysyłaj klucze publiczne OpenPGP w nagłówkach wiadomości, aby zapewnić zgodność z Autocrypt @@ -68,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = To klucz o złożonej strukturze, zmiana jego daty wygaśnięcia nie jest obsługiwana. openpgp-key-man-title = .title = Menedżer kluczy OpenPGP +openpgp-key-man-dialog-title = Menedżer kluczy OpenPGP openpgp-key-man-generate = .label = Nowa para kluczy .accesskey = N @@ -422,10 +393,7 @@ key-verification = Zweryfikuj odcisk klucza za pomocą zabezpieczonego środka k # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = Nie można wysłać wiadomości, ponieważ wystąpił problem z kluczem osobistym. { $problem } -cannot-encrypt-because-missing = Nie można wysłać tej wiadomości za pomocą szyfrowania typu „end-to-end”, ponieważ wystąpiły problemy z kluczami tych odbiorców: { $problem } window-locked = Okno tworzenia wiadomości jest zablokowane; anulowano wysyłanie -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = To jest zaszyfrowana część wiadomości. Musisz otworzyć ją w oddzielnym oknie, klikając załącznik. ## Strings in keyserver.jsm @@ -648,7 +616,6 @@ import-key-file = Importuj plik klucza OpenPGP import-rev-file = Importuj plik unieważnienia OpenPGP gnupg-file = Pliki GnuPG import-keys-failed = Zaimportowanie kluczy się nie powiodło -passphrase-prompt = Wprowadź hasło odblokowujące ten klucz: { $key } # Variables: # $key (String) - Key id to unlock. # $date (String) - The date on which the key was created diff --git a/thunderbird-l10n/pl/localization/pl/messenger/preferences/cookies.ftl b/thunderbird-l10n/pl/localization/pl/messenger/preferences/cookies.ftl index 1182409701fc63f94cc3223d2d938e997015e769..a31f0db2ffe4dd7ea1295e14a3085aa510fed224 100644 --- a/thunderbird-l10n/pl/localization/pl/messenger/preferences/cookies.ftl +++ b/thunderbird-l10n/pl/localization/pl/messenger/preferences/cookies.ftl @@ -4,6 +4,7 @@ cookies-window-dialog2 = .title = Ciasteczka +cookies-dialog-title = Ciasteczka window-close-key = .key = w window-focus-search-key = diff --git a/thunderbird-l10n/pl/localization/pl/messenger/preferences/system-integration.ftl b/thunderbird-l10n/pl/localization/pl/messenger/preferences/system-integration.ftl index ad4980bc74a5682ffe7e844cc624e49495298fb2..b848e7aa8df65cce82b524e36552f4374810f9db 100644 --- a/thunderbird-l10n/pl/localization/pl/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/pl/localization/pl/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Integracja z systemem operacyjnym - +system-integration-dialog-title = Integracja z systemem operacyjnym system-integration-dialog = .buttonlabelaccept = Ustaw jako domyślny .buttonlabelcancel = Pomiń integrację .buttonlabelcancel2 = Anuluj - default-client-intro = { -brand-short-name } ma być domyślnym klientem: - unset-default-tooltip = Nie jest możliwe usunięcie programu { -brand-short-name } z roli domyślnego klienta z poziomu programu { -brand-short-name }. Aby uczynić inny program domyślnym klientem, należy skorzystać z jego możliwości integracji z systemem operacyjnym. - checkbox-email-label = .label = poczty .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = źródeł aktualności .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = kalendarza .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Usługa wyszukiwania systemu Windows *[other] { "" } } - system-search-integration-label = .label = Zezwalaj programowi { system-search-engine-name } na wyszukiwanie wiadomości .accesskey = Z - check-on-startup-label = .label = Sprawdzaj te ustawienia zawsze podczas uruchamiania programu { -brand-short-name } .accesskey = S diff --git a/thunderbird-l10n/pl/localization/pl/messenger/unifiedToolbarItems.ftl b/thunderbird-l10n/pl/localization/pl/messenger/unifiedToolbarItems.ftl index 826261bfc363847754f44721fcab4524e7efbcc8..ecfbde550b15e486ca61391d8279f54d03c4975c 100644 --- a/thunderbird-l10n/pl/localization/pl/messenger/unifiedToolbarItems.ftl +++ b/thunderbird-l10n/pl/localization/pl/messenger/unifiedToolbarItems.ftl @@ -142,3 +142,24 @@ toolbar-stop = toolbar-throbber-label = Wskaźnik aktywności toolbar-throbber = .title = Wskaźnik aktywności +toolbar-create-contact-label = Nowy kontakt +toolbar-create-contact = + .title = Utwórz nowy kontakt +toolbar-create-address-book-label = Nowa książka adresowa +toolbar-create-address-book = + .title = Utwórz nową książkę adresową +toolbar-create-list-label = Nowa lista +toolbar-create-list = + .title = Utwórz nową listę dystrybucyjną +toolbar-import-contacts-label = Importuj +toolbar-import-contacts = + .title = Importuj kontakty z pliku + +## New Address Book popup items + +toolbar-new-address-book-popup-add-js-address-book = + .label = Dodaj lokalną książkę adresową +toolbar-new-address-book-popup-add-carddav-address-book = + .label = Dodaj książkę adresową CardDAV +toolbar-new-address-book-popup-add-ldap-address-book = + .label = Dodaj książkę adresową LDAP diff --git a/thunderbird-l10n/pl/manifest.json b/thunderbird-l10n/pl/manifest.json index 3a316eceddd4489aa9bf80e61a009b82f65389d2..4343482487de928ef403c6aca92b97f309afe4e6 100644 --- a/thunderbird-l10n/pl/manifest.json +++ b/thunderbird-l10n/pl/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Polski (Polish)", "description": "Thunderbird Language Pack for Polski (pl) – Polish", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "pl": { - "version": "20231208153424", + "version": "20231215210247", "chrome_resources": { "alerts": "chrome/pl/locale/pl/alerts/", "autoconfig": "chrome/pl/locale/pl/autoconfig/", diff --git a/thunderbird-l10n/pt-BR/localization/pt-BR/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/pt-BR/localization/pt-BR/messenger/accountcreation/accountHub.ftl index dd02792701ab0bb4575dc4889c85cc827d49b9ea..ce490fd03d8f2d84da5eddb71326f111e52f5961 100644 --- a/thunderbird-l10n/pt-BR/localization/pt-BR/messenger/accountcreation/accountHub.ftl +++ b/thunderbird-l10n/pt-BR/localization/pt-BR/messenger/accountcreation/accountHub.ftl @@ -80,3 +80,4 @@ account-hub-username-label = Nome de usuário account-hub-adding-account-title = Adicionando conta account-hub-adding-account-subheader = Testando novamente a configuração da conta account-hub-account-added-title = Conta adicionada +account-hub-find-settings-failed = O { -brand-full-name } não conseguiu encontrar as configurações de sua conta de email. diff --git a/thunderbird-l10n/pt-BR/localization/pt-BR/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/pt-BR/localization/pt-BR/messenger/compactFoldersDialog.ftl index f85a9f54e69fcd465f756bb0f3e7d3518e9ac612..5293dae292210fa4f5a197b3d55d4fe6f794a3b1 100644 --- a/thunderbird-l10n/pt-BR/localization/pt-BR/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/pt-BR/localization/pt-BR/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Compactar pastas - .style = width: 50em; compact-dialog-window-title = .title = Compactar pastas +compact-folders-dialog-title = Compactar pastas compact-dialog = .buttonlabelaccept = Compactar agora .buttonaccesskeyaccept = C diff --git a/thunderbird-l10n/pt-BR/localization/pt-BR/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/pt-BR/localization/pt-BR/messenger/openpgp/openpgp.ftl index 0254d3ba1f68ac41d26a1c07f20935aedc6c5e2e..683d269ee3c638183f1aa761e02b2d325a70a200 100644 --- a/thunderbird-l10n/pt-BR/localization/pt-BR/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/pt-BR/localization/pt-BR/messenger/openpgp/openpgp.ftl @@ -29,36 +29,6 @@ e2e-encrypt-drafts = e2e-autocrypt-headers = .label = Enviar chave(s) pública(s) OpenPGP em cabeçalhos de email para compatibilidade com Autocrypt .accesskey = t -openpgp-key-user-id-label = Conta / ID do usuário -openpgp-keygen-title-label = - .title = Gerar chave OpenPGP -openpgp-cancel-key = - .label = Cancelar - .tooltiptext = Cancelar geração de chave -openpgp-key-gen-expiry-title = - .label = Validade da chave -openpgp-key-gen-expire-label = A chave expira em -openpgp-key-gen-days-label = - .label = dias -openpgp-key-gen-months-label = - .label = meses -openpgp-key-gen-years-label = - .label = anos -openpgp-key-gen-no-expiry-label = - .label = A chave não expira -openpgp-key-gen-key-size-label = Tamanho da chave -openpgp-key-gen-console-label = Geração de chave -openpgp-key-gen-key-type-label = Tipo de chave -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (curva elíptica) -openpgp-generate-key = - .label = Gerar chave - .tooltiptext = Gera uma nova chave em conformidade com OpenPGP para criptografia e/ou assinatura -openpgp-advanced-prefs-button-label = - .label = Avançado… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">NOTA: A geração de chaves pode levar vários minutos para ser concluída. Não saia do aplicativo enquanto a geração de chaves estiver em andamento. Navegar ativamente ou realizar operações com uso intenso de disco durante a geração de chaves irá reabastecer o 'pool de aleatoriedade' e acelerar o processo. Você será alertado quando a geração de chaves for concluída. openpgp-key-created-label = .label = Criação openpgp-key-expiry-label = @@ -68,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Esta é uma chave com uma estrutura complexa, não é suportado alterar sua data de validade. openpgp-key-man-title = .title = Gerenciador de chaves OpenPGP +openpgp-key-man-dialog-title = Gerenciador de chaves OpenPGP openpgp-key-man-generate = .label = Novo par de chaves .accesskey = v @@ -415,10 +386,7 @@ key-verification = Verifique a impressão digital da chave usando um canal de co # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = Não foi possível enviar a mensagem, porque há um problema com sua chave pessoal. { $problem } -cannot-encrypt-because-missing = Não foi possível enviar esta mensagem com criptografia de ponta a ponta, porque há problemas com as chaves dos seguintes destinatários: { $problem } window-locked = A janela de edição está bloqueada; envio cancelado -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = Esta é uma parte criptografada da mensagem. Você precisa abrir em uma janela separada, clicando no anexo. ## Strings in keyserver.jsm @@ -641,7 +609,6 @@ import-key-file = Importar arquivo de chave OpenPGP import-rev-file = Importar arquivo de revogação OpenPGP gnupg-file = Arquivos GnuPG import-keys-failed = Falha na importação das chaves -passphrase-prompt = Digite a senha que desbloqueia a seguinte chave: { $key } # Variables: # $key (String) - Key id to unlock. # $date (String) - The date on which the key was created diff --git a/thunderbird-l10n/pt-BR/localization/pt-BR/messenger/preferences/system-integration.ftl b/thunderbird-l10n/pt-BR/localization/pt-BR/messenger/preferences/system-integration.ftl index 217aa342dbb62b0b6bd3aae5c3be3b4f73669aef..1bad26f255be865fc19db5d5675754d02edd84dd 100644 --- a/thunderbird-l10n/pt-BR/localization/pt-BR/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/pt-BR/localization/pt-BR/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Integração com o sistema - +system-integration-dialog-title = Integração com o sistema system-integration-dialog = .buttonlabelaccept = Definir como padrão .buttonlabelcancel = Pular integração .buttonlabelcancel2 = Cancelar - default-client-intro = Tornar o { -brand-short-name } o aplicativo padrão para: - unset-default-tooltip = Não é possível remover o { -brand-short-name } como o cliente padrão dentro do { -brand-short-name }. Para tornar outro aplicativo o cliente padrão você deve usar a configuração 'Tornar padrão' do próprio aplicativo. - checkbox-email-label = .label = Email .tooltiptext = { unset-default-tooltip } @@ -26,7 +23,6 @@ checkbox-feeds-label = checkbox-calendar-label = .label = Agenda .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -35,11 +31,9 @@ system-search-engine-name = [windows] Windows Search *[other] { "" } } - system-search-integration-label = .label = Permitir que o { system-search-engine-name } pesquise em mensagens .accesskey = P - check-on-startup-label = .label = Sempre verificar ao iniciar o { -brand-short-name } .accesskey = S diff --git a/thunderbird-l10n/pt-BR/manifest.json b/thunderbird-l10n/pt-BR/manifest.json index 7055e6767bad3974b6afe590bbf68eb5de5a3afb..15c77bc20b4e829aac92546873ded8e7b07b35e5 100644 --- a/thunderbird-l10n/pt-BR/manifest.json +++ b/thunderbird-l10n/pt-BR/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Português (BR)", "description": "Thunderbird Language Pack for Português (BR) (pt-BR) – Brazilian Portuguese", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "pt-BR": { - "version": "20231208153509", + "version": "20231215210333", "chrome_resources": { "alerts": "chrome/pt-BR/locale/pt-BR/alerts/", "autoconfig": "chrome/pt-BR/locale/pt-BR/autoconfig/", diff --git a/thunderbird-l10n/pt-PT/chrome/pt-PT/locale/pt-PT/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/pt-PT/chrome/pt-PT/locale/pt-PT/messenger/messengercompose/composeMsgs.properties index 73a24bcb636142947bc2abe31969b549c1e6638e..8143fdd7f70217daa9c818c68cc6bfde5a7858db 100644 --- a/thunderbird-l10n/pt-PT/chrome/pt-PT/locale/pt-PT/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/pt-PT/chrome/pt-PT/locale/pt-PT/messenger/messengercompose/composeMsgs.properties @@ -459,3 +459,6 @@ confirmRemoveRecipientRowButton=Remover ## LOCALIZATION NOTE headersSpaceStyle is for aligning label of a newly create recipient row. ## It should be larger than the largest Header label and identical to &headersSpace2.style; headersSpaceStyle=width: 8em + +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. diff --git a/thunderbird-l10n/pt-PT/localization/pt-PT/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/pt-PT/localization/pt-PT/messenger/openpgp/openpgp.ftl index 8a3e0f5fb40895096455191da0e7fa7f977902e1..2a0d1e8dec3797eafbe3ca2ac45c761684448ec8 100644 --- a/thunderbird-l10n/pt-PT/localization/pt-PT/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/pt-PT/localization/pt-PT/messenger/openpgp/openpgp.ftl @@ -5,36 +5,6 @@ e2e-intro-description = Para enviar mensagens encriptadas ou assinadas digitalmente, tem de configurar uma tecnologia de encriptação, OpenPGP ou S/MIME. e2e-intro-description-more = Selecione a sua chave pessoal para ativar a utilização do OpenPGP, ou o seu certificado pessoal para ativar a utilização do S/MIME. Para uma chave ou certificado pessoal, você possui a respetiva chave secreta. e2e-signing-description = Uma assinatura digital permite que os destinatários verifiquem que a mensagem foi enviada por si e se o seu conteúdo não foi alterado. As mensagens encriptadas são assinadas por predefinição -openpgp-key-user-id-label = Conta / ID do utilizador -openpgp-keygen-title-label = - .title = Gerar chave OpenPGP -openpgp-cancel-key = - .label = Cancelar - .tooltiptext = Cancelar geração da chave -openpgp-key-gen-expiry-title = - .label = Validade da chave -openpgp-key-gen-expire-label = A chave expira em -openpgp-key-gen-days-label = - .label = dias -openpgp-key-gen-months-label = - .label = meses -openpgp-key-gen-years-label = - .label = anos -openpgp-key-gen-no-expiry-label = - .label = A chave não expira -openpgp-key-gen-key-size-label = Tamanho da chave -openpgp-key-gen-console-label = Geração da chave -openpgp-key-gen-key-type-label = Tipo de chave -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (curva elíptica) -openpgp-generate-key = - .label = Gerar chave - .tooltiptext = Gera uma nova chave compatível com o OpenPGP para encriptação e/ou assinatura -openpgp-advanced-prefs-button-label = - .label = Avançado… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">Nota: A geração da chave pode demorar vários minutos para ser concluída.</a> Não saia da aplicação enquanto a geração da chave estiver em curso. Navegar ativamente ou realizar operações com uma utilização intensiva do disco durante a geração da chave irá reabastecer a 'fonte de aleatoriedade' e acelerar o processo. Será alertado quando a geração da chave for concluída. openpgp-key-expiry-label = .label = Validade openpgp-key-id-label = @@ -42,6 +12,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Esta é uma chave com uma estrutura complexa. Não é possível alterar a respetiva data de validade. openpgp-key-man-title = .title = Gestor de chaves OpenPGP +openpgp-key-man-dialog-title = Gestor de chaves OpenPGP openpgp-key-man-generate = .label = Novo par de chaves .accesskey = v @@ -324,10 +295,7 @@ key-do-you-accept = Aceita esta chave para validar assinaturas digitais e para e # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = Não foi possível enviar a mensagem porque existe um problema com a sua chave pessoal. { $problem } -cannot-encrypt-because-missing = Não foi possível enviar esta mensagem com encriptação ponto a ponto, porque existem problemas com as chaves dos seguintes destinatários: { $problem } window-locked = A janela de composição está bloqueada; envio cancelado -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = Esta é uma parte encriptada da mensagem. Você precisa de abrir a mesma numa janela separada clicando no anexo. ## Strings in keyserver.jsm @@ -548,9 +516,6 @@ import-key-file = Importar ficheiro de chave OpenPGP import-rev-file = Importar ficheiro de revogação OpenPGP gnupg-file = Ficheiros GnuPG import-keys-failed = A importação das chaves falhou -# Variables: -# $key (String) - Key id to unlock. -passphrase-prompt = Por favor, especifique a frase secreta que desbloqueia a seguinte chave: { $key } file-to-big-to-import = Este ficheiro é demasiado grande. Não importe um grande conjunto de chaves de uma vez. ## Strings used in enigmailKeygen.js diff --git a/thunderbird-l10n/pt-PT/localization/pt-PT/messenger/preferences/system-integration.ftl b/thunderbird-l10n/pt-PT/localization/pt-PT/messenger/preferences/system-integration.ftl index 4a3e04b7fb62c84c65be1003770c8cc0e4830636..1ac11ed388c4a529aa7808e88c28fe3c23a24438 100644 --- a/thunderbird-l10n/pt-PT/localization/pt-PT/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/pt-PT/localization/pt-PT/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Integração no sistema - +system-integration-dialog-title = Integração no sistema system-integration-dialog = .buttonlabelaccept = Definir como predefinido .buttonlabelcancel = Ignorar integração .buttonlabelcancel2 = Cancelar - default-client-intro = Utilizar o { -brand-short-name } como aplicação predefinida para: - unset-default-tooltip = Não pode cancelar a seleção do { -brand-short-name } como aplicação predefinida no { -brand-short-name }. Para definir outra aplicação como predefinida tem de utilizar a janela 'Definir como predefinido'. - checkbox-email-label = .label = E-mail .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Fontes .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Calendário .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Pesquisa do Windows *[other] { "" } } - system-search-integration-label = .label = Permitir que { system-search-engine-name } pesquise as mensagens .accesskey = P - check-on-startup-label = .label = Realizar sempre esta verificação ao iniciar o { -brand-short-name } .accesskey = a diff --git a/thunderbird-l10n/pt-PT/manifest.json b/thunderbird-l10n/pt-PT/manifest.json index 4cf84ebca2b21582ac4135aab34270d9521b1734..21a895fee6043da8a16aa2c48338320a2271291a 100644 --- a/thunderbird-l10n/pt-PT/manifest.json +++ b/thunderbird-l10n/pt-PT/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Português (PT) (Portuguese)", "description": "Thunderbird Language Pack for Português (PT) (pt-PT) – Portuguese", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "pt-PT": { - "version": "20231208153555", + "version": "20231215210418", "chrome_resources": { "alerts": "chrome/pt-PT/locale/pt-PT/alerts/", "autoconfig": "chrome/pt-PT/locale/pt-PT/autoconfig/", diff --git a/thunderbird-l10n/rm/localization/rm/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/rm/localization/rm/messenger/compactFoldersDialog.ftl index 0c09e12b8789c5a66c20366dd26c418e0cddcd68..1a4ef1bf406a0ed7a90cdc114aa1bfa36b75e97f 100644 --- a/thunderbird-l10n/rm/localization/rm/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/rm/localization/rm/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Cumprimer ils ordinaturs - .style = width: 60em; compact-dialog-window-title = .title = Cumprimer ils ordinaturs +compact-folders-dialog-title = Cumprimer ils ordinaturs compact-dialog = .buttonlabelaccept = Cumprimer ussa .buttonaccesskeyaccept = C diff --git a/thunderbird-l10n/rm/localization/rm/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/rm/localization/rm/messenger/openpgp/openpgp.ftl index 29fad308c127e3e38603f69b10da2a6e8bd2ebcf..26ebdea26e9d80b16147c2110c79819cbaff0525 100644 --- a/thunderbird-l10n/rm/localization/rm/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/rm/localization/rm/messenger/openpgp/openpgp.ftl @@ -29,36 +29,6 @@ e2e-encrypt-drafts = e2e-autocrypt-headers = .label = Trametter la(s) clav(s) publica(s) OpenPGP en ils chaus-pagina dals e-mails per garantir la cumpatibilitad cun Autocrypt .accesskey = t -openpgp-key-user-id-label = Conto / ID da l'utilisader -openpgp-keygen-title-label = - .title = Generar ina clav OpenPGP -openpgp-cancel-key = - .label = Interrumper - .tooltiptext = Interrumper la generaziun da la clav -openpgp-key-gen-expiry-title = - .label = Scadenza da la clav -openpgp-key-gen-expire-label = La clav scada en -openpgp-key-gen-days-label = - .label = dis -openpgp-key-gen-months-label = - .label = mais -openpgp-key-gen-years-label = - .label = onns -openpgp-key-gen-no-expiry-label = - .label = La clav na scada mai -openpgp-key-gen-key-size-label = Dimensiun da la clav -openpgp-key-gen-console-label = Generaziun da la clav -openpgp-key-gen-key-type-label = Tip da clav -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (curva elliptica) -openpgp-generate-key = - .label = Generar ina clav - .tooltiptext = Generescha ina nova clav confurma ad OpenPGP per criptadi e/u signatura -openpgp-advanced-prefs-button-label = - .label = Avanzà… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">REMARTGA: La generaziun dad ina clav po durar pliras minutas.</a> Na terminescha betg l'applicaziun enfin che la generaziun da la clav n'è betg finida. Cun navigar activamain u exequir operaziuns exigentas per il disc dir durant la generaziun da la clav, pos ti augmentar il nivel da casualitad ed accelerar il process. Ti vegns infurmà uschespert ch'il process è terminà. openpgp-key-created-label = .label = Data da creaziun openpgp-key-expiry-label = @@ -68,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Quai è ina clav cun ina structura cumplexa. La midada da sia data da scadenza na vegn betg sustegnida. openpgp-key-man-title = .title = Administraziun da clavs OpenPGP +openpgp-key-man-dialog-title = Administraziun da clavs OpenPGP openpgp-key-man-generate = .label = Nov pèr da clavs .accesskey = N @@ -415,10 +386,7 @@ key-verification = Verifitgescha l'impronta digitala da la clav cun agid dad in # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = Impussibel da trametter il messadi. I dat in problem cun tia clav persunala. { $problem } -cannot-encrypt-because-missing = Impussibel da trametter quest messadi cun criptadi da fin a fin. I dat problems cun las clavs dals suandants destinaturs: { $problem } window-locked = La fanestra da rediger è bloccada; spediziun annullada -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = Quai è ina part criptada dal messadi. Ti stos l'avrir en ina fanestra separada cun cliccar sin l'agiunta. ## Strings in keyserver.jsm @@ -641,7 +609,6 @@ import-key-file = Importar ina datoteca da clav OpenPGP import-rev-file = Importar ina datoteca da revocaziun OpenPGP gnupg-file = Datotecas GnuPG import-keys-failed = L'import da las clavs n'è betg reussì -passphrase-prompt = Endatescha per plaschair la frasa-clav che deblochescha la suandanta clav: { $key } # Variables: # $key (String) - Key id to unlock. # $date (String) - The date on which the key was created diff --git a/thunderbird-l10n/rm/localization/rm/messenger/preferences/system-integration.ftl b/thunderbird-l10n/rm/localization/rm/messenger/preferences/system-integration.ftl index b70dc1f91493cade6df78cf28b50545846f4e8c6..46d6676321a001cd39fcdb6bc5e81cfae476202e 100644 --- a/thunderbird-l10n/rm/localization/rm/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/rm/localization/rm/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Integraziun en il sistem - +system-integration-dialog-title = Integraziun en il sistem system-integration-dialog = .buttonlabelaccept = Definir sco standard .buttonlabelcancel = Sursiglir l'integraziun .buttonlabelcancel2 = Interrumper - default-client-intro = Duvrar { -brand-short-name } sco applicaziun predefinida per: - unset-default-tooltip = Impussibel dad allontanar { -brand-short-name } sco applicaziun da standard entaifer { -brand-short-name }. Per definir in'autra applicaziun sco applicaziun predefinida stos ti utilisar la funcziun 'Definir sco standard' en l'applicaziun correspundenta. - checkbox-email-label = .label = E-mail .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Feeds .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Chalender .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Tschertgader da Windows *[other] { "" } } - system-search-integration-label = .label = Permetter a { system-search-engine-name } da retschertgar messadis .accesskey = s - check-on-startup-label = .label = Controllar mintga giada che { -brand-short-name } vegn avià .accesskey = A diff --git a/thunderbird-l10n/rm/manifest.json b/thunderbird-l10n/rm/manifest.json index 7b8d78c86c852ae5e0d8e5799c88b070d02ad59a..c43bb33118790eae46f920008a163f0521074a07 100644 --- a/thunderbird-l10n/rm/manifest.json +++ b/thunderbird-l10n/rm/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Rumantsch (Romansh)", "description": "Thunderbird Language Pack for Rumantsch (rm) – Romansh", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "rm": { - "version": "20231208145422", + "version": "20231215210135", "chrome_resources": { "alerts": "chrome/rm/locale/rm/alerts/", "autoconfig": "chrome/rm/locale/rm/autoconfig/", diff --git a/thunderbird-l10n/ro/chrome/ro/locale/ro/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/ro/chrome/ro/locale/ro/messenger/messengercompose/composeMsgs.properties index 0c674c764431ebd93ebfa9b62a82c349ef3b4167..6c0dc63fd767e87aca3e612e8ce1c87994e9e3c7 100644 --- a/thunderbird-l10n/ro/chrome/ro/locale/ro/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/ro/chrome/ro/locale/ro/messenger/messengercompose/composeMsgs.properties @@ -458,3 +458,6 @@ confirmRemoveRecipientRowButton=Elimină ## LOCALIZATION NOTE headersSpaceStyle is for aligning label of a newly create recipient row. ## It should be larger than the largest Header label and identical to &headersSpace2.style; headersSpaceStyle=width: 8em + +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. diff --git a/thunderbird-l10n/ro/localization/ro/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/ro/localization/ro/messenger/openpgp/openpgp.ftl index 9c16c122e94ab4c23d5b13faee952290ea64c175..ba705e863da61967e5a80bcf3ff8c893178cd676 100644 --- a/thunderbird-l10n/ro/localization/ro/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/ro/localization/ro/messenger/openpgp/openpgp.ftl @@ -1,53 +1,17 @@ - # 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/. e2e-intro-description = Pentru a transmite mesaje criptate sau semnate digital, trebuie să configurezi o tehnologie de criptare, fie OpenPGP, fie S/MIME. - e2e-intro-description-more = Selectează cheia personală pentru a permite utilizarea OpenPGP sau certificatul personal pentru a permite utilizarea S/MIME. Pentru cheile personale sau certificate ai cheia secretă corespunzătoare. - -openpgp-key-user-id-label = Cont / ID utilizator -openpgp-keygen-title-label = - .title = Generează cheia OpenPGP -openpgp-cancel-key = - .label = Renunță - .tooltiptext = Renunță la generarea cheii -openpgp-key-gen-expiry-title = - .label = Data de expirare a cheii -openpgp-key-gen-expire-label = Cheia expiră în -openpgp-key-gen-days-label = - .label = zile -openpgp-key-gen-months-label = - .label = luni -openpgp-key-gen-years-label = - .label = ani -openpgp-key-gen-no-expiry-label = - .label = Cheia nu expiră -openpgp-key-gen-key-size-label = Mărime cheie -openpgp-key-gen-console-label = Generare de chei -openpgp-key-gen-key-type-label = Tip de cheie -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (Curbă eliptică) -openpgp-generate-key = - .label = Generează cheia - .tooltiptext = Generează o cheie nouă conformă OpenPGP pentru criptare și/sau semnare -openpgp-advanced-prefs-button-label = - .label = Avansate… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">NOTĂ: Generarea unei chei poate dura câteva minute.</a> Nu ieși din aplicație cât timp se generează o cheie. Navigarea activă pe Internet sau efectuarea de operații cu solicitarea intensivă a calculatorului în timpul generării cheilor va mări nivelul de randomizare și va accelera procesul. Va fi afișat un mesaj la finalizarea generării cheii. - openpgp-key-expiry-label = .label = Data expirării - openpgp-key-id-label = .label = ID cheie - openpgp-cannot-change-expiry = Cheia are o structură complexă și nu permite schimbarea datei de expirare. - openpgp-key-man-title = .title = Manager de chei OpenPGP +openpgp-key-man-dialog-title = Manager de chei OpenPGP openpgp-key-man-generate = .label = Pereche nouă de chei .accesskey = K @@ -56,7 +20,6 @@ openpgp-key-man-gen-revoke = .accesskey = R openpgp-key-man-ctx-gen-revoke-label = .label = Generează și salvează un certificat de revocare - openpgp-key-man-file-menu = .label = Fișier .accesskey = F @@ -72,7 +35,6 @@ openpgp-key-man-generate-menu = openpgp-key-man-keyserver-menu = .label = Server de chei .accesskey = K - openpgp-key-man-import-public-from-file = .label = Importă chei din fișier .accesskey = I @@ -95,32 +57,25 @@ openpgp-key-man-send-keys = openpgp-key-man-backup-secret-keys = .label = Fă o copie de rezervă cu cheile în fișier .accesskey = B - openpgp-key-man-discover-cmd = .label = Caută chei online .accesskey = D openpgp-key-man-discover-prompt = Pentru a căuta chei OpenPGP online, pe servere de chei sau folosind protocolul WKD, introdu o adresă de e-mail sau un ID de cheie. openpgp-key-man-discover-progress = Căutare în curs… - openpgp-key-copy-key = .label = Copiază cheia publică .accesskey = C - openpgp-key-export-key = .label = Exportă cheia publică într-un fișier .accesskey = E - openpgp-key-backup-key = .label = Fă o copie de rezervă cu cheia secretă în fișier .accesskey = B - openpgp-key-send-key = .label = Trimite cheia publică prin e-mail .accesskey = S - openpgp-key-man-ctx-expor-to-file-label = .label = Exportă cheile într-un fișier - openpgp-key-man-close = .label = Închide openpgp-key-man-reload = @@ -168,15 +123,12 @@ openpgp-key-man-nothing-found-tooltip = .label = Nicio cheie nu se potrivește cu termenii de căutare openpgp-key-man-please-wait-tooltip = .label = Te rugăm să aștepți până când se încarcă cheile ... - openpgp-key-man-filter-label = .placeholder = Caută chei - openpgp-key-man-select-all-key = .key = A openpgp-key-man-key-details-key = .key = I - openpgp-key-details-signatures-tab = .label = Certificări openpgp-key-details-structure-tab = @@ -188,7 +140,6 @@ openpgp-key-details-id-label = openpgp-key-details-key-type-label = Tip openpgp-key-details-key-part-label = .label = Parte de cheie - openpgp-key-details-algorithm-label = .label = Algoritm openpgp-key-details-size-label = @@ -224,7 +175,6 @@ openpgp-personal-no-label = .label = Nu, nu o folosi drept cheie personală. openpgp-personal-yes-label = .label = Da, tratează această cheie drept cheie personală. - openpgp-copy-cmd-label = .label = Copiază @@ -232,53 +182,39 @@ openpgp-copy-cmd-label = # $key (String) - the currently selected OpenPGP key openpgp-selection-status-error = Configurația ta curentă folosește cheia <b>{ $key }</b>, care a expirat. - openpgp-add-key-button = .label = Adaugă o cheie... .accesskey = A - e2e-learn-more = Află mai multe - openpgp-keygen-success = Cheia OpenPGP a fost creată cu succes! - openpgp-keygen-import-success = Cheile OpenPGP au fost importate cu succes! - openpgp-keygen-external-success = ID-ul cheii externe GnuPG a fost salvat! ## OpenPGP Key selection area openpgp-radio-none = .label = Niciuna - openpgp-radio-none-desc = Nu folosi OpenPGP pentru această identitate. - # $key (String) - the expiration date of the OpenPGP key openpgp-radio-key-expires = Expiră la: { $date } - # $key (String) - the expiration date of the OpenPGP key openpgp-radio-key-expired = Expiră la: { $date } - openpgp-key-expand-section = .tooltiptext = Mai multe informații - openpgp-key-revoke-title = Revocă cheia - openpgp-key-edit-title = Schimbă cheia OpenPGP - openpgp-key-edit-date-title = Prelungește perioada de valabilitate - openpgp-manager-description = Folosește managerul de chei OpenPGP pentru a vizualiza și gestiona cheile publice ale persoanelor cu care corespondezi și toate celelalte chei care nu sunt enumerate mai sus. - openpgp-manager-button = .label = Manager de chei OpenPGP .accesskey = K - openpgp-key-remove-external = .label = Elimină ID cheie externă .accesskey = E - key-external-label = Cheie GnuPG externă +## Strings in keyDetailsDlg.xhtml + # Strings in keyDetailsDlg.xhtml key-type-public = cheie publică key-type-primary = cheie primară @@ -295,12 +231,13 @@ key-expired-simple = Cheia a expirat key-revoked-simple = Cheia a fost revocată key-do-you-accept = Accepți cheia pentru verificarea semnăturilor digitale și pentru criptarea mesajelor? +## Strings enigmailMsgComposeOverlay.js + # Strings enigmailMsgComposeOverlay.js cannot-use-own-key-because = Mesajul nu poate fi trimis pentru că a apărut o problemă la cheia ta personală. { $problem } -cannot-encrypt-because-missing = Mesajul nu poate fi trimis criptat end-to-end deoarece sunt probleme legate de cheile următorilor destinatari: { $problem } window-locked = Fereastra de redactare a mesajelor este blocată; trimitere anulată -mime-decrypt-encrypted-part-concealed-data = Este o parte criptată a mesajului. Trebuie să o deschizi într-o fereastră separată dând clic pe atașament. +## Strings in keyserver.jsm # Strings in keyserver.jsm keyserver-error-aborted = Abandonat @@ -312,6 +249,8 @@ keyserver-error-security-error = Serverul de chei nu are suport pentru acces cri keyserver-error-certificate-error = Certificatul serverului de chei nu este valid. keyserver-error-unsupported = Serverul de chei nu este compatibil. +## Strings in mimeWkdHandler.jsm + # Strings in mimeWkdHandler.jsm wkd-message-body-req = Furnizorul tău de e-mail ți-a procesat cererea de a încărca cheia publică în directorul web de chei OpenPGP. @@ -320,12 +259,16 @@ wkd-message-body-process = Este un mesaj legat de procesarea automată de încărcare a cheii tale publice în directorul web de chei OpenPGP. Deocamdată nu este necesară nicio acțiune manuală din partea ta. +## Strings in persistentCrypto.jsm + # Strings in persistentCrypto.jsm converter-decrypt-body-failed = Nu s-a reușit decriptarea mesajului cu subiectul { $subject }. Vrei să încerci din nou cu altă parolă sau vrei să sari peste mesaj? +## Strings filters.jsm + # Strings filters.jsm filter-folder-required = Trebuie să selectezi un dosar-țintă. filter-decrypt-move-warn-experimental = @@ -338,11 +281,15 @@ filter-warn-key-not-secret = Avertisment - Acțiunea de filtrare „Criptare cu cheie” înlocuiește destinatarii. Dacă nu ai cheia secretă pentru „{ $desc }”, nu vei mai putea citi mesajele de e-mail. +## Strings filtersWrapper.jsm + # Strings filtersWrapper.jsm filter-decrypt-move-label = Decriptează permanent (OpenPGP) filter-decrypt-copy-label = Creează copie decriptată (OpenPGP) filter-encrypt-label = Criptează pentru cheie (OpenPGP) +## Strings in enigmailKeyImportInfo.js + # Strings in enigmailKeyImportInfo.js import-info-title = .title = Succes! Cheia a fost importată @@ -352,6 +299,8 @@ import-info-fpr = Amprentă import-info-details = Vezi detaliile și gestionează acceptarea cheii import-info-no-keys = Nu a fost importată nicio cheie. +## Strings in enigmailKeyManager.js + # Strings in enigmailKeyManager.js import-from-clip = Vrei să imporți chei din clipboard? import-from-url = Descarcă o cheie publică de la acest URL: @@ -395,10 +344,14 @@ dlg-button-delete = &Șterge openpgp-export-public-success = <b>Cheie publică exportată cu succes!</b> openpgp-export-public-fail = <b>Cheia publică selectată nu a putut fi exportată!</b> - openpgp-export-secret-success = <b>Cheia secretă a fost exportată cu succes!</b> openpgp-export-secret-fail = <b>Cheia secretă selectată nu a putut fi exportată!</b> +## Strings in keyObj.jsm +## Variables: +## $userId (String) - The name and/or email address that is mentioned in the key's information. +## $keyId (String) - Key id for the key entry. + # Strings in keyObj.jsm key-ring-pub-key-revoked = Cheia { $userId } (ID cheie { $keyId }) este revocată. key-ring-pub-key-expired = Cheia { $userId } (ID cheie { $keyId }) a expirat. @@ -410,63 +363,68 @@ key-ring-sign-sub-keys-expired = Toate subcheile de semnătură ale cheii { $use key-ring-enc-sub-keys-revoked = Toate subcheile de criptare ale cheii { $userId } (ID cheie { $keyId }) sunt revocate. key-ring-enc-sub-keys-expired = Toate subcheile de criptare ale cheii { $userId } (ID cheie { $keyId }) au expirat. +## Strings in gnupg-keylist.jsm + # Strings in gnupg-keylist.jsm keyring-photo = Fotografie user-att-photo = Atribut utilizator (imagine JPEG) +## Strings in key.jsm + # Strings in key.jsm already-revoked = Cheia a fost deja revocată. - # $identity (String) - the id and associated user identity of the key being revoked revoke-key-question = Ești pe cale să revoci cheia '{ $identity }'. Nu vei mai putea semna cu această cheie și, odată distribuită, alții nu vor mai putea cripta cu ea. O poți folosi în continuare la decriptarea mesajelor vechi. Vrei să continui? - # $keyId (String) - the id of the key being revoked revoke-key-not-present = Nu ai nicio cheie (0x{ $keyId }) potrivit cu acest certificat de revocare! Dacă ți-ai pierdut cheia, trebuie să o imporți (de ex., de pe un server de chei) înainte de a importa certificatul de revocare! - # $keyId (String) - the id of the key being revoked revoke-key-already-revoked = Cheia 0x{ $keyId } a fost deja revocată. - key-man-button-revoke-key = &Revocă cheia - openpgp-key-revoke-success = Cheia a fost revocată cu succes. - after-revoke-info = Cheia a fost revocată. Partajează iar această cheie publică, trimițând-o prin e-mail sau încărcând-o pe serverele de chei, pentru a-i anunța pe ceilalți că ai revocat-o. Imediat ce software-ul folosit de ceilalți găsește informația despre revocare, acesta va înceta să îți mai folosească cheia veche. Dacă folosești o cheie nouă pentru aceeași adresă de e-mail și atașezi cheia publică nouă la mesajele pe care le trimiți prin e-mail, atunci informațiile despre cheia veche revocată vor fi incluse automat. +## Strings in keyRing.jsm & decryption.jsm + # Strings in keyRing.jsm & decryption.jsm key-man-button-import = &Importă - delete-key-title = Șterge cheia OpenPGP - delete-external-key-title = Elimină cheia externă GnuPG - delete-external-key-description = Vrei să ștergi acest ID de cheie externă GnuPG? - key-in-use-title = Cheie OpenPGP utilizată în prezent - delete-key-in-use-description = Nu se poate continua! Cheia selectată pentru ștergere este utilizată în prezent de această identitate. Selectează o cheie diferită sau nu selecta niciuna și încearcă din nou. - revoke-key-in-use-description = Nu se poate continua! Cheia selectată pentru revocare este utilizată în prezent de această identitate. Selectează o cheie diferită sau nu selecta niciuna și încearcă din nou. +## Strings used in errorHandling.jsm + # Strings used in errorHandling.jsm key-error-key-spec-not-found = Adresa de e-mail „{ $keySpec }” nu poate fi corelată cu o cheie din fișierul de chei. key-error-key-id-not-found = ID-ul cheii configurate „{ $keySpec }” nu se regăsește în fișierul de chei. key-error-not-accepted-as-personal = Nu ai confirmat cheia cu ID-ul „{ $keySpec }” drept cheie personală. +## Strings used in enigmailKeyManager.js & windows.jsm + # Strings used in enigmailKeyManager.js & windows.jsm need-online = Funcția pe care ai selectat-o nu este disponibilă în modul offline. Treci în modul online și încearcă din nou. +## Strings used in keyRing.jsm & keyLookupHelper.jsm + + +## Strings used in keyRing.jsm & GnuPGCryptoAPI.jsm + # Strings used in keyRing.jsm & GnuPGCryptoAPI.jsm fail-key-extract = Eroare - Comanda de extragere a cheii a eșuat +## Strings used in keyRing.jsm + # Strings used in keyRing.jsm fail-cancel = Eroare - Recepția cheii a fost anulată de utilizator not-first-block = Eroare - Primul bloc OpenPGP nu este un bloc de chei publice @@ -476,6 +434,8 @@ file-write-failed = Nu s-a reușit scrierea în fișierul { $output } no-pgp-block = Eroare - Nu s-a găsit niciun bloc valid de date blindate OpenPGP confirm-permissive-import = Importul a eșuat. Cheia pe care încerci să o imporți poate fi coruptă sau folosește atribute necunoscute. Vrei să încerci să imporți părțile corecte? Poate conduce la importarea de chei incomplete și neutilizabile. +## Strings used in trust.jsm + # Strings used in trust.jsm key-valid-unknown = necunoscută key-valid-invalid = nevalidă @@ -488,14 +448,17 @@ key-trust-full = de încredere key-trust-ultimate = absolută key-trust-group = (grupă) +## Strings used in commonWorkflows.js + # Strings used in commonWorkflows.js import-key-file = Importă un fișier de chei OpenPGP import-rev-file = Importă un fișier de revocare OpenPGP gnupg-file = Fișiere GnuPG import-keys-failed = Importul cheilor a eșuat -passphrase-prompt = Introdu parola de deblocare a cheii următoare: { $key } file-to-big-to-import = Fișierul este prea mare. Nu importa un set mare de chei deodată. +## Strings used in enigmailKeygen.js + # Strings used in enigmailKeygen.js save-revoke-cert-as = Creează și salvează certificatul de revocare revoke-cert-ok = Certificatul de revocare a fost creat cu succes. Îl poți folosi pentru invalidarea cheii tale publice, de ex., în cazul în care îți pierzi cheia secretă. @@ -510,12 +473,11 @@ key-abort = Abandonezi generarea cheilor? key-man-button-generate-key-abort = &Abandonează generarea cheilor key-man-button-generate-key-continue = &Continuă generarea cheilor -# Strings used in enigmailMessengerOverlay.js +## Strings used in enigmailMessengerOverlay.js # Strings used in enigmailMessengerOverlay.js failed-decrypt = Eroare - decriptarea a eșuat fix-broken-exchange-msg-failed = Repararea mesajului nu a reușit. - attachment-no-match-from-signature = Fișierul de semnătură „{ $attachment }” nu a putut fi corelat la un atașament attachment-no-match-to-signature = Atașamentul „{ $attachment }” nu a putut fi corelat la un fișier de semnătură signature-verified-ok = Semnătura pentru atașamentul { $attachment } a fost verificată cu succes @@ -526,6 +488,8 @@ decrypt-ok-no-sig = msg-ovl-button-cont-anyway = &Continuă oricum enig-content-note = *Atașamentele acestui mesaj nu au fost semnate, nici criptate* +## Strings used in enigmailMsgComposeOverlay.js + # Strings used in enigmailMsgComposeOverlay.js msg-compose-button-send = &Trimite mesajul msg-compose-details-button-label = Detalii... @@ -560,6 +524,8 @@ possibly-pgp-mime = Mesaj posibil criptat sau semnat cu PGP/MIME; folosește fun cannot-send-sig-because-no-own-key = Mesajul nu poate fi semnat digital pentru că nu ai configurat criptarea end-to-end pentru <{ $key }> cannot-send-enc-because-no-own-key = Mesajul nu poate fi criptat pentru că nu ai configurat criptarea end-to-end pentru <{ $key }> +## Strings used in decryption.jsm + # Strings used in decryption.jsm do-import-multiple = Imporți cheile următoare? @@ -575,17 +541,25 @@ attachment-pgp-key = Dă clic pe „Import” ca să imporți cheile incluse sau pe „Afișare” ca să vezi conținutul fișierului într-o fereastră de browser dlg-button-view = &Afișare +## Strings used in enigmailMsgHdrViewOverlay.js + # Strings used in enigmailMsgHdrViewOverlay.js decrypted-msg-with-format-error = Mesaj decriptat (format de e-mail PGP defect restaurat, probabil produs de un server Exchange vechi, deci rezultatul ar putea să nu fie perfect lizibil) +## Strings used in encryption.jsm + # Strings used in encryption.jsm not-required = Eroare - Nu necesită nicio criptare +## Strings used in windows.jsm + # Strings used in windows.jsm no-photo-available = Nicio fotografie disponibilă error-photo-path-not-readable = Calea către fotografia „{ $photo }” nu este lizibilă debug-log-title = Jurnal de depanare OpenPGP +## Strings used in dialog.jsm + # Strings used in dialog.jsm repeat-prefix = Alerta se va repeta { $count } repeat-suffix-singular = mai mult timp. @@ -601,9 +575,13 @@ enig-confirm = Confirmare OpenPGP enig-alert = Alertă OpenPGP enig-info = Informații OpenPGP +## Strings used in persistentCrypto.jsm + # Strings used in persistentCrypto.jsm dlg-button-retry = &Reîncearcă dlg-button-skip = &Sari peste +## Strings used in enigmailMsgBox.js + enig-alert-title = .title = Alertă OpenPGP diff --git a/thunderbird-l10n/ro/localization/ro/messenger/preferences/system-integration.ftl b/thunderbird-l10n/ro/localization/ro/messenger/preferences/system-integration.ftl index 7cbd2ceda0b57cfe088fa1e9411efc509b8169f7..9bc3834d1686fa75f0f2508459d80e4618371076 100644 --- a/thunderbird-l10n/ro/localization/ro/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/ro/localization/ro/messenger/preferences/system-integration.ftl @@ -4,6 +4,7 @@ system-integration-title = .title = Integrare cu sistemul +system-integration-dialog-title = Integrare cu sistemul system-integration-dialog = .buttonlabelaccept = Setează ca implicit .buttonlabelcancel = Omite integrarea diff --git a/thunderbird-l10n/ro/manifest.json b/thunderbird-l10n/ro/manifest.json index 24593fa5c70e06a1dafbe1dcabd3538f82278497..a9f09579e2a97eee5e2956010bc49b8717cf7c48 100644 --- a/thunderbird-l10n/ro/manifest.json +++ b/thunderbird-l10n/ro/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Română (Romanian)", "description": "Thunderbird Language Pack for Română (ro) – Romanian", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "ro": { - "version": "20231208145506", + "version": "20231215210221", "chrome_resources": { "alerts": "chrome/ro/locale/ro/alerts/", "autoconfig": "chrome/ro/locale/ro/autoconfig/", diff --git a/thunderbird-l10n/ru/localization/ru/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/ru/localization/ru/messenger/accountcreation/accountHub.ftl index b75be222d0565e5f879f63942162615451fab4cb..25a26223a57515870ad97467932d7ec1570d4e03 100644 --- a/thunderbird-l10n/ru/localization/ru/messenger/accountcreation/accountHub.ftl +++ b/thunderbird-l10n/ru/localization/ru/messenger/accountcreation/accountHub.ftl @@ -80,3 +80,4 @@ account-hub-username-label = Имя пользователя account-hub-adding-account-title = Добавление учетной записи account-hub-adding-account-subheader = Повторное тестирование параметров конфигурации учетной записи account-hub-account-added-title = Учётная запись добавлена +account-hub-find-settings-failed = { -brand-full-name } не удалось найти настройки для вашей учетной записи почты diff --git a/thunderbird-l10n/ru/localization/ru/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/ru/localization/ru/messenger/compactFoldersDialog.ftl index a0243eb7263b239b21ee10382b1f3c8e07c94099..1a823e244c34aa97ce3863eaeedbcdba3599b9ab 100644 --- a/thunderbird-l10n/ru/localization/ru/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/ru/localization/ru/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Сжатие папок - .style = width: 50em; compact-dialog-window-title = .title = Сжатие папок +compact-folders-dialog-title = Сжатие папок compact-dialog = .buttonlabelaccept = Сжать сейчас .buttonaccesskeyaccept = а diff --git a/thunderbird-l10n/ru/localization/ru/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/ru/localization/ru/messenger/openpgp/openpgp.ftl index fdff804fd16a814f9f95f54ed663093c52200468..2c13c4ede679b1db6f34ce1f933c3b4d347aa5f5 100644 --- a/thunderbird-l10n/ru/localization/ru/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/ru/localization/ru/messenger/openpgp/openpgp.ftl @@ -38,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Это ключ со сложной структурой, изменение срока его действия не поддерживается. openpgp-key-man-title = .title = Менеджер ключей OpenPGP +openpgp-key-man-dialog-title = Менеджер ключей OpenPGP openpgp-key-man-generate = .label = Новая ключевая пара .accesskey = в diff --git a/thunderbird-l10n/ru/localization/ru/messenger/preferences/system-integration.ftl b/thunderbird-l10n/ru/localization/ru/messenger/preferences/system-integration.ftl index a66aaf05abe3b345745844b19c27f04bca173554..31ebc769a654416abafd2edde9ad15a18eafdc6b 100644 --- a/thunderbird-l10n/ru/localization/ru/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/ru/localization/ru/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Интеграция с системой - +system-integration-dialog-title = Интеграция с системой system-integration-dialog = .buttonlabelaccept = Установить по умолчанию .buttonlabelcancel = Пропустить интеграцию .buttonlabelcancel2 = Отмена - default-client-intro = Использовать { -brand-short-name } по умолчанию в качестве: - unset-default-tooltip = Нельзя отказаться от использования { -brand-short-name } в качестве клиента по умолчанию, находясь в самом { -brand-short-name }. Чтобы установить другое приложение в качестве клиента по умолчанию, вы должны воспользоваться его функцией «установки по умолчанию». - checkbox-email-label = .label = Почтового клиента .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Клиента лент новостей .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Календаря .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Поиску Windows *[other] { "" } } - system-search-integration-label = .label = Разрешить { system-search-engine-name } производить поиск сообщений .accesskey = з - check-on-startup-label = .label = Всегда производить эту проверку при запуске { -brand-short-name } .accesskey = В diff --git a/thunderbird-l10n/ru/manifest.json b/thunderbird-l10n/ru/manifest.json index 0409722215cbf492486dfeb4d0fe49aab14b2035..76decc50518d8b0576660461dc578b63d73f5faf 100644 --- a/thunderbird-l10n/ru/manifest.json +++ b/thunderbird-l10n/ru/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Русский (Russian)", "description": "Thunderbird Language Pack for Русский (ru) – Russian", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "ru": { - "version": "20231208145552", + "version": "20231215210307", "chrome_resources": { "alerts": "chrome/ru/locale/ru/alerts/", "autoconfig": "chrome/ru/locale/ru/autoconfig/", diff --git a/thunderbird-l10n/sk/localization/sk/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/sk/localization/sk/messenger/accountcreation/accountHub.ftl index 005d0ef1bf617306f6c1310d5f28281bca73375c..7193afc3a7c2634e1aa921c100c3512ed51ec632 100644 --- a/thunderbird-l10n/sk/localization/sk/messenger/accountcreation/accountHub.ftl +++ b/thunderbird-l10n/sk/localization/sk/messenger/accountcreation/accountHub.ftl @@ -80,3 +80,4 @@ account-hub-username-label = Používateľské meno account-hub-adding-account-title = Účet sa pridáva account-hub-adding-account-subheader = Opätovne sa testujú nastavenia účtu account-hub-account-added-title = Účet bol pridaný +account-hub-find-settings-failed = { -brand-full-name(case: "dat") } nemohol nájsť nastavenia pre váš e‑mailový účet diff --git a/thunderbird-l10n/sk/localization/sk/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/sk/localization/sk/messenger/compactFoldersDialog.ftl index a07dff940a3d94d7cebd57700e9776661cf780e1..3dac47e07ba28babd87a271b2d5af14c02b7964d 100644 --- a/thunderbird-l10n/sk/localization/sk/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/sk/localization/sk/messenger/compactFoldersDialog.ftl @@ -4,6 +4,7 @@ compact-dialog-window-title = .title = Údržba priečinkov +compact-folders-dialog-title = Údržba priečinkov compact-dialog = .buttonlabelaccept = Vykonať údržbu teraz .buttonaccesskeyaccept = V diff --git a/thunderbird-l10n/sk/localization/sk/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/sk/localization/sk/messenger/openpgp/openpgp.ftl index 000fe1ef2e15951f640228ff036c362cb6754f79..696b9d85f4c70642fb1d94e0924a82f76db783be 100644 --- a/thunderbird-l10n/sk/localization/sk/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/sk/localization/sk/messenger/openpgp/openpgp.ftl @@ -38,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Toto je kľúč so zložitou štruktúrou, zmena jeho dátumu platnosti nie je podporovaná. openpgp-key-man-title = .title = Správca kľúčov OpenPGP +openpgp-key-man-dialog-title = Správca kľúčov OpenPGP openpgp-key-man-generate = .label = Nový pár kľúčov .accesskey = N diff --git a/thunderbird-l10n/sk/localization/sk/messenger/preferences/system-integration.ftl b/thunderbird-l10n/sk/localization/sk/messenger/preferences/system-integration.ftl index 868675bab24e8fba308131782a37dea4d21e4d3d..0f9e2572f7c15633c8bc030a4174584ed56f7db1 100644 --- a/thunderbird-l10n/sk/localization/sk/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/sk/localization/sk/messenger/preferences/system-integration.ftl @@ -4,6 +4,7 @@ system-integration-title = .title = Integrácia so systémom +system-integration-dialog-title = Integrácia so systémom system-integration-dialog = .buttonlabelaccept = Nastaviť ako predvolený .buttonlabelcancel = Preskočiť nastavenie integrácie diff --git a/thunderbird-l10n/sk/manifest.json b/thunderbird-l10n/sk/manifest.json index 78ac3e47e839d6f9c4d10a8c745976186564b588..5af43a28c8fe5aaf97b90ff9b581b68d33e5b559 100644 --- a/thunderbird-l10n/sk/manifest.json +++ b/thunderbird-l10n/sk/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Slovenčina (Slovak)", "description": "Thunderbird Language Pack for Slovenčina (sk) – Slovak", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "sk": { - "version": "20231208145637", + "version": "20231215210354", "chrome_resources": { "alerts": "chrome/sk/locale/sk/alerts/", "autoconfig": "chrome/sk/locale/sk/autoconfig/", diff --git a/thunderbird-l10n/sl/localization/sl/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/sl/localization/sl/messenger/accountcreation/accountHub.ftl index 7af02c5e9c89409301fe6c46358c52bf9e4e7e23..e2a85a03569960903261b307250cfb1199b6c892 100644 --- a/thunderbird-l10n/sl/localization/sl/messenger/accountcreation/accountHub.ftl +++ b/thunderbird-l10n/sl/localization/sl/messenger/accountcreation/accountHub.ftl @@ -80,3 +80,4 @@ account-hub-username-label = Uporabniško ime account-hub-adding-account-title = Dodajanje računa account-hub-adding-account-subheader = Ponovno preizkušanje nastavitev računa account-hub-account-added-title = Račun dodan +account-hub-find-settings-failed = { -brand-full-name } ni uspel najti nastavitev za vaš e-poštni račun. diff --git a/thunderbird-l10n/sl/localization/sl/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/sl/localization/sl/messenger/compactFoldersDialog.ftl index 957bd2b92de0d01e1f0dd26ade18ead9950cee56..bb36f435c0928a00c81f6ef25126b06a970443a2 100644 --- a/thunderbird-l10n/sl/localization/sl/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/sl/localization/sl/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Strni mape - .style = width: 50em; compact-dialog-window-title = .title = Strni mape +compact-folders-dialog-title = Strni mape compact-dialog = .buttonlabelaccept = Strni zdaj .buttonaccesskeyaccept = S diff --git a/thunderbird-l10n/sl/localization/sl/messenger/openpgp/msgReadStatus.ftl b/thunderbird-l10n/sl/localization/sl/messenger/openpgp/msgReadStatus.ftl index 1978cc46fe5f956dfb9db78fd1abec26e879f416..347b2f3024a071b1d0d221f9f46b207ff61301d1 100644 --- a/thunderbird-l10n/sl/localization/sl/messenger/openpgp/msgReadStatus.ftl +++ b/thunderbird-l10n/sl/localization/sl/messenger/openpgp/msgReadStatus.ftl @@ -28,6 +28,10 @@ openpgp-invalid-sig = Neveljaven digitalni podpis # Variables: # $date (String) - Date with time the signature was made in a short format. openpgp-invalid-sig-with-date = Neveljaven digitalni podpis – podpisano { $date } +openpgp-bad-date-sig = Neujemanje datumov podpisa +# Variables: +# $date (String) - Date with time the signature was made in a short format. +openpgp-bad-date-sig-with-date = Datum podpisa se ne ujema – Podpisano { $date } openpgp-good-sig = Dober digitalni podpis # Variables: # $date (String) - Date with time the signature was made in a short format. diff --git a/thunderbird-l10n/sl/localization/sl/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/sl/localization/sl/messenger/openpgp/openpgp.ftl index 5759393c2517a43c87ef407faacfda3fb8af0fd1..e153e9cbe5a0976907db2d90c50b2247b4efc0c6 100644 --- a/thunderbird-l10n/sl/localization/sl/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/sl/localization/sl/messenger/openpgp/openpgp.ftl @@ -38,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = To je ključ z zapleteno strukturo; spreminjanje njegovega datuma preteka ni podprto. openpgp-key-man-title = .title = Upravitelj ključev OpenPGP +openpgp-key-man-dialog-title = Upravitelj ključev OpenPGP openpgp-key-man-generate = .label = Nov par ključev .accesskey = k @@ -408,6 +409,9 @@ keyserver-error-unsupported = Strežnik ključev ni podprt. wkd-message-body-req = Vaš ponudnik e-pošte je obdelal vašo zahtevo za prenos vašega javnega ključa v OpenPGP Web Key Directory. Prosimo, potrdite, da dokončate objavo vašega javnega ključa. +wkd-message-body-process = + To je e-poštno sporočilo, povezano s samodejno obdelavo za nalaganje vašega javnega ključa v imenik spletnih ključev OpenPGP. + Trenutno vam ni treba ročno storiti ničesar. ## Strings in persistentCrypto.jsm diff --git a/thunderbird-l10n/sl/localization/sl/messenger/preferences/system-integration.ftl b/thunderbird-l10n/sl/localization/sl/messenger/preferences/system-integration.ftl index eddfa4eeee5c48eb2faa5b9dc1d9a8906904e787..719a96d7e79a84ffefc51fd546b567f94733c0f7 100644 --- a/thunderbird-l10n/sl/localization/sl/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/sl/localization/sl/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Vključitev v sistem - +system-integration-dialog-title = Vključitev v sistem system-integration-dialog = .buttonlabelaccept = Nastavi kot privzeto .buttonlabelcancel = Ne zdaj .buttonlabelcancel2 = Prekliči - default-client-intro = Uporabi { -brand-short-name } kot privzeti program za: - unset-default-tooltip = { -brand-short-name }a ni mogoče odstraniti kot privzetega odjemalca znotraj { -brand-short-name }a. Če želite privzeto uporabljati drug program, uporabite njegovo pogovorno okno 'Nastavi kot privzeto'. - checkbox-email-label = .label = E-pošto .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Vire .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Koledar .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] iskanju Windows *[other] { "" } } - system-search-integration-label = .label = Dovoli { system-search-engine-name } iskanje po sporočilih .accesskey = D - check-on-startup-label = .label = Vedno preveri ob zagonu { -brand-short-name }a .accesskey = V diff --git a/thunderbird-l10n/sl/manifest.json b/thunderbird-l10n/sl/manifest.json index 6c6d07eb2179d69172a398f38e711ba30d6f0348..ba79c82053b3f8888f83f20dee951b0fbb8cba57 100644 --- a/thunderbird-l10n/sl/manifest.json +++ b/thunderbird-l10n/sl/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Slovenščina (Slovenian)", "description": "Thunderbird Language Pack for Slovenščina (sl) – Slovenian", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "sl": { - "version": "20231208145723", + "version": "20231215210442", "chrome_resources": { "alerts": "chrome/sl/locale/sl/alerts/", "autoconfig": "chrome/sl/locale/sl/autoconfig/", diff --git a/thunderbird-l10n/sq/localization/sq/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/sq/localization/sq/messenger/accountcreation/accountHub.ftl index 6c948f10a6c97aa938fc0f15efa356ab87ceb22b..0dd561f7008cf0bdfd06a3330e58cd0410c23f6f 100644 --- a/thunderbird-l10n/sq/localization/sq/messenger/accountcreation/accountHub.ftl +++ b/thunderbird-l10n/sq/localization/sq/messenger/accountcreation/accountHub.ftl @@ -80,3 +80,4 @@ account-hub-username-label = Emër përdoruesi account-hub-adding-account-title = Shtim Llogarish account-hub-adding-account-subheader = Riprovim rregullimesh formësimi llogarie account-hub-account-added-title = Llogaria u Shtua +account-hub-find-settings-failed = { -brand-full-name } s’arriti të gjejë rregullimet për llogarinë tuaj email diff --git a/thunderbird-l10n/sq/localization/sq/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/sq/localization/sq/messenger/compactFoldersDialog.ftl index 2b36030ce400bfd8391214677a768c3bc1d7d5e5..f373debf085949c0a9b9212108e8147c8e3976eb 100644 --- a/thunderbird-l10n/sq/localization/sq/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/sq/localization/sq/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Ngjeshi dosjet - .style = width: 50em; compact-dialog-window-title = .title = Ngjeshi dosjet +compact-folders-dialog-title = Ngjeshi dosjet compact-dialog = .buttonlabelaccept = Ngjeshi tani .buttonaccesskeyaccept = N diff --git a/thunderbird-l10n/sq/localization/sq/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/sq/localization/sq/messenger/openpgp/openpgp.ftl index 658a3756a3d0b2c4f75b3f78ad017424b42f95d9..a66be25f93a6e7ace854f2f6b33f42f1ee9beaeb 100644 --- a/thunderbird-l10n/sq/localization/sq/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/sq/localization/sq/messenger/openpgp/openpgp.ftl @@ -38,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Ky është një kyç me një strukturë komplekse, nuk mbulohet ndryshimi i datës së skadimit të tij. openpgp-key-man-title = .title = Përgjegjës Kyçesh OpenPGP +openpgp-key-man-dialog-title = Përgjegjës Kyçesh OpenPGP openpgp-key-man-generate = .label = Çift i Ri Kyçesh .accesskey = K diff --git a/thunderbird-l10n/sq/localization/sq/messenger/preferences/system-integration.ftl b/thunderbird-l10n/sq/localization/sq/messenger/preferences/system-integration.ftl index 04ff65ce4cf79907d01084cec7f353e68fa7484f..b00ddef98189f2a9044d27cdf0ec00b2340f675f 100644 --- a/thunderbird-l10n/sq/localization/sq/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/sq/localization/sq/messenger/preferences/system-integration.ftl @@ -4,6 +4,7 @@ system-integration-title = .title = Integrim me Sistemin +system-integration-dialog-title = Integrim me Sistemin system-integration-dialog = .buttonlabelaccept = Vëre si Parazgjedhje .buttonlabelcancel = Anashkaloje Integrimin diff --git a/thunderbird-l10n/sq/manifest.json b/thunderbird-l10n/sq/manifest.json index b60162dd7daf733341843b78aad8eae50f3770dd..fff778d47e5dcb17188c3ac6f18559808ced447e 100644 --- a/thunderbird-l10n/sq/manifest.json +++ b/thunderbird-l10n/sq/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Shqip (Albanian)", "description": "Thunderbird Language Pack for Shqip (sq) – Albanian", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "sq": { - "version": "20231208145432", + "version": "20231215210140", "chrome_resources": { "alerts": "chrome/sq/locale/sq/alerts/", "autoconfig": "chrome/sq/locale/sq/autoconfig/", diff --git a/thunderbird-l10n/sr/chrome/sr/locale/sr/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/sr/chrome/sr/locale/sr/messenger/messengercompose/composeMsgs.properties index eab2efb43e8b69b58e772e0b39ea79aa54b3ab6a..7ae0ee90095d11cec5f190cbb428e9c3a3b102be 100644 --- a/thunderbird-l10n/sr/chrome/sr/locale/sr/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/sr/chrome/sr/locale/sr/messenger/messengercompose/composeMsgs.properties @@ -458,3 +458,6 @@ confirmRemoveRecipientRowButton=Уклони ## LOCALIZATION NOTE headersSpaceStyle is for aligning label of a newly create recipient row. ## It should be larger than the largest Header label and identical to &headersSpace2.style; headersSpaceStyle=width: 8em + +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. diff --git a/thunderbird-l10n/sr/localization/sr/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/sr/localization/sr/messenger/compactFoldersDialog.ftl index 6e18d77d74dc55bfbf38ba7f15384adcadac2873..9b35d7c2fb39f7f05903dfb63f7e40f7b8815375 100644 --- a/thunderbird-l10n/sr/localization/sr/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/sr/localization/sr/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Сажми фасцикле - .style = width: 50em; compact-dialog-window-title = .title = Сажми фасцикле +compact-folders-dialog-title = Сажми фасцикле compact-dialog = .buttonlabelaccept = Сажми сада .buttonaccesskeyaccept = С diff --git a/thunderbird-l10n/sr/localization/sr/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/sr/localization/sr/messenger/openpgp/openpgp.ftl index 3655c13e5b84a3b3c183c4a479b680947e73fa08..9e4410726232f6a2e230851ad4142b61c7adf028 100644 --- a/thunderbird-l10n/sr/localization/sr/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/sr/localization/sr/messenger/openpgp/openpgp.ftl @@ -31,6 +31,7 @@ e2e-autocrypt-headers = .accesskey = т openpgp-key-man-title = .title = OpenPGP управник кључева +openpgp-key-man-dialog-title = OpenPGP управник кључева openpgp-key-man-edit-menu = .label = Уреди .accesskey = е diff --git a/thunderbird-l10n/sr/localization/sr/messenger/preferences/system-integration.ftl b/thunderbird-l10n/sr/localization/sr/messenger/preferences/system-integration.ftl index c5f4720a2b58d1c3e5f24f90eacb8f7952cf2067..7e20dfeb4428116b61666a5c9d3e03c263fc2250 100644 --- a/thunderbird-l10n/sr/localization/sr/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/sr/localization/sr/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Системска интеграција - +system-integration-dialog-title = Системска интеграција system-integration-dialog = .buttonlabelaccept = Подеси као подразумевано .buttonlabelcancel = Прескочи интеграцију .buttonlabelcancel2 = Откажи - default-client-intro = Користи { -brand-short-name } као подразумевани клијент за: - unset-default-tooltip = Није могуће подесити да { -brand-short-name } не буде више подразумевани клијент унутар самог { -brand-short-name }-а. Да бисте подесили да неки други програм буде подразумевани, морате искористити „Подеси као подразумевано“ дијалог тог програма. - checkbox-email-label = .label = Е-пошту .tooltiptext = { unset-default-tooltip } @@ -26,7 +23,6 @@ checkbox-feeds-label = checkbox-calendar-label = .label = Календар .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -35,11 +31,9 @@ system-search-engine-name = [windows] Windows претрага *[other] { "" } } - system-search-integration-label = .label = Дозволи програму { system-search-engine-name } да претражује поруке .accesskey = Д - check-on-startup-label = .label = Увек изврши ову проверу приликом покретања { -brand-short-name }-а .accesskey = У diff --git a/thunderbird-l10n/sr/manifest.json b/thunderbird-l10n/sr/manifest.json index 750646b45dc09861be6d9b1fcd3d259cee59a6c8..4942f1e3ddbdc346acb4e7e90cfae84606176ba0 100644 --- a/thunderbird-l10n/sr/manifest.json +++ b/thunderbird-l10n/sr/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Cрпски (Serbian)", "description": "Thunderbird Language Pack for Cрпски (sr) – Serbian", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "sr": { - "version": "20231208145518", + "version": "20231215210224", "chrome_resources": { "alerts": "chrome/sr/locale/sr/alerts/", "autoconfig": "chrome/sr/locale/sr/autoconfig/", diff --git a/thunderbird-l10n/sv-SE/localization/sv-SE/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/sv-SE/localization/sv-SE/messenger/accountcreation/accountHub.ftl index 542a6eb45addf4285fbc4225b8943c8030a16aa5..774c71d594f0ef4d04ac1084711b1943fb3c7f76 100644 --- a/thunderbird-l10n/sv-SE/localization/sv-SE/messenger/accountcreation/accountHub.ftl +++ b/thunderbird-l10n/sv-SE/localization/sv-SE/messenger/accountcreation/accountHub.ftl @@ -80,3 +80,4 @@ account-hub-username-label = Användarnamn account-hub-adding-account-title = Lägger till konto account-hub-adding-account-subheader = Testa kontokonfigurationsinställningarna igen account-hub-account-added-title = Konto har lagts till +account-hub-find-settings-failed = { -brand-full-name } kunde inte hitta inställningarna för ditt e-postkonto. diff --git a/thunderbird-l10n/sv-SE/localization/sv-SE/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/sv-SE/localization/sv-SE/messenger/compactFoldersDialog.ftl index fa3d37052b6c5ec0217d660ad7ffb2b0ca68fb95..0908d0f208f81574893159e59f660ae7d96db5f9 100644 --- a/thunderbird-l10n/sv-SE/localization/sv-SE/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/sv-SE/localization/sv-SE/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Komprimera mappar - .style = width: 50em; compact-dialog-window-title = .title = Komprimera mappar +compact-folders-dialog-title = Komprimera mappar compact-dialog = .buttonlabelaccept = Komprimera nu .buttonaccesskeyaccept = n diff --git a/thunderbird-l10n/sv-SE/localization/sv-SE/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/sv-SE/localization/sv-SE/messenger/openpgp/openpgp.ftl index 026483c2090a4116dd3d46b99718a2bdb656b50b..4cc5bb698b24ec84ec729a49eca8d9b4b7d973df 100644 --- a/thunderbird-l10n/sv-SE/localization/sv-SE/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/sv-SE/localization/sv-SE/messenger/openpgp/openpgp.ftl @@ -29,36 +29,6 @@ e2e-encrypt-drafts = e2e-autocrypt-headers = .label = Skicka publika OpenPGP-nycklar i e-posthuvudena för kompatibilitet med Autocrypt .accesskey = t -openpgp-key-user-id-label = Konto / användar-ID -openpgp-keygen-title-label = - .title = Generera OpenPGP-nyckel -openpgp-cancel-key = - .label = Avbryt - .tooltiptext = Avbryt nyckelgenerering -openpgp-key-gen-expiry-title = - .label = Nyckeln upphör -openpgp-key-gen-expire-label = Nyckeln upphör om -openpgp-key-gen-days-label = - .label = dagar -openpgp-key-gen-months-label = - .label = månader -openpgp-key-gen-years-label = - .label = år -openpgp-key-gen-no-expiry-label = - .label = Nyckeln upphör inte -openpgp-key-gen-key-size-label = Nyckelstorlek -openpgp-key-gen-console-label = Nyckelgenerering -openpgp-key-gen-key-type-label = Nyckeltyp -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (elliptisk kurva) -openpgp-generate-key = - .label = Generera nyckel - .tooltiptext = Genererar en ny OpenPGP-kompatibel nyckel för kryptering och/eller signering -openpgp-advanced-prefs-button-label = - .label = Avancerat… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">OBS: Nyckelgenerering kan ta upp till flera minuter att slutföra.</a> Stäng inte programmet medan nyckelgenerering pågår. Om du surfar eller utför en hårddiskaktivitet under nyckelgenerering kommer du att fylla på den "slumpmässiga poolen" och påskynda processen. Du får en varning när nyckelgenerering är klar. openpgp-key-created-label = .label = Skapad openpgp-key-expiry-label = @@ -68,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Detta är en nyckel med en komplex struktur, ändring av dess utgångsdatum stöds inte. openpgp-key-man-title = .title = OpenPGP-nyckelhanterare +openpgp-key-man-dialog-title = OpenPGP-nyckelhanterare openpgp-key-man-generate = .label = Nytt nyckelpar .accesskey = N @@ -415,10 +386,7 @@ key-verification = Verifiera nyckelns fingeravtryck med en annan säker kommunik # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = Det går inte att skicka meddelandet eftersom det finns ett problem med din personliga nyckel. { $problem } -cannot-encrypt-because-missing = Det går inte att skicka meddelandet med end-to-end kryptering eftersom det finns problem med nycklarna för följande mottagare: { $problem } window-locked = Skrivfönstret är låst; skicka avbruten -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = Detta är en krypterad meddelandedel. Du måste öppna det i ett separat fönster genom att klicka på bilagan. ## Strings in keyserver.jsm @@ -641,7 +609,6 @@ import-key-file = Importera OpenPGP-nyckelfil import-rev-file = Importera OpenPGP-återkallningsfil gnupg-file = GnuPG-filer import-keys-failed = Importering av nycklarna misslyckades -passphrase-prompt = Ange lösenfrasen som låser upp följande nyckel: { $key } # Variables: # $key (String) - Key id to unlock. # $date (String) - The date on which the key was created diff --git a/thunderbird-l10n/sv-SE/localization/sv-SE/messenger/preferences/system-integration.ftl b/thunderbird-l10n/sv-SE/localization/sv-SE/messenger/preferences/system-integration.ftl index 3fc66e579cceed7f1a7bb71a0c01dc916dd59397..06857381c5a4709be9a2e15a42e7e10248d10310 100644 --- a/thunderbird-l10n/sv-SE/localization/sv-SE/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/sv-SE/localization/sv-SE/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Systemintegration - +system-integration-dialog-title = Systemintegration system-integration-dialog = .buttonlabelaccept = Ange som standard .buttonlabelcancel = Hoppa över integrationen .buttonlabelcancel2 = Avbryt - default-client-intro = Använd { -brand-short-name } som standardklient för: - unset-default-tooltip = Det är inte möjligt att ta bort { -brand-short-name } som standardklient inuti { -brand-short-name }. För att göra ett annat program till standard måste du använda dess 'Ange som standard'-dialog. - checkbox-email-label = .label = E-post .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = RSS-kanaler .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Kalender .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Windows Sök *[other] { "" } } - system-search-integration-label = .label = Låt { system-search-engine-name } söka igenom meddelanden .accesskey = L - check-on-startup-label = .label = Gör alltid denna kontroll när { -brand-short-name } startar .accesskey = G diff --git a/thunderbird-l10n/sv-SE/manifest.json b/thunderbird-l10n/sv-SE/manifest.json index 628804b792a53759af1cd69bb851d0306e5de3b0..4654c772e2a116536544dfbfbac657678c557707 100644 --- a/thunderbird-l10n/sv-SE/manifest.json +++ b/thunderbird-l10n/sv-SE/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Svenska (Swedish)", "description": "Thunderbird Language Pack for Svenska (sv-SE) – Swedish", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "sv-SE": { - "version": "20231208145604", + "version": "20231215210310", "chrome_resources": { "alerts": "chrome/sv-SE/locale/sv-SE/alerts/", "autoconfig": "chrome/sv-SE/locale/sv-SE/autoconfig/", diff --git a/thunderbird-l10n/th/chrome/th/locale/th/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/th/chrome/th/locale/th/messenger/messengercompose/composeMsgs.properties index 1cad4f553092146c831f9fedfd43279568c67977..d97c38fc03f2df07523d9f39161ebfd6d6eafc5a 100644 --- a/thunderbird-l10n/th/chrome/th/locale/th/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/th/chrome/th/locale/th/messenger/messengercompose/composeMsgs.properties @@ -458,3 +458,6 @@ confirmRemoveRecipientRowButton=เอาออก ## LOCALIZATION NOTE headersSpaceStyle is for aligning label of a newly create recipient row. ## It should be larger than the largest Header label and identical to &headersSpace2.style; headersSpaceStyle=width: 8em + +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. diff --git a/thunderbird-l10n/th/localization/th/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/th/localization/th/messenger/openpgp/openpgp.ftl index 68fe8f155f06932f7aac968282d796a021a5f8da..5c5bad9f7f0f13660e533583c80d670306cd855b 100644 --- a/thunderbird-l10n/th/localization/th/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/th/localization/th/messenger/openpgp/openpgp.ftl @@ -5,36 +5,6 @@ e2e-intro-description = หากต้องการส่งข้อความที่เข้ารหัสหรือลงลายเซ็นแบบดิจิทัล คุณจำเป็นต้องกำหนดค่าเทคโนโลยีการเข้ารหัสทั้ง OpenPGP หรือ S/MIME e2e-intro-description-more = เลือกคีย์ส่วนตัวของคุณเพื่อเปิดใช้งาน OpenPGP หรือเลือกใบรับรองของคุณเพื่อเปิดใช้งาน S/MIME คุณจะมีคีย์ลับที่สอดคล้องกันไม่ว่าคุณจะเลือกใช้คีย์ส่วนตัวหรือใบรับรองก็ตาม e2e-signing-description = ลายเซ็นดิจิทัลช่วยให้ผู้รับสามารถตรวจสอบได้ว่าข้อความถูกส่งจากคุณและเนื้อหาไม่มีการเปลี่ยนแปลง ข้อความที่ถูกเข้ารหัสจะถูกลงลายเซ็นตามค่าเริ่มต้น -openpgp-key-user-id-label = บัญชี / ID ผู้ใช้ -openpgp-keygen-title-label = - .title = สร้างคีย์ OpenPGP -openpgp-cancel-key = - .label = ยกเลิก - .tooltiptext = ยกเลิกการสร้างคีย์ -openpgp-key-gen-expiry-title = - .label = วันหมดอายุของคีย์ -openpgp-key-gen-expire-label = คีย์จะหมดอายุใน -openpgp-key-gen-days-label = - .label = วัน -openpgp-key-gen-months-label = - .label = เดือน -openpgp-key-gen-years-label = - .label = ปี -openpgp-key-gen-no-expiry-label = - .label = คีย์จะไม่มีวันหมดอายุ -openpgp-key-gen-key-size-label = ขนาดคีย์ -openpgp-key-gen-console-label = การสร้างคีย์ -openpgp-key-gen-key-type-label = ชนิดคีย์ -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (เส้นโค้งรูปไข่) -openpgp-generate-key = - .label = สร้างคีย์ - .tooltiptext = สร้างคีย์ที่สอดคล้องตาม OpenPGP ใหม่สำหรับการเข้ารหัสและ/หรือการลงลายเซ็น -openpgp-advanced-prefs-button-label = - .label = ขั้นสูง… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">หมายเหตุ: การสร้างคีย์อาจต้องใช้เวลาหลายนาทีจึงจะเสร็จสมบูรณ์</a> อย่าออกจากแอปพลิเคชันในขณะที่กำลังสร้างคีย์อยู่ การเรียกดูเว็บหรือทำงานต่าง ๆ ที่ต้องอาศัยการทำงานของดิสก์มากในระหว่างที่กำลังสร้างคีย์จะช่วยเพิ่มประสิทธิภาพให้กับ ‘พูลการสุ่ม’ และเพิ่มความเร็วในการทำงาน คุณจะได้รับการแจ้งเตือนเมื่อการสร้างคีย์เสร็จสมบูรณ์แล้ว openpgp-key-expiry-label = .label = วันหมดอายุ openpgp-key-id-label = @@ -42,6 +12,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = คีย์นี้เป็นคีย์ที่มีโครงสร้างที่ซับซ้อน จึงไม่รองรับการเปลี่ยนวันหมดอายุ openpgp-key-man-title = .title = ตัวจัดการคีย์ OpenPGP +openpgp-key-man-dialog-title = ตัวจัดการคีย์ OpenPGP openpgp-key-man-generate = .label = คู่คีย์ใหม่ .accesskey = ค @@ -327,10 +298,7 @@ key-do-you-accept = คุณยอมรับคีย์นี้สำหร # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = ไม่สามารถส่งข้อความได้ เนื่องจากมีปัญหากับคีย์ส่วนตัวของคุณ { $problem } -cannot-encrypt-because-missing = ไม่สามารถส่งข้อความนี้ด้วยการเข้ารหัสแบบครบวงจรได้ เนื่องจากมีปัญหากับคีย์ของผู้รับต่อไปนี้: { $problem } window-locked = การส่งถูกยกเลิกแล้ว เนื่องจากหน้าต่างเขียนถูกล็อก -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = นี่คือส่วนของข้อความที่ถูกเข้ารหัส คุณต้องเปิดในหน้าต่างที่แยกต่างหากโดยคลิกที่ไฟล์แนบ ## Strings in keyserver.jsm @@ -552,9 +520,6 @@ import-key-file = นำเข้าไฟล์คีย์ OpenPGP import-rev-file = นำเข้าไฟล์การเพิกถอน OpenPGP gnupg-file = ไฟล์ GnuPG import-keys-failed = การนำเข้าคีย์ล้มเหลว -# Variables: -# $key (String) - Key id to unlock. -passphrase-prompt = โปรดป้อนวลีรหัสผ่านเพื่อปลดล็อกคีย์ต่อไปนี้: { $key } file-to-big-to-import = ไฟล์นี้มีขนาดใหญ่เกินไป โปรดอย่านำเข้าชุดคีย์จำนวนมากพร้อมกัน ## Strings used in enigmailKeygen.js diff --git a/thunderbird-l10n/th/localization/th/messenger/preferences/system-integration.ftl b/thunderbird-l10n/th/localization/th/messenger/preferences/system-integration.ftl index 5850929316791fb4cd6ef06e9c164d988ecda6e8..1b482c5714a0731b35aff45461976ab2082456f9 100644 --- a/thunderbird-l10n/th/localization/th/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/th/localization/th/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = การผนวกรวมระบบ - +system-integration-dialog-title = การผนวกรวมระบบ system-integration-dialog = .buttonlabelaccept = ตั้งเป็นค่าเริ่มต้น .buttonlabelcancel = ข้ามการผนวกรวม .buttonlabelcancel2 = ยกเลิก - default-client-intro = ใช้ { -brand-short-name } เป็นไคลเอนต์เริ่มต้นสำหรับ: - unset-default-tooltip = ไม่สามารถเลิกตั้ง { -brand-short-name } เป็นไคลเอนต์เริ่มต้นภายใน { -brand-short-name } เมื่อต้องการทำให้แอปพลิเคชันอื่นเป็นค่าเริ่มต้น คุณต้องใช้กล่องโต้ตอบ 'ตั้งเป็นค่าเริ่มต้น' - checkbox-email-label = .label = อีเมล .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = ฟีด .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = ปฏิทิน .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Windows Search *[other] { "" } } - system-search-integration-label = .label = อนุญาตให้ { system-search-engine-name } ค้นหาข้อความ .accesskey = อ - check-on-startup-label = .label = ตรวจสอบเช่นนี้เสมอเมื่อเริ่ม { -brand-short-name } .accesskey = ต diff --git a/thunderbird-l10n/th/manifest.json b/thunderbird-l10n/th/manifest.json index 23287d4d1d0b5c0a7e0a10b5e9e4e97ae520a639..392dbc4a380b6eb9cec1850efe3ad541a6432347 100644 --- a/thunderbird-l10n/th/manifest.json +++ b/thunderbird-l10n/th/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: ไทย (Thai)", "description": "Thunderbird Language Pack for ไทย (th) – Thai", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "th": { - "version": "20231208145650", + "version": "20231215210355", "chrome_resources": { "alerts": "chrome/th/locale/th/alerts/", "autoconfig": "chrome/th/locale/th/autoconfig/", diff --git a/thunderbird-l10n/tr/chrome/tr/locale/tr/messenger/messenger.dtd b/thunderbird-l10n/tr/chrome/tr/locale/tr/messenger/messenger.dtd index f8d8e1f9f57ffff671f86ef2a4d55aa352c4cdab..9fd49b1fbdfee14792c9d33dca0fa0399b722c4e 100644 --- a/thunderbird-l10n/tr/chrome/tr/locale/tr/messenger/messenger.dtd +++ b/thunderbird-l10n/tr/chrome/tr/locale/tr/messenger/messenger.dtd @@ -87,18 +87,6 @@ <!ENTITY printCmd.key "p"> <!-- Edit Menu --> -<!ENTITY deleteMsgCmd.label "İletiyi sil"> -<!ENTITY deleteMsgCmd.accesskey "t"> -<!ENTITY undeleteMsgCmd.label "Silinen iletiyi geri al"> -<!ENTITY undeleteMsgCmd.accesskey "i"> -<!ENTITY deleteMsgsCmd.label "Seçilmiş iletileri sil"> -<!ENTITY deleteMsgsCmd.accesskey "S"> -<!ENTITY undeleteMsgsCmd.label "Seçilen silinmiş iletileri geri al"> -<!ENTITY undeleteMsgsCmd.accesskey "a"> -<!ENTITY deleteFolderCmd.label "Dizini sil"> -<!ENTITY deleteFolderCmd.accesskey "i"> -<!ENTITY unsubscribeNewsgroupCmd.label "Abonelikten çık"> -<!ENTITY unsubscribeNewsgroupCmd.accesskey "A"> <!ENTITY selectMenu.label "Seç"> <!ENTITY selectMenu.accesskey "S"> <!ENTITY all.label "Tümü"> @@ -110,10 +98,6 @@ <!ENTITY selectFlaggedCmd.accesskey "l"> <!ENTITY menuFavoriteFolder.label "Dizini favorilere ekle"> <!ENTITY menuFavoriteFolder.accesskey "e"> -<!ENTITY folderPropsCmd2.label "Özellikler"> -<!ENTITY folderPropsFolderCmd2.label "Dizin özellikleri"> -<!ENTITY folderPropsNewsgroupCmd2.label "Haber grubu özellikleri"> -<!ENTITY folderPropsCmd.accesskey "Ö"> <!ENTITY undoDeleteMsgCmd.label "Silinen iletiyi geri al"> <!ENTITY redoDeleteMsgCmd.label "İletiyi tekrar sil"> <!ENTITY undoMoveMsgCmd.label "İleti taşımayı geri al"> @@ -145,8 +129,6 @@ <!ENTITY messagePaneVertical.accesskey "k"> <!ENTITY showFolderPaneCmd.label "Dizin bölmesi"> <!ENTITY showFolderPaneCmd.accesskey "D"> -<!ENTITY showFolderPaneColsCmd.label "Dizin bölmesi sütunları"> -<!ENTITY showFolderPaneColsCmd.accesskey "B"> <!ENTITY showMessageCmd.label "İleti bölmesi"> <!ENTITY showMessageCmd.accesskey "B"> @@ -596,10 +578,7 @@ <!-- AppMenu Popup --> <!ENTITY appmenuNewMsgCmd.label "Yeni ileti"> <!ENTITY appmenuNewContactCmd.label "Adres defteri kişisi…"> -<!ENTITY appmenuEditMenu.label "Düzenle"> <!ENTITY appmenuToolbarLayout.label "Araç çubuğu düzeni…"> -<!ENTITY appmenuSelectThread.label "Diziyi seç"> -<!ENTITY appmenuSelectFlagged.label "Yıldızlı iletileri seç"> <!-- Tags Menu Popup --> <!ENTITY addNewTag.label "Yeni etiket…"> @@ -614,7 +593,7 @@ <!ENTITY folderSizeColumn.label "Boyut"> <!-- Folder Pane Context Menu --> -<!ENTITY folderContextGetMessages.label "İletileri İndir"> +<!ENTITY folderContextGetMessages.label "İletileri indir"> <!ENTITY folderContextGetMessages.accesskey "n"> <!ENTITY folderContextMarkAllFoldersRead.label "Tüm dizinleri okundu olarak işaretle"> <!ENTITY folderContextPauseAllUpdates.label "Tüm güncellemeleri duraklat"> @@ -904,10 +883,6 @@ <!ENTITY copyImageAllCmd.accesskey "y"> <!ENTITY copyEmailCmd.label "E-posta adresini kopyala"> <!ENTITY copyEmailCmd.accesskey "E"> -<!ENTITY stopCmd.label "Durdur"> -<!ENTITY stopCmd.accesskey "D"> -<!ENTITY reloadCmd.label "Tazele"> -<!ENTITY reloadCmd.accesskey "T"> <!ENTITY openInBrowser.label "Tarayıcıda aç"> <!ENTITY openInBrowser.accesskey "T"> <!ENTITY openLinkInBrowser.label "Bağlantıyı tarayıcıda aç"> diff --git a/thunderbird-l10n/tr/chrome/tr/locale/tr/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/tr/chrome/tr/locale/tr/messenger/messengercompose/composeMsgs.properties index 26cbc8f3fe3c70e76642cfec41edd91c39871862..ee62441d67c3bd60d49b2296d115d296dd905ae3 100644 --- a/thunderbird-l10n/tr/chrome/tr/locale/tr/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/tr/chrome/tr/locale/tr/messenger/messengercompose/composeMsgs.properties @@ -74,6 +74,9 @@ smtpSendNotAllowed=E-posta gönderilirken bir hata oluştu. Posta sunucusunun ya ## LOCALIZATION NOTE (smtpTempSizeExceeded): argument %s is the Outgoing server (SMTP) response smtpTempSizeExceeded=Göndermeyi denediğiniz iletinin boyutu, sunucunun geçici boyut sınırını aşıyor. İleti gönderilmedi. İleti boyutunu azaltmayı deneyin veya bir süre bekleyip yeniden deneyin. Sunucunun yanıtı: %s. +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=İzin verilen alıcı sayısı aşıldığı için ileti gönderilmedi. Sunucunun yanıtı: %s. + ## LOCALIZATION NOTE (smtpClientid): argument %s is the Outgoing server (SMTP) response smtpClientid=Giden sunucusu (SMTP), CLIENTID komutunda bir hata algıladı. İleti gönderilmedi. Sunucunun yanıtı: %s diff --git a/thunderbird-l10n/tr/localization/tr/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/tr/localization/tr/messenger/accountcreation/accountHub.ftl index ff91f3d6054fc601f18ad6ebd12e854e857030eb..1a67d1c82cf8414ec5e19f01790fcee3db5b4d61 100644 --- a/thunderbird-l10n/tr/localization/tr/messenger/accountcreation/accountHub.ftl +++ b/thunderbird-l10n/tr/localization/tr/messenger/accountcreation/accountHub.ftl @@ -42,11 +42,13 @@ account-hub-sync-button = Eşitlemek için giriş yap… account-hub-email-title = E-posta hesabınızı ayarlayın account-hub-add-email-title = Hesabınızı ekleyin +account-hub-manually-configure-email-title = Hesap yapılandırmasını ayarla account-hub-email-cancel-button = Vazgeç account-hub-email-stop-button = Durdur account-hub-email-back-button = Geri account-hub-email-retest-button = Tekrar sına account-hub-email-finish-button = Bitir +account-hub-email-manually-configure-button = Manuel olarak yapılandır account-hub-email-continue-button = Devam et account-hub-email-confirm-button = Onayla account-hub-incoming-server-legend = Gelen sunucusu @@ -75,4 +77,6 @@ account-hub-ssl-noencryption-option = .label = Yok account-hub-auth-label = Yetkilendirme yöntemi account-hub-username-label = Kullanıcı adı +account-hub-adding-account-title = Hesap ekleme +account-hub-adding-account-subheader = Hesap yapılandırma ayarları yeniden sınanıyor account-hub-account-added-title = Hesap eklendi diff --git a/thunderbird-l10n/tr/localization/tr/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/tr/localization/tr/messenger/compactFoldersDialog.ftl index e812580f3239a7a74bd0ee7273fdcf36ae1804eb..323d3b337e080801b376df53cc1b640bd561632f 100644 --- a/thunderbird-l10n/tr/localization/tr/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/tr/localization/tr/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Dizinleri sıkıştır - .style = width: 50em; compact-dialog-window-title = .title = Dizinleri sıkıştır +compact-folders-dialog-title = Dizinleri sıkıştır compact-dialog = .buttonlabelaccept = Şimdi sıkıştır .buttonaccesskeyaccept = s diff --git a/thunderbird-l10n/tr/localization/tr/messenger/messageheader/headerFields.ftl b/thunderbird-l10n/tr/localization/tr/messenger/messageheader/headerFields.ftl index dd41f346f32ee1b41e033a36a205bdfb826d846e..15e53800e075c93d4aed6d1db9bef4d1cc492ba3 100644 --- a/thunderbird-l10n/tr/localization/tr/messenger/messageheader/headerFields.ftl +++ b/thunderbird-l10n/tr/localization/tr/messenger/messageheader/headerFields.ftl @@ -6,41 +6,26 @@ ## Header lists message-header-to-list-name = Alıcı - message-header-from-list-name = Gönderen - message-header-sender-list-name = Gönderen - message-header-reply-to-list-name = Yanıtla - message-header-cc-list-name = Cc - message-header-bcc-list-name = Bcc - message-header-newsgroups-list-name = Haber grupları - +message-header-followup-to-list-name = Takip et message-header-tags-list-name = Etiketler ## Other message headers. ## The field-separator is for screen readers to separate the field name from the field value. message-header-author-field = Yazar<span data-l10n-name="field-separator">:</span> - message-header-organization-field = Kuruluş<span data-l10n-name="field-separator">:</span> - message-header-subject-field = Konu<span data-l10n-name="field-separator">:</span> - - message-header-date-field = Tarih<span data-l10n-name="field-separator">:</span> - message-header-user-agent-field = Kullanıcı istemcisi<span data-l10n-name="field-separator">:</span> - message-header-references-field = Referanslar<span data-l10n-name="field-separator">:</span> - message-header-message-id-field = İleti kimliği<span data-l10n-name="field-separator">:</span> - message-header-website-field = Web sitesi<span data-l10n-name="field-separator">:</span> - # An additional email header field that the user has chosen to display. Unlike # the other headers, the name of this header is not expected to be localised # because it is generated from the raw field name found in the email header. @@ -51,17 +36,12 @@ message-header-custom-field = { $fieldName }<span data-l10n-name="field-separato message-header-address-in-address-book-icon2 = .alt = Adres defterinde - message-header-address-not-in-address-book-icon2 = .alt = Adres defterinde yok - message-header-address-not-in-address-book-button = .title = Bu adresi adres defterine kaydet - message-header-address-in-address-book-button = .title = Kişiyi düzenle - message-header-field-show-more = Daha fazla .title = Tüm alıcıları göster - message-ids-field-show-all = Tümünü göster diff --git a/thunderbird-l10n/tr/localization/tr/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/tr/localization/tr/messenger/openpgp/openpgp.ftl index 8d597f8855928c5476a5a49a911e24865232ac04..fb2c371bf694b86fb46237986d6cd638c617d0c8 100644 --- a/thunderbird-l10n/tr/localization/tr/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/tr/localization/tr/messenger/openpgp/openpgp.ftl @@ -38,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Bu karmaşık yapıya sahip bir anahtar. Son kullanma tarihinin değiştirilmesi desteklenmiyor. openpgp-key-man-title = .title = OpenPGP Anahtar Yöneticisi +openpgp-key-man-dialog-title = OpenPGP Anahtar Yöneticisi openpgp-key-man-generate = .label = Yeni anahtar çifti .accesskey = a diff --git a/thunderbird-l10n/tr/localization/tr/messenger/preferences/system-integration.ftl b/thunderbird-l10n/tr/localization/tr/messenger/preferences/system-integration.ftl index bc9d70e271b2b1fdfb57a426dd1a8c86b5d3059b..6331ef6db5a46ffd4971bb68a6865b140be9f76e 100644 --- a/thunderbird-l10n/tr/localization/tr/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/tr/localization/tr/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Sistem tümleştirmesi - +system-integration-dialog-title = Sistem tümleştirmesi system-integration-dialog = .buttonlabelaccept = Varsayılan olarak ayarla .buttonlabelcancel = Tümleştirmeyi geç .buttonlabelcancel2 = İptal - default-client-intro = { -brand-short-name } aşağıdakiler için varsayılan istemcim olsun: - unset-default-tooltip = { -brand-short-name } içinden varsayılan istemciyi { -brand-short-name } dışında bir istemci yapamazsınız. Başka bir uygulamayı varsayılan yapmak için o uygulamanın 'Varsayılan olarak ayarla' komutunu kullanmalısınız. - checkbox-email-label = .label = E-posta .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Beslemeler .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Takvim .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Windows Araması *[other] { "" } } - system-search-integration-label = .label = { system-search-engine-name } uygulamasının iletileri aramasına izin ver .accesskey = s - check-on-startup-label = .label = { -brand-short-name } her açıldığında bu denetimi yap .accesskey = d diff --git a/thunderbird-l10n/tr/manifest.json b/thunderbird-l10n/tr/manifest.json index 988a0d33908f9c6e40fc31e7bf347c52414fdfe3..47f64467a0a73ff903360b586374be4e23387c45 100644 --- a/thunderbird-l10n/tr/manifest.json +++ b/thunderbird-l10n/tr/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Türkçe (Turkish)", "description": "Thunderbird Language Pack for Türkçe (tr) – Turkish", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "tr": { - "version": "20231208145736", + "version": "20231215210440", "chrome_resources": { "alerts": "chrome/tr/locale/tr/alerts/", "autoconfig": "chrome/tr/locale/tr/autoconfig/", diff --git a/thunderbird-l10n/uk/localization/uk/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/uk/localization/uk/messenger/compactFoldersDialog.ftl index fa2d24e959ea5a41b2a453dd17756aa0f2c8fa35..241fa718fec78ddee5c26d8f44c5e1193f471536 100644 --- a/thunderbird-l10n/uk/localization/uk/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/uk/localization/uk/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Стиснути теки - .style = width: 50em; compact-dialog-window-title = .title = Стиснути теки +compact-folders-dialog-title = Стиснути теки compact-dialog = .buttonlabelaccept = Стиснути зараз .buttonaccesskeyaccept = С diff --git a/thunderbird-l10n/uk/localization/uk/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/uk/localization/uk/messenger/openpgp/openpgp.ftl index 224358656f639268ec515bfbf33b1fb89f585816..df6d7de8c7e17cf9ba672d128ef92cf4d49761e1 100644 --- a/thunderbird-l10n/uk/localization/uk/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/uk/localization/uk/messenger/openpgp/openpgp.ftl @@ -38,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Це ключ зі складною структурою, зміна його терміну дії не підтримується. openpgp-key-man-title = .title = Менеджер ключів OpenPGP +openpgp-key-man-dialog-title = Менеджер ключів OpenPGP openpgp-key-man-generate = .label = Додавання пов'язаного ключа .accesskey = к diff --git a/thunderbird-l10n/uk/localization/uk/messenger/preferences/system-integration.ftl b/thunderbird-l10n/uk/localization/uk/messenger/preferences/system-integration.ftl index 50c2cd2a8e13379b67533c76908ce93edffd300b..467da2db007ef82241ebe46ee5696704a30ba477 100644 --- a/thunderbird-l10n/uk/localization/uk/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/uk/localization/uk/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Системна інтеграція - +system-integration-dialog-title = Системна інтеграція system-integration-dialog = .buttonlabelaccept = Встановити типовим .buttonlabelcancel = Пропустити інтеграцію .buttonlabelcancel2 = Скасувати - default-client-intro = Використовувати { -brand-short-name } як типовий клієнт для: - unset-default-tooltip = Неможливо скасувати встановлення { -brand-short-name } типовим клієнтом в межах { -brand-short-name }. Щоб встановити іншу програму типовою, ви повинні скористатись відповідним запитом тої програми. - checkbox-email-label = .label = Електронної пошти .tooltiptext = { unset-default-tooltip } @@ -26,7 +23,6 @@ checkbox-feeds-label = checkbox-calendar-label = .label = Календар .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -35,11 +31,9 @@ system-search-engine-name = [windows] Пошук Windows *[other] { "" } } - system-search-integration-label = .label = Дозволити { system-search-engine-name } шукати повідомлення .accesskey = ш - check-on-startup-label = .label = Завжди виконувати цю перевірку під час запуску { -brand-short-name } .accesskey = З diff --git a/thunderbird-l10n/uk/manifest.json b/thunderbird-l10n/uk/manifest.json index 004c8a15b6ff7cd516985eb33564cd7c3f54ce21..e4d6101aaf821988e698d6c36e9d3082218e5d16 100644 --- a/thunderbird-l10n/uk/manifest.json +++ b/thunderbird-l10n/uk/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Українська (Ukrainian)", "description": "Thunderbird Language Pack for Українська (uk) – Ukrainian", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "uk": { - "version": "20231208145243", + "version": "20231215205904", "chrome_resources": { "alerts": "chrome/uk/locale/uk/alerts/", "autoconfig": "chrome/uk/locale/uk/autoconfig/", diff --git a/thunderbird-l10n/uz/chrome/uz/locale/uz/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/uz/chrome/uz/locale/uz/messenger/messengercompose/composeMsgs.properties index fcd0c2fcb6518105d2ac05bba35e95633377bca6..4eb42f57b658ede9a2a7dd722aba1df0120aa785 100644 --- a/thunderbird-l10n/uz/chrome/uz/locale/uz/messenger/messengercompose/composeMsgs.properties +++ b/thunderbird-l10n/uz/chrome/uz/locale/uz/messenger/messengercompose/composeMsgs.properties @@ -400,6 +400,8 @@ couldNotGetUsersMailAddress2=An error occurred while sending mail: the sender's couldNotGetSendersIdentity=An error occurred while sending mail: the sender identity was invalid. Please verify the configuration of your identity and try again. ## LOCALIZATION NOTE (smtpSendNotAllowed): argument %s is the Outgoing server (SMTP) response smtpSendNotAllowed=An error occurred while sending mail. The mail server responded:\n%s.\nPlease ensure that you are using the correct identity to send and that the used authentication method is correct. Verify that you are allowed to send via this SMTP server with your current credentials from your current network. +## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response +smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s. ## LOCALIZATION NOTE (smtpClientid): argument %s is the Outgoing server (SMTP) response smtpClientid=The outgoing server (SMTP) detected an error in the CLIENTID command. The message was not sent. The server responded: %s ## LOCALIZATION NOTE (smtpClientidPermission): argument %s is the Outgoing server (SMTP) response diff --git a/thunderbird-l10n/uz/localization/uz/messenger/preferences/system-integration.ftl b/thunderbird-l10n/uz/localization/uz/messenger/preferences/system-integration.ftl index 4d3d33b99b3f0da9260fefc7031f7fe6f007b77f..0e6e975cf38a2cfaba9d9c54bd09e9df2d34f808 100644 --- a/thunderbird-l10n/uz/localization/uz/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/uz/localization/uz/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Tizimni integratsiyalash - +system-integration-dialog-title = Tizimni integratsiyalash system-integration-dialog = .buttonlabelaccept = Asosiy sifatida o‘rnatish .buttonlabelcancel = Integratsiyalashni tashlab o‘tish .buttonlabelcancel2 = Bekor qilish - default-client-intro = { -brand-short-name } dasturidan asosiy mijoz sifatida foydalanish: - unset-default-tooltip = { -brand-short-name } dasturini { -brand-short-name } ichidagi asosiy mijoz sifatida bekor qilib bo‘lmaydi. Boshqa ilova dasturni asosiy sifatida o‘rnatish uchun uning "Asosiy sifatida o‘rnatish" oynasidan foydalanishingiz kerak. - checkbox-email-label = .label = E-pochta .tooltiptext = { unset-default-tooltip } @@ -23,7 +20,6 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Tasmalar .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -32,11 +28,9 @@ system-search-engine-name = [windows] Windows qidiruvi *[other] { "" } } - system-search-integration-label = .label = Xabarlarni qidirishda { system-search-engine-name }ga ruxsat berilsin .accesskey = s - check-on-startup-label = .label = { -brand-short-name } ishga tushganda doimo ushbu tekshiruv amalga oshirilsin .accesskey = d diff --git a/thunderbird-l10n/uz/manifest.json b/thunderbird-l10n/uz/manifest.json index e29cd2394e3b3740d3aaec7d5ff9fe74a6869d8f..8f661e2a37fdc4f6818df3538917d032d3700a8d 100644 --- a/thunderbird-l10n/uz/manifest.json +++ b/thunderbird-l10n/uz/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: O‘zbek (Uzbek)", "description": "Thunderbird Language Pack for O‘zbek (uz) – Uzbek", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "uz": { - "version": "20231208145330", + "version": "20231215205951", "chrome_resources": { "alerts": "chrome/uz/locale/uz/alerts/", "autoconfig": "chrome/uz/locale/uz/autoconfig/", diff --git a/thunderbird-l10n/vi/localization/vi/messenger/about3Pane.ftl b/thunderbird-l10n/vi/localization/vi/messenger/about3Pane.ftl index 263e1f37e12b9487adef2207eb9fbc2f8886d931..4d2dc7d73e2ac0845f91195288a6b9774aff84f9 100644 --- a/thunderbird-l10n/vi/localization/vi/messenger/about3Pane.ftl +++ b/thunderbird-l10n/vi/localization/vi/messenger/about3Pane.ftl @@ -105,6 +105,23 @@ quick-filter-bar-textbox-shortcut = # box faster. quick-filter-bar-textbox = .placeholder = Lọc các tin nhắn này <{ quick-filter-bar-textbox-shortcut }> +quick-filter-bar-search = + .label = Lọc thư: +# Keyboard shortcut for the text search box. +# This should match quick-filter-bar-show in messenger.ftl. +quick-filter-bar-search-shortcut = + { PLATFORM() -> + [macos] <kbd>⇧</kbd> <kbd>⌘</kbd> <kbd>K</kbd> + *[other] <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>K</kbd> + } +# This is the empty text for the text search box. +# The goal is to convey to the user that typing in the box will filter the +# messages and that there is a hotkey they can press to get to the box faster. +quick-filter-bar-search-placeholder-with-key = Lọc thư… { quick-filter-bar-search-shortcut } +# Label of the search button in the quick filter bar text box. Clicking it will +# launch a global search. +quick-filter-bar-search-button = + .alt = Tìm kiếm mọi nơi # Tooltip of the Any-of/All-of tagging mode selector. quick-filter-bar-boolean-mode = .title = Chế độ lọc nhãn diff --git a/thunderbird-l10n/vi/localization/vi/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/vi/localization/vi/messenger/accountcreation/accountHub.ftl index 01686bf60ae7198ec62850d41de49b790c32fdc5..a5a8276bba6e2abac65eff24da2d6d6d9e4fb5eb 100644 --- a/thunderbird-l10n/vi/localization/vi/messenger/accountcreation/accountHub.ftl +++ b/thunderbird-l10n/vi/localization/vi/messenger/accountcreation/accountHub.ftl @@ -80,3 +80,4 @@ account-hub-username-label = Tên đăng nhập account-hub-adding-account-title = Đang thêm tài khoản account-hub-adding-account-subheader = Kiểm tra lại cài đặt cấu hình tài khoản account-hub-account-added-title = Đã thêm tài khoản +account-hub-find-settings-failed = { -brand-full-name } không tìm thấy cài đặt cho tài khoản email của bạn. diff --git a/thunderbird-l10n/vi/localization/vi/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/vi/localization/vi/messenger/compactFoldersDialog.ftl index 7d1aabed354c2671bbc081294c7372f1fe8ddf8e..dbfcc99a53456410e36c82240f0152859f6ecba2 100644 --- a/thunderbird-l10n/vi/localization/vi/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/vi/localization/vi/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = Làm gọn thư mục - .style = width: 50em; compact-dialog-window-title = .title = Làm gọn thư mục +compact-folders-dialog-title = Làm gọn thư mục compact-dialog = .buttonlabelaccept = Làm gọn ngay .buttonaccesskeyaccept = C diff --git a/thunderbird-l10n/vi/localization/vi/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/vi/localization/vi/messenger/openpgp/openpgp.ftl index f0cedde25a3cb560aada87a086df7490698d31c9..80520ec51649baacea09fb493461cdf3e51fd848 100644 --- a/thunderbird-l10n/vi/localization/vi/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/vi/localization/vi/messenger/openpgp/openpgp.ftl @@ -29,36 +29,6 @@ e2e-encrypt-drafts = e2e-autocrypt-headers = .label = Gửi (các) khóa công khai OpenPGP trong header của email để tương thích với Autocrypt .accesskey = t -openpgp-key-user-id-label = Tài khoản / ID người dùng -openpgp-keygen-title-label = - .title = Tạo khóa OpenPGP -openpgp-cancel-key = - .label = Hủy bỏ - .tooltiptext = Hủy bỏ tạo khóa -openpgp-key-gen-expiry-title = - .label = Khóa hết hạn -openpgp-key-gen-expire-label = Khóa hết hạn sau -openpgp-key-gen-days-label = - .label = ngày -openpgp-key-gen-months-label = - .label = tháng -openpgp-key-gen-years-label = - .label = năm -openpgp-key-gen-no-expiry-label = - .label = Khóa không hết hạn -openpgp-key-gen-key-size-label = Kích thước khóa -openpgp-key-gen-console-label = Trình tạo khóa -openpgp-key-gen-key-type-label = Loại khóa -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC (Elliptic Curve) -openpgp-generate-key = - .label = Tạo khóa - .tooltiptext = Tạo khóa tuân thủ OpenPGP mới để mã hóa và/hoặc ký -openpgp-advanced-prefs-button-label = - .label = Nâng cao… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">LƯU Ý: Quá trình tạo khóa có thể mất đến vài phút để hoàn thành.</a> Không thoát ứng dụng khi đang trong quá trình tạo khóa. Tích cực duyệt hoặc thực hiện các thao tác sử dụng nhiều ổ đĩa trong quá trình tạo khóa sẽ bổ sung 'nhóm ngẫu nhiên' và tăng tốc quá trình. Bạn sẽ được thông báo khi quá trình tạo khóa hoàn tất. openpgp-key-created-label = .label = Đã tạo openpgp-key-expiry-label = @@ -68,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = Đây là khóa có cấu trúc phức tạp, việc thay đổi ngày hết hạn không được hỗ trợ. openpgp-key-man-title = .title = Trình quản lý khóa OpenPGP +openpgp-key-man-dialog-title = Trình quản lý khóa OpenPGP openpgp-key-man-generate = .label = Cặp khóa mới .accesskey = K @@ -396,10 +367,7 @@ key-verification = Xác minh dấu vân tay của khóa bằng kênh liên lạc # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = Không thể gửi tin nhắn vì có sự cố với khóa cá nhân của bạn. { $problem } -cannot-encrypt-because-missing = Không thể gửi thư này bằng mã hóa đầu cuối vì có vấn đề với khóa của những người nhận sau: { $problem } window-locked = Cửa sổ soạn thảo bị khóa; đã hủy gửi -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = Đây là một phần tin nhắn được mã hóa. Bạn cần mở nó trong một cửa sổ riêng tư bằng cách nhấp vào đính kèm. ## Strings in keyserver.jsm @@ -588,7 +556,6 @@ key-trust-group = (nhóm) import-key-file = Nhập tập tin khóa OpenPGP gnupg-file = Tập tin GnuPG import-keys-failed = Nhập khóa không thành công -passphrase-prompt = Vui lòng nhập cụm mật khẩu để mở khóa sau: { $key } # Variables: # $key (String) - Key id to unlock. # $date (String) - The date on which the key was created diff --git a/thunderbird-l10n/vi/localization/vi/messenger/preferences/cookies.ftl b/thunderbird-l10n/vi/localization/vi/messenger/preferences/cookies.ftl index 0f4ae68356e74a18cf96f755d1b2339fa610a962..ded5e099a99bb37850bbb8bd966227279bfa57ad 100644 --- a/thunderbird-l10n/vi/localization/vi/messenger/preferences/cookies.ftl +++ b/thunderbird-l10n/vi/localization/vi/messenger/preferences/cookies.ftl @@ -4,6 +4,7 @@ cookies-window-dialog2 = .title = Cookie +cookies-dialog-title = Cookie window-close-key = .key = w window-focus-search-key = diff --git a/thunderbird-l10n/vi/localization/vi/messenger/preferences/system-integration.ftl b/thunderbird-l10n/vi/localization/vi/messenger/preferences/system-integration.ftl index 13ef1195597e88b64cc241aa3fb8bc4f2d0f613e..b2f0e06768a27d198d0b31b6ccda467801f86b9e 100644 --- a/thunderbird-l10n/vi/localization/vi/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/vi/localization/vi/messenger/preferences/system-integration.ftl @@ -4,16 +4,13 @@ system-integration-title = .title = Tích hợp Hệ thống - +system-integration-dialog-title = Tích hợp Hệ thống system-integration-dialog = .buttonlabelaccept = Đặt làm mặc định .buttonlabelcancel = Bỏ qua tích hợp .buttonlabelcancel2 = Hủy bỏ - default-client-intro = Dùng { -brand-short-name } làm chương trình mặc định cho: - unset-default-tooltip = Không thể bỏ đặt { -brand-short-name } là ứng dụng khách mặc định trong { -brand-short-name }. Để đặt ứng dụng khác thành mặc định, bạn phải sử dụng hộp thoại 'Đặt làm mặc định'. - checkbox-email-label = .label = Thư điện tử (E-Mail) .tooltiptext = { unset-default-tooltip } @@ -23,11 +20,9 @@ checkbox-newsgroups-label = checkbox-feeds-label = .label = Nguồn cấp .tooltiptext = { unset-default-tooltip } - checkbox-calendar-label = .label = Lịch .tooltiptext = { unset-default-tooltip } - # Note: This is the search engine name for all the different platforms. # Platforms that don't support it should be left blank. system-search-engine-name = @@ -36,11 +31,9 @@ system-search-engine-name = [windows] Tìm kiếm Windows *[other] { "" } } - system-search-integration-label = .label = Cho phép { system-search-engine-name } tìm kiếm thư .accesskey = t - check-on-startup-label = .label = Luôn thực hiện việc kiểm tra này mỗi khi khởi động { -brand-short-name } .accesskey = L diff --git a/thunderbird-l10n/vi/localization/vi/messenger/unifiedToolbarItems.ftl b/thunderbird-l10n/vi/localization/vi/messenger/unifiedToolbarItems.ftl index 95a14e0971be1196e67f196e2c5e7aa023a4fa3a..e3a77fc1a38d03a7860a3a3e68df193c5e67d8f0 100644 --- a/thunderbird-l10n/vi/localization/vi/messenger/unifiedToolbarItems.ftl +++ b/thunderbird-l10n/vi/localization/vi/messenger/unifiedToolbarItems.ftl @@ -142,3 +142,24 @@ toolbar-stop = toolbar-throbber-label = Chỉ báo hoạt động toolbar-throbber = .title = Chỉ báo hoạt động +toolbar-create-contact-label = Liên hệ mới +toolbar-create-contact = + .title = Tạo một liên hệ mới +toolbar-create-address-book-label = Sổ địa chỉ mới +toolbar-create-address-book = + .title = Tạo một sổ địa chỉ mới +toolbar-create-list-label = Danh sách mới +toolbar-create-list = + .title = Tạo một danh sách gửi thư mới +toolbar-import-contacts-label = Nhập +toolbar-import-contacts = + .title = Nhập liên hệ từ tập tin + +## New Address Book popup items + +toolbar-new-address-book-popup-add-js-address-book = + .label = Thêm sổ địa chỉ cục bộ +toolbar-new-address-book-popup-add-carddav-address-book = + .label = Thêm sổ địa chỉ CardDAV +toolbar-new-address-book-popup-add-ldap-address-book = + .label = Thêm sổ địa chỉ LDAP diff --git a/thunderbird-l10n/vi/manifest.json b/thunderbird-l10n/vi/manifest.json index f3a759151430f7a85f4de3f0c911209d37426dcd..e24cb9a047926a9995d62ea3f2a35f70f2d0d912 100644 --- a/thunderbird-l10n/vi/manifest.json +++ b/thunderbird-l10n/vi/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: Tiếng Việt (Vietnamese)", "description": "Thunderbird Language Pack for Tiếng Việt (vi) – Vietnamese", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "vi": { - "version": "20231208145418", + "version": "20231215210038", "chrome_resources": { "alerts": "chrome/vi/locale/vi/alerts/", "autoconfig": "chrome/vi/locale/vi/autoconfig/", diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/accountcreation/accountHub.ftl index ce1957d757bc170098133ca06f0a3f8ab171958a..5d5855c5c35b97eaeebe420a6102f1c1c99cad48 100644 --- a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/accountcreation/accountHub.ftl +++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/accountcreation/accountHub.ftl @@ -80,3 +80,4 @@ account-hub-username-label = 用户名 account-hub-adding-account-title = 正在添加账户 account-hub-adding-account-subheader = 正在重新测试账户配置 account-hub-account-added-title = 账户已添加 +account-hub-find-settings-failed = { -brand-full-name } 未能找到您的邮件账户设置。 diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/compactFoldersDialog.ftl index 859b61b5778a80662f040d7c3e6da98d86d87ab5..bf7ece90a9d660ab3e8ac327cd0374f995f34e0c 100644 --- a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = 压缩邮件夹 - .style = width: 50em; compact-dialog-window-title = .title = 压缩邮件夹 +compact-folders-dialog-title = 压缩邮件夹 compact-dialog = .buttonlabelaccept = 立即压缩 .buttonaccesskeyaccept = C diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/openpgp.ftl index 8d9d80ee634c5c9f9b568f34f8f4c24393ec29fe..0714cf490f3c266ab8c1ce65df1af07e1f4494c4 100644 --- a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/openpgp.ftl @@ -29,36 +29,6 @@ e2e-encrypt-drafts = e2e-autocrypt-headers = .label = 在发送邮件头中包含 OpenPGP 公钥,以与 Autocrypt 功能兼容 .accesskey = t -openpgp-key-user-id-label = 账户 / 用户 ID -openpgp-keygen-title-label = - .title = 生成 OpenPGP 密钥 -openpgp-cancel-key = - .label = 取消 - .tooltiptext = 取消生成密钥 -openpgp-key-gen-expiry-title = - .label = 密钥到期日 -openpgp-key-gen-expire-label = 密钥过期时间 -openpgp-key-gen-days-label = - .label = 天 -openpgp-key-gen-months-label = - .label = 月 -openpgp-key-gen-years-label = - .label = 年 -openpgp-key-gen-no-expiry-label = - .label = 密钥永不过期 -openpgp-key-gen-key-size-label = 密钥大小 -openpgp-key-gen-console-label = 密钥生成方式 -openpgp-key-gen-key-type-label = 密钥类型 -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC(椭圆曲线) -openpgp-generate-key = - .label = 生成密钥 - .tooltiptext = 生成新的 OpenPGP 兼容密钥,进行加密与/或签名 -openpgp-advanced-prefs-button-label = - .label = 高级… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">注意:密钥生成可能需要几分才能完成。</a></b>密钥生成过程中,请不要关闭应用程序。主动浏览上网,或进行频繁读写磁盘操作,可补充“随机数池”以加速密钥生成。完成后将提示您密钥已生成。 openpgp-key-created-label = .label = 创建于 openpgp-key-expiry-label = @@ -68,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = 该密钥结构复杂,不支持更改到期日。 openpgp-key-man-title = .title = OpenPGP 密钥管理器 +openpgp-key-man-dialog-title = OpenPGP 密钥管理器 openpgp-key-man-generate = .label = 生成新密钥对 .accesskey = K @@ -406,10 +377,7 @@ key-verification = 请使用电子邮件以外的安全通信方式验证密钥 # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = 您的个人密钥有问题,无法发送消息。{ $problem } -cannot-encrypt-because-missing = 由于下列收件人的密钥有问题,无法用端到端加密的方式发送此消息:{ $problem } window-locked = 邮件撰写窗口已锁定;取消发送 -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = 这是加密过的消息部分。请点击附件用单独视窗打开。 ## Strings in keyserver.jsm @@ -601,7 +569,6 @@ import-key-file = 导入 OpenPGP 密钥文件 import-rev-file = 导入 OpenPGP 吊销文件 gnupg-file = GnuPG 文件 import-keys-failed = 导入密钥失败 -passphrase-prompt = 请输入可解密下列密钥的密语:{ $key } # Variables: # $key (String) - Key id to unlock. # $date (String) - The date on which the key was created diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/system-integration.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/system-integration.ftl index e52b7bc005b4c9e718aa286e74ee6c544270381e..ecdcba820c3c20db3a5302a0a93426c73bdaa79b 100644 --- a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/system-integration.ftl @@ -4,6 +4,7 @@ system-integration-title = .title = 系统集成 +system-integration-dialog-title = 系统集成 system-integration-dialog = .buttonlabelaccept = 设为默认值 .buttonlabelcancel = 跳过整合 diff --git a/thunderbird-l10n/zh-CN/manifest.json b/thunderbird-l10n/zh-CN/manifest.json index 1a9b8430be62654b4139f49556324ef866d03e72..2173580ac542f9e0fa48766ba986de85d2a6e320 100644 --- a/thunderbird-l10n/zh-CN/manifest.json +++ b/thunderbird-l10n/zh-CN/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: 简体中文 (Simplified Chinese)", "description": "Thunderbird Language Pack for 简体中文 (zh-CN) – Simplified Chinese", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "zh-CN": { - "version": "20231208145505", + "version": "20231215210125", "chrome_resources": { "alerts": "chrome/zh-CN/locale/zh-CN/alerts/", "autoconfig": "chrome/zh-CN/locale/zh-CN/autoconfig/", diff --git a/thunderbird-l10n/zh-TW/localization/zh-TW/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/zh-TW/localization/zh-TW/messenger/accountcreation/accountHub.ftl index 4817856053f165e5816d7f378a2cbe2ec28be60f..23e138f2389bda9470b637dd1924d4db6bfb4657 100644 --- a/thunderbird-l10n/zh-TW/localization/zh-TW/messenger/accountcreation/accountHub.ftl +++ b/thunderbird-l10n/zh-TW/localization/zh-TW/messenger/accountcreation/accountHub.ftl @@ -80,3 +80,4 @@ account-hub-username-label = 使用者名稱 account-hub-adding-account-title = 新增帳號 account-hub-adding-account-subheader = 正在重新測試帳號設定 account-hub-account-added-title = 已新增帳號 +account-hub-find-settings-failed = { -brand-full-name } 找不到適用您郵件帳號的設定資訊。 diff --git a/thunderbird-l10n/zh-TW/localization/zh-TW/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/zh-TW/localization/zh-TW/messenger/compactFoldersDialog.ftl index 133a80f60490af20cea2700818ab24fc7dcf9f35..15a89a0c5f607884b288368afd9b9c96b7fbbdff 100644 --- a/thunderbird-l10n/zh-TW/localization/zh-TW/messenger/compactFoldersDialog.ftl +++ b/thunderbird-l10n/zh-TW/localization/zh-TW/messenger/compactFoldersDialog.ftl @@ -2,11 +2,9 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -compact-dialog-window = - .title = 壓實重整郵件匣 - .style = width: 50em; compact-dialog-window-title = .title = 壓實重整郵件匣 +compact-folders-dialog-title = 壓實重整郵件匣 compact-dialog = .buttonlabelaccept = 立即壓實重整 .buttonaccesskeyaccept = C diff --git a/thunderbird-l10n/zh-TW/localization/zh-TW/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/zh-TW/localization/zh-TW/messenger/openpgp/openpgp.ftl index b0517649009246ccd9b819862ca4855a14f899de..936e7a8cebfb5b6f18af6f6d74527970c3a120fc 100644 --- a/thunderbird-l10n/zh-TW/localization/zh-TW/messenger/openpgp/openpgp.ftl +++ b/thunderbird-l10n/zh-TW/localization/zh-TW/messenger/openpgp/openpgp.ftl @@ -29,36 +29,6 @@ e2e-encrypt-drafts = e2e-autocrypt-headers = .label = 在寄出郵件標頭中包含 OpenPGP 公鑰,加強與 Autocrypt 功能間的相容性 .accesskey = t -openpgp-key-user-id-label = 帳號 / 使用者 ID -openpgp-keygen-title-label = - .title = 產生 OpenPGP 金鑰 -openpgp-cancel-key = - .label = 取消 - .tooltiptext = 取消金鑰產生 -openpgp-key-gen-expiry-title = - .label = 金鑰到期日 -openpgp-key-gen-expire-label = 金鑰過期時間 -openpgp-key-gen-days-label = - .label = 天 -openpgp-key-gen-months-label = - .label = 月 -openpgp-key-gen-years-label = - .label = 年 -openpgp-key-gen-no-expiry-label = - .label = 金鑰永不過期 -openpgp-key-gen-key-size-label = 金鑰大小 -openpgp-key-gen-console-label = 金鑰產生方式 -openpgp-key-gen-key-type-label = 金鑰類型 -openpgp-key-gen-key-type-rsa = - .label = RSA -openpgp-key-gen-key-type-ecc = - .label = ECC(橢圓曲線) -openpgp-generate-key = - .label = 產生金鑰 - .tooltiptext = 產生一把新的 OpenPGP 相容金鑰,進行加密與/或簽章 -openpgp-advanced-prefs-button-label = - .label = 進階… -openpgp-keygen-desc = <a data-l10n-name="openpgp-keygen-desc-link">註: 可能需要花上幾分鐘金鑰才能產生完成。</a>金鑰產生過程中,請不要關閉應用程式。持續上網,或進行需要頻繁讀寫磁碟的動作,可重新補充「隨機程度池」以加速金鑰產生。完成後將提示您金鑰已經產生。 openpgp-key-created-label = .label = 建立於 openpgp-key-expiry-label = @@ -68,6 +38,7 @@ openpgp-key-id-label = openpgp-cannot-change-expiry = 這是一把複雜結構的金鑰,不支援更改到期日。 openpgp-key-man-title = .title = OpenPGP 金鑰管理員 +openpgp-key-man-dialog-title = OpenPGP 金鑰管理員 openpgp-key-man-generate = .label = 產生新金鑰對 .accesskey = K @@ -406,10 +377,7 @@ key-verification = 請使用電子郵件以外的安全通訊方式確認金鑰 # Variables: # $problem (String) - Error message from key usability check. cannot-use-own-key-because = 您的個人金鑰有問題,無法傳送訊息。{ $problem } -cannot-encrypt-because-missing = 由於下列收件者的金鑰有問題,無法用端到端加密的方式傳送此訊息: { $problem } window-locked = 信件撰寫視窗已鎖定,取消傳送 -# Strings in mimeDecrypt.jsm -mime-decrypt-encrypted-part-concealed-data = 這是加密過的訊息部分。請點擊附件用獨立視窗開啟。 ## Strings in keyserver.jsm @@ -601,7 +569,6 @@ import-key-file = 匯入 OpenPGP 金鑰檔案 import-rev-file = 匯入 OpenPGP 撤銷檔案 gnupg-file = GnuPG 檔案 import-keys-failed = 金鑰匯入失敗 -passphrase-prompt = 請輸入可解開下列金鑰的密語: { $key } # Variables: # $key (String) - Key id to unlock. # $date (String) - The date on which the key was created diff --git a/thunderbird-l10n/zh-TW/localization/zh-TW/messenger/preferences/system-integration.ftl b/thunderbird-l10n/zh-TW/localization/zh-TW/messenger/preferences/system-integration.ftl index 49da1049e2f5e55e2882f698b2d4daa79180a028..485b1da1edb998ff19ca8bba4f7159cce37857ad 100644 --- a/thunderbird-l10n/zh-TW/localization/zh-TW/messenger/preferences/system-integration.ftl +++ b/thunderbird-l10n/zh-TW/localization/zh-TW/messenger/preferences/system-integration.ftl @@ -4,6 +4,7 @@ system-integration-title = .title = 系統整合 +system-integration-dialog-title = 系統整合 system-integration-dialog = .buttonlabelaccept = 設為預設軟體 .buttonlabelcancel = 略過整合 diff --git a/thunderbird-l10n/zh-TW/manifest.json b/thunderbird-l10n/zh-TW/manifest.json index 36491aa4f68ed4acee252351195ca9da0aab1704..709aeb68e1ec4b85490221d6a411440c31281650 100644 --- a/thunderbird-l10n/zh-TW/manifest.json +++ b/thunderbird-l10n/zh-TW/manifest.json @@ -10,10 +10,10 @@ }, "name": "Language: 正體中文 (Traditional Chinese)", "description": "Thunderbird Language Pack for 正體中文 (zh-TW) – Traditional Chinese", - "version": "115.5.20231208.140222", + "version": "115.6.20231215.200246", "languages": { "zh-TW": { - "version": "20231208145554", + "version": "20231215210212", "chrome_resources": { "alerts": "chrome/zh-TW/locale/zh-TW/alerts/", "autoconfig": "chrome/zh-TW/locale/zh-TW/autoconfig/", diff --git a/toolkit/components/extensions/webrequest/ChannelWrapper.cpp b/toolkit/components/extensions/webrequest/ChannelWrapper.cpp index d78cf788f2079d53d56522032db20cb602ba0f81..2220d56b44661e089f853c81866e4875340bc7b1 100644 --- a/toolkit/components/extensions/webrequest/ChannelWrapper.cpp +++ b/toolkit/components/extensions/webrequest/ChannelWrapper.cpp @@ -113,7 +113,8 @@ NS_IMPL_CYCLE_COLLECTING_RELEASE(ChannelWrapper::ChannelWrapperStub) NS_IMPL_CYCLE_COLLECTION(ChannelWrapper::ChannelWrapperStub, mChannelWrapper) NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(ChannelWrapper::ChannelWrapperStub) - NS_INTERFACE_MAP_ENTRY_TEAROFF(ChannelWrapper, mChannelWrapper) + NS_INTERFACE_MAP_ENTRY_TEAROFF_AMBIGUOUS(ChannelWrapper, EventTarget, + mChannelWrapper) NS_INTERFACE_MAP_ENTRY(nsISupports) NS_INTERFACE_MAP_END @@ -1249,7 +1250,7 @@ JSObject* ChannelWrapper::WrapObject(JSContext* aCx, NS_IMPL_CYCLE_COLLECTION_CLASS(ChannelWrapper) NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(ChannelWrapper) - NS_INTERFACE_MAP_ENTRY(ChannelWrapper) + NS_INTERFACE_MAP_ENTRY_CONCRETE(ChannelWrapper) NS_INTERFACE_MAP_END_INHERITING(DOMEventTargetHelper) NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(ChannelWrapper, diff --git a/toolkit/components/httpsonlyerror/tests/browser/browser.ini b/toolkit/components/httpsonlyerror/tests/browser/browser.ini index 09f07bc2e5efdf3a036a75b8bde2281ae33cb6bb..b3718669ebf390be4bf97240ca0c63c103030e4f 100644 --- a/toolkit/components/httpsonlyerror/tests/browser/browser.ini +++ b/toolkit/components/httpsonlyerror/tests/browser/browser.ini @@ -14,3 +14,4 @@ support-files = support-files = file_errorpage_www_suggestion.html skip-if = toolkit == 'android' # no https-only errorpage support in android +[browser_fpi_nested_uri.js] diff --git a/toolkit/components/httpsonlyerror/tests/browser/browser_fpi_nested_uri.js b/toolkit/components/httpsonlyerror/tests/browser/browser_fpi_nested_uri.js new file mode 100644 index 0000000000000000000000000000000000000000..4220124f0a8e5e22e49678042ba3d94dfa413df7 --- /dev/null +++ b/toolkit/components/httpsonlyerror/tests/browser/browser_fpi_nested_uri.js @@ -0,0 +1,51 @@ +/* Any copyright is dedicated to the Public Domain. + * https://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +// Test that a nested URI (in this case `view-source:`) does not result +// in a redirect loop when HTTPS-Only and First Party Isolation are +// enabled (Bug 1855734). + +const INSECURE_VIEW_SOURCE_URL = "view-source:http://123.123.123.123/"; + +function promiseIsErrorPage() { + return new Promise(resolve => { + BrowserTestUtils.waitForErrorPage(gBrowser.selectedBrowser).then(() => + resolve(true) + ); + BrowserTestUtils.browserLoaded(gBrowser.selectedBrowser).then(() => + resolve(false) + ); + }); +} + +add_task(async function () { + await SpecialPowers.pushPrefEnv({ + set: [ + ["dom.security.https_only_mode", true], + ["dom.security.https_only_mode.upgrade_local", true], + ["privacy.firstparty.isolate", true], + ], + }); + + let loaded = BrowserTestUtils.waitForErrorPage(gBrowser.selectedBrowser); + info(`Starting to load ${INSECURE_VIEW_SOURCE_URL}`); + BrowserTestUtils.loadURIString(gBrowser, INSECURE_VIEW_SOURCE_URL); + await loaded; + info(`${INSECURE_VIEW_SOURCE_URL} finished loading`); + + loaded = promiseIsErrorPage(); + // click on exception-button and wait for page to load + await SpecialPowers.spawn(gBrowser.selectedBrowser, [], async function () { + let openInsecureButton = content.document.getElementById("openInsecure"); + ok(openInsecureButton != null, "openInsecureButton should exist."); + openInsecureButton.click(); + }); + info(`Waiting for normal or error page to load`); + const isErrorPage = await loaded; + + ok(!isErrorPage, "We should not land on an error page"); + + await Services.perms.removeAll(); +}); diff --git a/toolkit/components/passwordmgr/LoginManagerChild.sys.mjs b/toolkit/components/passwordmgr/LoginManagerChild.sys.mjs index b64bc3f4b46a3c162616b6bdedf3c6a30e85b34d..118226c2078a454ee392cc5029ca8c673b9316eb 100644 --- a/toolkit/components/passwordmgr/LoginManagerChild.sys.mjs +++ b/toolkit/components/passwordmgr/LoginManagerChild.sys.mjs @@ -1582,7 +1582,7 @@ export class LoginManagerChild extends JSWindowActorChild { break; } case "DOMFormHasPassword": { - this.#onDOMFormHasPassword(event); + this.#onDOMFormHasPassword(event, this.document.defaultView); let formLike = lazy.LoginFormFactory.createFromForm( event.originalTarget ); @@ -1820,10 +1820,13 @@ export class LoginManagerChild extends JSWindowActorChild { return Services.cpmm.sharedData.get("isPrimaryPasswordSet"); } - #onDOMFormHasPassword(event) { + #onDOMFormHasPassword(event, window) { if (!event.isTrusted) { return; } + + this.setupProgressListener(window); + const isPrimaryPasswordSet = this.#getIsPrimaryPasswordSet(); let document = event.target.ownerDocument; diff --git a/toolkit/components/passwordmgr/test/browser/browser_DOMFormHasPassword.js b/toolkit/components/passwordmgr/test/browser/browser_DOMFormHasPassword.js index 8c8354c1b2676e9533a525ba712e23c2d5f934e8..6d4d3333698fc1d5f52a4e52454e79c33e7d124f 100644 --- a/toolkit/components/passwordmgr/test/browser/browser_DOMFormHasPassword.js +++ b/toolkit/components/passwordmgr/test/browser/browser_DOMFormHasPassword.js @@ -27,11 +27,15 @@ function task(contentIds) { gDoc = content.document; gDoc.addEventListener("DOMFormHasPassword", unexpectedContentEvent); + addEventListener("DOMFormHasPassword", unexpectedContentEvent); gDoc.defaultView.setTimeout(test_inputAdd, 0); } function test_inputAdd() { - addEventListener("DOMFormHasPassword", test_inputAddHandler, false); + addEventListener("DOMFormHasPassword", test_inputAddHandler, { + once: true, + capture: true, + }); let input = gDoc.createElementNS("http://www.w3.org/1999/xhtml", "input"); input.setAttribute("type", "password"); input.setAttribute("id", contentIds.INPUT_ID); @@ -40,7 +44,7 @@ function task(contentIds) { } function test_inputAddHandler(evt) { - removeEventListener(evt.type, test_inputAddHandler, false); + evt.stopPropagation(); Assert.equal( evt.target.id, contentIds.FORM1_ID, @@ -50,13 +54,16 @@ function task(contentIds) { } function test_inputChangeForm() { - addEventListener("DOMFormHasPassword", test_inputChangeFormHandler, false); + addEventListener("DOMFormHasPassword", test_inputChangeFormHandler, { + once: true, + capture: true, + }); let input = gDoc.getElementById(contentIds.INPUT_ID); input.setAttribute("form", contentIds.FORM2_ID); } function test_inputChangeFormHandler(evt) { - removeEventListener(evt.type, test_inputChangeFormHandler, false); + evt.stopPropagation(); Assert.equal( evt.target.id, contentIds.FORM2_ID, @@ -66,13 +73,16 @@ function task(contentIds) { } function test_inputChangesType() { - addEventListener("DOMFormHasPassword", test_inputChangesTypeHandler, false); + addEventListener("DOMFormHasPassword", test_inputChangesTypeHandler, { + once: true, + capture: true, + }); let input = gDoc.getElementById(contentIds.CHANGE_INPUT_ID); input.setAttribute("type", "password"); } function test_inputChangesTypeHandler(evt) { - removeEventListener(evt.type, test_inputChangesTypeHandler, false); + evt.stopPropagation(); Assert.equal( evt.target.id, contentIds.FORM1_ID, @@ -82,6 +92,7 @@ function task(contentIds) { } function finish() { + removeEventListener("DOMFormHasPassword", unexpectedContentEvent); gDoc.removeEventListener("DOMFormHasPassword", unexpectedContentEvent); resolve(); } @@ -89,24 +100,50 @@ function task(contentIds) { return promise; } +add_task(async function test_disconnectedInputs() { + const tab = (gBrowser.selectedTab = BrowserTestUtils.addTab(gBrowser)); + await ContentTask.spawn(tab.linkedBrowser, [], async () => { + const unexpectedEvent = evt => { + Assert.ok( + false, + `${evt.type} should not be fired for disconnected forms.` + ); + }; + + addEventListener("DOMFormHasPassword", unexpectedEvent); + + const form = content.document.createElement("form"); + const passwordInput = content.document.createElement("input"); + passwordInput.setAttribute("type", "password"); + form.appendChild(passwordInput); + + // Delay the execution for a bit to allow time for any asynchronously + // dispatched 'DOMFormHasPassword' events to be processed. + // This is necessary because such events might not be triggered immediately, + // and we want to ensure that if they are dispatched, they are captured + // before we remove the event listener. + // eslint-disable-next-line mozilla/no-arbitrary-setTimeout + await new Promise(resolve => setTimeout(resolve, 50)); + removeEventListener("DOMFormHasPassword", unexpectedEvent); + }); + + Assert.ok(true, "Test completed"); + gBrowser.removeCurrentTab(); +}); + add_task(async function () { let tab = (gBrowser.selectedTab = BrowserTestUtils.addTab(gBrowser)); let promise = ContentTask.spawn(tab.linkedBrowser, ids, task); BrowserTestUtils.loadURIString( tab.linkedBrowser, - "data:text/html;charset=utf-8," + - "<html><body>" + - "<form id='" + - ids.FORM1_ID + - "'>" + - "<input id='" + - ids.CHANGE_INPUT_ID + - "'></form>" + - "<form id='" + - ids.FORM2_ID + - "'></form>" + - "</body></html>" + `data:text/html;charset=utf-8, + <html><body> + <form id="${ids.FORM1_ID}"> + <input id="${ids.CHANGE_INPUT_ID}"> + </form> + <form id="${ids.FORM2_ID}"></form> + </body></html>` ); await promise; diff --git a/toolkit/components/passwordmgr/test/browser/browser_DOMFormHasPossibleUsername.js b/toolkit/components/passwordmgr/test/browser/browser_DOMFormHasPossibleUsername.js index 3e87e9a10dd5be15121cb1bc575c0324d5709ab2..7f39395587877d44d1661be05ce513436fb92681 100644 --- a/toolkit/components/passwordmgr/test/browser/browser_DOMFormHasPossibleUsername.js +++ b/toolkit/components/passwordmgr/test/browser/browser_DOMFormHasPossibleUsername.js @@ -28,22 +28,17 @@ function task({ contentIds, expected }) { gDoc = content.document; gDoc.addEventListener("DOMFormHasPossibleUsername", unexpectedContentEvent); + addEventListener("DOMFormHasPossibleUsername", unexpectedContentEvent); gDoc.defaultView.setTimeout(test_inputAdd, 0); } function test_inputAdd() { if (expected) { - addEventListener( - "DOMFormHasPossibleUsername", - test_inputAddHandler, - false - ); + addEventListener("DOMFormHasPossibleUsername", test_inputAddHandler, { + once: true, + capture: true, + }); } else { - addEventListener( - "DOMFormHasPossibleUsername", - unexpectedContentEvent, - false - ); gDoc.defaultView.setTimeout(test_inputAddHandler, 0); } let input = gDoc.createElementNS("http://www.w3.org/1999/xhtml", "input"); @@ -55,7 +50,7 @@ function task({ contentIds, expected }) { function test_inputAddHandler(evt) { if (expected) { - removeEventListener(evt.type, test_inputAddHandler, false); + evt.stopPropagation(); Assert.equal( evt.target.id, contentIds.FORM1_ID, @@ -71,7 +66,7 @@ function task({ contentIds, expected }) { addEventListener( "DOMFormHasPossibleUsername", test_inputChangeFormHandler, - false + { once: true, capture: true } ); } else { gDoc.defaultView.setTimeout(test_inputChangeFormHandler, 0); @@ -82,14 +77,20 @@ function task({ contentIds, expected }) { function test_inputChangeFormHandler(evt) { if (expected) { - removeEventListener(evt.type, test_inputChangeFormHandler, false); + evt.stopPropagation(); Assert.equal( evt.target.id, contentIds.FORM2_ID, evt.type + " event targets correct form element (changed form)" ); } - gDoc.defaultView.setTimeout(test_inputChangesType, 0); + // TODO(Bug 1864405): Refactor this test to not expect a DOM event + // when the type is set to the same value + const nextTask = + expected && contentIds.INPUT_TYPE === "text" + ? finish + : test_inputChangesType; + gDoc.defaultView.setTimeout(nextTask, 0); } function test_inputChangesType() { @@ -97,7 +98,7 @@ function task({ contentIds, expected }) { addEventListener( "DOMFormHasPossibleUsername", test_inputChangesTypeHandler, - false + { once: true, capture: true } ); } else { gDoc.defaultView.setTimeout(test_inputChangesTypeHandler, 0); @@ -108,7 +109,7 @@ function task({ contentIds, expected }) { function test_inputChangesTypeHandler(evt) { if (expected) { - removeEventListener(evt.type, test_inputChangesTypeHandler, false); + evt.stopPropagation(); Assert.equal( evt.target.id, contentIds.FORM1_ID, @@ -119,9 +120,7 @@ function task({ contentIds, expected }) { } function finish() { - if (!expected) { - removeEventListener("DOMFormHasPossibleUsername", unexpectedContentEvent); - } + removeEventListener("DOMFormHasPossibleUsername", unexpectedContentEvent); gDoc.removeEventListener( "DOMFormHasPossibleUsername", unexpectedContentEvent @@ -132,13 +131,43 @@ function task({ contentIds, expected }) { return promise; } -add_task(async function test_initialize() { +add_setup(async function () { Services.prefs.setBoolPref("signon.usernameOnlyForm.enabled", true); registerCleanupFunction(() => { Services.prefs.clearUserPref("signon.usernameOnlyForm.enabled"); }); }); +add_task(async function test_disconnectedInputs() { + const tab = (gBrowser.selectedTab = BrowserTestUtils.addTab(gBrowser)); + await ContentTask.spawn(tab.linkedBrowser, [], async () => { + const unexpectedEvent = evt => { + Assert.ok( + false, + `${evt.type} should not be fired for disconnected forms.` + ); + }; + + addEventListener("DOMFormHasPossibleUsername", unexpectedEvent); + const form = content.document.createElement("form"); + const textInput = content.document.createElement("input"); + textInput.setAttribute("type", "text"); + form.appendChild(textInput); + + // Delay the execution for a bit to allow time for any asynchronously + // dispatched 'DOMFormHasPossibleUsername' events to be processed. + // This is necessary because such events might not be triggered immediately, + // and we want to ensure that if they are dispatched, they are captured + // before we remove the event listener. + // eslint-disable-next-line mozilla/no-arbitrary-setTimeout + await new Promise(resolve => setTimeout(resolve, 50)); + removeEventListener("DOMFormHasPossibleUsername", unexpectedEvent); + }); + + Assert.ok(true, "Test completed"); + gBrowser.removeCurrentTab(); +}); + add_task(async function test_usernameOnlyForm() { for (let type of ["text", "email"]) { let tab = (gBrowser.selectedTab = BrowserTestUtils.addTab(gBrowser)); @@ -151,18 +180,13 @@ add_task(async function test_usernameOnlyForm() { ); BrowserTestUtils.loadURIString( tab.linkedBrowser, - "data:text/html;charset=utf-8," + - "<html><body>" + - "<form id='" + - ids.FORM1_ID + - "'>" + - "<input id='" + - ids.CHANGE_INPUT_ID + - "'></form>" + - "<form id='" + - ids.FORM2_ID + - "'></form>" + - "</body></html>" + `data:text/html;charset=utf-8, + <html><body> + <form id="${ids.FORM1_ID}"> + <input id="${ids.CHANGE_INPUT_ID}"> + </form> + <form id="${ids.FORM2_ID}"></form> + </body></html>` ); await promise; @@ -183,18 +207,13 @@ add_task(async function test_nonSupportedInputType() { ); BrowserTestUtils.loadURIString( tab.linkedBrowser, - "data:text/html;charset=utf-8," + - "<html><body>" + - "<form id='" + - ids.FORM1_ID + - "'>" + - "<input id='" + - ids.CHANGE_INPUT_ID + - "'></form>" + - "<form id='" + - ids.FORM2_ID + - "'></form>" + - "</body></html>" + `data:text/html;charset=utf-8, + <html><body> + <form id="${ids.FORM1_ID}"> + <input id="${ids.CHANGE_INPUT_ID}"> + </form> + <form id="${ids.FORM2_ID}"></form> + </body></html>` ); await promise; @@ -217,18 +236,13 @@ add_task(async function test_usernameOnlyFormPrefOff() { ); BrowserTestUtils.loadURIString( tab.linkedBrowser, - "data:text/html;charset=utf-8," + - "<html><body>" + - "<form id='" + - ids.FORM1_ID + - "'>" + - "<input id='" + - ids.CHANGE_INPUT_ID + - "'></form>" + - "<form id='" + - ids.FORM2_ID + - "'></form>" + - "</body></html>" + `data:text/html;charset=utf-8, + <html><body> + <form id="${ids.FORM1_ID}"> + <input id="${ids.CHANGE_INPUT_ID}"> + </form> + <form id="${ids.FORM2_ID}"></form> + </body></html>` ); await promise; diff --git a/toolkit/components/passwordmgr/test/browser/browser_DOMInputPasswordAdded.js b/toolkit/components/passwordmgr/test/browser/browser_DOMInputPasswordAdded.js index 342d118fb092b8053c44133e0fe02b43739a74af..11ca2ac1cde2972baa440769ee05b1310cacfe50 100644 --- a/toolkit/components/passwordmgr/test/browser/browser_DOMInputPasswordAdded.js +++ b/toolkit/components/passwordmgr/test/browser/browser_DOMInputPasswordAdded.js @@ -27,26 +27,6 @@ function task(contentConsts) { gDoc = content.document; // These events shouldn't escape to content. gDoc.addEventListener("DOMInputPasswordAdded", unexpectedContentEvent); - gDoc.defaultView.setTimeout(test_inputAdd, 0); - } - - function test_inputAdd() { - addEventListener("DOMInputPasswordAdded", test_inputAddHandler, false); - let input = gDoc.createElementNS(contentConsts.HTML_NS, "input"); - input.setAttribute("type", "password"); - input.setAttribute("id", contentConsts.INPUT_ID); - input.setAttribute("data-test", "unique-attribute"); - gDoc.getElementById(contentConsts.FORM1_ID).appendChild(input); - info("Done appending the input element"); - } - - function test_inputAddHandler(evt) { - removeEventListener(evt.type, test_inputAddHandler, false); - Assert.equal( - evt.target.id, - contentConsts.INPUT_ID, - evt.type + " event targets correct input element (added password element)" - ); gDoc.defaultView.setTimeout(test_inputAddOutsideForm, 0); } @@ -109,18 +89,12 @@ add_task(async function () { let promise = ContentTask.spawn(tab.linkedBrowser, consts, task); BrowserTestUtils.loadURIString( tab.linkedBrowser, - "data:text/html;charset=utf-8," + - "<html><body>" + - "<form id='" + - consts.FORM1_ID + - "'>" + - "<input id='" + - consts.CHANGE_INPUT_ID + - "'></form>" + - "<form id='" + - consts.FORM2_ID + - "'></form>" + - "</body></html>" + `data:text/html;charset=utf-8, + <html><body> + <input id="${consts.CHANGE_INPUT_ID}" /> + </body> + </html> + ` ); await promise; gBrowser.removeCurrentTab(); diff --git a/toolkit/components/passwordmgr/test/mochitest/test_formless_autofill.html b/toolkit/components/passwordmgr/test/mochitest/test_formless_autofill.html index ecfd555c1074f90d9cb05c1062ecc49810310284..3422fa893a792e51faefa0d3ff211675e962daf8 100644 --- a/toolkit/components/passwordmgr/test/mochitest/test_formless_autofill.html +++ b/toolkit/components/passwordmgr/test/mochitest/test_formless_autofill.html @@ -127,8 +127,7 @@ add_task(async function test() { is(testInputs.length, tc.expectedInputValues.length, "Check number of inputs"); for (let i = 0; i < tc.expectedInputValues.length; i++) { let expectedValue = tc.expectedInputValues[i]; - is(testInputs[i].value, expectedValue, - "Check expected input value " + i + ": " + expectedValue); + is(testInputs[i].value, expectedValue, `Check expected input value ${i} : ${expectedValue}`); } } }); diff --git a/toolkit/components/pdfjs/content/build/pdf.js b/toolkit/components/pdfjs/content/build/pdf.js index aab9aadc7ec7c6d163bfd3fa005c54311a0dd51b..f59bc4165101f3983bd4680ce024f9b75df40dd6 100644 --- a/toolkit/components/pdfjs/content/build/pdf.js +++ b/toolkit/components/pdfjs/content/build/pdf.js @@ -2186,6 +2186,10 @@ class WorkerTransport { if (pageProxy.objs.has(id)) { return; } + if (pageProxy._intentStates.size === 0) { + imageData?.bitmap?.close(); + return; + } switch (type) { case "Image": pageProxy.objs.resolve(id, imageData); diff --git a/toolkit/components/search/tests/xpcshell/searchconfigs/test_distributions.js b/toolkit/components/search/tests/xpcshell/searchconfigs/test_distributions.js index 95151bf2118487e2ef07400ddc8b1d804881d57e..0b44a5509eda3d3c19a522af9b6f4db1298bd430 100644 --- a/toolkit/components/search/tests/xpcshell/searchconfigs/test_distributions.js +++ b/toolkit/components/search/tests/xpcshell/searchconfigs/test_distributions.js @@ -10,27 +10,6 @@ ChromeUtils.defineESModuleGetters(this, { const tests = []; -// Bing should be default everywhere for Acer -for (let [locale, region] of [ - ["en-US", "US"], - ["pl", "PL"], - ["be", "BY"], - ["ru", "RU"], - ["zh-CN", "CN"], -]) { - for (let distribution of ["acer-003", "acer-004"]) { - tests.push({ - distribution, - locale, - region, - test: engines => - hasParams(engines, "Bing", "searchbar", "pc=MOZX") && - hasDefault(engines, "Bing") && - hasEnginesFirst(engines, ["Bing"]), - }); - } -} - for (let canonicalId of ["canonical", "canonical-001"]) { tests.push({ locale: "en-US", @@ -119,77 +98,6 @@ tests.push({ hasParams(engines, "Qwant Junior", "searchbar", "client=firefoxqwant"), }); -tests.push({ - locale: "cs", - distribution: "seznam", - test: engines => - hasParams(engines, "Seznam", "searchbar", "sourceid=FF_3") && - hasDefault(engines, "Seznam") && - hasEnginesFirst(engines, ["Seznam"]), -}); - -for (const locale of ["en-US", "en-GB", "fr", "de"]) { - tests.push({ - locale, - distribution: "sweetlabs-b-oem1", - test: engines => - hasParams(engines, "Bing", "searchbar", "pc=MZSL01") && - hasParams(engines, "Bing", "searchbar", "ptag=MOZZ0000000020") && - hasDefault(engines, "Bing") && - hasEnginesFirst(engines, ["Bing"]), - }); - - tests.push({ - locale, - distribution: "sweetlabs-b-r-oem1", - test: engines => - hasParams(engines, "Bing", "searchbar", "pc=MZSL01") && - hasParams(engines, "Bing", "searchbar", "ptag=MOZZ0000000020") && - hasDefault(engines, "Bing") && - hasEnginesFirst(engines, ["Bing"]), - }); - - tests.push({ - locale, - distribution: "sweetlabs-b-oem2", - test: engines => - hasParams(engines, "Bing", "searchbar", "pc=MZSL02") && - hasParams(engines, "Bing", "searchbar", "ptag=MOZZ0000000020") && - hasDefault(engines, "Bing") && - hasEnginesFirst(engines, ["Bing"]), - }); - - tests.push({ - locale, - distribution: "sweetlabs-b-r-oem2", - test: engines => - hasParams(engines, "Bing", "searchbar", "pc=MZSL02") && - hasParams(engines, "Bing", "searchbar", "ptag=MOZZ0000000020") && - hasDefault(engines, "Bing") && - hasEnginesFirst(engines, ["Bing"]), - }); - - tests.push({ - locale, - distribution: "sweetlabs-b-oem3", - test: engines => - hasParams(engines, "Bing", "searchbar", "pc=MZSL03") && - hasParams(engines, "Bing", "searchbar", "ptag=MOZZ0000000020") && - hasDefault(engines, "Bing") && - hasEnginesFirst(engines, ["Bing"]), - }); - - tests.push({ - locale, - distribution: "sweetlabs-b-r-oem3", - test: engines => - hasParams(engines, "Bing", "searchbar", "pc=MZSL03") && - hasParams(engines, "Bing", "searchbar", "ptag=MOZZ0000000020") && - hasDefault(engines, "Bing") && - hasEnginesFirst(engines, ["Bing"]), - }); -} - for (const locale of ["en-US", "de"]) { tests.push({ locale, diff --git a/toolkit/components/telemetry/Histograms.json b/toolkit/components/telemetry/Histograms.json index db1527815508b8e1b43ad9b970bc2b62926ca087..9b9cb844458bbef9e45e6ecd58b754c35c201b5f 100644 --- a/toolkit/components/telemetry/Histograms.json +++ b/toolkit/components/telemetry/Histograms.json @@ -14674,13 +14674,6 @@ "n_buckets": 50, "description": "Number of HTTP Auth logins" }, - "PWMGR_PASSWORD_INPUT_IN_FORM": { - "record_in_processes": ["content"], - "products": ["firefox", "fennec"], - "expires_in_version": "never", - "kind": "boolean", - "description": "Whether an <input type=password> is associated with a <form> when it is added to a document" - }, "PWMGR_PROMPT_REMEMBER_ACTION": { "record_in_processes": ["main"], "products": ["firefox", "fennec"], diff --git a/toolkit/components/telemetry/histogram-allowlists.json b/toolkit/components/telemetry/histogram-allowlists.json index 2ebde7598c41df2d49292fd932036466332d5151..32401ff13b3c946d7c708de228ffa45b4c230794 100644 --- a/toolkit/components/telemetry/histogram-allowlists.json +++ b/toolkit/components/telemetry/histogram-allowlists.json @@ -249,7 +249,6 @@ "PROCESS_CRASH_SUBMIT_ATTEMPT", "PROCESS_CRASH_SUBMIT_SUCCESS", "PWMGR_NUM_HTTPAUTH_PASSWORDS", - "PWMGR_PASSWORD_INPUT_IN_FORM", "PWMGR_USERNAME_PRESENT", "REQUESTS_OF_ORIGINAL_CONTENT", "SAFE_MODE_USAGE", @@ -637,7 +636,6 @@ "PROCESS_CRASH_SUBMIT_ATTEMPT", "PROCESS_CRASH_SUBMIT_SUCCESS", "PWMGR_NUM_HTTPAUTH_PASSWORDS", - "PWMGR_PASSWORD_INPUT_IN_FORM", "PWMGR_USERNAME_PRESENT", "RANGE_CHECKSUM_ERRORS", "READER_MODE_DOWNLOAD_RESULT", diff --git a/toolkit/library/rust/shared/Cargo.toml b/toolkit/library/rust/shared/Cargo.toml index fee5feadc75c53ff21f6a2ee4f162989acf7130d..2a63b594f4ca1fc9d87d21503ca1d16576a50958 100644 --- a/toolkit/library/rust/shared/Cargo.toml +++ b/toolkit/library/rust/shared/Cargo.toml @@ -55,6 +55,8 @@ unic-langid = { version = "0.9", features = ["likelysubtags"] } unic-langid-ffi = { path = "../../../../intl/locale/rust/unic-langid-ffi" } fluent-langneg = { version = "0.13", features = ["cldr"] } fluent-langneg-ffi = { path = "../../../../intl/locale/rust/fluent-langneg-ffi" } +oxilangtag = "0.1.3" +oxilangtag-ffi = { path = "../../../../intl/locale/rust/oxilangtag-ffi" } rure = "0.2.2" rust_minidump_writer_linux = { path = "../../../crashreporter/rust_minidump_writer_linux", optional = true } gecko-profiler = { path = "../../../../tools/profiler/rust-api"} diff --git a/toolkit/library/rust/shared/lib.rs b/toolkit/library/rust/shared/lib.rs index 3effb2fa68de9892b33f3ebc19a4d2fac35686d4..6ab7e5a0bb5f12c36c5bcfc1a4feff93c4110dd3 100644 --- a/toolkit/library/rust/shared/lib.rs +++ b/toolkit/library/rust/shared/lib.rs @@ -78,6 +78,8 @@ extern crate fluent_langneg_ffi; extern crate fluent; extern crate fluent_ffi; +extern crate oxilangtag_ffi; + extern crate rure; extern crate fluent_fallback; diff --git a/toolkit/modules/PopupNotifications.sys.mjs b/toolkit/modules/PopupNotifications.sys.mjs index 14042bc2884833acccab851e50d0b0298dc3ce8d..37f588bb17ffa87b738dfc503de3ca98a49f4a76 100644 --- a/toolkit/modules/PopupNotifications.sys.mjs +++ b/toolkit/modules/PopupNotifications.sys.mjs @@ -18,6 +18,7 @@ const ICON_ATTRIBUTE_SHOWING = "showing"; const ICON_ANCHOR_ATTRIBUTE = "popupnotificationanchor"; const PREF_SECURITY_DELAY = "security.notification_enable_delay"; +const FULLSCREEN_TRANSITION_TIME_SHOWN_OFFSET_MS = 2000; // Enumerated values for the POPUP_NOTIFICATION_STATS telemetry histogram. const TELEMETRY_STAT_OFFERED = 0; @@ -306,6 +307,12 @@ export function PopupNotifications(tabbrowser, panel, iconBox, options = {}) { true ); + Services.obs.addObserver(this, "fullscreen-transition-start"); + + this.window.addEventListener("unload", () => { + Services.obs.removeObserver(this, "fullscreen-transition-start"); + }); + this.window.addEventListener("activate", this, true); if (this.tabbrowser.tabContainer) { this.tabbrowser.tabContainer.addEventListener("TabSelect", this, true); @@ -352,6 +359,18 @@ PopupNotifications.prototype = { return this._iconBox; }, + observe(subject, topic) { + if (topic == "fullscreen-transition-start") { + // Extend security delay if the panel is open. + if (this.isPanelOpen) { + let notification = this.panel.firstChild?.notification; + if (notification) { + this._extendSecurityDelay([notification]); + } + } + } + }, + /** * Retrieve one or many Notification object/s associated with the browser/ID pair. * @param {string|string[]} id @@ -796,7 +815,10 @@ PopupNotifications.prototype = { case "activate": if (this.isPanelOpen) { for (let elt of this.panel.children) { - elt.notification.timeShown = this.window.performance.now(); + elt.notification.timeShown = Math.max( + this.window.performance.now(), + elt.notification.timeShown ?? 0 + ); } break; } @@ -1211,6 +1233,13 @@ PopupNotifications.prototype = { } }, + _extendSecurityDelay(notifications) { + let now = this.window.performance.now(); + notifications.forEach(n => { + n.timeShown = now + FULLSCREEN_TRANSITION_TIME_SHOWN_OFFSET_MS; + }); + }, + _showPanel: function PopupNotifications_showPanel( notificationsToShow, anchorElement @@ -1257,7 +1286,11 @@ PopupNotifications.prototype = { // Remember the time the notification was shown for the security delay. notificationsToShow.forEach( - n => (n.timeShown = this.window.performance.now()) + n => + (n.timeShown = Math.max( + this.window.performance.now(), + n.timeShown ?? 0 + )) ); if (this.isPanelOpen && this._currentAnchorElement == anchorElement) { @@ -1301,6 +1334,12 @@ PopupNotifications.prototype = { n._recordTelemetryStat(TELEMETRY_STAT_OFFERED); }, this); + // We're about to open the panel while in a full screen transition. Extend + // the security delay. + if (this.window.isInFullScreenTransition) { + this._extendSecurityDelay(notificationsToShow); + } + let target = this.panel; if (target.parentNode) { // NOTIFICATION_EVENT_SHOWN should be fired for the panel before @@ -1898,8 +1937,8 @@ PopupNotifications.prototype = { return; } - let timeSinceShown = - this.window.performance.now() - notification.timeShown; + let now = this.window.performance.now(); + let timeSinceShown = now - notification.timeShown; if (timeSinceShown < lazy.buttonDelay) { Services.console.logStringMessage( "PopupNotifications._onButtonEvent: " + @@ -1907,6 +1946,7 @@ PopupNotifications.prototype = { timeSinceShown + "ms" ); + notification.timeShown = Math.max(now, notification.timeShown); return; } } diff --git a/toolkit/xre/dllservices/mozglue/WindowsDllBlocklistDefs.in b/toolkit/xre/dllservices/mozglue/WindowsDllBlocklistDefs.in index 84b50c4d704e5f79d314c141685379d409a15302..eaeee1b8702fcbf5437e502f871255567bb0aa40 100644 --- a/toolkit/xre/dllservices/mozglue/WindowsDllBlocklistDefs.in +++ b/toolkit/xre/dllservices/mozglue/WindowsDllBlocklistDefs.in @@ -350,6 +350,10 @@ BROWSER_PROCESS += [ # Kingsoft internet security (bug 1837246) DllBlocklistEntry("dghmpg64.dll", ALL_VERSIONS), + + # Legacy DLL for digital signatures with ID cards from Spain (bug 1709082), + # up-to-date setups use DNIe_P11_x64.dll instead + DllBlocklistEntry("UsrDNIeCertStore.dll", ALL_VERSIONS), ] CHILD_PROCESSES += [ diff --git a/toolkit/xre/dllservices/mozglue/interceptor/PatcherDetour.h b/toolkit/xre/dllservices/mozglue/interceptor/PatcherDetour.h index 4563d04e5f3329b37a6ffe4a8cbfe6941683bdfd..e0b33c7addf0f6f00c422c116b7bd0717700c283 100644 --- a/toolkit/xre/dllservices/mozglue/interceptor/PatcherDetour.h +++ b/toolkit/xre/dllservices/mozglue/interceptor/PatcherDetour.h @@ -1722,12 +1722,14 @@ class WindowsDllDetourPatcher final PrimitiveT::ApplyDefaultPatch(target, aDest); } while (false); + // Output the trampoline, thus signalling that this call was a success. This + // must happen before our patched function can be reached from another + // thread, so before we commit the target code (bug 1838286). + *aOutTramp = trampPtr; + if (!target.Commit()) { - return; + *aOutTramp = nullptr; } - - // Output the trampoline, thus signalling that this call was a success - *aOutTramp = trampPtr; } }; diff --git a/widget/GfxDriverInfo.cpp b/widget/GfxDriverInfo.cpp index 924296c6044c441cc7a3160605d7fee4e65f3c45..c8722b1951eb529e0dfb13183f1b66126f835969 100644 --- a/widget/GfxDriverInfo.cpp +++ b/widget/GfxDriverInfo.cpp @@ -16,12 +16,10 @@ uint64_t GfxDriverInfo::allDriverVersions = ~(uint64_t(0)); GfxDeviceFamily* GfxDriverInfo::sDeviceFamilies[static_cast<size_t>(DeviceFamily::Max)]; -nsAString* +nsString* GfxDriverInfo::sWindowProtocol[static_cast<size_t>(WindowProtocol::Max)]; -nsAString* - GfxDriverInfo::sDeviceVendors[static_cast<size_t>(DeviceVendor::Max)]; -nsAString* - GfxDriverInfo::sDriverVendors[static_cast<size_t>(DriverVendor::Max)]; +nsString* GfxDriverInfo::sDeviceVendors[static_cast<size_t>(DeviceVendor::Max)]; +nsString* GfxDriverInfo::sDriverVendors[static_cast<size_t>(DriverVendor::Max)]; GfxDriverInfo::GfxDriverInfo() : mOperatingSystem(OperatingSystem::Unknown), diff --git a/widget/GfxDriverInfo.h b/widget/GfxDriverInfo.h index 686b0261d5a70cf08293583f9f012b3e94530271..23aa66da4b07eac30af0535e392cd7b0e7476ef8 100644 --- a/widget/GfxDriverInfo.h +++ b/widget/GfxDriverInfo.h @@ -347,14 +347,14 @@ struct GfxDriverInfo { sDeviceFamilies[static_cast<size_t>(DeviceFamily::Max)]; static const nsAString& GetWindowProtocol(WindowProtocol id); - static nsAString* sWindowProtocol[static_cast<size_t>(WindowProtocol::Max)]; + static nsString* sWindowProtocol[static_cast<size_t>(WindowProtocol::Max)]; static const nsAString& GetDeviceVendor(DeviceVendor id); static const nsAString& GetDeviceVendor(DeviceFamily id); - static nsAString* sDeviceVendors[static_cast<size_t>(DeviceVendor::Max)]; + static nsString* sDeviceVendors[static_cast<size_t>(DeviceVendor::Max)]; static const nsAString& GetDriverVendor(DriverVendor id); - static nsAString* sDriverVendors[static_cast<size_t>(DriverVendor::Max)]; + static nsString* sDriverVendors[static_cast<size_t>(DriverVendor::Max)]; nsString mModel, mHardware, mProduct, mManufacturer; diff --git a/widget/GfxInfoBase.cpp b/widget/GfxInfoBase.cpp index 66dfcaabdd6a0768d6cdea69fcfcc90926b40f72..66dd10da8a7546eb00c597149cab180431b1c3b8 100644 --- a/widget/GfxInfoBase.cpp +++ b/widget/GfxInfoBase.cpp @@ -266,6 +266,9 @@ static const char* GetPrefNameForFeature(int32_t aFeature) { case nsIGfxInfo::FEATURE_AV1_HW_DECODE: name = BLOCKLIST_PREF_BRANCH "av1.hw-decode"; break; + case nsIGfxInfo::FEATURE_WEBGL_USE_HARDWARE: + name = BLOCKLIST_PREF_BRANCH "webgl-use-hardware"; + break; default: MOZ_ASSERT_UNREACHABLE("Unexpected nsIGfxInfo feature?!"); break; diff --git a/widget/gtk/GfxInfo.cpp b/widget/gtk/GfxInfo.cpp index ea8beb19b027b315dcbb524a628849d029dc28bb..7382b066d18cec2eb8f94743236528f339f6ffae 100644 --- a/widget/gtk/GfxInfo.cpp +++ b/widget/gtk/GfxInfo.cpp @@ -856,6 +856,13 @@ const nsTArray<GfxDriverInfo>& GfxInfo::GetGfxDriverInfo() { nsIGfxInfo::FEATURE_WEBRENDER, nsIGfxInfo::FEATURE_BLOCKED_DEVICE, DRIVER_COMPARISON_IGNORED, V(0, 0, 0, 0), "FEATURE_FAILURE_WEBRENDER_MESA_VM", ""); + // Disable hardware mesa drivers in virtual machines due to instability. + APPEND_TO_DRIVER_BLOCKLIST_EXT( + OperatingSystem::Linux, ScreenSizeStatus::All, BatteryStatus::All, + WindowProtocol::All, DriverVendor::MesaVM, DeviceFamily::All, + nsIGfxInfo::FEATURE_WEBGL_USE_HARDWARE, + nsIGfxInfo::FEATURE_BLOCKED_DEVICE, DRIVER_COMPARISON_IGNORED, + V(0, 0, 0, 0), "FEATURE_FAILURE_WEBGL_MESA_VM", ""); //////////////////////////////////// // FEATURE_WEBRENDER_COMPOSITOR diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp index 37745acc3329da10ffed93b8d1f2054db7f304e8..8ed12c734d02cc6f4234f505b93e9415af784c5f 100644 --- a/widget/gtk/nsWindow.cpp +++ b/widget/gtk/nsWindow.cpp @@ -6576,6 +6576,14 @@ void nsWindow::ResumeCompositorFlickering() { MozClearHandleID(mCompositorPauseTimeoutID, g_source_remove); + // mCompositorWidgetDelegate can be deleted during timeout. + // In such case just flip compositor back to enabled and let + // SetCompositorWidgetDelegate() or Map event resume it. + if (!mCompositorWidgetDelegate) { + mCompositorState = COMPOSITOR_ENABLED; + return; + } + ResumeCompositorImpl(); } diff --git a/widget/nsIGfxInfo.idl b/widget/nsIGfxInfo.idl index 8a611fbffe2c2be2afd0083592ed3b28f5a9b3ba..08e3f6ec130ba6ae0ccdb3840d919149857f7f9e 100644 --- a/widget/nsIGfxInfo.idl +++ b/widget/nsIGfxInfo.idl @@ -185,8 +185,10 @@ interface nsIGfxInfo : nsISupports const long FEATURE_H264_HW_DECODE = 44; /* Whether hardware AV1 decoding is supported, starting in 114; not for downloadable blocking. */ const long FEATURE_AV1_HW_DECODE = 45; + /* Whether WebGL is allowed to use hardware rendering, otherwise software fallbacks. */ + const long FEATURE_WEBGL_USE_HARDWARE = 46; /* the maximum feature value. */ - const long FEATURE_MAX_VALUE = FEATURE_ACCELERATED_CANVAS2D; + const long FEATURE_MAX_VALUE = FEATURE_WEBGL_USE_HARDWARE; /* * A set of return values from GetFeatureStatus diff --git a/widget/windows/nsFilePicker.cpp b/widget/windows/nsFilePicker.cpp index d45922d3bea96f5bd1251a03d4791264624cfc8b..a47b93ea42d97c29f900f0b7eef7970c712ab269 100644 --- a/widget/windows/nsFilePicker.cpp +++ b/widget/windows/nsFilePicker.cpp @@ -71,6 +71,11 @@ NS_IMPL_ISUPPORTS(nsFilePicker, nsIFilePicker) NS_IMETHODIMP nsFilePicker::Init(mozIDOMWindowProxy* aParent, const nsAString& aTitle, nsIFilePicker::Mode aMode) { + // Don't attempt to open a real file-picker in headless mode. + if (gfxPlatform::IsHeadless()) { + return nsresult::NS_ERROR_NOT_AVAILABLE; + } + nsCOMPtr<nsPIDOMWindowOuter> window = do_QueryInterface(aParent); nsIDocShell* docShell = window ? window->GetDocShell() : nullptr; mLoadContext = do_QueryInterface(docShell); @@ -291,6 +296,11 @@ bool nsFilePicker::ShowFilePicker(const nsString& aInitialDir) { // nsIFilePicker impl. nsresult nsFilePicker::ShowW(nsIFilePicker::ResultCode* aReturnVal) { + // Don't attempt to open a real file-picker in headless mode. + if (gfxPlatform::IsHeadless()) { + return nsresult::NS_ERROR_NOT_AVAILABLE; + } + NS_ENSURE_ARG_POINTER(aReturnVal); *aReturnVal = returnCancel; diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp index 08c77360de6fdbf3dc579ea49243dbdc18f37ebc..f841a78da5c968ca9e75fc39f6f3d9c04eed5b71 100644 --- a/xpcom/io/nsLocalFileUnix.cpp +++ b/xpcom/io/nsLocalFileUnix.cpp @@ -1970,6 +1970,46 @@ nsLocalFile::Contains(nsIFile* aInFile, bool* aResult) { return NS_OK; } +static nsresult ReadLinkSafe(const nsCString& aTarget, int32_t aExpectedSize, + nsACString& aOutBuffer) { + // If we call readlink with a buffer size S it returns S, then we cannot tell + // if the buffer was big enough to hold the entire path. We allocate an + // additional byte so we can check if the buffer was large enough. + const auto allocSize = CheckedInt<size_t>(aExpectedSize) + 1; + if (!allocSize.isValid()) { + return NS_ERROR_OUT_OF_MEMORY; + } + + auto result = aOutBuffer.BulkWrite(allocSize.value(), 0, false); + if (result.isErr()) { + return result.unwrapErr(); + } + + auto handle = result.unwrap(); + + while (true) { + ssize_t bytesWritten = + readlink(aTarget.get(), handle.Elements(), handle.Length()); + if (bytesWritten < 0) { + return NSRESULT_FOR_ERRNO(); + } + + // written >= 0 so it is safe to cast to size_t. + if ((size_t)bytesWritten < handle.Length()) { + // Target might have changed since the lstat call, or lstat might lie, see + // bug 1791029. + handle.Finish(bytesWritten, false); + return NS_OK; + } + + // The buffer was not large enough, so double it and try again. + auto restartResult = handle.RestartBulkWrite(handle.Length() * 2, 0, false); + if (restartResult.isErr()) { + return restartResult.unwrapErr(); + } + } +} + NS_IMETHODIMP nsLocalFile::GetNativeTarget(nsACString& aResult) { CHECK_mPath(); @@ -1984,21 +2024,12 @@ nsLocalFile::GetNativeTarget(nsACString& aResult) { return NS_ERROR_FILE_INVALID_PATH; } - int32_t size = (int32_t)symStat.st_size; nsAutoCString target; - if (!target.SetLength(size, mozilla::fallible)) { - return NS_ERROR_OUT_OF_MEMORY; - } - - ssize_t written = readlink(mPath.get(), target.BeginWriting(), size_t(size)); - if (written < 0) { - return NSRESULT_FOR_ERRNO(); + nsresult rv = ReadLinkSafe(mPath, symStat.st_size, target); + if (NS_FAILED(rv)) { + return rv; } - // Target might have changed since the lstat call, or lstat might lie, see bug - // 1791029. - target.Truncate(written); - nsresult rv = NS_OK; nsCOMPtr<nsIFile> self(this); int32_t maxLinks = 40; while (true) { @@ -2036,21 +2067,12 @@ nsLocalFile::GetNativeTarget(nsACString& aResult) { break; } - int32_t newSize = (int32_t)symStat.st_size; - size = newSize; nsAutoCString newTarget; - if (!newTarget.SetLength(size, mozilla::fallible)) { - rv = NS_ERROR_OUT_OF_MEMORY; + rv = ReadLinkSafe(flatRetval, symStat.st_size, newTarget); + if (NS_FAILED(rv)) { break; } - ssize_t linkLen = - readlink(flatRetval.get(), newTarget.BeginWriting(), size); - if (linkLen == -1) { - rv = NSRESULT_FOR_ERRNO(); - break; - } - newTarget.Truncate(linkLen); target = newTarget; } diff --git a/xpfe/appshell/AppWindow.cpp b/xpfe/appshell/AppWindow.cpp index 4688ba70de0d4a04992151f6f6b58b8d042de3b6..a5dab3b157f9d92fcf823ed90f3c06c9ce56fc2c 100644 --- a/xpfe/appshell/AppWindow.cpp +++ b/xpfe/appshell/AppWindow.cpp @@ -468,7 +468,10 @@ AppWindow::GetLiveResizeListeners() { nsTArray<RefPtr<mozilla::LiveResizeListener>> listeners; if (mPrimaryBrowserParent) { BrowserHost* host = BrowserHost::GetFrom(mPrimaryBrowserParent.get()); - listeners.AppendElement(host->GetActor()); + RefPtr<mozilla::LiveResizeListener> actor = host->GetActor(); + if (actor) { + listeners.AppendElement(actor); + } } return listeners; }