From fc2a264df5071a7febbd14ff5995c3c1d7776a9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Wed, 9 Jan 2019 20:15:15 +0100 Subject: Add CMakeL10n rules. Update translation template. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Slávek Banko (cherry picked from commit f195bc821512f91cb87780f0ff0d99641cf27274) --- translations/extractrc | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 translations/extractrc (limited to 'translations/extractrc') diff --git a/translations/extractrc b/translations/extractrc new file mode 100644 index 0000000..ab9c5ca --- /dev/null +++ b/translations/extractrc @@ -0,0 +1,74 @@ +#! /usr/bin/perl + +# NOTE: this script is part of the KDE SDK and added to KDevelop to support KDE 2 application development. +# The original is located in the KDE CVS module tdesdk/scripts. It gets installed in the same directory as +# the KDevelop binary to be in your PATH. +# +# What it does is extract the strings in an application´s .rc file, e.g. testappui.rc, and writes into the pot file +# where the translations are build with (po-files) +# +# Added to KDevelop 2000-10-29, Ralf Nolden (nolden@kde.org) + +$linenr = 0; +$filename = ""; +@filenames = (); + +sub writeoutstring($) +{ + print STDOUT "i18n(\"@_[0]\");\n"; +} + +while (defined ($ARGV[0])) +{ + $_ = shift; + $filename = $_; # maybe check for options + +if (! $filename) { + print STDERR "no file to open\n"; + exit 1; +} + +$string = ""; +$intext = 0; + +open(FILE, $filename); +while ( ) { + $linenr++; + + $string .= $_; + chomp($string); + + $textstring = '([tT][eE][xX][tT]|string)>'; + + if ($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/<//g; + $text =~ s/&/&/g; + writeoutstring($text); + $string =~ s/^.*<\/$textstring//; + $intext = 0; + if ($linenr != $starting_linenr) { + print STDERR "there is floating\n"; + } + } + +} + +if ($intext == 1) { + print STDERR "parsing error in $filename $linenr\n"; + exit 1; +} + +} -- cgit v1.2.1