Statistiques
| Révision :

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

Historique | Voir | Annoter | Télécharger (7,19 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
!pragma warning error all
7

    
8
;--------------------------------
9

    
10
OutFile languages.exe
11

    
12
XPStyle on
13

    
14
RequestExecutionLevel user
15

    
16
Unicode True
17
;--------------------------------
18

    
19
Page license
20
Page components
21
Page instfiles
22

    
23
;--------------------------------
24

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

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

    
54
LicenseData $(myLicenseData)
55

    
56
; Set name using the normal interface (Name command)
57
LangString Name ${LANG_ENGLISH} "English"
58
LangString Name ${LANG_CZECH} "Czech"
59
LangString Name ${LANG_DUTCH} "Dutch"
60
LangString Name ${LANG_FRENCH} "French"
61
LangString Name ${LANG_GERMAN} "German"
62
LangString Name ${LANG_KOREAN} "Korean"
63
LangString Name ${LANG_RUSSIAN} "Russian"
64
LangString Name ${LANG_SPANISH} "Spanish"
65
LangString Name ${LANG_SWEDISH} "Swedish"
66
LangString Name ${LANG_TRADCHINESE} "Traditional Chinese"
67
LangString Name ${LANG_SIMPCHINESE} "Simplified Chinese"
68
LangString Name ${LANG_SLOVAK} "Slovak"
69

    
70
Name $(Name)
71

    
72
; Directly change the inner lang strings (Same as ComponentText)
73
LangString ^ComponentsText ${LANG_ENGLISH} "English component page"
74
LangString ^ComponentsText ${LANG_CZECH} "Czech component page"
75
LangString ^ComponentsText ${LANG_DUTCH} "Dutch component page"
76
LangString ^ComponentsText ${LANG_FRENCH} "French component page"
77
LangString ^ComponentsText ${LANG_GERMAN} "German component page"
78
LangString ^ComponentsText ${LANG_KOREAN} "Korean component page"
79
LangString ^ComponentsText ${LANG_RUSSIAN} "Russian component page"
80
LangString ^ComponentsText ${LANG_SPANISH} "Spanish component page"
81
LangString ^ComponentsText ${LANG_SWEDISH} "Swedish component page"
82
LangString ^ComponentsText ${LANG_TRADCHINESE} "Traditional Chinese component page"
83
LangString ^ComponentsText ${LANG_SIMPCHINESE} "Simplified Chinese component page"
84
LangString ^ComponentsText ${LANG_SLOVAK} "Slovak component page"
85

    
86
; Set one text for all languages (simply don't use a LangString)
87
CompletedText "Languages example completed"
88

    
89
; A LangString for the section name
90
LangString Sec1Name ${LANG_ENGLISH} "English section #1"
91
LangString Sec1Name ${LANG_CZECH} "Czech section #1"
92
LangString Sec1Name ${LANG_DUTCH} "Dutch section #1"
93
LangString Sec1Name ${LANG_FRENCH} "French section #1"
94
LangString Sec1Name ${LANG_GERMAN} "German section #1"
95
LangString Sec1Name ${LANG_KOREAN} "Korean section #1"
96
LangString Sec1Name ${LANG_RUSSIAN} "Russian section #1"
97
LangString Sec1Name ${LANG_SPANISH} "Spanish section #1"
98
LangString Sec1Name ${LANG_SWEDISH} "Swedish section #1"
99
LangString Sec1Name ${LANG_TRADCHINESE} "Trandional Chinese section #1"
100
LangString Sec1Name ${LANG_SIMPCHINESE} "Simplified Chinese section #1"
101
LangString Sec1Name ${LANG_SLOVAK} "Slovak section #1"
102

    
103
; A multilingual message
104
LangString Message ${LANG_ENGLISH} "English message"
105
LangString Message ${LANG_CZECH} "Czech message"
106
LangString Message ${LANG_DUTCH} "Dutch message"
107
LangString Message ${LANG_FRENCH} "French message"
108
LangString Message ${LANG_GERMAN} "German message"
109
LangString Message ${LANG_KOREAN} "Korean message"
110
LangString Message ${LANG_RUSSIAN} "Russian message"
111
LangString Message ${LANG_SPANISH} "Spanish message"
112
LangString Message ${LANG_SWEDISH} "Swedish message"
113
LangString Message ${LANG_TRADCHINESE} "Trandional Chinese message"
114
LangString Message ${LANG_SIMPCHINESE} "Simplified Chinese message"
115
LangString Message ${LANG_SLOVAK} "Slovak message"
116

    
117
;--------------------------------
118

    
119
;Section names set by Language strings
120
;It works with ! too
121
Section !$(Sec1Name) sec1
122
	MessageBox MB_OK $(Message)
123
SectionEnd
124

    
125
; The old, slow, wasteful way
126
; Look at this section and see why LangString is so much easier
127
Section "Section number two"
128
	StrCmp $LANGUAGE ${LANG_ENGLISH} 0 +2
129
		MessageBox MB_OK "Installing English stuff"
130
	StrCmp $LANGUAGE ${LANG_CZECH} 0 +2
131
		MessageBox MB_OK "Installing Czech stuff"
132
	StrCmp $LANGUAGE ${LANG_DUTCH} 0 +2
133
		MessageBox MB_OK "Installing Dutch stuff"
134
	StrCmp $LANGUAGE ${LANG_FRENCH} 0 +2
135
		MessageBox MB_OK "Installing French stuff"
136
	StrCmp $LANGUAGE ${LANG_GERMAN} 0 +2
137
		MessageBox MB_OK "Installing German stuff"
138
	StrCmp $LANGUAGE ${LANG_KOREAN} 0 +2
139
		MessageBox MB_OK "Installing Korean stuff"
140
	StrCmp $LANGUAGE ${LANG_RUSSIAN} 0 +2
141
		MessageBox MB_OK "Installing Russian stuff"
142
	StrCmp $LANGUAGE ${LANG_SPANISH} 0 +2
143
		MessageBox MB_OK "Installing Spanish stuff"
144
	StrCmp $LANGUAGE ${LANG_SWEDISH} 0 +2
145
		MessageBox MB_OK "Installing Swedish stuff"
146
	StrCmp $LANGUAGE ${LANG_TRADCHINESE} 0 +2
147
		MessageBox MB_OK "Installing Traditional Chinese stuff"
148
	StrCmp $LANGUAGE ${LANG_SIMPCHINESE} 0 +2
149
		MessageBox MB_OK "Installing Simplified Chinese stuff"
150
	StrCmp $LANGUAGE ${LANG_SLOVAK} 0 +2
151
		MessageBox MB_OK "Installing Slovak stuff"
152
SectionEnd
153

    
154
;--------------------------------
155

    
156
Function .onInit
157

    
158
	;Language selection dialog
159

    
160
	Push ""
161
	Push ${LANG_ENGLISH}
162
	Push English
163
	Push ${LANG_CZECH}
164
	Push Czech
165
	Push ${LANG_DUTCH}
166
	Push Dutch
167
	Push ${LANG_FRENCH}
168
	Push French
169
	Push ${LANG_GERMAN}
170
	Push German
171
	Push ${LANG_KOREAN}
172
	Push Korean
173
	Push ${LANG_RUSSIAN}
174
	Push Russian
175
	Push ${LANG_SPANISH}
176
	Push Spanish
177
	Push ${LANG_SWEDISH}
178
	Push Swedish
179
	Push ${LANG_TRADCHINESE}
180
	Push "Traditional Chinese"
181
	Push ${LANG_SIMPCHINESE}
182
	Push "Simplified Chinese"
183
	Push ${LANG_SLOVAK}
184
	Push Slovak
185
	Push A ; A means auto count languages
186
	       ; for the auto count to work the first empty push (Push "") must remain
187
	LangDLL::LangDialog "Installer Language" "Please select the language of the installer"
188

    
189
	Pop $LANGUAGE
190
	StrCmp $LANGUAGE "cancel" 0 +2
191
		Abort
192
FunctionEnd