Commit f7c82640 authored by Dimitri van Heesch's avatar Dimitri van Heesch

Release-1.2.7

parent 47fa8f35
DOXYGEN Version 1.2.6-20010422
DOXYGEN Version 1.2.7
Please read the installation section of the manual for instructions.
--------
Dimitri van Heesch (22 April 2001)
Dimitri van Heesch (30 April 2001)
DOXYGEN Version 1.2.6_20010422
DOXYGEN Version 1.2.7
Please read INSTALL for compilation instructions.
......@@ -7,4 +7,4 @@ The latest version of doxygen can be obtained at
Enjoy,
Dimitri van Heesch (22 April 2001)
Dimitri van Heesch (30 April 2001)
1.2.6-20010422
1.2.7
......@@ -115,7 +115,7 @@ typedef struct StructName TypeName
\par Example:
\verbinclude restypedef.cpp
\htmlonly
Click <a href="$(DOXYGEN_DOCDIR)/examples/restypedef/html/restypedef_cpp.html">here</a>
Click <a href="$(DOXYGEN_DOCDIR)/examples/restypedef/html/restypedef_8cpp.html">here</a>
for the corresponding HTML documentation that is generated by Doxygen.
\endhtmlonly
*/
......@@ -45,6 +45,7 @@ documentation:
\endlatexonly
<li> \refitem cmda \a
<li> \refitem cmdaddindex \addindex
<li> \refitem cmdaddtogroup \addtogroup
<li> \refitem cmdanchor \anchor
<li> \refitem cmdarg \arg
<li> \refitem cmdattention \attention
......@@ -148,6 +149,35 @@ Doxygen. Unrecognized commands are treated as normal text.
Structural indicators
\htmlonly --- </center>\endhtmlonly</h2>
\subsection cmdaddtogroup \addtogroup <name>
\addindex \addtogroup
Add extra documentation to a group \<name\> that was previously defined
using \\defgroup. This command can also be used to add a number of
entities to an existing group using \@{ and \@} like this:
\verbatim
/*! \addtogroup mygrp
* Additional documentation for group `mygrp'
* @{
*/
/*!
* A function
*/
void func1()
{
}
/*! Another function */
void func2()
{
}
/*! @} */
\endverbatim
See also \ref cmddefgroup "\\defgroup" and \ref cmdingroup "\\ingroup".
\subsection cmdclass \class <name> [<header-file>] [<header-name>]
\addindex \class
......@@ -180,7 +210,7 @@ Doxygen. Unrecognized commands are treated as normal text.
\par Example:
\verbinclude define.h
\htmlonly
Click <a href="$(DOXYGEN_DOCDIR)/examples/define/html/define_h.html">here</a>
Click <a href="$(DOXYGEN_DOCDIR)/examples/define/html/define_8h.html">here</a>
for the corresponding HTML documentation that is generated by Doxygen.
\endhtmlonly
......@@ -271,7 +301,7 @@ Doxygen. Unrecognized commands are treated as normal text.
\par Example:
\verbinclude file.h
\htmlonly
Click <a href="$(DOXYGEN_DOCDIR)/examples/file/html/file_h.html">here</a>
Click <a href="$(DOXYGEN_DOCDIR)/examples/file/html/file_8h.html">here</a>
for the corresponding HTML documentation that is generated by Doxygen.
\endhtmlonly
......@@ -547,7 +577,7 @@ Public/Protected/Private/... section.
\par Example:
\verbinclude author.cpp
\htmlonly
Click <a href="$(DOXYGEN_DOCDIR)/examples/author/html/class_windowsnt.html">here</a>
Click <a href="$(DOXYGEN_DOCDIR)/examples/author/html/class_windows_n_t.html">here</a>
for the corresponding HTML documentation that is generated by Doxygen.
\endhtmlonly
......
......@@ -758,10 +758,10 @@ followed by the descriptions of the tags grouped by category.
doxygen generates three additional HTML index files:
\c index.hhp, \c index.hhc, and \c index.hhk. The \c index.hhp is a
project file that can be read by
<a href="http://msdn.microsoft.com/workshop/author/htmlhelp">
<a href="http://msdn.microsoft.com/library/tools/htmlhelp/wkshp/download_main.htm">
Microsoft HTML help workshop</a>
\latexonly
(see http://msdn.microsoft.com/workshop/author/htmlhelp)
(see http://msdn.microsoft.com/library/tools/htmlhelp/wkshp/download\_main.htm)
\endlatexonly
on Windows.
......
......@@ -159,7 +159,7 @@ Here is an example of a C header named \c structcmd.h that is documented
using structural commands:
\verbinclude structcmd.h
\htmlonly
Click <a href="$(DOXYGEN_DOCDIR)/examples/structcmd/html/structcmd_h.html">here</a>
Click <a href="$(DOXYGEN_DOCDIR)/examples/structcmd/html/structcmd_8h.html">here</a>
for the corresponding HTML documentation that is generated by doxygen.
\endhtmlonly
......
......@@ -64,10 +64,8 @@ documentation. Note that all attributes of a HTML tag are ignored
<li>\c </OL> Ends a numbered item list.
<li>\c <P> Starts a new paragraph.
<li>\c </P> Does not generate any output.
<li>\c <PRE> starts a code fragment,
equivalent to the command \\code (see section \ref cmdcode).
<li>\c </PRE> ends a code fragment,
equivalent to the command \\endcode (see section \ref cmdendcode).
<li>\c <PRE> starts a preformatted fragment.
<li>\c </PRE> ends a preformatted fragment.
<li>\c <SMALL> starts a section of text displayed in a smaller font.
<li>\c </SMALL> ends a \c <SMALL> section.
<li>\c <STRONG> starts a section of bold text.
......
......@@ -159,6 +159,7 @@ Thanks go to:
<li>My brother <a href="http://www.stack.nl/~fidget/index.html">Frank</a>
for rendering the logos.
<li>Harm van der Heijden for adding HTML help support.
<li>Wouter Slegers for registering the www.doxygen.org domain.
<li>Parker Waerchter for adding the RTF output generator.
<li>Joerg Baumann, for adding conditional documentation blocks,
PDF links, and the configuration generator.
......
......@@ -425,7 +425,7 @@ Here is what is required:
(see \ref cfg_generate_htmlhelp "GENERATE_HTMLHELP") in the
config file, then you need the Microsoft HTML help workshop.
You can download it at:
http://msdn.microsoft.com/workshop/author/htmlhelp
http://msdn.microsoft.com/library/tools/htmlhelp/wkshp/download_main.htm
<li>If you used WinZip to extract the tar archive it will (apparently) not
create empty folders, so you have to add the folders
......
......@@ -18,13 +18,12 @@
<h3>Support for multiple languages</h3>
Doxygen has support for multiple languages. This means that the text fragments that
doxygen generates can changed into languages other than English
(the default) at configuration time.
Doxygen has support for multiple languages. This means
that the text fragments that doxygen generates can changed into languages
other than English (the default) at configuration time.
<p>
Currently, supported languages are English, French, Czech, Dutch, Spannish,
Swedish, Russian, Czech, Croatian, Italian, Hungarian, Finnish, German and Japanese,
and Korean.
Currently, supported for over 20 languages is available.
Here is a list of the languages and their current maintainers:
<p>
......@@ -269,7 +268,7 @@ let them (or me) know.
If you want to add support for a language that is not yet listed
please see the next section.
<h3>Language HOWTO</h3>
<h3>Adding a new language to doxygen</h3>
This short HOWTO explains how to add support for a new language to Doxygen:
......@@ -278,7 +277,7 @@ Just follow these steps:
<li>Tell me for which language you want to add support. If no one else
is already working on support for that language, you will be
assigned as the maintainer for the language.
<li>Create a copy of translator_nl.h and name it
<li>Create a copy of translator_en.h and name it
translator_<your_2_letter_counter_code>.h
I'll use xx in the rest of this document.
<li>Edit language.cpp:
......@@ -294,35 +293,63 @@ Just follow these steps:
}
\endverbatim
after the <code>if { ... }</code>
<li>Edit doxygen.pro and add \c translator_xx.h to
<li>Edit libdoxygen.pro.in and add \c translator_xx.h to
the \c HEADERS line in the file doxygen.pro.
<li>Edit <code>translator_xx.h</code>:
<ul>
<li>Rename <code>TRANSLATOR_NL_H</code> to <code>TRANSLATOR_XX_H</code> twice.
<li>Rename TranslatorDutch to TranslatorYourLanguage
<li>In the member <code>latexBabelPackage()</code> change "dutch" into the name of the
latex package that adds support for your language.
<li>Edit all the strings that are returned by the members that start
with tr.
Look at the corresponding member in translator.h for the english text
that is returned and translate that into your language.
<li>Rename <code>TRANSLATOR_EN_H</code> to <code>TRANSLATOR_XX_H</code> twice.
<li>Rename TranslatorEnglish to TranslatorYourLanguage
<li>In the member <code>idLanguage()</code> change "english" into the
name of the your language (use lower case characters only). Depending
on the language you may also wish to change the member functions
latexLanguageSupportCommand() and idLanguageCharset().
<li>Edit all the strings that are returned by the member functions that
start with tr.
Try to match punctuation and capitals!
To enter special characters (with accents) you can:
<ul>
<li> Enter them directly if your keyboard supports that and you are
using a Latin-1 font.
Doxygen will translate the characters to proper Latex and
leave the Html and man output for what it is.
leave the Html and man output for what it is (which is fine, if
idLanguageCharset() is set correctly).
<li> Use html codes like \&auml; for an a with an umlaut (i.e. &auml;).
See the HTML specification for the codes.
</ul>
</ul>
<li>Recompile everything (do this from the root of the distribution,
because the Makefile.dox* have to be regenerated!)
<li>Run configure and make again from the root of the distribution,
in order to regenerated the Makefiles.
<li>Now you can use <code>OUTPUT_LANGUAGE = your_language_name</code>
in the config file to generate output in your language.
<li>Send <code>translator_xx.h</code> or a <code>diff -u</code> of the changes
to me so I can add it to doxygen.
<li>Send <code>translator_xx.h</code> to me so I can add it to doxygen.
</ol>
<h3>Maintaining a language</h3>
As new versions of doxygen appear, new sentences will be
added to the Translator interface class. Of course these need to be translated
as well (otherwise doxygen wouldn't even compile!).
Waiting until all language maintainers have translated these new sentences
and sent the results would not be very practical for me.
Instead, a new class TranslatorAdapter_x_y_z will be added to
translator_adapter.h (here x,y, and z correspond to the current
version of doxygen). And all translators that previous derived from
Translator will now derive from this adapter class.
The Adapter class contains the new sentences with
default translations using the English translator (which is always up to date).
Instead of deriving your TranslatorXX class directly from Translator it will
derive from the intermediate class TranslatorAdapter_x_y_z.
Thus, if a translator class inherits from a adapter class
maintenance is needed. By looking at the adapter class itself (and its base
classes) you can easily see which methods need to be updated.
To update a language simply make your translator class derive from
TranslatorAdapterBase and provide translations for the methods that
were previously provided by the adapter class (and its base classes).
*/
......@@ -72,3 +72,17 @@ namespace N1 {};
/** @} */
/** @addtogroup group1
*
* More documentation for the first group.
* @{
*/
/** another function in group 1 */
void func2() {}
/** yet another function in group 1 */
void func3() {}
/** @} */
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>Annotated Index</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>Grouping Compound List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<ul>
<li><a class="el" href="class_c1.html">C1</a> (Class C1 in group 1)
<li><a class="el" href="class_c2.html">C2</a> (Class C2 in group 1)
<li><a class="el" href="class_c3.html">C3</a> (Class C3 in group 2)
<li><a class="el" href="class_c4.html">C4</a> (Class C4 in group 2)
<li><a class="el" href="class_c5.html">C5</a> (Class C5 in <a href="group_group3.html"> the third group</a>)
<li><a class="el" href="class_c6.html">C6</a> (Class C6 in all groups)
</ul>
<hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>C1 Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>C1 Class Reference</h1>class C1 in group 1.
<a href="#_details">More...</a>
<p>
<table border=0 cellpadding=0 cellspacing=0>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
class C1 in group 1.
<p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="group.cpp.html">group.cpp</a></ul>
<hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>C2 Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>C2 Class Reference</h1>class C2 in group 1.
<a href="#_details">More...</a>
<p>
<table border=0 cellpadding=0 cellspacing=0>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
class C2 in group 1.
<p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="group.cpp.html">group.cpp</a></ul>
<hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>C3 Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>C3 Class Reference</h1>class C3 in group 2.
<a href="#_details">More...</a>
<p>
<table border=0 cellpadding=0 cellspacing=0>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
class C3 in group 2.
<p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="group.cpp.html">group.cpp</a></ul>
<hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>C4 Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>C4 Class Reference</h1>class C4 in group 2.
<a href="#_details">More...</a>
<p>
<table border=0 cellpadding=0 cellspacing=0>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
class C4 in group 2.
<p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="group.cpp.html">group.cpp</a></ul>
<hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>C5 Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>C5 Class Reference</h1>class C5 in <a href="group_group3.html"> the third group</a>.
<a href="#_details">More...</a>
<p>
<table border=0 cellpadding=0 cellspacing=0>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
class C5 in <a href="group_group3.html"> the third group</a>.
<p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="group.cpp.html">group.cpp</a></ul>
<hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>C6 Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>C6 Class Reference</h1>class C6 in all groups.
<a href="#_details">More...</a>
<p>
<table border=0 cellpadding=0 cellspacing=0>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
class C6 in all groups.
<p>
<dl compact><dt>
<b>See also: </b><dd>
<a href="group_group1.html"> The first group</a>, <a href="group_group2.html">The Second Group</a>, <a href="group_group3.html">The Third Group</a> </dl><hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="group.cpp.html">group.cpp</a></ul>
<hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
H1 { text-align: center }
A.qindex {}
A.qindexRef {}
A.el { text-decoration: none; font-weight: bold }
A.elRef { font-weight: bold }
A.code { text-decoration: none; font-weight: normal; color: #4444ee }
A.codeRef { font-weight: normal; color: #4444ee }
A.gl:link { color: #ffffff }
A.gl:visited { color: #ffffff }
A.gl { text-decoration: none; font-weight: bold; background-color: #ff8080 }
DL.el { margin-left: -1cm }
DIV.fragment { width: 100%; border: none; background-color: #eeeeee }
DIV.in { margin-left: 16 }
DIV.ah { background-color: black; margin-bottom: 3; margin-top: 3 }
TD.md { background-color: #f2f2ff }
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>File Index</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>Grouping File List</h1>
<p>
Here is a list of all documented files with brief descriptions:
<p>
<ul>
<li><a class="el" href="group.cpp.html">group.cpp</a> (This file in group 3)
</ul>
<hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>group.cpp File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>group.cpp File Reference</h1>this file in group 3.
<a href="#_details">More...</a>
<p>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=4><br><h2>Compounds</h2></td></tr>
<tr><td><img src="null.gif"></td><td><img src="null.gif"></td><td nowrap align=right valign=top>class &nbsp;</td><td valign=top><a class="el" href="class_c1.html">C1</a></td></tr>
<tr><td><img src="null.gif"></td><td><img src="null.gif"></td><td nowrap align=right valign=top>class &nbsp;</td><td valign=top><a class="el" href="class_c2.html">C2</a></td></tr>
<tr><td><img src="null.gif"></td><td><img src="null.gif"></td><td nowrap align=right valign=top>class &nbsp;</td><td valign=top><a class="el" href="class_c3.html">C3</a></td></tr>
<tr><td><img src="null.gif"></td><td><img src="null.gif"></td><td nowrap align=right valign=top>class &nbsp;</td><td valign=top><a class="el" href="class_c4.html">C4</a></td></tr>
<tr><td><img src="null.gif"></td><td><img src="null.gif"></td><td nowrap align=right valign=top>class &nbsp;</td><td valign=top><a class="el" href="class_c5.html">C5</a></td></tr>
<tr><td><img src="null.gif"></td><td><img src="null.gif"></td><td nowrap align=right valign=top>class &nbsp;</td><td valign=top><a class="el" href="class_c6.html">C6</a></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
this file in group 3.<hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>The First Group</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>The First Group</h1><tr><td colspan=4><br><h2>Compounds</h2></td></tr>
<ul>
<li><a class="el" href="class_c1.html">C1</a>
<li><a class="el" href="class_c2.html">C2</a>
<li><a class="el" href="class_c6.html">C6</a>
</ul>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This is the first group <hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>The Second Group</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>The Second Group</h1><tr><td colspan=4><br><h2>Compounds</h2></td></tr>
<ul>
<li><a class="el" href="class_c3.html">C3</a>
<li><a class="el" href="class_c4.html">C4</a>
<li><a class="el" href="class_c6.html">C6</a>
</ul>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This is the second group <hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>The Third Group</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>The Third Group</h1><tr><td colspan=4><br><h2>Files</h2></td></tr>
<ul>
<li><a class="el" href="group.cpp.html">group.cpp</a>
</ul>
<tr><td colspan=4><br><h2>Compounds</h2></td></tr>
<ul>
<li><a class="el" href="class_c5.html">C5</a>
<li><a class="el" href="class_c6.html">C6</a>
</ul>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This is the third group <hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>Main Index</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>Grouping Documentation</h1>
<p>
<hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<title>Module Index</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 0.49-991106 on Sat Dec 4 22:01:06 1999 -->
<center>
<a class="qindex"href="index.html">Main Page</a> &nbsp; <a class="qindex"href="modules.html">Modules</a> &nbsp; <a class="qindex"href="annotated.html">Compound List</a> &nbsp; <a class="qindex"href="files.html">File List</a> &nbsp; </center>
<hr><h1>Grouping Modules</h1>Here is a list of all modules:
<dl compact>
<dt><a href="group_group1.html">The First Group</a><dd>
<p>
<dt><a href="group_group2.html">The Second Group</a><dd>
<p>
<dt><a href="group_group3.html">The Third Group</a><dd>
<p>
</dl>
<hr><address><small>Generated at Sat Dec 4 22:01:06 1999 for Grouping by
<a href="http://www.stack.nl/~dimitri/doxygen/index.html">
<img src="doxygen.gif" alt="doxygen" align=center border=0
width=118 height=53></a> 0.49-991106 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
&copy; 1997-1999</small></address>
</body>
</html>
Name: doxygen
Version: 1.2.6_20010422
Version: 1.2.7
Summary: documentation system for C, C++ and IDL
Release: 2
Source: doxygen_%{version}.src.tar.gz
......
......@@ -1842,7 +1842,14 @@ QCString ClassDef::compoundTypeString() const
QCString ClassDef::getOutputFileBase() const
{
return convertNameToFile(fileName);
if (isReference())
{
return fileName;
}
else
{
return convertNameToFile(fileName);
}
}
QCString ClassDef::getFileBase() const
......
......@@ -2161,7 +2161,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
insideHtmlLink=FALSE;
}
}
<DocScan>"<"{A} { BEGIN(DocHtmlLink); }
<DocScan>"<"{A}{BN}+ { BEGIN(DocHtmlLink); }
<DocScan>"<"{BOLD}{ATTR}">" { outDoc->startBold(); }
<DocScan>"</"{BOLD}{ATTR}">" { outDoc->endBold(); }
<DocScan>"<"{P}{ATTR}">" {
......
......@@ -438,6 +438,30 @@ static void organizeSubGroups(Entry *root)
}
}
static void addToGroupSections(Entry *root)
{
if (root->section==Entry::ADDGRPDOC_SEC && !root->name.isEmpty())
{
GroupDef *gd = Doxygen::groupDict[root->name];
if (gd)
{
gd->setDocumentation(gd->documentation()+"<p>"+root->brief+root->doc);
}
else
{
warn(root->fileName,root->startLine,
"Warning: ignoring addtogroup command for undefined "
"group `%s'.",root->name.data());
}
}
EntryListIterator eli(*root->sublist);
Entry *e;
for (;(e=eli.current());++eli)
{
addToGroupSections(e);
}
}
//----------------------------------------------------------------------
static void buildFileList(Entry *root)
......@@ -2564,7 +2588,10 @@ static void addTodoTestBugReferences()
ClassDef *cd=Doxygen::classList.first();
while (cd)
{
addRefItem(cd->todoId(),cd->testId(),cd->bugId(),"class",cd->getOutputFileBase(),cd->name());
addRefItem(cd->todoId(),cd->testId(),cd->bugId(),
theTranslator->trClass(TRUE,TRUE),
cd->getOutputFileBase(),cd->name()
);
cd=Doxygen::classList.next();
}
FileName *fn=Doxygen::inputNameList.first();
......@@ -2573,7 +2600,9 @@ static void addTodoTestBugReferences()
FileDef *fd=fn->first();
while (fd)
{
addRefItem(fd->todoId(),fd->testId(),fd->bugId(),"file",fd->getOutputFileBase(),fd->name());
addRefItem(fd->todoId(),fd->testId(),fd->bugId(),
theTranslator->trFile(TRUE,TRUE),
fd->getOutputFileBase(),fd->name());
fd=fn->next();
}
fn=Doxygen::inputNameList.next();
......@@ -2581,20 +2610,26 @@ static void addTodoTestBugReferences()
NamespaceDef *nd=Doxygen::namespaceList.first();
while (nd)
{
addRefItem(nd->todoId(),nd->testId(),nd->bugId(),"namespace",nd->getOutputFileBase(),nd->name());
addRefItem(nd->todoId(),nd->testId(),nd->bugId(),
theTranslator->trNamespace(TRUE,TRUE),
nd->getOutputFileBase(),nd->name());
nd=Doxygen::namespaceList.next();
}
GroupDef *gd=Doxygen::groupList.first();
while (gd)
{
addRefItem(gd->todoId(),gd->testId(),gd->bugId(),"group",gd->getOutputFileBase(),gd->groupTitle());
addRefItem(gd->todoId(),gd->testId(),gd->bugId(),
theTranslator->trGroup(TRUE,TRUE),
gd->getOutputFileBase(),gd->groupTitle());
gd=Doxygen::groupList.next();
}
PageSDictIterator pdi(*Doxygen::pageSDict);
PageInfo *pi=0;
for (pdi.toFirst();(pi=pdi.current());++pdi)
{
addRefItem(pi->todoId,pi->testId,pi->bugId,"page",pi->name,pi->title);
addRefItem(pi->todoId,pi->testId,pi->bugId,
theTranslator->trPage(TRUE,TRUE),
pi->name,pi->title);
}
MemberNameListIterator mnli(Doxygen::memberNameList);
MemberName *mn=0;
......@@ -2610,8 +2645,15 @@ static void addTodoTestBugReferences()
if (d==0) d=md->getGroupDef();
if (d==0) d=md->getFileDef();
// TODO: i18n this
QCString memLabel="member";
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) memLabel="field";
QCString memLabel;
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
memLabel=theTranslator->trField(TRUE,TRUE);
}
else
{
memLabel=theTranslator->trMember(TRUE,TRUE);
}
if (d)
{
addRefItem(md->todoId(),md->testId(),md->bugId(),memLabel,d->getOutputFileBase()+":"+md->anchor(),scopeName+"::"+md->name(),md->argsString());
......@@ -2631,8 +2673,15 @@ static void addTodoTestBugReferences()
if (d==0) d=md->getGroupDef();
if (d==0) d=md->getFileDef();
// TODO: i18n this
QCString memLabel="member";
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) memLabel="global";
QCString memLabel;
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
memLabel=theTranslator->trGlobal(TRUE,TRUE);
}
else
{
memLabel=theTranslator->trMember(TRUE,TRUE);
}
if (d)
{
addRefItem(md->todoId(),md->testId(),md->bugId(),memLabel,d->getOutputFileBase()+":"+md->anchor(),md->name(),md->argsString());
......@@ -6294,6 +6343,7 @@ void parseInput()
msg("Building group list...\n");
buildGroupList(root);
organizeSubGroups(root);
addToGroupSections(root);
msg("Building namespace list...\n");
buildNamespaceList(root);
......
......@@ -55,11 +55,12 @@
struct FileInfo
{
FileInfo() { f=0; url=0; }
FileInfo() { name[0]='\0'; f=0; url=0; }
~FileInfo() { if (f) fclose(f);
delete[] url;
}
FILE *f;
char name[MAXSTRLEN];
int index;
int refOffset;
char *url;
......@@ -396,8 +397,11 @@ void searchIndex(const char *word,SearchResults *results)
FileInfo *fi=fileList.first;
while (fi)
{
fi->f = fopen(fi->name, "rb");
fseek(fi->f,8,SEEK_SET);
searchRecursive(results,fi,word);
fclose(fi->f);
fi->f=0;
fi=fi->next;
}
......@@ -516,6 +520,10 @@ void generateResults(SearchResults *sr)
if (skipEntries == 0)
{
SearchDoc *d=docPtrArray[i];
if (d->fileInfo->f == 0)
{
d->fileInfo->f = fopen(d->fileInfo->name, "rb");
}
FILE *f=d->fileInfo->f;
fseek(f,d->fileInfo->refOffset+d->index*4,SEEK_SET);
int offset=readInt(f);
......@@ -531,6 +539,11 @@ void generateResults(SearchResults *sr)
rank*2+55, 255-rank*2, rank,
d->fileInfo->url, htmlName, linkName);
pageEntries--;
if (d->fileInfo->f != 0)
{
fclose(d->fileInfo->f);
d->fileInfo->f = 0;
}
}
else
{
......@@ -946,6 +959,7 @@ int main(int argc,char **argv)
FileInfo *fi=fileList.add();
FILE *g;
strcpy(fi->name,indexFile);
if ((fi->f=fopen(indexFile,"rb"))==NULL)
{
message("Error: could not open index file %s\n",indexFile);
......@@ -982,6 +996,8 @@ int main(int argc,char **argv)
}
// read and store the offset to the link index
fi->refOffset=readInt(fi->f);
fclose(fi->f);
fi->f = 0;
}
char *word;
......
......@@ -176,7 +176,8 @@ class Entry
MAINPAGEDOC_SEC = 0x01200000,
MEMBERGRP_SEC = 0x01300000,
USINGDECL_SEC = 0x01400000,
PACKAGE_SEC = 0x01500000
PACKAGE_SEC = 0x01500000,
ADDGRPDOC_SEC = 0x01600000
};
enum MemberSpecifier
{
......
......@@ -357,7 +357,7 @@ void GroupDef::writeDocumentation(OutputList &ol)
if (fileList->count()>0)
{
ol.startMemberHeader();
parseText(ol,theTranslator->trFiles());
parseText(ol,theTranslator->trFile(TRUE,FALSE));
ol.endMemberHeader();
ol.startMemberList();
FileDef *fd=fileList->first();
......
......@@ -2350,14 +2350,18 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd,bool subLevel)
{
if(htmlHelp)
{
htmlHelp->addContentsItem(TRUE, convertToHtml(theTranslator->trFiles()), gd->getOutputFileBase(), 0);
htmlHelp->addContentsItem(TRUE,
convertToHtml(theTranslator->trFile(TRUE,FALSE)),
gd->getOutputFileBase(), 0);
htmlHelp->incContentsDepth();
}
if(ftvHelp)
{
ftvHelp->addContentsItem(TRUE, gd->getReference(), gd->getOutputFileBase(), 0, theTranslator->trFiles());
ftvHelp->addContentsItem(TRUE, gd->getReference(),
gd->getOutputFileBase(), 0,
theTranslator->trFile(TRUE,FALSE));
ftvHelp->incContentsDepth();
}
......
......@@ -17,6 +17,7 @@
#include "message.h"
#include "language.h"
#include "translator_en.h"
#if !defined(ENGLISH_ONLY)
#include "translator_nl.h"
#include "translator_se.h"
......@@ -48,7 +49,7 @@ bool setTranslator(const char *langName)
{
if (L_EQUAL("english"))
{
theTranslator=new Translator;
theTranslator=new TranslatorEnglish;
}
#if !defined(ENGLISH_ONLY)
else if (L_EQUAL("dutch"))
......@@ -134,8 +135,11 @@ bool setTranslator(const char *langName)
#endif
else // use the default language (i.e. english)
{
theTranslator=new Translator;
theTranslator=new TranslatorEnglish;
return FALSE;
}
QCString msg = theTranslator->updateNeededMessage();
if (!msg.isEmpty()) warn_cont(msg);
return TRUE;
}
......@@ -249,21 +249,10 @@ static void writeDefaultHeaderPart1(QTextStream &t)
if (!sLanguageSupportCommand.isEmpty())
{
// The command is not empty. The language does
// not want to use the babel package. Use this
// command instead.
// The command is not empty. Put it to the output.
// if the command is empty, no output is needed.
t << sLanguageSupportCommand;
}
else
{
if (!theTranslator->latexBabelPackage().isEmpty())
{
// The result of the LatexLanguageSupportCommand()
// is empty, which means that the language prefers
// the babel package, or no package is needed at all.
t << "\\usepackage[" << theTranslator->latexBabelPackage() << "]{babel}\n";
}
}
QStrList &extraPackages = Config_getList("EXTRA_PACKAGES");
const char *s=extraPackages.first();
......@@ -280,7 +269,6 @@ static void writeDefaultHeaderPart1(QTextStream &t)
"\\vspace*{7cm}\n"
"\\begin{center}\n"
"{\\Large ";
}
static void writeDefaultHeaderPart2(QTextStream &t)
......
......@@ -16,30 +16,135 @@
TEMPLATE = libdoxygen.t
CONFIG = console warn_on staticlib $extraopts
HEADERS = doxygen.h scanner.h doc.h classdef.h classlist.h memberdef.h \
membername.h index.h memberlist.h definition.h \
entry.h logos.h instdox.h message.h code.h \
filedef.h util.h cppvalue.h constexp.h \
outputgen.h outputlist.h htmlgen.h latexgen.h \
filename.h defargs.h groupdef.h gifenc.h diagram.h image.h \
namespacedef.h version.h language.h translator.h \
translator_nl.h translator_se.h translator_cz.h translator_fr.h \
translator_it.h formula.h debug.h membergroup.h htmlhelp.h \
translator_ru.h translator_pl.h dot.h rtfgen.h \
reflist.h page.h sortdict.h translator_hu.h translator_kr.h \
translator_ro.h translator_si.h translator_cn.h ftvhelp.h \
treeview.h tagreader.h packagedef.h
SOURCES = doxygen.cpp scanner.cpp doc.cpp classdef.cpp classlist.cpp \
memberdef.cpp membername.cpp index.cpp memberlist.cpp \
entry.cpp logos.cpp instdox.cpp message.cpp code.cpp \
filedef.cpp util.cpp groupdef.cpp \
outputgen.cpp outputlist.cpp htmlgen.cpp latexgen.cpp mangen.cpp \
cppvalue.cpp ce_lex.cpp ce_parse.cpp pre.cpp \
filename.cpp declinfo.cpp defargs.cpp define.cpp \
diagram.cpp gifenc.cpp image.cpp namespacedef.cpp \
version.cpp language.cpp definition.cpp formula.cpp debug.cpp \
membergroup.cpp htmlhelp.cpp dot.cpp rtfgen.cpp \
reflist.cpp ftvhelp.cpp tagreader.cpp packagedef.cpp
HEADERS = bufstr.h \
classdef.h \
classlist.h \
code.h \
config.h \
constexp.h \
cppvalue.h \
debug.h \
doxygen.h \
scanner.h \
doc.h \
dot.h \
doxygen.h \
entry.h \
example.h \
filedef.h \
filename.h \
formula.h \
ftvhelp.h \
gifenc.h \
groupdef.h \
htmlgen.h \
htmlhelp.h \
image.h \
index.h \
instdox.h \
language.h \
latexgen.h \
logos.h \
mangen.h \
memberdef.h \
membergroup.h \
memberlist.h \
membername.h \
message.h \
namespacedef.h \
outputgen.h \
outputlist.h \
packagedef.h \
page.h \
pre.h \
qtbc.h \
reflist.h \
rtfgen.h \
scanner.h \
searchindex.h \
section.h \
sortdict.h \
suffixtree.h \
tagreader.h \
translator.h \
translator_adapter.h \
translator_br.h \
translator_cn.h \
translator_cz.h \
translator_de.h \
translator_en.h \
translator_es.h \
translator_fi.h \
translator_fr.h \
translator_hr.h \
translator_hu.h \
translator_it.h \
translator_jp.h \
translator_kr.h \
translator_nl.h \
translator_no.h \
translator_pl.h \
translator_pt.h \
translator_ro.h \
translator_ru.h \
translator_se.h \
translator_si.h \
treeview.h \
unistd.h \
util.h \
version.h
SOURCES = ce_lex.cpp \
ce_parse.cpp \
classdef.cpp \
classlist.cpp \
code.cpp \
config.cpp \
cppvalue.cpp \
debug.cpp \
declinfo.cpp \
defargs.cpp \
define.cpp \
definition.cpp \
diagram.cpp \
doc.cpp \
dot.cpp \
doxygen.cpp \
entry.cpp \
filedef.cpp \
filename.cpp \
formula.cpp \
ftvhelp.cpp \
gifenc.cpp \
groupdef.cpp \
htmlgen.cpp \
htmlhelp.cpp \
image.cpp \
index.cpp \
instdox.cpp \
language.cpp \
latexgen.cpp \
logos.cpp \
main.cpp \
mangen.cpp \
memberdef.cpp \
membergroup.cpp \
memberlist.cpp \
membername.cpp \
message.cpp \
namespacedef.cpp \
outputgen.cpp \
outputlist.cpp \
packagedef.cpp \
pre.cpp \
reflist.cpp \
rtfgen.cpp \
scanner.cpp \
searchindex.cpp \
suffixtree.cpp \
tagreader.cpp \
util.cpp \
version.cpp
win32:TMAKE_CXXFLAGS += -DQT_NODLL
INCLUDEPATH += ../qtools
win32:INCLUDEPATH += .
......
......@@ -15,6 +15,9 @@
*
*/
/* http://www.cubic.org/source/archive/fileform/txt/man/ has some
nice introductions to groff and man pages. */
#include <stdlib.h>
#include "qtbc.h"
......@@ -187,14 +190,14 @@ void ManGenerator::writeMailLink(const char *url)
void ManGenerator::startGroupHeader()
{
if (!firstCol) t << endl;
t << ".SH ";
t << ".SH \"";
upperCase=TRUE;
firstCol=FALSE;
}
void ManGenerator::endGroupHeader()
{
t << "\n.PP " << endl;
t << "\"\n.PP " << endl;
firstCol=TRUE;
paragraph=TRUE;
upperCase=FALSE;
......@@ -203,12 +206,12 @@ void ManGenerator::endGroupHeader()
void ManGenerator::startMemberHeader()
{
if (!firstCol) t << endl;
t << ".SS ";
t << ".SS \"";
}
void ManGenerator::endMemberHeader()
{
t << "\n";
t << "\"\n";
firstCol=TRUE;
paragraph=FALSE;
}
......@@ -225,6 +228,7 @@ void ManGenerator::docify(const char *str)
{
case '\\': t << "\\\\"; col++; break;
case '\n': t << "\n"; col=0; break;
case '\"': c = '\''; // no break!
default: t << c; col++; break;
}
}
......@@ -254,6 +258,7 @@ void ManGenerator::codify(const char *str)
break;
case '\n': t << "\n"; firstCol=TRUE; col=0; break;
case '\\': t << "\\"; col++; break;
case '\"': c = '\''; // no break!
default: t << c; firstCol=FALSE; col++; break;
}
}
......@@ -269,6 +274,7 @@ void ManGenerator::writeChar(char c)
switch (c)
{
case '\\': t << "\\\\"; break;
case '\"': c = '\''; // no break!
default: t << c; break;
}
//printf("%c",c);fflush(stdout);
......@@ -288,11 +294,16 @@ void ManGenerator::startDescList()
void ManGenerator::startTitle()
{
if (!firstCol) t << endl;
t << ".SH ";
t << ".SH \"";
firstCol=FALSE;
paragraph=FALSE;
}
void ManGenerator::endTitle()
{
t << "\"";
}
void ManGenerator::writeListItem()
{
if (!firstCol) t << endl;
......@@ -322,27 +333,43 @@ void ManGenerator::endCodeFragment()
void ManGenerator::startMemberDoc(const char *,const char *,const char *,const char *)
{
if (!firstCol) t << endl;
t << ".SS ";
t << ".SS \"";
firstCol=FALSE;
paragraph=FALSE;
}
void ManGenerator::endMemberDoc()
{
t << "\"";
}
void ManGenerator::startSubsection()
{
if (!firstCol) t << endl;
t << ".SS ";
t << ".SS \"";
firstCol=FALSE;
paragraph=FALSE;
}
void ManGenerator::endSubsection()
{
t << "\"";
}
void ManGenerator::startSubsubsection()
{
if (!firstCol) t << endl;
t << "\n.SS ";
t << "\n.SS \"";
firstCol=FALSE;
paragraph=FALSE;
}
void ManGenerator::endSubsubsection()
{
t << "\"";
}
void ManGenerator::writeSynopsis()
{
if (!firstCol) t << endl;
......@@ -420,7 +447,7 @@ void ManGenerator::startMemberGroupHeader(bool)
void ManGenerator::endMemberGroupHeader()
{
t << "\\fR\"\n.br\n";
t << "\\fP\"\n.br\n";
firstCol=TRUE;
}
......
......@@ -54,16 +54,16 @@ class ManGenerator : public OutputGenerator
void startTitleHead(const char *) {}
void endTitleHead(const char *,const char *);
void startTitle();
void endTitle() {}
void endTitle();
void newParagraph();
void writeString(const char *text);
void startIndexList() {}
void endIndexList() {}
void endIndexList() { newParagraph(); }
void startItemList() {}
void endItemList() {}
void endItemList() { newParagraph(); }
void startEnumList() {}
void endEnumList() {}
void endEnumList() { newParagraph(); }
void startAlphabeticalIndexList() {}
void endAlphabeticalIndexList() {}
void writeIndexHeading(const char *) {}
......@@ -80,7 +80,7 @@ class ManGenerator : public OutputGenerator
void endHtmlLink();
void writeMailLink(const char *url);
void startTypewriter() { t << "\\fC"; firstCol=FALSE; }
void endTypewriter() { t << "\\fR"; firstCol=FALSE; }
void endTypewriter() { t << "\\fP"; firstCol=FALSE; }
void startGroupHeader();
void endGroupHeader();
void startMemberSections() {}
......@@ -112,11 +112,11 @@ class ManGenerator : public OutputGenerator
void startCodeLine() {}
void endCodeLine() { codify("\n"); col=0; }
//void writeBoldString(const char *text)
// { t << "\\fB"; docify(text); t << "\\fR"; firstCol=FALSE; }
// { t << "\\fB"; docify(text); t << "\\fP"; firstCol=FALSE; }
void startEmphasis() { t << "\\fI"; firstCol=FALSE; }
void endEmphasis() { t << "\\fR"; firstCol=FALSE; }
void endEmphasis() { t << "\\fP"; firstCol=FALSE; }
void startBold() { t << "\\fB"; firstCol=FALSE; }
void endBold() { t << "\\fR"; firstCol=FALSE; }
void endBold() { t << "\\fP"; firstCol=FALSE; }
void startDescription() {}
void endDescription() {}
void startDescItem();
......@@ -124,7 +124,7 @@ class ManGenerator : public OutputGenerator
void lineBreak() { t << "\n.br" << endl; }
void writeChar(char c);
void startMemberDoc(const char *,const char *,const char *,const char *);
void endMemberDoc() {}
void endMemberDoc();
void startDoxyAnchor(const char *,const char *,const char *) {}
void endDoxyAnchor(const char *,const char *) {}
void startCodeAnchor(const char *) {}
......@@ -135,9 +135,9 @@ class ManGenerator : public OutputGenerator
const char *path,const char *name);
void writeEndAnnoItem(const char *) { t << endl; firstCol=TRUE; }
void startSubsection();
void endSubsection() {}
void endSubsection();
void startSubsubsection();
void endSubsubsection() {}
void endSubsubsection();
void startCenter() {}
void endCenter() {}
void startSmall() {}
......@@ -153,7 +153,7 @@ class ManGenerator : public OutputGenerator
void nextTableColumn() {}
void endTableColumn() {}
void writeCopyright() { t << "(c)"; firstCol=FALSE; }
void writeQuote() { t << "\""; firstCol=FALSE; }
void writeQuote() { t << "`"; firstCol=FALSE; }
void writeUmlaut(char c) { t << c << "\\*'"; firstCol=FALSE; }
void writeAcute(char c) { t << c << "\\*`"; firstCol=FALSE; }
void writeGrave(char c) { t << c << "\\*:"; firstCol=FALSE; }
......@@ -168,7 +168,7 @@ class ManGenerator : public OutputGenerator
void writeCCedil(char c) { t << c; /* TODO: fix this */
firstCol=FALSE; }
void startMemberDescription() { t << "\n.RI \"\\fI"; firstCol=FALSE; }
void endMemberDescription() { t << "\\fR\""; firstCol=FALSE; }
void endMemberDescription() { t << "\\fP\""; firstCol=FALSE; }
void startDescList();
void endDescList() {}
void startParamList() { startDescList(); }
......
......@@ -474,6 +474,7 @@ TITLE [tT][iI][tT][lL][eE]
%x DocBaseClass
%x CppQuote
%x EndCppQuote
%x AddGroupDocArg1
%x GroupDocArg1
%x GroupDocArg2
%x GroupName
......@@ -2686,6 +2687,12 @@ TITLE [tT][iI][tT][lL][eE]
current->startLine = yyLineNr;
BEGIN( GroupDocArg1 );
}
<Doc,JavaDoc>{B}*{CMD}"addtogroup"{B}+ {
current->section = Entry::ADDGRPDOC_SEC;
current->fileName = yyFileName;
current->startLine = yyLineNr;
BEGIN( AddGroupDocArg1 );
}
<Doc,JavaDoc>{B}*{CMD}"namespace"{B}+ {
current->section = Entry::NAMESPACEDOC_SEC;
current->fileName = yyFileName;
......@@ -2940,6 +2947,27 @@ TITLE [tT][iI][tT][lL][eE]
yyLineNr++;
}
<AddGroupDocArg1>{ID} {
current->name = yytext;
lastDefGroup = yytext;
newDocState();
}
<AddGroupDocArg1>"\n" {
warn(yyFileName,yyLineNr,
"Warning: missing argument after "
"\\addtogroup."
);
yyLineNr++;
BEGIN( Doc );
}
<GroupDocArg2>"*/" {
unput('/');unput('*');
warn(yyFileName,yyLineNr,
"Warning: missing argument after "
"\\addtogroup."
);
BEGIN( Doc );
}
<GroupDocArg1>{ID}(".html"?) {
current->name = yytext;
lastDefGroup = yytext;
......@@ -3213,7 +3241,9 @@ TITLE [tT][iI][tT][lL][eE]
BEGIN( GroupName );
}
<ClassDoc,Doc,JavaDoc>{CMD}"{" {
if (current->section == Entry::GROUPDOC_SEC)
if (current->section==Entry::GROUPDOC_SEC ||
current->section==Entry::ADDGRPDOC_SEC
)
{
autoGroupNameStack.push(new QCString(current->name));
}
......@@ -3636,9 +3666,12 @@ TITLE [tT][iI][tT][lL][eE]
unput('/');unput('*');
BEGIN( tmpDocType );
}
<Doc,JavaDoc,ClassDoc,PageDoc,ExampleDoc,ReadFormulaShort,ReadFormulaLong,ClassDocBrief,AfterDoc,AfterDocBrief>^{B}*(("//"{B}*)?)"*"+[ \t]*"-"("#")?{B}+ {
<Doc,JavaDoc,ClassDoc,PageDoc,ExampleDoc,ReadFormulaShort,ReadFormulaLong,AfterDoc>^{B}*(("//"{B}*)?)"*"+[ \t]*"-"("#")?{B}+ {
current->doc += yytext;
}
<ClassDocBrief,AfterDocBrief>^{B}*(("//"{B}*)?)"*"+[ \t]*"-"("#")?{B}+ {
current->brief += "-";
}
<Doc,JavaDoc,ClassDoc,PageDoc,ExampleDoc,ReadFormulaShort,ReadFormulaLong,ClassDocBrief,AfterDoc,AfterDocBrief>^{B}*(("//"{B}*)?)"*"+/[^/]
<Doc,JavaDoc,ClassDoc,PageDoc,ExampleDoc,ReadFormulaShort,ReadFormulaLong,ClassDocBrief,AfterDoc,AfterDocBrief>^{B}*(("//"{B}*)?)"*"+{B}+ {
current->doc+=' ';
......
......@@ -28,13 +28,19 @@ class Translator
protected:
/*! Returns the string converted from windows-1250 to iso-8859-2. */
/* The method was designed initially for translator_cz.h.
It is used for on-line encoding conversion related to conditional
compilation in Unix/MS Windows environments (both use different
encoding). Later, the translator_hr.h (by Boris Bralo) used and
improved the same style. As the method with the translation table
was the same, the decision to move it to this base class was made.
The same holds for ISO88592ToWin1250() method. It is recommended
for possibly other similar methods in future.
* It is used for on-line encoding conversion related to
* conditional compilation in Unix/MS Windows environments
* (both use different encoding). Later, the translator_hr.h
* (by Boris Bralo) used and improved the same style. As the
* method with the translation table was the same, the
* decision to move it to this base class was made. The same
* holds for ISO88592ToWin1250() method.
*
* Alexandr Chelpanov used the same approach for
* Koi8RToWindows1251() and Windows1251ToKoi8R() methods. Notice,
* that he uses Unicode tables.
*
* It is recommended for possibly other similar methods in future.
*/
QCString Win1250ToISO88592(const QCString & sInput)
{
......@@ -107,10 +113,97 @@ class Translator
return result;
}
/*! Returns the string converted from koi8-r to windows-1251. */
/* The method was designed initially for translator_cz.h.
It is used for on-line encoding conversion related to conditional
compilation in Unix/MS Windows environments (both use different
encoding).
Encoding table got from QT:qtextcodec.cpp
*/
QCString Koi8RToWindows1251( const QCString & sInput )
{
static Q_UINT16 koi8_r[128] =
{ 0x2500, 0x2502, 0x250C, 0x2510, 0x2514, 0x2518, 0x251C, 0x2524,
0x252C, 0x2534, 0x253C, 0x2580, 0x2584, 0x2588, 0x258C, 0x2590,
0x2591, 0x2592, 0x2593, 0x2320, 0x25A0, 0x2219/**/, 0x221A, 0x2248,
0x2264, 0x2265, 0x00A0, 0x2321, 0x00B0, 0x00B2, 0x00B7, 0x00F7,
0x2550, 0x2551, 0x2552, 0x0451, 0x2553, 0x2554, 0x2555, 0x2556,
0x2557, 0x2558, 0x2559, 0x255A, 0x255B, 0x255C, 0x255D, 0x255E,
0x255F, 0x2560, 0x2561, 0x0401, 0x2562, 0x2563, 0x2564, 0x2565,
0x2566, 0x2567, 0x2568, 0x2569, 0x256A, 0x256B, 0x256C, 0x00A9,
0x044E, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433,
0x0445, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E,
0x043F, 0x044F, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432,
0x044C, 0x044B, 0x0437, 0x0448, 0x044D, 0x0449, 0x0447, 0x044A,
0x042E, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413,
0x0425, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E,
0x041F, 0x042F, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412,
0x042C, 0x042B, 0x0417, 0x0428, 0x042D, 0x0429, 0x0427, 0x042A
};
QString result;
int len = sInput.length();
result.setUnicode(0, len);
QChar* uc = (QChar*)result.unicode(); // const_cast
const unsigned char * c = (const unsigned char *)(const char*)sInput;
for( int i=0; i<len; i++ ) {
if ( c[i] > 127 )
uc[i] = koi8_r[c[i]-128];
else
uc[i] = c[i];
}
return result.local8Bit();
}
/*! returns the string converted from Windows-1251 to koi8-r */
/* See the comments of the Koi8RToWindows1251() method for details.
Encoding table got from QT:qtextcodec.cpp */
QCString Windows1251ToKoi8R( const QCString & sInput )
{
static Q_UINT16 windows_1251[128] =
{ 0x0402, 0x0403, 0x201A, 0x0453, 0x201E, 0x2026, 0x2020, 0x2021,
0x20AC, 0x2030, 0x0409, 0x2039, 0x040A, 0x040C, 0x040B, 0x040F,
0x0452, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014,
0xFFFD, 0x2122, 0x0459, 0x203A, 0x045A, 0x045C, 0x045B, 0x045F,
0x00A0, 0x040E, 0x045E, 0x0408, 0x00A4, 0x0490, 0x00A6, 0x00A7,
0x0401, 0x00A9, 0x0404, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x0407,
0x00B0, 0x00B1, 0x0406, 0x0456, 0x0491, 0x00B5, 0x00B6, 0x00B7,
0x0451, 0x2116, 0x0454, 0x00BB, 0x0458, 0x0405, 0x0455, 0x0457,
0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,
0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F,
0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,
0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F,
0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,
0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F,
0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,
0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F
};
QString result;
int len = sInput.length();
result.setUnicode(0, len);
QChar* uc = (QChar*)result.unicode(); // const_cast
const unsigned char * c = (const unsigned char *)(const char*)sInput;
for( int i=0; i<len; i++ ) {
if ( c[i] > 127 )
uc[i] = windows_1251[c[i]-128];
else
uc[i] = c[i];
}
return result.local8Bit();
}
public:
// --- Language contol methods -------------------
/*! This method is used to provide warning message that is displayed
* if the user chooses a language whose translation is not up to date.
* It is implemented by the adapter classes.
*/
virtual QCString updateNeededMessage() { return ""; }
// --- Language control methods -------------------
/*! Used for identification of the language. May resemble
* the string returned by latexBabelPackage(), but it is not used
......@@ -119,578 +212,330 @@ class Translator
* (e.g. Czech, Japanese, Russian, etc.). It should be equal to
* the identification in language.cpp.
*/
virtual QCString idLanguage()
{ return "english"; }
virtual QCString idLanguage() = 0;
/*! Used to get the command(s) for the language support. This method
* was designed for languages which do not prefer babel package.
* If this methods returns empty string, then the latexBabelPackage()
* method is used to generate the command for using the babel package.
*/
virtual QCString latexLanguageSupportCommand()
{
return "";
}
/*! returns the name of the package that is included by LaTeX */
virtual QCString latexBabelPackage()
{ return ""; }
virtual QCString latexLanguageSupportCommand() = 0;
/*! return the language charset. This will be used for the HTML output */
virtual QCString idLanguageCharset()
{
return "iso-8859-1";
}
virtual QCString idLanguageCharset() = 0;
// --- Language translation methods -------------------
/*! used in the compound documentation before a list of related functions. */
virtual QCString trRelatedFunctions()
{ return "Related Functions"; }
virtual QCString trRelatedFunctions() = 0;
/*! subscript for the related functions. */
virtual QCString trRelatedSubscript()
{ return "(Note that these are not member functions.)"; }
virtual QCString trRelatedSubscript() = 0;
/*! header that is put before the detailed description of files, classes and namespaces. */
virtual QCString trDetailedDescription()
{ return "Detailed Description"; }
virtual QCString trDetailedDescription() = 0;
/*! header that is put before the list of typedefs. */
virtual QCString trMemberTypedefDocumentation()
{ return "Member Typedef Documentation"; }
virtual QCString trMemberTypedefDocumentation() = 0;
/*! header that is put before the list of enumerations. */
virtual QCString trMemberEnumerationDocumentation()
{ return "Member Enumeration Documentation"; }
virtual QCString trMemberEnumerationDocumentation() = 0;
/*! header that is put before the list of member functions. */
virtual QCString trMemberFunctionDocumentation()
{ return "Member Function Documentation"; }
virtual QCString trMemberFunctionDocumentation() = 0;
/*! header that is put before the list of member attributes. */
virtual QCString trMemberDataDocumentation()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Field Documentation";
}
else
{
return "Member Data Documentation";
}
}
virtual QCString trMemberDataDocumentation() = 0;
/*! this is the text of a link put after brief descriptions. */
virtual QCString trMore()
{ return "More..."; }
virtual QCString trMore() = 0;
/*! put in the class documentation */
virtual QCString trListOfAllMembers()
{ return "List of all members."; }
virtual QCString trListOfAllMembers() = 0;
/*! used as the title of the "list of all members" page of a class */
virtual QCString trMemberList()
{ return "Member List"; }
virtual QCString trMemberList() = 0;
/*! this is the first part of a sentence that is followed by a class name */
virtual QCString trThisIsTheListOfAllMembers()
{ return "This is the complete list of members for "; }
virtual QCString trThisIsTheListOfAllMembers() = 0;
/*! this is the remainder of the sentence after the class name */
virtual QCString trIncludingInheritedMembers()
{ return ", including all inherited members."; }
virtual QCString trIncludingInheritedMembers() = 0;
/*! this is put at the author sections at the bottom of man pages.
* parameter s is name of the project name.
*/
virtual QCString trGeneratedAutomatically(const char *s)
{ QCString result="Generated automatically by Doxygen";
if (s) result+=(QCString)" for "+s;
result+=" from the source code.";
return result;
}
virtual QCString trGeneratedAutomatically(const char *s) = 0;
/*! put after an enum name in the list of all members */
virtual QCString trEnumName()
{ return "enum name"; }
virtual QCString trEnumName() = 0;
/*! put after an enum value in the list of all members */
virtual QCString trEnumValue()
{ return "enum value"; }
virtual QCString trEnumValue() = 0;
/*! put after an undocumented member in the list of all members */
virtual QCString trDefinedIn()
{ return "defined in"; }
virtual QCString trDefinedIn() = 0;
// TODO: trVerbatimText is no longer used => remove!
/*! put as in introduction in the verbatim header file of a class.
* parameter f is the name of the include file.
*/
virtual QCString trVerbatimText(const char *f)
{ return (QCString)"This is the verbatim text of the "+f+" include file."; }
// quick reference sections
/*! This is put above each page as a link to the list of all groups of
* compounds or files (see the \\group command).
*/
virtual QCString trModules()
{ return "Modules"; }
virtual QCString trModules() = 0;
/*! This is put above each page as a link to the class hierarchy */
virtual QCString trClassHierarchy()
{ return "Class Hierarchy"; }
virtual QCString trClassHierarchy() = 0;
/*! This is put above each page as a link to the list of annotated classes */
virtual QCString trCompoundList()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Data Structures";
}
else
{
return "Compound List";
}
}
virtual QCString trCompoundList() = 0;
/*! This is put above each page as a link to the list of documented files */
virtual QCString trFileList()
{ return "File List"; }
virtual QCString trFileList() = 0;
/*! This is put above each page as a link to the list of all verbatim headers */
virtual QCString trHeaderFiles()
{ return "Header Files"; }
virtual QCString trHeaderFiles() = 0;
/*! This is put above each page as a link to all members of compounds. */
virtual QCString trCompoundMembers()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Data Fields";
}
else
{
return "Compound Members";
}
}
virtual QCString trCompoundMembers() = 0;
/*! This is put above each page as a link to all members of files. */
virtual QCString trFileMembers()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Globals";
}
else
{
return "File Members";
}
}
virtual QCString trFileMembers() = 0;
/*! This is put above each page as a link to all related pages. */
virtual QCString trRelatedPages()
{ return "Related Pages"; }
virtual QCString trRelatedPages() = 0;
/*! This is put above each page as a link to all examples. */
virtual QCString trExamples()
{ return "Examples"; }
virtual QCString trExamples() = 0;
/*! This is put above each page as a link to the search engine. */
virtual QCString trSearch()
{ return "Search"; }
virtual QCString trSearch() = 0;
/*! This is an introduction to the class hierarchy. */
virtual QCString trClassHierarchyDescription()
{ return "This inheritance list is sorted roughly, "
"but not completely, alphabetically:";
}
virtual QCString trClassHierarchyDescription() = 0;
/*! This is an introduction to the list with all files. */
virtual QCString trFileListDescription(bool extractAll)
{
QCString result="Here is a list of all ";
if (!extractAll) result+="documented ";
result+="files with brief descriptions:";
return result;
}
virtual QCString trFileListDescription(bool extractAll) = 0;
/*! This is an introduction to the annotated compound list. */
virtual QCString trCompoundListDescription()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Here are the data structures with brief descriptions:";
}
else
{
return "Here are the classes, structs, "
"unions and interfaces with brief descriptions:";
}
}
virtual QCString trCompoundListDescription() = 0;
/*! This is an introduction to the page with all class members. */
virtual QCString trCompoundMembersDescription(bool extractAll)
{
QCString result="Here is a list of all ";
if (!extractAll)
{
result+="documented ";
}
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
result+="struct and union fields";
}
else
{
result+="class members";
}
result+=" with links to ";
if (extractAll)
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
result+="the struct/union documentation for each field:";
}
else
{
result+="the class documentation for each member:";
}
}
else
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
result+="the structures/unions they belong to:";
}
else
{
result+="the classes they belong to:";
}
}
return result;
}
virtual QCString trCompoundMembersDescription(bool extractAll) = 0;
/*! This is an introduction to the page with all file members. */
virtual QCString trFileMembersDescription(bool extractAll)
{
QCString result="Here is a list of all ";
if (!extractAll) result+="documented ";
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
result+="functions, variables, defines, enums, and typedefs";
}
else
{
result+="file members";
}
result+=" with links to ";
if (extractAll)
result+="the files they belong to:";
else
result+="the documentation:";
return result;
}
virtual QCString trFileMembersDescription(bool extractAll) = 0;
/*! This is an introduction to the page with the list of all header files. */
virtual QCString trHeaderFilesDescription()
{ return "Here are the header files that make up the API:"; }
virtual QCString trHeaderFilesDescription() = 0;
/*! This is an introduction to the page with the list of all examples */
virtual QCString trExamplesDescription()
{ return "Here is a list of all examples:"; }
virtual QCString trExamplesDescription() = 0;
/*! This is an introduction to the page with the list of related pages */
virtual QCString trRelatedPagesDescription()
{ return "Here is a list of all related documentation pages:"; }
virtual QCString trRelatedPagesDescription() = 0;
/*! This is an introduction to the page with the list of class/file groups */
virtual QCString trModulesDescription()
{ return "Here is a list of all modules:"; }
virtual QCString trModulesDescription() = 0;
/*! This sentences is used in the annotated class/file lists if no brief
* description is given.
*/
virtual QCString trNoDescriptionAvailable()
{ return "No description available"; }
virtual QCString trNoDescriptionAvailable() = 0;
// index titles (the project name is prepended for these)
/*! This is used in HTML as the title of index.html. */
virtual QCString trDocumentation()
{ return "Documentation"; }
virtual QCString trDocumentation() = 0;
/*! This is used in LaTeX as the title of the chapter with the
* index of all groups.
*/
virtual QCString trModuleIndex()
{ return "Module Index"; }
virtual QCString trModuleIndex() = 0;
/*! This is used in LaTeX as the title of the chapter with the
* class hierarchy.
*/
virtual QCString trHierarchicalIndex()
{ return "Hierarchical Index"; }
virtual QCString trHierarchicalIndex() = 0;
/*! This is used in LaTeX as the title of the chapter with the
* annotated compound index.
*/
virtual QCString trCompoundIndex()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Data Structure Index";
}
else
{
return "Compound Index";
}
}
virtual QCString trCompoundIndex() = 0;
/*! This is used in LaTeX as the title of the chapter with the
* list of all files.
*/
virtual QCString trFileIndex()
{ return "File Index"; }
virtual QCString trFileIndex() = 0;
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all groups.
*/
virtual QCString trModuleDocumentation()
{ return "Module Documentation"; }
virtual QCString trModuleDocumentation() = 0;
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all classes, structs and unions.
*/
virtual QCString trClassDocumentation()
{ return "Class Documentation"; }
virtual QCString trClassDocumentation() = 0;
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all files.
*/
virtual QCString trFileDocumentation()
{ return "File Documentation"; }
virtual QCString trFileDocumentation() = 0;
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all examples.
*/
virtual QCString trExampleDocumentation()
{ return "Example Documentation"; }
virtual QCString trExampleDocumentation() = 0;
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all related pages.
*/
virtual QCString trPageDocumentation()
{ return "Page Documentation"; }
virtual QCString trPageDocumentation() = 0;
/*! This is used in LaTeX as the title of the document */
virtual QCString trReferenceManual()
{ return "Reference Manual"; }
virtual QCString trReferenceManual() = 0;
/*! This is used in the documentation of a file as a header before the
* list of defines
*/
virtual QCString trDefines()
{ return "Defines"; }
virtual QCString trDefines() = 0;
/*! This is used in the documentation of a file as a header before the
* list of function prototypes
*/
virtual QCString trFuncProtos()
{ return "Function Prototypes"; }
virtual QCString trFuncProtos() = 0;
/*! This is used in the documentation of a file as a header before the
* list of typedefs
*/
virtual QCString trTypedefs()
{ return "Typedefs"; }
virtual QCString trTypedefs() = 0;
/*! This is used in the documentation of a file as a header before the
* list of enumerations
*/
virtual QCString trEnumerations()
{ return "Enumerations"; }
virtual QCString trEnumerations() = 0;
/*! This is used in the documentation of a file as a header before the
* list of (global) functions
*/
virtual QCString trFunctions()
{ return "Functions"; }
virtual QCString trFunctions() = 0;
/*! This is used in the documentation of a file as a header before the
* list of (global) variables
*/
virtual QCString trVariables()
{ return "Variables"; }
virtual QCString trVariables() = 0;
/*! This is used in the documentation of a file as a header before the
* list of (global) variables
*/
virtual QCString trEnumerationValues()
{ return "Enumeration values"; }
virtual QCString trEnumerationValues() = 0;
/*! This is used in man pages as the author section. */
virtual QCString trAuthor()
{ return "Author"; }
virtual QCString trAuthor() = 0;
/*! This is used in the documentation of a file before the list of
* documentation blocks for defines
*/
virtual QCString trDefineDocumentation()
{ return "Define Documentation"; }
virtual QCString trDefineDocumentation() = 0;
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for function prototypes
*/
virtual QCString trFunctionPrototypeDocumentation()
{ return "Function Prototype Documentation"; }
virtual QCString trFunctionPrototypeDocumentation() = 0;
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for typedefs
*/
virtual QCString trTypedefDocumentation()
{ return "Typedef Documentation"; }
virtual QCString trTypedefDocumentation() = 0;
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration types
*/
virtual QCString trEnumerationTypeDocumentation()
{ return "Enumeration Type Documentation"; }
virtual QCString trEnumerationTypeDocumentation() = 0;
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration values
*/
virtual QCString trEnumerationValueDocumentation()
{ return "Enumeration Value Documentation"; }
virtual QCString trEnumerationValueDocumentation() = 0;
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for functions
*/
virtual QCString trFunctionDocumentation()
{ return "Function Documentation"; }
virtual QCString trFunctionDocumentation() = 0;
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for variables
*/
virtual QCString trVariableDocumentation()
{ return "Variable Documentation"; }
virtual QCString trVariableDocumentation() = 0;
/*! This is used in the documentation of a file/namespace/group before
* the list of links to documented compounds
*/
virtual QCString trCompounds()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Data Structures";
}
else
{
return "Compounds";
}
}
/*! This is used in the documentation of a group before the list of
* links to documented files
*/
virtual QCString trFiles()
{ return "Files"; }
virtual QCString trCompounds() = 0;
/*! This is used in the standard footer of each page and indicates when
* the page was generated
*/
virtual QCString trGeneratedAt(const char *date,const char *projName)
{
QCString result=(QCString)"Generated at "+date;
if (projName) result+=(QCString)" for "+projName;
result+=(QCString)" by";
return result;
}
virtual QCString trGeneratedAt(const char *date,const char *projName) = 0;
/*! This is part of the sentence used in the standard footer of each page.
*/
virtual QCString trWrittenBy()
{
return "written by";
}
virtual QCString trWrittenBy() = 0;
/*! this text is put before a class diagram */
virtual QCString trClassDiagram(const char *clName)
{
return (QCString)"Inheritance diagram for "+clName+":";
}
virtual QCString trClassDiagram(const char *clName) = 0;
/*! this text is generated when the \\internal command is used. */
virtual QCString trForInternalUseOnly()
{ return "For internal use only."; }
virtual QCString trForInternalUseOnly() = 0;
/*! this text is generated when the \\reimp command is used. */
virtual QCString trReimplementedForInternalReasons()
{ return "Reimplemented for internal reasons; the API is not affected."; }
virtual QCString trReimplementedForInternalReasons() = 0;
/*! this text is generated when the \\warning command is used. */
virtual QCString trWarning()
{ return "Warning"; }
virtual QCString trWarning() = 0;
/*! this text is generated when the \\bug command is used. */
virtual QCString trBugsAndLimitations()
{ return "Bugs and limitations"; }
virtual QCString trBugsAndLimitations() = 0;
/*! this text is generated when the \\version command is used. */
virtual QCString trVersion()
{ return "Version"; }
virtual QCString trVersion() = 0;
/*! this text is generated when the \\date command is used. */
virtual QCString trDate()
{ return "Date"; }
virtual QCString trDate() = 0;
/*! this text is generated when the \\author command is used. */
virtual QCString trAuthors()
{ return "Author(s)"; }
virtual QCString trAuthors() = 0;
/*! this text is generated when the \\return command is used. */
virtual QCString trReturns()
{ return "Returns"; }
virtual QCString trReturns() = 0;
/*! this text is generated when the \\sa command is used. */
virtual QCString trSeeAlso()
{ return "See also"; }
virtual QCString trSeeAlso() = 0;
/*! this text is generated when the \\param command is used. */
virtual QCString trParameters()
{ return "Parameters"; }
virtual QCString trParameters() = 0;
/*! this text is generated when the \\exception command is used. */
virtual QCString trExceptions()
{ return "Exceptions"; }
virtual QCString trExceptions() = 0;
/*! this text is used in the title page of a LaTeX document. */
virtual QCString trGeneratedBy()
{ return "Generated by"; }
virtual QCString trGeneratedBy() = 0;
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990307
//////////////////////////////////////////////////////////////////////////
/*! used as the title of page containing all the index of all namespaces. */
virtual QCString trNamespaceList()
{ return "Namespace List"; }
virtual QCString trNamespaceList() = 0;
/*! used as an introduction to the namespace list */
virtual QCString trNamespaceListDescription(bool extractAll)
{
QCString result="Here is a list of all ";
if (!extractAll) result+="documented ";
result+="namespaces with brief descriptions:";
return result;
}
virtual QCString trNamespaceListDescription(bool extractAll) = 0;
/*! used in the class documentation as a header before the list of all
* friends of a class
*/
virtual QCString trFriends()
{ return "Friends"; }
virtual QCString trFriends() = 0;
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990405
......@@ -699,8 +544,7 @@ class Translator
/*! used in the class documentation as a header before the list of all
* related classes
*/
virtual QCString trRelatedFunctionDocumentation()
{ return "Friends And Related Function Documentation"; }
virtual QCString trRelatedFunctionDocumentation() = 0;
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990425
......@@ -709,143 +553,65 @@ class Translator
/*! used as the title of the HTML page of a class/struct/union */
virtual QCString trCompoundReference(const char *clName,
ClassDef::CompoundType compType,
bool isTemplate)
{
QCString result=(QCString)clName+" ";
switch(compType)
{
case ClassDef::Class: result+=" Class"; break;
case ClassDef::Struct: result+=" Struct"; break;
case ClassDef::Union: result+=" Union"; break;
case ClassDef::Interface: result+=" Interface"; break;
case ClassDef::Exception: result+=" Exception"; break;
}
if (isTemplate) result+=" Template";
result+=" Reference";
return result;
}
bool isTemplate) = 0;
/*! used as the title of the HTML page of a file */
virtual QCString trFileReference(const char *fileName)
{
QCString result=fileName;
result+=" File Reference";
return result;
}
virtual QCString trFileReference(const char *fileName) = 0;
/*! used as the title of the HTML page of a namespace */
virtual QCString trNamespaceReference(const char *namespaceName)
{
QCString result=namespaceName;
result+=" Namespace Reference";
return result;
}
virtual QCString trNamespaceReference(const char *namespaceName) = 0;
virtual QCString trPublicMembers()
{ return "Public Methods"; }
virtual QCString trPublicSlots()
{ return "Public Slots"; }
virtual QCString trSignals()
{ return "Signals"; }
virtual QCString trStaticPublicMembers()
{ return "Static Public Methods"; }
virtual QCString trProtectedMembers()
{ return "Protected Methods"; }
virtual QCString trProtectedSlots()
{ return "Protected Slots"; }
virtual QCString trStaticProtectedMembers()
{ return "Static Protected Methods"; }
virtual QCString trPrivateMembers()
{ return "Private Methods"; }
virtual QCString trPrivateSlots()
{ return "Private Slots"; }
virtual QCString trStaticPrivateMembers()
{ return "Static Private Methods"; }
virtual QCString trPublicMembers() = 0;
virtual QCString trPublicSlots() = 0;
virtual QCString trSignals() = 0;
virtual QCString trStaticPublicMembers() = 0;
virtual QCString trProtectedMembers() = 0;
virtual QCString trProtectedSlots() = 0;
virtual QCString trStaticProtectedMembers() = 0;
virtual QCString trPrivateMembers() = 0;
virtual QCString trPrivateSlots() = 0;
virtual QCString trStaticPrivateMembers() = 0;
/*! this function is used to produce a comma-separated list of items.
* use generateMarker(i) to indicate where item i should be put.
*/
virtual QCString trWriteList(int numEntries)
{
QCString result;
int i;
// the inherits list contain `numEntries' classes
for (i=0;i<numEntries;i++)
{
// use generateMarker to generate placeholders for the class links!
result+=generateMarker(i); // generate marker for entry i in the list
// (order is left to right)
if (i!=numEntries-1) // not the last entry, so we need a separator
{
if (i<numEntries-2) // not the fore last entry
result+=", ";
else // the fore last entry
result+=", and ";
}
}
return result;
}
virtual QCString trWriteList(int numEntries) = 0;
/*! used in class documentation to produce a list of base classes,
* if class diagrams are disabled.
*/
virtual QCString trInheritsList(int numEntries)
{
return "Inherits "+trWriteList(numEntries)+".";
}
virtual QCString trInheritsList(int numEntries) = 0;
/*! used in class documentation to produce a list of super classes,
* if class diagrams are disabled.
*/
virtual QCString trInheritedByList(int numEntries)
{
return "Inherited by "+trWriteList(numEntries)+".";
}
virtual QCString trInheritedByList(int numEntries) = 0;
/*! used in member documentation blocks to produce a list of
* members that are hidden by this one.
*/
virtual QCString trReimplementedFromList(int numEntries)
{
return "Reimplemented from "+trWriteList(numEntries)+".";
}
virtual QCString trReimplementedFromList(int numEntries) = 0;
/*! used in member documentation blocks to produce a list of
* all member that overwrite the implementation of this member.
*/
virtual QCString trReimplementedInList(int numEntries)
{
return "Reimplemented in "+trWriteList(numEntries)+".";
}
virtual QCString trReimplementedInList(int numEntries) = 0;
/*! This is put above each page as a link to all members of namespaces. */
virtual QCString trNamespaceMembers()
{ return "Namespace Members"; }
virtual QCString trNamespaceMembers() = 0;
/*! This is an introduction to the page with all namespace members */
virtual QCString trNamespaceMemberDescription(bool extractAll)
{
QCString result="Here is a list of all ";
if (!extractAll) result+="documented ";
result+="namespace members with links to ";
if (extractAll)
result+="the namespace documentation for each member:";
else
result+="the namespaces they belong to:";
return result;
}
virtual QCString trNamespaceMemberDescription(bool extractAll) = 0;
/*! This is used in LaTeX as the title of the chapter with the
* index of all namespaces.
*/
virtual QCString trNamespaceIndex()
{ return "Namespace Index"; }
virtual QCString trNamespaceIndex() = 0;
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all namespaces.
*/
virtual QCString trNamespaceDocumentation()
{ return "Namespace Documentation"; }
virtual QCString trNamespaceDocumentation() = 0;
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990522
......@@ -854,8 +620,7 @@ class Translator
/*! This is used in the documentation before the list of all
* namespaces in a file.
*/
virtual QCString trNamespaces()
{ return "Namespaces"; }
virtual QCString trNamespaces() = 0;
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990728
......@@ -865,435 +630,222 @@ class Translator
* followed by a list of files that were used to generate the page.
*/
virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType,
bool single)
{ // here s is one of " Class", " Struct" or " Union"
// single is true implies a single file
QCString result=(QCString)"The documentation for this ";
switch(compType)
{
case ClassDef::Class: result+="class"; break;
case ClassDef::Struct: result+="struct"; break;
case ClassDef::Union: result+="union"; break;
case ClassDef::Interface: result+="interface"; break;
case ClassDef::Exception: result+="exception"; break;
}
result+=" was generated from the following file";
if (single) result+=":"; else result+="s:";
return result;
}
bool single) = 0;
/*! This is in the (quick) index as a link to the alphabetical compound
* list.
*/
virtual QCString trAlphabeticalList()
{ return "Alphabetical List"; }
virtual QCString trAlphabeticalList() = 0;
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990901
//////////////////////////////////////////////////////////////////////////
/*! This is used as the heading text for the retval command. */
virtual QCString trReturnValues()
{ return "Return values"; }
virtual QCString trReturnValues() = 0;
/*! This is in the (quick) index as a link to the main page (index.html)
*/
virtual QCString trMainPage()
{ return "Main Page"; }
virtual QCString trMainPage() = 0;
/*! This is used in references to page that are put in the LaTeX
* documentation. It should be an abbreviation of the word page.
*/
virtual QCString trPageAbbreviation()
{ return "p."; }
virtual QCString trPageAbbreviation() = 0;
//////////////////////////////////////////////////////////////////////////
// new since 0.49-991003
//////////////////////////////////////////////////////////////////////////
virtual QCString trSources()
{
return "Sources";
}
virtual QCString trDefinedAtLineInSourceFile()
{
return "Definition at line @0 of file @1.";
}
virtual QCString trDefinedInSourceFile()
{
return "Definition in file @0.";
}
virtual QCString trSources() = 0;
virtual QCString trDefinedAtLineInSourceFile() = 0;
virtual QCString trDefinedInSourceFile() = 0;
//////////////////////////////////////////////////////////////////////////
// new since 0.49-991205
//////////////////////////////////////////////////////////////////////////
virtual QCString trDeprecated()
{
return "Deprecated";
}
virtual QCString trDeprecated() = 0;
//////////////////////////////////////////////////////////////////////////
// new since 1.0.0
//////////////////////////////////////////////////////////////////////////
/*! this text is put before a collaboration diagram */
virtual QCString trCollaborationDiagram(const char *clName)
{
return (QCString)"Collaboration diagram for "+clName+":";
}
virtual QCString trCollaborationDiagram(const char *clName) = 0;
/*! this text is put before an include dependency graph */
virtual QCString trInclDepGraph(const char *fName)
{
return (QCString)"Include dependency graph for "+fName+":";
}
virtual QCString trInclDepGraph(const char *fName) = 0;
/*! header that is put before the list of constructor/destructors. */
virtual QCString trConstructorDocumentation()
{
return "Constructor & Destructor Documentation";
}
virtual QCString trConstructorDocumentation() = 0;
/*! Used in the file documentation to point to the corresponding sources. */
virtual QCString trGotoSourceCode()
{
return "Go to the source code of this file.";
}
virtual QCString trGotoSourceCode() = 0;
/*! Used in the file sources to point to the corresponding documentation. */
virtual QCString trGotoDocumentation()
{
return "Go to the documentation of this file.";
}
virtual QCString trGotoDocumentation() = 0;
/*! Text for the \pre command */
virtual QCString trPrecondition()
{
return "Precondition";
}
virtual QCString trPrecondition() = 0;
/*! Text for the \post command */
virtual QCString trPostcondition()
{
return "Postcondition";
}
virtual QCString trPostcondition() = 0;
/*! Text for the \invariant command */
virtual QCString trInvariant()
{
return "Invariant";
}
virtual QCString trInvariant() = 0;
/*! Text shown before a multi-line variable/enum initialization */
virtual QCString trInitialValue()
{
return "Initial value:";
}
virtual QCString trInitialValue() = 0;
/*! Text used the source code in the file index */
virtual QCString trCode()
{
return "code";
}
virtual QCString trGraphicalHierarchy()
{
return "Graphical Class Hierarchy";
}
virtual QCString trGotoGraphicalHierarchy()
{
return "Go to the graphical class hierarchy";
}
virtual QCString trGotoTextualHierarchy()
{
return "Go to the textual class hierarchy";
}
virtual QCString trPageIndex()
{
return "Page Index";
}
virtual QCString trCode() = 0;
virtual QCString trGraphicalHierarchy() = 0;
virtual QCString trGotoGraphicalHierarchy() = 0;
virtual QCString trGotoTextualHierarchy() = 0;
virtual QCString trPageIndex() = 0;
//////////////////////////////////////////////////////////////////////////
// new since 1.1.0
//////////////////////////////////////////////////////////////////////////
virtual QCString trNote()
{
return "Note";
}
virtual QCString trPublicTypes()
{
return "Public Types";
}
virtual QCString trPublicAttribs()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Data Fields";
}
else
{
return "Public Attributes";
}
}
virtual QCString trStaticPublicAttribs()
{
return "Static Public Attributes";
}
virtual QCString trProtectedTypes()
{
return "Protected Types";
}
virtual QCString trProtectedAttribs()
{
return "Protected Attributes";
}
virtual QCString trStaticProtectedAttribs()
{
return "Static Protected Attributes";
}
virtual QCString trPrivateTypes()
{
return "Private Types";
}
virtual QCString trPrivateAttribs()
{
return "Private Attributes";
}
virtual QCString trStaticPrivateAttribs()
{
return "Static Private Attributes";
}
virtual QCString trNote() = 0;
virtual QCString trPublicTypes() = 0;
virtual QCString trPublicAttribs() = 0;
virtual QCString trStaticPublicAttribs() = 0;
virtual QCString trProtectedTypes() = 0;
virtual QCString trProtectedAttribs() = 0;
virtual QCString trStaticProtectedAttribs() = 0;
virtual QCString trPrivateTypes() = 0;
virtual QCString trPrivateAttribs() = 0;
virtual QCString trStaticPrivateAttribs() = 0;
//////////////////////////////////////////////////////////////////////////
// new since 1.1.3
//////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a \\todo item */
virtual QCString trTodo()
{
return "Todo";
}
virtual QCString trTodo() = 0;
/*! Used as the header of the todo list */
virtual QCString trTodoList()
{
return "Todo List";
}
virtual QCString trTodoList() = 0;
//////////////////////////////////////////////////////////////////////////
// new since 1.1.4
//////////////////////////////////////////////////////////////////////////
virtual QCString trReferencedBy()
{
return "Referenced by";
}
virtual QCString trRemarks()
{
return "Remarks";
}
virtual QCString trAttention()
{
return "Attention";
}
virtual QCString trInclByDepGraph()
{
return "This graph shows which files directly or "
"indirectly include this file:";
}
virtual QCString trSince()
{
return "Since";
}
virtual QCString trReferencedBy() = 0;
virtual QCString trRemarks() = 0;
virtual QCString trAttention() = 0;
virtual QCString trInclByDepGraph() = 0;
virtual QCString trSince() = 0;
//////////////////////////////////////////////////////////////////////////
// new since 1.1.5
//////////////////////////////////////////////////////////////////////////
/*! title of the graph legend page */
virtual QCString trLegendTitle()
{
return "Graph Legend";
}
virtual QCString trLegendTitle() = 0;
/*! page explaining how the dot graph's should be interpreted */
virtual QCString trLegendDocs()
{
return
"This page explains how to interpret the graphs that are generated "
"by doxygen.<p>\n"
"Consider the following example:\n"
"\\code\n"
"/*! Invisible class because of truncation */\n"
"class Invisible { };\n\n"
"/*! Truncated class, inheritance relation is hidden */\n"
"class Truncated : public Invisible { };\n\n"
"/* Class not documented with doxygen comments */\n"
"class Undocumented { };\n\n"
"/*! Class that is inherited using public inheritance */\n"
"class PublicBase : public Truncated { };\n\n"
"/*! Class that is inherited using protected inheritance */\n"
"class ProtectedBase { };\n\n"
"/*! Class that is inherited using private inheritance */\n"
"class PrivateBase { };\n\n"
"/*! Class that is used by the Inherited class */\n"
"class Used { };\n\n"
"/*! Super class that inherits a number of other classes */\n"
"class Inherited : public PublicBase,\n"
" protected ProtectedBase,\n"
" private PrivateBase,\n"
" public Undocumented\n"
"{\n"
" private:\n"
" Used *m_usedClass;\n"
"};\n"
"\\endcode\n"
"If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file "
"is set to 200 this will result in the following graph:"
"<p><center><img src=\"graph_legend.gif\"></center>\n"
"<p>\n"
"The boxes in the above graph have the following meaning:\n"
"<ul>\n"
"<li>A filled black box represents the struct or class for which the "
"graph is generated.\n"
"<li>A box with a black border denotes a documented struct or class.\n"
"<li>A box with a grey border denotes an undocumented struct or class.\n"
"<li>A box with a red border denotes a documented struct or class for\n"
"which not all inheritance/containment relations are shown. A graph is "
"truncated if it does not fit within the specified boundaries."
"</ul>\n"
"The arrows have the following meaning:\n"
"<ul>\n"
"<li>A dark blue arrow is used to visualize a public inheritance "
"relation between two classes.\n"
"<li>A dark green arrow is used for protected inheritance.\n"
"<li>A dark red arrow is used for private inheritance.\n"
"<li>A purple dashed arrow is used if a class is contained or used "
"by another class. The arrow is labeled with the variable(s) "
"through which the pointed class or struct is accessible. \n"
"</ul>\n";
}
virtual QCString trLegendDocs() = 0;
/*! text for the link to the legend page */
virtual QCString trLegend()
{
return "legend";
}
virtual QCString trLegend() = 0;
//////////////////////////////////////////////////////////////////////////
// new since 1.2.0
//////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a test item */
virtual QCString trTest()
{
return "Test";
}
virtual QCString trTest() = 0;
/*! Used as the header of the test list */
virtual QCString trTestList()
{
return "Test List";
}
virtual QCString trTestList() = 0;
//////////////////////////////////////////////////////////////////////////
// new since 1.2.1
//////////////////////////////////////////////////////////////////////////
/*! Used as a section header for KDE-2 IDL methods */
virtual QCString trDCOPMethods()
{
return "DCOP Methods";
}
virtual QCString trDCOPMethods() = 0;
//////////////////////////////////////////////////////////////////////////
// new since 1.2.2
//////////////////////////////////////////////////////////////////////////
/*! Used as a section header for IDL properties */
virtual QCString trProperties()
{
return "Properties";
}
virtual QCString trProperties() = 0;
/*! Used as a section header for IDL property documentation */
virtual QCString trPropertyDocumentation()
{
return "Property Documentation";
}
virtual QCString trPropertyDocumentation() = 0;
//////////////////////////////////////////////////////////////////////////
// new since 1.2.4
//////////////////////////////////////////////////////////////////////////
/*! Used for Java interfaces in the summary section of Java packages */
virtual QCString trInterfaces()
{
return "Interfaces";
}
virtual QCString trInterfaces() = 0;
/*! Used for Java classes in the summary section of Java packages */
virtual QCString trClasses()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Data Structures";
}
else
{
return "Classes";
}
}
virtual QCString trClasses() = 0;
/*! Used as the title of a Java package */
virtual QCString trPackage(const char *name)
{
return (QCString)"Package "+name;
}
virtual QCString trPackage(const char *name) = 0;
/*! Title of the package index page */
virtual QCString trPackageList()
{
return "Package List";
}
virtual QCString trPackageList() = 0;
/*! The description of the package index page */
virtual QCString trPackageListDescription()
{
return "Here are the packages with brief descriptions (if available):";
}
virtual QCString trPackageListDescription() = 0;
/*! The link name in the Quick links header for each page */
virtual QCString trPackages()
{
return "Packages";
}
virtual QCString trPackages() = 0;
/*! Used as a chapter title for Latex & RTF output */
virtual QCString trPackageDocumentation()
{
return "Package Documentation";
}
virtual QCString trPackageDocumentation() = 0;
/*! Text shown before a multi-line define */
virtual QCString trDefineValue()
{
return "Value:";
}
virtual QCString trDefineValue() = 0;
//////////////////////////////////////////////////////////////////////////
// new since 1.2.5
//////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a \\bug item */
virtual QCString trBug()
{
return "Bug";
}
virtual QCString trBug() = 0;
/*! Used as the header of the bug list */
virtual QCString trBugList()
{
return "Bug List";
}
virtual QCString trBugList() = 0;
//////////////////////////////////////////////////////////////////////////
// new since 1.2.?
// new since 1.2.6
//////////////////////////////////////////////////////////////////////////
/*! Used as ansicpg for RTF file */
virtual QCString trRTFansicp()
{
return "1252";
}
virtual QCString trRTFansicp() = 0;
/*! Used as ansicpg for RTF fcharset */
virtual QCString trRTFCharSet()
{
return "0";
}
virtual QCString trRTFCharSet() = 0;
/*! Used as header RTF general index */
virtual QCString trRTFGeneralIndex()
{
return "Index";
}
virtual QCString trRTFGeneralIndex() = 0;
/*! The following are used for translation of the word that will
* possibly be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trClass(bool first_capital, bool singular) = 0;
virtual QCString trFile(bool first_capital, bool singular) = 0;
virtual QCString trNamespace(bool first_capital, bool singular) = 0;
virtual QCString trGroup(bool first_capital, bool singular) = 0;
virtual QCString trPage(bool first_capital, bool singular) = 0;
virtual QCString trMember(bool first_capital, bool singular) = 0;
virtual QCString trField(bool first_capital, bool singular) = 0;
virtual QCString trGlobal(bool first_capital, bool singular) = 0;
};
#endif
#ifndef TRANSLATOR_ADAPTER_H
#define TRANSLATOR_ADAPTER_H
#include "translator_en.h"
/*! A function to generate a warning message to signal the user
* that the translation of his/her language of choice needs updating
* \relates TranslatorAdapterBase
*/
inline QCString createUpdateNeededMessage(const char *languageName,
const char *versionString)
{
return (QCString)"Warning: The selected output language \""+languageName+
"\" has not been updated\nsince release "+versionString+
". As a result some sentences may appear in English.\n";
}
/*! \brief Base of the translator adapter tree
*
* This class provides access to the english translations, to be used
* as a substitute for real translations.
*/
class TranslatorAdapterBase : public Translator
{
protected:
TranslatorEnglish english;
};
/*! \brief Translator adapter class for release 1.2.6
*
* Translator adapter for dealing with translator changes since
* release 1.2.6
*/
class TranslatorAdapter_1_2_6 : public TranslatorAdapterBase
{
public:
QCString updateNeededMessage()
{ return createUpdateNeededMessage(idLanguage(),"1.2.6"); }
/*! Used as ansicpg for RTF file */
QCString trRTFansicp()
{
return "1252";
}
/*! Used as ansicpg for RTF fcharset */
QCString trRTFCharSet()
{
return "0";
}
/*! Used as header RTF general index */
QCString trRTFGeneralIndex()
{
return "Index";
}
//////////////////////////////////////////////////////////////////
// The following methods were replaced by newer equivalent, but
// the obsolete method may be localized. Let's use the localized
// result if possible.
/*! This is the default implementation of the obsolete method
* used in the documentation of a group before the list of
* links to documented files. This is possibly localized.
*/
QCString trFiles()
{ return "Files"; }
/*! This is the localized implementation of newer equivalent
* using the obsolete method trFiles().
*/
QCString trFile(bool first_capital, bool singular)
{
if (first_capital && !singular)
return trFiles(); // possibly localized
else
return english.trFile(first_capital, singular);
}
/*! The latexBabelPackage() was superceeded by
* latexLanguageSupportCommand(). The default implementation
* of the obsolete method follows.
*/
QCString latexBabelPackage()
{ return ""; }
/*! Default implementation of the newer method. */
QCString latexLanguageSupportCommand()
{
QCString result(latexBabelPackage());
if (!result.isEmpty())
{
result = "\\usepackage[" + result;
result += "]{babel}\n";
}
return result;
}
QCString idLanguageCharset()
{ return english.idLanguageCharset(); }
QCString trClass(bool first_capital, bool singular)
{ return english.trClass(first_capital,singular); }
QCString trNamespace(bool first_capital, bool singular)
{ return english.trNamespace(first_capital,singular); }
QCString trGroup(bool first_capital, bool singular)
{ return english.trGroup(first_capital,singular); }
QCString trPage(bool first_capital, bool singular)
{ return english.trPage(first_capital,singular); }
QCString trMember(bool first_capital, bool singular)
{ return english.trMember(first_capital,singular); }
QCString trField(bool first_capital, bool singular)
{ return english.trField(first_capital,singular); }
QCString trGlobal(bool first_capital, bool singular)
{ return english.trGlobal(first_capital,singular); }
};
/*! \brief Translator adapter class for release 1.2.5
*
* Translator adapter for dealing with translator changes since
* release 1.2.5
*/
class TranslatorAdapter_1_2_5 : public TranslatorAdapter_1_2_6
{
public:
QCString updateNeededMessage()
{ return createUpdateNeededMessage(idLanguage(),"1.2.5"); }
QCString trBug()
{ return english.trBug(); }
QCString trBugList()
{ return english.trBugList(); }
};
/*! \brief Translator adapter class for release 1.2.4
*
* Translator adapter for dealing with translator changes since
* release 1.2.4
*/
class TranslatorAdapter_1_2_4 : public TranslatorAdapter_1_2_5
{
public:
QCString updateNeededMessage()
{ return createUpdateNeededMessage(idLanguage(),"1.2.4"); }
QCString trInterfaces()
{ return english.trInterfaces(); }
QCString trClasses()
{ return english.trClasses(); }
QCString trPackage(const char *name)
{ return english.trPackage(name); }
QCString trPackageList()
{ return english.trPackageList(); }
QCString trPackageListDescription()
{ return english.trPackageListDescription(); }
QCString trPackages()
{ return english.trPackages(); }
QCString trPackageDocumentation()
{ return english.trPackageDocumentation(); }
QCString trDefineValue()
{ return english.trDefineValue(); }
};
/*! \brief Translator adapter class for release 1.2.2
*
* Translator adapter for dealing with translator changes since
* release 1.2.2
*/
class TranslatorAdapter_1_2_2 : public TranslatorAdapter_1_2_4
{
public:
QCString updateNeededMessage()
{ return createUpdateNeededMessage(idLanguage(),"1.2.2"); }
QCString trProperties()
{ return english.trProperties(); }
QCString trPropertyDocumentation()
{ return english.trPropertyDocumentation(); }
};
/*! \brief Translator adapter class for release 1.2.1
*
* Translator adapter for dealing with translator changes since
* release 1.2.1
*/
class TranslatorAdapter_1_2_1 : public TranslatorAdapter_1_2_2
{
public:
QCString updateNeededMessage()
{ return createUpdateNeededMessage(idLanguage(),"1.2.1"); }
QCString trDCOPMethods()
{ return english.trDCOPMethods(); }
};
/*! \brief Translator adapter class for release 1.2.0
*
* Translator adapter for dealing with translator changes since
* release 1.2.0
*/
class TranslatorAdapter_1_2_0 : public TranslatorAdapter_1_2_1
{
public:
QCString updateNeededMessage()
{ return createUpdateNeededMessage(idLanguage(),"1.2.0"); }
QCString trTest()
{ return english.trTest(); }
QCString trTestList()
{ return english.trTestList(); }
};
/*! \brief Translator adapter class for release 1.1.5
*
* Translator adapter for dealing with translator changes since
* release 1.1.5
*/
class TranslatorAdapter_1_1_5 : public TranslatorAdapter_1_2_0
{
public:
QCString updateNeededMessage()
{ return createUpdateNeededMessage(idLanguage(),"1.1.5"); }
QCString trLegendTitle()
{ return english.trLegendTitle(); }
QCString trLegendDocs()
{ return english.trLegendDocs(); }
QCString trLegend()
{ return english.trLegend(); }
};
/*! \brief Translator adapter class for release 1.1.4
*
* Translator adapter for dealing with translator changes since
* release 1.1.4
*/
class TranslatorAdapter_1_1_4 : public TranslatorAdapter_1_1_5
{
public:
QCString updateNeededMessage()
{ return createUpdateNeededMessage(idLanguage(),"1.1.4"); }
QCString trReferencedBy()
{ return english.trReferencedBy(); }
QCString trRemarks()
{ return english.trRemarks(); }
QCString trAttention()
{ return english.trAttention(); }
QCString trInclByDepGraph()
{ return english.trInclByDepGraph(); }
QCString trSince()
{ return english.trSince(); }
};
/*! \brief Translator adapter class for release 1.1.3
*
* Translator adapter for dealing with translator changes since
* release 1.1.3
*/
class TranslatorAdapter_1_1_3 : public TranslatorAdapter_1_1_4
{
public:
QCString updateNeededMessage()
{ return createUpdateNeededMessage(idLanguage(),"1.1.3"); }
QCString trTodo()
{ return english.trTodo(); }
QCString trTodoList()
{ return english.trTodoList(); }
};
/*! \brief Translator adapter class for release 1.1.0
*
* Translator adapter for dealing with translator changes since
* release 1.1.0
*/
class TranslatorAdapter_1_1_0 : public TranslatorAdapter_1_1_3
{
public:
QCString updateNeededMessage()
{ return createUpdateNeededMessage(idLanguage(),"1.1.0"); }
QCString trNote()
{ return english.trNote(); }
QCString trPublicTypes()
{ return english.trPublicTypes(); }
QCString trPublicAttribs()
{ return english.trPublicAttribs(); }
QCString trStaticPublicAttribs()
{ return english.trStaticPublicAttribs(); }
QCString trProtectedTypes()
{ return english.trProtectedTypes(); }
QCString trProtectedAttribs()
{ return english.trProtectedAttribs(); }
QCString trStaticProtectedAttribs()
{ return english.trStaticProtectedAttribs(); }
QCString trPrivateTypes()
{ return english.trPrivateTypes(); }
QCString trPrivateAttribs()
{ return english.trPrivateAttribs(); }
QCString trStaticPrivateAttribs()
{ return english.trStaticPrivateAttribs(); }
QCString trEnumerationValueDocumentation()
{ return english.trEnumerationValueDocumentation(); }
};
/*! \brief Translator adapter class for release 1.0.0
*
* Translator adapter for dealing with translator changes since
* release 1.0.0
*/
class TranslatorAdapter_1_0_0 : public TranslatorAdapter_1_1_0
{
QCString updateNeededMessage()
{ return createUpdateNeededMessage(idLanguage(),"1.0.0"); }
QCString trIncludingInheritedMembers()
{ return english.trIncludingInheritedMembers(); }
QCString trFuncProtos()
{ return english.trFuncProtos(); }
QCString trNamespaces()
{ return english.trNamespaces(); }
QCString trGeneratedFromFiles(ClassDef::CompoundType compType,
bool single)
{ return english.trGeneratedFromFiles(compType, single); }
QCString trAlphabeticalList()
{ return english.trAlphabeticalList(); }
QCString trReturnValues()
{ return english.trReturnValues(); }
QCString trMainPage()
{ return english.trMainPage(); }
QCString trPageAbbreviation()
{ return english.trPageAbbreviation(); }
QCString trSources()
{ return english.trSources(); }
QCString trStaticProtectedMembers()
{ return english.trStaticProtectedMembers(); }
QCString trDefinedAtLineInSourceFile()
{ return english.trDefinedAtLineInSourceFile(); }
QCString trDefinedInSourceFile()
{ return english.trDefinedInSourceFile(); }
QCString trDeprecated()
{ return english.trDeprecated(); }
QCString trCollaborationDiagram(const char *clName)
{ return english.trCollaborationDiagram(clName); }
QCString trInclDepGraph(const char *fName)
{ return english.trInclDepGraph(fName); }
QCString trConstructorDocumentation()
{ return english.trConstructorDocumentation(); }
QCString trGotoSourceCode()
{ return english.trGotoSourceCode(); }
QCString trGotoDocumentation()
{ return english.trGotoDocumentation(); }
QCString trPrecondition()
{ return english.trPrecondition(); }
QCString trPostcondition()
{ return english.trPostcondition(); }
QCString trInvariant()
{ return english.trInvariant(); }
QCString trInitialValue()
{ return english.trInitialValue(); }
QCString trCode()
{ return english.trCode(); }
QCString trGraphicalHierarchy()
{ return english.trGraphicalHierarchy(); }
QCString trGotoGraphicalHierarchy()
{ return english.trGotoGraphicalHierarchy(); }
QCString trGotoTextualHierarchy()
{ return english.trGotoTextualHierarchy(); }
QCString trPageIndex()
{ return english.trPageIndex(); }
QCString trReimplementedForInternalReasons()
{ return english.trReimplementedForInternalReasons(); }
QCString trClassHierarchyDescription()
{ return english.trClassHierarchyDescription(); }
QCString trNoDescriptionAvailable()
{ return english.trNoDescriptionAvailable(); }
QCString trEnumerationValues()
{ return english.trEnumerationValues(); }
QCString trFunctionPrototypeDocumentation()
{ return english.trFunctionPrototypeDocumentation(); }
QCString trEnumerationTypeDocumentation()
{ return english.trEnumerationTypeDocumentation(); }
QCString trFunctionDocumentation()
{ return english.trFunctionDocumentation(); }
QCString trRelatedFunctionDocumentation()
{ return english.trRelatedFunctionDocumentation(); }
};
#endif
......@@ -18,9 +18,9 @@
#ifndef TRANSLATOR_BR_H
#define TRANSLATOR_BR_H
#include "translator.h"
#include "translator_adapter.h"
class TranslatorBrazilian: public Translator
class TranslatorBrazilian: public TranslatorAdapter_1_2_6
{
public:
......
......@@ -18,7 +18,7 @@
#ifndef TRANSLATOR_CN_H
#define TRANSLATOR_CN_H
#include "translator.h"
#include "translator_adapter.h"
/*!
If you want insert a space whenever Chinese meets English charactors, set
......@@ -26,7 +26,7 @@
*/
#define CN_SPC
class TranslatorChinese : public Translator
class TranslatorChinese : public TranslatorAdapter_1_2_1
{
public:
QCString idLanguage()
......@@ -388,6 +388,18 @@ class TranslatorChinese : public Translator
// the documentation of all namespaces.
{ return "命名空间文档"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990522
//////////////////////////////////////////////////////////////////////////
/*! This is used in the documentation before the list of all
* namespaces in a file.
*/
QCString trNamespaces()
{
return "Namespaces";
}
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990728
//////////////////////////////////////////////////////////////////////////
......
......@@ -18,7 +18,6 @@
#ifndef TRANSLATOR_CZ_H
#define TRANSLATOR_CZ_H
#include "translator.h"
// The first translation from English to Czech was started by
// Vlastimil Havran. He wrote:
......@@ -32,76 +31,83 @@
// The prototype version of Czech strings with diacritics was
// implemented by Petr Prikryl (prikrylp@skil.cz), 2000/06/20. As
// Vlastimil was quite busy at the time, he agreed that Petr be the
// second maintainer.
// maintainer for a while (from 2000/06/20).
//
// Updates:
// --------
// 2000/06/20 (Petr Prikryl)
// 2000/06/20
// - The prototype version of Czech strings with diacritics. The
// translation was based on translator.h of Doxygen version
// 1.1.4 (from scratch).
//
// 2000/07/10 (Petr Prikryl)
// 2000/07/10
// - Updated version based on 1.1.5 sources (including important updates
// of the up-to-1.1.4 strings). Czech strings in this file were written
// in windows-1250 encoding. On-line decoding into iso-8859-2 ensured
// via conditional compilation if the sources are compiled under UNIX.
//
// 2000/07/19 (Petr Prikryl)
// 2000/07/19
// - Encoding conversion tables moved to the methods that use them.
// - Updates for "new since 1.1.5".
//
// 2000/08/02 (Petr Prikryl)
// - Updated for 1.2.0
//
// 2000/08/24 (Petr Prikryl)
// 2000/08/24
// - Changed trTodo() text from "Udelat" to "Planovane upravy"
// which seems more appropriate in the document context.
// - Typo corrected in trMemberTypedefDocumentation().
//
// 2000/08/30 (Petr Prikryl)
// 2000/08/30
// - Macro DECODE replaced by the inline Decode() (proposed by
// Boris Bralo <boris.bralo@zg.tel.hr> in translator_hr.h).
//
// 2000/08/31 (Petr Prikryl)
// 2000/08/31
// - Methods ISOToWin() and WinToISO() renamed and moved to the
// base class (in translator.h) to be shared with the Croatian
// translator.
//
// 2000/09/06 (Petr Prikryl)
// 2000/09/06
// - Reimplementation of the method trInheritsList() which takes
// into account quantity of base classes.
//
// 2000/09/11 (Petr Prikryl)
// 2000/09/11
// - Update for "new since 1.2.1" version. The text of trDCOPMethods()
// was translated rather blindly (not knowing what exactly
// the DCOP means).
//
// 2000/10/17 (Petr Prikryl)
// 2000/10/17
// - Update for "new since 1.2.2" version.
//
// 2001/01/09 (Petr Prikryl)
// 2001/01/09
// - Update for "new since 1.2.4" version. As I do not use Java,
// I tried my best to guess the Czech terminology for the Java.
// Let me know if some wording should be changed/improved.
//
// 2001/02/15 (Petr Prikryl)
// 2001/02/15
// - trMore() now returns only "..." (ellipsis). The Czech replacement
// of "(more)" was too much visible. The previous "(...)" did not
// look well.
//
// 2001/02/26 (Petr Prikryl)
// 2001/02/26
// - Update for "new since 1.2.5" version (trBug(), trBugList()).
//
// 2001/03/12 (Petr Prikryl)
// 2001/03/12
// - Minor correction of comments which copied the same
// corrections in translator.h (doubled backslash) just after
// 1.2.6 release.
//
// 2001/04/10 (Petr Prikryl)
// 2001/04/10
// - Update for OPTIMIZE_OUTPUT_FOR_C (1.2.6-20010408).
// - Removed implementation of latexBabelPackage().
// - Removed implementation of trVerbatimText().
//
// 2001/04/20
// - Update for "new since 1.2.6-20010422". Experimental version
// introducing TranslatorAdapter class and the abstract base
// class Translator. The English translator is now on the same
// level as other translators.
//
//
// Notices:
// --------
......@@ -114,7 +120,9 @@
// Windows version. The version which does not call the function is
// probably slightly faster.
class TranslatorCzech : public Translator
#include "translator_adapter.h"
class TranslatorCzech : public TranslatorAdapterBase
{
private:
/*! The Decode() inline assumes the source written in the
......@@ -291,7 +299,7 @@ class TranslatorCzech : public Translator
/*! This is put above each page as a link to all related pages. */
virtual QCString trRelatedPages()
{ return Decode("Související stránky"); }
{ return Decode("Ostatní stránky"); }
/*! This is put above each page as a link to all examples. */
virtual QCString trExamples()
......@@ -416,8 +424,9 @@ class TranslatorCzech : public Translator
/*! This is an introduction to the page with the list of related pages */
virtual QCString trRelatedPagesDescription()
{ return Decode("Zde naleznete seznam všech souvisejících stránek "
"dokumentace:"); }
{ return Decode("Následující seznam odkazuje na další stránky projektu, "
"které mají charakter uspoøádaných seznamù informací, "
"posbíraných z rùzných míst ve zdrojových souborech:"); }
/*! This is an introduction to the page with the list of class/file groups */
virtual QCString trModulesDescription()
......@@ -1314,6 +1323,115 @@ class TranslatorCzech : public Translator
return Decode("Seznam chyb");
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.6-20010422
//////////////////////////////////////////////////////////////////////////
/*! Used as ansicpg for RTF file */
virtual QCString trRTFansicp()
{
return "1250";
}
/*! Used as ansicpg for RTF fcharset */
virtual QCString trRTFCharSet()
{
return "0"; //???
}
/*! Used as header RTF general index */
virtual QCString trRTFGeneralIndex()
{
return "Index"; //???
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trClass(bool first_capital, bool singular)
{
QCString result((first_capital ? "Tøíd" : "tøíd"));
result+=(singular ? "a" : "y");
return Decode(result);
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trFile(bool first_capital, bool singular)
{
QCString result((first_capital ? "Soubor" : "soubor"));
if (!singular) result+="y";
return Decode(result);
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trNamespace(bool first_capital, bool singular)
{
QCString result((first_capital ? "Prostor" : "prostor"));
if (!singular) result+="y";
result+=" jmen";
return Decode(result);
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trGroup(bool first_capital, bool singular)
{
QCString result((first_capital ? "Skupin" : "skupin"));
result+=(singular ? "a" : "y");
return Decode(result);
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trPage(bool first_capital, bool singular)
{
QCString result((first_capital ? "Stránk" : "stránk"));
result+=(singular ? "a" : "y");
return Decode(result);
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trMember(bool first_capital, bool singular)
{
QCString result((first_capital ? "Èlen" : "èlen"));
if (!singular) result+="y";
return Decode(result);
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trField(bool first_capital, bool singular)
{
QCString result((first_capital ? "Položk" : "položk"));
result+=(singular ? "a" : "y");
return Decode(result);
}
/*! ??? Jak to prelozit? Bylo by dobre, kdyby se ozval nekdo,
* kdo to pouziva.
*/
virtual QCString trGlobal(bool first_capital, bool singular)
{
QCString result((first_capital ? "Global" : "global"));
if (!singular) result+="s";
return result;
}
};
#endif // TRANSLATOR_CZ_H
......@@ -50,9 +50,9 @@
#ifndef TRANSLATOR_DE_H
#define TRANSLATOR_DE_H
#include "translator.h"
#include "translator_adapter.h"
class TranslatorGerman : public Translator
class TranslatorGerman : public TranslatorAdapter_1_2_6
{
public:
QCString idLanguage()
......
/******************************************************************************
*
*
*
* Copyright (C) 1997-2001 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
* granted. No representations are made about the suitability of this software
* for any purpose. It is provided "as is" without express or implied warranty.
* See the GNU General Public License for more details.
*
* Documents produced by Doxygen are derivative works derived from the
* input used in their production; they are not affected by this license.
*
*/
#ifndef TRANSLATOR_EN_H
#define TRANSLATOR_EN_H
#include "translator.h"
class TranslatorEnglish : public Translator
{
public:
// --- Language control methods -------------------
/*! Used for identification of the language. The identification
* should not be translated. It should be replaced by the name
* of the language in English using lower-case characters only
* (e.g. "czech", "japanese", "russian", etc.). It should be equal to
* the identification used in language.cpp.
*/
virtual QCString idLanguage()
{ return "english"; }
/*! Used to get the LaTeX command(s) for the language support. This method
* was designed for languages which do wish to use a babel package.
*/
virtual QCString latexLanguageSupportCommand()
{
return "";
}
/*! return the language charset. This will be used for the HTML output */
virtual QCString idLanguageCharset()
{
return "iso-8859-1";
}
// --- Language translation methods -------------------
/*! used in the compound documentation before a list of related functions. */
virtual QCString trRelatedFunctions()
{ return "Related Functions"; }
/*! subscript for the related functions. */
virtual QCString trRelatedSubscript()
{ return "(Note that these are not member functions.)"; }
/*! header that is put before the detailed description of files, classes and namespaces. */
virtual QCString trDetailedDescription()
{ return "Detailed Description"; }
/*! header that is put before the list of typedefs. */
virtual QCString trMemberTypedefDocumentation()
{ return "Member Typedef Documentation"; }
/*! header that is put before the list of enumerations. */
virtual QCString trMemberEnumerationDocumentation()
{ return "Member Enumeration Documentation"; }
/*! header that is put before the list of member functions. */
virtual QCString trMemberFunctionDocumentation()
{ return "Member Function Documentation"; }
/*! header that is put before the list of member attributes. */
virtual QCString trMemberDataDocumentation()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Field Documentation";
}
else
{
return "Member Data Documentation";
}
}
/*! this is the text of a link put after brief descriptions. */
virtual QCString trMore()
{ return "More..."; }
/*! put in the class documentation */
virtual QCString trListOfAllMembers()
{ return "List of all members."; }
/*! used as the title of the "list of all members" page of a class */
virtual QCString trMemberList()
{ return "Member List"; }
/*! this is the first part of a sentence that is followed by a class name */
virtual QCString trThisIsTheListOfAllMembers()
{ return "This is the complete list of members for "; }
/*! this is the remainder of the sentence after the class name */
virtual QCString trIncludingInheritedMembers()
{ return ", including all inherited members."; }
/*! this is put at the author sections at the bottom of man pages.
* parameter s is name of the project name.
*/
virtual QCString trGeneratedAutomatically(const char *s)
{ QCString result="Generated automatically by Doxygen";
if (s) result+=(QCString)" for "+s;
result+=" from the source code.";
return result;
}
/*! put after an enum name in the list of all members */
virtual QCString trEnumName()
{ return "enum name"; }
/*! put after an enum value in the list of all members */
virtual QCString trEnumValue()
{ return "enum value"; }
/*! put after an undocumented member in the list of all members */
virtual QCString trDefinedIn()
{ return "defined in"; }
// quick reference sections
/*! This is put above each page as a link to the list of all groups of
* compounds or files (see the \\group command).
*/
virtual QCString trModules()
{ return "Modules"; }
/*! This is put above each page as a link to the class hierarchy */
virtual QCString trClassHierarchy()
{ return "Class Hierarchy"; }
/*! This is put above each page as a link to the list of annotated classes */
virtual QCString trCompoundList()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Data Structures";
}
else
{
return "Compound List";
}
}
/*! This is put above each page as a link to the list of documented files */
virtual QCString trFileList()
{ return "File List"; }
/*! This is put above each page as a link to the list of all verbatim headers */
virtual QCString trHeaderFiles()
{ return "Header Files"; }
/*! This is put above each page as a link to all members of compounds. */
virtual QCString trCompoundMembers()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Data Fields";
}
else
{
return "Compound Members";
}
}
/*! This is put above each page as a link to all members of files. */
virtual QCString trFileMembers()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Globals";
}
else
{
return "File Members";
}
}
/*! This is put above each page as a link to all related pages. */
virtual QCString trRelatedPages()
{ return "Related Pages"; }
/*! This is put above each page as a link to all examples. */
virtual QCString trExamples()
{ return "Examples"; }
/*! This is put above each page as a link to the search engine. */
virtual QCString trSearch()
{ return "Search"; }
/*! This is an introduction to the class hierarchy. */
virtual QCString trClassHierarchyDescription()
{ return "This inheritance list is sorted roughly, "
"but not completely, alphabetically:";
}
/*! This is an introduction to the list with all files. */
virtual QCString trFileListDescription(bool extractAll)
{
QCString result="Here is a list of all ";
if (!extractAll) result+="documented ";
result+="files with brief descriptions:";
return result;
}
/*! This is an introduction to the annotated compound list. */
virtual QCString trCompoundListDescription()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Here are the data structures with brief descriptions:";
}
else
{
return "Here are the classes, structs, "
"unions and interfaces with brief descriptions:";
}
}
/*! This is an introduction to the page with all class members. */
virtual QCString trCompoundMembersDescription(bool extractAll)
{
QCString result="Here is a list of all ";
if (!extractAll)
{
result+="documented ";
}
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
result+="struct and union fields";
}
else
{
result+="class members";
}
result+=" with links to ";
if (extractAll)
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
result+="the struct/union documentation for each field:";
}
else
{
result+="the class documentation for each member:";
}
}
else
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
result+="the structures/unions they belong to:";
}
else
{
result+="the classes they belong to:";
}
}
return result;
}
/*! This is an introduction to the page with all file members. */
virtual QCString trFileMembersDescription(bool extractAll)
{
QCString result="Here is a list of all ";
if (!extractAll) result+="documented ";
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
result+="functions, variables, defines, enums, and typedefs";
}
else
{
result+="file members";
}
result+=" with links to ";
if (extractAll)
result+="the files they belong to:";
else
result+="the documentation:";
return result;
}
/*! This is an introduction to the page with the list of all header files. */
virtual QCString trHeaderFilesDescription()
{ return "Here are the header files that make up the API:"; }
/*! This is an introduction to the page with the list of all examples */
virtual QCString trExamplesDescription()
{ return "Here is a list of all examples:"; }
/*! This is an introduction to the page with the list of related pages */
virtual QCString trRelatedPagesDescription()
{ return "Here is a list of all related documentation pages:"; }
/*! This is an introduction to the page with the list of class/file groups */
virtual QCString trModulesDescription()
{ return "Here is a list of all modules:"; }
/*! This sentences is used in the annotated class/file lists if no brief
* description is given.
*/
virtual QCString trNoDescriptionAvailable()
{ return "No description available"; }
// index titles (the project name is prepended for these)
/*! This is used in HTML as the title of index.html. */
virtual QCString trDocumentation()
{ return "Documentation"; }
/*! This is used in LaTeX as the title of the chapter with the
* index of all groups.
*/
virtual QCString trModuleIndex()
{ return "Module Index"; }
/*! This is used in LaTeX as the title of the chapter with the
* class hierarchy.
*/
virtual QCString trHierarchicalIndex()
{ return "Hierarchical Index"; }
/*! This is used in LaTeX as the title of the chapter with the
* annotated compound index.
*/
virtual QCString trCompoundIndex()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Data Structure Index";
}
else
{
return "Compound Index";
}
}
/*! This is used in LaTeX as the title of the chapter with the
* list of all files.
*/
virtual QCString trFileIndex()
{ return "File Index"; }
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all groups.
*/
virtual QCString trModuleDocumentation()
{ return "Module Documentation"; }
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all classes, structs and unions.
*/
virtual QCString trClassDocumentation()
{ return "Class Documentation"; }
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all files.
*/
virtual QCString trFileDocumentation()
{ return "File Documentation"; }
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all examples.
*/
virtual QCString trExampleDocumentation()
{ return "Example Documentation"; }
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all related pages.
*/
virtual QCString trPageDocumentation()
{ return "Page Documentation"; }
/*! This is used in LaTeX as the title of the document */
virtual QCString trReferenceManual()
{ return "Reference Manual"; }
/*! This is used in the documentation of a file as a header before the
* list of defines
*/
virtual QCString trDefines()
{ return "Defines"; }
/*! This is used in the documentation of a file as a header before the
* list of function prototypes
*/
virtual QCString trFuncProtos()
{ return "Function Prototypes"; }
/*! This is used in the documentation of a file as a header before the
* list of typedefs
*/
virtual QCString trTypedefs()
{ return "Typedefs"; }
/*! This is used in the documentation of a file as a header before the
* list of enumerations
*/
virtual QCString trEnumerations()
{ return "Enumerations"; }
/*! This is used in the documentation of a file as a header before the
* list of (global) functions
*/
virtual QCString trFunctions()
{ return "Functions"; }
/*! This is used in the documentation of a file as a header before the
* list of (global) variables
*/
virtual QCString trVariables()
{ return "Variables"; }
/*! This is used in the documentation of a file as a header before the
* list of (global) variables
*/
virtual QCString trEnumerationValues()
{ return "Enumeration values"; }
/*! This is used in man pages as the author section. */
virtual QCString trAuthor()
{ return "Author"; }
/*! This is used in the documentation of a file before the list of
* documentation blocks for defines
*/
virtual QCString trDefineDocumentation()
{ return "Define Documentation"; }
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for function prototypes
*/
virtual QCString trFunctionPrototypeDocumentation()
{ return "Function Prototype Documentation"; }
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for typedefs
*/
virtual QCString trTypedefDocumentation()
{ return "Typedef Documentation"; }
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration types
*/
virtual QCString trEnumerationTypeDocumentation()
{ return "Enumeration Type Documentation"; }
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration values
*/
virtual QCString trEnumerationValueDocumentation()
{ return "Enumeration Value Documentation"; }
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for functions
*/
virtual QCString trFunctionDocumentation()
{ return "Function Documentation"; }
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for variables
*/
virtual QCString trVariableDocumentation()
{ return "Variable Documentation"; }
/*! This is used in the documentation of a file/namespace/group before
* the list of links to documented compounds
*/
virtual QCString trCompounds()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Data Structures";
}
else
{
return "Compounds";
}
}
/*! This is used in the standard footer of each page and indicates when
* the page was generated
*/
virtual QCString trGeneratedAt(const char *date,const char *projName)
{
QCString result=(QCString)"Generated at "+date;
if (projName) result+=(QCString)" for "+projName;
result+=(QCString)" by";
return result;
}
/*! This is part of the sentence used in the standard footer of each page.
*/
virtual QCString trWrittenBy()
{
return "written by";
}
/*! this text is put before a class diagram */
virtual QCString trClassDiagram(const char *clName)
{
return (QCString)"Inheritance diagram for "+clName+":";
}
/*! this text is generated when the \\internal command is used. */
virtual QCString trForInternalUseOnly()
{ return "For internal use only."; }
/*! this text is generated when the \\reimp command is used. */
virtual QCString trReimplementedForInternalReasons()
{ return "Reimplemented for internal reasons; the API is not affected."; }
/*! this text is generated when the \\warning command is used. */
virtual QCString trWarning()
{ return "Warning"; }
/*! this text is generated when the \\bug command is used. */
virtual QCString trBugsAndLimitations()
{ return "Bugs and limitations"; }
/*! this text is generated when the \\version command is used. */
virtual QCString trVersion()
{ return "Version"; }
/*! this text is generated when the \\date command is used. */
virtual QCString trDate()
{ return "Date"; }
/*! this text is generated when the \\author command is used. */
virtual QCString trAuthors()
{ return "Author(s)"; }
/*! this text is generated when the \\return command is used. */
virtual QCString trReturns()
{ return "Returns"; }
/*! this text is generated when the \\sa command is used. */
virtual QCString trSeeAlso()
{ return "See also"; }
/*! this text is generated when the \\param command is used. */
virtual QCString trParameters()
{ return "Parameters"; }
/*! this text is generated when the \\exception command is used. */
virtual QCString trExceptions()
{ return "Exceptions"; }
/*! this text is used in the title page of a LaTeX document. */
virtual QCString trGeneratedBy()
{ return "Generated by"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990307
//////////////////////////////////////////////////////////////////////////
/*! used as the title of page containing all the index of all namespaces. */
virtual QCString trNamespaceList()
{ return "Namespace List"; }
/*! used as an introduction to the namespace list */
virtual QCString trNamespaceListDescription(bool extractAll)
{
QCString result="Here is a list of all ";
if (!extractAll) result+="documented ";
result+="namespaces with brief descriptions:";
return result;
}
/*! used in the class documentation as a header before the list of all
* friends of a class
*/
virtual QCString trFriends()
{ return "Friends"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990405
//////////////////////////////////////////////////////////////////////////
/*! used in the class documentation as a header before the list of all
* related classes
*/
virtual QCString trRelatedFunctionDocumentation()
{ return "Friends And Related Function Documentation"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990425
//////////////////////////////////////////////////////////////////////////
/*! used as the title of the HTML page of a class/struct/union */
virtual QCString trCompoundReference(const char *clName,
ClassDef::CompoundType compType,
bool isTemplate)
{
QCString result=(QCString)clName+" ";
switch(compType)
{
case ClassDef::Class: result+=" Class"; break;
case ClassDef::Struct: result+=" Struct"; break;
case ClassDef::Union: result+=" Union"; break;
case ClassDef::Interface: result+=" Interface"; break;
case ClassDef::Exception: result+=" Exception"; break;
}
if (isTemplate) result+=" Template";
result+=" Reference";
return result;
}
/*! used as the title of the HTML page of a file */
virtual QCString trFileReference(const char *fileName)
{
QCString result=fileName;
result+=" File Reference";
return result;
}
/*! used as the title of the HTML page of a namespace */
virtual QCString trNamespaceReference(const char *namespaceName)
{
QCString result=namespaceName;
result+=" Namespace Reference";
return result;
}
virtual QCString trPublicMembers()
{ return "Public Methods"; }
virtual QCString trPublicSlots()
{ return "Public Slots"; }
virtual QCString trSignals()
{ return "Signals"; }
virtual QCString trStaticPublicMembers()
{ return "Static Public Methods"; }
virtual QCString trProtectedMembers()
{ return "Protected Methods"; }
virtual QCString trProtectedSlots()
{ return "Protected Slots"; }
virtual QCString trStaticProtectedMembers()
{ return "Static Protected Methods"; }
virtual QCString trPrivateMembers()
{ return "Private Methods"; }
virtual QCString trPrivateSlots()
{ return "Private Slots"; }
virtual QCString trStaticPrivateMembers()
{ return "Static Private Methods"; }
/*! this function is used to produce a comma-separated list of items.
* use generateMarker(i) to indicate where item i should be put.
*/
virtual QCString trWriteList(int numEntries)
{
QCString result;
int i;
// the inherits list contain `numEntries' classes
for (i=0;i<numEntries;i++)
{
// use generateMarker to generate placeholders for the class links!
result+=generateMarker(i); // generate marker for entry i in the list
// (order is left to right)
if (i!=numEntries-1) // not the last entry, so we need a separator
{
if (i<numEntries-2) // not the fore last entry
result+=", ";
else // the fore last entry
result+=", and ";
}
}
return result;
}
/*! used in class documentation to produce a list of base classes,
* if class diagrams are disabled.
*/
virtual QCString trInheritsList(int numEntries)
{
return "Inherits "+trWriteList(numEntries)+".";
}
/*! used in class documentation to produce a list of super classes,
* if class diagrams are disabled.
*/
virtual QCString trInheritedByList(int numEntries)
{
return "Inherited by "+trWriteList(numEntries)+".";
}
/*! used in member documentation blocks to produce a list of
* members that are hidden by this one.
*/
virtual QCString trReimplementedFromList(int numEntries)
{
return "Reimplemented from "+trWriteList(numEntries)+".";
}
/*! used in member documentation blocks to produce a list of
* all member that overwrite the implementation of this member.
*/
virtual QCString trReimplementedInList(int numEntries)
{
return "Reimplemented in "+trWriteList(numEntries)+".";
}
/*! This is put above each page as a link to all members of namespaces. */
virtual QCString trNamespaceMembers()
{ return "Namespace Members"; }
/*! This is an introduction to the page with all namespace members */
virtual QCString trNamespaceMemberDescription(bool extractAll)
{
QCString result="Here is a list of all ";
if (!extractAll) result+="documented ";
result+="namespace members with links to ";
if (extractAll)
result+="the namespace documentation for each member:";
else
result+="the namespaces they belong to:";
return result;
}
/*! This is used in LaTeX as the title of the chapter with the
* index of all namespaces.
*/
virtual QCString trNamespaceIndex()
{ return "Namespace Index"; }
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all namespaces.
*/
virtual QCString trNamespaceDocumentation()
{ return "Namespace Documentation"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990522
//////////////////////////////////////////////////////////////////////////
/*! This is used in the documentation before the list of all
* namespaces in a file.
*/
virtual QCString trNamespaces()
{ return "Namespaces"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990728
//////////////////////////////////////////////////////////////////////////
/*! This is put at the bottom of a class documentation page and is
* followed by a list of files that were used to generate the page.
*/
virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType,
bool single)
{ // here s is one of " Class", " Struct" or " Union"
// single is true implies a single file
QCString result=(QCString)"The documentation for this ";
switch(compType)
{
case ClassDef::Class: result+="class"; break;
case ClassDef::Struct: result+="struct"; break;
case ClassDef::Union: result+="union"; break;
case ClassDef::Interface: result+="interface"; break;
case ClassDef::Exception: result+="exception"; break;
}
result+=" was generated from the following file";
if (single) result+=":"; else result+="s:";
return result;
}
/*! This is in the (quick) index as a link to the alphabetical compound
* list.
*/
virtual QCString trAlphabeticalList()
{ return "Alphabetical List"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990901
//////////////////////////////////////////////////////////////////////////
/*! This is used as the heading text for the retval command. */
virtual QCString trReturnValues()
{ return "Return values"; }
/*! This is in the (quick) index as a link to the main page (index.html)
*/
virtual QCString trMainPage()
{ return "Main Page"; }
/*! This is used in references to page that are put in the LaTeX
* documentation. It should be an abbreviation of the word page.
*/
virtual QCString trPageAbbreviation()
{ return "p."; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-991003
//////////////////////////////////////////////////////////////////////////
virtual QCString trSources()
{
return "Sources";
}
virtual QCString trDefinedAtLineInSourceFile()
{
return "Definition at line @0 of file @1.";
}
virtual QCString trDefinedInSourceFile()
{
return "Definition in file @0.";
}
//////////////////////////////////////////////////////////////////////////
// new since 0.49-991205
//////////////////////////////////////////////////////////////////////////
virtual QCString trDeprecated()
{
return "Deprecated";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.0.0
//////////////////////////////////////////////////////////////////////////
/*! this text is put before a collaboration diagram */
virtual QCString trCollaborationDiagram(const char *clName)
{
return (QCString)"Collaboration diagram for "+clName+":";
}
/*! this text is put before an include dependency graph */
virtual QCString trInclDepGraph(const char *fName)
{
return (QCString)"Include dependency graph for "+fName+":";
}
/*! header that is put before the list of constructor/destructors. */
virtual QCString trConstructorDocumentation()
{
return "Constructor & Destructor Documentation";
}
/*! Used in the file documentation to point to the corresponding sources. */
virtual QCString trGotoSourceCode()
{
return "Go to the source code of this file.";
}
/*! Used in the file sources to point to the corresponding documentation. */
virtual QCString trGotoDocumentation()
{
return "Go to the documentation of this file.";
}
/*! Text for the \pre command */
virtual QCString trPrecondition()
{
return "Precondition";
}
/*! Text for the \post command */
virtual QCString trPostcondition()
{
return "Postcondition";
}
/*! Text for the \invariant command */
virtual QCString trInvariant()
{
return "Invariant";
}
/*! Text shown before a multi-line variable/enum initialization */
virtual QCString trInitialValue()
{
return "Initial value:";
}
/*! Text used the source code in the file index */
virtual QCString trCode()
{
return "code";
}
virtual QCString trGraphicalHierarchy()
{
return "Graphical Class Hierarchy";
}
virtual QCString trGotoGraphicalHierarchy()
{
return "Go to the graphical class hierarchy";
}
virtual QCString trGotoTextualHierarchy()
{
return "Go to the textual class hierarchy";
}
virtual QCString trPageIndex()
{
return "Page Index";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.1.0
//////////////////////////////////////////////////////////////////////////
virtual QCString trNote()
{
return "Note";
}
virtual QCString trPublicTypes()
{
return "Public Types";
}
virtual QCString trPublicAttribs()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Data Fields";
}
else
{
return "Public Attributes";
}
}
virtual QCString trStaticPublicAttribs()
{
return "Static Public Attributes";
}
virtual QCString trProtectedTypes()
{
return "Protected Types";
}
virtual QCString trProtectedAttribs()
{
return "Protected Attributes";
}
virtual QCString trStaticProtectedAttribs()
{
return "Static Protected Attributes";
}
virtual QCString trPrivateTypes()
{
return "Private Types";
}
virtual QCString trPrivateAttribs()
{
return "Private Attributes";
}
virtual QCString trStaticPrivateAttribs()
{
return "Static Private Attributes";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.1.3
//////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a \\todo item */
virtual QCString trTodo()
{
return "Todo";
}
/*! Used as the header of the todo list */
virtual QCString trTodoList()
{
return "Todo List";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.1.4
//////////////////////////////////////////////////////////////////////////
virtual QCString trReferencedBy()
{
return "Referenced by";
}
virtual QCString trRemarks()
{
return "Remarks";
}
virtual QCString trAttention()
{
return "Attention";
}
virtual QCString trInclByDepGraph()
{
return "This graph shows which files directly or "
"indirectly include this file:";
}
virtual QCString trSince()
{
return "Since";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.1.5
//////////////////////////////////////////////////////////////////////////
/*! title of the graph legend page */
virtual QCString trLegendTitle()
{
return "Graph Legend";
}
/*! page explaining how the dot graph's should be interpreted */
virtual QCString trLegendDocs()
{
return
"This page explains how to interpret the graphs that are generated "
"by doxygen.<p>\n"
"Consider the following example:\n"
"\\code\n"
"/*! Invisible class because of truncation */\n"
"class Invisible { };\n\n"
"/*! Truncated class, inheritance relation is hidden */\n"
"class Truncated : public Invisible { };\n\n"
"/* Class not documented with doxygen comments */\n"
"class Undocumented { };\n\n"
"/*! Class that is inherited using public inheritance */\n"
"class PublicBase : public Truncated { };\n\n"
"/*! Class that is inherited using protected inheritance */\n"
"class ProtectedBase { };\n\n"
"/*! Class that is inherited using private inheritance */\n"
"class PrivateBase { };\n\n"
"/*! Class that is used by the Inherited class */\n"
"class Used { };\n\n"
"/*! Super class that inherits a number of other classes */\n"
"class Inherited : public PublicBase,\n"
" protected ProtectedBase,\n"
" private PrivateBase,\n"
" public Undocumented\n"
"{\n"
" private:\n"
" Used *m_usedClass;\n"
"};\n"
"\\endcode\n"
"If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file "
"is set to 200 this will result in the following graph:"
"<p><center><img src=\"graph_legend.gif\"></center>\n"
"<p>\n"
"The boxes in the above graph have the following meaning:\n"
"<ul>\n"
"<li>A filled black box represents the struct or class for which the "
"graph is generated.\n"
"<li>A box with a black border denotes a documented struct or class.\n"
"<li>A box with a grey border denotes an undocumented struct or class.\n"
"<li>A box with a red border denotes a documented struct or class for\n"
"which not all inheritance/containment relations are shown. A graph is "
"truncated if it does not fit within the specified boundaries."
"</ul>\n"
"The arrows have the following meaning:\n"
"<ul>\n"
"<li>A dark blue arrow is used to visualize a public inheritance "
"relation between two classes.\n"
"<li>A dark green arrow is used for protected inheritance.\n"
"<li>A dark red arrow is used for private inheritance.\n"
"<li>A purple dashed arrow is used if a class is contained or used "
"by another class. The arrow is labeled with the variable(s) "
"through which the pointed class or struct is accessible. \n"
"</ul>\n";
}
/*! text for the link to the legend page */
virtual QCString trLegend()
{
return "legend";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.0
//////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a test item */
virtual QCString trTest()
{
return "Test";
}
/*! Used as the header of the test list */
virtual QCString trTestList()
{
return "Test List";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.1
//////////////////////////////////////////////////////////////////////////
/*! Used as a section header for KDE-2 IDL methods */
virtual QCString trDCOPMethods()
{
return "DCOP Methods";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.2
//////////////////////////////////////////////////////////////////////////
/*! Used as a section header for IDL properties */
virtual QCString trProperties()
{
return "Properties";
}
/*! Used as a section header for IDL property documentation */
virtual QCString trPropertyDocumentation()
{
return "Property Documentation";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.4
//////////////////////////////////////////////////////////////////////////
/*! Used for Java interfaces in the summary section of Java packages */
virtual QCString trInterfaces()
{
return "Interfaces";
}
/*! Used for Java classes in the summary section of Java packages */
virtual QCString trClasses()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Data Structures";
}
else
{
return "Classes";
}
}
/*! Used as the title of a Java package */
virtual QCString trPackage(const char *name)
{
return (QCString)"Package "+name;
}
/*! Title of the package index page */
virtual QCString trPackageList()
{
return "Package List";
}
/*! The description of the package index page */
virtual QCString trPackageListDescription()
{
return "Here are the packages with brief descriptions (if available):";
}
/*! The link name in the Quick links header for each page */
virtual QCString trPackages()
{
return "Packages";
}
/*! Used as a chapter title for Latex & RTF output */
virtual QCString trPackageDocumentation()
{
return "Package Documentation";
}
/*! Text shown before a multi-line define */
virtual QCString trDefineValue()
{
return "Value:";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.5
//////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a \\bug item */
virtual QCString trBug()
{
return "Bug";
}
/*! Used as the header of the bug list */
virtual QCString trBugList()
{
return "Bug List";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.6
//////////////////////////////////////////////////////////////////////////
/*! Used as ansicpg for RTF file */
virtual QCString trRTFansicp()
{
return "1252";
}
/*! Used as ansicpg for RTF fcharset */
virtual QCString trRTFCharSet()
{
return "0";
}
/*! Used as header RTF general index */
virtual QCString trRTFGeneralIndex()
{
return "Index";
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trClass(bool first_capital, bool singular)
{
QCString result((first_capital ? "Class" : "class"));
if (first_capital) toupper(result.at(0));
if (!singular) result+="es";
return result;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trFile(bool first_capital, bool singular)
{
QCString result((first_capital ? "File" : "file"));
if (!singular) result+="s";
return result;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trNamespace(bool first_capital, bool singular)
{
QCString result((first_capital ? "Namespace" : "namespace"));
if (!singular) result+="s";
return result;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trGroup(bool first_capital, bool singular)
{
QCString result((first_capital ? "Group" : "group"));
if (!singular) result+="s";
return result;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trPage(bool first_capital, bool singular)
{
QCString result((first_capital ? "Page" : "page"));
if (!singular) result+="s";
return result;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trMember(bool first_capital, bool singular)
{
QCString result((first_capital ? "Member" : "member"));
if (!singular) result+="s";
return result;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trField(bool first_capital, bool singular)
{
QCString result((first_capital ? "Field" : "field"));
if (!singular) result+="s";
return result;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trGlobal(bool first_capital, bool singular)
{
QCString result((first_capital ? "Global" : "global"));
if (!singular) result+="s";
return result;
}
};
#endif
......@@ -25,9 +25,9 @@
#ifndef TRANSLATOR_ES_H
#define TRANSLATOR_ES_H
#include "translator.h"
#include "translator_adapter.h"
class TranslatorSpanish : public Translator
class TranslatorSpanish : public TranslatorAdapter_1_1_5
{
public:
virtual QCString idLanguage()
......@@ -413,31 +413,31 @@ class TranslatorSpanish : public Translator
return (QCString)"Diagrama de herencias de "+clName;
}
/*! this text is generated when the \internal command is used. */
/*! this text is generated when the \\internal command is used. */
virtual QCString trForInternalUseOnly()
{ return "Para uso interno exclusivamente."; }
/*! this text is generated when the \reimp command is used. */
/*! this text is generated when the \\reimp command is used. */
virtual QCString trReimplementedForInternalReasons()
{ return "Reimplementado por razones internas; el API no se ve afectado."; }
/*! this text is generated when the \warning command is used. */
/*! this text is generated when the \\warning command is used. */
virtual QCString trWarning()
{ return "Atención"; }
/*! this text is generated when the \bug command is used. */
/*! this text is generated when the \\bug command is used. */
virtual QCString trBugsAndLimitations()
{ return "Bugs y limitaciones"; }
/*! this text is generated when the \version command is used. */
/*! this text is generated when the \\version command is used. */
virtual QCString trVersion()
{ return "Versión"; }
/*! this text is generated when the \date command is used. */
/*! this text is generated when the \\date command is used. */
virtual QCString trDate()
{ return "Fecha"; }
/*! this text is generated when the \author command is used. */
/*! this text is generated when the \\author command is used. */
virtual QCString trAuthors()
{ return "Autor(es)"; }
......@@ -445,15 +445,15 @@ class TranslatorSpanish : public Translator
virtual QCString trReturns()
{ return "Devuelve"; }
/*! this text is generated when the \sa command is used. */
/*! this text is generated when the \\sa command is used. */
virtual QCString trSeeAlso()
{ return "Ver también"; }
/*! this text is generated when the \param command is used. */
/*! this text is generated when the \\param command is used. */
virtual QCString trParameters()
{ return "Parámetros"; }
/*! this text is generated when the \exception command is used. */
/*! this text is generated when the \\exception command is used. */
virtual QCString trExceptions()
{ return "Excepciones"; }
......
......@@ -74,9 +74,9 @@ positiiviset kommentit otetaan ilolla vastaan.
#ifndef TRANSLATOR_SF_H
#define TRANSLATOR_SF_H
#include "translator.h"
#include "translator_adapter.h"
class TranslatorFinnish : public Translator
class TranslatorFinnish : public TranslatorAdapter_1_0_0
{
public:
QCString idLanguage()
......
......@@ -20,9 +20,9 @@
#ifndef TRANSLATOR_FR_H
#define TRANSLATOR_FR_H
#include "translator.h"
#include "translator_adapter.h"
class TranslatorFrench : public Translator
class TranslatorFrench : public TranslatorAdapter_1_2_0
{
public:
QCString idLanguage()
......@@ -413,49 +413,49 @@ class TranslatorFrench : public Translator
return (QCString)"Graphe d'héritage de la classe "+clName;
}
/*! this text is generated when the \internal command is used. */
/*! this text is generated when the \\internal command is used. */
QCString trForInternalUseOnly()
{ return "À usage interne uniquement."; }
/*! this text is generated when the \reimp command is used. */
/*! this text is generated when the \\reimp command is used. */
QCString trReimplementedForInternalReasons()
{ return "Redéfini pour des raisons internes; "
"l'interface n'est pas modifiée";
}
/*! this text is generated when the \warning command is used. */
/*! this text is generated when the \\warning command is used. */
QCString trWarning()
{ return "Avertissement"; }
/*! this text is generated when the \bug command is used. */
/*! this text is generated when the \\bug command is used. */
QCString trBugsAndLimitations()
{ return "Bogues et limitations"; }
/*! this text is generated when the \version command is used. */
/*! this text is generated when the \\version command is used. */
QCString trVersion()
{ return "Version"; }
/*! this text is generated when the \date command is used. */
/*! this text is generated when the \\date command is used. */
QCString trDate()
{ return "Date"; }
/*! this text is generated when the \author command is used. */
/*! this text is generated when the \\author command is used. */
QCString trAuthors()
{ return "Auteur(s)"; }
/*! this text is generated when the \return command is used. */
/*! this text is generated when the \\return command is used. */
QCString trReturns()
{ return "Renvoie"; }
/*! this text is generated when the \sa command is used. */
/*! this text is generated when the \\sa command is used. */
QCString trSeeAlso()
{ return "Voir également"; }
/*! this text is generated when the \param command is used. */
/*! this text is generated when the \\param command is used. */
QCString trParameters()
{ return "Paramètres"; }
/*! this text is generated when the \exception command is used. */
/*! this text is generated when the \\exception command is used. */
QCString trExceptions()
{ return "Exceptions"; }
......
......@@ -34,9 +34,9 @@
#ifndef TRANSLATOR_HR_H
#define TRANSLATOR_HR_H
#include "translator.h"
#include "translator_adapter.h"
class TranslatorCroatian : public Translator
class TranslatorCroatian : public TranslatorAdapter_1_2_6
{
private:
/*! to avoid macro redefinition from translator_cz.h */
......@@ -418,6 +418,18 @@ class TranslatorCroatian : public Translator
// the documentation of all namespaces.
{ return "Dokumentacija namespace-a"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990522
//////////////////////////////////////////////////////////////////////////
/*! This is used in the documentation before the list of all
* namespaces in a file.
*/
QCString trNamespaces()
{
return "Namespaces";
}
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990728
//////////////////////////////////////////////////////////////////////////
......@@ -801,6 +813,36 @@ class TranslatorCroatian : public Translator
{
return "Vrijednost:";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.5
//////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a \\bug item */
virtual QCString trBug()
{
return decode("Greka");
}
/*! Used as the header of the bug list */
virtual QCString trBugList()
{
return decode("Popis greaka");
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.6
//////////////////////////////////////////////////////////////////////////
/*! Used as ansicpg for RTF file */
virtual QCString trRTFansicp()
{
return "1252";
}
/*! Used as ansicpg for RTF fcharset */
virtual QCString trRTFCharSet()
{
return "238";
}
};
#endif
......@@ -20,7 +20,7 @@
#include "translator.h"
class TranslatorHungarian : public Translator
class TranslatorHungarian : public TranslatorAdapter_1_2_1
{
public:
......@@ -425,47 +425,47 @@ class TranslatorHungarian : public Translator
return clName+(QCString)" osztály származtatási diagramja";
}
/*! this text is generated when the \internal command is used. */
/*! this text is generated when the \\internal command is used. */
QCString trForInternalUseOnly()
{ return "CSAK BELSÕ HASZNÁLATRA!"; }
/*! this text is generated when the \reimp command is used. */
/*! this text is generated when the \\reimp command is used. */
QCString trReimplementedForInternalReasons()
{ return "Belsõ okok miatt újraimplementálva, az API-t nem érinti."; }
/*! this text is generated when the \warning command is used. */
/*! this text is generated when the \\warning command is used. */
QCString trWarning()
{ return "Figyelmeztetés"; }
/*! this text is generated when the \bug command is used. */
/*! this text is generated when the \\bug command is used. */
QCString trBugsAndLimitations()
{ return "Hibák és korlátozások"; }
/*! this text is generated when the \version command is used. */
/*! this text is generated when the \\version command is used. */
QCString trVersion()
{ return "Verzió"; }
/*! this text is generated when the \date command is used. */
/*! this text is generated when the \\date command is used. */
QCString trDate()
{ return "Dátum"; }
/*! this text is generated when the \author command is used. */
/*! this text is generated when the \\author command is used. */
QCString trAuthors()
{ return "Szerzõ(k)"; }
/*! this text is generated when the \return command is used. */
/*! this text is generated when the \\return command is used. */
QCString trReturns()
{ return "Visszaadott érték"; }
/*! this text is generated when the \sa command is used. */
/*! this text is generated when the \\sa command is used. */
QCString trSeeAlso()
{ return "Lásd még"; }
/*! this text is generated when the \param command is used. */
/*! this text is generated when the \\param command is used. */
QCString trParameters()
{ return "Paraméterek"; }
/*! this text is generated when the \exception command is used. */
/*! this text is generated when the \\exception command is used. */
QCString trExceptions()
{ return "Kivételek"; }
......
......@@ -30,9 +30,9 @@
#ifndef TRANSLATOR_IT_H
#define TRANSLATOR_IT_H
#include "translator.h"
#include "translator_adapter.h"
class TranslatorItalian : public Translator
class TranslatorItalian : public TranslatorAdapter_1_2_5
{
public:
QCString idLanguage()
......@@ -418,47 +418,47 @@ class TranslatorItalian : public Translator
return (QCString)"Diagramma delle classi per "+clName;
}
/*! this text is generated when the \internal command is used. */
/*! this text is generated when the \\internal command is used. */
QCString trForInternalUseOnly()
{ return "Solo per uso interno."; }
/*! this text is generated when the \reimp command is used. */
/*! this text is generated when the \\reimp command is used. */
QCString trReimplementedForInternalReasons()
{ return "Reimplementato per motivi interni; l'API non è stata modificata.";}
/*! this text is generated when the \warning command is used. */
/*! this text is generated when the \\warning command is used. */
QCString trWarning()
{ return "Avvertimento"; }
/*! this text is generated when the \bug command is used. */
/*! this text is generated when the \\bug command is used. */
QCString trBugsAndLimitations()
{ return "Bugs e limitazioni"; }
/*! this text is generated when the \version command is used. */
/*! this text is generated when the \\version command is used. */
QCString trVersion()
{ return "Versione"; }
/*! this text is generated when the \date command is used. */
/*! this text is generated when the \\date command is used. */
QCString trDate()
{ return "Data"; }
/*! this text is generated when the \author command is used. */
/*! this text is generated when the \\author command is used. */
QCString trAuthors()
{ return "Autore(i)"; }
/*! this text is generated when the \return command is used. */
/*! this text is generated when the \\return command is used. */
QCString trReturns()
{ return "Restituisce"; }
/*! this text is generated when the \sa command is used. */
/*! this text is generated when the \\sa command is used. */
QCString trSeeAlso()
{ return "Vedi anche"; }
/*! this text is generated when the \param command is used. */
/*! this text is generated when the \\param command is used. */
QCString trParameters()
{ return "Parametri"; }
/*! this text is generated when the \exception command is used. */
/*! this text is generated when the \\exception command is used. */
QCString trExceptions()
{ return "Eccezioni"; }
......
......@@ -18,9 +18,9 @@
#ifndef TRANSLATOR_JP_H
#define TRANSLATOR_JP_H
#include "translator.h"
#include "translator_adapter.h"
class TranslatorJapanese : public Translator
class TranslatorJapanese : public TranslatorAdapter_1_2_5
{
public:
QCString idLanguage()
......@@ -402,48 +402,48 @@ class TranslatorJapanese : public Translator
return (QCString)clName+"に対するクラス階層図";
}
/*! this text is generated when the \internal command is used. */
/*! this text is generated when the \\internal command is used. */
QCString trForInternalUseOnly()
{ return "内部使用のみ。"; }
/*! this text is generated when the \reimp command is used. */
/*! this text is generated when the \\reimp command is used. */
QCString trReimplementedForInternalReasons()
{ return "内部的な理由により再実装されましたが、APIには影響しません。";
}
/*! this text is generated when the \warning command is used. */
/*! this text is generated when the \\warning command is used. */
QCString trWarning()
{ return "警告"; }
/*! this text is generated when the \bug command is used. */
/*! this text is generated when the \\bug command is used. */
QCString trBugsAndLimitations()
{ return "バグと制限"; }
/*! this text is generated when the \version command is used. */
/*! this text is generated when the \\version command is used. */
QCString trVersion()
{ return "バージョン"; }
/*! this text is generated when the \date command is used. */
/*! this text is generated when the \\date command is used. */
QCString trDate()
{ return "日付"; }
/*! this text is generated when the \author command is used. */
/*! this text is generated when the \\author command is used. */
QCString trAuthors()
{ return "作者"; }
/*! this text is generated when the \return command is used. */
/*! this text is generated when the \\return command is used. */
QCString trReturns()
{ return "戻り値"; }
/*! this text is generated when the \sa command is used. */
/*! this text is generated when the \\sa command is used. */
QCString trSeeAlso()
{ return "参照"; }
/*! this text is generated when the \param command is used. */
/*! this text is generated when the \\param command is used. */
QCString trParameters()
{ return "引数"; }
/*! this text is generated when the \exception command is used. */
/*! this text is generated when the \\exception command is used. */
QCString trExceptions()
{ return "例外"; }
......
......@@ -18,9 +18,9 @@
#ifndef TRANSLATOR_KR_H
#define TRANSLATOR_KR_H
#include "translator.h"
#include "translator_adapter.h"
class TranslatorKorean : public Translator
class TranslatorKorean : public TranslatorAdapter_1_1_0
{
public:
QCString idLanguage()
......@@ -411,48 +411,48 @@ class TranslatorKorean : public Translator
return (QCString)clName+"에 대한 상속 도표"; // "Inheritance diagram for "+clName
}
/*! this text is generated when the \internal command is used. */
/*! this text is generated when the \\internal command is used. */
QCString trForInternalUseOnly()
{ return "내부 사용만을 위해"; }
/*! this text is generated when the \reimp command is used. */
/*! this text is generated when the \\reimp command is used. */
QCString trReimplementedForInternalReasons()
{ return "내부적 이유를 위해 재구현된: API가 영향을 받지않았다."; }
// "Reimplemented for internal reasons; the API is not affected."
/*! this text is generated when the \warning command is used. */
/*! this text is generated when the \\warning command is used. */
QCString trWarning()
{ return "경고"; }
/*! this text is generated when the \bug command is used. */
/*! this text is generated when the \\bug command is used. */
QCString trBugsAndLimitations()
{ return "버그들과 한계들"; }
/*! this text is generated when the \version command is used. */
/*! this text is generated when the \\version command is used. */
QCString trVersion()
{ return "버전"; }
/*! this text is generated when the \date command is used. */
/*! this text is generated when the \\date command is used. */
QCString trDate()
{ return "날짜"; }
/*! this text is generated when the \author command is used. */
/*! this text is generated when the \\author command is used. */
QCString trAuthors()
{ return "저자(들)"; }
/*! this text is generated when the \return command is used. */
/*! this text is generated when the \\return command is used. */
QCString trReturns()
{ return "반환"; }
/*! this text is generated when the \sa command is used. */
/*! this text is generated when the \\sa command is used. */
QCString trSeeAlso()
{ return "참조하시요"; }
/*! this text is generated when the \param command is used. */
/*! this text is generated when the \\param command is used. */
QCString trParameters()
{ return "매개변수들"; }
/*! this text is generated when the \exception command is used. */
/*! this text is generated when the \\exception command is used. */
QCString trExceptions()
{ return "예외들"; }
......@@ -720,7 +720,7 @@ class TranslatorKorean : public Translator
}
//////////////////////////////////////////////////////////////////////////
// new since 1.0.0
// new since 0.49-991205
//////////////////////////////////////////////////////////////////////////
QCString trDeprecated()
......@@ -729,7 +729,7 @@ class TranslatorKorean : public Translator
}
//////////////////////////////////////////////////////////////////////////
// new since 1.1.0
// new since 1.0.0
//////////////////////////////////////////////////////////////////////////
/*! this text is put before a collaboration diagram */
......
......@@ -18,9 +18,9 @@
#ifndef TRANSLATOR_NL_H
#define TRANSLATOR_NL_H
#include "translator.h"
#include "translator_adapter.h"
class TranslatorDutch : public Translator
class TranslatorDutch : public TranslatorAdapter_1_2_6
{
public:
QCString idLanguage()
......@@ -384,6 +384,18 @@ class TranslatorDutch : public Translator
// the documentation of all namespaces.
{ return "Namespace Documentatie"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990522
//////////////////////////////////////////////////////////////////////////
/*! This is used in the documentation before the list of all
* namespaces in a file.
*/
QCString trNamespaces()
{
return "Namespaces";
}
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990728
//////////////////////////////////////////////////////////////////////////
......@@ -779,7 +791,7 @@ class TranslatorDutch : public Translator
// new since 1.2.5
//////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a \bug item */
/*! Used as a marker that is put before a \\bug item */
QCString trBug()
{
return "Bug";
......
......@@ -24,9 +24,9 @@
#ifndef TRANSLATOR_NO_H
#define TRANSLATOR_NO_H
#include "translator.h"
#include "translator_adapter.h"
class TranslatorNorwegian : public Translator
class TranslatorNorwegian : public TranslatorAdapter_1_2_2
{
public:
QCString idLanguage()
......@@ -120,7 +120,7 @@ class TranslatorNorwegian : public Translator
QCString trSearch()
{ return "Sk"; }
QCString trClassHierarchyDescripsjon()
QCString trClassHierarchyDescription()
{ return "Denne listen over arv er grovt, men ikke helt, "
"sortert i alfabetisk rekkeflge:";
}
......@@ -171,7 +171,7 @@ class TranslatorNorwegian : public Translator
QCString trModulesDescription()
{ return "Her flger en liste over alle moduler:"; }
QCString trNoDescripsjonAvailable()
QCString trNoDescriptionAvailable()
{ return "Beskrivelse mangler"; }
QCString trDocumentation()
......@@ -221,7 +221,7 @@ class TranslatorNorwegian : public Translator
QCString trVariables()
{ return "Variable"; }
QCString trEnumerasjonValues()
QCString trEnumerationValues()
{ return "Enumererte typers verdier"; }
QCString trAuthor()
......@@ -230,19 +230,19 @@ class TranslatorNorwegian : public Translator
QCString trDefineDocumentation()
{ return "Dokumentasjon over definisjoner"; }
QCString trFuncsjonPrototypeDocumentation()
QCString trFunctionPrototypeDocumentation()
{ return "Dokumentasjon over funksjonsprototyper"; }
QCString trTypedefDocumentation()
{ return "Dokumentasjon over typedefinisjoner"; }
QCString trEnumerasjonTypeDocumentation()
QCString trEnumerationTypeDocumentation()
{ return "Dokumentasjon over enumererte typer"; }
QCString trEnumerasjonValueDocumentation()
QCString trEnumerationValueDocumentation()
{ return "Dokumentasjon over enumererte typers verdier"; }
QCString trFuncsjonDocumentation()
QCString trFunctionDocumentation()
{ return "Dokumentasjon over funksjoner"; }
QCString trVariableDocumentation()
......@@ -328,7 +328,7 @@ class TranslatorNorwegian : public Translator
// new since 0.49-990405
//////////////////////////////////////////////////////////////////////////
virtual QCString trRelatedFuncsjonDocumentation()
virtual QCString trRelatedFunctionDocumentation()
{ return "Venners och beslektede funksjoners dokumentasjon"; }
//////////////////////////////////////////////////////////////////////////
......
......@@ -18,9 +18,9 @@
#ifndef TRANSLATOR_PL_H
#define TRANSLATOR_PL_H
#include "translator.h"
#include "translator_adapter.h"
class TranslatorPolish : public Translator
class TranslatorPolish : public TranslatorAdapter_1_2_1
{
public:
......@@ -427,47 +427,47 @@ class TranslatorPolish : public Translator
return (QCString)"Diagram dziedziczenia dla "+clName;
}
/*! this text is generated when the \internal command is used. */
/*! this text is generated when the \\internal command is used. */
QCString trForInternalUseOnly()
{ return "Tylko do u¿ytku wewnêtrznego."; }
/*! this text is generated when the \reimp command is used. */
/*! this text is generated when the \\reimp command is used. */
QCString trReimplementedForInternalReasons()
{ return "Reimplementowana z wewnêtrzych przyczyn; nie dotyczy API."; }
/*! this text is generated when the \warning command is used. */
/*! this text is generated when the \\warning command is used. */
QCString trWarning()
{ return "Ostrze¿enie"; }
/*! this text is generated when the \bug command is used. */
/*! this text is generated when the \\bug command is used. */
QCString trBugsAndLimitations()
{ return "B³êdy i ograniczenia"; }
/*! this text is generated when the \version command is used. */
/*! this text is generated when the \\version command is used. */
QCString trVersion()
{ return "Wersja"; }
/*! this text is generated when the \date command is used. */
/*! this text is generated when the \\date command is used. */
QCString trDate()
{ return "Data"; }
/*! this text is generated when the \author command is used. */
/*! this text is generated when the \\author command is used. */
QCString trAuthors()
{ return "Autorzy"; }
/*! this text is generated when the \return command is used. */
/*! this text is generated when the \\return command is used. */
QCString trReturns()
{ return "Powroty"; }
/*! this text is generated when the \sa command is used. */
/*! this text is generated when the \\sa command is used. */
QCString trSeeAlso()
{ return "Zobacz równie¿"; }
/*! this text is generated when the \param command is used. */
/*! this text is generated when the \\param command is used. */
QCString trParameters()
{ return "Parametry"; }
/*! this text is generated when the \exception command is used. */
/*! this text is generated when the \\exception command is used. */
QCString trExceptions()
{ return "Wyj±tki"; }
......
......@@ -20,9 +20,9 @@
#ifndef TRANSLATOR_PT_H
#define TRANSLATOR_PT_H
#include "translator.h"
#include "translator_adapter.h"
class TranslatorPortuguese : public Translator
class TranslatorPortuguese : public TranslatorAdapter_1_1_5
{
public:
QCString idLanguage()
......@@ -403,48 +403,48 @@ class TranslatorPortuguese : public Translator
return (QCString)"Diagrama de heranças da classe "+clName;
}
/*! this text is generated when the \internal command is used. */
/*! this text is generated when the \\internal command is used. */
QCString trForInternalUseOnly()
{ return "Apenas para uso interno."; }
/*! this text is generated when the \reimp command is used. */
/*! this text is generated when the \\reimp command is used. */
QCString trReimplementedForInternalReasons()
{ return "Redefinido por razões internas; o interface não é afectado";
}
/*! this text is generated when the \warning command is used. */
/*! this text is generated when the \\warning command is used. */
QCString trWarning()
{ return "Aviso"; }
/*! this text is generated when the \bug command is used. */
/*! this text is generated when the \\bug command is used. */
QCString trBugsAndLimitations()
{ return "Bugs e limitações"; }
/*! this text is generated when the \version command is used. */
/*! this text is generated when the \\version command is used. */
QCString trVersion()
{ return "Versão"; }
/*! this text is generated when the \date command is used. */
/*! this text is generated when the \\date command is used. */
QCString trDate()
{ return "Data"; }
/*! this text is generated when the \author command is used. */
/*! this text is generated when the \\author command is used. */
QCString trAuthors()
{ return "Autor(es)"; }
/*! this text is generated when the \return command is used. */
/*! this text is generated when the \\return command is used. */
QCString trReturns()
{ return "Retorna"; }
/*! this text is generated when the \sa command is used. */
/*! this text is generated when the \\sa command is used. */
QCString trSeeAlso()
{ return "Veja também"; }
/*! this text is generated when the \param command is used. */
/*! this text is generated when the \\param command is used. */
QCString trParameters()
{ return "Parâmetros"; }
/*! this text is generated when the \exception command is used. */
/*! this text is generated when the \\exception command is used. */
QCString trExceptions()
{ return "Excepções"; }
......
......@@ -32,10 +32,9 @@
#ifndef TRANSLATOR_RO_H
#define TRANSLATOR_RO_H
#include "classdef.h"
#include "util.h"
#include "translator_adapter.h"
class TranslatorRomanian: public Translator
class TranslatorRomanian: public TranslatorAdapter_1_2_1
{
public:
......@@ -452,47 +451,47 @@ class TranslatorRomanian: public Translator
return (QCString)"Diagrama de relaþii pentru "+clName;
}
/*! this text is generated when the \internal command is used. */
/*! this text is generated when the \\internal command is used. */
virtual QCString trForInternalUseOnly()
{ return "Doar pentru uz intern."; }
/*! this text is generated when the \reimp command is used. */
/*! this text is generated when the \\reimp command is used. */
virtual QCString trReimplementedForInternalReasons()
{ return "Reimplementat din motive interne; API-ul nu este afectat."; }
/*! this text is generated when the \warning command is used. */
/*! this text is generated when the \\warning command is used. */
virtual QCString trWarning()
{ return "Atenþie"; }
/*! this text is generated when the \bug command is used. */
/*! this text is generated when the \\bug command is used. */
virtual QCString trBugsAndLimitations()
{ return "Buguri ºi limitãri"; }
/*! this text is generated when the \version command is used. */
/*! this text is generated when the \\version command is used. */
virtual QCString trVersion()
{ return "Versiunea"; }
/*! this text is generated when the \date command is used. */
/*! this text is generated when the \\date command is used. */
virtual QCString trDate()
{ return "Data"; }
/*! this text is generated when the \author command is used. */
/*! this text is generated when the \\author command is used. */
virtual QCString trAuthors()
{ return "Autorul/Autorii"; }
/*! this text is generated when the \return command is used. */
/*! this text is generated when the \\return command is used. */
virtual QCString trReturns()
{ return "Întoarce"; }
/*! this text is generated when the \sa command is used. */
/*! this text is generated when the \\sa command is used. */
virtual QCString trSeeAlso()
{ return "Vezi ºi"; }
/*! this text is generated when the \param command is used. */
/*! this text is generated when the \\param command is used. */
virtual QCString trParameters()
{ return "Parametri"; }
/*! this text is generated when the \exception command is used. */
/*! this text is generated when the \\exception command is used. */
virtual QCString trExceptions()
{ return "Excepþii"; }
......
......@@ -48,92 +48,10 @@
#ifndef TRANSLATOR_RU_H
#define TRANSLATOR_RU_H
#include "translator.h"
#include "translator_adapter.h"
class TranslatorRussian : public Translator
class TranslatorRussian : public TranslatorAdapter_1_2_5
{
protected:
/*! Returns the string converted from koi8-r to windows-1251. */
/* The method was designed initially for translator_cz.h.
It is used for on-line encoding conversion related to conditional
compilation in Unix/MS Windows environments (both use different
encoding).
Encoding table got from QT:qtextcodec.cpp
*/
QCString Koi8RToWindows1251( const QCString sInput )
{
static Q_UINT16 koi8_r[128] =
{ 0x2500, 0x2502, 0x250C, 0x2510, 0x2514, 0x2518, 0x251C, 0x2524,
0x252C, 0x2534, 0x253C, 0x2580, 0x2584, 0x2588, 0x258C, 0x2590,
0x2591, 0x2592, 0x2593, 0x2320, 0x25A0, 0x2219/**/, 0x221A, 0x2248,
0x2264, 0x2265, 0x00A0, 0x2321, 0x00B0, 0x00B2, 0x00B7, 0x00F7,
0x2550, 0x2551, 0x2552, 0x0451, 0x2553, 0x2554, 0x2555, 0x2556,
0x2557, 0x2558, 0x2559, 0x255A, 0x255B, 0x255C, 0x255D, 0x255E,
0x255F, 0x2560, 0x2561, 0x0401, 0x2562, 0x2563, 0x2564, 0x2565,
0x2566, 0x2567, 0x2568, 0x2569, 0x256A, 0x256B, 0x256C, 0x00A9,
0x044E, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433,
0x0445, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E,
0x043F, 0x044F, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432,
0x044C, 0x044B, 0x0437, 0x0448, 0x044D, 0x0449, 0x0447, 0x044A,
0x042E, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413,
0x0425, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E,
0x041F, 0x042F, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412,
0x042C, 0x042B, 0x0417, 0x0428, 0x042D, 0x0429, 0x0427, 0x042A
};
QString result;
int len = sInput.length();
result.setUnicode(0, len);
QChar* uc = (QChar*)result.unicode(); // const_cast
const unsigned char * c = (const unsigned char *)(const char*)sInput;
for( int i=0; i<len; i++ ) {
if ( c[i] > 127 )
uc[i] = koi8_r[c[i]-128];
else
uc[i] = c[i];
}
return result.local8Bit();
}
/*! returns the string converted from Windows-1251 to koi8-r */
/* See the comments of the Koi8RToWindows1251() method for details.
Encoding table got from QT:qtextcodec.cpp */
QCString Windows1251ToKoi8R( const QCString sInput )
{
static Q_UINT16 windows_1251[128] =
{ 0x0402, 0x0403, 0x201A, 0x0453, 0x201E, 0x2026, 0x2020, 0x2021,
0x20AC, 0x2030, 0x0409, 0x2039, 0x040A, 0x040C, 0x040B, 0x040F,
0x0452, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014,
0xFFFD, 0x2122, 0x0459, 0x203A, 0x045A, 0x045C, 0x045B, 0x045F,
0x00A0, 0x040E, 0x045E, 0x0408, 0x00A4, 0x0490, 0x00A6, 0x00A7,
0x0401, 0x00A9, 0x0404, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x0407,
0x00B0, 0x00B1, 0x0406, 0x0456, 0x0491, 0x00B5, 0x00B6, 0x00B7,
0x0451, 0x2116, 0x0454, 0x00BB, 0x0458, 0x0405, 0x0455, 0x0457,
0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,
0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F,
0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,
0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F,
0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,
0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F,
0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,
0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F
};
QString result;
int len = sInput.length();
result.setUnicode(0, len);
QChar* uc = (QChar*)result.unicode(); // const_cast
const unsigned char * c = (const unsigned char *)(const char*)sInput;
for( int i=0; i<len; i++ ) {
if ( c[i] > 127 )
uc[i] = windows_1251[c[i]-128];
else
uc[i] = c[i];
}
return result.local8Bit();
}
private:
/*! The Decode() inline assumes the source written in the
Koi8-R encoding (maintainer dependent).
......@@ -153,20 +71,13 @@ class TranslatorRussian : public Translator
{ return "russian"; }
/* Used to get the command(s) for the language support. */
// virtual QCString latexLanguageSupportCommand()
/*! Used to get the command(s) for the language support. This method
* was designed for languages which do not prefer babel package.
* If this methods returns empty string, then the latexBabelPackage()
* method is used to generate the command for using the babel package.
*/
virtual QCString latexBabelPackage()
{ return "russianb"; }
virtual QCString latexLanguageSupportCommand()
{ return "\\usepackage[russianb]{babel}\n"; }
/*! return the language charset. This will be used for the HTML output */
virtual QCString idLanguageCharset()
#ifdef _WIN32
{ return "Windows-1215"; }
{ return "Windows-1251"; }
#else
{ return "koi8-r"; }
#endif
......@@ -356,35 +267,35 @@ class TranslatorRussian : public Translator
}
else
{
return decode( " ." );
return decode( " ." );
}
}
/*! This is an introduction to the page with all class members. */
virtual QCString trCompoundMembersDescription(bool extractAll)
{
QCString result=" ";
if(!extractAll) result+=" ";
QCString result=" ";
if(!extractAll) result+=" ";
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
result+=" ";
else
result+=" ";
if(extractAll)
{
result+=" ";
else
result+=" ";
if(extractAll)
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
result+=" .";
else
result+=" .";
}
else
{
result+=" .";
else
result+=" .";
}
else
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
result += "";
else
result += "";
result+=", .";
}
return decode( result );
result += "";
else
result += "";
result+=", .";
}
return decode( result );
}
/*! This is an introduction to the page with all file members. */
......@@ -731,7 +642,7 @@ class TranslatorRussian : public Translator
*/
virtual QCString trRelatedFunctionDocumentation()
{ return decode(" "
" "); }
" "); }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990425
......@@ -745,26 +656,26 @@ class TranslatorRussian : public Translator
QCString result;
if (isTemplate)
{
result=" ";
switch(compType)
{
case ClassDef::Class: result+=""; break;
case ClassDef::Struct: result+=""; break;
case ClassDef::Union: result+=""; break;
case ClassDef::Interface: result+=""; break;
case ClassDef::Exception: result+=""; break;
}
result=" ";
switch(compType)
{
case ClassDef::Class: result+=""; break;
case ClassDef::Struct: result+=""; break;
case ClassDef::Union: result+=""; break;
case ClassDef::Interface: result+=""; break;
case ClassDef::Exception: result+=""; break;
}
}
else
{
switch(compType)
{
case ClassDef::Class: result+=""; break;
case ClassDef::Struct: result+=""; break;
case ClassDef::Union: result+=""; break;
case ClassDef::Interface: result+=""; break;
case ClassDef::Exception: result+=""; break;
}
switch(compType)
{
case ClassDef::Class: result+=""; break;
case ClassDef::Struct: result+=""; break;
case ClassDef::Union: result+=""; break;
case ClassDef::Interface: result+=""; break;
case ClassDef::Exception: result+=""; break;
}
}
result+=" ";
return decode(result)+clName;
......@@ -910,20 +821,20 @@ class TranslatorRussian : public Translator
switch(compType)
{
case ClassDef::Class: result+="";
if (single) result+=''; else result+="";
break;
if (single) result+=''; else result+="";
break;
case ClassDef::Struct: result+="";
if (single) result+='';
break;
if (single) result+='';
break;
case ClassDef::Union: result+="";
if (single) result+=''; else result+='';
break;
if (single) result+=''; else result+='';
break;
case ClassDef::Interface: result+="";
if (single) result+=''; else result+="";
break;
if (single) result+=''; else result+="";
break;
case ClassDef::Exception: result+="";
if (single) result+=''; else result+='';
break;
if (single) result+=''; else result+='';
break;
}
result+=" ";
if (single) result+=":"; else result+=":";
......@@ -1072,7 +983,7 @@ class TranslatorRussian : public Translator
}
else
{
return decode( " " );
return decode( " " );
}
}
virtual QCString trStaticPublicAttribs()
......@@ -1195,7 +1106,7 @@ class TranslatorRussian : public Translator
" :\n"
"<ul>\n"
"<li> , "
" .\n"
" .\n"
"<li> .\n"
"<li> .\n"
"<li> , \n"
......@@ -1209,7 +1120,7 @@ class TranslatorRussian : public Translator
"<li> .\n"
"<li> .\n"
"<li> , "
" ."
" ."
" , "
" . \n"
"</ul>\n");
......@@ -1306,7 +1217,7 @@ class TranslatorRussian : public Translator
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.?
// new since 1.2.6
//////////////////////////////////////////////////////////////////////////
/*! Used as ansicpg for RTF file */
virtual QCString trRTFansicp()
......
......@@ -62,9 +62,9 @@ Problem!
#ifndef TRANSLATOR_SE_H
#define TRANSLATOR_SE_H
#include "translator.h"
#include "translator_adapter.h"
class TranslatorSwedish : public Translator
class TranslatorSwedish : public TranslatorAdapter_1_0_0
{
public:
QCString idLanguage()
......
......@@ -20,9 +20,9 @@
#ifndef TRANSLATOR_SI_H
#define TRANSLATOR_SI_H
#include "translator.h"
#include "translator_adapter.h"
class TranslatorSlovene : public Translator
class TranslatorSlovene : public TranslatorAdapter_1_1_5
{
public:
QCString idLanguage()
......@@ -403,6 +403,18 @@ class TranslatorSlovene : public Translator
// the documentation of all namespaces.
{ return "Podati o imenskih prostorih"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990522
//////////////////////////////////////////////////////////////////////////
/*! This is used in the documentation before the list of all
* namespaces in a file.
*/
QCString trNamespaces()
{
return "Namespaces";
}
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990728
//////////////////////////////////////////////////////////////////////////
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment