#ifndef TRANSLATOR_ADAPTER_H #define TRANSLATOR_ADAPTER_H #include "version.h" #include "translator.h" /** Base of the translator adapter tree. * * This abstract class provides access to the english * translations, to be used as a substitute for not implemented * local translations. */ class TranslatorAdapterBase : public Translator { protected: virtual ~TranslatorAdapterBase() {} TranslatorEnglish english; /*! An auxiliary inline method used by the updateNeededMessage() * for building a warning message. */ inline QCString createUpdateNeededMessage(const QCString & languageName, const QCString & versionString) { return QCString("The selected output language \"") + languageName + "\" has not been updated\nsince " + versionString + ". As a result some sentences may appear in English.\n\n"; } public: /*! This method is used to generate a warning message to signal * the user that the translation of his/her language of choice * needs updating. It must be implemented by the translator * adapter class (pure virtual). * * \sa createUpdateNeededMessage() */ virtual QCString updateNeededMessage() = 0; }; class TranslatorAdapter_1_8_4 : public TranslatorAdapterBase { public: virtual QCString updateNeededMessage() { return createUpdateNeededMessage(idLanguage(),"release 1.8.4"); } virtual QCString trInterfaces() { return english.trInterfaces(); } virtual QCString trServices() { return english.trServices(); } virtual QCString trConstantGroups() { return english.trConstantGroups(); } virtual QCString trConstantGroupReference(const char *namespaceName) { return english.trConstantGroupReference(namespaceName); } virtual QCString trServiceReference(const char *sName) { return english.trServiceReference(sName); } virtual QCString trSingletonReference(const char *sName) { return english.trSingletonReference(sName); } virtual QCString trServiceGeneratedFromFiles(bool single) { return english.trServiceGeneratedFromFiles(single); } virtual QCString trSingletonGeneratedFromFiles(bool single) { return english.trSingletonGeneratedFromFiles(single); } }; class TranslatorAdapter_1_8_2 : public TranslatorAdapter_1_8_4 { public: virtual QCString updateNeededMessage() { return createUpdateNeededMessage(idLanguage(),"release 1.8.2"); } virtual QCString trPanelSynchronisationTooltip(bool enable) { return english.trPanelSynchronisationTooltip(enable); } virtual QCString trProvidedByCategory() { return english.trProvidedByCategory(); } virtual QCString trExtendsClass() { return english.trExtendsClass(); } virtual QCString trClassMethods() { return english.trClassMethods(); } virtual QCString trInstanceMethods() { return english.trInstanceMethods(); } virtual QCString trMethodDocumentation() { return english.trMethodDocumentation(); } virtual QCString trDesignOverview() { return english.trDesignOverview(); } }; /** Adapter class for languages that only contain translations up to * version 1.8.0. */ class TranslatorAdapter_1_8_0 : public TranslatorAdapter_1_8_2 { public: virtual QCString updateNeededMessage() { return createUpdateNeededMessage(idLanguage(),"release 1.8.0"); } virtual QCString trDetailLevel() { return english.trDetailLevel(); } virtual QCString trTemplateParameters() { return english.trTemplateParameters(); } virtual QCString trAndMore(const QCString &number) { return english.trAndMore(number); } virtual QCString trEnumGeneratedFromFiles(bool single) { return english.trEnumGeneratedFromFiles(single); } virtual QCString trEnumReference(const char *name) { return english.trEnumReference(name); } virtual QCString trInheritedFrom(const char *members,const char *what) { return english.trInheritedFrom(members,what); } virtual QCString trAdditionalInheritedMembers() { return english.trAdditionalInheritedMembers(); } }; /** Adapter class for languages that only contain translations up to * version 1.7.5. */ class TranslatorAdapter_1_7_5 : public TranslatorAdapter_1_8_0 { public: virtual QCString updateNeededMessage() { return createUpdateNeededMessage(idLanguage(),"release 1.7.5"); } virtual QCString trCiteReferences() { return english.trCiteReferences(); } virtual QCString trCopyright() { return english.trCopyright(); } virtual QCString trDirDepGraph(const char *name) { return english.trDirDepGraph(name); } }; /** Adapter class for languages that only contain translations up to * version 1.6.3. */ class TranslatorAdapter_1_6_3 : public TranslatorAdapter_1_7_5 { public: virtual QCString updateNeededMessage() { return createUpdateNeededMessage(idLanguage(),"release 1.6.3"); } virtual QCString trFileIn(const char *name) { return english.trFileIn(name); } virtual QCString trIncludesFileIn(const char *name) { return english.trIncludesFileIn(name); } virtual QCString trDateTime(int year,int month,int day,int dayOfWeek, int hour,int minutes,int seconds, bool includeTime) { return english.trDateTime(year,month,day,dayOfWeek,hour,minutes,seconds,includeTime); } }; /** Adapter class for languages that only contain translations up to * version 1.6.0. */ class TranslatorAdapter_1_6_0 : public TranslatorAdapter_1_6_3 { public: virtual QCString updateNeededMessage() { return createUpdateNeededMessage(idLanguage(),"release 1.6.0"); } virtual QCString trDirRelation(const char *name) { return english.trDirRelation(name); } virtual QCString trLoading() { return english.trLoading(); } virtual QCString trGlobalNamespace() { return english.trGlobalNamespace(); } virtual QCString trSearching() { return english.trSearching(); } virtual QCString trNoMatches() { return english.trNoMatches(); } }; /** Adapter class for languages that only contain translations up to * version 1.5.4 */ class TranslatorAdapter_1_5_4 : public TranslatorAdapter_1_6_0 { public: virtual QCString updateNeededMessage() { return createUpdateNeededMessage(idLanguage(),"release 1.5.4"); } virtual QCString trMemberFunctionDocumentationFortran() { return english.trMemberFunctionDocumentationFortran(); } virtual QCString trCompoundListFortran() { return english.trCompoundListFortran(); } virtual QCString trCompoundMembersFortran() { return english.trCompoundMembersFortran(); } virtual QCString trCompoundListDescriptionFortran() { return english.trCompoundListDescriptionFortran(); } virtual QCString trCompoundMembersDescriptionFortran(bool extractAll) { return english.trCompoundMembersDescriptionFortran(extractAll); } virtual QCString trCompoundIndexFortran() { return english.trCompoundIndexFortran(); } virtual QCString trTypeDocumentation() { return english.trTypeDocumentation(); } virtual QCString trSubprograms() { return english.trSubprograms(); } virtual QCString trSubprogramDocumentation() { return english.trSubprogramDocumentation(); } virtual QCString trDataTypes() { return english.trDataTypes(); } virtual QCString trModulesList() { return english.trModulesList(); } virtual QCString trModulesListDescription(bool extractAll) { return english.trModulesListDescription(extractAll); } virtual QCString trCompoundReferenceFortran(const char *clName, ClassDef::CompoundType compType, bool isTemplate) { return english.trCompoundReferenceFortran(clName,compType,isTemplate); } virtual QCString trModuleReference(const char *namespaceName) { return english.trModuleReference(namespaceName); } virtual QCString trModulesMembers() { return english.trModulesMembers(); } virtual QCString trModulesMemberDescription(bool extractAll) { return english.trModulesMemberDescription(extractAll); } virtual QCString trModulesIndex() { return english.trModulesIndex(); } virtual QCString trModule(bool first_capital, bool singular) { return english.trModule(first_capital,singular); } virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType, bool single) { return english.trGeneratedFromFilesFortran(compType,single); } virtual QCString trType(bool first_capital, bool singular) { return english.trType(first_capital,singular); } virtual QCString trSubprogram(bool first_capital, bool singular) { return english.trSubprogram(first_capital,singular); } virtual QCString trTypeConstraints() { return english.trTypeConstraints(); } }; /** Adapter class for languages that only contain translations up to * version 1.4.6 */ class TranslatorAdapter_1_4_6 : public TranslatorAdapter_1_5_4 { public: virtual QCString updateNeededMessage() { return createUpdateNeededMessage(idLanguage(),"release 1.4.6"); } virtual QCString trCallerGraph() { return english.trCallerGraph(); } virtual QCString trEnumerationValueDocumentation() { return english.trEnumerationValueDocumentation(); } }; #endif