Statistiques
| Révision :

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

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

1 728 mdecorde
; languages.nsi
2 728 mdecorde
;
3 728 mdecorde
; This is an example of a multilingual installer
4 728 mdecorde
; The user can select the language on startup
5 728 mdecorde
6 728 mdecorde
;--------------------------------
7 728 mdecorde
8 728 mdecorde
OutFile languages.exe
9 728 mdecorde
10 728 mdecorde
XPStyle on
11 728 mdecorde
12 728 mdecorde
RequestExecutionLevel user
13 728 mdecorde
14 728 mdecorde
;--------------------------------
15 728 mdecorde
16 728 mdecorde
Page license
17 728 mdecorde
Page components
18 728 mdecorde
Page instfiles
19 728 mdecorde
20 728 mdecorde
;--------------------------------
21 728 mdecorde
22 728 mdecorde
; First is default
23 728 mdecorde
LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf"
24 728 mdecorde
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Dutch.nlf"
25 728 mdecorde
LoadLanguageFile "${NSISDIR}\Contrib\Language files\French.nlf"
26 728 mdecorde
LoadLanguageFile "${NSISDIR}\Contrib\Language files\German.nlf"
27 728 mdecorde
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Korean.nlf"
28 728 mdecorde
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Russian.nlf"
29 728 mdecorde
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Spanish.nlf"
30 728 mdecorde
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Swedish.nlf"
31 728 mdecorde
LoadLanguageFile "${NSISDIR}\Contrib\Language files\TradChinese.nlf"
32 728 mdecorde
LoadLanguageFile "${NSISDIR}\Contrib\Language files\SimpChinese.nlf"
33 728 mdecorde
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Slovak.nlf"
34 728 mdecorde
35 728 mdecorde
; License data
36 728 mdecorde
; Not exactly translated, but it shows what's needed
37 728 mdecorde
LicenseLangString myLicenseData ${LANG_ENGLISH} "bigtest.nsi"
38 728 mdecorde
LicenseLangString myLicenseData ${LANG_DUTCH} "waplugin.nsi"
39 728 mdecorde
LicenseLangString myLicenseData ${LANG_FRENCH} "example1.nsi"
40 728 mdecorde
LicenseLangString myLicenseData ${LANG_GERMAN} "example2.nsi"
41 728 mdecorde
LicenseLangString myLicenseData ${LANG_KOREAN} "gfx.nsi"
42 728 mdecorde
LicenseLangString myLicenseData ${LANG_RUSSIAN} "languages.nsi"
43 728 mdecorde
LicenseLangString myLicenseData ${LANG_SPANISH} "LogicLib.nsi"
44 728 mdecorde
LicenseLangString myLicenseData ${LANG_SWEDISH} "makensis.nsi"
45 728 mdecorde
LicenseLangString myLicenseData ${LANG_TRADCHINESE} "one-section.nsi"
46 728 mdecorde
LicenseLangString myLicenseData ${LANG_SIMPCHINESE} "primes.nsi"
47 728 mdecorde
LicenseLangString myLicenseData ${LANG_SLOVAK} "silent.nsi"
48 728 mdecorde
49 728 mdecorde
LicenseData $(myLicenseData)
50 728 mdecorde
51 728 mdecorde
; Set name using the normal interface (Name command)
52 728 mdecorde
LangString Name ${LANG_ENGLISH} "English"
53 728 mdecorde
LangString Name ${LANG_DUTCH} "Dutch"
54 728 mdecorde
LangString Name ${LANG_FRENCH} "French"
55 728 mdecorde
LangString Name ${LANG_GERMAN} "German"
56 728 mdecorde
LangString Name ${LANG_KOREAN} "Korean"
57 728 mdecorde
LangString Name ${LANG_RUSSIAN} "Russian"
58 728 mdecorde
LangString Name ${LANG_SPANISH} "Spanish"
59 728 mdecorde
LangString Name ${LANG_SWEDISH} "Swedish"
60 728 mdecorde
LangString Name ${LANG_TRADCHINESE} "Traditional Chinese"
61 728 mdecorde
LangString Name ${LANG_SIMPCHINESE} "Simplified Chinese"
62 728 mdecorde
LangString Name ${LANG_SLOVAK} "Slovak"
63 728 mdecorde
64 728 mdecorde
Name $(Name)
65 728 mdecorde
66 728 mdecorde
; Directly change the inner lang strings (Same as ComponentText)
67 728 mdecorde
LangString ^ComponentsText ${LANG_ENGLISH} "English component page"
68 728 mdecorde
LangString ^ComponentsText ${LANG_DUTCH} "Dutch component page"
69 728 mdecorde
LangString ^ComponentsText ${LANG_FRENCH} "French component page"
70 728 mdecorde
LangString ^ComponentsText ${LANG_GERMAN} "German component page"
71 728 mdecorde
LangString ^ComponentsText ${LANG_KOREAN} "Korean component page"
72 728 mdecorde
LangString ^ComponentsText ${LANG_RUSSIAN} "Russian component page"
73 728 mdecorde
LangString ^ComponentsText ${LANG_SPANISH} "Spanish component page"
74 728 mdecorde
LangString ^ComponentsText ${LANG_SWEDISH} "Swedish component page"
75 728 mdecorde
LangString ^ComponentsText ${LANG_TRADCHINESE} "Traditional Chinese component page"
76 728 mdecorde
LangString ^ComponentsText ${LANG_SIMPCHINESE} "Simplified Chinese component page"
77 728 mdecorde
LangString ^ComponentsText ${LANG_SLOVAK} "Slovak component page"
78 728 mdecorde
79 728 mdecorde
; Set one text for all languages (simply don't use a LangString)
80 728 mdecorde
CompletedText "Languages example completed"
81 728 mdecorde
82 728 mdecorde
; A LangString for the section name
83 728 mdecorde
LangString Sec1Name ${LANG_ENGLISH} "English section #1"
84 728 mdecorde
LangString Sec1Name ${LANG_DUTCH} "Dutch section #1"
85 728 mdecorde
LangString Sec1Name ${LANG_FRENCH} "French section #1"
86 728 mdecorde
LangString Sec1Name ${LANG_GERMAN} "German section #1"
87 728 mdecorde
LangString Sec1Name ${LANG_KOREAN} "Korean section #1"
88 728 mdecorde
LangString Sec1Name ${LANG_RUSSIAN} "Russian section #1"
89 728 mdecorde
LangString Sec1Name ${LANG_SPANISH} "Spanish section #1"
90 728 mdecorde
LangString Sec1Name ${LANG_SWEDISH} "Swedish section #1"
91 728 mdecorde
LangString Sec1Name ${LANG_TRADCHINESE} "Trandional Chinese section #1"
92 728 mdecorde
LangString Sec1Name ${LANG_SIMPCHINESE} "Simplified Chinese section #1"
93 728 mdecorde
LangString Sec1Name ${LANG_SLOVAK} "Slovak section #1"
94 728 mdecorde
95 728 mdecorde
; A multilingual message
96 728 mdecorde
LangString Message ${LANG_ENGLISH} "English message"
97 728 mdecorde
LangString Message ${LANG_DUTCH} "Dutch message"
98 728 mdecorde
LangString Message ${LANG_FRENCH} "French message"
99 728 mdecorde
LangString Message ${LANG_GERMAN} "German message"
100 728 mdecorde
LangString Message ${LANG_KOREAN} "Korean message"
101 728 mdecorde
LangString Message ${LANG_RUSSIAN} "Russian message"
102 728 mdecorde
LangString Message ${LANG_SPANISH} "Spanish message"
103 728 mdecorde
LangString Message ${LANG_SWEDISH} "Swedish message"
104 728 mdecorde
LangString Message ${LANG_TRADCHINESE} "Trandional Chinese message"
105 728 mdecorde
LangString Message ${LANG_SIMPCHINESE} "Simplified Chinese message"
106 728 mdecorde
LangString Message ${LANG_SLOVAK} "Slovak message"
107 728 mdecorde
108 728 mdecorde
;--------------------------------
109 728 mdecorde
110 728 mdecorde
;Section names set by Language strings
111 728 mdecorde
;It works with ! too
112 728 mdecorde
Section !$(Sec1Name) sec1
113 728 mdecorde
	MessageBox MB_OK $(Message)
114 728 mdecorde
SectionEnd
115 728 mdecorde
116 728 mdecorde
; The old, slow, wasteful way
117 728 mdecorde
; Look at this section and see why LangString is so much easier
118 728 mdecorde
Section "Section number two"
119 728 mdecorde
	StrCmp $LANGUAGE ${LANG_ENGLISH} 0 +2
120 728 mdecorde
		MessageBox MB_OK "Installing English stuff"
121 728 mdecorde
	StrCmp $LANGUAGE ${LANG_DUTCH} 0 +2
122 728 mdecorde
		MessageBox MB_OK "Installing Dutch stuff"
123 728 mdecorde
	StrCmp $LANGUAGE ${LANG_FRENCH} 0 +2
124 728 mdecorde
		MessageBox MB_OK "Installing French stuff"
125 728 mdecorde
	StrCmp $LANGUAGE ${LANG_GERMAN} 0 +2
126 728 mdecorde
		MessageBox MB_OK "Installing German stuff"
127 728 mdecorde
	StrCmp $LANGUAGE ${LANG_KOREAN} 0 +2
128 728 mdecorde
		MessageBox MB_OK "Installing Korean stuff"
129 728 mdecorde
	StrCmp $LANGUAGE ${LANG_RUSSIAN} 0 +2
130 728 mdecorde
		MessageBox MB_OK "Installing Russian stuff"
131 728 mdecorde
	StrCmp $LANGUAGE ${LANG_SPANISH} 0 +2
132 728 mdecorde
		MessageBox MB_OK "Installing Spanish stuff"
133 728 mdecorde
	StrCmp $LANGUAGE ${LANG_SWEDISH} 0 +2
134 728 mdecorde
		MessageBox MB_OK "Installing Swedish stuff"
135 728 mdecorde
	StrCmp $LANGUAGE ${LANG_TRADCHINESE} 0 +2
136 728 mdecorde
		MessageBox MB_OK "Installing Traditional Chinese stuff"
137 728 mdecorde
	StrCmp $LANGUAGE ${LANG_SIMPCHINESE} 0 +2
138 728 mdecorde
		MessageBox MB_OK "Installing Simplified Chinese stuff"
139 728 mdecorde
	StrCmp $LANGUAGE ${LANG_SLOVAK} 0 +2
140 728 mdecorde
		MessageBox MB_OK "Installing Slovak stuff"
141 728 mdecorde
SectionEnd
142 728 mdecorde
143 728 mdecorde
;--------------------------------
144 728 mdecorde
145 728 mdecorde
Function .onInit
146 728 mdecorde
147 728 mdecorde
	;Language selection dialog
148 728 mdecorde
149 728 mdecorde
	Push ""
150 728 mdecorde
	Push ${LANG_ENGLISH}
151 728 mdecorde
	Push English
152 728 mdecorde
	Push ${LANG_DUTCH}
153 728 mdecorde
	Push Dutch
154 728 mdecorde
	Push ${LANG_FRENCH}
155 728 mdecorde
	Push French
156 728 mdecorde
	Push ${LANG_GERMAN}
157 728 mdecorde
	Push German
158 728 mdecorde
	Push ${LANG_KOREAN}
159 728 mdecorde
	Push Korean
160 728 mdecorde
	Push ${LANG_RUSSIAN}
161 728 mdecorde
	Push Russian
162 728 mdecorde
	Push ${LANG_SPANISH}
163 728 mdecorde
	Push Spanish
164 728 mdecorde
	Push ${LANG_SWEDISH}
165 728 mdecorde
	Push Swedish
166 728 mdecorde
	Push ${LANG_TRADCHINESE}
167 728 mdecorde
	Push "Traditional Chinese"
168 728 mdecorde
	Push ${LANG_SIMPCHINESE}
169 728 mdecorde
	Push "Simplified Chinese"
170 728 mdecorde
	Push ${LANG_SLOVAK}
171 728 mdecorde
	Push Slovak
172 728 mdecorde
	Push A ; A means auto count languages
173 728 mdecorde
	       ; for the auto count to work the first empty push (Push "") must remain
174 728 mdecorde
	LangDLL::LangDialog "Installer Language" "Please select the language of the installer"
175 728 mdecorde
176 728 mdecorde
	Pop $LANGUAGE
177 728 mdecorde
	StrCmp $LANGUAGE "cancel" 0 +2
178 728 mdecorde
		Abort
179 728 mdecorde
FunctionEnd