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 |