summaryrefslogtreecommitdiffhomepage
path: root/build/i18n-update.pl
diff options
context:
space:
mode:
Diffstat (limited to 'build/i18n-update.pl')
-rwxr-xr-xbuild/i18n-update.pl22
1 files changed, 22 insertions, 0 deletions
diff --git a/build/i18n-update.pl b/build/i18n-update.pl
new file mode 100755
index 000000000..c41b039b7
--- /dev/null
+++ b/build/i18n-update.pl
@@ -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;
+}