6
1
Fork 0
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
bibletime/pot/extractrc

75 Zeilen
1.6 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#! /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 ( <FILE> ) {
$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/&lt;/</g;
$text =~ s/&gt;/>/g;
$text =~ s/&amp;/&/g;
writeoutstring($text);
$string =~ s/^.*<\/$textstring//;
$intext = 0;
if ($linenr != $starting_linenr) {
print STDERR "there is <text> floating\n";
}
}
}
if ($intext == 1) {
print STDERR "parsing error in $filename $linenr\n";
exit 1;
}
}