diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/code.l | 14 | ||||
-rw-r--r-- | src/config.l | 7 | ||||
-rw-r--r-- | src/docparser.cpp | 15 | ||||
-rw-r--r-- | src/docparser.h | 6 | ||||
-rw-r--r-- | src/doctokenizer.l | 2 | ||||
-rw-r--r-- | src/dot.cpp | 22 | ||||
-rw-r--r-- | src/dot.h | 2 | ||||
-rw-r--r-- | src/doxygen.cpp | 5 | ||||
-rw-r--r-- | src/fortrancode.l | 6 | ||||
-rw-r--r-- | src/ftvhelp.cpp | 2 | ||||
-rw-r--r-- | src/htmldocvisitor.cpp | 31 | ||||
-rw-r--r-- | src/htmldocvisitor.h | 4 | ||||
-rw-r--r-- | src/latexgen.cpp | 116 | ||||
-rw-r--r-- | src/latexgen.h | 2 | ||||
-rw-r--r-- | src/memberdef.cpp | 8 | ||||
-rw-r--r-- | src/msc.cpp | 9 | ||||
-rw-r--r-- | src/msc.h | 2 | ||||
-rw-r--r-- | src/scanner.l | 3 | ||||
-rw-r--r-- | src/translator_br.h | 43 | ||||
-rw-r--r-- | src/translator_cn.h | 8 | ||||
-rw-r--r-- | src/translator_kr.h | 776 | ||||
-rw-r--r-- | src/util.cpp | 22 | ||||
-rw-r--r-- | src/xmldocvisitor.cpp | 2 | ||||
-rw-r--r-- | src/xmlgen.cpp | 51 |
24 files changed, 626 insertions, 532 deletions
@@ -78,6 +78,7 @@ static QStack<int> g_scopeStack; //!< 1 if bracket starts a scope, // 2 for internal blocks static int g_anchorCount; static FileDef * g_sourceFileDef; +static bool g_lineNumbers; static Definition * g_currentDefinition; static MemberDef * g_currentMemberDef; static bool g_includeCodeFragment; @@ -449,14 +450,13 @@ static void setClassScope(const QCString &name) static void startCodeLine() { //if (g_currentFontClass) { g_code->endFontClass(); } - if (g_sourceFileDef) + if (g_sourceFileDef && g_lineNumbers) { //QCString lineNumber,lineAnchor; //lineNumber.sprintf("%05d",g_yyLineNr); //lineAnchor.sprintf("l%05d",g_yyLineNr); Definition *d = g_sourceFileDef->getSourceDefinition(g_yyLineNr); - //printf("startCodeLine %d d=%s\n", g_yyLineNr,d ? d->name().data() : "<null>"); if (!g_includeCodeFragment && d) { g_currentDefinition = d; @@ -1120,7 +1120,7 @@ static void generateMemberLink(CodeOutputInterface &ol,const QCString &varName, int vi; QCString vn=varName; QCString scope; - if ((vi=vn.findRev("::"))!=-1) // explicit scope A::b(), probably static member + if ((vi=vn.findRev("::"))!=-1 || (vi=vn.findRev('.'))!=-1) // explicit scope A::b(), probably static member { ClassDef *jcd = getClass(vn.left(vi)); vn=vn.right(vn.length()-vi-2); @@ -1182,11 +1182,13 @@ static void generateFunctionLink(CodeOutputInterface &ol,char *funcName) QCString locScope=g_classScope.copy(); QCString locFunc=removeRedundantWhiteSpace(funcName); //fprintf(stdout,"*** locScope=%s locFunc=%s\n",locScope.data(),locFunc.data()); + int len=2; int i=locFunc.findRev("::"); + if (i==-1) i=locFunc.findRev("."),len=1; if (i>0) { locScope=locFunc.left(i); - locFunc=locFunc.right(locFunc.length()-i-2).stripWhiteSpace(); + locFunc=locFunc.right(locFunc.length()-i-len).stripWhiteSpace(); int ts=locScope.find('<'); // start of template int te=locScope.findRev('>'); // end of template //printf("ts=%d te=%d\n",ts,te); @@ -3285,6 +3287,7 @@ void parseCCode(CodeOutputInterface &od,const char *className,const QCString &s, g_exampleBlock = exBlock; g_exampleName = exName; g_sourceFileDef = fd; + g_lineNumbers = fd!=0; if (exBlock && fd==0) { // create a dummy filedef for the example @@ -3306,6 +3309,7 @@ void parseCCode(CodeOutputInterface &od,const char *className,const QCString &s, g_exampleFile = convertNameToFile(g_exampleName+"-example"); } g_includeCodeFragment = inlineFragment; + //printf("** exBlock=%d exName=%s include=%d\n",exBlock,exName,inlineFragment); startCodeLine(); g_type.resize(0); g_name.resize(0); @@ -3322,7 +3326,7 @@ void parseCCode(CodeOutputInterface &od,const char *className,const QCString &s, endFontClass(); g_code->endCodeLine(); } - if (exBlock && g_sourceFileDef) + if (exBlock && fd==0) { // delete the temporary file definition used for this example delete g_sourceFileDef; diff --git a/src/config.l b/src/config.l index 35b1b8c..f084d03 100644 --- a/src/config.l +++ b/src/config.l @@ -1669,6 +1669,13 @@ void Config::create() FALSE ); cb = addBool( + "SIP_SUPPORT", + "Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. \n" + "Doxygen will parse them like normal C++ but will assume all classes use public \n" + "instead of private inheritance when no explicit protection keyword is present. \n", + FALSE + ); + cb = addBool( "DISTRIBUTE_GROUP_DOC", "If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC \n" "tag is set to YES, then doxygen will reuse the documentation of the first \n" diff --git a/src/docparser.cpp b/src/docparser.cpp index 1ada917..b46aaed 100644 --- a/src/docparser.cpp +++ b/src/docparser.cpp @@ -1387,6 +1387,7 @@ DocSymbol::SymType DocSymbol::decodeSymbol(const QString &symName,char *letter) DBG(("decodeSymbol(%s) l=%d\n",symName.data(),l)); if (symName=="©") return DocSymbol::Copy; else if (symName=="™") return DocSymbol::Tm; + else if (symName=="&tm;") return DocSymbol::Tm; // alias for &trace; else if (symName=="®") return DocSymbol::Reg; else if (symName=="<") return DocSymbol::Less; else if (symName==">") return DocSymbol::Greater; @@ -2049,7 +2050,7 @@ void DocInternalRef::parse() //--------------------------------------------------------------------------- -DocRef::DocRef(DocNode *parent,const QString &target) : +DocRef::DocRef(DocNode *parent,const QString &target,const QString &context) : m_parent(parent), m_refToSection(FALSE), m_refToAnchor(FALSE) { Definition *compound = 0; @@ -2071,7 +2072,7 @@ DocRef::DocRef(DocNode *parent,const QString &target) : // m_text.data(),m_ref.data(),m_file.data(),m_refToAnchor); return; } - else if (resolveLink(g_context,target,TRUE,&compound,anchor)) + else if (resolveLink(context,target,TRUE,&compound,anchor)) { bool isFile = compound ? (compound->definitionType()==Definition::TypeFile ? TRUE : FALSE) : @@ -2318,8 +2319,8 @@ endlink: //--------------------------------------------------------------------------- -DocDotFile::DocDotFile(DocNode *parent,const QString &name) : - m_parent(parent), m_name(name), m_relPath(g_relPath) +DocDotFile::DocDotFile(DocNode *parent,const QString &name,const QString &context) : + m_parent(parent), m_name(name), m_relPath(g_relPath), m_context(context) { } @@ -3235,7 +3236,7 @@ int DocHtmlDescTitle::parse() } else { - DocRef *ref = new DocRef(this,g_token->name); + DocRef *ref = new DocRef(this,g_token->name,g_context); m_children.append(ref); ref->parse(); } @@ -4247,7 +4248,7 @@ void DocPara::handleDotFile(const QString &cmdName) return; } QString name = g_token->name; - DocDotFile *df = new DocDotFile(this,name); + DocDotFile *df = new DocDotFile(this,name,g_context); m_children.append(df); df->parse(); } @@ -4298,7 +4299,7 @@ void DocPara::handleRef(const QString &cmdName) tokToString(tok),cmdName.data()); goto endref; } - ref = new DocRef(this,g_token->name); + ref = new DocRef(this,g_token->name,g_context); m_children.append(ref); ref->parse(); endref: diff --git a/src/docparser.h b/src/docparser.h index bd51317..5d18fe1 100644 --- a/src/docparser.h +++ b/src/docparser.h @@ -614,7 +614,7 @@ class DocImage : public CompAccept<DocImage>, public DocNode class DocDotFile : public CompAccept<DocDotFile>, public DocNode { public: - DocDotFile(DocNode *parent,const QString &name); + DocDotFile(DocNode *parent,const QString &name,const QString &context); void parse(); Kind kind() const { return Kind_DotFile; } QString name() const { return m_name; } @@ -624,6 +624,7 @@ class DocDotFile : public CompAccept<DocDotFile>, public DocNode QString width() const { return m_width; } QString height() const { return m_height; } DocNode *parent() const { return m_parent; } + QString context() const { return m_context; } void accept(DocVisitor *v) { CompAccept<DocDotFile>::accept(this,v); } private: DocNode *m_parent; @@ -632,6 +633,7 @@ class DocDotFile : public CompAccept<DocDotFile>, public DocNode QString m_relPath; QString m_width; QString m_height; + QString m_context; }; /*! @brief Node representing a link to some item */ @@ -661,7 +663,7 @@ class DocLink : public CompAccept<DocLink>, public DocNode class DocRef : public CompAccept<DocRef>, public DocNode { public: - DocRef(DocNode *parent,const QString &target); + DocRef(DocNode *parent,const QString &target,const QString &context); void parse(); Kind kind() const { return Kind_Ref; } QString file() const { return m_file; } diff --git a/src/doctokenizer.l b/src/doctokenizer.l index 6e8e48f..b48af79 100644 --- a/src/doctokenizer.l +++ b/src/doctokenizer.l @@ -317,7 +317,7 @@ SCOPEKEYS ":"({ID}":")* SCOPECPP {SCOPEPRE}*(~)?{ID}("<"{TEMPCHAR}*">")? SCOPEOBJC {SCOPEPRE}?{ID}{SCOPEKEYS}? SCOPEMASK {SCOPECPP}|{SCOPEOBJC} -FUNCARG "("{FUNCCHAR}*")"({BLANK}*("volatile"|"const"))? +FUNCARG "("{FUNCCHAR}*")"({BLANK}*("volatile"|"const"){BLANK})? OPNEW {BLANK}+"new"({BLANK}*"[]")? OPDEL {BLANK}+"delete"({BLANK}*"[]")? OPNORM {OPNEW}|{OPDEL}|"+"|"-"|"*"|"/"|"%"|"^"|"&"|"|"|"~"|"!"|"="|"<"|">"|"+="|"-="|"*="|"/="|"%="|"^="|"&="|"|="|"<<"|">>"|"<<="|">>="|"=="|"!="|"<="|">="|"&&"|"||"|"++"|"--"|","|"->*"|"->"|"[]"|"()" diff --git a/src/dot.cpp b/src/dot.cpp index 86a3aae..02cd88f 100644 --- a/src/dot.cpp +++ b/src/dot.cpp @@ -98,10 +98,13 @@ static void writeGraphFooter(QTextStream &t) * (used in case CREATE_SUBDIRS is enabled). * \param urlOnly if FALSE the url field in the map contains an external * references followed by a $ and then the URL. + * \param context the context (file, class, or namespace) in which the + * map file was found * \returns TRUE if succesful. */ static bool convertMapFile(QTextStream &t,const char *mapName, - const QCString relPath, bool urlOnly=FALSE) + const QCString relPath, bool urlOnly=FALSE, + const QString &context=QString()) { QFile f(mapName); if (!f.open(IO_ReadOnly)) @@ -129,7 +132,7 @@ static bool convertMapFile(QTextStream &t,const char *mapName, { result="href=\""; // fake ref node to resolve the url - DocRef *df = new DocRef( (DocNode*) 0, link.mid(5) ); + DocRef *df = new DocRef( (DocNode*) 0, link.mid(5), context ); if (!df->ref().isEmpty()) { if ((dest=Doxygen::tagDestinationDict[df->ref()])) @@ -1047,6 +1050,7 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path) // compute md5 checksum of the graph were are about to generate QString theGraph; QTextStream md5stream(&theGraph,IO_WriteOnly); + md5stream.setEncoding(md5stream.UnicodeUTF8); writeGraphHeader(md5stream); md5stream << " rankdir=LR;" << endl; for (dnli2.toFirst();(node=dnli2.current());++dnli2) @@ -1077,6 +1081,7 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path) QFile f(dotName); if (!f.open(IO_WriteOnly)) return; QTextStream t(&f); + t.setEncoding(t.UnicodeUTF8); t << theGraph; f.close(); resetReNumbering(); @@ -1677,6 +1682,7 @@ QCString computeMd5Signature(DotNode *root, //printf("computeMd5Signature\n"); QString buf; QTextStream md5stream(&buf,IO_WriteOnly); + md5stream.setEncoding(md5stream.UnicodeUTF8); writeGraphHeader(md5stream); if (lrRank) { @@ -1753,6 +1759,7 @@ static bool updateDotGraph(DotNode *root, if (f.open(IO_WriteOnly)) { QTextStream t(&f); + t.setEncoding(t.UnicodeUTF8); t << theGraph; } return TRUE; @@ -1894,6 +1901,7 @@ QCString DotClassGraph::writeGraph(QTextStream &out, out << "\"></center>" << endl; QString tmpstr; QTextOStream tmpout(&tmpstr); + tmpout.setEncoding(tmpout.UnicodeUTF8); convertMapFile(tmpout,baseName+".map",relPath); if (!tmpstr.isEmpty()) { @@ -2207,6 +2215,7 @@ QCString DotInclDepGraph::writeGraph(QTextStream &out, out << "</center>" << endl; QString tmpstr; QTextOStream tmpout(&tmpstr); + tmpout.setEncoding(tmpout.UnicodeUTF8); convertMapFile(tmpout,baseName+".map",relPath); if (!tmpstr.isEmpty()) { @@ -2499,6 +2508,7 @@ QCString DotCallGraph::writeGraph(QTextStream &out, GraphOutputFormat format, out << "</center>" << endl; QString tmpstr; QTextOStream tmpout(&tmpstr); + tmpout.setEncoding(tmpout.UnicodeUTF8); convertMapFile(tmpout,baseName+".map",relPath); if (!tmpstr.isEmpty()) { @@ -2586,6 +2596,7 @@ QCString DotDirDeps::writeGraph(QTextStream &out, err("Cannot create file %s.dot for writing!\n",baseName.data()); } QTextStream t(&f); + t.setEncoding(t.UnicodeUTF8); m_dir->writeDepGraph(t); f.close(); @@ -2639,6 +2650,7 @@ QCString DotDirDeps::writeGraph(QTextStream &out, out << "</center>" << endl; QString tmpstr; QTextOStream tmpout(&tmpstr); + tmpout.setEncoding(tmpout.UnicodeUTF8); convertMapFile(tmpout,baseName+".map",relPath,TRUE); if (!tmpstr.isEmpty()) { @@ -2811,7 +2823,7 @@ error: * \returns a string which is the HTML image map (without the \<map\>\</map\>) */ QString getDotImageMapFromFile(const QString& inFile, const QString& outDir, - const QCString &relPath) + const QCString &relPath,const QString &context) { QString outFile = inFile + ".map"; @@ -2831,7 +2843,8 @@ QString getDotImageMapFromFile(const QString& inFile, const QString& outDir, QString result; QTextOStream tmpout(&result); - convertMapFile(tmpout, outFile, relPath ,TRUE); + tmpout.setEncoding(tmpout.UnicodeUTF8); + convertMapFile(tmpout, outFile, relPath ,TRUE, context); QDir().remove(outFile); // printf("result=%s\n",result.data()); @@ -3072,6 +3085,7 @@ QCString DotGroupCollaboration::writeGraph( QTextStream &t, GraphOutputFormat fo if (dotfile.open(IO_WriteOnly)) { QTextStream tdot(&dotfile); + tdot.setEncoding(tdot.UnicodeUTF8); writeGraphHeader(tdot); // clean write flags @@ -335,7 +335,7 @@ void generateGraphLegend(const char *path); void writeDotGraphFromFile(const char *inFile,const char *outDir, const char *outFile,GraphOutputFormat format); QString getDotImageMapFromFile(const QString& inFile, const QString& outDir, - const QCString& relPath); + const QCString& relPath,const QString &context); #endif diff --git a/src/doxygen.cpp b/src/doxygen.cpp index 756d70f..5a62e38 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -2605,7 +2605,7 @@ static void addMethodToClass(EntryNav *rootNav,ClassDef *cd, FileDef *fd=rootNav->fileDef(); int l,i; - static QRegExp re("([a-z_A-Z0-9: ]*[ &*]*[ ]*"); + static QRegExp re("([a-z_A-Z0-9: ]*[ &*]+[ ]*"); if (!root->type.isEmpty() && (i=re.match(root->type,0,&l))!=-1) // function variable { @@ -2827,7 +2827,7 @@ static void buildFunctionList(EntryNav *rootNav) } - static QRegExp re("([a-z_A-Z0-9: ]*[ &*]*[ ]*"); + static QRegExp re("([a-z_A-Z0-9: ]*[ &*]+[ ]*"); if (!rootNav->parent()->name().isEmpty() && (rootNav->parent()->section() & Entry::COMPOUND_MASK) && cd && @@ -4210,6 +4210,7 @@ static bool findClassRelation( usedName=biName; //printf("***** usedName=%s templSpec=%s\n",usedName.data(),templSpec.data()); } + if (Config_getBool("SIP_SUPPORT")) bi->prot=Public; cd->insertBaseClass(baseClass,usedName,bi->prot,bi->virt,templSpec); // add this class as super class to the base class baseClass->insertSubClass(cd,bi->prot,bi->virt,templSpec); diff --git a/src/fortrancode.l b/src/fortrancode.l index b780052..daf9593 100644 --- a/src/fortrancode.l +++ b/src/fortrancode.l @@ -17,7 +17,7 @@ */ /** - @TODO - continutation lines not always recognized + @todo - continutation lines not always recognized - merging of use-statements with same module name and different only-names - rename part of use-statement - links to interface functions @@ -414,7 +414,7 @@ static bool getFortranDefs(const QCString &memberName, const QCString &moduleNam /** gets the link to a generic procedure which depends not on the name, but on the parameter list - @TODO implementation + @todo implementation */ static bool getGenericProcedureLink(const ClassDef *cd, const char *memberText, @@ -618,7 +618,7 @@ IGNORE (IMPLICIT{BS}NONE|CONTAINS|WRITE|READ|ALLOCATE|DEALLOCATE|SIZE) /*-------- ignore ------------------------------------------------------------*/ -<Start>{IGNORE}/{BS}"("? { // do not search keywords, intrinsics... @TODO: complete list +<Start>{IGNORE}/{BS}"("? { // do not search keywords, intrinsics... TODO: complete list codifyLines(yytext); } /*-------- inner construct ---------------------------------------------------*/ diff --git a/src/ftvhelp.cpp b/src/ftvhelp.cpp index 81ea4e0..cf9e6a3 100644 --- a/src/ftvhelp.cpp +++ b/src/ftvhelp.cpp @@ -594,7 +594,7 @@ void FTVHelp::generateTreeView() #if QT_VERSION >= 200 t.setEncoding(QTextStream::Latin1); #endif - t << "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n"; + t << "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Frameset//EN\">\n"; t << "<html><head>"; t << "<meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\">\n"; t << "<title>"; diff --git a/src/htmldocvisitor.cpp b/src/htmldocvisitor.cpp index 58f06c1..8040855 100644 --- a/src/htmldocvisitor.cpp +++ b/src/htmldocvisitor.cpp @@ -243,7 +243,7 @@ void HtmlDocVisitor::visit(DocVerbatim *s) file.close(); m_t << "<div align=\"center\">" << endl; - writeDotFile(fileName,s->relPath()); + writeDotFile(fileName,s->relPath(),s->context()); m_t << "</div>" << endl; if (Config_getBool("DOT_CLEANUP")) file.remove(); @@ -270,7 +270,7 @@ void HtmlDocVisitor::visit(DocVerbatim *s) file.close(); m_t << "<div align=\"center\">" << endl; - writeMscFile(baseName,s->relPath()); + writeMscFile(baseName,s->relPath(),s->context()); m_t << "</div>" << endl; if (Config_getBool("DOT_CLEANUP")) file.remove(); @@ -293,8 +293,16 @@ void HtmlDocVisitor::visit(DocInclude *inc) case DocInclude::Include: m_t << PREFRAG_START; Doxygen::parserManager->getParser(inc->extension()) - ->parseCode(m_ci,inc->context(),inc->text().latin1(), - inc->isExample(),inc->exampleFile()); + ->parseCode(m_ci, + inc->context(), + inc->text().latin1(), + inc->isExample(), + inc->exampleFile(), + 0, // fd + -1, // startLine + -1, // endLine + TRUE // inlineFragment + ); m_t << PREFRAG_END; break; case DocInclude::IncWithLines: @@ -303,7 +311,8 @@ void HtmlDocVisitor::visit(DocInclude *inc) QFileInfo cfi( inc->file() ); FileDef fd( cfi.dirPath(), cfi.fileName() ); Doxygen::parserManager->getParser(inc->extension()) - ->parseCode(m_ci,inc->context(), + ->parseCode(m_ci, + inc->context(), inc->text().latin1(), inc->isExample(), inc->exampleFile(), &fd); @@ -814,7 +823,7 @@ void HtmlDocVisitor::visitPost(DocImage *img) void HtmlDocVisitor::visitPre(DocDotFile *df) { if (m_hide) return; - writeDotFile(df->file(),df->relPath()); + writeDotFile(df->file(),df->relPath(),df->context()); m_t << "<div align=\"center\">" << endl; if (df->hasCaption()) { @@ -1148,7 +1157,8 @@ void HtmlDocVisitor::popEnabled() delete v; } -void HtmlDocVisitor::writeDotFile(const QString &fileName,const QString &relPath) +void HtmlDocVisitor::writeDotFile(const QString &fileName,const QString &relPath, + const QString &context) { QString baseName=fileName; int i; @@ -1163,11 +1173,12 @@ void HtmlDocVisitor::writeDotFile(const QString &fileName,const QString &relPath m_t << "<img src=\"" << relPath << baseName << "." << Config_getEnum("DOT_IMAGE_FORMAT") << "\" alt=\"" << baseName << "\" border=\"0\" usemap=\"#" << mapName << "\">" << endl; - QString imap = getDotImageMapFromFile(fileName,outDir,relPath.data()); + QString imap = getDotImageMapFromFile(fileName,outDir,relPath.data(),context); m_t << "<map name=\"" << mapName << "\">" << imap << "</map>" << endl; } -void HtmlDocVisitor::writeMscFile(const QString &fileName,const QString &relPath) +void HtmlDocVisitor::writeMscFile(const QString &fileName,const QString &relPath, + const QString &context) { QString baseName=fileName; int i; @@ -1181,7 +1192,7 @@ void HtmlDocVisitor::writeMscFile(const QString &fileName,const QString &relPath QString mapFile = fileName+".map"; m_t << "<img src=\"" << relPath << baseName << ".png\" alt=\"" << baseName << "\" border=\"0\" usemap=\"#" << mapName << "\">" << endl; - QString imap = getMscImageMapFromFile(fileName,outDir,relPath.data()); + QString imap = getMscImageMapFromFile(fileName,outDir,relPath.data(),context); m_t << "<map name=\"" << mapName << "\">" << imap << "</map>" << endl; } diff --git a/src/htmldocvisitor.h b/src/htmldocvisitor.h index db4d6fc..a91550c 100644 --- a/src/htmldocvisitor.h +++ b/src/htmldocvisitor.h @@ -135,8 +135,8 @@ class HtmlDocVisitor : public DocVisitor const QString &relPath,const QString &anchor, const QString &tooltip = QString::null); void endLink(); - void writeDotFile(const QString &fileName,const QString &relPath); - void writeMscFile(const QString &fileName,const QString &relPath); + void writeDotFile(const QString &fileName,const QString &relPath,const QString &context); + void writeMscFile(const QString &fileName,const QString &relPath,const QString &context); void pushEnabled(); void popEnabled(); diff --git a/src/latexgen.cpp b/src/latexgen.cpp index 9a02020..8023514 100644 --- a/src/latexgen.cpp +++ b/src/latexgen.cpp @@ -53,49 +53,6 @@ //} -static QCString escapeLabelName(LatexGenerator *g,const char *s) -{ - QCString result; - const char *p=s; - char str[2]; - str[1]=0; - char c; - while ((c=*p++)) - { - switch (c) - { - case '%': result+="\\%"; break; - case '|': result+="\\tt{\"|}"; break; - case '!': result+="\"!"; break; - default: str[0]=c; g->docify(str); break; - } - } - return result; -} - -static QCString escapeMakeIndexChars(LatexGenerator *g,QTextStream &t,const char *s) -{ - QCString result; - const char *p=s; - char str[2]; - str[1]=0; - char c; - while ((c=*p++)) - { - switch (c) - { - case '!': t << "\"!"; break; - case '"': t << "\"\""; break; - case '@': t << "\"@"; break; - case '|': t << "\\tt{\"|}"; break; - case '[': t << "["; break; - case ']': t << "]"; break; - default: str[0]=c; g->docify(str); break; - } - } - return result; -} - LatexGenerator::LatexGenerator() : OutputGenerator() { @@ -1070,9 +1027,10 @@ void LatexGenerator::endTitleHead(const char *fileName,const char *name) t << "}" << endl; if (name) { - t << "\\label{" << fileName << "}\\index{" - << escapeLabelName(this,name) << "@{"; - escapeMakeIndexChars(this,t,name); + t << "\\label{" << fileName << "}\\index{"; + escapeLabelName(name); + t << "@{"; + escapeMakeIndexChars(name); t << "}}" << endl; } if (Config_getBool("PDF_HYPERLINKS") && fileName) @@ -1141,16 +1099,20 @@ void LatexGenerator::startMemberDoc(const char *clname, t << "\\index{"; if (clname) { - t << escapeLabelName(this,clname) << "@{"; - escapeMakeIndexChars(this,t,clname); + escapeLabelName(clname); + t << "@{"; + escapeMakeIndexChars(clname); t << "}!"; } - t << escapeLabelName(this,memname) << "@{"; - escapeMakeIndexChars(this,t,memname); + escapeLabelName(memname); + t << "@{"; + escapeMakeIndexChars(memname); t << "}}" << endl; - t << "\\index{" << escapeLabelName(this,memname) << "@{"; - escapeMakeIndexChars(this,t,memname); + t << "\\index{"; + escapeLabelName(memname); + t << "@{"; + escapeMakeIndexChars(memname); t << "}"; if (clname) { @@ -1223,13 +1185,17 @@ void LatexGenerator::addIndexItem(const char *s1,const char *s2) { if (s1) { - t << "\\index{" << escapeLabelName(this,s1) << "@{"; - escapeMakeIndexChars(this,t,s1); + t << "\\index{"; + escapeLabelName(s1); + t << "@{"; + escapeMakeIndexChars(s1); t << "}"; if (s2) { - t << "!" << escapeLabelName(this,s2) << "@{"; - escapeMakeIndexChars(this,t,s2); + t << "!"; + escapeLabelName(s2); + t << "@{"; + escapeMakeIndexChars(s2); t << "}"; } t << "}"; @@ -1651,5 +1617,43 @@ void LatexGenerator::endConstraintList() t << "\\end{Desc}" << endl; } +void LatexGenerator::escapeLabelName(const char *s) +{ + const char *p=s; + char str[2]; + str[1]=0; + char c; + while ((c=*p++)) + { + switch (c) + { + case '%': t << "\\%"; break; + case '|': t << "\\tt{\"|}"; break; + case '!': t << "\"!"; break; + default: str[0]=c; docify(str); break; + } + } +} + +void LatexGenerator::escapeMakeIndexChars(const char *s) +{ + const char *p=s; + char str[2]; + str[1]=0; + char c; + while ((c=*p++)) + { + switch (c) + { + case '!': t << "\"!"; break; + case '"': t << "\"\""; break; + case '@': t << "\"@"; break; + case '|': t << "\\tt{\"|}"; break; + case '[': t << "["; break; + case ']': t << "]"; break; + default: str[0]=c; docify(str); break; + } + } +} diff --git a/src/latexgen.h b/src/latexgen.h index c130d75..e57df38 100644 --- a/src/latexgen.h +++ b/src/latexgen.h @@ -230,6 +230,8 @@ class LatexGenerator : public OutputGenerator private: LatexGenerator(const LatexGenerator &); LatexGenerator &operator=(const LatexGenerator &); + void escapeLabelName(const char *s); + void escapeMakeIndexChars(const char *s); int col; bool insideTabbing; bool firstDescItem; diff --git a/src/memberdef.cpp b/src/memberdef.cpp index 49a1794..6591a37 100644 --- a/src/memberdef.cpp +++ b/src/memberdef.cpp @@ -85,10 +85,10 @@ static QCString addTemplateNames(const QCString &s,const QCString &n,const QCStr static bool writeDefArgumentList(OutputList &ol,ClassDef *cd, const QCString & /*scopeName*/,MemberDef *md) { - LockingPtr<ArgumentList> defArgList=(md->isDocsForDefinition() && !md->isProperty()) ? + LockingPtr<ArgumentList> defArgList=(md->isDocsForDefinition()) ? md->argumentList() : md->declArgumentList(); //printf("writeDefArgumentList `%s' isDocsForDefinition()=%d\n",md->name().data(),md->isDocsForDefinition()); - if (defArgList==0) + if (defArgList==0 || md->isProperty()) { return FALSE; // member has no function like argument list } @@ -771,7 +771,7 @@ QCString MemberDef::anchor() const { result=m_impl->groupMember->anchor(); } - else + else if (getReference().isEmpty()) { result.prepend("g"); } @@ -2693,6 +2693,7 @@ void MemberDef::writeEnumDeclaration(OutputList &typeDecl, { Doxygen::tagFile << " <member kind=\"enumeration\">" << endl; Doxygen::tagFile << " <name>" << convertToXML(name()) << "</name>" << endl; + Doxygen::tagFile << " <anchorfile>" << convertToXML(getOutputFileBase()+Doxygen::htmlFileExtension) << "</anchorfile>" << endl; Doxygen::tagFile << " <anchor>" << convertToXML(anchor()) << "</anchor>" << endl; Doxygen::tagFile << " <arglist>" << convertToXML(argsString()) << "</arglist>" << endl; Doxygen::tagFile << " </member>" << endl; @@ -2741,6 +2742,7 @@ void MemberDef::writeEnumDeclaration(OutputList &typeDecl, { Doxygen::tagFile << " <member kind=\"enumvalue\">" << endl; Doxygen::tagFile << " <name>" << convertToXML(fmd->name()) << "</name>" << endl; + Doxygen::tagFile << " <anchorfile>" << convertToXML(getOutputFileBase()+Doxygen::htmlFileExtension) << "</anchorfile>" << endl; Doxygen::tagFile << " <anchor>" << convertToXML(fmd->anchor()) << "</anchor>" << endl; Doxygen::tagFile << " <arglist>" << convertToXML(fmd->argsString()) << "</arglist>" << endl; Doxygen::tagFile << " </member>" << endl; diff --git a/src/msc.cpp b/src/msc.cpp index eb1ae6d..afd3562 100644 --- a/src/msc.cpp +++ b/src/msc.cpp @@ -26,7 +26,8 @@ static const int maxCmdLine = 40960; -static bool convertMapFile(QTextStream &t,const char *mapName,const QCString relPath) +static bool convertMapFile(QTextStream &t,const char *mapName,const QCString relPath, + const QString &context) { QFile f(mapName); if (!f.open(IO_ReadOnly)) @@ -66,7 +67,7 @@ static bool convertMapFile(QTextStream &t,const char *mapName,const QCString rel { // handle doxygen \ref tag URL reference QCString *dest; - DocRef *df = new DocRef( (DocNode*) 0, url ); + DocRef *df = new DocRef( (DocNode*) 0, url, context ); if (!df->ref().isEmpty()) { if ((dest=Doxygen::tagDestinationDict[df->ref()])) t << *dest << "/"; @@ -138,7 +139,7 @@ error: } QString getMscImageMapFromFile(const QString& inFile, const QString& outDir, - const QCString& relPath) + const QCString& relPath,const QString& context) { QString outFile = inFile + ".map"; @@ -162,7 +163,7 @@ QString getMscImageMapFromFile(const QString& inFile, const QString& outDir, QString result; QTextOStream tmpout(&result); - convertMapFile(tmpout, outFile, relPath); + convertMapFile(tmpout, outFile, relPath, context); QDir().remove(outFile); QDir::setCurrent(oldDir); @@ -26,7 +26,7 @@ void writeMscGraphFromFile(const char *inFile,const char *outDir, const char *outFile,MscOutputFormat format); QString getMscImageMapFromFile(const QString& inFile, const QString& outDir, - const QCString& relPath); + const QCString& relPath,const QString& context); #endif diff --git a/src/scanner.l b/src/scanner.l index 3396579..8063c6e 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -924,6 +924,9 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?) addType( current ); current->name = yytext; } +<CliPropertyType>"["{ID}"]" { // C++/CLI indexed property + current->args = yytext; + } <CliPropertyType>"{" { curlyCount=0; //printf("event: '%s' '%s'\n",current->type.data(),current->name.data()); diff --git a/src/translator_br.h b/src/translator_br.h index 2a0eade..44cdcf4 100644 --- a/src/translator_br.h +++ b/src/translator_br.h @@ -10,31 +10,20 @@ * Documents produced by Doxygen are derivative works derived from the * input used in their production; they are not affected by this license. * - * Brazilian Portuguese version by - * Fabio "FJTC" Jun Takada Chino <jun-chino at uol.com.br> - * Version: 1.4.6 (2006/06/26) + * Brazilian Portuguese translation version 20070914 + * Maintainer: Fabio "FJTC" Jun Takada Chino <jun-chino at uol.com.br> + * Thanks to Jorge Ramos and others * * History: - * 1.4.6 - * - trCallerGraph() added. + * 20070914 + * - "Translate me" fixed + * - Revision number changed from doxygen version to a date string. + * - History cleanup + * - Latex babel package fixed. + * 1.4.6 + * - trCallerGraph() added. * - trEnumerationValueDocumentation() added. - * 1.4.1 - * - Method trOverloadText() added. - * 1.3.9 - * - Updated to Doxygen 1.3.9 - * 1.3.8 - * - Updated to Doxygen 1.3.8 - * 1.3.3: - * - Updated to Doxygen 1.3.3 - * 1.3.2: - * - Updated to Doxygen 1.3.2 - * 1.3: - * - Updated to Doxygen 1.3.x. - * 1.2.19: - * - Updated to Doxygen 1.2.19 - * - Translation Review (Thanks to Jorge Ramos and others) - * - Small fixes in C output. - * - Latex generation support fixed (invalid package name). + * Previous history removed from this version. */ #ifndef TRANSLATOR_BR_H #define TRANSLATOR_BR_H @@ -64,7 +53,7 @@ class TranslatorBrazilian : public Translator */ virtual QCString latexLanguageSupportCommand() { - return "\\usepackage[spanish]{babel}"; + return "\\usepackage[brazil]{babel}"; } /*! return the language charset. This will be used for the HTML output */ @@ -611,8 +600,8 @@ class TranslatorBrazilian : public Translator case ClassDef::Struct: result+=" Estrutura "; break; case ClassDef::Union: result+=" União "; break; case ClassDef::Interface: result+=" Interface "; break; - case ClassDef::Protocol: result+=" Protocol "; break; // translate me! - case ClassDef::Category: result+=" Category "; break; // translate me! + case ClassDef::Protocol: result+=" Protocolo "; break; + case ClassDef::Category: result+=" Categoria "; break; case ClassDef::Exception: result+=" Exceção "; break; } result+=(QCString)clName; @@ -769,8 +758,8 @@ class TranslatorBrazilian : public Translator case ClassDef::Struct: result+="estrutura "; break; case ClassDef::Union: result+="união "; break; case ClassDef::Interface: result+="interface "; break; - case ClassDef::Protocol: result+="protocol "; break; // translate me! - case ClassDef::Category: result+="category "; break; // translate me! + case ClassDef::Protocol: result+="protocolo "; break; + case ClassDef::Category: result+="categoria "; break; case ClassDef::Exception: result+="exceção "; break; } result+=" foi gerada a partir "; diff --git a/src/translator_cn.h b/src/translator_cn.h index 7689a0c..54ed3ec 100644 --- a/src/translator_cn.h +++ b/src/translator_cn.h @@ -475,8 +475,8 @@ class TranslatorChinese : public Translator case ClassDef::Struct: result+="½á¹¹"; break; case ClassDef::Union: result+="ÁªºÏ"; break; case ClassDef::Interface: result+="½Ó¿Ú"; break; - case ClassDef::Protocol: result+="ÐÒé"; break; // translate me! - case ClassDef::Category: result+="·ÖÀà"; break; // translate me! + case ClassDef::Protocol: result+="ÐÒé"; break; + case ClassDef::Category: result+="·ÖÀà"; break; case ClassDef::Exception: result+="Òì³£"; break; } result+="²Î¿¼"; @@ -642,8 +642,8 @@ class TranslatorChinese : public Translator case ClassDef::Struct: result+="½á¹¹"; break; case ClassDef::Union: result+="ÁªºÏ"; break; case ClassDef::Interface: result+="½Ó¿Ú"; break; - case ClassDef::Protocol: result+="ÐÒé"; break; // translate me! - case ClassDef::Category: result+="·ÖÀà"; break; // translate me! + case ClassDef::Protocol: result+="ÐÒé"; break; + case ClassDef::Category: result+="·ÖÀà"; break; case ClassDef::Exception: result+="Òì³£"; break; } result+="µÄÎĵµÓÉÒÔÏÂÎļþÉú³É£º"; diff --git a/src/translator_kr.h b/src/translator_kr.h index 7125c40..bd5aa26 100644 --- a/src/translator_kr.h +++ b/src/translator_kr.h @@ -18,6 +18,16 @@ #ifndef TRANSLATOR_KR_H #define TRANSLATOR_KR_H + +/* Korean translators + * doxygen-cvs + * * fly1004 + * doxygen-1.5.3 + * * Astromaker(http://ngps.net/) + * * gpgiki(http://www.gpgstudy.com/gpgiki/) + * doxygen-1.2.11 + * * ryk */ + /*! When defining a translator class for the new language, follow the description in the documentation. One of the steps says @@ -40,50 +50,12 @@ Translator class (by the local maintainer) when the localized translator is made up-to-date again. */ - -/* - Ãʱâ ÀÛ¾÷ÀÚ: ryk - TODO ÁÖ¼®À» º¸¸é 11/22/01, doxygen ¹öÀü 1.2.11±îÁö ¼ö°íÇØ ÁֽŠ°Í °°½À´Ï´Ù. - ÃÖ±Ù °»½ÅÀÚ: Astromaker(http://ngps.net/) - gpgiki(http://www.gpgstudy.com/gpgiki/) - */ - -// -// Update: -// -// 2004.12.22 (SooYoung Jung: jung5000 at gmail.com) -// - LaTex and RTF were not generated correctly. -// Corrected trRTFansicp and trRTFCharSet. -// It was wrong. -// - Adapting 1.3.9 and added "new since 1.3.9" -// - Çؼ®ÀÌ À߸øµÈ ºÎºÐÀÌ ²Ò³ª ÀÖ¾î º¸ÀÓ.. -// -// 2005.02.11 (SooYoung Jung: jung5000 at gmail.com) -// - ½Ç¼ö·Î Ãß°¡µÇ¾ú´ø decode ÇÔ¼ö »èÁ¦ -// -// 2005.03.11 (SooYoung Jung: jung5000 at gmail.com) -// - Adapting 1.4.1 and checked using translator.py -// - ÀϺΠ¹ø¿ª¾ÈµÈ ºÎºÐ ¼öÁ¤ (Translated little bit of untranslated part) -// - Removed following -// Obsolete methods (should be removed, never used): -// virtual QCString trHeaderFilesDescription() -// virtual QCString trField(bool first_capital, bool singular) -// virtual QCString trPackageDocumentation() -// virtual QCString trSources() -// virtual QCString trReimplementedForInternalReasons() -// virtual QCString trInterfaces() -// virtual QCString trHeaderFiles() -// virtual QCString trBugsAndLimitations() -// virtual QCString trEnumerationValueDocumentation() -// virtual QCString trNoDescriptionAvailable() -// - Changed the base class to Translator from Translator_1_4_1 -// - - -class TranslatorKorean : public TranslatorAdapter_1_4_6 +class TranslatorKorean : public Translator { - private: - + protected: + friend class TranslatorAdapterBase; + virtual ~TranslatorKorean() {} + public: // --- Language control methods ------------------- @@ -113,12 +85,10 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 */ virtual QCString latexLanguageSupportCommand() { - // I'm not sure what this should be. - // When I figure it out, I'll update this. - //see http://www.ktug.or.kr/jsboard/read.php?table=operate&no=4422&page=1 - return "\\usepackage{hfont}\n" - "\\usepackage{ucs}\n" - "\\usepackage[encapsulation]{CJK}\n"; + // I'm not sure what this should be. + // When I figure it out, I'll update this. + // see http://www.ktug.or.kr/jsboard/read.php?table=operate&no=4422&page=1 + return "\\usepackage{hfont}\n"; } /*! return the language charset. This will be used for the HTML output */ @@ -131,82 +101,82 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 /*! used in the compound documentation before a list of related functions. */ virtual QCString trRelatedFunctions() - { return "°ü·ÃµÈ ÇÔ¼ö"; } + { return "°ü·ÃµÈ ÇÔ¼öµé"; } /*! subscript for the related functions. */ virtual QCString trRelatedSubscript() - { return "°ü·ÃÁÖ¼®"; } + { return "(´ÙÀ½Àº ¸â¹ö ÇÔ¼öµéÀÌ ¾Æ´Õ´Ï´Ù. ÁÖÀÇÇϽʽÿÀ.)"; } /*! header that is put before the detailed description of files, classes and namespaces. */ virtual QCString trDetailedDescription() - { return "¼¼ºÎ »çÇ×"; } + { return "»ó¼¼ÇÑ ¼³¸í"; } /*! header that is put before the list of typedefs. */ virtual QCString trMemberTypedefDocumentation() { return "¸â¹ö ŸÀÔÁ¤ÀÇ ¹®¼È"; } - + /*! header that is put before the list of enumerations. */ virtual QCString trMemberEnumerationDocumentation() { return "¸â¹ö ¿°ÅÇü ¹®¼È"; } - + /*! header that is put before the list of member functions. */ virtual QCString trMemberFunctionDocumentation() { return "¸â¹ö ÇÔ¼ö ¹®¼È"; } - + /*! header that is put before the list of member attributes. */ virtual QCString trMemberDataDocumentation() { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { - return "¸â¹ö º¯¼ö ¹®¼È"; + return "ÇÊµå ¹®¼È"; } else { - return "¸â¹ö º¯¼ö ¹®¼È"; + return "¸â¹ö µ¥ÀÌŸ ¹®¼È"; } } /*! this is the text of a link put after brief descriptions. */ - virtual QCString trMore() - { return "¼¼ºÎ »çÇ× º¸±â"; } + virtual QCString trMore() + { return "´õ ÀÚ¼¼È÷ ..."; } /*! put in the class documentation */ virtual QCString trListOfAllMembers() - { return "Àüü ¸â¹ö ¸ñ·Ï º¸±â"; } + { return "¸ðµç ¸â¹ö ¸ñ·Ï"; } /*! used as the title of the "list of all members" page of a class */ virtual QCString trMemberList() - { return "¸â¹ö(¸â¹öÇÔ¼ö, ¸â¹öº¯¼ö µî) ¸ñ·Ï"; } + { return "¸â¹ö ¸ñ·Ï"; } /*! this is the first part of a sentence that is followed by a class name */ virtual QCString trThisIsTheListOfAllMembers() - { return "¸ðµç ¸â¹ö(¸â¹öÇÔ¼ö, ¸â¹öº¯¼ö µî) ¸ñ·Ï " ; } + { return "´ÙÀ½¿¡ ´ëÇÑ ¸ðµç ¸â¹öÀÇ ¸ñ·ÏÀÔ´Ï´Ù : "; } /*! this is the remainder of the sentence after the class name */ virtual QCString trIncludingInheritedMembers() - { return ", »ó¼Ó¹ÞÀº ¸ðµç ¸â¹öµµ Æ÷ÇÔ"; } - + { return " (¸ðµç »ó¼ÓµÈ ¸â¹öµéµµ Æ÷ÇÔÇÕ´Ï´Ù.)"; } + /*! 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=""; - if (s) result+=(QCString)s+"¿¡ "; - result += "¼Ò½º ÄÚµå·Î ºÎÅÍ Doxygen¿¡ ÀÇÇØ ÀÚµ¿À¸·Î »ý¼º"; + { QCString result="¼Ò½º ÄÚµå·ÎºÎÅÍ "; + if (s) result+=s+(QCString)"¸¦ À§ÇØ "; + result+="Doxygen¿¡ ÀÇÇØ ÀÚµ¿À¸·Î »ý¼ºµÊ."; return result; } /*! put after an enum name in the list of all members */ virtual QCString trEnumName() { return "¿°ÅÇü À̸§"; } - + /*! put after an enum value in the list of all members */ virtual QCString trEnumValue() { return "¿°ÅÇü °ª"; } - + /*! put after an undocumented member in the list of all members */ virtual QCString trDefinedIn() - { return "¿¡¼ Á¤ÀÇ"; } + { return "´ÙÀ½¿¡¼ Á¤ÀÇµÊ :"; } // quick reference sections @@ -215,33 +185,52 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 */ virtual QCString trModules() { return "¸ðµâ"; } - + /*! This is put above each page as a link to the class hierarchy */ virtual QCString trClassHierarchy() - { return "Ŭ·¡½º °èÅëµµ"; } // "Ŭ·¡½º Á¶Á÷" or "Ŭ·¡½º ºÐ·ùü°è" - + { return "Ŭ·¡½º °èÅëµµ"; } + /*! This is put above each page as a link to the list of annotated classes */ virtual QCString trCompoundList() - { - //Alternate text: "È¥ÇÕ ¸ñ·Ï", "ÇÕ¼º(ÁýÇÕ) ¸í´Ü(¸®½ºÆ®)" - return "º¹ÇÕ±¸Á¶(Ŭ·¡½º, ±¸Á¶Ã¼, °ø¿ëü)"; + { + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) + { + return "µ¥ÀÌŸ ±¸Á¶"; + } + else + { + return "Ŭ·¡½º ¸ñ·Ï"; + } } /*! This is put above each page as a link to the list of documented files */ virtual QCString trFileList() - { return "ÆÄÀÏ ¸ñ·Ï"; } //"ÆÄÀÏ ¸ñ·Ï", "ÆÄÀÏ ¸®½ºÆ®" + { return "ÆÄÀÏ ¸ñ·Ï"; } /*! This is put above each page as a link to all members of compounds. */ virtual QCString trCompoundMembers() - { - // Alternate text: "ÇÕ¼º(ÁýÇÕ) ¸í´Ü(¸â¹öµé)" - return "º¹ÇÕ±¸Á¶(Ŭ·¡½º, ±¸Á¶Ã¼, °ø¿ëü) ¸â¹ö"; + { + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) + { + return "µ¥ÀÌŸ Çʵå"; + } + else + { + return "Ŭ·¡½º ¸â¹ö"; + } } /*! This is put above each page as a link to all members of files. */ virtual QCString trFileMembers() - { - return "ÆÄÀÏ ¸â¹ö"; + { + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) + { + return "Àü¿ª"; + } + else + { + return "ÆÄÀÏ ¸â¹ö"; + } } /*! This is put above each page as a link to all related pages. */ @@ -258,68 +247,117 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 /*! This is an introduction to the class hierarchy. */ virtual QCString trClassHierarchyDescription() - { return "ÀÌ »ó¼Ó ¸ñ·ÏÀº ¾ËÆĺª ¼øÀ¸·Î Á¤·ÄµÇ¾îÀÖ½À´Ï´Ù. (¿ÏÀüÇÏÁö´Â ¾ÊÀ½)";} + { return "ÀÌ »ó¼Ó ¸ñ·ÏÀº ¿ÏÀüÇÏÁø ¾ÊÁö¸¸ ¾ËÆĺª¼øÀ¸·Î ´ë·«ÀûÀ¸·Î Á¤·ÄµÇ¾îÀÖ½À´Ï´Ù.:"; + } /*! This is an introduction to the list with all files. */ virtual QCString trFileListDescription(bool extractAll) { - QCString result="´ÙÀ½Àº °£·«ÇÑ ¼³¸íÀ» °¡Áø "; + QCString result="´ÙÀ½Àº "; if (!extractAll) result+="¹®¼ÈµÈ "; - result+="¸ðµç ÆÄÀÏ¿¡ ´ëÇÑ ¸ñ·ÏÀÔ´Ï´Ù."; + result+="¸ðµç ÆÄÀÏ¿¡ ´ëÇÑ ¸ñ·ÏÀÔ´Ï´Ù. (°£·«ÇÑ ¼³¸í¸¸À» º¸¿©ÁÝ´Ï´Ù) :"; return result; } /*! This is an introduction to the annotated compound list. */ virtual QCString trCompoundListDescription() - { - return "´ÙÀ½Àº °£·«ÇÑ ¼³¸íÀ» °¡Áø Ŭ·¡½º, " - "±¸Á¶Ã¼, °ø¿ëü, ÀÎÅÍÆäÀ̽ºÀÇ ¸ñ·ÏÀÔ´Ï´Ù."; + { + + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) + { + return "´ÙÀ½Àº µ¥ÀÌŸ ±¸Á¶µéÀÔ´Ï´Ù. (°£·«ÇÑ ¼³¸í¸¸À» º¸¿©ÁÝ´Ï´Ù) :"; + } + else + { + return "´ÙÀ½Àº Ŭ·¡½º, ±¸Á¶Ã¼, °ø¿ëü ±×¸®°í ÀÎÅÍÆäÀ̽ºµéÀÔ´Ï´Ù. " + "(°£·«ÇÑ ¼³¸í¸¸À» º¸¿©ÁÝ´Ï´Ù) :"; + } } /*! This is an introduction to the page with all class members. */ virtual QCString trCompoundMembersDescription(bool extractAll) { - QCString result="´ÙÀ½Àº ¹®¼ÈµÈ ¸ðµç Ŭ·¡½º, ±¸Á¶Ã¼, °ø¿ëü ¸â¹ö¿¡ ´ëÇÑ ¸ñ·ÏÀÔ´Ï´Ù. "; + QCString result="´ÙÀ½Àº "; if (!extractAll) { - result+="¹®¼ÈµÈ "; + result+="¹®¼ÈµÈ "; + } + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) + { + result+="¸ðµç ±¸Á¶Ã¼¿Í °ø¿ëüÀÇ Çʵåµé"; } - - result+="¸µÅ© µÈ Ŭ·¡½º ¸â¹ö´Â "; - - if (extractAll) - result+="±× ¸â¹ö¿¡ ´ëÇÑ Å¬·¡½º ¹®¼È·Î °©´Ï´Ù."; else - result+="ÀÌÇÏ·Î ¼ÓÇÑ Å¬·¡½º:"; + { + result+="¸ðµç Ŭ·¡½º ¸â¹öµé"; + } + result+="ÀÇ ¸ñ·ÏÀÔ´Ï´Ù. "; + + if (!extractAll) + { + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) + { + result+="°¢ ÇʵåµéÀº ÇØ´ç Çʵ忡 ´ëÇÑ ±¸Á¶Ã¼¿Í °ø¿ëüÀÇ " + "¹®¼È ÆäÀÌÁöÀÇ ¸µÅ©¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. :"; + } + else + { + result+="°¢ ¸â¹öµéÀº ÇØ´ç ¸â¹ö¿¡ ´ëÇÑ Å¬·¡½ºÀÇ ¹®¼È ÆäÀÌÁöÀÇ " + "¸µÅ©¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. :"; + } + } + else + { + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) + { + result+="°¢ ÇʵåµéÀº ÇØ´ç Çʵ尡 ¼ÓÇØ ÀÖ´Â ±¸Á¶Ã¼¿Í °ø¿ëü¿¡ " + "´ëÇÑ ¸µÅ©¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. :"; + } + else + { + result+="°¢ ¸â¹öµéÀº ÇØ´ç ¸â¹ö°¡ ¼ÓÇØ Àִ Ŭ·¡½º¿¡ ´ëÇÑ " + "¸µÅ©¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. :"; + } + } return result; } /*! This is an introduction to the page with all file members. */ virtual QCString trFileMembersDescription(bool extractAll) { - QCString result="´ÙÀ½Àº ¹®¼ÈµÈ ¸ðµç ÆÄÀÏ¿¡ ´ëÇÑ ¸ñ·ÏÀÔ´Ï´Ù. "; - if (!extractAll) result+="¹®¼ÈµÈ "; - result+="¸µÅ© µÈ ÆÄÀÏ ¸â¹ö´Â "; - if (extractAll) - result+="±× ¸â¹ö¿¡ ´ëÇÑ ÆÄÀÏ ¹®¼È·Î °©´Ï´Ù."; + QCString result="´ÙÀ½Àº "; + if (!extractAll) result+="¹®¼ÈµÈ "; + + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) + { + result+="¸ðµç ÇÔ¼ö, º¯¼ö, ¸ÅÅ©·Î, ¿°ÅÇü, ŸÀÔÁ¤Àǵé"; + } else - result+="±×µéÀÌ ¼ÓÇØÀÖ´Â ÆÄÀÏ·Î °©´Ï´Ù."; + { + result+="ÆÄÀÏ ¸â¹öµé"; + } + result+="ÀÇ ¸ñ·ÏÀÔ´Ï´Ù. "; + + result+="°¢ Ç׸ñÀº "; + if (extractAll) + result+="±×µéÀÌ ¼ÓÇÑ ÆÄÀÏ ÆäÀÌÁöÀÇ ¸µÅ©¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. :"; + else + result+="±×µé¿¡ ´ëÇÑ ¹®¼È ÆäÀÌÁöÀÇ ¸µÅ©¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. :"; return result; } /*! This is an introduction to the page with the list of all examples */ virtual QCString trExamplesDescription() - { return "´ÙÀ½Àº ¸ðµç ¿¹Á¦ÀÇ ¸ñ·ÏÀÔ´Ï´Ù."; } + { return "´ÙÀ½Àº ¸ðµç ¿¹Á¦µéÀÇ ¸ñ·ÏÀÔ´Ï´Ù.:"; } /*! This is an introduction to the page with the list of related pages */ virtual QCString trRelatedPagesDescription() - { return "´ÙÀ½Àº ¸ðµç °ü·ÃµÈ ¹®¼È ÆäÀÌÁöÀÇ ¸ñ·ÏÀÔ´Ï´Ù."; } + { return "´ÙÀ½Àº °ü·ÃµÈ ¸ðµç ¹®¼È ÆäÀÌÁöµéÀÇ ¸ñ·ÏÀÔ´Ï´Ù.:"; } /*! This is an introduction to the page with the list of class/file groups */ virtual QCString trModulesDescription() - { return "´ÙÀ½Àº ¸ðµç ¸ðµâÀÇ ¸ñ·ÏÀÔ´Ï´Ù."; } + { return "´ÙÀ½Àº ¸ðµç ¸ðµâµéÀÇ ¸ñ·ÏÀÔ´Ï´Ù.:"; } - // index titles (the project name is prepended for these) + // index titles (the project name is prepended for these) /*! This is used in HTML as the title of index.html. */ virtual QCString trDocumentation() @@ -335,18 +373,27 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 * class hierarchy. */ virtual QCString trHierarchicalIndex() - { return "ºÐ·ùü°è »öÀÎ"; } + { return "°èÅëµµ »öÀÎ"; } /*! This is used in LaTeX as the title of the chapter with the * annotated compound index. */ virtual QCString trCompoundIndex() - { return "º¹ÇÕ±¸Á¶(Ŭ·¡½º, ±¸Á¶Ã¼, °ø¿ëü) »öÀÎ"; } + { + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) + { + return "µ¥ÀÌŸ ±¸Á¶ »öÀÎ"; + } + else + { + return "Ŭ·¡½º »öÀÎ"; + } + } /*! This is used in LaTeX as the title of the chapter with the * list of all files. */ - virtual QCString trFileIndex() + virtual QCString trFileIndex() { return "ÆÄÀÏ »öÀÎ"; } /*! This is used in LaTeX as the title of the chapter containing @@ -359,7 +406,16 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 * the documentation of all classes, structs and unions. */ virtual QCString trClassDocumentation() - { return "Ŭ·¡½º ¹®¼È"; } + { + if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) + { + return "µ¥ÀÌŸ ±¸Á¶ ¹®¼È"; + } + else + { + return "Ŭ·¡½º ¹®¼È"; + } + } /*! This is used in LaTeX as the title of the chapter containing * the documentation of all files. @@ -381,13 +437,13 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 /*! This is used in LaTeX as the title of the document */ virtual QCString trReferenceManual() - { return "Âü°í¼"; } - - /*! This is used in the documentation of a file as a header before the + { return "ÂüÁ¶ ¸Å´º¾ó"; } + + /*! This is used in the documentation of a file as a header before the * list of defines */ virtual QCString trDefines() - { return "¸ÅÅ©·Î, #define"; } + { return "¸ÅÅ©·Î"; } /*! This is used in the documentation of a file as a header before the * list of function prototypes @@ -399,13 +455,13 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 * list of typedefs */ virtual QCString trTypedefs() - { return "ŸÀÔ Á¤ÀÇ"; } + { return "ŸÀÔÁ¤ÀÇ"; } /*! This is used in the documentation of a file as a header before the * list of enumerations */ virtual QCString trEnumerations() - { return "¿°ÅÇü"; } + { return "¿°ÅÇü ŸÀÔ"; } /*! This is used in the documentation of a file as a header before the * list of (global) functions @@ -423,13 +479,13 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 * list of (global) variables */ virtual QCString trEnumerationValues() - { return "¿°ÅÇü °ª"; } - + { return "¿°ÅÇü ¸â¹ö"; } + /*! This is used in the documentation of a file before the list of * documentation blocks for defines */ virtual QCString trDefineDocumentation() - { return "#define ¹®¼È"; } + { return "¸ÅÅ©·Î ¹®¼È"; } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for function prototypes @@ -441,7 +497,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 * of documentation blocks for typedefs */ virtual QCString trTypedefDocumentation() - { return "ŸÀÔ Á¤ÀÇ ¹®¼È"; } + { return "ŸÀÔÁ¤ÀÇ ¹®¼È"; } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for enumeration types @@ -468,7 +524,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { - return "µ¥ÀÌÅÍ ±¸Á¶"; + return "µ¥ÀÌŸ ±¸Á¶"; } else { @@ -480,28 +536,28 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 * the page was generated */ virtual QCString trGeneratedAt(const char *date,const char *projName) - { - QCString result=""; - if (projName) result+=(QCString)projName+" ¹®¼È. "; - result += "»ý¼ºÀϽà : " +(QCString)date; + { + QCString result=(QCString)"»ý¼º½Ã°£ : "+date; + if (projName) result+=(QCString)", ÇÁ·ÎÁ§Æ®¸í : "+projName; + result+=(QCString)", »ý¼ºÀÚ : "; return result; } /*! This is part of the sentence used in the standard footer of each page. */ virtual QCString trWrittenBy() { - return "ÀÛ¼ºÀÚ: "; + return "ÀÛ¼ºÀÚ : "; } /*! this text is put before a class diagram */ virtual QCString trClassDiagram(const char *clName) { - return (QCString)clName+"¿¡ ´ëÇÑ »ó¼Ó µµÇ¥"; + return (QCString)clName+"¿¡ ´ëÇÑ »ó¼Ó ´ÙÀ̾î±×·¥ : "; } /*! this text is generated when the \\internal command is used. */ virtual QCString trForInternalUseOnly() - { return "³»ºÎ »ç¿ë¸¸À» À§ÇØ"; } + { return "³»ºÎÀûÀûÀ¸·Î¸¸ »ç¿ëÇϱâ À§ÇØ."; } /*! this text is generated when the \\warning command is used. */ virtual QCString trWarning() @@ -521,7 +577,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 /*! this text is generated when the \\sa command is used. */ virtual QCString trSeeAlso() - { return "ÂüÁ¶"; } + { return "Âü°í"; } /*! this text is generated when the \\param command is used. */ virtual QCString trParameters() @@ -530,10 +586,10 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 /*! this text is generated when the \\exception command is used. */ virtual QCString trExceptions() { return "¿¹¿Ü"; } - + /*! this text is used in the title page of a LaTeX document. */ virtual QCString trGeneratedBy() - { return "¿¡ ÀÇÇØ »ý¼ºµÈ"; } + { return "´ÙÀ½¿¡ ÀÇÇØ »ý¼ºµÊ : "; } ////////////////////////////////////////////////////////////////////////// // new since 0.49-990307 @@ -541,14 +597,14 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 /*! used as the title of page containing all the index of all namespaces. */ virtual QCString trNamespaceList() - { return "namespace ¸ñ·Ï"; } + { return "³×ÀÓ½ºÆäÀ̽º ¸ñ·Ï"; } /*! used as an introduction to the namespace list */ virtual QCString trNamespaceListDescription(bool extractAll) { - QCString result="´ÙÀ½Àº °£·«ÇÑ ¼³¸íÀ» °¡Áø "; + QCString result="´ÙÀ½Àº "; if (!extractAll) result+="¹®¼ÈµÈ "; - result+="namespaceÀÇ ¸ñ·ÏÀÔ´Ï´Ù."; + result+="¸ðµç ³×ÀÓ½ºÆäÀ̽º¿¡ ´ëÇÑ ¸ñ·ÏÀÔ´Ï´Ù. (°£·«ÇÑ ¼³¸í¸¸À» º¸¿©ÁÝ´Ï´Ù) :"; return result; } @@ -566,8 +622,8 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 * related classes */ virtual QCString trRelatedFunctionDocumentation() - { return "friend, ±×¸®°í °ü·ÃµÈ ÇÔ¼ö ¹®¼È"; } - + { return "Friend, ±×¸®°í °ü·ÃµÈ ÇÔ¼ö ¹®¼È"; } + ////////////////////////////////////////////////////////////////////////// // new since 0.49-990425 ////////////////////////////////////////////////////////////////////////// @@ -577,8 +633,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ClassDef::CompoundType compType, bool isTemplate) { - QCString result=(QCString)clName+" "; - if (isTemplate) result+=" ÅÛÇø´"; + QCString result=(QCString)clName; switch(compType) { case ClassDef::Class: result+=" Ŭ·¡½º"; break; @@ -606,31 +661,31 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 virtual QCString trNamespaceReference(const char *namespaceName) { QCString result=namespaceName; - result+=" namespace ÂüÁ¶"; + result+=" ³×ÀÓ½ºÆäÀ̽º ÂüÁ¶"; return result; } - + virtual QCString trPublicMembers() - { return "public ¸Þ¼Òµå"; } + { return "Public ¸â¹ö ÇÔ¼ö"; } virtual QCString trPublicSlots() - { return "public slots"; } + { return "Public Slots"; } virtual QCString trSignals() - { return "½ÅÈ£"; } + { return "Signals"; } virtual QCString trStaticPublicMembers() - { return "static public ¸Þ¼Òµå"; } + { return "Á¤Àû Public ¸â¹ö ÇÔ¼ö"; } virtual QCString trProtectedMembers() - { return "protected ¸Þ¼Òµå"; } + { return "Protected ¸â¹ö ÇÔ¼ö"; } virtual QCString trProtectedSlots() - { return "protected slots"; } + { return "Protected Slots"; } virtual QCString trStaticProtectedMembers() - { return "static protected ¸Þ¼Òµå"; } + { return "Á¤Àû Protected ¸â¹ö ÇÔ¼ö"; } virtual QCString trPrivateMembers() - { return "private ¸Þ¼Òµå"; } + { return "Private ¸â¹ö ÇÔ¼ö"; } virtual QCString trPrivateSlots() - { return "private slots"; } + { return "Private Slots"; } virtual QCString trStaticPrivateMembers() - { return "static private ¸Þ¼Òµå"; } - + { return "Á¤Àû Private ¸â¹ö ÇÔ¼ö"; } + /*! this function is used to produce a comma-separated list of items. * use generateMarker(i) to indicate where item i should be put. */ @@ -650,7 +705,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 if (i<numEntries-2) // not the fore last entry result+=", "; else // the fore last entry - result+=", °ú "; + result+=", "; } } return result; @@ -661,7 +716,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 */ virtual QCString trInheritsList(int numEntries) { - return trWriteList(numEntries)+" µéÀ» »ó¼ÓÇÏ´Ù."; + return trWriteList(numEntries)+"¸¦(À») »ó¼ÓÇß½À´Ï´Ù."; } /*! used in class documentation to produce a list of super classes, @@ -677,7 +732,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 */ virtual QCString trReimplementedFromList(int numEntries) { - return trWriteList(numEntries)+"À¸·ÎºÎÅÍ À籸ÇöµÇ¾ú½À´Ï´Ù."; + return trWriteList(numEntries)+"(À¸)·ÎºÎÅÍ À籸ÇöµÇ¾ú½À´Ï´Ù."; } /*! used in member documentation blocks to produce a list of @@ -690,32 +745,31 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 /*! This is put above each page as a link to all members of namespaces. */ virtual QCString trNamespaceMembers() - { return "namespace ¸â¹ö"; } + { return "³×ÀÓ½ºÆäÀ̽º ¸â¹ö"; } /*! This is an introduction to the page with all namespace members */ virtual QCString trNamespaceMemberDescription(bool extractAll) - { - QCString result="´ÙÀ½Àº ¸ðµç "; + { + QCString result="´ÙÀ½Àº "; if (!extractAll) result+="¹®¼ÈµÈ "; - result+="namespace ¸â¹öÀÇ ¸ñ·ÏÀÔ´Ï´Ù. "; - if (extractAll) - result+="°¢ ¸â¹ö¿¡ ´ëÇÑ ¹®¼ÈÀÇ "; - else - result+="¼ÓÇØÀÖ´Â namespaceÀÇ "; - result+="¸µÅ©µµ ÀÖ½À´Ï´Ù."; + result+="¸ðµç ³×ÀÓ½ºÆäÀ̽º ¸â¹öµéÀÇ ¸ñ·ÏÀÔ´Ï´Ù. "; + if (extractAll) + result+="°¢ ¸â¹öµéÀº ÇØ´ç ¸â¹öÀÇ ³×ÀÓ½ºÆäÀ̽º ¹®¼È ÆäÀÌÁöÀÇ ¸µÅ©¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. :"; + else + result+="°¢ ¸â¹öµéÀº ÇØ´ç ¸â¹ö°¡ ¼ÓÇÑ ³×ÀÓ½ºÆäÀ̽º ÆäÀÌÁöÀÇ ¸µÅ©¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. :"; return result; } /*! This is used in LaTeX as the title of the chapter with the * index of all namespaces. */ virtual QCString trNamespaceIndex() - { return "namespace »öÀÎ"; } + { return "³×ÀÓ½ºÆäÀ̽º »öÀÎ"; } /*! This is used in LaTeX as the title of the chapter containing * the documentation of all namespaces. */ virtual QCString trNamespaceDocumentation() - { return "namespace ¹®¼È"; } + { return "³×ÀÓ½ºÆäÀ̽º ¹®¼È"; } ////////////////////////////////////////////////////////////////////////// // new since 0.49-990522 @@ -725,7 +779,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 * namespaces in a file. */ virtual QCString trNamespaces() - { return "Namespaces"; } + { return "³×ÀÓ½ºÆäÀ̽º"; } ////////////////////////////////////////////////////////////////////////// // new since 0.49-990728 @@ -749,9 +803,9 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 case ClassDef::Category: result+="Ä«Å×°í¸®"; break; case ClassDef::Exception: result+="¿¹¿Ü"; break; } - result+="À» À§ÇÑ ¹®¼È´Â ´ÙÀ½ÀÇ ÆÄÀÏ"; + result+="¿¡ ´ëÇÑ ¹®¼È ÆäÀÌÁö´Â ´ÙÀ½ÀÇ ÆÄÀÏ"; if (!single) result+="µé"; - result+="·ÎºÎÅÍ »ý¼ºµÇ¾ú½À´Ï´Ù."; + result+="·ÎºÎÅÍ »ý¼ºµÇ¾ú½À´Ï´Ù.:"; return result; } @@ -786,11 +840,11 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 virtual QCString trDefinedAtLineInSourceFile() { - return "@1 ÆÄÀÏÀÇ @0 ¹ø° ¶óÀο¡¼ Á¤ÀÇ"; + return "@1 ÆÄÀÏÀÇ @0 ¹ø° ¶óÀο¡¼ Á¤ÀǵǾú½À´Ï´Ù."; } virtual QCString trDefinedInSourceFile() { - return "@0 ÆÄÀÏ¿¡¼ Á¤ÀÇ"; + return "@0 ÆÄÀÏ¿¡¼ Á¤ÀǵǾú½À´Ï´Ù."; } ////////////////////////////////////////////////////////////////////////// @@ -799,7 +853,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 virtual QCString trDeprecated() { - return "Deprecated"; + return "À߸øµÈ ÄÚµå"; } ////////////////////////////////////////////////////////////////////////// @@ -809,7 +863,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 /*! this text is put before a collaboration diagram */ virtual QCString trCollaborationDiagram(const char *clName) { - return (QCString)clName+"¿¡ ´ëÇÑ Çù·Â µµÇ¥:"; + return (QCString)clName+"¿¡ ´ëÇÑ Çù·Â ´ÙÀ̾î±×·¥:"; } /*! this text is put before an include dependency graph */ virtual QCString trInclDepGraph(const char *fName) @@ -824,22 +878,22 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 /*! Used in the file documentation to point to the corresponding sources. */ virtual QCString trGotoSourceCode() { - return "ÀÌ ÆÄÀÏ¿¡ ´ëÇÑ ¼Ò½º ÄÚµå º¸±â"; + return "ÀÌ ÆÄÀÏÀÇ ¼Ò½º ÄÚµå ÆäÀÌÁö·Î °¡±â"; } /*! Used in the file sources to point to the corresponding documentation. */ virtual QCString trGotoDocumentation() { - return "ÀÌ ÆÄÀÏÀÇ ¹®¼È º¸±â"; + return "ÀÌ ÆÄÀÏÀÇ ¹®¼È ÆäÀÌÁö·Î °¡±â"; } /*! Text for the \\pre command */ virtual QCString trPrecondition() { - return "ÀüÁ¦ Á¶°Ç"; + return "ÀüÁ¦Á¶°Ç"; } /*! Text for the \\post command */ virtual QCString trPostcondition() { - return "ÈÄ¹Ì Á¶°Ç"; //Alternate: "ÈÄÄ¡Á¶°Ç" + return "ÈĹÌÁ¶°Ç"; } /*! Text for the \\invariant command */ virtual QCString trInvariant() @@ -849,7 +903,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 /*! Text shown before a multi-line variable/enum initialization */ virtual QCString trInitialValue() { - return "ÃʱⰪ"; + return "ÃʱⰪ:"; } /*! Text used the source code in the file index */ virtual QCString trCode() @@ -858,15 +912,15 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 } virtual QCString trGraphicalHierarchy() { - return "µµÇ¥·ÎµÈ Ŭ·¡½º ºÐ·ùü°è"; // "µµÇ¥ÀÇ Å¬·¡½º Á¶Á÷" + return "±×·¡ÇÈÄÃÇÑ Å¬·¡½º °èÅëµµ"; } virtual QCString trGotoGraphicalHierarchy() { - return "µµÇ¥·ÎµÈ Ŭ·¡½º ºÐ·ùü°è º¸±â"; // "µµÇ¥ÀÇ Å¬·¡½º Á¶Á÷À¸·Î °¡½Ã¿À" + return "±×·¡ÇÈÄÃÇÑ Å¬·¡½º °èÅëµµ ÆäÀÌÁö·Î °¡±â"; } virtual QCString trGotoTextualHierarchy() { - return "¹®ÀÚ·ÎµÈ Å¬·¡½º ºÐ·ùü°è º¸±â"; // "¹®ÀÚÀÇ Å¬·¡½º Á¶Á÷À¸·Î °¡½Ã¿À" + return "ÅؽºÆ® Çü½ÄÀÇ Å¬·¡½º °èÅëµµ ÆäÀÌÁö·Î °¡±â"; } virtual QCString trPageIndex() { @@ -879,50 +933,50 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 virtual QCString trNote() { - return "³ëÆ®"; + return "ÁÖÀÇ"; } virtual QCString trPublicTypes() { - return "public ŸÀÔ"; + return "Public ŸÀÔ"; } virtual QCString trPublicAttribs() { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { - return "µ¥ÀÌŸ Çʵå"; + return "µ¥ÀÌŸ Çʵå"; } else { - return "public ¼Ó¼º"; + return "Public ¼Ó¼º"; } } virtual QCString trStaticPublicAttribs() { - return "static public ¼Ó¼º"; + return "Á¤Àû Public ¼Ó¼º"; } virtual QCString trProtectedTypes() { - return "protected ŸÀÔ"; + return "Protected ŸÀÔ"; } virtual QCString trProtectedAttribs() { - return "protected ¼Ó¼º"; + return "Protected ¼Ó¼º"; } virtual QCString trStaticProtectedAttribs() { - return "static protected ¼Ó¼º"; + return "Á¤Àû Protected ¼Ó¼º"; } virtual QCString trPrivateTypes() { - return "private ŸÀÔ"; + return "Private ŸÀÔ"; } virtual QCString trPrivateAttribs() { - return "private ¼Ó¼º"; + return "Private ¼Ó¼º"; } virtual QCString trStaticPrivateAttribs() { - return "static private ¼Ó¼º"; + return "Á¤Àû Private ¼Ó¼º"; } ////////////////////////////////////////////////////////////////////////// @@ -932,12 +986,12 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 /*! Used as a marker that is put before a \\todo item */ virtual QCString trTodo() { - return "Todo"; + return "ÇÒÀÏ"; } /*! Used as the header of the todo list */ virtual QCString trTodoList() { - return "Todo ¸ñ·Ï"; + return "ÇÒÀÏ ¸ñ·Ï"; } ////////////////////////////////////////////////////////////////////////// @@ -946,11 +1000,11 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 virtual QCString trReferencedBy() { - return "ÂüÁ¶ÇÏ´Â °÷"; + return "´ÙÀ½¿¡ ÀÇÇؼ ÂüÁ¶µÊ : "; } virtual QCString trRemarks() { - return "¼³¸í"; + return "Remarks"; } virtual QCString trAttention() { @@ -958,12 +1012,11 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 } virtual QCString trInclByDepGraph() { - return " ÀÌ ±×·¡ÇÁ´Â ÀÌ ÆÄÀÏÀ» Á÷Á¢ ¶Ç´Â °£Á¢ÀûÀ¸·Î" - "Æ÷ÇÔ(include)ÇÔÀ» ³ªÅ¸³½´Ù:"; + return "ÀÌ ±×·¡ÇÁ´Â ÀÌ ÆÄÀÏÀ» Á÷/°£Á¢ÀûÀ¸·Î include ÇÏ´Â ÆÄÀϵéÀ» º¸¿©ÁÝ´Ï´Ù.:"; } virtual QCString trSince() { - return "¾ðÁ¦ºÎÅÍ: "; // TODO: Need to be translated. -ryk11/22/01. + return "Since"; } ////////////////////////////////////////////////////////////////////////// @@ -973,95 +1026,72 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 /*! title of the graph legend page */ virtual QCString trLegendTitle() { - return "¹ü·Ê"; + return "±×·¡ÇÁ ¹ü·Ê"; } /*! page explaining how the dot graph's should be interpreted * The %A in the text below are to prevent link to classes called "A". */ virtual QCString trLegendDocs() { - // TODO: Need to be translated. -ryk11/22/01. - return - "Doxygen¿¡ ÀÇÇØ »ý¼ºµÈ µµÇ¥¸¦ º¸±âÀ§ÇÑ ¼³¸íÀÔ´Ï´Ù.<p>\n" - //"This page explains how to interpret the graphs that are generated " - //"by doxygen.<p>\n" - "´ÙÀ½ÀÇ ¿¹Á¦¸¦ Âü°íÇϼ¼¿ä.\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" - "/*! A template class */\n" - "template<class T> class Templ { };\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" - " public Templ<int>\n" - "{\n" - " private:\n" - " Used *m_usedClass;\n" - "};\n" - "\\endcode\n" - "¼³Á¤ ÆÄÀÏÀÇ MAX_DOT_GRAPH_HEIGHT Ç÷¡±×°¡ 240À¸·Î ¼³Á¤µÇ¾ú´Ù¸é ´ÙÀ½ÀÇ ±×·¡ÇÁ°¡ ³ª¿Ã °ÍÀÌ´Ù." - //"If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file " - //"is set to 240 this will result in the following graph:" - "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n" - "<p>\n" - "»óÀÚµéÀº ´ÙÀ½À» ¶æÇÑ´Ù.\n" - //"The boxes in the above graph have the following meaning:\n" - "<ul>\n" - "<li>%°ËÀº »óÀÚ´Â ±×·¡ÇÁ¸¦ »êÃâÇÑ ±¸Á¶Ã¼³ª Ŭ·¡½º¸¦ ¸»ÇÑ´Ù.\n" - //"<li>%A filled black box represents the struct or class for which the " - //"graph is generated.\n" - "<li>%°ËÀº¼±À¸·ÎµÈ »óÀÚ´Â ¹®¼ÈµÈ ±¸Á¶Ã¼³ª Ŭ·¡½º¸¦ Ç¥½ÃÇÑ´Ù.\n" - //"<li>%A box with a black border denotes a documented struct or class.\n" - "<li>%ȸ»ö¼±À¸·ÎµÈ »óÀÚ´Â ¹®¼ÈµÇÁö ¾ÊÀº ±¸Á¶Ã¼³ª Ŭ·¡½º¸¦ Ç¥½ÃÇÑ´Ù.\n" - //"<li>%A box with a grey border denotes an undocumented struct or class.\n" - "<li>%»¡°£¼±À¸·ÎµÈ »óÀÚ´Â ¸ðµç »ó¼Ó/containment °ü°è¸¦ º¸ÀÌÁö ¾ÊÀº ¹®¼ÈµÈ ±¸Á¶Ã¼³ª Ŭ·¡½º¸¦ ³ªÅ¸³½´Ù. " - "ÁöÁ¤µÈ °æ°è¾È¿¡ µé¾î°¡Áö ¾ÊÀ¸¸é ±×·¡ÇÁ´Â ©·ÁÁø´Ù.\n" - //"<li>%A box with a red border denotes a documented struct or class for" - //"which not all inheritance/containment relations are shown. %A graph is " - //"truncated if it does not fit within the specified boundaries.\n" - "</ul>\n" - "È»ìÇ¥´Â ´ÙÀ½À» ¶æÇÑ´Ù.\n" - //"The arrows have the following meaning:\n" - "<ul>\n" - "<li>%¾îµÎ¿î ÆĶõ È»ìÇ¥´Â µÎ Ŭ·¡½º°£ÀÇ public »ó¼Ó°ü°è¸¦ ³ªÅ¸³½´Ù.\n" - //"<li>%A dark blue arrow is used to visualize a public inheritance " - //"relation between two classes.\n" - "<li>%¾îµÎ¿î ³ì»ö È»ìÇ¥´Â protected »ó¼Ó°ü°è¸¦ ³ªÅ¸³½´Ù.\n" - //"<li>%A dark green arrow is used for protected inheritance.\n" - "<li>%¾îµÎ¿î »¡° È»ìÇ¥´Â private »ó¼Ó°ü°è¸¦ ³ªÅ¸³½´Ù.\n" - //"<li>%A dark red arrow is used for private inheritance.\n" - "<li>%¹àÀº ÀÚÁÖ»ö È»ìÇ¥´Â Ŭ·¡½º¿¡ ÀÇÇØ Æ÷ÇԵǴõ³ª »ç¿ëµÈ Ŭ·¡½º¸¦ ³ªÅ¸³½´Ù. " - "ÀÌ È»ìÇ¥ÀÇ ¶óº§Àº Á¢±Ù °¡´ÉÇÑ º¯¼ö¸íÀ» ³ªÅ¸³½´Ù.\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" - "<li>%¹àÀº ³ë¶û»ö È»ìÇ¥´Â ÅÛÇø´ ÀνºÅϽº¿Í ÅÛÇø´ Ŭ·¡½º¸¦ ³ªÅ¸³½´Ù. " - "ÀÌ È»ìÇ¥ÀÇ ¶óº§Àº ±× ÀνºÅϽºÀÇ ÅÛÇø´ ¸Å°³º¯¼ö¸¦ ³ªÅ¸³½´Ù.\n" - //"<li>%A yellow dashed arrow denotes a relation between a template instance and " - //"the template class it was instantiated from. The arrow is labeled with " - //"the template parameters of the instance.\n" - "</ul>\n"; + return + "ÀÌ ÆäÀÌÁö´Â doxygen¿¡ ÀÇÇØ »ý¼ºµÈ ±×·¡ÇÁµéÀ» ÀÌÇØÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù.<p>\n" + "´ÙÀ½ÀÇ ¿¹Á¦¸¦ Âü°íÇϽʽÿÀ.:\n" + "\\code\n" + "/*! »ý·«µÇ¾ú±â ¶§¹®¿¡ º¸ÀÌÁö ¾Ê´Â Ŭ·¡½º */\n" + "class Invisible { };\n\n" + "/*! Truncated Ŭ·¡½º, »ó¼Ó°ü°è°¡ ¼û°ÜÁü */\n" + "class Truncated : public Invisible { };\n\n" + "/* doxygen ÁÖ¼®¿¡ ÀÇÇؼ ¹®¼ÈµÇÁö ¾Ê´Â Ŭ·¡½º */\n" + "class Undocumented { };\n\n" + "/*! public »ó¼ÓÀ» ÅëÇؼ »ó¼ÓµÈ Ŭ·¡½º */\n" + "class PublicBase : public Truncated { };\n\n" + "/*! ÅÛÇø´ Ŭ·¡½º */\n" + "template<class T> class Templ { };\n\n" + "/*! protected »ó¼ÓÀ» ÅëÇؼ »ó¼ÓµÈ Ŭ·¡½º */\n" + "class ProtectedBase { };\n\n" + "/*! private »ó¼ÓÀ» ÅëÇؼ »ó¼ÓµÈ Ŭ·¡½º */\n" + "class PrivateBase { };\n\n" + "/*! »ó¼ÓµÇ¾îÁø Ŭ·¡½º¿¡ ÀÇÇØ (¸â¹ö·Î) »ç¿ëµÇ¾îÁö´Â Ŭ·¡½º */\n" + "class Used { };\n\n" + "/*! ´Ù¸¥ Ŭ·¡½ºµéÀ» »ó¼ÓÇÏ´Â ½´ÆÛ Å¬·¡½º */\n" + "class Inherited : public PublicBase,\n" + " protected ProtectedBase,\n" + " private PrivateBase,\n" + " public Undocumented,\n" + " public Templ<int>\n" + "{\n" + " private:\n" + " Used *m_usedClass;\n" + "};\n" + "\\endcode\n" + "¸¸¾à ¼³Á¤ÆÄÀÏ¿¡¼ \\c MAX_DOT_GRAPH_HEIGHT űװ¡ " + "240À¸·Î ¼³Á¤µÇ¾ú´Ù¸é, ´ÙÀ½°ú °°Àº ±×·¡ÇÁ°¡ Ãâ·ÂµÉ °ÍÀÔ´Ï´Ù. :" + "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n" + "<p>\n" + "À§ ±×·¡ÇÁÀÇ ¹Ú½ºµéÀº ´ÙÀ½°ú °°Àº Àǹ̸¦ °¡Áý´Ï´Ù. :\n" + "<ul>\n" + "<li>%A ȸ»öÀ¸·Î ä¿öÁø ¹Ú½º´Â ÀÌ ±×·¡ÇÁ¸¦ »ý¼ºÇØ ³½ ±¸Á¶Ã¼³ª Ŭ·¡½º¸¦ ÀǹÌÇÕ´Ï´Ù.\n" + "<li>%A °ËÀº»ö Å׵θ®ÀÇ ¹Ú½º´Â ¹®¼ÈµÈ ±¸Á¶Ã¼³ª Ŭ·¡½º¸¦ ÀǹÌÇÕ´Ï´Ù.\n" + "<li>%A ȸ»ö Å׵θ®ÀÇ ¹Ú½º´Â ¹®¼ÈµÇÁö ¾ÊÀº ±¸Á¶Ã¼³ª Ŭ·¡½º¸¦ ÀǹÌÇÕ´Ï´Ù.\n" + "<li>%A »¡°£»ö Å׵θ®ÀÇ ¹Ú½º´Â ¸ðµç »ó¼ÓÀ̳ª Æ÷ÇÔ°ü°è°¡ º¸¿©ÁöÁö ¾Ê´Â " + "±¸Á¶Ã¼³ª Ŭ·¡½º¸¦ ÀǹÌÇÕ´Ï´Ù." + "%A ¸¸¾à ±×·¡ÇÁ°¡ ÁöÁ¤µÈ °æ°è³»¿¡ ¸ÂÁö ¾ÊÀ¸¸é, ±×·¡ÇÁ°¡ Àß·ÁÁý´Ï´Ù.\n" + "</ul>\n" + "È»ìÇ¥µéÀº ´ÙÀ½°ú °°Àº Àǹ̸¦ °¡Áý´Ï´Ù. :\n" + "<ul>\n" + "<li>%A ¾îµÎ¿î ÆĶû»ö È»ìÇ¥´Â µÎ Ŭ·¡½ºµé °£¿¡ public »ó¼ÓÀÌ ÀÖÀ½À» ÀǹÌÇÕ´Ï´Ù.\n" + "<li>%A ¾îµÎ¿î ¿¬µÎ»ö È»ìÇ¥´Â protected »ó¼ÓÀÌ ÀÖÀ½À» ÀǹÌÇÕ´Ï´Ù.\n" + "<li>%A ¾îµÎ¿î »¡°£»ö È»ìÇ¥´Â private »ó¼ÓÀÌ ÀÖÀ½À» ÀǹÌÇÕ´Ï´Ù.\n" + "<li>%A º¸¶ó»ö Á¡¼± È»ìÇ¥´Â ´Ù¸¥ Ŭ·¡½º¿¡ ÀÇÇØ Æ÷ÇԵǰųª »ç¿ëµÇ¾îÁüÀ» ÀǹÌÇÕ´Ï´Ù. " + "È»ìÇ¥ÀÇ ¶óº§Àº È»ìÇ¥°¡ °¡¸®Å°´Â Ŭ·¡½º³ª ±¸Á¶Ã¼·Î Á¢±ÙÇÏ´Â º¯¼ö¸í(µé)À¸·Î ºÙ½À´Ï´Ù.\n" + "<li>%A ³ë¶õ»ö Á¡¼± È»ìÇ¥´Â ÅÛÇø´ ÀνºÅϽº¿Í ÅÛÇÁ¸´ Ŭ·¡½º¿¡ ´ëÇÑ °ü°è¸¦ ÀǹÌÇÕ´Ï´Ù. " + "È»ìÇ¥ÀÇ ¶óº§Àº ÀνºÅϽºÀÇ ÅÛÇø´ ÆĶó¸ÞÅÍ·Î ºÙ½À´Ï´Ù.\n" + "</ul>\n"; } /*! text for the link to the legend page */ virtual QCString trLegend() - { - return "¹ü·Ê"; + { + return "¹ü·Ê"; } ////////////////////////////////////////////////////////////////////////// @@ -1071,12 +1101,12 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 /*! Used as a marker that is put before a test item */ virtual QCString trTest() { - return "Å×½ºÆ®"; + return "Å×½ºÆ®"; } /*! Used as the header of the test list */ virtual QCString trTestList() { - return "Å×½ºÆ® ¸ñ·Ï"; + return "Å×½ºÆ® ¸ñ·Ï"; } ////////////////////////////////////////////////////////////////////////// @@ -1086,7 +1116,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 /*! Used as a section header for KDE-2 IDL methods */ virtual QCString trDCOPMethods() { - return "DCOP ¸Þ¼Òµå"; // TODO: Need to be translated. -ryk11/22/01. + return "DCOP ¸â¹ö ÇÔ¼ö"; } ////////////////////////////////////////////////////////////////////////// @@ -1096,12 +1126,12 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 /*! Used as a section header for IDL properties */ virtual QCString trProperties() { - return "¼Ó¼º"; + return "¼Ó¼º"; } /*! Used as a section header for IDL property documentation */ virtual QCString trPropertyDocumentation() { - return "¼Ó¼º ¹®¼È"; + return "¼Ó¼º ¹®¼È"; } ////////////////////////////////////////////////////////////////////////// @@ -1113,37 +1143,37 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { - return "µ¥ÀÌÅÍ ±¸Á¶"; + return "µ¥ÀÌŸ ±¸Á¶"; } else { - return "Ŭ·¡½º"; + return "Ŭ·¡½º"; } } /*! Used as the title of a Java package */ virtual QCString trPackage(const char *name) { - return (QCString)"ÆÐÅ°Áö "+name; + return name+(QCString)" ÆÐÅ°Áö"; } /*! Title of the package index page */ virtual QCString trPackageList() { - return "ÆÐÅ°Áö ¸ñ·Ï"; + return "ÆÐÅ°Áö ¸ñ·Ï"; } /*! The description of the package index page */ virtual QCString trPackageListDescription() { - return "´ÙÀ½Àº °£·«ÇÑ ¼³¸íÀ» °¡Áø ÆÐÅ°ÁöÀÌ´Ù."; + return "´ÙÀ½Àº ÆÐÅ°ÁöµéÀÔ´Ï´Ù. (°¡´ÉÇÑÇÑ °£·«ÇÑ ¼³¸í¸¸À» º¸¿©ÁÝ´Ï´Ù) :"; } /*! The link name in the Quick links header for each page */ virtual QCString trPackages() { - return "ÆÐÅ°Áö"; + return "ÆÐÅ°Áö"; } /*! Text shown before a multi-line define */ virtual QCString trDefineValue() { - return "°ª:"; + return "°ª:"; } ////////////////////////////////////////////////////////////////////////// @@ -1153,12 +1183,12 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 /*! Used as a marker that is put before a \\bug item */ virtual QCString trBug() { - return "¹ö±×"; + return "¹ö±×"; } /*! Used as the header of the bug list */ virtual QCString trBugList() { - return "¹ö±× ¸ñ·Ï"; + return "¹ö±× ¸ñ·Ï"; } ////////////////////////////////////////////////////////////////////////// @@ -1207,29 +1237,29 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 /*! Used as header RTF general index */ virtual QCString trRTFGeneralIndex() { - return "À妽º"; + return "»öÀÎ"; } /*! 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, bool singular) - { - QCString result("Ŭ·¡½º"); + virtual QCString trClass(bool first_capital, bool singular) + { + QCString result((first_capital ? "Ŭ·¡½º" : "Ŭ·¡½º")); if (!singular) result+="µé"; - return result; + 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, bool singular) - { - QCString result("ÆÄÀÏ"); + virtual QCString trFile(bool first_capital, bool singular) + { + QCString result((first_capital ? "ÆÄÀÏ" : "ÆÄÀÏ")); if (!singular) result+="µé"; - return result; + return result; } /*! This is used for translation of the word that will possibly @@ -1238,31 +1268,31 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 */ virtual QCString trNamespace(bool first_capital, bool singular) { - QCString result((first_capital ? "Namespace" : "namespace")); - if (!singular) result+="s"; - return result; // TODO: Need to be translated. -ryk11/22/01. + QCString result((first_capital ? "³×ÀÓ½ºÆäÀ̽º" : "³×ÀÓ½ºÆäÀ̽º")); + if (!singular) result+="µé"; + 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, bool singular) - { - QCString result("±×·ì"); + virtual QCString trGroup(bool first_capital, bool singular) + { + QCString result((first_capital ? "±×·ì" : "±×·ì")); if (!singular) result+="µé"; - return result; + 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, bool singular) - { - QCString result("ÆäÀÌÁö"); + virtual QCString trPage(bool first_capital, bool singular) + { + QCString result((first_capital ? "ÆäÀÌÁö" : "ÆäÀÌÁö")); if (!singular) result+="µé"; - return result; + return result; } /*! This is used for translation of the word that will possibly @@ -1270,10 +1300,10 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 * of the category. */ virtual QCString trMember(bool first_capital, bool singular) - { + { QCString result((first_capital ? "¸â¹ö" : "¸â¹ö")); if (!singular) result+="µé"; - return result; + return result; } /*! This is used for translation of the word that will possibly @@ -1282,9 +1312,9 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 */ virtual QCString trGlobal(bool first_capital, bool singular) { - QCString result((first_capital ? "Global" : "global")); - if (!singular) result+="s"; - return result; + QCString result((first_capital ? "Àü¿ª" : "Àü¿ª")); + if (!singular) result+=""; + return result; } ////////////////////////////////////////////////////////////////////////// @@ -1293,11 +1323,11 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 /*! This text is generated when the \\author command is used and * for the author section in man pages. */ - virtual QCString trAuthor(bool, bool singular) - { - QCString result("ÀÛ¼ºÀÚ"); + virtual QCString trAuthor(bool first_capital, bool singular) + { + QCString result((first_capital ? "ÀÛ¼ºÀÚ" : "ÀÛ¼ºÀÚ")); if (!singular) result+="µé"; - return result; + return result; } ////////////////////////////////////////////////////////////////////////// @@ -1308,7 +1338,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 */ virtual QCString trReferences() { - return "ÂüÁ¶"; + return "´ÙÀ½À» ÂüÁ¶ÇÔ : "; } ////////////////////////////////////////////////////////////////////////// @@ -1320,7 +1350,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 */ virtual QCString trImplementedFromList(int numEntries) { - return trWriteList(numEntries)+" ±¸Çö."; + return trWriteList(numEntries)+"¸¦ ±¸Çö."; } /*! used in member documentation blocks to produce a list of @@ -1328,7 +1358,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 */ virtual QCString trImplementedInList(int numEntries) { - return trWriteList(numEntries)+"¿¡ ±¸ÇöµÇ¾ú´Ù."; + return trWriteList(numEntries)+"¿¡¼ ±¸ÇöµÇ¾ú½À´Ï´Ù."; } ////////////////////////////////////////////////////////////////////////// @@ -1352,7 +1382,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 */ virtual QCString trDeprecatedList() { - return "Deprecated ¸ñ·Ï"; + return "À߸øµÈ ÄÚµå ¸ñ·Ï"; } ////////////////////////////////////////////////////////////////////////// @@ -1379,36 +1409,36 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 /*! Used as a heading for a list of Java class types with package scope. */ virtual QCString trPackageTypes() - { - return "ÆÐÅ°Áö ŸÀÔµé"; + { + return "ÆÐÅ°Áö ŸÀÔ"; } /*! Used as a heading for a list of Java class functions with package * scope. */ virtual QCString trPackageMembers() - { - return "ÆÐÅ°Áö ÇÔ¼öµé"; + { + return "ÆÐÅ°Áö ÇÔ¼ö"; } /*! Used as a heading for a list of static Java class functions with * package scope. */ virtual QCString trStaticPackageMembers() - { - return "Á¤Àû ÆÐÅ°Áö ÇÔ¼öµé"; + { + return "Á¤Àû ÆÐÅ°Áö ÇÔ¼ö"; } /*! Used as a heading for a list of Java class variables with package * scope. */ virtual QCString trPackageAttribs() - { - return "ÆÐÅ°Áö ¼Ó¼ºµé"; + { + return "ÆÐÅ°Áö ¼Ó¼º"; } /*! Used as a heading for a list of static Java class variables with * package scope. */ virtual QCString trStaticPackageAttribs() - { - return "Á¤Àû ÆÐÅ°Áö ¼Ó¼ºµé"; + { + return "Á¤Àû ÆÐÅ°Áö ¼Ó¼º"; } ////////////////////////////////////////////////////////////////////////// @@ -1420,12 +1450,12 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 */ virtual QCString trAll() { - return "¸ðµÎ"; + return "¸ðµÎ"; } /*! Put in front of the call graph for a function. */ virtual QCString trCallGraph() { - return "´ÙÀ½Àº ÀÌ ÇÔ¼ö¿¡ ´ëÇÑ È£Ãâ ±×·¡ÇÁÀÔ´Ï´Ù:"; + return "ÀÌ ÇÔ¼ö ³»ºÎ¿¡¼ È£ÃâÇÏ´Â ÇÔ¼öµé¿¡ ´ëÇÑ ±×·¡ÇÁÀÔ´Ï´Ù.:"; } ////////////////////////////////////////////////////////////////////////// @@ -1438,14 +1468,14 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 */ virtual QCString trSearchForIndex() { - return "°Ë»ö: "; //"Search for"; + return "°Ë»ö"; } /*! This string is used as the title for the page listing the search * results. */ virtual QCString trSearchResultsTitle() { - return "°Ë»ö °á°ú";//"Search Results"; + return "°Ë»ö °á°ú"; } /*! This string is put just before listing the search results. The * text can be different depending on the number of documents found. @@ -1457,23 +1487,19 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 */ virtual QCString trSearchResults(int numDocuments) { - if (numDocuments==0) - { - //return "Sorry, no documents matching your query."; - return "Á˼ÛÇÕ´Ï´Ù. ÁúÀÇ¿Í ÀÏÄ¡ÇÏ´Â ¹®¼°¡ ¾ø½À´Ï´Ù."; - } - else if (numDocuments==1) - { - //return "Found <b>1</b> document matching your query."; - return "ÁúÀÇ¿Í ÀÏÄ¡ÇÏ´Â <b>1</b>°³ÀÇ ¹®¼¸¦ ã¾Ò½À´Ï´Ù."; - } - else - { - //return "Found <b>$num</b> documents matching your query. " - // "Showing best matches first."; - return "ÁúÀÇ¿Í ÀÏÄ¡ÇÏ´Â <b>$num</b>°³ÀÇ ¹®¼µéÀ» ã¾Ò½À´Ï´Ù. " - "óÀ½¿¡ ³ª¿À´Â °ÍÀÌ °¡Àå ÀÏÄ¡ÇÏ´Â ¹®¼ÀÔ´Ï´Ù."; - } + if (numDocuments==0) + { + return "Á˼ÛÇÕ´Ï´Ù. ÁúÀÇ¿¡ ÀÏÄ¡ÇÏ´Â ¹®¼°¡ ¾ø½À´Ï´Ù."; + } + else if (numDocuments==1) + { + return "ÁúÀÇ¿¡ ÀÏÄ¡ÇÏ´Â <b>1</b> °³ÀÇ ¹®¼¸¦ ã¾Ò½À´Ï´Ù."; + } + else + { + return "ÁúÀÇ¿¡ ÀÏÄ¡ÇÏ´Â <b>$num</b> °³ÀÇ ¹®¼¸¦ ã¾Ò½À´Ï´Ù. " + "°¡Àå ¸¹ÀÌ ÀÏÄ¡ÇÏ´Â ¹®¼¸¦ °¡Àå ¸ÕÀú º¸¿©ÁÝ´Ï´Ù."; + } } /*! This string is put before the list of matched words, for each search * result. What follows is the list of words that matched the query. @@ -1502,16 +1528,16 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 * hierarchy. */ virtual QCString trDirIndex() - { return "µð·ºÅ丮 °èÃþµµ"; } + { return "µð·ºÅ丮 °èÅëµµ"; } /*! This is used as the name of the chapter containing the documentation * of the directories. */ virtual QCString trDirDocumentation() - { return "µð·ºÅ丮 ¹®¼"; } + { return "µð·ºÅ丮 ¹®¼È"; } /*! This is used as the title of the directory index and also in the - * Quick links of a HTML page, to link to the directory hierarchy. + * Quick links of an HTML page, to link to the directory hierarchy. */ virtual QCString trDirectories() { return "µð·ºÅ丮"; } @@ -1520,9 +1546,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 * and the fact that it is sorted alphabetically per level */ virtual QCString trDirDescription() - { return "ÀÌ µð·ºÅ丮 °èÃþÀº ¾ËÆĺª ¼øÀ¸·Î Á¤·ÄµÇ¾îÀÖ½À´Ï´Ù. (¿ÏÀüÇÏÁö´Â ¾ÊÀ½)"; - - + { return "ÀÌ µð·ºÅ丮 ¸ñ·ÏÀº ¿ÏÀüÇÏÁø ¾ÊÁö¸¸, (´ë·«ÀûÀ¸·Î) ¾ËÆĺª¼øÀ¸·Î Á¤·ÄµÇ¾îÀÖ½À´Ï´Ù.:"; } /*! This returns the title of a directory page. The name of the @@ -1534,12 +1558,13 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 /*! This returns the word directory with or without starting capital * (\a first_capital) and in sigular or plural form (\a singular). */ - virtual QCString trDir(bool /*first_capital*/, bool /*singular*/) + virtual QCString trDir(bool first_capital, bool singular) { - return "µð·ºÅÍ"; + QCString result((first_capital ? "µð·ºÅ丮" : "µð·ºÅ丮")); + if (singular) result+=""; else result+="µé"; + return result; } - ////////////////////////////////////////////////////////////////////////// // new since 1.4.1 ////////////////////////////////////////////////////////////////////////// @@ -1549,14 +1574,27 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 */ virtual QCString trOverloadText() { - return "ÀÌ°ÍÀº Æí¸®¸¦ À§ÇØ Á¦°øµÇ´Â ¿À¹ö·Îµå ¸â¹ö ÇÔ¼öÀÌ´Ù, " - "¾î¶² ¾Æ±Ô¸ÕÆ®(argument)°¡ ±×°ÍÀ» ¼ö¿ëÇÒ¶§ À§ ÇÔ¼ö´Â ´Ù¸£´Ù."; + return "ÀÌ ÇÔ¼ö´Â ÆíÀÇ Á¦°øÇϱâ À§ÇØ ¿À¹ö·ÎµåµÈ ¸â¹ö ÇÔ¼öÀÔ´Ï´Ù. " + "À§ÀÇ ÇÔ¼ö¿Í Ʋ¸° Á¡Àº ´ÜÁö ¹Þ¾ÆµéÀÌ´Â ¾Æ±Ô¸ÕÆ®(argument)°¡ ´Ù¸£´Ù´Â °ÍÀÔ´Ï´Ù."; + } + +////////////////////////////////////////////////////////////////////////// +// new since 1.4.6 +////////////////////////////////////////////////////////////////////////// + /*! This is used to introduce a caller (or called-by) graph */ + virtual QCString trCallerGraph() + { + return "ÀÌ ÇÔ¼ö¸¦ È£ÃâÇÏ´Â ÇÔ¼öµé¿¡ ´ëÇÑ ±×·¡ÇÁÀÔ´Ï´Ù.:"; } + /*! This is used in the documentation of a file/namespace before the list + * of documentation blocks for enumeration values + */ + virtual QCString trEnumerationValueDocumentation() + { return "¿°ÅÇü ¹®¼È"; } + }; #endif - - diff --git a/src/util.cpp b/src/util.cpp index 7338a9e..8466b28 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -826,11 +826,17 @@ int isAccessibleFrom(Definition *scope,FileDef *fileScope,Definition *item) Definition *itemScope=item->getOuterScope(); - if (itemScope==scope || - (item->definitionType()==Definition::TypeMember && - itemScope && itemScope->definitionType()==Definition::TypeClass && - scope->definitionType()==Definition::TypeClass && - ((ClassDef*)scope)->isAccessibleMember((MemberDef *)item) + if ( + itemScope==scope || // same thing + (item->definitionType()==Definition::TypeMember && // a member + itemScope && itemScope->definitionType()==Definition::TypeClass && // of a class + scope->definitionType()==Definition::TypeClass && // accessible + ((ClassDef*)scope)->isAccessibleMember((MemberDef *)item) // from scope + ) || + (item->definitionType()==Definition::TypeClass && // a nested class + itemScope && itemScope->definitionType()==Definition::TypeClass && // inside a base + scope->definitionType()==Definition::TypeClass && // class of scope + ((ClassDef*)scope)->isBaseClass((ClassDef*)itemScope,TRUE) ) ) { @@ -915,7 +921,11 @@ int isAccessibleFromWithExpScope(Definition *scope,FileDef *fileScope, QCString key(40+explicitScopePart.length()); key.sprintf("%p:%p:%p:%s",scope,fileScope,item,explicitScopePart.data()); static QDict<void> visitedDict; - if (visitedDict.find(key)) return -1; // already looked at this + if (visitedDict.find(key)) + { + //printf("Already visited!\n"); + return -1; // already looked at this + } visitedDict.insert(key,(void *)0x8); //printf(" <isAccessibleFromWithExpScope(%s,%s,%s)\n",scope?scope->name().data():"<global>", diff --git a/src/xmldocvisitor.cpp b/src/xmldocvisitor.cpp index 564438d..2813d65 100644 --- a/src/xmldocvisitor.cpp +++ b/src/xmldocvisitor.cpp @@ -875,7 +875,7 @@ void XmlDocVisitor::visitPost(DocInternalRef *) void XmlDocVisitor::visitPre(DocCopy *c) { if (m_hide) return; - m_t << "<copydoc link=\"" << c->link() << "\">"; + m_t << "<copydoc link=\"" << convertToXML(c->link()) << "\">"; } void XmlDocVisitor::visitPost(DocCopy *) diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp index fb21518..9b316c4 100644 --- a/src/xmlgen.cpp +++ b/src/xmlgen.cpp @@ -539,6 +539,7 @@ static void stripQualifiers(QCString &typeStr) if (typeStr.stripPrefix("static ")); else if (typeStr.stripPrefix("virtual ")); else if (typeStr.stripPrefix("volatile ")); + else if (typeStr=="virtual") typeStr=""; else done=TRUE; } } @@ -563,6 +564,7 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De // enum values are written as part of the enum if (md->memberType()==MemberDef::EnumValue) return; if (md->isHidden()) return; + if (md->name().at(0)=='@') return; // anonymous member // group members are only visible in their group //if (def->definitionType()!=Definition::TypeGroup && md->getGroupDef()) return; @@ -1012,31 +1014,34 @@ static void writeListOfAllMembers(ClassDef *cd,QTextStream &t) for (mii.toFirst();(mi=mii.current());++mii) { MemberDef *md=mi->memberDef; - Protection prot = mi->prot; - Specifier virt=md->virtualness(); - t << " <member refid=\"" << md->getOutputFileBase() << "_1" << - md->anchor() << "\" prot=\""; - switch (prot) + if (md->name().at(0)!='@') // skip anonymous members { - case Public: t << "public"; break; - case Protected: t << "protected"; break; - case Private: t << "private"; break; - case Package: t << "package"; break; - } - t << "\" virt=\""; - switch(virt) - { - case Normal: t << "non-virtual"; break; - case Virtual: t << "virtual"; break; - case Pure: t << "pure-virtual"; break; - } - t << "\""; - if (!mi->ambiguityResolutionScope.isEmpty()) - { - t << " ambiguityscope=\"" << convertToXML(mi->ambiguityResolutionScope) << "\""; + Protection prot = mi->prot; + Specifier virt=md->virtualness(); + t << " <member refid=\"" << md->getOutputFileBase() << "_1" << + md->anchor() << "\" prot=\""; + switch (prot) + { + case Public: t << "public"; break; + case Protected: t << "protected"; break; + case Private: t << "private"; break; + case Package: t << "package"; break; + } + t << "\" virt=\""; + switch(virt) + { + case Normal: t << "non-virtual"; break; + case Virtual: t << "virtual"; break; + case Pure: t << "pure-virtual"; break; + } + t << "\""; + if (!mi->ambiguityResolutionScope.isEmpty()) + { + t << " ambiguityscope=\"" << convertToXML(mi->ambiguityResolutionScope) << "\""; + } + t << "><scope>" << convertToXML(cd->name()) << "</scope><name>" << + convertToXML(md->name()) << "</name></member>" << endl; } - t << "><scope>" << convertToXML(cd->name()) << "</scope><name>" << - convertToXML(md->name()) << "</name></member>" << endl; } } } |