summaryrefslogtreecommitdiffstats
path: root/comm/python/l10n/tb_fluent_migrations/completed/bug_1834662_extensions_to_fluent.py
diff options
context:
space:
mode:
Diffstat (limited to 'comm/python/l10n/tb_fluent_migrations/completed/bug_1834662_extensions_to_fluent.py')
-rw-r--r--comm/python/l10n/tb_fluent_migrations/completed/bug_1834662_extensions_to_fluent.py531
1 files changed, 531 insertions, 0 deletions
diff --git a/comm/python/l10n/tb_fluent_migrations/completed/bug_1834662_extensions_to_fluent.py b/comm/python/l10n/tb_fluent_migrations/completed/bug_1834662_extensions_to_fluent.py
new file mode 100644
index 0000000000..cdd8736b67
--- /dev/null
+++ b/comm/python/l10n/tb_fluent_migrations/completed/bug_1834662_extensions_to_fluent.py
@@ -0,0 +1,531 @@
+# Any copyright is dedicated to the Public Domain.
+# http://creativecommons.org/publicdomain/zero/1.0/
+
+import fluent.syntax.ast as FTL
+from fluent.migratetb.helpers import TERM_REFERENCE, VARIABLE_REFERENCE
+from fluent.migratetb.transforms import (
+ COPY,
+ COPY_PATTERN,
+ PLURALS,
+ REPLACE,
+ REPLACE_IN_TEXT,
+)
+
+
+def migrate(ctx):
+ """Bug 1834662 - Migrate addon/extension stuff, part {index}."""
+
+ # extensionPermissions.ftl - from addons.properties
+ ctx.add_transforms(
+ "mail/messenger/extensionPermissions.ftl",
+ "mail/messenger/extensionPermissions.ftl",
+ [
+ FTL.Message(
+ id=FTL.Identifier("webext-perms-description-accountsFolders"),
+ value=COPY(
+ "mail/chrome/messenger/addons.properties",
+ "webextPerms.description.accountsFolders",
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("webext-perms-description-accountsIdentities"),
+ value=COPY(
+ "mail/chrome/messenger/addons.properties",
+ "webextPerms.description.accountsIdentities",
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("webext-perms-description-accountsRead"),
+ value=COPY(
+ "mail/chrome/messenger/addons.properties",
+ "webextPerms.description.accountsRead2",
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("webext-perms-description-addressBooks"),
+ value=COPY(
+ "mail/chrome/messenger/addons.properties",
+ "webextPerms.description.addressBooks",
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("webext-perms-description-compose"),
+ value=COPY(
+ "mail/chrome/messenger/addons.properties",
+ "webextPerms.description.compose",
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("webext-perms-description-compose"),
+ value=COPY(
+ "mail/chrome/messenger/addons.properties",
+ "webextPerms.description.compose",
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("webext-perms-description-compose-send"),
+ value=COPY(
+ "mail/chrome/messenger/addons.properties",
+ "webextPerms.description.compose.send",
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("webext-perms-description-compose-save"),
+ value=COPY(
+ "mail/chrome/messenger/addons.properties",
+ "webextPerms.description.compose.save",
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("webext-perms-description-experiment"),
+ value=REPLACE(
+ "mail/chrome/messenger/addons.properties",
+ "webextPerms.description.experiment",
+ {"%1$S": TERM_REFERENCE("brand-short-name")},
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("webext-perms-description-messagesImport"),
+ value=COPY(
+ "mail/chrome/messenger/addons.properties",
+ "webextPerms.description.messagesImport",
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("webext-perms-description-messagesModify"),
+ value=COPY(
+ "mail/chrome/messenger/addons.properties",
+ "webextPerms.description.messagesModify",
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("webext-perms-description-messagesMove"),
+ value=COPY(
+ "mail/chrome/messenger/addons.properties",
+ "webextPerms.description.messagesMove2",
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("webext-perms-description-messagesDelete"),
+ value=COPY(
+ "mail/chrome/messenger/addons.properties",
+ "webextPerms.description.messagesDelete",
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("webext-perms-description-messagesRead"),
+ value=COPY(
+ "mail/chrome/messenger/addons.properties",
+ "webextPerms.description.messagesRead",
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("webext-perms-description-messagesTags"),
+ value=COPY(
+ "mail/chrome/messenger/addons.properties",
+ "webextPerms.description.messagesTags",
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("webext-perms-description-sensitiveDataUpload"),
+ value=COPY(
+ "mail/chrome/messenger/addons.properties",
+ "webextPerms.description.sensitiveDataUpload",
+ ),
+ ),
+ ],
+ )
+
+ # extensionsUI.ftl - from here and there
+ ctx.add_transforms(
+ "mail/messenger/extensionsUI.ftl",
+ "mail/messenger/extensionsUI.ftl",
+ [
+ FTL.Message(
+ id=FTL.Identifier("webext-experiment-warning"),
+ value=COPY(
+ "mail/chrome/messenger/addons.properties",
+ "webextPerms.experimentWarning",
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("webext-perms-learn-more"),
+ value=COPY("mail/chrome/messenger/addons.properties", "webextPerms.learnMore2"),
+ ),
+ ],
+ )
+
+ # addonNotifications.ftl - copied from browser/ migration script
+
+ addons_properties = "mail/chrome/messenger/addons.properties"
+ notifications = "mail/messenger/addonNotifications.ftl"
+
+ ctx.add_transforms(
+ notifications,
+ notifications,
+ [
+ FTL.Message(
+ id=FTL.Identifier("xpinstall-prompt"),
+ value=REPLACE(
+ addons_properties,
+ "xpinstallPromptMessage",
+ {"%1$S": TERM_REFERENCE("brand-short-name")},
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("xpinstall-prompt-header"),
+ value=REPLACE(
+ addons_properties,
+ "xpinstallPromptMessage.header",
+ {"%1$S": VARIABLE_REFERENCE("host")},
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("xpinstall-prompt-message"),
+ value=REPLACE(
+ addons_properties,
+ "xpinstallPromptMessage.message",
+ {"%1$S": VARIABLE_REFERENCE("host")},
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("xpinstall-prompt-header-unknown"),
+ value=COPY(addons_properties, "xpinstallPromptMessage.header.unknown"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("xpinstall-prompt-message-unknown"),
+ value=COPY(addons_properties, "xpinstallPromptMessage.message.unknown"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("xpinstall-prompt-dont-allow"),
+ attributes=[
+ FTL.Attribute(
+ id=FTL.Identifier("label"),
+ value=COPY(addons_properties, "xpinstallPromptMessage.dontAllow"),
+ ),
+ FTL.Attribute(
+ id=FTL.Identifier("accesskey"),
+ value=COPY(
+ addons_properties,
+ "xpinstallPromptMessage.dontAllow.accesskey",
+ ),
+ ),
+ ],
+ ),
+ FTL.Message(
+ id=FTL.Identifier("xpinstall-prompt-never-allow"),
+ attributes=[
+ FTL.Attribute(
+ id=FTL.Identifier("label"),
+ value=COPY(addons_properties, "xpinstallPromptMessage.neverAllow"),
+ ),
+ FTL.Attribute(
+ id=FTL.Identifier("accesskey"),
+ value=COPY(
+ addons_properties,
+ "xpinstallPromptMessage.neverAllow.accesskey",
+ ),
+ ),
+ ],
+ ),
+ FTL.Message(
+ id=FTL.Identifier("xpinstall-prompt-never-allow-and-report"),
+ attributes=[
+ FTL.Attribute(
+ id=FTL.Identifier("label"),
+ value=COPY(
+ addons_properties,
+ "xpinstallPromptMessage.neverAllowAndReport",
+ ),
+ ),
+ FTL.Attribute(
+ id=FTL.Identifier("accesskey"),
+ value=COPY(
+ addons_properties,
+ "xpinstallPromptMessage.neverAllowAndReport.accesskey",
+ ),
+ ),
+ ],
+ ),
+ FTL.Message(
+ id=FTL.Identifier("site-permission-install-first-prompt-midi-header"),
+ value=COPY(addons_properties, "sitePermissionInstallFirstPrompt.midi.header"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("site-permission-install-first-prompt-midi-message"),
+ value=COPY(addons_properties, "sitePermissionInstallFirstPrompt.midi.message"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("xpinstall-prompt-install"),
+ attributes=[
+ FTL.Attribute(
+ id=FTL.Identifier("label"),
+ value=COPY(addons_properties, "xpinstallPromptMessage.install"),
+ ),
+ FTL.Attribute(
+ id=FTL.Identifier("accesskey"),
+ value=COPY(
+ addons_properties,
+ "xpinstallPromptMessage.install.accesskey",
+ ),
+ ),
+ ],
+ ),
+ FTL.Message(
+ id=FTL.Identifier("xpinstall-disabled-locked"),
+ value=COPY(addons_properties, "xpinstallDisabledMessageLocked"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("xpinstall-disabled"),
+ value=COPY(addons_properties, "xpinstallDisabledMessage"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("xpinstall-disabled-button"),
+ attributes=[
+ FTL.Attribute(
+ id=FTL.Identifier("label"),
+ value=COPY(addons_properties, "xpinstallDisabledButton"),
+ ),
+ FTL.Attribute(
+ id=FTL.Identifier("accesskey"),
+ value=COPY(addons_properties, "xpinstallDisabledButton.accesskey"),
+ ),
+ ],
+ ),
+ FTL.Message(
+ id=FTL.Identifier("addon-install-blocked-by-policy"),
+ value=REPLACE(
+ addons_properties,
+ "addonInstallBlockedByPolicy",
+ {
+ "%1$S": VARIABLE_REFERENCE("addonName"),
+ "%2$S": VARIABLE_REFERENCE("addonId"),
+ "%3$S": FTL.TextElement(""),
+ },
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("addon-domain-blocked-by-policy"),
+ value=COPY(addons_properties, "addonDomainBlockedByPolicy"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("addon-install-full-screen-blocked"),
+ value=COPY(addons_properties, "addonInstallFullScreenBlocked"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("webext-perms-sideload-menu-item"),
+ value=REPLACE(
+ addons_properties,
+ "webextPerms.sideloadMenuItem",
+ {
+ "%1$S": VARIABLE_REFERENCE("addonName"),
+ "%2$S": TERM_REFERENCE("brand-short-name"),
+ },
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("webext-perms-update-menu-item"),
+ value=REPLACE(
+ addons_properties,
+ "webextPerms.updateMenuItem",
+ {"%1$S": VARIABLE_REFERENCE("addonName")},
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("addon-removal-message"),
+ value=REPLACE(
+ addons_properties,
+ "webext.remove.confirmation.message",
+ {
+ "%1$S": VARIABLE_REFERENCE("name"),
+ "%2$S": TERM_REFERENCE("brand-shorter-name"),
+ },
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("addon-removal-button"),
+ value=COPY(addons_properties, "webext.remove.confirmation.button"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("addon-downloading-and-verifying"),
+ value=PLURALS(
+ addons_properties,
+ "addonDownloadingAndVerifying",
+ VARIABLE_REFERENCE("addonCount"),
+ foreach=lambda n: REPLACE_IN_TEXT(
+ n,
+ {"#1": VARIABLE_REFERENCE("addonCount")},
+ ),
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("addon-download-verifying"),
+ value=COPY(addons_properties, "addonDownloadVerifying"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("addon-install-cancel-button"),
+ attributes=[
+ FTL.Attribute(
+ id=FTL.Identifier("label"),
+ value=COPY(addons_properties, "addonInstall.cancelButton.label"),
+ ),
+ FTL.Attribute(
+ id=FTL.Identifier("accesskey"),
+ value=COPY(addons_properties, "addonInstall.cancelButton.accesskey"),
+ ),
+ ],
+ ),
+ FTL.Message(
+ id=FTL.Identifier("addon-install-accept-button"),
+ attributes=[
+ FTL.Attribute(
+ id=FTL.Identifier("label"),
+ value=COPY(addons_properties, "addonInstall.acceptButton2.label"),
+ ),
+ FTL.Attribute(
+ id=FTL.Identifier("accesskey"),
+ value=COPY(addons_properties, "addonInstall.acceptButton2.accesskey"),
+ ),
+ ],
+ ),
+ FTL.Message(
+ id=FTL.Identifier("addon-confirm-install-message"),
+ value=PLURALS(
+ addons_properties,
+ "addonConfirmInstall.message",
+ VARIABLE_REFERENCE("addonCount"),
+ foreach=lambda n: REPLACE_IN_TEXT(
+ n,
+ {
+ "#1": TERM_REFERENCE("brand-short-name"),
+ "#2": VARIABLE_REFERENCE("addonCount"),
+ },
+ ),
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("addon-confirm-install-unsigned-message"),
+ value=PLURALS(
+ addons_properties,
+ "addonConfirmInstallUnsigned.message",
+ VARIABLE_REFERENCE("addonCount"),
+ foreach=lambda n: REPLACE_IN_TEXT(
+ n,
+ {
+ "#1": TERM_REFERENCE("brand-short-name"),
+ "#2": VARIABLE_REFERENCE("addonCount"),
+ },
+ ),
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("addon-confirm-install-some-unsigned-message"),
+ value=PLURALS(
+ addons_properties,
+ "addonConfirmInstallSomeUnsigned.message",
+ VARIABLE_REFERENCE("addonCount"),
+ foreach=lambda n: REPLACE_IN_TEXT(
+ n,
+ {
+ "#1": TERM_REFERENCE("brand-short-name"),
+ "#2": VARIABLE_REFERENCE("addonCount"),
+ },
+ ),
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("addon-install-error-network-failure"),
+ value=COPY(addons_properties, "addonInstallError-1"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("addon-install-error-incorrect-hash"),
+ value=REPLACE(
+ addons_properties,
+ "addonInstallError-2",
+ {"%1$S": TERM_REFERENCE("brand-short-name")},
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("addon-install-error-corrupt-file"),
+ value=COPY(addons_properties, "addonInstallError-3"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("addon-install-error-file-access"),
+ value=REPLACE(
+ addons_properties,
+ "addonInstallError-4",
+ {
+ "%2$S": VARIABLE_REFERENCE("addonName"),
+ "%1$S": TERM_REFERENCE("brand-short-name"),
+ },
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("addon-install-error-not-signed"),
+ value=REPLACE(
+ addons_properties,
+ "addonInstallError-5",
+ {"%1$S": TERM_REFERENCE("brand-short-name")},
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("addon-install-error-invalid-domain"),
+ value=REPLACE(
+ addons_properties,
+ "addonInstallError-8",
+ {"%2$S": VARIABLE_REFERENCE("addonName")},
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("addon-local-install-error-network-failure"),
+ value=COPY(addons_properties, "addonLocalInstallError-1"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("addon-local-install-error-incorrect-hash"),
+ value=REPLACE(
+ addons_properties,
+ "addonLocalInstallError-2",
+ {"%1$S": TERM_REFERENCE("brand-short-name")},
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("addon-local-install-error-corrupt-file"),
+ value=COPY(addons_properties, "addonLocalInstallError-3"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("addon-local-install-error-file-access"),
+ value=REPLACE(
+ addons_properties,
+ "addonLocalInstallError-4",
+ {
+ "%2$S": VARIABLE_REFERENCE("addonName"),
+ "%1$S": TERM_REFERENCE("brand-short-name"),
+ },
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("addon-local-install-error-not-signed"),
+ value=COPY(addons_properties, "addonLocalInstallError-5"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("addon-install-error-incompatible"),
+ value=REPLACE(
+ addons_properties,
+ "addonInstallErrorIncompatible",
+ {
+ "%3$S": VARIABLE_REFERENCE("addonName"),
+ "%1$S": TERM_REFERENCE("brand-short-name"),
+ "%2$S": VARIABLE_REFERENCE("appVersion"),
+ },
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("addon-install-error-blocklisted"),
+ value=REPLACE(
+ addons_properties,
+ "addonInstallErrorBlocklisted",
+ {"%1$S": VARIABLE_REFERENCE("addonName")},
+ ),
+ ),
+ ],
+ )