Statistiques
| Révision :

root / tmp / org.txm.setups / nsis-2.5 / Examples / languages.nsi @ 3099

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

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