Fix for UBSan build
[platform/upstream/doxygen.git] / src / translator_ua.h
1 /******************************************************************************
2  *
3  * 
4  *
5  * Copyright (C) 1997-2012 by Dimitri van Heesch.
6  *
7  * Permission to use, copy, modify, and distribute this software and its
8  * documentation under the terms of the GNU General Public License is hereby 
9  * granted. No representations are made about the suitability of this software 
10  * for any purpose. It is provided "as is" without express or implied warranty.
11  * See the GNU General Public License for more details.
12  *
13  * Documents produced by Doxygen are derivative works derived from the
14  * input used in their production; they are not affected by this license.
15  *
16  * The translation into Ukrainian was provided by
17  *   Olexij Tkatchenko (olexij.tkatchenko@parcs.de)
18  */
19
20 #ifndef TRANSLATOR_UA_H
21 #define TRANSLATOR_UA_H
22
23 class TranslatorUkrainian : public TranslatorAdapter_1_4_1
24 {
25   private:
26     /*! The Decode() inline assumes the source written in the 
27         Koi8-U encoding (maintainer dependent). 
28      */
29     inline QCString decode(const QCString & sInput)
30     { 
31 //#ifdef _WIN32
32 //      return Koi8RToWindows1251(sInput);
33 //#else
34       return sInput;
35 //#endif
36     }
37
38   public:
39     /*! Used for identification of the language. */
40     virtual QCString idLanguage()
41     { return "ukrainian"; }
42
43     /* Used to get the command(s) for the language support. */
44     virtual QCString latexLanguageSupportCommand()
45     {
46 //#ifdef _WIN32
47 //      return "\\usepackage[cp1251]{inputenc}\n\\usepackage[ukrainian]{babel}\n"; 
48 //#else
49       return "\\usepackage[T2A]{fontenc}\n\\usepackage[ukrainian]{babel}\n"; 
50 //#endif
51     }
52
53     /*! return the language charset. This will be used for the HTML output */
54     virtual QCString idLanguageCharset()
55     {
56 //#ifdef _WIN32
57 //      return "Windows-1251"; 
58 //#else
59       return "koi8-u";
60 //#endif
61     }
62
63     // --- Language translation methods -------------------
64
65     /*! used in the compound documentation before a list of related functions. */
66     virtual QCString trRelatedFunctions()
67     { return decode("óÐÏÒ¦ÄÎÅΦ ÆÕËæ§"); }
68
69     /*! subscript for the related functions. */
70     virtual QCString trRelatedSubscript()
71     { return decode("(ÎÅ ÍÅÔÏÄÉ ËÏÍÐÏÎÅÎÔ)"); }
72
73     /*! header that is put before the detailed description of files, classes and namespaces. */
74     virtual QCString trDetailedDescription()
75     { return decode("äÅÔÁÌØÎÉÊ ÏÐÉÓ"); }
76
77     /*! header that is put before the list of typedefs. */
78     virtual QCString trMemberTypedefDocumentation()
79     { return decode("ïÐÉÓ ÔÉЦנËÏÒÉÓÔÕ×ÁÞÁ"); }
80
81     /*! header that is put before the list of enumerations. */
82     virtual QCString trMemberEnumerationDocumentation()
83     { return decode("ïÐÉÓ ÐÅÒÅ̦˦נËÏÒÉÓÔÕ×ÁÞÁ"); }
84
85     /*! header that is put before the list of member functions. */
86     virtual QCString trMemberFunctionDocumentation()
87     { return decode("ïÐÉÓ ÍÅÔÏĦנËÏÍÐÏÎÅÎÔ"); }
88
89     /*! header that is put before the list of member attributes. */
90     virtual QCString trMemberDataDocumentation()
91     {
92       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
93       {
94         return decode( "ðÏÌÑ" );
95       }
96       else
97       {
98         return decode( "ëÏÍÐÏÎÅÎÔΦ ÄÁΦ" );
99       }
100     }
101
102     /*! this is the text of a link put after brief descriptions. */
103     virtual QCString trMore()
104     { return decode("äÅÔÁÌØΦÛÅ..."); }
105
106     /*! put in the class documentation */
107     /* Dosn't use when optimization for C is on. */
108     virtual QCString trListOfAllMembers()
109     {
110       return decode( "óÐÉÓÏË ×ӦȠÅÌÅÍÅÎÔ¦×" );
111     }
112
113     /*! used as the title of the "list of all members" page of a class */
114     /* Dosn't use when optimization for C is on. */
115     virtual QCString trMemberList()
116     {
117       return decode( "CÐÉÓÏË ÅÌÅÍÅÎÔ¦×" );
118     }
119
120     /*! this is the first part of a sentence that is followed by a class name */
121     /* Dosn't use when optimization for C is on. */
122     virtual QCString trThisIsTheListOfAllMembers()
123     { return decode("ðÏ×ÎÉÊ ÓÐÉÓÏË ÅÌÅÍÅÎÔ¦×"); }
124
125     /*! this is the remainder of the sentence after the class name */
126     /* Dosn't use when optimization for C is on. */
127     virtual QCString trIncludingInheritedMembers()
128     { return decode(", ×ËÌÀÞÁÀÞÉ ×Ó¦ ÕÓÐÁÄËÏ×ÁΦ ÅÌÅÍÅÎÔÉ"); }
129
130     /*! this is put at the author sections at the bottom of man pages.
131      *  parameter s is name of the project name.
132      */
133     virtual QCString trGeneratedAutomatically(const char *s)
134     { QCString result=decode("á×ÔÏÍÁÔÉÞÎÏ ÓÔ×ÏÒÅÎÏ ÚÁ ÄÏÐÏÍÏÇÏÀ Doxygen");
135       if (s) result+=decode(" ÄÌÑ ")+s;
136       result+=decode(" Ú ÔÅËÓÔÕ ÐÒÏÇÒÁÍÉ."); 
137       return result;
138     }
139
140     /*! put after an enum name in the list of all members */
141     virtual QCString trEnumName()
142     { return decode("ðÅÒÅ̦Ë"); }
143
144     /*! put after an enum value in the list of all members */
145     virtual QCString trEnumValue()
146     { return decode("åÌÅÍÅÎÔ ÐÅÒÅ̦ËÕ"); }
147
148     /*! put after an undocumented member in the list of all members */
149     virtual QCString trDefinedIn()
150     { return decode("×ÉÚÎÁÞÅÎÏ × "); }
151
152     // quick reference sections
153
154     /*! This is put above each page as a link to the list of all groups of 
155      *  compounds or files (see the \\group command).
156      */
157     virtual QCString trModules()
158     { return decode("ðÒÏÇÒÁÍΦ ÍÏÄÕ̦"); }
159
160     /*! This is put above each page as a link to the class hierarchy */
161     virtual QCString trClassHierarchy()
162     { return decode("¶¤ÒÁÒȦѠËÌÁÓ¦×"); }
163
164     /*! This is put above each page as a link to the list of annotated classes */
165     virtual QCString trCompoundList()
166     {
167       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
168       {
169         return decode( "óÔÒÕËÔÕÒÉ ÄÁÎÉÈ" );
170       }
171       else
172       {
173         return decode( "ëÌÁÓÉ" );
174       }
175     }
176
177     /*! This is put above each page as a link to the list of documented files */
178     virtual QCString trFileList()
179     { return decode("æÁÊÌÉ"); }
180
181     /*! This is put above each page as a link to the list of all verbatim headers */
182     virtual QCString trHeaderFiles()
183     { return decode("úÁÇÏÌÏ×ÏÞΦ ÆÁÊÌÉ"); }
184
185     /*! This is put above each page as a link to all members of compounds. */
186     virtual QCString trCompoundMembers()
187     {
188       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
189       {
190         return decode( "ðÏÌÑ ÓÔÒÕËÔÕÒ" );
191       }
192       else
193       {
194         return decode( "åÌÅÍÅÎÔÉ ËÌÁÓ¦×" );
195       }
196     }
197
198     /*! This is put above each page as a link to all members of files. */
199     /*??*/
200     virtual QCString trFileMembers()
201     {
202       return decode( "åÌÅÍÅÎÔÉ ÆÁÊÌÕ" );
203     }
204
205     /*! This is put above each page as a link to all related pages. */
206     virtual QCString trRelatedPages()
207     /* ?? ÷ÁÒÉÁÎÔ ÐÅÒÅ×ÏÄÁ "óÍ. ÔÁËÖÅ: " ÂÏÌÅÅ ÕÄÁÞÎÙÊ, ÎÏ ÎÅ × ÚÁÇÏÌÏ×ËÅ,
208      ËÁË × ÄÁÎÎÏÍ ÓÌÕÞÁÅ. */
209     { return decode("äÏÄÁÔËÏ×Á ¦ÎÆÏÒÍÁæÑ"); }
210
211     /*! This is put above each page as a link to all examples. */
212     virtual QCString trExamples()
213     { return decode("ðÒÉËÌÁÄÉ"); }
214
215     /*! This is put above each page as a link to the search engine. */
216     virtual QCString trSearch()
217     { return decode("ðÏÛÕË"); }
218
219     /*! This is an introduction to the class hierarchy. */
220     virtual QCString trClassHierarchyDescription()
221     { return decode("óÐÉÓÏË ÕÓÐÁÄËÕ×ÁÎØ ×ÐÏÒÑÄËÏ×ÁÎÏ ÎÁÂÌÉÖÅÎÏ ÄÏ ÁÌÆÁצÔÕ"); }
222
223     /*! This is an introduction to the list with all files. */
224     virtual QCString trFileListDescription(bool extractAll)
225     {
226       QCString result="ðÏ×ÎÉÊ ÓÐÉÓÏË ";
227       if (!extractAll) result+="ÄÏËÕÍÅÎÔÏ×ÁÎÉÈ ";
228       result+="ÆÁÊ̦×.";
229       return decode(result);
230     }
231
232     /*! This is an introduction to the annotated compound list. */
233     virtual QCString trCompoundListDescription()
234     {
235       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
236       {
237         return decode( "óÔÒÕËÔÕÒÉ ÄÁÎÉÈ Ú ËÏÒÏÔËÉÍ ÏÐÉÓÏÍ." );
238       }
239       else
240       {
241         return decode( "ëÌÁÓÉ, ÓÔÒÕËÔÕÒÉ, ÏÂ'¤ÄÎÁÎÎÑ ÔÁ ¦ÎÔÅÒÆÅÊÓÉ  Ú ËÏÒÏÔËÉÍ ÏÐÉÓÏÍ." );
242       }
243     }
244
245     /*! This is an introduction to the page with all class members. */
246     virtual QCString trCompoundMembersDescription(bool extractAll)
247     {
248         QCString result="óÐÉÓÏË ×ӦȠ";
249         if(!extractAll) result+="ÄÏËÕÍÅÎÔÏÁÎÉÈ ";
250         if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
251           result+="ÅÌÅÍÅÎԦנÓÔÒÕËÔÕÒ ÄÁÎÉÈ Ú ÐÏÓÉÌÁÎÎÑÍ ÎÁ ";
252         else
253           result+="ÅÌÅÍÅÎԦנËÌÁӦנÄÁÎÉÈ Ú ÐÏÓÉÌÁÎÎÑÍ ÎÁ ";
254         if(extractAll)
255         {
256           if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
257             result+="ÄÏËÕÍÅÎÔÁæÀ ÐÏ ÓÔÒÕËÔÕÒ¦/ÏÂ'¤ÄÎÁÎÎÀ ËÏÖÎÏÇÏ ÅÌÅÍÅÎÔÕ.";
258           else
259             result+="ÄÏËÕÍÅÎÔÁæÀ ÐÏ ËÌÁÓÕ ËÏÖÎÏÇÏ ÅÌÅÍÅÎÔÕ.";
260         }
261         else
262         {
263           if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
264             result += "צÄÐÏצÄΦ ÓÔÒÕËÔÕÒÉ";
265           else
266             result += "צÄÐÏצÄΦ ËÌÁÓÉ";
267           result+=", ÄÏ ÑËÉÈ ×ÏÎÉ ÎÁÌÅÖÁÔØ.";
268         }
269         return decode( result );
270     }
271
272     /*! This is an introduction to the page with all file members. */
273     virtual QCString trFileMembersDescription(bool extractAll)
274     {
275       QCString result="óÐÉÓÏË ×ӦȠ";
276       if (!extractAll) result+="ÄÏËÕÍÅÎÔÏ×ÁÎÉÈ ";
277
278       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
279       {
280         result+="ÆÕÎËæÊ, ÚͦÎÎÉÈ, ÍÁËÒÏÏÚÎÁÞÅÎØ, "
281                 "ÐÅÒÅ̦˦נ¦ ÏÚÎÁÞÅÎØ ÔÉЦ×";
282       }
283       else
284       {
285         result+="ÅÌÅÍÅÎԦנÆÁÊ̦נ";
286       }
287       result+=" Ú ÐÏÓÉÌÁÎÑÍ ÎÁ ";
288       if (extractAll)
289         result+="ÆÁÊÌÉ, ÄÏ ÑËÉÈ ×ÏÎÉ ÎÁÌÅÖÁÔØ.";
290       else
291         result+="ÄÏËÕÍÅÎÔÁæÀ.";
292       return decode( result );
293     }
294
295     /*! This is an introduction to the page with the list of all header files. */
296     virtual QCString trHeaderFilesDescription()
297     { return decode("ðÏ×ÎÉÊ ÓÐÉÓÏË ÚÁÇÏÌÏ×ÏÞÎÉÈ ÆÁÊ̦×."); }
298
299     /*! This is an introduction to the page with the list of all examples */
300     virtual QCString trExamplesDescription()
301     { return decode("ðÏ×ÎÉÊ ÓÐÉÓÏË ÐÒÉËÌÁĦ×."); }
302
303     /*! This is an introduction to the page with the list of related pages */
304     virtual QCString trRelatedPagesDescription()
305     { return decode("ðÏ×ÎÉÊ ÓÐÉÓÏË ÄÏÄÁÔËÏ×ÉÈ ÏÐÉÓ¦×."); }
306
307     /*! This is an introduction to the page with the list of class/file groups */
308     virtual QCString trModulesDescription()
309     { return decode("ðÏ×ÎÉÊ ÓÐÉÓÏË ÍÏÄÕ̦×."); }
310
311     /*! This sentences is used in the annotated class/file lists if no brief
312      * description is given. 
313      */
314     virtual QCString trNoDescriptionAvailable()
315     { return decode("ïÐÉӠצÄÓÕÔΦÊ"); }
316
317     // index titles (the project name is prepended for these) 
318
319
320     /*! This is used in HTML as the title of index.html. */
321     virtual QCString trDocumentation()
322     { return decode("äÏËÕÍÅÎÔÁæÑ"); }
323
324     /*! This is used in LaTeX as the title of the chapter with the 
325      * index of all groups.
326      */
327     virtual QCString trModuleIndex()
328     { return decode("áÌÆÁצÔÎÉÊ ÐÏËÁÖÞÉË ÍÏÄÕ̦×"); }
329
330     /*! This is used in LaTeX as the title of the chapter with the 
331      * class hierarchy.
332      */
333     virtual QCString trHierarchicalIndex()
334     { return decode("¶¤ÒÁÒȦÞÎÉÊ ÐÏËÁÖÞÉË ËÌÁÓ¦×"); }
335
336     /*! This is used in LaTeX as the title of the chapter with the 
337      * annotated compound index.
338      */
339     virtual QCString trCompoundIndex()
340     {
341       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
342       {
343         return decode( "áÌÆÁצÔÎÉÊ ÐÏËÁÖÞÉË ÓÔÒÕËÔÕÒ ÄÁÎÉÈ" );
344       }
345       else
346       {
347         return decode( "áÌÆÁצÔÎÉÊ ÐÏËÁÖÞÉË ËÌÁÓ¦×" );
348       }
349     }
350
351     /*! This is used in LaTeX as the title of the chapter with the
352      * list of all files.
353      */
354     virtual QCString trFileIndex()
355     { return decode( "ðÏËÁÖÞÉË ÆÁÊÌ×" ); }
356
357     /*! This is used in LaTeX as the title of the chapter containing
358      *  the documentation of all groups.
359      */
360     virtual QCString trModuleDocumentation()
361     { return decode("ðÒÏÇÒÁÍΦ íÏÄÕ̦"); }
362
363     /*! This is used in LaTeX as the title of the chapter containing
364      *  the documentation of all classes, structs and unions.
365      */
366     virtual QCString trClassDocumentation()
367     {
368       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
369       {
370         return decode( "óÔÒÕËÔÕÒÉ ÄÁÎÉÈ" );
371       }
372       else
373       {
374         return decode( "ëÌÁÓÉ" );
375       }
376     }
377
378     /*! This is used in LaTeX as the title of the chapter containing
379      *  the documentation of all files.
380      */
381     virtual QCString trFileDocumentation()
382     { return decode("æÁÊÌÉ"); }
383
384     /*! This is used in LaTeX as the title of the chapter containing
385      *  the documentation of all examples.
386      */
387     virtual QCString trExampleDocumentation()
388     { return decode("ðÒÉËÌÁÄÉ"); }
389
390     /*! This is used in LaTeX as the title of the chapter containing
391      *  the documentation of all related pages.
392      */
393     virtual QCString trPageDocumentation()
394     { return decode("äÏËÕÍÅÎÔÁæѠÐÏ ÔÅͦ"); }
395
396     /*! This is used in LaTeX as the title of the document */
397     virtual QCString trReferenceManual()
398     { return decode("äÏצÄËÏ×ÉÊ ÐÏÓ¦ÂÎÉË"); }
399
400     /*! This is used in the documentation of a file as a header before the 
401      *  list of defines
402      */
403     virtual QCString trDefines()
404     { return decode("íÁËÒÏÏÚÎÁÞÅÎÎÑ"); }
405
406     /*! This is used in the documentation of a file as a header before the 
407      *  list of function prototypes
408      */
409     virtual QCString trFuncProtos()
410     { return decode("ðÒÏÔÏÔÉÐÉ ÆÕËæÊ"); }
411
412     /*! This is used in the documentation of a file as a header before the 
413      *  list of typedefs
414      */
415     virtual QCString trTypedefs()
416     { return decode("ïÚÎÁÞÅÎÎÑ ÔÉЦ×"); }
417
418     /*! This is used in the documentation of a file as a header before the 
419      *  list of enumerations
420      */
421     virtual QCString trEnumerations()
422     { return decode("ðÅÒÅ̦ËÉ"); }
423
424     /*! This is used in the documentation of a file as a header before the 
425      *  list of (global) functions
426      */
427     virtual QCString trFunctions()
428     { return decode("æÕÎËæ§"); }
429
430     /*! This is used in the documentation of a file as a header before the 
431      *  list of (global) variables
432      */
433     virtual QCString trVariables()
434     { return decode("úͦÎΦ"); }
435
436     /*! This is used in the documentation of a file as a header before the 
437      *  list of (global) variables
438      */
439     virtual QCString trEnumerationValues()
440     { return decode("åÌÅÍÅÎÔÉ ÐÅÒÅ̦˦×"); }
441
442     /*! This is used in the documentation of a file before the list of
443      *  documentation blocks for defines
444      */
445     virtual QCString trDefineDocumentation()
446     { return decode("ïÐÉÓ ÍÁËÒÏÏÚÎÁÞÅÎØ"); }
447
448     /*! This is used in the documentation of a file/namespace before the list 
449      *  of documentation blocks for function prototypes
450      */
451     virtual QCString trFunctionPrototypeDocumentation()
452     { return decode("ïÐÉÓ ÐÒÏÔÏÔÉЦנÆÕÎËæÊ"); }
453
454     /*! This is used in the documentation of a file/namespace before the list 
455      *  of documentation blocks for typedefs
456      */
457     virtual QCString trTypedefDocumentation()
458     { return decode("ïÐÉÓ ÏÚÎÁÞÅÎØ ÔÉЦ×"); }
459
460     /*! This is used in the documentation of a file/namespace before the list 
461      *  of documentation blocks for enumeration types
462      */
463     virtual QCString trEnumerationTypeDocumentation()
464     { return decode("ïÐÉÓ ÐÅÒÅ̦˦×"); }
465
466     /*! This is used in the documentation of a file/namespace before the list 
467      *  of documentation blocks for enumeration values
468      */
469     virtual QCString trEnumerationValueDocumentation()
470     { return decode("ïÐÉÓ ÅÌÅÍÅÎԦנÐÅÒÅ̦ËÕ"); }
471
472     /*! This is used in the documentation of a file/namespace before the list 
473      *  of documentation blocks for functions
474      */
475     virtual QCString trFunctionDocumentation()
476     { return decode("ïÐÉÓ ÆÕÎËæÊ"); }
477
478     /*! This is used in the documentation of a file/namespace before the list 
479      *  of documentation blocks for variables
480      */
481     virtual QCString trVariableDocumentation()
482     { return decode("ïÐÉÓ ÚͦÎÎÉÈ"); }
483
484     /*! This is used in the documentation of a file/namespace/group before 
485      *  the list of links to documented compounds
486      */
487     virtual QCString trCompounds()
488     {
489       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
490       {
491         return decode( "óÔÒÕËÔÕÒÉ ÄÁÎÉÈ" );
492       }
493       else
494       { 
495         return decode( "ëÌÁÓÉ" );
496       }
497
498     }
499
500     /*! This is used in the documentation of a group before the list of 
501      *  links to documented files
502      */
503     /*! This is used in the standard footer of each page and indicates when 
504      *  the page was generated 
505      */
506     virtual QCString trGeneratedAt(const char *date,const char *projName)
507     { 
508       QCString result=decode("äÏËÕÍÅÎÔÁæѠ");
509       if (projName) result+=decode("ÄÏ ")+projName;
510       result+=decode(" ÓÔ×ÏÒÅÎÁ ")+date;
511       result+=decode(" ÓÉÓÔÅÍÏÀ");
512       return result;
513     }
514     /*! This is part of the sentence used in the standard footer of each page.
515      */
516     virtual QCString trWrittenBy()
517     {
518       return decode("á×ÔÏÒ:");
519     }
520
521     /*! this text is put before a class diagram */
522     virtual QCString trClassDiagram(const char *clName)
523     {
524       return decode("óÈÅÍÁ ÕÓÐÁÄËÕ×ÁÎØ ÄÌÑ ")+clName;
525     }
526
527     /*! this text is generated when the \\internal command is used. */
528     virtual QCString trForInternalUseOnly()
529     { return decode("ô¦ÌØËÉ ÄÌÑ ×ÎÕÔÒ¦ÛÎØÏÇÏ ËÏÒÉÓÔÕ×ÁÎÎÑ"); }
530
531     /*! this text is generated when the \\reimp command is used. */
532     virtual QCString trReimplementedForInternalReasons()
533     /*??*/
534     { return decode("úͦÎÅÎÏ Ú ×ÎÕÔÒ¦ÛΦȠÐÒÉÞÉÎ. úͦÎÉ ÎÅ ÔÏÒËÁÀÔØÓÑ API."); 
535     }
536
537     /*! this text is generated when the \\warning command is used. */
538     virtual QCString trWarning()
539     { return decode("úÁÓÔÅÒÅÖÅÎÎÑ"); }
540
541     /*! this text is generated when the \\bug command is used. */
542     virtual QCString trBugsAndLimitations()
543     { return decode("ðÏÍÉÌËÉ ÔÁ ÏÂÍÅÖÅÎÎÑ ÚÁÓÔÏÓÕ×ÁÎÎÑ"); }
544
545     /*! this text is generated when the \\version command is used. */
546     virtual QCString trVersion()
547     { return decode("÷ÅÒÓ¦Ñ"); }
548
549     /*! this text is generated when the \\date command is used. */
550     virtual QCString trDate()
551     { return decode("äÁÔÁ"); }
552
553     /*! this text is generated when the \\return command is used. */
554     virtual QCString trReturns()
555     { return decode("ðÏ×ÅÒÔÁ¤"); }
556
557     /*! this text is generated when the \\sa command is used. */
558     virtual QCString trSeeAlso()
559     { return decode("äÉ×. ÔÁËÏÖ"); }
560
561     /*! this text is generated when the \\param command is used. */
562     virtual QCString trParameters()
563     { return decode("áÒÇÕÍÅÎÔÉ"); }
564
565     /*! this text is generated when the \\exception command is used. */
566     virtual QCString trExceptions()
567     { return decode("ïÂÒÏÂËÁ ×ÉÎÑÔËÏ×ÉÈ ÓÉÔÕÁæÊ"); }
568
569     /*! this text is used in the title page of a LaTeX document. */
570     virtual QCString trGeneratedBy()
571     { return decode("óÔ×ÏÒÅÎÏ ÓÉÓÔÅÍÏÀ"); }
572     
573 //////////////////////////////////////////////////////////////////////////
574 // new since 0.49-990307 
575 //////////////////////////////////////////////////////////////////////////
576     
577     /*! used as the title of page containing all the index of all namespaces. */
578     virtual QCString trNamespaceList()
579     { return decode("ðÒÏÓÔ¦Ò ¦ÍÅÎ"); }
580
581     /*! used as an introduction to the namespace list */
582     virtual QCString trNamespaceListDescription(bool extractAll)
583     {
584       QCString result="ðÏ×ÎÉÊ ÐÅÒÅ̦ˠ";
585       if (!extractAll) result+="ÄÏËÕÍÅÎÔÏ×ÁÎÉÈ ";
586       result+="ÐÒÏÓÔÏҦנ¦ÍÅÎ.";
587       return decode(result);
588     }
589
590     /*! used in the class documentation as a header before the list of all
591      *  friends of a class
592      */
593     virtual QCString trFriends()
594     { return decode("äÒÕÖΦ ËÌÁÓÉ"); }
595
596 //////////////////////////////////////////////////////////////////////////
597 // new since 0.49-990405
598 //////////////////////////////////////////////////////////////////////////
599     
600     /*! used in the class documentation as a header before the list of all
601      * related classes 
602      */
603     virtual QCString trRelatedFunctionDocumentation()
604       { return decode("äÏËÕÍÅÎÔÁÃÉÑ ÄÏ ÄÒÕÖΦȠËÌÁӦנÔÁ ×¦ÄÐÏצÄÎÉÈ ÆÕÎËæÊ"); }
605     
606 //////////////////////////////////////////////////////////////////////////
607 // new since 0.49-990425
608 //////////////////////////////////////////////////////////////////////////
609
610     /*! used as the title of the HTML page of a class/struct/union */
611     virtual QCString trCompoundReference(const char *clName,
612                                  ClassDef::CompoundType compType,
613                                  bool isTemplate)
614     {
615       QCString result;
616       if (isTemplate) 
617       {
618         result="ûÁÂÌÏΠ";
619         switch(compType)
620         {
621           case ClassDef::Class:  result+="ËÌÁÓÕ"; break;
622           case ClassDef::Struct: result+="ÓÔÒÕËÔÕÒÉ"; break;
623           case ClassDef::Union:  result+="ÏÂ'¤ÄÎÁÎÎÑ"; break;
624           case ClassDef::Interface:  result+="¦ÎÔÅÒÆÅÊÓÕ"; break;
625           case ClassDef::Protocol:   result+="ÐÒÏÔÏËÏÌÕ"; break;
626           case ClassDef::Category:   result+="ËÁÔÅÇÏÒ¦§"; break;
627           case ClassDef::Exception:  result+="÷ÉÎÑÔÏË"; break;
628         }
629       }
630       else
631       {
632         switch(compType)
633         {
634           case ClassDef::Class:  result+="ëÌÁÓ"; break;
635           case ClassDef::Struct: result+="óÔÒÕËÔÕÒÁ"; break;
636           case ClassDef::Union:  result+="ïÂ'¤ÄÎÁÎÎÑ"; break;
637           case ClassDef::Interface:  result+="¶ÎÔÅÒÆÅÊÓ"; break;
638           case ClassDef::Protocol:   result+="ðÒÏÔÏËÏÌ"; break;
639           case ClassDef::Category:   result+="ëÁÔÅÇÏÒ¦Ñ"; break;
640           case ClassDef::Exception:  result+="÷ÉÎÑÔÏË"; break;
641         }
642       }
643       result+=" ";
644       return decode(result)+clName;
645     }
646
647     /*! used as the title of the HTML page of a file */
648     virtual QCString trFileReference(const char *fileName)
649     {
650       return decode("æÁÊÌ ")+fileName;
651     }
652
653     /*! used as the title of the HTML page of a namespace */
654     virtual QCString trNamespaceReference(const char *namespaceName)
655     {
656       return decode("ðÒÏÓÔ¦Ò ¦ÍÅΠ")+namespaceName;
657     }
658     
659     virtual QCString trPublicMembers()
660     { return decode("úÁÇÁÌØÎÏÄÏÓÔÕÐΦ ÅÌÅÍÅÎÔÉ"); }
661     virtual QCString trPublicSlots()
662     { return decode("úÁÇÁÌØÎÏÄÏÓÔÕÐΦ ÓÌÏÔÉ"); }
663     virtual QCString trSignals()
664     { return decode("óÉÇÎÁÌÉ"); }
665     virtual QCString trStaticPublicMembers()
666     { return decode("úÁÇÁÌØÎÏÄÏÓÔÕÐΦ ÓÔÁÔÉÞΦ ÅÌÅÍÅÎÔÉ"); }
667     virtual QCString trProtectedMembers()
668     { return decode("úÁÈÉÝÅΦ ÅÌÅÍÅÎÔÉ"); }
669     virtual QCString trProtectedSlots()
670     { return decode("úÁÈÉÝÅΦ ÓÌÏÔÉ"); }
671     virtual QCString trStaticProtectedMembers()
672     { return decode("úÁÈÉÝÅΦ ÓÔÁÔÉÞΦ ÅÌÅÍÅÎÔÉ"); }
673     virtual QCString trPrivateMembers()
674     { return decode("ðÒÉ×ÁÔΦ ÅÌÅÍÅÎÔÉ"); }
675     virtual QCString trPrivateSlots()
676     { return decode("ðÒÉ×ÁÔΦ ÓÌÏÔÉ"); }
677     virtual QCString trStaticPrivateMembers()
678     { return decode("ðÒÉ×ÁÔΦ ÓÔÁÔÉÞΦ ÅÌÅÍÅÎÔÉ"); }
679     
680     /*! this function is used to produce a comma-separated list of items.
681      *  use generateMarker(i) to indicate where item i should be put.
682      */
683     virtual QCString trWriteList(int numEntries)
684     {
685       QCString result;
686       int i;
687       // the inherits list contain `numEntries' classes
688       for (i=0;i<numEntries;i++) 
689       {
690         // use generateMarker to generate placeholders for the class links!
691         result+=generateMarker(i); // generate marker for entry i in the list 
692                                    // (order is left to right)
693         
694         if (i!=numEntries-1)  // not the last entry, so we need a separator
695         {
696           if (i<numEntries-2) // not the fore last entry 
697             result+=", ";
698           else                // the fore last entry
699             result+=decode( " ¦ " );
700         }
701       }
702       return result; 
703     }
704     
705     /*! used in class documentation to produce a list of base classes,
706      *  if class diagrams are disabled.
707      */
708     virtual QCString trInheritsList(int numEntries)
709     {
710       return decode("õÓÐÁÄËÏ×Õ¤ ËÌÁÓ ")+trWriteList(numEntries)+".";
711     }
712
713     /*! used in class documentation to produce a list of super classes,
714      *  if class diagrams are disabled.
715      */
716     virtual QCString trInheritedByList(int numEntries)
717     {
718       return decode("õÓÐÁÄËÏ×ÁÎÏ ËÌÁÓÁÍÉ ")+trWriteList(numEntries)+".";
719     }
720
721     /*! used in member documentation blocks to produce a list of 
722      *  members that are hidden by this one.
723      */
724     virtual QCString trReimplementedFromList(int numEntries)
725     {
726       return decode("ðÅÒÅÏÚÎÁÞÅÎÎÑ Ú ")+trWriteList(numEntries)+".";
727     }
728
729     /*! used in member documentation blocks to produce a list of
730      *  all member that overwrite the implementation of this member.
731      */
732     virtual QCString trReimplementedInList(int numEntries)
733     {
734       return decode("ðÅÒÅÏÚÎÁÞÁ¤ÔØÓÑ × ")+trWriteList(numEntries)+".";
735     }
736
737     /*! This is put above each page as a link to all members of namespaces. */
738     virtual QCString trNamespaceMembers()
739     { return decode("åÌÅÍÅÎÔÉ ÐÒÏÓÔÏÒÕ ¦ÍÅÎ"); }
740
741     /*! This is an introduction to the page with all namespace members */
742     virtual QCString trNamespaceMemberDescription(bool extractAll)
743     {
744       QCString result="ðÏ×ÎÉÊ ÐÅÒÅ̦ˠ";
745       if (!extractAll) result+="ÄÏËÕÍÅÎÔÏ×ÁÎÉÈ ";
746       result+="ÅÌÅÍÅԦנÐÒÏÓÔÏÒÕ ¦ÍÅΠڠÐÏÓÉÌÁÎÎÑÍ ";
747       if (extractAll) 
748         result+="ÎÁ ÄÏËÕÍÅÎÔÁæÀ ÄÌÑ ËÏÖÎÏÇÏ ÅÌÅÍÅÎÔÕ:";
749       else 
750         result+="ÎÁ ÐÒÏÓÔ¦Ò ¦ÍÅΠÄÏ ÑËÏÇÏ ×ÏÎÉ ÎÁÌÅÖÁÔØ:";
751       return decode(result);
752     }
753
754     /*! This is used in LaTeX as the title of the chapter with the 
755      *  index of all namespaces.
756      */
757     virtual QCString trNamespaceIndex()
758     { return decode("áÌÆÁצÔÎÉÊ ÐÏËÁÖÞÉË ÐÒÏÓÔÏÒÕ ¦ÍÅÎ"); }
759
760     /*! This is used in LaTeX as the title of the chapter containing
761      *  the documentation of all namespaces.
762      */
763     virtual QCString trNamespaceDocumentation()
764     { return decode("ïÐÉÓ ÐÒÏÓÔÏÒÕ ¦ÍÅÎ"); }
765
766 //////////////////////////////////////////////////////////////////////////
767 // new since 0.49-990522
768 //////////////////////////////////////////////////////////////////////////
769
770     /*! This is used in the documentation before the list of all
771      *  namespaces in a file.
772      */
773     virtual QCString trNamespaces()
774     { return decode( "ðÒÏÓÔÏÒÉ ¦ÍÅÎ" ); }
775
776 //////////////////////////////////////////////////////////////////////////
777 // new since 0.49-990728
778 //////////////////////////////////////////////////////////////////////////
779
780     /*! This is put at the bottom of a class documentation page and is
781      *  followed by a list of files that were used to generate the page.
782      */
783     virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType,
784         bool single)
785     { // here s is one of " Class", " Struct" or " Union"
786       // single is true implies a single file
787       QCString result=(QCString)"äÏËÕÍÅÎÔÁæѠ ";
788       switch(compType)
789       {
790         case ClassDef::Class:
791           if (single) result+="ÃØÏÇÏ ËÌÁÓÕ"; else result+="ÃÉÈ ËÌÁÓ¦×";
792           break;
793         case ClassDef::Struct:
794           if (single) result+="椧 ÓÔÒÕËÔÕÒÉ"; else result+="ÃÉÈ ÓÔÒÕËÔÕÒ";
795           break;
796         case ClassDef::Union:
797           if (single) result+="ÃØÏÇÏ ÏÂ'¤ÄÎÁÎÎÑ"; else result+="ÃÉÈ ÏÂ'¤ÄÎÁÎØ";
798           break;
799         case ClassDef::Interface:
800           if (single) result+="ÃØÏÇÏ ¦ÎÔÅÒÆÅÊÓÕ"; else result+="ÃÉÈ ¦ÎÔÅÒÆÅÊÓ¦×";
801           break;
802         case ClassDef::Protocol:  
803           if (single) result+="ÃØÏÇÏ ÐÒÏÔÏËÏÌÕ"; else result+="ÃÉÈ ÐÒÏÔÏËÏ̦×";
804           break; 
805         case ClassDef::Category:
806           if (single) result+="椧 ËÁÔÅÇÏÒ¦§"; else result+="ÃÉÈ ËÁÔÅÇÏÒ¦Ê";
807           break; 
808         case ClassDef::Exception:
809           if (single) result+="ÃØÏÇÏ ×ÉÎÑÔËÕ"; else result+="ÃÉÈ ×ÉÎÑÔ˦×";
810           break;
811       }
812       result+=" ÂÕÌÁ ÓÔ×ÏÒÅÎÁ Ú ÆÁÊÌ";
813       if (single) result+="Õ:"; else result+="¦×:";
814       return decode(result);
815     }
816
817     /*! This is in the (quick) index as a link to the alphabetical compound
818      * list.
819      */
820     virtual QCString trAlphabeticalList()
821     { return decode("áÌÆÁצÔÎÉÊ ÐÏËÁÖÞÉË"); }
822
823 //////////////////////////////////////////////////////////////////////////
824 // new since 0.49-990901
825 //////////////////////////////////////////////////////////////////////////
826
827     /*! This is used as the heading text for the retval command. */
828     virtual QCString trReturnValues()
829     { return decode("úÎÁÞÅÎÎÑ, ÝÏ ÐÏ×ÅÒÔÁÀÔØÓÑ"); }
830
831     /*! This is in the (quick) index as a link to the main page (index.html)
832      */
833     virtual QCString trMainPage()
834     { return decode("ôÉÔÕÌØÎÁ ÓÔÏÒ¦ÎËÁ"); }
835
836     /*! This is used in references to page that are put in the LaTeX 
837      *  documentation. It should be an abbreviation of the word page.
838      */
839     virtual QCString trPageAbbreviation()
840     { return decode("ÓÔÏÒ."); }
841
842 //////////////////////////////////////////////////////////////////////////
843 // new since 0.49-991106
844 //////////////////////////////////////////////////////////////////////////
845
846     virtual QCString trSources()
847     {
848       return decode("÷ÉȦÄΦ ÔÅËÓÔÉ.");
849     }
850     virtual QCString trDefinedAtLineInSourceFile()
851     {
852       return decode("äÉ×. ÏÚÎÁÞÅÎÎÑ × ÆÁÊ̦ @1, ÒÑÄÏË @0");
853     }
854     virtual QCString trDefinedInSourceFile()
855     {
856       return decode("äÉ×. ÏÚÎÁÞÅÎÎÑ × ÆÁÊ̦ @0");
857     }
858
859 //////////////////////////////////////////////////////////////////////////
860 // new since 0.49-991205
861 //////////////////////////////////////////////////////////////////////////
862
863     virtual QCString trDeprecated()
864     {
865       return decode("îÅ ÒÅËÏÍÅÎÄÏ×ÁÎÏ");
866     }
867
868 //////////////////////////////////////////////////////////////////////////
869 // new since 1.0.0
870 //////////////////////////////////////////////////////////////////////////
871
872     /*! this text is put before a collaboration diagram */
873     virtual QCString trCollaborationDiagram(const char *clName)
874     {
875       return (QCString)decode("ä¦ÁÇÒÁÍÁ Ú×'ÑÚ˦נËÌÁÓÕ ")+clName+":";
876     }
877     /*! this text is put before an include dependency graph */
878     virtual QCString trInclDepGraph(const char *fName)
879     {
880       return decode("ä¦ÁÇÒÁÍÁ ×ËÌÀÞÅÎÉÈ ÚÁÇÏÌÏ×ÏÞÎÉÈ ÆÁÊ̦נÄÌÑ ")+fName+":";
881     }
882     /*! header that is put before the list of constructor/destructors. */
883     virtual QCString trConstructorDocumentation()
884     {
885       return decode("ëÏÎÓÔÒÕËÔÏÒ(É)"); 
886     }
887     /*! Used in the file documentation to point to the corresponding sources. */
888     virtual QCString trGotoSourceCode()
889     {
890       return decode("äÉ×. ×ÉȦÄΦ ÔÅËÓÔÉ.");
891     }
892     /*! Used in the file sources to point to the corresponding documentation. */
893     virtual QCString trGotoDocumentation()
894     {
895       return decode("äÉ×. ÄÏËÕÍÅÎÔÁæÀ.");
896     }
897     /*! Text for the \\pre command */
898     virtual QCString trPrecondition()
899     {
900       return decode("ðÅÒÅÄÕÍÏ×É");
901     }
902     /*! Text for the \\post command */
903     virtual QCString trPostcondition()
904     {
905       return decode("ð¦ÓÌÑÕÍÏ×É");
906     }
907     /*! Text for the \\invariant command */
908     virtual QCString trInvariant()
909     {
910       return decode("¶Î×ÁÒ¦ÁÎÔ");
911     }
912     /*! Text shown before a multi-line variable/enum initialization */
913     virtual QCString trInitialValue()
914     {
915       return decode("ðÏÞÁÔËÏצ ÚÎÁÞÅÎÎÑ");
916     }
917     /*! Text used the source code in the file index */
918     virtual QCString trCode()
919     {
920       return decode("÷ÉȦÄΦ ÔÅËÓÔÉ");
921     }
922     virtual QCString trGraphicalHierarchy()
923     {
924       return decode("çÒÁƦÞÎÁ ¦¤ÒÁÒȦѠËÌÁÓ¦×");
925     }
926     virtual QCString trGotoGraphicalHierarchy()
927     {
928       return decode("ÄÉ×. ÇÒÁƦÞÎÕ ¦¤ÒÁÒȦÀ");
929     }
930     virtual QCString trGotoTextualHierarchy()
931     {
932       return decode("ÄÉ×. ÔÅËÓÔÏ×Õ ¦¤ÒÁÒȦÀ");
933     }
934     virtual QCString trPageIndex()
935     {
936       return decode("áÌÆÁצÔÎÉÊ ÐÏËÁÖÞÉË ÔÅÍÁÔÉÞÎÉÈ ÏÐÉÓ¦×");
937     }
938
939 //////////////////////////////////////////////////////////////////////////
940 // new since 1.1.0
941 //////////////////////////////////////////////////////////////////////////
942     
943     virtual QCString trNote()
944     {
945       return decode("îÏÔÁÔËÉ");
946     }
947     virtual QCString trPublicTypes()
948     {
949       return decode("úÁÇÁÌØÎÏÄÏÓÔÕÐΦ ÔÉÐÉ");
950     }
951     virtual QCString trPublicAttribs()
952     {
953       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
954       {
955         return decode( "ðÏÌÑ ÄÁÎÉÈ" );
956       }
957       else
958       {
959         return decode( "úÁÇÁÌØÎÏÄÏÓÔÕÐΦ ÁÔÒÉÂÕÔÉ" );
960       }
961     }
962     virtual QCString trStaticPublicAttribs()
963     {
964       return decode("óÔÁÔÉÞΦ ÚÁÇÁÌØÎÏÄÏÓÔÕÐΦ ÄÁÎΦ");
965     }
966     virtual QCString trProtectedTypes()
967     {
968       return decode("úÁÈÉÝÅΦ ÔÉÐÉ");
969     }
970     virtual QCString trProtectedAttribs()
971     {
972       return decode("úÁÈÉÝÅΦ ÄÁΦ");
973     }
974     virtual QCString trStaticProtectedAttribs()
975     {
976       return decode("óÔÁÔÉÞΦ ÚÁÈÉÝÅΦ ÄÁΦ");
977     }
978     virtual QCString trPrivateTypes()
979     {
980       return decode("ðÒÉ×ÁÔΦ ÔÉÐÉ");
981     }
982     virtual QCString trPrivateAttribs()
983     {
984       return decode("ðÒÉ×ÁÔΦ ÄÁΦ");
985     }
986     virtual QCString trStaticPrivateAttribs()
987     {
988       return decode("ðÒÉ×ÁÔΦ ÓÔÁÔÉÞΦ ÄÁΦ");
989     }
990
991
992 //////////////////////////////////////////////////////////////////////////
993 // new since 1.1.3
994 //////////////////////////////////////////////////////////////////////////
995
996     /*! Used as a marker that is put before a todo item */
997     virtual QCString trTodo()
998     /*??*/
999     {
1000       return decode("îÅÏÂȦÄÎÏ ÚÒÏÂÉÔÉ");
1001     }
1002     /*! Used as the header of the todo list */
1003     virtual QCString trTodoList()
1004     /*??*/
1005     {
1006       return decode("ðÅÒÅ̦ˠÚÁ×ÄÁÎØ");
1007     }
1008
1009 //////////////////////////////////////////////////////////////////////////
1010 // new since 1.1.4
1011 //////////////////////////////////////////////////////////////////////////
1012
1013     virtual QCString trReferencedBy()
1014     {
1015       return decode("÷ÖÉ×Á¤ÔØÓÑ ×");
1016     }
1017     virtual QCString trRemarks()
1018     {
1019       return decode("ðÒÉÍ.");
1020     }
1021     virtual QCString trAttention()
1022     {
1023       return decode("õ×ÁÇÁ");
1024     }
1025     virtual QCString trInclByDepGraph()
1026     {
1027       return decode("çÒÁÆ ÆÁÊ̦×, Ñ˦ ×ËÌÀÞÁÀÔØ ÃÅÊ ÆÁÊÌ:");
1028     }
1029     virtual QCString trSince()
1030     /*??*/
1031     {
1032       return decode("ðÏÞÉÎÁÀÞÉ Ú");
1033     }
1034     
1035 //////////////////////////////////////////////////////////////////////////
1036 // new since 1.1.5
1037 //////////////////////////////////////////////////////////////////////////
1038
1039     /*! title of the graph legend page */
1040     virtual QCString trLegendTitle()
1041     {
1042       return decode("ìÅÇÅÎÄÁ");
1043     }
1044     /*! page explaining how the dot graph's should be interpreted */
1045     virtual QCString trLegendDocs()
1046     {
1047       return decode( 
1048         "ðÏÚÎÁÞÅÎÎÑ, ÝÏ ×ÉËÏÒÉÓÔÏ×ÕÀÔØÓÑ Õ ÇÒÁÆÁÈ.<p>\n"
1049         "òÏÚÇÌÑÎÅÍÏ ÎÁÓÔÕÐÎÉÊ ÐÒÉËÌÁÄ:\n"
1050         "\\code\n"
1051         "/*! îÅ×ÉÄÉÍÉÊ ËÌÁÓ ÞÅÒÅÚ ÚÒ¦ÚÁÎÎÑ */\n"
1052         "class Invisible { };\n\n"
1053         "/*! ïÂÍÅÖÅÎÉÊ ËÌÁÓ, ×¦ÄÎÏÛÅÎÎÑ ÕÓÐÁÄËÕ×ÁÎÎÑ ÐÒÉÈÏ×ÁÎÅ */\n"
1054         "class Truncated : public Invisible { };\n\n"
1055         "/* îÅÄÏËÕÍÅÎÔÏ×ÁÎÉÊ ËÌÁÓ */\n"
1056         "class Undocumented { };\n\n"
1057         "/*! úÁÇÁÌØÎÏÄÏÓÔÕÐÎÅ ÕÓÐÁÄËÕ×ÁÎÎÑ */\n"
1058         "class PublicBase : public Truncated { };\n\n"
1059         "/*! A template class */\n"
1060         "template<class T> class Templ { };\n\n"
1061         "/*! úÁÈÉÝÅÎÅ ÕÓÐÁÄËÕ×ÁÎÎÑ */\n"
1062         "class ProtectedBase { };\n\n"
1063         "/*! ðÒÉ×ÁÔÎÅ ÕÓÐÁÄËÕ×ÁÎÎÑ */\n"
1064         "class PrivateBase { };\n\n"
1065         "/*! ëÌÁÓ, ÝÏ ×ÉËÏÒÉÓÔÏ×Õ¤ÔØÓÑ ËÌÁÓÏÍ Inherited */\n"
1066         "class Used { };\n\n"
1067         "/*! ëÌÁÓ, ÝÏ ÕÓÐÁÄËÏ×Õ¤ ¦ÎÛ¦ ËÌÁÓÉ */\n"
1068         "class Inherited : public PublicBase,\n"
1069         "                  protected ProtectedBase,\n"
1070         "                  private PrivateBase,\n"
1071         "                  public Undocumented,\n"
1072         "                  public Templ<int>\n"
1073         "{\n"
1074         "  private:\n"
1075         "    Used *m_usedClass;\n"
1076         "};\n"
1077         "\\endcode\n"
1078         "ñËÝÏ \\c MAX_DOT_GRAPH_HEIGHT × ËÏÎƦÇÕÒÁæÊÎÏÍÕ ÆÁÊ̦ "
1079         "ÕÓÔÁÎÏ×ÌÅÎÅ ÎÁ 200, ÏÔÒÉÍÁ¤ÍÏ ÎÁÓÔÕÐÎÉÊ ÇÒÁÆ:"
1080         "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
1081         "<p>\n"
1082         "ðÒÑÍÏËÕÔÎÉËÉ × ÃØÏÍÕ ÇÒÁƦ ÍÁÀÔØ ÎÁÓÔÕÐÎÉÊ ÚͦÓÔ:\n"
1083         "<ul>\n"
1084         "<li>úÁÐÏ×ÎÅÎÉÊ ÞÏÒÎÉÊ ÐÒÑÍÏËÕÔÎÉˠצÄÏÂÒÁÖÁ¤ ÓÔÒÕËÔÕÒÕ ÁÂÏ ËÌÁÓ, "
1085         "ÄÌÑ ÑËÏÇÏ ÓÔ×ÏÒÅÎÏ ÇÒÁÆ.\n"
1086         "<li>ðÒÑÍÏËÕÔÎÉË Ú ÞÏÒÎÏÀ ÍÅÖÅÀ ×¦ÄÏÂÒÁÖÁ¤ ÄÏËÕÍÅÎÔÏ×ÁÎÕ ÓÔÒÕËÔÕÒÕ ÁÂÏ ËÌÁÓ.\n"
1087         "<li>ðÒÑÍÏËÕÔÎÉË Ú Ó¦ÒÏÀ ÍÅÖÅÀ ×¦ÄÏÂÒÁÖÁ¤ ÎÅÄÏËÕÍÅÎÔÏ×ÁÎÕ ÓÔÒÕËÔÕÒÕ ÁÂÏ ËÌÁÓ.\n"
1088         "<li>ðÒÑÍÏËÕÔÎÉË Ú ÞÅÒ×ÏÎÏÀ ÍÅÖÅÀ ×¦ÄÏÂÒÁÖÁ¤ ÄÏËÕÍÅÎÔÏ×ÁÎÕ ÓÔÒÕËÔÕÒÕ ÁÂÏ ËÌÁÓ, ÄÌÑ ÑËÉÈ\n"
1089         " ÎÅ ×Ó¦ ÓЦ×צÄÎÏÛÅÎÎÑ ÕÓÐÁÄËÕ×ÁÎÎÑ/ÚͦÓÔÕ ÐÏËÁÚÁΦ. çÒÁÆ ÚÒ¦ÚÁÎÉê, "
1090         "ÑËÝϠצΠÎÅ ×ͦÝÁ¤ÔØÓÑ Õ ×ËÁÚÁΦ ÍÅÖ¦."
1091         "</ul>\n"
1092         "óÔÒ¦ÌËÉ ÍÁÀÔØ ÎÁÓÔÕÐÎÉÊ ÚͦÓÔ:\n"
1093         "<ul>\n"
1094         "<li>ôÅÍÎÏÓÉÎÑ ÓÔÒ¦ÌËÁ ×¦ÄÏÂÒÁÖÁ¤ ×¦ÄÎÏÛÅÎÎÑ ÚÁÇÁÌØÎÏÄÏÓÔÕÐÎÏÇÏ ÕÓÐÁÄËÕ×ÁÎÎÑ "
1095         "ͦ֠Ä×ÏÍÁ ËÌÁÓÁÍÉ.\n"
1096         "<li>ôÅÍÎÏÚÅÌÅÎÁ ÓÔÒ¦ÌËÁ ×ÉËÏÒÉÓÔÏ×Õ¤ÔØÓÑ ÐÒÉ ÚÁÈÉÝÅÎÏÍÕ ÕÓÐÁÄËÕ×ÁÎΦ.\n"
1097         "<li>ôÅÍÎÏÞÅÒ×ÏÎÁ ÓÔÒ¦ÌËÁ ×ÉËÏÒÉÓÔÏ×Õ¤ÔØÓÑ ÐÒÉ ÐÒÉ×ÁÔÎÏÍÕ ÕÓÐÁÄËÕ×ÁÎΦ.\n"
1098         "<li>ðÕÒÐÕÒÎÁ ÓÔÒ¦ÌËÁ ×ÉËÏÒÉÓÔÏ×Õ¤ÔØÓÑ, ÑËÝÏ ËÌÁӠͦÓÔÉÔØÓÑ ×"
1099         "¦ÎÛÏÍÕ ËÌÁÓ¦ ÁÂÏ ÎÉÍ ×ÉËÏÒÉÓÔÏ×Õ¤ÔØÓÑ."
1100         "óÔÒ¦ÌËÁ ÅÔÉËÅÔÕ¤ÔØÓÑ ÚͦÎÎÏÀ, "
1101         "ÞÅÒÅÚ ÑËՠצÄÂÕ×Á¤ÔØÓÑ ÄÏÓÔÕРÄÏ ×ËÁÚÁÎϧ ÓÔÒÕËÔÕÒÉ ÁÂÏ ËÌÁÓÕ. \n"
1102         "</ul>\n");
1103     }
1104     /*! text for the link to the legend page */
1105     virtual QCString trLegend()
1106     {
1107       return decode("ÄÉ×. ÌÅÇÅÎÄÕ");
1108     }
1109
1110 //////////////////////////////////////////////////////////////////////////
1111 // new since 1.2.0
1112 //////////////////////////////////////////////////////////////////////////
1113     
1114     /*! Used as a marker that is put before a test item */
1115     virtual QCString trTest()
1116     {
1117       return decode("ôÅÓÔ");
1118     }
1119     /*! Used as the header of the test list */
1120     virtual QCString trTestList()
1121     {
1122       return decode("ðÅÒÅ̦ˠÔÅÓÔ¦×");
1123     }
1124
1125 //////////////////////////////////////////////////////////////////////////
1126 // new since 1.2.1
1127 //////////////////////////////////////////////////////////////////////////
1128
1129     /*! Used as a section header for KDE-2 IDL methods */
1130     virtual QCString trDCOPMethods()
1131     {
1132       return decode("DCOP íÅÔÏÄÉ");
1133     }
1134
1135 //////////////////////////////////////////////////////////////////////////
1136 // new since 1.2.2
1137 //////////////////////////////////////////////////////////////////////////
1138
1139     /*! Used as a section header for IDL properties */
1140     virtual QCString trProperties()
1141     {
1142       return decode("÷ÌÁÓÔÉ×ÏÓÔ¦");
1143     }
1144     /*! Used as a section header for IDL property documentation */
1145     virtual QCString trPropertyDocumentation()
1146     {
1147       return decode("ðÏ×ÎÉÊ ÐÅÒÅ̦ˠ×ÌÁÓÔÉ×ÏÓÔÅÊ");
1148     }
1149
1150 //////////////////////////////////////////////////////////////////////////
1151 // new since 1.2.4
1152 //////////////////////////////////////////////////////////////////////////
1153
1154     /*! Used for Java interfaces in the summary section of Java packages */
1155     virtual QCString trInterfaces()
1156     {
1157       return decode("¶ÎÔÅÒÆÅÊÓÉ");
1158     }
1159     /*! Used for Java classes in the summary section of Java packages */
1160     virtual QCString trClasses()
1161     {
1162       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
1163       {
1164         return decode( "óÔÒÕËÔÕÒÉ ÄÁÎÉÈ" );
1165       }
1166       else
1167       {
1168         return decode( "ëÌÁÓÉ" );
1169       }
1170     }
1171     /*! Used as the title of a Java package */
1172     virtual QCString trPackage(const char *name)
1173     {
1174       return decode("ðÁËÅÔ ")+name;
1175     }
1176     /*! Title of the package index page */
1177     virtual QCString trPackageList()
1178     {
1179       return decode("ðÏ×ÎÉÊ ÐÅÒÅ̦ˠÐÁËÅÔ¦×");
1180     }
1181     /*! The description of the package index page */
1182     virtual QCString trPackageListDescription()
1183     {
1184       return decode("ðÏ×ÎÉÊ ÐÅÒÅ̦ˠÄÏËÕÍÅÎÔÏ×ÁÎÉÈ ÐÁËÅÔ¦×.");
1185     }
1186     /*! The link name in the Quick links header for each page */
1187     virtual QCString trPackages()
1188     {
1189       return decode("ðÁËÅÔÉ");
1190     }
1191     /*! Used as a chapter title for Latex & RTF output */
1192     virtual QCString trPackageDocumentation()
1193     {
1194       return decode("ïÐÉÓ ÐÁËÅÔ¦×");
1195     }
1196     /*! Text shown before a multi-line define */
1197     virtual QCString trDefineValue()
1198     {
1199       return decode("íÁËÒÏÏÚÎÁÞÅÎÎÑ:");
1200     }
1201
1202 //////////////////////////////////////////////////////////////////////////
1203 // new since 1.2.5
1204 //////////////////////////////////////////////////////////////////////////
1205     
1206     /*! Used as a marker that is put before a \\bug item */
1207     virtual QCString trBug()
1208     {
1209       return decode("äÅÆÅËÔ");
1210     }
1211     /*! Used as the header of the bug list */
1212     virtual QCString trBugList()
1213     {
1214       return decode("ðÅÒÅ̦ˠÄÅÆÅËÔ¦×");
1215     }
1216
1217 //////////////////////////////////////////////////////////////////////////
1218 // new since 1.2.6
1219 //////////////////////////////////////////////////////////////////////////
1220     /*! Used as ansicpg for RTF file */
1221     virtual QCString trRTFansicp()
1222     {
1223       return "1251";
1224     }
1225     /*! Used as ansicpg for RTF fcharset */
1226     virtual QCString trRTFCharSet()
1227     {
1228       return "204";
1229     }
1230     /*! Used as header RTF general index */
1231     virtual QCString trRTFGeneralIndex()
1232     {
1233       return decode("ðÒÅÄÍÅÔÎÉÊ ÐÏËÁÖÞÉË");
1234     }
1235
1236     /*! This is used for translation of the word that will possibly
1237      *  be followed by a single name or by a list of names 
1238      *  of the category.
1239      */
1240     virtual QCString trClass(bool first_capital, bool singular)
1241     { 
1242       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
1243       {
1244         QCString result((first_capital ? "óÔÒÕËÔÕÒÉ ÄÁÎÉÈ" : "ÓÔÒÕËÔÕÒÉ ÄÁÎÉÈ"));
1245         return decode(result); 
1246       }
1247       else
1248       {
1249         QCString result((first_capital ? "ëÌÁÓ" : "ËÌÁÓ"));
1250         if(!singular) result+="É";
1251         return decode(result); 
1252       }
1253     }
1254
1255     /*! This is used for translation of the word that will possibly
1256      *  be followed by a single name or by a list of names 
1257      *  of the category.
1258      */
1259     virtual QCString trFile(bool first_capital, bool singular)
1260     { 
1261       QCString result((first_capital ? "æÁÊÌ" : "ÆÁÊÌ"));
1262       if (!singular)  result+="É";
1263       return decode(result); 
1264     }
1265
1266     /*! This is used for translation of the word that will possibly
1267      *  be followed by a single name or by a list of names 
1268      *  of the category.
1269      */
1270     virtual QCString trNamespace(bool first_capital, bool singular)
1271     { 
1272       QCString result((first_capital ? "ðÒÏÓÔ" : "ÐÒÏÓÔ"));
1273       result+=(singular?"¦Ò ¦ÍÅÎ":"ÏÒÉ ¦ÍÅÎ");
1274       return decode(result); 
1275     }
1276
1277     /*! This is used for translation of the word that will possibly
1278      *  be followed by a single name or by a list of names 
1279      *  of the category.
1280      */
1281     virtual QCString trGroup(bool first_capital, bool singular)
1282     { 
1283       QCString result((first_capital ? "çÒÕÐ" : "ÇÒÕÐ"));
1284       result+=(singular ? "Á" : "É");
1285       return decode(result); 
1286     }
1287
1288     /*! This is used for translation of the word that will possibly
1289      *  be followed by a single name or by a list of names 
1290      *  of the category.
1291      */
1292     virtual QCString trPage(bool first_capital, bool singular)
1293     { 
1294       QCString result((first_capital ? "óÔÏÒ¦ÎË" : "ÓÔÏÒ¦ÎË"));
1295       result+=(singular ? "Á" : "É");
1296       return decode(result); 
1297     }
1298
1299     /*! This is used for translation of the word that will possibly
1300      *  be followed by a single name or by a list of names 
1301      *  of the category.
1302      */
1303     virtual QCString trMember(bool first_capital, bool singular)
1304     { 
1305       QCString result((first_capital ? "åÌÅÍÅÎÔ" : "ÅÌÅÍÅÎÔ"));
1306       if (!singular)  result+="É";
1307       return decode(result); 
1308     }
1309    
1310     /*! This is used for translation of the word that will possibly
1311      *  be followed by a single name or by a list of names 
1312      *  of the category.
1313      */
1314     virtual QCString trField(bool first_capital, bool singular)
1315     { 
1316       QCString result((first_capital ? "ðÏÌ" : "ÐÏÌ"));
1317       result+=(singular ? "Å" : "Ñ");
1318       return decode(result); 
1319     }
1320
1321     /*! This is used for translation of the word that will possibly
1322      *  be followed by a single name or by a list of names 
1323      *  of the category.
1324      */
1325     virtual QCString trGlobal(bool first_capital, bool singular)
1326     { 
1327       QCString result((first_capital ? "çÌÏÂÁÌØÎ" : "ÇÌÏÂÁÌØÎ"));
1328       result+=(singular ? "ÉÊ" : "¦");
1329       return decode(result); 
1330     }
1331
1332 //////////////////////////////////////////////////////////////////////////
1333 // new since 1.2.7
1334 //////////////////////////////////////////////////////////////////////////
1335
1336     /*! This text is generated when the \\author command is used and
1337      *  for the author section in man pages. */
1338     virtual QCString trAuthor(bool first_capital, bool singular)
1339     {                                                                         
1340       QCString result((first_capital ? "á×ÔÏÒ" : "Á×ÔÏÒ"));
1341       if (!singular) result+="É";
1342       return decode(result); 
1343     }
1344
1345 //////////////////////////////////////////////////////////////////////////
1346 // new since 1.2.11
1347 //////////////////////////////////////////////////////////////////////////
1348
1349     /*! This text is put before the list of members referenced by a member
1350      */
1351     virtual QCString trReferences()
1352     {
1353       return "÷ÉËÏÒÉÓÔÏ×Õ¤";
1354     }
1355
1356 //////////////////////////////////////////////////////////////////////////
1357 // new since 1.2.13
1358 //////////////////////////////////////////////////////////////////////////
1359
1360     /*! used in member documentation blocks to produce a list of 
1361      *  members that are implemented by this one.
1362      */
1363     virtual QCString trImplementedFromList(int numEntries)
1364     {
1365       return "òÅÁ̦ÚÕ¤ " + trWriteList(numEntries) + ".";
1366     }
1367
1368     /*! used in member documentation blocks to produce a list of
1369      *  all members that implement this abstract member.
1370      */
1371     virtual QCString trImplementedInList(int numEntries)
1372     {
1373       return "òÅÁ̦ÚÕ¤ × " + trWriteList(numEntries) + ".";
1374     }
1375
1376 //////////////////////////////////////////////////////////////////////////
1377 // new since 1.2.16
1378 //////////////////////////////////////////////////////////////////////////
1379
1380     /*! used in RTF documentation as a heading for the Table
1381      *  of Contents.
1382      */
1383     virtual QCString trRTFTableOfContents()
1384     {
1385       return "úͦÓÔ";
1386     }
1387
1388 //////////////////////////////////////////////////////////////////////////
1389 // new since 1.2.17
1390 //////////////////////////////////////////////////////////////////////////
1391
1392     /*! Used as the header of the list of item that have been 
1393      *  flagged deprecated 
1394      */
1395     virtual QCString trDeprecatedList()
1396     {
1397       return "úÁÓÔÁҦ̦ ÅÌÅÍÅÎÔÉ";
1398     }
1399
1400 //////////////////////////////////////////////////////////////////////////
1401 // new since 1.2.18
1402 //////////////////////////////////////////////////////////////////////////
1403
1404     /*! Used as a header for declaration section of the events found in 
1405      * a C# program
1406      */
1407     virtual QCString trEvents()
1408     {
1409       return "ðÏĦ§";
1410     }
1411
1412     /*! Header used for the documentation section of a class' events. */
1413     virtual QCString trEventDocumentation()
1414     {
1415       return "äÏËÕÍÅÎÔÁæѠÐÏĦÊ";
1416     }
1417
1418 //////////////////////////////////////////////////////////////////////////
1419 // new since 1.3
1420 //////////////////////////////////////////////////////////////////////////
1421
1422     /*! Used as a heading for a list of Java class types with package scope.
1423      */
1424     virtual QCString trPackageTypes()
1425     { 
1426       return "ôÉÐÉ ÐÁËÅÔ¦×";
1427     }
1428
1429     /*! Used as a heading for a list of Java class functions with package 
1430      * scope. 
1431      */
1432     virtual QCString trPackageMembers()
1433     { 
1434       return "æÕÎË槠ÐÁËÅÔ¦×";
1435     }
1436
1437     /*! Used as a heading for a list of static Java class functions with 
1438      *  package scope.
1439      */
1440     virtual QCString trStaticPackageMembers()
1441     { 
1442       return "óÔÁÔÉÞΦ ÆÕÎËæÀ ÐÁËÅÔ¦×";
1443     }
1444     
1445     /*! Used as a heading for a list of Java class variables with package 
1446      * scope.
1447      */
1448     virtual QCString trPackageAttribs()
1449     {
1450       return "áÔÒÉÂÕÔÉ ÐÁËÅÔ¦×";
1451     }
1452     
1453     /*! Used as a heading for a list of static Java class variables with 
1454      * package scope.
1455      */
1456     virtual QCString trStaticPackageAttribs()
1457     {
1458       return "óÔÁÔÉÞΦ ÁÔÒÉÂÕÔÉ ÐÁËÅÔ¦×";
1459     }
1460     
1461 //////////////////////////////////////////////////////////////////////////
1462 // new since 1.3.1
1463 //////////////////////////////////////////////////////////////////////////
1464
1465     /*! Used in the quick index of a class/file/namespace member list page 
1466      *  to link to the unfiltered list of all members.
1467      */
1468     virtual QCString trAll()
1469     {
1470       return "÷Ó¦";
1471     }
1472     /*! Put in front of the call graph for a function. */
1473     virtual QCString trCallGraph()
1474     {
1475       return "çÒÁÆ ×ӦȠ×ÉËÌÉ˦נ椧 ÆÕÎËæ§:";
1476     }
1477
1478 //////////////////////////////////////////////////////////////////////////
1479 // new since 1.3.3
1480 //////////////////////////////////////////////////////////////////////////
1481
1482     /*! When the search engine is enabled this text is put in the header 
1483      *  of each page before the field where one can enter the text to search 
1484      *  for. 
1485      */
1486     virtual QCString trSearchForIndex()
1487     {
1488       return "ûÕËÁÔÉ";
1489     }
1490     /*! This string is used as the title for the page listing the search
1491      *  results.
1492      */
1493     virtual QCString trSearchResultsTitle()
1494     {
1495       return "òÅÚÕÌØÔÁÔÉ ÐÏÛÕËÕ";
1496     }
1497     /*! This string is put just before listing the search results. The
1498      *  text can be different depending on the number of documents found.
1499      *  Inside the text you can put the special marker $num to insert
1500      *  the number representing the actual number of search results.
1501      *  The @a numDocuments parameter can be either 0, 1 or 2, where the 
1502      *  value 2 represents 2 or more matches. HTML markup is allowed inside
1503      *  the returned string.
1504      */
1505     virtual QCString trSearchResults(int numDocuments)
1506     {
1507       if (numDocuments==0)
1508       {
1509         return "îÅ ÚÎÁÊÄÅÎÏ ÄÏËÕÍÅÎԦנצÄÐÏצÄÎÏ ÄÏ ×ÁÛÏÇÏ ÚÁÐÉÔÕ.";
1510       }
1511       else if (numDocuments==1)
1512       {
1513         return "âÕÌÏ ÚÎÁÊÄÅÎÏ <b>1</b> ÄÏËÕÍÅÎԠצÄÐÏצÄÎÏ ÄÏ ×ÁÛÏÇÏ ÚÁÐÉÔÕ.";
1514       }
1515       else 
1516       {
1517         return "âÕÌÏ ÚÎÁÊÄÅÎÏ <b>$num</b> ÄÏËÕÍÅÎԦנצÄÐÏצÄÎÏ ÄÏ ×ÁÛÏÇÏ ÚÁÐÉÔÕ. "
1518                "îÁÊËÒÁݦ ×¦ÄÐÏצÄÎÏÓÔ¦ ÐÏËÁÚÁÎÏ ÓÐÏÞÁÔËÕ.";
1519       }
1520     }
1521     /*! This string is put before the list of matched words, for each search 
1522      *  result. What follows is the list of words that matched the query.
1523      */
1524     virtual QCString trSearchMatches()
1525     {
1526       return "÷¦ÄÐÏצÄΦÓÔØ:";
1527     }
1528
1529 //////////////////////////////////////////////////////////////////////////
1530 // new since 1.3.8
1531 //////////////////////////////////////////////////////////////////////////
1532
1533     /*! This is used in HTML as the title of page with source code for file filename
1534      */
1535     virtual QCString trSourceFile(QCString& filename)
1536     {
1537       return "ôÅËÓÔ ÐÒÏÇÒÁÍÉ "+filename;
1538     }
1539
1540 //////////////////////////////////////////////////////////////////////////
1541 // new since 1.3.9
1542 //////////////////////////////////////////////////////////////////////////
1543
1544     /*! This is used as the name of the chapter containing the directory
1545      *  hierarchy.
1546      */
1547     virtual QCString trDirIndex()
1548     { return "äÅÒÅ×Ï ËÁÔÁÌÏǦ×"; }
1549
1550     /*! This is used as the name of the chapter containing the documentation
1551      *  of the directories.
1552      */
1553     virtual QCString trDirDocumentation()
1554     { return "äÏËÕÍÅÎÔÁæѠËÁÔÁÌÏǦ×"; }
1555
1556     /*! This is used as the title of the directory index and also in the
1557      *  Quick links of a HTML page, to link to the directory hierarchy.
1558      */
1559     virtual QCString trDirectories()
1560     { return "ëÁÔÁÌÏÇÉ"; }
1561
1562     /*! This returns a sentences that introduces the directory hierarchy. 
1563      *  and the fact that it is sorted alphabetically per level
1564      */
1565     virtual QCString trDirDescription()
1566     { return "äÅÒÅ×Ï ËÁÔÁÌÏǦנ×ÐÏÒÑÄËÏ×ÁÎÏ ÎÁÂÌÉÖÅÎÏ "
1567              "ÄÏ ÁÌÆÁצÔÕ:";
1568     }
1569
1570     /*! This returns the title of a directory page. The name of the
1571      *  directory is passed via \a dirName.
1572      */
1573     virtual QCString trDirReference(const char *dirName)
1574     { QCString result="äÏצÄÎÉË ËÁÔÁÌÏÇÕ "; result+=dirName; return result; }
1575
1576     /*! This returns the word directory with or without starting capital
1577      *  (\a first_capital) and in sigular or plural form (\a singular).
1578      */
1579     virtual QCString trDir(bool, bool singular)
1580     { 
1581       QCString result("ëÁÔÁÌÏÇ");
1582       if (!singular) result+="É";
1583       return result; 
1584     }
1585
1586 };
1587
1588 #endif
1589