From: Jo-Philipp Wich <jow@openwrt.org>
Date: Thu, 8 Jan 2015 15:46:58 +0000 (+0100)
Subject: build: adapt i18n-update.pl to new structure
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=fe9ef86750991cfb56ef3030b51e8fd4a02cef86;p=project%2Fluci.git

build: adapt i18n-update.pl to new structure

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
---

diff --git a/build/i18n-update.pl b/build/i18n-update.pl
index 4106c6da4c..c82b4fe3dd 100755
--- a/build/i18n-update.pl
+++ b/build/i18n-update.pl
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 
-@ARGV >= 1 || die "Usage: $0 <po directory> [<file pattern>]\n";
+@ARGV <= 2 || die "Usage: $0 [<po directory>] [<file pattern>]\n";
 
 my $source  = shift @ARGV;
 my $pattern = shift @ARGV || '*.po';
@@ -48,22 +48,36 @@ sub write_header
 	close P;
 }
 
-if( open F, "find $source -type f -name '$pattern' |" )
+my @dirs;
+
+if( ! $source )
+{
+	@dirs = glob("./*/*/po/");
+}
+else
+{
+	@dirs = ( $source );
+}
+
+foreach my $dir (@dirs)
 {
-	while( chomp( my $file = readline F ) )
+	if( open F, "find $dir -type f -name '$pattern' |" )
 	{
-		my ( $basename ) = $file =~ m{.+/([^/]+)\.po$};
-		
-		if( -f "$source/templates/$basename.pot" )
+		while( chomp( my $file = readline F ) )
 		{
-			my $head = read_header($file);
+			my ( $basename ) = $file =~ m{.+/([^/]+)\.po$};
+		
+			if( -f "$dir/templates/$basename.pot" )
+			{
+				my $head = read_header($file);
 
-			printf "Updating %-40s", $file;
-			system("msgmerge", "-U", "-N", $file, "$source/templates/$basename.pot");
+				printf "Updating %-40s", $file;
+				system("msgmerge", "-U", "-N", $file, "$dir/templates/$basename.pot");
 
-			write_header($file, $head);
+				write_header($file, $head);
+			}
 		}
-	}
 
-	close F;
+		close F;
+	}
 }