ca0a151e2b83c63bfc401dffdc0ef4ace7ebeb63
[platform/upstream/doxygen.git] / src / translator_en.h
1 /******************************************************************************
2  *
3  *
4  *
5  * Copyright (C) 1997-2014 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  */
17
18 #ifndef TRANSLATOR_EN_H
19 #define TRANSLATOR_EN_H
20
21 /*!
22  When defining a translator class for the new language, follow
23  the description in the documentation.  One of the steps says
24  that you should copy the translator_en.h (this) file to your
25  translator_xx.h new file.  Your new language should use the
26  Translator class as the base class.  This means that you need to
27  implement exactly the same (pure virtual) methods as the
28  TranslatorEnglish does.  Because of this, it is a good idea to
29  start with the copy of TranslatorEnglish and replace the strings
30  one by one.
31
32  It is not necessary to include "translator.h" or
33  "translator_adapter.h" here.  The files are included in the
34  language.cpp correctly.  Not including any of the mentioned
35  files frees the maintainer from thinking about whether the
36  first, the second, or both files should be included or not, and
37  why.  This holds namely for localized translators because their
38  base class is changed occasionaly to adapter classes when the
39  Translator class changes the interface, or back to the
40  Translator class (by the local maintainer) when the localized
41  translator is made up-to-date again.
42 */
43 class TranslatorEnglish : public Translator
44 {
45   public:
46
47     // --- Language control methods -------------------
48
49     /*! Used for identification of the language. The identification
50      * should not be translated. It should be replaced by the name
51      * of the language in English using lower-case characters only
52      * (e.g. "czech", "japanese", "russian", etc.). It should be equal to
53      * the identification used in language.cpp.
54      */
55     virtual QCString idLanguage()
56     { return "english"; }
57
58     /*! Used to get the LaTeX command(s) for the language support.
59      *  This method should return string with commands that switch
60      *  LaTeX to the desired language.  For example
61      *  <pre>"\\usepackage[german]{babel}\n"
62      *  </pre>
63      *  or
64      *  <pre>"\\usepackage{polski}\n"
65      *  "\\usepackage[latin2]{inputenc}\n"
66      *  "\\usepackage[T1]{fontenc}\n"
67      *  </pre>
68      *
69      * The English LaTeX does not use such commands.  Because of this
70      * the empty string is returned in this implementation.
71      */
72     virtual QCString latexLanguageSupportCommand()
73     {
74       return "";
75     }
76
77     // --- Language translation methods -------------------
78
79     /*! used in the compound documentation before a list of related functions. */
80     virtual QCString trRelatedFunctions()
81     { return "Related Functions"; }
82
83     /*! subscript for the related functions. */
84     virtual QCString trRelatedSubscript()
85     { return "(Note that these are not member functions.)"; }
86
87     /*! header that is put before the detailed description of files, classes and namespaces. */
88     virtual QCString trDetailedDescription()
89     { return "Detailed Description"; }
90
91     /*! header that is put before the list of typedefs. */
92     virtual QCString trMemberTypedefDocumentation()
93     { return "Member Typedef Documentation"; }
94
95     /*! header that is put before the list of enumerations. */
96     virtual QCString trMemberEnumerationDocumentation()
97     { return "Member Enumeration Documentation"; }
98
99     /*! header that is put before the list of member functions. */
100     virtual QCString trMemberFunctionDocumentation()
101     { return "Member Function Documentation"; }
102
103     /*! header that is put before the list of member attributes. */
104     virtual QCString trMemberDataDocumentation()
105     {
106       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
107       {
108         return "Field Documentation";
109       }
110       else
111       {
112         return "Member Data Documentation";
113       }
114     }
115
116     /*! this is the text of a link put after brief descriptions. */
117     virtual QCString trMore()
118     { return "More..."; }
119
120     /*! put in the class documentation */
121     virtual QCString trListOfAllMembers()
122     { return "List of all members"; }
123
124     /*! used as the title of the "list of all members" page of a class */
125     virtual QCString trMemberList()
126     { return "Member List"; }
127
128     /*! this is the first part of a sentence that is followed by a class name */
129     virtual QCString trThisIsTheListOfAllMembers()
130     { return "This is the complete list of members for "; }
131
132     /*! this is the remainder of the sentence after the class name */
133     virtual QCString trIncludingInheritedMembers()
134     { return ", including all inherited members."; }
135
136     /*! this is put at the author sections at the bottom of man pages.
137      *  parameter s is name of the project name.
138      */
139     virtual QCString trGeneratedAutomatically(const char *s)
140     { QCString result="Generated automatically by Doxygen";
141       if (s) result+=(QCString)" for "+s;
142       result+=" from the source code.";
143       return result;
144     }
145
146     /*! put after an enum name in the list of all members */
147     virtual QCString trEnumName()
148     { return "enum name"; }
149
150     /*! put after an enum value in the list of all members */
151     virtual QCString trEnumValue()
152     { return "enum value"; }
153
154     /*! put after an undocumented member in the list of all members */
155     virtual QCString trDefinedIn()
156     { return "defined in"; }
157
158     // quick reference sections
159
160     /*! This is put above each page as a link to the list of all groups of
161      *  compounds or files (see the \\group command).
162      */
163     virtual QCString trModules()
164     { return "Modules"; }
165
166     /*! This is put above each page as a link to the class hierarchy */
167     virtual QCString trClassHierarchy()
168     { return "Class Hierarchy"; }
169
170     /*! This is put above each page as a link to the list of annotated classes */
171     virtual QCString trCompoundList()
172     {
173       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
174       {
175         return "Data Structures";
176       }
177       else
178       {
179         return "Class List";
180       }
181     }
182
183     /*! This is put above each page as a link to the list of documented files */
184     virtual QCString trFileList()
185     { return "File List"; }
186
187     /*! This is put above each page as a link to all members of compounds. */
188     virtual QCString trCompoundMembers()
189     {
190       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
191       {
192         return "Data Fields";
193       }
194       else
195       {
196         return "Class Members";
197       }
198     }
199
200     /*! This is put above each page as a link to all members of files. */
201     virtual QCString trFileMembers()
202     {
203       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
204       {
205         return "Globals";
206       }
207       else
208       {
209         return "File Members";
210       }
211     }
212
213     /*! This is put above each page as a link to all related pages. */
214     virtual QCString trRelatedPages()
215     { return "Related Pages"; }
216
217     /*! This is put above each page as a link to all examples. */
218     virtual QCString trExamples()
219     { return "Examples"; }
220
221     /*! This is put above each page as a link to the search engine. */
222     virtual QCString trSearch()
223     { return "Search"; }
224
225     /*! This is an introduction to the class hierarchy. */
226     virtual QCString trClassHierarchyDescription()
227     { return "This inheritance list is sorted roughly, "
228              "but not completely, alphabetically:";
229     }
230
231     /*! This is an introduction to the list with all files. */
232     virtual QCString trFileListDescription(bool extractAll)
233     {
234       QCString result="Here is a list of all ";
235       if (!extractAll) result+="documented ";
236       result+="files with brief descriptions:";
237       return result;
238     }
239
240     /*! This is an introduction to the annotated compound list. */
241     virtual QCString trCompoundListDescription()
242     {
243
244       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
245       {
246         return "Here are the data structures with brief descriptions:";
247       }
248       else
249       {
250         return "Here are the classes, structs, "
251                "unions and interfaces with brief descriptions:";
252       }
253     }
254
255     /*! This is an introduction to the page with all class members. */
256     virtual QCString trCompoundMembersDescription(bool extractAll)
257     {
258       QCString result="Here is a list of all ";
259       if (!extractAll)
260       {
261         result+="documented ";
262       }
263       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
264       {
265         result+="struct and union fields";
266       }
267       else
268       {
269         result+="class members";
270       }
271       result+=" with links to ";
272       if (!extractAll)
273       {
274         if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
275         {
276           result+="the struct/union documentation for each field:";
277         }
278         else
279         {
280           result+="the class documentation for each member:";
281         }
282       }
283       else
284       {
285         if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
286         {
287           result+="the structures/unions they belong to:";
288         }
289         else
290         {
291           result+="the classes they belong to:";
292         }
293       }
294       return result;
295     }
296
297     /*! This is an introduction to the page with all file members. */
298     virtual QCString trFileMembersDescription(bool extractAll)
299     {
300       QCString result="Here is a list of all ";
301       if (!extractAll) result+="documented ";
302
303       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
304       {
305         result+="functions, variables, defines, enums, and typedefs";
306       }
307       else
308       {
309         result+="file members";
310       }
311       result+=" with links to ";
312       if (extractAll)
313         result+="the files they belong to:";
314       else
315         result+="the documentation:";
316       return result;
317     }
318
319     /*! This is an introduction to the page with the list of all examples */
320     virtual QCString trExamplesDescription()
321     { return "Here is a list of all examples:"; }
322
323     /*! This is an introduction to the page with the list of related pages */
324     virtual QCString trRelatedPagesDescription()
325     { return "Here is a list of all related documentation pages:"; }
326
327     /*! This is an introduction to the page with the list of class/file groups */
328     virtual QCString trModulesDescription()
329     { return "Here is a list of all modules:"; }
330
331     // index titles (the project name is prepended for these)
332
333     /*! This is used in HTML as the title of index.html. */
334     virtual QCString trDocumentation()
335     { return "Documentation"; }
336
337     /*! This is used in LaTeX as the title of the chapter with the
338      * index of all groups.
339      */
340     virtual QCString trModuleIndex()
341     { return "Module Index"; }
342
343     /*! This is used in LaTeX as the title of the chapter with the
344      * class hierarchy.
345      */
346     virtual QCString trHierarchicalIndex()
347     { return "Hierarchical Index"; }
348
349     /*! This is used in LaTeX as the title of the chapter with the
350      * annotated compound index.
351      */
352     virtual QCString trCompoundIndex()
353     {
354       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
355       {
356         return "Data Structure Index";
357       }
358       else
359       {
360         return "Class Index";
361       }
362     }
363
364     /*! This is used in LaTeX as the title of the chapter with the
365      * list of all files.
366      */
367     virtual QCString trFileIndex()
368     { return "File Index"; }
369
370     /*! This is used in LaTeX as the title of the chapter containing
371      *  the documentation of all groups.
372      */
373     virtual QCString trModuleDocumentation()
374     { return "Module Documentation"; }
375
376     /*! This is used in LaTeX as the title of the chapter containing
377      *  the documentation of all classes, structs and unions.
378      */
379     virtual QCString trClassDocumentation()
380     {
381       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
382       {
383         return "Data Structure Documentation";
384       }
385       else
386       {
387         return "Class Documentation";
388       }
389     }
390
391     /*! This is used in LaTeX as the title of the chapter containing
392      *  the documentation of all files.
393      */
394     virtual QCString trFileDocumentation()
395     { return "File Documentation"; }
396
397     /*! This is used in LaTeX as the title of the chapter containing
398      *  the documentation of all examples.
399      */
400     virtual QCString trExampleDocumentation()
401     { return "Example Documentation"; }
402
403     /*! This is used in LaTeX as the title of the chapter containing
404      *  the documentation of all related pages.
405      */
406     virtual QCString trPageDocumentation()
407     { return "Page Documentation"; }
408
409     /*! This is used in LaTeX as the title of the document */
410     virtual QCString trReferenceManual()
411     { return "Reference Manual"; }
412
413     /*! This is used in the documentation of a file as a header before the
414      *  list of defines
415      */
416     virtual QCString trDefines()
417     { return "Macros"; }
418
419     /*! This is used in the documentation of a file as a header before the
420      *  list of typedefs
421      */
422     virtual QCString trTypedefs()
423     { return "Typedefs"; }
424
425     /*! This is used in the documentation of a file as a header before the
426      *  list of enumerations
427      */
428     virtual QCString trEnumerations()
429     { return "Enumerations"; }
430
431     /*! This is used in the documentation of a file as a header before the
432      *  list of (global) functions
433      */
434     virtual QCString trFunctions()
435     { return "Functions"; }
436
437     /*! This is used in the documentation of a file as a header before the
438      *  list of (global) variables
439      */
440     virtual QCString trVariables()
441     { return "Variables"; }
442
443     /*! This is used in the documentation of a file as a header before the
444      *  list of (global) variables
445      */
446     virtual QCString trEnumerationValues()
447     { return "Enumerator"; }
448
449     /*! This is used in the documentation of a file before the list of
450      *  documentation blocks for defines
451      */
452     virtual QCString trDefineDocumentation()
453     { return "Macro Definition Documentation"; }
454
455     /*! This is used in the documentation of a file/namespace before the list
456      *  of documentation blocks for typedefs
457      */
458     virtual QCString trTypedefDocumentation()
459     { return "Typedef Documentation"; }
460
461     /*! This is used in the documentation of a file/namespace before the list
462      *  of documentation blocks for enumeration types
463      */
464     virtual QCString trEnumerationTypeDocumentation()
465     { return "Enumeration Type Documentation"; }
466
467     /*! This is used in the documentation of a file/namespace before the list
468      *  of documentation blocks for functions
469      */
470     virtual QCString trFunctionDocumentation()
471     { return "Function Documentation"; }
472
473     /*! This is used in the documentation of a file/namespace before the list
474      *  of documentation blocks for variables
475      */
476     virtual QCString trVariableDocumentation()
477     { return "Variable Documentation"; }
478
479     /*! This is used in the documentation of a file/namespace/group before
480      *  the list of links to documented compounds
481      */
482     virtual QCString trCompounds()
483     {
484       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
485       {
486         return "Data Structures";
487       }
488       else
489       {
490         return "Classes";
491       }
492     }
493
494     /*! This is used in the standard footer of each page and indicates when
495      *  the page was generated
496      */
497     virtual QCString trGeneratedAt(const char *date,const char *projName)
498     {
499       QCString result=(QCString)"Generated on "+date;
500       if (projName) result+=(QCString)" for "+projName;
501       result+=(QCString)" by";
502       return result;
503     }
504
505     /*! this text is put before a class diagram */
506     virtual QCString trClassDiagram(const char *clName)
507     {
508       return (QCString)"Inheritance diagram for "+clName+":";
509     }
510
511     /*! this text is generated when the \\internal command is used. */
512     virtual QCString trForInternalUseOnly()
513     { return "For internal use only."; }
514
515     /*! this text is generated when the \\warning command is used. */
516     virtual QCString trWarning()
517     { return "Warning"; }
518
519     /*! this text is generated when the \\version command is used. */
520     virtual QCString trVersion()
521     { return "Version"; }
522
523     /*! this text is generated when the \\date command is used. */
524     virtual QCString trDate()
525     { return "Date"; }
526
527     /*! this text is generated when the \\return command is used. */
528     virtual QCString trReturns()
529     { return "Returns"; }
530
531     /*! this text is generated when the \\sa command is used. */
532     virtual QCString trSeeAlso()
533     { return "See also"; }
534
535     /*! this text is generated when the \\param command is used. */
536     virtual QCString trParameters()
537     { return "Parameters"; }
538
539     /*! this text is generated when the \\exception command is used. */
540     virtual QCString trExceptions()
541     { return "Exceptions"; }
542
543     /*! this text is used in the title page of a LaTeX document. */
544     virtual QCString trGeneratedBy()
545     { return "Generated by"; }
546
547 //////////////////////////////////////////////////////////////////////////
548 // new since 0.49-990307
549 //////////////////////////////////////////////////////////////////////////
550
551     /*! used as the title of page containing all the index of all namespaces. */
552     virtual QCString trNamespaceList()
553     { return "Namespace List"; }
554
555     /*! used as an introduction to the namespace list */
556     virtual QCString trNamespaceListDescription(bool extractAll)
557     {
558       QCString result="Here is a list of all ";
559       if (!extractAll) result+="documented ";
560       result+="namespaces with brief descriptions:";
561       return result;
562     }
563
564     /*! used in the class documentation as a header before the list of all
565      *  friends of a class
566      */
567     virtual QCString trFriends()
568     { return "Friends"; }
569
570 //////////////////////////////////////////////////////////////////////////
571 // new since 0.49-990405
572 //////////////////////////////////////////////////////////////////////////
573
574     /*! used in the class documentation as a header before the list of all
575      * related classes
576      */
577     virtual QCString trRelatedFunctionDocumentation()
578     { return "Friends And Related Function Documentation"; }
579
580 //////////////////////////////////////////////////////////////////////////
581 // new since 0.49-990425
582 //////////////////////////////////////////////////////////////////////////
583
584     /*! used as the title of the HTML page of a class/struct/union */
585     virtual QCString trCompoundReference(const char *clName,
586                                     ClassDef::CompoundType compType,
587                                     bool isTemplate)
588     {
589       QCString result=(QCString)clName;
590       switch(compType)
591       {
592         case ClassDef::Class:      result+=" Class"; break;
593         case ClassDef::Struct:     result+=" Struct"; break;
594         case ClassDef::Union:      result+=" Union"; break;
595         case ClassDef::Interface:  result+=" Interface"; break;
596         case ClassDef::Protocol:   result+=" Protocol"; break;
597         case ClassDef::Category:   result+=" Category"; break;
598         case ClassDef::Exception:  result+=" Exception"; break;
599         default: break;
600       }
601       if (isTemplate) result+=" Template";
602       result+=" Reference";
603       return result;
604     }
605
606     /*! used as the title of the HTML page of a file */
607     virtual QCString trFileReference(const char *fileName)
608     {
609       QCString result=fileName;
610       result+=" File Reference";
611       return result;
612     }
613
614     /*! used as the title of the HTML page of a namespace */
615     virtual QCString trNamespaceReference(const char *namespaceName)
616     {
617       QCString result=namespaceName;
618       result+=" Namespace Reference";
619       return result;
620     }
621
622     virtual QCString trPublicMembers()
623     { return "Public Member Functions"; }
624     virtual QCString trPublicSlots()
625     { return "Public Slots"; }
626     virtual QCString trSignals()
627     { return "Signals"; }
628     virtual QCString trStaticPublicMembers()
629     { return "Static Public Member Functions"; }
630     virtual QCString trProtectedMembers()
631     { return "Protected Member Functions"; }
632     virtual QCString trProtectedSlots()
633     { return "Protected Slots"; }
634     virtual QCString trStaticProtectedMembers()
635     { return "Static Protected Member Functions"; }
636     virtual QCString trPrivateMembers()
637     { return "Private Member Functions"; }
638     virtual QCString trPrivateSlots()
639     { return "Private Slots"; }
640     virtual QCString trStaticPrivateMembers()
641     { return "Static Private Member Functions"; }
642
643     /*! this function is used to produce a comma-separated list of items.
644      *  use generateMarker(i) to indicate where item i should be put.
645      */
646     virtual QCString trWriteList(int numEntries)
647     {
648       QCString result;
649       int i;
650       // the inherits list contain `numEntries' classes
651       for (i=0;i<numEntries;i++)
652       {
653         // use generateMarker to generate placeholders for the class links!
654         result+=generateMarker(i); // generate marker for entry i in the list
655                                    // (order is left to right)
656
657         if (i!=numEntries-1)  // not the last entry, so we need a separator
658         {
659           if (i<numEntries-2) // not the fore last entry
660             result+=", ";
661           else                // the fore last entry
662             result+=", and ";
663         }
664       }
665       return result;
666     }
667
668     /*! used in class documentation to produce a list of base classes,
669      *  if class diagrams are disabled.
670      */
671     virtual QCString trInheritsList(int numEntries)
672     {
673       return "Inherits "+trWriteList(numEntries)+".";
674     }
675
676     /*! used in class documentation to produce a list of super classes,
677      *  if class diagrams are disabled.
678      */
679     virtual QCString trInheritedByList(int numEntries)
680     {
681       return "Inherited by "+trWriteList(numEntries)+".";
682     }
683
684     /*! used in member documentation blocks to produce a list of
685      *  members that are hidden by this one.
686      */
687     virtual QCString trReimplementedFromList(int numEntries)
688     {
689       return "Reimplemented from "+trWriteList(numEntries)+".";
690     }
691
692     /*! used in member documentation blocks to produce a list of
693      *  all member that overwrite the implementation of this member.
694      */
695     virtual QCString trReimplementedInList(int numEntries)
696     {
697       return "Reimplemented in "+trWriteList(numEntries)+".";
698     }
699
700     /*! This is put above each page as a link to all members of namespaces. */
701     virtual QCString trNamespaceMembers()
702     { return "Namespace Members"; }
703
704     /*! This is an introduction to the page with all namespace members */
705     virtual QCString trNamespaceMemberDescription(bool extractAll)
706     {
707       QCString result="Here is a list of all ";
708       if (!extractAll) result+="documented ";
709       result+="namespace members with links to ";
710       if (extractAll)
711         result+="the namespace documentation for each member:";
712       else
713         result+="the namespaces they belong to:";
714       return result;
715     }
716     /*! This is used in LaTeX as the title of the chapter with the
717      *  index of all namespaces.
718      */
719     virtual QCString trNamespaceIndex()
720     { return "Namespace Index"; }
721
722     /*! This is used in LaTeX as the title of the chapter containing
723      *  the documentation of all namespaces.
724      */
725     virtual QCString trNamespaceDocumentation()
726     { return "Namespace Documentation"; }
727
728 //////////////////////////////////////////////////////////////////////////
729 // new since 0.49-990522
730 //////////////////////////////////////////////////////////////////////////
731
732     /*! This is used in the documentation before the list of all
733      *  namespaces in a file.
734      */
735     virtual QCString trNamespaces()
736     { return "Namespaces"; }
737
738 //////////////////////////////////////////////////////////////////////////
739 // new since 0.49-990728
740 //////////////////////////////////////////////////////////////////////////
741
742     /*! This is put at the bottom of a class documentation page and is
743      *  followed by a list of files that were used to generate the page.
744      */
745     virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType,
746         bool single)
747     { // single is true implies a single file
748       QCString result=(QCString)"The documentation for this ";
749       switch(compType)
750       {
751         case ClassDef::Class:      result+="class"; break;
752         case ClassDef::Struct:     result+="struct"; break;
753         case ClassDef::Union:      result+="union"; break;
754         case ClassDef::Interface:  result+="interface"; break;
755         case ClassDef::Protocol:   result+="protocol"; break;
756         case ClassDef::Category:   result+="category"; break;
757         case ClassDef::Exception:  result+="exception"; break;
758         default: break;
759       }
760       result+=" was generated from the following file";
761       if (single) result+=":"; else result+="s:";
762       return result;
763     }
764
765 //////////////////////////////////////////////////////////////////////////
766 // new since 0.49-990901
767 //////////////////////////////////////////////////////////////////////////
768
769     /*! This is used as the heading text for the retval command. */
770     virtual QCString trReturnValues()
771     { return "Return values"; }
772
773     /*! This is in the (quick) index as a link to the main page (index.html)
774      */
775     virtual QCString trMainPage()
776     { return "Main Page"; }
777
778     /*! This is used in references to page that are put in the LaTeX
779      *  documentation. It should be an abbreviation of the word page.
780      */
781     virtual QCString trPageAbbreviation()
782     { return "p."; }
783
784 //////////////////////////////////////////////////////////////////////////
785 // new since 0.49-991003
786 //////////////////////////////////////////////////////////////////////////
787
788     virtual QCString trDefinedAtLineInSourceFile()
789     {
790       return "Definition at line @0 of file @1.";
791     }
792     virtual QCString trDefinedInSourceFile()
793     {
794       return "Definition in file @0.";
795     }
796
797 //////////////////////////////////////////////////////////////////////////
798 // new since 0.49-991205
799 //////////////////////////////////////////////////////////////////////////
800
801     virtual QCString trDeprecated()
802     {
803       return "Deprecated";
804     }
805
806 //////////////////////////////////////////////////////////////////////////
807 // new since 1.0.0
808 //////////////////////////////////////////////////////////////////////////
809
810     /*! this text is put before a collaboration diagram */
811     virtual QCString trCollaborationDiagram(const char *clName)
812     {
813       return (QCString)"Collaboration diagram for "+clName+":";
814     }
815     /*! this text is put before an include dependency graph */
816     virtual QCString trInclDepGraph(const char *fName)
817     {
818       return (QCString)"Include dependency graph for "+fName+":";
819     }
820     /*! header that is put before the list of constructor/destructors. */
821     virtual QCString trConstructorDocumentation()
822     {
823       return "Constructor & Destructor Documentation";
824     }
825     /*! Used in the file documentation to point to the corresponding sources. */
826     virtual QCString trGotoSourceCode()
827     {
828       return "Go to the source code of this file.";
829     }
830     /*! Used in the file sources to point to the corresponding documentation. */
831     virtual QCString trGotoDocumentation()
832     {
833       return "Go to the documentation of this file.";
834     }
835     /*! Text for the \\pre command */
836     virtual QCString trPrecondition()
837     {
838       return "Precondition";
839     }
840     /*! Text for the \\post command */
841     virtual QCString trPostcondition()
842     {
843       return "Postcondition";
844     }
845     /*! Text for the \\invariant command */
846     virtual QCString trInvariant()
847     {
848       return "Invariant";
849     }
850     /*! Text shown before a multi-line variable/enum initialization */
851     virtual QCString trInitialValue()
852     {
853       return "Initial value:";
854     }
855     /*! Text used the source code in the file index */
856     virtual QCString trCode()
857     {
858       return "code";
859     }
860     virtual QCString trGraphicalHierarchy()
861     {
862       return "Graphical Class Hierarchy";
863     }
864     virtual QCString trGotoGraphicalHierarchy()
865     {
866       return "Go to the graphical class hierarchy";
867     }
868     virtual QCString trGotoTextualHierarchy()
869     {
870       return "Go to the textual class hierarchy";
871     }
872     virtual QCString trPageIndex()
873     {
874       return "Page Index";
875     }
876
877 //////////////////////////////////////////////////////////////////////////
878 // new since 1.1.0
879 //////////////////////////////////////////////////////////////////////////
880
881     virtual QCString trNote()
882     {
883       return "Note";
884     }
885     virtual QCString trPublicTypes()
886     {
887       return "Public Types";
888     }
889     virtual QCString trPublicAttribs()
890     {
891       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
892       {
893         return "Data Fields";
894       }
895       else
896       {
897         return "Public Attributes";
898       }
899     }
900     virtual QCString trStaticPublicAttribs()
901     {
902       return "Static Public Attributes";
903     }
904     virtual QCString trProtectedTypes()
905     {
906       return "Protected Types";
907     }
908     virtual QCString trProtectedAttribs()
909     {
910       return "Protected Attributes";
911     }
912     virtual QCString trStaticProtectedAttribs()
913     {
914       return "Static Protected Attributes";
915     }
916     virtual QCString trPrivateTypes()
917     {
918       return "Private Types";
919     }
920     virtual QCString trPrivateAttribs()
921     {
922       return "Private Attributes";
923     }
924     virtual QCString trStaticPrivateAttribs()
925     {
926       return "Static Private Attributes";
927     }
928
929 //////////////////////////////////////////////////////////////////////////
930 // new since 1.1.3
931 //////////////////////////////////////////////////////////////////////////
932
933     /*! Used as a marker that is put before a \\todo item */
934     virtual QCString trTodo()
935     {
936       return "Todo";
937     }
938     /*! Used as the header of the todo list */
939     virtual QCString trTodoList()
940     {
941       return "Todo List";
942     }
943
944 //////////////////////////////////////////////////////////////////////////
945 // new since 1.1.4
946 //////////////////////////////////////////////////////////////////////////
947
948     virtual QCString trReferencedBy()
949     {
950       return "Referenced by";
951     }
952     virtual QCString trRemarks()
953     {
954       return "Remarks";
955     }
956     virtual QCString trAttention()
957     {
958       return "Attention";
959     }
960     virtual QCString trInclByDepGraph()
961     {
962       return "This graph shows which files directly or "
963              "indirectly include this file:";
964     }
965     virtual QCString trSince()
966     {
967       return "Since";
968     }
969
970 //////////////////////////////////////////////////////////////////////////
971 // new since 1.1.5
972 //////////////////////////////////////////////////////////////////////////
973
974     /*! title of the graph legend page */
975     virtual QCString trLegendTitle()
976     {
977       return "Graph Legend";
978     }
979     /*! page explaining how the dot graph's should be interpreted
980      *  The %A in the text below are to prevent link to classes called "A".
981      */
982     virtual QCString trLegendDocs()
983     {
984       return
985         "This page explains how to interpret the graphs that are generated "
986         "by doxygen.<p>\n"
987         "Consider the following example:\n"
988         "\\code\n"
989         "/*! Invisible class because of truncation */\n"
990         "class Invisible { };\n\n"
991         "/*! Truncated class, inheritance relation is hidden */\n"
992         "class Truncated : public Invisible { };\n\n"
993         "/* Class not documented with doxygen comments */\n"
994         "class Undocumented { };\n\n"
995         "/*! Class that is inherited using public inheritance */\n"
996         "class PublicBase : public Truncated { };\n\n"
997         "/*! A template class */\n"
998         "template<class T> class Templ { };\n\n"
999         "/*! Class that is inherited using protected inheritance */\n"
1000         "class ProtectedBase { };\n\n"
1001         "/*! Class that is inherited using private inheritance */\n"
1002         "class PrivateBase { };\n\n"
1003         "/*! Class that is used by the Inherited class */\n"
1004         "class Used { };\n\n"
1005         "/*! Super class that inherits a number of other classes */\n"
1006         "class Inherited : public PublicBase,\n"
1007         "                  protected ProtectedBase,\n"
1008         "                  private PrivateBase,\n"
1009         "                  public Undocumented,\n"
1010         "                  public Templ<int>\n"
1011         "{\n"
1012         "  private:\n"
1013         "    Used *m_usedClass;\n"
1014         "};\n"
1015         "\\endcode\n"
1016         "This will result in the following graph:"
1017         "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center></p>\n"
1018         "<p>\n"
1019         "The boxes in the above graph have the following meaning:\n"
1020         "</p>\n"
1021         "<ul>\n"
1022         "<li>%A filled gray box represents the struct or class for which the "
1023         "graph is generated.</li>\n"
1024         "<li>%A box with a black border denotes a documented struct or class.</li>\n"
1025         "<li>%A box with a grey border denotes an undocumented struct or class.</li>\n"
1026         "<li>%A box with a red border denotes a documented struct or class for"
1027         "which not all inheritance/containment relations are shown. %A graph is "
1028         "truncated if it does not fit within the specified boundaries.</li>\n"
1029         "</ul>\n"
1030         "<p>\n"
1031         "The arrows have the following meaning:\n"
1032         "</p>\n"
1033         "<ul>\n"
1034         "<li>%A dark blue arrow is used to visualize a public inheritance "
1035         "relation between two classes.</li>\n"
1036         "<li>%A dark green arrow is used for protected inheritance.</li>\n"
1037         "<li>%A dark red arrow is used for private inheritance.</li>\n"
1038         "<li>%A purple dashed arrow is used if a class is contained or used "
1039         "by another class. The arrow is labeled with the variable(s) "
1040         "through which the pointed class or struct is accessible.</li>\n"
1041         "<li>%A yellow dashed arrow denotes a relation between a template instance and "
1042         "the template class it was instantiated from. The arrow is labeled with "
1043         "the template parameters of the instance.</li>\n"
1044         "</ul>\n";
1045     }
1046     /*! text for the link to the legend page */
1047     virtual QCString trLegend()
1048     {
1049       return "legend";
1050     }
1051
1052 //////////////////////////////////////////////////////////////////////////
1053 // new since 1.2.0
1054 //////////////////////////////////////////////////////////////////////////
1055
1056     /*! Used as a marker that is put before a test item */
1057     virtual QCString trTest()
1058     {
1059       return "Test";
1060     }
1061     /*! Used as the header of the test list */
1062     virtual QCString trTestList()
1063     {
1064       return "Test List";
1065     }
1066
1067 //////////////////////////////////////////////////////////////////////////
1068 // new since 1.2.2
1069 //////////////////////////////////////////////////////////////////////////
1070
1071     /*! Used as a section header for IDL properties */
1072     virtual QCString trProperties()
1073     {
1074       return "Properties";
1075     }
1076     /*! Used as a section header for IDL property documentation */
1077     virtual QCString trPropertyDocumentation()
1078     {
1079       return "Property Documentation";
1080     }
1081
1082 //////////////////////////////////////////////////////////////////////////
1083 // new since 1.2.4
1084 //////////////////////////////////////////////////////////////////////////
1085
1086     /*! Used for Java classes in the summary section of Java packages */
1087     virtual QCString trClasses()
1088     {
1089       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
1090       {
1091         return "Data Structures";
1092       }
1093       else
1094       {
1095         return "Classes";
1096       }
1097     }
1098     /*! Used as the title of a Java package */
1099     virtual QCString trPackage(const char *name)
1100     {
1101       return (QCString)"Package "+name;
1102     }
1103     /*! Title of the package index page */
1104     virtual QCString trPackageList()
1105     {
1106       return "Package List";
1107     }
1108     /*! The description of the package index page */
1109     virtual QCString trPackageListDescription()
1110     {
1111       return "Here are the packages with brief descriptions (if available):";
1112     }
1113     /*! The link name in the Quick links header for each page */
1114     virtual QCString trPackages()
1115     {
1116       return "Packages";
1117     }
1118     /*! Text shown before a multi-line define */
1119     virtual QCString trDefineValue()
1120     {
1121       return "Value:";
1122     }
1123
1124 //////////////////////////////////////////////////////////////////////////
1125 // new since 1.2.5
1126 //////////////////////////////////////////////////////////////////////////
1127
1128     /*! Used as a marker that is put before a \\bug item */
1129     virtual QCString trBug()
1130     {
1131       return "Bug";
1132     }
1133     /*! Used as the header of the bug list */
1134     virtual QCString trBugList()
1135     {
1136       return "Bug List";
1137     }
1138
1139 //////////////////////////////////////////////////////////////////////////
1140 // new since 1.2.6
1141 //////////////////////////////////////////////////////////////////////////
1142
1143     /*! Used as ansicpg for RTF file
1144      *
1145      * The following table shows the correlation of Charset name, Charset Value and
1146      * <pre>
1147      * Codepage number:
1148      * Charset Name       Charset Value(hex)  Codepage number
1149      * ------------------------------------------------------
1150      * DEFAULT_CHARSET           1 (x01)
1151      * SYMBOL_CHARSET            2 (x02)
1152      * OEM_CHARSET             255 (xFF)
1153      * ANSI_CHARSET              0 (x00)            1252
1154      * RUSSIAN_CHARSET         204 (xCC)            1251
1155      * EE_CHARSET              238 (xEE)            1250
1156      * GREEK_CHARSET           161 (xA1)            1253
1157      * TURKISH_CHARSET         162 (xA2)            1254
1158      * BALTIC_CHARSET          186 (xBA)            1257
1159      * HEBREW_CHARSET          177 (xB1)            1255
1160      * ARABIC _CHARSET         178 (xB2)            1256
1161      * SHIFTJIS_CHARSET        128 (x80)             932
1162      * HANGEUL_CHARSET         129 (x81)             949
1163      * GB2313_CHARSET          134 (x86)             936
1164      * CHINESEBIG5_CHARSET     136 (x88)             950
1165      * </pre>
1166      *
1167      */
1168     virtual QCString trRTFansicp()
1169     {
1170       return "1252";
1171     }
1172
1173
1174     /*! Used as ansicpg for RTF fcharset
1175      *  \see trRTFansicp() for a table of possible values.
1176      */
1177     virtual QCString trRTFCharSet()
1178     {
1179       return "0";
1180     }
1181
1182     /*! Used as header RTF general index */
1183     virtual QCString trRTFGeneralIndex()
1184     {
1185       return "Index";
1186     }
1187
1188     /*! This is used for translation of the word that will possibly
1189      *  be followed by a single name or by a list of names
1190      *  of the category.
1191      */
1192     virtual QCString trClass(bool first_capital, bool singular)
1193     {
1194       QCString result((first_capital ? "Class" : "class"));
1195       if (!singular)  result+="es";
1196       return result;
1197     }
1198
1199     /*! This is used for translation of the word that will possibly
1200      *  be followed by a single name or by a list of names
1201      *  of the category.
1202      */
1203     virtual QCString trFile(bool first_capital, bool singular)
1204     {
1205       QCString result((first_capital ? "File" : "file"));
1206       if (!singular)  result+="s";
1207       return result;
1208     }
1209
1210     /*! This is used for translation of the word that will possibly
1211      *  be followed by a single name or by a list of names
1212      *  of the category.
1213      */
1214     virtual QCString trNamespace(bool first_capital, bool singular)
1215     {
1216       QCString result((first_capital ? "Namespace" : "namespace"));
1217       if (!singular)  result+="s";
1218       return result;
1219     }
1220
1221     /*! This is used for translation of the word that will possibly
1222      *  be followed by a single name or by a list of names
1223      *  of the category.
1224      */
1225     virtual QCString trGroup(bool first_capital, bool singular)
1226     {
1227       QCString result((first_capital ? "Group" : "group"));
1228       if (!singular)  result+="s";
1229       return result;
1230     }
1231
1232     /*! This is used for translation of the word that will possibly
1233      *  be followed by a single name or by a list of names
1234      *  of the category.
1235      */
1236     virtual QCString trPage(bool first_capital, bool singular)
1237     {
1238       QCString result((first_capital ? "Page" : "page"));
1239       if (!singular)  result+="s";
1240       return result;
1241     }
1242
1243     /*! This is used for translation of the word that will possibly
1244      *  be followed by a single name or by a list of names
1245      *  of the category.
1246      */
1247     virtual QCString trMember(bool first_capital, bool singular)
1248     {
1249       QCString result((first_capital ? "Member" : "member"));
1250       if (!singular)  result+="s";
1251       return result;
1252     }
1253
1254     /*! This is used for translation of the word that will possibly
1255      *  be followed by a single name or by a list of names
1256      *  of the category.
1257      */
1258     virtual QCString trGlobal(bool first_capital, bool singular)
1259     {
1260       QCString result((first_capital ? "Global" : "global"));
1261       if (!singular)  result+="s";
1262       return result;
1263     }
1264
1265 //////////////////////////////////////////////////////////////////////////
1266 // new since 1.2.7
1267 //////////////////////////////////////////////////////////////////////////
1268
1269     /*! This text is generated when the \\author command is used and
1270      *  for the author section in man pages. */
1271     virtual QCString trAuthor(bool first_capital, bool singular)
1272     {
1273       QCString result((first_capital ? "Author" : "author"));
1274       if (!singular)  result+="s";
1275       return result;
1276     }
1277
1278 //////////////////////////////////////////////////////////////////////////
1279 // new since 1.2.11
1280 //////////////////////////////////////////////////////////////////////////
1281
1282     /*! This text is put before the list of members referenced by a member
1283      */
1284     virtual QCString trReferences()
1285     {
1286       return "References";
1287     }
1288
1289 //////////////////////////////////////////////////////////////////////////
1290 // new since 1.2.13
1291 //////////////////////////////////////////////////////////////////////////
1292
1293     /*! used in member documentation blocks to produce a list of
1294      *  members that are implemented by this one.
1295      */
1296     virtual QCString trImplementedFromList(int numEntries)
1297     {
1298       return "Implements "+trWriteList(numEntries)+".";
1299     }
1300
1301     /*! used in member documentation blocks to produce a list of
1302      *  all members that implement this abstract member.
1303      */
1304     virtual QCString trImplementedInList(int numEntries)
1305     {
1306       return "Implemented in "+trWriteList(numEntries)+".";
1307     }
1308
1309 //////////////////////////////////////////////////////////////////////////
1310 // new since 1.2.16
1311 //////////////////////////////////////////////////////////////////////////
1312
1313     /*! used in RTF documentation as a heading for the Table
1314      *  of Contents.
1315      */
1316     virtual QCString trRTFTableOfContents()
1317     {
1318       return "Table of Contents";
1319     }
1320
1321 //////////////////////////////////////////////////////////////////////////
1322 // new since 1.2.17
1323 //////////////////////////////////////////////////////////////////////////
1324
1325     /*! Used as the header of the list of item that have been
1326      *  flagged deprecated
1327      */
1328     virtual QCString trDeprecatedList()
1329     {
1330       return "Deprecated List";
1331     }
1332
1333 //////////////////////////////////////////////////////////////////////////
1334 // new since 1.2.18
1335 //////////////////////////////////////////////////////////////////////////
1336
1337     /*! Used as a header for declaration section of the events found in
1338      * a C# program
1339      */
1340     virtual QCString trEvents()
1341     {
1342       return "Events";
1343     }
1344     /*! Header used for the documentation section of a class' events. */
1345     virtual QCString trEventDocumentation()
1346     {
1347       return "Event Documentation";
1348     }
1349
1350 //////////////////////////////////////////////////////////////////////////
1351 // new since 1.3
1352 //////////////////////////////////////////////////////////////////////////
1353
1354     /*! Used as a heading for a list of Java class types with package scope.
1355      */
1356     virtual QCString trPackageTypes()
1357     {
1358       return "Package Types";
1359     }
1360     /*! Used as a heading for a list of Java class functions with package
1361      * scope.
1362      */
1363     virtual QCString trPackageMembers()
1364     {
1365       return "Package Functions";
1366     }
1367     /*! Used as a heading for a list of static Java class functions with
1368      *  package scope.
1369      */
1370     virtual QCString trStaticPackageMembers()
1371     {
1372       return "Static Package Functions";
1373     }
1374     /*! Used as a heading for a list of Java class variables with package
1375      * scope.
1376      */
1377     virtual QCString trPackageAttribs()
1378     {
1379       return "Package Attributes";
1380     }
1381     /*! Used as a heading for a list of static Java class variables with
1382      * package scope.
1383      */
1384     virtual QCString trStaticPackageAttribs()
1385     {
1386       return "Static Package Attributes";
1387     }
1388
1389 //////////////////////////////////////////////////////////////////////////
1390 // new since 1.3.1
1391 //////////////////////////////////////////////////////////////////////////
1392
1393     /*! Used in the quick index of a class/file/namespace member list page
1394      *  to link to the unfiltered list of all members.
1395      */
1396     virtual QCString trAll()
1397     {
1398       return "All";
1399     }
1400     /*! Put in front of the call graph for a function. */
1401     virtual QCString trCallGraph()
1402     {
1403       return "Here is the call graph for this function:";
1404     }
1405
1406 //////////////////////////////////////////////////////////////////////////
1407 // new since 1.3.3
1408 //////////////////////////////////////////////////////////////////////////
1409
1410     /*! This string is used as the title for the page listing the search
1411      *  results.
1412      */
1413     virtual QCString trSearchResultsTitle()
1414     {
1415       return "Search Results";
1416     }
1417     /*! This string is put just before listing the search results. The
1418      *  text can be different depending on the number of documents found.
1419      *  Inside the text you can put the special marker $num to insert
1420      *  the number representing the actual number of search results.
1421      *  The @a numDocuments parameter can be either 0, 1 or 2, where the
1422      *  value 2 represents 2 or more matches. HTML markup is allowed inside
1423      *  the returned string.
1424      */
1425     virtual QCString trSearchResults(int numDocuments)
1426     {
1427       if (numDocuments==0)
1428       {
1429         return "Sorry, no documents matching your query.";
1430       }
1431       else if (numDocuments==1)
1432       {
1433         return "Found <b>1</b> document matching your query.";
1434       }
1435       else
1436       {
1437         return "Found <b>$num</b> documents matching your query. "
1438                "Showing best matches first.";
1439       }
1440     }
1441     /*! This string is put before the list of matched words, for each search
1442      *  result. What follows is the list of words that matched the query.
1443      */
1444     virtual QCString trSearchMatches()
1445     {
1446       return "Matches:";
1447     }
1448
1449 //////////////////////////////////////////////////////////////////////////
1450 // new since 1.3.8
1451 //////////////////////////////////////////////////////////////////////////
1452
1453     /*! This is used in HTML as the title of page with source code for file filename
1454      */
1455     virtual QCString trSourceFile(QCString& filename)
1456     {
1457       return filename + " Source File";
1458     }
1459
1460 //////////////////////////////////////////////////////////////////////////
1461 // new since 1.3.9
1462 //////////////////////////////////////////////////////////////////////////
1463
1464     /*! This is used as the name of the chapter containing the directory
1465      *  hierarchy.
1466      */
1467     virtual QCString trDirIndex()
1468     { return "Directory Hierarchy"; }
1469
1470     /*! This is used as the name of the chapter containing the documentation
1471      *  of the directories.
1472      */
1473     virtual QCString trDirDocumentation()
1474     { return "Directory Documentation"; }
1475
1476     /*! This is used as the title of the directory index and also in the
1477      *  Quick links of an HTML page, to link to the directory hierarchy.
1478      */
1479     virtual QCString trDirectories()
1480     { return "Directories"; }
1481
1482     /*! This returns a sentences that introduces the directory hierarchy.
1483      *  and the fact that it is sorted alphabetically per level
1484      */
1485     virtual QCString trDirDescription()
1486     { return "This directory hierarchy is sorted roughly, "
1487              "but not completely, alphabetically:";
1488     }
1489
1490     /*! This returns the title of a directory page. The name of the
1491      *  directory is passed via \a dirName.
1492      */
1493     virtual QCString trDirReference(const char *dirName)
1494     { QCString result=dirName; result+=" Directory Reference"; return result; }
1495
1496     /*! This returns the word directory with or without starting capital
1497      *  (\a first_capital) and in sigular or plural form (\a singular).
1498      */
1499     virtual QCString trDir(bool first_capital, bool singular)
1500     {
1501       QCString result((first_capital ? "Director" : "director"));
1502       if (singular) result+="y"; else result+="ies";
1503       return result;
1504     }
1505
1506 //////////////////////////////////////////////////////////////////////////
1507 // new since 1.4.1
1508 //////////////////////////////////////////////////////////////////////////
1509
1510     /*! This text is added to the documentation when the \\overload command
1511      *  is used for a overloaded function.
1512      */
1513     virtual QCString trOverloadText()
1514     {
1515        return "This is an overloaded member function, "
1516               "provided for convenience. It differs from the above "
1517               "function only in what argument(s) it accepts.";
1518     }
1519
1520 //////////////////////////////////////////////////////////////////////////
1521 // new since 1.4.6
1522 //////////////////////////////////////////////////////////////////////////
1523
1524     /*! This is used to introduce a caller (or called-by) graph */
1525     virtual QCString trCallerGraph()
1526     {
1527       return "Here is the caller graph for this function:";
1528     }
1529
1530     /*! This is used in the documentation of a file/namespace before the list
1531      *  of documentation blocks for enumeration values
1532      */
1533     virtual QCString trEnumerationValueDocumentation()
1534     { return "Enumerator Documentation"; }
1535
1536 //////////////////////////////////////////////////////////////////////////
1537 // new since 1.5.4 (mainly for Fortran)
1538 //////////////////////////////////////////////////////////////////////////
1539
1540     /*! header that is put before the list of member subprograms (Fortran). */
1541     virtual QCString trMemberFunctionDocumentationFortran()
1542     { return "Member Function/Subroutine Documentation"; }
1543
1544     /*! This is put above each page as a link to the list of annotated data types (Fortran). */
1545     virtual QCString trCompoundListFortran()
1546     { return "Data Types List"; }
1547
1548     /*! This is put above each page as a link to all members of compounds (Fortran). */
1549     virtual QCString trCompoundMembersFortran()
1550     { return "Data Fields"; }
1551
1552     /*! This is an introduction to the annotated compound list (Fortran). */
1553     virtual QCString trCompoundListDescriptionFortran()
1554     { return "Here are the data types with brief descriptions:"; }
1555
1556     /*! This is an introduction to the page with all data types (Fortran). */
1557     virtual QCString trCompoundMembersDescriptionFortran(bool extractAll)
1558     {
1559       QCString result="Here is a list of all ";
1560       if (!extractAll)
1561       {
1562         result+="documented ";
1563       }
1564       result+="data types members";
1565       result+=" with links to ";
1566       if (!extractAll)
1567       {
1568          result+="the data structure documentation for each member";
1569       }
1570       else
1571       {
1572          result+="the data types they belong to:";
1573       }
1574       return result;
1575     }
1576
1577     /*! This is used in LaTeX as the title of the chapter with the
1578      * annotated compound index (Fortran).
1579      */
1580     virtual QCString trCompoundIndexFortran()
1581     { return "Data Type Index"; }
1582
1583     /*! This is used in LaTeX as the title of the chapter containing
1584      *  the documentation of all data types (Fortran).
1585      */
1586     virtual QCString trTypeDocumentation()
1587     { return "Data Type Documentation"; }
1588
1589     /*! This is used in the documentation of a file as a header before the
1590      *  list of (global) subprograms (Fortran).
1591      */
1592     virtual QCString trSubprograms()
1593     { return "Functions/Subroutines"; }
1594
1595     /*! This is used in the documentation of a file/namespace before the list
1596      *  of documentation blocks for subprograms (Fortran)
1597      */
1598     virtual QCString trSubprogramDocumentation()
1599     { return "Function/Subroutine Documentation"; }
1600
1601     /*! This is used in the documentation of a file/namespace/group before
1602      *  the list of links to documented compounds (Fortran)
1603      */
1604      virtual QCString trDataTypes()
1605     { return "Data Types"; }
1606
1607     /*! used as the title of page containing all the index of all modules (Fortran). */
1608     virtual QCString trModulesList()
1609     { return "Modules List"; }
1610
1611     /*! used as an introduction to the modules list (Fortran) */
1612     virtual QCString trModulesListDescription(bool extractAll)
1613     {
1614       QCString result="Here is a list of all ";
1615       if (!extractAll) result+="documented ";
1616       result+="modules with brief descriptions:";
1617       return result;
1618     }
1619
1620     /*! used as the title of the HTML page of a module/type (Fortran) */
1621     virtual QCString trCompoundReferenceFortran(const char *clName,
1622                                     ClassDef::CompoundType compType,
1623                                     bool isTemplate)
1624     {
1625       QCString result=(QCString)clName;
1626       switch(compType)
1627       {
1628         case ClassDef::Class:      result+=" Module"; break;
1629         case ClassDef::Struct:     result+=" Type"; break;
1630         case ClassDef::Union:      result+=" Union"; break;
1631         case ClassDef::Interface:  result+=" Interface"; break;
1632         case ClassDef::Protocol:   result+=" Protocol"; break;
1633         case ClassDef::Category:   result+=" Category"; break;
1634         case ClassDef::Exception:  result+=" Exception"; break;
1635         default: break;
1636       }
1637       if (isTemplate) result+=" Template";
1638       result+=" Reference";
1639       return result;
1640     }
1641     /*! used as the title of the HTML page of a module (Fortran) */
1642     virtual QCString trModuleReference(const char *namespaceName)
1643     {
1644       QCString result=namespaceName;
1645       result+=" Module Reference";
1646       return result;
1647     }
1648
1649     /*! This is put above each page as a link to all members of modules. (Fortran) */
1650     virtual QCString trModulesMembers()
1651     { return "Module Members"; }
1652
1653     /*! This is an introduction to the page with all modules members (Fortran) */
1654     virtual QCString trModulesMemberDescription(bool extractAll)
1655     {
1656       QCString result="Here is a list of all ";
1657       if (!extractAll) result+="documented ";
1658       result+="module members with links to ";
1659       if (extractAll)
1660       {
1661         result+="the module documentation for each member:";
1662       }
1663       else
1664       {
1665         result+="the modules they belong to:";
1666       }
1667       return result;
1668     }
1669
1670     /*! This is used in LaTeX as the title of the chapter with the
1671      *  index of all modules (Fortran).
1672      */
1673     virtual QCString trModulesIndex()
1674     { return "Modules Index"; }
1675
1676     /*! This is used for translation of the word that will possibly
1677      *  be followed by a single name or by a list of names
1678      *  of the category.
1679      */
1680     virtual QCString trModule(bool first_capital, bool singular)
1681     {
1682       QCString result((first_capital ? "Module" : "module"));
1683       if (!singular)  result+="s";
1684       return result;
1685     }
1686
1687     /*! This is put at the bottom of a module documentation page and is
1688      *  followed by a list of files that were used to generate the page.
1689      */
1690     virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType,
1691         bool single)
1692     {
1693       // single is true implies a single file
1694       QCString result=(QCString)"The documentation for this ";
1695       switch(compType)
1696       {
1697         case ClassDef::Class:      result+="module"; break;
1698         case ClassDef::Struct:     result+="type"; break;
1699         case ClassDef::Union:      result+="union"; break;
1700         case ClassDef::Interface:  result+="interface"; break;
1701         case ClassDef::Protocol:   result+="protocol"; break;
1702         case ClassDef::Category:   result+="category"; break;
1703         case ClassDef::Exception:  result+="exception"; break;
1704         default: break;
1705       }
1706       result+=" was generated from the following file";
1707       if (single) result+=":"; else result+="s:";
1708       return result;
1709     }
1710
1711     /*! This is used for translation of the word that will possibly
1712      *  be followed by a single name or by a list of names
1713      *  of the category.
1714      */
1715     virtual QCString trType(bool first_capital, bool singular)
1716     {
1717       QCString result((first_capital ? "Type" : "type"));
1718       if (!singular)  result+="s";
1719       return result;
1720     }
1721
1722     /*! This is used for translation of the word that will possibly
1723      *  be followed by a single name or by a list of names
1724      *  of the category.
1725      */
1726     virtual QCString trSubprogram(bool first_capital, bool singular)
1727     {
1728       QCString result((first_capital ? "Subprogram" : "subprogram"));
1729       if (!singular)  result+="s";
1730       return result;
1731     }
1732
1733     /*! C# Type Constraint list */
1734     virtual QCString trTypeConstraints()
1735     {
1736       return "Type Constraints";
1737     }
1738
1739 //////////////////////////////////////////////////////////////////////////
1740 // new since 1.6.0 (mainly for the new search engine)
1741 //////////////////////////////////////////////////////////////////////////
1742
1743     /*! directory relation for \a name */
1744     virtual QCString trDirRelation(const char *name)
1745     {
1746       return QCString(name)+" Relation";
1747     }
1748
1749     /*! Loading message shown when loading search results */
1750     virtual QCString trLoading()
1751     {
1752       return "Loading...";
1753     }
1754
1755     /*! Label used for search results in the global namespace */
1756     virtual QCString trGlobalNamespace()
1757     {
1758       return "Global Namespace";
1759     }
1760
1761     /*! Message shown while searching */
1762     virtual QCString trSearching()
1763     {
1764       return "Searching...";
1765     }
1766
1767     /*! Text shown when no search results are found */
1768     virtual QCString trNoMatches()
1769     {
1770       return "No Matches";
1771     }
1772
1773 //////////////////////////////////////////////////////////////////////////
1774 // new since 1.6.3 (missing items for the directory pages)
1775 //////////////////////////////////////////////////////////////////////////
1776
1777     /*! when clicking a directory dependency label, a page with a
1778      *  table is shown. The heading for the first column mentions the
1779      *  source file that has a relation to another file.
1780      */
1781     virtual QCString trFileIn(const char *name)
1782     {
1783       return (QCString)"File in "+name;
1784     }
1785
1786     /*! when clicking a directory dependency label, a page with a
1787      *  table is shown. The heading for the second column mentions the
1788      *  destination file that is included.
1789      */
1790     virtual QCString trIncludesFileIn(const char *name)
1791     {
1792       return (QCString)"Includes file in "+name;
1793     }
1794
1795     /** Compiles a date string.
1796      *  @param year Year in 4 digits
1797      *  @param month Month of the year: 1=January
1798      *  @param day Day of the Month: 1..31
1799      *  @param dayOfWeek Day of the week: 1=Monday..7=Sunday
1800      *  @param hour Hour of the day: 0..23
1801      *  @param minutes Minutes in the hour: 0..59
1802      *  @param seconds Seconds within the minute: 0..59
1803      *  @param includeTime Include time in the result string?
1804      */
1805     virtual QCString trDateTime(int year,int month,int day,int dayOfWeek,
1806                                 int hour,int minutes,int seconds,
1807                                 bool includeTime)
1808     {
1809       static const char *days[]   = { "Mon","Tue","Wed","Thu","Fri","Sat","Sun" };
1810       static const char *months[] = { "Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec" };
1811       QCString sdate;
1812       sdate.sprintf("%s %s %d %d",days[dayOfWeek-1],months[month-1],day,year);
1813       if (includeTime)
1814       {
1815         QCString stime;
1816         stime.sprintf(" %.2d:%.2d:%.2d",hour,minutes,seconds);
1817         sdate+=stime;
1818       }
1819       return sdate;
1820     }
1821
1822 //////////////////////////////////////////////////////////////////////////
1823 // new since 1.7.5
1824 //////////////////////////////////////////////////////////////////////////
1825
1826     /*! Header for the page with bibliographic citations */
1827     virtual QCString trCiteReferences()
1828     { return "Bibliography"; }
1829
1830     /*! Text for copyright paragraph */
1831     virtual QCString trCopyright()
1832     { return "Copyright"; }
1833
1834     /*! Header for the graph showing the directory dependencies */
1835     virtual QCString trDirDepGraph(const char *name)
1836     { return QCString("Directory dependency graph for ")+name+":"; }
1837
1838 //////////////////////////////////////////////////////////////////////////
1839 // new since 1.8.0
1840 //////////////////////////////////////////////////////////////////////////
1841
1842     /*! Detail level selector shown for hierarchical indices */
1843     virtual QCString trDetailLevel()
1844     { return "detail level"; }
1845
1846     /*! Section header for list of template parameters */
1847     virtual QCString trTemplateParameters()
1848     { return "Template Parameters"; }
1849
1850     /*! Used in dot graph when UML_LOOK is enabled and there are many fields */
1851     virtual QCString trAndMore(const QCString &number)
1852     { return "and "+number+" more..."; }
1853
1854     /*! Used file list for a Java enum */
1855     virtual QCString trEnumGeneratedFromFiles(bool single)
1856     { QCString result = "The documentation for this enum was generated from the following file";
1857       if (!single) result += "s";
1858       result+=":";
1859       return result;
1860     }
1861
1862     /*! Header of a Java enum page (Java enums are represented as classes). */
1863     virtual QCString trEnumReference(const char *name)
1864     { return QCString(name)+" Enum Reference"; }
1865
1866     /*! Used for a section containing inherited members */
1867     virtual QCString trInheritedFrom(const char *members,const char *what)
1868     { return QCString(members)+" inherited from "+what; }
1869
1870     /*! Header of the sections with inherited members specific for the
1871      *  base class(es)
1872      */
1873     virtual QCString trAdditionalInheritedMembers()
1874     { return "Additional Inherited Members"; }
1875
1876 //////////////////////////////////////////////////////////////////////////
1877 // new since 1.8.2
1878 //////////////////////////////////////////////////////////////////////////
1879
1880     /*! Used as a tooltip for the toggle button that appears in the
1881      *  navigation tree in the HTML output when GENERATE_TREEVIEW is
1882      *  enabled. This tooltip explains the meaning of the button.
1883      */
1884     virtual QCString trPanelSynchronisationTooltip(bool enable)
1885     {
1886       QCString opt = enable ? "enable" : "disable";
1887       return "click to "+opt+" panel synchronisation";
1888     }
1889
1890     /*! Used in a method of an Objective-C class that is declared in a
1891      *  a category. Note that the @1 marker is required and is replaced
1892      *  by a link.
1893      */
1894     virtual QCString trProvidedByCategory()
1895     {
1896       return "Provided by category @1.";
1897     }
1898
1899     /*! Used in a method of an Objective-C category that extends a class.
1900      *  Note that the @1 marker is required and is replaced by a link to
1901      *  the class method.
1902      */
1903     virtual QCString trExtendsClass()
1904     {
1905       return "Extends class @1.";
1906     }
1907
1908     /*! Used as the header of a list of class methods in Objective-C.
1909      *  These are similar to static public member functions in C++.
1910      */
1911     virtual QCString trClassMethods()
1912     {
1913       return "Class Methods";
1914     }
1915
1916     /*! Used as the header of a list of instance methods in Objective-C.
1917      *  These are similar to public member functions in C++.
1918      */
1919     virtual QCString trInstanceMethods()
1920     {
1921       return "Instance Methods";
1922     }
1923
1924     /*! Used as the header of the member functions of an Objective-C class.
1925      */
1926     virtual QCString trMethodDocumentation()
1927     {
1928       return "Method Documentation";
1929     }
1930
1931     /*! Used as the title of the design overview picture created for the
1932      *  VHDL output.
1933      */
1934     virtual QCString trDesignOverview()
1935     {
1936       return "Design Overview";
1937     }
1938
1939 //////////////////////////////////////////////////////////////////////////
1940 // new since 1.8.4
1941 //////////////////////////////////////////////////////////////////////////
1942
1943     /** old style UNO IDL services: implemented interfaces */
1944     virtual QCString trInterfaces()
1945     { return "Exported Interfaces"; }
1946
1947     /** old style UNO IDL services: inherited services */
1948     virtual QCString trServices()
1949     { return "Included Services"; }
1950
1951     /** UNO IDL constant groups */
1952     virtual QCString trConstantGroups()
1953     { return "Constant Groups"; }
1954
1955     /** UNO IDL constant groups */
1956     virtual QCString trConstantGroupReference(const char *namespaceName)
1957     {
1958       QCString result=namespaceName;
1959       result+=" Constant Group Reference";
1960       return result;
1961     }
1962     /** UNO IDL service page title */
1963     virtual QCString trServiceReference(const char *sName)
1964     {
1965       QCString result=(QCString)sName;
1966       result+=" Service Reference";
1967       return result;
1968     }
1969     /** UNO IDL singleton page title */
1970     virtual QCString trSingletonReference(const char *sName)
1971     {
1972       QCString result=(QCString)sName;
1973       result+=" Singleton Reference";
1974       return result;
1975     }
1976     /** UNO IDL service page */
1977     virtual QCString trServiceGeneratedFromFiles(bool single)
1978     {
1979       // single is true implies a single file
1980       QCString result=(QCString)"The documentation for this service "
1981                                 "was generated from the following file";
1982       if (single) result+=":"; else result+="s:";
1983       return result;
1984     }
1985     /** UNO IDL singleton page */
1986     virtual QCString trSingletonGeneratedFromFiles(bool single)
1987     {
1988       // single is true implies a single file
1989       QCString result=(QCString)"The documentation for this singleton "
1990                                 "was generated from the following file";
1991       if (single) result+=":"; else result+="s:";
1992       return result;
1993     }
1994
1995 //////////////////////////////////////////////////////////////////////////
1996
1997 };
1998
1999 #endif