// i18n.ysl2
template "svg:tspan", mode="extract_i18n" {
if "string-length(.) > 0" line {
value ".";
}
}
template "svg:text", mode="extract_i18n" {
msg {
attrib "id" value "@id";
attrib "label" value "@inkscape:label";
apply "svg:*", mode="extract_i18n";
}
}
const "translatable_texts", "//svg:text[starts-with(@inkscape:label, '_')]";
const "translatable_strings" apply "$translatable_texts", mode="extract_i18n";
emit "preamble:i18n" {
const "translations", "ns:GetTranslations($translatable_strings)";
| var translations = {
foreach "$translations/*" {
| "«local-name()»":{
/* TODO */
| }`if "position()!=last()" > ,`
}
| };
|
}