/****************************************************************************** * * $Id$ * * Copyright (C) 1997-2000 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. * * All output generated with Doxygen is not covered by this license. * */ #ifndef TRANSLATOR_H #define TRANSLATOR_H #include "qtbc.h" #include "classdef.h" #include "util.h" class Translator { public: //-------------------------------------------------------------------- // NOTICE: // the following functions are now obsolete: these are no longer used and // will disappear in future versions. You do not have to translate them! virtual QCString trInherits() { return "Inherits"; } virtual QCString trAnd() { return "and"; } virtual QCString trInheritedBy() { return "Inherited By"; } virtual QCString trReference() { return "Reference"; } virtual QCString trReimplementedFrom() { return "Reimplemented from"; } virtual QCString trReimplementedIn() { return "Reimplemented in"; } virtual QCString trIncludeFile() { return "Include File"; } virtual QCString trGeneratedFrom(const char *s,bool single) { QCString result=(QCString)"The documentation for this"+s+ " was generated from the following file"; if (single) result+=":"; else result+="s:"; return result; } // end of obsolete functions //-------------------------------------------------------------------- /*! returns the name of the package that is included by LaTeX */ virtual QCString latexBabelPackage() { return ""; } /*! used in the compound documentation before a list of related functions. */ virtual QCString trRelatedFunctions() { return "Related Functions"; } /*! subscript for the related functions. */ virtual QCString trRelatedSubscript() { return "(Note that these are not member functions.)"; } /*! header that is put before the detailed description of files, classes and namespaces. */ virtual QCString trDetailedDescription() { return "Detailed Description"; } /*! header that is put before the list of typedefs. */ virtual QCString trMemberTypedefDocumentation() { return "Member Typedef Documentation"; } /*! header that is put before the list of enumerations. */ virtual QCString trMemberEnumerationDocumentation() { return "Member Enumeration Documentation"; } /*! header that is put before the list of member functions. */ virtual QCString trMemberFunctionDocumentation() { return "Member Function Documentation"; } /*! header that is put before the list of member attributes. */ virtual QCString trMemberDataDocumentation() { return "Member Data Documentation"; } /*! this is the text of a link put after brief descriptions. */ virtual QCString trMore() { return "More..."; } /*! put in the class documentation */ virtual QCString trListOfAllMembers() { return "List of all members."; } /*! used as the title of the "list of all members" page of a class */ virtual QCString trMemberList() { return "Member List"; } /*! this is the first part of a sentence that is followed by a class name */ virtual QCString trThisIsTheListOfAllMembers() { return "This is the complete list of members for "; } /*! this is the remainder of the sentence after the class name */ virtual QCString trIncludingInheritedMembers() { return ", including all inherited members."; } /*! this is put at the author sections at the bottom of man pages. * parameter s is name of the project name. */ virtual QCString trGeneratedAutomatically(const char *s) { QCString result="Generated automatically by Doxygen"; if (s) result+=(QCString)" for "+s; result+=" from the source code."; return result; } /*! put after an enum name in the list of all members */ virtual QCString trEnumName() { return "enum name"; } /*! put after an enum value in the list of all members */ virtual QCString trEnumValue() { return "enum value"; } /*! put after an undocumented member in the list of all members */ virtual QCString trDefinedIn() { return "defined in"; } /*! put as in introduction in the verbatim header file of a class. * parameter f is the name of the include file. */ virtual QCString trVerbatimText(const char *f) { return (QCString)"This is the verbatim text of the "+f+" include file."; } // quick reference sections /*! This is put above each page as a link to the list of all groups of * compounds or files (see the \group command). */ virtual QCString trModules() { return "Modules"; } /*! This is put above each page as a link to the class hierarchy */ virtual QCString trClassHierarchy() { return "Class Hierarchy"; } /*! This is put above each page as a link to the list of annotated classes */ virtual QCString trCompoundList() { return "Compound List"; } /*! This is put above each page as a link to the list of documented files */ virtual QCString trFileList() { return "File List"; } /*! This is put above each page as a link to the list of all verbatim headers */ virtual QCString trHeaderFiles() { return "Header Files"; } /*! This is put above each page as a link to all members of compounds. */ virtual QCString trCompoundMembers() { return "Compound Members"; } /*! This is put above each page as a link to all members of files. */ virtual QCString trFileMembers() { return "File Members"; } /*! This is put above each page as a link to all related pages. */ virtual QCString trRelatedPages() { return "Related Pages"; } /*! This is put above each page as a link to all examples. */ virtual QCString trExamples() { return "Examples"; } /*! This is put above each page as a link to the search engine. */ virtual QCString trSearch() { return "Search"; } /*! This is an introduction to the class hierarchy. */ virtual QCString trClassHierarchyDescription() { return "This inheritance list is sorted roughly, " "but not completely, alphabetically:"; } /*! This is an introduction to the list with all files. */ virtual QCString trFileListDescription(bool extractAll) { QCString result="Here is a list of all "; if (!extractAll) result+="documented "; result+="files with brief descriptions:"; return result; } /*! This is an introduction to the annotated compound list. */ virtual QCString trCompoundListDescription() { return "Here are the classes, structs, " "unions and interfaces with brief descriptions:"; } /*! This is an introduction to the page with all class members. */ virtual QCString trCompoundMembersDescription(bool extractAll) { QCString result="Here is a list of all "; if (!extractAll) result+="documented "; result+="class members with links to "; if (extractAll) result+="the class documentation for each member:"; else result+="the classes they belong to:"; return result; } /*! This is an introduction to the page with all file members. */ virtual QCString trFileMembersDescription(bool extractAll) { QCString result="Here is a list of all "; if (!extractAll) result+="documented "; result+="file members with links to "; if (extractAll) result+="the file documentation for each member:"; else result+="the files they belong to:"; return result; } /*! This is an introduction to the page with the list of all header files. */ virtual QCString trHeaderFilesDescription() { return "Here are the header files that make up the API:"; } /*! This is an introduction to the page with the list of all examples */ virtual QCString trExamplesDescription() { return "Here is a list of all examples:"; } /*! This is an introduction to the page with the list of related pages */ virtual QCString trRelatedPagesDescription() { return "Here is a list of all related documentation pages:"; } /*! This is an introduction to the page with the list of class/file groups */ virtual QCString trModulesDescription() { return "Here is a list of all modules:"; } /*! This sentences is used in the annotated class/file lists if no brief * description is given. */ virtual QCString trNoDescriptionAvailable() { return "No description available"; } // index titles (the project name is prepended for these) /*! This is used in HTML as the title of index.html. */ virtual QCString trDocumentation() { return "Documentation"; } /*! This is used in LaTeX as the title of the chapter with the * index of all groups. */ virtual QCString trModuleIndex() { return "Module Index"; } /*! This is used in LaTeX as the title of the chapter with the * class hierarchy. */ virtual QCString trHierarchicalIndex() { return "Hierarchical Index"; } /*! This is used in LaTeX as the title of the chapter with the * annotated compound index. */ virtual QCString trCompoundIndex() { return "Compound Index"; } /*! This is used in LaTeX as the title of the chapter with the * list of all files. */ virtual QCString trFileIndex() { return "File Index"; } /*! This is used in LaTeX as the title of the chapter containing * the documentation of all groups. */ virtual QCString trModuleDocumentation() { return "Module Documentation"; } /*! This is used in LaTeX as the title of the chapter containing * the documentation of all classes, structs and unions. */ virtual QCString trClassDocumentation() { return "Class Documentation"; } /*! This is used in LaTeX as the title of the chapter containing * the documentation of all files. */ virtual QCString trFileDocumentation() { return "File Documentation"; } /*! This is used in LaTeX as the title of the chapter containing * the documentation of all examples. */ virtual QCString trExampleDocumentation() { return "Example Documentation"; } /*! This is used in LaTeX as the title of the chapter containing * the documentation of all related pages. */ virtual QCString trPageDocumentation() { return "Page Documentation"; } /*! This is used in LaTeX as the title of the document */ virtual QCString trReferenceManual() { return "Reference Manual"; } /*! This is used in the documentation of a file as a header before the * list of defines */ virtual QCString trDefines() { return "Defines"; } /*! This is used in the documentation of a file as a header before the * list of function prototypes */ virtual QCString trFuncProtos() { return "Function Prototypes"; } /*! This is used in the documentation of a file as a header before the * list of typedefs */ virtual QCString trTypedefs() { return "Typedefs"; } /*! This is used in the documentation of a file as a header before the * list of enumerations */ virtual QCString trEnumerations() { return "Enumerations"; } /*! This is used in the documentation of a file as a header before the * list of (global) functions */ virtual QCString trFunctions() { return "Functions"; } /*! This is used in the documentation of a file as a header before the * list of (global) variables */ virtual QCString trVariables() { return "Variables"; } /*! This is used in the documentation of a file as a header before the * list of (global) variables */ virtual QCString trEnumerationValues() { return "Enumeration values"; } /*! This is used in man pages as the author section. */ virtual QCString trAuthor() { return "Author"; } /*! This is used in the documentation of a file before the list of * documentation blocks for defines */ virtual QCString trDefineDocumentation() { return "Define Documentation"; } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for function prototypes */ virtual QCString trFunctionPrototypeDocumentation() { return "Function Prototype Documentation"; } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for typedefs */ virtual QCString trTypedefDocumentation() { return "Typedef Documentation"; } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for enumeration types */ virtual QCString trEnumerationTypeDocumentation() { return "Enumeration Type Documentation"; } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for enumeration values */ virtual QCString trEnumerationValueDocumentation() { return "Enumeration Value Documentation"; } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for functions */ virtual QCString trFunctionDocumentation() { return "Function Documentation"; } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for variables */ virtual QCString trVariableDocumentation() { return "Variable Documentation"; } /*! This is used in the documentation of a file/namespace/group before * the list of links to documented compounds */ virtual QCString trCompounds() { return "Compounds"; } /*! This is used in the documentation of a group before the list of * links to documented files */ virtual QCString trFiles() { return "Files"; } /*! This is used in the standard footer of each page and indicates when * the page was generated */ virtual QCString trGeneratedAt(const char *date,const char *projName) { QCString result=(QCString)"Generated at "+date; if (projName) result+=(QCString)" for "+projName; result+=(QCString)" by"; return result; } /*! This is part of the sentence used in the standard footer of each page. */ virtual QCString trWrittenBy() { return "written by"; } /*! this text is put before a class diagram */ virtual QCString trClassDiagram(const char *clName) { return (QCString)"Inheritance diagram for "+clName; } /*! this text is generated when the \internal command is used. */ virtual QCString trForInternalUseOnly() { return "For internal use only."; } /*! this text is generated when the \reimp command is used. */ virtual QCString trReimplementedForInternalReasons() { return "Reimplemented for internal reasons; the API is not affected."; } /*! this text is generated when the \warning command is used. */ virtual QCString trWarning() { return "Warning"; } /*! this text is generated when the \bug command is used. */ virtual QCString trBugsAndLimitations() { return "Bugs and limitations"; } /*! this text is generated when the \version command is used. */ virtual QCString trVersion() { return "Version"; } /*! this text is generated when the \date command is used. */ virtual QCString trDate() { return "Date"; } /*! this text is generated when the \author command is used. */ virtual QCString trAuthors() { return "Author(s)"; } /*! this text is generated when the \return command is used. */ virtual QCString trReturns() { return "Returns"; } /*! this text is generated when the \sa command is used. */ virtual QCString trSeeAlso() { return "See also"; } /*! this text is generated when the \param command is used. */ virtual QCString trParameters() { return "Parameters"; } /*! this text is generated when the \exception command is used. */ virtual QCString trExceptions() { return "Exceptions"; } /*! this text is used in the title page of a LaTeX document. */ virtual QCString trGeneratedBy() { return "Generated by"; } // new since 0.49-990307 /*! used as the title of page containing all the index of all namespaces. */ virtual QCString trNamespaceList() { return "Namespace List"; } /*! used as an introduction to the namespace list */ virtual QCString trNamespaceListDescription(bool extractAll) { QCString result="Here is a list of all "; if (!extractAll) result+="documented "; result+="namespaces with brief descriptions:"; return result; } /*! used in the class documentation as a header before the list of all * friends of a class */ virtual QCString trFriends() { return "Friends"; } ////////////////////////////////////////////////////////////////////////// // new since 0.49-990405 ////////////////////////////////////////////////////////////////////////// /*! used in the class documentation as a header before the list of all * related classes */ virtual QCString trRelatedFunctionDocumentation() { return "Friends And Related Function Documentation"; } ////////////////////////////////////////////////////////////////////////// // new since 0.49-990425 ////////////////////////////////////////////////////////////////////////// /*! used as the title of the HTML page of a class/struct/union */ virtual QCString trCompoundReference(const char *clName, ClassDef::CompoundType compType) { QCString result=(QCString)clName+" "; switch(compType) { case ClassDef::Class: result+=" Class"; break; case ClassDef::Struct: result+=" Struct"; break; case ClassDef::Union: result+=" Union"; break; case ClassDef::Interface: result+=" Interface"; break; case ClassDef::Exception: result+=" Exception"; break; } result+=" Reference"; return result; } /*! used as the title of the HTML page of a file */ virtual QCString trFileReference(const char *fileName) { QCString result=fileName; result+=" File Reference"; return result; } /*! used as the title of the HTML page of a namespace */ virtual QCString trNamespaceReference(const char *namespaceName) { QCString result=namespaceName; result+=" Namespace Reference"; return result; } /*! \mgroup Class sections * these are for the member sections of a class, struct or union */ virtual QCString trPublicMembers() { return "Public Members"; } virtual QCString trPublicSlots() { return "Public Slots"; } virtual QCString trSignals() { return "Signals"; } virtual QCString trStaticPublicMembers() { return "Static Public Members"; } virtual QCString trProtectedMembers() { return "Protected Members"; } virtual QCString trProtectedSlots() { return "Protected Slots"; } virtual QCString trStaticProtectedMembers() { return "Static Protected Members"; } virtual QCString trPrivateMembers() { return "Private Members"; } virtual QCString trPrivateSlots() { return "Private Slots"; } virtual QCString trStaticPrivateMembers() { return "Static Private Members"; } /*! \endmgroup */ /*! this function is used to produce a comma-separated list of items. * use generateMarker(i) to indicate where item i should be put. */ virtual QCString trWriteList(int numEntries) { QCString result; int i; // the inherits list contain `numEntries' classes for (i=0;i