diff options
Diffstat (limited to 'python/l10n/fluent_migrations/bug_1831851_accounts.py')
-rw-r--r-- | python/l10n/fluent_migrations/bug_1831851_accounts.py | 195 |
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"), + ), + ], + ) |