/****************************************************************************** * * * * Copyright (C) 1997-2015 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby * granted. No representations are made about the suitability of this software * for any purpose. It is provided "as is" without express or implied warranty. * See the GNU General Public License for more details. * * Documents produced by Doxygen are derivative works derived from the * input used in their production; they are not affected by this license. * */ #include "message.h" #include "config.h" #include "util.h" #include "language.h" #include "lang_cfg.h" #include "translator.h" #include "translator_en.h" #if !defined(ENGLISH_ONLY) #include "translator_adapter.h" #ifdef LANG_NL #include "translator_nl.h" #endif #ifdef LANG_AM #include "translator_am.h" #endif #ifdef LANG_SV #include "translator_sv.h" #endif #ifdef LANG_CZ #include "translator_cz.h" #endif #ifdef LANG_FR #include "translator_fr.h" #endif #ifdef LANG_ID #include "translator_id.h" #endif #ifdef LANG_IT #include "translator_it.h" #endif #ifdef LANG_DE #include "translator_de.h" #endif #ifdef LANG_JP #include "translator_jp.h" #endif #ifdef LANG_JE #include "translator_je.h" #endif #ifdef LANG_ES #include "translator_es.h" #endif #ifdef LANG_EO #include "translator_eo.h" #endif #ifdef LANG_FI #include "translator_fi.h" #endif #ifdef LANG_RU #include "translator_ru.h" #endif #ifdef LANG_HR #include "translator_hr.h" #endif #ifdef LANG_PL #include "translator_pl.h" #endif #ifdef LANG_PT #include "translator_pt.h" #endif #ifdef LANG_HU #include "translator_hu.h" #endif #ifdef LANG_KE #include "translator_ke.h" #endif #ifdef LANG_KR #include "translator_kr.h" #endif #ifdef LANG_RO #include "translator_ro.h" #endif #ifdef LANG_SI #include "translator_si.h" #endif #ifdef LANG_CN #include "translator_cn.h" #endif #ifdef LANG_TW #include "translator_tw.h" #endif #ifdef LANG_NO #include "translator_no.h" #endif #ifdef LANG_BR #include "translator_br.h" #endif #ifdef LANG_DK #include "translator_dk.h" #endif #ifdef LANG_SK #include "translator_sk.h" #endif #ifdef LANG_UA #include "translator_ua.h" #endif #ifdef LANG_GR #include "translator_gr.h" #endif #ifdef LANG_SR #include "translator_sr.h" #endif #ifdef LANG_CA #include "translator_ca.h" #endif //#ifdef LANG_JS //#include "translator_js.h" //#endif #ifdef LANG_LT #include "translator_lt.h" #endif #ifdef LANG_LV #include "translator_lv.h" #endif #ifdef LANG_ZA #include "translator_za.h" #endif #ifdef LANG_AR #include "translator_ar.h" #endif #ifdef LANG_FA #include "translator_fa.h" #endif #ifdef LANG_MK #include "translator_mk.h" #endif #ifdef LANG_SC #include "translator_sc.h" #endif #ifdef LANG_VI #include "translator_vi.h" #endif #ifdef LANG_TR #include "translator_tr.h" #endif #endif // !ENGLISH_ONLY #define L_EQUAL(a) !qstricmp(langName,a) Translator *theTranslator=0; bool setTranslator(const char *langName) { if (L_EQUAL("english")) { theTranslator=new TranslatorEnglish; } #if !defined(ENGLISH_ONLY) #ifdef LANG_NL else if (L_EQUAL("dutch")) { theTranslator=new TranslatorDutch; } #endif #ifdef LANG_AM else if (L_EQUAL("armenian")) { theTranslator=new TranslatorArmenian; } #endif #ifdef LANG_SV else if (L_EQUAL("swedish")) { theTranslator=new TranslatorSwedish; } #endif #ifdef LANG_CZ else if (L_EQUAL("czech")) { theTranslator=new TranslatorCzech; } #endif #ifdef LANG_FR else if (L_EQUAL("french")) { theTranslator=new TranslatorFrench; } #endif #ifdef LANG_ID else if (L_EQUAL("indonesian")) { theTranslator=new TranslatorIndonesian; } #endif #ifdef LANG_IT else if (L_EQUAL("italian")) { theTranslator=new TranslatorItalian; } #endif #ifdef LANG_DE else if (L_EQUAL("german")) { theTranslator=new TranslatorGerman; } #endif #ifdef LANG_JP else if (L_EQUAL("japanese")) { theTranslator=new TranslatorJapanese; } #endif #ifdef LANG_JE else if (L_EQUAL("japanese-en")) { theTranslator=new TranslatorJapaneseEn; } #endif #ifdef LANG_ES else if (L_EQUAL("spanish")) { theTranslator=new TranslatorSpanish; } #endif #ifdef LANG_FI else if (L_EQUAL("finnish")) { theTranslator=new TranslatorFinnish; } #endif #ifdef LANG_RU else if (L_EQUAL("russian")) { theTranslator=new TranslatorRussian; } #endif #ifdef LANG_HR else if (L_EQUAL("croatian")) { theTranslator=new TranslatorCroatian; } #endif #ifdef LANG_PL else if (L_EQUAL("polish")) { theTranslator=new TranslatorPolish; } #endif #ifdef LANG_PT else if (L_EQUAL("portuguese")) { theTranslator=new TranslatorPortuguese; } #endif #ifdef LANG_HU else if (L_EQUAL("hungarian")) { theTranslator=new TranslatorHungarian; } #endif #ifdef LANG_KR else if (L_EQUAL("korean")) { theTranslator=new TranslatorKorean; } #endif #ifdef LANG_KE else if (L_EQUAL("korean-en")) { theTranslator=new TranslatorKoreanEn; } #endif #ifdef LANG_RO else if (L_EQUAL("romanian")) { theTranslator=new TranslatorRomanian; } #endif #ifdef LANG_SI else if (L_EQUAL("slovene")) { theTranslator=new TranslatorSlovene; } #endif #ifdef LANG_CN else if (L_EQUAL("chinese")) { theTranslator=new TranslatorChinese; } #endif #ifdef LANG_TW else if (L_EQUAL("chinese-traditional")) { theTranslator=new TranslatorChinesetraditional; } #endif #ifdef LANG_NO else if (L_EQUAL("norwegian")) { theTranslator=new TranslatorNorwegian; } #endif #ifdef LANG_BR else if (L_EQUAL("brazilian")) { theTranslator=new TranslatorBrazilian; } #endif #ifdef LANG_DK else if (L_EQUAL("danish")) { theTranslator=new TranslatorDanish; } #endif #ifdef LANG_SK else if (L_EQUAL("slovak")) { theTranslator=new TranslatorSlovak; } #endif #ifdef LANG_UA else if (L_EQUAL("ukrainian")) { theTranslator=new TranslatorUkrainian; } #endif #ifdef LANG_GR else if (L_EQUAL("greek")) { theTranslator=new TranslatorGreek; } #endif #ifdef LANG_SR else if (L_EQUAL("serbian")) { theTranslator=new TranslatorSerbian; } #endif #ifdef LANG_SC else if (L_EQUAL("serbian-cyrillic") || L_EQUAL("serbiancyr")) /* serbiancyr for consistency with older versions */ { theTranslator=new TranslatorSerbianCyrillic; } #endif #ifdef LANG_CA else if (L_EQUAL("catalan")) { theTranslator=new TranslatorCatalan; } #endif #ifdef LANG_LT else if (L_EQUAL("lithuanian")) { theTranslator=new TranslatorLithuanian; } #endif #ifdef LANG_LV else if (L_EQUAL("latvian")) { theTranslator=new TranslatorLatvian; } #endif #ifdef LANG_ZA else if (L_EQUAL("afrikaans")) { theTranslator=new TranslatorAfrikaans; } #endif #ifdef LANG_AR else if (L_EQUAL("arabic")) { theTranslator=new TranslatorArabic; } #endif #ifdef LANG_FA else if (L_EQUAL("persian") || L_EQUAL("farsi")) { theTranslator=new TranslatorPersian; } #endif #ifdef LANG_MK else if (L_EQUAL("macedonian")) { theTranslator=new TranslatorMacedonian; } #endif #ifdef LANG_VI else if (L_EQUAL("vietnamese")) { theTranslator=new TranslatorVietnamese; } #endif #ifdef LANG_TR else if (L_EQUAL("turkish")) { theTranslator=new TranslatorTurkish; } #endif #ifdef LANG_EO else if (L_EQUAL("esperanto")) { theTranslator=new TranslatorEsperanto; } #endif #endif // ENGLISH_ONLY else // use the default language (i.e. english) { theTranslator=new TranslatorEnglish; return FALSE; } QCString msg = theTranslator->updateNeededMessage(); if (!msg.isEmpty()) warn_uncond(msg); return TRUE; }