commit 5b48f111a19095bb5d1118530b2f059d32340b99
parent 71227cdf20ede210b0a14731e2b52c335f063d8f
Author: Erik Nordin <enordin@mozilla.com>
Date: Thu, 18 Dec 2025 01:17:26 +0000
Bug 2002127 - Part 07: Implement Speed up translation default state r=fluent-reviewers,bolsson,hjones
This commit adds the default state for the "Speed up translation" section
in the Translations subpage within the about:settings UI, compatible with
the settings redesign initiative.
Differential Revision: https://phabricator.services.mozilla.com/D274224
Diffstat:
2 files changed, 104 insertions(+), 1 deletion(-)
diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
@@ -654,6 +654,39 @@ Preferences.addSetting({
});
Preferences.addSetting({
+ id: "translationsDownloadLanguagesGroup",
+});
+
+Preferences.addSetting({
+ id: "translationsDownloadLanguagesRow",
+});
+
+Preferences.addSetting({
+ id: "translationsDownloadLanguagesSelect",
+ _value: "",
+ get() {
+ return this._value;
+ },
+ set(val, _deps, setting) {
+ const newValue = val ?? "";
+ if (this._value === newValue) {
+ return this._value;
+ }
+ this._value = newValue;
+ setting?.emit("change");
+ return this._value;
+ },
+});
+
+Preferences.addSetting({
+ id: "translationsDownloadLanguagesButton",
+});
+
+Preferences.addSetting({
+ id: "translationsDownloadLanguagesNoneRow",
+});
+
+Preferences.addSetting({
id: "translationsManageButton",
onUserClick(e) {
e.preventDefault();
@@ -3702,8 +3735,61 @@ SettingGroupManager.registerGroups({
},
moreTranslationSettings: {
inProgress: true,
+ l10nId: "settings-translations-subpage-speed-up-translation-header",
+ headingLevel: 2,
items: [
- // Will be populated in the following commits.
+ {
+ id: "translationsDownloadLanguagesGroup",
+ control: "moz-box-group",
+ controlAttrs: {
+ type: "list",
+ },
+ items: [
+ {
+ id: "translationsDownloadLanguagesRow",
+ l10nId: "settings-translations-subpage-download-languages-header",
+ control: "moz-box-item",
+ controlAttrs: {
+ style: "--box-label-font-weight: var(--font-weight-semibold);",
+ },
+ items: [
+ {
+ id: "translationsDownloadLanguagesSelect",
+ control: "moz-select",
+ controlAttrs: {
+ slot: "actions",
+ },
+ options: [
+ {
+ value: "",
+ l10nId:
+ "settings-translations-subpage-download-languages-select-option",
+ },
+ ],
+ },
+ {
+ id: "translationsDownloadLanguagesButton",
+ l10nId:
+ "settings-translations-subpage-download-languages-button",
+ control: "moz-button",
+ controlAttrs: {
+ slot: "actions",
+ type: "ghost",
+ iconsrc: "chrome://browser/skin/downloads/downloads.svg",
+ },
+ },
+ ],
+ },
+ {
+ id: "translationsDownloadLanguagesNoneRow",
+ l10nId: "settings-translations-subpage-no-languages-downloaded",
+ control: "moz-box-item",
+ controlAttrs: {
+ class: "text-deemphasized",
+ },
+ },
+ ],
+ },
],
},
});
diff --git a/browser/locales/en-US/browser/preferences/preferences.ftl b/browser/locales/en-US/browser/preferences/preferences.ftl
@@ -436,6 +436,23 @@ settings-translations-more-settings-button =
settings-translations-subpage-header =
.heading = More translation settings
+settings-translations-subpage-speed-up-translation-header =
+ .label = Speed up translation
+ .description = Download complete languages for faster translations and to translate offline.
+
+settings-translations-subpage-download-languages-header =
+ .label = Download languages
+
+settings-translations-subpage-download-languages-select-option =
+ .label = Select language
+
+settings-translations-subpage-download-languages-button =
+ .aria-label = Download language
+ .title = Download language
+
+settings-translations-subpage-no-languages-downloaded =
+ .label = No languages downloaded
+
# Variables:
# $localeName (string) - Localized name of the locale to be used.
use-system-locale =