]> git.lyx.org Git - lyx.git/blob - development/Win32/packaging/AltInstaller/LanguageSettings.nsh
installer updates
[lyx.git] / development / Win32 / packaging / AltInstaller / LanguageSettings.nsh
1 # Language settings for the installer
2 # create language code for the Windows system language
3
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
9
10  StrCpy ${LangCdeSys} ""
11
12   ${if} ${LangISOCode} = 1025
13    StrCpy ${LangCdeSys} "ar"
14    StrCpy ${LangNmeSys} "Arabic"
15    StrCpy ${LangSysEnc} "1256"
16   ${endif}
17
18   ${if} ${LangISOCode} = 1026
19    StrCpy ${LangCdeSys} "bg"
20    StrCpy ${LangNmeSys} "Bulgarian"
21    StrCpy ${LangSysEnc} "1251"
22   ${endif}
23
24   ${if} ${LangISOCode} = 1027
25    StrCpy ${LangCdeSys} "ca"
26    StrCpy ${LangNmeSys} "Català"
27    StrCpy ${LangSysEnc} "1252"
28   ${endif}
29
30 # currently no dictionary available
31 #  ${if} ${LangISOCode} = 1028
32 #   StrCpy ${LangCdeSys} "zh"
33 #   StrCpy ${LangNmeSys} "Chinese"
34 #   StrCpy ${LangSysEnc} "936"
35 #  ${endif}
36
37   ${if} ${LangISOCode} = 1029
38    StrCpy ${LangNme} "Ce\9atina"
39    StrCpy ${LangCdeSys} "cs"
40    StrCpy ${LangNmeSys} "Ce\9atina"
41    StrCpy ${LangSysEnc} "1250"
42   ${endif}
43
44   ${if} ${LangISOCode} = 1030
45    StrCpy ${LangNme} "Dansk"
46    StrCpy ${LangCdeSys} "da"
47    StrCpy ${LangNmeSys} "Dansk"
48    StrCpy ${LangSysEnc} "1252"
49   ${endif}
50
51   ${if} ${LangISOCode} = 1031
52    StrCpy ${LangNme} "Deutsch"
53    StrCpy ${LangCdeSys} "de"
54    StrCpy ${LangNmeSys} "Deutsch"
55    StrCpy ${LangSysEnc} "1252"
56   ${endif}
57
58   ${if} ${LangISOCode} = 1032
59    StrCpy ${LangCdeSys} "el"
60    StrCpy ${LangNmeSys} "Greek"
61    StrCpy ${LangSysEnc} "1253"
62   ${endif}
63
64   ${if} ${LangISOCode} = 1033
65    StrCpy ${LangNme} "English"
66    StrCpy ${LangCdeSys} "en"
67    StrCpy ${LangNmeSys} "English"
68    StrCpy ${LangSysEnc} "1252"
69   ${endif}
70
71   ${if} ${LangISOCode} = 1034
72    StrCpy ${LangNme} "Español"
73    StrCpy ${LangCdeSys} "es"
74    StrCpy ${LangNmeSys} "Español"
75    StrCpy ${LangSysEnc} "1252"
76   ${endif}
77
78   ${if} ${LangISOCode} = 1035
79    StrCpy ${LangNme} "Suomi"
80    StrCpy ${LangCdeSys} "fi"
81    StrCpy ${LangNmeSys} "Suomi"
82    StrCpy ${LangSysEnc} "1252"
83   ${endif}
84
85   ${if} ${LangISOCode} = 1036
86    StrCpy ${LangNme} "Français"
87    StrCpy ${LangCdeSys} "fr"
88    StrCpy ${LangNmeSys} "Français"
89    StrCpy ${LangSysEnc} "1252"
90   ${endif}
91
92   ${if} ${LangISOCode} = 1037
93    StrCpy ${LangNme} "Hebrew"
94    StrCpy ${LangCdeSys} "he"
95    StrCpy ${LangNmeSys} "Hebrew"
96    StrCpy ${LangSysEnc} "1255"
97   ${endif}
98
99   ${if} ${LangISOCode} = 1038
100    StrCpy ${LangNme} "Magyar"
101    StrCpy ${LangCdeSys} "hu"
102    StrCpy ${LangNmeSys} "Magyar"
103    StrCpy ${LangSysEnc} "1250"
104   ${endif}
105
106   ${if} ${LangISOCode} = 1039
107    StrCpy ${LangCdeSys} "is"
108    StrCpy ${LangNmeSys} "Íslenska"
109    StrCpy ${LangSysEnc} "1252"
110   ${endif}
111
112   ${if} ${LangISOCode} = 1040
113    StrCpy ${LangNme} "Italiano"
114    StrCpy ${LangCdeSys} "it"
115    StrCpy ${LangNmeSys} "Italiano"
116    StrCpy ${LangSysEnc} "1252"
117   ${endif}
118
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"
125   ${endif}
126
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"
133   ${endif}
134
135   ${if} ${LangISOCode} = 1043
136    StrCpy ${LangNme} "Nederlands"
137    StrCpy ${LangCdeSys} "nl"
138    StrCpy ${LangNmeSys} "Nederlands"
139    StrCpy ${LangSysEnc} "1252"
140   ${endif}
141
142   ${if} ${LangISOCode} = 1044
143    StrCpy ${LangNme} "Norsk"
144    StrCpy ${LangCdeSys} "no"
145    StrCpy ${LangNmeSys} "Norsk"
146    StrCpy ${LangSysEnc} "1252"
147   ${endif}
148
149   ${if} ${LangISOCode} = 1045
150    StrCpy ${LangNme} "Polski"
151    StrCpy ${LangCdeSys} "pl"
152    StrCpy ${LangNmeSys} "Polski"
153    StrCpy ${LangSysEnc} "1250"
154   ${endif}
155
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"
161   ${endif}
162
163   ${if} ${LangISOCode} = 1048
164    StrCpy ${LangNme} "Româna"
165    StrCpy ${LangCdeSys} "ro"
166    StrCpy ${LangNmeSys} "Româna"
167    StrCpy ${LangSysEnc} "1250"
168   ${endif}
169
170   ${if} ${LangISOCode} = 1049
171    StrCpy ${LangNme} "Russian"
172    StrCpy ${LangCdeSys} "ru"
173    StrCpy ${LangNmeSys} "Russian"
174    StrCpy ${LangSysEnc} "1251"
175   ${endif}
176
177   ${if} ${LangISOCode} = 1050
178    StrCpy ${LangCdeSys} "hr"
179    StrCpy ${LangNmeSys} "Hrvatski"
180    StrCpy ${LangSysEnc} "1250"
181   ${endif}
182
183   ${if} ${LangISOCode} = 1051
184    StrCpy ${LangNme} "Slovenský"
185    StrCpy ${LangCdeSys} "sk"
186    StrCpy ${LangNmeSys} "Slovenský"
187    StrCpy ${LangSysEnc} "1250"
188   ${endif}
189
190 # currently no dictionary available
191 #  ${if} ${LangISOCode} = 1052
192 #   StrCpy ${LangCdeSys} "sq"
193 #   StrCpy ${LangNmeSys} "Shqip"
194 #   StrCpy ${LangSysEnc} "1252"
195 #  ${endif}
196
197   ${if} ${LangISOCode} = 1053
198    StrCpy ${LangNme} "Svenska"
199    StrCpy ${LangCdeSys} "sv"
200    StrCpy ${LangNmeSys} "Svenska"
201    StrCpy ${LangSysEnc} "1252"
202   ${endif}
203
204 # currently no dictionary available
205 #  ${if} ${LangISOCode} = 1054
206 #   StrCpy ${LangCdeSys} "th"
207 #   StrCpy ${LangNmeSys} "Thai"
208 #   StrCpy ${LangSysEnc} "874"
209 #  ${endif}
210
211   ${if} ${LangISOCode} = 1055
212    StrCpy ${LangNme} "Türkçe"
213    StrCpy ${LangCdeSys} "tr"
214    StrCpy ${LangNmeSys} "Türkçe"
215    StrCpy ${LangSysEnc} "1254"
216   ${endif}
217
218   ${if} ${LangISOCode} = 1058
219    StrCpy ${LangCdeSys} "uk"
220    StrCpy ${LangNmeSys} "Ukrainian"
221    StrCpy ${LangSysEnc} "1251"
222   ${endif}
223
224   ${if} ${LangISOCode} = 1060
225    StrCpy ${LangNme} "Sloven\9acina"
226    StrCpy ${LangCdeSys} "sl"
227    StrCpy ${LangNmeSys} "Sloven\9acina"
228    StrCpy ${LangSysEnc} "1250"
229   ${endif}
230
231   ${if} ${LangISOCode} = 1061
232    StrCpy ${LangCdeSys} "et"
233    StrCpy ${LangNmeSys} "Eesti"
234    StrCpy ${LangSysEnc} "1257"
235   ${endif}
236
237   ${if} ${LangISOCode} = 1062
238    StrCpy ${LangCdeSys} "lv"
239    StrCpy ${LangNmeSys} "Latvie\9au"
240    StrCpy ${LangSysEnc} "1257"
241   ${endif}
242
243   ${if} ${LangISOCode} = 1063
244    StrCpy ${LangCdeSys} "lt"
245    StrCpy ${LangNmeSys} "Lietuva"
246    StrCpy ${LangSysEnc} "1257"
247   ${endif}
248
249   # currently no dictionary available
250   ${if} ${LangISOCode} = 1069
251    StrCpy ${LangNme} "Euskara"
252    StrCpy ${LangCdeSys} "eu"
253    StrCpy ${LangNmeSys} "Euskara"
254    StrCpy ${LangSysEnc} "1252"
255   ${endif}
256
257   ${if} ${LangISOCode} = 1078
258    StrCpy ${LangCdeSys} "af"
259    StrCpy ${LangNmeSys} "Afrikaans"
260    StrCpy ${LangSysEnc} "1252"
261   ${endif}
262
263 # currently no dictionary available
264 #  ${if} ${LangISOCode} = 1081
265 #   StrCpy ${LangCdeSys} "hi"
266 #   StrCpy ${LangNmeSys} "Hindi"
267 #  ${endif}
268
269   ${if} ${LangISOCode} = 1110
270    StrCpy ${LangNme} "Galego"
271    StrCpy ${LangCdeSys} "gl"
272    StrCpy ${LangNmeSys} "Galego"
273    StrCpy ${LangSysEnc} "1252"
274   ${endif}
275
276 # currently no dictionary available
277 #  ${if} ${LangISOCode} = 2052
278 #   StrCpy ${LangCdeSys} "zh"
279 #   StrCpy ${LangNmeSys} "Chinese"
280 #   StrCpy ${LangSysEnc} "936"
281 #  ${endif}
282
283   ${if} ${LangISOCode} = 2055
284    StrCpy ${LangCdeSys} "de"
285    StrCpy ${LangNmeSys} "Deutsch"
286    StrCpy ${LangSysEnc} "1252"
287   ${endif}
288
289   ${if} ${LangISOCode} = 2057
290    StrCpy ${LangCdeSys} "en"
291    StrCpy ${LangNmeSys} "English"
292    StrCpy ${LangSysEnc} "1252"
293   ${endif}
294
295   ${if} ${LangISOCode} = 2058
296    StrCpy ${LangCdeSys} "es"
297    StrCpy ${LangNmeSys} "Español"
298    StrCpy ${LangSysEnc} "1252"
299   ${endif}
300
301   ${if} ${LangISOCode} = 2060
302    StrCpy ${LangCdeSys} "fr"
303    StrCpy ${LangNmeSys} "Français"
304    StrCpy ${LangSysEnc} "1252"
305   ${endif}
306
307   ${if} ${LangISOCode} = 2064
308    StrCpy ${LangCdeSys} "it"
309    StrCpy ${LangNmeSys} "Italiano"
310    StrCpy ${LangSysEnc} "1252"
311   ${endif}
312
313   ${if} ${LangISOCode} = 2067
314    StrCpy ${LangCdeSys} "nl"
315    StrCpy ${LangNmeSys} "Nederlands"
316    StrCpy ${LangSysEnc} "1252"
317   ${endif}
318
319   ${if} ${LangISOCode} = 2068
320    StrCpy ${LangNme} "Nynorsk"
321    StrCpy ${LangCdeSys} "nn"
322    StrCpy ${LangNmeSys} "Nynorsk"
323    StrCpy ${LangSysEnc} "1252"
324   ${endif}
325
326   ${if} ${LangISOCode} = 2070  # for portuguese
327    StrCpy ${LangNme} "English" # there is currently no portuguese translation of LyX but of the installer
328    StrCpy ${LangCdeSys} "pt"
329    StrCpy ${LangNmeSys} "Português"
330    StrCpy ${LangSysEnc} "1252"
331   ${endif}  
332
333   ${if} ${LangISOCode} = 2074
334    StrCpy ${LangCdeSys} "sr"
335    StrCpy ${LangNmeSys} "Srpski"
336    StrCpy ${LangSysEnc} "1250"
337   ${endif}
338
339   ${if} ${LangISOCode} = 2077
340    StrCpy ${LangCdeSys} "sv"
341    StrCpy ${LangNmeSys} "Svenska"
342    StrCpy ${LangSysEnc} "1252"
343   ${endif}
344
345   ${if} ${LangISOCode} = 3079
346    StrCpy ${LangCdeSys} "de"
347    StrCpy ${LangNmeSys} "Deutsch"
348    StrCpy ${LangSysEnc} "1252"
349   ${endif}
350
351   ${if} ${LangISOCode} = 3081
352    StrCpy ${LangCdeSys} "en"
353    StrCpy ${LangNmeSys} "English"
354    StrCpy ${LangSysEnc} "1252"
355   ${endif}
356
357   ${if} ${LangISOCode} = 3082
358    StrCpy ${LangCdeSys} "es"
359    StrCpy ${LangNmeSys} "Español"
360    StrCpy ${LangSysEnc} "1252"
361   ${endif}
362
363   ${if} ${LangISOCode} = 3084
364    StrCpy ${LangCdeSys} "fr"
365    StrCpy ${LangNmeSys} "Français"
366    StrCpy ${LangSysEnc} "1252"
367   ${endif}
368
369   ${if} ${LangISOCode} = 4103
370    StrCpy ${LangCdeSys} "de"
371    StrCpy ${LangNmeSys} "Deutsch"
372    StrCpy ${LangSysEnc} "1252"
373   ${endif}
374
375   ${if} ${LangISOCode} = 4105
376    StrCpy ${LangCdeSys} "en"
377    StrCpy ${LangNmeSys} "English"
378    StrCpy ${LangSysEnc} "1252"
379   ${endif}
380
381   ${if} ${LangISOCode} = 4108
382    StrCpy ${LangCdeSys} "fr"
383    StrCpy ${LangNmeSys} "Français"
384    StrCpy ${LangSysEnc} "1252"
385   ${endif}
386
387   ${if} ${LangISOCode} = 5129
388    StrCpy ${LangCdeSys} "en"
389    StrCpy ${LangNmeSys} "English"
390    StrCpy ${LangSysEnc} "1252"
391   ${endif}
392
393   ${if} ${LangISOCode} = 5132
394    StrCpy ${LangCdeSys} "fr"
395    StrCpy ${LangNmeSys} "Français"
396    StrCpy ${LangSysEnc} "1252"
397   ${endif}
398
399   ${if} ${LangISOCode} = 7177
400    StrCpy ${LangCdeSys} "en"
401    StrCpy ${LangNmeSys} "English"
402    StrCpy ${LangSysEnc} "1252"
403   ${endif}
404
405   ${if} ${LangISOCode} = 11274
406    StrCpy ${LangCdeSys} "es"
407    StrCpy ${LangNmeSys} "Español"
408    StrCpy ${LangSysEnc} "1252"
409   ${endif}
410
411   ${if} ${LangISOCode} = 13322
412    StrCpy ${LangCdeSys} "es"
413    StrCpy ${LangNmeSys} "Español"
414    StrCpy ${LangSysEnc} "1252"
415   ${endif}
416
417   ${if} ${LangISOCode} = 14346
418    StrCpy ${LangCdeSys} "es"
419    StrCpy ${LangNmeSys} "Español"
420    StrCpy ${LangSysEnc} "1252"
421   ${endif}
422
423   ${if} ${LangISOCode} = 20490
424    StrCpy ${LangCdeSys} "es"
425    StrCpy ${LangNmeSys} "Español"
426    StrCpy ${LangSysEnc} "1252"
427   ${endif}
428
429 !macroend
430
431 #------------------------------------------
432
433 # To set later LyX's menu language
434 # therefore here are only declared the languages LyX is translated to
435
436 !macro GetLangCode LangCde Name LangEnc
437
438   ${if} ${Name} == "Ce\9atina"
439    StrCpy ${LangCde} "cs_CZ"
440    StrCpy ${LangEnc} "cp-1250"
441   ${endif}
442
443   ${if} ${Name} == "Dansk"
444    StrCpy ${LangCde} "da_DK"
445    StrCpy ${LangEnc} "cp-1252"
446   ${endif}
447
448   ${if} ${Name} == "Deutsch"
449    StrCpy ${LangCde} "de_DE"
450    StrCpy ${LangEnc} "cp-1252"
451   ${endif}
452
453   ${if} ${Name} == "English"
454    StrCpy ${LangCde} "en_EN"
455    StrCpy ${LangEnc} "cp-1252"
456   ${endif}
457
458   ${if} ${Name} == "Español"
459    StrCpy ${LangCde} "es_ES"
460    StrCpy ${LangEnc} "cp-1252"
461   ${endif}
462
463   ${if} ${Name} == "Euskara"
464    StrCpy ${LangCde} "eu_EU"
465    StrCpy ${LangEnc} "cp-1252"
466   ${endif}
467
468   ${if} ${Name} == "Français"
469    StrCpy ${LangCde} "fr_FR"
470    StrCpy ${LangEnc} "cp-1252"
471   ${endif}
472
473   ${if} ${Name} == "Galego"
474    StrCpy ${LangCde} "gl_ES"
475    StrCpy ${LangEnc} "cp-1252"
476   ${endif}
477
478   ${if} ${Name} == "Hebrew"
479    StrCpy ${LangCde} "he_IL"
480    StrCpy ${LangEnc} "cp-1255"
481   ${endif}
482
483   ${if} ${Name} == "Italiano"
484    StrCpy ${LangCde} "it_IT"
485    StrCpy ${LangEnc} "cp-1252"
486   ${endif}
487
488   ${if} ${Name} == "Japanese"
489    StrCpy ${LangCde} "ja_JP"
490    StrCpy ${LangEnc} "cp-932"
491   ${endif}
492
493   ${if} ${Name} == "Korean"
494    StrCpy ${LangCde} "ko" # no country code, see the definition in the file "SVN ~/lib/languages"
495    StrCpy ${LangEnc} "cp-949"
496   ${endif}
497
498   ${if} ${Name} == "Magyar"
499    StrCpy ${LangCde} "hu_HU"
500    StrCpy ${LangEnc} "cp-1250"
501   ${endif}
502
503   ${if} ${Name} == "Nederlands"
504    StrCpy ${LangCde} "nl_NL"
505    StrCpy ${LangEnc} "cp-1252"
506   ${endif}
507
508   ${if} ${Name} == "Norsk"
509    StrCpy ${LangCde} "nb_NO"
510    StrCpy ${LangEnc} "cp-1252"
511   ${endif}
512
513   ${if} ${Name} == "Nynorsk"
514    StrCpy ${LangCde} "nn_NO"
515    StrCpy ${LangEnc} "cp-1252"
516   ${endif}
517
518   ${if} ${Name} == "Polski"
519    StrCpy ${LangCde} "pl_PL"
520    StrCpy ${LangEnc} "cp-1250"
521   ${endif}
522
523   ${if} ${Name} == "Româna"
524    StrCpy ${LangCde} "ro_RO"
525    StrCpy ${LangEnc} "cp-1250"
526   ${endif}
527
528   ${if} ${Name} == "Russian"
529    StrCpy ${LangCde} "ru_RU"
530    StrCpy ${LangEnc} "cp-1251"
531   ${endif}
532
533   ${if} ${Name} == "Slovenský"
534    StrCpy ${LangCde} "sk_SK"
535    StrCpy ${LangEnc} "cp-1250"
536   ${endif}
537
538   ${if} ${Name} == "Sloven\9acina"
539    StrCpy ${LangCde} "sl_SI"
540    StrCpy ${LangEnc} "cp-1250"
541   ${endif}
542
543   ${if} ${Name} == "Suomi"
544    StrCpy ${LangCde} "fi_FI"
545    StrCpy ${LangEnc} "cp-1252"
546   ${endif}
547
548   ${if} ${Name} == "Türkçe"
549    StrCpy ${LangCde} "tr_TR"
550    StrCpy ${LangEnc} "cp-1254"
551   ${endif}
552
553 !macroend
554
555 #--------------------
556 # function that creates the installer page for the language setting
557 Function SelectMenuLanguage
558
559   !insertmacro MUI_INSTALLOPTIONS_EXTRACT "io_ui_language.ini"
560
561   ${if} $LangName == ""
562    # translate NSIS's language code to the language name
563    !insertmacro TranslateLangCode $LangName $LangNameSys $LangCodeSys $Language $LangSysEncoding
564   ${endif}
565
566   ${if} $LangName == ""
567    !insertmacro MUI_INSTALLOPTIONS_WRITE "io_ui_language.ini" "Field 2" "State" "English"
568   ${else}
569    !insertmacro MUI_INSTALLOPTIONS_WRITE "io_ui_language.ini" "Field 2" "State" "$LangName"
570   ${endif}
571
572   !insertmacro MUI_HEADER_TEXT "$(LangSelectHeader)" ""
573   !insertmacro MUI_INSTALLOPTIONS_WRITE "io_ui_language.ini" "Field 1" "Text" "$(AvailableLang)"
574   !insertmacro MUI_INSTALLOPTIONS_DISPLAY "io_ui_language.ini"
575   !insertmacro MUI_INSTALLOPTIONS_READ $LangName "io_ui_language.ini" "Field 2" "State"
576
577 FunctionEnd
578
579 Function SelectMenuLanguage_LeaveFunction
580
581   !insertmacro MUI_INSTALLOPTIONS_READ $LangName "io_ui_language.ini" "Field 2" "State"
582   # Get the language code
583   StrCpy $LangCode ""
584   !insertmacro GetLangCode $LangCode $LangName $LangEncoding # macro from lyx_utils.nsh
585
586 FunctionEnd
587