Chameleon

Chameleon Svn Source Tree

Root/branches/xZenu/src/util/doxygen/src/language.cpp

Source at commit 1322 created 12 years 8 months ago.
By meklort, Add doxygen to utils folder
1/******************************************************************************
2 *
3 *
4 *
5 * Copyright (C) 1997-2011 by Dimitri van Heesch.
6 *
7 * Permission to use, copy, modify, and distribute this software and its
8 * documentation under the terms of the GNU General Public License is hereby
9 * granted. No representations are made about the suitability of this software
10 * for any purpose. It is provided "as is" without express or implied warranty.
11 * See the GNU General Public License for more details.
12 *
13 * Documents produced by Doxygen are derivative works derived from the
14 * input used in their production; they are not affected by this license.
15 *
16 */
17
18#include "message.h"
19#include "language.h"
20#include "lang_cfg.h"
21#include "translator.h"
22#include "translatordecoder.h"
23#include "translator_en.h"
24#if !defined(ENGLISH_ONLY)
25#include "translator_adapter.h"
26#ifdef LANG_NL
27#include "translator_nl.h"
28#endif
29#ifdef LANG_SV
30#include "translator_sv.h"
31#endif
32#ifdef LANG_CZ
33#include "translator_cz.h"
34#endif
35#ifdef LANG_FR
36#include "translator_fr.h"
37#endif
38#ifdef LANG_ID
39#include "translator_id.h"
40#endif
41#ifdef LANG_IT
42#include "translator_it.h"
43#endif
44#ifdef LANG_DE
45#include "translator_de.h"
46#endif
47#ifdef LANG_JP
48#include "translator_jp.h"
49#endif
50#ifdef LANG_JE
51#include "translator_je.h"
52#endif
53#ifdef LANG_ES
54#include "translator_es.h"
55#endif
56#ifdef LANG_EO
57#include "translator_eo.h"
58#endif
59#ifdef LANG_FI
60#include "translator_fi.h"
61#endif
62#ifdef LANG_RU
63#include "translator_ru.h"
64#endif
65#ifdef LANG_HR
66#include "translator_hr.h"
67#endif
68#ifdef LANG_PL
69#include "translator_pl.h"
70#endif
71#ifdef LANG_PT
72#include "translator_pt.h"
73#endif
74#ifdef LANG_HU
75#include "translator_hu.h"
76#endif
77#ifdef LANG_KE
78#include "translator_ke.h"
79#endif
80#ifdef LANG_KR
81#include "translator_kr.h"
82#endif
83#ifdef LANG_RO
84#include "translator_ro.h"
85#endif
86#ifdef LANG_SI
87#include "translator_si.h"
88#endif
89#ifdef LANG_CN
90#include "translator_cn.h"
91#endif
92#ifdef LANG_TW
93#include "translator_tw.h"
94#endif
95#ifdef LANG_NO
96#include "translator_no.h"
97#endif
98#ifdef LANG_BR
99#include "translator_br.h"
100#endif
101#ifdef LANG_DK
102#include "translator_dk.h"
103#endif
104#ifdef LANG_SK
105#include "translator_sk.h"
106#endif
107#ifdef LANG_UA
108#include "translator_ua.h"
109#endif
110#ifdef LANG_GR
111#include "translator_gr.h"
112#endif
113#ifdef LANG_SR
114#include "translator_sr.h"
115#endif
116#ifdef LANG_CA
117#include "translator_ca.h"
118#endif
119//#ifdef LANG_JS
120//#include "translator_js.h"
121//#endif
122#ifdef LANG_LT
123#include "translator_lt.h"
124#endif
125#ifdef LANG_ZA
126#include "translator_za.h"
127#endif
128#ifdef LANG_AR
129#include "translator_ar.h"
130#endif
131#ifdef LANG_FA
132#include "translator_fa.h"
133#endif
134#ifdef LANG_MK
135#include "translator_mk.h"
136#endif
137#ifdef LANG_SC
138#include "translator_sc.h"
139#endif
140#ifdef LANG_VI
141#include "translator_vi.h"
142#endif
143#ifdef LANG_TR
144#include "translator_tr.h"
145#endif
146#endif // !ENGLISH_ONLY
147
148#define L_EQUAL(a) !stricmp(langName,a)
149
150Translator *theTranslator=0;
151
152static const char obsoleteMsg[] =
153 "---------\n"
154 "ERROR: The selected language is no longer supported!\n"
155 "If you want doxygen to produce output in this language \n"
156 "you are kindly requested to help bringing the documentation \n"
157 "up to date. Please read the development section of the manual \n"
158 "for more information or contact Petr Prikryl (Prikryl@skil.cz).\n"
159 "Thanks in advance!\n"
160 "---------\n";
161
162bool setTranslator(const char *langName)
163{
164 if (L_EQUAL("english"))
165 {
166 theTranslator=new TranslatorEnglish;
167 }
168#if !defined(ENGLISH_ONLY)
169#ifdef LANG_NL
170 else if (L_EQUAL("dutch"))
171 {
172 theTranslator=new TranslatorDutch;
173 }
174#endif
175#ifdef LANG_SV
176 else if (L_EQUAL("swedish"))
177 {
178 theTranslator=new TranslatorDecoder(new TranslatorSwedish);
179 }
180#endif
181#ifdef LANG_CZ
182 else if (L_EQUAL("czech"))
183 {
184 theTranslator=new TranslatorCzech;
185 }
186#endif
187#ifdef LANG_FR
188 else if (L_EQUAL("french"))
189 {
190 theTranslator=new TranslatorDecoder(new TranslatorFrench);
191 }
192#endif
193#ifdef LANG_ID
194 else if (L_EQUAL("indonesian"))
195 {
196 theTranslator=new TranslatorDecoder(new TranslatorIndonesian);
197 }
198#endif
199#ifdef LANG_IT
200 else if (L_EQUAL("italian"))
201 {
202 theTranslator=new TranslatorItalian;
203 }
204#endif
205#ifdef LANG_DE
206 else if (L_EQUAL("german"))
207 {
208 theTranslator=new TranslatorGerman;
209 }
210#endif
211#ifdef LANG_JP
212 else if (L_EQUAL("japanese"))
213 {
214 theTranslator=new TranslatorDecoder(new TranslatorJapanese);
215 }
216#endif
217#ifdef LANG_JE
218 else if (L_EQUAL("japanese-en"))
219 {
220 theTranslator=new TranslatorDecoder(new TranslatorJapaneseEn);
221 }
222#endif
223#ifdef LANG_ES
224 else if (L_EQUAL("spanish"))
225 {
226 theTranslator=new TranslatorSpanish;
227 }
228#endif
229#ifdef LANG_FI
230 else if (L_EQUAL("finnish"))
231 {
232 theTranslator=new TranslatorFinnish;
233 }
234#endif
235#ifdef LANG_RU
236 else if (L_EQUAL("russian"))
237 {
238 theTranslator=new TranslatorDecoder(new TranslatorRussian);
239 }
240#endif
241#ifdef LANG_HR
242 else if (L_EQUAL("croatian"))
243 {
244 theTranslator=new TranslatorCroatian;
245 }
246#endif
247#ifdef LANG_PL
248 else if (L_EQUAL("polish"))
249 {
250 theTranslator=new TranslatorPolish;
251 }
252#endif
253#ifdef LANG_PT
254 else if (L_EQUAL("portuguese"))
255 {
256 theTranslator=new TranslatorDecoder(new TranslatorPortuguese);
257 }
258#endif
259#ifdef LANG_HU
260 else if (L_EQUAL("hungarian"))
261 {
262 theTranslator=new TranslatorDecoder(new TranslatorHungarian);
263 }
264#endif
265#ifdef LANG_KR
266 else if (L_EQUAL("korean"))
267 {
268 theTranslator=new TranslatorDecoder(new TranslatorKorean);
269 }
270#endif
271#ifdef LANG_KE
272 else if (L_EQUAL("korean-en"))
273 {
274 theTranslator=new TranslatorDecoder(new TranslatorKoreanEn);
275 }
276#endif
277#ifdef LANG_RO
278 else if (L_EQUAL("romanian"))
279 {
280 theTranslator=new TranslatorDecoder(new TranslatorRomanian);
281 }
282#endif
283#ifdef LANG_SI
284 else if (L_EQUAL("slovene"))
285 {
286 theTranslator=new TranslatorDecoder(new TranslatorSlovene);
287 }
288#endif
289#ifdef LANG_CN
290 else if (L_EQUAL("chinese"))
291 {
292 theTranslator=new TranslatorDecoder(new TranslatorChinese);
293 }
294#endif
295#ifdef LANG_TW
296 else if (L_EQUAL("chinese-traditional"))
297 {
298 theTranslator=new TranslatorDecoder(new TranslatorChinesetraditional);
299 }
300#endif
301#ifdef LANG_NO
302 else if (L_EQUAL("norwegian"))
303 {
304 theTranslator=new TranslatorDecoder(new TranslatorNorwegian);
305 }
306#endif
307#ifdef LANG_BR
308 else if (L_EQUAL("brazilian"))
309 {
310 theTranslator=new TranslatorBrazilian;
311 }
312#endif
313#ifdef LANG_DK
314 else if (L_EQUAL("danish"))
315 {
316 theTranslator=new TranslatorDecoder(new TranslatorDanish);
317 }
318#endif
319#ifdef LANG_SK
320 else if (L_EQUAL("slovak"))
321 {
322 theTranslator=new TranslatorSlovak;
323 }
324#endif
325#ifdef LANG_UA
326 else if (L_EQUAL("ukrainian"))
327 {
328 theTranslator=new TranslatorDecoder(new TranslatorUkrainian);
329 }
330#endif
331#ifdef LANG_GR
332 else if (L_EQUAL("greek"))
333 {
334 theTranslator=new TranslatorGreek;
335 }
336#endif
337#ifdef LANG_SR
338 else if (L_EQUAL("serbian"))
339 {
340 theTranslator=new TranslatorDecoder(new TranslatorSerbian);
341 }
342#endif
343#ifdef LANG_SC
344 else if (L_EQUAL("serbian-cyrilic"))
345 {
346 theTranslator=new TranslatorSerbian;
347 }
348#endif
349#ifdef LANG_CA
350 else if (L_EQUAL("catalan"))
351 {
352 theTranslator=new TranslatorCatalan;
353 }
354#endif
355#ifdef LANG_LT
356 else if (L_EQUAL("lithuanian"))
357 {
358 theTranslator=new TranslatorDecoder(new TranslatorLithuanian);
359 }
360#endif
361#ifdef LANG_ZA
362 else if (L_EQUAL("afrikaans"))
363 {
364 theTranslator=new TranslatorDecoder(new TranslatorAfrikaans);
365 }
366#endif
367#ifdef LANG_AR
368 else if (L_EQUAL("arabic"))
369 {
370 theTranslator=new TranslatorDecoder(new TranslatorArabic);
371 }
372#endif
373#ifdef LANG_FA
374 else if (L_EQUAL("persian") || L_EQUAL("farsi"))
375 {
376 theTranslator=new TranslatorPersian;
377 }
378#endif
379#ifdef LANG_MK
380 else if (L_EQUAL("macedonian"))
381 {
382 theTranslator=new TranslatorMacedonian;
383 }
384#endif
385#ifdef LANG_VI
386 else if (L_EQUAL("vietnamese"))
387 {
388 theTranslator=new TranslatorVietnamese;
389 }
390#endif
391#ifdef LANG_TR
392 else if (L_EQUAL("turkish"))
393 {
394 theTranslator=new TranslatorTurkish;
395 }
396#endif
397#ifdef LANG_EO
398 else if (L_EQUAL("esperanto"))
399 {
400 theTranslator=new TranslatorEsperanto;
401 }
402#endif
403#endif // ENGLISH_ONLY
404 else // use the default language (i.e. english)
405 {
406 theTranslator=new TranslatorEnglish;
407 return FALSE;
408 }
409
410 QCString msg = theTranslator->updateNeededMessage();
411 if (!msg.isEmpty()) err(msg);
412 return TRUE;
413}
414

Archive Download this file

Revision: 1322