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 ${LangCdeSys} "ko"
130 # StrCpy ${LangNmeSys} "Korean"
131 # StrCpy ${LangSysEnc} "949"
134 ${if} ${LangISOCode} = 1043
135 StrCpy ${LangNme} "Nederlands"
136 StrCpy ${LangCdeSys} "nl"
137 StrCpy ${LangNmeSys} "Nederlands"
138 StrCpy ${LangSysEnc} "1252"
141 ${if} ${LangISOCode} = 1044
142 StrCpy ${LangNme} "Norsk"
143 StrCpy ${LangCdeSys} "no"
144 StrCpy ${LangNmeSys} "Norsk"
145 StrCpy ${LangSysEnc} "1252"
148 ${if} ${LangISOCode} = 1045
149 StrCpy ${LangNme} "Polski"
150 StrCpy ${LangCdeSys} "pl"
151 StrCpy ${LangNmeSys} "Polski"
152 StrCpy ${LangSysEnc} "1250"
155 ${if} ${LangISOCode} = 1046 # for portuguese (brasilian)
156 StrCpy ${LangNme} "English" # there is currently no portuguese translation of LyX but of the installer
157 StrCpy ${LangCdeSys} "pt"
158 StrCpy ${LangNmeSys} "Português"
159 StrCpy ${LangSysEnc} "1252"
162 ${if} ${LangISOCode} = 1048
163 StrCpy ${LangNme} "Româna"
164 StrCpy ${LangCdeSys} "ro"
165 StrCpy ${LangNmeSys} "Româna"
166 StrCpy ${LangSysEnc} "1250"
169 ${if} ${LangISOCode} = 1049
170 StrCpy ${LangNme} "Russian"
171 StrCpy ${LangCdeSys} "ru"
172 StrCpy ${LangNmeSys} "Russian"
173 StrCpy ${LangSysEnc} "1251"
176 ${if} ${LangISOCode} = 1050
177 StrCpy ${LangCdeSys} "hr"
178 StrCpy ${LangNmeSys} "Hrvatski"
179 StrCpy ${LangSysEnc} "1250"
182 ${if} ${LangISOCode} = 1051
183 StrCpy ${LangNme} "Slovenský"
184 StrCpy ${LangCdeSys} "sk"
185 StrCpy ${LangNmeSys} "Slovenský"
186 StrCpy ${LangSysEnc} "1250"
189 # currently no dictionary available
190 # ${if} ${LangISOCode} = 1052
191 # StrCpy ${LangCdeSys} "sq"
192 # StrCpy ${LangNmeSys} "Shqip"
193 # StrCpy ${LangSysEnc} "1252"
196 ${if} ${LangISOCode} = 1053
197 StrCpy ${LangNme} "Svenska"
198 StrCpy ${LangCdeSys} "sv"
199 StrCpy ${LangNmeSys} "Svenska"
200 StrCpy ${LangSysEnc} "1252"
203 # currently no dictionary available
204 # ${if} ${LangISOCode} = 1054
205 # StrCpy ${LangCdeSys} "th"
206 # StrCpy ${LangNmeSys} "Thai"
207 # StrCpy ${LangSysEnc} "874"
210 ${if} ${LangISOCode} = 1055
211 StrCpy ${LangNme} "Türkçe"
212 StrCpy ${LangCdeSys} "tr"
213 StrCpy ${LangNmeSys} "Türkçe"
214 StrCpy ${LangSysEnc} "1254"
217 ${if} ${LangISOCode} = 1058
218 StrCpy ${LangCdeSys} "uk"
219 StrCpy ${LangNmeSys} "Ukrainian"
220 StrCpy ${LangSysEnc} "1251"
223 ${if} ${LangISOCode} = 1060
224 StrCpy ${LangNme} "Sloven
\9acina"
225 StrCpy ${LangCdeSys} "sl"
226 StrCpy ${LangNmeSys} "Sloven
\9acina"
227 StrCpy ${LangSysEnc} "1250"
230 ${if} ${LangISOCode} = 1061
231 StrCpy ${LangCdeSys} "et"
232 StrCpy ${LangNmeSys} "Eesti"
233 StrCpy ${LangSysEnc} "1257"
236 ${if} ${LangISOCode} = 1062
237 StrCpy ${LangCdeSys} "lv"
238 StrCpy ${LangNmeSys} "Latvie
\9au"
239 StrCpy ${LangSysEnc} "1257"
242 ${if} ${LangISOCode} = 1063
243 StrCpy ${LangCdeSys} "lt"
244 StrCpy ${LangNmeSys} "Lietuva"
245 StrCpy ${LangSysEnc} "1257"
248 # currently no dictionary available
249 ${if} ${LangISOCode} = 1069
250 StrCpy ${LangNme} "Euskara"
251 StrCpy ${LangCdeSys} "eu"
252 StrCpy ${LangNmeSys} "Euskara"
253 StrCpy ${LangSysEnc} "1252"
256 ${if} ${LangISOCode} = 1078
257 StrCpy ${LangCdeSys} "af"
258 StrCpy ${LangNmeSys} "Afrikaans"
259 StrCpy ${LangSysEnc} "1252"
262 # currently no dictionary available
263 # ${if} ${LangISOCode} = 1081
264 # StrCpy ${LangCdeSys} "hi"
265 # StrCpy ${LangNmeSys} "Hindi"
268 ${if} ${LangISOCode} = 1110
269 StrCpy ${LangNme} "Galego"
270 StrCpy ${LangCdeSys} "gl"
271 StrCpy ${LangNmeSys} "Galego"
272 StrCpy ${LangSysEnc} "1252"
275 # currently no dictionary available
276 # ${if} ${LangISOCode} = 2052
277 # StrCpy ${LangCdeSys} "zh"
278 # StrCpy ${LangNmeSys} "Chinese"
279 # StrCpy ${LangSysEnc} "936"
282 ${if} ${LangISOCode} = 2055
283 StrCpy ${LangCdeSys} "de"
284 StrCpy ${LangNmeSys} "Deutsch"
285 StrCpy ${LangSysEnc} "1252"
288 ${if} ${LangISOCode} = 2057
289 StrCpy ${LangCdeSys} "en"
290 StrCpy ${LangNmeSys} "English"
291 StrCpy ${LangSysEnc} "1252"
294 ${if} ${LangISOCode} = 2058
295 StrCpy ${LangCdeSys} "es"
296 StrCpy ${LangNmeSys} "Español"
297 StrCpy ${LangSysEnc} "1252"
300 ${if} ${LangISOCode} = 2060
301 StrCpy ${LangCdeSys} "fr"
302 StrCpy ${LangNmeSys} "Français"
303 StrCpy ${LangSysEnc} "1252"
306 ${if} ${LangISOCode} = 2064
307 StrCpy ${LangCdeSys} "it"
308 StrCpy ${LangNmeSys} "Italiano"
309 StrCpy ${LangSysEnc} "1252"
312 ${if} ${LangISOCode} = 2067
313 StrCpy ${LangCdeSys} "nl"
314 StrCpy ${LangNmeSys} "Nederlands"
315 StrCpy ${LangSysEnc} "1252"
318 ${if} ${LangISOCode} = 2068
319 StrCpy ${LangNme} "Nynorsk"
320 StrCpy ${LangCdeSys} "nn"
321 StrCpy ${LangNmeSys} "Nynorsk"
322 StrCpy ${LangSysEnc} "1252"
325 ${if} ${LangISOCode} = 2070 # for portuguese
326 StrCpy ${LangNme} "English" # there is currently no portuguese translation of LyX but of the installer
327 StrCpy ${LangCdeSys} "pt"
328 StrCpy ${LangNmeSys} "Português"
329 StrCpy ${LangSysEnc} "1252"
332 ${if} ${LangISOCode} = 2074
333 StrCpy ${LangCdeSys} "sr"
334 StrCpy ${LangNmeSys} "Srpski"
335 StrCpy ${LangSysEnc} "1250"
338 ${if} ${LangISOCode} = 2077
339 StrCpy ${LangCdeSys} "sv"
340 StrCpy ${LangNmeSys} "Svenska"
341 StrCpy ${LangSysEnc} "1252"
344 ${if} ${LangISOCode} = 3079
345 StrCpy ${LangCdeSys} "de"
346 StrCpy ${LangNmeSys} "Deutsch"
347 StrCpy ${LangSysEnc} "1252"
350 ${if} ${LangISOCode} = 3081
351 StrCpy ${LangCdeSys} "en"
352 StrCpy ${LangNmeSys} "English"
353 StrCpy ${LangSysEnc} "1252"
356 ${if} ${LangISOCode} = 3082
357 StrCpy ${LangCdeSys} "es"
358 StrCpy ${LangNmeSys} "Español"
359 StrCpy ${LangSysEnc} "1252"
362 ${if} ${LangISOCode} = 3084
363 StrCpy ${LangCdeSys} "fr"
364 StrCpy ${LangNmeSys} "Français"
365 StrCpy ${LangSysEnc} "1252"
368 ${if} ${LangISOCode} = 4103
369 StrCpy ${LangCdeSys} "de"
370 StrCpy ${LangNmeSys} "Deutsch"
371 StrCpy ${LangSysEnc} "1252"
374 ${if} ${LangISOCode} = 4105
375 StrCpy ${LangCdeSys} "en"
376 StrCpy ${LangNmeSys} "English"
377 StrCpy ${LangSysEnc} "1252"
380 ${if} ${LangISOCode} = 4108
381 StrCpy ${LangCdeSys} "fr"
382 StrCpy ${LangNmeSys} "Français"
383 StrCpy ${LangSysEnc} "1252"
386 ${if} ${LangISOCode} = 5129
387 StrCpy ${LangCdeSys} "en"
388 StrCpy ${LangNmeSys} "English"
389 StrCpy ${LangSysEnc} "1252"
392 ${if} ${LangISOCode} = 5132
393 StrCpy ${LangCdeSys} "fr"
394 StrCpy ${LangNmeSys} "Français"
395 StrCpy ${LangSysEnc} "1252"
398 ${if} ${LangISOCode} = 7177
399 StrCpy ${LangCdeSys} "en"
400 StrCpy ${LangNmeSys} "English"
401 StrCpy ${LangSysEnc} "1252"
404 ${if} ${LangISOCode} = 11274
405 StrCpy ${LangCdeSys} "es"
406 StrCpy ${LangNmeSys} "Español"
407 StrCpy ${LangSysEnc} "1252"
410 ${if} ${LangISOCode} = 13322
411 StrCpy ${LangCdeSys} "es"
412 StrCpy ${LangNmeSys} "Español"
413 StrCpy ${LangSysEnc} "1252"
416 ${if} ${LangISOCode} = 14346
417 StrCpy ${LangCdeSys} "es"
418 StrCpy ${LangNmeSys} "Español"
419 StrCpy ${LangSysEnc} "1252"
422 ${if} ${LangISOCode} = 20490
423 StrCpy ${LangCdeSys} "es"
424 StrCpy ${LangNmeSys} "Español"
425 StrCpy ${LangSysEnc} "1252"
430 #------------------------------------------
432 # To set later LyX's menu language
433 # therefore here are only declared the languages LyX is translated to
435 !macro GetLangCode LangCde Name LangEnc
437 ${if} ${Name} == "Ce
\9atina"
438 StrCpy ${LangCde} "cs_CZ"
439 StrCpy ${LangEnc} "cp-1250"
442 ${if} ${Name} == "Dansk"
443 StrCpy ${LangCde} "da_DK"
444 StrCpy ${LangEnc} "cp-1252"
447 ${if} ${Name} == "Deutsch"
448 StrCpy ${LangCde} "de_DE"
449 StrCpy ${LangEnc} "cp-1252"
452 ${if} ${Name} == "English"
453 StrCpy ${LangCde} "en_EN"
454 StrCpy ${LangEnc} "cp-1252"
457 ${if} ${Name} == "Español"
458 StrCpy ${LangCde} "es_ES"
459 StrCpy ${LangEnc} "cp-1252"
462 ${if} ${Name} == "Euskara"
463 StrCpy ${LangCde} "eu_EU"
464 StrCpy ${LangEnc} "cp-1252"
467 ${if} ${Name} == "Français"
468 StrCpy ${LangCde} "fr_FR"
469 StrCpy ${LangEnc} "cp-1252"
472 ${if} ${Name} == "Galego"
473 StrCpy ${LangCde} "gl_ES"
474 StrCpy ${LangEnc} "cp-1252"
477 ${if} ${Name} == "Hebrew"
478 StrCpy ${LangCde} "he_IL"
479 StrCpy ${LangEnc} "cp-1255"
482 ${if} ${Name} == "Italiano"
483 StrCpy ${LangCde} "it_IT"
484 StrCpy ${LangEnc} "cp-1252"
487 ${if} ${Name} == "Japanese"
488 StrCpy ${LangCde} "ja_JP"
489 StrCpy ${LangEnc} "cp-932"
492 ${if} ${Name} == "Magyar"
493 StrCpy ${LangCde} "hu_HU"
494 StrCpy ${LangEnc} "cp-1250"
497 ${if} ${Name} == "Nederlands"
498 StrCpy ${LangCde} "nl_NL"
499 StrCpy ${LangEnc} "cp-1252"
502 ${if} ${Name} == "Norsk"
503 StrCpy ${LangCde} "nb_NO"
504 StrCpy ${LangEnc} "cp-1252"
507 ${if} ${Name} == "Nynorsk"
508 StrCpy ${LangCde} "nn_NO"
509 StrCpy ${LangEnc} "cp-1252"
512 ${if} ${Name} == "Polski"
513 StrCpy ${LangCde} "pl_PL"
514 StrCpy ${LangEnc} "cp-1250"
517 ${if} ${Name} == "Româna"
518 StrCpy ${LangCde} "ro_RO"
519 StrCpy ${LangEnc} "cp-1250"
522 ${if} ${Name} == "Russian"
523 StrCpy ${LangCde} "ru_RU"
524 StrCpy ${LangEnc} "cp-1251"
527 ${if} ${Name} == "Slovenský"
528 StrCpy ${LangCde} "sk_SK"
529 StrCpy ${LangEnc} "cp-1250"
532 ${if} ${Name} == "Sloven
\9acina"
533 StrCpy ${LangCde} "sl_SI"
534 StrCpy ${LangEnc} "cp-1250"
537 ${if} ${Name} == "Suomi"
538 StrCpy ${LangCde} "fi_FI"
539 StrCpy ${LangEnc} "cp-1252"
542 ${if} ${Name} == "Türkçe"
543 StrCpy ${LangCde} "tr_TR"
544 StrCpy ${LangEnc} "cp-1254"
549 #--------------------
550 # function that creates the installer page for the language setting
551 Function SelectMenuLanguage
553 !insertmacro MUI_INSTALLOPTIONS_EXTRACT "io_ui_language.ini"
555 ${if} $LangName == ""
556 # translate NSIS's language code to the language name
557 !insertmacro TranslateLangCode $LangName $LangNameSys $LangCodeSys $Language $LangSysEncoding
560 ${if} $LangName == ""
561 !insertmacro MUI_INSTALLOPTIONS_WRITE "io_ui_language.ini" "Field 2" "State" "English"
563 !insertmacro MUI_INSTALLOPTIONS_WRITE "io_ui_language.ini" "Field 2" "State" "$LangName"
566 !insertmacro MUI_HEADER_TEXT "$(LangSelectHeader)" ""
567 !insertmacro MUI_INSTALLOPTIONS_WRITE "io_ui_language.ini" "Field 1" "Text" "$(AvailableLang)"
568 !insertmacro MUI_INSTALLOPTIONS_DISPLAY "io_ui_language.ini"
569 !insertmacro MUI_INSTALLOPTIONS_READ $LangName "io_ui_language.ini" "Field 2" "State"
573 Function SelectMenuLanguage_LeaveFunction
575 !insertmacro MUI_INSTALLOPTIONS_READ $LangName "io_ui_language.ini" "Field 2" "State"
576 # Get the language code
578 !insertmacro GetLangCode $LangCode $LangName $LangEncoding # macro from lyx_utils.nsh