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