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"
36 ${if} ${LangISOCode} = 1029
37 StrCpy ${LangNme} "Ce
\9atina"
38 StrCpy ${LangCdeSys} "cs"
39 StrCpy ${LangNmeSys} "Ce
\9atina"
40 StrCpy ${LangSysEnc} "1250"
43 ${if} ${LangISOCode} = 1030
44 StrCpy ${LangNme} "Dansk"
45 StrCpy ${LangCdeSys} "da"
46 StrCpy ${LangNmeSys} "Dansk"
47 StrCpy ${LangSysEnc} "1252"
50 ${if} ${LangISOCode} = 1031
51 StrCpy ${LangNme} "Deutsch"
52 StrCpy ${LangCdeSys} "de"
53 StrCpy ${LangNmeSys} "Deutsch"
54 StrCpy ${LangSysEnc} "1252"
57 ${if} ${LangISOCode} = 1032
58 StrCpy ${LangCdeSys} "el"
59 StrCpy ${LangNmeSys} "Greek"
60 StrCpy ${LangSysEnc} "1253"
63 ${if} ${LangISOCode} = 1033
64 StrCpy ${LangNme} "English"
65 StrCpy ${LangCdeSys} "en"
66 StrCpy ${LangNmeSys} "English"
67 StrCpy ${LangSysEnc} "1252"
70 ${if} ${LangISOCode} = 1034
71 StrCpy ${LangNme} "Español"
72 StrCpy ${LangCdeSys} "es"
73 StrCpy ${LangNmeSys} "Español"
74 StrCpy ${LangSysEnc} "1252"
77 ${if} ${LangISOCode} = 1035
78 StrCpy ${LangNme} "Suomi"
79 StrCpy ${LangCdeSys} "fi"
80 StrCpy ${LangNmeSys} "Suomi"
81 StrCpy ${LangSysEnc} "1252"
84 ${if} ${LangISOCode} = 1036
85 StrCpy ${LangNme} "Français"
86 StrCpy ${LangCdeSys} "fr"
87 StrCpy ${LangNmeSys} "Français"
88 StrCpy ${LangSysEnc} "1252"
91 ${if} ${LangISOCode} = 1037
92 StrCpy ${LangCdeSys} "he"
93 StrCpy ${LangNmeSys} "Hebrew"
94 StrCpy ${LangSysEnc} "1255"
97 ${if} ${LangISOCode} = 1038
98 StrCpy ${LangNme} "Magyar"
99 StrCpy ${LangCdeSys} "hu"
100 StrCpy ${LangNmeSys} "Magyar"
101 StrCpy ${LangSysEnc} "1250"
104 ${if} ${LangISOCode} = 1039
105 StrCpy ${LangCdeSys} "is"
106 StrCpy ${LangNmeSys} "Íslenska"
107 StrCpy ${LangSysEnc} "1252"
110 ${if} ${LangISOCode} = 1040
111 StrCpy ${LangNme} "Italiano"
112 StrCpy ${LangCdeSys} "it"
113 StrCpy ${LangNmeSys} "Italiano"
114 StrCpy ${LangSysEnc} "1252"
117 # currently no dictionary available
118 # ${if} ${LangISOCode} = 1041
119 # StrCpy ${LangCdeSys} "ja"
120 # StrCpy ${LangNmeSys} "Japanese"
123 # currently no dictionary available
124 # ${if} ${LangISOCode} = 1042
125 # StrCpy ${LangCdeSys} "ko"
126 # StrCpy ${LangNmeSys} "Korean"
129 ${if} ${LangISOCode} = 1043
130 StrCpy ${LangNme} "Nederlands"
131 StrCpy ${LangCdeSys} "nl"
132 StrCpy ${LangNmeSys} "Nederlands"
133 StrCpy ${LangSysEnc} "1252"
136 ${if} ${LangISOCode} = 1044
137 StrCpy ${LangNme} "Norsk"
138 StrCpy ${LangCdeSys} "no"
139 StrCpy ${LangNmeSys} "Norsk"
140 StrCpy ${LangSysEnc} "1252"
143 ${if} ${LangISOCode} = 1045
144 StrCpy ${LangNme} "Polski"
145 StrCpy ${LangCdeSys} "pl"
146 StrCpy ${LangNmeSys} "Polski"
147 StrCpy ${LangSysEnc} "1250"
150 ${if} ${LangISOCode} = 1046 # for portuguese (brasilian)
151 StrCpy ${LangNme} "English" # there is currently no portuguese translation of LyX but of the installer
152 StrCpy ${LangCdeSys} "pt"
153 StrCpy ${LangNmeSys} "Português"
154 StrCpy ${LangSysEnc} "1252"
157 ${if} ${LangISOCode} = 1048
158 StrCpy ${LangNme} "Româna"
159 StrCpy ${LangCdeSys} "ro"
160 StrCpy ${LangNmeSys} "Româna"
161 StrCpy ${LangSysEnc} "1250"
164 ${if} ${LangISOCode} = 1049
165 StrCpy ${LangNme} "Russian"
166 StrCpy ${LangCdeSys} "ru"
167 StrCpy ${LangNmeSys} "Russian"
168 StrCpy ${LangSysEnc} "1251"
171 ${if} ${LangISOCode} = 1050
172 StrCpy ${LangCdeSys} "hr"
173 StrCpy ${LangNmeSys} "Hrvatski"
174 StrCpy ${LangSysEnc} "1250"
177 ${if} ${LangISOCode} = 1051
178 StrCpy ${LangNme} "Slovenský"
179 StrCpy ${LangCdeSys} "sk"
180 StrCpy ${LangNmeSys} "Slovenský"
181 StrCpy ${LangSysEnc} "1250"
184 # currently no dictionary available
185 # ${if} ${LangISOCode} = 1052
186 # StrCpy ${LangCdeSys} "sq"
187 # StrCpy ${LangNmeSys} "Shqip"
188 # StrCpy ${LangSysEnc} "1252"
191 ${if} ${LangISOCode} = 1053
192 StrCpy ${LangNme} "Svenska"
193 StrCpy ${LangCdeSys} "sv"
194 StrCpy ${LangNmeSys} "Svenska"
195 StrCpy ${LangSysEnc} "1252"
198 # currently no dictionary available
199 # ${if} ${LangISOCode} = 1054
200 # StrCpy ${LangCdeSys} "th"
201 # StrCpy ${LangNmeSys} "Thai"
202 # StrCpy ${LangSysEnc} "874"
205 ${if} ${LangISOCode} = 1055
206 StrCpy ${LangNme} "Türkçe"
207 StrCpy ${LangCdeSys} "tr"
208 StrCpy ${LangNmeSys} "Türkçe"
209 StrCpy ${LangSysEnc} "1254"
212 ${if} ${LangISOCode} = 1058
213 StrCpy ${LangCdeSys} "uk"
214 StrCpy ${LangNmeSys} "Ukrainian"
215 StrCpy ${LangSysEnc} "1251"
218 ${if} ${LangISOCode} = 1060
219 StrCpy ${LangNme} "Sloven
\9acina"
220 StrCpy ${LangCdeSys} "sl"
221 StrCpy ${LangNmeSys} "Sloven
\9acina"
222 StrCpy ${LangSysEnc} "1250"
225 ${if} ${LangISOCode} = 1061
226 StrCpy ${LangCdeSys} "et"
227 StrCpy ${LangNmeSys} "Eesti"
228 StrCpy ${LangSysEnc} "1257"
231 ${if} ${LangISOCode} = 1062
232 StrCpy ${LangCdeSys} "lv"
233 StrCpy ${LangNmeSys} "Latvie
\9au"
234 StrCpy ${LangSysEnc} "1257"
237 ${if} ${LangISOCode} = 1063
238 StrCpy ${LangCdeSys} "lt"
239 StrCpy ${LangNmeSys} "Lietuva"
240 StrCpy ${LangSysEnc} "1257"
243 # currently no dictionary available
244 ${if} ${LangISOCode} = 1069
245 StrCpy ${LangNme} "Euskara"
246 StrCpy ${LangCdeSys} "eu"
247 StrCpy ${LangNmeSys} "Euskara"
248 StrCpy ${LangSysEnc} "1252"
251 ${if} ${LangISOCode} = 1078
252 StrCpy ${LangCdeSys} "af"
253 StrCpy ${LangNmeSys} "Afrikaans"
254 StrCpy ${LangSysEnc} "1252"
257 # currently no dictionary available
258 # ${if} ${LangISOCode} = 1081
259 # StrCpy ${LangCdeSys} "hi"
260 # StrCpy ${LangNmeSys} "Hindi"
263 ${if} ${LangISOCode} = 1110
264 StrCpy ${LangNme} "Galego"
265 StrCpy ${LangCdeSys} "gl"
266 StrCpy ${LangNmeSys} "Galego"
267 StrCpy ${LangSysEnc} "1252"
270 # currently no dictionary available
271 # ${if} ${LangISOCode} = 2052
272 # StrCpy ${LangCdeSys} "zh"
273 # StrCpy ${LangNmeSys} "Chinese"
276 ${if} ${LangISOCode} = 2055
277 StrCpy ${LangCdeSys} "de"
278 StrCpy ${LangNmeSys} "Deutsch"
279 StrCpy ${LangSysEnc} "1252"
282 ${if} ${LangISOCode} = 2057
283 StrCpy ${LangCdeSys} "en"
284 StrCpy ${LangNmeSys} "English"
285 StrCpy ${LangSysEnc} "1252"
288 ${if} ${LangISOCode} = 2058
289 StrCpy ${LangCdeSys} "es"
290 StrCpy ${LangNmeSys} "Español"
291 StrCpy ${LangSysEnc} "1252"
294 ${if} ${LangISOCode} = 2060
295 StrCpy ${LangCdeSys} "fr"
296 StrCpy ${LangNmeSys} "Français"
297 StrCpy ${LangSysEnc} "1252"
300 ${if} ${LangISOCode} = 2064
301 StrCpy ${LangCdeSys} "it"
302 StrCpy ${LangNmeSys} "Italiano"
303 StrCpy ${LangSysEnc} "1252"
306 ${if} ${LangISOCode} = 2067
307 StrCpy ${LangCdeSys} "nl"
308 StrCpy ${LangNmeSys} "Nederlands"
309 StrCpy ${LangSysEnc} "1252"
312 ${if} ${LangISOCode} = 2068
313 StrCpy ${LangNme} "Nynorsk"
314 StrCpy ${LangCdeSys} "nn"
315 StrCpy ${LangNmeSys} "Nynorsk"
316 StrCpy ${LangSysEnc} "1252"
319 ${if} ${LangISOCode} = 2070 # for portuguese
320 StrCpy ${LangNme} "English" # there is currently no portuguese translation of LyX but of the installer
321 StrCpy ${LangCdeSys} "pt"
322 StrCpy ${LangNmeSys} "Português"
323 StrCpy ${LangSysEnc} "1252"
326 ${if} ${LangISOCode} = 2074
327 StrCpy ${LangCdeSys} "sr"
328 StrCpy ${LangNmeSys} "Srpski"
329 StrCpy ${LangSysEnc} "1250"
332 ${if} ${LangISOCode} = 2077
333 StrCpy ${LangCdeSys} "sv"
334 StrCpy ${LangNmeSys} "Svenska"
335 StrCpy ${LangSysEnc} "1252"
338 ${if} ${LangISOCode} = 3079
339 StrCpy ${LangCdeSys} "de"
340 StrCpy ${LangNmeSys} "Deutsch"
341 StrCpy ${LangSysEnc} "1252"
344 ${if} ${LangISOCode} = 3081
345 StrCpy ${LangCdeSys} "en"
346 StrCpy ${LangNmeSys} "English"
347 StrCpy ${LangSysEnc} "1252"
350 ${if} ${LangISOCode} = 3082
351 StrCpy ${LangCdeSys} "es"
352 StrCpy ${LangNmeSys} "Español"
353 StrCpy ${LangSysEnc} "1252"
356 ${if} ${LangISOCode} = 3084
357 StrCpy ${LangCdeSys} "fr"
358 StrCpy ${LangNmeSys} "Français"
359 StrCpy ${LangSysEnc} "1252"
362 ${if} ${LangISOCode} = 4103
363 StrCpy ${LangCdeSys} "de"
364 StrCpy ${LangNmeSys} "Deutsch"
365 StrCpy ${LangSysEnc} "1252"
368 ${if} ${LangISOCode} = 4105
369 StrCpy ${LangCdeSys} "en"
370 StrCpy ${LangNmeSys} "English"
371 StrCpy ${LangSysEnc} "1252"
374 ${if} ${LangISOCode} = 4108
375 StrCpy ${LangCdeSys} "fr"
376 StrCpy ${LangNmeSys} "Français"
377 StrCpy ${LangSysEnc} "1252"
380 ${if} ${LangISOCode} = 5129
381 StrCpy ${LangCdeSys} "en"
382 StrCpy ${LangNmeSys} "English"
383 StrCpy ${LangSysEnc} "1252"
386 ${if} ${LangISOCode} = 5132
387 StrCpy ${LangCdeSys} "fr"
388 StrCpy ${LangNmeSys} "Français"
389 StrCpy ${LangSysEnc} "1252"
392 ${if} ${LangISOCode} = 7177
393 StrCpy ${LangCdeSys} "en"
394 StrCpy ${LangNmeSys} "English"
395 StrCpy ${LangSysEnc} "1252"
398 ${if} ${LangISOCode} = 11274
399 StrCpy ${LangCdeSys} "es"
400 StrCpy ${LangNmeSys} "Español"
401 StrCpy ${LangSysEnc} "1252"
404 ${if} ${LangISOCode} = 13322
405 StrCpy ${LangCdeSys} "es"
406 StrCpy ${LangNmeSys} "Español"
407 StrCpy ${LangSysEnc} "1252"
410 ${if} ${LangISOCode} = 14346
411 StrCpy ${LangCdeSys} "es"
412 StrCpy ${LangNmeSys} "Español"
413 StrCpy ${LangSysEnc} "1252"
416 ${if} ${LangISOCode} = 20490
417 StrCpy ${LangCdeSys} "es"
418 StrCpy ${LangNmeSys} "Español"
419 StrCpy ${LangSysEnc} "1252"
424 #------------------------------------------
426 # Setting LyX's menu language
428 !macro GetLangCode LangCde Name LangEnc
430 ${if} ${Name} == "Ce
\9atina"
431 StrCpy ${LangCde} "cs_CZ"
432 StrCpy ${LangEnc} "cp-1250"
435 ${if} ${Name} == "Dansk"
436 StrCpy ${LangCde} "da_DK"
437 StrCpy ${LangEnc} "cp-1252"
440 ${if} ${Name} == "Deutsch"
441 StrCpy ${LangCde} "de_DE"
442 StrCpy ${LangEnc} "cp-1252"
445 ${if} ${Name} == "English"
446 StrCpy ${LangCde} "en_EN"
447 StrCpy ${LangEnc} "cp-1252"
450 ${if} ${Name} == "Español"
451 StrCpy ${LangCde} "es_ES"
452 StrCpy ${LangEnc} "cp-1252"
455 ${if} ${Name} == "Euskara"
456 StrCpy ${LangCde} "eu_EU"
457 StrCpy ${LangEnc} "cp-1252"
460 ${if} ${Name} == "Français"
461 StrCpy ${LangCde} "fr_FR"
462 StrCpy ${LangEnc} "cp-1252"
465 ${if} ${Name} == "Galego"
466 StrCpy ${LangCde} "gl_ES"
467 StrCpy ${LangEnc} "cp-1252"
470 ${if} ${Name} == "Italiano"
471 StrCpy ${LangCde} "it_IT"
472 StrCpy ${LangEnc} "cp-1252"
475 ${if} ${Name} == "Magyar"
476 StrCpy ${LangCde} "hu_HU"
477 StrCpy ${LangEnc} "cp-1250"
480 ${if} ${Name} == "Nederlands"
481 StrCpy ${LangCde} "nl_NL"
482 StrCpy ${LangEnc} "cp-1252"
485 ${if} ${Name} == "Norsk"
486 StrCpy ${LangCde} "nb_NO"
487 StrCpy ${LangEnc} "cp-1252"
490 ${if} ${Name} == "Nynorsk"
491 StrCpy ${LangCde} "nn_NO"
492 StrCpy ${LangEnc} "cp-1252"
495 ${if} ${Name} == "Polski"
496 StrCpy ${LangCde} "pl_PL"
497 StrCpy ${LangEnc} "cp-1250"
500 ${if} ${Name} == "Româna"
501 StrCpy ${LangCde} "ro_RO"
502 StrCpy ${LangEnc} "cp-1250"
505 ${if} ${Name} == "Russian"
506 StrCpy ${LangCde} "ru_RU"
507 StrCpy ${LangEnc} "cp-1251"
510 ${if} ${Name} == "Slovenský"
511 StrCpy ${LangCde} "sk_SK"
512 StrCpy ${LangEnc} "cp-1250"
515 ${if} ${Name} == "Sloven
\9acina"
516 StrCpy ${LangCde} "sl_SI"
517 StrCpy ${LangEnc} "cp-1250"
520 ${if} ${Name} == "Suomi"
521 StrCpy ${LangCde} "fi_FI"
522 StrCpy ${LangEnc} "cp-1252"
525 ${if} ${Name} == "Türkçe"
526 StrCpy ${LangCde} "tr_TR"
527 StrCpy ${LangEnc} "cp-1254"
532 #--------------------
533 # function that creates the installer page for the language setting
534 Function SelectMenuLanguage
536 !insertmacro MUI_INSTALLOPTIONS_EXTRACT "io_ui_language.ini"
538 ${if} $LangName == ""
539 # translate NSIS's language code to the language name ; macro from lyx_utils.nsh
540 !insertmacro TranslateLangCode $LangName $LangNameSys $LangCodeSys $Language $LangSysEncoding
543 ${if} $LangName == ""
544 !insertmacro MUI_INSTALLOPTIONS_WRITE "io_ui_language.ini" "Field 2" "State" "English"
546 !insertmacro MUI_INSTALLOPTIONS_WRITE "io_ui_language.ini" "Field 2" "State" "$LangName"
549 !insertmacro MUI_HEADER_TEXT "$(LangSelectHeader)" ""
550 !insertmacro MUI_INSTALLOPTIONS_WRITE "io_ui_language.ini" "Field 1" "Text" "$(AvailableLang)"
551 !insertmacro MUI_INSTALLOPTIONS_DISPLAY "io_ui_language.ini"
552 !insertmacro MUI_INSTALLOPTIONS_READ $LangName "io_ui_language.ini" "Field 2" "State"
556 Function SelectMenuLanguage_LeaveFunction
558 !insertmacro MUI_INSTALLOPTIONS_READ $LangName "io_ui_language.ini" "Field 2" "State"
559 # Get the language code
561 !insertmacro GetLangCode $LangCode $LangName $LangEncoding # macro from lyx_utils.nsh