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