Fix for UBSan build
[platform/upstream/doxygen.git] / src / translator_za.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  */
17
18  /*
19  *  Bronne vir hierdie vertaling (Sources for this translation):
20  *  Die Stigting vir Afrikaans se rekenaartermelys: 
21  *      - http://www.afrikaans.com/rekenaarterme.html
22  *  Werkgroep vir Afrikaanse IT-terme:
23  *      - http://www.vertaal.org/index.html
24  */
25
26 #ifndef TRANSLATOR_ZA_H
27 #define TRANSLATOR_ZA_H
28
29 class TranslatorAfrikaans : public TranslatorAdapter_1_6_0
30 {
31   public:
32
33     // --- Language control methods -------------------
34     
35     /*! Used for identification of the language. The identification 
36      * should not be translated. It should be replaced by the name 
37      * of the language in English using lower-case characters only
38      * (e.g. "czech", "japanese", "russian", etc.). It should be equal to 
39      * the identification used in language.cpp.
40      */
41     virtual QCString idLanguage()
42     { return "afrikaans"; }
43     
44     /*! Used to get the LaTeX command(s) for the language support. 
45      *  This method should return string with commands that switch
46      *  LaTeX to the desired language.  For example 
47      *  <pre>"\\usepackage[german]{babel}\n"
48      *  </pre>
49      *  or
50      *  <pre>"\\usepackage{polski}\n"
51      *  "\\usepackage[latin2]{inputenc}\n"
52      *  "\\usepackage[T1]{fontenc}\n"
53      *  </pre>
54      * 
55      * The Afrikaans LaTeX does not use such commands.  Because of this
56      * the empty string is returned in this implementation.
57      */
58     virtual QCString latexLanguageSupportCommand()
59     {
60       //should we use return "\\usepackage[afrikaans]{babel}\n";
61       // not sure - for now return an empty string
62       return "";
63     }
64
65     /*! return the language charset. This will be used for the HTML output */
66     virtual QCString idLanguageCharset()
67     {
68       return "iso-8859-1";
69     }
70
71     // --- Language translation methods -------------------
72
73     /*! used in the compound documentation before a list of related functions. */
74     virtual QCString trRelatedFunctions()
75     { return "Verwante Funksies"; }
76
77     /*! subscript for the related functions. */
78     virtual QCString trRelatedSubscript()
79     { return "(Let daarop dat hierdie nie lede funksies is nie.)"; }
80
81     /*! header that is put before the detailed description of files, classes and namespaces. */
82     virtual QCString trDetailedDescription()
83     { return "Detail Beskrywing"; }
84
85     /*! header that is put before the list of typedefs. */
86     virtual QCString trMemberTypedefDocumentation()
87     { return "Lede Typedef Dokumentasie"; }
88     
89     /*! header that is put before the list of enumerations. */
90     virtual QCString trMemberEnumerationDocumentation()
91     { return "Lede Enumerasie Dokumentasie"; }
92     
93     /*! header that is put before the list of member functions. */
94     virtual QCString trMemberFunctionDocumentation()
95     { return "Lede Funksie Dokumentasie"; }
96     
97     /*! header that is put before the list of member attributes. */
98     virtual QCString trMemberDataDocumentation()
99     { 
100       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
101       {
102         return "Veld Dokumentasie"; 
103       }
104       else
105       {
106         return "Lede Data Dokumentasie"; 
107       }
108     }
109
110     /*! this is the text of a link put after brief descriptions. */
111     virtual QCString trMore() 
112     { return "Meer detail..."; }
113
114     /*! put in the class documentation */
115     virtual QCString trListOfAllMembers()
116     { return "Lys van alle lede"; }
117
118     /*! used as the title of the "list of all members" page of a class */
119     virtual QCString trMemberList()
120     { return "Lede Lys"; }
121
122     /*! this is the first part of a sentence that is followed by a class name */
123     virtual QCString trThisIsTheListOfAllMembers()
124     { return "Hierdie is 'n volledige lys van lede vir "; }
125
126     /*! this is the remainder of the sentence after the class name */
127     virtual QCString trIncludingInheritedMembers()
128     { return ", insluitend alle afgeleide lede."; }
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="Automaties gegenereer deur Doxygen";
135       if (s) result+=(QCString)" vir "+s;
136       result+=" van die bron kode af."; 
137       return result;
138     }
139
140     /*! put after an enum name in the list of all members */
141     virtual QCString trEnumName()
142     { return "enum naam"; }
143     
144     /*! put after an enum value in the list of all members */
145     virtual QCString trEnumValue()
146     { return "enum waarde"; }
147     
148     /*! put after an undocumented member in the list of all members */
149     virtual QCString trDefinedIn()
150     { return "gedefinie&euml;r in"; }
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 "Modules"; }
159     
160     /*! This is put above each page as a link to the class hierarchy */
161     virtual QCString trClassHierarchy()
162     { return "Klas Hierargie"; }
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 "Data Strukture";
170       }
171       else
172       {
173         return "Klas Lys"; 
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 "Le&euml;r Lys"; }
180
181     /*! This is put above each page as a link to all members of compounds. */
182     virtual QCString trCompoundMembers()
183     { 
184       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
185       {
186         return "Data Velde"; 
187       }
188       else
189       {
190         return "Klas Lede"; 
191       }
192     }
193
194     /*! This is put above each page as a link to all members of files. */
195     virtual QCString trFileMembers()
196     { 
197       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
198       {
199         return "Globals"; 
200       }
201       else
202       {
203         return "Le&euml;r Lede"; 
204       }
205     }
206
207     /*! This is put above each page as a link to all related pages. */
208     virtual QCString trRelatedPages()
209     { return "Verwante Bladsye"; }
210
211     /*! This is put above each page as a link to all examples. */
212     virtual QCString trExamples()
213     { return "Voorbeelde"; }
214
215     /*! This is put above each page as a link to the search engine. */
216     virtual QCString trSearch()
217     { return "Soek"; }
218
219     /*! This is an introduction to the class hierarchy. */
220     virtual QCString trClassHierarchyDescription()
221     { 
222       return "Hierdie afgeleide lys word rofweg gesorteer: ";
223     }
224
225     /*! This is an introduction to the list with all files. */
226     virtual QCString trFileListDescription(bool extractAll)
227     {
228       QCString result="Hier is 'n lys van alle  ";
229       if (!extractAll) result+="gedokumenteerde ";
230       result+="le&euml;rs met kort beskrywings:";
231       return result;
232     }
233
234     /*! This is an introduction to the annotated compound list. */
235     virtual QCString trCompoundListDescription()
236     { 
237       
238       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
239       {
240         return " Data strukture met kort beskrywings:"; 
241       }
242       else
243       {
244         return "Klasse, structs, "
245                "unions en intervlakke met kort beskrywings:"; 
246       }
247     }
248
249     /*! This is an introduction to the page with all class members. */
250     virtual QCString trCompoundMembersDescription(bool extractAll)
251     {
252       QCString result="'n Lys van alle ";
253       if (!extractAll)
254       {
255         result+="gedokumenteerde ";
256       }
257       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
258       {
259         result+="struct en union velde";
260       }
261       else
262       {
263         result+="klas lede";
264       }
265       result+=" met skakels na ";
266       if (!extractAll) 
267       {
268         if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
269         {
270           result+="die struct/union dokumentasie vir elke veld:";
271         }
272         else
273         {
274           result+="die klas dokumentasie vir elke lid:";
275         }
276       }
277       else 
278       {
279         if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
280         {
281           result+="die structures/unions waaraan hulle behoort:";
282         }
283         else
284         {
285           result+="die klasse waaraan hulle behoort:";
286         }
287       }
288       return result;
289     }
290
291     /*! This is an introduction to the page with all file members. */
292     virtual QCString trFileMembersDescription(bool extractAll)
293     {
294       QCString result="'n Lys van alle ";
295       if (!extractAll) result+="gedokumenteerde ";
296       
297       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
298       {
299         result+="funksies, veranderlikes, defines, enums, en typedefs";
300       }
301       else
302       {
303         result+="le&euml;r lede";
304       }
305       result+=" met skakels na ";
306       if (extractAll) 
307         result+="die le&euml;rs waaraan hulle behoort:";
308       else 
309         result+="die dokumentasie:";
310       return result;
311     }
312
313     /*! This is an introduction to the page with the list of all examples */
314     virtual QCString trExamplesDescription()
315     { return "'n Lys van alle voorbeelde:"; }
316
317     /*! This is an introduction to the page with the list of related pages */
318     virtual QCString trRelatedPagesDescription()
319     { return "'n Lys van alle verwante dokumentasie:"; }
320
321     /*! This is an introduction to the page with the list of class/file groups */
322     virtual QCString trModulesDescription()
323     { return "'n Lys van alle modules:"; }
324
325     /*! This is used in HTML as the title of index.html. */
326     virtual QCString trDocumentation()
327     { return "Dokumentasie"; }
328
329     /*! This is used in LaTeX as the title of the chapter with the 
330      * index of all groups.
331      */
332     virtual QCString trModuleIndex()
333     { return "Module Indeks"; }
334
335     /*! This is used in LaTeX as the title of the chapter with the 
336      * class hierarchy.
337      */
338     virtual QCString trHierarchicalIndex()
339     { return "Hierargiese Indeks"; }
340
341     /*! This is used in LaTeX as the title of the chapter with the 
342      * annotated compound index.
343      */
344     virtual QCString trCompoundIndex()
345     {
346       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
347       { 
348         return "Data Strukture Indeks";
349       }
350       else
351       {
352         return "Klas Indeks"; 
353       }
354     }
355
356     /*! This is used in LaTeX as the title of the chapter with the
357      * list of all files.
358      */
359     virtual QCString trFileIndex() 
360     { return "Le&euml;r Indeks"; }
361
362     /*! This is used in LaTeX as the title of the chapter containing
363      *  the documentation of all groups.
364      */
365     virtual QCString trModuleDocumentation()
366     { return "Module Dokumentasie"; }
367
368     /*! This is used in LaTeX as the title of the chapter containing
369      *  the documentation of all classes, structs and unions.
370      */
371     virtual QCString trClassDocumentation()
372     { 
373       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
374       {
375         return "Data Strukture Dokumentasie"; 
376       }
377       else
378       {
379         return "Klas Dokumentasie"; 
380       }
381     }
382
383     /*! This is used in LaTeX as the title of the chapter containing
384      *  the documentation of all files.
385      */
386     virtual QCString trFileDocumentation()
387     { return "Le&euml;r Dokumentasie"; }
388
389     /*! This is used in LaTeX as the title of the chapter containing
390      *  the documentation of all examples.
391      */
392     virtual QCString trExampleDocumentation()
393     { return "Voorbeeld Dokumentasie"; }
394
395     /*! This is used in LaTeX as the title of the chapter containing
396      *  the documentation of all related pages.
397      */
398     virtual QCString trPageDocumentation()
399     { return "Bladsy Dokumentasie"; }
400
401     /*! This is used in LaTeX as the title of the document */
402     virtual QCString trReferenceManual()
403     { return "Verwysings Handleiding"; }
404     
405     /*! This is used in the documentation of a file as a header before the 
406      *  list of defines
407      */
408     virtual QCString trDefines()
409     { return "Definiesies"; }
410
411     /*! This is used in the documentation of a file as a header before the 
412      *  list of function prototypes
413      */
414     virtual QCString trFuncProtos()
415     { return "Funksie Prototipes"; }
416
417     /*! This is used in the documentation of a file as a header before the 
418      *  list of typedefs
419      */
420     virtual QCString trTypedefs()
421     { return "Typedefs"; }
422
423     /*! This is used in the documentation of a file as a header before the 
424      *  list of enumerations
425      */
426     virtual QCString trEnumerations()
427     { return "Enumerations"; }
428
429     /*! This is used in the documentation of a file as a header before the 
430      *  list of (global) functions
431      */
432     virtual QCString trFunctions()
433     { return "Funksies"; }
434
435     /*! This is used in the documentation of a file as a header before the 
436      *  list of (global) variables
437      */
438     virtual QCString trVariables()
439     { return "Veranderlikes"; }
440
441     /*! This is used in the documentation of a file as a header before the 
442      *  list of (global) variables
443      */
444     virtual QCString trEnumerationValues()
445     { return "Enumeration waardes"; }
446     
447     /*! This is used in the documentation of a file before the list of
448      *  documentation blocks for defines
449      */
450     virtual QCString trDefineDocumentation()
451     { return "Define Documentation"; }
452
453     /*! This is used in the documentation of a file/namespace before the list 
454      *  of documentation blocks for function prototypes
455      */
456     virtual QCString trFunctionPrototypeDocumentation()
457     { return "Funksie Prototipe Dokumentasie"; }
458
459     /*! This is used in the documentation of a file/namespace before the list 
460      *  of documentation blocks for typedefs
461      */
462     virtual QCString trTypedefDocumentation()
463     { return "Typedef Dokumentasie"; }
464
465     /*! This is used in the documentation of a file/namespace before the list 
466      *  of documentation blocks for enumeration types
467      */
468     virtual QCString trEnumerationTypeDocumentation()
469     { return "Enumeration Type Dokumentasie"; }
470
471     /*! This is used in the documentation of a file/namespace before the list 
472      *  of documentation blocks for functions
473      */
474     virtual QCString trFunctionDocumentation()
475     { return "Funksie Dokumentasie"; }
476
477     /*! This is used in the documentation of a file/namespace before the list 
478      *  of documentation blocks for variables
479      */
480     virtual QCString trVariableDocumentation()
481     { return "Veranderlike Dokumentasie"; }
482
483     /*! This is used in the documentation of a file/namespace/group before 
484      *  the list of links to documented compounds
485      */
486     virtual QCString trCompounds()
487     { 
488       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
489       {
490         return "Data Strukture"; 
491       }
492       else
493       {
494         return "Klasse"; 
495       }
496     }
497
498     /*! This is used in the standard footer of each page and indicates when 
499      *  the page was generated 
500      */
501     virtual QCString trGeneratedAt(const char *date,const char *projName)
502     { 
503       QCString result=(QCString)"Gegenereer op "+date;
504       if (projName) result+=(QCString)" vir "+projName;
505       result+=(QCString)" deur";
506       return result;
507     }
508     /*! This is part of the sentence used in the standard footer of each page.
509      */
510     virtual QCString trWrittenBy()
511     {
512       return "geskryf deur";
513     }
514
515     /*! this text is put before a class diagram */
516     virtual QCString trClassDiagram(const char *clName)
517     {
518       return (QCString)"Afleidings diagram vir "+clName+":";
519     }
520     
521     /*! this text is generated when the \\internal command is used. */
522     virtual QCString trForInternalUseOnly()
523     { return "Slegs vir interne gebruik."; }
524
525     /*! this text is generated when the \\warning command is used. */
526     virtual QCString trWarning()
527     { return "Waarskuwing"; }
528
529     /*! this text is generated when the \\version command is used. */
530     virtual QCString trVersion()
531     { return "Weergawe"; }
532
533     /*! this text is generated when the \\date command is used. */
534     virtual QCString trDate()
535     { return "Datum"; }
536
537     /*! this text is generated when the \\return command is used. */
538     virtual QCString trReturns()
539     { return "Returns"; }
540
541     /*! this text is generated when the \\sa command is used. */
542     virtual QCString trSeeAlso()
543     { return "Sien ook"; }
544
545     /*! this text is generated when the \\param command is used. */
546     virtual QCString trParameters()
547     { return "Parameters"; }
548
549     /*! this text is generated when the \\exception command is used. */
550     virtual QCString trExceptions()
551     { return "Exceptions"; }
552     
553     /*! this text is used in the title page of a LaTeX document. */
554     virtual QCString trGeneratedBy()
555     { return "Gegenereer deur"; }
556
557 //////////////////////////////////////////////////////////////////////////
558 // new since 0.49-990307
559 //////////////////////////////////////////////////////////////////////////
560     
561     /*! used as the title of page containing all the index of all namespaces. */
562     virtual QCString trNamespaceList()
563     { return "Namespace Lys"; }
564
565     /*! used as an introduction to the namespace list */
566     virtual QCString trNamespaceListDescription(bool extractAll)
567     {
568       QCString result="'n Lys van alle ";
569       if (!extractAll) result+="gedokumenteerde ";
570       result+="namespaces met kort beskrywings:";
571       return result;
572     }
573
574     /*! used in the class documentation as a header before the list of all
575      *  friends of a class
576      */
577     virtual QCString trFriends()
578     { return "Friends"; }
579     
580 //////////////////////////////////////////////////////////////////////////
581 // new since 0.49-990405
582 //////////////////////////////////////////////////////////////////////////
583     
584     /*! used in the class documentation as a header before the list of all
585      * related classes 
586      */
587     virtual QCString trRelatedFunctionDocumentation()
588     { return "Friends En Verwante Funksie Dokumentasie"; }
589     
590 //////////////////////////////////////////////////////////////////////////
591 // new since 0.49-990425
592 //////////////////////////////////////////////////////////////////////////
593
594     /*! used as the title of the HTML page of a class/struct/union */
595     virtual QCString trCompoundReference(const char *clName,
596                                     ClassDef::CompoundType compType,
597                                     bool isTemplate)
598     {
599       QCString result=(QCString)clName;
600       switch(compType)
601       {
602         case ClassDef::Class:      result+=" klas"; break;
603         case ClassDef::Struct:     result+=" Struct"; break;
604         case ClassDef::Union:      result+=" Union"; break;
605         case ClassDef::Interface:  result+=" Intervlak"; break;
606         case ClassDef::Protocol:   result+=" Protocol"; break;
607         case ClassDef::Category:   result+=" Kategorie"; break;
608         case ClassDef::Exception:  result+=" Exception"; break;
609       }
610       if (isTemplate) result+=" Template";
611       result+=" Verwysing";
612       return result;
613     }
614
615     /*! used as the title of the HTML page of a file */
616     virtual QCString trFileReference(const char *fileName)
617     {
618       QCString result=fileName;
619       result+=" Le&euml;r Verwysing"; 
620       return result;
621     }
622
623     /*! used as the title of the HTML page of a namespace */
624     virtual QCString trNamespaceReference(const char *namespaceName)
625     {
626       QCString result=namespaceName;
627       result+=" Namespace Verwysing";
628       return result;
629     }
630     
631     virtual QCString trPublicMembers()
632     { return "Publieke Lede Funksies"; }
633     virtual QCString trPublicSlots()
634     { return "Publieke Slots"; }
635     virtual QCString trSignals()
636     { return "Signals"; }
637     virtual QCString trStaticPublicMembers()
638     { return "Statiese Publieke Lede Funksies"; }
639     virtual QCString trProtectedMembers()
640     { return "Beskermde Lede Funksies"; }
641     virtual QCString trProtectedSlots()
642     { return "Beskermde Slots"; }
643     virtual QCString trStaticProtectedMembers()
644     { return "Statiese Beskermde Lede Funksies"; }
645     virtual QCString trPrivateMembers()
646     { return "Private Lede Funksies"; }
647     virtual QCString trPrivateSlots()
648     { return "Private Slots"; }
649     virtual QCString trStaticPrivateMembers()
650     { return "Statiese Private Lede Funksies"; }
651     
652     /*! this function is used to produce a comma-separated list of items.
653      *  use generateMarker(i) to indicate where item i should be put.
654      */
655     virtual QCString trWriteList(int numEntries)
656     {
657       QCString result;
658       int i;
659       // the inherits list contain `numEntries' classes
660       for (i=0;i<numEntries;i++) 
661       {
662         // use generateMarker to generate placeholders for the class links!
663         result+=generateMarker(i); // generate marker for entry i in the list 
664                                    // (order is left to right)
665         
666         if (i!=numEntries-1)  // not the last entry, so we need a separator
667         {
668           if (i<numEntries-2) // not the fore last entry 
669             result+=", ";
670           else                // the fore last entry
671             result+=", en ";
672         }
673       }
674       return result; 
675     }
676     
677     /*! used in class documentation to produce a list of base classes,
678      *  if class diagrams are disabled.
679      */
680     virtual QCString trInheritsList(int numEntries)
681     {
682       return "Afgelei van"+trWriteList(numEntries)+".";
683     }
684
685     /*! used in class documentation to produce a list of super classes,
686      *  if class diagrams are disabled.
687      */
688     virtual QCString trInheritedByList(int numEntries)
689     {
690       return "Afgelei van"+trWriteList(numEntries)+".";
691     }
692
693     /*! used in member documentation blocks to produce a list of 
694      *  members that are hidden by this one.
695      */
696     virtual QCString trReimplementedFromList(int numEntries)
697     {
698       return "Hergeimplimenteer van "+trWriteList(numEntries)+".";
699     }
700
701     /*! used in member documentation blocks to produce a list of
702      *  all member that overwrite the implementation of this member.
703      */
704     virtual QCString trReimplementedInList(int numEntries)
705     {
706       return "Hergeimplimenter in "+trWriteList(numEntries)+".";
707     }
708
709     /*! This is put above each page as a link to all members of namespaces. */
710     virtual QCString trNamespaceMembers()
711     { return "Namespace Lede"; }
712
713     /*! This is an introduction to the page with all namespace members */
714     virtual QCString trNamespaceMemberDescription(bool extractAll)
715     { 
716       QCString result="'n Lys van alle ";
717       if (!extractAll) result+="gedokumenteerde ";
718       result+="namespace lede met skakels na ";
719       if (extractAll) 
720         result+="die namespace dokumentasie vir elke lid:";
721       else 
722         result+="die namespaces waaraan hulle behoort:";
723       return result;
724     }
725     /*! This is used in LaTeX as the title of the chapter with the 
726      *  index of all namespaces.
727      */
728     virtual QCString trNamespaceIndex()
729     { return "Namespace Indeks"; }
730
731     /*! This is used in LaTeX as the title of the chapter containing
732      *  the documentation of all namespaces.
733      */
734     virtual QCString trNamespaceDocumentation()
735     { return "Namespace Dokumentasie"; }
736
737 //////////////////////////////////////////////////////////////////////////
738 // new since 0.49-990522
739 //////////////////////////////////////////////////////////////////////////
740
741     /*! This is used in the documentation before the list of all
742      *  namespaces in a file.
743      */
744     virtual QCString trNamespaces()
745     { return "Namespaces"; }
746
747 //////////////////////////////////////////////////////////////////////////
748 // new since 0.49-990728
749 //////////////////////////////////////////////////////////////////////////
750
751     /*! This is put at the bottom of a class documentation page and is
752      *  followed by a list of files that were used to generate the page.
753      */
754     virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType,
755         bool single)
756     { // here s is one of " Class", " Struct" or " Union"
757       // single is true implies a single file
758       QCString result=(QCString)"Die dokumentasie vir hierdie ";
759       switch(compType)
760       {
761         case ClassDef::Class:      result+="klas"; break;
762         case ClassDef::Struct:     result+="struct"; break;
763         case ClassDef::Union:      result+="union"; break;
764         case ClassDef::Interface:  result+="intervlak"; break;
765         case ClassDef::Protocol:   result+="protokol"; break;
766         case ClassDef::Category:   result+="kategorie"; break;
767         case ClassDef::Exception:  result+="eksepsie"; break;
768       }
769       result+=" is gegenereer vanaf die volgende le&euml;r";
770       if (single) result+=":"; else result+="s:";
771       return result;
772     }
773
774     /*! This is in the (quick) index as a link to the alphabetical compound
775      * list.
776      */
777     virtual QCString trAlphabeticalList()
778     { return "Alfabetiese Lys"; }
779
780 //////////////////////////////////////////////////////////////////////////
781 // new since 0.49-990901
782 //////////////////////////////////////////////////////////////////////////
783
784     /*! This is used as the heading text for the retval command. */
785     virtual QCString trReturnValues()
786     { return "Return waardes"; }
787
788     /*! This is in the (quick) index as a link to the main page (index.html)
789      */
790     virtual QCString trMainPage()
791     { return "Hoof Bladsy"; }
792
793     /*! This is used in references to page that are put in the LaTeX 
794      *  documentation. It should be an abbreviation of the word page.
795      */
796     virtual QCString trPageAbbreviation()
797     { return "p."; }
798
799 //////////////////////////////////////////////////////////////////////////
800 // new since 0.49-991003
801 //////////////////////////////////////////////////////////////////////////
802
803     virtual QCString trDefinedAtLineInSourceFile()
804     {
805       return "Gedefinie&euml;r by lyn @0 van le&euml;r @1.";
806     }
807     virtual QCString trDefinedInSourceFile()
808     {
809       return "Definisie in le&euml;r @0.";
810     }
811
812 //////////////////////////////////////////////////////////////////////////
813 // new since 0.49-991205
814 //////////////////////////////////////////////////////////////////////////
815
816     virtual QCString trDeprecated()
817     {
818       return "Verouderd";
819     }
820
821 //////////////////////////////////////////////////////////////////////////
822 // new since 1.0.0
823 //////////////////////////////////////////////////////////////////////////
824
825     /*! this text is put before a collaboration diagram */
826     virtual QCString trCollaborationDiagram(const char *clName)
827     {
828       return (QCString)"Samewerkings diagram vir "+clName+":";
829     }
830     /*! this text is put before an include dependency graph */
831     virtual QCString trInclDepGraph(const char *fName)
832     {
833       return (QCString)"Insluitings afhanklikheid diagram vir "+fName+":";
834     }
835     /*! header that is put before the list of constructor/destructors. */
836     virtual QCString trConstructorDocumentation()
837     {
838       return "Konstruktor & Destruktor Dokumentasie"; 
839     }
840     /*! Used in the file documentation to point to the corresponding sources. */
841     virtual QCString trGotoSourceCode()
842     {
843       return "Skakel na die bron kode van hierdie le&euml;r.";
844     }
845     /*! Used in the file sources to point to the corresponding documentation. */
846     virtual QCString trGotoDocumentation()
847     {
848       return "Skakel na die dokumentasie van hierdie le&euml;r.";
849     }
850     /*! Text for the \\pre command */
851     virtual QCString trPrecondition()
852     {
853       return "Prekondisie";
854     }
855     /*! Text for the \\post command */
856     virtual QCString trPostcondition()
857     {
858       return "Postkondisie";
859     }
860     /*! Text for the \\invariant command */
861     virtual QCString trInvariant()
862     {
863       return "Invariant";
864     }
865     /*! Text shown before a multi-line variable/enum initialization */
866     virtual QCString trInitialValue()
867     {
868       return "Oorspronklike waarde:";
869     }
870     /*! Text used the source code in the file index */
871     virtual QCString trCode()
872     {
873       return "kode";
874     }
875     virtual QCString trGraphicalHierarchy()
876     {
877       return "Grafiese Klasse Hierargie";
878     }
879     virtual QCString trGotoGraphicalHierarchy()
880     {
881       return "Skakel na die grafiese klasse hierargie";
882     }
883     virtual QCString trGotoTextualHierarchy()
884     {
885       return "Skakel na die teks klasse hierargie";
886     }
887     virtual QCString trPageIndex()
888     {
889       return "Bladsy Indeks";
890     }
891
892 //////////////////////////////////////////////////////////////////////////
893 // new since 1.1.0
894 //////////////////////////////////////////////////////////////////////////
895     
896     virtual QCString trNote()
897     {
898       return "Nota";
899     }
900     virtual QCString trPublicTypes()
901     {
902       return "Publieke Tipes";
903     }
904     virtual QCString trPublicAttribs()
905     {
906       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
907       {
908         return "Data Velde";
909       }
910       else
911       {
912         return "Publieke Public Attributes";
913       }
914     }
915     virtual QCString trStaticPublicAttribs()
916     {
917       return "Statiese Publieke Attribute";
918     }
919     virtual QCString trProtectedTypes()
920     {
921       return "Beskermde Tipes";
922     }
923     virtual QCString trProtectedAttribs()
924     {
925       return "Beskermde Attribute";
926     }
927     virtual QCString trStaticProtectedAttribs()
928     {
929       return "Statiese Beskermde Attribute";
930     }
931     virtual QCString trPrivateTypes()
932     {
933       return "Private Tipes";
934     }
935     virtual QCString trPrivateAttribs()
936     {
937       return "Private Attribute";
938     }
939     virtual QCString trStaticPrivateAttribs()
940     {
941       return "Statiese Private Attribute";
942     }
943
944 //////////////////////////////////////////////////////////////////////////
945 // new since 1.1.3
946 //////////////////////////////////////////////////////////////////////////
947
948     /*! Used as a marker that is put before a \\todo item */
949     virtual QCString trTodo()
950     {
951       return "Aksies";
952     }
953     /*! Used as the header of the todo list */
954     virtual QCString trTodoList()
955     {
956       return "Aksie Lys";
957     }
958
959 //////////////////////////////////////////////////////////////////////////
960 // new since 1.1.4
961 //////////////////////////////////////////////////////////////////////////
962
963     virtual QCString trReferencedBy()
964     {
965       return "Verwysing van";
966     }
967     virtual QCString trRemarks()
968     {
969       return "Opmerkings";
970     }
971     virtual QCString trAttention()
972     {
973       return "Aandag";
974     }
975     virtual QCString trInclByDepGraph()
976     {
977       return "Hierdie diagram verduidelik watter le&euml;rs direk of"
978              "indirek hierdie le&euml;r insluit:";
979     }
980     virtual QCString trSince()
981     {
982       return "Sederd";
983     }
984     
985 //////////////////////////////////////////////////////////////////////////
986 // new since 1.1.5
987 //////////////////////////////////////////////////////////////////////////
988
989     /*! title of the graph legend page */
990     virtual QCString trLegendTitle()
991     {
992       return "Diagram beskrywing";
993     }
994     /*! page explaining how the dot graph's should be interpreted 
995      *  The %A in the text below are to prevent link to classes called "A".
996      */
997     virtual QCString trLegendDocs()
998     {
999       return 
1000         "Hierdie bladsy beskryf die diagram konvensies wat gebruik word "
1001         "deur doxygen.<p>\n"
1002         "in hierdie voorbeeld:\n"
1003         "\\code\n"
1004         "/*! Onsigbare klas weens afkorting */\n"
1005         "class Invisible { };\n\n"
1006         "/*! Afgekorte klas, afgeleide verwantskap word versteek */\n"
1007         "class Truncated : public Invisible { };\n\n"
1008         "/* Ongedokumenteerde Klas, geen doxygen kommentaar nie */\n"
1009         "class Undocumented{ };\n\n"
1010         "/*! 'n Klas wat afgelei is met 'n publieke verwantskap */\n"
1011         "class PublicBase : public Truncated { };\n\n"
1012         "/*! 'n template klas */\n"
1013         "template<class T> class Templ { };\n\n"
1014         "/*! 'n Klas wat afgelei is met 'n beskermde verwantskap */\n"
1015         "class ProtectedBase { };\n\n"
1016         "/*! 'n Klas wat afgelei is met 'n private verwantskap */\n"
1017         "class PrivateBase { };\n\n"
1018         "/*! 'n Klas wat gebrui word deur die Afgeleide klas */\n"
1019         "class GebruikMy { };\n\n"
1020         "/*! 'n Super klas wat afgelei word van 'n aantal basis klasse */\n"
1021         "class Inherited : public PublicBase,\n"
1022         "                  protected ProtectedBase,\n"
1023         "                  private PrivateBase,\n"
1024         "                  public Ongedokumenteer,\n"
1025         "                  public Templ<int>\n"
1026         "{\n"
1027         "  private:\n"
1028         "    Used *m_usedClass;\n"
1029         "};\n"
1030         "\\endcode\n"
1031         "As die \\c MAX_DOT_GRAPH_HEIGHT merker in die konfigurasie le&euml;r "
1032         "aan 240 gelyk gestel is, word die volgende diagram geproduseer:"
1033         "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
1034         "<p>\n"
1035         "Die reghoeke in die diagram het die volgende betekenis:\n"
1036         "<ul>\n"
1037         "<li>%'n Soliede swart reghoek verteenwoordig die klas waarvoor "
1038         "die diagram gegenereer is.\n"
1039         "<li>%'n Reghoek met 'n swart omlyning verteenwoordig 'n gedokumenteerde klas.\n"
1040         "<li>%'n Reghoek met 'n grys omlyning verteenwoordig 'n ongedokumenteerde klas.\n"
1041         "<li>%'n Reghoek met 'n rooi omlyning verteenwoordig 'n gedokumenteerde klas waarvoor"
1042         "alle verwante klasse (afgeleide of gebruik) nie getoon word nie. %'n Diagram word "
1043         "op hierie manier afgekort as dit nie in die gespesifiseerde raam pas nie.\n"
1044         "</ul>\n"
1045         "Die pyltjies het die volgende betekenis:\n"
1046         "<ul>\n"
1047         "<li>%'n Donker blou pyltjie verteenwoordig 'n publieke afgeleide "
1048         "verwantskap tussen twee klasse.\n"
1049         "<li>%'n Donker groen pyltjie word gebruik vir 'n beskermde verwantskap.\n"
1050         "<li>%'n Donker rooi pyltjie verteenwoordig private verwantskappe.\n"
1051         "<li>%'n Pers pyltjie word gebruik as 'n klas gebruik of bevat word "
1052         "deur 'n ander klas. Die pyltjie word gemerk met die veranderlike(s) waar deur "
1053         "die verwysde klass verkrygbaar is.\n"
1054         "<li>%'n Geel stippel pyl verteenwoordig die verwantslap tussen 'n template instansie en "
1055         "die template waarvan die klas vervaardig is. Die pyltjie word gemerk met die "
1056         "template parameters van die instansie.\n"
1057         "</ul>\n";
1058     }
1059     /*! text for the link to the legend page */
1060     virtual QCString trLegend()
1061     {
1062       return "beskrywing";
1063     }
1064     
1065 //////////////////////////////////////////////////////////////////////////
1066 // new since 1.2.0
1067 //////////////////////////////////////////////////////////////////////////
1068     
1069     /*! Used as a marker that is put before a test item */
1070     virtual QCString trTest()
1071     {
1072       return "Toets";
1073     }
1074     /*! Used as the header of the test list */
1075     virtual QCString trTestList()
1076     {
1077       return "Toets Lys";
1078     }
1079
1080 //////////////////////////////////////////////////////////////////////////
1081 // new since 1.2.1
1082 //////////////////////////////////////////////////////////////////////////
1083
1084     /*! Used as a section header for KDE-2 IDL methods */
1085     virtual QCString trDCOPMethods()
1086     {
1087       return "DCOP Lede Funksies";
1088     }
1089
1090 //////////////////////////////////////////////////////////////////////////
1091 // new since 1.2.2
1092 //////////////////////////////////////////////////////////////////////////
1093
1094     /*! Used as a section header for IDL properties */
1095     virtual QCString trProperties()
1096     {
1097       return "Eienskappe";
1098     }
1099     /*! Used as a section header for IDL property documentation */
1100     virtual QCString trPropertyDocumentation()
1101     {
1102       return "Eienskap Dokumentasie";
1103     }
1104
1105 //////////////////////////////////////////////////////////////////////////
1106 // new since 1.2.4
1107 //////////////////////////////////////////////////////////////////////////
1108
1109     /*! Used for Java classes in the summary section of Java packages */
1110     virtual QCString trClasses()
1111     {
1112       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
1113       {
1114         return "Data Strukture";
1115       }
1116       else
1117       {
1118         return "Klasse";
1119       }
1120     }
1121     /*! Used as the title of a Java package */
1122     virtual QCString trPackage(const char *name)
1123     {
1124       return (QCString)"Pakket "+name;
1125     }
1126     /*! Title of the package index page */
1127     virtual QCString trPackageList()
1128     {
1129       return "Pakket Lys";
1130     }
1131     /*! The description of the package index page */
1132     virtual QCString trPackageListDescription()
1133     {
1134       return "Die pakkette met kort beskrywings (indien beskikbaar):";
1135     }
1136     /*! The link name in the Quick links header for each page */
1137     virtual QCString trPackages()
1138     {
1139       return "Pakkette";
1140     }
1141     /*! Text shown before a multi-line define */
1142     virtual QCString trDefineValue()
1143     {
1144       return "Waarde:";
1145     }
1146     
1147 //////////////////////////////////////////////////////////////////////////
1148 // new since 1.2.5
1149 //////////////////////////////////////////////////////////////////////////
1150     
1151     /*! Used as a marker that is put before a \\bug item */
1152     virtual QCString trBug()
1153     {
1154       return "Bug";
1155     }
1156     /*! Used as the header of the bug list */
1157     virtual QCString trBugList()
1158     {
1159       return "Bug Lys";
1160     }
1161
1162 //////////////////////////////////////////////////////////////////////////
1163 // new since 1.2.6
1164 //////////////////////////////////////////////////////////////////////////
1165
1166     /*! Used as ansicpg for RTF file 
1167      * 
1168      * The following table shows the correlation of Charset name, Charset Value and 
1169      * <pre>
1170      * Codepage number:
1171      * Charset Name       Charset Value(hex)  Codepage number
1172      * ------------------------------------------------------
1173      * DEFAULT_CHARSET           1 (x01)
1174      * SYMBOL_CHARSET            2 (x02)
1175      * OEM_CHARSET             255 (xFF)
1176      * ANSI_CHARSET              0 (x00)            1252
1177      * RUSSIAN_CHARSET         204 (xCC)            1251
1178      * EE_CHARSET              238 (xEE)            1250
1179      * GREEK_CHARSET           161 (xA1)            1253
1180      * TURKISH_CHARSET         162 (xA2)            1254
1181      * BALTIC_CHARSET          186 (xBA)            1257
1182      * HEBREW_CHARSET          177 (xB1)            1255
1183      * ARABIC _CHARSET         178 (xB2)            1256
1184      * SHIFTJIS_CHARSET        128 (x80)             932
1185      * HANGEUL_CHARSET         129 (x81)             949
1186      * GB2313_CHARSET          134 (x86)             936
1187      * CHINESEBIG5_CHARSET     136 (x88)             950
1188      * </pre>
1189      * 
1190      */
1191     virtual QCString trRTFansicp()
1192     {
1193       return "1252";
1194     }
1195     
1196
1197     /*! Used as ansicpg for RTF fcharset 
1198      *  \see trRTFansicp() for a table of possible values.
1199      */
1200     virtual QCString trRTFCharSet()
1201     {
1202       return "0";
1203     }
1204
1205     /*! Used as header RTF general index */
1206     virtual QCString trRTFGeneralIndex()
1207     {
1208       return "Indeks";
1209     }
1210    
1211     /*! This is used for translation of the word that will possibly
1212      *  be followed by a single name or by a list of names 
1213      *  of the category.
1214      */
1215     virtual QCString trClass(bool first_capital, bool singular)
1216     { 
1217       QCString result((first_capital ? "Klas" : "klas"));
1218       if (!singular)  result+="se";
1219       return result; 
1220     }
1221
1222     /*! This is used for translation of the word that will possibly
1223      *  be followed by a single name or by a list of names 
1224      *  of the category.
1225      */
1226     virtual QCString trFile(bool first_capital, bool singular)
1227     { 
1228       QCString result((first_capital ? "Le&euml;r" : "le&euml;r"));
1229       if (!singular)  result+="s";
1230       return result; 
1231     }
1232
1233     /*! This is used for translation of the word that will possibly
1234      *  be followed by a single name or by a list of names 
1235      *  of the category.
1236      */
1237     virtual QCString trNamespace(bool first_capital, bool singular)
1238     { 
1239       QCString result((first_capital ? "Namespace" : "namespace"));
1240       if (!singular)  result+="s";
1241       return result; 
1242     }
1243
1244     /*! This is used for translation of the word that will possibly
1245      *  be followed by a single name or by a list of names 
1246      *  of the category.
1247      */
1248     virtual QCString trGroup(bool first_capital, bool singular)
1249     { 
1250       QCString result((first_capital ? "Groep" : "groep"));
1251       if (!singular)  result+="e";
1252       return result; 
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 trPage(bool first_capital, bool singular)
1260     { 
1261       QCString result((first_capital ? "Bladsy" : "bladsy"));
1262       if (!singular)  result+="e";
1263       return 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 trMember(bool first_capital, bool singular)
1271     { 
1272       QCString result((first_capital ? "Lid" : "lid"));
1273       if (!singular)  result = (first_capital ? "Lede" : "lede");
1274       return 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 trGlobal(bool first_capital, bool singular)
1282     { 
1283       QCString result((first_capital ? "Global" : "global"));
1284       if (!singular)  result+="s";
1285       return result; 
1286     }
1287
1288 //////////////////////////////////////////////////////////////////////////
1289 // new since 1.2.7
1290 //////////////////////////////////////////////////////////////////////////
1291
1292     /*! This text is generated when the \\author command is used and
1293      *  for the author section in man pages. */
1294     virtual QCString trAuthor(bool first_capital, bool singular)
1295     {                                                                         
1296       QCString result((first_capital ? "Outeur" : "outeur"));
1297       if (!singular)  result+="s";
1298       return result; 
1299     }
1300
1301 //////////////////////////////////////////////////////////////////////////
1302 // new since 1.2.11
1303 //////////////////////////////////////////////////////////////////////////
1304
1305     /*! This text is put before the list of members referenced by a member
1306      */
1307     virtual QCString trReferences()
1308     {
1309       return "Verwysings";
1310     }
1311
1312 //////////////////////////////////////////////////////////////////////////
1313 // new since 1.2.13
1314 //////////////////////////////////////////////////////////////////////////
1315
1316     /*! used in member documentation blocks to produce a list of 
1317      *  members that are implemented by this one.
1318      */
1319     virtual QCString trImplementedFromList(int numEntries)
1320     {
1321       return "Implimenteer "+trWriteList(numEntries)+".";
1322     }
1323
1324     /*! used in member documentation blocks to produce a list of
1325      *  all members that implement this abstract member.
1326      */
1327     virtual QCString trImplementedInList(int numEntries)
1328     {
1329       return "Geimplimenteer in "+trWriteList(numEntries)+".";
1330     }
1331
1332 //////////////////////////////////////////////////////////////////////////
1333 // new since 1.2.16
1334 //////////////////////////////////////////////////////////////////////////
1335
1336     /*! used in RTF documentation as a heading for the Table
1337      *  of Contents.
1338      */
1339     virtual QCString trRTFTableOfContents()
1340     {
1341       return "Inhoudsopgawe";
1342     }
1343
1344 //////////////////////////////////////////////////////////////////////////
1345 // new since 1.2.17
1346 //////////////////////////////////////////////////////////////////////////
1347
1348     /*! Used as the header of the list of item that have been 
1349      *  flagged deprecated 
1350      */
1351     virtual QCString trDeprecatedList()
1352     {
1353       return "Verouderde Lys";
1354     }
1355
1356 //////////////////////////////////////////////////////////////////////////
1357 // new since 1.2.18
1358 //////////////////////////////////////////////////////////////////////////
1359
1360     /*! Used as a header for declaration section of the events found in 
1361      * a C# program
1362      */
1363     virtual QCString trEvents()
1364     {
1365       return "Events";
1366     }
1367     /*! Header used for the documentation section of a class' events. */
1368     virtual QCString trEventDocumentation()
1369     {
1370       return "Event Dokumentasie";
1371     }
1372
1373 //////////////////////////////////////////////////////////////////////////
1374 // new since 1.3
1375 //////////////////////////////////////////////////////////////////////////
1376
1377     /*! Used as a heading for a list of Java class types with package scope.
1378      */
1379     virtual QCString trPackageTypes()
1380     { 
1381       return "Pakket Tipes";
1382     }
1383     /*! Used as a heading for a list of Java class functions with package 
1384      * scope. 
1385      */
1386     virtual QCString trPackageMembers()
1387     { 
1388       return "Pakket Funksies";
1389     }
1390     /*! Used as a heading for a list of static Java class functions with 
1391      *  package scope.
1392      */
1393     virtual QCString trStaticPackageMembers()
1394     { 
1395       return "Statiese Pakket Funksies";
1396     }
1397     /*! Used as a heading for a list of Java class variables with package 
1398      * scope.
1399      */
1400     virtual QCString trPackageAttribs()
1401     { 
1402       return "Pakket Eienskappe";
1403     }
1404     /*! Used as a heading for a list of static Java class variables with 
1405      * package scope.
1406      */
1407     virtual QCString trStaticPackageAttribs()
1408     { 
1409       return "Statiese Pakket Eienskappe";
1410     }
1411     
1412 //////////////////////////////////////////////////////////////////////////
1413 // new since 1.3.1
1414 //////////////////////////////////////////////////////////////////////////
1415
1416     /*! Used in the quick index of a class/file/namespace member list page 
1417      *  to link to the unfiltered list of all members.
1418      */
1419     virtual QCString trAll()
1420     {
1421       return "Alle Lede";
1422     }
1423     /*! Put in front of the call graph for a function. */
1424     virtual QCString trCallGraph()
1425     {
1426       return "'n gebruiks diagram vir hierdie funksie:";
1427     }
1428
1429 //////////////////////////////////////////////////////////////////////////
1430 // new since 1.3.3
1431 //////////////////////////////////////////////////////////////////////////
1432
1433     /*! When the search engine is enabled this text is put in the header 
1434      *  of each page before the field where one can enter the text to search 
1435      *  for. 
1436      */
1437     virtual QCString trSearchForIndex()
1438     {
1439       return "Soek vir";
1440     }
1441     /*! This string is used as the title for the page listing the search
1442      *  results.
1443      */
1444     virtual QCString trSearchResultsTitle()
1445     {
1446       return "Soektog Resultate";
1447     }
1448     /*! This string is put just before listing the search results. The
1449      *  text can be different depending on the number of documents found.
1450      *  Inside the text you can put the special marker $num to insert
1451      *  the number representing the actual number of search results.
1452      *  The @a numDocuments parameter can be either 0, 1 or 2, where the 
1453      *  value 2 represents 2 or more matches. HTML markup is allowed inside
1454      *  the returned string.
1455      */
1456     virtual QCString trSearchResults(int numDocuments)
1457     {
1458       if (numDocuments==0)
1459       {
1460         return "Geen dokumente na gelang van jou navraag nie.";
1461       }
1462       else if (numDocuments==1)
1463       {
1464         return "Die soektog het <b>1</b> dokument gevind na gelang van jou navraag.";
1465       }
1466       else 
1467       {
1468         return "Die soektog het <b>$num</b> dokumente gevind na gelang van jou navraag. "
1469                "Beste resultate eerste.";
1470       }
1471     }
1472     /*! This string is put before the list of matched words, for each search 
1473      *  result. What follows is the list of words that matched the query.
1474      */
1475     virtual QCString trSearchMatches()
1476     {
1477       return "Teikens:";
1478     }
1479
1480 //////////////////////////////////////////////////////////////////////////
1481 // new since 1.3.8
1482 //////////////////////////////////////////////////////////////////////////
1483
1484     /*! This is used in HTML as the title of page with source code for file filename
1485      */
1486     virtual QCString trSourceFile(QCString& filename)
1487     {
1488       return filename + " Bron kode Le&euml;r";
1489     }
1490
1491 //////////////////////////////////////////////////////////////////////////
1492 // new since 1.3.9
1493 //////////////////////////////////////////////////////////////////////////
1494
1495     /*! This is used as the name of the chapter containing the directory
1496      *  hierarchy.
1497      */
1498     virtual QCString trDirIndex()
1499     { return "Directory Hi&euml;rargie"; }
1500
1501     /*! This is used as the name of the chapter containing the documentation
1502      *  of the directories.
1503      */
1504     virtual QCString trDirDocumentation()
1505     { return "Directory Documentasie"; }
1506
1507     /*! This is used as the title of the directory index and also in the
1508      *  Quick links of a HTML page, to link to the directory hierarchy.
1509      */
1510     virtual QCString trDirectories()
1511     { return "Directories"; }
1512
1513     /*! This returns a sentences that introduces the directory hierarchy. 
1514      *  and the fact that it is sorted alphabetically per level
1515      */
1516     virtual QCString trDirDescription()
1517     { return "Hierdie directory hi&euml;rargie is min of meer alfabeties "
1518              "gesorteer:";
1519     }
1520
1521     /*! This returns the title of a directory page. The name of the
1522      *  directory is passed via \a dirName.
1523      */
1524     virtual QCString trDirReference(const char *dirName)
1525     { QCString result=dirName; result+=" Directory Verwysing"; return result; }
1526
1527     /*! This returns the word directory with or without starting capital
1528      *  (\a first_capital) and in sigular or plural form (\a singular).
1529      */
1530     virtual QCString trDir(bool first_capital, bool singular)
1531     { 
1532       QCString result((first_capital ? "Director" : "director"));
1533       if (singular) result+="y"; else result+="ies";
1534       return result; 
1535     }
1536
1537 //////////////////////////////////////////////////////////////////////////
1538 // new since 1.4.1
1539 //////////////////////////////////////////////////////////////////////////
1540
1541     /*! This text is added to the documentation when the \\overload command
1542      *  is used for a overloaded function.
1543      */
1544     virtual QCString trOverloadText()
1545     {
1546        return "Hierdie is 'n oorlaaide lede funksie, "
1547               "vertoon vir volledigheid. Dit verskil slegs van die bogegewe "
1548               "funksie in die argument(e) wat dit aanvaar.";
1549     }
1550
1551 //////////////////////////////////////////////////////////////////////////
1552 // new since 1.4.6
1553 //////////////////////////////////////////////////////////////////////////
1554
1555     /*! This is used to introduce a caller (or called-by) graph */
1556     virtual QCString trCallerGraph()
1557     {
1558       return "Hier is die roep skema vir die funksie:";
1559     }
1560
1561     /*! This is used in the documentation of a file/namespace before the list 
1562      *  of documentation blocks for enumeration values
1563      */
1564     virtual QCString trEnumerationValueDocumentation()
1565     { return "Enumerator Dokumentasie"; }
1566
1567 //////////////////////////////////////////////////////////////////////////
1568 // new since 1.5.4 (mainly for Fortran)
1569 //////////////////////////////////////////////////////////////////////////
1570     
1571     /*! header that is put before the list of member subprograms (Fortran). */
1572     virtual QCString trMemberFunctionDocumentationFortran()
1573     { return "Lede Funksie/Subroetine Dokumentasie"; }
1574
1575     /*! This is put above each page as a link to the list of annotated data types (Fortran). */    
1576     virtual QCString trCompoundListFortran()
1577     { return "Data Tipes Lys"; }
1578
1579     /*! This is put above each page as a link to all members of compounds (Fortran). */
1580     virtual QCString trCompoundMembersFortran()
1581     { return "Data Velde"; }
1582
1583     /*! This is an introduction to the annotated compound list (Fortran). */
1584     virtual QCString trCompoundListDescriptionFortran()
1585     { return "Hier is die data tipes met kort beskrywings:"; }
1586
1587     /*! This is an introduction to the page with all data types (Fortran). */
1588     virtual QCString trCompoundMembersDescriptionFortran(bool extractAll)
1589     {
1590       QCString result="Hier is 'n lys van alle ";
1591       if (!extractAll)
1592       {
1593         result+="gedokumenteerde ";
1594       }
1595       result+="data tipe lede";
1596       result+=" met skakels na ";
1597       if (!extractAll) 
1598       {
1599          result+="die data strukture dokumentasie vir elke lid";
1600       }
1601       else 
1602       {
1603          result+="die data tipes waaraan hulle behoort:";
1604       }
1605       return result;
1606     }
1607
1608     /*! This is used in LaTeX as the title of the chapter with the 
1609      * annotated compound index (Fortran).
1610      */
1611     virtual QCString trCompoundIndexFortran()
1612     { return "Data Tipe Indeks"; }
1613
1614     /*! This is used in LaTeX as the title of the chapter containing
1615      *  the documentation of all data types (Fortran).
1616      */
1617     virtual QCString trTypeDocumentation()
1618     { return "Data Tipe Dokumentasie"; }
1619
1620     /*! This is used in the documentation of a file as a header before the 
1621      *  list of (global) subprograms (Fortran).
1622      */
1623     virtual QCString trSubprograms()
1624     { return "Funksies/Subroetines"; }
1625
1626     /*! This is used in the documentation of a file/namespace before the list 
1627      *  of documentation blocks for subprograms (Fortran)
1628      */
1629     virtual QCString trSubprogramDocumentation()
1630     { return "Funksies/Subroetine Dokumentasie"; }
1631
1632     /*! This is used in the documentation of a file/namespace/group before 
1633      *  the list of links to documented compounds (Fortran)
1634      */
1635      virtual QCString trDataTypes()
1636     { return "Data Tipes"; }
1637     
1638     /*! used as the title of page containing all the index of all modules (Fortran). */
1639     virtual QCString trModulesList()
1640     { return "Modules Lys"; }
1641
1642     /*! used as an introduction to the modules list (Fortran) */
1643     virtual QCString trModulesListDescription(bool extractAll)
1644     {
1645       QCString result="Hier is 'n lys van alle ";
1646       if (!extractAll) result+="gedokumenteerde ";
1647       result+="modules met kort beskrywings:";
1648       return result;
1649     }
1650
1651     /*! used as the title of the HTML page of a module/type (Fortran) */
1652     virtual QCString trCompoundReferenceFortran(const char *clName,
1653                                     ClassDef::CompoundType compType,
1654                                     bool isTemplate)
1655     {
1656       QCString result=(QCString)clName;
1657       switch(compType)
1658       {
1659         case ClassDef::Class:      result+=" Module"; break;
1660         case ClassDef::Struct:     result+=" Tipe"; break;
1661         case ClassDef::Union:      result+=" Unie"; break;
1662         case ClassDef::Interface:  result+=" Interflak"; break;
1663         case ClassDef::Protocol:   result+=" Protokol"; break;
1664         case ClassDef::Category:   result+=" Kategorie"; break;
1665         case ClassDef::Exception:  result+=" Eksepsie"; break;
1666       }
1667       if (isTemplate) result+=" Template";
1668       result+=" Bron";
1669       return result;
1670     }
1671     /*! used as the title of the HTML page of a module (Fortran) */
1672     virtual QCString trModuleReference(const char *namespaceName)
1673     {
1674       QCString result=namespaceName;
1675       result+=" Module Bron";        
1676       return result;
1677     }
1678     
1679     /*! This is put above each page as a link to all members of modules. (Fortran) */
1680     virtual QCString trModulesMembers()
1681     { return "Module Lede"; }
1682
1683     /*! This is an introduction to the page with all modules members (Fortran) */
1684     virtual QCString trModulesMemberDescription(bool extractAll)
1685     { 
1686       QCString result="Hier is 'n lys van alle ";
1687       if (!extractAll) result+="gedokumenteerde ";
1688       result+="module lede met skakels na ";
1689       if (extractAll) 
1690       {
1691         result+="die module dokumentasie vir elke lid:";
1692       }
1693       else 
1694       {
1695         result+="die modules waaraan hulle behoort:";
1696       }
1697       return result;
1698     }
1699
1700     /*! This is used in LaTeX as the title of the chapter with the 
1701      *  index of all modules (Fortran).
1702      */
1703     virtual QCString trModulesIndex()
1704     { return "Modules Indeks"; }
1705     
1706     /*! This is used for translation of the word that will possibly
1707      *  be followed by a single name or by a list of names 
1708      *  of the category.
1709      */
1710     virtual QCString trModule(bool first_capital, bool singular)
1711     {       
1712       QCString result((first_capital ? "Module" : "module"));
1713       if (!singular)  result+="s";
1714       return result; 
1715     }
1716     /*! This is put at the bottom of a module documentation page and is
1717      *  followed by a list of files that were used to generate the page.
1718      */
1719     virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType,
1720         bool single)
1721     {
1722       // single is true implies a single file
1723       QCString result=(QCString)"The documentation for this ";
1724       switch(compType)
1725       {
1726         case ClassDef::Class:      result+="module"; break;
1727         case ClassDef::Struct:     result+="tipe"; break;
1728         case ClassDef::Union:      result+="unie"; break;
1729         case ClassDef::Interface:  result+="Interflak"; break;
1730         case ClassDef::Protocol:   result+="protokcol"; break;
1731         case ClassDef::Category:   result+="kategorie"; break;
1732         case ClassDef::Exception:  result+="eksepsie"; break;
1733       }
1734       result+=" is gegenereer vanaf die foldende leer";
1735       if (single) result+=":"; else result+="s:";
1736       return result;
1737     }
1738     /*! This is used for translation of the word that will possibly
1739      *  be followed by a single name or by a list of names 
1740      *  of the category.
1741      */
1742     virtual QCString trType(bool first_capital, bool singular)
1743     { 
1744       QCString result((first_capital ? "Tipe" : "tipe"));
1745       if (!singular)  result+="s";
1746       return result; 
1747     }
1748     /*! This is used for translation of the word that will possibly
1749      *  be followed by a single name or by a list of names 
1750      *  of the category.
1751      */
1752     virtual QCString trSubprogram(bool first_capital, bool singular)
1753     { 
1754       QCString result((first_capital ? "Subprogram" : "subprogram"));
1755       if (!singular)  result+="me";
1756       return result; 
1757     }
1758
1759     /*! C# Type Constraint list */
1760     virtual QCString trTypeConstraints()
1761     {
1762       return "Tipe Limiete";
1763     }
1764
1765 };
1766
1767 #endif