summaryrefslogtreecommitdiffstats
path: root/doc/language.tpl
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2001-11-11 19:56:10 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2001-11-11 19:56:10 (GMT)
commitf11235dce05843401bccaae6dfcee8f65ac9da1d (patch)
treeed6f059aa9ea291c5f1ae7480a5c57be37bea1ed /doc/language.tpl
parent621bb644049ff3957b4b69a02f3d42da89eefad0 (diff)
downloadDoxygen-f11235dce05843401bccaae6dfcee8f65ac9da1d.zip
Doxygen-f11235dce05843401bccaae6dfcee8f65ac9da1d.tar.gz
Doxygen-f11235dce05843401bccaae6dfcee8f65ac9da1d.tar.bz2
Release-1.2.11-20011111
Diffstat (limited to 'doc/language.tpl')
-rw-r--r--doc/language.tpl65
1 files changed, 31 insertions, 34 deletions
diff --git a/doc/language.tpl b/doc/language.tpl
index 7497bea..3982278 100644
--- a/doc/language.tpl
+++ b/doc/language.tpl
@@ -104,21 +104,23 @@ Just follow these steps:
<h3>Maintaining a language</h3>
-As new versions of doxygen appear, new sentences (\c trXxxx()
-methods) will be added to the \c 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 the new sentences and sent the results would not
-be very practical. The following text describes the usage of
-translator adapters to solve the problem.
+New versions of doxygen may use new translated sentences. In such
+situation, the \c Translator class requires implementation of new
+methods -- its interface changes. Of course, the English
+sentences need to be translated to the other languages. At least,
+new methods have to be implemented by the language-related
+translator class; otherwise, doxygen wouldn't even compile. Waiting
+until all language maintainers have translated the new sentences and
+sent the results would not be very practical. The following text
+describes the usage of translator adapters to solve the problem.
<b>The role of Translator Adapters.</b>
Whenever the \c Translator class interface changes in the new
release, the new class \c TranslatorAdapter_x_y_z is added to the \c
translator_adapter.h file (here x, y, and z are numbers that
-correspond to the current version of doxygen). All translators that
-previously derived from the \c Translator class now derive from this
-adapter class.
+correspond to the current official version of doxygen). All
+translators that previously derived from the \c Translator class now
+derive from this adapter class.
The \c TranslatorAdapter_x_y_z class implements the new, required
methods. If the new method replaces some similar but obsolete
@@ -128,7 +130,7 @@ TranslatorAdapter_x_y_z class may use the obsolete method to get the
result which is as close as possible to the older result in the
target language. If it is not possible, the result (the default
translation) is obtained using the English translator, which is (by
-definition) always up to date.
+definition) always up-to-date.
<b>For example,</b> when the new \c trFile() method with
parameters (to determine the capitalization of the first letter and
@@ -202,29 +204,25 @@ The translator adapter classes are chained so that the older
translator adapter class uses the one-step-newer translator adapter
as the base class. The newer adapter does less \e adapting work
than the older one. The oldest adapter class derives (indirectly)
-from all of the adapter classes. The newest adapter class derives
-directly from the abstract class \c Translator.
-
-The name of the adapter class was chosen so that its suffix is
-derived from the previous version of doxygen. This way, one can say
-approximately, when the language translator class was last updated
--- see details below. The newest adapter translator for CVS release
-(i.e. non official) is named \c TranslatorAdapterCVS. As it derives
-only from the \c Translator class, it can be used only for language
-translator classes that were up-to-date in the time of the last
-release.
-
-Status of the translators that derive from the \c
-TranslatorAdapterCVS is named as <em>almost up-to-date</em>.
-Its code is moved into the new \c Translator_x_y_z when new version
-of doxygen is officially released.
+from all of the adapter classes. The name of the adapter class is
+chosen so that its suffix is derived from the previous official
+version of doxygen that did not need the adapter. This way, one can
+say approximately, when the language translator class was last
+updated -- see details below.
+
+The newest translator adapter derives from the abstract \c
+TranslatorAdapterBase class that derives directly from the abstract
+\c Translator class. It adds only the private English-translator
+member for easy implementation of the default translation inside the
+adapter classes, and it also enforces implementation of one method
+for noticing the user that the language translation is not up-to-date
+(because of that some sentences in the generated files may appear in
+English).
Once the oldest adapter class is not used by any of the language
-translators, it can be removed from the doxygen project. This also
-means, that there probably still is some language which uses the
-oldest adapter. The maintainers should try to reach the state with
-the minimal number of translator adapter classes.
-
+translators, it can be removed from the doxygen project. The
+maintainers should try to reach the state with the minimal number of
+translator adapter classes.
<b>To simplify the maintenance of the language translator classes</b>
for the supported languages, the \c translator.pl perl
@@ -245,7 +243,6 @@ Of course, you are not forced to use the results of the script. You
can find the same information by looking at the adapter class and
its base classes.
-
<b>How should I update my language translator?</b> Firstly, you
should be the language maintainer, or you should let him/her know
about the changes. The following text was written for the language
@@ -297,7 +294,7 @@ can change the translator adapter base to the newer one.
Do not blindly implement all methods that are implemented by your
translator adapter base class. The reason is that the adapter
classes implement also obsolete methods. Another reason is that
-some of the methods could become obsolete later.
+some of the methods could become obsolete from some newer adapter on.
*/