changeset 5180:ea261ce36f0b

[gaim-migrate @ 5544] This is the wave of the future! Or something like that. Imma go eat cake later! Yay happy Easter!! Oh crap, I'm probably going to get in a lot of trouble now. Holiday references, y'know. They're illegal'n stuff. Or something like that. Personally, I like Christmas, but it's just too near my birthday, you know? The presents should be spread out. Birthdays are cool, sometimes. Halloween can be fun. Free candy! Society says I can't trick-or-treat anymore though, so I take my little sister around and get candy. Mmm.. Like stealing candy from a baby, except we share it. So it's not stealing, really. Voluntary. On her part, not mine, because it'd be stealing if it was my volunteering to take her candy. committer: Tailor Script <tailor@pidgin.im>
author Christian Hammond <chipx86@chipx86.com>
date Sat, 19 Apr 2003 23:19:49 +0000
parents 8b32f3644dc6
children 82b3d72d2128
files po/.cvsignore po/README po/update.pl
diffstat 3 files changed, 193 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/po/.cvsignore	Sat Apr 19 22:58:43 2003 +0000
+++ b/po/.cvsignore	Sat Apr 19 23:19:49 2003 +0000
@@ -2,10 +2,10 @@
 Makefile.in
 Makefile.in.in
 ChangeLog
+POTFILES
 Rules-quot
 cat-id-tbl.c
 stamp-cat-id
-gaim.pot
 *.gmo
 Makevars
 *.sed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/po/README	Sat Apr 19 23:19:49 2003 +0000
@@ -0,0 +1,26 @@
+Translation README
+
+Updated: 19-April-2003
+------------------
+
+To supply a new translation, you first need a copy of gaim.pot.
+This can be built by typing:
+
+./update.pl --pot
+
+from the gaim/po/ directory.
+
+To update an exsting translation, type:
+
+./update.pl LANG.po
+
+where LANG is the language code to update, such as fr or ja. This will build
+a new gaim.pot and update the translation with the changes. You may then
+begin editing the updated file.
+
+New or updated translations should be sent to the gaim-devel listserv
+(see http://lists.sourceforge.net/lists/listinfo/gaim-devel)
+
+Please check your translations carefully. Make sure you have the same
+number of newlines and %s or other formatting codes in the translation as
+you have in the original.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/po/update.pl	Sat Apr 19 23:19:49 2003 +0000
@@ -0,0 +1,166 @@
+#!/usr/bin/perl -w
+
+#  GNOME po update utility.
+#  (C) 2000 The Free Software Foundation
+#
+#  Author(s): Kenneth Christiansen
+
+
+$VERSION = "1.2.5 beta 2";
+$LANG    = $ARGV[0];
+$PACKAGE  = "gaim";
+
+if (! $LANG){
+    print "update.pl:  missing file arguments\n";
+    print "Try `update.pl --help' for more information.\n";
+    exit;
+}
+
+if ($LANG=~/^-(.)*/){
+
+    if ("$LANG" eq "--version" || "$LANG" eq "-V"){
+        print "GNOME PO Updater $VERSION\n";
+        print "Written by Kenneth Christiansen <kenneth\@gnome.org>, 2000.\n\n";
+        print "Copyright (C) 2000 Free Software Foundation, Inc.\n";
+        print "This is free software; see the source for copying conditions.  There is NO\n";
+        print "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n";
+	exit;
+    }
+
+
+    elsif ($LANG eq "--help" || "$LANG" eq "-H"){
+        print "Usage: ./update.pl [OPTIONS] ...LANGCODE\n";
+        print "Updates pot files and merge them with the translations.\n\n";
+        print "  -V, --version                shows the version\n";
+        print "  -H, --help                   shows this help page\n";
+        print "  -P, --pot                    only generates the potfile\n";
+        print "  -M, --maintain               search for missing files in POTFILES.in\n";
+	print "\nExamples of use:\n";
+        print "update.sh --pot    just creates a new pot file from the source\n";
+	print "update.sh da       created new pot file and updated the da.po file\n\n";
+        print "Report bugs to <kenneth\@gnome.org>.\n";
+	exit;
+    }
+
+    elsif($LANG eq "--pot" || "$LANG" eq "-P"){
+                
+        print "Building the $PACKAGE.pot ...";
+
+        $b="xgettext --default-domain\=$PACKAGE --directory\=\.\."
+          ." --add-comments --keyword\=\_ --keyword\=N\_"
+          ." --files-from\=\.\/POTFILES\.in ";
+        $b1="test \! -f $PACKAGE\.po \|\| \( rm -f \.\/$PACKAGE\.pot "
+           ."&& mv $PACKAGE\.po \.\/$PACKAGE\.pot \)";
+         
+        `$b`;
+        `$b1`;
+
+        print "...done\n";
+
+        exit;
+    }
+        
+    elsif ($LANG eq "--maintain" || "$LANG" eq "-M"){
+
+        $a="find ../ -print | egrep '.*\\.(c|y|cc|c++|h|gob)' ";
+
+        open(BUF2, "POTFILES.in") || die "update.pl:  there's not POTFILES.in!!!\n";
+        print "Searching for missing _(\" \") entries...\n";
+        open(BUF1, "$a|");
+
+
+        @buf2 = <BUF2>;
+        @buf1 = <BUF1>;
+
+        if (-s "POTFILES.ignore"){
+            open FILE, "POTFILES.ignore";
+            while (<FILE>) {
+                if ($_=~/^[^#]/o){
+                    push @bup, $_;
+                }
+            }
+            print "POTFILES.ignore found! Ignoring files...\n";
+	    @buf2 = (@bup, @buf2);
+        }
+
+        foreach my $file (@buf1){
+            open FILE, "<$file";
+            while (<FILE>) {
+                if ($_=~/_\(\"/o){
+                    $file = unpack("x3 A*",$file) . "\n";
+                    push @buff1, $file;
+                    last;
+                }
+            }
+        }
+
+        @bufff1 = sort (@buff1);
+
+        @bufff2 = sort (@buf2);
+
+        my %in2;
+        foreach (@bufff2) {
+            $in2{$_} = 1;
+        }
+
+        foreach (@bufff1){
+            if (!exists($in2{$_})){
+                push @result, $_ }
+            }
+
+        if(@result){
+            open OUT, ">POTFILES.in.missing";
+            print OUT @result;
+            print "\nHere are the results:\n\n", @result, "\n";
+            print "File POTFILES.in.missing is being placed in directory...\n";
+            print "Please add the files that should be ignored in POTFILES.ignore\n";
+        }
+        else{
+            print "\nWell, it's all perfect! Congratulation!\n";
+        }         
+    }
+
+
+    else{
+        print "update.pl: invalid option -- $LANG\n";
+        print "Try `update.pl --help' for more information.\n";
+    }
+    exit;
+    }
+
+elsif(-s "$LANG.po"){
+
+    print "Building the $PACKAGE.pot ...";
+
+    $c="xgettext --default-domain\=$PACKAGE --directory\=\.\."
+      ." --add-comments --keyword\=\_ --keyword\=N\_"
+      ." --files-from\=\.\/POTFILES\.in ";  
+    $c1="test \! -f $PACKAGE\.po \|\| \( rm -f \.\/$PACKAGE\.pot "
+       ."&& mv $PACKAGE\.po \.\/$PACKAGE\.pot \)";
+
+    `$c`;
+    `$c1`;
+
+    print "...done";
+
+    print "\nNow merging $LANG.po with $PACKAGE.pot, and creating an updated $LANG.po ...\n";
+
+    
+    $d="mv $LANG.po $LANG.po.old && msgmerge $LANG.po.old $PACKAGE.pot -o $LANG.po";
+
+    $f="msgfmt --statistics $LANG.po";
+
+    `$d`;
+    `$f`;
+
+    unlink "messages";
+    unlink "$LANG.po.old";
+
+    exit;
+}
+
+else{
+    print "update.pl:  sorry $LANG.po does not exist!\n";
+    print "Try `update.pl --help' for more information.\n";    
+    exit;
+}