Deprecating and removing legacy l10n formats: DTDs, .inc & PluralForm

42 views
Skip to first unread message

Eemeli Aro

unread,
Dec 22, 2022, 8:57:07 AM12/22/22
to dev-pl...@mozilla.org
Hi folks,

Recently, we’ve been able to reduce the number of legacy localization
formats that we use in m-c, mostly by migrating the relevant messages
to Fluent. As the headline item here, we no longer use DTDs for
Firefox localization at all. We’ve also been able to finally get rid
of our custom .inc file format for the localized titles and
descriptions of langpacks.

PluralForm is a custom/proprietary way of supporting basic plural
categorisation of StringBundle messages. While we still have a small
number [1] of these messages in m-c, they should all get migrated [2]
to Fluent and no new PluralForm messages should be added.

As a result of these changes, we’re left with two main localization
systems in m-c: Fluent and StringBundle (.properties). While
eventually we should be able to get rid of StringBundle as well, there
is no ongoing active push towards migrating all of them to Fluent;
just the parts that use PluralForm. Adding new StringBundle messages
should only be done after serious consideration, but the format as
such is not deprecated.

Removing actual support for these formats will require some care and
attention, as Thunderbird still uses DTDs and PluralForm.

Going forward, we’re looking to introduce a new localization system in
m-c based on MessageFormat 2 (aka “MF2”) during 2023. This is a new
message formatting spec [3] that’s being developed under the Unicode
Consortium, and which is on its way for inclusion in JS as
Intl.MessageFormat [4]. This isn’t (yet) a replacement for Fluent, and
our initial focus with it will be to complement the still-continuing
Fluent migration work by finding ways of automating a migration to MF2
for our C++ and other lower-level localization users. More on this
later.

If you’ve any questions or concerns regarding these changes, please
don’t hesitate to reach out to me directly or join the conversation on
our Matrix channel #l10n-dev [5].

Eemeli

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1790189
[2] https://firefox-source-docs.mozilla.org/l10n/migrations/legacy.html#plural-strings
[3] https://github.com/unicode-org/message-format-wg/blob/main/spec/syntax.md
[4] https://github.com/tc39/proposal-intl-messageformat
[5] https://matrix.to/#/#l10n-dev:mozilla.org
Reply all
Reply to author
Forward
0 new messages