#!/usr/bin/perl use XML::Simple; use Data::Dumper; die "usage: $0 source.ts dest.cpp\n" unless @ARGV==2 && -f $ARGV[0]; my $xml = XMLin($ARGV[0], ForceArray=>1); open F, ">$ARGV[1]"; print F <{context}; foreach my $context ( @{ $xml->{context} } ) { print F "\n// context: $context->{name}->[0]\n\n"; foreach my $message ( @{ $context->{message} } ) { $message->{source}->[0] =~ s/"/\\"/g; $message->{source}->[0] =~ s/\n/\\n/g; print F "translate( \"$context->{name}->[0]\", \"$message->{source}->[0]\");\n"; } } close F;