piwigo/tools/convert_template_to_2.1.pl
plegall 7439bfd05c Here comes a beta script to convert language keys in a set of 2.0 *.tpl files.
Backup your *.tpl directory first.

git-svn-id: http://piwigo.org/svn/trunk@5612 68402e56-0260-453c-a942-63ccdbb3a9ee
2010-04-03 21:16:34 +00:00

48 lines
1.1 KiB
Perl

#!/usr/bin/perl
# perl tools/convert_template_to_2.1.pl /path/to/tpl/files/directory
use strict;
use warnings;
use File::Find;
my $base_dir = $ARGV[0];
# load the replacements
my @file_codes = qw/upgrade install admin common/;
my %replace_by = ();
foreach my $file_code (@file_codes) {
open(my $ifh_rep, '<language/templates/'.$file_code.'.lang.php');
while (<$ifh_rep>) {
if (m/^\$lang\['(.*)'\] \s* = \s* (['"])(.*)\2;/x) {
if ($1 ne $3 and length($1) > 0) {
$replace_by{$1} = $3;
}
}
}
}
# use Data::Dumper; print Dumper(\%replace_by); exit();
find(\&replace_keys, $base_dir);
sub replace_keys {
if ($File::Find::name !~ m/tpl$/) {
return 0;
}
my $file_content = '';
open(my $fhi, '<', $File::Find::name);
while (<$fhi>) {
foreach my $from (keys %replace_by) {
my $to = $replace_by{$from};
s/{'$from'\|\@translate/{'$to'|\@translate/g;
}
$file_content.= $_;
}
close($fhi);
open(my $fho, '>', $File::Find::name);
print {$fho} $file_content;
close($fho);
}