Deprecating DTD for localization in Firefox UI
Zibi Braniecki (Gandalf)
zbraniecki at mozilla.com
Thu Oct 24 19:09:47 UTC 2019
tl;dr: Please use Fluent instead of adding or changing existing DTD strings.
== DTD and Fluent ==
DTD has been used as the core localization format and API inside of Firefox
since the dawn of Mozilla, allowing us to localize our XUL and other XML
Unfortunately, DTD comes with a set of quite painful limitations, including
the so called Yellow Screen of Death which causes a crash at startup and
requires a complicated manual process by each user to recover. We’ve
recently been affected by this on beta .
For a couple years now, we’ve been working on a replacement for DTD - a new
localization system called Fluent  which (among other things) addresses
the shortcomings of DTD.
== Deprecating DTD for localization in browser chrome ==
Now that Fluent meets the performance requirements to replace DTD, we would
like to deprecate the DTD file format as a localization mechanism in
Please could you:
Avoid introducing any new DTD strings in mozilla-central.
If existing DTD strings would need to be changed, migrate them to Fluent
 instead of updating the message identifier in DTD.
There are a few small areas where integrating Fluent is not entirely
trivial (most notably UA widgets) and those will be exempted from the
In case you believe there are technical reasons to continue using DTD in
your project, please consult fluent-reviewers group , which has been
recently extended with additions of Jared Wein, Gijs Kruitbosch and Edward
Lee. They can be reached in #fluent on Slack or fluent-reviewers on
The change does not affect release or beta uplifts, since we don’t change
strings in those. ESR uplifts will be exempted from the deprecation.
== Dashboard ==
In order to visualize our progress, we recently updated our dashboard:
The new version introduces three milestones:
M1 - Removal of DTD from browser.xhtml - addresses Yellow Screen of Death
M2 - Migration of the startup path to Fluent 
Mx - Migration of the whole mozilla-central to Fluent 
Additional milestones may be added as we identify them.
Each one of these milestones will enable a set of new features for Firefox,
and deprecating DTD for localization is aiming to help us achieve them
If you have any questions, let me know!
 fluent-reviewers group (#fluent on Slack):
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the firefox-dev