gnucash/make-gnucash-potfiles.in

55 lines
1.2 KiB
Plaintext
Raw Normal View History

#!@-PERL-@ -w
# -*- perl -*-
#
# This perl script is used to make po/POTFILES.in, the list
# of C files to be searched for translatable strings.
#
# Author: Dave Peticolas <dave@krondo.com>
use strict;
use File::Basename;
my @cvsignores = `find src -name '.cvsignore'`;
my @possible_files = `find src -name '*.c' -o -name '*.glade' -o -name '*.desktop.in' -o -name '*.keys.in'`;
chomp(my $cwd = `pwd`);
my %ignores;
foreach my $one_ignore (@cvsignores) {
chomp($one_ignore);
my ($name, $path) = fileparse($one_ignore);
$path =~ s/^\.\///;
open (IG, $one_ignore);
chdir $path;
foreach my $fl (<IG>) {
chomp $fl;
next unless $fl;
my @matches = glob ($fl);
foreach my $match (@matches) {
chomp($match);
next unless $match;
$ignores{$path . $match} = 1;
}
}
close (IG);
chdir $cwd;
}
print "# List of files which containing translatable strings.\n";
print "# This file was generated by ../make-gnucash-potfiles.in.\n";
print "\n";
foreach my $file (@possible_files) {
chomp($file);
my ($name, $path) = fileparse($file);
$path =~ s/^\.\///;
next if $ignores{$path . $name};
print $path . $name . "\n";
}
print "intl-scm/guile-strings.c\n";