aboutsummaryrefslogtreecommitdiffstats
path: root/tools/convert_template_to_2.1.pl
diff options
context:
space:
mode:
authorplegall <plg@piwigo.org>2010-04-03 21:16:34 +0000
committerplegall <plg@piwigo.org>2010-04-03 21:16:34 +0000
commit7439bfd05c02d0f5cd04893daface1408c17904b (patch)
tree32ba05cf2a92f328d333b929714195b66b906fb5 /tools/convert_template_to_2.1.pl
parent2ad12017dd31b44bc7582d5643492b845bd0772e (diff)
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
Diffstat (limited to '')
-rw-r--r--tools/convert_template_to_2.1.pl48
1 files changed, 48 insertions, 0 deletions
diff --git a/tools/convert_template_to_2.1.pl b/tools/convert_template_to_2.1.pl
new file mode 100644
index 000000000..a838e8f8b
--- /dev/null
+++ b/tools/convert_template_to_2.1.pl
@@ -0,0 +1,48 @@
+#!/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);
+}