summaryrefslogtreecommitdiffstats
path: root/ubuntu/maverick/kdesdk/debian/desktop-i18n/createdesktop.pl
diff options
context:
space:
mode:
Diffstat (limited to 'ubuntu/maverick/kdesdk/debian/desktop-i18n/createdesktop.pl')
-rw-r--r--ubuntu/maverick/kdesdk/debian/desktop-i18n/createdesktop.pl98
1 files changed, 98 insertions, 0 deletions
diff --git a/ubuntu/maverick/kdesdk/debian/desktop-i18n/createdesktop.pl b/ubuntu/maverick/kdesdk/debian/desktop-i18n/createdesktop.pl
new file mode 100644
index 000000000..1705e7d4f
--- /dev/null
+++ b/ubuntu/maverick/kdesdk/debian/desktop-i18n/createdesktop.pl
@@ -0,0 +1,98 @@
+#! /usr/bin/env perl
+
+use strict;
+use warnings;
+
+use Getopt::Long;
+
+sub printdate
+{
+ printf ( "%04i", ( $_[5] + 1900 ) );
+ print "-";
+ printf ( "%02i", $_[4] + 1);
+ print "-";
+ printf ( "%02i", $_[3] );
+ print " ";
+ printf ( "%02i", $_[2] );
+ print ":";
+ printf ( "%02i", $_[1] );
+ print "+0000";
+}
+
+sub prepare
+{
+ #warn "Running on Perl V5.8.x" if $^V ge v5.8.0;
+
+ binmode( STDOUT, ":utf8" ) if $^V ge v5.8.0;
+
+ my @now = gmtime();
+ print "#, fuzzy\n";
+ print "msgid \"\"\n";
+ print "msgstr \"\"\n";
+ print "\"Project-Id-Version: desktop files\\n\"\n";
+ print "\"Report-Msgid-Bugs-To: http://bugs.kde.org\\n\"\n";
+ print "\"POT-Creation-Date: "; printdate( @now ); print "\\n\"\n";
+ print "\"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n\"\n";
+ print "\"Last-Translator: FULL NAME <EMAIL\@ADDRESS>\\n\"\n";
+ print "\"Language-Team: LANGUAGE <kde-i18n-doc\@kde.org>\\n\"\n";
+ print "\"MIME-Version: 1.0\\n\"\n";
+ print "\"Content-Type: text/plain; charset=UTF-8\\n\"\n";
+ print "\"Content-Transfer-Encoding: 8bit\\n\"\n";
+ print "\n\n";
+}
+
+sub processfiles
+{
+ my ( $files, $basedir) = ( @_ );
+ for my $filename ( @$files )
+ {
+ chomp( $filename );
+ open( FH, "<", $filename ) or warn "Cannot open file $filename";
+ binmode( FH, ":utf8" ) if $^V ge v5.8.0;
+
+ #warn("Using $filename");
+
+ #my $regexp = qr{^(Name|Comment|Language|Keywords|About|Description|GenericName)=};
+ my $regexp = qr{^(Name|Comment|Language|Keywords|About|Description|GenericName|Query|ExtraNames|X-KDE-Submenu)=};
+
+ while( <FH> )
+ {
+ if ( m/$regexp/o )
+ {
+ my $msgid = $_;
+ chomp( $msgid );
+ $msgid =~ s/\\/\\\\/g;
+ $msgid =~ s/\"/\\\"/g;
+ if ($msgid =~ m/ +$/) {
+ $msgid =~ s/ +$//; # remove trailing spaces
+ print STDERR "ERROR: white space at the end of $msgid in $filename\n";
+ }
+ if ($msgid =~ m/\r+$/) {
+ $msgid =~ s/\r+$//; # remove trailing CR (Carriage Return)
+ print STDERR "ERROR: CR at the end of $msgid in $filename\n";
+ }
+ $filename =~ s,^$basedir/,,;
+ print "#: $filename:$.\n";
+ print "msgid \"$msgid\"\n";
+ print "msgstr \"\"\n";
+ print "\n";
+ }
+ }
+
+ close( FH );
+ }
+}
+
+my $onefilelist;
+my $basedir;
+GetOptions ( "file-list=s" => \$onefilelist,
+ "base-dir=s" => \$basedir
+ );
+
+prepare;
+
+open( FILELIST, $onefilelist ) or warn ( "Cannot open file list: $onefilelist" );
+my @thislist = <FILELIST>;
+processfiles( \@thislist, $basedir );
+close( FILELIST );
+