Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
bibletime/pot/extractrc

75 řádky
1.6 KiB

Tento soubor obsahuje nejednoznačné znaky Unicode!

Tento soubor obsahuje nejednoznačné znaky Unicode, které mohou být zaměněny s ostatními v aktuálním prostředí. Pokud je váš případ úmyslný a legitimní, můžete toto varování bezpečně ignorovat. Použijte tlačítko Escape sekvence pro zvýraznění těchto znaků.

#! /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;
}
}