summaryrefslogtreecommitdiffstats
path: root/kiostdetool/extractxml
diff options
context:
space:
mode:
Diffstat (limited to 'kiostdetool/extractxml')
-rwxr-xr-xkiostdetool/extractxml120
1 files changed, 0 insertions, 120 deletions
diff --git a/kiostdetool/extractxml b/kiostdetool/extractxml
deleted file mode 100755
index 629ab1d..0000000
--- a/kiostdetool/extractxml
+++ /dev/null
@@ -1,120 +0,0 @@
-#! /usr/bin/perl
-#
-# This script extracts messages from kiosk_data.xml
-# and writes on standard output (usually redirected to rc.cpp)
-# the equivalent i18n() calls so that xgettext can parse them.
-#
-# It is based on extractrc but differs in the following ways:
-# *) Extracts <caption> and <description> tags
-# *) Performs equivalent of QString::simplifyWhiteSpace on all strings
-#
-# known flags:
-# --tag=name : extract also the tag name
-# --context=name : give all i18n calls a context name: i18n( "name",...)
-
-$filename = "";
-@filenames = ();
-
-sub writeoutstring
-{
- print STDOUT "i18n(\"";
- if (@_[0])
- {
- # We have a I18N context
- print STDOUT @_[0];
- print STDOUT "\",\"";
- }
- print STDOUT @_[1];
- print STDOUT "\"); // $filename \n";
-}
-
-$extratags = "";
-$context = ""; # I18N context
-
-ARGUMENTS: while (defined ($ARGV[0]))
-{
- $_ = shift;
-
- if (/^--tag=(\w+)/) # --tag=name
- {
- $extratags .= "|" . $1;
- next ARGUMENTS;
- }
- elsif (/^--context=(\w+)/) # --context=name
- {
- $context = $1;
- next ARGUMENTS;
- }
-
- $filename = $_; # maybe check for more options
-
-if (! $filename) {
- print STDERR "no file to open\n";
- exit 1;
-}
-
-$string = "";
-$intext = 0;
-$linenr = 0;
-$inskippedprop = 0;
-
-open(FILE, $filename);
-
-READING: while ( <FILE> ) {
- $linenr++;
- if ($linenr == 1 && ($_ !~ /^<!DOCTYPE/) && ($_ !~ /^<\?xml/)) {
- last READING;
- }
-
- $string .= "\\n" . $_;
- chomp($string);
-
- $textstring = '(caption|description' . $extratags .')>';
-
- # The 'database' property contains strings that shouldn't be translated
- if ($inskippedprop == 0 && ($string =~ /<property name=\"database\"/ || $string=~ /<property name=\"associations\"/)) {
- $inskippedprop = 1;
- } elsif ($inskippedprop == 1 && ($string =~ /<\/property/)) {
- $inskippedprop = 0;
- $string = "";
- }
-
- if ($inskippedprop == 0 && $intext == 0) {
- if ($string =~ /<$textstring/) {
- $string =~ s/^.*<$textstring//;
- $intext = 1;
- $starting_linenr = $linenr;
- } else {
- $string = "";
- }
- }
-
- if (($intext == 1) && ($string =~ /<\/$textstring/)) {
- my $text = $string;
- $text =~ s/<\/$textstring.*$//;
- $text =~ s/&lt;/</g;
- $text =~ s/&gt;/>/g;
- $text =~ s/&amp;/&/g;
- $text =~ s/\\n/ /g;
- $text =~ s/\\([^n])/\\\\$1/g;
- $text =~ s/\"/\\\"/g;
- $text =~ s/ +/ /g;
- $text =~ s/^ //g;
- $text =~ s/ $//g;
- writeoutstring($context, $text);
- $string =~ s/^.*<\/$textstring//;
- $intext = 0;
- # Text can be multiline in .ui files (possibly), but we warn about it in XMLGUI .rc files.
- if ($linenr != $starting_linenr && $filename =~ m/\.rc$/) {
- print STDERR "there is <text> floating $filename\n";
- }
- }
-
-}
-
-if ($intext == 1) {
- print STDERR "parsing error in $filename $linenr\n";
- exit 1;
-}
-
-}