/****************************************************************************** * * * * 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. * */ /*! \page langhowto Internationalization

Support for multiple languages

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.

Currently, supported for over 20 languages is available. Here is a list of the languages and their current maintainers:

\htmlonly
Language Maintainer Contact address (remove the NOSPAM.)
German Jens Breitenstein Jens.Breitenstein@NOSPAM.tlc.de
French Christophe Bordeux bordeux@NOSPAM.lig.di.epfl.ch
Swedish Samuel Hägglund
XeT Erixon
sahag96@NOSPAM.nts.mh.se
xet@NOSPAM.hem.passagen.se
Czech Petr Prikryl
Vlastimil Havran
prikrylp@NOSPAM.skil.cz havran@NOSPAM.fel.cvut.cz
Italian Ahmed Aldo Faisal
Alessandro Falappa
aaf23@NOSPAM.cam.ac.uk
a.falappa@NOSPAM.flashnet.it
Japanese Kenji Nagamatsu naga@NOSPAM.joyful.club.ne.jp
Spanish Francisco Oltra Thennet foltra@NOSPAM.puc.cl
Finnish Olli Korhonen Olli.Korhonen@NOSPAM.ccc.fi
Russian Alexandr Chelpanov cav@NOSPAM.cryptopro.ru
Korean Richard Kim ryk@NOSPAM.dspwiz.com
Hungarian Földvári György foldvari@NOSPAM.diatronltd.com
Croatian Boris Bralo boris.bralo@NOSPAM.zg.tel.hr
Polish Grzegorz Kowal g_kowal@NOSPAM.poczta.onet.pl
Dutch Dimitri van Heesch dimitri@NOSPAM.stack.nl
\endhtmlonly \latexonly \begin{tabular}{|l|l|l|} \hline {\bf Language} & {\bf Maintainer} & {Contact address} \\ \hline German & Jens Breitenstein & {\tt Jens.Breitenstein@tlc.de} \\ \hline French & Christophe Bordeux & {\tt bordeux@lig.di.epfl.ch} \\ \hline Swedish & Samuel H\"agglund & {\tt sahag96@nts.mh.se} \\ & XeT Erixon & {\tt xet@hem.passagen.se} \\ \hline Czech & Petr Prikryl & {\tt prikrylp@skil.cz} \\ & Vlastimil Havran & {\tt havran@fel.cvut.cz} \\ \hline Italian & Ahmed Aldo Faisal & {\tt aaf23@cam.ac.uk} \\ & Alessandro Falappa & {\tt a.falappa@flashnet.it} \\ \hline Japanese & Kenji Nagamatsu & {\tt naga@joyful.club.ne.jp} \\ \hline Spanish & Francisco Oltra Thennet & {\tt foltra@puc.cl} \\ \hline Finnish & Olli Korhonen & {\tt Olli.Korhonen@ccc.fi} \\ \hline Russian & Alexandr Chelpanov & {\tt cav@cryptopro.ru} \\ \hline Korean & Richard Kim & {\tt ryk@dspwiz.com} \\ \hline Hungarian & Földvári György & {\tt foldvari@diatronltd.com} \\ \hline Croatian & Boris Bralo & {\tt boris.bralo@zg.tel.hr} \\ \hline Polish & Grzegorz Kowal & {\tt g\_kowal@poczta.onet.pl} \\ \hline Dutch & Dimitri van Heesch & {\tt dimitri@stack.nl} \\ \hline \end{tabular} \endlatexonly

Most people on the list have indicated that they were also busy doing other things, so if you want to help to speed things up please let them (or me) know. If you want to add support for a language that is not yet listed please see the next section.

Adding a new language to doxygen

This short HOWTO explains how to add support for a new language to Doxygen: Just follow these steps:
  1. 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.
  2. Create a copy of translator_en.h and name it translator_.h I'll use xx in the rest of this document.
  3. Edit language.cpp: Add a \verbatim #include \endverbatim in setTranslator() add \verbatim else if (L_EQUAL("your_language_name")) { theTranslator = new TranslatorYourLanguage; } \endverbatim after the if { ... }
  4. Edit libdoxygen.pro.in and add \c translator_xx.h to the \c HEADERS line in the file doxygen.pro.
  5. Edit translator_xx.h:
  6. Run configure and make again from the root of the distribution, in order to regenerated the Makefiles.
  7. Now you can use OUTPUT_LANGUAGE = your_language_name in the config file to generate output in your language.
  8. Send translator_xx.h to me so I can add it to doxygen.

Maintaining a language

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). */