summaryrefslogtreecommitdiffstats
path: root/python/l10n/fluent_migrations/bug_1832138_ctrlTab.py
blob: 195e3cee49947cbab8d941be6790eaa8405344dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# 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 PLURALS, REPLACE_IN_TEXT


def migrate(ctx):
    """Bug 1832138 - Convert browser-ctrlTab.js to Fluent, part {index}."""

    browser = "browser/chrome/browser/browser.properties"
    target = "browser/browser/tabbrowser.ftl"

    ctx.add_transforms(
        target,
        target,
        [
            FTL.Message(
                id=FTL.Identifier("tabbrowser-ctrl-tab-list-all-tabs"),
                attributes=[
                    FTL.Attribute(
                        id=FTL.Identifier("label"),
                        value=PLURALS(
                            browser,
                            "ctrlTab.listAllTabs.label",
                            VARIABLE_REFERENCE("tabCount"),
                            foreach=lambda n: REPLACE_IN_TEXT(
                                n,
                                {"#1": VARIABLE_REFERENCE("tabCount")},
                            ),
                        ),
                    )
                ],
            ),
        ],
    )