template "svg:tspan", mode="extract_i18n" {
if "string-length(.) > 0" line {
template "svg:text", mode="extract_i18n" {
attrib "label" value "substring(@inkscape:label,2)";
apply "svg:*", mode="extract_i18n";
const "translatable_texts", "//svg:text[starts-with(@inkscape:label, '_')]";
const "translatable_strings" apply "$translatable_texts", mode="extract_i18n";
const "translations", "ns:GetTranslations($translatable_strings)";
> var langs = [ ["Default", "C"],
foreach "$translations/langs/lang" {
if "position()!=last()" > ,
foreach "$translatable_texts" {
const "current_id","@id";
const "text_unlinked_uses","$result_svg_ns//svg:text[@original = $current_id]/@id";
foreach "@id | $text_unlinked_uses" {
if "position()!=last()" > ,
foreach "$translations/messages/msgid[$n]/msg" {
if "position()!=last()" > \\\\n
if "position()!=last()" > ,
if "position()!=last()" > ,