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. 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. Please read INSTALL for compilation instructions.
...@@ -7,4 +7,4 @@ The latest version of doxygen can be obtained at ...@@ -7,4 +7,4 @@ The latest version of doxygen can be obtained at
Enjoy, 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 ...@@ -115,7 +115,7 @@ typedef struct StructName TypeName
\par Example: \par Example:
\verbinclude restypedef.cpp \verbinclude restypedef.cpp
\htmlonly \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. for the corresponding HTML documentation that is generated by Doxygen.
\endhtmlonly \endhtmlonly
*/ */
...@@ -45,6 +45,7 @@ documentation: ...@@ -45,6 +45,7 @@ documentation:
\endlatexonly \endlatexonly
<li> \refitem cmda \a <li> \refitem cmda \a
<li> \refitem cmdaddindex \addindex <li> \refitem cmdaddindex \addindex
<li> \refitem cmdaddtogroup \addtogroup
<li> \refitem cmdanchor \anchor <li> \refitem cmdanchor \anchor
<li> \refitem cmdarg \arg <li> \refitem cmdarg \arg
<li> \refitem cmdattention \attention <li> \refitem cmdattention \attention
...@@ -148,6 +149,35 @@ Doxygen. Unrecognized commands are treated as normal text. ...@@ -148,6 +149,35 @@ Doxygen. Unrecognized commands are treated as normal text.
Structural indicators Structural indicators
\htmlonly --- </center>\endhtmlonly</h2> \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>] \subsection cmdclass \class <name> [<header-file>] [<header-name>]
\addindex \class \addindex \class
...@@ -180,7 +210,7 @@ Doxygen. Unrecognized commands are treated as normal text. ...@@ -180,7 +210,7 @@ Doxygen. Unrecognized commands are treated as normal text.
\par Example: \par Example:
\verbinclude define.h \verbinclude define.h
\htmlonly \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. for the corresponding HTML documentation that is generated by Doxygen.
\endhtmlonly \endhtmlonly
...@@ -271,7 +301,7 @@ Doxygen. Unrecognized commands are treated as normal text. ...@@ -271,7 +301,7 @@ Doxygen. Unrecognized commands are treated as normal text.
\par Example: \par Example:
\verbinclude file.h \verbinclude file.h
\htmlonly \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. for the corresponding HTML documentation that is generated by Doxygen.
\endhtmlonly \endhtmlonly
...@@ -547,7 +577,7 @@ Public/Protected/Private/... section. ...@@ -547,7 +577,7 @@ Public/Protected/Private/... section.
\par Example: \par Example:
\verbinclude author.cpp \verbinclude author.cpp
\htmlonly \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. for the corresponding HTML documentation that is generated by Doxygen.
\endhtmlonly \endhtmlonly
......
...@@ -758,10 +758,10 @@ followed by the descriptions of the tags grouped by category. ...@@ -758,10 +758,10 @@ followed by the descriptions of the tags grouped by category.
doxygen generates three additional HTML index files: doxygen generates three additional HTML index files:
\c index.hhp, \c index.hhc, and \c index.hhk. The \c index.hhp is a \c index.hhp, \c index.hhc, and \c index.hhk. The \c index.hhp is a
project file that can be read by 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> Microsoft HTML help workshop</a>
\latexonly \latexonly
(see http://msdn.microsoft.com/workshop/author/htmlhelp) (see http://msdn.microsoft.com/library/tools/htmlhelp/wkshp/download\_main.htm)
\endlatexonly \endlatexonly
on Windows. on Windows.
......
...@@ -159,7 +159,7 @@ Here is an example of a C header named \c structcmd.h that is documented ...@@ -159,7 +159,7 @@ Here is an example of a C header named \c structcmd.h that is documented
using structural commands: using structural commands:
\verbinclude structcmd.h \verbinclude structcmd.h
\htmlonly \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. for the corresponding HTML documentation that is generated by doxygen.
\endhtmlonly \endhtmlonly
......
...@@ -64,10 +64,8 @@ documentation. Note that all attributes of a HTML tag are ignored ...@@ -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 </OL> Ends a numbered item list.
<li>\c <P> Starts a new paragraph. <li>\c <P> Starts a new paragraph.
<li>\c </P> Does not generate any output. <li>\c </P> Does not generate any output.
<li>\c <PRE> starts a code fragment, <li>\c <PRE> starts a preformatted fragment.
equivalent to the command \\code (see section \ref cmdcode). <li>\c </PRE> ends a preformatted fragment.
<li>\c </PRE> ends a code fragment,
equivalent to the command \\endcode (see section \ref cmdendcode).
<li>\c <SMALL> starts a section of text displayed in a smaller font. <li>\c <SMALL> starts a section of text displayed in a smaller font.
<li>\c </SMALL> ends a \c <SMALL> section. <li>\c </SMALL> ends a \c <SMALL> section.
<li>\c <STRONG> starts a section of bold text. <li>\c <STRONG> starts a section of bold text.
......
...@@ -159,6 +159,7 @@ Thanks go to: ...@@ -159,6 +159,7 @@ Thanks go to:
<li>My brother <a href="http://www.stack.nl/~fidget/index.html">Frank</a> <li>My brother <a href="http://www.stack.nl/~fidget/index.html">Frank</a>
for rendering the logos. for rendering the logos.
<li>Harm van der Heijden for adding HTML help support. <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>Parker Waerchter for adding the RTF output generator.
<li>Joerg Baumann, for adding conditional documentation blocks, <li>Joerg Baumann, for adding conditional documentation blocks,
PDF links, and the configuration generator. PDF links, and the configuration generator.
......
...@@ -425,7 +425,7 @@ Here is what is required: ...@@ -425,7 +425,7 @@ Here is what is required:
(see \ref cfg_generate_htmlhelp "GENERATE_HTMLHELP") in the (see \ref cfg_generate_htmlhelp "GENERATE_HTMLHELP") in the
config file, then you need the Microsoft HTML help workshop. config file, then you need the Microsoft HTML help workshop.
You can download it at: 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 <li>If you used WinZip to extract the tar archive it will (apparently) not
create empty folders, so you have to add the folders create empty folders, so you have to add the folders
......
...@@ -18,13 +18,12 @@ ...@@ -18,13 +18,12 @@
<h3>Support for multiple languages</h3> <h3>Support for multiple languages</h3>
Doxygen has support for multiple languages. This means that the text fragments that Doxygen has support for multiple languages. This means
doxygen generates can changed into languages other than English that the text fragments that doxygen generates can changed into languages
(the default) at configuration time. other than English (the default) at configuration time.
<p> <p>
Currently, supported languages are English, French, Czech, Dutch, Spannish, Currently, supported for over 20 languages is available.
Swedish, Russian, Czech, Croatian, Italian, Hungarian, Finnish, German and Japanese,
and Korean.
Here is a list of the languages and their current maintainers: Here is a list of the languages and their current maintainers:
<p> <p>
...@@ -269,7 +268,7 @@ let them (or me) know. ...@@ -269,7 +268,7 @@ let them (or me) know.
If you want to add support for a language that is not yet listed If you want to add support for a language that is not yet listed
please see the next section. 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: This short HOWTO explains how to add support for a new language to Doxygen:
...@@ -278,7 +277,7 @@ Just follow these steps: ...@@ -278,7 +277,7 @@ Just follow these steps:
<li>Tell me for which language you want to add support. If no one else <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 is already working on support for that language, you will be
assigned as the maintainer for the language. 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 translator_<your_2_letter_counter_code>.h
I'll use xx in the rest of this document. I'll use xx in the rest of this document.
<li>Edit language.cpp: <li>Edit language.cpp:
...@@ -294,35 +293,63 @@ Just follow these steps: ...@@ -294,35 +293,63 @@ Just follow these steps:
} }
\endverbatim \endverbatim
after the <code>if { ... }</code> 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. the \c HEADERS line in the file doxygen.pro.
<li>Edit <code>translator_xx.h</code>: <li>Edit <code>translator_xx.h</code>:
<ul> <ul>
<li>Rename <code>TRANSLATOR_NL_H</code> to <code>TRANSLATOR_XX_H</code> twice. <li>Rename <code>TRANSLATOR_EN_H</code> to <code>TRANSLATOR_XX_H</code> twice.
<li>Rename TranslatorDutch to TranslatorYourLanguage <li>Rename TranslatorEnglish to TranslatorYourLanguage
<li>In the member <code>latexBabelPackage()</code> change "dutch" into the name of the <li>In the member <code>idLanguage()</code> change "english" into the
latex package that adds support for your language. name of the your language (use lower case characters only). Depending
<li>Edit all the strings that are returned by the members that start on the language you may also wish to change the member functions
with tr. latexLanguageSupportCommand() and idLanguageCharset().
Look at the corresponding member in translator.h for the english text <li>Edit all the strings that are returned by the member functions that
that is returned and translate that into your language. start with tr.
Try to match punctuation and capitals! Try to match punctuation and capitals!
To enter special characters (with accents) you can: To enter special characters (with accents) you can:
<ul> <ul>
<li> Enter them directly if your keyboard supports that and you are <li> Enter them directly if your keyboard supports that and you are
using a Latin-1 font. using a Latin-1 font.
Doxygen will translate the characters to proper Latex and 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;). <li> Use html codes like \&auml; for an a with an umlaut (i.e. &auml;).
See the HTML specification for the codes. See the HTML specification for the codes.
</ul> </ul>
</ul> </ul>
<li>Recompile everything (do this from the root of the distribution, <li>Run configure and make again from the root of the distribution,
because the Makefile.dox* have to be regenerated!) in order to regenerated the Makefiles.
<li>Now you can use <code>OUTPUT_LANGUAGE = your_language_name</code> <li>Now you can use <code>OUTPUT_LANGUAGE = your_language_name</code>
in the config file to generate output in your language. 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 <li>Send <code>translator_xx.h</code> to me so I can add it to doxygen.
to me so I can add it to doxygen.
</ol> </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 {}; ...@@ -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 Name: doxygen
Version: 1.2.6_20010422 Version: 1.2.7
Summary: documentation system for C, C++ and IDL Summary: documentation system for C, C++ and IDL
Release: 2 Release: 2
Source: doxygen_%{version}.src.tar.gz Source: doxygen_%{version}.src.tar.gz
......
...@@ -1842,7 +1842,14 @@ QCString ClassDef::compoundTypeString() const ...@@ -1842,7 +1842,14 @@ QCString ClassDef::compoundTypeString() const
QCString ClassDef::getOutputFileBase() const QCString ClassDef::getOutputFileBase() const
{ {
return convertNameToFile(fileName); if (isReference())
{
return fileName;
}
else
{
return convertNameToFile(fileName);
}
} }
QCString ClassDef::getFileBase() const QCString ClassDef::getFileBase() const
......
...@@ -2161,7 +2161,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG}) ...@@ -2161,7 +2161,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
insideHtmlLink=FALSE; insideHtmlLink=FALSE;
} }
} }
<DocScan>"<"{A} { BEGIN(DocHtmlLink); } <DocScan>"<"{A}{BN}+ { BEGIN(DocHtmlLink); }
<DocScan>"<"{BOLD}{ATTR}">" { outDoc->startBold(); } <DocScan>"<"{BOLD}{ATTR}">" { outDoc->startBold(); }
<DocScan>"</"{BOLD}{ATTR}">" { outDoc->endBold(); } <DocScan>"</"{BOLD}{ATTR}">" { outDoc->endBold(); }
<DocScan>"<"{P}{ATTR}">" { <DocScan>"<"{P}{ATTR}">" {
......
...@@ -438,6 +438,30 @@ static void organizeSubGroups(Entry *root) ...@@ -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) static void buildFileList(Entry *root)
...@@ -2564,7 +2588,10 @@ static void addTodoTestBugReferences() ...@@ -2564,7 +2588,10 @@ static void addTodoTestBugReferences()
ClassDef *cd=Doxygen::classList.first(); ClassDef *cd=Doxygen::classList.first();
while (cd) 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(); cd=Doxygen::classList.next();
} }
FileName *fn=Doxygen::inputNameList.first(); FileName *fn=Doxygen::inputNameList.first();
...@@ -2573,7 +2600,9 @@ static void addTodoTestBugReferences() ...@@ -2573,7 +2600,9 @@ static void addTodoTestBugReferences()
FileDef *fd=fn->first(); FileDef *fd=fn->first();
while (fd) 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(); fd=fn->next();
} }
fn=Doxygen::inputNameList.next(); fn=Doxygen::inputNameList.next();
...@@ -2581,20 +2610,26 @@ static void addTodoTestBugReferences() ...@@ -2581,20 +2610,26 @@ static void addTodoTestBugReferences()
NamespaceDef *nd=Doxygen::namespaceList.first(); NamespaceDef *nd=Doxygen::namespaceList.first();
while (nd) 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(); nd=Doxygen::namespaceList.next();
} }
GroupDef *gd=Doxygen::groupList.first(); GroupDef *gd=Doxygen::groupList.first();
while (gd) 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(); gd=Doxygen::groupList.next();
} }
PageSDictIterator pdi(*Doxygen::pageSDict); PageSDictIterator pdi(*Doxygen::pageSDict);
PageInfo *pi=0; PageInfo *pi=0;
for (pdi.toFirst();(pi=pdi.current());++pdi) 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); MemberNameListIterator mnli(Doxygen::memberNameList);
MemberName *mn=0; MemberName *mn=0;
...@@ -2610,8 +2645,15 @@ static void addTodoTestBugReferences() ...@@ -2610,8 +2645,15 @@ static void addTodoTestBugReferences()
if (d==0) d=md->getGroupDef(); if (d==0) d=md->getGroupDef();
if (d==0) d=md->getFileDef(); if (d==0) d=md->getFileDef();
// TODO: i18n this // TODO: i18n this
QCString memLabel="member"; QCString memLabel;
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) memLabel="field"; if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
memLabel=theTranslator->trField(TRUE,TRUE);
}
else
{
memLabel=theTranslator->trMember(TRUE,TRUE);
}
if (d) if (d)
{ {
addRefItem(md->todoId(),md->testId(),md->bugId(),memLabel,d->getOutputFileBase()+":"+md->anchor(),scopeName+"::"+md->name(),md->argsString()); addRefItem(md->todoId(),md->testId(),md->bugId(),memLabel,d->getOutputFileBase()+":"+md->anchor(),scopeName+"::"+md->name(),md->argsString());
...@@ -2631,8 +2673,15 @@ static void addTodoTestBugReferences() ...@@ -2631,8 +2673,15 @@ static void addTodoTestBugReferences()
if (d==0) d=md->getGroupDef(); if (d==0) d=md->getGroupDef();
if (d==0) d=md->getFileDef(); if (d==0) d=md->getFileDef();
// TODO: i18n this // TODO: i18n this
QCString memLabel="member"; QCString memLabel;
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) memLabel="global"; if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
memLabel=theTranslator->trGlobal(TRUE,TRUE);
}
else
{
memLabel=theTranslator->trMember(TRUE,TRUE);
}
if (d) if (d)
{ {
addRefItem(md->todoId(),md->testId(),md->bugId(),memLabel,d->getOutputFileBase()+":"+md->anchor(),md->name(),md->argsString()); addRefItem(md->todoId(),md->testId(),md->bugId(),memLabel,d->getOutputFileBase()+":"+md->anchor(),md->name(),md->argsString());
...@@ -6294,6 +6343,7 @@ void parseInput() ...@@ -6294,6 +6343,7 @@ void parseInput()
msg("Building group list...\n"); msg("Building group list...\n");
buildGroupList(root); buildGroupList(root);
organizeSubGroups(root); organizeSubGroups(root);
addToGroupSections(root);
msg("Building namespace list...\n"); msg("Building namespace list...\n");
buildNamespaceList(root); buildNamespaceList(root);
......
...@@ -55,11 +55,12 @@ ...@@ -55,11 +55,12 @@
struct FileInfo struct FileInfo
{ {
FileInfo() { f=0; url=0; } FileInfo() { name[0]='\0'; f=0; url=0; }
~FileInfo() { if (f) fclose(f); ~FileInfo() { if (f) fclose(f);
delete[] url; delete[] url;
} }
FILE *f; FILE *f;
char name[MAXSTRLEN];
int index; int index;
int refOffset; int refOffset;
char *url; char *url;
...@@ -396,8 +397,11 @@ void searchIndex(const char *word,SearchResults *results) ...@@ -396,8 +397,11 @@ void searchIndex(const char *word,SearchResults *results)
FileInfo *fi=fileList.first; FileInfo *fi=fileList.first;
while (fi) while (fi)
{ {
fi->f = fopen(fi->name, "rb");
fseek(fi->f,8,SEEK_SET); fseek(fi->f,8,SEEK_SET);
searchRecursive(results,fi,word); searchRecursive(results,fi,word);
fclose(fi->f);
fi->f=0;
fi=fi->next; fi=fi->next;
} }
...@@ -516,6 +520,10 @@ void generateResults(SearchResults *sr) ...@@ -516,6 +520,10 @@ void generateResults(SearchResults *sr)
if (skipEntries == 0) if (skipEntries == 0)
{ {
SearchDoc *d=docPtrArray[i]; SearchDoc *d=docPtrArray[i];
if (d->fileInfo->f == 0)
{
d->fileInfo->f = fopen(d->fileInfo->name, "rb");
}
FILE *f=d->fileInfo->f; FILE *f=d->fileInfo->f;
fseek(f,d->fileInfo->refOffset+d->index*4,SEEK_SET); fseek(f,d->fileInfo->refOffset+d->index*4,SEEK_SET);
int offset=readInt(f); int offset=readInt(f);
...@@ -531,6 +539,11 @@ void generateResults(SearchResults *sr) ...@@ -531,6 +539,11 @@ void generateResults(SearchResults *sr)
rank*2+55, 255-rank*2, rank, rank*2+55, 255-rank*2, rank,
d->fileInfo->url, htmlName, linkName); d->fileInfo->url, htmlName, linkName);
pageEntries--; pageEntries--;
if (d->fileInfo->f != 0)
{
fclose(d->fileInfo->f);
d->fileInfo->f = 0;
}
} }
else else
{ {
...@@ -946,6 +959,7 @@ int main(int argc,char **argv) ...@@ -946,6 +959,7 @@ int main(int argc,char **argv)
FileInfo *fi=fileList.add(); FileInfo *fi=fileList.add();
FILE *g; FILE *g;
strcpy(fi->name,indexFile);
if ((fi->f=fopen(indexFile,"rb"))==NULL) if ((fi->f=fopen(indexFile,"rb"))==NULL)
{ {
message("Error: could not open index file %s\n",indexFile); message("Error: could not open index file %s\n",indexFile);
...@@ -982,6 +996,8 @@ int main(int argc,char **argv) ...@@ -982,6 +996,8 @@ int main(int argc,char **argv)
} }
// read and store the offset to the link index // read and store the offset to the link index
fi->refOffset=readInt(fi->f); fi->refOffset=readInt(fi->f);
fclose(fi->f);
fi->f = 0;
} }
char *word; char *word;
......
...@@ -176,7 +176,8 @@ class Entry ...@@ -176,7 +176,8 @@ class Entry
MAINPAGEDOC_SEC = 0x01200000, MAINPAGEDOC_SEC = 0x01200000,
MEMBERGRP_SEC = 0x01300000, MEMBERGRP_SEC = 0x01300000,
USINGDECL_SEC = 0x01400000, USINGDECL_SEC = 0x01400000,
PACKAGE_SEC = 0x01500000 PACKAGE_SEC = 0x01500000,
ADDGRPDOC_SEC = 0x01600000
}; };
enum MemberSpecifier enum MemberSpecifier
{ {
......
...@@ -357,7 +357,7 @@ void GroupDef::writeDocumentation(OutputList &ol) ...@@ -357,7 +357,7 @@ void GroupDef::writeDocumentation(OutputList &ol)
if (fileList->count()>0) if (fileList->count()>0)
{ {
ol.startMemberHeader(); ol.startMemberHeader();
parseText(ol,theTranslator->trFiles()); parseText(ol,theTranslator->trFile(TRUE,FALSE));
ol.endMemberHeader(); ol.endMemberHeader();
ol.startMemberList(); ol.startMemberList();
FileDef *fd=fileList->first(); FileDef *fd=fileList->first();
......
...@@ -2350,14 +2350,18 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd,bool subLevel) ...@@ -2350,14 +2350,18 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd,bool subLevel)
{ {
if(htmlHelp) if(htmlHelp)
{ {
htmlHelp->addContentsItem(TRUE, convertToHtml(theTranslator->trFiles()), gd->getOutputFileBase(), 0); htmlHelp->addContentsItem(TRUE,
convertToHtml(theTranslator->trFile(TRUE,FALSE)),
gd->getOutputFileBase(), 0);
htmlHelp->incContentsDepth(); htmlHelp->incContentsDepth();
} }
if(ftvHelp) 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(); ftvHelp->incContentsDepth();
} }
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include "message.h" #include "message.h"
#include "language.h" #include "language.h"
#include "translator_en.h"
#if !defined(ENGLISH_ONLY) #if !defined(ENGLISH_ONLY)
#include "translator_nl.h" #include "translator_nl.h"
#include "translator_se.h" #include "translator_se.h"
...@@ -48,7 +49,7 @@ bool setTranslator(const char *langName) ...@@ -48,7 +49,7 @@ bool setTranslator(const char *langName)
{ {
if (L_EQUAL("english")) if (L_EQUAL("english"))
{ {
theTranslator=new Translator; theTranslator=new TranslatorEnglish;
} }
#if !defined(ENGLISH_ONLY) #if !defined(ENGLISH_ONLY)
else if (L_EQUAL("dutch")) else if (L_EQUAL("dutch"))
...@@ -134,8 +135,11 @@ bool setTranslator(const char *langName) ...@@ -134,8 +135,11 @@ bool setTranslator(const char *langName)
#endif #endif
else // use the default language (i.e. english) else // use the default language (i.e. english)
{ {
theTranslator=new Translator; theTranslator=new TranslatorEnglish;
return FALSE; return FALSE;
} }
QCString msg = theTranslator->updateNeededMessage();
if (!msg.isEmpty()) warn_cont(msg);
return TRUE; return TRUE;
} }
...@@ -249,21 +249,10 @@ static void writeDefaultHeaderPart1(QTextStream &t) ...@@ -249,21 +249,10 @@ static void writeDefaultHeaderPart1(QTextStream &t)
if (!sLanguageSupportCommand.isEmpty()) if (!sLanguageSupportCommand.isEmpty())
{ {
// The command is not empty. The language does // The command is not empty. Put it to the output.
// not want to use the babel package. Use this // if the command is empty, no output is needed.
// command instead.
t << sLanguageSupportCommand; 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"); QStrList &extraPackages = Config_getList("EXTRA_PACKAGES");
const char *s=extraPackages.first(); const char *s=extraPackages.first();
...@@ -280,7 +269,6 @@ static void writeDefaultHeaderPart1(QTextStream &t) ...@@ -280,7 +269,6 @@ static void writeDefaultHeaderPart1(QTextStream &t)
"\\vspace*{7cm}\n" "\\vspace*{7cm}\n"
"\\begin{center}\n" "\\begin{center}\n"
"{\\Large "; "{\\Large ";
} }
static void writeDefaultHeaderPart2(QTextStream &t) static void writeDefaultHeaderPart2(QTextStream &t)
......
...@@ -16,30 +16,135 @@ ...@@ -16,30 +16,135 @@
TEMPLATE = libdoxygen.t TEMPLATE = libdoxygen.t
CONFIG = console warn_on staticlib $extraopts CONFIG = console warn_on staticlib $extraopts
HEADERS = doxygen.h scanner.h doc.h classdef.h classlist.h memberdef.h \ HEADERS = bufstr.h \
membername.h index.h memberlist.h definition.h \ classdef.h \
entry.h logos.h instdox.h message.h code.h \ classlist.h \
filedef.h util.h cppvalue.h constexp.h \ code.h \
outputgen.h outputlist.h htmlgen.h latexgen.h \ config.h \
filename.h defargs.h groupdef.h gifenc.h diagram.h image.h \ constexp.h \
namespacedef.h version.h language.h translator.h \ cppvalue.h \
translator_nl.h translator_se.h translator_cz.h translator_fr.h \ debug.h \
translator_it.h formula.h debug.h membergroup.h htmlhelp.h \ doxygen.h \
translator_ru.h translator_pl.h dot.h rtfgen.h \ scanner.h \
reflist.h page.h sortdict.h translator_hu.h translator_kr.h \ doc.h \
translator_ro.h translator_si.h translator_cn.h ftvhelp.h \ dot.h \
treeview.h tagreader.h packagedef.h doxygen.h \
SOURCES = doxygen.cpp scanner.cpp doc.cpp classdef.cpp classlist.cpp \ entry.h \
memberdef.cpp membername.cpp index.cpp memberlist.cpp \ example.h \
entry.cpp logos.cpp instdox.cpp message.cpp code.cpp \ filedef.h \
filedef.cpp util.cpp groupdef.cpp \ filename.h \
outputgen.cpp outputlist.cpp htmlgen.cpp latexgen.cpp mangen.cpp \ formula.h \
cppvalue.cpp ce_lex.cpp ce_parse.cpp pre.cpp \ ftvhelp.h \
filename.cpp declinfo.cpp defargs.cpp define.cpp \ gifenc.h \
diagram.cpp gifenc.cpp image.cpp namespacedef.cpp \ groupdef.h \
version.cpp language.cpp definition.cpp formula.cpp debug.cpp \ htmlgen.h \
membergroup.cpp htmlhelp.cpp dot.cpp rtfgen.cpp \ htmlhelp.h \
reflist.cpp ftvhelp.cpp tagreader.cpp packagedef.cpp 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 win32:TMAKE_CXXFLAGS += -DQT_NODLL
INCLUDEPATH += ../qtools INCLUDEPATH += ../qtools
win32:INCLUDEPATH += . win32:INCLUDEPATH += .
......
...@@ -15,6 +15,9 @@ ...@@ -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 <stdlib.h>
#include "qtbc.h" #include "qtbc.h"
...@@ -187,14 +190,14 @@ void ManGenerator::writeMailLink(const char *url) ...@@ -187,14 +190,14 @@ void ManGenerator::writeMailLink(const char *url)
void ManGenerator::startGroupHeader() void ManGenerator::startGroupHeader()
{ {
if (!firstCol) t << endl; if (!firstCol) t << endl;
t << ".SH "; t << ".SH \"";
upperCase=TRUE; upperCase=TRUE;
firstCol=FALSE; firstCol=FALSE;
} }
void ManGenerator::endGroupHeader() void ManGenerator::endGroupHeader()
{ {
t << "\n.PP " << endl; t << "\"\n.PP " << endl;
firstCol=TRUE; firstCol=TRUE;
paragraph=TRUE; paragraph=TRUE;
upperCase=FALSE; upperCase=FALSE;
...@@ -203,12 +206,12 @@ void ManGenerator::endGroupHeader() ...@@ -203,12 +206,12 @@ void ManGenerator::endGroupHeader()
void ManGenerator::startMemberHeader() void ManGenerator::startMemberHeader()
{ {
if (!firstCol) t << endl; if (!firstCol) t << endl;
t << ".SS "; t << ".SS \"";
} }
void ManGenerator::endMemberHeader() void ManGenerator::endMemberHeader()
{ {
t << "\n"; t << "\"\n";
firstCol=TRUE; firstCol=TRUE;
paragraph=FALSE; paragraph=FALSE;
} }
...@@ -225,6 +228,7 @@ void ManGenerator::docify(const char *str) ...@@ -225,6 +228,7 @@ void ManGenerator::docify(const char *str)
{ {
case '\\': t << "\\\\"; col++; break; case '\\': t << "\\\\"; col++; break;
case '\n': t << "\n"; col=0; break; case '\n': t << "\n"; col=0; break;
case '\"': c = '\''; // no break!
default: t << c; col++; break; default: t << c; col++; break;
} }
} }
...@@ -254,6 +258,7 @@ void ManGenerator::codify(const char *str) ...@@ -254,6 +258,7 @@ void ManGenerator::codify(const char *str)
break; break;
case '\n': t << "\n"; firstCol=TRUE; col=0; break; case '\n': t << "\n"; firstCol=TRUE; col=0; break;
case '\\': t << "\\"; col++; break; case '\\': t << "\\"; col++; break;
case '\"': c = '\''; // no break!
default: t << c; firstCol=FALSE; col++; break; default: t << c; firstCol=FALSE; col++; break;
} }
} }
...@@ -269,6 +274,7 @@ void ManGenerator::writeChar(char c) ...@@ -269,6 +274,7 @@ void ManGenerator::writeChar(char c)
switch (c) switch (c)
{ {
case '\\': t << "\\\\"; break; case '\\': t << "\\\\"; break;
case '\"': c = '\''; // no break!
default: t << c; break; default: t << c; break;
} }
//printf("%c",c);fflush(stdout); //printf("%c",c);fflush(stdout);
...@@ -288,11 +294,16 @@ void ManGenerator::startDescList() ...@@ -288,11 +294,16 @@ void ManGenerator::startDescList()
void ManGenerator::startTitle() void ManGenerator::startTitle()
{ {
if (!firstCol) t << endl; if (!firstCol) t << endl;
t << ".SH "; t << ".SH \"";
firstCol=FALSE; firstCol=FALSE;
paragraph=FALSE; paragraph=FALSE;
} }
void ManGenerator::endTitle()
{
t << "\"";
}
void ManGenerator::writeListItem() void ManGenerator::writeListItem()
{ {
if (!firstCol) t << endl; if (!firstCol) t << endl;
...@@ -322,27 +333,43 @@ void ManGenerator::endCodeFragment() ...@@ -322,27 +333,43 @@ void ManGenerator::endCodeFragment()
void ManGenerator::startMemberDoc(const char *,const char *,const char *,const char *) void ManGenerator::startMemberDoc(const char *,const char *,const char *,const char *)
{ {
if (!firstCol) t << endl; if (!firstCol) t << endl;
t << ".SS "; t << ".SS \"";
firstCol=FALSE; firstCol=FALSE;
paragraph=FALSE; paragraph=FALSE;
} }
void ManGenerator::endMemberDoc()
{
t << "\"";
}
void ManGenerator::startSubsection() void ManGenerator::startSubsection()
{ {
if (!firstCol) t << endl; if (!firstCol) t << endl;
t << ".SS "; t << ".SS \"";
firstCol=FALSE; firstCol=FALSE;
paragraph=FALSE; paragraph=FALSE;
} }
void ManGenerator::endSubsection()
{
t << "\"";
}
void ManGenerator::startSubsubsection() void ManGenerator::startSubsubsection()
{ {
if (!firstCol) t << endl; if (!firstCol) t << endl;
t << "\n.SS "; t << "\n.SS \"";
firstCol=FALSE; firstCol=FALSE;
paragraph=FALSE; paragraph=FALSE;
} }
void ManGenerator::endSubsubsection()
{
t << "\"";
}
void ManGenerator::writeSynopsis() void ManGenerator::writeSynopsis()
{ {
if (!firstCol) t << endl; if (!firstCol) t << endl;
...@@ -420,7 +447,7 @@ void ManGenerator::startMemberGroupHeader(bool) ...@@ -420,7 +447,7 @@ void ManGenerator::startMemberGroupHeader(bool)
void ManGenerator::endMemberGroupHeader() void ManGenerator::endMemberGroupHeader()
{ {
t << "\\fR\"\n.br\n"; t << "\\fP\"\n.br\n";
firstCol=TRUE; firstCol=TRUE;
} }
......
...@@ -54,16 +54,16 @@ class ManGenerator : public OutputGenerator ...@@ -54,16 +54,16 @@ class ManGenerator : public OutputGenerator
void startTitleHead(const char *) {} void startTitleHead(const char *) {}
void endTitleHead(const char *,const char *); void endTitleHead(const char *,const char *);
void startTitle(); void startTitle();
void endTitle() {} void endTitle();
void newParagraph(); void newParagraph();
void writeString(const char *text); void writeString(const char *text);
void startIndexList() {} void startIndexList() {}
void endIndexList() {} void endIndexList() { newParagraph(); }
void startItemList() {} void startItemList() {}
void endItemList() {} void endItemList() { newParagraph(); }
void startEnumList() {} void startEnumList() {}
void endEnumList() {} void endEnumList() { newParagraph(); }
void startAlphabeticalIndexList() {} void startAlphabeticalIndexList() {}
void endAlphabeticalIndexList() {} void endAlphabeticalIndexList() {}
void writeIndexHeading(const char *) {} void writeIndexHeading(const char *) {}
...@@ -80,7 +80,7 @@ class ManGenerator : public OutputGenerator ...@@ -80,7 +80,7 @@ class ManGenerator : public OutputGenerator
void endHtmlLink(); void endHtmlLink();
void writeMailLink(const char *url); void writeMailLink(const char *url);
void startTypewriter() { t << "\\fC"; firstCol=FALSE; } void startTypewriter() { t << "\\fC"; firstCol=FALSE; }
void endTypewriter() { t << "\\fR"; firstCol=FALSE; } void endTypewriter() { t << "\\fP"; firstCol=FALSE; }
void startGroupHeader(); void startGroupHeader();
void endGroupHeader(); void endGroupHeader();
void startMemberSections() {} void startMemberSections() {}
...@@ -112,11 +112,11 @@ class ManGenerator : public OutputGenerator ...@@ -112,11 +112,11 @@ class ManGenerator : public OutputGenerator
void startCodeLine() {} void startCodeLine() {}
void endCodeLine() { codify("\n"); col=0; } void endCodeLine() { codify("\n"); col=0; }
//void writeBoldString(const char *text) //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 startEmphasis() { t << "\\fI"; firstCol=FALSE; }
void endEmphasis() { t << "\\fR"; firstCol=FALSE; } void endEmphasis() { t << "\\fP"; firstCol=FALSE; }
void startBold() { t << "\\fB"; firstCol=FALSE; } void startBold() { t << "\\fB"; firstCol=FALSE; }
void endBold() { t << "\\fR"; firstCol=FALSE; } void endBold() { t << "\\fP"; firstCol=FALSE; }
void startDescription() {} void startDescription() {}
void endDescription() {} void endDescription() {}
void startDescItem(); void startDescItem();
...@@ -124,7 +124,7 @@ class ManGenerator : public OutputGenerator ...@@ -124,7 +124,7 @@ class ManGenerator : public OutputGenerator
void lineBreak() { t << "\n.br" << endl; } void lineBreak() { t << "\n.br" << endl; }
void writeChar(char c); void writeChar(char c);
void startMemberDoc(const char *,const char *,const char *,const char *); void startMemberDoc(const char *,const char *,const char *,const char *);
void endMemberDoc() {} void endMemberDoc();
void startDoxyAnchor(const char *,const char *,const char *) {} void startDoxyAnchor(const char *,const char *,const char *) {}
void endDoxyAnchor(const char *,const char *) {} void endDoxyAnchor(const char *,const char *) {}
void startCodeAnchor(const char *) {} void startCodeAnchor(const char *) {}
...@@ -135,9 +135,9 @@ class ManGenerator : public OutputGenerator ...@@ -135,9 +135,9 @@ class ManGenerator : public OutputGenerator
const char *path,const char *name); const char *path,const char *name);
void writeEndAnnoItem(const char *) { t << endl; firstCol=TRUE; } void writeEndAnnoItem(const char *) { t << endl; firstCol=TRUE; }
void startSubsection(); void startSubsection();
void endSubsection() {} void endSubsection();
void startSubsubsection(); void startSubsubsection();
void endSubsubsection() {} void endSubsubsection();
void startCenter() {} void startCenter() {}
void endCenter() {} void endCenter() {}
void startSmall() {} void startSmall() {}
...@@ -153,7 +153,7 @@ class ManGenerator : public OutputGenerator ...@@ -153,7 +153,7 @@ class ManGenerator : public OutputGenerator
void nextTableColumn() {} void nextTableColumn() {}
void endTableColumn() {} void endTableColumn() {}
void writeCopyright() { t << "(c)"; firstCol=FALSE; } 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 writeUmlaut(char c) { t << c << "\\*'"; firstCol=FALSE; }
void writeAcute(char c) { t << c << "\\*`"; firstCol=FALSE; } void writeAcute(char c) { t << c << "\\*`"; firstCol=FALSE; }
void writeGrave(char c) { t << c << "\\*:"; firstCol=FALSE; } void writeGrave(char c) { t << c << "\\*:"; firstCol=FALSE; }
...@@ -168,7 +168,7 @@ class ManGenerator : public OutputGenerator ...@@ -168,7 +168,7 @@ class ManGenerator : public OutputGenerator
void writeCCedil(char c) { t << c; /* TODO: fix this */ void writeCCedil(char c) { t << c; /* TODO: fix this */
firstCol=FALSE; } firstCol=FALSE; }
void startMemberDescription() { t << "\n.RI \"\\fI"; 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 startDescList();
void endDescList() {} void endDescList() {}
void startParamList() { startDescList(); } void startParamList() { startDescList(); }
......
...@@ -474,6 +474,7 @@ TITLE [tT][iI][tT][lL][eE] ...@@ -474,6 +474,7 @@ TITLE [tT][iI][tT][lL][eE]
%x DocBaseClass %x DocBaseClass
%x CppQuote %x CppQuote
%x EndCppQuote %x EndCppQuote
%x AddGroupDocArg1
%x GroupDocArg1 %x GroupDocArg1
%x GroupDocArg2 %x GroupDocArg2
%x GroupName %x GroupName
...@@ -2686,6 +2687,12 @@ TITLE [tT][iI][tT][lL][eE] ...@@ -2686,6 +2687,12 @@ TITLE [tT][iI][tT][lL][eE]
current->startLine = yyLineNr; current->startLine = yyLineNr;
BEGIN( GroupDocArg1 ); 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}+ { <Doc,JavaDoc>{B}*{CMD}"namespace"{B}+ {
current->section = Entry::NAMESPACEDOC_SEC; current->section = Entry::NAMESPACEDOC_SEC;
current->fileName = yyFileName; current->fileName = yyFileName;
...@@ -2940,6 +2947,27 @@ TITLE [tT][iI][tT][lL][eE] ...@@ -2940,6 +2947,27 @@ TITLE [tT][iI][tT][lL][eE]
yyLineNr++; 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"?) { <GroupDocArg1>{ID}(".html"?) {
current->name = yytext; current->name = yytext;
lastDefGroup = yytext; lastDefGroup = yytext;
...@@ -3213,7 +3241,9 @@ TITLE [tT][iI][tT][lL][eE] ...@@ -3213,7 +3241,9 @@ TITLE [tT][iI][tT][lL][eE]
BEGIN( GroupName ); BEGIN( GroupName );
} }
<ClassDoc,Doc,JavaDoc>{CMD}"{" { <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)); autoGroupNameStack.push(new QCString(current->name));
} }
...@@ -3636,9 +3666,12 @@ TITLE [tT][iI][tT][lL][eE] ...@@ -3636,9 +3666,12 @@ TITLE [tT][iI][tT][lL][eE]
unput('/');unput('*'); unput('/');unput('*');
BEGIN( tmpDocType ); 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; 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}*)?)"*"+/[^/]
<Doc,JavaDoc,ClassDoc,PageDoc,ExampleDoc,ReadFormulaShort,ReadFormulaLong,ClassDocBrief,AfterDoc,AfterDocBrief>^{B}*(("//"{B}*)?)"*"+{B}+ { <Doc,JavaDoc,ClassDoc,PageDoc,ExampleDoc,ReadFormulaShort,ReadFormulaLong,ClassDocBrief,AfterDoc,AfterDocBrief>^{B}*(("//"{B}*)?)"*"+{B}+ {
current->doc+=' '; current->doc+=' ';
......
...@@ -28,13 +28,19 @@ class Translator ...@@ -28,13 +28,19 @@ class Translator
protected: protected:
/*! Returns the string converted from windows-1250 to iso-8859-2. */ /*! Returns the string converted from windows-1250 to iso-8859-2. */
/* The method was designed initially for translator_cz.h. /* The method was designed initially for translator_cz.h.
It is used for on-line encoding conversion related to conditional * It is used for on-line encoding conversion related to
compilation in Unix/MS Windows environments (both use different * conditional compilation in Unix/MS Windows environments
encoding). Later, the translator_hr.h (by Boris Bralo) used and * (both use different encoding). Later, the translator_hr.h
improved the same style. As the method with the translation table * (by Boris Bralo) used and improved the same style. As the
was the same, the decision to move it to this base class was made. * method with the translation table was the same, the
The same holds for ISO88592ToWin1250() method. It is recommended * decision to move it to this base class was made. The same
for possibly other similar methods in future. * 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) QCString Win1250ToISO88592(const QCString & sInput)
{ {
...@@ -107,10 +113,97 @@ class Translator ...@@ -107,10 +113,97 @@ class Translator
return result; 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: 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 /*! Used for identification of the language. May resemble
* the string returned by latexBabelPackage(), but it is not used * the string returned by latexBabelPackage(), but it is not used
...@@ -119,578 +212,330 @@ class Translator ...@@ -119,578 +212,330 @@ class Translator
* (e.g. Czech, Japanese, Russian, etc.). It should be equal to * (e.g. Czech, Japanese, Russian, etc.). It should be equal to
* the identification in language.cpp. * the identification in language.cpp.
*/ */
virtual QCString idLanguage() virtual QCString idLanguage() = 0;
{ return "english"; }
/*! Used to get the command(s) for the language support. This method /*! Used to get the command(s) for the language support. This method
* was designed for languages which do not prefer babel package. * was designed for languages which do not prefer babel package.
* If this methods returns empty string, then the latexBabelPackage() * If this methods returns empty string, then the latexBabelPackage()
* method is used to generate the command for using the babel package. * method is used to generate the command for using the babel package.
*/ */
virtual QCString latexLanguageSupportCommand() virtual QCString latexLanguageSupportCommand() = 0;
{
return "";
}
/*! returns the name of the package that is included by LaTeX */
virtual QCString latexBabelPackage()
{ return ""; }
/*! return the language charset. This will be used for the HTML output */ /*! return the language charset. This will be used for the HTML output */
virtual QCString idLanguageCharset() virtual QCString idLanguageCharset() = 0;
{
return "iso-8859-1";
}
// --- Language translation methods ------------------- // --- Language translation methods -------------------
/*! used in the compound documentation before a list of related functions. */ /*! used in the compound documentation before a list of related functions. */
virtual QCString trRelatedFunctions() virtual QCString trRelatedFunctions() = 0;
{ return "Related Functions"; }
/*! subscript for the related functions. */ /*! subscript for the related functions. */
virtual QCString trRelatedSubscript() virtual QCString trRelatedSubscript() = 0;
{ return "(Note that these are not member functions.)"; }
/*! header that is put before the detailed description of files, classes and namespaces. */ /*! header that is put before the detailed description of files, classes and namespaces. */
virtual QCString trDetailedDescription() virtual QCString trDetailedDescription() = 0;
{ return "Detailed Description"; }
/*! header that is put before the list of typedefs. */ /*! header that is put before the list of typedefs. */
virtual QCString trMemberTypedefDocumentation() virtual QCString trMemberTypedefDocumentation() = 0;
{ return "Member Typedef Documentation"; }
/*! header that is put before the list of enumerations. */ /*! header that is put before the list of enumerations. */
virtual QCString trMemberEnumerationDocumentation() virtual QCString trMemberEnumerationDocumentation() = 0;
{ return "Member Enumeration Documentation"; }
/*! header that is put before the list of member functions. */ /*! header that is put before the list of member functions. */
virtual QCString trMemberFunctionDocumentation() virtual QCString trMemberFunctionDocumentation() = 0;
{ return "Member Function Documentation"; }
/*! header that is put before the list of member attributes. */ /*! header that is put before the list of member attributes. */
virtual QCString trMemberDataDocumentation() virtual QCString trMemberDataDocumentation() = 0;
{
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. */ /*! this is the text of a link put after brief descriptions. */
virtual QCString trMore() virtual QCString trMore() = 0;
{ return "More..."; }
/*! put in the class documentation */ /*! put in the class documentation */
virtual QCString trListOfAllMembers() virtual QCString trListOfAllMembers() = 0;
{ return "List of all members."; }
/*! used as the title of the "list of all members" page of a class */ /*! used as the title of the "list of all members" page of a class */
virtual QCString trMemberList() virtual QCString trMemberList() = 0;
{ return "Member List"; }
/*! this is the first part of a sentence that is followed by a class name */ /*! this is the first part of a sentence that is followed by a class name */
virtual QCString trThisIsTheListOfAllMembers() virtual QCString trThisIsTheListOfAllMembers() = 0;
{ return "This is the complete list of members for "; }
/*! this is the remainder of the sentence after the class name */ /*! this is the remainder of the sentence after the class name */
virtual QCString trIncludingInheritedMembers() virtual QCString trIncludingInheritedMembers() = 0;
{ return ", including all inherited members."; }
/*! this is put at the author sections at the bottom of man pages. /*! this is put at the author sections at the bottom of man pages.
* parameter s is name of the project name. * parameter s is name of the project name.
*/ */
virtual QCString trGeneratedAutomatically(const char *s) virtual QCString trGeneratedAutomatically(const char *s) = 0;
{ 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 */ /*! put after an enum name in the list of all members */
virtual QCString trEnumName() virtual QCString trEnumName() = 0;
{ return "enum name"; }
/*! put after an enum value in the list of all members */ /*! put after an enum value in the list of all members */
virtual QCString trEnumValue() virtual QCString trEnumValue() = 0;
{ return "enum value"; }
/*! put after an undocumented member in the list of all members */ /*! put after an undocumented member in the list of all members */
virtual QCString trDefinedIn() virtual QCString trDefinedIn() = 0;
{ return "defined in"; }
// 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 // quick reference sections
/*! This is put above each page as a link to the list of all groups of /*! This is put above each page as a link to the list of all groups of
* compounds or files (see the \\group command). * compounds or files (see the \\group command).
*/ */
virtual QCString trModules() virtual QCString trModules() = 0;
{ return "Modules"; }
/*! This is put above each page as a link to the class hierarchy */ /*! This is put above each page as a link to the class hierarchy */
virtual QCString trClassHierarchy() virtual QCString trClassHierarchy() = 0;
{ return "Class Hierarchy"; }
/*! This is put above each page as a link to the list of annotated classes */ /*! This is put above each page as a link to the list of annotated classes */
virtual QCString trCompoundList() virtual QCString trCompoundList() = 0;
{
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 */ /*! This is put above each page as a link to the list of documented files */
virtual QCString trFileList() virtual QCString trFileList() = 0;
{ return "File List"; }
/*! This is put above each page as a link to the list of all verbatim headers */ /*! This is put above each page as a link to the list of all verbatim headers */
virtual QCString trHeaderFiles() virtual QCString trHeaderFiles() = 0;
{ return "Header Files"; }
/*! This is put above each page as a link to all members of compounds. */ /*! This is put above each page as a link to all members of compounds. */
virtual QCString trCompoundMembers() virtual QCString trCompoundMembers() = 0;
{
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. */ /*! This is put above each page as a link to all members of files. */
virtual QCString trFileMembers() virtual QCString trFileMembers() = 0;
{
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. */ /*! This is put above each page as a link to all related pages. */
virtual QCString trRelatedPages() virtual QCString trRelatedPages() = 0;
{ return "Related Pages"; }
/*! This is put above each page as a link to all examples. */ /*! This is put above each page as a link to all examples. */
virtual QCString trExamples() virtual QCString trExamples() = 0;
{ return "Examples"; }
/*! This is put above each page as a link to the search engine. */ /*! This is put above each page as a link to the search engine. */
virtual QCString trSearch() virtual QCString trSearch() = 0;
{ return "Search"; }
/*! This is an introduction to the class hierarchy. */ /*! This is an introduction to the class hierarchy. */
virtual QCString trClassHierarchyDescription() virtual QCString trClassHierarchyDescription() = 0;
{ return "This inheritance list is sorted roughly, "
"but not completely, alphabetically:";
}
/*! This is an introduction to the list with all files. */ /*! This is an introduction to the list with all files. */
virtual QCString trFileListDescription(bool extractAll) virtual QCString trFileListDescription(bool extractAll) = 0;
{
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. */ /*! This is an introduction to the annotated compound list. */
virtual QCString trCompoundListDescription() virtual QCString trCompoundListDescription() = 0;
{
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. */ /*! This is an introduction to the page with all class members. */
virtual QCString trCompoundMembersDescription(bool extractAll) virtual QCString trCompoundMembersDescription(bool extractAll) = 0;
{
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. */ /*! This is an introduction to the page with all file members. */
virtual QCString trFileMembersDescription(bool extractAll) virtual QCString trFileMembersDescription(bool extractAll) = 0;
{
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. */ /*! This is an introduction to the page with the list of all header files. */
virtual QCString trHeaderFilesDescription() virtual QCString trHeaderFilesDescription() = 0;
{ return "Here are the header files that make up the API:"; }
/*! This is an introduction to the page with the list of all examples */ /*! This is an introduction to the page with the list of all examples */
virtual QCString trExamplesDescription() virtual QCString trExamplesDescription() = 0;
{ return "Here is a list of all examples:"; }
/*! This is an introduction to the page with the list of related pages */ /*! This is an introduction to the page with the list of related pages */
virtual QCString trRelatedPagesDescription() virtual QCString trRelatedPagesDescription() = 0;
{ return "Here is a list of all related documentation pages:"; }
/*! This is an introduction to the page with the list of class/file groups */ /*! This is an introduction to the page with the list of class/file groups */
virtual QCString trModulesDescription() virtual QCString trModulesDescription() = 0;
{ return "Here is a list of all modules:"; }
/*! This sentences is used in the annotated class/file lists if no brief /*! This sentences is used in the annotated class/file lists if no brief
* description is given. * description is given.
*/ */
virtual QCString trNoDescriptionAvailable() virtual QCString trNoDescriptionAvailable() = 0;
{ return "No description available"; }
// index titles (the project name is prepended for these) // index titles (the project name is prepended for these)
/*! This is used in HTML as the title of index.html. */ /*! This is used in HTML as the title of index.html. */
virtual QCString trDocumentation() virtual QCString trDocumentation() = 0;
{ return "Documentation"; }
/*! This is used in LaTeX as the title of the chapter with the /*! This is used in LaTeX as the title of the chapter with the
* index of all groups. * index of all groups.
*/ */
virtual QCString trModuleIndex() virtual QCString trModuleIndex() = 0;
{ return "Module Index"; }
/*! This is used in LaTeX as the title of the chapter with the /*! This is used in LaTeX as the title of the chapter with the
* class hierarchy. * class hierarchy.
*/ */
virtual QCString trHierarchicalIndex() virtual QCString trHierarchicalIndex() = 0;
{ return "Hierarchical Index"; }
/*! This is used in LaTeX as the title of the chapter with the /*! This is used in LaTeX as the title of the chapter with the
* annotated compound index. * annotated compound index.
*/ */
virtual QCString trCompoundIndex() virtual QCString trCompoundIndex() = 0;
{
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 /*! This is used in LaTeX as the title of the chapter with the
* list of all files. * list of all files.
*/ */
virtual QCString trFileIndex() virtual QCString trFileIndex() = 0;
{ return "File Index"; }
/*! This is used in LaTeX as the title of the chapter containing /*! This is used in LaTeX as the title of the chapter containing
* the documentation of all groups. * the documentation of all groups.
*/ */
virtual QCString trModuleDocumentation() virtual QCString trModuleDocumentation() = 0;
{ return "Module Documentation"; }
/*! This is used in LaTeX as the title of the chapter containing /*! This is used in LaTeX as the title of the chapter containing
* the documentation of all classes, structs and unions. * the documentation of all classes, structs and unions.
*/ */
virtual QCString trClassDocumentation() virtual QCString trClassDocumentation() = 0;
{ return "Class Documentation"; }
/*! This is used in LaTeX as the title of the chapter containing /*! This is used in LaTeX as the title of the chapter containing
* the documentation of all files. * the documentation of all files.
*/ */
virtual QCString trFileDocumentation() virtual QCString trFileDocumentation() = 0;
{ return "File Documentation"; }
/*! This is used in LaTeX as the title of the chapter containing /*! This is used in LaTeX as the title of the chapter containing
* the documentation of all examples. * the documentation of all examples.
*/ */
virtual QCString trExampleDocumentation() virtual QCString trExampleDocumentation() = 0;
{ return "Example Documentation"; }
/*! This is used in LaTeX as the title of the chapter containing /*! This is used in LaTeX as the title of the chapter containing
* the documentation of all related pages. * the documentation of all related pages.
*/ */
virtual QCString trPageDocumentation() virtual QCString trPageDocumentation() = 0;
{ return "Page Documentation"; }
/*! This is used in LaTeX as the title of the document */ /*! This is used in LaTeX as the title of the document */
virtual QCString trReferenceManual() virtual QCString trReferenceManual() = 0;
{ return "Reference Manual"; }
/*! This is used in the documentation of a file as a header before the /*! This is used in the documentation of a file as a header before the
* list of defines * list of defines
*/ */
virtual QCString trDefines() virtual QCString trDefines() = 0;
{ return "Defines"; }
/*! This is used in the documentation of a file as a header before the /*! This is used in the documentation of a file as a header before the
* list of function prototypes * list of function prototypes
*/ */
virtual QCString trFuncProtos() virtual QCString trFuncProtos() = 0;
{ return "Function Prototypes"; }
/*! This is used in the documentation of a file as a header before the /*! This is used in the documentation of a file as a header before the
* list of typedefs * list of typedefs
*/ */
virtual QCString trTypedefs() virtual QCString trTypedefs() = 0;
{ return "Typedefs"; }
/*! This is used in the documentation of a file as a header before the /*! This is used in the documentation of a file as a header before the
* list of enumerations * list of enumerations
*/ */
virtual QCString trEnumerations() virtual QCString trEnumerations() = 0;
{ return "Enumerations"; }
/*! This is used in the documentation of a file as a header before the /*! This is used in the documentation of a file as a header before the
* list of (global) functions * list of (global) functions
*/ */
virtual QCString trFunctions() virtual QCString trFunctions() = 0;
{ return "Functions"; }
/*! This is used in the documentation of a file as a header before the /*! This is used in the documentation of a file as a header before the
* list of (global) variables * list of (global) variables
*/ */
virtual QCString trVariables() virtual QCString trVariables() = 0;
{ return "Variables"; }
/*! This is used in the documentation of a file as a header before the /*! This is used in the documentation of a file as a header before the
* list of (global) variables * list of (global) variables
*/ */
virtual QCString trEnumerationValues() virtual QCString trEnumerationValues() = 0;
{ return "Enumeration values"; }
/*! This is used in man pages as the author section. */ /*! This is used in man pages as the author section. */
virtual QCString trAuthor() virtual QCString trAuthor() = 0;
{ return "Author"; }
/*! This is used in the documentation of a file before the list of /*! This is used in the documentation of a file before the list of
* documentation blocks for defines * documentation blocks for defines
*/ */
virtual QCString trDefineDocumentation() virtual QCString trDefineDocumentation() = 0;
{ return "Define Documentation"; }
/*! This is used in the documentation of a file/namespace before the list /*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for function prototypes * of documentation blocks for function prototypes
*/ */
virtual QCString trFunctionPrototypeDocumentation() virtual QCString trFunctionPrototypeDocumentation() = 0;
{ return "Function Prototype Documentation"; }
/*! This is used in the documentation of a file/namespace before the list /*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for typedefs * of documentation blocks for typedefs
*/ */
virtual QCString trTypedefDocumentation() virtual QCString trTypedefDocumentation() = 0;
{ return "Typedef Documentation"; }
/*! This is used in the documentation of a file/namespace before the list /*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration types * of documentation blocks for enumeration types
*/ */
virtual QCString trEnumerationTypeDocumentation() virtual QCString trEnumerationTypeDocumentation() = 0;
{ return "Enumeration Type Documentation"; }
/*! This is used in the documentation of a file/namespace before the list /*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration values * of documentation blocks for enumeration values
*/ */
virtual QCString trEnumerationValueDocumentation() virtual QCString trEnumerationValueDocumentation() = 0;
{ return "Enumeration Value Documentation"; }
/*! This is used in the documentation of a file/namespace before the list /*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for functions * of documentation blocks for functions
*/ */
virtual QCString trFunctionDocumentation() virtual QCString trFunctionDocumentation() = 0;
{ return "Function Documentation"; }
/*! This is used in the documentation of a file/namespace before the list /*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for variables * of documentation blocks for variables
*/ */
virtual QCString trVariableDocumentation() virtual QCString trVariableDocumentation() = 0;
{ return "Variable Documentation"; }
/*! This is used in the documentation of a file/namespace/group before /*! This is used in the documentation of a file/namespace/group before
* the list of links to documented compounds * the list of links to documented compounds
*/ */
virtual QCString trCompounds() virtual QCString trCompounds() = 0;
{
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"; }
/*! This is used in the standard footer of each page and indicates when /*! This is used in the standard footer of each page and indicates when
* the page was generated * the page was generated
*/ */
virtual QCString trGeneratedAt(const char *date,const char *projName) virtual QCString trGeneratedAt(const char *date,const char *projName) = 0;
{
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. /*! This is part of the sentence used in the standard footer of each page.
*/ */
virtual QCString trWrittenBy() virtual QCString trWrittenBy() = 0;
{
return "written by";
}
/*! this text is put before a class diagram */ /*! this text is put before a class diagram */
virtual QCString trClassDiagram(const char *clName) virtual QCString trClassDiagram(const char *clName) = 0;
{
return (QCString)"Inheritance diagram for "+clName+":";
}
/*! this text is generated when the \\internal command is used. */ /*! this text is generated when the \\internal command is used. */
virtual QCString trForInternalUseOnly() virtual QCString trForInternalUseOnly() = 0;
{ return "For internal use only."; }
/*! this text is generated when the \\reimp command is used. */ /*! this text is generated when the \\reimp command is used. */
virtual QCString trReimplementedForInternalReasons() virtual QCString trReimplementedForInternalReasons() = 0;
{ return "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. */
virtual QCString trWarning() virtual QCString trWarning() = 0;
{ return "Warning"; }
/*! this text is generated when the \\bug command is used. */ /*! this text is generated when the \\bug command is used. */
virtual QCString trBugsAndLimitations() virtual QCString trBugsAndLimitations() = 0;
{ return "Bugs and limitations"; }
/*! this text is generated when the \\version command is used. */ /*! this text is generated when the \\version command is used. */
virtual QCString trVersion() virtual QCString trVersion() = 0;
{ return "Version"; }
/*! this text is generated when the \\date command is used. */ /*! this text is generated when the \\date command is used. */
virtual QCString trDate() virtual QCString trDate() = 0;
{ return "Date"; }
/*! this text is generated when the \\author command is used. */ /*! this text is generated when the \\author command is used. */
virtual QCString trAuthors() virtual QCString trAuthors() = 0;
{ return "Author(s)"; }
/*! this text is generated when the \\return command is used. */ /*! this text is generated when the \\return command is used. */
virtual QCString trReturns() virtual QCString trReturns() = 0;
{ return "Returns"; }
/*! this text is generated when the \\sa command is used. */ /*! this text is generated when the \\sa command is used. */
virtual QCString trSeeAlso() virtual QCString trSeeAlso() = 0;
{ return "See also"; }
/*! this text is generated when the \\param command is used. */ /*! this text is generated when the \\param command is used. */
virtual QCString trParameters() virtual QCString trParameters() = 0;
{ return "Parameters"; }
/*! this text is generated when the \\exception command is used. */ /*! this text is generated when the \\exception command is used. */
virtual QCString trExceptions() virtual QCString trExceptions() = 0;
{ return "Exceptions"; }
/*! this text is used in the title page of a LaTeX document. */ /*! this text is used in the title page of a LaTeX document. */
virtual QCString trGeneratedBy() virtual QCString trGeneratedBy() = 0;
{ return "Generated by"; }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 0.49-990307 // new since 0.49-990307
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
/*! used as the title of page containing all the index of all namespaces. */ /*! used as the title of page containing all the index of all namespaces. */
virtual QCString trNamespaceList() virtual QCString trNamespaceList() = 0;
{ return "Namespace List"; }
/*! used as an introduction to the namespace list */ /*! used as an introduction to the namespace list */
virtual QCString trNamespaceListDescription(bool extractAll) virtual QCString trNamespaceListDescription(bool extractAll) = 0;
{
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 /*! used in the class documentation as a header before the list of all
* friends of a class * friends of a class
*/ */
virtual QCString trFriends() virtual QCString trFriends() = 0;
{ return "Friends"; }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 0.49-990405 // new since 0.49-990405
...@@ -699,8 +544,7 @@ class Translator ...@@ -699,8 +544,7 @@ class Translator
/*! used in the class documentation as a header before the list of all /*! used in the class documentation as a header before the list of all
* related classes * related classes
*/ */
virtual QCString trRelatedFunctionDocumentation() virtual QCString trRelatedFunctionDocumentation() = 0;
{ return "Friends And Related Function Documentation"; }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 0.49-990425 // new since 0.49-990425
...@@ -709,143 +553,65 @@ class Translator ...@@ -709,143 +553,65 @@ class Translator
/*! used as the title of the HTML page of a class/struct/union */ /*! used as the title of the HTML page of a class/struct/union */
virtual QCString trCompoundReference(const char *clName, virtual QCString trCompoundReference(const char *clName,
ClassDef::CompoundType compType, ClassDef::CompoundType compType,
bool isTemplate) bool isTemplate) = 0;
{
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 */ /*! used as the title of the HTML page of a file */
virtual QCString trFileReference(const char *fileName) virtual QCString trFileReference(const char *fileName) = 0;
{
QCString result=fileName;
result+=" File Reference";
return result;
}
/*! used as the title of the HTML page of a namespace */ /*! used as the title of the HTML page of a namespace */
virtual QCString trNamespaceReference(const char *namespaceName) virtual QCString trNamespaceReference(const char *namespaceName) = 0;
{
QCString result=namespaceName;
result+=" Namespace Reference";
return result;
}
virtual QCString trPublicMembers() virtual QCString trPublicMembers() = 0;
{ return "Public Methods"; } virtual QCString trPublicSlots() = 0;
virtual QCString trPublicSlots() virtual QCString trSignals() = 0;
{ return "Public Slots"; } virtual QCString trStaticPublicMembers() = 0;
virtual QCString trSignals() virtual QCString trProtectedMembers() = 0;
{ return "Signals"; } virtual QCString trProtectedSlots() = 0;
virtual QCString trStaticPublicMembers() virtual QCString trStaticProtectedMembers() = 0;
{ return "Static Public Methods"; } virtual QCString trPrivateMembers() = 0;
virtual QCString trProtectedMembers() virtual QCString trPrivateSlots() = 0;
{ return "Protected Methods"; } virtual QCString trStaticPrivateMembers() = 0;
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. /*! this function is used to produce a comma-separated list of items.
* use generateMarker(i) to indicate where item i should be put. * use generateMarker(i) to indicate where item i should be put.
*/ */
virtual QCString trWriteList(int numEntries) virtual QCString trWriteList(int numEntries) = 0;
{
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, /*! used in class documentation to produce a list of base classes,
* if class diagrams are disabled. * if class diagrams are disabled.
*/ */
virtual QCString trInheritsList(int numEntries) virtual QCString trInheritsList(int numEntries) = 0;
{
return "Inherits "+trWriteList(numEntries)+".";
}
/*! used in class documentation to produce a list of super classes, /*! used in class documentation to produce a list of super classes,
* if class diagrams are disabled. * if class diagrams are disabled.
*/ */
virtual QCString trInheritedByList(int numEntries) virtual QCString trInheritedByList(int numEntries) = 0;
{
return "Inherited by "+trWriteList(numEntries)+".";
}
/*! used in member documentation blocks to produce a list of /*! used in member documentation blocks to produce a list of
* members that are hidden by this one. * members that are hidden by this one.
*/ */
virtual QCString trReimplementedFromList(int numEntries) virtual QCString trReimplementedFromList(int numEntries) = 0;
{
return "Reimplemented from "+trWriteList(numEntries)+".";
}
/*! used in member documentation blocks to produce a list of /*! used in member documentation blocks to produce a list of
* all member that overwrite the implementation of this member. * all member that overwrite the implementation of this member.
*/ */
virtual QCString trReimplementedInList(int numEntries) virtual QCString trReimplementedInList(int numEntries) = 0;
{
return "Reimplemented in "+trWriteList(numEntries)+".";
}
/*! This is put above each page as a link to all members of namespaces. */ /*! This is put above each page as a link to all members of namespaces. */
virtual QCString trNamespaceMembers() virtual QCString trNamespaceMembers() = 0;
{ return "Namespace Members"; }
/*! This is an introduction to the page with all namespace members */ /*! This is an introduction to the page with all namespace members */
virtual QCString trNamespaceMemberDescription(bool extractAll) virtual QCString trNamespaceMemberDescription(bool extractAll) = 0;
{
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 /*! This is used in LaTeX as the title of the chapter with the
* index of all namespaces. * index of all namespaces.
*/ */
virtual QCString trNamespaceIndex() virtual QCString trNamespaceIndex() = 0;
{ return "Namespace Index"; }
/*! This is used in LaTeX as the title of the chapter containing /*! This is used in LaTeX as the title of the chapter containing
* the documentation of all namespaces. * the documentation of all namespaces.
*/ */
virtual QCString trNamespaceDocumentation() virtual QCString trNamespaceDocumentation() = 0;
{ return "Namespace Documentation"; }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 0.49-990522 // new since 0.49-990522
...@@ -854,8 +620,7 @@ class Translator ...@@ -854,8 +620,7 @@ class Translator
/*! This is used in the documentation before the list of all /*! This is used in the documentation before the list of all
* namespaces in a file. * namespaces in a file.
*/ */
virtual QCString trNamespaces() virtual QCString trNamespaces() = 0;
{ return "Namespaces"; }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 0.49-990728 // new since 0.49-990728
...@@ -865,435 +630,222 @@ class Translator ...@@ -865,435 +630,222 @@ class Translator
* followed by a list of files that were used to generate the page. * followed by a list of files that were used to generate the page.
*/ */
virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType, virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType,
bool single) bool single) = 0;
{ // 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 /*! This is in the (quick) index as a link to the alphabetical compound
* list. * list.
*/ */
virtual QCString trAlphabeticalList() virtual QCString trAlphabeticalList() = 0;
{ return "Alphabetical List"; }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 0.49-990901 // new since 0.49-990901
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
/*! This is used as the heading text for the retval command. */ /*! This is used as the heading text for the retval command. */
virtual QCString trReturnValues() virtual QCString trReturnValues() = 0;
{ return "Return values"; }
/*! This is in the (quick) index as a link to the main page (index.html) /*! This is in the (quick) index as a link to the main page (index.html)
*/ */
virtual QCString trMainPage() virtual QCString trMainPage() = 0;
{ return "Main Page"; }
/*! This is used in references to page that are put in the LaTeX /*! This is used in references to page that are put in the LaTeX
* documentation. It should be an abbreviation of the word page. * documentation. It should be an abbreviation of the word page.
*/ */
virtual QCString trPageAbbreviation() virtual QCString trPageAbbreviation() = 0;
{ return "p."; }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 0.49-991003 // new since 0.49-991003
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
virtual QCString trSources() virtual QCString trSources() = 0;
{
return "Sources"; virtual QCString trDefinedAtLineInSourceFile() = 0;
}
virtual QCString trDefinedAtLineInSourceFile() virtual QCString trDefinedInSourceFile() = 0;
{
return "Definition at line @0 of file @1.";
}
virtual QCString trDefinedInSourceFile()
{
return "Definition in file @0.";
}
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 0.49-991205 // new since 0.49-991205
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
virtual QCString trDeprecated() virtual QCString trDeprecated() = 0;
{
return "Deprecated";
}
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 1.0.0 // new since 1.0.0
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
/*! this text is put before a collaboration diagram */ /*! this text is put before a collaboration diagram */
virtual QCString trCollaborationDiagram(const char *clName) virtual QCString trCollaborationDiagram(const char *clName) = 0;
{
return (QCString)"Collaboration diagram for "+clName+":";
}
/*! this text is put before an include dependency graph */ /*! this text is put before an include dependency graph */
virtual QCString trInclDepGraph(const char *fName) virtual QCString trInclDepGraph(const char *fName) = 0;
{
return (QCString)"Include dependency graph for "+fName+":";
}
/*! header that is put before the list of constructor/destructors. */ /*! header that is put before the list of constructor/destructors. */
virtual QCString trConstructorDocumentation() virtual QCString trConstructorDocumentation() = 0;
{
return "Constructor & Destructor Documentation";
}
/*! Used in the file documentation to point to the corresponding sources. */ /*! Used in the file documentation to point to the corresponding sources. */
virtual QCString trGotoSourceCode() virtual QCString trGotoSourceCode() = 0;
{
return "Go to the source code of this file.";
}
/*! Used in the file sources to point to the corresponding documentation. */ /*! Used in the file sources to point to the corresponding documentation. */
virtual QCString trGotoDocumentation() virtual QCString trGotoDocumentation() = 0;
{
return "Go to the documentation of this file.";
}
/*! Text for the \pre command */ /*! Text for the \pre command */
virtual QCString trPrecondition() virtual QCString trPrecondition() = 0;
{
return "Precondition";
}
/*! Text for the \post command */ /*! Text for the \post command */
virtual QCString trPostcondition() virtual QCString trPostcondition() = 0;
{
return "Postcondition";
}
/*! Text for the \invariant command */ /*! Text for the \invariant command */
virtual QCString trInvariant() virtual QCString trInvariant() = 0;
{
return "Invariant";
}
/*! Text shown before a multi-line variable/enum initialization */ /*! Text shown before a multi-line variable/enum initialization */
virtual QCString trInitialValue() virtual QCString trInitialValue() = 0;
{
return "Initial value:";
}
/*! Text used the source code in the file index */ /*! Text used the source code in the file index */
virtual QCString trCode() virtual QCString trCode() = 0;
{
return "code"; virtual QCString trGraphicalHierarchy() = 0;
} virtual QCString trGotoGraphicalHierarchy() = 0;
virtual QCString trGraphicalHierarchy() virtual QCString trGotoTextualHierarchy() = 0;
{ virtual QCString trPageIndex() = 0;
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 // new since 1.1.0
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
virtual QCString trNote() virtual QCString trNote() = 0;
{ virtual QCString trPublicTypes() = 0;
return "Note"; virtual QCString trPublicAttribs() = 0;
} virtual QCString trStaticPublicAttribs() = 0;
virtual QCString trPublicTypes() virtual QCString trProtectedTypes() = 0;
{ virtual QCString trProtectedAttribs() = 0;
return "Public Types"; virtual QCString trStaticProtectedAttribs() = 0;
} virtual QCString trPrivateTypes() = 0;
virtual QCString trPublicAttribs() virtual QCString trPrivateAttribs() = 0;
{ virtual QCString trStaticPrivateAttribs() = 0;
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 // new since 1.1.3
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a \\todo item */ /*! Used as a marker that is put before a \\todo item */
virtual QCString trTodo() virtual QCString trTodo() = 0;
{
return "Todo";
}
/*! Used as the header of the todo list */ /*! Used as the header of the todo list */
virtual QCString trTodoList() virtual QCString trTodoList() = 0;
{
return "Todo List";
}
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 1.1.4 // new since 1.1.4
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
virtual QCString trReferencedBy() virtual QCString trReferencedBy() = 0;
{ virtual QCString trRemarks() = 0;
return "Referenced by"; virtual QCString trAttention() = 0;
} virtual QCString trInclByDepGraph() = 0;
virtual QCString trRemarks() virtual QCString trSince() = 0;
{
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 // new since 1.1.5
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
/*! title of the graph legend page */ /*! title of the graph legend page */
virtual QCString trLegendTitle() virtual QCString trLegendTitle() = 0;
{
return "Graph Legend";
}
/*! page explaining how the dot graph's should be interpreted */ /*! page explaining how the dot graph's should be interpreted */
virtual QCString trLegendDocs() virtual QCString trLegendDocs() = 0;
{
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 */ /*! text for the link to the legend page */
virtual QCString trLegend() virtual QCString trLegend() = 0;
{
return "legend";
}
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 1.2.0 // new since 1.2.0
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a test item */ /*! Used as a marker that is put before a test item */
virtual QCString trTest() virtual QCString trTest() = 0;
{
return "Test";
}
/*! Used as the header of the test list */ /*! Used as the header of the test list */
virtual QCString trTestList() virtual QCString trTestList() = 0;
{
return "Test List";
}
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 1.2.1 // new since 1.2.1
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
/*! Used as a section header for KDE-2 IDL methods */ /*! Used as a section header for KDE-2 IDL methods */
virtual QCString trDCOPMethods() virtual QCString trDCOPMethods() = 0;
{
return "DCOP Methods";
}
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 1.2.2 // new since 1.2.2
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
/*! Used as a section header for IDL properties */ /*! Used as a section header for IDL properties */
virtual QCString trProperties() virtual QCString trProperties() = 0;
{
return "Properties";
}
/*! Used as a section header for IDL property documentation */ /*! Used as a section header for IDL property documentation */
virtual QCString trPropertyDocumentation() virtual QCString trPropertyDocumentation() = 0;
{
return "Property Documentation";
}
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 1.2.4 // new since 1.2.4
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
/*! Used for Java interfaces in the summary section of Java packages */ /*! Used for Java interfaces in the summary section of Java packages */
virtual QCString trInterfaces() virtual QCString trInterfaces() = 0;
{
return "Interfaces";
}
/*! Used for Java classes in the summary section of Java packages */ /*! Used for Java classes in the summary section of Java packages */
virtual QCString trClasses() virtual QCString trClasses() = 0;
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "Data Structures";
}
else
{
return "Classes";
}
}
/*! Used as the title of a Java package */ /*! Used as the title of a Java package */
virtual QCString trPackage(const char *name) virtual QCString trPackage(const char *name) = 0;
{
return (QCString)"Package "+name;
}
/*! Title of the package index page */ /*! Title of the package index page */
virtual QCString trPackageList() virtual QCString trPackageList() = 0;
{
return "Package List";
}
/*! The description of the package index page */ /*! The description of the package index page */
virtual QCString trPackageListDescription() virtual QCString trPackageListDescription() = 0;
{
return "Here are the packages with brief descriptions (if available):";
}
/*! The link name in the Quick links header for each page */ /*! The link name in the Quick links header for each page */
virtual QCString trPackages() virtual QCString trPackages() = 0;
{
return "Packages";
}
/*! Used as a chapter title for Latex & RTF output */ /*! Used as a chapter title for Latex & RTF output */
virtual QCString trPackageDocumentation() virtual QCString trPackageDocumentation() = 0;
{
return "Package Documentation";
}
/*! Text shown before a multi-line define */ /*! Text shown before a multi-line define */
virtual QCString trDefineValue() virtual QCString trDefineValue() = 0;
{
return "Value:";
}
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 1.2.5 // 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 */
virtual QCString trBug() virtual QCString trBug() = 0;
{
return "Bug";
}
/*! Used as the header of the bug list */ /*! Used as the header of the bug list */
virtual QCString trBugList() virtual QCString trBugList() = 0;
{
return "Bug List";
}
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 1.2.? // new since 1.2.6
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
/*! Used as ansicpg for RTF file */ /*! Used as ansicpg for RTF file */
virtual QCString trRTFansicp() virtual QCString trRTFansicp() = 0;
{
return "1252";
}
/*! Used as ansicpg for RTF fcharset */ /*! Used as ansicpg for RTF fcharset */
virtual QCString trRTFCharSet() virtual QCString trRTFCharSet() = 0;
{
return "0";
}
/*! Used as header RTF general index */ /*! Used as header RTF general index */
virtual QCString trRTFGeneralIndex() virtual QCString trRTFGeneralIndex() = 0;
{
return "Index"; /*! 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 #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 @@ ...@@ -18,9 +18,9 @@
#ifndef TRANSLATOR_BR_H #ifndef TRANSLATOR_BR_H
#define 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: public:
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
#ifndef TRANSLATOR_CN_H #ifndef TRANSLATOR_CN_H
#define 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 If you want insert a space whenever Chinese meets English charactors, set
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
*/ */
#define CN_SPC #define CN_SPC
class TranslatorChinese : public Translator class TranslatorChinese : public TranslatorAdapter_1_2_1
{ {
public: public:
QCString idLanguage() QCString idLanguage()
...@@ -388,6 +388,18 @@ class TranslatorChinese : public Translator ...@@ -388,6 +388,18 @@ class TranslatorChinese : public Translator
// the documentation of all namespaces. // the documentation of all namespaces.
{ return "命名空间文档"; } { 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 // new since 0.49-990728
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
......
...@@ -18,7 +18,6 @@ ...@@ -18,7 +18,6 @@
#ifndef TRANSLATOR_CZ_H #ifndef TRANSLATOR_CZ_H
#define TRANSLATOR_CZ_H #define TRANSLATOR_CZ_H
#include "translator.h"
// The first translation from English to Czech was started by // The first translation from English to Czech was started by
// Vlastimil Havran. He wrote: // Vlastimil Havran. He wrote:
...@@ -32,76 +31,83 @@ ...@@ -32,76 +31,83 @@
// The prototype version of Czech strings with diacritics was // The prototype version of Czech strings with diacritics was
// implemented by Petr Prikryl (prikrylp@skil.cz), 2000/06/20. As // implemented by Petr Prikryl (prikrylp@skil.cz), 2000/06/20. As
// Vlastimil was quite busy at the time, he agreed that Petr be the // Vlastimil was quite busy at the time, he agreed that Petr be the
// second maintainer. // maintainer for a while (from 2000/06/20).
// //
// Updates: // Updates:
// -------- // --------
// 2000/06/20 (Petr Prikryl) // 2000/06/20
// - The prototype version of Czech strings with diacritics. The // - The prototype version of Czech strings with diacritics. The
// translation was based on translator.h of Doxygen version // translation was based on translator.h of Doxygen version
// 1.1.4 (from scratch). // 1.1.4 (from scratch).
// //
// 2000/07/10 (Petr Prikryl) // 2000/07/10
// - Updated version based on 1.1.5 sources (including important updates // - 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 // 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 // in windows-1250 encoding. On-line decoding into iso-8859-2 ensured
// via conditional compilation if the sources are compiled under UNIX. // 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. // - Encoding conversion tables moved to the methods that use them.
// - Updates for "new since 1.1.5". // - Updates for "new since 1.1.5".
// //
// 2000/08/02 (Petr Prikryl) // 2000/08/02 (Petr Prikryl)
// - Updated for 1.2.0 // - Updated for 1.2.0
// //
// 2000/08/24 (Petr Prikryl) // 2000/08/24
// - Changed trTodo() text from "Udelat" to "Planovane upravy" // - Changed trTodo() text from "Udelat" to "Planovane upravy"
// which seems more appropriate in the document context. // which seems more appropriate in the document context.
// - Typo corrected in trMemberTypedefDocumentation(). // - Typo corrected in trMemberTypedefDocumentation().
// //
// 2000/08/30 (Petr Prikryl) // 2000/08/30
// - Macro DECODE replaced by the inline Decode() (proposed by // - Macro DECODE replaced by the inline Decode() (proposed by
// Boris Bralo <boris.bralo@zg.tel.hr> in translator_hr.h). // 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 // - Methods ISOToWin() and WinToISO() renamed and moved to the
// base class (in translator.h) to be shared with the Croatian // base class (in translator.h) to be shared with the Croatian
// translator. // translator.
// //
// 2000/09/06 (Petr Prikryl) // 2000/09/06
// - Reimplementation of the method trInheritsList() which takes // - Reimplementation of the method trInheritsList() which takes
// into account quantity of base classes. // 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() // - Update for "new since 1.2.1" version. The text of trDCOPMethods()
// was translated rather blindly (not knowing what exactly // was translated rather blindly (not knowing what exactly
// the DCOP means). // the DCOP means).
// //
// 2000/10/17 (Petr Prikryl) // 2000/10/17
// - Update for "new since 1.2.2" version. // - 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, // - 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. // I tried my best to guess the Czech terminology for the Java.
// Let me know if some wording should be changed/improved. // 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 // - trMore() now returns only "..." (ellipsis). The Czech replacement
// of "(more)" was too much visible. The previous "(...)" did not // of "(more)" was too much visible. The previous "(...)" did not
// look well. // look well.
// //
// 2001/02/26 (Petr Prikryl) // 2001/02/26
// - Update for "new since 1.2.5" version (trBug(), trBugList()). // - 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 // - Minor correction of comments which copied the same
// corrections in translator.h (doubled backslash) just after // corrections in translator.h (doubled backslash) just after
// 1.2.6 release. // 1.2.6 release.
// //
// 2001/04/10 (Petr Prikryl) // 2001/04/10
// - Update for OPTIMIZE_OUTPUT_FOR_C (1.2.6-20010408). // - Update for OPTIMIZE_OUTPUT_FOR_C (1.2.6-20010408).
// - Removed implementation of latexBabelPackage(). // - Removed implementation of latexBabelPackage().
// - Removed implementation of trVerbatimText(). // - 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: // Notices:
// -------- // --------
...@@ -114,7 +120,9 @@ ...@@ -114,7 +120,9 @@
// Windows version. The version which does not call the function is // Windows version. The version which does not call the function is
// probably slightly faster. // probably slightly faster.
class TranslatorCzech : public Translator #include "translator_adapter.h"
class TranslatorCzech : public TranslatorAdapterBase
{ {
private: private:
/*! The Decode() inline assumes the source written in the /*! The Decode() inline assumes the source written in the
...@@ -291,7 +299,7 @@ class TranslatorCzech : public Translator ...@@ -291,7 +299,7 @@ class TranslatorCzech : public Translator
/*! This is put above each page as a link to all related pages. */ /*! This is put above each page as a link to all related pages. */
virtual QCString trRelatedPages() 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. */ /*! This is put above each page as a link to all examples. */
virtual QCString trExamples() virtual QCString trExamples()
...@@ -416,8 +424,9 @@ class TranslatorCzech : public Translator ...@@ -416,8 +424,9 @@ class TranslatorCzech : public Translator
/*! This is an introduction to the page with the list of related pages */ /*! This is an introduction to the page with the list of related pages */
virtual QCString trRelatedPagesDescription() virtual QCString trRelatedPagesDescription()
{ return Decode("Zde naleznete seznam všech souvisejících stránek " { return Decode("Následující seznam odkazuje na další stránky projektu, "
"dokumentace:"); } "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 */ /*! This is an introduction to the page with the list of class/file groups */
virtual QCString trModulesDescription() virtual QCString trModulesDescription()
...@@ -1314,6 +1323,115 @@ class TranslatorCzech : public Translator ...@@ -1314,6 +1323,115 @@ class TranslatorCzech : public Translator
return Decode("Seznam chyb"); 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 #endif // TRANSLATOR_CZ_H
...@@ -50,9 +50,9 @@ ...@@ -50,9 +50,9 @@
#ifndef TRANSLATOR_DE_H #ifndef TRANSLATOR_DE_H
#define 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: public:
QCString idLanguage() 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 @@ ...@@ -25,9 +25,9 @@
#ifndef TRANSLATOR_ES_H #ifndef TRANSLATOR_ES_H
#define 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: public:
virtual QCString idLanguage() virtual QCString idLanguage()
...@@ -413,31 +413,31 @@ class TranslatorSpanish : public Translator ...@@ -413,31 +413,31 @@ class TranslatorSpanish : public Translator
return (QCString)"Diagrama de herencias de "+clName; 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() virtual QCString trForInternalUseOnly()
{ return "Para uso interno exclusivamente."; } { 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() virtual QCString trReimplementedForInternalReasons()
{ return "Reimplementado por razones internas; el API no se ve afectado."; } { 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() virtual QCString trWarning()
{ return "Atención"; } { 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() virtual QCString trBugsAndLimitations()
{ return "Bugs y limitaciones"; } { 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() virtual QCString trVersion()
{ return "Versión"; } { 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() virtual QCString trDate()
{ return "Fecha"; } { 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() virtual QCString trAuthors()
{ return "Autor(es)"; } { return "Autor(es)"; }
...@@ -445,15 +445,15 @@ class TranslatorSpanish : public Translator ...@@ -445,15 +445,15 @@ class TranslatorSpanish : public Translator
virtual QCString trReturns() virtual QCString trReturns()
{ return "Devuelve"; } { 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() virtual QCString trSeeAlso()
{ return "Ver también"; } { 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() virtual QCString trParameters()
{ return "Parámetros"; } { 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() virtual QCString trExceptions()
{ return "Excepciones"; } { return "Excepciones"; }
......
...@@ -74,9 +74,9 @@ positiiviset kommentit otetaan ilolla vastaan. ...@@ -74,9 +74,9 @@ positiiviset kommentit otetaan ilolla vastaan.
#ifndef TRANSLATOR_SF_H #ifndef TRANSLATOR_SF_H
#define 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: public:
QCString idLanguage() QCString idLanguage()
......
...@@ -20,9 +20,9 @@ ...@@ -20,9 +20,9 @@
#ifndef TRANSLATOR_FR_H #ifndef TRANSLATOR_FR_H
#define 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: public:
QCString idLanguage() QCString idLanguage()
...@@ -413,49 +413,49 @@ class TranslatorFrench : public Translator ...@@ -413,49 +413,49 @@ class TranslatorFrench : public Translator
return (QCString)"Graphe d'héritage de la classe "+clName; 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() QCString trForInternalUseOnly()
{ return "À usage interne uniquement."; } { 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() QCString trReimplementedForInternalReasons()
{ return "Redéfini pour des raisons internes; " { return "Redéfini pour des raisons internes; "
"l'interface n'est pas modifiée"; "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() QCString trWarning()
{ return "Avertissement"; } { return "Avertissement"; }
/*! this text is generated when the \bug command is used. */ /*! this text is generated when the \\bug command is used. */
QCString trBugsAndLimitations() QCString trBugsAndLimitations()
{ return "Bogues et limitations"; } { 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() QCString trVersion()
{ return "Version"; } { return "Version"; }
/*! this text is generated when the \date command is used. */ /*! this text is generated when the \\date command is used. */
QCString trDate() QCString trDate()
{ return "Date"; } { return "Date"; }
/*! this text is generated when the \author command is used. */ /*! this text is generated when the \\author command is used. */
QCString trAuthors() QCString trAuthors()
{ return "Auteur(s)"; } { 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() QCString trReturns()
{ return "Renvoie"; } { return "Renvoie"; }
/*! this text is generated when the \sa command is used. */ /*! this text is generated when the \\sa command is used. */
QCString trSeeAlso() QCString trSeeAlso()
{ return "Voir également"; } { 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() QCString trParameters()
{ return "Paramètres"; } { 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() QCString trExceptions()
{ return "Exceptions"; } { return "Exceptions"; }
......
...@@ -34,9 +34,9 @@ ...@@ -34,9 +34,9 @@
#ifndef TRANSLATOR_HR_H #ifndef TRANSLATOR_HR_H
#define 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: private:
/*! to avoid macro redefinition from translator_cz.h */ /*! to avoid macro redefinition from translator_cz.h */
...@@ -418,6 +418,18 @@ class TranslatorCroatian : public Translator ...@@ -418,6 +418,18 @@ class TranslatorCroatian : public Translator
// the documentation of all namespaces. // the documentation of all namespaces.
{ return "Dokumentacija namespace-a"; } { 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 // new since 0.49-990728
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -801,6 +813,36 @@ class TranslatorCroatian : public Translator ...@@ -801,6 +813,36 @@ class TranslatorCroatian : public Translator
{ {
return "Vrijednost:"; 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 #endif
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
#include "translator.h" #include "translator.h"
class TranslatorHungarian : public Translator class TranslatorHungarian : public TranslatorAdapter_1_2_1
{ {
public: public:
...@@ -425,47 +425,47 @@ class TranslatorHungarian : public Translator ...@@ -425,47 +425,47 @@ class TranslatorHungarian : public Translator
return clName+(QCString)" osztály származtatási diagramja"; 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() QCString trForInternalUseOnly()
{ return "CSAK BELSÕ HASZNÁLATRA!"; } { 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() QCString trReimplementedForInternalReasons()
{ return "Belsõ okok miatt újraimplementálva, az API-t nem érinti."; } { 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() QCString trWarning()
{ return "Figyelmeztetés"; } { 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() QCString trBugsAndLimitations()
{ return "Hibák és korlátozások"; } { 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() QCString trVersion()
{ return "Verzió"; } { return "Verzió"; }
/*! this text is generated when the \date command is used. */ /*! this text is generated when the \\date command is used. */
QCString trDate() QCString trDate()
{ return "Dátum"; } { 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() QCString trAuthors()
{ return "Szerzõ(k)"; } { 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() QCString trReturns()
{ return "Visszaadott érték"; } { 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() QCString trSeeAlso()
{ return "Lásd még"; } { 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() QCString trParameters()
{ return "Paraméterek"; } { 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() QCString trExceptions()
{ return "Kivételek"; } { return "Kivételek"; }
......
...@@ -30,9 +30,9 @@ ...@@ -30,9 +30,9 @@
#ifndef TRANSLATOR_IT_H #ifndef TRANSLATOR_IT_H
#define 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: public:
QCString idLanguage() QCString idLanguage()
...@@ -418,47 +418,47 @@ class TranslatorItalian : public Translator ...@@ -418,47 +418,47 @@ class TranslatorItalian : public Translator
return (QCString)"Diagramma delle classi per "+clName; 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() QCString trForInternalUseOnly()
{ return "Solo per uso interno."; } { 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() QCString trReimplementedForInternalReasons()
{ return "Reimplementato per motivi interni; l'API non è stata modificata.";} { 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() QCString trWarning()
{ return "Avvertimento"; } { return "Avvertimento"; }
/*! this text is generated when the \bug command is used. */ /*! this text is generated when the \\bug command is used. */
QCString trBugsAndLimitations() QCString trBugsAndLimitations()
{ return "Bugs e limitazioni"; } { 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() QCString trVersion()
{ return "Versione"; } { return "Versione"; }
/*! this text is generated when the \date command is used. */ /*! this text is generated when the \\date command is used. */
QCString trDate() QCString trDate()
{ return "Data"; } { return "Data"; }
/*! this text is generated when the \author command is used. */ /*! this text is generated when the \\author command is used. */
QCString trAuthors() QCString trAuthors()
{ return "Autore(i)"; } { 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() QCString trReturns()
{ return "Restituisce"; } { return "Restituisce"; }
/*! this text is generated when the \sa command is used. */ /*! this text is generated when the \\sa command is used. */
QCString trSeeAlso() QCString trSeeAlso()
{ return "Vedi anche"; } { 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() QCString trParameters()
{ return "Parametri"; } { return "Parametri"; }
/*! this text is generated when the \exception command is used. */ /*! this text is generated when the \\exception command is used. */
QCString trExceptions() QCString trExceptions()
{ return "Eccezioni"; } { return "Eccezioni"; }
......
...@@ -18,9 +18,9 @@ ...@@ -18,9 +18,9 @@
#ifndef TRANSLATOR_JP_H #ifndef TRANSLATOR_JP_H
#define 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: public:
QCString idLanguage() QCString idLanguage()
...@@ -402,48 +402,48 @@ class TranslatorJapanese : public Translator ...@@ -402,48 +402,48 @@ class TranslatorJapanese : public Translator
return (QCString)clName+"に対するクラス階層図"; 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() QCString trForInternalUseOnly()
{ return "内部使用のみ。"; } { return "内部使用のみ。"; }
/*! this text is generated when the \reimp command is used. */ /*! this text is generated when the \\reimp command is used. */
QCString trReimplementedForInternalReasons() QCString trReimplementedForInternalReasons()
{ return "内部的な理由により再実装されましたが、APIには影響しません。"; { return "内部的な理由により再実装されましたが、APIには影響しません。";
} }
/*! this text is generated when the \warning command is used. */ /*! this text is generated when the \\warning command is used. */
QCString trWarning() QCString trWarning()
{ return "警告"; } { return "警告"; }
/*! this text is generated when the \bug command is used. */ /*! this text is generated when the \\bug command is used. */
QCString trBugsAndLimitations() QCString trBugsAndLimitations()
{ return "バグと制限"; } { return "バグと制限"; }
/*! this text is generated when the \version command is used. */ /*! this text is generated when the \\version command is used. */
QCString trVersion() QCString trVersion()
{ return "バージョン"; } { return "バージョン"; }
/*! this text is generated when the \date command is used. */ /*! this text is generated when the \\date command is used. */
QCString trDate() QCString trDate()
{ return "日付"; } { return "日付"; }
/*! this text is generated when the \author command is used. */ /*! this text is generated when the \\author command is used. */
QCString trAuthors() QCString trAuthors()
{ return "作者"; } { return "作者"; }
/*! this text is generated when the \return command is used. */ /*! this text is generated when the \\return command is used. */
QCString trReturns() QCString trReturns()
{ return "戻り値"; } { return "戻り値"; }
/*! this text is generated when the \sa command is used. */ /*! this text is generated when the \\sa command is used. */
QCString trSeeAlso() QCString trSeeAlso()
{ return "参照"; } { return "参照"; }
/*! this text is generated when the \param command is used. */ /*! this text is generated when the \\param command is used. */
QCString trParameters() QCString trParameters()
{ return "引数"; } { return "引数"; }
/*! this text is generated when the \exception command is used. */ /*! this text is generated when the \\exception command is used. */
QCString trExceptions() QCString trExceptions()
{ return "例外"; } { return "例外"; }
......
...@@ -18,9 +18,9 @@ ...@@ -18,9 +18,9 @@
#ifndef TRANSLATOR_KR_H #ifndef TRANSLATOR_KR_H
#define 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: public:
QCString idLanguage() QCString idLanguage()
...@@ -411,48 +411,48 @@ class TranslatorKorean : public Translator ...@@ -411,48 +411,48 @@ class TranslatorKorean : public Translator
return (QCString)clName+"에 대한 상속 도표"; // "Inheritance diagram for "+clName 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() QCString trForInternalUseOnly()
{ return "내부 사용만을 위해"; } { return "내부 사용만을 위해"; }
/*! this text is generated when the \reimp command is used. */ /*! this text is generated when the \\reimp command is used. */
QCString trReimplementedForInternalReasons() QCString trReimplementedForInternalReasons()
{ return "내부적 이유를 위해 재구현된: API가 영향을 받지않았다."; } { return "내부적 이유를 위해 재구현된: API가 영향을 받지않았다."; }
// "Reimplemented for internal reasons; the API is not affected." // "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() QCString trWarning()
{ return "경고"; } { return "경고"; }
/*! this text is generated when the \bug command is used. */ /*! this text is generated when the \\bug command is used. */
QCString trBugsAndLimitations() QCString trBugsAndLimitations()
{ return "버그들과 한계들"; } { return "버그들과 한계들"; }
/*! this text is generated when the \version command is used. */ /*! this text is generated when the \\version command is used. */
QCString trVersion() QCString trVersion()
{ return "버전"; } { return "버전"; }
/*! this text is generated when the \date command is used. */ /*! this text is generated when the \\date command is used. */
QCString trDate() QCString trDate()
{ return "날짜"; } { return "날짜"; }
/*! this text is generated when the \author command is used. */ /*! this text is generated when the \\author command is used. */
QCString trAuthors() QCString trAuthors()
{ return "저자(들)"; } { return "저자(들)"; }
/*! this text is generated when the \return command is used. */ /*! this text is generated when the \\return command is used. */
QCString trReturns() QCString trReturns()
{ return "반환"; } { return "반환"; }
/*! this text is generated when the \sa command is used. */ /*! this text is generated when the \\sa command is used. */
QCString trSeeAlso() QCString trSeeAlso()
{ return "참조하시요"; } { return "참조하시요"; }
/*! this text is generated when the \param command is used. */ /*! this text is generated when the \\param command is used. */
QCString trParameters() QCString trParameters()
{ return "매개변수들"; } { return "매개변수들"; }
/*! this text is generated when the \exception command is used. */ /*! this text is generated when the \\exception command is used. */
QCString trExceptions() QCString trExceptions()
{ return "예외들"; } { return "예외들"; }
...@@ -720,7 +720,7 @@ class TranslatorKorean : public Translator ...@@ -720,7 +720,7 @@ class TranslatorKorean : public Translator
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 1.0.0 // new since 0.49-991205
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
QCString trDeprecated() QCString trDeprecated()
...@@ -729,7 +729,7 @@ class TranslatorKorean : public Translator ...@@ -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 */ /*! this text is put before a collaboration diagram */
......
...@@ -18,9 +18,9 @@ ...@@ -18,9 +18,9 @@
#ifndef TRANSLATOR_NL_H #ifndef TRANSLATOR_NL_H
#define 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: public:
QCString idLanguage() QCString idLanguage()
...@@ -384,6 +384,18 @@ class TranslatorDutch : public Translator ...@@ -384,6 +384,18 @@ class TranslatorDutch : public Translator
// the documentation of all namespaces. // the documentation of all namespaces.
{ return "Namespace Documentatie"; } { 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 // new since 0.49-990728
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -779,7 +791,7 @@ class TranslatorDutch : public Translator ...@@ -779,7 +791,7 @@ class TranslatorDutch : public Translator
// new since 1.2.5 // 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() QCString trBug()
{ {
return "Bug"; return "Bug";
......
...@@ -24,9 +24,9 @@ ...@@ -24,9 +24,9 @@
#ifndef TRANSLATOR_NO_H #ifndef TRANSLATOR_NO_H
#define 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: public:
QCString idLanguage() QCString idLanguage()
...@@ -120,7 +120,7 @@ class TranslatorNorwegian : public Translator ...@@ -120,7 +120,7 @@ class TranslatorNorwegian : public Translator
QCString trSearch() QCString trSearch()
{ return "Sk"; } { return "Sk"; }
QCString trClassHierarchyDescripsjon() QCString trClassHierarchyDescription()
{ return "Denne listen over arv er grovt, men ikke helt, " { return "Denne listen over arv er grovt, men ikke helt, "
"sortert i alfabetisk rekkeflge:"; "sortert i alfabetisk rekkeflge:";
} }
...@@ -171,7 +171,7 @@ class TranslatorNorwegian : public Translator ...@@ -171,7 +171,7 @@ class TranslatorNorwegian : public Translator
QCString trModulesDescription() QCString trModulesDescription()
{ return "Her flger en liste over alle moduler:"; } { return "Her flger en liste over alle moduler:"; }
QCString trNoDescripsjonAvailable() QCString trNoDescriptionAvailable()
{ return "Beskrivelse mangler"; } { return "Beskrivelse mangler"; }
QCString trDocumentation() QCString trDocumentation()
...@@ -221,7 +221,7 @@ class TranslatorNorwegian : public Translator ...@@ -221,7 +221,7 @@ class TranslatorNorwegian : public Translator
QCString trVariables() QCString trVariables()
{ return "Variable"; } { return "Variable"; }
QCString trEnumerasjonValues() QCString trEnumerationValues()
{ return "Enumererte typers verdier"; } { return "Enumererte typers verdier"; }
QCString trAuthor() QCString trAuthor()
...@@ -230,19 +230,19 @@ class TranslatorNorwegian : public Translator ...@@ -230,19 +230,19 @@ class TranslatorNorwegian : public Translator
QCString trDefineDocumentation() QCString trDefineDocumentation()
{ return "Dokumentasjon over definisjoner"; } { return "Dokumentasjon over definisjoner"; }
QCString trFuncsjonPrototypeDocumentation() QCString trFunctionPrototypeDocumentation()
{ return "Dokumentasjon over funksjonsprototyper"; } { return "Dokumentasjon over funksjonsprototyper"; }
QCString trTypedefDocumentation() QCString trTypedefDocumentation()
{ return "Dokumentasjon over typedefinisjoner"; } { return "Dokumentasjon over typedefinisjoner"; }
QCString trEnumerasjonTypeDocumentation() QCString trEnumerationTypeDocumentation()
{ return "Dokumentasjon over enumererte typer"; } { return "Dokumentasjon over enumererte typer"; }
QCString trEnumerasjonValueDocumentation() QCString trEnumerationValueDocumentation()
{ return "Dokumentasjon over enumererte typers verdier"; } { return "Dokumentasjon over enumererte typers verdier"; }
QCString trFuncsjonDocumentation() QCString trFunctionDocumentation()
{ return "Dokumentasjon over funksjoner"; } { return "Dokumentasjon over funksjoner"; }
QCString trVariableDocumentation() QCString trVariableDocumentation()
...@@ -328,7 +328,7 @@ class TranslatorNorwegian : public Translator ...@@ -328,7 +328,7 @@ class TranslatorNorwegian : public Translator
// new since 0.49-990405 // new since 0.49-990405
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
virtual QCString trRelatedFuncsjonDocumentation() virtual QCString trRelatedFunctionDocumentation()
{ return "Venners och beslektede funksjoners dokumentasjon"; } { return "Venners och beslektede funksjoners dokumentasjon"; }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
......
...@@ -18,9 +18,9 @@ ...@@ -18,9 +18,9 @@
#ifndef TRANSLATOR_PL_H #ifndef TRANSLATOR_PL_H
#define 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: public:
...@@ -427,47 +427,47 @@ class TranslatorPolish : public Translator ...@@ -427,47 +427,47 @@ class TranslatorPolish : public Translator
return (QCString)"Diagram dziedziczenia dla "+clName; 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() QCString trForInternalUseOnly()
{ return "Tylko do u¿ytku wewnêtrznego."; } { 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() QCString trReimplementedForInternalReasons()
{ return "Reimplementowana z wewnêtrzych przyczyn; nie dotyczy API."; } { 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() QCString trWarning()
{ return "Ostrze¿enie"; } { 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() QCString trBugsAndLimitations()
{ return "B³êdy i ograniczenia"; } { 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() QCString trVersion()
{ return "Wersja"; } { return "Wersja"; }
/*! this text is generated when the \date command is used. */ /*! this text is generated when the \\date command is used. */
QCString trDate() QCString trDate()
{ return "Data"; } { return "Data"; }
/*! this text is generated when the \author command is used. */ /*! this text is generated when the \\author command is used. */
QCString trAuthors() QCString trAuthors()
{ return "Autorzy"; } { return "Autorzy"; }
/*! this text is generated when the \return command is used. */ /*! this text is generated when the \\return command is used. */
QCString trReturns() QCString trReturns()
{ return "Powroty"; } { return "Powroty"; }
/*! this text is generated when the \sa command is used. */ /*! this text is generated when the \\sa command is used. */
QCString trSeeAlso() QCString trSeeAlso()
{ return "Zobacz równie¿"; } { 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() QCString trParameters()
{ return "Parametry"; } { return "Parametry"; }
/*! this text is generated when the \exception command is used. */ /*! this text is generated when the \\exception command is used. */
QCString trExceptions() QCString trExceptions()
{ return "Wyj±tki"; } { return "Wyj±tki"; }
......
...@@ -20,9 +20,9 @@ ...@@ -20,9 +20,9 @@
#ifndef TRANSLATOR_PT_H #ifndef TRANSLATOR_PT_H
#define 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: public:
QCString idLanguage() QCString idLanguage()
...@@ -403,48 +403,48 @@ class TranslatorPortuguese : public Translator ...@@ -403,48 +403,48 @@ class TranslatorPortuguese : public Translator
return (QCString)"Diagrama de heranças da classe "+clName; 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() QCString trForInternalUseOnly()
{ return "Apenas para uso interno."; } { 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() QCString trReimplementedForInternalReasons()
{ return "Redefinido por razões internas; o interface não é afectado"; { 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() QCString trWarning()
{ return "Aviso"; } { return "Aviso"; }
/*! this text is generated when the \bug command is used. */ /*! this text is generated when the \\bug command is used. */
QCString trBugsAndLimitations() QCString trBugsAndLimitations()
{ return "Bugs e limitações"; } { 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() QCString trVersion()
{ return "Versão"; } { 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() QCString trDate()
{ return "Data"; } { return "Data"; }
/*! this text is generated when the \author command is used. */ /*! this text is generated when the \\author command is used. */
QCString trAuthors() QCString trAuthors()
{ return "Autor(es)"; } { 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() QCString trReturns()
{ return "Retorna"; } { return "Retorna"; }
/*! this text is generated when the \sa command is used. */ /*! this text is generated when the \\sa command is used. */
QCString trSeeAlso() QCString trSeeAlso()
{ return "Veja também"; } { 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() QCString trParameters()
{ return "Parâmetros"; } { 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() QCString trExceptions()
{ return "Excepções"; } { return "Excepções"; }
......
...@@ -32,10 +32,9 @@ ...@@ -32,10 +32,9 @@
#ifndef TRANSLATOR_RO_H #ifndef TRANSLATOR_RO_H
#define TRANSLATOR_RO_H #define TRANSLATOR_RO_H
#include "classdef.h" #include "translator_adapter.h"
#include "util.h"
class TranslatorRomanian: public Translator class TranslatorRomanian: public TranslatorAdapter_1_2_1
{ {
public: public:
...@@ -452,47 +451,47 @@ class TranslatorRomanian: public Translator ...@@ -452,47 +451,47 @@ class TranslatorRomanian: public Translator
return (QCString)"Diagrama de relaþii pentru "+clName; 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() virtual QCString trForInternalUseOnly()
{ return "Doar pentru uz intern."; } { 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() virtual QCString trReimplementedForInternalReasons()
{ return "Reimplementat din motive interne; API-ul nu este afectat."; } { 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() virtual QCString trWarning()
{ return "Atenþie"; } { 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() virtual QCString trBugsAndLimitations()
{ return "Buguri ºi limitãri"; } { 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() virtual QCString trVersion()
{ return "Versiunea"; } { 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() virtual QCString trDate()
{ return "Data"; } { 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() virtual QCString trAuthors()
{ return "Autorul/Autorii"; } { 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() virtual QCString trReturns()
{ return "Întoarce"; } { 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() virtual QCString trSeeAlso()
{ return "Vezi ºi"; } { 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() virtual QCString trParameters()
{ return "Parametri"; } { 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() virtual QCString trExceptions()
{ return "Excepþii"; } { return "Excepþii"; }
......
...@@ -48,92 +48,10 @@ ...@@ -48,92 +48,10 @@
#ifndef TRANSLATOR_RU_H #ifndef TRANSLATOR_RU_H
#define 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: private:
/*! The Decode() inline assumes the source written in the /*! The Decode() inline assumes the source written in the
Koi8-R encoding (maintainer dependent). Koi8-R encoding (maintainer dependent).
...@@ -153,20 +71,13 @@ class TranslatorRussian : public Translator ...@@ -153,20 +71,13 @@ class TranslatorRussian : public Translator
{ return "russian"; } { return "russian"; }
/* Used to get the command(s) for the language support. */ /* Used to get the command(s) for the language support. */
// virtual QCString latexLanguageSupportCommand() virtual QCString latexLanguageSupportCommand()
{ return "\\usepackage[russianb]{babel}\n"; }
/*! 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"; }
/*! return the language charset. This will be used for the HTML output */ /*! return the language charset. This will be used for the HTML output */
virtual QCString idLanguageCharset() virtual QCString idLanguageCharset()
#ifdef _WIN32 #ifdef _WIN32
{ return "Windows-1215"; } { return "Windows-1251"; }
#else #else
{ return "koi8-r"; } { return "koi8-r"; }
#endif #endif
...@@ -356,35 +267,35 @@ class TranslatorRussian : public Translator ...@@ -356,35 +267,35 @@ class TranslatorRussian : public Translator
} }
else else
{ {
return decode( " ." ); return decode( " ." );
} }
} }
/*! This is an introduction to the page with all class members. */ /*! This is an introduction to the page with all class members. */
virtual QCString trCompoundMembersDescription(bool extractAll) virtual QCString trCompoundMembersDescription(bool extractAll)
{ {
QCString result=" "; QCString result=" ";
if(!extractAll) result+=" "; if(!extractAll) result+=" ";
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
result+=" "; result+=" ";
else else
result+=" "; result+=" ";
if(extractAll) if(extractAll)
{ {
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
result+=" ."; result+=" .";
else else
result+=" ."; result+=" .";
} }
else else
{ {
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
result += ""; result += "";
else else
result += ""; result += "";
result+=", ."; result+=", .";
} }
return decode( result ); return decode( result );
} }
/*! This is an introduction to the page with all file members. */ /*! This is an introduction to the page with all file members. */
...@@ -731,7 +642,7 @@ class TranslatorRussian : public Translator ...@@ -731,7 +642,7 @@ class TranslatorRussian : public Translator
*/ */
virtual QCString trRelatedFunctionDocumentation() virtual QCString trRelatedFunctionDocumentation()
{ return decode(" " { return decode(" "
" "); } " "); }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 0.49-990425 // new since 0.49-990425
...@@ -745,26 +656,26 @@ class TranslatorRussian : public Translator ...@@ -745,26 +656,26 @@ class TranslatorRussian : public Translator
QCString result; QCString result;
if (isTemplate) if (isTemplate)
{ {
result=" "; result=" ";
switch(compType) switch(compType)
{ {
case ClassDef::Class: result+=""; break; case ClassDef::Class: result+=""; break;
case ClassDef::Struct: result+=""; break; case ClassDef::Struct: result+=""; break;
case ClassDef::Union: result+=""; break; case ClassDef::Union: result+=""; break;
case ClassDef::Interface: result+=""; break; case ClassDef::Interface: result+=""; break;
case ClassDef::Exception: result+=""; break; case ClassDef::Exception: result+=""; break;
} }
} }
else else
{ {
switch(compType) switch(compType)
{ {
case ClassDef::Class: result+=""; break; case ClassDef::Class: result+=""; break;
case ClassDef::Struct: result+=""; break; case ClassDef::Struct: result+=""; break;
case ClassDef::Union: result+=""; break; case ClassDef::Union: result+=""; break;
case ClassDef::Interface: result+=""; break; case ClassDef::Interface: result+=""; break;
case ClassDef::Exception: result+=""; break; case ClassDef::Exception: result+=""; break;
} }
} }
result+=" "; result+=" ";
return decode(result)+clName; return decode(result)+clName;
...@@ -910,20 +821,20 @@ class TranslatorRussian : public Translator ...@@ -910,20 +821,20 @@ class TranslatorRussian : public Translator
switch(compType) switch(compType)
{ {
case ClassDef::Class: result+=""; case ClassDef::Class: result+="";
if (single) result+=''; else result+=""; if (single) result+=''; else result+="";
break; break;
case ClassDef::Struct: result+=""; case ClassDef::Struct: result+="";
if (single) result+=''; if (single) result+='';
break; break;
case ClassDef::Union: result+=""; case ClassDef::Union: result+="";
if (single) result+=''; else result+=''; if (single) result+=''; else result+='';
break; break;
case ClassDef::Interface: result+=""; case ClassDef::Interface: result+="";
if (single) result+=''; else result+=""; if (single) result+=''; else result+="";
break; break;
case ClassDef::Exception: result+=""; case ClassDef::Exception: result+="";
if (single) result+=''; else result+=''; if (single) result+=''; else result+='';
break; break;
} }
result+=" "; result+=" ";
if (single) result+=":"; else result+=":"; if (single) result+=":"; else result+=":";
...@@ -1072,7 +983,7 @@ class TranslatorRussian : public Translator ...@@ -1072,7 +983,7 @@ class TranslatorRussian : public Translator
} }
else else
{ {
return decode( " " ); return decode( " " );
} }
} }
virtual QCString trStaticPublicAttribs() virtual QCString trStaticPublicAttribs()
...@@ -1195,7 +1106,7 @@ class TranslatorRussian : public Translator ...@@ -1195,7 +1106,7 @@ class TranslatorRussian : public Translator
" :\n" " :\n"
"<ul>\n" "<ul>\n"
"<li> , " "<li> , "
" .\n" " .\n"
"<li> .\n" "<li> .\n"
"<li> .\n" "<li> .\n"
"<li> , \n" "<li> , \n"
...@@ -1209,7 +1120,7 @@ class TranslatorRussian : public Translator ...@@ -1209,7 +1120,7 @@ class TranslatorRussian : public Translator
"<li> .\n" "<li> .\n"
"<li> .\n" "<li> .\n"
"<li> , " "<li> , "
" ." " ."
" , " " , "
" . \n" " . \n"
"</ul>\n"); "</ul>\n");
...@@ -1306,7 +1217,7 @@ class TranslatorRussian : public Translator ...@@ -1306,7 +1217,7 @@ class TranslatorRussian : public Translator
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 1.2.? // new since 1.2.6
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
/*! Used as ansicpg for RTF file */ /*! Used as ansicpg for RTF file */
virtual QCString trRTFansicp() virtual QCString trRTFansicp()
......
...@@ -62,9 +62,9 @@ Problem! ...@@ -62,9 +62,9 @@ Problem!
#ifndef TRANSLATOR_SE_H #ifndef TRANSLATOR_SE_H
#define 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: public:
QCString idLanguage() QCString idLanguage()
......
...@@ -20,9 +20,9 @@ ...@@ -20,9 +20,9 @@
#ifndef TRANSLATOR_SI_H #ifndef TRANSLATOR_SI_H
#define 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: public:
QCString idLanguage() QCString idLanguage()
...@@ -403,6 +403,18 @@ class TranslatorSlovene : public Translator ...@@ -403,6 +403,18 @@ class TranslatorSlovene : public Translator
// the documentation of all namespaces. // the documentation of all namespaces.
{ return "Podati o imenskih prostorih"; } { 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 // 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