summaryrefslogtreecommitdiffstats
path: root/python/l10n/fluent_migrations/bug_1831851_accounts.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/l10n/fluent_migrations/bug_1831851_accounts.py')
-rw-r--r--python/l10n/fluent_migrations/bug_1831851_accounts.py195
1 files changed, 195 insertions, 0 deletions
diff --git a/python/l10n/fluent_migrations/bug_1831851_accounts.py b/python/l10n/fluent_migrations/bug_1831851_accounts.py
new file mode 100644
index 0000000000..d50a0192c8
--- /dev/null
+++ b/python/l10n/fluent_migrations/bug_1831851_accounts.py
@@ -0,0 +1,195 @@
+# Any copyright is dedicated to the Public Domain.
+# http://creativecommons.org/publicdomain/zero/1.0/
+
+import fluent.syntax.ast as FTL
+from fluent.migrate.helpers import VARIABLE_REFERENCE
+from fluent.migrate.transforms import COPY, PLURALS, REPLACE, REPLACE_IN_TEXT
+
+
+def migrate(ctx):
+ """Bug 1831851 - Migrate accounts.properties to Fluent, part {index}."""
+
+ accounts = "browser/chrome/browser/accounts.properties"
+ accounts_ftl = "browser/browser/accounts.ftl"
+ preferences_ftl = "browser/browser/preferences/preferences.ftl"
+
+ ctx.add_transforms(
+ accounts_ftl,
+ accounts_ftl,
+ [
+ FTL.Message(
+ id=FTL.Identifier("account-reconnect"),
+ value=REPLACE(
+ accounts,
+ "reconnectDescription",
+ {"%1$S": VARIABLE_REFERENCE("email")},
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("account-verify"),
+ value=REPLACE(
+ accounts, "verifyDescription", {"%1$S": VARIABLE_REFERENCE("email")}
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("account-send-to-all-devices-titlecase"),
+ value=COPY(accounts, "sendToAllDevices.menuitem"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("account-manage-devices-titlecase"),
+ value=COPY(accounts, "manageDevices.menuitem"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("account-send-tab-to-device-singledevice-status"),
+ value=COPY(accounts, "sendTabToDevice.singledevice.status"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("account-send-tab-to-device-singledevice-learnmore"),
+ value=COPY(accounts, "sendTabToDevice.singledevice"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("account-send-tab-to-device-connectdevice"),
+ value=COPY(accounts, "sendTabToDevice.connectdevice"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("account-send-tab-to-device-verify-status"),
+ value=COPY(accounts, "sendTabToDevice.verify.status"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("account-send-tab-to-device-verify"),
+ value=COPY(accounts, "sendTabToDevice.verify"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("account-connection-title"),
+ value=FTL.Pattern(
+ [
+ FTL.Placeable(
+ FTL.TermReference(
+ id=FTL.Identifier("fxaccount-brand-name"),
+ arguments=FTL.CallArguments(
+ named=[
+ FTL.NamedArgument(
+ FTL.Identifier("capitalization"),
+ FTL.StringLiteral("title"),
+ )
+ ]
+ ),
+ )
+ )
+ ]
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("account-connection-connected-with"),
+ value=REPLACE(
+ accounts,
+ "otherDeviceConnectedBody",
+ {"%1$S": VARIABLE_REFERENCE("deviceName")},
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("account-connection-connected-with-noname"),
+ value=COPY(accounts, "otherDeviceConnectedBody.noDeviceName"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("account-connection-connected"),
+ value=COPY(accounts, "thisDeviceConnectedBody"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("account-connection-disconnected"),
+ value=COPY(accounts, "thisDeviceDisconnectedBody"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("account-single-tab-arriving-title"),
+ value=COPY(accounts, "tabArrivingNotification.title"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("account-single-tab-arriving-from-device-title"),
+ value=REPLACE(
+ accounts,
+ "tabArrivingNotificationWithDevice.title",
+ {"%1$S": VARIABLE_REFERENCE("deviceName")},
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("account-single-tab-arriving-truncated-url"),
+ value=REPLACE(
+ accounts,
+ "singleTabArrivingWithTruncatedURL.body",
+ {"%1$S": VARIABLE_REFERENCE("url")},
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("account-multiple-tabs-arriving-title"),
+ value=COPY(accounts, "multipleTabsArrivingNotification.title"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("account-multiple-tabs-arriving-from-single-device"),
+ value=PLURALS(
+ accounts,
+ "unnamedTabsArrivingNotification2.body",
+ VARIABLE_REFERENCE("tabCount"),
+ foreach=lambda n: REPLACE_IN_TEXT(
+ n,
+ {
+ "#1": VARIABLE_REFERENCE("tabCount"),
+ "#2": VARIABLE_REFERENCE("deviceName"),
+ },
+ ),
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier(
+ "account-multiple-tabs-arriving-from-multiple-devices"
+ ),
+ value=PLURALS(
+ accounts,
+ "unnamedTabsArrivingNotificationMultiple2.body",
+ VARIABLE_REFERENCE("tabCount"),
+ foreach=lambda n: REPLACE_IN_TEXT(
+ n,
+ {"#1": VARIABLE_REFERENCE("tabCount")},
+ ),
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("account-multiple-tabs-arriving-from-unknown-device"),
+ value=PLURALS(
+ accounts,
+ "unnamedTabsArrivingNotificationNoDevice.body",
+ VARIABLE_REFERENCE("tabCount"),
+ foreach=lambda n: REPLACE_IN_TEXT(
+ n,
+ {"#1": VARIABLE_REFERENCE("tabCount")},
+ ),
+ ),
+ ),
+ ],
+ )
+
+ ctx.add_transforms(
+ preferences_ftl,
+ preferences_ftl,
+ [
+ FTL.Message(
+ id=FTL.Identifier("sync-verification-sent-title"),
+ value=COPY(accounts, "verificationSentTitle"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("sync-verification-sent-body"),
+ value=REPLACE(
+ accounts,
+ "verificationSentBody",
+ {"%1$S": VARIABLE_REFERENCE("email")},
+ ),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("sync-verification-not-sent-title"),
+ value=COPY(accounts, "verificationNotSentTitle"),
+ ),
+ FTL.Message(
+ id=FTL.Identifier("sync-verification-not-sent-body"),
+ value=COPY(accounts, "verificationNotSentBody"),
+ ),
+ ],
+ )