diff options
author | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2001-04-30 17:28:34 (GMT) |
---|---|---|
committer | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2001-04-30 17:28:34 (GMT) |
commit | 3e8e2e531ac41a9d4729375151b6af6493a61fd7 (patch) | |
tree | e2fe643e6fc6aabac8311560e2258318c1dead5a /src | |
parent | 9a1a3728724df58e6fc9196651f8e8c8f23f1e2d (diff) | |
download | Doxygen-3e8e2e531ac41a9d4729375151b6af6493a61fd7.zip Doxygen-3e8e2e531ac41a9d4729375151b6af6493a61fd7.tar.gz Doxygen-3e8e2e531ac41a9d4729375151b6af6493a61fd7.tar.bz2 |
Release-1.2.7
Diffstat (limited to 'src')
36 files changed, 2799 insertions, 1155 deletions
diff --git a/src/classdef.cpp b/src/classdef.cpp index 743ff4f..58b0e65 100644 --- a/src/classdef.cpp +++ b/src/classdef.cpp @@ -1842,7 +1842,14 @@ QCString ClassDef::compoundTypeString() const QCString ClassDef::getOutputFileBase() const { - return convertNameToFile(fileName); + if (isReference()) + { + return fileName; + } + else + { + return convertNameToFile(fileName); + } } QCString ClassDef::getFileBase() const @@ -2161,7 +2161,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG}) insideHtmlLink=FALSE; } } -<DocScan>"<"{A} { BEGIN(DocHtmlLink); } +<DocScan>"<"{A}{BN}+ { BEGIN(DocHtmlLink); } <DocScan>"<"{BOLD}{ATTR}">" { outDoc->startBold(); } <DocScan>"</"{BOLD}{ATTR}">" { outDoc->endBold(); } <DocScan>"<"{P}{ATTR}">" { diff --git a/src/doxygen.cpp b/src/doxygen.cpp index 73c765c..6f41dfd 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -438,6 +438,30 @@ static void organizeSubGroups(Entry *root) } } +static void addToGroupSections(Entry *root) +{ + if (root->section==Entry::ADDGRPDOC_SEC && !root->name.isEmpty()) + { + GroupDef *gd = Doxygen::groupDict[root->name]; + if (gd) + { + gd->setDocumentation(gd->documentation()+"<p>"+root->brief+root->doc); + } + else + { + warn(root->fileName,root->startLine, + "Warning: ignoring addtogroup command for undefined " + "group `%s'.",root->name.data()); + } + } + EntryListIterator eli(*root->sublist); + Entry *e; + for (;(e=eli.current());++eli) + { + addToGroupSections(e); + } +} + //---------------------------------------------------------------------- static void buildFileList(Entry *root) @@ -2564,7 +2588,10 @@ static void addTodoTestBugReferences() ClassDef *cd=Doxygen::classList.first(); while (cd) { - addRefItem(cd->todoId(),cd->testId(),cd->bugId(),"class",cd->getOutputFileBase(),cd->name()); + addRefItem(cd->todoId(),cd->testId(),cd->bugId(), + theTranslator->trClass(TRUE,TRUE), + cd->getOutputFileBase(),cd->name() + ); cd=Doxygen::classList.next(); } FileName *fn=Doxygen::inputNameList.first(); @@ -2573,7 +2600,9 @@ static void addTodoTestBugReferences() FileDef *fd=fn->first(); while (fd) { - addRefItem(fd->todoId(),fd->testId(),fd->bugId(),"file",fd->getOutputFileBase(),fd->name()); + addRefItem(fd->todoId(),fd->testId(),fd->bugId(), + theTranslator->trFile(TRUE,TRUE), + fd->getOutputFileBase(),fd->name()); fd=fn->next(); } fn=Doxygen::inputNameList.next(); @@ -2581,20 +2610,26 @@ static void addTodoTestBugReferences() NamespaceDef *nd=Doxygen::namespaceList.first(); while (nd) { - addRefItem(nd->todoId(),nd->testId(),nd->bugId(),"namespace",nd->getOutputFileBase(),nd->name()); + addRefItem(nd->todoId(),nd->testId(),nd->bugId(), + theTranslator->trNamespace(TRUE,TRUE), + nd->getOutputFileBase(),nd->name()); nd=Doxygen::namespaceList.next(); } GroupDef *gd=Doxygen::groupList.first(); while (gd) { - addRefItem(gd->todoId(),gd->testId(),gd->bugId(),"group",gd->getOutputFileBase(),gd->groupTitle()); + addRefItem(gd->todoId(),gd->testId(),gd->bugId(), + theTranslator->trGroup(TRUE,TRUE), + gd->getOutputFileBase(),gd->groupTitle()); gd=Doxygen::groupList.next(); } PageSDictIterator pdi(*Doxygen::pageSDict); PageInfo *pi=0; for (pdi.toFirst();(pi=pdi.current());++pdi) { - addRefItem(pi->todoId,pi->testId,pi->bugId,"page",pi->name,pi->title); + addRefItem(pi->todoId,pi->testId,pi->bugId, + theTranslator->trPage(TRUE,TRUE), + pi->name,pi->title); } MemberNameListIterator mnli(Doxygen::memberNameList); MemberName *mn=0; @@ -2610,8 +2645,15 @@ static void addTodoTestBugReferences() if (d==0) d=md->getGroupDef(); if (d==0) d=md->getFileDef(); // TODO: i18n this - QCString memLabel="member"; - if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) memLabel="field"; + QCString memLabel; + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) + { + memLabel=theTranslator->trField(TRUE,TRUE); + } + else + { + memLabel=theTranslator->trMember(TRUE,TRUE); + } if (d) { addRefItem(md->todoId(),md->testId(),md->bugId(),memLabel,d->getOutputFileBase()+":"+md->anchor(),scopeName+"::"+md->name(),md->argsString()); @@ -2631,8 +2673,15 @@ static void addTodoTestBugReferences() if (d==0) d=md->getGroupDef(); if (d==0) d=md->getFileDef(); // TODO: i18n this - QCString memLabel="member"; - if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) memLabel="global"; + QCString memLabel; + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) + { + memLabel=theTranslator->trGlobal(TRUE,TRUE); + } + else + { + memLabel=theTranslator->trMember(TRUE,TRUE); + } if (d) { addRefItem(md->todoId(),md->testId(),md->bugId(),memLabel,d->getOutputFileBase()+":"+md->anchor(),md->name(),md->argsString()); @@ -6294,6 +6343,7 @@ void parseInput() msg("Building group list...\n"); buildGroupList(root); organizeSubGroups(root); + addToGroupSections(root); msg("Building namespace list...\n"); buildNamespaceList(root); diff --git a/src/doxysearch.cpp b/src/doxysearch.cpp index c4e69b3..3b5b227 100644 --- a/src/doxysearch.cpp +++ b/src/doxysearch.cpp @@ -55,11 +55,12 @@ struct FileInfo { - FileInfo() { f=0; url=0; } + FileInfo() { name[0]='\0'; f=0; url=0; } ~FileInfo() { if (f) fclose(f); delete[] url; } FILE *f; + char name[MAXSTRLEN]; int index; int refOffset; char *url; @@ -396,8 +397,11 @@ void searchIndex(const char *word,SearchResults *results) FileInfo *fi=fileList.first; while (fi) { + fi->f = fopen(fi->name, "rb"); fseek(fi->f,8,SEEK_SET); searchRecursive(results,fi,word); + fclose(fi->f); + fi->f=0; fi=fi->next; } @@ -516,6 +520,10 @@ void generateResults(SearchResults *sr) if (skipEntries == 0) { SearchDoc *d=docPtrArray[i]; + if (d->fileInfo->f == 0) + { + d->fileInfo->f = fopen(d->fileInfo->name, "rb"); + } FILE *f=d->fileInfo->f; fseek(f,d->fileInfo->refOffset+d->index*4,SEEK_SET); int offset=readInt(f); @@ -531,6 +539,11 @@ void generateResults(SearchResults *sr) rank*2+55, 255-rank*2, rank, d->fileInfo->url, htmlName, linkName); pageEntries--; + if (d->fileInfo->f != 0) + { + fclose(d->fileInfo->f); + d->fileInfo->f = 0; + } } else { @@ -946,6 +959,7 @@ int main(int argc,char **argv) FileInfo *fi=fileList.add(); FILE *g; + strcpy(fi->name,indexFile); if ((fi->f=fopen(indexFile,"rb"))==NULL) { message("Error: could not open index file %s\n",indexFile); @@ -982,6 +996,8 @@ int main(int argc,char **argv) } // read and store the offset to the link index fi->refOffset=readInt(fi->f); + fclose(fi->f); + fi->f = 0; } char *word; diff --git a/src/entry.h b/src/entry.h index 1dd7f91..0417b40 100644 --- a/src/entry.h +++ b/src/entry.h @@ -176,7 +176,8 @@ class Entry MAINPAGEDOC_SEC = 0x01200000, MEMBERGRP_SEC = 0x01300000, USINGDECL_SEC = 0x01400000, - PACKAGE_SEC = 0x01500000 + PACKAGE_SEC = 0x01500000, + ADDGRPDOC_SEC = 0x01600000 }; enum MemberSpecifier { diff --git a/src/groupdef.cpp b/src/groupdef.cpp index ccb81de..18f616a 100644 --- a/src/groupdef.cpp +++ b/src/groupdef.cpp @@ -357,7 +357,7 @@ void GroupDef::writeDocumentation(OutputList &ol) if (fileList->count()>0) { ol.startMemberHeader(); - parseText(ol,theTranslator->trFiles()); + parseText(ol,theTranslator->trFile(TRUE,FALSE)); ol.endMemberHeader(); ol.startMemberList(); FileDef *fd=fileList->first(); diff --git a/src/index.cpp b/src/index.cpp index f7aa869..1c0c3c4 100644 --- a/src/index.cpp +++ b/src/index.cpp @@ -2350,14 +2350,18 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd,bool subLevel) { if(htmlHelp) { - htmlHelp->addContentsItem(TRUE, convertToHtml(theTranslator->trFiles()), gd->getOutputFileBase(), 0); + htmlHelp->addContentsItem(TRUE, + convertToHtml(theTranslator->trFile(TRUE,FALSE)), + gd->getOutputFileBase(), 0); htmlHelp->incContentsDepth(); } if(ftvHelp) { - ftvHelp->addContentsItem(TRUE, gd->getReference(), gd->getOutputFileBase(), 0, theTranslator->trFiles()); + ftvHelp->addContentsItem(TRUE, gd->getReference(), + gd->getOutputFileBase(), 0, + theTranslator->trFile(TRUE,FALSE)); ftvHelp->incContentsDepth(); } diff --git a/src/language.cpp b/src/language.cpp index d8b2b86..35e92bd 100644 --- a/src/language.cpp +++ b/src/language.cpp @@ -17,6 +17,7 @@ #include "message.h" #include "language.h" +#include "translator_en.h" #if !defined(ENGLISH_ONLY) #include "translator_nl.h" #include "translator_se.h" @@ -48,7 +49,7 @@ bool setTranslator(const char *langName) { if (L_EQUAL("english")) { - theTranslator=new Translator; + theTranslator=new TranslatorEnglish; } #if !defined(ENGLISH_ONLY) else if (L_EQUAL("dutch")) @@ -134,8 +135,11 @@ bool setTranslator(const char *langName) #endif else // use the default language (i.e. english) { - theTranslator=new Translator; + theTranslator=new TranslatorEnglish; return FALSE; } + + QCString msg = theTranslator->updateNeededMessage(); + if (!msg.isEmpty()) warn_cont(msg); return TRUE; } diff --git a/src/latexgen.cpp b/src/latexgen.cpp index 761845f..00f12e9 100644 --- a/src/latexgen.cpp +++ b/src/latexgen.cpp @@ -249,21 +249,10 @@ static void writeDefaultHeaderPart1(QTextStream &t) if (!sLanguageSupportCommand.isEmpty()) { - // The command is not empty. The language does - // not want to use the babel package. Use this - // command instead. + // The command is not empty. Put it to the output. + // if the command is empty, no output is needed. t << sLanguageSupportCommand; } - else - { - if (!theTranslator->latexBabelPackage().isEmpty()) - { - // The result of the LatexLanguageSupportCommand() - // is empty, which means that the language prefers - // the babel package, or no package is needed at all. - t << "\\usepackage[" << theTranslator->latexBabelPackage() << "]{babel}\n"; - } - } QStrList &extraPackages = Config_getList("EXTRA_PACKAGES"); const char *s=extraPackages.first(); @@ -280,7 +269,6 @@ static void writeDefaultHeaderPart1(QTextStream &t) "\\vspace*{7cm}\n" "\\begin{center}\n" "{\\Large "; - } static void writeDefaultHeaderPart2(QTextStream &t) diff --git a/src/libdoxygen.pro.in b/src/libdoxygen.pro.in index 60bfef6..a371d00 100644 --- a/src/libdoxygen.pro.in +++ b/src/libdoxygen.pro.in @@ -16,30 +16,135 @@ TEMPLATE = libdoxygen.t CONFIG = console warn_on staticlib $extraopts -HEADERS = doxygen.h scanner.h doc.h classdef.h classlist.h memberdef.h \ - membername.h index.h memberlist.h definition.h \ - entry.h logos.h instdox.h message.h code.h \ - filedef.h util.h cppvalue.h constexp.h \ - outputgen.h outputlist.h htmlgen.h latexgen.h \ - filename.h defargs.h groupdef.h gifenc.h diagram.h image.h \ - namespacedef.h version.h language.h translator.h \ - translator_nl.h translator_se.h translator_cz.h translator_fr.h \ - translator_it.h formula.h debug.h membergroup.h htmlhelp.h \ - translator_ru.h translator_pl.h dot.h rtfgen.h \ - reflist.h page.h sortdict.h translator_hu.h translator_kr.h \ - translator_ro.h translator_si.h translator_cn.h ftvhelp.h \ - treeview.h tagreader.h packagedef.h -SOURCES = doxygen.cpp scanner.cpp doc.cpp classdef.cpp classlist.cpp \ - memberdef.cpp membername.cpp index.cpp memberlist.cpp \ - entry.cpp logos.cpp instdox.cpp message.cpp code.cpp \ - filedef.cpp util.cpp groupdef.cpp \ - outputgen.cpp outputlist.cpp htmlgen.cpp latexgen.cpp mangen.cpp \ - cppvalue.cpp ce_lex.cpp ce_parse.cpp pre.cpp \ - filename.cpp declinfo.cpp defargs.cpp define.cpp \ - diagram.cpp gifenc.cpp image.cpp namespacedef.cpp \ - version.cpp language.cpp definition.cpp formula.cpp debug.cpp \ - membergroup.cpp htmlhelp.cpp dot.cpp rtfgen.cpp \ - reflist.cpp ftvhelp.cpp tagreader.cpp packagedef.cpp +HEADERS = bufstr.h \ + classdef.h \ + classlist.h \ + code.h \ + config.h \ + constexp.h \ + cppvalue.h \ + debug.h \ + doxygen.h \ + scanner.h \ + doc.h \ + dot.h \ + doxygen.h \ + entry.h \ + example.h \ + filedef.h \ + filename.h \ + formula.h \ + ftvhelp.h \ + gifenc.h \ + groupdef.h \ + htmlgen.h \ + htmlhelp.h \ + image.h \ + index.h \ + instdox.h \ + language.h \ + latexgen.h \ + logos.h \ + mangen.h \ + memberdef.h \ + membergroup.h \ + memberlist.h \ + membername.h \ + message.h \ + namespacedef.h \ + outputgen.h \ + outputlist.h \ + packagedef.h \ + page.h \ + pre.h \ + qtbc.h \ + reflist.h \ + rtfgen.h \ + scanner.h \ + searchindex.h \ + section.h \ + sortdict.h \ + suffixtree.h \ + tagreader.h \ + translator.h \ + translator_adapter.h \ + translator_br.h \ + translator_cn.h \ + translator_cz.h \ + translator_de.h \ + translator_en.h \ + translator_es.h \ + translator_fi.h \ + translator_fr.h \ + translator_hr.h \ + translator_hu.h \ + translator_it.h \ + translator_jp.h \ + translator_kr.h \ + translator_nl.h \ + translator_no.h \ + translator_pl.h \ + translator_pt.h \ + translator_ro.h \ + translator_ru.h \ + translator_se.h \ + translator_si.h \ + treeview.h \ + unistd.h \ + util.h \ + version.h +SOURCES = ce_lex.cpp \ + ce_parse.cpp \ + classdef.cpp \ + classlist.cpp \ + code.cpp \ + config.cpp \ + cppvalue.cpp \ + debug.cpp \ + declinfo.cpp \ + defargs.cpp \ + define.cpp \ + definition.cpp \ + diagram.cpp \ + doc.cpp \ + dot.cpp \ + doxygen.cpp \ + entry.cpp \ + filedef.cpp \ + filename.cpp \ + formula.cpp \ + ftvhelp.cpp \ + gifenc.cpp \ + groupdef.cpp \ + htmlgen.cpp \ + htmlhelp.cpp \ + image.cpp \ + index.cpp \ + instdox.cpp \ + language.cpp \ + latexgen.cpp \ + logos.cpp \ + main.cpp \ + mangen.cpp \ + memberdef.cpp \ + membergroup.cpp \ + memberlist.cpp \ + membername.cpp \ + message.cpp \ + namespacedef.cpp \ + outputgen.cpp \ + outputlist.cpp \ + packagedef.cpp \ + pre.cpp \ + reflist.cpp \ + rtfgen.cpp \ + scanner.cpp \ + searchindex.cpp \ + suffixtree.cpp \ + tagreader.cpp \ + util.cpp \ + version.cpp + win32:TMAKE_CXXFLAGS += -DQT_NODLL INCLUDEPATH += ../qtools win32:INCLUDEPATH += . diff --git a/src/mangen.cpp b/src/mangen.cpp index 68a59ed..758be75 100644 --- a/src/mangen.cpp +++ b/src/mangen.cpp @@ -15,6 +15,9 @@ * */ +/* http://www.cubic.org/source/archive/fileform/txt/man/ has some + nice introductions to groff and man pages. */ + #include <stdlib.h> #include "qtbc.h" @@ -187,14 +190,14 @@ void ManGenerator::writeMailLink(const char *url) void ManGenerator::startGroupHeader() { if (!firstCol) t << endl; - t << ".SH "; + t << ".SH \""; upperCase=TRUE; firstCol=FALSE; } void ManGenerator::endGroupHeader() { - t << "\n.PP " << endl; + t << "\"\n.PP " << endl; firstCol=TRUE; paragraph=TRUE; upperCase=FALSE; @@ -203,12 +206,12 @@ void ManGenerator::endGroupHeader() void ManGenerator::startMemberHeader() { if (!firstCol) t << endl; - t << ".SS "; + t << ".SS \""; } void ManGenerator::endMemberHeader() { - t << "\n"; + t << "\"\n"; firstCol=TRUE; paragraph=FALSE; } @@ -225,6 +228,7 @@ void ManGenerator::docify(const char *str) { case '\\': t << "\\\\"; col++; break; case '\n': t << "\n"; col=0; break; + case '\"': c = '\''; // no break! default: t << c; col++; break; } } @@ -254,6 +258,7 @@ void ManGenerator::codify(const char *str) break; case '\n': t << "\n"; firstCol=TRUE; col=0; break; case '\\': t << "\\"; col++; break; + case '\"': c = '\''; // no break! default: t << c; firstCol=FALSE; col++; break; } } @@ -269,6 +274,7 @@ void ManGenerator::writeChar(char c) switch (c) { case '\\': t << "\\\\"; break; + case '\"': c = '\''; // no break! default: t << c; break; } //printf("%c",c);fflush(stdout); @@ -288,11 +294,16 @@ void ManGenerator::startDescList() void ManGenerator::startTitle() { if (!firstCol) t << endl; - t << ".SH "; + t << ".SH \""; firstCol=FALSE; paragraph=FALSE; } +void ManGenerator::endTitle() +{ + t << "\""; +} + void ManGenerator::writeListItem() { if (!firstCol) t << endl; @@ -322,27 +333,43 @@ void ManGenerator::endCodeFragment() void ManGenerator::startMemberDoc(const char *,const char *,const char *,const char *) { if (!firstCol) t << endl; - t << ".SS "; + t << ".SS \""; firstCol=FALSE; paragraph=FALSE; } +void ManGenerator::endMemberDoc() +{ + t << "\""; +} + void ManGenerator::startSubsection() { if (!firstCol) t << endl; - t << ".SS "; + t << ".SS \""; firstCol=FALSE; paragraph=FALSE; } +void ManGenerator::endSubsection() +{ + t << "\""; +} + + void ManGenerator::startSubsubsection() { if (!firstCol) t << endl; - t << "\n.SS "; + t << "\n.SS \""; firstCol=FALSE; paragraph=FALSE; } +void ManGenerator::endSubsubsection() +{ + t << "\""; +} + void ManGenerator::writeSynopsis() { if (!firstCol) t << endl; @@ -420,7 +447,7 @@ void ManGenerator::startMemberGroupHeader(bool) void ManGenerator::endMemberGroupHeader() { - t << "\\fR\"\n.br\n"; + t << "\\fP\"\n.br\n"; firstCol=TRUE; } diff --git a/src/mangen.h b/src/mangen.h index c606115..dec3159 100644 --- a/src/mangen.h +++ b/src/mangen.h @@ -54,16 +54,16 @@ class ManGenerator : public OutputGenerator void startTitleHead(const char *) {} void endTitleHead(const char *,const char *); void startTitle(); - void endTitle() {} + void endTitle(); void newParagraph(); void writeString(const char *text); void startIndexList() {} - void endIndexList() {} + void endIndexList() { newParagraph(); } void startItemList() {} - void endItemList() {} + void endItemList() { newParagraph(); } void startEnumList() {} - void endEnumList() {} + void endEnumList() { newParagraph(); } void startAlphabeticalIndexList() {} void endAlphabeticalIndexList() {} void writeIndexHeading(const char *) {} @@ -80,7 +80,7 @@ class ManGenerator : public OutputGenerator void endHtmlLink(); void writeMailLink(const char *url); void startTypewriter() { t << "\\fC"; firstCol=FALSE; } - void endTypewriter() { t << "\\fR"; firstCol=FALSE; } + void endTypewriter() { t << "\\fP"; firstCol=FALSE; } void startGroupHeader(); void endGroupHeader(); void startMemberSections() {} @@ -112,11 +112,11 @@ class ManGenerator : public OutputGenerator void startCodeLine() {} void endCodeLine() { codify("\n"); col=0; } //void writeBoldString(const char *text) - // { t << "\\fB"; docify(text); t << "\\fR"; firstCol=FALSE; } + // { t << "\\fB"; docify(text); t << "\\fP"; firstCol=FALSE; } void startEmphasis() { t << "\\fI"; firstCol=FALSE; } - void endEmphasis() { t << "\\fR"; firstCol=FALSE; } + void endEmphasis() { t << "\\fP"; firstCol=FALSE; } void startBold() { t << "\\fB"; firstCol=FALSE; } - void endBold() { t << "\\fR"; firstCol=FALSE; } + void endBold() { t << "\\fP"; firstCol=FALSE; } void startDescription() {} void endDescription() {} void startDescItem(); @@ -124,7 +124,7 @@ class ManGenerator : public OutputGenerator void lineBreak() { t << "\n.br" << endl; } void writeChar(char c); void startMemberDoc(const char *,const char *,const char *,const char *); - void endMemberDoc() {} + void endMemberDoc(); void startDoxyAnchor(const char *,const char *,const char *) {} void endDoxyAnchor(const char *,const char *) {} void startCodeAnchor(const char *) {} @@ -135,9 +135,9 @@ class ManGenerator : public OutputGenerator const char *path,const char *name); void writeEndAnnoItem(const char *) { t << endl; firstCol=TRUE; } void startSubsection(); - void endSubsection() {} + void endSubsection(); void startSubsubsection(); - void endSubsubsection() {} + void endSubsubsection(); void startCenter() {} void endCenter() {} void startSmall() {} @@ -153,7 +153,7 @@ class ManGenerator : public OutputGenerator void nextTableColumn() {} void endTableColumn() {} void writeCopyright() { t << "(c)"; firstCol=FALSE; } - void writeQuote() { t << "\""; firstCol=FALSE; } + void writeQuote() { t << "`"; firstCol=FALSE; } void writeUmlaut(char c) { t << c << "\\*'"; firstCol=FALSE; } void writeAcute(char c) { t << c << "\\*`"; firstCol=FALSE; } void writeGrave(char c) { t << c << "\\*:"; firstCol=FALSE; } @@ -168,7 +168,7 @@ class ManGenerator : public OutputGenerator void writeCCedil(char c) { t << c; /* TODO: fix this */ firstCol=FALSE; } void startMemberDescription() { t << "\n.RI \"\\fI"; firstCol=FALSE; } - void endMemberDescription() { t << "\\fR\""; firstCol=FALSE; } + void endMemberDescription() { t << "\\fP\""; firstCol=FALSE; } void startDescList(); void endDescList() {} void startParamList() { startDescList(); } diff --git a/src/scanner.l b/src/scanner.l index 2a38b43..6f81966 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -474,6 +474,7 @@ TITLE [tT][iI][tT][lL][eE] %x DocBaseClass %x CppQuote %x EndCppQuote +%x AddGroupDocArg1 %x GroupDocArg1 %x GroupDocArg2 %x GroupName @@ -2686,6 +2687,12 @@ TITLE [tT][iI][tT][lL][eE] current->startLine = yyLineNr; BEGIN( GroupDocArg1 ); } +<Doc,JavaDoc>{B}*{CMD}"addtogroup"{B}+ { + current->section = Entry::ADDGRPDOC_SEC; + current->fileName = yyFileName; + current->startLine = yyLineNr; + BEGIN( AddGroupDocArg1 ); + } <Doc,JavaDoc>{B}*{CMD}"namespace"{B}+ { current->section = Entry::NAMESPACEDOC_SEC; current->fileName = yyFileName; @@ -2940,6 +2947,27 @@ TITLE [tT][iI][tT][lL][eE] yyLineNr++; } +<AddGroupDocArg1>{ID} { + current->name = yytext; + lastDefGroup = yytext; + newDocState(); + } +<AddGroupDocArg1>"\n" { + warn(yyFileName,yyLineNr, + "Warning: missing argument after " + "\\addtogroup." + ); + yyLineNr++; + BEGIN( Doc ); + } +<GroupDocArg2>"*/" { + unput('/');unput('*'); + warn(yyFileName,yyLineNr, + "Warning: missing argument after " + "\\addtogroup." + ); + BEGIN( Doc ); + } <GroupDocArg1>{ID}(".html"?) { current->name = yytext; lastDefGroup = yytext; @@ -3213,7 +3241,9 @@ TITLE [tT][iI][tT][lL][eE] BEGIN( GroupName ); } <ClassDoc,Doc,JavaDoc>{CMD}"{" { - if (current->section == Entry::GROUPDOC_SEC) + if (current->section==Entry::GROUPDOC_SEC || + current->section==Entry::ADDGRPDOC_SEC + ) { autoGroupNameStack.push(new QCString(current->name)); } @@ -3636,9 +3666,12 @@ TITLE [tT][iI][tT][lL][eE] unput('/');unput('*'); BEGIN( tmpDocType ); } -<Doc,JavaDoc,ClassDoc,PageDoc,ExampleDoc,ReadFormulaShort,ReadFormulaLong,ClassDocBrief,AfterDoc,AfterDocBrief>^{B}*(("//"{B}*)?)"*"+[ \t]*"-"("#")?{B}+ { +<Doc,JavaDoc,ClassDoc,PageDoc,ExampleDoc,ReadFormulaShort,ReadFormulaLong,AfterDoc>^{B}*(("//"{B}*)?)"*"+[ \t]*"-"("#")?{B}+ { current->doc += yytext; } +<ClassDocBrief,AfterDocBrief>^{B}*(("//"{B}*)?)"*"+[ \t]*"-"("#")?{B}+ { + current->brief += "-"; + } <Doc,JavaDoc,ClassDoc,PageDoc,ExampleDoc,ReadFormulaShort,ReadFormulaLong,ClassDocBrief,AfterDoc,AfterDocBrief>^{B}*(("//"{B}*)?)"*"+/[^/] <Doc,JavaDoc,ClassDoc,PageDoc,ExampleDoc,ReadFormulaShort,ReadFormulaLong,ClassDocBrief,AfterDoc,AfterDocBrief>^{B}*(("//"{B}*)?)"*"+{B}+ { current->doc+=' '; diff --git a/src/translator.h b/src/translator.h index d40e379..5125717 100644 --- a/src/translator.h +++ b/src/translator.h @@ -28,13 +28,19 @@ class Translator protected: /*! Returns the string converted from windows-1250 to iso-8859-2. */ /* The method was designed initially for translator_cz.h. - It is used for on-line encoding conversion related to conditional - compilation in Unix/MS Windows environments (both use different - encoding). Later, the translator_hr.h (by Boris Bralo) used and - improved the same style. As the method with the translation table - was the same, the decision to move it to this base class was made. - The same holds for ISO88592ToWin1250() method. It is recommended - for possibly other similar methods in future. + * It is used for on-line encoding conversion related to + * conditional compilation in Unix/MS Windows environments + * (both use different encoding). Later, the translator_hr.h + * (by Boris Bralo) used and improved the same style. As the + * method with the translation table was the same, the + * decision to move it to this base class was made. The same + * holds for ISO88592ToWin1250() method. + * + * Alexandr Chelpanov used the same approach for + * Koi8RToWindows1251() and Windows1251ToKoi8R() methods. Notice, + * that he uses Unicode tables. + * + * It is recommended for possibly other similar methods in future. */ QCString Win1250ToISO88592(const QCString & sInput) { @@ -107,10 +113,97 @@ class Translator return result; } - + /*! Returns the string converted from koi8-r to windows-1251. */ + /* The method was designed initially for translator_cz.h. + It is used for on-line encoding conversion related to conditional + compilation in Unix/MS Windows environments (both use different + encoding). + Encoding table got from QT:qtextcodec.cpp + */ + QCString Koi8RToWindows1251( const QCString & sInput ) + { + static Q_UINT16 koi8_r[128] = + { 0x2500, 0x2502, 0x250C, 0x2510, 0x2514, 0x2518, 0x251C, 0x2524, + 0x252C, 0x2534, 0x253C, 0x2580, 0x2584, 0x2588, 0x258C, 0x2590, + 0x2591, 0x2592, 0x2593, 0x2320, 0x25A0, 0x2219/**/, 0x221A, 0x2248, + 0x2264, 0x2265, 0x00A0, 0x2321, 0x00B0, 0x00B2, 0x00B7, 0x00F7, + 0x2550, 0x2551, 0x2552, 0x0451, 0x2553, 0x2554, 0x2555, 0x2556, + 0x2557, 0x2558, 0x2559, 0x255A, 0x255B, 0x255C, 0x255D, 0x255E, + 0x255F, 0x2560, 0x2561, 0x0401, 0x2562, 0x2563, 0x2564, 0x2565, + 0x2566, 0x2567, 0x2568, 0x2569, 0x256A, 0x256B, 0x256C, 0x00A9, + 0x044E, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, + 0x0445, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, + 0x043F, 0x044F, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, + 0x044C, 0x044B, 0x0437, 0x0448, 0x044D, 0x0449, 0x0447, 0x044A, + 0x042E, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + 0x0425, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, + 0x041F, 0x042F, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412, + 0x042C, 0x042B, 0x0417, 0x0428, 0x042D, 0x0429, 0x0427, 0x042A + }; + + QString result; + int len = sInput.length(); + + result.setUnicode(0, len); + QChar* uc = (QChar*)result.unicode(); // const_cast + const unsigned char * c = (const unsigned char *)(const char*)sInput; + for( int i=0; i<len; i++ ) { + if ( c[i] > 127 ) + uc[i] = koi8_r[c[i]-128]; + else + uc[i] = c[i]; + } + return result.local8Bit(); + } + /*! returns the string converted from Windows-1251 to koi8-r */ + /* See the comments of the Koi8RToWindows1251() method for details. + Encoding table got from QT:qtextcodec.cpp */ + QCString Windows1251ToKoi8R( const QCString & sInput ) + { + static Q_UINT16 windows_1251[128] = + { 0x0402, 0x0403, 0x201A, 0x0453, 0x201E, 0x2026, 0x2020, 0x2021, + 0x20AC, 0x2030, 0x0409, 0x2039, 0x040A, 0x040C, 0x040B, 0x040F, + 0x0452, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, + 0xFFFD, 0x2122, 0x0459, 0x203A, 0x045A, 0x045C, 0x045B, 0x045F, + 0x00A0, 0x040E, 0x045E, 0x0408, 0x00A4, 0x0490, 0x00A6, 0x00A7, + 0x0401, 0x00A9, 0x0404, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x0407, + 0x00B0, 0x00B1, 0x0406, 0x0456, 0x0491, 0x00B5, 0x00B6, 0x00B7, + 0x0451, 0x2116, 0x0454, 0x00BB, 0x0458, 0x0405, 0x0455, 0x0457, + 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, + 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, + 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, + 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, + 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, + 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, + 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, + 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F + }; + + QString result; + int len = sInput.length(); + + result.setUnicode(0, len); + QChar* uc = (QChar*)result.unicode(); // const_cast + const unsigned char * c = (const unsigned char *)(const char*)sInput; + for( int i=0; i<len; i++ ) { + if ( c[i] > 127 ) + uc[i] = windows_1251[c[i]-128]; + else + uc[i] = c[i]; + } + return result.local8Bit(); + } + public: - // --- Language contol methods ------------------- + /*! This method is used to provide warning message that is displayed + * if the user chooses a language whose translation is not up to date. + * It is implemented by the adapter classes. + */ + virtual QCString updateNeededMessage() { return ""; } + + + // --- Language control methods ------------------- /*! Used for identification of the language. May resemble * the string returned by latexBabelPackage(), but it is not used @@ -119,578 +212,330 @@ class Translator * (e.g. Czech, Japanese, Russian, etc.). It should be equal to * the identification in language.cpp. */ - virtual QCString idLanguage() - { return "english"; } + virtual QCString idLanguage() = 0; + /*! Used to get the command(s) for the language support. This method * was designed for languages which do not prefer babel package. * If this methods returns empty string, then the latexBabelPackage() * method is used to generate the command for using the babel package. */ - virtual QCString latexLanguageSupportCommand() - { - return ""; - } - /*! returns the name of the package that is included by LaTeX */ - virtual QCString latexBabelPackage() - { return ""; } + virtual QCString latexLanguageSupportCommand() = 0; /*! return the language charset. This will be used for the HTML output */ - virtual QCString idLanguageCharset() - { - return "iso-8859-1"; - } + virtual QCString idLanguageCharset() = 0; // --- Language translation methods ------------------- /*! used in the compound documentation before a list of related functions. */ - virtual QCString trRelatedFunctions() - { return "Related Functions"; } + virtual QCString trRelatedFunctions() = 0; /*! subscript for the related functions. */ - virtual QCString trRelatedSubscript() - { return "(Note that these are not member functions.)"; } + virtual QCString trRelatedSubscript() = 0; /*! header that is put before the detailed description of files, classes and namespaces. */ - virtual QCString trDetailedDescription() - { return "Detailed Description"; } + virtual QCString trDetailedDescription() = 0; /*! header that is put before the list of typedefs. */ - virtual QCString trMemberTypedefDocumentation() - { return "Member Typedef Documentation"; } + virtual QCString trMemberTypedefDocumentation() = 0; /*! header that is put before the list of enumerations. */ - virtual QCString trMemberEnumerationDocumentation() - { return "Member Enumeration Documentation"; } + virtual QCString trMemberEnumerationDocumentation() = 0; /*! header that is put before the list of member functions. */ - virtual QCString trMemberFunctionDocumentation() - { return "Member Function Documentation"; } + virtual QCString trMemberFunctionDocumentation() = 0; /*! header that is put before the list of member attributes. */ - virtual QCString trMemberDataDocumentation() - { - if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - { - return "Field Documentation"; - } - else - { - return "Member Data Documentation"; - } - } + virtual QCString trMemberDataDocumentation() = 0; /*! this is the text of a link put after brief descriptions. */ - virtual QCString trMore() - { return "More..."; } + virtual QCString trMore() = 0; /*! put in the class documentation */ - virtual QCString trListOfAllMembers() - { return "List of all members."; } + virtual QCString trListOfAllMembers() = 0; /*! used as the title of the "list of all members" page of a class */ - virtual QCString trMemberList() - { return "Member List"; } + virtual QCString trMemberList() = 0; /*! 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 "; } + virtual QCString trThisIsTheListOfAllMembers() = 0; /*! this is the remainder of the sentence after the class name */ - virtual QCString trIncludingInheritedMembers() - { return ", including all inherited members."; } + virtual QCString trIncludingInheritedMembers() = 0; /*! 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; - } + virtual QCString trGeneratedAutomatically(const char *s) = 0; /*! put after an enum name in the list of all members */ - virtual QCString trEnumName() - { return "enum name"; } + virtual QCString trEnumName() = 0; /*! put after an enum value in the list of all members */ - virtual QCString trEnumValue() - { return "enum value"; } + virtual QCString trEnumValue() = 0; /*! put after an undocumented member in the list of all members */ - virtual QCString trDefinedIn() - { return "defined in"; } + virtual QCString trDefinedIn() = 0; - // TODO: trVerbatimText is no longer used => remove! - /*! 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"; } + virtual QCString trModules() = 0; /*! This is put above each page as a link to the class hierarchy */ - virtual QCString trClassHierarchy() - { return "Class Hierarchy"; } + virtual QCString trClassHierarchy() = 0; /*! This is put above each page as a link to the list of annotated classes */ - virtual QCString trCompoundList() - { - if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - { - return "Data Structures"; - } - else - { - return "Compound List"; - } - } + virtual QCString trCompoundList() = 0; /*! This is put above each page as a link to the list of documented files */ - virtual QCString trFileList() - { return "File List"; } + virtual QCString trFileList() = 0; /*! This is put above each page as a link to the list of all verbatim headers */ - virtual QCString trHeaderFiles() - { return "Header Files"; } + virtual QCString trHeaderFiles() = 0; /*! This is put above each page as a link to all members of compounds. */ - virtual QCString trCompoundMembers() - { - if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - { - return "Data Fields"; - } - else - { - return "Compound Members"; - } - } + virtual QCString trCompoundMembers() = 0; /*! This is put above each page as a link to all members of files. */ - virtual QCString trFileMembers() - { - if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - { - return "Globals"; - } - else - { - return "File Members"; - } - } + virtual QCString trFileMembers() = 0; /*! This is put above each page as a link to all related pages. */ - virtual QCString trRelatedPages() - { return "Related Pages"; } + virtual QCString trRelatedPages() = 0; /*! This is put above each page as a link to all examples. */ - virtual QCString trExamples() - { return "Examples"; } + virtual QCString trExamples() = 0; /*! This is put above each page as a link to the search engine. */ - virtual QCString trSearch() - { return "Search"; } + virtual QCString trSearch() = 0; /*! This is an introduction to the class hierarchy. */ - virtual QCString trClassHierarchyDescription() - { return "This inheritance list is sorted roughly, " - "but not completely, alphabetically:"; - } + virtual QCString trClassHierarchyDescription() = 0; /*! 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; - } + virtual QCString trFileListDescription(bool extractAll) = 0; /*! This is an introduction to the annotated compound list. */ - virtual QCString trCompoundListDescription() - { - - if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - { - return "Here are the data structures with brief descriptions:"; - } - else - { - return "Here are the classes, structs, " - "unions and interfaces with brief descriptions:"; - } - } + virtual QCString trCompoundListDescription() = 0; /*! 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 "; - } - if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - { - result+="struct and union fields"; - } - else - { - result+="class members"; - } - result+=" with links to "; - if (extractAll) - { - if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - { - result+="the struct/union documentation for each field:"; - } - else - { - result+="the class documentation for each member:"; - } - } - else - { - if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - { - result+="the structures/unions they belong to:"; - } - else - { - result+="the classes they belong to:"; - } - } - return result; - } + virtual QCString trCompoundMembersDescription(bool extractAll) = 0; /*! 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 "; - - if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - { - result+="functions, variables, defines, enums, and typedefs"; - } - else - { - result+="file members"; - } - result+=" with links to "; - if (extractAll) - result+="the files they belong to:"; - else - result+="the documentation:"; - return result; - } + virtual QCString trFileMembersDescription(bool extractAll) = 0; /*! 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:"; } + virtual QCString trHeaderFilesDescription() = 0; /*! This is an introduction to the page with the list of all examples */ - virtual QCString trExamplesDescription() - { return "Here is a list of all examples:"; } + virtual QCString trExamplesDescription() = 0; /*! 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:"; } + virtual QCString trRelatedPagesDescription() = 0; /*! 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:"; } + virtual QCString trModulesDescription() = 0; /*! This sentences is used in the annotated class/file lists if no brief * description is given. */ - virtual QCString trNoDescriptionAvailable() - { return "No description available"; } + virtual QCString trNoDescriptionAvailable() = 0; // 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"; } + virtual QCString trDocumentation() = 0; /*! This is used in LaTeX as the title of the chapter with the * index of all groups. */ - virtual QCString trModuleIndex() - { return "Module Index"; } + virtual QCString trModuleIndex() = 0; /*! This is used in LaTeX as the title of the chapter with the * class hierarchy. */ - virtual QCString trHierarchicalIndex() - { return "Hierarchical Index"; } + virtual QCString trHierarchicalIndex() = 0; /*! This is used in LaTeX as the title of the chapter with the * annotated compound index. */ - virtual QCString trCompoundIndex() - { - if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - { - return "Data Structure Index"; - } - else - { - return "Compound Index"; - } - } + virtual QCString trCompoundIndex() = 0; /*! This is used in LaTeX as the title of the chapter with the * list of all files. */ - virtual QCString trFileIndex() - { return "File Index"; } + virtual QCString trFileIndex() = 0; /*! This is used in LaTeX as the title of the chapter containing * the documentation of all groups. */ - virtual QCString trModuleDocumentation() - { return "Module Documentation"; } + virtual QCString trModuleDocumentation() = 0; /*! 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"; } + virtual QCString trClassDocumentation() = 0; /*! This is used in LaTeX as the title of the chapter containing * the documentation of all files. */ - virtual QCString trFileDocumentation() - { return "File Documentation"; } + virtual QCString trFileDocumentation() = 0; /*! This is used in LaTeX as the title of the chapter containing * the documentation of all examples. */ - virtual QCString trExampleDocumentation() - { return "Example Documentation"; } + virtual QCString trExampleDocumentation() = 0; /*! This is used in LaTeX as the title of the chapter containing * the documentation of all related pages. */ - virtual QCString trPageDocumentation() - { return "Page Documentation"; } + virtual QCString trPageDocumentation() = 0; /*! This is used in LaTeX as the title of the document */ - virtual QCString trReferenceManual() - { return "Reference Manual"; } + virtual QCString trReferenceManual() = 0; /*! This is used in the documentation of a file as a header before the * list of defines */ - virtual QCString trDefines() - { return "Defines"; } + virtual QCString trDefines() = 0; /*! This is used in the documentation of a file as a header before the * list of function prototypes */ - virtual QCString trFuncProtos() - { return "Function Prototypes"; } + virtual QCString trFuncProtos() = 0; /*! This is used in the documentation of a file as a header before the * list of typedefs */ - virtual QCString trTypedefs() - { return "Typedefs"; } + virtual QCString trTypedefs() = 0; /*! This is used in the documentation of a file as a header before the * list of enumerations */ - virtual QCString trEnumerations() - { return "Enumerations"; } + virtual QCString trEnumerations() = 0; /*! This is used in the documentation of a file as a header before the * list of (global) functions */ - virtual QCString trFunctions() - { return "Functions"; } + virtual QCString trFunctions() = 0; /*! This is used in the documentation of a file as a header before the * list of (global) variables */ - virtual QCString trVariables() - { return "Variables"; } + virtual QCString trVariables() = 0; /*! This is used in the documentation of a file as a header before the * list of (global) variables */ - virtual QCString trEnumerationValues() - { return "Enumeration values"; } + virtual QCString trEnumerationValues() = 0; /*! This is used in man pages as the author section. */ - virtual QCString trAuthor() - { return "Author"; } + virtual QCString trAuthor() = 0; /*! This is used in the documentation of a file before the list of * documentation blocks for defines */ - virtual QCString trDefineDocumentation() - { return "Define Documentation"; } + virtual QCString trDefineDocumentation() = 0; /*! 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"; } + virtual QCString trFunctionPrototypeDocumentation() = 0; /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for typedefs */ - virtual QCString trTypedefDocumentation() - { return "Typedef Documentation"; } + virtual QCString trTypedefDocumentation() = 0; /*! 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"; } + virtual QCString trEnumerationTypeDocumentation() = 0; /*! 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"; } + virtual QCString trEnumerationValueDocumentation() = 0; /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for functions */ - virtual QCString trFunctionDocumentation() - { return "Function Documentation"; } + virtual QCString trFunctionDocumentation() = 0; /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for variables */ - virtual QCString trVariableDocumentation() - { return "Variable Documentation"; } + virtual QCString trVariableDocumentation() = 0; /*! This is used in the documentation of a file/namespace/group before * the list of links to documented compounds */ - virtual QCString trCompounds() - { - if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - { - return "Data Structures"; - } - else - { - return "Compounds"; - } - } - - /*! This is used in the documentation of a group before the list of - * links to documented files - */ - virtual QCString trFiles() - { return "Files"; } + virtual QCString trCompounds() = 0; /*! 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; - } + virtual QCString trGeneratedAt(const char *date,const char *projName) = 0; + /*! This is part of the sentence used in the standard footer of each page. */ - virtual QCString trWrittenBy() - { - return "written by"; - } + virtual QCString trWrittenBy() = 0; /*! this text is put before a class diagram */ - virtual QCString trClassDiagram(const char *clName) - { - return (QCString)"Inheritance diagram for "+clName+":"; - } + virtual QCString trClassDiagram(const char *clName) = 0; /*! this text is generated when the \\internal command is used. */ - virtual QCString trForInternalUseOnly() - { return "For internal use only."; } + virtual QCString trForInternalUseOnly() = 0; /*! this text is generated when the \\reimp command is used. */ - virtual QCString trReimplementedForInternalReasons() - { return "Reimplemented for internal reasons; the API is not affected."; } + virtual QCString trReimplementedForInternalReasons() = 0; /*! this text is generated when the \\warning command is used. */ - virtual QCString trWarning() - { return "Warning"; } + virtual QCString trWarning() = 0; /*! this text is generated when the \\bug command is used. */ - virtual QCString trBugsAndLimitations() - { return "Bugs and limitations"; } + virtual QCString trBugsAndLimitations() = 0; /*! this text is generated when the \\version command is used. */ - virtual QCString trVersion() - { return "Version"; } + virtual QCString trVersion() = 0; /*! this text is generated when the \\date command is used. */ - virtual QCString trDate() - { return "Date"; } + virtual QCString trDate() = 0; /*! this text is generated when the \\author command is used. */ - virtual QCString trAuthors() - { return "Author(s)"; } + virtual QCString trAuthors() = 0; /*! this text is generated when the \\return command is used. */ - virtual QCString trReturns() - { return "Returns"; } + virtual QCString trReturns() = 0; /*! this text is generated when the \\sa command is used. */ - virtual QCString trSeeAlso() - { return "See also"; } + virtual QCString trSeeAlso() = 0; /*! this text is generated when the \\param command is used. */ - virtual QCString trParameters() - { return "Parameters"; } + virtual QCString trParameters() = 0; /*! this text is generated when the \\exception command is used. */ - virtual QCString trExceptions() - { return "Exceptions"; } + virtual QCString trExceptions() = 0; /*! this text is used in the title page of a LaTeX document. */ - virtual QCString trGeneratedBy() - { return "Generated by"; } + virtual QCString trGeneratedBy() = 0; ////////////////////////////////////////////////////////////////////////// // new since 0.49-990307 ////////////////////////////////////////////////////////////////////////// /*! used as the title of page containing all the index of all namespaces. */ - virtual QCString trNamespaceList() - { return "Namespace List"; } + virtual QCString trNamespaceList() = 0; /*! 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; - } + virtual QCString trNamespaceListDescription(bool extractAll) = 0; /*! used in the class documentation as a header before the list of all * friends of a class */ - virtual QCString trFriends() - { return "Friends"; } + virtual QCString trFriends() = 0; ////////////////////////////////////////////////////////////////////////// // new since 0.49-990405 @@ -699,8 +544,7 @@ class Translator /*! used in the class documentation as a header before the list of all * related classes */ - virtual QCString trRelatedFunctionDocumentation() - { return "Friends And Related Function Documentation"; } + virtual QCString trRelatedFunctionDocumentation() = 0; ////////////////////////////////////////////////////////////////////////// // new since 0.49-990425 @@ -709,143 +553,65 @@ class Translator /*! used as the title of the HTML page of a class/struct/union */ virtual QCString trCompoundReference(const char *clName, ClassDef::CompoundType compType, - bool isTemplate) - { - 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; - } - if (isTemplate) result+=" Template"; - result+=" Reference"; - return result; - } + bool isTemplate) = 0; /*! 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; - } + virtual QCString trFileReference(const char *fileName) = 0; /*! 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; - } + virtual QCString trNamespaceReference(const char *namespaceName) = 0; - virtual QCString trPublicMembers() - { return "Public Methods"; } - virtual QCString trPublicSlots() - { return "Public Slots"; } - virtual QCString trSignals() - { return "Signals"; } - virtual QCString trStaticPublicMembers() - { return "Static Public Methods"; } - virtual QCString trProtectedMembers() - { return "Protected Methods"; } - virtual QCString trProtectedSlots() - { return "Protected Slots"; } - virtual QCString trStaticProtectedMembers() - { return "Static Protected Methods"; } - virtual QCString trPrivateMembers() - { return "Private Methods"; } - virtual QCString trPrivateSlots() - { return "Private Slots"; } - virtual QCString trStaticPrivateMembers() - { return "Static Private Methods"; } + virtual QCString trPublicMembers() = 0; + virtual QCString trPublicSlots() = 0; + virtual QCString trSignals() = 0; + virtual QCString trStaticPublicMembers() = 0; + virtual QCString trProtectedMembers() = 0; + virtual QCString trProtectedSlots() = 0; + virtual QCString trStaticProtectedMembers() = 0; + virtual QCString trPrivateMembers() = 0; + virtual QCString trPrivateSlots() = 0; + virtual QCString trStaticPrivateMembers() = 0; /*! 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<numEntries;i++) - { - // use generateMarker to generate placeholders for the class links! - result+=generateMarker(i); // generate marker for entry i in the list - // (order is left to right) - - if (i!=numEntries-1) // not the last entry, so we need a separator - { - if (i<numEntries-2) // not the fore last entry - result+=", "; - else // the fore last entry - result+=", and "; - } - } - return result; - } + virtual QCString trWriteList(int numEntries) = 0; /*! used in class documentation to produce a list of base classes, * if class diagrams are disabled. */ - virtual QCString trInheritsList(int numEntries) - { - return "Inherits "+trWriteList(numEntries)+"."; - } + virtual QCString trInheritsList(int numEntries) = 0; /*! used in class documentation to produce a list of super classes, * if class diagrams are disabled. */ - virtual QCString trInheritedByList(int numEntries) - { - return "Inherited by "+trWriteList(numEntries)+"."; - } + virtual QCString trInheritedByList(int numEntries) = 0; /*! used in member documentation blocks to produce a list of * members that are hidden by this one. */ - virtual QCString trReimplementedFromList(int numEntries) - { - return "Reimplemented from "+trWriteList(numEntries)+"."; - } + virtual QCString trReimplementedFromList(int numEntries) = 0; /*! used in member documentation blocks to produce a list of * all member that overwrite the implementation of this member. */ - virtual QCString trReimplementedInList(int numEntries) - { - return "Reimplemented in "+trWriteList(numEntries)+"."; - } + virtual QCString trReimplementedInList(int numEntries) = 0; /*! This is put above each page as a link to all members of namespaces. */ - virtual QCString trNamespaceMembers() - { return "Namespace Members"; } + virtual QCString trNamespaceMembers() = 0; /*! This is an introduction to the page with all namespace members */ - virtual QCString trNamespaceMemberDescription(bool extractAll) - { - QCString result="Here is a list of all "; - if (!extractAll) result+="documented "; - result+="namespace members with links to "; - if (extractAll) - result+="the namespace documentation for each member:"; - else - result+="the namespaces they belong to:"; - return result; - } + virtual QCString trNamespaceMemberDescription(bool extractAll) = 0; + /*! This is used in LaTeX as the title of the chapter with the * index of all namespaces. */ - virtual QCString trNamespaceIndex() - { return "Namespace Index"; } + virtual QCString trNamespaceIndex() = 0; /*! This is used in LaTeX as the title of the chapter containing * the documentation of all namespaces. */ - virtual QCString trNamespaceDocumentation() - { return "Namespace Documentation"; } + virtual QCString trNamespaceDocumentation() = 0; ////////////////////////////////////////////////////////////////////////// // new since 0.49-990522 @@ -854,8 +620,7 @@ class Translator /*! This is used in the documentation before the list of all * namespaces in a file. */ - virtual QCString trNamespaces() - { return "Namespaces"; } + virtual QCString trNamespaces() = 0; ////////////////////////////////////////////////////////////////////////// // new since 0.49-990728 @@ -865,435 +630,222 @@ class Translator * followed by a list of files that were used to generate the page. */ virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType, - bool single) - { // here s is one of " Class", " Struct" or " Union" - // single is true implies a single file - QCString result=(QCString)"The documentation for this "; - 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+=" was generated from the following file"; - if (single) result+=":"; else result+="s:"; - return result; - } + bool single) = 0; /*! This is in the (quick) index as a link to the alphabetical compound * list. */ - virtual QCString trAlphabeticalList() - { return "Alphabetical List"; } + virtual QCString trAlphabeticalList() = 0; ////////////////////////////////////////////////////////////////////////// // new since 0.49-990901 ////////////////////////////////////////////////////////////////////////// /*! This is used as the heading text for the retval command. */ - virtual QCString trReturnValues() - { return "Return values"; } + virtual QCString trReturnValues() = 0; /*! This is in the (quick) index as a link to the main page (index.html) */ - virtual QCString trMainPage() - { return "Main Page"; } + virtual QCString trMainPage() = 0; /*! This is used in references to page that are put in the LaTeX * documentation. It should be an abbreviation of the word page. */ - virtual QCString trPageAbbreviation() - { return "p."; } + virtual QCString trPageAbbreviation() = 0; ////////////////////////////////////////////////////////////////////////// // new since 0.49-991003 ////////////////////////////////////////////////////////////////////////// - virtual QCString trSources() - { - return "Sources"; - } - virtual QCString trDefinedAtLineInSourceFile() - { - return "Definition at line @0 of file @1."; - } - virtual QCString trDefinedInSourceFile() - { - return "Definition in file @0."; - } + virtual QCString trSources() = 0; + + virtual QCString trDefinedAtLineInSourceFile() = 0; + + virtual QCString trDefinedInSourceFile() = 0; ////////////////////////////////////////////////////////////////////////// // new since 0.49-991205 ////////////////////////////////////////////////////////////////////////// - virtual QCString trDeprecated() - { - return "Deprecated"; - } + virtual QCString trDeprecated() = 0; ////////////////////////////////////////////////////////////////////////// // new since 1.0.0 ////////////////////////////////////////////////////////////////////////// /*! this text is put before a collaboration diagram */ - virtual QCString trCollaborationDiagram(const char *clName) - { - return (QCString)"Collaboration diagram for "+clName+":"; - } + virtual QCString trCollaborationDiagram(const char *clName) = 0; + /*! this text is put before an include dependency graph */ - virtual QCString trInclDepGraph(const char *fName) - { - return (QCString)"Include dependency graph for "+fName+":"; - } + virtual QCString trInclDepGraph(const char *fName) = 0; + /*! header that is put before the list of constructor/destructors. */ - virtual QCString trConstructorDocumentation() - { - return "Constructor & Destructor Documentation"; - } + virtual QCString trConstructorDocumentation() = 0; + /*! Used in the file documentation to point to the corresponding sources. */ - virtual QCString trGotoSourceCode() - { - return "Go to the source code of this file."; - } + virtual QCString trGotoSourceCode() = 0; + /*! Used in the file sources to point to the corresponding documentation. */ - virtual QCString trGotoDocumentation() - { - return "Go to the documentation of this file."; - } + virtual QCString trGotoDocumentation() = 0; + /*! Text for the \pre command */ - virtual QCString trPrecondition() - { - return "Precondition"; - } + virtual QCString trPrecondition() = 0; + /*! Text for the \post command */ - virtual QCString trPostcondition() - { - return "Postcondition"; - } + virtual QCString trPostcondition() = 0; + /*! Text for the \invariant command */ - virtual QCString trInvariant() - { - return "Invariant"; - } + virtual QCString trInvariant() = 0; + /*! Text shown before a multi-line variable/enum initialization */ - virtual QCString trInitialValue() - { - return "Initial value:"; - } + virtual QCString trInitialValue() = 0; + /*! Text used the source code in the file index */ - virtual QCString trCode() - { - return "code"; - } - virtual QCString trGraphicalHierarchy() - { - return "Graphical Class Hierarchy"; - } - virtual QCString trGotoGraphicalHierarchy() - { - return "Go to the graphical class hierarchy"; - } - virtual QCString trGotoTextualHierarchy() - { - return "Go to the textual class hierarchy"; - } - virtual QCString trPageIndex() - { - return "Page Index"; - } + virtual QCString trCode() = 0; + + virtual QCString trGraphicalHierarchy() = 0; + virtual QCString trGotoGraphicalHierarchy() = 0; + virtual QCString trGotoTextualHierarchy() = 0; + virtual QCString trPageIndex() = 0; ////////////////////////////////////////////////////////////////////////// // new since 1.1.0 ////////////////////////////////////////////////////////////////////////// - virtual QCString trNote() - { - return "Note"; - } - virtual QCString trPublicTypes() - { - return "Public Types"; - } - virtual QCString trPublicAttribs() - { - if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - { - return "Data Fields"; - } - else - { - return "Public Attributes"; - } - } - virtual QCString trStaticPublicAttribs() - { - return "Static Public Attributes"; - } - virtual QCString trProtectedTypes() - { - return "Protected Types"; - } - virtual QCString trProtectedAttribs() - { - return "Protected Attributes"; - } - virtual QCString trStaticProtectedAttribs() - { - return "Static Protected Attributes"; - } - virtual QCString trPrivateTypes() - { - return "Private Types"; - } - virtual QCString trPrivateAttribs() - { - return "Private Attributes"; - } - virtual QCString trStaticPrivateAttribs() - { - return "Static Private Attributes"; - } + virtual QCString trNote() = 0; + virtual QCString trPublicTypes() = 0; + virtual QCString trPublicAttribs() = 0; + virtual QCString trStaticPublicAttribs() = 0; + virtual QCString trProtectedTypes() = 0; + virtual QCString trProtectedAttribs() = 0; + virtual QCString trStaticProtectedAttribs() = 0; + virtual QCString trPrivateTypes() = 0; + virtual QCString trPrivateAttribs() = 0; + virtual QCString trStaticPrivateAttribs() = 0; ////////////////////////////////////////////////////////////////////////// // new since 1.1.3 ////////////////////////////////////////////////////////////////////////// /*! Used as a marker that is put before a \\todo item */ - virtual QCString trTodo() - { - return "Todo"; - } + virtual QCString trTodo() = 0; + /*! Used as the header of the todo list */ - virtual QCString trTodoList() - { - return "Todo List"; - } + virtual QCString trTodoList() = 0; ////////////////////////////////////////////////////////////////////////// // new since 1.1.4 ////////////////////////////////////////////////////////////////////////// - virtual QCString trReferencedBy() - { - return "Referenced by"; - } - virtual QCString trRemarks() - { - return "Remarks"; - } - virtual QCString trAttention() - { - return "Attention"; - } - virtual QCString trInclByDepGraph() - { - return "This graph shows which files directly or " - "indirectly include this file:"; - } - virtual QCString trSince() - { - return "Since"; - } + virtual QCString trReferencedBy() = 0; + virtual QCString trRemarks() = 0; + virtual QCString trAttention() = 0; + virtual QCString trInclByDepGraph() = 0; + virtual QCString trSince() = 0; ////////////////////////////////////////////////////////////////////////// // new since 1.1.5 ////////////////////////////////////////////////////////////////////////// /*! title of the graph legend page */ - virtual QCString trLegendTitle() - { - return "Graph Legend"; - } + virtual QCString trLegendTitle() = 0; + /*! page explaining how the dot graph's should be interpreted */ - virtual QCString trLegendDocs() - { - return - "This page explains how to interpret the graphs that are generated " - "by doxygen.<p>\n" - "Consider the following example:\n" - "\\code\n" - "/*! Invisible class because of truncation */\n" - "class Invisible { };\n\n" - "/*! Truncated class, inheritance relation is hidden */\n" - "class Truncated : public Invisible { };\n\n" - "/* Class not documented with doxygen comments */\n" - "class Undocumented { };\n\n" - "/*! Class that is inherited using public inheritance */\n" - "class PublicBase : public Truncated { };\n\n" - "/*! Class that is inherited using protected inheritance */\n" - "class ProtectedBase { };\n\n" - "/*! Class that is inherited using private inheritance */\n" - "class PrivateBase { };\n\n" - "/*! Class that is used by the Inherited class */\n" - "class Used { };\n\n" - "/*! Super class that inherits a number of other classes */\n" - "class Inherited : public PublicBase,\n" - " protected ProtectedBase,\n" - " private PrivateBase,\n" - " public Undocumented\n" - "{\n" - " private:\n" - " Used *m_usedClass;\n" - "};\n" - "\\endcode\n" - "If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file " - "is set to 200 this will result in the following graph:" - "<p><center><img src=\"graph_legend.gif\"></center>\n" - "<p>\n" - "The boxes in the above graph have the following meaning:\n" - "<ul>\n" - "<li>A filled black box represents the struct or class for which the " - "graph is generated.\n" - "<li>A box with a black border denotes a documented struct or class.\n" - "<li>A box with a grey border denotes an undocumented struct or class.\n" - "<li>A box with a red border denotes a documented struct or class for\n" - "which not all inheritance/containment relations are shown. A graph is " - "truncated if it does not fit within the specified boundaries." - "</ul>\n" - "The arrows have the following meaning:\n" - "<ul>\n" - "<li>A dark blue arrow is used to visualize a public inheritance " - "relation between two classes.\n" - "<li>A dark green arrow is used for protected inheritance.\n" - "<li>A dark red arrow is used for private inheritance.\n" - "<li>A purple dashed arrow is used if a class is contained or used " - "by another class. The arrow is labeled with the variable(s) " - "through which the pointed class or struct is accessible. \n" - "</ul>\n"; - } + virtual QCString trLegendDocs() = 0; + /*! text for the link to the legend page */ - virtual QCString trLegend() - { - return "legend"; - } + virtual QCString trLegend() = 0; ////////////////////////////////////////////////////////////////////////// // new since 1.2.0 ////////////////////////////////////////////////////////////////////////// /*! Used as a marker that is put before a test item */ - virtual QCString trTest() - { - return "Test"; - } + virtual QCString trTest() = 0; + /*! Used as the header of the test list */ - virtual QCString trTestList() - { - return "Test List"; - } + virtual QCString trTestList() = 0; ////////////////////////////////////////////////////////////////////////// // new since 1.2.1 ////////////////////////////////////////////////////////////////////////// /*! Used as a section header for KDE-2 IDL methods */ - virtual QCString trDCOPMethods() - { - return "DCOP Methods"; - } + virtual QCString trDCOPMethods() = 0; ////////////////////////////////////////////////////////////////////////// // new since 1.2.2 ////////////////////////////////////////////////////////////////////////// /*! Used as a section header for IDL properties */ - virtual QCString trProperties() - { - return "Properties"; - } + virtual QCString trProperties() = 0; + /*! Used as a section header for IDL property documentation */ - virtual QCString trPropertyDocumentation() - { - return "Property Documentation"; - } + virtual QCString trPropertyDocumentation() = 0; ////////////////////////////////////////////////////////////////////////// // new since 1.2.4 ////////////////////////////////////////////////////////////////////////// /*! Used for Java interfaces in the summary section of Java packages */ - virtual QCString trInterfaces() - { - return "Interfaces"; - } + virtual QCString trInterfaces() = 0; + /*! Used for Java classes in the summary section of Java packages */ - virtual QCString trClasses() - { - if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - { - return "Data Structures"; - } - else - { - return "Classes"; - } - } + virtual QCString trClasses() = 0; + /*! Used as the title of a Java package */ - virtual QCString trPackage(const char *name) - { - return (QCString)"Package "+name; - } + virtual QCString trPackage(const char *name) = 0; + /*! Title of the package index page */ - virtual QCString trPackageList() - { - return "Package List"; - } + virtual QCString trPackageList() = 0; + /*! The description of the package index page */ - virtual QCString trPackageListDescription() - { - return "Here are the packages with brief descriptions (if available):"; - } + virtual QCString trPackageListDescription() = 0; + /*! The link name in the Quick links header for each page */ - virtual QCString trPackages() - { - return "Packages"; - } + virtual QCString trPackages() = 0; + /*! Used as a chapter title for Latex & RTF output */ - virtual QCString trPackageDocumentation() - { - return "Package Documentation"; - } + virtual QCString trPackageDocumentation() = 0; + /*! Text shown before a multi-line define */ - virtual QCString trDefineValue() - { - return "Value:"; - } + virtual QCString trDefineValue() = 0; ////////////////////////////////////////////////////////////////////////// // new since 1.2.5 ////////////////////////////////////////////////////////////////////////// /*! Used as a marker that is put before a \\bug item */ - virtual QCString trBug() - { - return "Bug"; - } + virtual QCString trBug() = 0; + /*! Used as the header of the bug list */ - virtual QCString trBugList() - { - return "Bug List"; - } + virtual QCString trBugList() = 0; ////////////////////////////////////////////////////////////////////////// -// new since 1.2.? +// new since 1.2.6 ////////////////////////////////////////////////////////////////////////// + /*! Used as ansicpg for RTF file */ - virtual QCString trRTFansicp() - { - return "1252"; - } + virtual QCString trRTFansicp() = 0; + /*! Used as ansicpg for RTF fcharset */ - virtual QCString trRTFCharSet() - { - return "0"; - } + virtual QCString trRTFCharSet() = 0; + /*! Used as header RTF general index */ - virtual QCString trRTFGeneralIndex() - { - return "Index"; - } + virtual QCString trRTFGeneralIndex() = 0; + + /*! The following are used for translation of the word that will + * possibly be followed by a single name or by a list of names + * of the category. + */ + virtual QCString trClass(bool first_capital, bool singular) = 0; + virtual QCString trFile(bool first_capital, bool singular) = 0; + virtual QCString trNamespace(bool first_capital, bool singular) = 0; + virtual QCString trGroup(bool first_capital, bool singular) = 0; + virtual QCString trPage(bool first_capital, bool singular) = 0; + virtual QCString trMember(bool first_capital, bool singular) = 0; + virtual QCString trField(bool first_capital, bool singular) = 0; + virtual QCString trGlobal(bool first_capital, bool singular) = 0; }; #endif diff --git a/src/translator_adapter.h b/src/translator_adapter.h new file mode 100644 index 0000000..04d35d4 --- /dev/null +++ b/src/translator_adapter.h @@ -0,0 +1,463 @@ +#ifndef TRANSLATOR_ADAPTER_H +#define TRANSLATOR_ADAPTER_H + +#include "translator_en.h" + +/*! A function to generate a warning message to signal the user + * that the translation of his/her language of choice needs updating + * \relates TranslatorAdapterBase + */ +inline QCString createUpdateNeededMessage(const char *languageName, + const char *versionString) +{ + return (QCString)"Warning: The selected output language \""+languageName+ + "\" has not been updated\nsince release "+versionString+ + ". As a result some sentences may appear in English.\n"; +} + +/*! \brief Base of the translator adapter tree + * + * This class provides access to the english translations, to be used + * as a substitute for real translations. + */ +class TranslatorAdapterBase : public Translator +{ + protected: + TranslatorEnglish english; +}; + +/*! \brief Translator adapter class for release 1.2.6 + * + * Translator adapter for dealing with translator changes since + * release 1.2.6 + */ +class TranslatorAdapter_1_2_6 : public TranslatorAdapterBase +{ + public: + QCString updateNeededMessage() + { return createUpdateNeededMessage(idLanguage(),"1.2.6"); } + + /*! Used as ansicpg for RTF file */ + QCString trRTFansicp() + { + return "1252"; + } + + /*! Used as ansicpg for RTF fcharset */ + QCString trRTFCharSet() + { + return "0"; + } + + /*! Used as header RTF general index */ + QCString trRTFGeneralIndex() + { + return "Index"; + } + + ////////////////////////////////////////////////////////////////// + // The following methods were replaced by newer equivalent, but + // the obsolete method may be localized. Let's use the localized + // result if possible. + + + /*! This is the default implementation of the obsolete method + * used in the documentation of a group before the list of + * links to documented files. This is possibly localized. + */ + QCString trFiles() + { return "Files"; } + + /*! This is the localized implementation of newer equivalent + * using the obsolete method trFiles(). + */ + QCString trFile(bool first_capital, bool singular) + { + if (first_capital && !singular) + return trFiles(); // possibly localized + else + return english.trFile(first_capital, singular); + } + + /*! The latexBabelPackage() was superceeded by + * latexLanguageSupportCommand(). The default implementation + * of the obsolete method follows. + */ + QCString latexBabelPackage() + { return ""; } + + /*! Default implementation of the newer method. */ + QCString latexLanguageSupportCommand() + { + QCString result(latexBabelPackage()); + if (!result.isEmpty()) + { + result = "\\usepackage[" + result; + result += "]{babel}\n"; + } + return result; + } + + QCString idLanguageCharset() + { return english.idLanguageCharset(); } + + QCString trClass(bool first_capital, bool singular) + { return english.trClass(first_capital,singular); } + + QCString trNamespace(bool first_capital, bool singular) + { return english.trNamespace(first_capital,singular); } + + QCString trGroup(bool first_capital, bool singular) + { return english.trGroup(first_capital,singular); } + + QCString trPage(bool first_capital, bool singular) + { return english.trPage(first_capital,singular); } + + QCString trMember(bool first_capital, bool singular) + { return english.trMember(first_capital,singular); } + + QCString trField(bool first_capital, bool singular) + { return english.trField(first_capital,singular); } + + QCString trGlobal(bool first_capital, bool singular) + { return english.trGlobal(first_capital,singular); } + +}; + +/*! \brief Translator adapter class for release 1.2.5 + * + * Translator adapter for dealing with translator changes since + * release 1.2.5 + */ +class TranslatorAdapter_1_2_5 : public TranslatorAdapter_1_2_6 +{ + public: + QCString updateNeededMessage() + { return createUpdateNeededMessage(idLanguage(),"1.2.5"); } + + QCString trBug() + { return english.trBug(); } + + QCString trBugList() + { return english.trBugList(); } +}; + +/*! \brief Translator adapter class for release 1.2.4 + * + * Translator adapter for dealing with translator changes since + * release 1.2.4 + */ +class TranslatorAdapter_1_2_4 : public TranslatorAdapter_1_2_5 +{ + public: + QCString updateNeededMessage() + { return createUpdateNeededMessage(idLanguage(),"1.2.4"); } + + QCString trInterfaces() + { return english.trInterfaces(); } + + QCString trClasses() + { return english.trClasses(); } + + QCString trPackage(const char *name) + { return english.trPackage(name); } + + QCString trPackageList() + { return english.trPackageList(); } + + QCString trPackageListDescription() + { return english.trPackageListDescription(); } + + QCString trPackages() + { return english.trPackages(); } + + QCString trPackageDocumentation() + { return english.trPackageDocumentation(); } + + QCString trDefineValue() + { return english.trDefineValue(); } + +}; + +/*! \brief Translator adapter class for release 1.2.2 + * + * Translator adapter for dealing with translator changes since + * release 1.2.2 + */ +class TranslatorAdapter_1_2_2 : public TranslatorAdapter_1_2_4 +{ + public: + QCString updateNeededMessage() + { return createUpdateNeededMessage(idLanguage(),"1.2.2"); } + + QCString trProperties() + { return english.trProperties(); } + + QCString trPropertyDocumentation() + { return english.trPropertyDocumentation(); } +}; + +/*! \brief Translator adapter class for release 1.2.1 + * + * Translator adapter for dealing with translator changes since + * release 1.2.1 + */ +class TranslatorAdapter_1_2_1 : public TranslatorAdapter_1_2_2 +{ + public: + QCString updateNeededMessage() + { return createUpdateNeededMessage(idLanguage(),"1.2.1"); } + + QCString trDCOPMethods() + { return english.trDCOPMethods(); } +}; + +/*! \brief Translator adapter class for release 1.2.0 + * + * Translator adapter for dealing with translator changes since + * release 1.2.0 + */ +class TranslatorAdapter_1_2_0 : public TranslatorAdapter_1_2_1 +{ + public: + QCString updateNeededMessage() + { return createUpdateNeededMessage(idLanguage(),"1.2.0"); } + + QCString trTest() + { return english.trTest(); } + + QCString trTestList() + { return english.trTestList(); } + +}; + +/*! \brief Translator adapter class for release 1.1.5 + * + * Translator adapter for dealing with translator changes since + * release 1.1.5 + */ +class TranslatorAdapter_1_1_5 : public TranslatorAdapter_1_2_0 +{ + public: + QCString updateNeededMessage() + { return createUpdateNeededMessage(idLanguage(),"1.1.5"); } + + QCString trLegendTitle() + { return english.trLegendTitle(); } + + QCString trLegendDocs() + { return english.trLegendDocs(); } + + QCString trLegend() + { return english.trLegend(); } +}; + +/*! \brief Translator adapter class for release 1.1.4 + * + * Translator adapter for dealing with translator changes since + * release 1.1.4 + */ +class TranslatorAdapter_1_1_4 : public TranslatorAdapter_1_1_5 +{ + public: + QCString updateNeededMessage() + { return createUpdateNeededMessage(idLanguage(),"1.1.4"); } + + QCString trReferencedBy() + { return english.trReferencedBy(); } + + QCString trRemarks() + { return english.trRemarks(); } + + QCString trAttention() + { return english.trAttention(); } + + QCString trInclByDepGraph() + { return english.trInclByDepGraph(); } + + QCString trSince() + { return english.trSince(); } +}; + +/*! \brief Translator adapter class for release 1.1.3 + * + * Translator adapter for dealing with translator changes since + * release 1.1.3 + */ +class TranslatorAdapter_1_1_3 : public TranslatorAdapter_1_1_4 +{ + public: + QCString updateNeededMessage() + { return createUpdateNeededMessage(idLanguage(),"1.1.3"); } + + QCString trTodo() + { return english.trTodo(); } + + QCString trTodoList() + { return english.trTodoList(); } +}; + +/*! \brief Translator adapter class for release 1.1.0 + * + * Translator adapter for dealing with translator changes since + * release 1.1.0 + */ +class TranslatorAdapter_1_1_0 : public TranslatorAdapter_1_1_3 +{ + public: + QCString updateNeededMessage() + { return createUpdateNeededMessage(idLanguage(),"1.1.0"); } + + QCString trNote() + { return english.trNote(); } + + QCString trPublicTypes() + { return english.trPublicTypes(); } + + QCString trPublicAttribs() + { return english.trPublicAttribs(); } + + QCString trStaticPublicAttribs() + { return english.trStaticPublicAttribs(); } + + QCString trProtectedTypes() + { return english.trProtectedTypes(); } + + QCString trProtectedAttribs() + { return english.trProtectedAttribs(); } + + QCString trStaticProtectedAttribs() + { return english.trStaticProtectedAttribs(); } + + QCString trPrivateTypes() + { return english.trPrivateTypes(); } + + QCString trPrivateAttribs() + { return english.trPrivateAttribs(); } + + QCString trStaticPrivateAttribs() + { return english.trStaticPrivateAttribs(); } + + QCString trEnumerationValueDocumentation() + { return english.trEnumerationValueDocumentation(); } +}; + +/*! \brief Translator adapter class for release 1.0.0 + * + * Translator adapter for dealing with translator changes since + * release 1.0.0 + */ +class TranslatorAdapter_1_0_0 : public TranslatorAdapter_1_1_0 +{ + QCString updateNeededMessage() + { return createUpdateNeededMessage(idLanguage(),"1.0.0"); } + + QCString trIncludingInheritedMembers() + { return english.trIncludingInheritedMembers(); } + + QCString trFuncProtos() + { return english.trFuncProtos(); } + + QCString trNamespaces() + { return english.trNamespaces(); } + + QCString trGeneratedFromFiles(ClassDef::CompoundType compType, + bool single) + { return english.trGeneratedFromFiles(compType, single); } + + QCString trAlphabeticalList() + { return english.trAlphabeticalList(); } + + QCString trReturnValues() + { return english.trReturnValues(); } + + QCString trMainPage() + { return english.trMainPage(); } + + QCString trPageAbbreviation() + { return english.trPageAbbreviation(); } + + QCString trSources() + { return english.trSources(); } + + QCString trStaticProtectedMembers() + { return english.trStaticProtectedMembers(); } + + QCString trDefinedAtLineInSourceFile() + { return english.trDefinedAtLineInSourceFile(); } + + QCString trDefinedInSourceFile() + { return english.trDefinedInSourceFile(); } + + QCString trDeprecated() + { return english.trDeprecated(); } + + QCString trCollaborationDiagram(const char *clName) + { return english.trCollaborationDiagram(clName); } + + QCString trInclDepGraph(const char *fName) + { return english.trInclDepGraph(fName); } + + QCString trConstructorDocumentation() + { return english.trConstructorDocumentation(); } + + QCString trGotoSourceCode() + { return english.trGotoSourceCode(); } + + QCString trGotoDocumentation() + { return english.trGotoDocumentation(); } + + QCString trPrecondition() + { return english.trPrecondition(); } + + QCString trPostcondition() + { return english.trPostcondition(); } + + QCString trInvariant() + { return english.trInvariant(); } + + QCString trInitialValue() + { return english.trInitialValue(); } + + QCString trCode() + { return english.trCode(); } + + QCString trGraphicalHierarchy() + { return english.trGraphicalHierarchy(); } + + QCString trGotoGraphicalHierarchy() + { return english.trGotoGraphicalHierarchy(); } + + QCString trGotoTextualHierarchy() + { return english.trGotoTextualHierarchy(); } + + QCString trPageIndex() + { return english.trPageIndex(); } + + QCString trReimplementedForInternalReasons() + { return english.trReimplementedForInternalReasons(); } + + QCString trClassHierarchyDescription() + { return english.trClassHierarchyDescription(); } + + QCString trNoDescriptionAvailable() + { return english.trNoDescriptionAvailable(); } + + QCString trEnumerationValues() + { return english.trEnumerationValues(); } + + QCString trFunctionPrototypeDocumentation() + { return english.trFunctionPrototypeDocumentation(); } + + QCString trEnumerationTypeDocumentation() + { return english.trEnumerationTypeDocumentation(); } + + QCString trFunctionDocumentation() + { return english.trFunctionDocumentation(); } + + QCString trRelatedFunctionDocumentation() + { return english.trRelatedFunctionDocumentation(); } + +}; + +#endif diff --git a/src/translator_br.h b/src/translator_br.h index ae8ed73..a2f748f 100644 --- a/src/translator_br.h +++ b/src/translator_br.h @@ -18,9 +18,9 @@ #ifndef TRANSLATOR_BR_H #define TRANSLATOR_BR_H -#include "translator.h" +#include "translator_adapter.h" -class TranslatorBrazilian: public Translator +class TranslatorBrazilian: public TranslatorAdapter_1_2_6 { public: diff --git a/src/translator_cn.h b/src/translator_cn.h index ebc0652..f534346 100644 --- a/src/translator_cn.h +++ b/src/translator_cn.h @@ -18,7 +18,7 @@ #ifndef TRANSLATOR_CN_H #define TRANSLATOR_CN_H -#include "translator.h" +#include "translator_adapter.h" /*! If you want insert a space whenever Chinese meets English charactors, set @@ -26,7 +26,7 @@ */ #define CN_SPC -class TranslatorChinese : public Translator +class TranslatorChinese : public TranslatorAdapter_1_2_1 { public: QCString idLanguage() @@ -389,6 +389,18 @@ class TranslatorChinese : public Translator { return "цЭцШ©у╪Днд╣╣"; } ////////////////////////////////////////////////////////////////////////// +// new since 0.49-990522 +////////////////////////////////////////////////////////////////////////// + + /*! This is used in the documentation before the list of all + * namespaces in a file. + */ + QCString trNamespaces() + { + return "Namespaces"; + } + +////////////////////////////////////////////////////////////////////////// // new since 0.49-990728 ////////////////////////////////////////////////////////////////////////// diff --git a/src/translator_cz.h b/src/translator_cz.h index 41187da..479eba6 100644 --- a/src/translator_cz.h +++ b/src/translator_cz.h @@ -18,7 +18,6 @@ #ifndef TRANSLATOR_CZ_H #define TRANSLATOR_CZ_H -#include "translator.h" // The first translation from English to Czech was started by // Vlastimil Havran. He wrote: @@ -32,76 +31,83 @@ // The prototype version of Czech strings with diacritics was // implemented by Petr Prikryl (prikrylp@skil.cz), 2000/06/20. As // Vlastimil was quite busy at the time, he agreed that Petr be the -// second maintainer. +// maintainer for a while (from 2000/06/20). // // Updates: // -------- -// 2000/06/20 (Petr Prikryl) +// 2000/06/20 // - The prototype version of Czech strings with diacritics. The // translation was based on translator.h of Doxygen version // 1.1.4 (from scratch). // -// 2000/07/10 (Petr Prikryl) +// 2000/07/10 // - Updated version based on 1.1.5 sources (including important updates // of the up-to-1.1.4 strings). Czech strings in this file were written // in windows-1250 encoding. On-line decoding into iso-8859-2 ensured // via conditional compilation if the sources are compiled under UNIX. // -// 2000/07/19 (Petr Prikryl) +// 2000/07/19 // - Encoding conversion tables moved to the methods that use them. // - Updates for "new since 1.1.5". // // 2000/08/02 (Petr Prikryl) // - Updated for 1.2.0 // -// 2000/08/24 (Petr Prikryl) +// 2000/08/24 // - Changed trTodo() text from "Udelat" to "Planovane upravy" // which seems more appropriate in the document context. // - Typo corrected in trMemberTypedefDocumentation(). // -// 2000/08/30 (Petr Prikryl) +// 2000/08/30 // - Macro DECODE replaced by the inline Decode() (proposed by // Boris Bralo <boris.bralo@zg.tel.hr> in translator_hr.h). // -// 2000/08/31 (Petr Prikryl) +// 2000/08/31 // - Methods ISOToWin() and WinToISO() renamed and moved to the // base class (in translator.h) to be shared with the Croatian // translator. // -// 2000/09/06 (Petr Prikryl) +// 2000/09/06 // - Reimplementation of the method trInheritsList() which takes // into account quantity of base classes. // -// 2000/09/11 (Petr Prikryl) +// 2000/09/11 // - Update for "new since 1.2.1" version. The text of trDCOPMethods() // was translated rather blindly (not knowing what exactly // the DCOP means). // -// 2000/10/17 (Petr Prikryl) +// 2000/10/17 // - Update for "new since 1.2.2" version. // -// 2001/01/09 (Petr Prikryl) +// 2001/01/09 // - Update for "new since 1.2.4" version. As I do not use Java, // I tried my best to guess the Czech terminology for the Java. // Let me know if some wording should be changed/improved. // -// 2001/02/15 (Petr Prikryl) +// 2001/02/15 // - trMore() now returns only "..." (ellipsis). The Czech replacement // of "(more)" was too much visible. The previous "(...)" did not // look well. // -// 2001/02/26 (Petr Prikryl) +// 2001/02/26 // - Update for "new since 1.2.5" version (trBug(), trBugList()). // -// 2001/03/12 (Petr Prikryl) +// 2001/03/12 // - Minor correction of comments which copied the same // corrections in translator.h (doubled backslash) just after // 1.2.6 release. // -// 2001/04/10 (Petr Prikryl) +// 2001/04/10 // - Update for OPTIMIZE_OUTPUT_FOR_C (1.2.6-20010408). // - Removed implementation of latexBabelPackage(). // - Removed implementation of trVerbatimText(). +// +// 2001/04/20 +// - Update for "new since 1.2.6-20010422". Experimental version +// introducing TranslatorAdapter class and the abstract base +// class Translator. The English translator is now on the same +// level as other translators. +// // // Notices: // -------- @@ -114,7 +120,9 @@ // Windows version. The version which does not call the function is // probably slightly faster. -class TranslatorCzech : public Translator +#include "translator_adapter.h" + +class TranslatorCzech : public TranslatorAdapterBase { private: /*! The Decode() inline assumes the source written in the @@ -291,7 +299,7 @@ class TranslatorCzech : public Translator /*! This is put above each page as a link to all related pages. */ virtual QCString trRelatedPages() - { return Decode("SouvisejМcМ strАnky"); } + { return Decode("OstatnМ strАnky"); } /*! This is put above each page as a link to all examples. */ virtual QCString trExamples() @@ -416,8 +424,9 @@ class TranslatorCzech : public Translator /*! This is an introduction to the page with the list of related pages */ virtual QCString trRelatedPagesDescription() - { return Decode("Zde naleznete seznam v ech souvisejМcМch strАnek " - "dokumentace:"); } + { return Decode("NАsledujМcМ seznam odkazuje na dal М strАnky projektu, " + "kterИ majМ charakter uspoЬАdanЩch seznamЫ informacМ, " + "posbМranЩch z rЫznЩch mМst ve zdrojovЩch souborech:"); } /*! This is an introduction to the page with the list of class/file groups */ virtual QCString trModulesDescription() @@ -1314,6 +1323,115 @@ class TranslatorCzech : public Translator return Decode("Seznam chyb"); } +////////////////////////////////////////////////////////////////////////// +// new since 1.2.6-20010422 +////////////////////////////////////////////////////////////////////////// + + /*! Used as ansicpg for RTF file */ + virtual QCString trRTFansicp() + { + return "1250"; + } + + /*! Used as ansicpg for RTF fcharset */ + virtual QCString trRTFCharSet() + { + return "0"; //??? + } + + /*! Used as header RTF general index */ + virtual QCString trRTFGeneralIndex() + { + return "Index"; //??? + } + + /*! This is used for translation of the word that will possibly + * be followed by a single name or by a list of names + * of the category. + */ + virtual QCString trClass(bool first_capital, bool singular) + { + QCString result((first_capital ? "TЬМd" : "tЬМd")); + result+=(singular ? "a" : "y"); + return Decode(result); + } + + /*! This is used for translation of the word that will possibly + * be followed by a single name or by a list of names + * of the category. + */ + virtual QCString trFile(bool first_capital, bool singular) + { + QCString result((first_capital ? "Soubor" : "soubor")); + if (!singular) result+="y"; + return Decode(result); + } + + /*! This is used for translation of the word that will possibly + * be followed by a single name or by a list of names + * of the category. + */ + virtual QCString trNamespace(bool first_capital, bool singular) + { + QCString result((first_capital ? "Prostor" : "prostor")); + if (!singular) result+="y"; + result+=" jmen"; + return Decode(result); + } + + /*! This is used for translation of the word that will possibly + * be followed by a single name or by a list of names + * of the category. + */ + virtual QCString trGroup(bool first_capital, bool singular) + { + QCString result((first_capital ? "Skupin" : "skupin")); + result+=(singular ? "a" : "y"); + return Decode(result); + } + + /*! This is used for translation of the word that will possibly + * be followed by a single name or by a list of names + * of the category. + */ + virtual QCString trPage(bool first_capital, bool singular) + { + QCString result((first_capital ? "StrАnk" : "strАnk")); + result+=(singular ? "a" : "y"); + return Decode(result); + } + + /*! This is used for translation of the word that will possibly + * be followed by a single name or by a list of names + * of the category. + */ + virtual QCString trMember(bool first_capital, bool singular) + { + QCString result((first_capital ? "хlen" : "Хlen")); + if (!singular) result+="y"; + return Decode(result); + } + + /*! This is used for translation of the word that will possibly + * be followed by a single name or by a list of names + * of the category. + */ + virtual QCString trField(bool first_capital, bool singular) + { + QCString result((first_capital ? "Polo·k" : "polo·k")); + result+=(singular ? "a" : "y"); + return Decode(result); + } + + /*! ??? Jak to prelozit? Bylo by dobre, kdyby se ozval nekdo, + * kdo to pouziva. + */ + virtual QCString trGlobal(bool first_capital, bool singular) + { + QCString result((first_capital ? "Global" : "global")); + if (!singular) result+="s"; + return result; + } }; #endif // TRANSLATOR_CZ_H diff --git a/src/translator_de.h b/src/translator_de.h index 3d157ff..9a65fe2 100644 --- a/src/translator_de.h +++ b/src/translator_de.h @@ -50,9 +50,9 @@ #ifndef TRANSLATOR_DE_H #define TRANSLATOR_DE_H -#include "translator.h" +#include "translator_adapter.h" -class TranslatorGerman : public Translator +class TranslatorGerman : public TranslatorAdapter_1_2_6 { public: QCString idLanguage() diff --git a/src/translator_en.h b/src/translator_en.h new file mode 100644 index 0000000..f914bdd --- /dev/null +++ b/src/translator_en.h @@ -0,0 +1,1288 @@ +/****************************************************************************** + * + * + * + * Copyright (C) 1997-2001 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. + * + */ + +#ifndef TRANSLATOR_EN_H +#define TRANSLATOR_EN_H + +#include "translator.h" + +class TranslatorEnglish : public Translator +{ + public: + + // --- Language control methods ------------------- + + /*! Used for identification of the language. The identification + * should not be translated. It should be replaced by the name + * of the language in English using lower-case characters only + * (e.g. "czech", "japanese", "russian", etc.). It should be equal to + * the identification used in language.cpp. + */ + virtual QCString idLanguage() + { return "english"; } + + /*! Used to get the LaTeX command(s) for the language support. This method + * was designed for languages which do wish to use a babel package. + */ + virtual QCString latexLanguageSupportCommand() + { + return ""; + } + + /*! return the language charset. This will be used for the HTML output */ + virtual QCString idLanguageCharset() + { + return "iso-8859-1"; + } + + // --- Language translation methods ------------------- + + /*! 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() + { + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) + { + return "Field Documentation"; + } + else + { + 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"; } + + // 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() + { + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) + { + return "Data Structures"; + } + else + { + 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() + { + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) + { + return "Data Fields"; + } + else + { + return "Compound Members"; + } + } + + /*! This is put above each page as a link to all members of files. */ + virtual QCString trFileMembers() + { + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) + { + return "Globals"; + } + else + { + 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() + { + + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) + { + return "Here are the data structures with brief descriptions:"; + } + else + { + 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 "; + } + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) + { + result+="struct and union fields"; + } + else + { + result+="class members"; + } + result+=" with links to "; + if (extractAll) + { + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) + { + result+="the struct/union documentation for each field:"; + } + else + { + result+="the class documentation for each member:"; + } + } + else + { + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) + { + result+="the structures/unions they belong to:"; + } + 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 "; + + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) + { + result+="functions, variables, defines, enums, and typedefs"; + } + else + { + result+="file members"; + } + result+=" with links to "; + if (extractAll) + result+="the files they belong to:"; + else + result+="the documentation:"; + 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() + { + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) + { + return "Data Structure Index"; + } + else + { + 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() + { + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) + { + return "Data Structures"; + } + else + { + return "Compounds"; + } + } + + /*! 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, + bool isTemplate) + { + 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; + } + if (isTemplate) result+=" Template"; + 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; + } + + virtual QCString trPublicMembers() + { return "Public Methods"; } + virtual QCString trPublicSlots() + { return "Public Slots"; } + virtual QCString trSignals() + { return "Signals"; } + virtual QCString trStaticPublicMembers() + { return "Static Public Methods"; } + virtual QCString trProtectedMembers() + { return "Protected Methods"; } + virtual QCString trProtectedSlots() + { return "Protected Slots"; } + virtual QCString trStaticProtectedMembers() + { return "Static Protected Methods"; } + virtual QCString trPrivateMembers() + { return "Private Methods"; } + virtual QCString trPrivateSlots() + { return "Private Slots"; } + virtual QCString trStaticPrivateMembers() + { return "Static Private Methods"; } + + /*! 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<numEntries;i++) + { + // use generateMarker to generate placeholders for the class links! + result+=generateMarker(i); // generate marker for entry i in the list + // (order is left to right) + + if (i!=numEntries-1) // not the last entry, so we need a separator + { + if (i<numEntries-2) // not the fore last entry + result+=", "; + else // the fore last entry + result+=", and "; + } + } + return result; + } + + /*! used in class documentation to produce a list of base classes, + * if class diagrams are disabled. + */ + virtual QCString trInheritsList(int numEntries) + { + return "Inherits "+trWriteList(numEntries)+"."; + } + + /*! used in class documentation to produce a list of super classes, + * if class diagrams are disabled. + */ + virtual QCString trInheritedByList(int numEntries) + { + return "Inherited by "+trWriteList(numEntries)+"."; + } + + /*! used in member documentation blocks to produce a list of + * members that are hidden by this one. + */ + virtual QCString trReimplementedFromList(int numEntries) + { + return "Reimplemented from "+trWriteList(numEntries)+"."; + } + + /*! used in member documentation blocks to produce a list of + * all member that overwrite the implementation of this member. + */ + virtual QCString trReimplementedInList(int numEntries) + { + return "Reimplemented in "+trWriteList(numEntries)+"."; + } + + /*! This is put above each page as a link to all members of namespaces. */ + virtual QCString trNamespaceMembers() + { return "Namespace Members"; } + + /*! This is an introduction to the page with all namespace members */ + virtual QCString trNamespaceMemberDescription(bool extractAll) + { + QCString result="Here is a list of all "; + if (!extractAll) result+="documented "; + result+="namespace members with links to "; + if (extractAll) + result+="the namespace documentation for each member:"; + else + result+="the namespaces they belong to:"; + return result; + } + /*! This is used in LaTeX as the title of the chapter with the + * index of all namespaces. + */ + virtual QCString trNamespaceIndex() + { return "Namespace Index"; } + + /*! This is used in LaTeX as the title of the chapter containing + * the documentation of all namespaces. + */ + virtual QCString trNamespaceDocumentation() + { return "Namespace Documentation"; } + +////////////////////////////////////////////////////////////////////////// +// new since 0.49-990522 +////////////////////////////////////////////////////////////////////////// + + /*! This is used in the documentation before the list of all + * namespaces in a file. + */ + virtual QCString trNamespaces() + { return "Namespaces"; } + +////////////////////////////////////////////////////////////////////////// +// new since 0.49-990728 +////////////////////////////////////////////////////////////////////////// + + /*! This is put at the bottom of a class documentation page and is + * followed by a list of files that were used to generate the page. + */ + virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType, + bool single) + { // here s is one of " Class", " Struct" or " Union" + // single is true implies a single file + QCString result=(QCString)"The documentation for this "; + 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+=" was generated from the following file"; + if (single) result+=":"; else result+="s:"; + return result; + } + + /*! This is in the (quick) index as a link to the alphabetical compound + * list. + */ + virtual QCString trAlphabeticalList() + { return "Alphabetical List"; } + +////////////////////////////////////////////////////////////////////////// +// new since 0.49-990901 +////////////////////////////////////////////////////////////////////////// + + /*! This is used as the heading text for the retval command. */ + virtual QCString trReturnValues() + { return "Return values"; } + + /*! This is in the (quick) index as a link to the main page (index.html) + */ + virtual QCString trMainPage() + { return "Main Page"; } + + /*! This is used in references to page that are put in the LaTeX + * documentation. It should be an abbreviation of the word page. + */ + virtual QCString trPageAbbreviation() + { return "p."; } + +////////////////////////////////////////////////////////////////////////// +// new since 0.49-991003 +////////////////////////////////////////////////////////////////////////// + + virtual QCString trSources() + { + return "Sources"; + } + virtual QCString trDefinedAtLineInSourceFile() + { + return "Definition at line @0 of file @1."; + } + virtual QCString trDefinedInSourceFile() + { + return "Definition in file @0."; + } + +////////////////////////////////////////////////////////////////////////// +// new since 0.49-991205 +////////////////////////////////////////////////////////////////////////// + + virtual QCString trDeprecated() + { + return "Deprecated"; + } + +////////////////////////////////////////////////////////////////////////// +// new since 1.0.0 +////////////////////////////////////////////////////////////////////////// + + /*! this text is put before a collaboration diagram */ + virtual QCString trCollaborationDiagram(const char *clName) + { + return (QCString)"Collaboration diagram for "+clName+":"; + } + /*! this text is put before an include dependency graph */ + virtual QCString trInclDepGraph(const char *fName) + { + return (QCString)"Include dependency graph for "+fName+":"; + } + /*! header that is put before the list of constructor/destructors. */ + virtual QCString trConstructorDocumentation() + { + return "Constructor & Destructor Documentation"; + } + /*! Used in the file documentation to point to the corresponding sources. */ + virtual QCString trGotoSourceCode() + { + return "Go to the source code of this file."; + } + /*! Used in the file sources to point to the corresponding documentation. */ + virtual QCString trGotoDocumentation() + { + return "Go to the documentation of this file."; + } + /*! Text for the \pre command */ + virtual QCString trPrecondition() + { + return "Precondition"; + } + /*! Text for the \post command */ + virtual QCString trPostcondition() + { + return "Postcondition"; + } + /*! Text for the \invariant command */ + virtual QCString trInvariant() + { + return "Invariant"; + } + /*! Text shown before a multi-line variable/enum initialization */ + virtual QCString trInitialValue() + { + return "Initial value:"; + } + /*! Text used the source code in the file index */ + virtual QCString trCode() + { + return "code"; + } + virtual QCString trGraphicalHierarchy() + { + return "Graphical Class Hierarchy"; + } + virtual QCString trGotoGraphicalHierarchy() + { + return "Go to the graphical class hierarchy"; + } + virtual QCString trGotoTextualHierarchy() + { + return "Go to the textual class hierarchy"; + } + virtual QCString trPageIndex() + { + return "Page Index"; + } + +////////////////////////////////////////////////////////////////////////// +// new since 1.1.0 +////////////////////////////////////////////////////////////////////////// + + virtual QCString trNote() + { + return "Note"; + } + virtual QCString trPublicTypes() + { + return "Public Types"; + } + virtual QCString trPublicAttribs() + { + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) + { + return "Data Fields"; + } + else + { + return "Public Attributes"; + } + } + virtual QCString trStaticPublicAttribs() + { + return "Static Public Attributes"; + } + virtual QCString trProtectedTypes() + { + return "Protected Types"; + } + virtual QCString trProtectedAttribs() + { + return "Protected Attributes"; + } + virtual QCString trStaticProtectedAttribs() + { + return "Static Protected Attributes"; + } + virtual QCString trPrivateTypes() + { + return "Private Types"; + } + virtual QCString trPrivateAttribs() + { + return "Private Attributes"; + } + virtual QCString trStaticPrivateAttribs() + { + return "Static Private Attributes"; + } + +////////////////////////////////////////////////////////////////////////// +// new since 1.1.3 +////////////////////////////////////////////////////////////////////////// + + /*! Used as a marker that is put before a \\todo item */ + virtual QCString trTodo() + { + return "Todo"; + } + /*! Used as the header of the todo list */ + virtual QCString trTodoList() + { + return "Todo List"; + } + +////////////////////////////////////////////////////////////////////////// +// new since 1.1.4 +////////////////////////////////////////////////////////////////////////// + + virtual QCString trReferencedBy() + { + return "Referenced by"; + } + virtual QCString trRemarks() + { + return "Remarks"; + } + virtual QCString trAttention() + { + return "Attention"; + } + virtual QCString trInclByDepGraph() + { + return "This graph shows which files directly or " + "indirectly include this file:"; + } + virtual QCString trSince() + { + return "Since"; + } + +////////////////////////////////////////////////////////////////////////// +// new since 1.1.5 +////////////////////////////////////////////////////////////////////////// + + /*! title of the graph legend page */ + virtual QCString trLegendTitle() + { + return "Graph Legend"; + } + /*! page explaining how the dot graph's should be interpreted */ + virtual QCString trLegendDocs() + { + return + "This page explains how to interpret the graphs that are generated " + "by doxygen.<p>\n" + "Consider the following example:\n" + "\\code\n" + "/*! Invisible class because of truncation */\n" + "class Invisible { };\n\n" + "/*! Truncated class, inheritance relation is hidden */\n" + "class Truncated : public Invisible { };\n\n" + "/* Class not documented with doxygen comments */\n" + "class Undocumented { };\n\n" + "/*! Class that is inherited using public inheritance */\n" + "class PublicBase : public Truncated { };\n\n" + "/*! Class that is inherited using protected inheritance */\n" + "class ProtectedBase { };\n\n" + "/*! Class that is inherited using private inheritance */\n" + "class PrivateBase { };\n\n" + "/*! Class that is used by the Inherited class */\n" + "class Used { };\n\n" + "/*! Super class that inherits a number of other classes */\n" + "class Inherited : public PublicBase,\n" + " protected ProtectedBase,\n" + " private PrivateBase,\n" + " public Undocumented\n" + "{\n" + " private:\n" + " Used *m_usedClass;\n" + "};\n" + "\\endcode\n" + "If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file " + "is set to 200 this will result in the following graph:" + "<p><center><img src=\"graph_legend.gif\"></center>\n" + "<p>\n" + "The boxes in the above graph have the following meaning:\n" + "<ul>\n" + "<li>A filled black box represents the struct or class for which the " + "graph is generated.\n" + "<li>A box with a black border denotes a documented struct or class.\n" + "<li>A box with a grey border denotes an undocumented struct or class.\n" + "<li>A box with a red border denotes a documented struct or class for\n" + "which not all inheritance/containment relations are shown. A graph is " + "truncated if it does not fit within the specified boundaries." + "</ul>\n" + "The arrows have the following meaning:\n" + "<ul>\n" + "<li>A dark blue arrow is used to visualize a public inheritance " + "relation between two classes.\n" + "<li>A dark green arrow is used for protected inheritance.\n" + "<li>A dark red arrow is used for private inheritance.\n" + "<li>A purple dashed arrow is used if a class is contained or used " + "by another class. The arrow is labeled with the variable(s) " + "through which the pointed class or struct is accessible. \n" + "</ul>\n"; + } + /*! text for the link to the legend page */ + virtual QCString trLegend() + { + return "legend"; + } + +////////////////////////////////////////////////////////////////////////// +// new since 1.2.0 +////////////////////////////////////////////////////////////////////////// + + /*! Used as a marker that is put before a test item */ + virtual QCString trTest() + { + return "Test"; + } + /*! Used as the header of the test list */ + virtual QCString trTestList() + { + return "Test List"; + } + +////////////////////////////////////////////////////////////////////////// +// new since 1.2.1 +////////////////////////////////////////////////////////////////////////// + + /*! Used as a section header for KDE-2 IDL methods */ + virtual QCString trDCOPMethods() + { + return "DCOP Methods"; + } + +////////////////////////////////////////////////////////////////////////// +// new since 1.2.2 +////////////////////////////////////////////////////////////////////////// + + /*! Used as a section header for IDL properties */ + virtual QCString trProperties() + { + return "Properties"; + } + /*! Used as a section header for IDL property documentation */ + virtual QCString trPropertyDocumentation() + { + return "Property Documentation"; + } + +////////////////////////////////////////////////////////////////////////// +// new since 1.2.4 +////////////////////////////////////////////////////////////////////////// + + /*! Used for Java interfaces in the summary section of Java packages */ + virtual QCString trInterfaces() + { + return "Interfaces"; + } + /*! Used for Java classes in the summary section of Java packages */ + virtual QCString trClasses() + { + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) + { + return "Data Structures"; + } + else + { + return "Classes"; + } + } + /*! Used as the title of a Java package */ + virtual QCString trPackage(const char *name) + { + return (QCString)"Package "+name; + } + /*! Title of the package index page */ + virtual QCString trPackageList() + { + return "Package List"; + } + /*! The description of the package index page */ + virtual QCString trPackageListDescription() + { + return "Here are the packages with brief descriptions (if available):"; + } + /*! The link name in the Quick links header for each page */ + virtual QCString trPackages() + { + return "Packages"; + } + /*! Used as a chapter title for Latex & RTF output */ + virtual QCString trPackageDocumentation() + { + return "Package Documentation"; + } + /*! Text shown before a multi-line define */ + virtual QCString trDefineValue() + { + return "Value:"; + } + +////////////////////////////////////////////////////////////////////////// +// new since 1.2.5 +////////////////////////////////////////////////////////////////////////// + + /*! Used as a marker that is put before a \\bug item */ + virtual QCString trBug() + { + return "Bug"; + } + /*! Used as the header of the bug list */ + virtual QCString trBugList() + { + return "Bug List"; + } + +////////////////////////////////////////////////////////////////////////// +// new since 1.2.6 +////////////////////////////////////////////////////////////////////////// + + /*! Used as ansicpg for RTF file */ + virtual QCString trRTFansicp() + { + return "1252"; + } + + /*! Used as ansicpg for RTF fcharset */ + virtual QCString trRTFCharSet() + { + return "0"; + } + + /*! Used as header RTF general index */ + virtual QCString trRTFGeneralIndex() + { + return "Index"; + } + + /*! This is used for translation of the word that will possibly + * be followed by a single name or by a list of names + * of the category. + */ + virtual QCString trClass(bool first_capital, bool singular) + { + QCString result((first_capital ? "Class" : "class")); + if (first_capital) toupper(result.at(0)); + if (!singular) result+="es"; + return result; + } + + /*! This is used for translation of the word that will possibly + * be followed by a single name or by a list of names + * of the category. + */ + virtual QCString trFile(bool first_capital, bool singular) + { + QCString result((first_capital ? "File" : "file")); + if (!singular) result+="s"; + return result; + } + + /*! This is used for translation of the word that will possibly + * be followed by a single name or by a list of names + * of the category. + */ + virtual QCString trNamespace(bool first_capital, bool singular) + { + QCString result((first_capital ? "Namespace" : "namespace")); + if (!singular) result+="s"; + return result; + } + + /*! This is used for translation of the word that will possibly + * be followed by a single name or by a list of names + * of the category. + */ + virtual QCString trGroup(bool first_capital, bool singular) + { + QCString result((first_capital ? "Group" : "group")); + if (!singular) result+="s"; + return result; + } + + /*! This is used for translation of the word that will possibly + * be followed by a single name or by a list of names + * of the category. + */ + virtual QCString trPage(bool first_capital, bool singular) + { + QCString result((first_capital ? "Page" : "page")); + if (!singular) result+="s"; + return result; + } + + /*! This is used for translation of the word that will possibly + * be followed by a single name or by a list of names + * of the category. + */ + virtual QCString trMember(bool first_capital, bool singular) + { + QCString result((first_capital ? "Member" : "member")); + if (!singular) result+="s"; + return result; + } + + /*! This is used for translation of the word that will possibly + * be followed by a single name or by a list of names + * of the category. + */ + virtual QCString trField(bool first_capital, bool singular) + { + QCString result((first_capital ? "Field" : "field")); + if (!singular) result+="s"; + return result; + } + + /*! This is used for translation of the word that will possibly + * be followed by a single name or by a list of names + * of the category. + */ + virtual QCString trGlobal(bool first_capital, bool singular) + { + QCString result((first_capital ? "Global" : "global")); + if (!singular) result+="s"; + return result; + } + +}; + +#endif diff --git a/src/translator_es.h b/src/translator_es.h index ceea071..374b387 100644 --- a/src/translator_es.h +++ b/src/translator_es.h @@ -25,9 +25,9 @@ #ifndef TRANSLATOR_ES_H #define TRANSLATOR_ES_H -#include "translator.h" +#include "translator_adapter.h" -class TranslatorSpanish : public Translator +class TranslatorSpanish : public TranslatorAdapter_1_1_5 { public: virtual QCString idLanguage() @@ -413,31 +413,31 @@ class TranslatorSpanish : public Translator return (QCString)"Diagrama de herencias de "+clName; } - /*! this text is generated when the \internal command is used. */ + /*! this text is generated when the \\internal command is used. */ virtual QCString trForInternalUseOnly() { return "Para uso interno exclusivamente."; } - /*! this text is generated when the \reimp command is used. */ + /*! this text is generated when the \\reimp command is used. */ virtual QCString trReimplementedForInternalReasons() { return "Reimplementado por razones internas; el API no se ve afectado."; } - /*! this text is generated when the \warning command is used. */ + /*! this text is generated when the \\warning command is used. */ virtual QCString trWarning() { return "AtenciСn"; } - /*! this text is generated when the \bug command is used. */ + /*! this text is generated when the \\bug command is used. */ virtual QCString trBugsAndLimitations() { return "Bugs y limitaciones"; } - /*! this text is generated when the \version command is used. */ + /*! this text is generated when the \\version command is used. */ virtual QCString trVersion() { return "VersiСn"; } - /*! this text is generated when the \date command is used. */ + /*! this text is generated when the \\date command is used. */ virtual QCString trDate() { return "Fecha"; } - /*! this text is generated when the \author command is used. */ + /*! this text is generated when the \\author command is used. */ virtual QCString trAuthors() { return "Autor(es)"; } @@ -445,15 +445,15 @@ class TranslatorSpanish : public Translator virtual QCString trReturns() { return "Devuelve"; } - /*! this text is generated when the \sa command is used. */ + /*! this text is generated when the \\sa command is used. */ virtual QCString trSeeAlso() { return "Ver tambiИn"; } - /*! this text is generated when the \param command is used. */ + /*! this text is generated when the \\param command is used. */ virtual QCString trParameters() { return "ParАmetros"; } - /*! this text is generated when the \exception command is used. */ + /*! this text is generated when the \\exception command is used. */ virtual QCString trExceptions() { return "Excepciones"; } diff --git a/src/translator_fi.h b/src/translator_fi.h index 5f44a24..fc39795 100644 --- a/src/translator_fi.h +++ b/src/translator_fi.h @@ -74,9 +74,9 @@ positiiviset kommentit otetaan ilolla vastaan. #ifndef TRANSLATOR_SF_H #define TRANSLATOR_SF_H -#include "translator.h" +#include "translator_adapter.h" -class TranslatorFinnish : public Translator +class TranslatorFinnish : public TranslatorAdapter_1_0_0 { public: QCString idLanguage() diff --git a/src/translator_fr.h b/src/translator_fr.h index ce356ce..85ba3de 100644 --- a/src/translator_fr.h +++ b/src/translator_fr.h @@ -20,9 +20,9 @@ #ifndef TRANSLATOR_FR_H #define TRANSLATOR_FR_H -#include "translator.h" +#include "translator_adapter.h" -class TranslatorFrench : public Translator +class TranslatorFrench : public TranslatorAdapter_1_2_0 { public: QCString idLanguage() @@ -413,49 +413,49 @@ class TranslatorFrench : public Translator return (QCString)"Graphe d'hИritage de la classe "+clName; } - /*! this text is generated when the \internal command is used. */ + /*! this text is generated when the \\internal command is used. */ QCString trForInternalUseOnly() { return "ю usage interne uniquement."; } - /*! this text is generated when the \reimp command is used. */ + /*! this text is generated when the \\reimp command is used. */ QCString trReimplementedForInternalReasons() { return "RedИfini pour des raisons internes; " "l'interface n'est pas modifiИe"; } - /*! this text is generated when the \warning command is used. */ + /*! this text is generated when the \\warning command is used. */ QCString trWarning() { return "Avertissement"; } - /*! this text is generated when the \bug command is used. */ + /*! this text is generated when the \\bug command is used. */ QCString trBugsAndLimitations() { return "Bogues et limitations"; } - /*! this text is generated when the \version command is used. */ + /*! this text is generated when the \\version command is used. */ QCString trVersion() { return "Version"; } - /*! this text is generated when the \date command is used. */ + /*! this text is generated when the \\date command is used. */ QCString trDate() { return "Date"; } - /*! this text is generated when the \author command is used. */ + /*! this text is generated when the \\author command is used. */ QCString trAuthors() { return "Auteur(s)"; } - /*! this text is generated when the \return command is used. */ + /*! this text is generated when the \\return command is used. */ QCString trReturns() { return "Renvoie"; } - /*! this text is generated when the \sa command is used. */ + /*! this text is generated when the \\sa command is used. */ QCString trSeeAlso() { return "Voir Иgalement"; } - /*! this text is generated when the \param command is used. */ + /*! this text is generated when the \\param command is used. */ QCString trParameters() { return "ParamХtres"; } - /*! this text is generated when the \exception command is used. */ + /*! this text is generated when the \\exception command is used. */ QCString trExceptions() { return "Exceptions"; } diff --git a/src/translator_hr.h b/src/translator_hr.h index 2863632..e0b81c1 100644 --- a/src/translator_hr.h +++ b/src/translator_hr.h @@ -34,9 +34,9 @@ #ifndef TRANSLATOR_HR_H #define TRANSLATOR_HR_H -#include "translator.h" +#include "translator_adapter.h" -class TranslatorCroatian : public Translator +class TranslatorCroatian : public TranslatorAdapter_1_2_6 { private: /*! to avoid macro redefinition from translator_cz.h */ @@ -419,6 +419,18 @@ class TranslatorCroatian : public Translator { return "Dokumentacija namespace-a"; } ////////////////////////////////////////////////////////////////////////// +// new since 0.49-990522 +////////////////////////////////////////////////////////////////////////// + + /*! This is used in the documentation before the list of all + * namespaces in a file. + */ + QCString trNamespaces() + { + return "Namespaces"; + } + +////////////////////////////////////////////////////////////////////////// // new since 0.49-990728 ////////////////////////////////////////////////////////////////////////// @@ -801,6 +813,36 @@ class TranslatorCroatian : public Translator { return "Vrijednost:"; } + + ////////////////////////////////////////////////////////////////////////// + // new since 1.2.5 + ////////////////////////////////////////////////////////////////////////// + + /*! Used as a marker that is put before a \\bug item */ + virtual QCString trBug() + { + return decode("Gre╧ka"); + } + /*! Used as the header of the bug list */ + virtual QCString trBugList() + { + return decode("Popis gre╧aka"); + } + + ////////////////////////////////////////////////////////////////////////// + // new since 1.2.6 + ////////////////////////////////////////////////////////////////////////// + + /*! Used as ansicpg for RTF file */ + virtual QCString trRTFansicp() + { + return "1252"; + } + /*! Used as ansicpg for RTF fcharset */ + virtual QCString trRTFCharSet() + { + return "238"; + } }; #endif diff --git a/src/translator_hu.h b/src/translator_hu.h index b23047a..e399914 100644 --- a/src/translator_hu.h +++ b/src/translator_hu.h @@ -20,7 +20,7 @@ #include "translator.h" -class TranslatorHungarian : public Translator +class TranslatorHungarian : public TranslatorAdapter_1_2_1 { public: @@ -425,47 +425,47 @@ class TranslatorHungarian : public Translator return clName+(QCString)" osztАly szАrmaztatАsi diagramja"; } - /*! this text is generated when the \internal command is used. */ + /*! this text is generated when the \\internal command is used. */ QCString trForInternalUseOnly() { return "CSAK BELSу HASZNаLATRA!"; } - /*! this text is generated when the \reimp command is used. */ + /*! this text is generated when the \\reimp command is used. */ QCString trReimplementedForInternalReasons() { return "BelsУ okok miatt ЗjraimplementАlva, az API-t nem Иrinti."; } - /*! this text is generated when the \warning command is used. */ + /*! this text is generated when the \\warning command is used. */ QCString trWarning() { return "FigyelmeztetИs"; } - /*! this text is generated when the \bug command is used. */ + /*! this text is generated when the \\bug command is used. */ QCString trBugsAndLimitations() { return "HibАk Иs korlАtozАsok"; } - /*! this text is generated when the \version command is used. */ + /*! this text is generated when the \\version command is used. */ QCString trVersion() { return "VerziС"; } - /*! this text is generated when the \date command is used. */ + /*! this text is generated when the \\date command is used. */ QCString trDate() { return "DАtum"; } - /*! this text is generated when the \author command is used. */ + /*! this text is generated when the \\author command is used. */ QCString trAuthors() { return "SzerzУ(k)"; } - /*! this text is generated when the \return command is used. */ + /*! this text is generated when the \\return command is used. */ QCString trReturns() { return "Visszaadott ИrtИk"; } - /*! this text is generated when the \sa command is used. */ + /*! this text is generated when the \\sa command is used. */ QCString trSeeAlso() { return "LАsd mИg"; } - /*! this text is generated when the \param command is used. */ + /*! this text is generated when the \\param command is used. */ QCString trParameters() { return "ParamИterek"; } - /*! this text is generated when the \exception command is used. */ + /*! this text is generated when the \\exception command is used. */ QCString trExceptions() { return "KivИtelek"; } diff --git a/src/translator_it.h b/src/translator_it.h index e1a36ed..436ff7f 100644 --- a/src/translator_it.h +++ b/src/translator_it.h @@ -30,9 +30,9 @@ #ifndef TRANSLATOR_IT_H #define TRANSLATOR_IT_H -#include "translator.h" +#include "translator_adapter.h" -class TranslatorItalian : public Translator +class TranslatorItalian : public TranslatorAdapter_1_2_5 { public: QCString idLanguage() @@ -418,47 +418,47 @@ class TranslatorItalian : public Translator return (QCString)"Diagramma delle classi per "+clName; } - /*! this text is generated when the \internal command is used. */ + /*! this text is generated when the \\internal command is used. */ QCString trForInternalUseOnly() { return "Solo per uso interno."; } - /*! this text is generated when the \reimp command is used. */ + /*! this text is generated when the \\reimp command is used. */ QCString trReimplementedForInternalReasons() { return "Reimplementato per motivi interni; l'API non Х stata modificata.";} - /*! this text is generated when the \warning command is used. */ + /*! this text is generated when the \\warning command is used. */ QCString trWarning() { return "Avvertimento"; } - /*! this text is generated when the \bug command is used. */ + /*! this text is generated when the \\bug command is used. */ QCString trBugsAndLimitations() { return "Bugs e limitazioni"; } - /*! this text is generated when the \version command is used. */ + /*! this text is generated when the \\version command is used. */ QCString trVersion() { return "Versione"; } - /*! this text is generated when the \date command is used. */ + /*! this text is generated when the \\date command is used. */ QCString trDate() { return "Data"; } - /*! this text is generated when the \author command is used. */ + /*! this text is generated when the \\author command is used. */ QCString trAuthors() { return "Autore(i)"; } - /*! this text is generated when the \return command is used. */ + /*! this text is generated when the \\return command is used. */ QCString trReturns() { return "Restituisce"; } - /*! this text is generated when the \sa command is used. */ + /*! this text is generated when the \\sa command is used. */ QCString trSeeAlso() { return "Vedi anche"; } - /*! this text is generated when the \param command is used. */ + /*! this text is generated when the \\param command is used. */ QCString trParameters() { return "Parametri"; } - /*! this text is generated when the \exception command is used. */ + /*! this text is generated when the \\exception command is used. */ QCString trExceptions() { return "Eccezioni"; } diff --git a/src/translator_jp.h b/src/translator_jp.h index c97a6af..e6f4eae 100644 --- a/src/translator_jp.h +++ b/src/translator_jp.h @@ -18,9 +18,9 @@ #ifndef TRANSLATOR_JP_H #define TRANSLATOR_JP_H -#include "translator.h" +#include "translator_adapter.h" -class TranslatorJapanese : public Translator +class TranslatorJapanese : public TranslatorAdapter_1_2_5 { public: QCString idLanguage() @@ -402,48 +402,48 @@ class TranslatorJapanese : public Translator return (QCString)clName+"╓кбп╓╧╓К╔╞╔И╔╧Ё╛аь©ч"; } - /*! this text is generated when the \internal command is used. */ + /*! this text is generated when the \\internal command is used. */ QCString trForInternalUseOnly() { return "фБиТ╩хмя╓н╓ъ║ё"; } - /*! this text is generated when the \reimp command is used. */ + /*! this text is generated when the \\reimp command is used. */ QCString trReimplementedForInternalReasons() { return "фБиТе╙╓ймЩмЁ╓к╓Х╓Й╨ф╪баУ╓╣╓Л╓ч╓╥╓©╓╛║╒API╓к╓о╠ф╤а╓╥╓ч╓╩╓С║ё"; } - /*! this text is generated when the \warning command is used. */ + /*! this text is generated when the \\warning command is used. */ QCString trWarning() { return "╥ы╧П"; } - /*! this text is generated when the \bug command is used. */ + /*! this text is generated when the \\bug command is used. */ QCString trBugsAndLimitations() { return "╔п╔╟╓хю╘╦б"; } - /*! this text is generated when the \version command is used. */ + /*! this text is generated when the \\version command is used. */ QCString trVersion() { return "╔п║╪╔╦╔Г╔С"; } - /*! this text is generated when the \date command is used. */ + /*! this text is generated when the \\date command is used. */ QCString trDate() { return "фЭиу"; } - /*! this text is generated when the \author command is used. */ + /*! this text is generated when the \\author command is used. */ QCString trAuthors() { return "╨Н╪т"; } - /*! this text is generated when the \return command is used. */ + /*! this text is generated when the \\return command is used. */ QCString trReturns() { return "лА╓Йцм"; } - /*! this text is generated when the \sa command is used. */ + /*! this text is generated when the \\sa command is used. */ QCString trSeeAlso() { return "╩╡╬х"; } - /*! this text is generated when the \param command is used. */ + /*! this text is generated when the \\param command is used. */ QCString trParameters() { return "╟З©Т"; } - /*! this text is generated when the \exception command is used. */ + /*! this text is generated when the \\exception command is used. */ QCString trExceptions() { return "нЦЁ╟"; } diff --git a/src/translator_kr.h b/src/translator_kr.h index c1c5fea..50b0654 100644 --- a/src/translator_kr.h +++ b/src/translator_kr.h @@ -18,9 +18,9 @@ #ifndef TRANSLATOR_KR_H #define TRANSLATOR_KR_H -#include "translator.h" +#include "translator_adapter.h" -class TranslatorKorean : public Translator +class TranslatorKorean : public TranslatorAdapter_1_1_0 { public: QCString idLanguage() @@ -411,48 +411,48 @@ class TranslatorKorean : public Translator return (QCString)clName+"©║ ╢Кгя ╩С╪с ╣╣г╔"; // "Inheritance diagram for "+clName } - /*! this text is generated when the \internal command is used. */ + /*! this text is generated when the \\internal command is used. */ QCString trForInternalUseOnly() { return "Ё╩╨н ╩Г©К╦╦ю╩ ю╖гь"; } - /*! this text is generated when the \reimp command is used. */ + /*! this text is generated when the \\reimp command is used. */ QCString trReimplementedForInternalReasons() { return "Ё╩╨нюШ юлю╞╦╕ ю╖гь юГ╠╦гЖ╣х: API╟║ ©╣гБю╩ ╧чаЖ╬й╬р╢ы."; } // "Reimplemented for internal reasons; the API is not affected." - /*! this text is generated when the \warning command is used. */ + /*! this text is generated when the \\warning command is used. */ QCString trWarning() { return "╟Ф╟М"; } - /*! this text is generated when the \bug command is used. */ + /*! this text is generated when the \\bug command is used. */ QCString trBugsAndLimitations() { return "╧Ж╠в╣И╟З гя╟Х╣И"; } - /*! this text is generated when the \version command is used. */ + /*! this text is generated when the \\version command is used. */ QCString trVersion() { return "╧ЖюЭ"; } - /*! this text is generated when the \date command is used. */ + /*! this text is generated when the \\date command is used. */ QCString trDate() { return "Ё╞б╔"; } - /*! this text is generated when the \author command is used. */ + /*! this text is generated when the \\author command is used. */ QCString trAuthors() { return "юЗюз(╣И)"; } - /*! this text is generated when the \return command is used. */ + /*! this text is generated when the \\return command is used. */ QCString trReturns() { return "╧щх╞"; } - /*! this text is generated when the \sa command is used. */ + /*! this text is generated when the \\sa command is used. */ QCString trSeeAlso() { return "бЭа╤го╫ц©Д"; } - /*! this text is generated when the \param command is used. */ + /*! this text is generated when the \\param command is used. */ QCString trParameters() { return "╦е╟Ё╨╞╪Ж╣И"; } - /*! this text is generated when the \exception command is used. */ + /*! this text is generated when the \\exception command is used. */ QCString trExceptions() { return "©╧©э╣И"; } @@ -720,7 +720,7 @@ class TranslatorKorean : public Translator } ////////////////////////////////////////////////////////////////////////// -// new since 1.0.0 +// new since 0.49-991205 ////////////////////////////////////////////////////////////////////////// QCString trDeprecated() @@ -729,7 +729,7 @@ class TranslatorKorean : public Translator } ////////////////////////////////////////////////////////////////////////// -// new since 1.1.0 +// new since 1.0.0 ////////////////////////////////////////////////////////////////////////// /*! this text is put before a collaboration diagram */ diff --git a/src/translator_nl.h b/src/translator_nl.h index e8ecbde..9665e54 100644 --- a/src/translator_nl.h +++ b/src/translator_nl.h @@ -18,9 +18,9 @@ #ifndef TRANSLATOR_NL_H #define TRANSLATOR_NL_H -#include "translator.h" +#include "translator_adapter.h" -class TranslatorDutch : public Translator +class TranslatorDutch : public TranslatorAdapter_1_2_6 { public: QCString idLanguage() @@ -385,6 +385,18 @@ class TranslatorDutch : public Translator { return "Namespace Documentatie"; } ////////////////////////////////////////////////////////////////////////// +// new since 0.49-990522 +////////////////////////////////////////////////////////////////////////// + + /*! This is used in the documentation before the list of all + * namespaces in a file. + */ + QCString trNamespaces() + { + return "Namespaces"; + } + +////////////////////////////////////////////////////////////////////////// // new since 0.49-990728 ////////////////////////////////////////////////////////////////////////// @@ -779,7 +791,7 @@ class TranslatorDutch : public Translator // new since 1.2.5 ////////////////////////////////////////////////////////////////////////// - /*! Used as a marker that is put before a \bug item */ + /*! Used as a marker that is put before a \\bug item */ QCString trBug() { return "Bug"; diff --git a/src/translator_no.h b/src/translator_no.h index 18d6506..03ed9a5 100644 --- a/src/translator_no.h +++ b/src/translator_no.h @@ -24,9 +24,9 @@ #ifndef TRANSLATOR_NO_H #define TRANSLATOR_NO_H -#include "translator.h" +#include "translator_adapter.h" -class TranslatorNorwegian : public Translator +class TranslatorNorwegian : public TranslatorAdapter_1_2_2 { public: QCString idLanguage() @@ -120,7 +120,7 @@ class TranslatorNorwegian : public Translator QCString trSearch() { return "SЬk"; } - QCString trClassHierarchyDescripsjon() + QCString trClassHierarchyDescription() { return "Denne listen over arv er grovt, men ikke helt, " "sortert i alfabetisk rekkefЬlge:"; } @@ -171,7 +171,7 @@ class TranslatorNorwegian : public Translator QCString trModulesDescription() { return "Her fЬlger en liste over alle moduler:"; } - QCString trNoDescripsjonAvailable() + QCString trNoDescriptionAvailable() { return "Beskrivelse mangler"; } QCString trDocumentation() @@ -221,7 +221,7 @@ class TranslatorNorwegian : public Translator QCString trVariables() { return "Variable"; } - QCString trEnumerasjonValues() + QCString trEnumerationValues() { return "Enumererte typers verdier"; } QCString trAuthor() @@ -230,19 +230,19 @@ class TranslatorNorwegian : public Translator QCString trDefineDocumentation() { return "Dokumentasjon over definisjoner"; } - QCString trFuncsjonPrototypeDocumentation() + QCString trFunctionPrototypeDocumentation() { return "Dokumentasjon over funksjonsprototyper"; } QCString trTypedefDocumentation() { return "Dokumentasjon over typedefinisjoner"; } - QCString trEnumerasjonTypeDocumentation() + QCString trEnumerationTypeDocumentation() { return "Dokumentasjon over enumererte typer"; } - QCString trEnumerasjonValueDocumentation() + QCString trEnumerationValueDocumentation() { return "Dokumentasjon over enumererte typers verdier"; } - QCString trFuncsjonDocumentation() + QCString trFunctionDocumentation() { return "Dokumentasjon over funksjoner"; } QCString trVariableDocumentation() @@ -328,7 +328,7 @@ class TranslatorNorwegian : public Translator // new since 0.49-990405 ////////////////////////////////////////////////////////////////////////// - virtual QCString trRelatedFuncsjonDocumentation() + virtual QCString trRelatedFunctionDocumentation() { return "Venners och beslektede funksjoners dokumentasjon"; } ////////////////////////////////////////////////////////////////////////// diff --git a/src/translator_pl.h b/src/translator_pl.h index 71ff0b3..54777ea 100644 --- a/src/translator_pl.h +++ b/src/translator_pl.h @@ -18,9 +18,9 @@ #ifndef TRANSLATOR_PL_H #define TRANSLATOR_PL_H -#include "translator.h" +#include "translator_adapter.h" -class TranslatorPolish : public Translator +class TranslatorPolish : public TranslatorAdapter_1_2_1 { public: @@ -427,47 +427,47 @@ class TranslatorPolish : public Translator return (QCString)"Diagram dziedziczenia dla "+clName; } - /*! this text is generated when the \internal command is used. */ + /*! this text is generated when the \\internal command is used. */ QCString trForInternalUseOnly() { return "Tylko do u©ytku wewnЙtrznego."; } - /*! this text is generated when the \reimp command is used. */ + /*! this text is generated when the \\reimp command is used. */ QCString trReimplementedForInternalReasons() { return "Reimplementowana z wewnЙtrzych przyczyn; nie dotyczy API."; } - /*! this text is generated when the \warning command is used. */ + /*! this text is generated when the \\warning command is used. */ QCString trWarning() { return "Ostrze©enie"; } - /*! this text is generated when the \bug command is used. */ + /*! this text is generated when the \\bug command is used. */ QCString trBugsAndLimitations() { return "BЁЙdy i ograniczenia"; } - /*! this text is generated when the \version command is used. */ + /*! this text is generated when the \\version command is used. */ QCString trVersion() { return "Wersja"; } - /*! this text is generated when the \date command is used. */ + /*! this text is generated when the \\date command is used. */ QCString trDate() { return "Data"; } - /*! this text is generated when the \author command is used. */ + /*! this text is generated when the \\author command is used. */ QCString trAuthors() { return "Autorzy"; } - /*! this text is generated when the \return command is used. */ + /*! this text is generated when the \\return command is used. */ QCString trReturns() { return "Powroty"; } - /*! this text is generated when the \sa command is used. */ + /*! this text is generated when the \\sa command is used. */ QCString trSeeAlso() { return "Zobacz rСwnie©"; } - /*! this text is generated when the \param command is used. */ + /*! this text is generated when the \\param command is used. */ QCString trParameters() { return "Parametry"; } - /*! this text is generated when the \exception command is used. */ + /*! this text is generated when the \\exception command is used. */ QCString trExceptions() { return "Wyj╠tki"; } diff --git a/src/translator_pt.h b/src/translator_pt.h index 2f80e6e..3fd93ab 100644 --- a/src/translator_pt.h +++ b/src/translator_pt.h @@ -20,9 +20,9 @@ #ifndef TRANSLATOR_PT_H #define TRANSLATOR_PT_H -#include "translator.h" +#include "translator_adapter.h" -class TranslatorPortuguese : public Translator +class TranslatorPortuguese : public TranslatorAdapter_1_1_5 { public: QCString idLanguage() @@ -403,48 +403,48 @@ class TranslatorPortuguese : public Translator return (QCString)"Diagrama de heranГas da classe "+clName; } - /*! this text is generated when the \internal command is used. */ + /*! this text is generated when the \\internal command is used. */ QCString trForInternalUseOnly() { return "Apenas para uso interno."; } - /*! this text is generated when the \reimp command is used. */ + /*! this text is generated when the \\reimp command is used. */ QCString trReimplementedForInternalReasons() { return "Redefinido por razУes internas; o interface nЦo И afectado"; } - /*! this text is generated when the \warning command is used. */ + /*! this text is generated when the \\warning command is used. */ QCString trWarning() { return "Aviso"; } - /*! this text is generated when the \bug command is used. */ + /*! this text is generated when the \\bug command is used. */ QCString trBugsAndLimitations() { return "Bugs e limitaГУes"; } - /*! this text is generated when the \version command is used. */ + /*! this text is generated when the \\version command is used. */ QCString trVersion() { return "VersЦo"; } - /*! this text is generated when the \date command is used. */ + /*! this text is generated when the \\date command is used. */ QCString trDate() { return "Data"; } - /*! this text is generated when the \author command is used. */ + /*! this text is generated when the \\author command is used. */ QCString trAuthors() { return "Autor(es)"; } - /*! this text is generated when the \return command is used. */ + /*! this text is generated when the \\return command is used. */ QCString trReturns() { return "Retorna"; } - /*! this text is generated when the \sa command is used. */ + /*! this text is generated when the \\sa command is used. */ QCString trSeeAlso() { return "Veja tambИm"; } - /*! this text is generated when the \param command is used. */ + /*! this text is generated when the \\param command is used. */ QCString trParameters() { return "ParБmetros"; } - /*! this text is generated when the \exception command is used. */ + /*! this text is generated when the \\exception command is used. */ QCString trExceptions() { return "ExcepГУes"; } diff --git a/src/translator_ro.h b/src/translator_ro.h index f5d6c3b..c2a6e2a 100644 --- a/src/translator_ro.h +++ b/src/translator_ro.h @@ -32,10 +32,9 @@ #ifndef TRANSLATOR_RO_H #define TRANSLATOR_RO_H -#include "classdef.h" -#include "util.h" +#include "translator_adapter.h" -class TranslatorRomanian: public Translator +class TranslatorRomanian: public TranslatorAdapter_1_2_1 { public: @@ -452,47 +451,47 @@ class TranslatorRomanian: public Translator return (QCString)"Diagrama de relaЧii pentru "+clName; } - /*! this text is generated when the \internal command is used. */ + /*! this text is generated when the \\internal command is used. */ virtual QCString trForInternalUseOnly() { return "Doar pentru uz intern."; } - /*! this text is generated when the \reimp command is used. */ + /*! this text is generated when the \\reimp command is used. */ virtual QCString trReimplementedForInternalReasons() { return "Reimplementat din motive interne; API-ul nu este afectat."; } - /*! this text is generated when the \warning command is used. */ + /*! this text is generated when the \\warning command is used. */ virtual QCString trWarning() { return "AtenЧie"; } - /*! this text is generated when the \bug command is used. */ + /*! this text is generated when the \\bug command is used. */ virtual QCString trBugsAndLimitations() { return "Buguri ╨i limitЦri"; } - /*! this text is generated when the \version command is used. */ + /*! this text is generated when the \\version command is used. */ virtual QCString trVersion() { return "Versiunea"; } - /*! this text is generated when the \date command is used. */ + /*! this text is generated when the \\date command is used. */ virtual QCString trDate() { return "Data"; } - /*! this text is generated when the \author command is used. */ + /*! this text is generated when the \\author command is used. */ virtual QCString trAuthors() { return "Autorul/Autorii"; } - /*! this text is generated when the \return command is used. */ + /*! this text is generated when the \\return command is used. */ virtual QCString trReturns() { return "нntoarce"; } - /*! this text is generated when the \sa command is used. */ + /*! this text is generated when the \\sa command is used. */ virtual QCString trSeeAlso() { return "Vezi ╨i"; } - /*! this text is generated when the \param command is used. */ + /*! this text is generated when the \\param command is used. */ virtual QCString trParameters() { return "Parametri"; } - /*! this text is generated when the \exception command is used. */ + /*! this text is generated when the \\exception command is used. */ virtual QCString trExceptions() { return "ExcepЧii"; } diff --git a/src/translator_ru.h b/src/translator_ru.h index e13591c..70507eb 100644 --- a/src/translator_ru.h +++ b/src/translator_ru.h @@ -48,92 +48,10 @@ #ifndef TRANSLATOR_RU_H #define TRANSLATOR_RU_H -#include "translator.h" +#include "translator_adapter.h" -class TranslatorRussian : public Translator +class TranslatorRussian : public TranslatorAdapter_1_2_5 { - protected: - /*! Returns the string converted from koi8-r to windows-1251. */ - /* The method was designed initially for translator_cz.h. - It is used for on-line encoding conversion related to conditional - compilation in Unix/MS Windows environments (both use different - encoding). - Encoding table got from QT:qtextcodec.cpp - */ - QCString Koi8RToWindows1251( const QCString sInput ) - { - static Q_UINT16 koi8_r[128] = - { 0x2500, 0x2502, 0x250C, 0x2510, 0x2514, 0x2518, 0x251C, 0x2524, - 0x252C, 0x2534, 0x253C, 0x2580, 0x2584, 0x2588, 0x258C, 0x2590, - 0x2591, 0x2592, 0x2593, 0x2320, 0x25A0, 0x2219/**/, 0x221A, 0x2248, - 0x2264, 0x2265, 0x00A0, 0x2321, 0x00B0, 0x00B2, 0x00B7, 0x00F7, - 0x2550, 0x2551, 0x2552, 0x0451, 0x2553, 0x2554, 0x2555, 0x2556, - 0x2557, 0x2558, 0x2559, 0x255A, 0x255B, 0x255C, 0x255D, 0x255E, - 0x255F, 0x2560, 0x2561, 0x0401, 0x2562, 0x2563, 0x2564, 0x2565, - 0x2566, 0x2567, 0x2568, 0x2569, 0x256A, 0x256B, 0x256C, 0x00A9, - 0x044E, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, - 0x0445, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, - 0x043F, 0x044F, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, - 0x044C, 0x044B, 0x0437, 0x0448, 0x044D, 0x0449, 0x0447, 0x044A, - 0x042E, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, - 0x0425, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, - 0x041F, 0x042F, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412, - 0x042C, 0x042B, 0x0417, 0x0428, 0x042D, 0x0429, 0x0427, 0x042A - }; - - QString result; - int len = sInput.length(); - - result.setUnicode(0, len); - QChar* uc = (QChar*)result.unicode(); // const_cast - const unsigned char * c = (const unsigned char *)(const char*)sInput; - for( int i=0; i<len; i++ ) { - if ( c[i] > 127 ) - uc[i] = koi8_r[c[i]-128]; - else - uc[i] = c[i]; - } - return result.local8Bit(); - } - /*! returns the string converted from Windows-1251 to koi8-r */ - /* See the comments of the Koi8RToWindows1251() method for details. - Encoding table got from QT:qtextcodec.cpp */ - QCString Windows1251ToKoi8R( const QCString sInput ) - { - static Q_UINT16 windows_1251[128] = - { 0x0402, 0x0403, 0x201A, 0x0453, 0x201E, 0x2026, 0x2020, 0x2021, - 0x20AC, 0x2030, 0x0409, 0x2039, 0x040A, 0x040C, 0x040B, 0x040F, - 0x0452, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, - 0xFFFD, 0x2122, 0x0459, 0x203A, 0x045A, 0x045C, 0x045B, 0x045F, - 0x00A0, 0x040E, 0x045E, 0x0408, 0x00A4, 0x0490, 0x00A6, 0x00A7, - 0x0401, 0x00A9, 0x0404, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x0407, - 0x00B0, 0x00B1, 0x0406, 0x0456, 0x0491, 0x00B5, 0x00B6, 0x00B7, - 0x0451, 0x2116, 0x0454, 0x00BB, 0x0458, 0x0405, 0x0455, 0x0457, - 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, - 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, - 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, - 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, - 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, - 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, - 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, - 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F - }; - - QString result; - int len = sInput.length(); - - result.setUnicode(0, len); - QChar* uc = (QChar*)result.unicode(); // const_cast - const unsigned char * c = (const unsigned char *)(const char*)sInput; - for( int i=0; i<len; i++ ) { - if ( c[i] > 127 ) - uc[i] = windows_1251[c[i]-128]; - else - uc[i] = c[i]; - } - return result.local8Bit(); - } - private: /*! The Decode() inline assumes the source written in the Koi8-R encoding (maintainer dependent). @@ -153,20 +71,13 @@ class TranslatorRussian : public Translator { return "russian"; } /* Used to get the command(s) for the language support. */ - // virtual QCString latexLanguageSupportCommand() - - /*! Used to get the command(s) for the language support. This method - * was designed for languages which do not prefer babel package. - * If this methods returns empty string, then the latexBabelPackage() - * method is used to generate the command for using the babel package. - */ - virtual QCString latexBabelPackage() - { return "russianb"; } + virtual QCString latexLanguageSupportCommand() + { return "\\usepackage[russianb]{babel}\n"; } /*! return the language charset. This will be used for the HTML output */ virtual QCString idLanguageCharset() #ifdef _WIN32 - { return "Windows-1215"; } + { return "Windows-1251"; } #else { return "koi8-r"; } #endif @@ -356,35 +267,35 @@ class TranslatorRussian : public Translator } else { - return decode( "Классы с их кратким описанием." ); + return decode( "Классы с их кратким описанием." ); } } /*! This is an introduction to the page with all class members. */ virtual QCString trCompoundMembersDescription(bool extractAll) { - QCString result="Список всех "; - if(!extractAll) result+="документированных "; + QCString result="Список всех "; + if(!extractAll) result+="документированных "; if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - result+="членов структур данных со ссылками на "; - else - result+="членов классов со ссылками на "; - if(extractAll) - { + result+="членов структур данных со ссылками на "; + else + result+="членов классов со ссылками на "; + if(extractAll) + { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - result+="документацию по структуре для каждого члена."; - else - result+="документацию по классу для каждого члена."; - } - else - { + result+="документацию по структуре для каждого члена."; + else + result+="документацию по классу для каждого члена."; + } + else + { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - result += "структуры"; - else - result += "классы"; - result+=", к которым они принадлежат."; - } - return decode( result ); + result += "структуры"; + else + result += "классы"; + result+=", к которым они принадлежат."; + } + return decode( result ); } /*! This is an introduction to the page with all file members. */ @@ -731,7 +642,7 @@ class TranslatorRussian : public Translator */ virtual QCString trRelatedFunctionDocumentation() { return decode("Документация по друзьям класса и функциям отноносящихся" - "к классу"); } + "к классу"); } ////////////////////////////////////////////////////////////////////////// // new since 0.49-990425 @@ -745,26 +656,26 @@ class TranslatorRussian : public Translator QCString result; if (isTemplate) { - result="Шаблон "; - switch(compType) - { - case ClassDef::Class: result+="класса"; break; - case ClassDef::Struct: result+="структуры"; break; - case ClassDef::Union: result+="объединения"; break; - case ClassDef::Interface: result+="интерфейса"; break; - case ClassDef::Exception: result+="исключения"; break; - } + result="Шаблон "; + switch(compType) + { + case ClassDef::Class: result+="класса"; break; + case ClassDef::Struct: result+="структуры"; break; + case ClassDef::Union: result+="объединения"; break; + case ClassDef::Interface: result+="интерфейса"; break; + case ClassDef::Exception: result+="исключения"; break; + } } else { - switch(compType) - { - case ClassDef::Class: result+="Класс"; break; - case ClassDef::Struct: result+="Структура"; break; - case ClassDef::Union: result+="Объединение"; break; - case ClassDef::Interface: result+="Интерфейс"; break; - case ClassDef::Exception: result+="Исключение"; break; - } + switch(compType) + { + case ClassDef::Class: result+="Класс"; break; + case ClassDef::Struct: result+="Структура"; break; + case ClassDef::Union: result+="Объединение"; break; + case ClassDef::Interface: result+="Интерфейс"; break; + case ClassDef::Exception: result+="Исключение"; break; + } } result+=" "; return decode(result)+clName; @@ -910,20 +821,20 @@ class TranslatorRussian : public Translator switch(compType) { case ClassDef::Class: result+="класс"; - if (single) result+='а'; else result+="ов"; - break; + if (single) result+='а'; else result+="ов"; + break; case ClassDef::Struct: result+="структур"; - if (single) result+='ы'; - break; + if (single) result+='ы'; + break; case ClassDef::Union: result+="объединени"; - if (single) result+='я'; else result+='й'; - break; + if (single) result+='я'; else result+='й'; + break; case ClassDef::Interface: result+="интерфейс"; - if (single) result+='а'; else result+="ов"; - break; + if (single) result+='а'; else result+="ов"; + break; case ClassDef::Exception: result+="исключени"; - if (single) result+='я'; else result+='й'; - break; + if (single) result+='я'; else result+='й'; + break; } result+=" находятся в файл"; if (single) result+="е:"; else result+="ах:"; @@ -1072,7 +983,7 @@ class TranslatorRussian : public Translator } else { - return decode( "Открытые атрибуты" ); + return decode( "Открытые атрибуты" ); } } virtual QCString trStaticPublicAttribs() @@ -1195,7 +1106,7 @@ class TranslatorRussian : public Translator "Прямоугольники в этом графе имеют следующее значение:\n" "<ul>\n" "<li>Заполненный чернный прямоугольник представляет структуру или класс, " - "для которого создан граф.\n" + "для которого создан граф.\n" "<li>Прямоугольник с черной границей обозначает документированную структуру или класс.\n" "<li>Прямоугольник с серой границей обозначает недокументированную структуру или класс.\n" "<li>Прямоугольник с красной границей обозначает документированную структуру или класс, для которого\n" @@ -1209,7 +1120,7 @@ class TranslatorRussian : public Translator "<li>Темнозеленая стрелка используется при защищенном наследовании.\n" "<li>Темнокрасная стрелка используется при приватном наследовании.\n" "<li>Фиолетовая стрелка используется, если класс содержится в" - "другом класе или используется другим классом." + "другом класе или используется другим классом." "Со стрелкой указывается переменная, " "через которую доступен указываемый класс или структура. \n" "</ul>\n"); @@ -1306,7 +1217,7 @@ class TranslatorRussian : public Translator } ////////////////////////////////////////////////////////////////////////// -// new since 1.2.? +// new since 1.2.6 ////////////////////////////////////////////////////////////////////////// /*! Used as ansicpg for RTF file */ virtual QCString trRTFansicp() diff --git a/src/translator_se.h b/src/translator_se.h index 6aa3e99..79ec0e2 100644 --- a/src/translator_se.h +++ b/src/translator_se.h @@ -62,9 +62,9 @@ Problem! #ifndef TRANSLATOR_SE_H #define TRANSLATOR_SE_H -#include "translator.h" +#include "translator_adapter.h" -class TranslatorSwedish : public Translator +class TranslatorSwedish : public TranslatorAdapter_1_0_0 { public: QCString idLanguage() diff --git a/src/translator_si.h b/src/translator_si.h index 4810344..98d6824 100644 --- a/src/translator_si.h +++ b/src/translator_si.h @@ -20,9 +20,9 @@ #ifndef TRANSLATOR_SI_H #define TRANSLATOR_SI_H -#include "translator.h" +#include "translator_adapter.h" -class TranslatorSlovene : public Translator +class TranslatorSlovene : public TranslatorAdapter_1_1_5 { public: QCString idLanguage() @@ -404,6 +404,18 @@ class TranslatorSlovene : public Translator { return "Podati o imenskih prostorih"; } ////////////////////////////////////////////////////////////////////////// +// new since 0.49-990522 +////////////////////////////////////////////////////////////////////////// + + /*! This is used in the documentation before the list of all + * namespaces in a file. + */ + QCString trNamespaces() + { + return "Namespaces"; + } + +////////////////////////////////////////////////////////////////////////// // new since 0.49-990728 ////////////////////////////////////////////////////////////////////////// |