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 ${LangNme} "Chinese"
33 StrCpy ${LangCdeSys} "zh_TW"
34 StrCpy ${LangNmeSys} "Chinese"
35 StrCpy ${LangSysEnc} "936"
38 ${if} ${LangISOCode} = 1029
39 StrCpy ${LangNme} "Ce
\9atina"
40 StrCpy ${LangCdeSys} "cs"
41 StrCpy ${LangNmeSys} "Ce
\9atina"
42 StrCpy ${LangSysEnc} "1250"
45 ${if} ${LangISOCode} = 1030
46 StrCpy ${LangNme} "Dansk"
47 StrCpy ${LangCdeSys} "da"
48 StrCpy ${LangNmeSys} "Dansk"
49 StrCpy ${LangSysEnc} "1252"
52 ${if} ${LangISOCode} = 1031
53 StrCpy ${LangNme} "Deutsch"
54 StrCpy ${LangCdeSys} "de"
55 StrCpy ${LangNmeSys} "Deutsch"
56 StrCpy ${LangSysEnc} "1252"
59 ${if} ${LangISOCode} = 1032
60 StrCpy ${LangCdeSys} "el"
61 StrCpy ${LangNmeSys} "Greek"
62 StrCpy ${LangSysEnc} "1253"
65 ${if} ${LangISOCode} = 1033
66 StrCpy ${LangNme} "English"
67 StrCpy ${LangCdeSys} "en"
68 StrCpy ${LangNmeSys} "English"
69 StrCpy ${LangSysEnc} "1252"
72 ${if} ${LangISOCode} = 1034
73 StrCpy ${LangNme} "Español"
74 StrCpy ${LangCdeSys} "es"
75 StrCpy ${LangNmeSys} "Español"
76 StrCpy ${LangSysEnc} "1252"
79 ${if} ${LangISOCode} = 1035
80 StrCpy ${LangNme} "Suomi"
81 StrCpy ${LangCdeSys} "fi"
82 StrCpy ${LangNmeSys} "Suomi"
83 StrCpy ${LangSysEnc} "1252"
86 ${if} ${LangISOCode} = 1036
87 StrCpy ${LangNme} "Français"
88 StrCpy ${LangCdeSys} "fr"
89 StrCpy ${LangNmeSys} "Français"
90 StrCpy ${LangSysEnc} "1252"
93 ${if} ${LangISOCode} = 1037
94 StrCpy ${LangNme} "Hebrew"
95 StrCpy ${LangCdeSys} "he"
96 StrCpy ${LangNmeSys} "Hebrew"
97 StrCpy ${LangSysEnc} "1255"
100 ${if} ${LangISOCode} = 1038
101 StrCpy ${LangNme} "Magyar"
102 StrCpy ${LangCdeSys} "hu"
103 StrCpy ${LangNmeSys} "Magyar"
104 StrCpy ${LangSysEnc} "1250"
107 ${if} ${LangISOCode} = 1039
108 StrCpy ${LangCdeSys} "is"
109 StrCpy ${LangNmeSys} "Íslenska"
110 StrCpy ${LangSysEnc} "1252"
113 ${if} ${LangISOCode} = 1040
114 StrCpy ${LangNme} "Italiano"
115 StrCpy ${LangCdeSys} "it"
116 StrCpy ${LangNmeSys} "Italiano"
117 StrCpy ${LangSysEnc} "1252"
120 # currently no dictionary available
121 ${if} ${LangISOCode} = 1041
122 StrCpy ${LangNme} "Japanese"
123 StrCpy ${LangCdeSys} "ja"
124 StrCpy ${LangNmeSys} "Japanese"
125 StrCpy ${LangSysEnc} "932"
128 # currently no dictionary available
129 ${if} ${LangISOCode} = 1042
130 StrCpy ${LangNme} "Korean"
131 StrCpy ${LangCdeSys} "ko"
132 StrCpy ${LangNmeSys} "Korean"
133 StrCpy ${LangSysEnc} "949"
136 ${if} ${LangISOCode} = 1043
137 StrCpy ${LangNme} "Nederlands"
138 StrCpy ${LangCdeSys} "nl"
139 StrCpy ${LangNmeSys} "Nederlands"
140 StrCpy ${LangSysEnc} "1252"
143 ${if} ${LangISOCode} = 1044
144 StrCpy ${LangNme} "Norsk"
145 StrCpy ${LangCdeSys} "no"
146 StrCpy ${LangNmeSys} "Norsk"
147 StrCpy ${LangSysEnc} "1252"
150 ${if} ${LangISOCode} = 1045
151 StrCpy ${LangNme} "Polski"
152 StrCpy ${LangCdeSys} "pl"
153 StrCpy ${LangNmeSys} "Polski"
154 StrCpy ${LangSysEnc} "1250"
157 ${if} ${LangISOCode} = 1046 # for portuguese (brasilian)
158 StrCpy ${LangNme} "English" # there is currently no portuguese translation of LyX but of the installer
159 StrCpy ${LangCdeSys} "pt"
160 StrCpy ${LangNmeSys} "Português"
161 StrCpy ${LangSysEnc} "1252"
164 ${if} ${LangISOCode} = 1048
165 StrCpy ${LangNme} "Româna"
166 StrCpy ${LangCdeSys} "ro"
167 StrCpy ${LangNmeSys} "Româna"
168 StrCpy ${LangSysEnc} "1250"
171 ${if} ${LangISOCode} = 1049
172 StrCpy ${LangNme} "Russian"
173 StrCpy ${LangCdeSys} "ru"
174 StrCpy ${LangNmeSys} "Russian"
175 StrCpy ${LangSysEnc} "1251"
178 ${if} ${LangISOCode} = 1050
179 StrCpy ${LangCdeSys} "hr"
180 StrCpy ${LangNmeSys} "Hrvatski"
181 StrCpy ${LangSysEnc} "1250"
184 ${if} ${LangISOCode} = 1051
185 StrCpy ${LangNme} "Slovenský"
186 StrCpy ${LangCdeSys} "sk"
187 StrCpy ${LangNmeSys} "Slovenský"
188 StrCpy ${LangSysEnc} "1250"
191 # currently no dictionary available
192 # ${if} ${LangISOCode} = 1052
193 # StrCpy ${LangCdeSys} "sq"
194 # StrCpy ${LangNmeSys} "Shqip"
195 # StrCpy ${LangSysEnc} "1252"
198 ${if} ${LangISOCode} = 1053
199 StrCpy ${LangNme} "Svenska"
200 StrCpy ${LangCdeSys} "sv"
201 StrCpy ${LangNmeSys} "Svenska"
202 StrCpy ${LangSysEnc} "1252"
205 # currently no dictionary available
206 # ${if} ${LangISOCode} = 1054
207 # StrCpy ${LangCdeSys} "th"
208 # StrCpy ${LangNmeSys} "Thai"
209 # StrCpy ${LangSysEnc} "874"
212 ${if} ${LangISOCode} = 1055
213 StrCpy ${LangNme} "Türkçe"
214 StrCpy ${LangCdeSys} "tr"
215 StrCpy ${LangNmeSys} "Türkçe"
216 StrCpy ${LangSysEnc} "1254"
219 ${if} ${LangISOCode} = 1057
220 StrCpy ${LangCdeSys} "id"
221 StrCpy ${LangNmeSys} "Indonesian"
224 ${if} ${LangISOCode} = 1058
225 StrCpy ${LangCdeSys} "uk"
226 StrCpy ${LangNmeSys} "Ukrainian"
227 StrCpy ${LangSysEnc} "1251"
230 ${if} ${LangISOCode} = 1060
231 StrCpy ${LangNme} "Sloven
\9acina"
232 StrCpy ${LangCdeSys} "sl"
233 StrCpy ${LangNmeSys} "Sloven
\9acina"
234 StrCpy ${LangSysEnc} "1250"
237 ${if} ${LangISOCode} = 1061
238 StrCpy ${LangCdeSys} "et"
239 StrCpy ${LangNmeSys} "Eesti"
240 StrCpy ${LangSysEnc} "1257"
243 ${if} ${LangISOCode} = 1062
244 StrCpy ${LangCdeSys} "lv"
245 StrCpy ${LangNmeSys} "Latvie
\9au"
246 StrCpy ${LangSysEnc} "1257"
249 ${if} ${LangISOCode} = 1063
250 StrCpy ${LangCdeSys} "lt"
251 StrCpy ${LangNmeSys} "Lietuva"
252 StrCpy ${LangSysEnc} "1257"
255 ${if} ${LangISOCode} = 1065
256 StrCpy ${LangCdeSys} "fa"
257 StrCpy ${LangNmeSys} "Farsi"
260 ${if} ${LangISOCode} = 1067
261 StrCpy ${LangCdeSys} "hy"
262 StrCpy ${LangNmeSys} "Armenian"
265 # currently no dictionary available
266 ${if} ${LangISOCode} = 1069
267 StrCpy ${LangNme} "Euskara"
268 StrCpy ${LangCdeSys} "eu"
269 StrCpy ${LangNmeSys} "Euskara"
270 StrCpy ${LangSysEnc} "1252"
273 ${if} ${LangISOCode} = 1071
274 StrCpy ${LangCdeSys} "mk"
275 StrCpy ${LangNmeSys} "Macedonian"
278 ${if} ${LangISOCode} = 1078
279 StrCpy ${LangCdeSys} "af"
280 StrCpy ${LangNmeSys} "Afrikaans"
281 StrCpy ${LangSysEnc} "1252"
284 ${if} ${LangISOCode} = 1081
285 StrCpy ${LangCdeSys} "hi"
286 StrCpy ${LangNmeSys} "Hindi"
289 ${if} ${LangISOCode} = 1086
290 StrCpy ${LangCdeSys} "ms"
291 StrCpy ${LangNmeSys} "Malay"
294 ${if} ${LangISOCode} = 1089
295 StrCpy ${LangCdeSys} "sw"
296 StrCpy ${LangNmeSys} "Swahili"
299 ${if} ${LangISOCode} = 1094
300 StrCpy ${LangCdeSys} "pa"
301 StrCpy ${LangNmeSys} "Punjabi"
304 ${if} ${LangISOCode} = 1095
305 StrCpy ${LangCdeSys} "gu"
306 StrCpy ${LangNmeSys} "Gujarati"
309 ${if} ${LangISOCode} = 1097
310 StrCpy ${LangCdeSys} "ta"
311 StrCpy ${LangNmeSys} "Tamil"
314 ${if} ${LangISOCode} = 1098
315 StrCpy ${LangCdeSys} "te"
316 StrCpy ${LangNmeSys} "Telugu"
319 ${if} ${LangISOCode} = 1102
320 StrCpy ${LangCdeSys} "mr"
321 StrCpy ${LangNmeSys} "Marathi"
324 # currently no dictionary available
325 # ${if} ${LangISOCode} = 1103
326 # StrCpy ${LangCdeSys} "sa"
327 # StrCpy ${LangNmeSys} "Sanskrit"
330 ${if} ${LangISOCode} = 1110
331 StrCpy ${LangNme} "Galego"
332 StrCpy ${LangCdeSys} "gl"
333 StrCpy ${LangNmeSys} "Galego"
334 StrCpy ${LangSysEnc} "1252"
337 # currently no dictionary available
338 ${if} ${LangISOCode} = 2052
339 StrCpy ${LangNme} "Chinese"
340 StrCpy ${LangCdeSys} "zh_TW"
341 StrCpy ${LangNmeSys} "Chinese"
342 StrCpy ${LangSysEnc} "936"
345 ${if} ${LangISOCode} = 2055
346 StrCpy ${LangCdeSys} "de"
347 StrCpy ${LangNmeSys} "Deutsch"
348 StrCpy ${LangSysEnc} "1252"
351 ${if} ${LangISOCode} = 2057
352 StrCpy ${LangCdeSys} "en"
353 StrCpy ${LangNmeSys} "English"
354 StrCpy ${LangSysEnc} "1252"
357 ${if} ${LangISOCode} = 2058
358 StrCpy ${LangCdeSys} "es"
359 StrCpy ${LangNmeSys} "Español"
360 StrCpy ${LangSysEnc} "1252"
363 ${if} ${LangISOCode} = 2060
364 StrCpy ${LangCdeSys} "fr"
365 StrCpy ${LangNmeSys} "Français"
366 StrCpy ${LangSysEnc} "1252"
369 ${if} ${LangISOCode} = 2064
370 StrCpy ${LangCdeSys} "it"
371 StrCpy ${LangNmeSys} "Italiano"
372 StrCpy ${LangSysEnc} "1252"
375 ${if} ${LangISOCode} = 2067
376 StrCpy ${LangCdeSys} "nl"
377 StrCpy ${LangNmeSys} "Nederlands"
378 StrCpy ${LangSysEnc} "1252"
381 ${if} ${LangISOCode} = 2068
382 StrCpy ${LangNme} "Nynorsk"
383 StrCpy ${LangCdeSys} "nn"
384 StrCpy ${LangNmeSys} "Nynorsk"
385 StrCpy ${LangSysEnc} "1252"
388 ${if} ${LangISOCode} = 2070 # for portuguese
389 StrCpy ${LangNme} "English" # there is currently no portuguese translation of LyX but of the installer
390 StrCpy ${LangCdeSys} "pt"
391 StrCpy ${LangNmeSys} "Português"
392 StrCpy ${LangSysEnc} "1252"
395 ${if} ${LangISOCode} = 2074
396 StrCpy ${LangCdeSys} "sr"
397 StrCpy ${LangNmeSys} "Srpski"
398 StrCpy ${LangSysEnc} "1250"
401 ${if} ${LangISOCode} = 2077
402 StrCpy ${LangCdeSys} "sv"
403 StrCpy ${LangNmeSys} "Svenska"
404 StrCpy ${LangSysEnc} "1252"
407 ${if} ${LangISOCode} = 2110
408 StrCpy ${LangCdeSys} "ms"
409 StrCpy ${LangNmeSys} "Malay"
412 # currently no dictionary available
413 ${if} ${LangISOCode} = 3076
414 StrCpy ${LangNme} "Chinese"
415 StrCpy ${LangCdeSys} "zh_TW"
416 StrCpy ${LangNmeSys} "Chinese"
417 StrCpy ${LangSysEnc} "936"
420 ${if} ${LangISOCode} = 3079
421 StrCpy ${LangCdeSys} "de"
422 StrCpy ${LangNmeSys} "Deutsch"
423 StrCpy ${LangSysEnc} "1252"
426 ${if} ${LangISOCode} = 3081
427 StrCpy ${LangCdeSys} "en"
428 StrCpy ${LangNmeSys} "English"
429 StrCpy ${LangSysEnc} "1252"
432 ${if} ${LangISOCode} = 3082
433 StrCpy ${LangCdeSys} "es"
434 StrCpy ${LangNmeSys} "Español"
435 StrCpy ${LangSysEnc} "1252"
438 ${if} ${LangISOCode} = 3084
439 StrCpy ${LangCdeSys} "fr"
440 StrCpy ${LangNmeSys} "Français"
441 StrCpy ${LangSysEnc} "1252"
444 ${if} ${LangISOCode} = 4103
445 StrCpy ${LangCdeSys} "de"
446 StrCpy ${LangNmeSys} "Deutsch"
447 StrCpy ${LangSysEnc} "1252"
450 ${if} ${LangISOCode} = 4105
451 StrCpy ${LangCdeSys} "en"
452 StrCpy ${LangNmeSys} "English"
453 StrCpy ${LangSysEnc} "1252"
456 ${if} ${LangISOCode} = 4108
457 StrCpy ${LangCdeSys} "fr"
458 StrCpy ${LangNmeSys} "Français"
459 StrCpy ${LangSysEnc} "1252"
462 ${if} ${LangISOCode} = 5129
463 StrCpy ${LangCdeSys} "en"
464 StrCpy ${LangNmeSys} "English"
465 StrCpy ${LangSysEnc} "1252"
468 ${if} ${LangISOCode} = 5132
469 StrCpy ${LangCdeSys} "fr"
470 StrCpy ${LangNmeSys} "Français"
471 StrCpy ${LangSysEnc} "1252"
474 ${if} ${LangISOCode} = 7177
475 StrCpy ${LangCdeSys} "en"
476 StrCpy ${LangNmeSys} "English"
477 StrCpy ${LangSysEnc} "1252"
480 ${if} ${LangISOCode} = 11274
481 StrCpy ${LangCdeSys} "es"
482 StrCpy ${LangNmeSys} "Español"
483 StrCpy ${LangSysEnc} "1252"
486 ${if} ${LangISOCode} = 13322
487 StrCpy ${LangCdeSys} "es"
488 StrCpy ${LangNmeSys} "Español"
489 StrCpy ${LangSysEnc} "1252"
492 ${if} ${LangISOCode} = 14346
493 StrCpy ${LangCdeSys} "es"
494 StrCpy ${LangNmeSys} "Español"
495 StrCpy ${LangSysEnc} "1252"
498 ${if} ${LangISOCode} = 20490
499 StrCpy ${LangCdeSys} "es"
500 StrCpy ${LangNmeSys} "Español"
501 StrCpy ${LangSysEnc} "1252"
506 #------------------------------------------
508 # To set later LyX's menu language
509 # therefore here are only declared the languages LyX is translated to
511 !macro GetLangCode LangCde Name LangEnc
513 ${if} ${Name} == "Ce
\9atina"
514 StrCpy ${LangCde} "cs_CZ"
515 StrCpy ${LangEnc} "cp-1250"
518 # ${if} ${Name} == "Chinese (China)"
519 # StrCpy ${LangCde} "zh_CN"
520 # StrCpy ${LangEnc} "cp-936"
523 ${if} ${Name} == "Chinese"
524 StrCpy ${LangCde} "zh_TW"
525 StrCpy ${LangEnc} "cp-936"
528 ${if} ${Name} == "Dansk"
529 StrCpy ${LangCde} "da_DK"
530 StrCpy ${LangEnc} "cp-1252"
533 ${if} ${Name} == "Deutsch"
534 StrCpy ${LangCde} "de_DE"
535 StrCpy ${LangEnc} "cp-1252"
538 ${if} ${Name} == "English"
539 StrCpy ${LangCde} "en_EN"
540 StrCpy ${LangEnc} "cp-1252"
543 ${if} ${Name} == "Español"
544 StrCpy ${LangCde} "es_ES"
545 StrCpy ${LangEnc} "cp-1252"
548 ${if} ${Name} == "Euskara"
549 StrCpy ${LangCde} "eu_EU"
550 StrCpy ${LangEnc} "cp-1252"
553 ${if} ${Name} == "Français"
554 StrCpy ${LangCde} "fr_FR"
555 StrCpy ${LangEnc} "cp-1252"
558 ${if} ${Name} == "Galego"
559 StrCpy ${LangCde} "gl_ES"
560 StrCpy ${LangEnc} "cp-1252"
563 ${if} ${Name} == "Hebrew"
564 StrCpy ${LangCde} "he_IL"
565 StrCpy ${LangEnc} "cp-1255"
568 ${if} ${Name} == "Italiano"
569 StrCpy ${LangCde} "it_IT"
570 StrCpy ${LangEnc} "cp-1252"
573 ${if} ${Name} == "Japanese"
574 StrCpy ${LangCde} "ja_JP"
575 StrCpy ${LangEnc} "cp-932"
578 ${if} ${Name} == "Korean"
579 StrCpy ${LangCde} "ko" # no country code, see the definition in the file "SVN ~/lib/languages"
580 StrCpy ${LangEnc} "cp-949"
583 ${if} ${Name} == "Magyar"
584 StrCpy ${LangCde} "hu_HU"
585 StrCpy ${LangEnc} "cp-1250"
588 ${if} ${Name} == "Nederlands"
589 StrCpy ${LangCde} "nl_NL"
590 StrCpy ${LangEnc} "cp-1252"
593 ${if} ${Name} == "Norsk"
594 StrCpy ${LangCde} "nb_NO"
595 StrCpy ${LangEnc} "cp-1252"
598 ${if} ${Name} == "Nynorsk"
599 StrCpy ${LangCde} "nn_NO"
600 StrCpy ${LangEnc} "cp-1252"
603 ${if} ${Name} == "Polski"
604 StrCpy ${LangCde} "pl_PL"
605 StrCpy ${LangEnc} "cp-1250"
608 ${if} ${Name} == "Româna"
609 StrCpy ${LangCde} "ro_RO"
610 StrCpy ${LangEnc} "cp-1250"
613 ${if} ${Name} == "Russian"
614 StrCpy ${LangCde} "ru_RU"
615 StrCpy ${LangEnc} "cp-1251"
618 ${if} ${Name} == "Slovenský"
619 StrCpy ${LangCde} "sk_SK"
620 StrCpy ${LangEnc} "cp-1250"
623 ${if} ${Name} == "Sloven
\9acina"
624 StrCpy ${LangCde} "sl_SI"
625 StrCpy ${LangEnc} "cp-1250"
628 ${if} ${Name} == "Suomi"
629 StrCpy ${LangCde} "fi_FI"
630 StrCpy ${LangEnc} "cp-1252"
633 ${if} ${Name} == "Türkçe"
634 StrCpy ${LangCde} "tr_TR"
635 StrCpy ${LangEnc} "cp-1254"
640 #--------------------
641 # function that creates the installer page for the language setting
642 Function SelectMenuLanguage
644 !insertmacro MUI_INSTALLOPTIONS_EXTRACT "io_ui_language.ini"
646 ${if} $LangName == ""
647 # translate NSIS's language code to the language name
648 !insertmacro TranslateLangCode $LangName $LangNameSys $LangCodeSys $Language $LangSysEncoding
651 ${if} $LangName == ""
652 !insertmacro MUI_INSTALLOPTIONS_WRITE "io_ui_language.ini" "Field 2" "State" "English"
654 !insertmacro MUI_INSTALLOPTIONS_WRITE "io_ui_language.ini" "Field 2" "State" "$LangName"
657 !insertmacro MUI_HEADER_TEXT "$(LangSelectHeader)" ""
658 !insertmacro MUI_INSTALLOPTIONS_WRITE "io_ui_language.ini" "Field 1" "Text" "$(AvailableLang)"
659 !insertmacro MUI_INSTALLOPTIONS_DISPLAY "io_ui_language.ini"
660 !insertmacro MUI_INSTALLOPTIONS_READ $LangName "io_ui_language.ini" "Field 2" "State"
664 Function SelectMenuLanguage_LeaveFunction
666 !insertmacro MUI_INSTALLOPTIONS_READ $LangName "io_ui_language.ini" "Field 2" "State"
667 # Get the language code
669 !insertmacro GetLangCode $LangCode $LangName $LangEncoding # macro from lyx_utils.nsh