summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/classdef.cpp22
-rw-r--r--src/classdef.h1
-rw-r--r--src/config.h3
-rw-r--r--src/config.l23
-rw-r--r--src/definition.h2
-rw-r--r--src/doc.l9
-rw-r--r--src/dot.cpp2
-rw-r--r--src/doxygen.cpp58
-rw-r--r--src/doxygen.h1
-rw-r--r--src/doxygen.pro.in2
-rw-r--r--src/entry.cpp6
-rw-r--r--src/entry.h6
-rw-r--r--src/filedef.cpp6
-rw-r--r--src/filedef.h7
-rw-r--r--src/index.cpp6
-rw-r--r--src/language.cpp5
-rw-r--r--src/latexgen.cpp3
-rw-r--r--src/memberdef.cpp2
-rw-r--r--src/memberdef.h4
-rw-r--r--src/memberlist.cpp3
-rw-r--r--src/rtfgen.cpp10
-rw-r--r--src/scanner.l101
-rw-r--r--src/translator.h93
-rw-r--r--src/translator_cz.h434
-rw-r--r--src/translator_hr.h121
-rw-r--r--src/translator_kr.h803
-rw-r--r--src/util.cpp34
-rw-r--r--src/util.h1
28 files changed, 1319 insertions, 449 deletions
diff --git a/src/classdef.cpp b/src/classdef.cpp
index 84e047d..a54724c 100644
--- a/src/classdef.cpp
+++ b/src/classdef.cpp
@@ -178,6 +178,7 @@ void ClassDef::addMembersToMemberGroup()
addMemberListToGroup(&pubAttribs);
addMemberListToGroup(&pubSlots);
addMemberListToGroup(&signals);
+ addMemberListToGroup(&dcopMethods);
addMemberListToGroup(&pubStaticMembers);
addMemberListToGroup(&pubStaticAttribs);
addMemberListToGroup(&proTypes);
@@ -219,11 +220,15 @@ void ClassDef::insertMember(MemberDef *md)
{
switch (md->memberType())
{
- case MemberDef::Signal:
+ case MemberDef::Signal: // Qt specific
signals.append(md);
md->setSectionList(&signals);
break;
- case MemberDef::Slot:
+ case MemberDef::DCOP: // KDE2 specific
+ dcopMethods.append(md);
+ md->setSectionList(&dcopMethods);
+ break;
+ case MemberDef::Slot: // Qt specific
switch (md->protection())
{
case Protected:
@@ -358,7 +363,8 @@ void ClassDef::insertMember(MemberDef *md)
{
switch (md->memberType())
{
- case MemberDef::Signal:
+ case MemberDef::Signal: // fall through
+ case MemberDef::DCOP:
if (Config::sortMembersFlag)
functionMembers.inSort(md);
else
@@ -511,6 +517,7 @@ void ClassDef::computeAnchors()
setAnchors('s',&pubTypes);
setAnchors('t',&proTypes);
setAnchors('u',&priTypes);
+ setAnchors('v',&dcopMethods);
}
void ClassDef::distributeMemberGroupDocumentation()
@@ -857,6 +864,8 @@ void ClassDef::writeDocumentation(OutputList &ol)
pubAttribs.writeDeclarations(ol,this,0,0,0,theTranslator->trPublicAttribs(),0);
pubSlots.writeDeclarations(ol,this,0,0,0,theTranslator->trPublicSlots(),0);
signals.writeDeclarations(ol,this,0,0,0,theTranslator->trSignals(),0);
+ dcopMethods.writeDeclarations(ol,this,0,0,0,theTranslator->trDCOPMethods(),0);
+
// static public members
pubStaticMembers.writeDeclarations(ol,this,0,0,0,theTranslator->trStaticPublicMembers(),0);
pubStaticAttribs.writeDeclarations(ol,this,0,0,0,theTranslator->trStaticPublicAttribs(),0);
@@ -1066,7 +1075,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
ol.docify(stripFromPath(path));
}
- if (fd->generateSource() || (!fd->isReference() && Config::sourceBrowseFlag))
+ if (fd->generateSourceFile())
{
ol.writeObjectLink(0,fd->sourceName(),0,fd->name());
}
@@ -1340,6 +1349,7 @@ void ClassDef::writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup)
pubAttribs.writePlainDeclarations(ol,this,0,0,0);
pubSlots.writePlainDeclarations(ol,this,0,0,0);
signals.writePlainDeclarations(ol,this,0,0,0);
+ dcopMethods.writePlainDeclarations(ol,this,0,0,0);
pubStaticMembers.writePlainDeclarations(ol,this,0,0,0);
pubStaticAttribs.writePlainDeclarations(ol,this,0,0,0);
proTypes.writePlainDeclarations(ol,this,0,0,0);
@@ -1856,7 +1866,8 @@ void ClassDef::generateXML(QTextStream &t)
}
int numMembers =
pubTypes.count()+pubMembers.count()+pubAttribs.count()+
- pubSlots.count()+signals.count()+pubStaticMembers.count()+
+ pubSlots.count()+signals.count()+dcopMethods.count()+
+ pubStaticMembers.count()+
pubStaticAttribs.count()+proTypes.count()+proMembers.count()+
proAttribs.count()+proSlots.count()+proStaticMembers.count()+
proStaticAttribs.count()+priTypes.count()+priMembers.count()+
@@ -1870,6 +1881,7 @@ void ClassDef::generateXML(QTextStream &t)
generateXMLSection(t,&pubAttribs,"public-attrib");
generateXMLSection(t,&pubSlots,"public-slot");
generateXMLSection(t,&signals,"signal");
+ generateXMLSection(t,&dcopMethods,"dcop-func");
generateXMLSection(t,&pubStaticMembers,"public-static-func");
generateXMLSection(t,&pubStaticAttribs,"public-static-attrib");
generateXMLSection(t,&proTypes,"protected-type");
diff --git a/src/classdef.h b/src/classdef.h
index 168d731..39c29d1 100644
--- a/src/classdef.h
+++ b/src/classdef.h
@@ -167,6 +167,7 @@ class ClassDef : public Definition
MemberList related;
MemberList signals;
MemberList friends;
+ MemberList dcopMethods;
/* member list by types */
MemberList constructors;
diff --git a/src/config.h b/src/config.h
index 7160451..bb5449e 100644
--- a/src/config.h
+++ b/src/config.h
@@ -1,4 +1,4 @@
-/* This file was generated by configgen on Fri Aug 25 21:22:11 2000
+/* This file was generated by configgen on Sat Sep 2 10:51:52 2000
* from config_templ.h
*
* DO NOT EDIT!
@@ -64,6 +64,7 @@ struct Config
static bool inheritDocsFlag; // inheritance of documentation enabled?
static bool inlineInfoFlag; // show info about inline members?
static bool sortMembersFlag; // sort members alphabetically?
+ static bool distributeDocFlag; // distribute docs over member group?
static int tabSize; // number of spaces in a tab
static QStrList sectionFilterList; // list of section filters that are enabled
static bool generateTodoList; // do we want a todo list?
diff --git a/src/config.l b/src/config.l
index 1965934..5a6f318 100644
--- a/src/config.l
+++ b/src/config.l
@@ -1,4 +1,4 @@
-/* This file was generated by configgen on Fri Aug 25 21:22:11 2000
+/* This file was generated by configgen on Sat Sep 2 10:51:52 2000
* from config_templ.l
*
* DO NOT EDIT!
@@ -101,6 +101,7 @@ bool Config::autoBriefFlag = TRUE;
bool Config::inheritDocsFlag = TRUE;
bool Config::inlineInfoFlag = TRUE;
bool Config::sortMembersFlag = TRUE;
+bool Config::distributeDocFlag = FALSE;
int Config::tabSize = 8;
QStrList Config::sectionFilterList;
bool Config::generateTodoList = TRUE;
@@ -357,6 +358,7 @@ static void readIncludeFile(const char *incName)
<Start>"INHERIT_DOCS"[ \t]*"=" { BEGIN(GetBool); b=&Config::inheritDocsFlag; }
<Start>"INLINE_INFO"[ \t]*"=" { BEGIN(GetBool); b=&Config::inlineInfoFlag; }
<Start>"SORT_MEMBER_DOCS"[ \t]*"=" { BEGIN(GetBool); b=&Config::sortMembersFlag; }
+<Start>"DISTRIBUTE_GROUP_DOC"[ \t]*"=" { BEGIN(GetBool); b=&Config::distributeDocFlag; }
<Start>"TAB_SIZE"[ \t]*"=" { BEGIN(GetString); s=&tabSizeString; s->resize(0); }
<Start>"ENABLED_SECTIONS"[ \t]*"=" { BEGIN(GetStrList); l=&Config::sectionFilterList; l->clear(); elemStr=""; }
<Start>"ENABLED_SECTIONS"[ \t]*"+=" { BEGIN(GetStrList); l=&Config::sectionFilterList; elemStr=""; }
@@ -587,6 +589,7 @@ void dumpConfig()
printf("inheritDocsFlag=`%d'\n",Config::inheritDocsFlag);
printf("inlineInfoFlag=`%d'\n",Config::inlineInfoFlag);
printf("sortMembersFlag=`%d'\n",Config::sortMembersFlag);
+ printf("distributeDocFlag=`%d'\n",Config::distributeDocFlag);
printf("tabSize=`%d'\n",Config::tabSize);
{
char *is=Config::sectionFilterList.first();
@@ -824,6 +827,7 @@ void Config::init()
Config::inheritDocsFlag = TRUE;
Config::inlineInfoFlag = TRUE;
Config::sortMembersFlag = TRUE;
+ Config::distributeDocFlag = FALSE;
Config::tabSize = 8;
Config::sectionFilterList.clear();
Config::generateTodoList = TRUE;
@@ -1011,7 +1015,7 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "# information to generate all constant output in the proper language. \n";
t << "# The default language is English, other supported languages are: \n";
t << "# Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese, \n";
- t << "# Spanish, Russian, Croatian, Polish, and Portuguese.\n";
+ t << "# Korean, Hungarian, Spanish, Russian, Croatian, Polish, and Portuguese.\n";
t << "\n";
}
t << "OUTPUT_LANGUAGE = ";
@@ -1280,6 +1284,18 @@ void writeTemplateConfig(QFile *f,bool sl)
if (!sl)
{
t << "\n";
+ t << "# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC \n";
+ t << "# tag is set to YES, then doxygen will reuse the documentation of the first \n";
+ t << "# member in the group (if any) for the other members of the group. By default \n";
+ t << "# all members of a group must be documented explicitly.\n";
+ t << "\n";
+ }
+ t << "DISTRIBUTE_GROUP_DOC = ";
+ writeBoolValue(t,Config::distributeDocFlag);
+ t << "\n";
+ if (!sl)
+ {
+ t << "\n";
t << "# The TAB_SIZE tag can be used to set the number of spaces in a tab. \n";
t << "# Doxygen uses this value to replace tabs by spaces in code fragments. \n";
t << "\n";
@@ -1323,10 +1339,11 @@ void writeTemplateConfig(QFile *f,bool sl)
{
t << "\n";
t << "# This tag can be used to specify a number of aliases that acts \n";
- t << "# as commands in the documentation. An alias has the form \"\\name=value\". \n";
+ t << "# as commands in the documentation. An alias has the form \"name=value\". \n";
t << "# For example adding \"sideeffect=\\par Side Effects:\\n\" will allow you to \n";
t << "# put the command \\sideeffect (or @sideeffect) in the documentation, which \n";
t << "# will result in a user defined paragraph with heading \"Side Effects:\". \n";
+ t << "# You can put \\n's in the value part of an alias to insert newlines. \n";
t << "# Predefined commands cannot be overwritten using aliases. \n";
t << "\n";
}
diff --git a/src/definition.h b/src/definition.h
index bc8c6c7..e8f71d7 100644
--- a/src/definition.h
+++ b/src/definition.h
@@ -69,7 +69,7 @@ class Definition
virtual bool isLinkableInProject() = 0;
virtual bool isLinkable() = 0;
- bool isReference() { return !ref.isEmpty(); }
+ bool isReference() const { return !ref.isEmpty(); }
void setReference(const char *r) { ref=r; }
QCString getReference() { return ref; }
diff --git a/src/doc.l b/src/doc.l
index 695a07b..c69d4d8 100644
--- a/src/doc.l
+++ b/src/doc.l
@@ -2043,7 +2043,14 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
}
else
{
- outDoc->newParagraph();
+ if (insidePre)
+ {
+ outDoc->docify(yytext);
+ }
+ else
+ {
+ outDoc->newParagraph();
+ }
}
if (inBlock()) endBlock();
}
diff --git a/src/dot.cpp b/src/dot.cpp
index 3b61864..157b62a 100644
--- a/src/dot.cpp
+++ b/src/dot.cpp
@@ -1205,7 +1205,7 @@ void DotInclDepGraph::buildGraph(DotNode *n,FileDef *fd,int distance)
{
in = bfd->absFilePath();
doc = bfd->isLinkableInProject();
- src = bfd->generateSource() || (!bfd->isReference() && Config::sourceBrowseFlag);
+ src = bfd->generateSourceFile();
}
if (doc || src)
{
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index 981d7d6..56c45ba 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -90,6 +90,7 @@ FileNameDict *includeNameDict; // include names
FileNameDict *exampleNameDict; // examples
FileNameDict *imageNameDict; // images
StringDict typedefDict(1009); // all typedefs
+StringDict namespaceAliasDict(257); // all namespace aliases
GroupDict groupDict(257); // all groups
FormulaDict formulaDict(1009); // all formulas
FormulaDict formulaNameDict(1009); // the label name of all formulas
@@ -502,7 +503,7 @@ static void addIncludeFile(ClassDef *cd,FileDef *ifd,Entry *root)
// generate code for header
{
cd->setIncludeFile(fd,iName,local);
- fd->setGenerateSource(TRUE);
+ //fd->setGenerateSource(TRUE);
}
else // put #include in the class documentation without link
{
@@ -526,7 +527,7 @@ static bool addNamespace(Entry *root,ClassDef *cd)
//printf("addNameSpace() trying: %s\n",e->name.data());
QCString nsName = stripAnnonymousNamespaceScope(e->name);
if (!nsName.isEmpty() && nsName.at(0)!='@' &&
- (nd=namespaceDict[nsName])
+ (nd=getResolvedNamespace(nsName))
)
{
cd->setNamespace(nd);
@@ -688,7 +689,7 @@ static void buildClassList(Entry *root)
// namespace is part of the class name
if (!found && !namespaceName.isEmpty())
{
- NamespaceDef *nd = namespaceDict[namespaceName];
+ NamespaceDef *nd = getResolvedNamespace(namespaceName);
if (nd)
{
cd->setNamespace(nd);
@@ -850,7 +851,7 @@ static void findUsingDirectives(Entry *root)
nsName=root->parent->name.copy();
if (!nsName.isEmpty())
{
- nd = namespaceDict[nsName];
+ nd = getResolvedNamespace(nsName);
}
}
@@ -864,7 +865,7 @@ static void findUsingDirectives(Entry *root)
QCString scope=scopeOffset>0 ?
nsName.left(scopeOffset)+"::" : QCString();
//printf("Trying with scope=`%s'\n",scope.data());
- usingNd = namespaceDict[scope+root->name];
+ usingNd = getResolvedNamespace(scope+root->name);
if (scopeOffset==0)
{
scopeOffset=-1;
@@ -959,7 +960,7 @@ static void findUsingDeclarations(Entry *root)
scName=root->parent->name.copy();
if (!scName.isEmpty())
{
- nd = namespaceDict[scName];
+ nd = getResolvedNamespace(scName);
}
}
@@ -1175,7 +1176,7 @@ static MemberDef *addVariableToFile(
QCString nscope=removeAnnonymousScopes(scope);
if (!nscope.isEmpty())
{
- nd = namespaceDict[nscope];
+ nd = getResolvedNamespace(nscope);
}
}
QCString def;
@@ -1221,7 +1222,7 @@ static MemberDef *addVariableToFile(
NamespaceDef *nd=0;
if (!nscope.isEmpty())
{
- nd = namespaceDict[nscope];
+ nd = getResolvedNamespace(nscope);
}
if (nd==0 || md->getNamespaceDef()==nd)
// variable already in the scope
@@ -1540,10 +1541,11 @@ static void buildMemberList(Entry *root)
if (name.left(2)=="::") name=name.right(name.length()-2);
MemberDef::MemberType mtype;
- if (isFriend) mtype=MemberDef::Friend;
- else if (root->sig) mtype=MemberDef::Signal;
- else if (root->slot) mtype=MemberDef::Slot;
- else mtype=MemberDef::Function;
+ if (isFriend) mtype=MemberDef::Friend;
+ else if (root->mtype==Signal) mtype=MemberDef::Signal;
+ else if (root->mtype==Slot) mtype=MemberDef::Slot;
+ else if (root->mtype==DCOP) mtype=MemberDef::DCOP;
+ else mtype=MemberDef::Function;
// strip redundant template specifier for constructors
if ((i=name.find('<'))!=-1 && name.find('>')!=-1)
@@ -1699,7 +1701,7 @@ static void buildMemberList(Entry *root)
NamespaceDef *rnd = 0;
if (!root->parent->name.isEmpty())
{
- rnd = namespaceDict[root->parent->name];
+ rnd = getResolvedNamespace(root->parent->name);
}
FileDef *fd = md->getFileDef();
QCString nsName,rnsName;
@@ -1811,7 +1813,7 @@ static void buildMemberList(Entry *root)
QCString nscope=removeAnnonymousScopes(root->parent->name);
if (!nscope.isEmpty())
{
- nd = namespaceDict[nscope];
+ nd = getResolvedNamespace(nscope);
}
}
@@ -3197,7 +3199,7 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
bool ambig;
FileDef *fd=findFileDef(inputNameDict,root->fileName,ambig);
NamespaceDef *nd=0;
- if (!namespaceName.isEmpty()) nd=namespaceDict[namespaceName];
+ if (!namespaceName.isEmpty()) nd=getResolvedNamespace(namespaceName);
tcd = findClassDefinition(fd,nd,scopeName,classTempList);
if (cd && tcd==cd) // member's classes match
@@ -3367,8 +3369,9 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
if (unique)
{
MemberDef::MemberType mtype;
- if (root->sig) mtype=MemberDef::Signal;
- else if (root->slot) mtype=MemberDef::Slot;
+ if (root->mtype==Signal) mtype=MemberDef::Signal;
+ else if (root->mtype==Slot) mtype=MemberDef::Slot;
+ else if (root->mtype==DCOP) mtype=MemberDef::DCOP;
else mtype=MemberDef::Function;
// new overloaded member function
@@ -3440,10 +3443,12 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
if (newMember) // need to create a new member
{
MemberDef::MemberType mtype;
- if (root->sig)
+ if (root->mtype==Signal)
mtype=MemberDef::Signal;
- else if (root->slot)
+ else if (root->mtype==Slot)
mtype=MemberDef::Slot;
+ else if (root->mtype==DCOP)
+ mtype=MemberDef::DCOP;
else
mtype=MemberDef::Function;
@@ -3679,7 +3684,7 @@ static void findEnums(Entry *root)
{
QCString scope=root->name.left(i); // extract scope
name=root->name.right(root->name.length()-i-2); // extract name
- if ((cd=getClass(scope))==0) nd=namespaceDict[scope];
+ if ((cd=getClass(scope))==0) nd=getResolvedNamespace(scope);
}
else // no scope, check the scope in which the docs where found
{
@@ -3688,7 +3693,7 @@ static void findEnums(Entry *root)
) // found enum docs inside a compound
{
QCString scope=root->parent->name;
- if ((cd=getClass(scope))==0) nd=namespaceDict[scope];
+ if ((cd=getClass(scope))==0) nd=getResolvedNamespace(scope);
}
name=root->name.copy();
}
@@ -4103,7 +4108,9 @@ static void generateFileSources()
for (;(fd=fni.current());++fni)
{
bool src = !fd->isReference() &&
- (fd->generateSource() || Config::sourceBrowseFlag);
+ (Config::verbatimHeaderFlag
+ //fd->generateSource()
+ || Config::sourceBrowseFlag);
if (src)
{
msg("Generating code for file %s...\n",fd->name().data());
@@ -5883,8 +5890,11 @@ int main(int argc,char **argv)
msg("Adding members to member groups.\n");
addMembersToMemberGroup();
- msg("Distributing member group documentation.\n");
- distributeMemberGroupDocumentation();
+ if (Config::distributeDocFlag)
+ {
+ msg("Distributing member group documentation.\n");
+ distributeMemberGroupDocumentation();
+ }
msg("Building full member lists recursively...\n");
buildCompleteMemberLists();
diff --git a/src/doxygen.h b/src/doxygen.h
index 7b41698..efe2b83 100644
--- a/src/doxygen.h
+++ b/src/doxygen.h
@@ -91,6 +91,7 @@ extern QTextStream tagFile;
extern SectionDict sectionDict;
extern FileNameList inputNameList;
extern StringDict typedefDict;
+extern StringDict namespaceAliasDict;
extern GroupList groupList;
extern GroupDict groupDict;
extern NamespaceList namespaceList;
diff --git a/src/doxygen.pro.in b/src/doxygen.pro.in
index 6de8edd..91549dd 100644
--- a/src/doxygen.pro.in
+++ b/src/doxygen.pro.in
@@ -26,7 +26,7 @@ HEADERS = doxygen.h scanner.h doc.h classdef.h classlist.h memberdef.h \
translator_nl.h translator_se.h translator_cz.h translator_fr.h \
translator_it.h formula.h debug.h membergroup.h htmlhelp.h \
translator_ru.h translator_pl.h dot.h rtfgen.h xml.h xml_dtd.h \
- reflist.h page.h sortdict.h translator_hu.h
+ reflist.h page.h sortdict.h translator_hu.h translator_kr.h
SOURCES = doxygen.cpp scanner.cpp doc.cpp classdef.cpp classlist.cpp \
memberdef.cpp membername.cpp index.cpp memberlist.cpp \
entry.cpp logos.cpp instdox.cpp message.cpp code.cpp \
diff --git a/src/entry.cpp b/src/entry.cpp
index 1c4ef6d..3e4bc89 100644
--- a/src/entry.cpp
+++ b/src/entry.cpp
@@ -48,8 +48,7 @@ Entry::Entry(const Entry &e)
//printf("Copy New Entry %d\n",num);
section = e.section;
protection = e.protection;
- sig = e.sig;
- slot = e.slot;
+ mtype = e.mtype;
stat = e.stat;
explicitExternal = e.explicitExternal;
virt = e.virt;
@@ -219,9 +218,8 @@ void Entry::reset()
todoId = 0;
testId = 0;
section = EMPTY_SEC;
- sig = FALSE;
+ mtype = Method;
virt = Normal;
- slot = FALSE;
stat = FALSE;
proto = FALSE;
explicitExternal = FALSE;
diff --git a/src/entry.h b/src/entry.h
index 1494bae..7736be7 100644
--- a/src/entry.h
+++ b/src/entry.h
@@ -23,6 +23,7 @@
enum Protection { Public, Protected, Private } ;
enum Specifier { Normal, Virtual, Pure } ;
+enum MethodTypes { Method, Signal, Slot, DCOP };
struct BaseInfo
{
@@ -161,8 +162,9 @@ class Entry
int section; // entry type (see Sections);
Protection protection; // class protection
- bool sig; // a Qt signal ?
- bool slot; // a Qt slot ?
+ //bool sig; // a Qt signal ?
+ //bool slot; // a Qt slot ?
+ MethodTypes mtype; // signal, slot or dcop method?
bool stat; // static ?
bool explicitExternal; // explicitly defined as external?
bool proto; // prototype ?
diff --git a/src/filedef.cpp b/src/filedef.cpp
index 462ee79..3d20233 100644
--- a/src/filedef.cpp
+++ b/src/filedef.cpp
@@ -164,9 +164,7 @@ void FileDef::writeDocumentation(OutputList &ol)
ol.docify(ii->includeName);
ol.enableAll();
ol.disableAllBut(OutputGenerator::Html);
- if (fd && fd->isLinkable() &&
- (fd->generateSource() || Config::sourceBrowseFlag)
- )
+ if (fd && fd->isLinkable() && fd->generateSourceFile())
{
ol.writeObjectLink(fd->getReference(),fd->includeName(),0,ii->includeName);
}
@@ -222,7 +220,7 @@ void FileDef::writeDocumentation(OutputList &ol)
//incDepGraph.writeGraph(Config::htmlOutputDir,fd->getOutputFileBase());
}
- if (generateSource() || (!isReference() && Config::sourceBrowseFlag))
+ if (generateSourceFile())
{
ol.disableAllBut(OutputGenerator::Html);
ol.newParagraph();
diff --git a/src/filedef.h b/src/filedef.h
index ff9f5b5..78eb138 100644
--- a/src/filedef.h
+++ b/src/filedef.h
@@ -120,8 +120,11 @@ class FileDef : public Definition
void addUsingDeclaration(ClassDef *cd);
ClassList *getUsedClasses() const { return usingDeclList; }
- void setGenerateSource(bool b) { isSource=b; }
- bool generateSource() const { return isSource; }
+ //void setGenerateSource(bool b) { isSource=b; }
+ bool generateSourceFile() const
+ { return !isReference() &&
+ (Config::sourceBrowseFlag || Config::verbatimHeaderFlag);
+ }
void addIncludeDependency(FileDef *fd,const char *incName,bool local);
void addIncludedByDependency(FileDef *fd,const char *incName,bool local);
diff --git a/src/index.cpp b/src/index.cpp
index bd4810b..75d5e92 100644
--- a/src/index.cpp
+++ b/src/index.cpp
@@ -333,7 +333,7 @@ void countFiles(int &htmlFiles,int &files)
for (;(fd=fni.current());++fni)
{
bool doc = fd->isLinkableInProject();
- bool src = fd->generateSource() || Config::sourceBrowseFlag;
+ bool src = fd->generateSourceFile();
if (doc || src)
{
htmlFiles++;
@@ -415,7 +415,7 @@ void writeFileIndex(OutputList &ol)
{
//printf("Found filedef %s\n",fd->name().data());
bool doc = fd->isLinkableInProject();
- bool src = fd->generateSource() || Config::sourceBrowseFlag;
+ bool src = fd->generateSourceFile();
if ((doc || src) && !fd->isReference())
{
QCString path;
@@ -849,7 +849,7 @@ void writeAlphabeticalClassList(OutputList &ol)
if (!namesp.isEmpty())
{
ol.docify(" (");
- NamespaceDef *nd = namespaceDict[namesp];
+ NamespaceDef *nd = getResolvedNamespace(namesp);
if (nd && nd->isLinkable())
{
ol.writeObjectLink(nd->getReference(),
diff --git a/src/language.cpp b/src/language.cpp
index 31928a4..5d2c92d 100644
--- a/src/language.cpp
+++ b/src/language.cpp
@@ -32,6 +32,7 @@
#include "translator_pl.h"
#include "translator_pt.h"
#include "translator_hu.h"
+#include "translator_kr.h"
#endif
#define L_EQUAL(a) !stricmp(langName,a)
@@ -105,6 +106,10 @@ bool setTranslator(const char *langName)
{
theTranslator=new TranslatorHungarian;
}
+ else if (L_EQUAL("korean"))
+ {
+ theTranslator=new TranslatorKorean;
+ }
#endif
else // use the default language (i.e. english)
{
diff --git a/src/latexgen.cpp b/src/latexgen.cpp
index 28c7915..14a797f 100644
--- a/src/latexgen.cpp
+++ b/src/latexgen.cpp
@@ -1134,6 +1134,7 @@ void LatexGenerator::docify(const char *str)
{
static bool isCzech = theTranslator->idLanguage()=="czech";
static bool isJapanese = theTranslator->idLanguage()=="japanese";
+ static bool isKorean = theTranslator->idLanguage()=="korean";
static bool isRussian = theTranslator->idLanguage()=="russian";
static bool isGerman = theTranslator->idLanguage()=="german";
if (str)
@@ -1192,7 +1193,7 @@ void LatexGenerator::docify(const char *str)
break;
default:
- if (isJapanese)
+ if (isJapanese || isKorean)
{ // Japanese language uses wide characters
if (c>=128)
{
diff --git a/src/memberdef.cpp b/src/memberdef.cpp
index 80c5ce6..c3632ed 100644
--- a/src/memberdef.cpp
+++ b/src/memberdef.cpp
@@ -1414,6 +1414,7 @@ void MemberDef::generateXML(QTextStream &t,Definition *def)
case Signal: // fall through
case Prototype: // fall through
case Friend: // fall through
+ case DCOP: // fall through
case Slot: t << "functiondef"; xmlType=function_t; break;
}
t << " id=\"";
@@ -1562,6 +1563,7 @@ void MemberDef::generateXML(QTextStream &t,Definition *def)
case Signal: // fall through
case Prototype: // fall through
case Friend: // fall through
+ case DCOP: // fall through
case Slot: t << "functiondef"; break;
}
t << ">" << endl;
diff --git a/src/memberdef.h b/src/memberdef.h
index 288dc94..279d5b3 100644
--- a/src/memberdef.h
+++ b/src/memberdef.h
@@ -57,7 +57,8 @@ class MemberDef : public Definition
Prototype,
Signal,
Slot,
- Friend
+ Friend,
+ DCOP
};
enum
@@ -107,6 +108,7 @@ class MemberDef : public Definition
bool isFunction() const { return mtype==Function; }
bool isDefine() const { return mtype==Define; }
bool isFriend() const { return mtype==Friend; }
+ bool isDCOP() const { return mtype==DCOP; }
bool isRelated() const { return related; }
bool isStatic() const { return stat; }
bool isInline() const { return (memSpec&Entry::Inline)!=0; }
diff --git a/src/memberlist.cpp b/src/memberlist.cpp
index ee46fc5..2ad3061 100644
--- a/src/memberlist.cpp
+++ b/src/memberlist.cpp
@@ -73,6 +73,7 @@ void MemberList::countDecMembers(bool inGroup,bool countSubGroups,bool sectionPe
case MemberDef::Variable: varCnt++,m_count++; break;
case MemberDef::Function: // fall through
case MemberDef::Signal: // fall through
+ case MemberDef::DCOP: // fall through
case MemberDef::Slot: if (!md->isRelated() || md->getClassDef())
funcCnt++,m_count++;
break;
@@ -409,7 +410,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
for ( ; (md=mli.current()) ; ++mli )
{
if (
- ( md->isFunction() || md->isSignal() || md->isSlot()) &&
+ ( md->isFunction() || md->isSignal() || md->isSlot() || md->isDCOP()) &&
( !md->isRelated() || md->getClassDef() ) &&
inGroup==md->visibleMemberGroup(sectionPerType)
)
diff --git a/src/rtfgen.cpp b/src/rtfgen.cpp
index cb35eeb..5dd7aeb 100644
--- a/src/rtfgen.cpp
+++ b/src/rtfgen.cpp
@@ -326,19 +326,19 @@ static const struct
{ "ListEnum4",
"\\s94\\fi-360\\li1800\\widctlpar\\fs20\\cgrid "
},
- { "ListEnum4",
+ { "ListEnum5",
"\\s95\\fi-360\\li2160\\widctlpar\\fs20\\cgrid "
},
- { "ListEnum5",
+ { "ListEnum6",
"\\s96\\fi-360\\li2520\\widctlpar\\fs20\\cgrid "
},
- { "ListEnum6",
+ { "ListEnum7",
"\\s97\\fi-360\\li2880\\widctlpar\\fs20\\cgrid "
},
- { "ListEnum7",
+ { "ListEnum8",
"\\s98\\fi-360\\li3240\\widctlpar\\fs20\\cgrid "
},
- { "ListEnum8",
+ { "ListEnum9",
"\\s99\\fi-360\\li3600\\widctlpar\\fs20\\cgrid "
},
{ 0,
diff --git a/src/scanner.l b/src/scanner.l
index a8aefd9..9f419f8 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -100,8 +100,7 @@ static int yyLineNr = 1 ;
static int anonCount = 0 ;
static char yyFileName[4096] ;
static int lastMemberGroupLine;
-static bool sig;
-static bool slot;
+static MethodTypes mtype;
static bool gstat;
static bool removeSlashes;
static Specifier virt;
@@ -119,6 +118,7 @@ static SectionInfo::SectionType
sectionType;
static QCString funcPtrType;
static QCString templateStr;
+static QCString aliasName;
static QCString baseName;
static QCString* specName;
static QCString formulaText;
@@ -157,8 +157,7 @@ static void initParser()
curlyCount = 0;
ifCount = 0;
memberGroupId = NOGROUP;
- sig = FALSE;
- slot = FALSE;
+ mtype = Method;
gstat = FALSE;
virt = Normal;
baseVirt = Normal;
@@ -442,6 +441,8 @@ TITLE [tT][iI][tT][lL][eE]
%x CopyRound
%x CopyCurly
%x IDLUnionCase
+%x NSAliasName
+%x NSAliasArg
%%
@@ -512,8 +513,16 @@ TITLE [tT][iI][tT][lL][eE]
unput(*yytext);
BEGIN( FindMembers ) ;
}
-<FindMembers>{B}*"signals"{BN}*":"{BN}* { current->sig = sig = TRUE;
- current->slot = slot = FALSE;
+<FindMembers>{B}*"k_dcop"{BN}*":"{BN}* { current->mtype = mtype = DCOP;
+ current->protection = protection = Public ;
+ current->type.resize(0);
+ current->name.resize(0);
+ current->args.resize(0);
+ current->argList->clear();
+ lineCount() ;
+ }
+
+<FindMembers>{B}*"signals"{BN}*":"{BN}* { current->mtype = mtype = Signal;
current->protection = protection = Public ;
current->type.resize(0);
current->name.resize(0);
@@ -524,8 +533,7 @@ TITLE [tT][iI][tT][lL][eE]
<FindMembers>{B}*"public"{BN}*"slots"{BN}*":"{BN}* {
current->protection = protection = Public ;
- current->slot = slot = TRUE;
- current->sig = sig = FALSE;
+ current->mtype = mtype = Slot;
current->type.resize(0);
current->name.resize(0);
current->args.resize(0);
@@ -535,8 +543,7 @@ TITLE [tT][iI][tT][lL][eE]
<FindMembers>{B}*"protected"{BN}*"slots"{BN}*":"{BN}* {
current->protection = protection = Protected ;
- current->slot = slot = TRUE;
- current->sig = sig = FALSE;
+ current->mtype = mtype = Slot;
current->type.resize(0);
current->name.resize(0);
current->args.resize(0);
@@ -546,8 +553,7 @@ TITLE [tT][iI][tT][lL][eE]
<FindMembers>{B}*"private"{BN}*"slots"{BN}*":"{BN}* {
current->protection = protection = Private ;
- current->slot = slot = TRUE;
- current->sig = sig = FALSE;
+ current->mtype = mtype = Slot;
current->type.resize(0);
current->name.resize(0);
current->args.resize(0);
@@ -558,8 +564,7 @@ TITLE [tT][iI][tT][lL][eE]
<FindMembers>{B}*"methods"{B}":" { /* M$-IDL only: ignored */ }
<FindMembers>{B}*"public"{BN}*":"{BN}* {
current->protection = protection = Public ;
- current->slot = slot = FALSE;
- current->sig = sig = FALSE;
+ current->mtype = mtype = Method;
current->type.resize(0);
current->name.resize(0);
current->args.resize(0);
@@ -568,8 +573,7 @@ TITLE [tT][iI][tT][lL][eE]
}
<FindMembers>{B}*"protected"{BN}*":"{BN}* {
current->protection = protection = Protected ;
- current->slot = slot = FALSE;
- current->sig = sig = FALSE;
+ current->mtype = mtype = Method;
current->type.resize(0);
current->name.resize(0);
current->args.resize(0);
@@ -578,8 +582,7 @@ TITLE [tT][iI][tT][lL][eE]
}
<FindMembers>{B}*"private"{BN}*":"{BN}* {
current->protection = protection = Private ;
- current->slot = slot = FALSE;
- current->sig = sig = FALSE;
+ current->mtype = mtype = Method;
current->type.resize(0);
current->name.resize(0);
current->args.resize(0);
@@ -766,6 +769,20 @@ TITLE [tT][iI][tT][lL][eE]
//printf("Start template list\n");
BEGIN( ReadTempArgs );
}
+<FindMembers>"namespace"{BN}+/{ID}{BN}*"=" { // namespace alias
+ lineCount();
+ BEGIN( NSAliasName );
+ }
+<NSAliasName>{ID} {
+ aliasName = yytext;
+ BEGIN( NSAliasArg );
+ }
+<NSAliasArg>({ID}"::")*{ID} {
+ namespaceAliasDict.insert(aliasName,new QCString(yytext));
+ }
+<NSAliasArg>";" {
+ BEGIN( FindMembers );
+ }
<FindMembers>"using"{BN}+ {
current->startLine=yyLineNr;
lineCount();
@@ -780,10 +797,9 @@ TITLE [tT][iI][tT][lL][eE]
current_root->addSubEntry(current);
current = new Entry ;
current->protection = protection ;
- current->sig = sig;
+ current->mtype = mtype;
current->virt = virt;
current->stat = gstat;
- current->slot = slot;
current->mGrpId = memberGroupId;
BEGIN(Using);
}
@@ -794,10 +810,9 @@ TITLE [tT][iI][tT][lL][eE]
current_root->addSubEntry(current);
current = new Entry ;
current->protection = protection ;
- current->sig = sig;
+ current->mtype = mtype;
current->virt = virt;
current->stat = gstat;
- current->slot = slot;
current->mGrpId = memberGroupId;
BEGIN(Using);
}
@@ -958,10 +973,9 @@ TITLE [tT][iI][tT][lL][eE]
current_root->addSubEntry(current);
current = new Entry ;
current->protection = protection ;
- current->sig = sig;
+ current->mtype = mtype;
current->virt = virt;
current->stat = gstat;
- current->slot = slot;
current->mGrpId = memberGroupId;
BEGIN(FindMembers);
}
@@ -1258,8 +1272,7 @@ TITLE [tT][iI][tT][lL][eE]
// variable found
current->section = Entry::EMPTY_SEC ;
current->protection = protection;
- current->slot = slot = FALSE;
- current->sig = sig = FALSE;
+ current->mtype = Method;
current->virt = Normal;
current->stat = gstat;
current->mGrpId = memberGroupId;
@@ -1355,10 +1368,9 @@ TITLE [tT][iI][tT][lL][eE]
current_root->parent->addSubEntry(current);
current = new Entry ;
current->protection = protection ;
- current->sig = sig;
+ current->mtype = mtype;
current->virt = virt;
current->stat = gstat;
- current->slot = slot;
current->mGrpId = memberGroupId;
}
else // probably a redundant ,
@@ -1429,10 +1441,9 @@ TITLE [tT][iI][tT][lL][eE]
{ // namespaces and interfaces ends with a closing bracket without semicolon
current->reset();
current->protection = protection ;
- current->sig = sig;
+ current->mtype = mtype;
current->virt = virt;
current->stat = gstat;
- current->slot = slot;
current->mGrpId = memberGroupId;
BEGIN( FindMembers ) ;
}
@@ -1457,10 +1468,9 @@ TITLE [tT][iI][tT][lL][eE]
current_root->addSubEntry( current ) ;
current = new Entry;
current->protection = protection ;
- current->sig = sig;
+ current->mtype = mtype;
current->virt = virt;
current->stat = gstat;
- current->slot = slot;
current->mGrpId = memberGroupId;
BEGIN(MemberSpecSkip);
}
@@ -1509,10 +1519,9 @@ TITLE [tT][iI][tT][lL][eE]
{
Entry *varEntry=new Entry;
varEntry->protection = current->protection ;
- varEntry->sig = current->sig;
+ varEntry->mtype = current->mtype;
varEntry->virt = current->virt;
varEntry->stat = current->stat;
- varEntry->slot = current->slot;
varEntry->section = Entry::VARIABLE_SEC;
varEntry->name = msName.stripWhiteSpace();
varEntry->type = current->type.simplifyWhiteSpace()+" ";
@@ -1548,10 +1557,9 @@ TITLE [tT][iI][tT][lL][eE]
isTypedef=FALSE;
current->reset();
current->protection = protection ;
- current->sig = sig;
+ current->mtype = mtype;
current->virt = virt;
current->stat = gstat;
- current->slot = slot;
current->mGrpId = memberGroupId;
BEGIN( FindMembers );
}
@@ -1962,10 +1970,9 @@ TITLE [tT][iI][tT][lL][eE]
current_root->addSubEntry(current);
current = new Entry ;
current->protection = protection;
- current->sig = sig;
+ current->mtype = mtype;
current->virt = virt;
current->stat = gstat;
- current->slot = slot;
current->mGrpId = memberGroupId;
lastCurlyContext = FindMembers;
if( *yytext == '{' )
@@ -2564,6 +2571,12 @@ TITLE [tT][iI][tT][lL][eE]
}
<SkipHtmlComment>"--"[!]?">" { BEGIN(lastSkipHtmlCommentContext); }
<SkipHtmlComment>.
+<AfterDoc,Doc,ClassDoc,PageDoc>("\\\\"|"@@")("todo"|"test")/[^a-z_A-Z0-9] {
+ current->doc+=yytext;
+ }
+<AfterDocLine,LineDoc,JavaDoc>("\\\\"|"@@")("todo"|"test")/[^a-z_A-Z0-9] {
+ current->brief+=yytext;
+ }
<AfterDoc,AfterDocLine,LineDoc,Doc,JavaDoc,ClassDoc,PageDoc>{CMD}"todo"/[^a-z_A-Z0-9] {
todoStartContext = YY_START;
lastBriefContext = TodoParam; // this is where we will continue at the end of the argument
@@ -3019,10 +3032,9 @@ TITLE [tT][iI][tT][lL][eE]
current_root->addSubEntry(current);
current = new Entry ;
current->protection = protection ;
- current->sig = sig;
+ current->mtype = mtype;
current->virt = virt;
current->stat = gstat;
- current->slot = slot;
current->mGrpId = memberGroupId;
BEGIN( FindMembers );
}
@@ -3300,10 +3312,9 @@ TITLE [tT][iI][tT][lL][eE]
current_root->addSubEntry(current);
current = new Entry ;
current->protection = protection ;
- current->sig = sig;
+ current->mtype = mtype;
current->virt = virt;
current->stat = gstat;
- current->slot = slot;
current->mGrpId = memberGroupId;
BEGIN( FindMembers );
}
@@ -3399,8 +3410,7 @@ static void parseCompounds(Entry *rt)
current->protection = protection = ce->protection;
else // named struct, union, or interface
current->protection = protection = Public ;
- sig = FALSE;
- slot = FALSE;
+ mtype = Method;
gstat = FALSE;
virt = Normal;
current->mGrpId = memberGroupId = ce->mGrpId;
@@ -3419,8 +3429,7 @@ void parseMain(Entry *rt)
initParser();
anonCount = 0;
protection = Public;
- sig = FALSE;
- slot = FALSE;
+ mtype = Method;
gstat = FALSE;
virt = Normal;
current_root = rt;
diff --git a/src/translator.h b/src/translator.h
index d5a82f4..5808ae1 100644
--- a/src/translator.h
+++ b/src/translator.h
@@ -24,6 +24,89 @@
class Translator
{
+ protected:
+ /*! Returns the string converted from windows-1250 to iso-8859-2. */
+ /* The method was designed initially for translator_cz.h.
+ It is used for on-line encoding conversion related to conditional
+ compilation in Unix/MS Windows environments (both use different
+ encoding). Later, the translator_hr.h (by Boris Bralo) used and
+ improved the same style. As the method with the translation table
+ was the same, the decision to move it to this base class was made.
+ The same holds for ISO88592ToWin1250() method. It is recommended
+ for possibly other similar methods in future.
+ */
+ QCString Win1250ToISO88592(const QCString & sInput)
+ {
+ // The conversion table for characters >127
+ //
+ static const char WinToISOTab[] = {
+ '\x80', '\x81', '\x82', '\x83', '\x84', '\x85', '\x86', '\x87',
+ '\x88', '\x89', '\xA9', '\x8B', '\xA6', '\xAB', '\xAE', '\xAC',
+ '\x90', '\x91', '\x92', '\x93', '\x94', '\x2E', '\x96', '\x97',
+ '\x98', '\x99', '\xB9', '\x9B', '\xB6', '\xBB', '\xBE', '\xBC',
+ '\xA0', '\x20', '\x20', '\xA3', '\xA4', '\xA1', '\xA6', '\xA7',
+ '\x22', '\xA9', '\xAA', '\x3C', '\xAC', '\x2D', '\xAE', '\xAF',
+ '\x2E', '\x2B', '\x20', '\xB3', '\x27', '\x75', '\xB6', '\xB7',
+ '\x20', '\xB1', '\xBA', '\x3E', '\xA5', '\x22', '\xB5', '\xBF',
+ '\xC0', '\xC1', '\xC2', '\xC3', '\xC4', '\xC5', '\xC6', '\xC7',
+ '\xC8', '\xC9', '\xCA', '\xCB', '\xCC', '\xCD', '\xCE', '\xCF',
+ '\xD0', '\xD1', '\xD2', '\xD3', '\xD4', '\xD5', '\xD6', '\xD7',
+ '\xD8', '\xD9', '\xDA', '\xDB', '\xDC', '\xDD', '\xDE', '\xDF',
+ '\xE0', '\xE1', '\xE2', '\xE3', '\xE4', '\xE5', '\xE6', '\xE7',
+ '\xE8', '\xE9', '\xEA', '\xEB', '\xEC', '\xED', '\xEE', '\xEF',
+ '\xF0', '\xF1', '\xF2', '\xF3', '\xF4', '\xF5', '\xF6', '\x2D',
+ '\xF8', '\xF9', '\xFA', '\xFB', '\xFC', '\xFD', '\xFE', '\xFF',
+ '\0'
+ };
+
+ QCString result;
+ int len = sInput.length();
+
+ for (int i = 0; i < len; ++i)
+ {
+ unsigned int c = sInput[i];
+ result += (c > 127) ? WinToISOTab[c & 0x7F] : c;
+ }
+ return result;
+ }
+
+ /*! returns the string converted from iso-8859-2 to windows-1250 */
+ /* See the comments of the Win1250ToISO88592() method for details. */
+ QCString ISO88592ToWin1250(const QCString & sInput)
+ {
+ // The conversion table for characters >127
+ //
+ static const char ISOToWinTab[] = {
+ '\x80', '\x81', '\x82', '\x83', '\x84', '\x85', '\x86', '\x87',
+ '\x88', '\x89', '\x8A', '\x8B', '\x8C', '\x8D', '\x8E', '\x8F',
+ '\x90', '\x91', '\x92', '\x93', '\x94', '\x95', '\x96', '\x97',
+ '\x98', '\x99', '\x9A', '\x9B', '\x9C', '\x9D', '\x9E', '\x9F',
+ '\xA0', '\xA5', '\xA2', '\xA3', '\xA4', '\xBC', '\x8C', '\xA7',
+ '\xA8', '\x8A', '\xAA', '\x8D', '\x8F', '\xAD', '\x8E', '\xAF',
+ '\xB0', '\xB9', '\xB2', '\xB3', '\xB4', '\xBE', '\x9C', '\xB7',
+ '\xB8', '\x9A', '\xBA', '\x9D', '\x9F', '\xBD', '\x9E', '\xBF',
+ '\xC0', '\xC1', '\xC2', '\xC3', '\xC4', '\xC5', '\xC6', '\xC7',
+ '\xC8', '\xC9', '\xCA', '\xCB', '\xCC', '\xCD', '\xCE', '\xCF',
+ '\xD0', '\xD1', '\xD2', '\xD3', '\xD4', '\xD5', '\xD6', '\xD7',
+ '\xD8', '\xD9', '\xDA', '\xDB', '\xDC', '\xDD', '\xDE', '\xDF',
+ '\xE0', '\xE1', '\xE2', '\xE3', '\xE4', '\xE5', '\xE6', '\xE7',
+ '\xE8', '\xE9', '\xEA', '\xEB', '\xEC', '\xED', '\xEE', '\xEF',
+ '\xF0', '\xF1', '\xF2', '\xF3', '\xF4', '\xF5', '\xF6', '\xF7',
+ '\xF8', '\xF9', '\xFA', '\xFB', '\xFC', '\xFD', '\xFE', '\xFF',
+ '\0'
+ };
+ QCString result;
+ int len = sInput.length();
+
+ for (int i = 0; i < len; ++i)
+ {
+ unsigned int c = sInput[i];
+ result += (c > 127) ? ISOToWinTab[c & 0x7F] : c;
+ }
+ return result;
+ }
+
+
public:
// --- Language contol methods -------------------
@@ -993,6 +1076,16 @@ class Translator
return "Test List";
}
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.1
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as a section header for KDE-2 IDL methods */
+ virtual QCString trDCOPMethods()
+ {
+ return "DCOP Methods";
+ }
+
};
#endif
diff --git a/src/translator_cz.h b/src/translator_cz.h
index b17fa90..c833a15 100644
--- a/src/translator_cz.h
+++ b/src/translator_cz.h
@@ -48,105 +48,48 @@
// 2000/08/02 (Petr Prikryl)
// - Updated for 1.2.0
//
+// 2000/08/24 (Petr Prikryl)
+// - Changed trTodo() text from "Udelat" to "Planovane upravy"
+// which seems more appropriate in the document context.
+// - Typo corrected in trMemberTypedefDocumentation().
+//
+// 2000/08/30 (Petr Prikryl)
+// - Macro DECODE replaced by the inline Decode() (proposed by
+// Boris Bralo <boris.bralo@zg.tel.hr> in translator_hr.h).
+//
+// 2000/08/31 (Petr Prikryl)
+// - Methods ISOToWin() and WinToISO() renamed and moved to the
+// base class (in translator.h) to be shared with the Croatian
+// translator.
+//
+// 2000/09/06 (Petr Prikryl)
+// - Reimplementation of the method trInheritsList() which takes
+// into account quantity of base classes.
+//
// Notices:
// --------
// The conditional compilation ensures or the neutral functionality
-// of the macro DECODE, or calling the WinToISO() method for
-// on-line encoding conversion. If you want to maintain the source
-// in the iso-8859-2, do convert the source, change the conditional
-// definition of the DECODE macro using the method ISOToWin() --
-// for conversion of strings for the Windows version. The version
-// which does not call the function is slightly faster.
-//
-// Only one of the private method WinToISO() and ISOToWin() is
-// necessary depending on whether this source is maintained in
-// windows-1250 or iso-8859-2 encoding. However, there is not a
-// big loose of space when both methods with the conversion tables
-// are supported. The other (not used now) may be handy in future.
-// Do not erase it.
-
-
-// Here the DECODE macro assumes the source written in Windows encoding.
-//
-#ifdef _WIN32
- #define DECODE(sInput) sInput
-#else
- #define DECODE(sInput) WinToISO(sInput)
-#endif
-
+// of the private inline Decode(), or calling the WinToISO() method
+// for on-line encoding conversion. If you want to maintain the
+// source in the iso-8859-2, do convert the source encoding, change
+// the conditional definition of the inline Decode() using the
+// method ISO88592ToWin1250() -- for conversion of strings for the
+// Windows version. The version which does not call the function is
+// probably slightly faster (if the inline is well optimized).
class TranslatorCzech : public Translator
{
private:
- /*! returns the string converted from windows-1250 to iso-8859-2 */
- QCString WinToISO(const QCString sInput)
- {
- // The conversion table for characters >127
- //
- static const char WinToISOTab[] = {
- '\x80', '\x81', '\x82', '\x83', '\x84', '\x85', '\x86', '\x87',
- '\x88', '\x89', '\xA9', '\x8B', '\xA6', '\xAB', '\xAE', '\xAC',
- '\x90', '\x91', '\x92', '\x93', '\x94', '\x2E', '\x96', '\x97',
- '\x98', '\x99', '\xB9', '\x9B', '\xB6', '\xBB', '\xBE', '\xBC',
- '\xA0', '\x20', '\x20', '\xA3', '\xA4', '\xA1', '\xA6', '\xA7',
- '\x22', '\xA9', '\xAA', '\x3C', '\xAC', '\x2D', '\xAE', '\xAF',
- '\x2E', '\x2B', '\x20', '\xB3', '\x27', '\x75', '\xB6', '\xB7',
- '\x20', '\xB1', '\xBA', '\x3E', '\xA5', '\x22', '\xB5', '\xBF',
- '\xC0', '\xC1', '\xC2', '\xC3', '\xC4', '\xC5', '\xC6', '\xC7',
- '\xC8', '\xC9', '\xCA', '\xCB', '\xCC', '\xCD', '\xCE', '\xCF',
- '\xD0', '\xD1', '\xD2', '\xD3', '\xD4', '\xD5', '\xD6', '\xD7',
- '\xD8', '\xD9', '\xDA', '\xDB', '\xDC', '\xDD', '\xDE', '\xDF',
- '\xE0', '\xE1', '\xE2', '\xE3', '\xE4', '\xE5', '\xE6', '\xE7',
- '\xE8', '\xE9', '\xEA', '\xEB', '\xEC', '\xED', '\xEE', '\xEF',
- '\xF0', '\xF1', '\xF2', '\xF3', '\xF4', '\xF5', '\xF6', '\x2D',
- '\xF8', '\xF9', '\xFA', '\xFB', '\xFC', '\xFD', '\xFE', '\xFF',
- '\0'
- };
-
- QCString result;
- int len = sInput.length();
-
- for (int i = 0; i < len; ++i)
- {
- unsigned int c = sInput[i];
- result += (c > 127) ? WinToISOTab[c & 0x7F] : c;
- }
- return result;
- }
-
- /*! returns the string converted from iso-8859-2 to windows-1250 */
- QCString ISOToWin(const QCString sInput)
- {
- // The conversion table for characters >127
- //
- static const char ISOToWinTab[] = {
- '\x80', '\x81', '\x82', '\x83', '\x84', '\x85', '\x86', '\x87',
- '\x88', '\x89', '\x8A', '\x8B', '\x8C', '\x8D', '\x8E', '\x8F',
- '\x90', '\x91', '\x92', '\x93', '\x94', '\x95', '\x96', '\x97',
- '\x98', '\x99', '\x9A', '\x9B', '\x9C', '\x9D', '\x9E', '\x9F',
- '\xA0', '\xA5', '\xA2', '\xA3', '\xA4', '\xBC', '\x8C', '\xA7',
- '\xA8', '\x8A', '\xAA', '\x8D', '\x8F', '\xAD', '\x8E', '\xAF',
- '\xB0', '\xB9', '\xB2', '\xB3', '\xB4', '\xBE', '\x9C', '\xB7',
- '\xB8', '\x9A', '\xBA', '\x9D', '\x9F', '\xBD', '\x9E', '\xBF',
- '\xC0', '\xC1', '\xC2', '\xC3', '\xC4', '\xC5', '\xC6', '\xC7',
- '\xC8', '\xC9', '\xCA', '\xCB', '\xCC', '\xCD', '\xCE', '\xCF',
- '\xD0', '\xD1', '\xD2', '\xD3', '\xD4', '\xD5', '\xD6', '\xD7',
- '\xD8', '\xD9', '\xDA', '\xDB', '\xDC', '\xDD', '\xDE', '\xDF',
- '\xE0', '\xE1', '\xE2', '\xE3', '\xE4', '\xE5', '\xE6', '\xE7',
- '\xE8', '\xE9', '\xEA', '\xEB', '\xEC', '\xED', '\xEE', '\xEF',
- '\xF0', '\xF1', '\xF2', '\xF3', '\xF4', '\xF5', '\xF6', '\xF7',
- '\xF8', '\xF9', '\xFA', '\xFB', '\xFC', '\xFD', '\xFE', '\xFF',
- '\0'
- };
- QCString result;
- int len = sInput.length();
-
- for (int i = 0; i < len; ++i)
- {
- unsigned int c = sInput[i];
- result += (c > 127) ? ISOToWinTab[c & 0x7F] : c;
- }
- return result;
+ /*! The Decode() inline assumes the source written in the
+ Windows encoding (maintainer dependent).
+ */
+ inline QCString Decode(const QCString & sInput)
+ {
+#ifdef _WIN32
+ return sInput;
+#else
+ return Win1250ToISO88592(sInput);
+#endif
}
public:
@@ -176,51 +119,51 @@ class TranslatorCzech : public Translator
/*! used in the compound documentation before a list of related functions. */
virtual QCString trRelatedFunctions()
- { return DECODE("Související funkce"); }
+ { return Decode("Související funkce"); }
/*! subscript for the related functions. */
virtual QCString trRelatedSubscript()
- { return DECODE("(Uvedené funkce nejsou èlenskými funkcemi.)"); }
+ { return Decode("(Uvedené funkce nejsou èlenskými funkcemi.)"); }
/*! header that is put before the detailed description of files, classes and namespaces. */
virtual QCString trDetailedDescription()
- { return DECODE("Detailní popis"); }
+ { return Decode("Detailní popis"); }
/*! header that is put before the list of typedefs. */
virtual QCString trMemberTypedefDocumentation()
- { return DECODE("Dokumentace k èlenských typùm"); }
+ { return Decode("Dokumentace k èlenským typùm"); }
/*! header that is put before the list of enumerations. */
virtual QCString trMemberEnumerationDocumentation()
- { return DECODE("Dokumentace k èlenským výètùm"); }
+ { return Decode("Dokumentace k èlenským výètùm"); }
/*! header that is put before the list of member functions. */
virtual QCString trMemberFunctionDocumentation()
- { return DECODE("Dokumentace k metodám"); }
+ { return Decode("Dokumentace k metodám"); }
/*! header that is put before the list of member attributes. */
virtual QCString trMemberDataDocumentation()
- { return DECODE("Dokumentace k datovým èlenùm"); }
+ { return Decode("Dokumentace k datovým èlenùm"); }
/*! this is the text of a link put after brief descriptions. */
virtual QCString trMore()
- { return DECODE("(...)"); }
+ { return Decode("(...)"); }
/*! put in the class documentation */
virtual QCString trListOfAllMembers()
- { return DECODE("Seznam všech èlenù."); }
+ { return Decode("Seznam všech èlenù."); }
/*! used as the title of the "list of all members" page of a class */
virtual QCString trMemberList()
- { return DECODE("Seznam èlenù tøídy"); }
+ { return Decode("Seznam èlenù tøídy"); }
/*! this is the first part of a sentence that is followed by a class name */
virtual QCString trThisIsTheListOfAllMembers()
- { return DECODE("Zde naleznete úplný seznam èlenù tøídy "); }
+ { return Decode("Zde naleznete úplný seznam èlenù tøídy "); }
/*! this is the remainder of the sentence after the class name */
virtual QCString trIncludingInheritedMembers()
- { return DECODE(", vèetnì všech zdìdìných èlenù."); }
+ { return Decode(", vèetnì všech zdìdìných èlenù."); }
/*! this is put at the author sections at the bottom of man pages.
* parameter s is name of the project name.
@@ -230,26 +173,26 @@ class TranslatorCzech : public Translator
"ze zdrojových textù";
if (s) result+=(QCString)" projektu "+s;
result+=".";
- return DECODE(result);
+ return Decode(result);
}
/*! put after an enum name in the list of all members */
virtual QCString trEnumName()
- { return DECODE("jméno výètu"); }
+ { return Decode("jméno výètu"); }
/*! put after an enum value in the list of all members */
virtual QCString trEnumValue()
- { return DECODE("hodnota výètu"); }
+ { return Decode("hodnota výètu"); }
/*! put after an undocumented member in the list of all members */
virtual QCString trDefinedIn()
- { return DECODE("definován v"); }
+ { return Decode("definován v"); }
/*! put as in introduction in the verbatim header file of a class.
* parameter f is the name of the include file.
*/
virtual QCString trVerbatimText(const char *f)
- { return DECODE((QCString)"Úplný text vkládaného souboru "+f+"."); }
+ { return Decode((QCString)"Úplný text vkládaného souboru "+f+"."); }
// quick reference sections
@@ -257,47 +200,47 @@ class TranslatorCzech : public Translator
* compounds or files (see the \group command).
*/
virtual QCString trModules()
- { return DECODE("Moduly"); }
+ { return Decode("Moduly"); }
/*! This is put above each page as a link to the class hierarchy */
virtual QCString trClassHierarchy()
- { return DECODE("Hierarchie tøíd"); }
+ { return Decode("Hierarchie tøíd"); }
/*! This is put above each page as a link to the list of annotated classes */
virtual QCString trCompoundList()
- { return DECODE("Seznam tøíd"); }
+ { return Decode("Seznam tøíd"); }
/*! This is put above each page as a link to the list of documented files */
virtual QCString trFileList()
- { return DECODE("Seznam souborù"); }
+ { return Decode("Seznam souborù"); }
/*! This is put above each page as a link to the list of all verbatim headers */
virtual QCString trHeaderFiles()
- { return DECODE("Seznam hlavièkových souborù"); }
+ { return Decode("Seznam hlavièkových souborù"); }
/*! This is put above each page as a link to all members of compounds. */
virtual QCString trCompoundMembers()
- { return DECODE("Seznam èlenù tøíd"); }
+ { return Decode("Seznam èlenù tøíd"); }
/*! This is put above each page as a link to all members of files. */
virtual QCString trFileMembers()
- { return DECODE("Symboly v souborech"); }
+ { return Decode("Symboly v souborech"); }
/*! This is put above each page as a link to all related pages. */
virtual QCString trRelatedPages()
- { return DECODE("Související stránky"); }
+ { return Decode("Související stránky"); }
/*! This is put above each page as a link to all examples. */
virtual QCString trExamples()
- { return DECODE("Pøíklady"); }
+ { return Decode("Pøíklady"); }
/*! This is put above each page as a link to the search engine. */
virtual QCString trSearch()
- { return DECODE("Hledat"); }
+ { return Decode("Hledat"); }
/*! This is an introduction to the class hierarchy. */
virtual QCString trClassHierarchyDescription()
- { return DECODE("Zde naleznete seznam, vyjadøující vztah dìdiènosti tøíd. "
+ { return Decode("Zde naleznete seznam, vyjadøující vztah dìdiènosti tøíd. "
"Je seøazen pøibližnì (ale ne úplnì) podle abecedy:");
}
@@ -307,12 +250,12 @@ class TranslatorCzech : public Translator
QCString result="Zde naleznete seznam všech ";
if (!extractAll) result+="dokumentovaných ";
result+="souborù se struènými popisy:";
- return DECODE(result);
+ return Decode(result);
}
/*! This is an introduction to the annotated compound list. */
virtual QCString trCompoundListDescription()
- { return DECODE("Následující seznam obsahuje pøedevším identifikace tøíd, "
+ { return Decode("Následující seznam obsahuje pøedevším identifikace tøíd, "
"ale nachází se zde i další netriviální prvky, jako jsou "
"struktury (struct), unie (union) a rozhraní (interface). "
"V seznamu jsou uvedeny jejich struèné popisy:");
@@ -328,7 +271,7 @@ class TranslatorCzech : public Translator
result+="dokumentaci tøíd, ke kterým pøíslušejí:";
else
result+="tøídy, ke kterým pøíslušejí:";
- return DECODE(result);
+ return Decode(result);
}
/*! This is an introduction to the page with all file members. */
@@ -349,197 +292,197 @@ class TranslatorCzech : public Translator
"Symbol mùže oznaèovat makro, typ, instanci tøídy, "
"promìnnou, konstantu, funkci, výèet, hodnotu výètu a podobnì:";
- return DECODE(result);
+ return Decode(result);
}
/*! This is an introduction to the page with the list of all header files. */
virtual QCString trHeaderFilesDescription()
- { return DECODE("Zde naleznete hlavièkové soubory, které tvoøí "
+ { return Decode("Zde naleznete hlavièkové soubory, které tvoøí "
"aplikaèní programátorské rozhraní (API):"); }
/*! This is an introduction to the page with the list of all examples */
virtual QCString trExamplesDescription()
- { return DECODE("Zde naleznete seznam všech pøíkladù:"); }
+ { return Decode("Zde naleznete seznam všech pøíkladù:"); }
/*! This is an introduction to the page with the list of related pages */
virtual QCString trRelatedPagesDescription()
- { return DECODE("Zde naleznete seznam všech souvisejících stránek "
+ { return Decode("Zde naleznete seznam všech souvisejících stránek "
"dokumentace:"); }
/*! This is an introduction to the page with the list of class/file groups */
virtual QCString trModulesDescription()
- { return DECODE("Zde naleznete seznam všech modulù:"); }
+ { return Decode("Zde naleznete seznam všech modulù:"); }
/*! This sentences is used in the annotated class/file lists if no brief
* description is given.
*/
virtual QCString trNoDescriptionAvailable()
- { return DECODE("Popis není k dispozici"); }
+ { return Decode("Popis není k dispozici"); }
// index titles (the project name is prepended for these)
/*! This is used in HTML as the title of index.html. */
virtual QCString trDocumentation()
- { return DECODE("Dokumentace"); }
+ { return Decode("Dokumentace"); }
/*! This is used in LaTeX as the title of the chapter with the
* index of all groups.
*/
virtual QCString trModuleIndex()
- { return DECODE("Rejstøík modulù"); }
+ { return Decode("Rejstøík modulù"); }
/*! This is used in LaTeX as the title of the chapter with the
* class hierarchy.
*/
virtual QCString trHierarchicalIndex()
- { return DECODE("Rejstøík hierarchie tøíd"); }
+ { return Decode("Rejstøík hierarchie tøíd"); }
/*! This is used in LaTeX as the title of the chapter with the
* annotated compound index.
*/
virtual QCString trCompoundIndex()
- { return DECODE("Rejstøík tøíd"); }
+ { return Decode("Rejstøík tøíd"); }
/*! This is used in LaTeX as the title of the chapter with the
* list of all files.
*/
virtual QCString trFileIndex()
- { return DECODE("Rejstøík souborù"); }
+ { return Decode("Rejstøík souborù"); }
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all groups.
*/
virtual QCString trModuleDocumentation()
- { return DECODE("Dokumentace modulù"); }
+ { return Decode("Dokumentace modulù"); }
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all classes, structs and unions.
*/
virtual QCString trClassDocumentation()
- { return DECODE("Dokumentace tøíd"); }
+ { return Decode("Dokumentace tøíd"); }
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all files.
*/
virtual QCString trFileDocumentation()
- { return DECODE("Dokumentace souborù"); }
+ { return Decode("Dokumentace souborù"); }
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all examples.
*/
virtual QCString trExampleDocumentation()
- { return DECODE("Dokumentace pøíkladù"); }
+ { return Decode("Dokumentace pøíkladù"); }
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all related pages.
*/
virtual QCString trPageDocumentation()
- { return DECODE("Dokumentace souvisejících stránek"); }
+ { return Decode("Dokumentace souvisejících stránek"); }
/*! This is used in LaTeX as the title of the document */
virtual QCString trReferenceManual()
- { return DECODE("Referenèní pøíruèka"); }
+ { return Decode("Referenèní pøíruèka"); }
/*! This is used in the documentation of a file as a header before the
* list of defines
*/
virtual QCString trDefines()
- { return DECODE("Definice maker"); }
+ { return Decode("Definice maker"); }
/*! This is used in the documentation of a file as a header before the
* list of function prototypes
*/
virtual QCString trFuncProtos()
- { return DECODE("Prototypy"); }
+ { return Decode("Prototypy"); }
/*! This is used in the documentation of a file as a header before the
* list of typedefs
*/
virtual QCString trTypedefs()
- { return DECODE("Definice typù"); }
+ { return Decode("Definice typù"); }
/*! This is used in the documentation of a file as a header before the
* list of enumerations
*/
virtual QCString trEnumerations()
- { return DECODE("Výèty"); }
+ { return Decode("Výèty"); }
/*! This is used in the documentation of a file as a header before the
* list of (global) functions
*/
virtual QCString trFunctions()
- { return DECODE("Funkce"); }
+ { return Decode("Funkce"); }
/*! This is used in the documentation of a file as a header before the
* list of (global) variables
*/
virtual QCString trVariables()
- { return DECODE("Promìnné"); }
+ { return Decode("Promìnné"); }
/*! This is used in the documentation of a file as a header before the
* list of (global) variables
*/
virtual QCString trEnumerationValues()
- { return DECODE("Hodnoty výètù"); }
+ { return Decode("Hodnoty výètù"); }
/*! This is used in man pages as the author section. */
virtual QCString trAuthor()
- { return DECODE("Autor"); }
+ { return Decode("Autor"); }
/*! This is used in the documentation of a file before the list of
* documentation blocks for defines
*/
virtual QCString trDefineDocumentation()
- { return DECODE("Dokumentace k definicím maker"); }
+ { return Decode("Dokumentace k definicím maker"); }
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for function prototypes
*/
virtual QCString trFunctionPrototypeDocumentation()
- { return DECODE("Dokumentace prototypù"); }
+ { return Decode("Dokumentace prototypù"); }
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for typedefs
*/
virtual QCString trTypedefDocumentation()
- { return DECODE("Dokumentace definic typù"); }
+ { return Decode("Dokumentace definic typù"); }
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration types
*/
virtual QCString trEnumerationTypeDocumentation()
- { return DECODE("Dokumentace výètových typù"); }
+ { return Decode("Dokumentace výètových typù"); }
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration values
*/
virtual QCString trEnumerationValueDocumentation()
- { return DECODE("Dokumentace výètových hodnot"); }
+ { return Decode("Dokumentace výètových hodnot"); }
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for functions
*/
virtual QCString trFunctionDocumentation()
- { return DECODE("Dokumentace funkcí"); }
+ { return Decode("Dokumentace funkcí"); }
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for variables
*/
virtual QCString trVariableDocumentation()
- { return DECODE("Dokumentace promìnných"); }
+ { return Decode("Dokumentace promìnných"); }
/*! This is used in the documentation of a file/namespace/group before
* the list of links to documented compounds
*/
virtual QCString trCompounds()
- { return DECODE("Tøídy"); }
+ { return Decode("Tøídy"); }
/*! This is used in the documentation of a group before the list of
* links to documented files
*/
virtual QCString trFiles()
- { return DECODE("Soubory"); }
+ { return Decode("Soubory"); }
/*! This is used in the standard footer of each page and indicates when
* the page was generated
@@ -549,75 +492,75 @@ class TranslatorCzech : public Translator
QCString result=(QCString)"Generováno "+date;
if (projName) result+=(QCString)" pro projekt "+projName;
result+=(QCString)" programem";
- return DECODE(result);
+ return Decode(result);
}
/*! This is part of the sentence used in the standard footer of each page.
*/
virtual QCString trWrittenBy()
{
- return DECODE(" -- autor ");
+ return Decode(" -- autor ");
}
/*! this text is put before a class diagram */
virtual QCString trClassDiagram(const char *clName)
{
- return DECODE((QCString)"Diagram dìdiènosti pro tøídu "+clName);
+ return Decode((QCString)"Diagram dìdiènosti pro tøídu "+clName);
}
/*! this text is generated when the \internal command is used. */
virtual QCString trForInternalUseOnly()
- { return DECODE("Pouze pro vnitøní použití."); }
+ { return Decode("Pouze pro vnitøní použití."); }
/*! this text is generated when the \reimp command is used. */
virtual QCString trReimplementedForInternalReasons()
- { return DECODE("Reimplementováno z interních dùvodù; "
+ { return Decode("Reimplementováno z interních dùvodù; "
"aplikaèní rozhraní zachováno."); }
/*! this text is generated when the \warning command is used. */
virtual QCString trWarning()
- { return DECODE("Pozor"); }
+ { return Decode("Pozor"); }
/*! this text is generated when the \bug command is used. */
virtual QCString trBugsAndLimitations()
- { return DECODE("Chyby a omezení"); }
+ { return Decode("Chyby a omezení"); }
/*! this text is generated when the \version command is used. */
virtual QCString trVersion()
- { return DECODE("Verze"); }
+ { return Decode("Verze"); }
/*! this text is generated when the \date command is used. */
virtual QCString trDate()
- { return DECODE("Datum"); }
+ { return Decode("Datum"); }
/*! this text is generated when the \author command is used. */
virtual QCString trAuthors()
- { return DECODE("Autor/autoøi"); }
+ { return Decode("Autor/autoøi"); }
/*! this text is generated when the \return command is used. */
virtual QCString trReturns()
- { return DECODE("Návratová hodnota"); }
+ { return Decode("Návratová hodnota"); }
/*! this text is generated when the \sa command is used. */
virtual QCString trSeeAlso()
- { return DECODE("Viz také"); }
+ { return Decode("Viz také"); }
/*! this text is generated when the \param command is used. */
virtual QCString trParameters()
- { return DECODE("Parametry"); }
+ { return Decode("Parametry"); }
/*! this text is generated when the \exception command is used. */
virtual QCString trExceptions()
- { return DECODE("Výjimky"); }
+ { return Decode("Výjimky"); }
/*! this text is used in the title page of a LaTeX document. */
virtual QCString trGeneratedBy()
- { return DECODE("Generováno programem"); }
+ { return Decode("Generováno programem"); }
// new since 0.49-990307
/*! used as the title of page containing all the index of all namespaces. */
virtual QCString trNamespaceList()
- { return DECODE("Seznam prostorù jmen"); }
+ { return Decode("Seznam prostorù jmen"); }
/*! used as an introduction to the namespace list */
virtual QCString trNamespaceListDescription(bool extractAll)
@@ -625,14 +568,14 @@ class TranslatorCzech : public Translator
QCString result="Zde naleznete seznam všech ";
if (!extractAll) result+="dokumentovaných ";
result+="prostorù jmen se struèným popisem:";
- return DECODE(result);
+ return Decode(result);
}
/*! used in the class documentation as a header before the list of all
* friends of a class
*/
virtual QCString trFriends()
- { return DECODE("Friends"); }
+ { return Decode("Friends"); }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990405
@@ -642,7 +585,7 @@ class TranslatorCzech : public Translator
* related classes
*/
virtual QCString trRelatedFunctionDocumentation()
- { return DECODE("Dokumentace k friends"); }
+ { return Decode("Dokumentace k friends"); }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990425
@@ -664,7 +607,7 @@ class TranslatorCzech : public Translator
case ClassDef::Exception: result+="výjimky "; break;
}
result+=clName;
- return DECODE(result);
+ return Decode(result);
}
/*! used as the title of the HTML page of a file */
@@ -672,7 +615,7 @@ class TranslatorCzech : public Translator
{
QCString result("Dokumentace souboru ");
result+=fileName;
- return DECODE(result);
+ return Decode(result);
}
/*! used as the title of the HTML page of a namespace */
@@ -680,32 +623,32 @@ class TranslatorCzech : public Translator
{
QCString result("Dokumentace prostoru jmen ");
result+=namespaceName;
- return DECODE(result);
+ return Decode(result);
}
/*! \mgroup Class sections
* these are for the member sections of a class, struct or union
*/
virtual QCString trPublicMembers()
- { return DECODE("Veøejné metody"); }
+ { return Decode("Veøejné metody"); }
virtual QCString trPublicSlots()
- { return DECODE("Veøejné sloty"); }
+ { return Decode("Veøejné sloty"); }
virtual QCString trSignals()
- { return DECODE("Signály"); }
+ { return Decode("Signály"); }
virtual QCString trStaticPublicMembers()
- { return DECODE("Statické veøejné metody"); }
+ { return Decode("Statické veøejné metody"); }
virtual QCString trProtectedMembers()
- { return DECODE("Chránìné metody"); }
+ { return Decode("Chránìné metody"); }
virtual QCString trProtectedSlots()
- { return DECODE("Chránìné sloty"); }
+ { return Decode("Chránìné sloty"); }
virtual QCString trStaticProtectedMembers()
- { return DECODE("Statické chránìné metody"); }
+ { return Decode("Statické chránìné metody"); }
virtual QCString trPrivateMembers()
- { return DECODE("Privátní metody"); }
+ { return Decode("Privátní metody"); }
virtual QCString trPrivateSlots()
- { return DECODE("Privátní sloty"); }
+ { return Decode("Privátní sloty"); }
virtual QCString trStaticPrivateMembers()
- { return DECODE("Statické privátní metody"); }
+ { return Decode("Statické privátní metody"); }
/*! \endmgroup */
/*! this function is used to produce a comma-separated list of items.
@@ -730,7 +673,7 @@ class TranslatorCzech : public Translator
result+=" a ";
}
}
- return DECODE(result);
+ return Decode(result);
}
/*! used in class documentation to produce a list of base classes,
@@ -738,7 +681,10 @@ class TranslatorCzech : public Translator
*/
virtual QCString trInheritsList(int numEntries)
{
- return DECODE("Dìdí "+trWriteList(numEntries)+".");
+ QCString result("Dìdí z ");
+ result += (numEntries == 1) ? "bázové tøídy " : "bázových tøíd ";
+ result += trWriteList(numEntries)+".";
+ return Decode(result);
}
/*! used in class documentation to produce a list of super classes,
@@ -749,7 +695,7 @@ class TranslatorCzech : public Translator
QCString result("Zdìdìna ");
result += (numEntries == 1) ? "tøídou " : "tøídami ";
result += trWriteList(numEntries)+".";
- return DECODE(result);
+ return Decode(result);
}
/*! used in member documentation blocks to produce a list of
@@ -760,7 +706,7 @@ class TranslatorCzech : public Translator
QCString result("Reimplementuje ");
result += (numEntries == 1) ? "metodu tøídy " : "metody tøíd ";
result += trWriteList(numEntries)+".";
- return DECODE(result);
+ return Decode(result);
}
/*! used in member documentation blocks to produce a list of
@@ -771,12 +717,12 @@ class TranslatorCzech : public Translator
QCString result("Reimplementováno ");
result += (numEntries == 1) ? "tøídou " : "tøídami ";
result += trWriteList(numEntries)+".";
- return DECODE(result);
+ return Decode(result);
}
/*! This is put above each page as a link to all members of namespaces. */
virtual QCString trNamespaceMembers()
- { return DECODE("Symboly v prostorech jmen"); }
+ { return Decode("Symboly v prostorech jmen"); }
/*! This is an introduction to the page with all namespace members */
virtual QCString trNamespaceMemberDescription(bool extractAll)
@@ -789,19 +735,19 @@ class TranslatorCzech : public Translator
result+="dokumentaci pøíslušného prostoru jmen:";
else
result+="pøíslušný prostor jmen:";
- return DECODE(result);
+ return Decode(result);
}
/*! This is used in LaTeX as the title of the chapter with the
* index of all namespaces.
*/
virtual QCString trNamespaceIndex()
- { return DECODE("Rejstøík prostorù jmen"); }
+ { return Decode("Rejstøík prostorù jmen"); }
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all namespaces.
*/
virtual QCString trNamespaceDocumentation()
- { return DECODE("Dokumentace prostorù jmen"); }
+ { return Decode("Dokumentace prostorù jmen"); }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990522
@@ -811,7 +757,7 @@ class TranslatorCzech : public Translator
* namespaces in a file.
*/
virtual QCString trNamespaces()
- { return DECODE("Prostory jmen"); }
+ { return Decode("Prostory jmen"); }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990728
@@ -836,14 +782,14 @@ class TranslatorCzech : public Translator
result+=" byla generována z ";
if (single) result+="následujícího souboru:";
else result+="následujících souborù:";
- return DECODE(result);
+ return Decode(result);
}
/*! This is in the (quick) index as a link to the alphabetical compound
* list.
*/
virtual QCString trAlphabeticalList()
- { return DECODE("Rejstøík tøíd"); }
+ { return Decode("Rejstøík tøíd"); }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990901
@@ -851,18 +797,18 @@ class TranslatorCzech : public Translator
/*! This is used as the heading text for the retval command. */
virtual QCString trReturnValues()
- { return DECODE("Vracené hodnoty"); }
+ { return Decode("Vracené hodnoty"); }
/*! This is in the (quick) index as a link to the main page (index.html)
*/
virtual QCString trMainPage()
- { return DECODE("Hlavní stránka"); }
+ { return Decode("Hlavní stránka"); }
/*! This is used in references to page that are put in the LaTeX
* documentation. It should be an abbreviation of the word page.
*/
virtual QCString trPageAbbreviation()
- { return DECODE("s."); }
+ { return Decode("s."); }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-991003
@@ -870,15 +816,15 @@ class TranslatorCzech : public Translator
virtual QCString trSources()
{
- return DECODE("Zdroje");
+ return Decode("Zdroje");
}
virtual QCString trDefinedAtLineInSourceFile()
{
- return DECODE("Definice je uvedena na øádku @0 v souboru @1.");
+ return Decode("Definice je uvedena na øádku @0 v souboru @1.");
}
virtual QCString trDefinedInSourceFile()
{
- return DECODE("Definice v souboru @0.");
+ return Decode("Definice v souboru @0.");
}
//////////////////////////////////////////////////////////////////////////
@@ -887,7 +833,7 @@ class TranslatorCzech : public Translator
virtual QCString trDeprecated()
{
- return DECODE("Zastaralé");
+ return Decode("Zastaralé");
}
//////////////////////////////////////////////////////////////////////////
@@ -897,69 +843,69 @@ class TranslatorCzech : public Translator
/*! this text is put before a collaboration diagram */
virtual QCString trCollaborationDiagram(const char *clName)
{
- return DECODE((QCString)"Diagram tøíd pro "+clName+":");
+ return Decode((QCString)"Diagram tøíd pro "+clName+":");
}
/*! this text is put before an include dependency graph */
virtual QCString trInclDepGraph(const char *fName)
{
- return DECODE((QCString)"Graf závislostí na vkládaných souborech "
+ return Decode((QCString)"Graf závislostí na vkládaných souborech "
"pro "+fName+":");
}
/*! header that is put before the list of constructor/destructors. */
virtual QCString trConstructorDocumentation()
{
- return DECODE("Dokumentace konstruktoru a destruktoru");
+ return Decode("Dokumentace konstruktoru a destruktoru");
}
/*! Used in the file documentation to point to the corresponding sources. */
virtual QCString trGotoSourceCode()
{
- return DECODE("Zobrazit zdrojový text tohoto souboru.");
+ return Decode("Zobrazit zdrojový text tohoto souboru.");
}
/*! Used in the file sources to point to the corresponding documentation. */
virtual QCString trGotoDocumentation()
{
- return DECODE("Zobrazit dokumentaci tohoto souboru.");
+ return Decode("Zobrazit dokumentaci tohoto souboru.");
}
/*! Text for the \pre command */
virtual QCString trPrecondition()
{
- return DECODE("Precondition");
+ return Decode("Precondition");
}
/*! Text for the \post command */
virtual QCString trPostcondition()
{
- return DECODE("Postcondition");
+ return Decode("Postcondition");
}
/*! Text for the \invariant command */
virtual QCString trInvariant()
{
- return DECODE("Invariant");
+ return Decode("Invariant");
}
/*! Text shown before a multi-line variable/enum initialization */
virtual QCString trInitialValue()
{
- return DECODE("Initializer:");
+ return Decode("Initializer:");
}
/*! Text used the source code in the file index */
virtual QCString trCode()
{
- return DECODE("zdrojový text");
+ return Decode("zdrojový text");
}
virtual QCString trGraphicalHierarchy()
{
- return DECODE("Grafické zobrazení hierarchie tøíd");
+ return Decode("Grafické zobrazení hierarchie tøíd");
}
virtual QCString trGotoGraphicalHierarchy()
{
- return DECODE("Zobrazit grafickou podobu hierarchie tøíd");
+ return Decode("Zobrazit grafickou podobu hierarchie tøíd");
}
virtual QCString trGotoTextualHierarchy()
{
- return DECODE("Zobrazit textovou podobu hierarchie tøíd");
+ return Decode("Zobrazit textovou podobu hierarchie tøíd");
}
virtual QCString trPageIndex()
{
- return DECODE("Rejstøík stránek");
+ return Decode("Rejstøík stránek");
}
//////////////////////////////////////////////////////////////////////////
@@ -968,43 +914,43 @@ class TranslatorCzech : public Translator
virtual QCString trNote()
{
- return DECODE("Poznámka");
+ return Decode("Poznámka");
}
virtual QCString trPublicTypes()
{
- return DECODE("Veøejné typy");
+ return Decode("Veøejné typy");
}
virtual QCString trPublicAttribs()
{
- return DECODE("Veøejné atributy");
+ return Decode("Veøejné atributy");
}
virtual QCString trStaticPublicAttribs()
{
- return DECODE("Statické veøejné atributy");
+ return Decode("Statické veøejné atributy");
}
virtual QCString trProtectedTypes()
{
- return DECODE("Chránìné typy");
+ return Decode("Chránìné typy");
}
virtual QCString trProtectedAttribs()
{
- return DECODE("Chránìné atributy");
+ return Decode("Chránìné atributy");
}
virtual QCString trStaticProtectedAttribs()
{
- return DECODE("Statické chránìné atributy");
+ return Decode("Statické chránìné atributy");
}
virtual QCString trPrivateTypes()
{
- return DECODE("Privátní typy");
+ return Decode("Privátní typy");
}
virtual QCString trPrivateAttribs()
{
- return DECODE("Privátní atributy");
+ return Decode("Privátní atributy");
}
virtual QCString trStaticPrivateAttribs()
{
- return DECODE("Statické privátní atributy");
+ return Decode("Statické privátní atributy");
}
//////////////////////////////////////////////////////////////////////////
@@ -1014,12 +960,12 @@ class TranslatorCzech : public Translator
/*! Used as a marker that is put before a todo item */
virtual QCString trTodo()
{
- return DECODE("Udìlat");
+ return Decode("Plánované úpravy");
}
/*! Used as the header of the todo list */
virtual QCString trTodoList()
{
- return DECODE("Seznam plánovaných úprav");
+ return Decode("Seznam plánovaných úprav");
}
//////////////////////////////////////////////////////////////////////////
@@ -1028,24 +974,24 @@ class TranslatorCzech : public Translator
virtual QCString trReferencedBy()
{
- return DECODE("Používá se v");
+ return Decode("Používá se v");
}
virtual QCString trRemarks()
{
- return DECODE("Poznámky"); // ??? not checked in a context
+ return Decode("Poznámky"); // ??? not checked in a context
}
virtual QCString trAttention()
{
- return DECODE("Upozornìní"); // ??? not checked in a context
+ return Decode("Upozornìní"); // ??? not checked in a context
}
virtual QCString trInclByDepGraph()
{
- return DECODE("Následující graf ukazuje, které soubory pøímo nebo "
+ return Decode("Následující graf ukazuje, které soubory pøímo nebo "
"nepøímo vkládají tento soubor:");
}
virtual QCString trSince()
{
- return DECODE("Od"); // ??? not checked in a context
+ return Decode("Od"); // ??? not checked in a context
}
////////////////////////////////////////////////////////////////////////////
@@ -1055,7 +1001,7 @@ class TranslatorCzech : public Translator
/*! title of the graph legend page */
virtual QCString trLegendTitle()
{
- return DECODE("Vysvìtlivky ke grafu");
+ return Decode("Vysvìtlivky ke grafu");
}
/*! page explaining how the dot graph's should be interpreted */
virtual QCString trLegendDocs()
@@ -1124,12 +1070,12 @@ class TranslatorCzech : public Translator
"je tøída nebo struktura zpøístupnìna.\n"
"</ul>\n");
- return DECODE(result);
+ return Decode(result);
}
/*! text for the link to the legend page */
virtual QCString trLegend()
{
- return DECODE("vysvìtlivky");
+ return Decode("vysvìtlivky");
}
//////////////////////////////////////////////////////////////////////////
@@ -1139,13 +1085,13 @@ class TranslatorCzech : public Translator
/*! Used as a marker that is put before a test item */
virtual QCString trTest()
{
- return "Test";
+ return Decode("Test");
}
/*! Used as the header of the test list */
virtual QCString trTestList()
{
- return "Seznam testù";
+ return Decode("Seznam testù");
}
};
diff --git a/src/translator_hr.h b/src/translator_hr.h
index 8b619e3..338ad17 100644
--- a/src/translator_hr.h
+++ b/src/translator_hr.h
@@ -31,96 +31,27 @@
class TranslatorCroatian : public Translator
{
private:
- /*! to avoid macro redefinition from translator_cz.h */
- /* Speed loss is actualy less than in Czech version due to
- fewer QCString copying.
- */
- inline QCString& decode(const QCString& sInput)
- {
+ /*! to avoid macro redefinition from translator_cz.h */
+ /* Speed loss is actualy less than in Czech version due to
+ fewer QCString copying.
+ */
+ inline QCString decode(const QCString& sInput)
+ {
#ifdef _WIN32
- return ISOToWin(sInput);
+ return ISO88592ToWin1250(sInput);
#else
- return const_cast<QCString&>(sInput);
+ return sInput;
#endif
- }
- /*! returns the string converted from windows-1250 to iso-8859-2 */
- QCString WinToISO(const QCString& sInput)
- {
- // The conversion table for characters >127
- //
- static const char WinToISOTab[] = {
- '\x80', '\x81', '\x82', '\x83', '\x84', '\x85', '\x86', '\x87',
- '\x88', '\x89', '\xA9', '\x8B', '\xA6', '\xAB', '\xAE', '\xAC',
- '\x90', '\x91', '\x92', '\x93', '\x94', '\x2E', '\x96', '\x97',
- '\x98', '\x99', '\xB9', '\x9B', '\xB6', '\xBB', '\xBE', '\xBC',
- '\xA0', '\x20', '\x20', '\xA3', '\xA4', '\xA1', '\xA6', '\xA7',
- '\x22', '\xA9', '\xAA', '\x3C', '\xAC', '\x2D', '\xAE', '\xAF',
- '\x2E', '\x2B', '\x20', '\xB3', '\x27', '\x75', '\xB6', '\xB7',
- '\x20', '\xB1', '\xBA', '\x3E', '\xA5', '\x22', '\xB5', '\xBF',
- '\xC0', '\xC1', '\xC2', '\xC3', '\xC4', '\xC5', '\xC6', '\xC7',
- '\xC8', '\xC9', '\xCA', '\xCB', '\xCC', '\xCD', '\xCE', '\xCF',
- '\xD0', '\xD1', '\xD2', '\xD3', '\xD4', '\xD5', '\xD6', '\xD7',
- '\xD8', '\xD9', '\xDA', '\xDB', '\xDC', '\xDD', '\xDE', '\xDF',
- '\xE0', '\xE1', '\xE2', '\xE3', '\xE4', '\xE5', '\xE6', '\xE7',
- '\xE8', '\xE9', '\xEA', '\xEB', '\xEC', '\xED', '\xEE', '\xEF',
- '\xF0', '\xF1', '\xF2', '\xF3', '\xF4', '\xF5', '\xF6', '\x2D',
- '\xF8', '\xF9', '\xFA', '\xFB', '\xFC', '\xFD', '\xFE', '\xFF',
- '\0'
- };
-
- QCString result;
- int len = sInput.length();
-
- for (int i = 0; i < len; ++i)
- {
- unsigned int c = sInput[i];
- result += (c > 127) ? WinToISOTab[c & 0x7F] : c;
- }
- return result;
- }
-
- /*! returns the string converted from iso-8859-2 to windows-1250 */
- QCString ISOToWin(const QCString& sInput)
- {
- // The conversion table for characters >127
- //
- static const char ISOToWinTab[] = {
- '\x80', '\x81', '\x82', '\x83', '\x84', '\x85', '\x86', '\x87',
- '\x88', '\x89', '\x8A', '\x8B', '\x8C', '\x8D', '\x8E', '\x8F',
- '\x90', '\x91', '\x92', '\x93', '\x94', '\x95', '\x96', '\x97',
- '\x98', '\x99', '\x9A', '\x9B', '\x9C', '\x9D', '\x9E', '\x9F',
- '\xA0', '\xA5', '\xA2', '\xA3', '\xA4', '\xBC', '\x8C', '\xA7',
- '\xA8', '\x8A', '\xAA', '\x8D', '\x8F', '\xAD', '\x8E', '\xAF',
- '\xB0', '\xB9', '\xB2', '\xB3', '\xB4', '\xBE', '\x9C', '\xB7',
- '\xB8', '\x9A', '\xBA', '\x9D', '\x9F', '\xBD', '\x9E', '\xBF',
- '\xC0', '\xC1', '\xC2', '\xC3', '\xC4', '\xC5', '\xC6', '\xC7',
- '\xC8', '\xC9', '\xCA', '\xCB', '\xCC', '\xCD', '\xCE', '\xCF',
- '\xD0', '\xD1', '\xD2', '\xD3', '\xD4', '\xD5', '\xD6', '\xD7',
- '\xD8', '\xD9', '\xDA', '\xDB', '\xDC', '\xDD', '\xDE', '\xDF',
- '\xE0', '\xE1', '\xE2', '\xE3', '\xE4', '\xE5', '\xE6', '\xE7',
- '\xE8', '\xE9', '\xEA', '\xEB', '\xEC', '\xED', '\xEE', '\xEF',
- '\xF0', '\xF1', '\xF2', '\xF3', '\xF4', '\xF5', '\xF6', '\xF7',
- '\xF8', '\xF9', '\xFA', '\xFB', '\xFC', '\xFD', '\xFE', '\xFF',
- '\0'
- };
- QCString result;
- int len = sInput.length();
-
- for (int i = 0; i < len; ++i)
- {
- unsigned int c = sInput[i];
- result += (c > 127) ? ISOToWinTab[c & 0x7F] : c;
- }
- return result;
- }
+ }
+
public:
QCString idLanguage()
{ return "croatian"; }
QCString idLanguageCharset()
#ifdef _WIN32
- { return "windows-1250"; }
+ { return "windows-1250"; }
#else
- { return "iso-8859-2"; }
+ { return "iso-8859-2"; }
#endif
QCString latexBabelPackage()
{ return "croatian"; }
@@ -137,7 +68,7 @@ class TranslatorCroatian : public Translator
QCString trEnumerationValueDocumentation()
{ return decode("Dokumentacija enum vrijednosti"); }
QCString trMemberFunctionDocumentation()
- { return decode("Dokumentacija funkcija"); }
+ { return decode("Dokumentacija funkcija"); }
QCString trMemberDataDocumentation()
{ return decode("Documentacija varijabli"); }
QCString trGeneratedFrom(const char *s,bool single)
@@ -145,9 +76,9 @@ class TranslatorCroatian : public Translator
QCString result= decode("Dokumentacija za ")+s+
decode("je generirana iz ");
if (single)
- result+= decode("datoteke :");
- else
- result+= decode("slijedeæih datoteka:");
+ result+= decode("datoteke :");
+ else
+ result+= decode("slijedeæih datoteka:");
return result;
}
QCString trMore()
@@ -196,7 +127,7 @@ class TranslatorCroatian : public Translator
{ return decode("Tra¾i"); }
QCString trClassHierarchyDescription()
{ return decode("Stablo naslijeðivanja je poslo¾eno "
- "pribli¾no po abecedi:");
+ "pribli¾no po abecedi:");
}
QCString trFileListDescription(bool extractAll)
{
@@ -207,7 +138,7 @@ class TranslatorCroatian : public Translator
}
QCString trCompoundListDescription()
{ return decode("Popis svih klasa, unija i struktura "
- "s kratkim opisom :");
+ "s kratkim opisom :");
}
QCString trCompoundMembersDescription(bool extractAll)
{
@@ -311,8 +242,8 @@ class TranslatorCroatian : public Translator
QCString trForInternalUseOnly()
{ return decode("Iskljuèivo za internu uporabu."); }
QCString trReimplementedForInternalReasons()
- { return decode("Reimplementirano zbog internih razloga; "
- "Nema utjecaja na API.");
+ { return decode("Reimplementirano zbog internih razloga; "
+ "Nema utjecaja na API.");
}
QCString trWarning()
{ return decode("Upozorenje"); }
@@ -376,7 +307,7 @@ class TranslatorCroatian : public Translator
case ClassDef::Interface: result+=decode(" suèelja (interface) "); break;
case ClassDef::Exception: result+=decode(" iznimke (exception) "); break;
}
- result += (QCString)clName;
+ result += (QCString)clName;
return result;
}
@@ -384,14 +315,14 @@ class TranslatorCroatian : public Translator
// used as the title of the HTML page of a file
{
QCString result=decode("Opis datoteke ");
- result+=fileName;
- return result;
+ result+=fileName;
+ return result;
}
QCString trNamespaceReference(const char *namespaceName)
// used as the title of the HTML page of a namespace
{
QCString result =decode("Opis namespace-a ");
- result+=namespaceName;
+ result+=namespaceName;
return result;
}
@@ -712,12 +643,12 @@ class TranslatorCroatian : public Translator
}
virtual QCString trAttention()
{
- return decode("Pa¾nja");
+ return decode("Pa¾nja");
}
virtual QCString trInclByDepGraph()
{
return decode("Ovaj graf pokazuje koje datoteke izravno "
- "ili neizravno ukljuèuju ovu datoteku:");
+ "ili neizravno ukljuèuju ovu datoteku:");
}
virtual QCString trSince()
{
diff --git a/src/translator_kr.h b/src/translator_kr.h
new file mode 100644
index 0000000..6703fe0
--- /dev/null
+++ b/src/translator_kr.h
@@ -0,0 +1,803 @@
+/******************************************************************************
+ *
+ *
+ *
+ * Copyright (C) 1997-2000 by Dimitri van Heesch.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation under the terms of the GNU General Public License is hereby
+ * granted. No representations are made about the suitability of this software
+ * for any purpose. It is provided "as is" without express or implied warranty.
+ * See the GNU General Public License for more details.
+ *
+ * Documents produced by Doxygen are derivative works derived from the
+ * input used in their production; they are not affected by this license.
+ *
+ */
+
+#ifndef TRANSLATOR_KR_H
+#define TRANSLATOR_KR_H
+
+#include "translator.h"
+
+class TranslatorKorean : public Translator
+{
+ public:
+ QCString idLanguage()
+ { return "korean"; }
+ /*! returns the name of the package that is included by LaTeX */
+ QCString latexBabelPackage()
+ { return ""; } // What is the correct value here?
+
+ /*! return the language charset. This will be used for the HTML output */
+ virtual QCString idLanguageCharset()
+ {
+ return "euc-kr";
+ }
+
+ /*! used in the compound documentation before a list of related functions. */
+ QCString trRelatedFunctions()
+ { return "°ü·ÃµÈ ÇÔ¼öµé"; }
+
+ /*! subscript for the related functions. */
+ QCString trRelatedSubscript()
+ { return "°ü·ÃÁÖ¼®"; }
+
+ /*! header that is put before the detailed description of files, classes and namespaces. */
+ QCString trDetailedDescription()
+ { return "»ó¼¼ÇÑ ³»¿ë"; }
+
+ /*! header that is put before the list of typedefs. */
+ QCString trMemberTypedefDocumentation()
+ { return "¸â¹ö ŸÀÔÁ¤ÀÇ ¹®¼­È­"; }
+
+ /*! header that is put before the list of enumerations. */
+ QCString trMemberEnumerationDocumentation()
+ { return "±¸¼º¿ø(member) ¿­°Å ¹®¼­È­"; }
+
+ /*! header that is put before the list of member functions. */
+ QCString trMemberFunctionDocumentation()
+ { return "¸â¹ö ÇÔ¼ö ¹®¼­È­"; }
+
+ /*! header that is put before the list of member attributes. */
+ QCString trMemberDataDocumentation()
+ { return "¸â¼­ µ¥ÀÌŸ ¹®¼­È­"; }
+
+ /*! this is the text of a link put after brief descriptions. */
+ QCString trMore()
+ { return "More..."; }
+
+ /*! put in the class documentation */
+ QCString trListOfAllMembers()
+ { return "¸ðµç ±¸¼º¿øµé(members)ÀÇ ¸í´Ü"; }
+
+ /*! used as the title of the "list of all members" page of a class */
+ QCString trMemberList()
+ { return "±¸¼º¿ø(member) ¸í´Ü"; }
+
+ /*! this is the first part of a sentence that is followed by a class name */
+ QCString trThisIsTheListOfAllMembers()
+ { return "¿ÏÀüÇÑ ±¸¼º¿øµé(members)ÀÇ ¸í´Ü " ; } // "This is the complete list of members for "
+
+ /*! this is the remainder of the sentence after the class name */
+ QCString trIncludingInheritedMembers()
+ { return ", »ó¼Ó¹ÞÀº ¸ðµç ±¸¼º¿ø(members)µéµµ Æ÷ÇÔ"; } // ", including all inherited members."
+
+ /*! this is put at the author sections at the bottom of man pages.
+ * parameter s is name of the project name.
+ */
+ QCString trGeneratedAutomatically(const char *s)
+ { QCString result="";
+ if (s) result+=(QCString)s+"¿¡ ";
+ result+="source ÄÚµå·Î ºÎÅÍ Doxygen¿¡ ÀÇÇØ ÀÚµ¿ÀûÀ¸·Î »ý¼º";
+ return result;
+ }
+
+ /*! put after an enum name in the list of all members */
+ QCString trEnumName()
+ { return "¿­°Åü À̸§"; }
+
+ /*! put after an enum value in the list of all members */
+ QCString trEnumValue()
+ { return "¿­°Åü °ª"; }
+
+ /*! put after an undocumented member in the list of all members */
+ QCString trDefinedIn()
+ { return "¿¡¼­ Á¤ÀǵÈ"; }
+
+ /*! put as in introduction in the verbatim header file of a class.
+ * parameter f is the name of the include file.
+ */
+ QCString trVerbatimText(const char *f)
+ { return (QCString)"ÀÌ°ÍÀº "+f+" Æ÷ÇÔ ÆÄÀÏÀÇ Ãà¾àÀûÀÎ ¹®¼­ÀÌ´Ù"; }
+
+ // quick reference sections
+
+ /*! This is put above each page as a link to the list of all groups of
+ * compounds or files (see the \group command).
+ */
+ QCString trModules()
+ { return "¸ðµâµé"; }
+
+ /*! This is put above each page as a link to the class hierarchy */
+ QCString trClassHierarchy()
+ { return "Ŭ·¡½º °èÃþ(µµ)"; } // "Ŭ·¡½º Á¶Á÷" or "Ŭ·¡½º ºÐ·ùü°è"
+
+ /*! This is put above each page as a link to the list of annotated classes */
+ QCString trCompoundList()
+ { return "È¥ÇÕ ¸ñ·Ï"; } //"È¥ÇÕ ¸ñ·Ï", "ÇÕ¼º(ÁýÇÕ) ¸í´Ü(¸®½ºÆ®)"
+
+ /*! This is put above each page as a link to the list of documented files */
+ QCString trFileList()
+ { return "ÆÄÀÏ ¸ñ·Ï"; } //"ÆÄÀÏ ¸ñ·Ï", "ÆÄÀÏ ¸®½ºÆ®"
+
+ /*! This is put above each page as a link to the list of all verbatim headers */
+ QCString trHeaderFiles()
+ { return "Çì´õ ÆÄÀϵé"; }
+
+ /*! This is put above each page as a link to all members of compounds. */
+ QCString trCompoundMembers()
+ { return "È¥ÇÕ ¸â¹öµé"; } // "ÇÕ¼º(ÁýÇÕ) ¸í´Ü(¸â¹öµé)"
+
+ /*! This is put above each page as a link to all members of files. */
+ QCString trFileMembers()
+ { return "ÆÄÀÏ ¸â¹öµé"; }
+
+ /*! This is put above each page as a link to all related pages. */
+ QCString trRelatedPages()
+ { return "°ü·ÃµÈ ÆäÀÌÁöµé"; }
+
+ /*! This is put above each page as a link to all examples. */
+ QCString trExamples()
+ { return "¿¹Á¦µé"; }
+
+ /*! This is put above each page as a link to the search engine. */
+ QCString trSearch()
+ { return "°Ë»ö"; }
+
+ /*! This is an introduction to the class hierarchy. */
+ QCString trClassHierarchyDescription()
+ { return "ÀÌ »ó¼Ó ¸ñ·ÏÀº ¿ÏÀüÇÏÁö´Â ¾ÊÁö¸¸ ¾ËÆĺª¼øÀ¸·Î ºÐ·ùµÇ¾ú½À´Ï´Ù.";}
+
+ /*! This is an introduction to the list with all files. */
+ QCString trFileListDescription(bool extractAll)
+ {
+ QCString result="ÀÌ°ÍÀº °£·«ÇÑ ¼³¸íÀ» °¡Áø ¸ðµç "; // "Here is a list of all "
+ if (!extractAll) result+="¹®¼­È­µÈ "; // "documented "
+ result+="ÆÄÀϵ鿡 ´ëÇÑ ¸ñ·ÏÀÔ´Ï´Ù."; // "files with brief descriptions:"
+ return result;
+ }
+
+ /*! This is an introduction to the annotated compound list. */
+ QCString trCompoundListDescription()
+ { return "ÀÌ°ÍÀº °£·«ÇÑ ¼³¸íÀ» °¡Áø Ŭ·¡½ºµé, "
+ "±¸Á¶Ã¼µé, °ø¿ëüµé, ±×¸®°í ÀÎÅÍÆäÀ̽ºµéÀÔ´Ï´Ù.";
+ }
+
+ /*! This is an introduction to the page with all class members. */
+ QCString trCompoundMembersDescription(bool extractAll)
+ {
+ QCString result="ÀÌ°÷¿¡ ¸ðµç ¸®½ºÆ®°¡ ÀÖ½À´Ï´Ù"; //"Here is a list of all "
+ if (!extractAll) result+="¹®¼­È­µÈ "; //"documented "
+ result+="¸µÅ©°¡ µÈ Ŭ·¡½º ¸â¹öµé "; //"class members with links to "
+ if (extractAll)
+ result+="°¢°¢ÀÇ ¸â¹ö¸¦ À§ÇÑ Å¬·¡½º ¹®¼­:"; //"the class documentation for each member:"
+ else
+ result+="ÀÌÇÏ·Î ¼ÓÇÑ Å¬·¡½ºµé:"; //"the classes they belong to:"
+ return result;
+ }
+
+ /*! This is an introduction to the page with all file members. */
+ QCString trFileMembersDescription(bool extractAll)
+ {
+ QCString result="ÀÌ°÷¿¡ ¸ðµç ¸®½ºÆ®°¡ ÀÖ½À´Ï´Ù";
+ if (!extractAll) result+="¹®¼­È­µÈ ";
+ result+="¸µÅ©°¡ µÈ ÆÄÀÏ ¸â¹öµé ";
+ if (extractAll)
+ result+="°¢ ¸â¹öµé¿¡ ´ëÇÑ ÆÄÀÏ ¹®¼­È­"; // "the file documentation for each member:"
+ else
+ result+="±×°ÍµéÀÌ ¼ÓÇØÀÖ´Â ÆÄÀϵé"; // "the files they belong to:"
+ return result;
+ }
+
+ /*! This is an introduction to the page with the list of all header files. */
+ QCString trHeaderFilesDescription()
+ { return "ÀÌ°ÍÀº API¸¦ ±¸¼ºÇÏ´Â Çì´õ ÆÄÀϵéÀÔ´Ï´Ù."; } // "Here are the header files that make up the API:"
+
+ /*! This is an introduction to the page with the list of all examples */
+ QCString trExamplesDescription()
+ { return "ÀÌ°ÍÀº ¸ðµç ¿¹Á¦µéÀÇ ¸ñ·ÏÀÔ´Ï´Ù."; } // "Here is a list of all examples:"
+
+ /*! This is an introduction to the page with the list of related pages */
+ QCString trRelatedPagesDescription()
+ { return "ÀÌ°ÍÀº ¸ðµç °ü·ÃµÈ ¹®¼­È­ ÆäÀÌÁöµéÀÇ ¸ñ·ÏÀÔ´Ï´Ù."; }
+ // "Here is a list of all related documentation pages:"
+
+ /*! This is an introduction to the page with the list of class/file groups */
+ QCString trModulesDescription()
+ { return "ÀÌ°ÍÀº ¸ðµç ¸ðµâµéÀÇ ¸ñ·ÏÀÔ´Ï´Ù."; } // "Here is a list of all modules:"
+
+ /*! This sentences is used in the annotated class/file lists if no brief
+ * description is given.
+ */
+ QCString trNoDescriptionAvailable()
+ { return "À¯¿ëÇÑ ¼³¸íÀÌ ¾ø½À´Ï´Ù."; } // "No description available"
+
+ // index titles (the project name is prepended for these)
+
+
+ /*! This is used in HTML as the title of index.html. */
+ QCString trDocumentation()
+ { return "¹®¼­È­"; }
+
+ /*! This is used in LaTeX as the title of the chapter with the
+ * index of all groups.
+ */
+ QCString trModuleIndex()
+ { return "¸ðµâ »öÀÎ"; }
+
+ /*! This is used in LaTeX as the title of the chapter with the
+ * class hierarchy.
+ */
+ QCString trHierarchicalIndex()
+ { return "ºÐ·ùü°è »öÀÎ"; } // "Á¶Á÷ »öÀÎ", "°èÃþÀû À妽º"
+
+ /*! This is used in LaTeX as the title of the chapter with the
+ * annotated compound index.
+ */
+ QCString trCompoundIndex()
+ { return "ÇÕ¼º À妽º"; } // "È¥ÇÕ »öÀÎ"
+
+ /*! This is used in LaTeX as the title of the chapter with the
+ * list of all files.
+ */
+ QCString trFileIndex()
+ { return "ÆÄÀÏ »öÀÎ"; }
+
+ /*! This is used in LaTeX as the title of the chapter containing
+ * the documentation of all groups.
+ */
+ QCString trModuleDocumentation()
+ { return "¸ðµâ ¹®¼­È­"; }
+
+ /*! This is used in LaTeX as the title of the chapter containing
+ * the documentation of all classes, structs and unions.
+ */
+ QCString trClassDocumentation()
+ { return "Ŭ·¡½º ¹®¼­È­"; }
+
+ /*! This is used in LaTeX as the title of the chapter containing
+ * the documentation of all files.
+ */
+ QCString trFileDocumentation()
+ { return "ÆÄÀÏ ¹®¼­È­"; }
+
+ /*! This is used in LaTeX as the title of the chapter containing
+ * the documentation of all examples.
+ */
+ QCString trExampleDocumentation()
+ { return "¿¹Á¦ ¹®¼­È­"; }
+
+ /*! This is used in LaTeX as the title of the chapter containing
+ * the documentation of all related pages.
+ */
+ QCString trPageDocumentation()
+ { return "ÆäÀÌÁö ¹®¼­È­"; }
+
+ /*! This is used in LaTeX as the title of the document */
+ QCString trReferenceManual()
+ { return "Âü°í¼­"; } // "Âü°í¼­","Âü°í ¸Å´º¾ó", "ÂüÁ¶ ¸Þ´º¾ó"
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of defines
+ */
+ QCString trDefines()
+ { return "Á¤Àǵé"; }
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of function prototypes
+ */
+ QCString trFuncProtos()
+ { return "ÇÔ¼ö ¿øÇüµé"; }
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of typedefs
+ */
+ QCString trTypedefs()
+ { return "ŸÀÔ Á¤Àǵé"; }
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of enumerations
+ */
+ QCString trEnumerations()
+ { return "Enumerations"; }
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of (global) functions
+ */
+ QCString trFunctions()
+ { return "ÇÔ¼öµé"; }
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of (global) variables
+ */
+ QCString trVariables()
+ { return "º¯¼öµé"; }
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of (global) variables
+ */
+ QCString trEnumerationValues()
+ { return "¿­°Åü °ªµé"; }
+
+ /*! This is used in man pages as the author section. */
+ QCString trAuthor()
+ { return "ÀúÀÚ"; }
+
+ /*! This is used in the documentation of a file before the list of
+ * documentation blocks for defines
+ */
+ QCString trDefineDocumentation()
+ { return "Á¤ÀÇ ¹®¼­È­"; }
+
+ /*! This is used in the documentation of a file/namespace before the list
+ * of documentation blocks for function prototypes
+ */
+ QCString trFunctionPrototypeDocumentation()
+ { return "ÇÔ¼ö ¿øÇü ¹®¼­È­"; }
+
+ /*! This is used in the documentation of a file/namespace before the list
+ * of documentation blocks for typedefs
+ */
+ QCString trTypedefDocumentation()
+ { return "ŸÀÔ Á¤ÀÇ ¹®¼­È­"; }
+
+ /*! This is used in the documentation of a file/namespace before the list
+ * of documentation blocks for enumeration types
+ */
+ QCString trEnumerationTypeDocumentation()
+ { return "¿­°Åü ŸÀÔ ¹®¼­È­"; }
+
+ /*! This is used in the documentation of a file/namespace before the list
+ * of documentation blocks for enumeration values
+ */
+ QCString trEnumerationValueDocumentation()
+ { return "¿­°Åü °ª ¹®¼­È­"; }
+
+ /*! This is used in the documentation of a file/namespace before the list
+ * of documentation blocks for functions
+ */
+ QCString trFunctionDocumentation()
+ { return "ÇÔ¼ö ¹®¼­È­"; }
+
+ /*! This is used in the documentation of a file/namespace before the list
+ * of documentation blocks for variables
+ */
+ QCString trVariableDocumentation()
+ { return "º¯¼ö ¹®¼­È­"; }
+
+ /*! This is used in the documentation of a file/namespace/group before
+ * the list of links to documented compounds
+ */
+ QCString trCompounds()
+ { return "È¥ÇÕµé"; }
+
+ /*! This is used in the documentation of a group before the list of
+ * links to documented files
+ */
+ QCString trFiles()
+ { return "ÆÄÀϵé"; }
+
+ /*! This is used in the standard footer of each page and indicates when
+ * the page was generated
+ */
+ QCString trGeneratedAt(const char *date,const char *projName)
+ {
+ QCString result="";
+ if (projName) result+=(QCString)projName+"¿¡ ´ëÇØ ";
+ result += (QCString)date+" »ý¼º by";
+ return result;
+ }
+ /*! This is part of the sentence used in the standard footer of each page.
+ */
+ QCString trWrittenBy()
+ {
+ return "written by"; // "¿¡ ÀÇÇØ ¾²¿©Áø?"
+ }
+
+ /*! this text is put before a class diagram */
+ QCString trClassDiagram(const char *clName)
+ {
+ return (QCString)clName+"¿¡ ´ëÇÑ »ó¼Ó µµÇ¥"; // "Inheritance diagram for "+clName
+ }
+
+ /*! this text is generated when the \internal command is used. */
+ QCString trForInternalUseOnly()
+ { return "³»ºÎ »ç¿ë¸¸À» À§ÇØ"; }
+
+ /*! this text is generated when the \reimp command is used. */
+ QCString trReimplementedForInternalReasons()
+ { return "³»ºÎÀû ÀÌÀ¯¸¦ À§ÇØ À籸ÇöµÈ: API°¡ ¿µÇâÀ» ¹ÞÁö¾Ê¾Ò´Ù."; }
+ // "Reimplemented for internal reasons; the API is not affected."
+
+ /*! this text is generated when the \warning command is used. */
+ QCString trWarning()
+ { return "°æ°í"; }
+
+ /*! this text is generated when the \bug command is used. */
+ QCString trBugsAndLimitations()
+ { return "¹ö±×µé°ú ÇÑ°èµé"; }
+
+ /*! this text is generated when the \version command is used. */
+ QCString trVersion()
+ { return "¹öÀü"; }
+
+ /*! this text is generated when the \date command is used. */
+ QCString trDate()
+ { return "³¯Â¥"; }
+
+ /*! this text is generated when the \author command is used. */
+ QCString trAuthors()
+ { return "ÀúÀÚ(µé)"; }
+
+ /*! this text is generated when the \return command is used. */
+ QCString trReturns()
+ { return "¹Ýȯ"; }
+
+ /*! this text is generated when the \sa command is used. */
+ QCString trSeeAlso()
+ { return "ÂüÁ¶ÇϽÿä"; }
+
+ /*! this text is generated when the \param command is used. */
+ QCString trParameters()
+ { return "¸Å°³º¯¼öµé"; }
+
+ /*! this text is generated when the \exception command is used. */
+ QCString trExceptions()
+ { return "¿¹¿Üµé"; }
+
+ /*! this text is used in the title page of a LaTeX document. */
+ QCString trGeneratedBy()
+ { return "¿¡ ÀÇÇØ »ý¼ºµÈ"; }
+
+ // new since 0.49-990307
+
+ /*! used as the title of page containing all the index of all namespaces. */
+ QCString trNamespaceList()
+ { return "À̸§°ø°£ ¸ñ·Ï"; }
+
+ /*! used as an introduction to the namespace list */
+ QCString trNamespaceListDescription(bool extractAll)
+ {
+ QCString result="ÀÌ°ÍÀº ¸ðµç °£·«ÇÑ ¼³¸íÀ» °¡Áø ";
+ if (!extractAll) result+="¹®¼­È­µÈ ";
+ result+="À̸§°ø°£ÀÇ ¸ñ·ÏÀÔ´Ï´Ù:";
+ return result;
+ }
+
+ /*! used in the class documentation as a header before the list of all
+ * friends of a class
+ */
+ QCString trFriends()
+ { return "ÇÁ·»µå"; }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 0.49-990405
+//////////////////////////////////////////////////////////////////////////
+
+ /*! used in the class documentation as a header before the list of all
+ * related classes
+ */
+ virtual QCString trRelatedFunctionDocumentation()
+ { return "ÇÁ·»µå, ±×¸®°í °ü·ÃµÈ ÇÔ¼ö ¹®¼­È­"; }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 0.49-990425
+//////////////////////////////////////////////////////////////////////////
+
+ /*! used as the title of the HTML page of a class/struct/union */
+ QCString trCompoundReference(const char *clName,
+ ClassDef::CompoundType compType,
+ bool isTemplate)
+ {
+ QCString result=(QCString)clName+" ";
+ if (isTemplate) result+=" ÅÛÇø´";
+ switch(compType)
+ {
+ case ClassDef::Class: result+=" Ŭ·¡½º"; break;
+ case ClassDef::Struct: result+=" ±¸Á¶Ã¼"; break;
+ case ClassDef::Union: result+=" °ø¿ëü"; break;
+ case ClassDef::Interface: result+=" ÀÎÅÍÆäÀ̽º"; break;
+ case ClassDef::Exception: result+=" ¿¹¿Ü"; break;
+ }
+ result+=" ÂüÁ¶";
+ return result;
+ }
+
+ /*! used as the title of the HTML page of a file */
+ QCString trFileReference(const char *fileName)
+ {
+ QCString result=fileName;
+ result+=" ÆÄÀÏ ÂüÁ¶";
+ return result;
+ }
+
+ /*! used as the title of the HTML page of a namespace */
+ QCString trNamespaceReference(const char *namespaceName)
+ {
+ QCString result=namespaceName;
+ result+=" À̸§ °ø°£ ÂüÁ¶";
+ return result;
+ }
+
+ /*! \mgroup Class sections
+ * these are for the member sections of a class, struct or union
+ */
+ QCString trPublicMembers()
+ { return "°ø¿ë ¸Þ¼Òµå"; }
+ QCString trPublicSlots()
+ { return "°ø¿ë Slots"; }
+ QCString trSignals()
+ { return "½ÅÈ£"; }
+ QCString trStaticPublicMembers()
+ { return "Á¤Àû °ø¿ë ¸Þ¼Òµå"; }
+ QCString trProtectedMembers()
+ { return "ÇÁ·ÎÅØƼµå ¸Þ¼Òµå"; }
+ QCString trProtectedSlots()
+ { return "Protected Slots"; }
+ QCString trStaticProtectedMembers()
+ { return "Á¤Àû ÇÁ·ÎÅØƼµå ¸Þ¼Òµå"; }
+ QCString trPrivateMembers()
+ { return "ÇÁ¶óÀ̺£ÀÌÆ® ¸Þ¼Òµå"; }
+ QCString trPrivateSlots()
+ { return "Private Slots"; }
+ QCString trStaticPrivateMembers()
+ { return "Á¤Àû ÇÁ¶óÀ̺£ÀÌÆ® ¸Þ¼Òµå"; }
+ /*! \endmgroup */
+
+ /*! this function is used to produce a comma-separated list of items.
+ * use generateMarker(i) to indicate where item i should be put.
+ */
+ QCString trWriteList(int numEntries)
+ {
+ QCString result;
+ int i;
+ // the inherits list contain `numEntries' classes
+ for (i=0;i<numEntries;i++)
+ {
+ // use generateMarker to generate placeholders for the class links!
+ result+=generateMarker(i); // generate marker for entry i in the list
+ // (order is left to right)
+
+ if (i!=numEntries-1) // not the last entry, so we need a separator
+ {
+ if (i<numEntries-2) // not the fore last entry
+ result+=", ";
+ else // the fore last entry
+ result+=", and ";
+ }
+ }
+ return result;
+ }
+
+ /*! used in class documentation to produce a list of base classes,
+ * if class diagrams are disabled.
+ */
+ QCString trInheritsList(int numEntries)
+ {
+ return trWriteList(numEntries)+" µéÀ» »ó¼ÓÇÏ´Ù.";
+ }
+
+ /*! used in class documentation to produce a list of super classes,
+ * if class diagrams are disabled.
+ */
+ QCString trInheritedByList(int numEntries)
+ {
+ return trWriteList(numEntries)+"¿¡ ÀÇÇØ »ó¼ÓµÈ.";
+ }
+
+ /*! used in member documentation blocks to produce a list of
+ * members that are hidden by this one.
+ */
+ QCString trReimplementedFromList(int numEntries)
+ {
+ return trWriteList(numEntries)+"À¸·ÎºÎÅÍ À籸ÇöµÈ.";
+ }
+
+ /*! used in member documentation blocks to produce a list of
+ * all member that overwrite the implementation of this member.
+ */
+ QCString trReimplementedInList(int numEntries)
+ {
+ return trWriteList(numEntries)+"¿¡¼­ À籸ÇöµÈ.";
+ }
+
+ /*! This is put above each page as a link to all members of namespaces. */
+ QCString trNamespaceMembers()
+ { return "À̸§°ø°£ ¸â¹öµé"; }
+
+ /*! This is an introduction to the page with all namespace members */
+ QCString trNamespaceMemberDescription(bool extractAll)
+ {
+ QCString result="ÀÌ°ÍÀº ¸ðµç ";
+ if (!extractAll) result+="¹®¼­È­µÈ ";
+ result+="À̸§°ø°£ ¸â¹öµéÀÇ ¸ñ·ÏÀÔ´Ï´Ù.";
+ if (extractAll)
+ result+="°¢ ¸â¹öµé¿¡ ´ëÇÑ ¹®¼­È­¿¡ ";
+ else
+ result+="¼ÓÇØÀÖ´Â À̸§°ø°£¿¡ ";
+ result+="¸µÅ©µµÀÖÀ¾´Ï´Ù.";
+ return result;
+ }
+ /*! This is used in LaTeX as the title of the chapter with the
+ * index of all namespaces.
+ */
+ QCString trNamespaceIndex()
+ { return "À̸§°ø°£ »öÀÎ"; }
+
+ /*! This is used in LaTeX as the title of the chapter containing
+ * the documentation of all namespaces.
+ */
+ QCString trNamespaceDocumentation()
+ { return "À̸§°ø°£ ¹®¼­È­"; }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 0.49-990522
+//////////////////////////////////////////////////////////////////////////
+
+ /*! This is used in the documentation before the list of all
+ * namespaces in a file.
+ */
+ QCString trNamespaces()
+ { return "À̸§°ø°£"; }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 0.49-990728
+//////////////////////////////////////////////////////////////////////////
+
+ /*! This is put at the bottom of a class documentation page and is
+ * followed by a list of files that were used to generate the page.
+ */
+ QCString trGeneratedFromFiles(ClassDef::CompoundType compType,
+ bool single)
+ { // here s is one of " Class", " Struct" or " Union"
+ // single is true implies a single file
+ QCString result=(QCString)"ÀÌ ";
+ switch(compType)
+ {
+ case ClassDef::Class: result+="Ŭ·¡½º"; break;
+ case ClassDef::Struct: result+="±¸Á¶Ã¼"; break;
+ case ClassDef::Union: result+="°ø¿ëü"; break;
+ case ClassDef::Interface: result+="ÀÎÅÍÆäÀ̽º"; break;
+ case ClassDef::Exception: result+="¿¹¿Ü"; break;
+ }
+ result+="À» À§ÇÑ ¹®¼­È­´Â ´ÙÀ½ÀÇ ÆÄÀÏ";
+ if (!single) result+="µé";
+ result+="·ÎºÎÅÍ »ý¼ºµÇ¾ú½À´Ï´Ù:";
+ return result;
+ }
+
+ /*! This is in the (quick) index as a link to the alphabetical compound
+ * list.
+ */
+ QCString trAlphabeticalList()
+ { return "¾ËÆĺª¼ø¼­ÀÇ ¸ñ·Ï"; }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 0.49-990901
+//////////////////////////////////////////////////////////////////////////
+
+ /*! This is used as the heading text for the retval command. */
+ QCString trReturnValues()
+ { return "¹Ýȯ°ª"; }
+
+ /*! This is in the (quick) index as a link to the main page (index.html)
+ */
+ QCString trMainPage()
+ { return "ÁÖ¿ä ÆäÀÌÁö"; }
+
+ /*! This is used in references to page that are put in the LaTeX
+ * documentation. It should be an abbreviation of the word page.
+ */
+ QCString trPageAbbreviation()
+ { return "ÆäÀÌÁö"; }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 0.49-991003
+//////////////////////////////////////////////////////////////////////////
+
+ QCString trSources()
+ {
+ return "Ãâó";
+ }
+ QCString trDefinedAtLineInSourceFile()
+ {
+ return "ÆÄÀÏ @1. ÀÇ @0 ¹ø° ¶óÀο¡¼­ Á¤ÀÇ"; // "Definition at line @0 of file @1."
+ }
+ QCString trDefinedInSourceFile()
+ {
+ return "ÆÄÀÏ @0. ¿¡¼­ Á¤ÀÇ"; // "Definition in file @0."
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.0.0
+//////////////////////////////////////////////////////////////////////////
+
+ QCString trDeprecated()
+ {
+ return "Deprecated"; // "ºñ³­¹ÞÀº(??)","¹Ý´ëÇÏ´Â"
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.1.0
+//////////////////////////////////////////////////////////////////////////
+
+ /*! this text is put before a collaboration diagram */
+ QCString trCollaborationDiagram(const char *clName)
+ {
+ return (QCString)clName+"¿¡ ´ëÇÑ ¿øÁ¶ µµÇ¥:";
+ }
+ /*! this text is put before an include dependency graph */
+ QCString trInclDepGraph(const char *fName)
+ {
+ return (QCString)fName+"¿¡ ´ëÇÑ include ÀÇÁ¸ ±×·¡ÇÁ";
+ }
+ /*! header that is put before the list of constructor/destructors. */
+ QCString trConstructorDocumentation()
+ {
+ return "»ý¼ºÀÚ & ¼Ò¸êÀÚ ¹®¼­È­";
+ }
+ /*! Used in the file documentation to point to the corresponding sources. */
+ QCString trGotoSourceCode()
+ {
+ return "ÀÌ ÆÄÀÏ¿¡ ´ëÇÑ ¼Ò½º ÄÚµå·Î °¡½Ã¿À";
+ }
+ /*! Used in the file sources to point to the corresponding documentation. */
+ QCString trGotoDocumentation()
+ {
+ return "ÀÌ ÆÄÀÏÀÇ ¹®¼­È­·Î °¡½Ã¿À";
+ }
+ /*! Text for the \pre command */
+ QCString trPrecondition()
+ {
+ return "ÀüÁ¦ Á¶°Ç";
+ }
+ /*! Text for the \post command */
+ QCString trPostcondition()
+ {
+ return "ÈÄ¹Ì Á¶°Ç"; // "ÈÄÄ¡Á¶°Ç"
+ }
+ /*! Text for the \invariant command */
+ QCString trInvariant()
+ {
+ return "º¯ÇÏÁö ¾Ê´Â";
+ }
+ /*! Text shown before a multi-line variable/enum initialization */
+ QCString trInitialValue()
+ {
+ return "ÃʱâÈ­±â";
+ }
+ /*! Text used the source code in the file index */
+ QCString trCode()
+ {
+ return "ÄÚµå";
+ }
+ QCString trGraphicalHierarchy()
+ {
+ return "µµÇ¥ÀÇ Å¬·¡½º ºÐ·ùü°è"; // "µµÇ¥ÀÇ Å¬·¡½º Á¶Á÷"
+ }
+ QCString trGotoGraphicalHierarchy()
+ {
+ return "µµÇ¥ÀÇ Å¬·¡½º ºÐ·ùü°è·Î °¡½Ã¿À"; // "µµÇ¥ÀÇ Å¬·¡½º Á¶Á÷À¸·Î °¡½Ã¿À"
+ }
+ QCString trGotoTextualHierarchy()
+ {
+ return "¹®ÀÚÀÇ Å¬·¡½º ºÐ·ùü°è·Î °¡½Ã¿À"; // "¹®ÀÚÀÇ Å¬·¡½º Á¶Á÷À¸·Î °¡½Ã¿À"
+ }
+ QCString trPageIndex()
+ {
+ return "ÆäÀÌÁö »öÀÎ";
+ }
+};
+
+#endif
diff --git a/src/util.cpp b/src/util.cpp
index 61770bc..d2691ce 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -314,6 +314,31 @@ ClassDef *getClass(const char *name)
return classDict[name];
}
+NamespaceDef *getResolvedNamespace(const char *name)
+{
+ if (name==0 || name[0]=='\0') return 0;
+ QCString *subst = namespaceAliasDict[name];
+ if (subst)
+ {
+ int count=0; // recursion detection guard
+ QCString *newSubst;
+ while ((newSubst=namespaceAliasDict[*subst]) && count<10)
+ {
+ subst=newSubst;
+ count++;
+ }
+ if (count==10)
+ {
+ warn_cont("Warning: possible recursive namespace alias detected for %s!\n",name);
+ }
+ return namespaceDict[subst->data()];
+ }
+ else
+ {
+ return namespaceDict[name];
+ }
+}
+
ClassDef *getResolvedClass(const char *name)
{
if (name==0 || name[0]=='\0') return 0;
@@ -2434,9 +2459,10 @@ void extractNamespaceName(const QCString &scopeName,
{
QCString clName=scopeName.copy();
//QCString nsName;
- if (!clName.isEmpty() && namespaceDict[clName] && getClass(clName)==0)
+ NamespaceDef *nd;
+ if (!clName.isEmpty() && (nd=getResolvedNamespace(clName)) && getClass(clName)==0)
{ // the whole name is a namespace (and not a class)
- namespaceName=clName.copy();
+ namespaceName=nd->name().copy();
className.resize(0);
//printf("extractNamespace `%s' => `%s|%s'\n",scopeName.data(),
// className.data(),namespaceName.data());
@@ -2446,9 +2472,9 @@ void extractNamespaceName(const QCString &scopeName,
while (p>=0 && (i=clName.findRev("::",p))!=-1)
// see if the first part is a namespace (and not a class)
{
- if (i>0 && namespaceDict[clName.left(i)] && getClass(clName.left(i))==0)
+ if (i>0 && (nd=getResolvedNamespace(clName.left(i))) && getClass(clName.left(i))==0)
{
- namespaceName=clName.left(i);
+ namespaceName=nd->name().copy();
className=clName.right(clName.length()-i-2);
//printf("extractNamespace `%s' => `%s|%s'\n",scopeName.data(),
// className.data(),namespaceName.data());
diff --git a/src/util.h b/src/util.h
index deb5d2a..f0ed331 100644
--- a/src/util.h
+++ b/src/util.h
@@ -107,6 +107,7 @@ extern QCString substitute(const char *s,const char *src,const char *dst);
extern QCString resolveDefines(const char *n);
extern ClassDef *getClass(const char *key);
extern ClassDef *getResolvedClass(const char *key);
+extern NamespaceDef *getResolvedNamespace(const char *key);
extern FileDef *findFileDef(const FileNameDict *fnDict,const char *n,
bool &ambig);
extern QCString showFileDefMatches(const FileNameDict *fnDict,const char *n);