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 ${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"
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 ${if} ${LangISOCode} = 3079
355 StrCpy ${LangCdeSys} "de"
356 StrCpy ${LangNmeSys} "Deutsch"
357 StrCpy ${LangSysEnc} "1252"
360 ${if} ${LangISOCode} = 3081
361 StrCpy ${LangCdeSys} "en"
362 StrCpy ${LangNmeSys} "English"
363 StrCpy ${LangSysEnc} "1252"
366 ${if} ${LangISOCode} = 3082
367 StrCpy ${LangCdeSys} "es"
368 StrCpy ${LangNmeSys} "Español"
369 StrCpy ${LangSysEnc} "1252"
372 ${if} ${LangISOCode} = 3084
373 StrCpy ${LangCdeSys} "fr"
374 StrCpy ${LangNmeSys} "Français"
375 StrCpy ${LangSysEnc} "1252"
378 ${if} ${LangISOCode} = 4103
379 StrCpy ${LangCdeSys} "de"
380 StrCpy ${LangNmeSys} "Deutsch"
381 StrCpy ${LangSysEnc} "1252"
384 ${if} ${LangISOCode} = 4105
385 StrCpy ${LangCdeSys} "en"
386 StrCpy ${LangNmeSys} "English"
387 StrCpy ${LangSysEnc} "1252"
390 ${if} ${LangISOCode} = 4108
391 StrCpy ${LangCdeSys} "fr"
392 StrCpy ${LangNmeSys} "Français"
393 StrCpy ${LangSysEnc} "1252"
396 ${if} ${LangISOCode} = 5129
397 StrCpy ${LangCdeSys} "en"
398 StrCpy ${LangNmeSys} "English"
399 StrCpy ${LangSysEnc} "1252"
402 ${if} ${LangISOCode} = 5132
403 StrCpy ${LangCdeSys} "fr"
404 StrCpy ${LangNmeSys} "Français"
405 StrCpy ${LangSysEnc} "1252"
408 ${if} ${LangISOCode} = 7177
409 StrCpy ${LangCdeSys} "en"
410 StrCpy ${LangNmeSys} "English"
411 StrCpy ${LangSysEnc} "1252"
414 ${if} ${LangISOCode} = 11274
415 StrCpy ${LangCdeSys} "es"
416 StrCpy ${LangNmeSys} "Español"
417 StrCpy ${LangSysEnc} "1252"
420 ${if} ${LangISOCode} = 13322
421 StrCpy ${LangCdeSys} "es"
422 StrCpy ${LangNmeSys} "Español"
423 StrCpy ${LangSysEnc} "1252"
426 ${if} ${LangISOCode} = 14346
427 StrCpy ${LangCdeSys} "es"
428 StrCpy ${LangNmeSys} "Español"
429 StrCpy ${LangSysEnc} "1252"
432 ${if} ${LangISOCode} = 20490
433 StrCpy ${LangCdeSys} "es"
434 StrCpy ${LangNmeSys} "Español"
435 StrCpy ${LangSysEnc} "1252"
440 #------------------------------------------
442 # To set later LyX's menu language
443 # therefore here are only declared the languages LyX is translated to
445 !macro GetLangCode LangCde Name LangEnc
447 ${if} ${Name} == "Ce
\9atina"
448 StrCpy ${LangCde} "cs_CZ"
449 StrCpy ${LangEnc} "cp-1250"
452 ${if} ${Name} == "Dansk"
453 StrCpy ${LangCde} "da_DK"
454 StrCpy ${LangEnc} "cp-1252"
457 ${if} ${Name} == "Deutsch"
458 StrCpy ${LangCde} "de_DE"
459 StrCpy ${LangEnc} "cp-1252"
462 ${if} ${Name} == "English"
463 StrCpy ${LangCde} "en_EN"
464 StrCpy ${LangEnc} "cp-1252"
467 ${if} ${Name} == "Español"
468 StrCpy ${LangCde} "es_ES"
469 StrCpy ${LangEnc} "cp-1252"
472 ${if} ${Name} == "Euskara"
473 StrCpy ${LangCde} "eu_EU"
474 StrCpy ${LangEnc} "cp-1252"
477 ${if} ${Name} == "Français"
478 StrCpy ${LangCde} "fr_FR"
479 StrCpy ${LangEnc} "cp-1252"
482 ${if} ${Name} == "Galego"
483 StrCpy ${LangCde} "gl_ES"
484 StrCpy ${LangEnc} "cp-1252"
487 ${if} ${Name} == "Hebrew"
488 StrCpy ${LangCde} "he_IL"
489 StrCpy ${LangEnc} "cp-1255"
492 ${if} ${Name} == "Italiano"
493 StrCpy ${LangCde} "it_IT"
494 StrCpy ${LangEnc} "cp-1252"
497 ${if} ${Name} == "Japanese"
498 StrCpy ${LangCde} "ja_JP"
499 StrCpy ${LangEnc} "cp-932"
502 ${if} ${Name} == "Korean"
503 StrCpy ${LangCde} "ko" # no country code, see the definition in the file "SVN ~/lib/languages"
504 StrCpy ${LangEnc} "cp-949"
507 ${if} ${Name} == "Magyar"
508 StrCpy ${LangCde} "hu_HU"
509 StrCpy ${LangEnc} "cp-1250"
512 ${if} ${Name} == "Nederlands"
513 StrCpy ${LangCde} "nl_NL"
514 StrCpy ${LangEnc} "cp-1252"
517 ${if} ${Name} == "Norsk"
518 StrCpy ${LangCde} "nb_NO"
519 StrCpy ${LangEnc} "cp-1252"
522 ${if} ${Name} == "Nynorsk"
523 StrCpy ${LangCde} "nn_NO"
524 StrCpy ${LangEnc} "cp-1252"
527 ${if} ${Name} == "Polski"
528 StrCpy ${LangCde} "pl_PL"
529 StrCpy ${LangEnc} "cp-1250"
532 ${if} ${Name} == "Româna"
533 StrCpy ${LangCde} "ro_RO"
534 StrCpy ${LangEnc} "cp-1250"
537 ${if} ${Name} == "Russian"
538 StrCpy ${LangCde} "ru_RU"
539 StrCpy ${LangEnc} "cp-1251"
542 ${if} ${Name} == "Slovenský"
543 StrCpy ${LangCde} "sk_SK"
544 StrCpy ${LangEnc} "cp-1250"
547 ${if} ${Name} == "Sloven
\9acina"
548 StrCpy ${LangCde} "sl_SI"
549 StrCpy ${LangEnc} "cp-1250"
552 ${if} ${Name} == "Suomi"
553 StrCpy ${LangCde} "fi_FI"
554 StrCpy ${LangEnc} "cp-1252"
557 ${if} ${Name} == "Türkçe"
558 StrCpy ${LangCde} "tr_TR"
559 StrCpy ${LangEnc} "cp-1254"
564 #--------------------
565 # function that creates the installer page for the language setting
566 Function SelectMenuLanguage
568 !insertmacro MUI_INSTALLOPTIONS_EXTRACT "io_ui_language.ini"
570 ${if} $LangName == ""
571 # translate NSIS's language code to the language name
572 !insertmacro TranslateLangCode $LangName $LangNameSys $LangCodeSys $Language $LangSysEncoding
575 ${if} $LangName == ""
576 !insertmacro MUI_INSTALLOPTIONS_WRITE "io_ui_language.ini" "Field 2" "State" "English"
578 !insertmacro MUI_INSTALLOPTIONS_WRITE "io_ui_language.ini" "Field 2" "State" "$LangName"
581 !insertmacro MUI_HEADER_TEXT "$(LangSelectHeader)" ""
582 !insertmacro MUI_INSTALLOPTIONS_WRITE "io_ui_language.ini" "Field 1" "Text" "$(AvailableLang)"
583 !insertmacro MUI_INSTALLOPTIONS_DISPLAY "io_ui_language.ini"
584 !insertmacro MUI_INSTALLOPTIONS_READ $LangName "io_ui_language.ini" "Field 2" "State"
588 Function SelectMenuLanguage_LeaveFunction
590 !insertmacro MUI_INSTALLOPTIONS_READ $LangName "io_ui_language.ini" "Field 2" "State"
591 # Get the language code
593 !insertmacro GetLangCode $LangCode $LangName $LangEncoding # macro from lyx_utils.nsh