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 (version unknown), 23 languages are supported (sorted alphabetically): Brazilian Portuguese, Chinese, Croatian, Czech, Danish, Dutch, English, Finnish, French, German, Hungarian, Italian, Japanese, Korean, Norwegian, Polish, Portuguese, Romanian, Russian, Slovak, Slovene, Spanish, and Swedish.
The table of information related to the supported languages follows. It is sorted by language alphabetically. The Status column was generated from sources and shows approximately the last version when the translator was updated.
|
Have a look at doxygen/doc/translator_report.txt
for more details.
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.
This short HOWTO explains how to add support for a new language to Doxygen:
Just follow these steps:
#include<translator_xx.h>
setTranslator()
add else if (L_EQUAL("your_language_name")) { theTranslator = new TranslatorYourLanguage; }
if { ... }
translator_xx.h
to the HEADERS
line in the file doxygen.pro. translator_xx.h
: TRANSLATOR_EN_H
to TRANSLATOR_XX_H
twice. idLanguage()
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(). OUTPUT_LANGUAGE = your_language_name
in the config file to generate output in your language. translator_xx.h
to me so I can add it to doxygen.
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 the abstract class Translator and provide translations for the methods that were previously provided by the adapter class (and its base classes).