Closed
Bug 1280669
Opened 8 years ago
Closed 4 years ago
Add XUL support
Categories
(L20n :: JS Library, defect)
L20n
JS Library
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: stas, Assigned: stas)
References
(Depends on 1 open bug)
Details
(Whiteboard: [gecko-l20n])
User Story
L20n in Gecko should be able to localize XUL documents.
L20n in Gecko should be able to localize XUL documents.
Assignee | ||
Comment 1•8 years ago
|
||
The first PoC of this used to take advantage of XBL bindings: https://github.com/mozilla/gecko-dev/commit/6f3048f6c8f5f5716aa993da2bf283acecd07eec In XUL, you could do: <localization id="browser-l10n"> <source src="chrome://branding/locale/brand.ftl"/> <source src="chrome://browser/locale/browser.ftl"/> </localization> And then: <textbox id="urlbar" data-l10n-bundle="browser-l10n" data-l10n-id"urlbar" …> The value of data-l10n-bundle would be used to look up a <localization> element by the id. This had a number of problems: - we don't have the <localization> elements in l20n-chrome-html at all, but we need to make XUL/XBL embeddable in HTML documents, - <localization> elements can't have ids because they might be part of the anonymous content bound by XBL more than once, - some bindings currently use <stringbundles> defined in different bindings and they refer to them from the XBL code. Re. the last point, here's an example: tabbrowser-tabs uses the tabs-empty-tab-title string which comes from the <localization> defined in the tabbrowser binding. Furthermore, the <tab> which uses the binding is not part of the anonymous content and doesn't have easy access to tabbrowser's anonymous content (other than hardcoding it). If this doesn't make sense the recap is: it's not easy to find the appropriate <localization> element by id or other attribute because they might be hidden in anonymous content. To mitigate this the next iteration of the implementation stored the Localization elements in a global map (document.l10n) where they can be easily retrieved from by name (document.l10n.get('main')): https://github.com/mozilla/gecko-dev/commit/714a779e9d2d04d21808200a78d313a0a286a8e2 Finally, the third iteration moved away from defining resources in <localization> elements. Instead, the XUL API has been unified with the HTML API, i.e. <link rel="localizaton"> elements are used. https://github.com/mozilla/gecko-dev/commit/706b97044e571814aa8d845a23bdb78b1bdb45e7
Assignee: nobody → stas
Status: NEW → ASSIGNED
Comment 2•8 years ago
|
||
Mass change dependency tree for bug 1279002 into a whiteboard keyword.
No longer blocks: gecko-l20n
Whiteboard: [gecko-l20n]
Assignee | ||
Comment 3•8 years ago
|
||
Similar to bug 1288406, this shouldn't block bug 1280668 either. We have basic XUL support on larch already. This bug will track improving this support.
No longer blocks: 1280668
Assignee | ||
Updated•8 years ago
|
Comment 4•5 years ago
|
||
This is now fixed.
Comment 5•4 years ago
|
||
Let's mark it so.
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•