annotate pidgin/win32/nsis/create_nsis_translations.pl @ 30392:f4c8b3ba3ef1

Add some missing translation mappings and correct some encodings that were wrong.
author Daniel Atallah <daniel.atallah@gmail.com>
date Tue, 18 May 2010 17:38:19 +0000
parents 69c70c40baea
children 7681b4ac292c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
30388
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
1 #!/usr/bin/perl
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
2 #
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
3 # create_nsis_translations.pl
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
4 #
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
5 # Copyright (C) 2000-2009 Bruno Coudoin
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
6 #
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
7 # This program is free software; you can redistribute it and/or modify
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
8 # it under the terms of the GNU General Public License as published by
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
9 # the Free Software Foundation; either version 3 of the License, or
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
10 # (at your option) any later version.
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
11 #
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
12 # This program is distributed in the hope that it will be useful,
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
15 # GNU General Public License for more details.
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
16 #
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
17 # You should have received a copy of the GNU General Public License
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
18 # along with this program; if not, see <http://www.gnu.org/licenses/>.
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
19 #
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
20
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
21 use strict;
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
22
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
23 sub usage {
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
24 print 'create_nsis_translations.pl translations installer tmp_dir
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
25 translations
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
26 This is an input file that contains all the
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
27 translated strings. If must be formated as a GNU/Linux
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
28 desktop file and contains multiple strings entry.
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
29 For example you must have:
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
30 toBe=To be or not to be
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
31 toBe[fr]=Etre ou ne pas etre
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
32
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
33 installer
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
34 This is your nsis installer source file. You must include
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
35 in it the marker @INSERT_TRANSLATIONS@ before you use any
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
36 translation string.
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
37 After that you can use the variable $(toBe) in your file.
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
38
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
39 tmp_dir
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
40 This is a directory in which temporary files needed for
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
41 the translation system.
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
42 It will be created if non existant.
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
43 You can remove it once you have created your installer.
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
44 ';
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
45 }
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
46
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
47 my $translations;
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
48 if (! $ARGV[0] || ! -f $ARGV[0])
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
49 {
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
50 usage();
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
51 }
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
52 else
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
53 {
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
54 $translations = $ARGV[0];
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
55 }
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
56
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
57 shift;
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
58 my $installer;
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
59 if (! $ARGV[0] || ! -f $ARGV[0])
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
60 {
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
61 usage();
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
62 }
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
63 else
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
64 {
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
65 $installer = $ARGV[0];
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
66 }
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
67
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
68 shift;
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
69 my $tmp_dir;
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
70 if (! $ARGV[0] )
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
71 {
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
72 usage();
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
73 }
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
74 else
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
75 {
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
76 $tmp_dir = $ARGV[0];
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
77
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
78 if ( ! -d $tmp_dir )
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
79 {
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
80 mkdir $tmp_dir or die "ERROR: '$tmp_dir' $!\n";
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
81 }
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
82 }
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
83
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
84 print "Processing translation file '$translations'\n";
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
85 print " NSIS source file '$installer'\n";
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
86 print " Working dir '$tmp_dir'\n";
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
87
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
88 # Commented out locales that are not available in nsis
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
89 my %localeNames = (
30392
f4c8b3ba3ef1 Add some missing translation mappings and correct some encodings that were wrong.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 30388
diff changeset
90 "af" => ["Afrikaans", "WINDOWS-1252"],
30388
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
91 # "am" => ["Amharic", "UTF-8"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
92 "ar" => ["Arabic", "WINDOWS-1256"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
93 "bg" => ["Bulgarian", "WINDOWS-1251"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
94 "br" => ["Breton", "WINDOWS-1252"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
95 "ca" => ["Catalan", "WINDOWS-1252"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
96 "cs" => ["Czech", "WINDOWS-1250"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
97 "da" => ["Danish", "WINDOWS-1252"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
98 "de" => ["German", "WINDOWS-1252"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
99 # "dz" => ["Dzongkha", "UTF-8"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
100 "el" => ["Greek", "WINDOWS-1253"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
101 "en" => ["English", "WINDOWS-1252"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
102 "es" => ["Spanish", "WINDOWS-1252"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
103 "eu" => ["Basque", "WINDOWS-1252"],
30392
f4c8b3ba3ef1 Add some missing translation mappings and correct some encodings that were wrong.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 30388
diff changeset
104 "fa" => ["Farsi", "WINDOWS-1256"],
30388
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
105 "fi" => ["Finnish", "WINDOWS-1252"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
106 "fr" => ["French", "WINDOWS-1252"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
107 "ga" => ["Irish", "WINDOWS-1252"],
30392
f4c8b3ba3ef1 Add some missing translation mappings and correct some encodings that were wrong.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 30388
diff changeset
108 "gl" => ["Galician", "WINDOWS-1252"],
30388
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
109 # "gu" => ["Gujarati", "UTF-8"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
110 "he" => ["Hebrew", "WINDOWS-1255"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
111 # "hi" => ["Hindi", "UTF-8"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
112 "hr" => ["Croatian", "WINDOWS-1250"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
113 "hu" => ["Hungarian", "WINDOWS-1250"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
114 "id" => ["Indonesian", "WINDOWS-1252"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
115 "it" => ["Italian", "WINDOWS-1252"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
116 "ja" => ["Japanese", "CP932"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
117 # "ka" => ["Georgian", "UTF-8"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
118 "ko" => ["Korean", "MSCP949"],
30392
f4c8b3ba3ef1 Add some missing translation mappings and correct some encodings that were wrong.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 30388
diff changeset
119 "ku" => ["Kurdish", "WINDOWS-1254"],
30388
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
120 "lt" => ["Lithuanian", "WINDOWS-1257"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
121 "mk" => ["Macedonian", "WINDOWS-1251"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
122 # "ml" => ["Malayalam", "UTF-8"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
123 # "mr" => ["Marathi", "UTF-8"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
124 "ms" => ["Malay", "WINDOWS-1252"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
125 "nb" => ["Norwegian", "WINDOWS-1252"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
126 # "ne" => ["Nepal", "UTF-8"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
127 "nl" => ["Dutch", "WINDOWS-1252"],
30392
f4c8b3ba3ef1 Add some missing translation mappings and correct some encodings that were wrong.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 30388
diff changeset
128 "nn" => ["NorwegianNynorsk", "WINDOWS-1252"],
30388
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
129 # "oc" => ["Occitan", "WINDOWS-1252"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
130 # "pa" => ["Punjabi", "UTF-8"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
131 "pl" => ["Polish", "WINDOWS-1250"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
132 "pt" => ["Portuguese", "WINDOWS-1252"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
133 "pt_BR" => ["PortugueseBR", "WINDOWS-1252"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
134 "ro" => ["Romanian", "WINDOWS-1250"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
135 "ru" => ["Russian", "WINDOWS-1251"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
136 # "rw" => ["Kinyarwanda", "UTF-8"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
137 "sk" => ["Slovak", "WINDOWS-1250"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
138 "sl" => ["Slovenian", "WINDOWS-1250"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
139 # "so" => ["Somali", "UTF-8"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
140 "sq" => ["Albanian", "WINDOWS-1252"],
30392
f4c8b3ba3ef1 Add some missing translation mappings and correct some encodings that were wrong.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 30388
diff changeset
141 "sr" => ["Serbian", "WINDOWS-1251"],
f4c8b3ba3ef1 Add some missing translation mappings and correct some encodings that were wrong.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 30388
diff changeset
142 "sr@latin" => ["SerbianLatin", "WINDOWS-1250"],
30388
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
143 "sv" => ["Swedish", "WINDOWS-1252"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
144 # "ta" => ["Tamil", "UTF-8"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
145 "th" => ["Thai", "WINDOWS-874"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
146 "tr" => ["Turkish", "WINDOWS-1254"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
147 "uk" => ["Ukrainian", "WINDOWS-1251"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
148 # "ur" => ["Urdu", "UTF-8"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
149 # "vi" => ["Vietnamese", "WINDOWS-1258"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
150 # "wa" => ["Walloon", "WINDOWS-1252"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
151 "zh" => ["SimpChinese", "WINDOWS-936"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
152 "zh" => ["TradChinese", "CP950"],
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
153 );
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
154
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
155 my @localeKeys = keys(%localeNames);
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
156
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
157 # Create the holder for the results
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
158 # %result{"locale"}{"stringname"} = result line
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
159 print "Parsing nsis_translations.desktop\n";
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
160 my %result;
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
161
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
162 # Create a hash of the keys to translate
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
163 open (MYFILE, $translations);
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
164 while (<MYFILE>) {
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
165 chomp $_;
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
166 if ($_ =~ /Encoding=UTF-8/)
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
167 {
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
168 next;
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
169 }
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
170 elsif ($_ =~ /^(\w+)=(.*)/)
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
171 {
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
172 my $line = "!define $1 \"$2\"\n";
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
173 $result{"en"}{"$1"} = $line;
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
174 }
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
175 elsif ($_ =~ /^(\w+)\[(\w+)\]=(.*)/)
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
176 {
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
177 my $line = "!define $1 \"$3\"\n";
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
178 $result{"$2"}{"$1"} = $line;
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
179 }
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
180 }
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
181 close (MYFILE);
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
182
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
183 # Lets insert the default languages
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
184 # in the installer file which means replacing:
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
185 # @INSERTMACRO_MUI_LANGUAGE@
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
186 # By the list of locales:
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
187 # !insertmacro MUI_LANGUAGE "French"
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
188
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
189 my $muiLanguages;
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
190 $muiLanguages = '
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
191 ;; English goes first because its the default. The rest are
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
192 ;; in alphabetical order (at least the strings actually displayed
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
193 ;; will be).
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
194 !insertmacro MUI_LANGUAGE "English"
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
195 ';
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
196
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
197 foreach my $lang (@localeKeys) {
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
198 if ( $lang eq "en" ) { next; }
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
199 $muiLanguages .= " !insertmacro MUI_LANGUAGE \"$localeNames{$lang}[0]\"\n";
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
200 }
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
201
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
202 # The specific GCompris translation for the installer
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
203 # replacing:
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
204 # @GCOMPRIS_MACRO_INCLUDE_LANGFILE@
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
205 # By the list of locales:
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
206 # !insertmacro GCOMPRIS_MACRO_INCLUDE_LANGFILE "ALBANIAN" "${GCOMPRIS_NSIS_INCLUDE_PATH}\translations\albanian.nsh"
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
207
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
208 my $gcomprisLanguages;
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
209
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
210 $gcomprisLanguages .= '
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
211 ;--------------------------------
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
212 ;Translations
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
213 !define GCOMPRIS_DEFAULT_LANGFILE "${GCOMPRIS_NSIS_INCLUDE_PATH}\\translations\\en.nsh"
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
214 ;;
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
215 ;; Windows GCompris NSIS installer language macros
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
216 ;;
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
217
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
218 !macro GCOMPRIS_MACRO_DEFAULT_STRING LABEL VALUE
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
219 !ifndef "${LABEL}"
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
220 !define "${LABEL}" "${VALUE}"
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
221 !ifdef INSERT_DEFAULT
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
222 !warning "${LANG} lang file mising ${LABEL}, using default.."
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
223 !endif
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
224 !endif
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
225 !macroend
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
226
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
227 !macro GCOMPRIS_MACRO_LANGSTRING_INSERT LABEL LANG
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
228 LangString "${LABEL}" "${LANG_${LANG}}" "${${LABEL}}"
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
229 !undef "${LABEL}"
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
230 !macroend
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
231
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
232 !macro GCOMPRIS_MACRO_LANGUAGEFILE_BEGIN LANG
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
233 !define CUR_LANG "${LANG}"
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
234 !macroend
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
235 ';
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
236
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
237
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
238 # GCOMPRIS_MACRO_LANGUAGEFILE_END
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
239 $gcomprisLanguages .= '
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
240 !macro GCOMPRIS_MACRO_LANGUAGEFILE_END
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
241 !define INSERT_DEFAULT
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
242 !include "${GCOMPRIS_DEFAULT_LANGFILE}"
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
243 !undef INSERT_DEFAULT
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
244
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
245 ; String labels should match those from the default language file.
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
246 ';
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
247
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
248 my $text_en = $result{"en"};
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
249 foreach my $keyEn (keys(%$text_en)) {
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
250 $gcomprisLanguages .= " !insertmacro GCOMPRIS_MACRO_LANGSTRING_INSERT $keyEn \${CUR_LANG}";
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
251 $gcomprisLanguages .= "\n";
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
252 }
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
253
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
254 $gcomprisLanguages .= '
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
255 !undef CUR_LANG
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
256 !macroend
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
257 ';
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
258
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
259 $gcomprisLanguages .= '
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
260 !macro GCOMPRIS_MACRO_INCLUDE_LANGFILE LANG FILE
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
261 !insertmacro GCOMPRIS_MACRO_LANGUAGEFILE_BEGIN "${LANG}"
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
262 !include "${FILE}"
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
263 !insertmacro GCOMPRIS_MACRO_LANGUAGEFILE_END
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
264 !macroend
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
265 ';
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
266
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
267 foreach my $lang (@localeKeys) {
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
268 $gcomprisLanguages .= " !insertmacro GCOMPRIS_MACRO_INCLUDE_LANGFILE".
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
269 " \"$localeNames{$lang}[0]\"".
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
270 " \"\${GCOMPRIS_NSIS_INCLUDE_PATH}\\translations\\$lang.nsh\"\n";
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
271 }
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
272
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
273 # We have all the data, let's replace it
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
274 my $gcomprisInstaller;
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
275 open (MYFILE, $installer);
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
276 while (<MYFILE>) {
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
277 if ($_ =~ /\@INSERT_TRANSLATIONS\@/)
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
278 {
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
279 print "Processing \@INSERT_TRANSLATIONS\@\n";
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
280 $gcomprisInstaller .= $muiLanguages;
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
281 $gcomprisInstaller .= $gcomprisLanguages;
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
282 }
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
283 else
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
284 {
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
285 $gcomprisInstaller .= "$_";
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
286 }
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
287 }
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
288 close (MYFILE);
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
289
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
290 # Rewrite the file with the replaced data
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
291 open (MYFILE, ">$installer");
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
292 print MYFILE "$gcomprisInstaller";
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
293 close (MYFILE);
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
294
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
295 #
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
296 # Create each nsh translation file
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
297 #
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
298
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
299 print "Creating the nsh default file\n";
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
300 open (DESC, ">$tmp_dir/en.nsh");
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
301 print DESC ";; Auto generated file by create_nsis_translations.pl\n";
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
302 foreach my $keyEn (keys(%$text_en)) {
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
303 my $line = $result{'en'}{$keyEn};
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
304 $line =~ s/!define /!insertmacro GCOMPRIS_MACRO_DEFAULT_STRING /;
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
305 print DESC $line;
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
306 }
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
307 close DESC;
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
308
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
309 #
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
310 # Two pass are needed:
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
311 # - create the utf8 file
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
312 # - transform it to the proper windows locale
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
313 #
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
314 print "Creating the nsh locale files\n";
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
315 foreach my $lang (@localeKeys) {
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
316 if ( $lang eq "en" ) { next; }
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
317 open (DESC, ">$tmp_dir/$lang.nsh.utf8");
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
318 print DESC ";; Auto generated file by create_nsis_translations.pl\n";
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
319 print DESC ";; Code Page: $localeNames{$lang}[1]\n";
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
320
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
321 my $text_locale = $result{"$lang"};
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
322 foreach my $keyEn (keys(%$text_en)) {
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
323 my $found = 0;
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
324 foreach my $keyLocale (keys(%$text_locale)) {
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
325 # Fine, we found a translation
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
326 if ( $keyLocale eq $keyEn )
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
327 {
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
328 print DESC "$result{$lang}{$keyLocale}";
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
329 $found = 1;
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
330 last;
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
331 }
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
332 }
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
333 # English keys are the reference.
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
334 # If not found they are inserted
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
335 if ( ! $found )
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
336 {
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
337 print DESC "$result{'en'}{$keyEn}";
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
338 }
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
339 }
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
340 close DESC;
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
341
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
342 # iconv conversion
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
343 system("iconv -f UTF-8 -t $localeNames{$lang}[1] $tmp_dir/$lang.nsh.utf8 -o $tmp_dir/$lang.nsh");
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
344 if ($? ne 0)
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
345 {
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
346 print("ERROR: Failed to run: iconv -f UTF-8 -t $localeNames{$lang}[1] $lang.nsh.utf8 -o $lang.nsh\n");
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
347 }
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
348 #`rm $tmp_dir/$lang.nsh.utf8`;
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
349
69c70c40baea Add unmodified create_nsis_translations.pl script from the gcompris project.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
350 }