/pidgin/main: eac4ec7a2532: Make NSIS translation processing mor...
Daniel Atallah <[email protected]>
| Newsgroups | gmane.comp.gnome.gaim.cvs |
|---|---|
| Message-ID | <[email protected]> |
Changeset: eac4ec7a253239b48eeb5a8a3d9cef08ea60321d Author: Daniel Atallah <[email protected]> Date: 2014-10-27 13:30 -0400 Branch: release-2.x.y URL: https://hg.pidgin.im/pidgin/main/rev/eac4ec7a2532 Description: Make NSIS translation processing more robust - handle quotes within text diffstat: pidgin/win32/nsis/create_nsis_translations.pl | 24 +++++++++++++++++------- 1 files changed, 17 insertions(+), 7 deletions(-) diffs (40 lines): diff --git a/pidgin/win32/nsis/create_nsis_translations.pl b/pidgin/win32/nsis/create_nsis_translations.pl --- a/pidgin/win32/nsis/create_nsis_translations.pl +++ b/pidgin/win32/nsis/create_nsis_translations.pl @@ -175,19 +175,29 @@ my %result; open (MYFILE, $translations); while (<MYFILE>) { chomp $_; - if ($_ =~ /Encoding=UTF-8/) + if ($_ =~ /^Encoding=UTF-8/ || $_ =~ /^\s*$/ || $_ =~ /^\[Desktop Entry\]/ || $_ =~ /^#/) { - next; + next; } elsif ($_ =~ /^(\w+)=(.*)/) { - my $line = "!define $1 \"$2\"\n"; - $result{"en"}{"$1"} = $line; + my $key = $1; + my $lang = "en"; + my $value = $2; + $value =~ s/["]/\$\\"/g; + $result{"$lang"}{"$key"} = "!define $key \"$value\"\n"; } - elsif ($_ =~ /^(\w+)\[(\w+)\]=(.*)/) + elsif ($_ =~ /^(\w+)\[([\w@]+)\]=(.*)/) { - my $line = "!define $1 \"$3\"\n"; - $result{"$2"}{"$1"} = $line; + my $key = $1; + my $lang = $2; + my $value = $3; + $value =~ s/["]/\$\\"/g; + $result{"$lang"}{"$key"} = "!define $key \"$value\"\n"; + } + else + { + print "Found unrecognized line: '$_'\n"; } } close (MYFILE);