1 # Language settings for the installer
2 # create language code for the Windows system language
4 # LangNme is the language name when there exists a LyX translation for this language; used for the menu language dialog and for the Aspell installation
5 # LangNmeSys is the Windows system language; used for the Aspell installation
6 # LangCdeSys is the ISO 630 language code of the language; used for the Aspell installation
7 # LangSysEnc is the Windows codepage for the character encoding of the language; used in lyx.bat to assure that scripts are correctly executed
8 !macro TranslateLangCode LangNme LangNmeSys LangCdeSys LangISOCode LangSysEnc
10 StrCpy ${LangCdeSys} ""
12 ${if} ${LangISOCode} = 1025
13 StrCpy ${LangCdeSys} "ar"
14 StrCpy ${LangNmeSys} "Arabic"
15 StrCpy ${LangSysEnc} "1256"
18 ${if} ${LangISOCode} = 1026
19 StrCpy ${LangCdeSys} "bg"
20 StrCpy ${LangNmeSys} "Bulgarian"
21 StrCpy ${LangSysEnc} "1251"
24 ${if} ${LangISOCode} = 1027
25 StrCpy ${LangCdeSys} "ca"
26 StrCpy ${LangNmeSys} "Català"
27 StrCpy ${LangSysEnc} "1252"
30 # currently no dictionary available
31 # ${if} ${LangISOCode} = 1028
32 # StrCpy ${LangCdeSys} "zh"
33 # StrCpy ${LangNmeSys} "Chinese"
34 # StrCpy ${LangSysEnc} "936"
37 ${if} ${LangISOCode} = 1029
38 StrCpy ${LangNme} "Ce
\9atina"
39 StrCpy ${LangCdeSys} "cs"
40 StrCpy ${LangNmeSys} "Ce
\9atina"
41 StrCpy ${LangSysEnc} "1250"
44 ${if} ${LangISOCode} = 1030
45 StrCpy ${LangNme} "Dansk"
46 StrCpy ${LangCdeSys} "da"
47 StrCpy ${LangNmeSys} "Dansk"
48 StrCpy ${LangSysEnc} "1252"
51 ${if} ${LangISOCode} = 1031
52 StrCpy ${LangNme} "Deutsch"
53 StrCpy ${LangCdeSys} "de"
54 StrCpy ${LangNmeSys} "Deutsch"
55 StrCpy ${LangSysEnc} "1252"
58 ${if} ${LangISOCode} = 1032
59 StrCpy ${LangCdeSys} "el"
60 StrCpy ${LangNmeSys} "Greek"
61 StrCpy ${LangSysEnc} "1253"
64 ${if} ${LangISOCode} = 1033
65 StrCpy ${LangNme} "English"
66 StrCpy ${LangCdeSys} "en"
67 StrCpy ${LangNmeSys} "English"
68 StrCpy ${LangSysEnc} "1252"
71 ${if} ${LangISOCode} = 1034
72 StrCpy ${LangNme} "Español"
73 StrCpy ${LangCdeSys} "es"
74 StrCpy ${LangNmeSys} "Español"
75 StrCpy ${LangSysEnc} "1252"
78 ${if} ${LangISOCode} = 1035
79 StrCpy ${LangNme} "Suomi"
80 StrCpy ${LangCdeSys} "fi"
81 StrCpy ${LangNmeSys} "Suomi"
82 StrCpy ${LangSysEnc} "1252"
85 ${if} ${LangISOCode} = 1036
86 StrCpy ${LangNme} "Français"
87 StrCpy ${LangCdeSys} "fr"
88 StrCpy ${LangNmeSys} "Français"
89 StrCpy ${LangSysEnc} "1252"
92 ${if} ${LangISOCode} = 1037
93 StrCpy ${LangNme} "Hebrew"
94 StrCpy ${LangCdeSys} "he"
95 StrCpy ${LangNmeSys} "Hebrew"
96 StrCpy ${LangSysEnc} "1255"
99 ${if} ${LangISOCode} = 1038
100 StrCpy ${LangNme} "Magyar"
101 StrCpy ${LangCdeSys} "hu"
102 StrCpy ${LangNmeSys} "Magyar"
103 StrCpy ${LangSysEnc} "1250"
106 ${if} ${LangISOCode} = 1039
107 StrCpy ${LangCdeSys} "is"
108 StrCpy ${LangNmeSys} "Íslenska"
109 StrCpy ${LangSysEnc} "1252"
112 ${if} ${LangISOCode} = 1040
113 StrCpy ${LangNme} "Italiano"
114 StrCpy ${LangCdeSys} "it"
115 StrCpy ${LangNmeSys} "Italiano"
116 StrCpy ${LangSysEnc} "1252"
119 # currently no dictionary available
120 ${if} ${LangISOCode} = 1041
121 StrCpy ${LangNme} "Japanese"
122 StrCpy ${LangCdeSys} "ja"
123 StrCpy ${LangNmeSys} "Japanese"
124 StrCpy ${LangSysEnc} "932"
127 # currently no dictionary available
128 ${if} ${LangISOCode} = 1042
129 StrCpy ${LangNme} "Korean"
130 StrCpy ${LangCdeSys} "ko"
131 StrCpy ${LangNmeSys} "Korean"
132 StrCpy ${LangSysEnc} "949"
135 ${if} ${LangISOCode} = 1043
136 StrCpy ${LangNme} "Nederlands"
137 StrCpy ${LangCdeSys} "nl"
138 StrCpy ${LangNmeSys} "Nederlands"
139 StrCpy ${LangSysEnc} "1252"
142 ${if} ${LangISOCode} = 1044
143 StrCpy ${LangNme} "Norsk"
144 StrCpy ${LangCdeSys} "no"
145 StrCpy ${LangNmeSys} "Norsk"
146 StrCpy ${LangSysEnc} "1252"
149 ${if} ${LangISOCode} = 1045
150 StrCpy ${LangNme} "Polski"
151 StrCpy ${LangCdeSys} "pl"
152 StrCpy ${LangNmeSys} "Polski"
153 StrCpy ${LangSysEnc} "1250"
156 ${if} ${LangISOCode} = 1046 # for portuguese (brasilian)
157 StrCpy ${LangNme} "English" # there is currently no portuguese translation of LyX but of the installer
158 StrCpy ${LangCdeSys} "pt"
159 StrCpy ${LangNmeSys} "Português"
160 StrCpy ${LangSysEnc} "1252"
163 ${if} ${LangISOCode} = 1048
164 StrCpy ${LangNme} "Româna"
165 StrCpy ${LangCdeSys} "ro"
166 StrCpy ${LangNmeSys} "Româna"
167 StrCpy ${LangSysEnc} "1250"
170 ${if} ${LangISOCode} = 1049
171 StrCpy ${LangNme} "Russian"
172 StrCpy ${LangCdeSys} "ru"
173 StrCpy ${LangNmeSys} "Russian"
174 StrCpy ${LangSysEnc} "1251"
177 ${if} ${LangISOCode} = 1050
178 StrCpy ${LangCdeSys} "hr"
179 StrCpy ${LangNmeSys} "Hrvatski"
180 StrCpy ${LangSysEnc} "1250"
183 ${if} ${LangISOCode} = 1051
184 StrCpy ${LangNme} "Slovenský"
185 StrCpy ${LangCdeSys} "sk"
186 StrCpy ${LangNmeSys} "Slovenský"
187 StrCpy ${LangSysEnc} "1250"
190 # currently no dictionary available
191 # ${if} ${LangISOCode} = 1052
192 # StrCpy ${LangCdeSys} "sq"
193 # StrCpy ${LangNmeSys} "Shqip"
194 # StrCpy ${LangSysEnc} "1252"
197 ${if} ${LangISOCode} = 1053
198 StrCpy ${LangNme} "Svenska"
199 StrCpy ${LangCdeSys} "sv"
200 StrCpy ${LangNmeSys} "Svenska"
201 StrCpy ${LangSysEnc} "1252"
204 # currently no dictionary available
205 # ${if} ${LangISOCode} = 1054
206 # StrCpy ${LangCdeSys} "th"
207 # StrCpy ${LangNmeSys} "Thai"
208 # StrCpy ${LangSysEnc} "874"
211 ${if} ${LangISOCode} = 1055
212 StrCpy ${LangNme} "Türkçe"
213 StrCpy ${LangCdeSys} "tr"
214 StrCpy ${LangNmeSys} "Türkçe"
215 StrCpy ${LangSysEnc} "1254"
218 ${if} ${LangISOCode} = 1058
219 StrCpy ${LangCdeSys} "uk"
220 StrCpy ${LangNmeSys} "Ukrainian"
221 StrCpy ${LangSysEnc} "1251"
224 ${if} ${LangISOCode} = 1060
225 StrCpy ${LangNme} "Sloven
\9acina"
226 StrCpy ${LangCdeSys} "sl"
227 StrCpy ${LangNmeSys} "Sloven
\9acina"
228 StrCpy ${LangSysEnc} "1250"
231 ${if} ${LangISOCode} = 1061
232 StrCpy ${LangCdeSys} "et"
233 StrCpy ${LangNmeSys} "Eesti"
234 StrCpy ${LangSysEnc} "1257"
237 ${if} ${LangISOCode} = 1062
238 StrCpy ${LangCdeSys} "lv"
239 StrCpy ${LangNmeSys} "Latvie
\9au"
240 StrCpy ${LangSysEnc} "1257"
243 ${if} ${LangISOCode} = 1063
244 StrCpy ${LangCdeSys} "lt"
245 StrCpy ${LangNmeSys} "Lietuva"
246 StrCpy ${LangSysEnc} "1257"
249 # currently no dictionary available
250 ${if} ${LangISOCode} = 1069
251 StrCpy ${LangNme} "Euskara"
252 StrCpy ${LangCdeSys} "eu"
253 StrCpy ${LangNmeSys} "Euskara"
254 StrCpy ${LangSysEnc} "1252"
257 ${if} ${LangISOCode} = 1078
258 StrCpy ${LangCdeSys} "af"
259 StrCpy ${LangNmeSys} "Afrikaans"
260 StrCpy ${LangSysEnc} "1252"
263 # currently no dictionary available
264 # ${if} ${LangISOCode} = 1081
265 # StrCpy ${LangCdeSys} "hi"
266 # StrCpy ${LangNmeSys} "Hindi"
269 ${if} ${LangISOCode} = 1110
270 StrCpy ${LangNme} "Galego"
271 StrCpy ${LangCdeSys} "gl"
272 StrCpy ${LangNmeSys} "Galego"
273 StrCpy ${LangSysEnc} "1252"
276 # currently no dictionary available
277 # ${if} ${LangISOCode} = 2052
278 # StrCpy ${LangCdeSys} "zh"
279 # StrCpy ${LangNmeSys} "Chinese"
280 # StrCpy ${LangSysEnc} "936"
283 ${if} ${LangISOCode} = 2055
284 StrCpy ${LangCdeSys} "de"
285 StrCpy ${LangNmeSys} "Deutsch"
286 StrCpy ${LangSysEnc} "1252"
289 ${if} ${LangISOCode} = 2057
290 StrCpy ${LangCdeSys} "en"
291 StrCpy ${LangNmeSys} "English"
292 StrCpy ${LangSysEnc} "1252"
295 ${if} ${LangISOCode} = 2058
296 StrCpy ${LangCdeSys} "es"
297 StrCpy ${LangNmeSys} "Español"
298 StrCpy ${LangSysEnc} "1252"
301 ${if} ${LangISOCode} = 2060
302 StrCpy ${LangCdeSys} "fr"
303 StrCpy ${LangNmeSys} "Français"
304 StrCpy ${LangSysEnc} "1252"
307 ${if} ${LangISOCode} = 2064
308 StrCpy ${LangCdeSys} "it"
309 StrCpy ${LangNmeSys} "Italiano"
310 StrCpy ${LangSysEnc} "1252"
313 ${if} ${LangISOCode} = 2067
314 StrCpy ${LangCdeSys} "nl"
315 StrCpy ${LangNmeSys} "Nederlands"
316 StrCpy ${LangSysEnc} "1252"
319 ${if} ${LangISOCode} = 2068
320 StrCpy ${LangNme} "Nynorsk"
321 StrCpy ${LangCdeSys} "nn"
322 StrCpy ${LangNmeSys} "Nynorsk"
323 StrCpy ${LangSysEnc} "1252"
326 ${if} ${LangISOCode} = 2070 # for portuguese
327 StrCpy ${LangNme} "English" # there is currently no portuguese translation of LyX but of the installer
328 StrCpy ${LangCdeSys} "pt"
329 StrCpy ${LangNmeSys} "Português"
330 StrCpy ${LangSysEnc} "1252"
333 ${if} ${LangISOCode} = 2074
334 StrCpy ${LangCdeSys} "sr"
335 StrCpy ${LangNmeSys} "Srpski"
336 StrCpy ${LangSysEnc} "1250"
339 ${if} ${LangISOCode} = 2077
340 StrCpy ${LangCdeSys} "sv"
341 StrCpy ${LangNmeSys} "Svenska"
342 StrCpy ${LangSysEnc} "1252"
345 ${if} ${LangISOCode} = 3079
346 StrCpy ${LangCdeSys} "de"
347 StrCpy ${LangNmeSys} "Deutsch"
348 StrCpy ${LangSysEnc} "1252"
351 ${if} ${LangISOCode} = 3081
352 StrCpy ${LangCdeSys} "en"
353 StrCpy ${LangNmeSys} "English"
354 StrCpy ${LangSysEnc} "1252"
357 ${if} ${LangISOCode} = 3082
358 StrCpy ${LangCdeSys} "es"
359 StrCpy ${LangNmeSys} "Español"
360 StrCpy ${LangSysEnc} "1252"
363 ${if} ${LangISOCode} = 3084
364 StrCpy ${LangCdeSys} "fr"
365 StrCpy ${LangNmeSys} "Français"
366 StrCpy ${LangSysEnc} "1252"
369 ${if} ${LangISOCode} = 4103
370 StrCpy ${LangCdeSys} "de"
371 StrCpy ${LangNmeSys} "Deutsch"
372 StrCpy ${LangSysEnc} "1252"
375 ${if} ${LangISOCode} = 4105
376 StrCpy ${LangCdeSys} "en"
377 StrCpy ${LangNmeSys} "English"
378 StrCpy ${LangSysEnc} "1252"
381 ${if} ${LangISOCode} = 4108
382 StrCpy ${LangCdeSys} "fr"
383 StrCpy ${LangNmeSys} "Français"
384 StrCpy ${LangSysEnc} "1252"
387 ${if} ${LangISOCode} = 5129
388 StrCpy ${LangCdeSys} "en"
389 StrCpy ${LangNmeSys} "English"
390 StrCpy ${LangSysEnc} "1252"
393 ${if} ${LangISOCode} = 5132
394 StrCpy ${LangCdeSys} "fr"
395 StrCpy ${LangNmeSys} "Français"
396 StrCpy ${LangSysEnc} "1252"
399 ${if} ${LangISOCode} = 7177
400 StrCpy ${LangCdeSys} "en"
401 StrCpy ${LangNmeSys} "English"
402 StrCpy ${LangSysEnc} "1252"
405 ${if} ${LangISOCode} = 11274
406 StrCpy ${LangCdeSys} "es"
407 StrCpy ${LangNmeSys} "Español"
408 StrCpy ${LangSysEnc} "1252"
411 ${if} ${LangISOCode} = 13322
412 StrCpy ${LangCdeSys} "es"
413 StrCpy ${LangNmeSys} "Español"
414 StrCpy ${LangSysEnc} "1252"
417 ${if} ${LangISOCode} = 14346
418 StrCpy ${LangCdeSys} "es"
419 StrCpy ${LangNmeSys} "Español"
420 StrCpy ${LangSysEnc} "1252"
423 ${if} ${LangISOCode} = 20490
424 StrCpy ${LangCdeSys} "es"
425 StrCpy ${LangNmeSys} "Español"
426 StrCpy ${LangSysEnc} "1252"
431 #------------------------------------------
433 # To set later LyX's menu language
434 # therefore here are only declared the languages LyX is translated to
436 !macro GetLangCode LangCde Name LangEnc
438 ${if} ${Name} == "Ce
\9atina"
439 StrCpy ${LangCde} "cs_CZ"
440 StrCpy ${LangEnc} "cp-1250"
443 ${if} ${Name} == "Dansk"
444 StrCpy ${LangCde} "da_DK"
445 StrCpy ${LangEnc} "cp-1252"
448 ${if} ${Name} == "Deutsch"
449 StrCpy ${LangCde} "de_DE"
450 StrCpy ${LangEnc} "cp-1252"
453 ${if} ${Name} == "English"
454 StrCpy ${LangCde} "en_EN"
455 StrCpy ${LangEnc} "cp-1252"
458 ${if} ${Name} == "Español"
459 StrCpy ${LangCde} "es_ES"
460 StrCpy ${LangEnc} "cp-1252"
463 ${if} ${Name} == "Euskara"
464 StrCpy ${LangCde} "eu_EU"
465 StrCpy ${LangEnc} "cp-1252"
468 ${if} ${Name} == "Français"
469 StrCpy ${LangCde} "fr_FR"
470 StrCpy ${LangEnc} "cp-1252"
473 ${if} ${Name} == "Galego"
474 StrCpy ${LangCde} "gl_ES"
475 StrCpy ${LangEnc} "cp-1252"
478 ${if} ${Name} == "Hebrew"
479 StrCpy ${LangCde} "he_IL"
480 StrCpy ${LangEnc} "cp-1255"
483 ${if} ${Name} == "Italiano"
484 StrCpy ${LangCde} "it_IT"
485 StrCpy ${LangEnc} "cp-1252"
488 ${if} ${Name} == "Japanese"
489 StrCpy ${LangCde} "ja_JP"
490 StrCpy ${LangEnc} "cp-932"
493 ${if} ${Name} == "Korean"
494 StrCpy ${LangCde} "ko" # no country code, see the definition in the file "SVN ~/lib/languages"
495 StrCpy ${LangEnc} "cp-949"
498 ${if} ${Name} == "Magyar"
499 StrCpy ${LangCde} "hu_HU"
500 StrCpy ${LangEnc} "cp-1250"
503 ${if} ${Name} == "Nederlands"
504 StrCpy ${LangCde} "nl_NL"
505 StrCpy ${LangEnc} "cp-1252"
508 ${if} ${Name} == "Norsk"
509 StrCpy ${LangCde} "nb_NO"
510 StrCpy ${LangEnc} "cp-1252"
513 ${if} ${Name} == "Nynorsk"
514 StrCpy ${LangCde} "nn_NO"
515 StrCpy ${LangEnc} "cp-1252"
518 ${if} ${Name} == "Polski"
519 StrCpy ${LangCde} "pl_PL"
520 StrCpy ${LangEnc} "cp-1250"
523 ${if} ${Name} == "Româna"
524 StrCpy ${LangCde} "ro_RO"
525 StrCpy ${LangEnc} "cp-1250"
528 ${if} ${Name} == "Russian"
529 StrCpy ${LangCde} "ru_RU"
530 StrCpy ${LangEnc} "cp-1251"
533 ${if} ${Name} == "Slovenský"
534 StrCpy ${LangCde} "sk_SK"
535 StrCpy ${LangEnc} "cp-1250"
538 ${if} ${Name} == "Sloven
\9acina"
539 StrCpy ${LangCde} "sl_SI"
540 StrCpy ${LangEnc} "cp-1250"
543 ${if} ${Name} == "Suomi"
544 StrCpy ${LangCde} "fi_FI"
545 StrCpy ${LangEnc} "cp-1252"
548 ${if} ${Name} == "Türkçe"
549 StrCpy ${LangCde} "tr_TR"
550 StrCpy ${LangEnc} "cp-1254"
555 #--------------------
556 # function that creates the installer page for the language setting
557 Function SelectMenuLanguage
559 !insertmacro MUI_INSTALLOPTIONS_EXTRACT "io_ui_language.ini"
561 ${if} $LangName == ""
562 # translate NSIS's language code to the language name
563 !insertmacro TranslateLangCode $LangName $LangNameSys $LangCodeSys $Language $LangSysEncoding
566 ${if} $LangName == ""
567 !insertmacro MUI_INSTALLOPTIONS_WRITE "io_ui_language.ini" "Field 2" "State" "English"
569 !insertmacro MUI_INSTALLOPTIONS_WRITE "io_ui_language.ini" "Field 2" "State" "$LangName"
572 !insertmacro MUI_HEADER_TEXT "$(LangSelectHeader)" ""
573 !insertmacro MUI_INSTALLOPTIONS_WRITE "io_ui_language.ini" "Field 1" "Text" "$(AvailableLang)"
574 !insertmacro MUI_INSTALLOPTIONS_DISPLAY "io_ui_language.ini"
575 !insertmacro MUI_INSTALLOPTIONS_READ $LangName "io_ui_language.ini" "Field 2" "State"
579 Function SelectMenuLanguage_LeaveFunction
581 !insertmacro MUI_INSTALLOPTIONS_READ $LangName "io_ui_language.ini" "Field 2" "State"
582 # Get the language code
584 !insertmacro GetLangCode $LangCode $LangName $LangEncoding # macro from lyx_utils.nsh