Source code
Revision control
Copy as Markdown
Other Tools
# Any copyright is dedicated to the Public Domain.
from fluent.migrate.helpers import transforms_from
from fluent.migrate.transforms import TransformPattern
import fluent.syntax.ast as FTL
class REPLACE_TOTAL(TransformPattern):
def visit_TextElement(self, node):
node.value = node.value.replace("$count", "$total")
return node
def visit_SelectExpression(self, node):
if node.selector.id.name == "count":
node.selector.id.name = "total"
return node
def migrate(ctx):
source_logins = "browser/browser/aboutLogins.ftl"
target = "browser/browser/contextual-manager.ftl"
ctx.add_transforms(
target,
target,
[
FTL.Message(
id=FTL.Identifier("contextual-manager-passwords-remove-all-confirm"),
value=REPLACE_TOTAL(
source_logins,
"about-logins-confirm-remove-all-dialog-checkbox-label2",
),
),
FTL.Message(
id=FTL.Identifier(
"contextual-manager-passwords-remove-all-confirm-button"
),
value=REPLACE_TOTAL(
source_logins,
"about-logins-confirm-remove-all-dialog-confirm-button-label",
),
),
],
)
ctx.add_transforms(
target,
target,
transforms_from(
"""
contextual-manager-filter-input =
.placeholder = {COPY_PATTERN(from_path, "about-logins-login-filter2.placeholder")}
.key = {COPY_PATTERN(from_path, "about-logins-login-filter2.key")}
.aria-label = {COPY_PATTERN(from_path, "about-logins-login-filter2.placeholder")}
contextual-manager-passwords-command-create = {COPY_PATTERN(from_path, "create-login-button.title")}
contextual-manager-passwords-command-import-from-browser = {COPY_PATTERN(from_path, "about-logins-menu-menuitem-import-from-another-browser")}
contextual-manager-passwords-command-import = {COPY_PATTERN(from_path, "about-logins-menu-menuitem-import-from-a-file")}
contextual-manager-passwords-command-help = {COPY_PATTERN(from_path, "about-logins-menu-menuitem-help")}
contextual-manager-passwords-export-os-auth-dialog-message-win = {COPY_PATTERN(from_path, "about-logins-export-password-os-auth-dialog-message2-win")}
contextual-manager-passwords-export-os-auth-dialog-message-macosx = {COPY_PATTERN(from_path, "about-logins-export-password-os-auth-dialog-message2-macosx")}
contextual-manager-passwords-reveal-password-os-auth-dialog-message-win = {COPY_PATTERN(from_path, "about-logins-reveal-password-os-auth-dialog-message-win")}
contextual-manager-passwords-reveal-password-os-auth-dialog-message-macosx = {COPY_PATTERN(from_path, "about-logins-reveal-password-os-auth-dialog-message-macosx")}
contextual-manager-passwords-edit-password-os-auth-dialog-message-win = {COPY_PATTERN(from_path, "about-logins-edit-login-os-auth-dialog-message2-win")}
contextual-manager-passwords-edit-password-os-auth-dialog-message-macosx = {COPY_PATTERN(from_path, "about-logins-edit-login-os-auth-dialog-message2-macosx")}
contextual-manager-passwords-copy-password-os-auth-dialog-message-win = {COPY_PATTERN(from_path, "about-logins-copy-password-os-auth-dialog-message-win")}
contextual-manager-passwords-copy-password-os-auth-dialog-message-macosx = {COPY_PATTERN(from_path, "about-logins-copy-password-os-auth-dialog-message-macosx")}
contextual-manager-passwords-import-file-picker-import-button = {COPY_PATTERN(from_path, "about-logins-import-file-picker-import-button")}
contextual-manager-passwords-import-file-picker-csv-filter-title = {COPY_PATTERN(from_path, "about-logins-import-file-picker-csv-filter-title")}
contextual-manager-passwords-import-file-picker-tsv-filter-title = {COPY_PATTERN(from_path, "about-logins-import-file-picker-tsv-filter-title")}
contextual-manager-passwords-import-success-button = {COPY_PATTERN(from_path, "about-logins-import-dialog-done")}
contextual-manager-passwords-import-error-button-cancel = {COPY_PATTERN(from_path, "about-logins-import-dialog-error-cancel")}
contextual-manager-passwords-export-success-button = {COPY_PATTERN(from_path, "about-logins-import-dialog-done")}
contextual-manager-export-passwords-dialog-confirm-button = {COPY_PATTERN(from_path, "about-logins-confirm-export-dialog-confirm-button2")}
contextual-manager-passwords-export-file-picker-title = {COPY_PATTERN(from_path, "about-logins-export-file-picker-title2")}
contextual-manager-passwords-export-file-picker-export-button = {COPY_PATTERN(from_path, "about-logins-export-file-picker-export-button")}
contextual-manager-passwords-export-file-picker-csv-filter-title = {COPY_PATTERN(from_path, "about-logins-import-file-picker-csv-filter-title")}
contextual-manager-passwords-count = {COPY_PATTERN(from_path, "login-list-count2")}
contextual-manager-passwords-filtered-count = {COPY_PATTERN(from_path, "login-list-filtered-count2")}
contextual-manager-passwords-update-password-success-button = {COPY_PATTERN(from_path, "about-logins-import-dialog-done")}
contextual-manager-passwords-delete-password-success-button = {COPY_PATTERN(from_path, "about-logins-import-dialog-done")}
contextual-manager-passwords-remove-login-card-title = {COPY_PATTERN(from_path, "about-logins-confirm-delete-dialog-title")}
contextual-manager-passwords-remove-login-card-remove-button = {COPY_PATTERN(from_path, "about-logins-login-item-remove-button")}
contextual-manager-passwords-remove-login-card-cancel-button = {COPY_PATTERN(from_path, "login-item-cancel-button")}
contextual-manager-passwords-create-label =
.label = {COPY_PATTERN(from_path, "create-login-button.title")}
contextual-manager-passwords-list-label =
.aria-label = {COPY_PATTERN(from_path, "about-logins-page-title-name")}
contextual-manager-copy-icon =
.alt = {COPY_PATTERN(from_path, "login-item-copy-password-button-text")}
""",
from_path=source_logins,
),
)