71
71
"sheet(?:\\.in)+|". # ?
72
72
"schemas(?:\\.in)+|". # GConf specific
73
73
"pong(?:\\.in)+|". # DEPRECATED: PONG is not used [by GNOME] any longer.
74
"kbd(?:\\.in)+"; # GOK specific.
74
"kbd(?:\\.in)+|". # GOK specific.
75
"policy(?:\\.in)+"; # PolicyKit files
77
78
"icon(?:\\.in)+|". # http://www.freedesktop.org/Standards/icon-theme-spec
328
329
push @buf_i18n_ini, "$File::Find::name" if /\.($ini_support)$/;
329
330
push @buf_i18n_xml_unmarked, "$File::Find::name" if /\.(schemas(\.in)+)$/;
333
push @buf_i18n_plain, "$File::Find::name" if /\.($buildin_gettext_support)$/;
334
push @buf_i18n_xml, "$File::Find::name" if /\.($xml_support)$/;
335
push @buf_i18n_ini, "$File::Find::name" if /\.($ini_support)$/;
336
push @buf_i18n_xml_unmarked, "$File::Find::name" if /\.(schemas(\.in)+)$/;
333
339
open POTFILES, $POTFILES_in or die "$PROGRAM: there's no POTFILES.in!\n";
334
340
@buf_potfiles = grep !/^(#|\s*$)/, <POTFILES>;
585
# If either a file exists, or when run it returns 0 exit status
586
return 1 if ((-x $file) or (system("$file --version >$devnull") == 0));
593
# Check that we are using GNU gettext tools
594
if (isProgramInPath ($file))
596
my $version = `$file --version`;
597
return 1 if ($version =~ m/.*\(GNU .*\).*/);
566
602
sub GenerateHeaders
568
604
my $EXTRACT = $ENV{"INTLTOOL_EXTRACT"} || "intltool-extract";
570
606
## Generate the .h header files, so we can allow glade and
571
607
## xml translation support
608
if (! isProgramInPath ("$EXTRACT"))
574
610
print STDERR "\n *** The intltool-extract script wasn't found!"
575
611
."\n *** Without it, intltool-update can not generate files.\n";
617
653
sub GeneratePOTemplate
619
my $XGETTEXT = $ENV{"XGETTEXT"} || "@INTLTOOL_XGETTEXT@";
655
my $XGETTEXT = $ENV{"XGETTEXT"} || "xgettext";
620
656
my $XGETTEXT_ARGS = $ENV{"XGETTEXT_ARGS"} || '';
659
if (! isGNUGettextTool ("$XGETTEXT"))
625
print STDERR " *** xgettext is not found on this system!\n".
661
print STDERR " *** GNU xgettext is not found on this system!\n".
626
662
" *** Without it, intltool-update can not extract strings.\n";
718
754
unlink "$MODULE.pot";
719
755
my @xgettext_argument=("$XGETTEXT",
720
756
"--add-comments",
758
"--default-domain\=$MODULE",
759
"--flag\=g_strdup_printf:1:c-format",
760
"--flag\=g_string_printf:2:c-format",
761
"--flag\=g_string_append_printf:2:c-format",
762
"--flag\=g_error_new:3:c-format",
763
"--flag\=g_set_error:4:c-format",
764
"--flag\=g_markup_printf_escaped:1:c-format",
765
"--flag\=g_log:3:c-format",
766
"--flag\=g_print:1:c-format",
767
"--flag\=g_printerr:1:c-format",
768
"--flag\=g_printf:1:c-format",
769
"--flag\=g_fprintf:2:c-format",
770
"--flag\=g_sprintf:2:c-format",
771
"--flag\=g_snprintf:3:c-format",
772
"--flag\=g_scanner_error:2:c-format",
773
"--flag\=g_scanner_warn:2:c-format",
722
774
"--output\=$MODULE\.pot",
723
775
"--files-from\=\.\/POTFILES\.in\.temp");
724
776
my $XGETTEXT_KEYWORDS = &FindPOTKeywords;
786
838
-f "$MODULE.pot" or die "$PROGRAM: $MODULE.pot does not exist.\n";
788
my $MSGMERGE = $ENV{"MSGMERGE"} || "@INTLTOOL_MSGMERGE@";
840
my $MSGMERGE = $ENV{"MSGMERGE"} || "msgmerge";
789
841
my ($lang, $outfile) = @_;
843
if (! isGNUGettextTool ("$MSGMERGE"))
845
print STDERR " *** GNU msgmerge is not found on this system!\n".
846
" *** Without it, intltool-update can not extract strings.\n";
791
850
print "Merging $SRCDIR/$lang.po with $MODULE.pot..." if $VERBOSE;
793
852
my $infile = "$SRCDIR/$lang.po";
828
887
sub Console_Write_TranslationStatus
830
889
my ($lang, $output_file) = @_;
831
my $MSGFMT = $ENV{"MSGFMT"} || "@INTLTOOL_MSGFMT@";
890
my $MSGFMT = $ENV{"MSGFMT"} || "msgfmt";
892
if (! isGNUGettextTool ("$MSGFMT"))
894
print STDERR " *** GNU msgfmt is not found on this system!\n".
895
" *** Without it, intltool-update can not extract strings.\n";
833
899
$output_file = "$SRCDIR/$lang.po" if ($output_file eq "");
838
904
sub Console_Write_CoverageReport
840
my $MSGFMT = $ENV{"MSGFMT"} || "@INTLTOOL_MSGFMT@";
906
my $MSGFMT = $ENV{"MSGFMT"} || "msgfmt";
908
if (! isGNUGettextTool ("$MSGFMT"))
910
print STDERR " *** GNU msgfmt is not found on this system!\n".
911
" *** Without it, intltool-update can not extract strings.\n";