Content Previous Top
Candidates of XUL localizability solutions




"XUL + Language-specific DTD"

    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 them.
"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. "@resourceID;" 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. 
 

 
All proposed solutions except (a), "XUL + Language-specific DTD", are ruled out due to some technical difficulties or drawbacks. It turns out that the DTD solution also satisfies the majority of our criteria. 
Previous A3
San Jose,CA, August/Sep, 1999