Revision control

Copy as Markdown

Other Tools

# Any copyright is dedicated to the Public Domain.
import fluent.syntax.ast as FTL
from fluent.migratetb.helpers import transforms_from, VARIABLE_REFERENCE
from fluent.migratetb.transforms import REPLACE
SOURCE = "calendar/chrome/lightning/lightning.properties"
def migrate(ctx):
"""Bug 1892911 - Migrate cal.l10n.getLtnString() usages to Fluent, part {index}"""
target = reference = "calendar/calendar/calendar-itip.ftl"
# Strings without parameters.
ctx.add_transforms(
target,
reference,
transforms_from(
"""
calendar-tab-title-calendar = { COPY(source, "tabTitleCalendar") }
calendar-tab-title-tasks = { COPY(source, "tabTitleTasks") }
imip-html-header = { COPY(source, "imipHtml.header") }
imip-html-summary = { COPY(source, "imipHtml.summary") }
imip-html-location = { COPY(source, "imipHtml.location") }
imip-html-when = { COPY(source, "imipHtml.when") }
imip-html-organizer = { COPY(source, "imipHtml.organizer") }
imip-html-description = { COPY(source, "imipHtml.description") }
imip-html-attachments = { COPY(source, "imipHtml.attachments") }
imip-html-comment = { COPY(source, "imipHtml.comment") }
imip-html-attendees = { COPY(source, "imipHtml.attendees") }
imip-html-url = { COPY(source, "imipHtml.url") }
imip-html-canceled-occurrences = { COPY(source, "imipHtml.canceledOccurrences") }
imip-html-modified-occurrences = { COPY(source, "imipHtml.modifiedOccurrences") }
imip-added-item-to-cal = { COPY(source, "imipAddedItemToCal2") }
imip-canceled-item = { COPY(source, "imipCanceledItem2") }
imip-updated-item = { COPY(source, "imipUpdatedItem2") }
imip-bar-cancel-text = { COPY(source, "imipBarCancelText") }
imip-bar-counter-error-text = { COPY(source, "imipBarCounterErrorText") }
imip-bar-counter-previous-version-text = { COPY(source, "imipBarCounterPreviousVersionText") }
imip-bar-counter-text = { COPY(source, "imipBarCounterText") }
imip-bar-disallowed-counter-text = { COPY(source, "imipBarDisallowedCounterText") }
imip-bar-decline-counter-text = { COPY(source, "imipBarDeclineCounterText") }
imip-bar-refresh-text = { COPY(source, "imipBarRefreshText") }
imip-bar-publish-text = { COPY(source, "imipBarPublishText") }
imip-bar-request-text = { COPY(source, "imipBarRequestText") }
imip-bar-sent-text = { COPY(source, "imipBarSentText") }
imip-bar-sent-but-removed-text = { COPY(source, "imipBarSentButRemovedText") }
imip-bar-update-text = { COPY(source, "imipBarUpdateText") }
imip-bar-update-multiple-text = { COPY(source, "imipBarUpdateMultipleText") }
imip-bar-update-series-text = { COPY(source, "imipBarUpdateSeriesText") }
imip-bar-already-processed-text = { COPY(source, "imipBarAlreadyProcessedText") }
imip-bar-processed-needs-action = { COPY(source, "imipBarProcessedNeedsAction") }
imip-bar-processed-multiple-needs-action = { COPY(source, "imipBarProcessedMultipleNeedsAction") }
imip-bar-processed-series-needs-action = { COPY(source, "imipBarProcessedSeriesNeedsAction") }
imip-bar-reply-text = { COPY(source, "imipBarReplyText") }
imip-bar-reply-to-not-existing-item = { COPY(source, "imipBarReplyToNotExistingItem") }
imip-bar-calendar-deactivated = { COPY(source, "imipBarCalendarDeactivated") }
imip-bar-not-writable = { COPY(source, "imipBarNotWritable") }
imip-no-calendar-available = { COPY(source, "imipNoCalendarAvailable") }
imip-send-mail-title = { COPY(source, "imipSendMail.title") }
imip-send-mail-text = { COPY(source, "imipSendMail.text") }
imip-no-identity = { COPY(source, "imipNoIdentity") }
no-identity-selected-notification = { COPY(source, "noIdentitySelectedNotification") }
confirm-process-invitation = { COPY(source, "confirmProcessInvitation") }
confirm-process-invitation-title = { COPY(source, "confirmProcessInvitationTitle") }
""",
source=SOURCE,
),
)
# Strings with parameters.
ctx.add_transforms(
target,
reference,
[
FTL.Message(
id=FTL.Identifier("imip-html-new-location"),
value=REPLACE(SOURCE, "imipHtml.newLocation", {"%1$S": VARIABLE_REFERENCE("location")}),
),
FTL.Message(
id=FTL.Identifier("imip-html-attendee-delegated-from"),
value=REPLACE(
SOURCE,
"imipHtml.attendeeDelegatedFrom",
{"%1$S": VARIABLE_REFERENCE("delegators")},
),
),
FTL.Message(
id=FTL.Identifier("imip-html-attendee-combined"),
value=REPLACE(
SOURCE,
"imipHtml.attendee.combined",
{"%1$S": VARIABLE_REFERENCE("role"), "%2$S": VARIABLE_REFERENCE("partStat")},
),
),
FTL.Message(
id=FTL.Identifier("imip-html-attendee-role-chair"),
value=REPLACE(
SOURCE, "imipHtml.attendeeRole2.CHAIR", {"%1$S": VARIABLE_REFERENCE("userType")}
),
),
FTL.Message(
id=FTL.Identifier("imip-html-attendee-role-non-participant"),
value=REPLACE(
SOURCE,
"imipHtml.attendeeRole2.NON-PARTICIPANT",
{"%1$S": VARIABLE_REFERENCE("userType")},
),
),
FTL.Message(
id=FTL.Identifier("imip-html-attendee-role-opt-participant"),
value=REPLACE(
SOURCE,
"imipHtml.attendeeRole2.OPT-PARTICIPANT",
{"%1$S": VARIABLE_REFERENCE("userType")},
),
),
FTL.Message(
id=FTL.Identifier("imip-html-attendee-role-req-participant"),
value=REPLACE(
SOURCE,
"imipHtml.attendeeRole2.REQ-PARTICIPANT",
{"%1$S": VARIABLE_REFERENCE("userType")},
),
),
FTL.Message(
id=FTL.Identifier("imip-html-attendee-part-stat-accepted"),
value=REPLACE(
SOURCE,
"imipHtml.attendeePartStat2.ACCEPTED",
{"%1$S": VARIABLE_REFERENCE("attendee")},
),
),
FTL.Message(
id=FTL.Identifier("imip-html-attendee-part-stat-declined"),
value=REPLACE(
SOURCE,
"imipHtml.attendeePartStat2.DECLINED",
{"%1$S": VARIABLE_REFERENCE("attendee")},
),
),
FTL.Message(
id=FTL.Identifier("imip-html-attendee-part-stat-delegated"),
value=REPLACE(
SOURCE,
"imipHtml.attendeePartStat2.DELEGATED",
{
"%1$S": VARIABLE_REFERENCE("attendee"),
"%2$S": VARIABLE_REFERENCE("delegatees"),
},
),
),
FTL.Message(
id=FTL.Identifier("imip-html-attendee-part-stat-needs-action"),
value=REPLACE(
SOURCE,
"imipHtml.attendeePartStat2.NEEDS-ACTION",
{"%1$S": VARIABLE_REFERENCE("attendee")},
),
),
FTL.Message(
id=FTL.Identifier("imip-html-attendee-part-stat-tentative"),
value=REPLACE(
SOURCE,
"imipHtml.attendeePartStat2.TENTATIVE",
{"%1$S": VARIABLE_REFERENCE("attendee")},
),
),
FTL.Message(
id=FTL.Identifier("imip-html-attendee-user-type-individual"),
value=REPLACE(
SOURCE,
"imipHtml.attendeeUserType2.INDIVIDUAL",
{"%1$S": VARIABLE_REFERENCE("attendee")},
),
),
FTL.Message(
id=FTL.Identifier("imip-html-attendee-user-type-group"),
value=REPLACE(
SOURCE,
"imipHtml.attendeeUserType2.GROUP",
{"%1$S": VARIABLE_REFERENCE("attendee")},
),
),
FTL.Message(
id=FTL.Identifier("imip-html-attendee-user-type-resource"),
value=REPLACE(
SOURCE,
"imipHtml.attendeeUserType2.RESOURCE",
{"%1$S": VARIABLE_REFERENCE("attendee")},
),
),
FTL.Message(
id=FTL.Identifier("imip-html-attendee-user-type-room"),
value=REPLACE(
SOURCE,
"imipHtml.attendeeUserType2.ROOM",
{"%1$S": VARIABLE_REFERENCE("attendee")},
),
),
FTL.Message(
id=FTL.Identifier("imip-html-attendee-user-type-unknown"),
value=REPLACE(
SOURCE,
"imipHtml.attendeeUserType2.UNKNOWN",
{"%1$S": VARIABLE_REFERENCE("attendee")},
),
),
FTL.Message(
id=FTL.Identifier("imip-bar-reply-to-recently-removed-item"),
value=REPLACE(
SOURCE,
"imipBarReplyToRecentlyRemovedItem",
{"%1$S": VARIABLE_REFERENCE("deletionTime")},
),
),
FTL.Message(
id=FTL.Identifier("imip-bar-processing-failed"),
value=REPLACE(
SOURCE, "imipBarProcessingFailed", {"%1$S": VARIABLE_REFERENCE("status")}
),
),
FTL.Message(
id=FTL.Identifier("invitations-link-label"),
value=REPLACE(SOURCE, "invitationsLink.label", {"%1$S": VARIABLE_REFERENCE("count")}),
),
FTL.Message(
id=FTL.Identifier("itip-request-subject"),
value=REPLACE(SOURCE, "itipRequestSubject2", {"%1$S": VARIABLE_REFERENCE("summary")}),
),
FTL.Message(
id=FTL.Identifier("itip-request-updated-subject"),
value=REPLACE(
SOURCE, "itipRequestUpdatedSubject2", {"%1$S": VARIABLE_REFERENCE("summary")}
),
),
FTL.Message(
id=FTL.Identifier("itip-request-body"),
value=REPLACE(
SOURCE,
"itipRequestBody",
{"%1$S": VARIABLE_REFERENCE("organizer"), "%2$S": VARIABLE_REFERENCE("summary")},
),
),
FTL.Message(
id=FTL.Identifier("itip-cancel-subject"),
value=REPLACE(SOURCE, "itipCancelSubject2", {"%1$S": VARIABLE_REFERENCE("summary")}),
),
FTL.Message(
id=FTL.Identifier("itip-cancel-body"),
value=REPLACE(
SOURCE,
"itipCancelBody",
{"%1$S": VARIABLE_REFERENCE("organizer"), "%2$S": VARIABLE_REFERENCE("summary")},
),
),
FTL.Message(
id=FTL.Identifier("itip-counter-body"),
value=REPLACE(
SOURCE,
"itipCounterBody",
{"%1$S": VARIABLE_REFERENCE("attendee"), "%2$S": VARIABLE_REFERENCE("summary")},
),
),
FTL.Message(
id=FTL.Identifier("itip-decline-counter-body"),
value=REPLACE(
SOURCE,
"itipDeclineCounterBody",
{"%1$S": VARIABLE_REFERENCE("organizer"), "%2$S": VARIABLE_REFERENCE("summary")},
),
),
FTL.Message(
id=FTL.Identifier("itip-decline-counter-subject"),
value=REPLACE(
SOURCE, "itipDeclineCounterSubject", {"%1$S": VARIABLE_REFERENCE("summary")}
),
),
FTL.Message(
id=FTL.Identifier("itip-reply-subject"),
value=REPLACE(SOURCE, "itipReplySubject2", {"%1$S": VARIABLE_REFERENCE("summary")}),
),
FTL.Message(
id=FTL.Identifier("itip-reply-subject-accept"),
value=REPLACE(
SOURCE, "itipReplySubjectAccept2", {"%1$S": VARIABLE_REFERENCE("summary")}
),
),
FTL.Message(
id=FTL.Identifier("itip-reply-subject-decline"),
value=REPLACE(
SOURCE, "itipReplySubjectDecline2", {"%1$S": VARIABLE_REFERENCE("summary")}
),
),
FTL.Message(
id=FTL.Identifier("itip-reply-subject-tentative"),
value=REPLACE(
SOURCE, "itipReplySubjectTentative2", {"%1$S": VARIABLE_REFERENCE("summary")}
),
),
FTL.Message(
id=FTL.Identifier("itip-reply-body-accept"),
value=REPLACE(SOURCE, "itipReplyBodyAccept", {"%1$S": VARIABLE_REFERENCE("attendee")}),
),
FTL.Message(
id=FTL.Identifier("itip-reply-body-decline"),
value=REPLACE(
SOURCE, "itipReplyBodyDecline", {"%1$S": VARIABLE_REFERENCE("attendee")}
),
),
],
)