summaryrefslogtreecommitdiffstats
path: root/doc/language.doc
blob: 41e346e0bc9f315ca7b77db3a2f5afb75e5d3fb2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
/******************************************************************************
 *
 * 
 *
 * 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

<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.
<p>
Currently, supported for over 20 languages is available.

Here is a list of the languages and their current maintainers:
<p>

\htmlonly
<TABLE ALIGN=center CELLSPACING=0 CELLPADDING=0 BORDER=0>
<TR BGCOLOR="#000000">
<TD>
  <TABLE CELLSPACING=1 CELLPADDING=2 BORDER=0>
  <TR BGCOLOR="#4040c0">
  <TD ><b><font size=+1 color="#ffffff"> Language </font></b></TD>
  <TD ><b><font size=+1 color="#ffffff"> Maintainer </font></b></TD>
  <TD ><b><font size=+1 color="#ffffff"> Contact address </font>
          <font size=-2 color="#ffffff">(remove the NOSPAM.)</font></b></TD>
  <TR BGCOLOR="#ffffff">
      <TD>
	German
      </TD>  
      <TD>
        Jens Breitenstein
      </TD>
      <TD>
        <a href="mailto:Jens.Breitenstein@NOSPAM.tlc.de">
			Jens.Breitenstein@NOSPAM.tlc.de</a>
      </TD>
  </TR>
  <TR BGCOLOR="#ffffff">
      <TD>
        French
      </TD>  
      <TD>
        Christophe Bordeux
      </TD>
      <TD>
        <a href="mailto:bordeux@NOSPAM.lig.di.epfl.ch">
                        bordeux@NOSPAM.lig.di.epfl.ch</a>
      </TD>
  </TR>
  <TR BGCOLOR="#ffffff">
      <TD>
        Swedish
      </TD> 
      <TD>
        Samuel Hägglund<BR>
        XeT Erixon
      </TD>
      <TD>
        <a href="mailto:sahag96@NOSPAM.nts.mh.se">
	                sahag96@NOSPAM.nts.mh.se</a><br>
        <a href="mailto:xet@NOSPAM.hem.passagen.se">
		        xet@NOSPAM.hem.passagen.se</a>
      </TD>
  </TR>
  <TR BGCOLOR="#ffffff">
      <TD>
        Czech
      </TD>   
      <TD>
        Petr Prikryl<BR>
        Vlastimil Havran
      </TD>
      <TD>
        <a href="mailto:prikrylp@NOSPAM.skil.cz">
                        prikrylp@NOSPAM.skil.cz</a>
        <a href="mailto:havran@NOSPAM.fel.cvut.cz">
                        havran@NOSPAM.fel.cvut.cz</a>
      </TD>
  </TR>
  <TR BGCOLOR="#ffffff">
      <TD>
        Italian
      </TD>
      <TD>
        Ahmed Aldo Faisal<br>
        Alessandro Falappa    
      </TD>
      <TD>
        <a href="mailto:aaf23@NOSPAM.cam.ac.uk">
                        aaf23@NOSPAM.cam.ac.uk</a><br>
        <a href="mailto:a.falappa@NOSPAM.flashnet.it">
                        a.falappa@NOSPAM.flashnet.it</a>
      </TD>
  </TR>
  <TR BGCOLOR="#ffffff">
      <TD>
        Japanese
      </TD>
      <TD>
        Kenji Nagamatsu
      </TD>
      <TD>
        <a href="mailto:naga@NOSPAM.joyful.club.ne.jp">
                        naga@NOSPAM.joyful.club.ne.jp</a>
      </TD>
  </TR>
  <TR BGCOLOR="#ffffff">
      <TD>
        Spanish
      </TD>
      <TD>
        Francisco Oltra Thennet 
      </TD>
      <TD>
        <a href="mailto:foltra@NOSPAM.puc.cl">
                        foltra@NOSPAM.puc.cl</a>
      </TD>
  </TR>
  <TR BGCOLOR="#ffffff">
      <TD>
        Finnish
      </TD>
      <TD>
        Olli Korhonen
      </TD>
      <TD>
        <a href="mailto:Olli.Korhonen@NOSPAM.ccc.fi">
                        Olli.Korhonen@NOSPAM.ccc.fi</a>
      </TD>
  </TR>
  <TR BGCOLOR="#ffffff">
      <TD>
        Russian
      </TD>
      <TD>
        Alexandr Chelpanov
      </TD>
      <TD>
        <a href="mailto:cav@NOSPAM.cryptopro.ru">
                        cav@NOSPAM.cryptopro.ru</a>
      </TD>
  </TR>
  <TR BGCOLOR="#ffffff">
      <TD>
        Korean
      </TD>
      <TD>
        Richard Kim
      </TD>
      <TD>
        <a href="mailto:ryk@NOSPAM.dspwiz.com">
                        ryk@NOSPAM.dspwiz.com</a>
      </TD>
  </TR>
  <TR BGCOLOR="#ffffff">
      <TD>
        Hungarian
      </TD>
      <TD>
        Földvári György
      </TD>
      <TD>
        <a href="mailto:foldvari@NOSPAM.diatronltd.com">
                        foldvari@NOSPAM.diatronltd.com</a>
      </TD>
  </TR>
  <TR BGCOLOR="#ffffff">
      <TD>
        Croatian
      </TD>
      <TD>
        Boris Bralo
      </TD>
      <TD>
        <a href="mailto:boris.bralo@NOSPAM.zg.tel.hr">
                        boris.bralo@NOSPAM.zg.tel.hr</a>
      </TD>
  </TR>
  <TR BGCOLOR="#ffffff">
      <TD>
        Polish
      </TD>  
      <TD>
        Grzegorz Kowal
      </TD>
      <TD>
        <a href="mailto:g_kowal@NOSPAM.poczta.onet.pl">
                        g_kowal@NOSPAM.poczta.onet.pl</a>
      </TD>
  </TR>


  <TR BGCOLOR="#ffffff">
      <TD>
        Dutch
      </TD>  
      <TD>
        Dimitri van Heesch
      </TD>
      <TD>
        <a href="mailto:dimitri@NOSPAM.stack.nl">
	                dimitri@NOSPAM.stack.nl</a>
      </TD>
  </TR>
  </TABLE>
</TD>
</TR>
</TABLE>
\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
<p>

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.

<h3>Adding a new language to doxygen</h3>

This short HOWTO explains how to add support for a new language to Doxygen:

Just follow these steps:
<ol>
<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_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:
    Add a 
\verbatim
#include<translator_xx.h>
\endverbatim
    in <code>setTranslator()</code> add
\verbatim
    else if (L_EQUAL("your_language_name"))
    {
      theTranslator = new TranslatorYourLanguage;
    }
\endverbatim
    after the <code>if { ... }</code>
<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_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 (which is fine, if
           idLanguageCharset() is set correctly).
     <li>  Use html codes like \&auml; for an a with an umlaut (i.e. &auml;).
           See the HTML specification for the codes.
     </ul>
   </ul>
<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> 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).

*/