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_TW"
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 ${if} ${LangISOCode} = 1065
250 StrCpy ${LangCdeSys} "fa"
251 StrCpy ${LangNmeSys} "Farsi"
254 ${if} ${LangISOCode} = 1067
255 StrCpy ${LangCdeSys} "hy"
256 StrCpy ${LangNmeSys} "Armenian"
259 # currently no dictionary available
260 ${if} ${LangISOCode} = 1069
261 StrCpy ${LangNme} "Euskara"
262 StrCpy ${LangCdeSys} "eu"
263 StrCpy ${LangNmeSys} "Euskara"
264 StrCpy ${LangSysEnc} "1252"
267 ${if} ${LangISOCode} = 1078
268 StrCpy ${LangCdeSys} "af"
269 StrCpy ${LangNmeSys} "Afrikaans"
270 StrCpy ${LangSysEnc} "1252"
273 ${if} ${LangISOCode} = 1081
274 StrCpy ${LangCdeSys} "hi"
275 StrCpy ${LangNmeSys} "Hindi"
278 ${if} ${LangISOCode} = 1110
279 StrCpy ${LangNme} "Galego"
280 StrCpy ${LangCdeSys} "gl"
281 StrCpy ${LangNmeSys} "Galego"
282 StrCpy ${LangSysEnc} "1252"
285 # currently no dictionary available
286 ${if} ${LangISOCode} = 2052
287 StrCpy ${LangCdeSys} "zh_TW"
288 StrCpy ${LangNmeSys} "Chinese"
289 StrCpy ${LangSysEnc} "936"
292 ${if} ${LangISOCode} = 2055
293 StrCpy ${LangCdeSys} "de"
294 StrCpy ${LangNmeSys} "Deutsch"
295 StrCpy ${LangSysEnc} "1252"
298 ${if} ${LangISOCode} = 2057
299 StrCpy ${LangCdeSys} "en"
300 StrCpy ${LangNmeSys} "English"
301 StrCpy ${LangSysEnc} "1252"
304 ${if} ${LangISOCode} = 2058
305 StrCpy ${LangCdeSys} "es"
306 StrCpy ${LangNmeSys} "Español"
307 StrCpy ${LangSysEnc} "1252"
310 ${if} ${LangISOCode} = 2060
311 StrCpy ${LangCdeSys} "fr"
312 StrCpy ${LangNmeSys} "Français"
313 StrCpy ${LangSysEnc} "1252"
316 ${if} ${LangISOCode} = 2064
317 StrCpy ${LangCdeSys} "it"
318 StrCpy ${LangNmeSys} "Italiano"
319 StrCpy ${LangSysEnc} "1252"
322 ${if} ${LangISOCode} = 2067
323 StrCpy ${LangCdeSys} "nl"
324 StrCpy ${LangNmeSys} "Nederlands"
325 StrCpy ${LangSysEnc} "1252"
328 ${if} ${LangISOCode} = 2068
329 StrCpy ${LangNme} "Nynorsk"
330 StrCpy ${LangCdeSys} "nn"
331 StrCpy ${LangNmeSys} "Nynorsk"
332 StrCpy ${LangSysEnc} "1252"
335 ${if} ${LangISOCode} = 2070 # for portuguese
336 StrCpy ${LangNme} "English" # there is currently no portuguese translation of LyX but of the installer
337 StrCpy ${LangCdeSys} "pt"
338 StrCpy ${LangNmeSys} "Português"
339 StrCpy ${LangSysEnc} "1252"
342 ${if} ${LangISOCode} = 2074
343 StrCpy ${LangCdeSys} "sr"
344 StrCpy ${LangNmeSys} "Srpski"
345 StrCpy ${LangSysEnc} "1250"
348 ${if} ${LangISOCode} = 2077
349 StrCpy ${LangCdeSys} "sv"
350 StrCpy ${LangNmeSys} "Svenska"
351 StrCpy ${LangSysEnc} "1252"
354 # currently no dictionary available
355 ${if} ${LangISOCode} = 3076
356 StrCpy ${LangCdeSys} "zh_TW"
357 StrCpy ${LangNmeSys} "Chinese"
358 StrCpy ${LangSysEnc} "936"
361 ${if} ${LangISOCode} = 3079
362 StrCpy ${LangCdeSys} "de"
363 StrCpy ${LangNmeSys} "Deutsch"
364 StrCpy ${LangSysEnc} "1252"
367 ${if} ${LangISOCode} = 3081
368 StrCpy ${LangCdeSys} "en"
369 StrCpy ${LangNmeSys} "English"
370 StrCpy ${LangSysEnc} "1252"
373 ${if} ${LangISOCode} = 3082
374 StrCpy ${LangCdeSys} "es"
375 StrCpy ${LangNmeSys} "Español"
376 StrCpy ${LangSysEnc} "1252"
379 ${if} ${LangISOCode} = 3084
380 StrCpy ${LangCdeSys} "fr"
381 StrCpy ${LangNmeSys} "Français"
382 StrCpy ${LangSysEnc} "1252"
385 ${if} ${LangISOCode} = 4103
386 StrCpy ${LangCdeSys} "de"
387 StrCpy ${LangNmeSys} "Deutsch"
388 StrCpy ${LangSysEnc} "1252"
391 ${if} ${LangISOCode} = 4105
392 StrCpy ${LangCdeSys} "en"
393 StrCpy ${LangNmeSys} "English"
394 StrCpy ${LangSysEnc} "1252"
397 ${if} ${LangISOCode} = 4108
398 StrCpy ${LangCdeSys} "fr"
399 StrCpy ${LangNmeSys} "Français"
400 StrCpy ${LangSysEnc} "1252"
403 ${if} ${LangISOCode} = 5129
404 StrCpy ${LangCdeSys} "en"
405 StrCpy ${LangNmeSys} "English"
406 StrCpy ${LangSysEnc} "1252"
409 ${if} ${LangISOCode} = 5132
410 StrCpy ${LangCdeSys} "fr"
411 StrCpy ${LangNmeSys} "Français"
412 StrCpy ${LangSysEnc} "1252"
415 ${if} ${LangISOCode} = 7177
416 StrCpy ${LangCdeSys} "en"
417 StrCpy ${LangNmeSys} "English"
418 StrCpy ${LangSysEnc} "1252"
421 ${if} ${LangISOCode} = 11274
422 StrCpy ${LangCdeSys} "es"
423 StrCpy ${LangNmeSys} "Español"
424 StrCpy ${LangSysEnc} "1252"
427 ${if} ${LangISOCode} = 13322
428 StrCpy ${LangCdeSys} "es"
429 StrCpy ${LangNmeSys} "Español"
430 StrCpy ${LangSysEnc} "1252"
433 ${if} ${LangISOCode} = 14346
434 StrCpy ${LangCdeSys} "es"
435 StrCpy ${LangNmeSys} "Español"
436 StrCpy ${LangSysEnc} "1252"
439 ${if} ${LangISOCode} = 20490
440 StrCpy ${LangCdeSys} "es"
441 StrCpy ${LangNmeSys} "Español"
442 StrCpy ${LangSysEnc} "1252"
447 #------------------------------------------
449 # To set later LyX's menu language
450 # therefore here are only declared the languages LyX is translated to
452 !macro GetLangCode LangCde Name LangEnc
454 ${if} ${Name} == "Ce
\9atina"
455 StrCpy ${LangCde} "cs_CZ"
456 StrCpy ${LangEnc} "cp-1250"
459 # ${if} ${Name} == "Chinese (China)"
460 # StrCpy ${LangCde} "zh_CN"
461 # StrCpy ${LangEnc} "cp-936"
464 ${if} ${Name} == "Chinese"
465 StrCpy ${LangCde} "zh_TW"
466 StrCpy ${LangEnc} "cp-936"
469 ${if} ${Name} == "Dansk"
470 StrCpy ${LangCde} "da_DK"
471 StrCpy ${LangEnc} "cp-1252"
474 ${if} ${Name} == "Deutsch"
475 StrCpy ${LangCde} "de_DE"
476 StrCpy ${LangEnc} "cp-1252"
479 ${if} ${Name} == "English"
480 StrCpy ${LangCde} "en_EN"
481 StrCpy ${LangEnc} "cp-1252"
484 ${if} ${Name} == "Español"
485 StrCpy ${LangCde} "es_ES"
486 StrCpy ${LangEnc} "cp-1252"
489 ${if} ${Name} == "Euskara"
490 StrCpy ${LangCde} "eu_EU"
491 StrCpy ${LangEnc} "cp-1252"
494 ${if} ${Name} == "Français"
495 StrCpy ${LangCde} "fr_FR"
496 StrCpy ${LangEnc} "cp-1252"
499 ${if} ${Name} == "Galego"
500 StrCpy ${LangCde} "gl_ES"
501 StrCpy ${LangEnc} "cp-1252"
504 ${if} ${Name} == "Hebrew"
505 StrCpy ${LangCde} "he_IL"
506 StrCpy ${LangEnc} "cp-1255"
509 ${if} ${Name} == "Italiano"
510 StrCpy ${LangCde} "it_IT"
511 StrCpy ${LangEnc} "cp-1252"
514 ${if} ${Name} == "Japanese"
515 StrCpy ${LangCde} "ja_JP"
516 StrCpy ${LangEnc} "cp-932"
519 ${if} ${Name} == "Korean"
520 StrCpy ${LangCde} "ko" # no country code, see the definition in the file "SVN ~/lib/languages"
521 StrCpy ${LangEnc} "cp-949"
524 ${if} ${Name} == "Magyar"
525 StrCpy ${LangCde} "hu_HU"
526 StrCpy ${LangEnc} "cp-1250"
529 ${if} ${Name} == "Nederlands"
530 StrCpy ${LangCde} "nl_NL"
531 StrCpy ${LangEnc} "cp-1252"
534 ${if} ${Name} == "Norsk"
535 StrCpy ${LangCde} "nb_NO"
536 StrCpy ${LangEnc} "cp-1252"
539 ${if} ${Name} == "Nynorsk"
540 StrCpy ${LangCde} "nn_NO"
541 StrCpy ${LangEnc} "cp-1252"
544 ${if} ${Name} == "Polski"
545 StrCpy ${LangCde} "pl_PL"
546 StrCpy ${LangEnc} "cp-1250"
549 ${if} ${Name} == "Româna"
550 StrCpy ${LangCde} "ro_RO"
551 StrCpy ${LangEnc} "cp-1250"
554 ${if} ${Name} == "Russian"
555 StrCpy ${LangCde} "ru_RU"
556 StrCpy ${LangEnc} "cp-1251"
559 ${if} ${Name} == "Slovenský"
560 StrCpy ${LangCde} "sk_SK"
561 StrCpy ${LangEnc} "cp-1250"
564 ${if} ${Name} == "Sloven
\9acina"
565 StrCpy ${LangCde} "sl_SI"
566 StrCpy ${LangEnc} "cp-1250"
569 ${if} ${Name} == "Suomi"
570 StrCpy ${LangCde} "fi_FI"
571 StrCpy ${LangEnc} "cp-1252"
574 ${if} ${Name} == "Türkçe"
575 StrCpy ${LangCde} "tr_TR"
576 StrCpy ${LangEnc} "cp-1254"
581 #--------------------
582 # function that creates the installer page for the language setting
583 Function SelectMenuLanguage
585 !insertmacro MUI_INSTALLOPTIONS_EXTRACT "io_ui_language.ini"
587 ${if} $LangName == ""
588 # translate NSIS's language code to the language name
589 !insertmacro TranslateLangCode $LangName $LangNameSys $LangCodeSys $Language $LangSysEncoding
592 ${if} $LangName == ""
593 !insertmacro MUI_INSTALLOPTIONS_WRITE "io_ui_language.ini" "Field 2" "State" "English"
595 !insertmacro MUI_INSTALLOPTIONS_WRITE "io_ui_language.ini" "Field 2" "State" "$LangName"
598 !insertmacro MUI_HEADER_TEXT "$(LangSelectHeader)" ""
599 !insertmacro MUI_INSTALLOPTIONS_WRITE "io_ui_language.ini" "Field 1" "Text" "$(AvailableLang)"
600 !insertmacro MUI_INSTALLOPTIONS_DISPLAY "io_ui_language.ini"
601 !insertmacro MUI_INSTALLOPTIONS_READ $LangName "io_ui_language.ini" "Field 2" "State"
605 Function SelectMenuLanguage_LeaveFunction
607 !insertmacro MUI_INSTALLOPTIONS_READ $LangName "io_ui_language.ini" "Field 2" "State"
608 # Get the language code
610 !insertmacro GetLangCode $LangCode $LangName $LangEncoding # macro from lyx_utils.nsh