Revision control

Copy as Markdown

Other Tools

# 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.
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"),
}
),
),
),
)
],
)