mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Improved i18n-to-gettext.pl
This commit is contained in:
parent
fdcce1c153
commit
0979904dfc
@ -2085,6 +2085,7 @@ Tomas Berglund <tomber@telia.com>
|
||||
Matthias Schwarzott <zzam@gentoo.org>
|
||||
for suggesting to add LC_ALL to the checks for UTF-8 at startup
|
||||
for fixing getting the code setting from the locale
|
||||
for improving i18n-to-gettext.pl
|
||||
|
||||
Martin Ostermann <martin@familie-ostermann.de>
|
||||
for fixing processing the PDCDescriptor in 'libsi' on big endian systems
|
||||
|
3
HISTORY
3
HISTORY
@ -5346,8 +5346,9 @@ Video Disk Recorder Revision History
|
||||
- Added a debug error message to cReceiver::~cReceiver() in case it is still
|
||||
attached to a device (thanks to Reinhard Nissl).
|
||||
|
||||
2007-08-12: Version 1.5.8
|
||||
2007-08-15: Version 1.5.8
|
||||
|
||||
- Added missing install-i18n to the install target in the Makefile (reported
|
||||
by Joachim Wilke).
|
||||
- Fixed a faulty comment in Make.config.template (reported by Marco Schlüßler).
|
||||
- Improved i18n-to-gettext.pl (thanks to Matthias Schwarzott).
|
||||
|
@ -10,7 +10,7 @@
|
||||
# See the main source file 'vdr.c' for copyright information and
|
||||
# how to reach the author.
|
||||
#
|
||||
# $Id: i18n-to-gettext.pl 1.2 2007/08/12 10:02:01 kls Exp $
|
||||
# $Id: i18n-to-gettext.pl 1.3 2007/08/15 12:52:00 kls Exp $
|
||||
|
||||
# How to convert an actual plugin:
|
||||
#
|
||||
@ -75,7 +75,7 @@ die "can't find plugin name!" unless ($PLUGIN);
|
||||
# Locate the file containing the texts:
|
||||
|
||||
$I18NFILE = "";
|
||||
for ("i18n.c", `ls *.c`) { # try i18n.c explicitly first
|
||||
for ("i18n.c", "i18n.h", `ls *.c`) { # try i18n.[ch] explicitly first
|
||||
chomp($f = $_);
|
||||
if (-f $f && `grep tI18nPhrase $f`) {
|
||||
$I18NFILE = $f;
|
||||
@ -204,13 +204,28 @@ $POTFILE = "$PODIR/$PLUGIN.pot";
|
||||
# Collect all translated texts:
|
||||
|
||||
open(F, $I18NFILE) || die "$I18NFILE: $!\n";
|
||||
$InComment = 0;
|
||||
while (<F>) {
|
||||
chomp;
|
||||
s/\t/ /g; # get rid of tabs
|
||||
s/ *$//; # get rid of trailing blanks
|
||||
s/^ *\/\/.*//; # remove comment lines
|
||||
s/, *\/\/.*/,/; # strip trailing comments
|
||||
s/ *\/\/.*//; # strip trailing comments
|
||||
s/\/\*.*\*\///g; # strip c comments
|
||||
if (/\/\*/) {
|
||||
$InComment = 1;
|
||||
s/\/\*.*$//; # remove start of comment
|
||||
}
|
||||
elsif (/\*\//) {
|
||||
$InComment = 0;
|
||||
s/^.*\*\///; # remove end of comment
|
||||
}
|
||||
elsif ($InComment) {
|
||||
next;
|
||||
}
|
||||
next if (/^ *$/); # skip empty lines
|
||||
next if (/#if/);
|
||||
next if (/#endif/);
|
||||
next unless ($found or $found = /const *tI18nPhrase .*{/); # sync on phrases
|
||||
next if (/const *tI18nPhrase .*{/); # skip sync line
|
||||
last if (/{ *NULL *}/); # stop after last phrase
|
||||
@ -324,7 +339,7 @@ while (<OLD>) {
|
||||
$_ .= " i18n";
|
||||
}
|
||||
elsif (/^clean:/) {
|
||||
$_ .= "\n\t\@-rm -f \$(PODIR)/*.mo \$(PODIR)/*.pot";
|
||||
$_ .= "\n\t\@-rm -f \$(PODIR)/*.mo \$(PODIR)/*.pot";
|
||||
}
|
||||
print NEW "$_\n";
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user