Chameleon¶
Introduction¶
Macros¶
Omit tag¶
Tags from the namespace tal and metal are omitted. But no specific
tag name is required. So use something like this
<metal: metal:something="whatever">...</metal:>
<tal: tal:something="whatever">...</tal:>
Same file¶
Use macro from the same template (same file).
The macros are available under template.macros or directly under
macros.
<metal: metal:define-macro="ping">pong</metal:>
<metal: metal:use-macro="template.macros['ping']"></metal:>
<metal: metal:use-macro="macros['ping']"></metal:>
I18N¶
Babel¶
According to its documentation chameleon should provide a message extractor
for Babel, but it is not actually the case.
https://github.com/malthe/chameleon/issues/12
Use lingua instead. It has a message extractor for chameleon.
lingua¶
Even though lingua claims in its documentation to always extract messages
that do not have a domain, it is not the case for the chameleon extractor.
Make sure to always specify a domain in the .pt file. Otherwise the
messages won’t be extracted by pot-create.
<tal: i18n:domain="MyDomain">
<!-- ... -->
<span i18n:translate="">message</span>
<!-- ... -->
</tal:>