# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at https://mozilla.org/MPL/2.0/. # 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 VARIABLE_REFERENCE, transforms_from from fluent.migratetb.transforms import REPLACE, PLURALS, REPLACE_IN_TEXT def migrate(ctx): """Bug 1935334 - Migrate imAccounts from PluralForm.sys.mjs, part {index}.""" source = "mail/chrome/messenger/activity.properties" target = reference = "mail/messenger/activity.ftl" ctx.add_transforms( target, reference, [ FTL.Message( id=FTL.Identifier("pop3-event-status-text"), value=PLURALS( source, "pop3EventStatusText", VARIABLE_REFERENCE("count"), foreach=lambda n: REPLACE_IN_TEXT( n, dict( { "#1": VARIABLE_REFERENCE("count"), } ), ), ), ) ], ) ctx.add_transforms( target, reference, [ FTL.Message( id=FTL.Identifier("deleted-messages-from-folder"), value=PLURALS( source, "deletedMessages2", VARIABLE_REFERENCE("count"), foreach=lambda n: REPLACE_IN_TEXT( n, dict( { "#1": VARIABLE_REFERENCE("count"), "#2": VARIABLE_REFERENCE("folderName"), } ), ), ), ) ], ) ctx.add_transforms( target, reference, [ FTL.Message( id=FTL.Identifier("moved-messages-from-folder"), value=PLURALS( source, "movedMessages", VARIABLE_REFERENCE("count"), foreach=lambda n: REPLACE_IN_TEXT( n, dict( { "#1": VARIABLE_REFERENCE("count"), "#2": VARIABLE_REFERENCE("source"), "#3": VARIABLE_REFERENCE("destination"), } ), ), ), ) ], ) ctx.add_transforms( target, reference, [ FTL.Message( id=FTL.Identifier("copied-messages-from-folder"), value=PLURALS( source, "copiedMessages", VARIABLE_REFERENCE("count"), foreach=lambda n: REPLACE_IN_TEXT( n, dict( { "#1": VARIABLE_REFERENCE("count"), "#2": VARIABLE_REFERENCE("source"), "#3": VARIABLE_REFERENCE("destination"), } ), ), ), ) ], ) ctx.add_transforms( target, reference, [ FTL.Message( id=FTL.Identifier("gloda-indexing-status-exact"), value=PLURALS( source, "indexingStatusExact", VARIABLE_REFERENCE("count"), foreach=lambda n: REPLACE_IN_TEXT( n, dict( { "#1": VARIABLE_REFERENCE("msgNumber"), "#2": VARIABLE_REFERENCE("count"), "#3": VARIABLE_REFERENCE("percentComplete"), } ), ), ), ) ], ) ctx.add_transforms( target, reference, [ FTL.Message( id=FTL.Identifier("gloda-indexing-folder-status-exact"), value=PLURALS( source, "indexingFolderStatusExact", VARIABLE_REFERENCE("count"), foreach=lambda n: REPLACE_IN_TEXT( n, dict( { "#1": VARIABLE_REFERENCE("msgNumber"), "#2": VARIABLE_REFERENCE("count"), "#3": VARIABLE_REFERENCE("percentComplete"), "#4": VARIABLE_REFERENCE("folder"), } ), ), ), ) ], ) ctx.add_transforms( target, reference, [ FTL.Message( id=FTL.Identifier("gloda-indexed-folder"), value=PLURALS( source, "indexedFolder", VARIABLE_REFERENCE("count"), foreach=lambda n: REPLACE_IN_TEXT( n, dict( { "#1": VARIABLE_REFERENCE("count"), "#2": VARIABLE_REFERENCE("folder"), } ), ), ), ) ], ) ctx.add_transforms( target, reference, [ FTL.Message( id=FTL.Identifier("gloda-indexed-folder-status"), value=PLURALS( source, "indexedFolderStatus", VARIABLE_REFERENCE("count"), foreach=lambda n: REPLACE_IN_TEXT( n, dict( { "#1": VARIABLE_REFERENCE("count"), } ), ), ), ) ], )