From c562786745020f7a59d4006537416ed43c2de2ff Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Sun, 2 Jun 2002 22:07:26 +0000 Subject: Doxygen-1.2.16-20020603 --- INSTALL | 4 +- README | 4 +- VERSION | 2 +- doc/commands.doc | 35 ++++++ doc/language.doc | 11 +- doc/maintainers.txt | 1 + packages/rpm/doxygen.spec | 2 +- src/code.l | 15 ++- src/doc.l | 263 +++++++++++++++++++++++++++++++++++++------ src/doxygen.cpp | 2 +- src/translator_pl.h | 279 +++++++++++++++++++++++++++++++++++++++++++--- 11 files changed, 549 insertions(+), 69 deletions(-) diff --git a/INSTALL b/INSTALL index 7f927c7..7a443be 100644 --- a/INSTALL +++ b/INSTALL @@ -1,6 +1,6 @@ -DOXYGEN Version 1.2.16-20020526 +DOXYGEN Version 1.2.16-20020603 Please read the installation section of the manual for instructions. -------- -Dimitri van Heesch (26 May 2002) +Dimitri van Heesch (03 June 2002) diff --git a/README b/README index f0663fb..e053144 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -DOXYGEN Version 1.2.16_20020526 +DOXYGEN Version 1.2.16_20020603 Please read INSTALL for compilation instructions. @@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives. Enjoy, -Dimitri van Heesch (dimitri@stack.nl) (26 May 2002) +Dimitri van Heesch (dimitri@stack.nl) (03 June 2002) diff --git a/VERSION b/VERSION index ff6e8a8..0cfe5bc 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.2.16-20020526 +1.2.16-20020603 diff --git a/doc/commands.doc b/doc/commands.doc index edd5804..972fe90 100644 --- a/doc/commands.doc +++ b/doc/commands.doc @@ -56,6 +56,7 @@ documentation:
  • \refitem cmdc \c
  • \refitem cmdclass \class
  • \refitem cmdcode \code +
  • \refitem cmdcopydoc \copydoc
  • \refitem cmddate \date
  • \refitem cmddef \def
  • \refitem cmddefgroup \defgroup @@ -1364,6 +1365,40 @@ ALIASES = "english=\if english" \ \sa section \ref cmdendcode "\\endcode", section \ref cmdverbatim "\\verbatim"
    +\subsection cmdcopydoc \copydoc + + \addindex \copydoc + Copies a documentation block from the object specified by \ + and pastes it at the location of the command. This command can be useful + to avoid cases where a documentation block would otherwise have to be + duplicated or it can be used to extend the documentation of an inherited + member. + + The link object can point to a member, a class, a namespace, a group, + a page, or a file (checked in that order). To copy the + documentation for a member of a class for instance one can put the + following in the documentation + +\verbatim + /*! @copydoc MyClass::myfunction() + * More documentation. + */ +\endverbatim + + if the member is overloaded, you should specify the argument types + explicitly (without spaces!), like in the following: + +\verbatim + /*! @copydoc MyClass::myfunction(type1,type2) */ +\endverbatim + + Qualified names are only needed if the context in which the documentation + block is found requires them. + + The copydoc command can be used recursively, but cycles in the copydoc + relation will be broken and flagged as an error. + +
    \subsection cmddotfile \dotfile ["caption"] \addindex \dotfile diff --git a/doc/language.doc b/doc/language.doc index 242f8d3..22582b6 100644 --- a/doc/language.doc +++ b/doc/language.doc @@ -25,7 +25,7 @@ Doxygen has built-in support for multiple languages. This means that the text fragments that doxygen generates can be produced in languages other than English (the default) at configuration time. -Currently (version 1.2.15-20020512), 26 languages +Currently (version 1.2.14-20020317), 26 languages are supported (sorted alphabetically): Brazilian Portuguese, Chinese, Chinesetraditional, Croatian, Czech, Danish, Dutch, English, Finnish, French, @@ -155,9 +155,9 @@ when the translator was updated. Polish - Grzegorz Kowal - g_kowal@NOSPAM.poczta.onet.pl - 1.2.1 + Piotr Kaminski
    Grzegorz Kowal + Piotr.Kaminski@NOSPAM.ctm.gdynia.pl
    g_kowal@NOSPAM.poczta.onet.pl + up-to-date Portuguese @@ -256,7 +256,8 @@ when the translator was updated. \hline Norwegian & Lars Erik Jordet & {\tt lej@circuitry.no} & 1.2.2 \\ \hline - Polish & Grzegorz Kowal & {\tt g\_kowal@poczta.onet.pl} & 1.2.1 \\ + Polish & Piotr Kaminski & {\tt Piotr.Kaminski@ctm.gdynia.pl} & up-to-date \\ + & Grzegorz Kowal & {\tt g\_kowal@poczta.onet.pl} & \\ \hline Portuguese & Rui Godinho Lopes & {\tt ruiglopes@yahoo.com} & up-to-date \\ \hline diff --git a/doc/maintainers.txt b/doc/maintainers.txt index 5f2ec0c..b729303 100644 --- a/doc/maintainers.txt +++ b/doc/maintainers.txt @@ -57,6 +57,7 @@ Norwegian Lars Erik Jordet: lej@circuitry.no Polish +Piotr Kaminski: Piotr.Kaminski@ctm.gdynia.pl Grzegorz Kowal: g_kowal@poczta.onet.pl Portuguese diff --git a/packages/rpm/doxygen.spec b/packages/rpm/doxygen.spec index 7ddb363..78e3a91 100644 --- a/packages/rpm/doxygen.spec +++ b/packages/rpm/doxygen.spec @@ -1,6 +1,6 @@ Summary: A documentation system for C/C++. Name: doxygen -Version: 1.2.16_20020526 +Version: 1.2.16_20020603 Release: 1 Epoch: 1 Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz diff --git a/src/code.l b/src/code.l index 533f2dd..42eda81 100644 --- a/src/code.l +++ b/src/code.l @@ -1057,13 +1057,16 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned" if (!name.isEmpty() && g_sourceFileDef) { FileName *fn = Doxygen::inputNameDict->find(name); - FileNameIterator fni(*fn); - // for each include name - for (fni.toFirst();!found && (fd=fni.current());++fni) + if (fn) { - // see if this source file actually includes the file - found = g_sourceFileDef->isIncluded(fd->absFilePath()); - //printf(" include file %s found=%d\n",fd->absFilePath().data(),found); + FileNameIterator fni(*fn); + // for each include name + for (fni.toFirst();!found && (fd=fni.current());++fni) + { + // see if this source file actually includes the file + found = g_sourceFileDef->isIncluded(fd->absFilePath()); + //printf(" include file %s found=%d\n",fd->absFilePath().data(),found); + } } } } diff --git a/src/doc.l b/src/doc.l index 3863d4b..4ffb5a9 100644 --- a/src/doc.l +++ b/src/doc.l @@ -39,6 +39,7 @@ #include "language.h" #include "outputlist.h" #include "reflist.h" +#include "page.h" #ifndef WIN32 #include @@ -105,6 +106,44 @@ static QCString caption; static QStack currentListIndent; // indent stack of all list items static bool insideItemList = FALSE; +struct DocLexerContext +{ + int rule; + int position; + const char *inputString; + YY_BUFFER_STATE lexerState; +}; + +static QStack lexerStack; + +static void pushContext() +{ + DocLexerContext *ctx = new DocLexerContext; + ctx->rule = YY_START; + ctx->position = inputPosition; + ctx->inputString = inputString; + ctx->lexerState = YY_CURRENT_BUFFER; + lexerStack.push(ctx); + yy_switch_to_buffer(yy_create_buffer(docYYin, YY_BUF_SIZE)); +} + +static bool popContext() +{ + if (lexerStack.isEmpty()) return TRUE; + DocLexerContext *ctx = lexerStack.pop(); + inputPosition = ctx->position; + inputString = ctx->inputString; + yy_delete_buffer(YY_CURRENT_BUFFER); + yy_switch_to_buffer(ctx->lexerState); + BEGIN(ctx->rule); + delete ctx; + return TRUE; +} + +static QCString copyDocString; +static QCString copyDocScope; +static QList copyDocDefList; + //----------------------------------------------------------------------------- static void initParser() @@ -926,6 +965,119 @@ static void checkArgName(const QCString &name,bool isParam) } /* ----------------------------------------------------------------- */ + +bool findDocsForMemberOrCompound(const char *commandName, + QCString *pDoc, + Definition **pDef) +{ + pDoc->resize(0); + *pDef=0; + QCString cmdArg=commandName; + int l=cmdArg.length(); + if (l==0) return FALSE; + + int scopeOffset=copyDocScope.length(); + do // for each scope + { + int funcStart=cmdArg.find('('); + if (funcStart==-1) funcStart=l; + int lastScopeStart=cmdArg.findRev("::",funcStart); + int lastScopeEnd = lastScopeStart==-1 ? 0 : lastScopeStart+2; + QCString scope=cmdArg.left(QMAX(lastScopeStart,0)); + QCString name=cmdArg.mid(lastScopeEnd,funcStart-lastScopeEnd); + QCString args=cmdArg.right(l-funcStart); + + if (scope.isEmpty()) + { + if (scopeOffset>0) + { + scope=copyDocScope.left(scopeOffset); + } + } + else + { + if (scopeOffset>0) + { + scope.prepend(copyDocScope.left(scopeOffset)+"::"); + } + } + //printf("findDocsForMemberOrCompound: scope=`%s' name=`%s' arg=`%s'\n",scope.data(),name.data(),args.data()); + + // try if the link is to a member + MemberDef *md=0; + ClassDef *cd=0; + FileDef *fd=0; + NamespaceDef *nd=0; + GroupDef *gd=0; + PageInfo *pi=0; + bool found = getDefs(scope,name,args,md,cd,fd,nd,gd,FALSE,0,TRUE); + if (found && md) + { + *pDoc=md->documentation(); + *pDef=md; + return TRUE; + } + + QCString fullName=cmdArg; + if (scopeOffset>0) + { + fullName.prepend(copyDocScope.left(scopeOffset)+"::"); + } + + // try class, namespace, group, page, file reference + cd = Doxygen::classSDict[fullName]; + if (cd) // class + { + *pDoc=cd->documentation(); + *pDef=cd; + return TRUE; + } + nd = Doxygen::namespaceSDict[fullName]; + if (nd) // namespace + { + *pDoc=nd->documentation(); + *pDef=nd; + return TRUE; + } + gd = Doxygen::groupSDict[cmdArg]; + if (gd) // group + { + *pDoc=gd->documentation(); + *pDef=gd; + return TRUE; + } + pi = Doxygen::pageSDict->find(cmdArg); + if (pi) // page + { + *pDoc=pi->doc; + *pDef=(Definition *)pi; + return TRUE; + } + bool ambig; + fd = findFileDef(Doxygen::inputNameDict,cmdArg,ambig); + if (fd && !ambig) // file + { + *pDoc=fd->documentation(); + *pDef=fd; + return TRUE; + } + + if (scopeOffset==0) + { + scopeOffset=-1; + } + else + { + scopeOffset = copyDocScope.findRev("::",scopeOffset-1); + if (scopeOffset==-1) scopeOffset=0; + } + } while (scopeOffset>0); + + + return FALSE; +} + +/* ----------------------------------------------------------------- */ #undef YY_INPUT #define YY_INPUT(buf,result,max_size) result=yyread(buf,max_size); @@ -943,7 +1095,6 @@ static int yyread(char *buf,int max_size) //ATTR ((({BN}+[^\>]+)/">")?) %} - CMD ("\\"|"@") BN [ \t\n\r] BL [ \t\r]*"\n" @@ -1012,6 +1163,7 @@ OPARG "("[a-z_A-Z0-9,\<\> \t\*\&]*")" OPNORM {OPNEW}|{OPDEL}|"+"|"-"|"*"|"/"|"%"|"^"|"&"|"|"|"~"|"!"|"="|"<"|">"|"+="|"-="|"*="|"/="|"%="|"^="|"&="|"|="|"<<"|">>"|"<<="|">>="|"=="|"!="|"<="|">="|"&&"|"||"|"++"|"--"|","|"->*"|"->"|"[]"|"()" OPCAST {B}+[^(\r\n.,]+ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG}) +LINKMASK [a-z_A-Z0-9:#.,~&*/\[\]<>()\-\+]+({B}*("const"|"volatile"))? %option noyywrap @@ -1064,6 +1216,9 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG}) %x DocDotFile %x DocDotFileOpt %x DocSkipLanguage +%x DocCopyFind +%x DocCopyArg +%x DocCopySkipVerb %% @@ -1219,13 +1374,12 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG}) {CMD}"link"/{BN} { BEGIN( DocLink ); } "{"{CMD}"link"{BN}+ { BEGIN( DocJavaLink ); } [a-z_A-Z0-9.:()]+ { BEGIN( DocScan ); } -[a-z_A-Z0-9:#.,~&*/\[\]<>()\-\+]+({B}*("const"|"volatile"))? { // TODO: support operators as well! +{LINKMASK} { // TODO: support operators as well! linkRef = stripKnownExtensions(yytext); linkText = ""; BEGIN( DocLinkText ); } -([a-z_A-Z0-9]+".")+ { /* Skip scope prefix (TODO: fix) */ } -([a-z_A-Z0-9]*"#")?[a-z_A-Z0-9]+("("[a-z_A-Z0-9.,:~&*()\ \[\]]*")")?({B}*("const"|"volatile"))? { // TODO: support operators as well! +{LINKMASK} { // TODO: support operators as well! linkRef = yytext; linkText = ""; BEGIN( DocJavaLinkText ); @@ -2663,6 +2817,51 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG}) . { outDoc->writeChar(*yytext); } +{CMD}"copydoc"{B}+ { // found copydoc command + BEGIN(DocCopyArg); + } +{CMD}"verbatim"/[^a-z_A-Z0-9] { // skip verbatim sections + copyDocString+=yytext; + BEGIN(DocCopySkipVerb); + } +[^@\\\n]+ { copyDocString+=yytext; } +"\\\\"|"@@" { copyDocString+=yytext; /* skip escaped commands */ } +[^@\\\n]+ { copyDocString+=yytext; } +{CMD}"endverbatim" { copyDocString+=yytext; + BEGIN(DocCopyFind); + } +\n { copyDocString+=yytext; } +. { copyDocString+=yytext; } +{LINKMASK} { //printf("found @copydoc with arg `%s'\n",yytext); + QCString doc; + Definition *def; + if (findDocsForMemberOrCompound(yytext,&doc,&def)) + { + //printf("found docs `%s'\n",doc.data()); + if (copyDocDefList.findRef(def)!=-1) + { + warn(yyFileName,yyLineNr,"Recursive @copydoc relation!"); + } + else + { + copyDocDefList.append(def); + pushContext(); + inputString = doc; + inputPosition = 0; + BEGIN(DocCopyFind); + docYYlex(); + popContext(); + copyDocDefList.remove(def); + BEGIN(DocCopyFind); + } + } + else // reference not found! + { + warn(yyFileName,yyLineNr,"Argument `%s' of @copydoc command " + "could not be resolved!",yytext); + } + BEGIN(DocCopyFind); + } <*>\n { yyLineNr++ ; } <*>. @@ -2672,57 +2871,33 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG}) void scanString(const char *s) { - const char *oldInputString = inputString; - int oldInputPosition = inputPosition; - int oldRule = YY_START; - YY_BUFFER_STATE oldBuffer = YY_CURRENT_BUFFER; - yy_switch_to_buffer(yy_create_buffer(docYYin, YY_BUF_SIZE)); + pushContext(); inputString = s; inputPosition = 0; BEGIN( Text ); docYYlex(); - yy_delete_buffer(YY_CURRENT_BUFFER); - yy_switch_to_buffer(oldBuffer); - inputString = oldInputString; - inputPosition = oldInputPosition; - BEGIN( oldRule ); + popContext(); } void scanDoc(const char *s) { - const char *oldInputString = inputString; - int oldInputPosition = inputPosition; - int oldRule = YY_START; - YY_BUFFER_STATE oldBuffer = YY_CURRENT_BUFFER; - yy_switch_to_buffer(yy_create_buffer(docYYin, YY_BUF_SIZE)); + pushContext(); inputString = s; inputPosition = 0; BEGIN( DocScan ); docYYlex(); - yy_delete_buffer(YY_CURRENT_BUFFER); - yy_switch_to_buffer(oldBuffer); - inputString = oldInputString; - inputPosition = oldInputPosition; - BEGIN( oldRule ); + popContext(); } void internalParseDocument(const char *s) { if (s==0) return; - const char *oldInputString = inputString; - int oldInputPosition = inputPosition; - int oldRule = YY_START; - YY_BUFFER_STATE oldBuffer = YY_CURRENT_BUFFER; - yy_switch_to_buffer(yy_create_buffer(docYYin, YY_BUF_SIZE)); + pushContext(); inputString = s; inputPosition = 0; BEGIN( DocScan ); docYYlex(); - yy_delete_buffer(YY_CURRENT_BUFFER); - yy_switch_to_buffer(oldBuffer); - inputString = oldInputString; - inputPosition = oldInputPosition; - BEGIN( oldRule ); + popContext(); } //---------------------------------------------------------------------------- @@ -2790,9 +2965,27 @@ void parseDocument(OutputDocInterface &od,const QCString &docString) //---------------------------------------------------------------------------- +// in this pass all @copydoc commands are resolved. +void resolveCopyDocCommands(const char *scope,QCString &docString) +{ + copyDocString.resize(0); + copyDocScope = scope; + inputString = docString; + inputPosition = 0; + docYYrestart( docYYin ); + BEGIN( DocCopyFind ); + docYYlex(); + docString = copyDocString; +} + +//---------------------------------------------------------------------------- + void parseDoc(OutputDocInterface &od,const char *fileName,int startLine, - const char *clName,MemberDef *md,const QCString &docString) + const char *clName,MemberDef *md,const QCString &docStr) { + QCString docString=docStr; + resolveCopyDocCommands(clName,docString); + //printf("parseDoc(file=`%s',line=%d)\n",fileName,startLine); initParser(); initParseCodeContext(); diff --git a/src/doxygen.cpp b/src/doxygen.cpp index 76a9a2d..20a7b57 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -2166,6 +2166,7 @@ static void findFriends() fmd->setBodyDef(mmd->getBodyDef()); fmd->setBodyMember(mmd); } + mmd->setDocsForDefinition(fmd->isDocsForDefinition()); } } } @@ -7419,7 +7420,6 @@ void parseInput() msg("Adding todo/test/bug list items...\n"); addListReferences(); - } void generateOutput() diff --git a/src/translator_pl.h b/src/translator_pl.h index bee4553..0e3ce6b 100644 --- a/src/translator_pl.h +++ b/src/translator_pl.h @@ -13,6 +13,8 @@ * Documents produced by Doxygen are derivative works derived from the * input used in their production; they are not affected by this license. * + * Polish translation was updated to version 1.2.16 by + * Piotr Kaminski (Piotr.Kaminski@ctm.gdynia.pl) */ #ifndef TRANSLATOR_PL_H @@ -20,7 +22,7 @@ #include "translator_adapter.h" -class TranslatorPolish : public TranslatorAdapter_1_2_1 +class TranslatorPolish : public Translator { public: @@ -48,6 +50,10 @@ class TranslatorPolish : public TranslatorAdapter_1_2_1 QCString latexBabelPackage() { return "polish"; } + /*! return the language charset. This will be used for the HTML output */ + virtual QCString idLanguageCharset() + { return "iso-8859-2"; } + // --- Language translation methods ------------------- /*! used in the compound documentation before a list of related functions. */ @@ -457,7 +463,7 @@ class TranslatorPolish : public TranslatorAdapter_1_2_1 /*! this text is generated when the \\return command is used. */ QCString trReturns() - { return "Powroty"; } + { return "Zwraca"; } /*! this text is generated when the \\sa command is used. */ QCString trSeeAlso() @@ -479,14 +485,14 @@ class TranslatorPolish : public TranslatorAdapter_1_2_1 /*! used as the title of page containing all the index of all namespaces. */ QCString trNamespaceList() - { return "Lista Obszarów Nazw"; } + { return "Lista Przestrzeni Nazw"; } /*! used as an introduction to the namespace list */ QCString trNamespaceListDescription(bool extractAll) { QCString result="Tutaj znajdują się wszystkie "; if (!extractAll) result+="udokumentowane "; - result+="obszary nazw wraz z ich krótkimi opisami:"; + result+="przestrzenie nazw wraz z ich krótkimi opisami:"; return result; } @@ -540,7 +546,7 @@ class TranslatorPolish : public TranslatorAdapter_1_2_1 /*! used as the title of the HTML page of a namespace */ QCString trNamespaceReference(const char *namespaceName) { - QCString result="Referencje Obszaru Nazw "; + QCString result="Referencje Przestrzeni Nazw "; result+=namespaceName; return result; } @@ -626,7 +632,7 @@ class TranslatorPolish : public TranslatorAdapter_1_2_1 /*! This is put above each page as a link to all members of namespaces. */ QCString trNamespaceMembers() - { return "Składowe Obszaru Nazw"; } + { return "Składowe Przestrzeni Nazw"; } /*! This is an introduction to the page with all namespace members */ QCString trNamespaceMemberDescription(bool extractAll) @@ -635,22 +641,22 @@ class TranslatorPolish : public TranslatorAdapter_1_2_1 if (!extractAll) result+="udokumentowanych "; result+="składowych wraz z odnośnikami do "; if (extractAll) - result+="dokumentacji obszarów nazw dla każdej składowej:"; + result+="dokumentacji przestrzeni nazw dla każdej składowej:"; else - result+="obszarów nazw do których składowe te należą:"; + result+="przestrzeni nazw do których składowe te należą:"; return result; } /*! This is used in LaTeX as the title of the chapter with the * index of all namespaces. */ QCString trNamespaceIndex() - { return "Indeks Obszarów Nazw"; } + { return "Indeks Przestrzeni Nazw"; } /*! This is used in LaTeX as the title of the chapter containing * the documentation of all namespaces. */ QCString trNamespaceDocumentation() - { return "Dokumentacja Obszarów Nazw"; } + { return "Dokumentacja Przestrzeni Nazw"; } ////////////////////////////////////////////////////////////////////////// // new since 0.49-990522 @@ -660,7 +666,7 @@ class TranslatorPolish : public TranslatorAdapter_1_2_1 * namespaces in a file. */ QCString trNamespaces() - { return "Obszary Nazw"; } + { return "Przestrzenie Nazw"; } ////////////////////////////////////////////////////////////////////////// // new since 0.49-990728 @@ -940,13 +946,13 @@ class TranslatorPolish : public TranslatorAdapter_1_2_1 "jest ustawiony na 200, odniesie to rezultat w następującym wykresie:" "

    \n" "

    \n" - "Pudełka w powyższym wykresie mają następujące znaczenie:\n" + "Prostokąty w powyższym wykresie mają następujące znaczenie:\n" "

      \n" - "
    • Wypełnione czarne pudełko reprezentuje strukturę lub klasę dla " + "
    • Wypełniony czarny prostokąt reprezentuje strukturę lub klasę dla " "której został wygenerowany wykres.\n" - "
    • Pudełko z czarną obwolutą oznacza udokumentowaną strukturę lub klasę.\n" - "
    • Pudełko z szarą obwolutą oznacza nieudokumentowaną strukturę lub klasę.\n" - "
    • Pudełko z czerwoną obwolutą oznacza udokumentowaną strukturę lub klasę dla\n" + "
    • Prostokąt z czarną obwolutą oznacza udokumentowaną strukturę lub klasę.\n" + "
    • Prostokąt z szarą obwolutą oznacza nieudokumentowaną strukturę lub klasę.\n" + "
    • Prostokąt z czerwoną obwolutą oznacza udokumentowaną strukturę lub klasę dla\n" "której nie są pokazane wszystkie relacje dziedziczenia/zawierania. Wykres jest " "okrojony, jeśli nie mieści się w określonych brzegach." "
    \n" @@ -981,6 +987,247 @@ class TranslatorPolish : public TranslatorAdapter_1_2_1 { return "Lista Testu"; } +////////////////////////////////////////////////////////////////////////// +// new since 1.2.1 +////////////////////////////////////////////////////////////////////////// + + /*! Used as a section header for KDE-2 IDL methods */ + virtual QCString trDCOPMethods() + { + return "Metody DCOP"; + } + +////////////////////////////////////////////////////////////////////////// +// new since 1.2.2 +////////////////////////////////////////////////////////////////////////// + + /*! Used as a section header for IDL properties */ + virtual QCString trProperties() + { + return "Właściwości"; + } + /*! Used as a section header for IDL property documentation */ + virtual QCString trPropertyDocumentation() + { + return "Dokumentacja Właściwości"; + } +////////////////////////////////////////////////////////////////////////// +// new since 1.2.4 +////////////////////////////////////////////////////////////////////////// + + /*! Used for Java interfaces in the summary section of Java packages */ + virtual QCString trInterfaces() + { + return "Interfejsy"; + } + /*! Used for Java classes in the summary section of Java packages */ + virtual QCString trClasses() + { + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) + { + return "Struktury Danych"; + } + else + { + return "Klasy"; + } + } + /*! Used as the title of a Java package */ + virtual QCString trPackage(const char *name) + { + return (QCString)"Pakiet "+name; + } + /*! Title of the package index page */ + virtual QCString trPackageList() + { + return "Lista Pakietów"; + } + /*! The description of the package index page */ + virtual QCString trPackageListDescription() + { + return "Oto lista pakietów wraz z krótkim opisem (o ile jest dostępny):"; + } + /*! The link name in the Quick links header for each page */ + virtual QCString trPackages() + { + return "Pakiety"; + } + /*! Used as a chapter title for Latex & RTF output */ + virtual QCString trPackageDocumentation() + { + return "Dokumentacja Pakietu"; + } + /*! Text shown before a multi-line define */ + virtual QCString trDefineValue() + { + return "Wartość:"; + } + +////////////////////////////////////////////////////////////////////////// +// new since 1.2.5 +////////////////////////////////////////////////////////////////////////// + + /*! Used as a marker that is put before a \\bug item */ + virtual QCString trBug() + { + return "Błąd"; + } + /*! Used as the header of the bug list */ + virtual QCString trBugList() + { + return "Lista błędów"; + } + +////////////////////////////////////////////////////////////////////////// +// 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 "238"; + } + + /*! Used as header RTF general index */ + virtual QCString trRTFGeneralIndex() + { + return "Indeks"; + } + + /*! 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 ? "Klas" : "klas")); + result+=(singular ? "a" : "y"); + 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 ? "Plik" : "plik")); + if (!singular) result+="i"; + 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 ? "Przestrze" : "przestrze")); + result+=(singular ? "ń" : "nie"); + result+=" nazw"; + 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 ? "Grupa" : "grupa")); + result+=(singular ? "a" : "y"); + 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 ? "Ston" : "stron")); + result+=(singular ? "a" : "y"); + 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 ? "Składow" : "składow")); + result+=(singular ? "a" : "e"); + 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 ? "Pol" : "pol")); + result+=(singular ? "e" : "a"); + 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")); + result+=(singular ? "ny" : "ne"); + return result; + } + +////////////////////////////////////////////////////////////////////////// +// new since 1.2.7 +////////////////////////////////////////////////////////////////////////// + + /*! This text is generated when the \\author command is used and + * for the author section in man pages. */ + virtual QCString trAuthor(bool first_capital, bool singular) + { + QCString result((first_capital ? "Auto" : "auto")); + result += (singular) ? "r" : "rzy"; + return result; + } + +////////////////////////////////////////////////////////////////////////// +// new since 1.2.11 +////////////////////////////////////////////////////////////////////////// + + /*! This text is put before the list of members referenced by a member + */ + virtual QCString trReferences() + { + return "Wskazuje na"; + } + + +////////////////////////////////////////////////////////////////////////// +// new since 1.2.13 +////////////////////////////////////////////////////////////////////////// + + + virtual QCString trImplementedFromList(int numEntries) + { + return "Implementuje "+trWriteList(numEntries)+"."; + } + + virtual QCString trImplementedInList(int numEntries) + { + return "Implementowany w "+trWriteList(numEntries)+"."; + } }; -- cgit v0.12