Statistiques
| Révision :

root / tmp / org.txm.setups / nsis / Examples / languages.nsi @ 1123

Historique | Voir | Annoter | Télécharger (6,71 ko)

1
; languages.nsi
2
;
3
; This is an example of a multilingual installer
4
; The user can select the language on startup
5

    
6
;--------------------------------
7

    
8
OutFile languages.exe
9

    
10
XPStyle on
11

    
12
RequestExecutionLevel user
13

    
14
;--------------------------------
15

    
16
Page license
17
Page components
18
Page instfiles
19

    
20
;--------------------------------
21

    
22
; First is default
23
LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf"
24
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Dutch.nlf"
25
LoadLanguageFile "${NSISDIR}\Contrib\Language files\French.nlf"
26
LoadLanguageFile "${NSISDIR}\Contrib\Language files\German.nlf"
27
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Korean.nlf"
28
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Russian.nlf"
29
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Spanish.nlf"
30
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Swedish.nlf"
31
LoadLanguageFile "${NSISDIR}\Contrib\Language files\TradChinese.nlf"
32
LoadLanguageFile "${NSISDIR}\Contrib\Language files\SimpChinese.nlf"
33
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Slovak.nlf"
34

    
35
; License data
36
; Not exactly translated, but it shows what's needed
37
LicenseLangString myLicenseData ${LANG_ENGLISH} "bigtest.nsi"
38
LicenseLangString myLicenseData ${LANG_DUTCH} "waplugin.nsi"
39
LicenseLangString myLicenseData ${LANG_FRENCH} "example1.nsi"
40
LicenseLangString myLicenseData ${LANG_GERMAN} "example2.nsi"
41
LicenseLangString myLicenseData ${LANG_KOREAN} "gfx.nsi"
42
LicenseLangString myLicenseData ${LANG_RUSSIAN} "languages.nsi"
43
LicenseLangString myLicenseData ${LANG_SPANISH} "LogicLib.nsi"
44
LicenseLangString myLicenseData ${LANG_SWEDISH} "makensis.nsi"
45
LicenseLangString myLicenseData ${LANG_TRADCHINESE} "one-section.nsi"
46
LicenseLangString myLicenseData ${LANG_SIMPCHINESE} "primes.nsi"
47
LicenseLangString myLicenseData ${LANG_SLOVAK} "silent.nsi"
48

    
49
LicenseData $(myLicenseData)
50

    
51
; Set name using the normal interface (Name command)
52
LangString Name ${LANG_ENGLISH} "English"
53
LangString Name ${LANG_DUTCH} "Dutch"
54
LangString Name ${LANG_FRENCH} "French"
55
LangString Name ${LANG_GERMAN} "German"
56
LangString Name ${LANG_KOREAN} "Korean"
57
LangString Name ${LANG_RUSSIAN} "Russian"
58
LangString Name ${LANG_SPANISH} "Spanish"
59
LangString Name ${LANG_SWEDISH} "Swedish"
60
LangString Name ${LANG_TRADCHINESE} "Traditional Chinese"
61
LangString Name ${LANG_SIMPCHINESE} "Simplified Chinese"
62
LangString Name ${LANG_SLOVAK} "Slovak"
63

    
64
Name $(Name)
65

    
66
; Directly change the inner lang strings (Same as ComponentText)
67
LangString ^ComponentsText ${LANG_ENGLISH} "English component page"
68
LangString ^ComponentsText ${LANG_DUTCH} "Dutch component page"
69
LangString ^ComponentsText ${LANG_FRENCH} "French component page"
70
LangString ^ComponentsText ${LANG_GERMAN} "German component page"
71
LangString ^ComponentsText ${LANG_KOREAN} "Korean component page"
72
LangString ^ComponentsText ${LANG_RUSSIAN} "Russian component page"
73
LangString ^ComponentsText ${LANG_SPANISH} "Spanish component page"
74
LangString ^ComponentsText ${LANG_SWEDISH} "Swedish component page"
75
LangString ^ComponentsText ${LANG_TRADCHINESE} "Traditional Chinese component page"
76
LangString ^ComponentsText ${LANG_SIMPCHINESE} "Simplified Chinese component page"
77
LangString ^ComponentsText ${LANG_SLOVAK} "Slovak component page"
78

    
79
; Set one text for all languages (simply don't use a LangString)
80
CompletedText "Languages example completed"
81

    
82
; A LangString for the section name
83
LangString Sec1Name ${LANG_ENGLISH} "English section #1"
84
LangString Sec1Name ${LANG_DUTCH} "Dutch section #1"
85
LangString Sec1Name ${LANG_FRENCH} "French section #1"
86
LangString Sec1Name ${LANG_GERMAN} "German section #1"
87
LangString Sec1Name ${LANG_KOREAN} "Korean section #1"
88
LangString Sec1Name ${LANG_RUSSIAN} "Russian section #1"
89
LangString Sec1Name ${LANG_SPANISH} "Spanish section #1"
90
LangString Sec1Name ${LANG_SWEDISH} "Swedish section #1"
91
LangString Sec1Name ${LANG_TRADCHINESE} "Trandional Chinese section #1"
92
LangString Sec1Name ${LANG_SIMPCHINESE} "Simplified Chinese section #1"
93
LangString Sec1Name ${LANG_SLOVAK} "Slovak section #1"
94

    
95
; A multilingual message
96
LangString Message ${LANG_ENGLISH} "English message"
97
LangString Message ${LANG_DUTCH} "Dutch message"
98
LangString Message ${LANG_FRENCH} "French message"
99
LangString Message ${LANG_GERMAN} "German message"
100
LangString Message ${LANG_KOREAN} "Korean message"
101
LangString Message ${LANG_RUSSIAN} "Russian message"
102
LangString Message ${LANG_SPANISH} "Spanish message"
103
LangString Message ${LANG_SWEDISH} "Swedish message"
104
LangString Message ${LANG_TRADCHINESE} "Trandional Chinese message"
105
LangString Message ${LANG_SIMPCHINESE} "Simplified Chinese message"
106
LangString Message ${LANG_SLOVAK} "Slovak message"
107

    
108
;--------------------------------
109

    
110
;Section names set by Language strings
111
;It works with ! too
112
Section !$(Sec1Name) sec1
113
	MessageBox MB_OK $(Message)
114
SectionEnd
115

    
116
; The old, slow, wasteful way
117
; Look at this section and see why LangString is so much easier
118
Section "Section number two"
119
	StrCmp $LANGUAGE ${LANG_ENGLISH} 0 +2
120
		MessageBox MB_OK "Installing English stuff"
121
	StrCmp $LANGUAGE ${LANG_DUTCH} 0 +2
122
		MessageBox MB_OK "Installing Dutch stuff"
123
	StrCmp $LANGUAGE ${LANG_FRENCH} 0 +2
124
		MessageBox MB_OK "Installing French stuff"
125
	StrCmp $LANGUAGE ${LANG_GERMAN} 0 +2
126
		MessageBox MB_OK "Installing German stuff"
127
	StrCmp $LANGUAGE ${LANG_KOREAN} 0 +2
128
		MessageBox MB_OK "Installing Korean stuff"
129
	StrCmp $LANGUAGE ${LANG_RUSSIAN} 0 +2
130
		MessageBox MB_OK "Installing Russian stuff"
131
	StrCmp $LANGUAGE ${LANG_SPANISH} 0 +2
132
		MessageBox MB_OK "Installing Spanish stuff"
133
	StrCmp $LANGUAGE ${LANG_SWEDISH} 0 +2
134
		MessageBox MB_OK "Installing Swedish stuff"
135
	StrCmp $LANGUAGE ${LANG_TRADCHINESE} 0 +2
136
		MessageBox MB_OK "Installing Traditional Chinese stuff"
137
	StrCmp $LANGUAGE ${LANG_SIMPCHINESE} 0 +2
138
		MessageBox MB_OK "Installing Simplified Chinese stuff"
139
	StrCmp $LANGUAGE ${LANG_SLOVAK} 0 +2
140
		MessageBox MB_OK "Installing Slovak stuff"
141
SectionEnd
142

    
143
;--------------------------------
144

    
145
Function .onInit
146

    
147
	;Language selection dialog
148

    
149
	Push ""
150
	Push ${LANG_ENGLISH}
151
	Push English
152
	Push ${LANG_DUTCH}
153
	Push Dutch
154
	Push ${LANG_FRENCH}
155
	Push French
156
	Push ${LANG_GERMAN}
157
	Push German
158
	Push ${LANG_KOREAN}
159
	Push Korean
160
	Push ${LANG_RUSSIAN}
161
	Push Russian
162
	Push ${LANG_SPANISH}
163
	Push Spanish
164
	Push ${LANG_SWEDISH}
165
	Push Swedish
166
	Push ${LANG_TRADCHINESE}
167
	Push "Traditional Chinese"
168
	Push ${LANG_SIMPCHINESE}
169
	Push "Simplified Chinese"
170
	Push ${LANG_SLOVAK}
171
	Push Slovak
172
	Push A ; A means auto count languages
173
	       ; for the auto count to work the first empty push (Push "") must remain
174
	LangDLL::LangDialog "Installer Language" "Please select the language of the installer"
175

    
176
	Pop $LANGUAGE
177
	StrCmp $LANGUAGE "cancel" 0 +2
178
		Abort
179
FunctionEnd