зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1897003 - Remove Fluent migration recipes for Firefox 120-123 and others, r=flod DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D210580
This commit is contained in:
Родитель
0bcaa27b18
Коммит
31d9b2c36f
|
@ -1,40 +0,0 @@
|
|||
# coding=utf8
|
||||
|
||||
# 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 transforms_from
|
||||
from fluent.migrate.helpers import VARIABLE_REFERENCE
|
||||
from fluent.migrate import COPY, REPLACE
|
||||
|
||||
|
||||
def migrate(ctx):
|
||||
"""Bug 1552333 - Migrate strings from pipnss.properties to aboutCertError.ftl"""
|
||||
ctx.add_transforms(
|
||||
"browser/browser/aboutCertError.ftl",
|
||||
"browser/browser/aboutCertError.ftl",
|
||||
transforms_from(
|
||||
"""
|
||||
cert-error-symantec-distrust-admin = { COPY(from_path, "certErrorSymantecDistrustAdministrator") }
|
||||
""",
|
||||
from_path="security/manager/chrome/pipnss/pipnss.properties",
|
||||
),
|
||||
)
|
||||
ctx.add_transforms(
|
||||
"browser/browser/aboutCertError.ftl",
|
||||
"browser/browser/aboutCertError.ftl",
|
||||
[
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("cert-error-symantec-distrust-description"),
|
||||
value=REPLACE(
|
||||
"security/manager/chrome/pipnss/pipnss.properties",
|
||||
"certErrorSymantecDistrustDescription1",
|
||||
{
|
||||
"%1$S": VARIABLE_REFERENCE("hostname"),
|
||||
},
|
||||
normalize_printf=True,
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
|
@ -1,82 +0,0 @@
|
|||
# coding=utf8
|
||||
|
||||
# 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 transforms_from, VARIABLE_REFERENCE
|
||||
from fluent.migrate import REPLACE, COPY
|
||||
|
||||
|
||||
def migrate(ctx):
|
||||
"""Bug 1635548 - Migrate browser-context.inc to Fluent, part {index}"""
|
||||
target = "toolkit/toolkit/global/textActions.ftl"
|
||||
reference = "toolkit/toolkit/global/textActions.ftl"
|
||||
ctx.add_transforms(
|
||||
target,
|
||||
reference,
|
||||
transforms_from(
|
||||
"""
|
||||
text-action-spell-add-to-dictionary =
|
||||
.label = { COPY(from_path, "spellAddToDictionary.label") }
|
||||
.accesskey = { COPY(from_path, "spellAddToDictionary.accesskey") }
|
||||
|
||||
text-action-spell-undo-add-to-dictionary =
|
||||
.label = { COPY(from_path, "spellUndoAddToDictionary.label") }
|
||||
.accesskey = { COPY(from_path, "spellUndoAddToDictionary.accesskey") }
|
||||
|
||||
text-action-spell-check-toggle =
|
||||
.label = { COPY(from_path, "spellCheckToggle.label") }
|
||||
.accesskey = { COPY(from_path, "spellCheckToggle.accesskey") }
|
||||
|
||||
text-action-spell-dictionaries =
|
||||
.label = { COPY(from_path, "spellDictionaries.label") }
|
||||
.accesskey = { COPY(from_path, "spellDictionaries.accesskey") }
|
||||
""",
|
||||
from_path="toolkit/chrome/global/textcontext.dtd",
|
||||
),
|
||||
)
|
||||
|
||||
target = "toolkit/toolkit/global/textActions.ftl"
|
||||
reference = "toolkit/toolkit/global/textActions.ftl"
|
||||
ctx.add_transforms(
|
||||
target,
|
||||
reference,
|
||||
transforms_from(
|
||||
"""
|
||||
text-action-spell-add-dictionaries =
|
||||
.label = { COPY(from_path, "spellAddDictionaries.label") }
|
||||
.accesskey = { COPY(from_path, "spellAddDictionaries.accesskey") }
|
||||
""",
|
||||
from_path="browser/chrome/browser/browser.dtd",
|
||||
),
|
||||
)
|
||||
|
||||
target = "browser/browser/browserContext.ftl"
|
||||
reference = "browser/browser/browserContext.ftl"
|
||||
ctx.add_transforms(
|
||||
target,
|
||||
reference,
|
||||
[
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("main-context-menu-open-link-in-container-tab"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
FTL.Identifier("label"),
|
||||
REPLACE(
|
||||
"browser/chrome/browser/browser.properties",
|
||||
"userContextOpenLink.label",
|
||||
{"%1$S": VARIABLE_REFERENCE("containerName")},
|
||||
),
|
||||
),
|
||||
FTL.Attribute(
|
||||
FTL.Identifier("accesskey"),
|
||||
COPY(
|
||||
"browser/chrome/browser/browser.dtd",
|
||||
"openLinkCmdInTab.accesskey",
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
||||
],
|
||||
)
|
|
@ -1,65 +0,0 @@
|
|||
# coding=utf8
|
||||
|
||||
# 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 transforms_from
|
||||
from fluent.migrate.transforms import COPY
|
||||
|
||||
|
||||
def migrate(ctx):
|
||||
"""Bug 1786186 - Migrate mobile about:config to Fluent, part {index}"""
|
||||
|
||||
target = "mobile/android/mobile/android/aboutConfig.ftl"
|
||||
|
||||
ctx.add_transforms(
|
||||
target,
|
||||
target,
|
||||
transforms_from(
|
||||
"""
|
||||
|
||||
config-toolbar-search =
|
||||
.placeholder = { COPY(path1, "toolbar.searchPlaceholder") }
|
||||
config-new-pref-name =
|
||||
.placeholder = { COPY(path1, "newPref.namePlaceholder") }
|
||||
config-new-pref-value-boolean = { COPY(path1, "newPref.valueBoolean") }
|
||||
config-new-pref-value-string = { COPY(path1, "newPref.valueString") }
|
||||
config-new-pref-value-integer = { COPY(path1, "newPref.valueInteger") }
|
||||
config-new-pref-string =
|
||||
.placeholder = { COPY(path1, "newPref.stringPlaceholder") }
|
||||
config-new-pref-number =
|
||||
.placeholder = { COPY(path1, "newPref.numberPlaceholder") }
|
||||
config-new-pref-cancel-button = { COPY(path1, "newPref.cancelButton") }
|
||||
config-context-menu-copy-pref-name =
|
||||
.label = { COPY(path1, "contextMenu.copyPrefName") }
|
||||
config-context-menu-copy-pref-value =
|
||||
.label = { COPY(path1, "contextMenu.copyPrefValue") }
|
||||
""",
|
||||
path1="mobile/android/chrome/config.dtd",
|
||||
),
|
||||
)
|
||||
|
||||
source = "mobile/android/chrome/config.properties"
|
||||
ctx.add_transforms(
|
||||
target,
|
||||
target,
|
||||
[
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("config-new-pref-create-button"),
|
||||
value=COPY(source, "newPref.createButton"),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("config-new-pref-change-button"),
|
||||
value=COPY(source, "newPref.changeButton"),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("config-pref-toggle-button"),
|
||||
value=COPY(source, "pref.toggleButton"),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("config-pref-reset-button"),
|
||||
value=COPY(source, "pref.resetButton"),
|
||||
),
|
||||
],
|
||||
)
|
|
@ -1,771 +0,0 @@
|
|||
# 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 TERM_REFERENCE, VARIABLE_REFERENCE
|
||||
from fluent.migrate.transforms import (
|
||||
COPY,
|
||||
COPY_PATTERN,
|
||||
PLURALS,
|
||||
REPLACE,
|
||||
REPLACE_IN_TEXT,
|
||||
)
|
||||
|
||||
|
||||
def migrate(ctx):
|
||||
"""Bug 1793572 - Convert WebRTC strings to Fluent, part {index}."""
|
||||
|
||||
source = "browser/chrome/browser/webrtcIndicator.properties"
|
||||
browser = "browser/chrome/browser/browser.properties"
|
||||
browser_ftl = "browser/browser/browser.ftl"
|
||||
target = "browser/browser/webrtcIndicator.ftl"
|
||||
|
||||
ctx.add_transforms(
|
||||
target,
|
||||
target,
|
||||
[
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-indicator-window"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("title"),
|
||||
value=COPY_PATTERN(target, "webrtc-indicator-title"),
|
||||
)
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-indicator-sharing-camera-and-microphone"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("tooltiptext"),
|
||||
value=COPY(
|
||||
source, "webrtcIndicator.sharingCameraAndMicrophone.tooltip"
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-indicator-sharing-camera"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("tooltiptext"),
|
||||
value=COPY(source, "webrtcIndicator.sharingCamera.tooltip"),
|
||||
)
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-indicator-sharing-microphone"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("tooltiptext"),
|
||||
value=COPY(source, "webrtcIndicator.sharingMicrophone.tooltip"),
|
||||
)
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-indicator-sharing-application"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("tooltiptext"),
|
||||
value=COPY(
|
||||
source, "webrtcIndicator.sharingApplication.tooltip"
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-indicator-sharing-screen"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("tooltiptext"),
|
||||
value=COPY(source, "webrtcIndicator.sharingScreen.tooltip"),
|
||||
)
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-indicator-sharing-window"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("tooltiptext"),
|
||||
value=COPY(source, "webrtcIndicator.sharingWindow.tooltip"),
|
||||
)
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-indicator-sharing-browser"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("tooltiptext"),
|
||||
value=COPY(source, "webrtcIndicator.sharingBrowser.tooltip"),
|
||||
)
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-indicator-menuitem-control-sharing"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=COPY(source, "webrtcIndicator.controlSharing.menuitem"),
|
||||
)
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-indicator-menuitem-control-sharing-on"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=REPLACE(
|
||||
source,
|
||||
"webrtcIndicator.controlSharingOn.menuitem",
|
||||
{"%1$S": VARIABLE_REFERENCE("streamTitle")},
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-indicator-menuitem-sharing-camera-with"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=REPLACE(
|
||||
source,
|
||||
"webrtcIndicator.sharingCameraWith.menuitem",
|
||||
{"%1$S": VARIABLE_REFERENCE("streamTitle")},
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-indicator-menuitem-sharing-microphone-with"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=REPLACE(
|
||||
source,
|
||||
"webrtcIndicator.sharingMicrophoneWith.menuitem",
|
||||
{"%1$S": VARIABLE_REFERENCE("streamTitle")},
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-indicator-menuitem-sharing-application-with"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=REPLACE(
|
||||
source,
|
||||
"webrtcIndicator.sharingApplicationWith.menuitem",
|
||||
{"%1$S": VARIABLE_REFERENCE("streamTitle")},
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-indicator-menuitem-sharing-screen-with"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=REPLACE(
|
||||
source,
|
||||
"webrtcIndicator.sharingScreenWith.menuitem",
|
||||
{"%1$S": VARIABLE_REFERENCE("streamTitle")},
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-indicator-menuitem-sharing-window-with"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=REPLACE(
|
||||
source,
|
||||
"webrtcIndicator.sharingWindowWith.menuitem",
|
||||
{"%1$S": VARIABLE_REFERENCE("streamTitle")},
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-indicator-menuitem-sharing-browser-with"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=REPLACE(
|
||||
source,
|
||||
"webrtcIndicator.sharingBrowserWith.menuitem",
|
||||
{"%1$S": VARIABLE_REFERENCE("streamTitle")},
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier(
|
||||
"webrtc-indicator-menuitem-sharing-camera-with-n-tabs"
|
||||
),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=PLURALS(
|
||||
source,
|
||||
"webrtcIndicator.sharingCameraWithNTabs.menuitem",
|
||||
VARIABLE_REFERENCE("tabCount"),
|
||||
foreach=lambda n: REPLACE_IN_TEXT(
|
||||
n,
|
||||
{"#1": VARIABLE_REFERENCE("tabCount")},
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier(
|
||||
"webrtc-indicator-menuitem-sharing-microphone-with-n-tabs"
|
||||
),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=PLURALS(
|
||||
source,
|
||||
"webrtcIndicator.sharingMicrophoneWithNTabs.menuitem",
|
||||
VARIABLE_REFERENCE("tabCount"),
|
||||
foreach=lambda n: REPLACE_IN_TEXT(
|
||||
n,
|
||||
{"#1": VARIABLE_REFERENCE("tabCount")},
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier(
|
||||
"webrtc-indicator-menuitem-sharing-application-with-n-tabs"
|
||||
),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=PLURALS(
|
||||
source,
|
||||
"webrtcIndicator.sharingApplicationWithNTabs.menuitem",
|
||||
VARIABLE_REFERENCE("tabCount"),
|
||||
foreach=lambda n: REPLACE_IN_TEXT(
|
||||
n,
|
||||
{"#1": VARIABLE_REFERENCE("tabCount")},
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier(
|
||||
"webrtc-indicator-menuitem-sharing-screen-with-n-tabs"
|
||||
),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=PLURALS(
|
||||
source,
|
||||
"webrtcIndicator.sharingScreenWithNTabs.menuitem",
|
||||
VARIABLE_REFERENCE("tabCount"),
|
||||
foreach=lambda n: REPLACE_IN_TEXT(
|
||||
n,
|
||||
{"#1": VARIABLE_REFERENCE("tabCount")},
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier(
|
||||
"webrtc-indicator-menuitem-sharing-window-with-n-tabs"
|
||||
),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=PLURALS(
|
||||
source,
|
||||
"webrtcIndicator.sharingWindowWithNTabs.menuitem",
|
||||
VARIABLE_REFERENCE("tabCount"),
|
||||
foreach=lambda n: REPLACE_IN_TEXT(
|
||||
n,
|
||||
{"#1": VARIABLE_REFERENCE("tabCount")},
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier(
|
||||
"webrtc-indicator-menuitem-sharing-browser-with-n-tabs"
|
||||
),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=PLURALS(
|
||||
source,
|
||||
"webrtcIndicator.sharingBrowserWithNTabs.menuitem",
|
||||
VARIABLE_REFERENCE("tabCount"),
|
||||
foreach=lambda n: REPLACE_IN_TEXT(
|
||||
n,
|
||||
{"#1": VARIABLE_REFERENCE("tabCount")},
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-item-camera"),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"getUserMedia.sharingMenuCamera",
|
||||
{
|
||||
"%1$S (": FTL.TextElement(""),
|
||||
"%1$S(": FTL.TextElement(""),
|
||||
")": FTL.TextElement(""),
|
||||
")": FTL.TextElement(""),
|
||||
},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-item-microphone"),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"getUserMedia.sharingMenuMicrophone",
|
||||
{
|
||||
"%1$S (": FTL.TextElement(""),
|
||||
"%1$S(": FTL.TextElement(""),
|
||||
")": FTL.TextElement(""),
|
||||
")": FTL.TextElement(""),
|
||||
},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-item-audio-capture"),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"getUserMedia.sharingMenuAudioCapture",
|
||||
{
|
||||
"%1$S (": FTL.TextElement(""),
|
||||
"%1$S(": FTL.TextElement(""),
|
||||
")": FTL.TextElement(""),
|
||||
")": FTL.TextElement(""),
|
||||
},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-item-application"),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"getUserMedia.sharingMenuApplication",
|
||||
{
|
||||
"%1$S (": FTL.TextElement(""),
|
||||
"%1$S(": FTL.TextElement(""),
|
||||
")": FTL.TextElement(""),
|
||||
")": FTL.TextElement(""),
|
||||
},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-item-screen"),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"getUserMedia.sharingMenuScreen",
|
||||
{
|
||||
"%1$S (": FTL.TextElement(""),
|
||||
"%1$S(": FTL.TextElement(""),
|
||||
")": FTL.TextElement(""),
|
||||
")": FTL.TextElement(""),
|
||||
},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-item-window"),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"getUserMedia.sharingMenuWindow",
|
||||
{
|
||||
"%1$S (": FTL.TextElement(""),
|
||||
"%1$S(": FTL.TextElement(""),
|
||||
")": FTL.TextElement(""),
|
||||
")": FTL.TextElement(""),
|
||||
},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-item-browser"),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"getUserMedia.sharingMenuBrowser",
|
||||
{
|
||||
"%1$S (": FTL.TextElement(""),
|
||||
"%1$S(": FTL.TextElement(""),
|
||||
")": FTL.TextElement(""),
|
||||
")": FTL.TextElement(""),
|
||||
},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-sharing-menuitem-unknown-host"),
|
||||
value=COPY(browser, "getUserMedia.sharingMenuUnknownHost"),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-sharing-menuitem"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=FTL.Pattern(
|
||||
[FTL.TextElement("{ $origin } ({ $itemList })")]
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-sharing-menu"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=COPY(browser, "getUserMedia.sharingMenu.label"),
|
||||
),
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("accesskey"),
|
||||
value=COPY(browser, "getUserMedia.sharingMenu.accesskey"),
|
||||
),
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-allow-share-camera"),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"getUserMedia.shareCamera3.message",
|
||||
{"%1$S": VARIABLE_REFERENCE("origin")},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-allow-share-microphone"),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"getUserMedia.shareMicrophone3.message",
|
||||
{"%1$S": VARIABLE_REFERENCE("origin")},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-allow-share-screen"),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"getUserMedia.shareScreen4.message",
|
||||
{"%1$S": VARIABLE_REFERENCE("origin")},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-allow-share-camera-and-microphone"),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"getUserMedia.shareCameraAndMicrophone3.message",
|
||||
{"%1$S": VARIABLE_REFERENCE("origin")},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-allow-share-camera-and-audio-capture"),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"getUserMedia.shareCameraAndAudioCapture3.message",
|
||||
{"%1$S": VARIABLE_REFERENCE("origin")},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-allow-share-screen-and-microphone"),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"getUserMedia.shareScreenAndMicrophone4.message",
|
||||
{"%1$S": VARIABLE_REFERENCE("origin")},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-allow-share-screen-and-audio-capture"),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"getUserMedia.shareScreenAndAudioCapture4.message",
|
||||
{"%1$S": VARIABLE_REFERENCE("origin")},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-allow-share-audio-capture"),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"getUserMedia.shareAudioCapture3.message",
|
||||
{"%1$S": VARIABLE_REFERENCE("origin")},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-allow-share-speaker"),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"selectAudioOutput.shareSpeaker.message",
|
||||
{"%1$S": VARIABLE_REFERENCE("origin")},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-allow-share-camera-unsafe-delegation"),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"getUserMedia.shareCameraUnsafeDelegation2.message",
|
||||
{
|
||||
"%1$S": VARIABLE_REFERENCE("origin"),
|
||||
"%2$S": VARIABLE_REFERENCE("thirdParty"),
|
||||
},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-allow-share-microphone-unsafe-delegations"),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"getUserMedia.shareMicrophoneUnsafeDelegations2.message",
|
||||
{
|
||||
"%1$S": VARIABLE_REFERENCE("origin"),
|
||||
"%2$S": VARIABLE_REFERENCE("thirdParty"),
|
||||
},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-allow-share-screen-unsafe-delegation"),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"getUserMedia.shareScreenUnsafeDelegation2.message",
|
||||
{
|
||||
"%1$S": VARIABLE_REFERENCE("origin"),
|
||||
"%2$S": VARIABLE_REFERENCE("thirdParty"),
|
||||
},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier(
|
||||
"webrtc-allow-share-camera-and-microphone-unsafe-delegation"
|
||||
),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"getUserMedia.shareCameraAndMicrophoneUnsafeDelegation2.message",
|
||||
{
|
||||
"%1$S": VARIABLE_REFERENCE("origin"),
|
||||
"%2$S": VARIABLE_REFERENCE("thirdParty"),
|
||||
},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier(
|
||||
"webrtc-allow-share-camera-and-audio-capture-unsafe-delegation"
|
||||
),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"getUserMedia.shareCameraAndAudioCaptureUnsafeDelegation2.message",
|
||||
{
|
||||
"%1$S": VARIABLE_REFERENCE("origin"),
|
||||
"%2$S": VARIABLE_REFERENCE("thirdParty"),
|
||||
},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier(
|
||||
"webrtc-allow-share-screen-and-microphone-unsafe-delegation"
|
||||
),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"getUserMedia.shareScreenAndMicrophoneUnsafeDelegation2.message",
|
||||
{
|
||||
"%1$S": VARIABLE_REFERENCE("origin"),
|
||||
"%2$S": VARIABLE_REFERENCE("thirdParty"),
|
||||
},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier(
|
||||
"webrtc-allow-share-screen-and-audio-capture-unsafe-delegation"
|
||||
),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"getUserMedia.shareScreenAndAudioCaptureUnsafeDelegation2.message",
|
||||
{
|
||||
"%1$S": VARIABLE_REFERENCE("origin"),
|
||||
"%2$S": VARIABLE_REFERENCE("thirdParty"),
|
||||
},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-allow-share-speaker-unsafe-delegation"),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"selectAudioOutput.shareSpeakerUnsafeDelegation.message",
|
||||
{
|
||||
"%1$S": VARIABLE_REFERENCE("origin"),
|
||||
"%2$S": VARIABLE_REFERENCE("thirdParty"),
|
||||
},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-share-screen-warning"),
|
||||
value=COPY(browser, "getUserMedia.shareScreenWarning2.message"),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-share-browser-warning"),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"getUserMedia.shareFirefoxWarning2.message",
|
||||
{"%1$S": TERM_REFERENCE("brand-short-name")},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-share-screen-learn-more"),
|
||||
value=COPY(browser, "getUserMedia.shareScreen.learnMoreLabel"),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-pick-window-or-screen"),
|
||||
value=COPY(browser, "getUserMedia.pickWindowOrScreen.label"),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-share-entire-screen"),
|
||||
value=COPY(browser, "getUserMedia.shareEntireScreen.label"),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-share-pipe-wire-portal"),
|
||||
value=COPY(browser, "getUserMedia.sharePipeWirePortal.label"),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-share-monitor"),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"getUserMedia.shareMonitor.label",
|
||||
{"%1$S": VARIABLE_REFERENCE("monitorIndex")},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-share-application"),
|
||||
value=PLURALS(
|
||||
browser,
|
||||
"getUserMedia.shareApplicationWindowCount.label",
|
||||
VARIABLE_REFERENCE("windowCount"),
|
||||
foreach=lambda n: REPLACE_IN_TEXT(
|
||||
n,
|
||||
{
|
||||
"#1": VARIABLE_REFERENCE("appName"),
|
||||
"#2": VARIABLE_REFERENCE("windowCount"),
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-action-allow"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=COPY(browser, "getUserMedia.allow.label"),
|
||||
),
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("accesskey"),
|
||||
value=COPY(browser, "getUserMedia.allow.accesskey"),
|
||||
),
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-action-block"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=COPY_PATTERN(
|
||||
browser_ftl, "popup-screen-sharing-block.label"
|
||||
),
|
||||
),
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("accesskey"),
|
||||
value=COPY_PATTERN(
|
||||
browser_ftl, "popup-screen-sharing-block.accesskey"
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-action-always-block"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=COPY_PATTERN(
|
||||
browser_ftl, "popup-screen-sharing-always-block.label"
|
||||
),
|
||||
),
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("accesskey"),
|
||||
value=COPY_PATTERN(
|
||||
browser_ftl,
|
||||
"popup-screen-sharing-always-block.accesskey",
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-action-not-now"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=COPY(browser, "getUserMedia.notNow.label"),
|
||||
),
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("accesskey"),
|
||||
value=COPY(browser, "getUserMedia.notNow.accesskey"),
|
||||
),
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-remember-allow-checkbox"),
|
||||
value=COPY(browser, "getUserMedia.remember"),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-mute-notifications-checkbox"),
|
||||
value=COPY_PATTERN(browser_ftl, "popup-mute-notifications-checkbox"),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-reason-for-no-permanent-allow-screen"),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"getUserMedia.reasonForNoPermanentAllow.screen3",
|
||||
{"%1$S": TERM_REFERENCE("brand-short-name")},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-reason-for-no-permanent-allow-audio"),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"getUserMedia.reasonForNoPermanentAllow.audio",
|
||||
{"%1$S": TERM_REFERENCE("brand-short-name")},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("webrtc-reason-for-no-permanent-allow-insecure"),
|
||||
value=REPLACE(
|
||||
browser,
|
||||
"getUserMedia.reasonForNoPermanentAllow.insecure",
|
||||
{"%1$S": TERM_REFERENCE("brand-short-name")},
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
||||
|
||||
ctx.add_transforms(
|
||||
browser_ftl,
|
||||
browser_ftl,
|
||||
[
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("popup-select-window-or-screen"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=COPY(browser, "getUserMedia.selectWindowOrScreen2.label"),
|
||||
),
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("accesskey"),
|
||||
value=COPY(
|
||||
browser, "getUserMedia.selectWindowOrScreen2.accesskey"
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
)
|
|
@ -1,30 +0,0 @@
|
|||
# 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 transforms_from
|
||||
|
||||
|
||||
def migrate(ctx):
|
||||
"""Bug 1812135 - Convert some newtab customiation panel strings to use a label, part {index}"""
|
||||
|
||||
translations_ftl = "browser/browser/newtab/newtab.ftl"
|
||||
|
||||
ctx.add_transforms(
|
||||
translations_ftl,
|
||||
translations_ftl,
|
||||
transforms_from(
|
||||
"""
|
||||
newtab-custom-shortcuts-toggle =
|
||||
.label = {COPY_PATTERN(from_path, "newtab-custom-shortcuts-title")}
|
||||
.description = {COPY_PATTERN(from_path, "newtab-custom-shortcuts-subtitle")}
|
||||
newtab-custom-pocket-toggle =
|
||||
.label = {COPY_PATTERN(from_path, "newtab-custom-pocket-title")}
|
||||
.description = {COPY_PATTERN(from_path, "newtab-custom-pocket-subtitle")}
|
||||
newtab-custom-recent-toggle =
|
||||
.label = {COPY_PATTERN(from_path, "newtab-custom-recent-title")}
|
||||
.description = {COPY_PATTERN(from_path, "newtab-custom-recent-subtitle")}
|
||||
""",
|
||||
from_path=translations_ftl,
|
||||
),
|
||||
)
|
|
@ -1,101 +0,0 @@
|
|||
# Any copyright is dedicated to the Public Domain.
|
||||
# http://creativecommons.org/publicdomain/zero/1.0/
|
||||
|
||||
import fluent.syntax.ast as FTL
|
||||
from fluent.migrate.transforms import COPY, COPY_PATTERN
|
||||
|
||||
|
||||
def migrate(ctx):
|
||||
"""Bug 1814969 - Convert contextual identity service strings to Fluent, part {index}."""
|
||||
|
||||
source = "browser/chrome/browser/browser.properties"
|
||||
alltabs = "browser/browser/allTabsMenu.ftl"
|
||||
target = "toolkit/toolkit/global/contextual-identity.ftl"
|
||||
ctx.add_transforms(
|
||||
target,
|
||||
target,
|
||||
[
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("user-context-personal"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=COPY(source, "userContextPersonal.label"),
|
||||
),
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("accesskey"),
|
||||
value=COPY(source, "userContextPersonal.accesskey"),
|
||||
),
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("user-context-work"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=COPY(source, "userContextWork.label"),
|
||||
),
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("accesskey"),
|
||||
value=COPY(source, "userContextWork.accesskey"),
|
||||
),
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("user-context-banking"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=COPY(source, "userContextBanking.label"),
|
||||
),
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("accesskey"),
|
||||
value=COPY(source, "userContextBanking.accesskey"),
|
||||
),
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("user-context-shopping"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=COPY(source, "userContextShopping.label"),
|
||||
),
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("accesskey"),
|
||||
value=COPY(source, "userContextShopping.accesskey"),
|
||||
),
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("user-context-none"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=COPY(source, "userContextNone.label"),
|
||||
),
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("accesskey"),
|
||||
value=COPY(source, "userContextNone.accesskey"),
|
||||
),
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("user-context-manage-containers"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=COPY_PATTERN(
|
||||
alltabs, "all-tabs-menu-manage-user-context.label"
|
||||
),
|
||||
),
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("accesskey"),
|
||||
value=COPY_PATTERN(
|
||||
alltabs, "all-tabs-menu-manage-user-context.accesskey"
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
)
|
|
@ -1,45 +0,0 @@
|
|||
# Any copyright is dedicated to the Public Domain.
|
||||
# http://creativecommons.org/publicdomain/zero/1.0/
|
||||
|
||||
from fluent.migrate import COPY_PATTERN
|
||||
from fluent.migrate.helpers import transforms_from
|
||||
|
||||
|
||||
def migrate(ctx):
|
||||
"""Bug 1844783 - Use new moz-message-bar in shopping components, part {index}."""
|
||||
shopping_ftl = "browser/browser/shopping.ftl"
|
||||
ctx.add_transforms(
|
||||
shopping_ftl,
|
||||
shopping_ftl,
|
||||
transforms_from(
|
||||
"""
|
||||
shopping-message-bar-generic-error =
|
||||
.heading = {COPY_PATTERN(from_path, "shopping-message-bar-generic-error-title2")}
|
||||
.message = {COPY_PATTERN(from_path, "shopping-message-bar-generic-error-message")}
|
||||
|
||||
shopping-message-bar-warning-not-enough-reviews =
|
||||
.heading = {COPY_PATTERN(from_path, "shopping-message-bar-warning-not-enough-reviews-title")}
|
||||
.message = {COPY_PATTERN(from_path, "shopping-message-bar-warning-not-enough-reviews-message2")}
|
||||
|
||||
shopping-message-bar-warning-product-not-available =
|
||||
.heading = {COPY_PATTERN(from_path, "shopping-message-bar-warning-product-not-available-title")}
|
||||
.message = {COPY_PATTERN(from_path, "shopping-message-bar-warning-product-not-available-message2")}
|
||||
|
||||
shopping-message-bar-thanks-for-reporting =
|
||||
.heading = {COPY_PATTERN(from_path, "shopping-message-bar-thanks-for-reporting-title")}
|
||||
.message = {COPY_PATTERN(from_path, "shopping-message-bar-thanks-for-reporting-message2")}
|
||||
|
||||
shopping-message-bar-warning-product-not-available-reported =
|
||||
.heading = {COPY_PATTERN(from_path, "shopping-message-bar-warning-product-not-available-reported-title2")}
|
||||
.message = {COPY_PATTERN(from_path, "shopping-message-bar-warning-product-not-available-reported-message2")}
|
||||
|
||||
shopping-message-bar-page-not-supported =
|
||||
.heading = {COPY_PATTERN(from_path, "shopping-message-bar-page-not-supported-title")}
|
||||
.message = {COPY_PATTERN(from_path, "shopping-message-bar-page-not-supported-message")}
|
||||
|
||||
shopping-survey-thanks =
|
||||
.heading = {COPY_PATTERN(from_path, "shopping-survey-thanks-message")}
|
||||
""",
|
||||
from_path=shopping_ftl,
|
||||
),
|
||||
)
|
|
@ -1,36 +0,0 @@
|
|||
# Any copyright is dedicated to the Public Domain.
|
||||
# http://creativecommons.org/publicdomain/zero/1.0/
|
||||
|
||||
import fluent.syntax.ast as FTL
|
||||
|
||||
from fluent.migrate import COPY_PATTERN
|
||||
|
||||
|
||||
def migrate(ctx):
|
||||
"""Bug 1844850 - Use moz-message-bar in the unified extensions panel, part {index}."""
|
||||
unifiedExtensions_ftl = "browser/browser/unifiedExtensions.ftl"
|
||||
ctx.add_transforms(
|
||||
unifiedExtensions_ftl,
|
||||
unifiedExtensions_ftl,
|
||||
[
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("unified-extensions-mb-quarantined-domain-message-3"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("heading"),
|
||||
value=COPY_PATTERN(
|
||||
unifiedExtensions_ftl,
|
||||
"unified-extensions-mb-quarantined-domain-title",
|
||||
),
|
||||
),
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("message"),
|
||||
value=COPY_PATTERN(
|
||||
unifiedExtensions_ftl,
|
||||
"unified-extensions-mb-quarantined-domain-message-2",
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
)
|
|
@ -1,32 +0,0 @@
|
|||
# Any copyright is dedicated to the Public Domain.
|
||||
# http://creativecommons.org/publicdomain/zero/1.0/
|
||||
|
||||
import re
|
||||
import fluent.syntax.ast as FTL
|
||||
from fluent.migrate.transforms import TransformPattern
|
||||
|
||||
|
||||
class STRIP_LABEL(TransformPattern):
|
||||
# Used to remove `<label data-l10n-name="remove-search-engine-article">` from a string
|
||||
def visit_TextElement(self, node):
|
||||
node.value = re.sub(
|
||||
r'\s?<label data-l10n-name="remove-search-engine-article">.+?</label>\s?',
|
||||
"",
|
||||
node.value,
|
||||
)
|
||||
return node
|
||||
|
||||
|
||||
def migrate(ctx):
|
||||
"""Bug 1845150 - Use moz-message-bar instead of message-bar in notificationbox.js, part {index}."""
|
||||
search_ftl = "browser/browser/search.ftl"
|
||||
ctx.add_transforms(
|
||||
search_ftl,
|
||||
search_ftl,
|
||||
[
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("removed-search-engine-message2"),
|
||||
value=STRIP_LABEL(search_ftl, "removed-search-engine-message"),
|
||||
),
|
||||
],
|
||||
)
|
|
@ -1,21 +0,0 @@
|
|||
# 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 transforms_from
|
||||
|
||||
|
||||
def migrate(ctx):
|
||||
"""Bug 1845727 - move mozSupportLink l10n file to toolkit, part {index}."""
|
||||
browser_ftl = "browser/browser/components/mozSupportLink.ftl"
|
||||
toolkit_ftl = "toolkit/toolkit/global/mozSupportLink.ftl"
|
||||
ctx.add_transforms(
|
||||
toolkit_ftl,
|
||||
toolkit_ftl,
|
||||
transforms_from(
|
||||
"""
|
||||
moz-support-link-text = {COPY_PATTERN(from_path, "moz-support-link-text")}
|
||||
""",
|
||||
from_path=browser_ftl,
|
||||
),
|
||||
)
|
|
@ -1,41 +0,0 @@
|
|||
# Any copyright is dedicated to the Public Domain.
|
||||
# http://creativecommons.org/publicdomain/zero/1.0/
|
||||
|
||||
import fluent.syntax.ast as FTL
|
||||
from fluent.migrate.transforms import TransformPattern
|
||||
|
||||
|
||||
class STRIP_SPAN(TransformPattern):
|
||||
# Used to remove `<span data-l10n-name="addon-name"></span>` from a string
|
||||
def visit_TextElement(self, node):
|
||||
span_start = node.value.find('<span data-l10n-name="addon-name">')
|
||||
span_end = node.value.find("</span>")
|
||||
if span_start != -1 and span_end == -1:
|
||||
node.value = node.value[:span_start]
|
||||
elif span_start == -1 and span_end != -1:
|
||||
node.value = node.value[span_end + 7 :]
|
||||
|
||||
return node
|
||||
|
||||
|
||||
def migrate(ctx):
|
||||
"""Bug 1851877 - Use moz-message-bar to replace the pending uninstall bar in about:addons, part {index}."""
|
||||
aboutAddons_ftl = "toolkit/toolkit/about/aboutAddons.ftl"
|
||||
ctx.add_transforms(
|
||||
aboutAddons_ftl,
|
||||
aboutAddons_ftl,
|
||||
[
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("pending-uninstall-description2"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("message"),
|
||||
value=STRIP_SPAN(
|
||||
aboutAddons_ftl,
|
||||
"pending-uninstall-description",
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
)
|
|
@ -1,58 +0,0 @@
|
|||
# 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 TERM_REFERENCE
|
||||
from fluent.migrate.transforms import REPLACE, COPY
|
||||
|
||||
|
||||
def migrate(ctx):
|
||||
"""Bug 1854425 - Migrate defaultagent_localized.ini to Fluent, part {index}."""
|
||||
|
||||
source = "browser/defaultagent/defaultagent_localized.ini"
|
||||
target = "browser/browser/backgroundtasks/defaultagent.ftl"
|
||||
|
||||
ctx.add_transforms(
|
||||
target,
|
||||
target,
|
||||
[
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("default-browser-agent-task-description"),
|
||||
value=REPLACE(
|
||||
source,
|
||||
"DefaultBrowserAgentTaskDescription",
|
||||
{
|
||||
"%MOZ_APP_DISPLAYNAME%": TERM_REFERENCE("brand-short-name"),
|
||||
},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("default-browser-notification-header-text"),
|
||||
value=REPLACE(
|
||||
source,
|
||||
"DefaultBrowserNotificationHeaderText",
|
||||
{
|
||||
"%MOZ_APP_DISPLAYNAME%": TERM_REFERENCE("brand-short-name"),
|
||||
},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("default-browser-notification-body-text"),
|
||||
value=REPLACE(
|
||||
source,
|
||||
"DefaultBrowserNotificationBodyText",
|
||||
{
|
||||
"%MOZ_APP_DISPLAYNAME%": TERM_REFERENCE("brand-short-name"),
|
||||
},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("default-browser-notification-yes-button-text"),
|
||||
value=COPY(source, "DefaultBrowserNotificationYesButtonText"),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("default-browser-notification-no-button-text"),
|
||||
value=COPY(source, "DefaultBrowserNotificationNoButtonText"),
|
||||
),
|
||||
],
|
||||
)
|
|
@ -1,36 +0,0 @@
|
|||
# Any copyright is dedicated to the Public Domain.
|
||||
# http://creativecommons.org/publicdomain/zero/1.0/
|
||||
|
||||
from fluent.migrate.helpers import transforms_from
|
||||
|
||||
|
||||
def migrate(ctx):
|
||||
"""Bug 1856014 - Fix fluent schema for strings in protections panel, part {index}."""
|
||||
|
||||
file = "browser/browser/protectionsPanel.ftl"
|
||||
ctx.add_transforms(
|
||||
file,
|
||||
file,
|
||||
transforms_from(
|
||||
"""
|
||||
protections-panel-not-blocking-why-etp-on-tooltip-label =
|
||||
.label = {COPY_PATTERN(from_path, "protections-panel-not-blocking-why-etp-on-tooltip")}
|
||||
protections-panel-not-blocking-why-etp-off-tooltip-label =
|
||||
.label = {COPY_PATTERN(from_path, "protections-panel-not-blocking-why-etp-off-tooltip")}
|
||||
""",
|
||||
from_path=file,
|
||||
),
|
||||
)
|
||||
ctx.add_transforms(
|
||||
file,
|
||||
file,
|
||||
transforms_from(
|
||||
"""
|
||||
protections-panel-cookie-banner-view-turn-off-label =
|
||||
.label = {COPY_PATTERN(from_path, "protections-panel-cookie-banner-view-turn-off")}
|
||||
protections-panel-cookie-banner-view-turn-on-label =
|
||||
.label = {COPY_PATTERN(from_path, "protections-panel-cookie-banner-view-turn-on")}
|
||||
""",
|
||||
from_path=file,
|
||||
),
|
||||
)
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -1,27 +0,0 @@
|
|||
# Any copyright is dedicated to the Public Domain.
|
||||
# http://creativecommons.org/publicdomain/zero/1.0/
|
||||
|
||||
from fluent.migrate.helpers import transforms_from
|
||||
|
||||
|
||||
def migrate(ctx):
|
||||
"""Bug 1860606 - Get rid of migration.ftl in favour of migrationWizard.ftl, part {index}."""
|
||||
|
||||
source = "browser/browser/migration.ftl"
|
||||
target = "browser/browser/migrationWizard.ftl"
|
||||
|
||||
ctx.add_transforms(
|
||||
target,
|
||||
target,
|
||||
transforms_from(
|
||||
"""
|
||||
migration-source-name-ie = {COPY_PATTERN(from_path, "source-name-ie")}
|
||||
migration-source-name-edge = {COPY_PATTERN(from_path, "source-name-edge")}
|
||||
migration-source-name-chrome = {COPY_PATTERN(from_path, "source-name-chrome")}
|
||||
|
||||
migration-imported-safari-reading-list = {COPY_PATTERN(from_path, "imported-safari-reading-list")}
|
||||
migration-imported-edge-reading-list = {COPY_PATTERN(from_path, "imported-edge-reading-list")}
|
||||
""",
|
||||
from_path=source,
|
||||
),
|
||||
)
|
|
@ -1,21 +0,0 @@
|
|||
# Any copyright is dedicated to the Public Domain.
|
||||
# http://creativecommons.org/publicdomain/zero/1.0/
|
||||
|
||||
from fluent.migrate.helpers import transforms_from
|
||||
|
||||
|
||||
def migrate(ctx):
|
||||
"""Bug 1862982 - Fix fluent schema for cookie banner cancel button, part {index}."""
|
||||
|
||||
file = "browser/browser/protectionsPanel.ftl"
|
||||
ctx.add_transforms(
|
||||
file,
|
||||
file,
|
||||
transforms_from(
|
||||
"""
|
||||
protections-panel-cookie-banner-view-cancel-label =
|
||||
.label = {COPY_PATTERN(from_path, "protections-panel-cookie-banner-view-cancel")}
|
||||
""",
|
||||
from_path=file,
|
||||
),
|
||||
)
|
|
@ -1,24 +0,0 @@
|
|||
# Any copyright is dedicated to the Public Domain.
|
||||
# http://creativecommons.org/publicdomain/zero/1.0/
|
||||
|
||||
from fluent.migrate.helpers import transforms_from
|
||||
|
||||
|
||||
def migrate(ctx):
|
||||
"""Bug 1863022 - Move Protection Panel Message to calling code, part {index}"""
|
||||
|
||||
source = "browser/browser/newtab/asrouter.ftl"
|
||||
target = "browser/browser/protectionsPanel.ftl"
|
||||
|
||||
ctx.add_transforms(
|
||||
target,
|
||||
target,
|
||||
transforms_from(
|
||||
"""
|
||||
cfr-protections-panel-header = {COPY_PATTERN(from_path, "cfr-protections-panel-header")}
|
||||
cfr-protections-panel-body = {COPY_PATTERN(from_path, "cfr-protections-panel-body")}
|
||||
cfr-protections-panel-link-text = {COPY_PATTERN(from_path, "cfr-protections-panel-link-text")}
|
||||
""",
|
||||
from_path=source,
|
||||
),
|
||||
)
|
|
@ -1,52 +0,0 @@
|
|||
# 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, REPLACE
|
||||
|
||||
|
||||
def migrate(ctx):
|
||||
"""Bug 1866268 - Convert GeckoViewConsole strings to Fluent, part {index}."""
|
||||
|
||||
source = "mobile/android/chrome/browser.properties"
|
||||
target = "mobile/android/mobile/android/geckoViewConsole.ftl"
|
||||
ctx.add_transforms(
|
||||
target,
|
||||
target,
|
||||
[
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("console-stacktrace-anonymous-function"),
|
||||
value=COPY(source, "stacktrace.anonymousFunction"),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("console-stacktrace"),
|
||||
value=REPLACE(
|
||||
source,
|
||||
"stacktrace.outputMessage",
|
||||
{
|
||||
"%1$S": VARIABLE_REFERENCE("filename"),
|
||||
"%2$S": VARIABLE_REFERENCE("functionName"),
|
||||
"%3$S": VARIABLE_REFERENCE("lineNumber"),
|
||||
},
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("console-timer-start"),
|
||||
value=REPLACE(
|
||||
source, "timer.start", {"%1$S": VARIABLE_REFERENCE("name")}
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("console-timer-end"),
|
||||
value=REPLACE(
|
||||
source,
|
||||
"timer.end",
|
||||
{
|
||||
"%1$S": VARIABLE_REFERENCE("name"),
|
||||
"%2$S": VARIABLE_REFERENCE("duration"),
|
||||
},
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
|
@ -1,22 +0,0 @@
|
|||
# Any copyright is dedicated to the Public Domain.
|
||||
# http://creativecommons.org/publicdomain/zero/1.0/
|
||||
|
||||
from fluent.migrate.helpers import transforms_from
|
||||
|
||||
|
||||
def migrate(ctx):
|
||||
"""Bug 1866295 - Land new strings for device migration ASRouter messages, part {index}."""
|
||||
|
||||
source = "browser/browser/newtab/asrouter.ftl"
|
||||
target = source
|
||||
|
||||
ctx.add_transforms(
|
||||
target,
|
||||
target,
|
||||
transforms_from(
|
||||
"""
|
||||
device-migration-fxa-spotlight-getting-new-device-primary-button = {COPY_PATTERN(from_path, "device-migration-fxa-spotlight-primary-button")}
|
||||
""",
|
||||
from_path=source,
|
||||
),
|
||||
)
|
|
@ -1,22 +0,0 @@
|
|||
# Any copyright is dedicated to the Public Domain.
|
||||
# http://creativecommons.org/publicdomain/zero/1.0/
|
||||
|
||||
from fluent.migrate.helpers import transforms_from
|
||||
|
||||
|
||||
def migrate(ctx):
|
||||
"""Bug 1867346 - Replace a string for device migration ASRouter messages, part {index}."""
|
||||
|
||||
source = "browser/browser/newtab/asrouter.ftl"
|
||||
target = source
|
||||
|
||||
ctx.add_transforms(
|
||||
target,
|
||||
target,
|
||||
transforms_from(
|
||||
"""
|
||||
device-migration-fxa-spotlight-getting-new-device-header-2 = {COPY_PATTERN(from_path, "fxa-sync-cfr-header")}
|
||||
""",
|
||||
from_path=source,
|
||||
),
|
||||
)
|
|
@ -1,26 +0,0 @@
|
|||
# Any copyright is dedicated to the Public Domain.
|
||||
# http://creativecommons.org/publicdomain/zero/1.0/
|
||||
|
||||
import fluent.syntax.ast as FTL
|
||||
from fluent.migrate.transforms import COPY
|
||||
|
||||
|
||||
def migrate(ctx):
|
||||
"""Bug 1867819 - Convert formautofill.properties to Fluent, part {index}."""
|
||||
|
||||
source = "browser/extensions/formautofill/formautofill.properties"
|
||||
target = "toolkit/toolkit/formautofill/formAutofill.ftl"
|
||||
ctx.add_transforms(
|
||||
target,
|
||||
target,
|
||||
[
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("autofill-options-link"),
|
||||
value=COPY(source, "autofillOptionsLink"),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("autofill-options-link-osx"),
|
||||
value=COPY(source, "autofillOptionsLinkOSX"),
|
||||
),
|
||||
],
|
||||
)
|
|
@ -1,22 +0,0 @@
|
|||
# Any copyright is dedicated to the Public Domain.
|
||||
# http://creativecommons.org/publicdomain/zero/1.0/
|
||||
|
||||
import fluent.syntax.ast as FTL
|
||||
from fluent.migrate.transforms import COPY
|
||||
|
||||
|
||||
def migrate(ctx):
|
||||
"""Bug 1868154 - Convert RFPHelper strings to Fluent, part {index}."""
|
||||
|
||||
source = "browser/chrome/browser/browser.properties"
|
||||
target = "toolkit/toolkit/global/resistFingerPrinting.ftl"
|
||||
ctx.add_transforms(
|
||||
target,
|
||||
target,
|
||||
[
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("privacy-spoof-english"),
|
||||
value=COPY(source, "privacy.spoof_english"),
|
||||
),
|
||||
],
|
||||
)
|
|
@ -1,122 +0,0 @@
|
|||
# Any copyright is dedicated to the Public Domain.
|
||||
# http://creativecommons.org/publicdomain/zero/1.0/
|
||||
|
||||
import fluent.syntax.ast as FTL
|
||||
from fluent.migrate.transforms import COPY, REPLACE
|
||||
from fluent.migrate.helpers import VARIABLE_REFERENCE
|
||||
|
||||
|
||||
def migrate(ctx):
|
||||
"""Bug 1869024 - Convert passwordmgr.properties to Fluent, part {index}."""
|
||||
|
||||
source = "toolkit/chrome/passwordmgr/passwordmgr.properties"
|
||||
target = "toolkit/toolkit/passwordmgr/passwordmgr.ftl"
|
||||
ctx.add_transforms(
|
||||
target,
|
||||
target,
|
||||
[
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("password-manager-save-password-button-allow"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=COPY(source, "saveLoginButtonAllow.label"),
|
||||
),
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("accesskey"),
|
||||
value=COPY(source, "saveLoginButtonAllow.accesskey"),
|
||||
),
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("password-manager-save-password-button-never"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=COPY(source, "saveLoginButtonNever.label"),
|
||||
),
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("accesskey"),
|
||||
value=COPY(source, "saveLoginButtonNever.accesskey"),
|
||||
),
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("password-manager-update-login-add-username"),
|
||||
value=COPY(source, "updateLoginMsgAddUsername2"),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("password-manager-password-password-button-allow"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=COPY(source, "updateLoginButtonText"),
|
||||
),
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("accesskey"),
|
||||
value=COPY(source, "updateLoginButtonAccessKey"),
|
||||
),
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("password-manager-update-password-button-deny"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=COPY(source, "updateLoginButtonDeny.label"),
|
||||
),
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("accesskey"),
|
||||
value=COPY(source, "updateLoginButtonDeny.accesskey"),
|
||||
),
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("password-manager-no-username-placeholder"),
|
||||
value=COPY(source, "noUsernamePlaceholder"),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("password-manager-toggle-password"),
|
||||
attributes=[
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("label"),
|
||||
value=COPY(source, "togglePasswordLabel"),
|
||||
),
|
||||
FTL.Attribute(
|
||||
id=FTL.Identifier("accesskey"),
|
||||
value=COPY(source, "togglePasswordAccessKey2"),
|
||||
),
|
||||
],
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("password-manager-confirm-password-change"),
|
||||
value=COPY(source, "passwordChangeTitle"),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("password-manager-select-username"),
|
||||
value=COPY(source, "userSelectText2"),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("password-manager-save-password-message"),
|
||||
value=REPLACE(
|
||||
source,
|
||||
"saveLoginMsgNoUser2",
|
||||
{
|
||||
"%1$S": VARIABLE_REFERENCE("host"),
|
||||
},
|
||||
normalize_printf=True,
|
||||
),
|
||||
),
|
||||
FTL.Message(
|
||||
id=FTL.Identifier("password-manager-update-password-message"),
|
||||
value=REPLACE(
|
||||
source,
|
||||
"updateLoginMsgNoUser3",
|
||||
{
|
||||
"%1$S": VARIABLE_REFERENCE("host"),
|
||||
},
|
||||
normalize_printf=True,
|
||||
),
|
||||
),
|
||||
],
|
||||
)
|
|
@ -1,21 +0,0 @@
|
|||
# Any copyright is dedicated to the Public Domain.
|
||||
# http://creativecommons.org/publicdomain/zero/1.0/
|
||||
|
||||
from fluent.migrate.helpers import transforms_from
|
||||
|
||||
|
||||
def migrate(ctx):
|
||||
"""Bug 1869389 - Provide urlbar-search-mode-indicator-close button with an accessible name, part {index}"""
|
||||
|
||||
file = "browser/browser/browser.ftl"
|
||||
ctx.add_transforms(
|
||||
file,
|
||||
file,
|
||||
transforms_from(
|
||||
"""
|
||||
urlbar-search-mode-indicator-close =
|
||||
.aria-label = {COPY_PATTERN(from_path, "ui-tour-info-panel-close.tooltiptext")}
|
||||
""",
|
||||
from_path=file,
|
||||
),
|
||||
)
|
|
@ -1,28 +0,0 @@
|
|||
# Any copyright is dedicated to the Public Domain.
|
||||
# http://creativecommons.org/publicdomain/zero/1.0/
|
||||
|
||||
from fluent.migrate import COPY_PATTERN
|
||||
from fluent.migrate.helpers import transforms_from
|
||||
|
||||
|
||||
def migrate(ctx):
|
||||
"""Bug 747301 - remove about:plugins, part {index}."""
|
||||
plugins_ftl = "toolkit/toolkit/about/aboutPlugins.ftl"
|
||||
addon_ftl = "toolkit/toolkit/about/aboutAddons.ftl"
|
||||
ctx.add_transforms(
|
||||
addon_ftl,
|
||||
addon_ftl,
|
||||
transforms_from(
|
||||
"""
|
||||
plugins-gmp-license-info = {COPY_PATTERN(from_path, "plugins-gmp-license-info")}
|
||||
plugins-gmp-privacy-info = {COPY_PATTERN(from_path, "plugins-gmp-privacy-info")}
|
||||
|
||||
plugins-openh264-name = {COPY_PATTERN(from_path, "plugins-openh264-name")}
|
||||
plugins-openh264-description = {COPY_PATTERN(from_path, "plugins-openh264-description")}
|
||||
|
||||
plugins-widevine-name = {COPY_PATTERN(from_path, "plugins-widevine-name")}
|
||||
plugins-widevine-description = {COPY_PATTERN(from_path, "plugins-widevine-description")}
|
||||
""",
|
||||
from_path=plugins_ftl,
|
||||
),
|
||||
)
|
Загрузка…
Ссылка в новой задаче