
morgan pushed to branch tor-browser-128.14.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: 6e98860e by Henry Wilkes at 2025-09-17T12:12:26+00:00 fixup! Tor Browser strings TB 44032: Add YEC strings. These strings are likely to be used in future year end campaigns, so we keep them separate from the 2025-specific strings. - - - - - c8fec369 by Henry Wilkes at 2025-09-17T12:16:30+00:00 fixup! TB 7494: Create local home page for TBB. TB 44032: Implement the 2025 YEC banner. This adds the 2025 year end campaign banner. We want to keep this beyond the end of the campaign since next year's campaign is likely going to be similar. Assets specific to 2025 are in a separate commit. - - - - - 67f2f0d3 by Henry Wilkes at 2025-09-17T12:24:24+00:00 TB 44032: YEC 2025 assets. Assets only needed for the 2025 Year end campaign. - - - - - 12 changed files: - browser/components/BrowserGlue.sys.mjs - browser/components/abouttor/AboutTorChild.sys.mjs - browser/components/abouttor/AboutTorParent.sys.mjs - browser/components/abouttor/content/aboutTor.css - browser/components/abouttor/content/aboutTor.html - browser/components/abouttor/content/aboutTor.js - + browser/components/abouttor/content/yec-heart.svg - + browser/components/abouttor/content/yec2025-font.css - + browser/components/abouttor/content/yec2025-image.svg - browser/components/abouttor/jar.mn - toolkit/content/license.html - toolkit/locales/en-US/toolkit/global/tor-browser.ftl Changes: ===================================== browser/components/BrowserGlue.sys.mjs ===================================== @@ -529,6 +529,7 @@ let JSWINDOWACTORS = { L10nMutationsFinished: {}, SubmitSearchOnionize: { wantUntrusted: true }, SurveyDismissed: { wantUntrusted: true }, + UserDismissedYEC: { wantUntrusted: true }, }, }, ===================================== browser/components/abouttor/AboutTorChild.sys.mjs ===================================== @@ -26,6 +26,23 @@ export class AboutTorChild extends JSWindowActorChild { new this.contentWindow.CustomEvent("L10nMutationsFinished") ); break; + case "UserDismissedYEC": + // YEC banner was closed. Persist this for the rest of this session. + // See tor-browser#42188. + this.sendAsyncMessage("AboutTor:UserDismissedYEC"); + break; + } + } + + receiveMessage(message) { + switch (message.name) { + case "AboutTor:DismissYEC": { + this.contentWindow.dispatchEvent( + new this.contentWindow.CustomEvent("DismissYEC") + ); + break; + } } + return undefined; } } ===================================== browser/components/abouttor/AboutTorParent.sys.mjs ===================================== @@ -7,16 +7,37 @@ ChromeUtils.defineESModuleGetters(lazy, { TorConnect: "resource://gre/modules/TorConnect.sys.mjs", }); +const initializedActors = new Set(); + /** * Actor parent class for the about:tor page. */ export class AboutTorParent extends JSWindowActorParent { + /* + * Whether the user has dismissed the Year End Campaign (YEC) banner this + * session. + * + * @type {boolean} + */ + static #dismissYEC = false; + + didDestroy() { + initializedActors.delete(this); + } + receiveMessage(message) { const onionizePref = "torbrowser.homepage.search.onionize"; const surveyDismissVersionPref = "torbrowser.homepage.survey.dismiss_version"; switch (message.name) { - case "AboutTor:GetInitialData": + case "AboutTor:GetInitialData": { + // Track this actor to send future updates. + initializedActors.add(this); + + let appLocale = Services.locale.appLocaleAsBCP47; + if (appLocale === "ja-JP-macos") { + appLocale = "ja"; + } return Promise.resolve({ torConnectEnabled: lazy.TorConnect.enabled, messageData: lazy.AboutTorMessage.getNext(), @@ -26,8 +47,10 @@ export class AboutTorParent extends JSWindowActorParent { surveyDismissVersionPref, 0 ), - appLocale: Services.locale.appLocaleAsBCP47, + appLocale, + dismissYEC: AboutTorParent.#dismissYEC, }); + } case "AboutTor:SetSearchOnionize": Services.prefs.setBoolPref(onionizePref, message.data); break; @@ -43,6 +66,23 @@ export class AboutTorParent extends JSWindowActorParent { // the version value to decrease. Services.prefs.setIntPref(surveyDismissVersionPref, message.data); break; + case "AboutTor:UserDismissedYEC": + AboutTorParent.#dismissYEC = true; + for (const actor of initializedActors) { + if (actor === this) { + // Don't send to ourselves. + continue; + } + // Tell all existing instances to also close the banner, if they still + // exist. + // NOTE: If the user's new tab page is `about:tor`, this may include + // some preloaded pages that have not been made visible yet (see + // NewTabPagePreloading). + try { + actor.sendAsyncMessage("AboutTor:DismissYEC"); + } catch {} + } + break; } return undefined; } ===================================== browser/components/abouttor/content/aboutTor.css ===================================== @@ -324,3 +324,209 @@ body:not(.show-survey) #survey { --in-content-primary-button-background-active: var(--tor-button-background-color-active-dark); } } + +/* Year End Campaign (YEC). */ +body:not(.show-yec) #yec-banner { + display: none; +} + +body.show-yec h1 { + /* Text of heading is still available to screen readers, but it does not + * contribute visually to the page or the body grid layout. */ + position: absolute; + clip-path: inset(50%); +} + +#yec-banner { + grid-area: heading; + border-radius: 8px; + border: 1px solid var(--in-content-box-border-color); + display: grid; + grid-template: + "yec-heading yec-image" auto + "yec-body yec-image" auto + "yec-matching yec-image" auto + "yec-donate yec-image" min-content + / 1fr min-content; + --yec-image-background: #1f0333; + /* Remove 1px from padding for border. */ + padding-block: 55px 55px; + padding-inline: 47px 47px; + box-sizing: border-box; + max-width: 850px; + margin-block-end: 40px; + /* Position for the close button. */ + position: relative; + gap: 0 24px; +} + +#yec-image { + grid-area: yec-image; + align-self: center; + /* Center horizontally for small width layout. */ + justify-self: center; + /* background color, padding and border radius only stands out when using a + * contrast or forced color theme. */ + background-color: var(--yec-image-background); + border-radius: 8px; + padding: 4px; + height: 196px; + border: 1px solid transparent; + /* Remove border and padding from the layout size. These parts are only + * visible in contrast or forced color themes. */ + margin: -5px; + /* Do not let forced colors ignore the background-color, which is needed to + * see the drawing. */ + forced-color-adjust: none; +} + +#yec-image:dir(rtl) { + transform: scaleX(-1); +} + +#yec-heading { + grid-area: yec-heading; + margin-block: 0 16px; + font-size: 64px; + font-weight: 400; + font-family: "Jacquard 12", serif; +} + +#yec-heading.all-jacquard12-chars { + /* All characters are supported by Jacquard 12. + * These have a high natural line-height. */ + line-height: 1.0; +} + +#yec-body { + grid-area: yec-body; + margin-block: 0 12px; +} + +#yec-body-highlight { + font-weight: 600; +} + +#yec-matching { + grid-area: yec-matching; + margin-block: 0 32px; +} + +#yec-donate-link { + grid-area: yec-donate; + justify-self: start; + /* Style like a button. */ + font-weight: var(--button-font-weight); + color: var(--in-content-button-text-color); + border: 1px solid var(--in-content-button-border-color); + border-radius: 4px; + background-color: var(--in-content-button-background); + padding: var(--button-padding); + box-sizing: border-box; + min-height: var(--button-min-height); + text-decoration: none; + display: flex; + align-items: center; + gap: 8px; + white-space: nowrap; +} + +#yec-donate-link > * { + flex: 0 0 auto; +} + +#yec-donate-link:hover { + background-color: var(--in-content-button-background-hover); + color: var(--in-content-button-text-color-hover); + border-color: var(--in-content-button-border-color-hover); +} + +#yec-donate-link:hover:active { + background-color: var(--in-content-button-background-active); + color: var(--in-content-button-text-color-active); + border-color: var(--in-content-button-border-color-active); +} + +#yec-donate-icon { + -moz-context-properties: fill; + fill: currentColor; +} + +#yec-close { + position: absolute; + inset-block-start: 16px; + inset-inline-end: 16px; +} + +@media (max-width: 768px) { + /* Small width layout. */ + #yec-banner { + grid-template: + "yec-image" min-content + "yec-heading" auto + "yec-body" auto + "yec-matching" auto + "yec-donate" min-content + / 1fr; + padding-block: 31px 39px; + padding-inline: 15px; + /* Match max-width of the form. */ + max-width: var(--form-max-width); + margin-block-end: 32px; + } + + #yec-image { + height: 156px; + } + + #yec-heading { + margin-block-start: 16px; + text-align: center; + text-wrap-style: balance; + } + + #yec-heading { + font-size: 3.5rem; + } + + #yec-matching { + margin-block-end: 16px; + } + + #yec-donate-link { + justify-self: center; + } +} + +@media ((prefers-contrast) or (forced-colors)) and (prefers-color-scheme: dark) { + #yec-image { + /* Give the dark image a light border to separate from background. */ + border-color: var(--in-content-box-border-color); + } +} + +@media not ((prefers-contrast) or (forced-colors)) { + #yec-banner { + border-color: transparent; + background-color: var(--yec-image-background); + --yec-text: #ffffff; + --yec-button-background: #b6e368; + --yec-button-background-hover: #d2f2a1; + --yec-button-background-active: #ecfcd8; + --yec-button-text: #15141A; + color: var(--yec-text); + } + + #yec-body-highlight { + color: var(--yec-button-background); + } + + #yec-donate-link { + --in-content-button-text-color: var(--yec-button-text); + --in-content-button-text-color-hover: var(--yec-button-text); + --in-content-button-text-color-active: var(--yec-button-text); + --in-content-button-background: var(--yec-button-background); + --in-content-button-background-hover: var(--yec-button-background-hover); + --in-content-button-background-active: var(--yec-button-background-active); + } +} ===================================== browser/components/abouttor/content/aboutTor.html ===================================== @@ -4,7 +4,7 @@ <head> <meta http-equiv="Content-Security-Policy" - content="default-src chrome:; object-src 'none'" + content="default-src chrome:; font-src data:; object-src 'none'" /> <title data-l10n-id="newtab-page-title"></title> <link @@ -18,6 +18,10 @@ rel="stylesheet" href="chrome://browser/content/abouttor/aboutTor.css" /> + <link + rel="stylesheet" + href="chrome://browser/content/abouttor/yec2025-font.css" + /> <link rel="localization" href="browser/newtab/newtab.ftl" /> <link rel="localization" href="toolkit/global/tor-browser.ftl" /> @@ -33,6 +37,35 @@ <script src="chrome://browser/content/abouttor/aboutTor.js"></script> </head> <body class="onion-pattern-background"> + <!-- Year End Campaign (YEC). --> + <article id="yec-banner" aria-labelledby="yec-heading"> + <img + id="yec-image" + alt="" + src="chrome://browser/content/abouttor/yec2025-image.svg" + /> + <h2 id="yec-heading" data-l10n-id="yec2025-title"></h2> + <p id="yec-body" data-l10n-id="yec2025-body"> + <b id="yec-body-highlight" data-l10n-name="highlight"></b> + </p> + <p id="yec-matching" data-l10n-id="yec2025-matching"></p> + <a id="yec-donate-link"> + <span data-l10n-id="yec-donate-button"></span> + <img + id="yec-donate-icon" + alt="" + src="chrome://browser/content/abouttor/yec-heart.svg" + /> + </a> + <moz-button + id="yec-close" + type="icon ghost" + class="close" + size="16" + iconSrc="chrome://global/skin/icons/close.svg" + data-l10n-id="yec-close-button" + ></moz-button> + </article> <h1> <img id="tor-browser-logo" ===================================== browser/components/abouttor/content/aboutTor.js ===================================== @@ -150,20 +150,6 @@ const MessageArea = { "shown-message" ); } - - // In the case where we set the update message, we are still waiting for the - // l10n message to complete. We wait until then before showing the content. - if (document.hasPendingL10nMutations) { - window.addEventListener( - "L10nMutationsFinished", - () => { - document.body.classList.add("initialized"); - }, - { once: true } - ); - } else { - document.body.classList.add("initialized"); - } }, }; @@ -185,16 +171,16 @@ const SurveyArea = { /** * The date to start showing the survey. * - * @type {integer} + * @type {?integer} */ - _startDate: Date.UTC(2025, 3, 14, 12), // 2025 April 14th, 12:00. + _startDate: null, // No survey date. /** * The date to stop showing the current survey. * - * @type {integer} + * @type {?integer} */ - _endDate: Date.UTC(2025, 3, 28), // 2025 April 28th, 00:00. + _endDate: null, // No survey date. /** * The survey URL. @@ -293,10 +279,41 @@ const SurveyArea = { }, ], + /** + * Whether the area has been initialised. + * + * @type {boolean} + */ + _initialized: false, + + /** + * The app locale, or `null` whilst unset. + * + * @type {?string} + */ + _locale: null, + + /** + * Whether the banner should be shown. + * + * @type {boolean} + */ + _shouldShow: false, + + /** + * The survey element. + * + * @type {?Element} + */ + _areaEl: null, + /** * Initialize the survey area. */ init() { + this._initialized = true; + + this._areaEl = document.getElementById("survey"); document.getElementById("survey-launch").addEventListener("click", () => { if (!this._localeData) { return; @@ -311,15 +328,16 @@ const SurveyArea = { document.getElementById("survey-dismiss").addEventListener("click", () => { this._hide(); }); + + this._update(); }, /** * Permanently hide this survey. */ _hide() { - document.body.classList.remove("show-survey"); - // Move focus to the search input. - document.getElementById("search-input").focus(); + this._shouldShow = false; + this._update(); dispatchEvent( new CustomEvent("SurveyDismissed", { @@ -343,14 +361,29 @@ const SurveyArea = { */ potentiallyShow(dismissVersion, isStable, appLocale) { const now = Date.now(); - if ( - now < this._startDate || - now >= this._endDate || - // The user has already dismissed this version of the survey before: - dismissVersion >= this._version || - !isStable - ) { - // Don't show the survey. + this._shouldShow = + isStable && + dismissVersion < this._version && + this._startDate && + now >= this._startDate && + now < this._endDate; + this._locale = appLocale; + this._update(); + }, + + /** + * Update the display. + */ + _update() { + if (!this._initialized) { + return; + } + if (!this._shouldShow) { + if (this._areaEl.contains(document.activeElement)) { + // Move focus to the search input. + document.getElementById("search-input").focus(); + } + document.body.classList.remove("show-survey"); return; } @@ -360,7 +393,7 @@ const SurveyArea = { // match the languages that the survey itself supports. This should match // the language of the survey when it is opened by the user. for (const localeData of this._localeDataSet) { - if (localeData.browserLocales.includes(appLocale)) { + if (localeData.browserLocales.includes(this._locale)) { this._localeData = localeData; break; } @@ -387,10 +420,152 @@ const SurveyArea = { }, }; +/** + * Area for the Year End Campaign (YEC). + * See tor-browser#42072. + */ +const YecArea = { + /** + * The epoch time to start showing the banner, if at all. + * + * @type {?integer} + */ + _startDate: Date.UTC(2025, 9, 14, 15), // 2025 October 14th 15:00 UTC. + + /** + * The epoch time to stop showing the banner, if at all. + * + * @type {?integer} + */ + _endDate: Date.UTC(2026, 0, 2, 0), // 2026 January 2nd 0:00 UTC. + + /** + * Whether the area has been initialised. + * + * @type {boolean} + */ + _initialized: false, + + /** + * The app locale, or `null` whilst unset. + * + * @type {?string} + */ + _locale: null, + + /** + * Whether the banner should be shown. + * + * @type {boolean} + */ + _shouldShow: false, + + /** + * The banner element. + * + * @type {?Element} + */ + _areaEl: null, + + /** + * Initialize the widget. + */ + init() { + this._initialized = true; + + this._areaEl = document.getElementById("yec-banner"); + + document.getElementById("yec-close").addEventListener("click", () => { + this.dismiss(); + dispatchEvent(new CustomEvent("UserDismissedYEC", { bubbles: true })); + }); + + this._update(); + }, + + /** + * Close the banner. + */ + dismiss() { + this._shouldShow = false; + this._update(); + }, + + /** + * Possibly show the banner. + * + * @param {boolean} dismissYEC - Whether the user has dismissed YEC. + * @param {boolean} isStable - Whether this is a stable release. + * @param {string} appLocale - The app locale, as BCP47. + */ + potentiallyShow(dismissYEC, isStable, appLocale) { + const now = Date.now(); + this._shouldShow = + !dismissYEC && + isStable && + this._startDate && + now >= this._startDate && + now < this._endDate; + this._locale = appLocale; + this._update(); + }, + + /** + * Update the visibility of the banner to reflect the new state. + */ + _update() { + if (!this._initialized) { + return; + } + if (!this._shouldShow) { + if (this._areaEl.contains(document.activeElement)) { + document.documentElement.focus(); + } + document.body.classList.remove("show-yec"); + return; + } + + const donateLink = document.getElementById("yec-donate-link"); + const base = "https://www.torproject.org/donate"; + const locale = this._locale; + donateLink.href = locale ? `${base}/donate-${locale}-yec2025` : base; + + if (!this._addedHeadingCharObserver) { + // Observer to determine whether the heading contains Jacquard 12 + // supported characters. + this._addedHeadingCharObserver = true; + const headingEl = document.getElementById("yec-heading"); + const measure = () => { + const jacquard12Charset = + // eslint does not like the range \u{300}-\u{304} and onward, which + // are combining characters. But we want to detect the combining + // characters as individual characters. + // eslint-disable-next-line no-misleading-character-class + /^[\u{20}-\u{7e}\u{a0}-\u{a3}\u{a5}\u{a7}-\u{ab}\u{ae}-\u{b0}\u{b4}\u{b6}-\u{b8}\u{ba}-\u{bb}\u{bf}-\u{107}\u{10a}-\u{113}\u{116}-\u{11b}\u{11e}-\u{123}\u{126}-\u{127}\u{12a}-\u{12b}\u{12e}-\u{133}\u{136}-\u{137}\u{139}-\u{13e}\u{141}-\u{148}\u{14a}-\u{14d}\u{150}-\u{15b}\u{15e}-\u{161}\u{164}-\u{165}\u{16a}-\u{17e}\u{218}-\u{21b}\u{237}\u{2c6}-\u{2c7}\u{2d8}-\u{2dd}\u{300}-\u{304}\u{306}-\u{308}\u{30a}-\u{30c}\u{312}\u{326}-\u{328}\u{1e80}-\u{1e85}\u{1e9e}\u{1ef2}-\u{1ef3}\u{200a}\u{2013}-\u{2014}\u{2018}-\u{201a}\u{201c}-\u{201e}\u{2022}\u{2026}\u{2039}-\u{203a}\u{20ac}\u{2122}\u{2212}]+$/u; + headingEl.classList.toggle( + "all-jacquard12-chars", + jacquard12Charset.test(headingEl.textContent) + ); + }; + + const headingObserver = new MutationObserver(measure); + headingObserver.observe(headingEl, { + subtree: true, + childList: true, + characterData: true, + }); + measure(); + } + + document.body.classList.add("show-yec"); + }, +}; + window.addEventListener("DOMContentLoaded", () => { SearchWidget.init(); MessageArea.init(); SurveyArea.init(); + YecArea.init(); }); window.addEventListener("InitialData", event => { @@ -401,8 +576,28 @@ window.addEventListener("InitialData", event => { messageData, surveyDismissVersion, appLocale, + dismissYEC, } = event.detail; SearchWidget.setOnionizeState(!!searchOnionize); MessageArea.setMessageData(messageData, !!isStable, !!torConnectEnabled); SurveyArea.potentiallyShow(surveyDismissVersion, isStable, appLocale); + YecArea.potentiallyShow(dismissYEC, isStable, appLocale); + + // Wait to show the content when the l10n population has completed. + if (document.hasPendingL10nMutations) { + window.addEventListener( + "L10nMutationsFinished", + () => { + document.body.classList.add("initialized"); + }, + { once: true } + ); + } else { + document.body.classList.add("initialized"); + } +}); + +window.addEventListener("DismissYEC", () => { + // User closed the banner in another about:tor instance. + YecArea.dismiss(); }); ===================================== browser/components/abouttor/content/yec-heart.svg ===================================== @@ -0,0 +1,4 @@ +<svg width="16" height="16" viewBox="0 0 16 16" fill="context-fill" xmlns="http://www.w3.org/2000/svg"> + <path d="M8 6C8 6 8 2 11.5 2C15 2 15 5 15 6C15 10.5 8 15 8 15V6Z"/> + <path d="M8 6C8 6 8 2 4.5 2C1 2 1 5 1 6C1 10.5 8 15 8 15L9 9L8 6Z"/> +</svg> ===================================== browser/components/abouttor/content/yec2025-font.css ===================================== @@ -0,0 +1,105 @@ +/** + * The embedded "Jacquard 12" font is under the following license: + * + * Copyright 2023 The Soft Type Project Authors (https://github.com/scfried/soft-type-jacquard) + * + * This Font Software is licensed under the SIL Open Font License, Version 1.1. + * This license is copied below, and is also available with a FAQ at: + * https://openfontlicense.org + * + * + * ----------------------------------------------------------- + * SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 + * ----------------------------------------------------------- + * + * PREAMBLE + * The goals of the Open Font License (OFL) are to stimulate worldwide + * development of collaborative font projects, to support the font creation + * efforts of academic and linguistic communities, and to provide a free and + * open framework in which fonts may be shared and improved in partnership + * with others. + * + * The OFL allows the licensed fonts to be used, studied, modified and + * redistributed freely as long as they are not sold by themselves. The + * fonts, including any derivative works, can be bundled, embedded, + * redistributed and/or sold with any software provided that any reserved + * names are not used by derivative works. The fonts and derivatives, + * however, cannot be released under any other type of license. The + * requirement for fonts to remain under this license does not apply + * to any document created using the fonts or their derivatives. + * + * DEFINITIONS + * "Font Software" refers to the set of files released by the Copyright + * Holder(s) under this license and clearly marked as such. This may + * include source files, build scripts and documentation. + * + * "Reserved Font Name" refers to any names specified as such after the + * copyright statement(s). + * + * "Original Version" refers to the collection of Font Software components as + * distributed by the Copyright Holder(s). + * + * "Modified Version" refers to any derivative made by adding to, deleting, + * or substituting -- in part or in whole -- any of the components of the + * Original Version, by changing formats or by porting the Font Software to a + * new environment. + * + * "Author" refers to any designer, engineer, programmer, technical + * writer or other person who contributed to the Font Software. + * + * PERMISSION & CONDITIONS + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of the Font Software, to use, study, copy, merge, embed, modify, + * redistribute, and sell modified and unmodified copies of the Font + * Software, subject to the following conditions: + * + * 1) Neither the Font Software nor any of its individual components, + * in Original or Modified Versions, may be sold by itself. + * + * 2) Original or Modified Versions of the Font Software may be bundled, + * redistributed and/or sold with any software, provided that each copy + * contains the above copyright notice and this license. These can be + * included either as stand-alone text files, human-readable headers or + * in the appropriate machine-readable metadata fields within text or + * binary files as long as those fields can be easily viewed by the user. + * + * 3) No Modified Version of the Font Software may use the Reserved Font + * Name(s) unless explicit written permission is granted by the corresponding + * Copyright Holder. This restriction only applies to the primary font name as + * presented to the users. + * + * 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font + * Software shall not be used to promote, endorse or advertise any + * Modified Version, except to acknowledge the contribution(s) of the + * Copyright Holder(s) and the Author(s) or with their explicit written + * permission. + * + * 5) The Font Software, modified or unmodified, in part or in whole, + * must be distributed entirely under this license, and must not be + * distributed under any other license. The requirement for fonts to + * remain under this license does not apply to any document created + * using the Font Software. + * + * TERMINATION + * This license becomes null and void if any of the above conditions are + * not met. + * + * DISCLAIMER + * THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT + * OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE + * COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL + * DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM + * OTHER DEALINGS IN THE FONT SOFTWARE. + */ + +@font-face { + font-family: "Jacquard 12"; + font-weight: 400 400; + font-style: normal; + /* woff2 stream */ + src: url("data:font/woff2;base64,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"); +} ===================================== browser/components/abouttor/content/yec2025-image.svg ===================================== @@ -0,0 +1,20 @@ +<svg width="495" height="381" viewBox="0 0 495 381" fill="none" xmlns="http://www.w3.org/2000/svg"> + <path d="M247.419 264.776C201.679 273.69 174.117 246.935 166.057 232.441L105.262 261.112L170.602 258.902L131.868 327.126L195.407 280.785L189.197 362.111L227.832 285.742L262.535 343.489L247.432 264.776H247.419Z" fill="#B6E368"/> + <path d="M223.938 98.8502C269.555 89.3133 297.484 115.702 305.741 130.086L366.144 100.584L300.841 103.686L338.631 34.949L275.741 82.1453L280.837 0.733295L243.255 77.6271L207.756 20.3445L223.938 98.8502Z" fill="#B6E368"/> + <g opacity="0.8"> + <path fill-rule="evenodd" clip-rule="evenodd" d="M256.349 131.796H260.465V136.119H256.141V132.016H247.921V136.119H252.025V140.222H256.141V148.648H260.465V157.293H256.141V148.867H251.817V140.442H247.701V136.119H243.597V132.016H239.273V165.499H260.477V157.293H264.801V165.499H277.137V169.822H285.577V174.145H276.928V169.822H264.814V207.408H277.149V203.305H285.797V207.408H289.913V211.731H285.797V216.053H281.681V220.376H277.357V224.479H273.033V228.582H269.138V232.905H264.814V228.582H268.709V224.259H273.033V220.156H277.357V216.053H281.473V211.731H285.589V207.628H277.149V211.731H264.814V220.364H260.489V228.79H256.165V232.893H264.814V237.215H251.829V228.582H256.153V220.156H260.477V211.731H239.273V237.215H251.817V241.099H222.393V237.215H209.629V232.893H205.525V228.57H201.409V224.467H197.085V220.364H192.981V216.041H197.306V220.144H201.409V224.247H205.733V228.57H209.849V232.893H218.289V228.79H213.965V220.364H209.849V211.731H197.085V207.628H188.645V211.731H184.321V207.408H180.217V169.822H184.541V207.408H188.657V203.305H197.306V207.408H209.849V169.822H197.306V174.145H188.657V169.822H184.541V161.188H188.657V152.763H192.981V148.66H197.306V144.557H201.409V140.454H205.525V136.131H214.173V140.454H205.733V144.777H201.618V148.88H197.293V152.983H192.969V161.408H188.853V169.834H197.073V165.511H209.837V157.305H214.161V165.511H234.924V132.028H231.029V136.131H226.705V132.028H218.485V136.131H214.161V131.808H218.277V127.705H256.349V131.808V131.796ZM214.161 220.132H218.277V228.558H222.601V237.191H234.937V211.706H214.173V220.132H214.161ZM239.261 207.396H260.465V169.81H239.261V207.396ZM214.161 207.396H234.924V169.81H214.161V207.396Z" fill="#C272FF"/> + <path d="M192.968 216.029H188.644V211.706H192.968V216.029Z" fill="#C272FF"/> + <path d="M294.212 207.395H289.888V169.809H294.212V207.395Z" fill="#C272FF"/> + <path d="M269.113 140.429H273.008V144.532H277.332V148.635H281.448V152.738H285.772V161.164H289.888V169.797H285.564V161.371H281.448V152.946H277.124V148.843H273.008V144.74H268.684V140.417H260.465V136.094H269.113V140.417V140.429Z" fill="#C272FF"/> + <path d="M226.718 140.429H222.602V148.855H218.486V157.281H214.162V148.635H218.278V140.209H222.394V136.106H226.718V140.429Z" fill="#C272FF"/> + <path d="M260.464 136.119V131.796H256.348V127.693H218.276V131.796H214.16V136.119M260.464 136.119H256.14V132.016H247.92V136.119H252.024V140.222H256.14V148.648H260.464V157.293M260.464 136.119V140.442H268.683V144.764H273.008V148.867H277.123V152.97H281.448V161.396H285.564V169.822M260.464 136.119H269.112V140.442H273.008V144.545H277.332V148.648H281.448V152.75H285.772V161.176H289.888V169.81M214.16 136.119H205.512V140.442H201.396V144.545H197.292V148.648H192.968V152.75H188.644V161.176H184.528V169.81M214.16 136.119V140.442H205.72V144.764H201.604V148.867H197.28V152.97H192.956V161.396H188.84V169.822H197.06V165.499H209.824V157.293H214.148M214.16 136.119H218.484V132.016H226.704V136.119M289.888 169.81H294.212V207.396H289.888M289.888 169.81V207.396M260.464 157.281H256.14V148.855H251.816V140.429H247.7V136.107H243.596V132.004H239.272V165.487H260.476V157.281H260.464ZM260.464 157.281H264.788V165.487H277.123V169.81H285.564M289.888 207.396H285.772V203.293H277.123V207.396H264.788V169.81H276.903V174.132H285.551V169.81H289.875M289.888 207.396V211.718H285.772V216.041H281.656V220.364H277.332V224.467H273.008V228.57H269.112V232.892H264.788M264.788 232.88V228.558H268.683V224.235H273.008V220.132H277.332V216.029H281.448V211.706H285.564V207.603H277.123V211.706H264.788V220.339H260.464V228.765H256.14V232.868H264.788V232.88ZM264.788 232.88V237.203H251.803M251.803 237.191V228.558H256.128V220.132H260.452V211.706H239.248V237.191H251.791H251.803ZM251.803 237.191V241.074H222.38V237.191H209.616V232.868H205.512V228.545H201.396V224.442H197.072V220.339H192.968V216.017M192.968 216.029H197.292V220.132H201.396V224.235H205.72V228.558H209.836V232.88H218.276V228.777H213.952V220.352H209.836V211.718H197.072V207.615H188.632V211.718M192.968 216.029H188.644V211.706H192.968V216.029ZM188.632 211.706H184.308V207.383H180.204V169.797H184.528M184.528 169.81V207.396H188.644V203.293H197.292V207.396H209.836V169.81H197.292V174.132H188.644V169.81H184.528ZM214.16 157.281V165.487H234.923V132.004H231.028V136.107H226.704M214.16 157.281H218.484V148.855H222.6V140.429H226.716V136.107H222.392V140.21H218.276V148.635H214.16V157.281ZM214.16 220.132H218.276V228.558H222.6V237.191H234.936V211.706H214.172V220.132H214.16ZM239.26 207.396H260.464V169.81H239.26V207.396ZM214.16 207.396H234.923V169.81H214.16V207.396Z" stroke="#C272FF" stroke-width="0.618845"/> + </g> + <path d="M166.566 131.845H175.239L169.665 124.591L179.881 122.381L170.633 111.794L178.264 111.587L178.607 109.511L127.183 90.5711C125.738 90.0338 124.28 89.5942 122.81 89.2401L97.6982 24.4963C92.2226 10.3802 78.3437 0.904321 63.1542 0.904321C58.6095 0.904321 54.1139 1.73468 49.8265 3.3954L23.6612 13.4696C4.62526 20.8208 -4.86823 42.227 2.49382 61.2032L38.3608 153.715C43.8364 167.831 57.7153 177.319 72.8926 177.319C74.9261 177.319 76.935 177.148 78.9195 176.807C82.7169 180.238 87.1513 182.937 92.1001 184.756L143.855 203.818L137.804 193.072H149.686L145.643 183.242H158.493L153.238 173.546L119.454 161.103C130.674 153.727 136.958 140.771 135.954 127.534L175.349 142.041L166.566 131.845ZM151.731 175.28L154.904 181.105H142.446L146.501 190.935H134.141L139.139 199.812L92.8473 182.753C83.1946 179.2 75.5263 172.117 71.2389 162.825C66.9638 153.544 66.5718 143.165 70.1365 133.591L76.9963 115.164C80.2914 106.324 86.551 99.412 94.2316 95.1259L104.509 121.649C103.799 122.528 103.211 123.541 102.794 124.665L95.9343 143.091C94.9175 145.827 95.0278 148.782 96.2527 151.419C97.4655 154.069 99.6581 156.096 102.402 157.11L151.731 175.28ZM65.6653 144.337C65.4938 144.032 65.3468 143.702 65.2121 143.36L29.3328 50.8481C28.2549 48.0884 28.9653 45.7316 29.4798 44.5837C30.0066 43.4237 31.2805 41.3111 34.049 40.2488L60.202 30.1623C61.182 29.7838 62.1742 29.6006 63.1542 29.6006C65.9716 29.6006 69.4382 31.2247 70.8469 34.8636L93.4476 93.1232C85.2158 97.6169 78.503 104.98 74.9873 114.42L68.1275 132.858C66.7311 136.595 65.9103 140.466 65.6653 144.337ZM104.803 125.397C104.975 124.921 105.195 124.469 105.44 124.054L106.726 127.363C107.804 130.135 107.094 132.48 106.579 133.628H106.567C106.065 134.8 104.803 136.9 102.022 137.963L99.8174 138.817L104.803 125.397ZM116.918 160.163L103.149 155.095C100.932 154.289 99.1804 152.665 98.2004 150.528C97.2205 148.403 97.1225 146.034 97.9432 143.836L98.8129 141.492L102.794 139.965C106.297 138.622 107.89 135.96 108.539 134.495C109.188 133.042 110.083 130.086 108.723 126.594L106.983 122.113V122.064L106.273 120.281L106.163 119.988L96.1303 94.1245L96.1058 94.0757L95.4565 92.3906L95.3585 92.1219L72.8436 34.0821C71.0674 29.5029 66.6943 27.4637 63.1542 27.4637C61.9169 27.4637 60.6552 27.6957 59.4303 28.1597L33.2772 38.2461C29.7983 39.5894 28.1814 42.2514 27.5321 43.7045C26.8706 45.1699 25.9764 48.1372 27.3361 51.6296L63.2154 144.142C63.7666 145.595 64.5996 146.804 65.5918 147.744C65.7021 153.202 66.9393 158.624 69.2912 163.716C71.2389 167.929 73.8359 171.702 76.9718 174.938C75.6121 175.109 74.2646 175.182 72.8926 175.182C58.5973 175.182 45.5146 166.244 40.3575 152.934L4.49051 60.4217C-2.4428 42.5567 6.49946 22.396 24.433 15.4723L50.5982 5.39804C54.6406 3.8228 58.8668 3.04128 63.1542 3.04128C77.4618 3.04128 90.5322 11.9677 95.7015 25.2779L120.299 88.6906L120.385 88.9226L121.156 90.913L121.218 91.0595L131.581 117.79C132.414 119.939 133.014 122.113 133.381 124.311C133.406 124.384 133.418 124.457 133.43 124.53C133.553 125.19 133.639 125.861 133.7 126.533C133.7 126.594 133.712 126.643 133.712 126.704C135.133 140.039 128.629 153.214 116.918 160.163ZM135.697 125.165C135.317 122.43 134.619 119.683 133.577 117.008L123.765 91.7067C124.66 91.9632 125.554 92.244 126.436 92.5737L172.666 109.608L166.039 109.791L175.888 121.062L165.904 123.212L170.902 129.708H161.899L168.33 137.181L135.697 125.165Z" fill="white"/> + <path d="M488.077 306.123L422.933 212.255C415.84 202.035 404.252 195.831 391.819 195.55C388.193 192.314 383.893 189.701 379.018 187.906L332.347 170.713L332.151 170.64L320.771 170.957L329.198 180.592L318.639 182.875L325.034 191.191H316.802L323.417 198.872L356.38 211.01L348.847 216.212C339.145 222.903 333.449 233.222 332.31 244.078L302.004 232.917L307.259 242.576H293.846L297.888 252.406H286.643L291.126 260.355L344.694 280.088C345.221 280.284 345.735 280.467 346.262 280.626L404.13 364.016C411.406 374.481 423.374 380.733 436.15 380.733C444.076 380.733 451.707 378.352 458.249 373.846L478.228 360.072C486.766 354.174 492.499 345.321 494.361 335.137C496.223 324.94 493.993 314.646 488.077 306.123ZM324.678 197.052L321.469 193.328H329.37L322.388 184.255L333.192 181.923L325.377 172.972L331.795 172.789L378.271 189.909C382.092 191.313 385.535 193.255 388.548 195.611C381.48 196.039 374.706 198.371 368.826 202.425L358.536 209.52L324.678 197.052ZM345.429 278.086L344.168 277.622L292.609 258.621L290.306 254.543H301.085L297.043 244.713H310.861L306.598 236.885L332.138 246.288L334.245 247.069L354.237 254.433C356.932 255.422 359.749 255.397 362.273 254.53C362.971 254.311 363.632 254.018 364.269 253.651C366.695 252.32 368.667 250.147 369.696 247.375L374.179 235.359L386.012 227.19C387.495 226.176 389.148 225.651 390.924 225.651C392.296 225.651 395.751 226.017 398.091 229.388L401.447 234.223C401.226 235.078 400.969 235.921 400.675 236.775L393.497 256.106L393.142 257.022C390.14 264.507 385.02 270.49 378.748 274.52C378.148 274.911 377.536 275.289 376.911 275.631C368.287 280.504 357.777 281.896 347.61 278.806C346.887 278.599 346.152 278.354 345.429 278.086ZM362.432 246.544C362.665 245.226 363.461 242.747 366.033 240.976L371.092 237.484L367.687 246.63C366.829 248.95 365.176 250.745 363.142 251.844C362.101 249.683 362.224 247.656 362.432 246.544ZM402.366 238.424L402.709 237.471C402.819 237.142 402.929 236.824 403.027 236.495L463.234 323.255C465.023 325.819 464.888 328.42 464.643 329.739C464.398 331.058 463.614 333.525 461.042 335.307L441.062 349.082C439.58 350.107 437.926 350.62 436.15 350.62C434.778 350.62 431.312 350.266 428.972 346.884L379.973 276.279C386.588 272.005 391.966 265.704 395.138 257.803L402.366 238.424ZM492.254 334.746C490.49 344.38 485.075 352.745 477.003 358.313L457.024 372.088C450.85 376.349 443.635 378.596 436.15 378.596C424.072 378.596 412.766 372.698 405.894 362.807L349.496 281.529C352.534 282.25 355.584 282.592 358.598 282.592C365.519 282.592 372.256 280.76 378.136 277.39L427.208 348.105C430.136 352.305 434.435 352.757 436.15 352.757C438.367 352.757 440.425 352.11 442.275 350.84L462.254 337.066C465.464 334.843 466.456 331.766 466.75 330.118C467.044 328.481 467.228 325.245 464.998 322.046L403.774 233.808L402.084 231.378L399.854 228.166C396.939 223.966 392.639 223.514 390.924 223.514H390.912C388.695 223.514 386.637 224.161 384.787 225.431L375.478 231.854L372.403 233.979L364.808 239.218C361.599 241.428 360.619 244.517 360.313 246.154C360.068 247.533 359.908 250.012 361.158 252.65C359.198 253.224 357.042 253.187 354.984 252.43L334.38 244.847C335.323 234.394 340.738 224.405 350.06 217.97L358.83 211.913L360.986 210.424L370.039 204.184C376.213 199.934 383.44 197.675 390.912 197.675H390.961C392.039 197.675 393.117 197.724 394.171 197.822C405.012 198.774 414.934 204.477 421.169 213.476L486.313 307.344C491.898 315.391 494.005 325.123 492.254 334.746Z" fill="white"/> + <path d="M82.7096 239.196L95.6423 239.231L95.6325 242.957L82.7096 242.922V259.141H78.9108V242.912L65.5817 242.877L65.5925 239.151L78.9108 239.186V223.021H82.7096V239.196Z" fill="#C272FF"/> + <path d="M410.924 116.181L423.856 116.216L423.846 119.937L410.924 119.902V136.101H407.125V119.892L393.796 119.857L393.806 116.136L407.125 116.171V100.028H410.924V116.181Z" fill="#C272FF"/> + <path d="M62.4132 304.747C62.4132 303.479 61.387 302.452 60.1215 302.452C58.8559 302.452 57.8297 303.479 57.8297 304.747C57.8297 306.014 58.8559 307.041 60.1215 307.041V310.767C56.801 310.767 54.1093 308.072 54.1093 304.747C54.1093 301.422 56.801 298.727 60.1215 298.727C63.4419 298.727 66.1336 301.422 66.1336 304.747C66.1336 308.072 63.4419 310.767 60.1215 310.767V307.041C61.387 307.041 62.4132 306.014 62.4132 304.747Z" fill="#C272FF"/> + <path d="M359.727 133.175C363.047 133.175 365.739 135.87 365.739 139.195C365.739 142.52 363.047 145.215 359.727 145.215C356.406 145.215 353.715 142.52 353.715 139.195C353.715 135.87 356.406 133.175 359.727 133.175Z" fill="#C272FF"/> + <path d="M416.842 157.255C420.163 157.255 422.854 159.95 422.854 163.275C422.854 166.6 420.163 169.295 416.842 169.295C413.522 169.295 410.83 166.6 410.83 163.275C410.83 159.95 413.522 157.255 416.842 157.255Z" fill="#C272FF"/> + <path d="M101.492 281.67C101.492 280.403 100.466 279.375 99.2004 279.375C97.9348 279.375 96.9087 280.403 96.9087 281.67C96.9087 282.937 97.9348 283.965 99.2004 283.965V287.69C95.88 287.69 93.1883 284.995 93.1883 281.67C93.1883 278.345 95.88 275.65 99.2004 275.65C102.521 275.65 105.213 278.345 105.213 281.67C105.213 284.995 102.521 287.69 99.2004 287.69V283.965C100.466 283.965 101.492 282.937 101.492 281.67Z" fill="#C272FF"/> +</svg> ===================================== browser/components/abouttor/jar.mn ===================================== @@ -8,3 +8,6 @@ browser.jar: content/browser/abouttor/26a1-high-voltage.svg (content/26a1-high-voltage.svg) content/browser/abouttor/2728-sparkles.svg (content/2728-sparkles.svg) content/browser/abouttor/2764-red-heart.svg (content/2764-red-heart.svg) + content/browser/abouttor/yec-heart.svg (content/yec-heart.svg) + content/browser/abouttor/yec2025-image.svg (content/yec2025-image.svg) + content/browser/abouttor/yec2025-font.css (content/yec2025-font.css) ===================================== toolkit/content/license.html ===================================== @@ -98,6 +98,7 @@ <li><a href="about:license#harfbuzz">HarfBuzz License</a></li> <li><a href="about:license#icu">ICU License</a></li> <li><a href="about:license#immutable">Immutable.js License</a></li> + <li><a href="about:license#jacquard12">Jacquard 12 Font License</a></li> <li><a href="about:license#jpnic">Japan Network Information Center License</a></li> <li><a href="about:license#jszip">JSZip License</a></li> <li><a href="about:license#jemalloc">jemalloc License</a></li> @@ -2943,7 +2944,104 @@ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. </pre> + <hr> + <h1><a id="jacquard12"></a>Immutable.js License</h1> + <p>This license applies to embedded "Jacquard 12" font in <code>browser/components/abouttor/content/yec2025-font.css</code>.</p> +<pre> +Copyright 2023 The Soft Type Project Authors (https://github.com/scfried/soft-type-jacquard) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. +</pre> <hr> <h1><a id="jpnic"></a>Japan Network Information Center License</h1> ===================================== toolkit/locales/en-US/toolkit/global/tor-browser.ftl ===================================== @@ -724,3 +724,20 @@ onion-site-saved-keys-dialog-remove-button = Remove onion-site-saved-keys-dialog-remove-all-button = Remove all onion-site-saved-keys-dialog-fetch-keys-error-message = Unable to retrieve keys from Tor onion-site-saved-keys-dialog-remove-keys-error-message = Unable to remove key + +## Year end campaign. + +yec-donate-button = Donate now +# Here "Close" is a verb, referring to closing the banner. +yec-close-button = + .title = Close + +## 2025 Year end campaign. + +# Here "Free" is a verb, as in "release" or "liberate". +yec2025-title = Free the internet +# The second sentence's translation should be wrapped in '<b data-l10n-name="highlight">' and '</b>', which will make the text green and bold. +yec2025-body = Support tools that break the chains of censorship and surveillance. <b data-l10n-name="highlight">Donate to the Tor Project today.</b> +# The end date should match the end of the year 2025. +# The "$250,000" should be localised: it should be shown as USD (United States dollar) currency, but you may use numbers and formatting appropriate to your locale. +yec2025-matching = Through December 31, your gift will be matched, up to $250,000! View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/fdb4048... -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/fdb4048... You're receiving this email because of your account on gitlab.torproject.org.
participants (1)
-
morgan (@morgan)