build: add i18n-update.pl to refresh *.po files from *.pot templates
authorJo-Philipp Wich <jow@openwrt.org>
Tue, 19 May 2009 17:21:07 +0000 (17:21 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Tue, 19 May 2009 17:21:07 +0000 (17:21 +0000)
build/i18n-update.pl [new file with mode: 0755]

diff --git a/build/i18n-update.pl b/build/i18n-update.pl
new file mode 100755 (executable)
index 0000000..c41b039
--- /dev/null
@@ -0,0 +1,22 @@
+#!/usr/bin/perl
+
+@ARGV >= 1 || die "Usage: $0 <po directory> [<file pattern>]\n";
+
+my $source  = shift @ARGV;
+my $pattern = shift @ARGV || '*.po';
+
+if( open F, "find $source -type f -name '$pattern' |" )
+{
+       while( chomp( my $file = readline F ) )
+       {
+               my ( $basename ) = $file =~ m{.+/([^/]+)\.po$};
+               
+               if( -f "$source/templates/$basename.pot" )
+               {
+                       printf "Updating %-40s", $file;
+                       system("msgmerge", "-U", $file, "$source/templates/$basename.pot");
+               }
+       }
+
+       close F;
+}