Candidates of XUL localizability solutions
"XUL + Language-specific
In this approach, we declare general (text) entities
for all locale sensitive resources in an external DTD (Document Type Definition)
subset and use XML entity reference, "&entity_name;", to reference
"Resource ID + String Resource Manager"
In XUL file, assign an ID, e.g. "widgetID", to
each UI element and a resource tag, e.g. "resTag", to each localizable
attribute of the widget. Then, during widget initialization, call a C function,
said gettext(widgetID, resTag, default_string), to retrieve the resource
from a Java-like property file. For example, a label widget can be described
as <label widgetID="345" text="foo"/> in a XUL file. Then, the function
call to retrieve localized text will be gettext(345, RES_TEXT, "foo").
"XPointer and XLink"
Use XLink & Xpointer to specifically reference a
text in a file that is separate from the base XUL file so that this text
can be easily localized and displayed to the end user in a manner consistent
with XPFE (Cross Platform Front End) requirements.
Use the "@" symbol like entities use the "&" symbol.
Then these things are used throughout the content just like entities would
have been used to do localization.