root / tmp / org.txm.setups / nsis / Examples / languages.nsi @ 3128
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 |