d63bdcfb4c84480bd0d56126abc935b17ad59f15
[platform/upstream/doxygen.git] / src / translator_de.h
1 /******************************************************************************
2  *
3  *
4  *
5  * Copyright (C) 1997-2015 by Dimitri van Heesch.
6  *
7  * Permission to use, copy, modify, and distribute this software and its
8  * documentation under the terms of the GNU General Public License is hereby
9  * granted. No representations are made about the suitability of this software
10  * for any purpose. It is provided "as is" without express or implied warranty.
11  * See the GNU General Public License for more details.
12  *
13  * Documents produced by Doxygen are derivative works derived from the
14  * input used in their production; they are not affected by this license.
15  *
16  * The translation into German was provided by
17  *   Jens Seidel (jensseidel@users.sf.net)
18  * based on work from
19  *   Jens Breitenstein (Jens.Breitenstein@tlc.de)
20  */
21
22 // Updates:
23 // --------
24 //   RK (who are you?)
25 //    - Update for "new since 1.1.3" version
26 //
27 //   2001/03/23 Jens Seidel (jensseidel@users.sourceforge.net)
28 //    - fixed typos
29 //    - changed trPageDocumentation() "Seitenbeschreibung" to
30 //      "Zusätzliche Informationen"
31 //    - removed old trGeneratedFrom()
32 //    - changed "/*!" to "/*" (documentation is inherited from translator_en.h
33 //      (INHERIT_DOCS = YES), there's no need to make changes twice)
34 //    - Update for "new since 1.2.4" version
35 //
36 //   2001/04/17 Jens Seidel (jensseidel@users.sourceforge.net)
37 //    - fixed typos ("Vererbunsbeziehung", "gesch&uumltzter")
38 //    - use umlauts instead of html code ("ä",...)
39 //      this makes it easier to read and fixes three problems (two in
40 //      \code segment)
41 //
42 //   2001/04/23 Jens Seidel (jensseidel@users.sourceforge.net)
43 //    - Update for "new since 1.2.6-20010422" version
44 //
45 //   2001/05/06 Jens Seidel (jensseidel@users.sourceforge.net)
46 //    - Update for "new since 1.2.7" version
47 //    - Removed implementation of latexBabelPackage(), trVerbatimText(),
48 //      trFiles(), added latexLanguageSupportCommand().
49 //
50 //   2001/05/25 Jens Seidel (jensseidel@users.sourceforge.net)
51 //    - Update for "new since 1.2.7-20010524" version:
52 //      removed trAuthors(), trAuthor(), added trAuthor(bool, bool)
53 //
54 //   2001/07/24 Jens Seidel (jensseidel@users.sourceforge.net)
55 //    - trClassDocumentation() updated as in the English translator.
56 //
57 //   2001/11/30 Oliver Brandt (o.brandt@tu-bs.de) and
58 //              Jens Seidel (jensseidel@users.sourceforge.net)
59 //    - trReferences() implemented.
60 //    - trCompoundReference(), trLegendDocs() updated
61 //    - Removed some TODO's
62 //
63 //   2001/02/13 Oliver Brandt (o.brandt@tu-bs.de)
64 //    - Updated for "new since 1.2.13" version
65 //    - Removed some TODO's
66 //
67 //   2002/07/08 Oliver Brandt (o.brandt@tu-bs.de)
68 //    - Updated for "new since 1.2.16" version
69 //
70 //   2002/11/25 Jens Seidel (jensseidel@users.sourceforge.net)
71 //    - sync with english version 1.3
72 //    - TranslatorGerman doesn't inherit from TranslatorEnglish anymore,
73 //      so I changed "/* " back to "/*! " as in the English file
74 //    - use ngerman instead of german package in LaTeX
75 //    - changed "Datenelemente" to "Methoden" in
76 //      tr{,Static}{Public,Protected,Private}Members
77 //
78 //   2003/04/28 Jens Seidel (jensseidel@users.sourceforge.net)
79 //    - Updated for "new since 1.3" version
80 //    - translated Java package to Paket
81 //
82 //   2003/09/11 Jens Seidel (jensseidel@users.sourceforge.net)
83 //    - Updated for "new since 1.3.1" version
84 //
85 //   2003/09/24 Jens Seidel (jensseidel@users.sourceforge.net)
86 //    - Updated a few strings which changed in CVS revision 1.22
87 //      ("compound" vs. "class")
88 //
89 //   2004/08/01 Jens Seidel (jensseidel@users.sourceforge.net)
90 //    - Updated for "new since 1.3.8" version
91 //
92 //   2004/09/19 Jens Seidel (jensseidel@users.sourceforge.net)
93 //    - Updated for "new since 1.3.9" version
94 //
95 //   2004/09/25 Jens Seidel (jensseidel@users.sourceforge.net)
96 //    - changed "Typendefinitionen" to "Typdefinitionen" in
97 //      trFileMembersDescription() and trTypedefs()
98 //    - added a dash after (file, ...) names and in front of description
99 //    - changed "Eigenschaften" to "Propertys" (yeah, not ..."ies")
100 //
101 //   2005/03/20 Jens Seidel (jensseidel@users.sourceforge.net)
102 //    - Updated for "new since 1.4.1" version
103 //
104 //   2005/04/09 Jens Seidel (jensseidel@users.sourceforge.net)
105 //    - Changed Todo list translation as suggested in
106 //      http://bugzilla.gnome.org/show_bug.cgi?id=172818
107 //
108 //   2005/05/09 Jens Seidel (jensseidel@users.sourceforge.net)
109 //    - Updated for "new since 1.4.3" version (removed unused methods)
110 //
111 //   2006/06/12 Jens Seidel (jensseidel@users.sourceforge.net)
112 //    - Updated for "new since 1.4.6" version
113 //
114 //   2008/02/04 Jens Seidel (jensseidel@users.sourceforge.net)
115 //    - Updated for "new since 1.5.4" version
116 //
117 //   2009/01/09 Jens Seidel (jensseidel@users.sourceforge.net)
118 //    - Resynced the trLegendDocs() method
119 //
120 //   2010/03/17 Jens Seidel (jensseidel@users.sourceforge.net)
121 //    - Updated for "new since 1.6.0" version
122 //    - Resynced the trLegendDocs() method (added closing HTML tags)
123 //    - Changed file encoding to utf-8, adapted idLanguageCharset()
124 //    - New German orthography (ngerman) is now default in LaTeX
125 //
126 //   2012/04/11 Peter Grotrian
127 //    - Updated for "new since 1.8.0" version
128 //    - Some small corrections
129 //
130 //   2016/03/15 Carsten Schumann (carsten at familie-schumann dot info)
131 //    - Updated for "new since 1.8.4" version
132 //
133 //   2017/10/12 Arnd Weber (arnd dot weber at bafg dot de)
134 //              Beatrix Konz
135 //    - Updated for 1.8.13
136 //    - Resynced trMemberDataDocumentation() and trFileMembers() to include the 
137 //      boolean switch OPTIMIZE_OUTPUT_FOR_C
138 //    - Replaced "\t" by "    "
139 //
140 //   Todo:
141 //    - see FIXME
142
143 #ifndef TRANSLATOR_DE_H
144 #define TRANSLATOR_DE_H
145
146 class TranslatorGerman : public Translator
147 {
148   public:
149
150     // --- Language control methods -------------------
151
152     /*! Used for identification of the language. The identification
153      * should not be translated. It should be replaced by the name
154      * of the language in English using lower-case characters only
155      * (e.g. "czech", "japanese", "russian", etc.). It should be equal to
156      * the identification used in language.cpp.
157      */
158     virtual QCString idLanguage()
159     { return "german"; }
160
161     /*! Used to get the LaTeX command(s) for the language support. This method
162      *  was designed for languages which do wish to use a babel package.
163      */
164     virtual QCString latexLanguageSupportCommand()
165     {
166       return "\\usepackage[ngerman]{babel}\n";
167     }
168
169     // --- Language translation methods -------------------
170
171     /*! used in the compound documentation before a list of related functions. */
172     virtual QCString trRelatedFunctions()
173     { return "Verwandte Funktionen"; }
174
175     /*! subscript for the related functions. */
176     virtual QCString trRelatedSubscript()
177     { return "(Es handelt sich hierbei nicht um Elementfunktionen.)"; }
178
179     /*! header that is put before the detailed description of files, classes and namespaces. */
180     virtual QCString trDetailedDescription()
181     { return "Ausführliche Beschreibung"; }
182
183     /*! header that is put before the list of typedefs. */
184     virtual QCString trMemberTypedefDocumentation()
185     { return "Dokumentation der benutzerdefinierten Datentypen"; }
186
187     /*! header that is put before the list of enumerations. */
188     virtual QCString trMemberEnumerationDocumentation()
189     { return "Dokumentation der Aufzählungstypen"; }
190
191     /*! header that is put before the list of member functions. */
192     virtual QCString trMemberFunctionDocumentation()
193     { return "Dokumentation der Elementfunktionen"; }
194
195     /*! header that is put before the list of member attributes. */
196     virtual QCString trMemberDataDocumentation()
197     {
198       if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
199       {
200         return "Dokumentation der Felder";
201       }
202       else
203       {
204         return "Dokumentation der Datenelemente";
205       }
206     }
207
208     /*! this is the text of a link put after brief descriptions. */
209     virtual QCString trMore()
210     { return "Mehr ..."; }
211
212     /*! put in the class documentation */
213     virtual QCString trListOfAllMembers()
214     { return "Aufstellung aller Elemente"; }
215
216     /*! used as the title of the "list of all members" page of a class */
217     virtual QCString trMemberList()
218     { return "Elementverzeichnis"; }
219
220     /*! this is the first part of a sentence that is followed by a class name */
221     virtual QCString trThisIsTheListOfAllMembers()
222     { return "Vollständige Aufstellung aller Elemente für "; }
223
224     /*! this is the remainder of the sentence after the class name */
225     virtual QCString trIncludingInheritedMembers()
226     { return " einschließlich aller geerbten Elemente."; }
227
228     /*! this is put at the author sections at the bottom of man pages.
229      *  parameter s is name of the project name.
230      */
231     virtual QCString trGeneratedAutomatically(const char *s)
232     { QCString result="Automatisch erzeugt von Doxygen";
233       if (s) result+=(QCString)" für "+s;
234       result+=" aus dem Quellcode.";
235       return result;
236     }
237
238     /*! put after an enum name in the list of all members */
239     virtual QCString trEnumName()
240     { return "enum-Bezeichner"; }
241
242     /*! put after an enum value in the list of all members */
243     virtual QCString trEnumValue()
244     { return "enum-Wert"; }
245
246     /*! put after an undocumented member in the list of all members */
247     virtual QCString trDefinedIn()
248     { return "Definiert in"; }
249
250     // quick reference sections
251
252     /*! This is put above each page as a link to the list of all groups of
253      *  compounds or files (see the \\group command).
254      */
255     virtual QCString trModules()
256     { return "Module"; }
257
258     /*! This is put above each page as a link to the class hierarchy */
259     virtual QCString trClassHierarchy()
260     { return "Klassenhierarchie"; }
261
262     /*! This is put above each page as a link to the list of annotated classes */
263     virtual QCString trCompoundList()
264     {
265       if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
266       {
267         return "Datenstrukturen";
268       }
269       else
270       {
271         return "Auflistung der Klassen";
272       }
273     }
274
275     /*! This is put above each page as a link to the list of documented files */
276     virtual QCString trFileList()
277     { return "Auflistung der Dateien"; }
278
279     /*! This is put above each page as a link to all members of compounds. */
280     virtual QCString trCompoundMembers()
281     {
282       if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
283       {
284         return "Datenstruktur-Elemente";
285       }
286       else
287       {
288         return "Klassen-Elemente";
289       }
290     }
291
292     /*! This is put above each page as a link to all members of files. */
293     virtual QCString trFileMembers()
294     {
295       if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
296       {
297         return "Globale Elemente";
298       }
299       else
300       {
301         return "Datei-Elemente";
302       }
303     }
304
305     /*! This is put above each page as a link to all related pages. */
306     virtual QCString trRelatedPages()
307     { return "Zusätzliche Informationen"; }
308
309     /*! This is put above each page as a link to all examples. */
310     virtual QCString trExamples()
311     { return "Beispiele"; }
312
313     /*! This is put above each page as a link to the search engine. */
314     virtual QCString trSearch()
315     { return "Suchen"; }
316
317     /*! This is an introduction to the class hierarchy. */
318     virtual QCString trClassHierarchyDescription()
319     { return "Die Liste der Ableitungen ist -mit Einschränkungen- "
320              "alphabetisch sortiert:";
321     }
322
323     /*! This is an introduction to the list with all files. */
324     virtual QCString trFileListDescription(bool extractAll)
325     {
326       QCString result="Hier folgt die Aufzählung aller ";
327       if (!extractAll) result+="dokumentierten ";
328       result+="Dateien mit einer Kurzbeschreibung:";
329       return result;
330     }
331
332     /*! This is an introduction to the annotated compound list. */
333     virtual QCString trCompoundListDescription()
334     {
335       if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
336       {
337     return "Hier folgt die Aufzählung aller Datenstrukturen "
338            "mit einer Kurzbeschreibung:";
339       }
340       else
341       {
342     return "Hier folgt die Aufzählung aller Klassen, Strukturen, "
343            "Varianten und Schnittstellen mit einer Kurzbeschreibung:";
344       }
345     }
346
347     /*! This is an introduction to the page with all class members. */
348     virtual QCString trCompoundMembersDescription(bool extractAll)
349     {
350       QCString result="Hier folgt die Aufzählung aller ";
351       if (!extractAll)
352       {
353         result+="dokumentierten ";
354       }
355       if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
356       {
357         result+="Strukturen und Varianten";
358       }
359       else
360       {
361         result+="Klassenelemente";
362       }
363       result+=" mit Verweisen auf ";
364       if (!extractAll)
365       {
366         if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
367         {
368           result+="die Dokumentation zu jedem Element:";
369         }
370         else
371         {
372           result+="die Klassendokumentation zu jedem Element:";
373         }
374       }
375       else
376       {
377         if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
378         {
379           result+="die zugehörigen Elemente:";
380         }
381         else
382         {
383           result+="die zugehörigen Klassen:";
384         }
385       }
386       return result;
387     }
388
389     /*! This is an introduction to the page with all file members. */
390     virtual QCString trFileMembersDescription(bool extractAll)
391     {
392       QCString result="Hier folgt die Aufzählung aller ";
393       if (!extractAll) result+="dokumentierten ";
394       if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
395       {
396         result+="Funktionen, Variablen, Makros, Aufzählungen und Typdefinitionen";
397       }
398       else
399       {
400         result+="Dateielemente";
401       }
402       result+=" mit Verweisen auf ";
403       if (extractAll)
404         result+="die Dokumentation zu jedem Element:";
405       else
406         result+="die zugehörigen Dateien:";
407       return result;
408     }
409
410     /*! This is an introduction to the page with the list of all examples */
411     virtual QCString trExamplesDescription()
412     { return "Hier folgt eine Liste mit allen Beispielen:"; }
413
414     /*! This is an introduction to the page with the list of related pages */
415     virtual QCString trRelatedPagesDescription()
416     { return "Hier folgt eine Liste mit zusammengehörigen Themengebieten:"; }
417
418     /*! This is an introduction to the page with the list of class/file groups */
419     virtual QCString trModulesDescription()
420     { return "Hier folgt die Aufzählung aller Module:"; }
421
422     // index titles (the project name is prepended for these)
423
424     /*! This is used in HTML as the title of index.html. */
425     virtual QCString trDocumentation()
426     { return "Dokumentation"; }
427
428     /*! This is used in LaTeX as the title of the chapter with the
429      * index of all groups.
430      */
431     virtual QCString trModuleIndex()
432     { return "Modul-Verzeichnis"; }
433
434     /*! This is used in LaTeX as the title of the chapter with the
435      * class hierarchy.
436      */
437     virtual QCString trHierarchicalIndex()
438     { return "Hierarchie-Verzeichnis"; }
439
440     /*! This is used in LaTeX as the title of the chapter with the
441      * annotated compound index.
442      */
443     virtual QCString trCompoundIndex()
444     {
445       if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
446     return "Datenstruktur-Verzeichnis";
447       else
448         return "Klassen-Verzeichnis";
449     }
450
451     /*! This is used in LaTeX as the title of the chapter with the
452      * list of all files.
453      */
454     virtual QCString trFileIndex()
455     { return "Datei-Verzeichnis"; }
456
457     /*! This is used in LaTeX as the title of the chapter containing
458      *  the documentation of all groups.
459      */
460     virtual QCString trModuleDocumentation()
461     { return "Modul-Dokumentation"; }
462
463     /*! This is used in LaTeX as the title of the chapter containing
464      *  the documentation of all classes, structs and unions.
465      */
466     virtual QCString trClassDocumentation()
467     {
468       if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
469       {
470         return "Datenstruktur-Dokumentation";
471       }
472       else
473       {
474         return "Klassen-Dokumentation";
475       }
476     }
477
478     /*! This is used in LaTeX as the title of the chapter containing
479      *  the documentation of all files.
480      */
481     virtual QCString trFileDocumentation()
482     { return "Datei-Dokumentation"; }
483
484     /*! This is used in LaTeX as the title of the chapter containing
485      *  the documentation of all examples.
486      */
487     virtual QCString trExampleDocumentation()
488     { return "Dokumentation der Beispiele"; }
489
490     /*! This is used in LaTeX as the title of the chapter containing
491      *  the documentation of all related pages.
492      */
493     virtual QCString trPageDocumentation()
494     { return "Zusätzliche Informationen"; }
495
496     /*! This is used in LaTeX as the title of the document */
497     virtual QCString trReferenceManual()
498     { return "Nachschlagewerk"; }
499
500     /*! This is used in the documentation of a file as a header before the
501      *  list of defines
502      */
503     virtual QCString trDefines()
504     { return "Makrodefinitionen"; }
505
506     /*! This is used in the documentation of a file as a header before the
507      *  list of typedefs
508      */
509     virtual QCString trTypedefs()
510     { return "Typdefinitionen"; }
511
512     /*! This is used in the documentation of a file as a header before the
513      *  list of enumerations
514      */
515     virtual QCString trEnumerations()
516     { return "Aufzählungen"; }
517
518     /*! This is used in the documentation of a file as a header before the
519      *  list of (global) functions
520      */
521     virtual QCString trFunctions()
522     { return "Funktionen"; }
523
524     /*! This is used in the documentation of a file as a header before the
525      *  list of (global) variables
526      */
527     virtual QCString trVariables()
528     { return "Variablen"; }
529
530     /*! This is used in the documentation of a file as a header before the
531      *  list of (global) variables
532      */
533     virtual QCString trEnumerationValues()
534     { return "Aufzählungswerte"; }
535
536     /*! This is used in the documentation of a file before the list of
537      *  documentation blocks for defines
538      */
539     virtual QCString trDefineDocumentation()
540     { return "Makro-Dokumentation"; }
541
542     /*! This is used in the documentation of a file/namespace before the list
543      *  of documentation blocks for typedefs
544      */
545     virtual QCString trTypedefDocumentation()
546     { return "Dokumentation der benutzerdefinierten Typen"; }
547
548     /*! This is used in the documentation of a file/namespace before the list
549      *  of documentation blocks for enumeration types
550      */
551     virtual QCString trEnumerationTypeDocumentation()
552     { return "Dokumentation der Aufzählungstypen"; }
553
554     /*! This is used in the documentation of a file/namespace before the list
555      *  of documentation blocks for functions
556      */
557     virtual QCString trFunctionDocumentation()
558     { return "Dokumentation der Funktionen"; }
559
560     /*! This is used in the documentation of a file/namespace before the list
561      *  of documentation blocks for variables
562      */
563     virtual QCString trVariableDocumentation()
564     { return "Variablen-Dokumentation"; }
565
566     /*! This is used in the documentation of a file/namespace/group before
567      *  the list of links to documented compounds
568      */
569     virtual QCString trCompounds()
570     {
571       if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
572       {
573         return "Datenstrukturen";
574       }
575       else
576       {
577         return "Klassen";
578       }
579     }
580
581     /*! This is used in the standard footer of each page and indicates when
582      *  the page was generated
583      */
584     virtual QCString trGeneratedAt(const char *date,const char *projName)
585     {
586       QCString result=(QCString)"Erzeugt am "+date;
587       if (projName) result+=(QCString)" für "+projName;
588       result+=(QCString)" von";
589       return result;
590     }
591
592     /*! this text is put before a class diagram */
593     virtual QCString trClassDiagram(const char *clName)
594     {
595       return (QCString)"Klassendiagramm für "+clName+":";
596     }
597
598     /*! this text is generated when the \\internal command is used. */
599     virtual QCString trForInternalUseOnly()
600     { return "Nur für den internen Gebrauch."; }
601
602     /*! this text is generated when the \\warning command is used. */
603     virtual QCString trWarning()
604     { return "Warnung"; }
605
606     /*! this text is generated when the \\version command is used. */
607     virtual QCString trVersion()
608     { return "Version"; }
609
610     /*! this text is generated when the \\date command is used. */
611     virtual QCString trDate()
612     { return "Datum"; }
613
614     /*! this text is generated when the \\return command is used. */
615     virtual QCString trReturns()
616     { return "Rückgabe"; }
617
618     /*! this text is generated when the \\sa command is used. */
619     virtual QCString trSeeAlso()
620     { return "Siehe auch"; }
621
622     /*! this text is generated when the \\param command is used. */
623     virtual QCString trParameters()
624     { return "Parameter"; }
625
626     /*! this text is generated when the \\exception command is used. */
627     virtual QCString trExceptions()
628     { return "Ausnahmebehandlung"; }
629
630     /*! this text is used in the title page of a LaTeX document. */
631     virtual QCString trGeneratedBy()
632     { return "Erzeugt von"; }
633
634 //////////////////////////////////////////////////////////////////////////
635 // new since 0.49-990307
636 //////////////////////////////////////////////////////////////////////////
637
638     /*! used as the title of page containing all the index of all namespaces. */
639     virtual QCString trNamespaceList()
640     { return "Liste aller Namensbereiche"; }
641
642     /*! used as an introduction to the namespace list */
643     virtual QCString trNamespaceListDescription(bool extractAll)
644     {
645       QCString result="Liste aller ";
646       if (!extractAll) result+="dokumentierten ";
647       result+="Namensbereiche mit Kurzbeschreibung:";
648       return result;
649     }
650
651     /*! used in the class documentation as a header before the list of all
652      *  friends of a class
653      */
654     virtual QCString trFriends()
655     { return "Freundbeziehungen"; }
656
657 //////////////////////////////////////////////////////////////////////////
658 // new since 0.49-990405
659 //////////////////////////////////////////////////////////////////////////
660
661     /*! used in the class documentation as a header before the list of all
662      * related classes
663      */
664     virtual QCString trRelatedFunctionDocumentation()
665     { return "Freundbeziehungen und Funktionsdokumentation"; }
666
667 //////////////////////////////////////////////////////////////////////////
668 // new since 0.49-990425
669 //////////////////////////////////////////////////////////////////////////
670
671     /*! used as the title of the HTML page of a class/struct/union */
672     virtual QCString trCompoundReference(const char *clName,
673                                  ClassDef::CompoundType compType,
674                                  bool isTemplate)
675     {
676       QCString result=(QCString)clName+" ";
677       if (isTemplate) result+="Template-";
678       switch(compType)
679       {
680         case ClassDef::Class:  result+="Klassen"; break;
681         case ClassDef::Struct: result+="Struktur"; break;
682         case ClassDef::Union:  result+="Varianten"; break;
683         case ClassDef::Interface:  result+="Schnittstellen"; break;
684         case ClassDef::Protocol:  result+="Protokoll"; break;
685         case ClassDef::Category:  result+="Kategorie"; break;
686         case ClassDef::Exception:  result+="Ausnahmen"; break;
687         default: break;
688       }
689       result+="referenz";
690       return result;
691     }
692
693     /*! used as the title of the HTML page of a file */
694     virtual QCString trFileReference(const char *fileName)
695     {
696       QCString result=fileName;
697       result+="-Dateireferenz";
698       return result;
699     }
700
701     /*! used as the title of the HTML page of a namespace */
702     virtual QCString trNamespaceReference(const char *namespaceName)
703     {
704       QCString result=namespaceName;
705       result+="-Namensbereichsreferenz";
706       return result;
707     }
708
709     virtual QCString trPublicMembers()
710     { return "Öffentliche Methoden"; }
711
712     virtual QCString trPublicSlots()
713     { return "Öffentliche Slots"; }
714
715     virtual QCString trSignals()
716     { return "Signale"; }
717
718     virtual QCString trStaticPublicMembers()
719     { return "Öffentliche, statische Methoden"; }
720
721     virtual QCString trProtectedMembers()
722     { return "Geschützte Methoden"; }
723
724     virtual QCString trProtectedSlots()
725     { return "Geschützte Slots"; }
726
727     virtual QCString trStaticProtectedMembers()
728     { return "Geschützte, statische Methoden"; }
729
730     virtual QCString trPrivateMembers()
731     { return "Private Methoden"; }
732
733     virtual QCString trPrivateSlots()
734     { return "Private Slots"; }
735
736     virtual QCString trStaticPrivateMembers()
737     { return "Private, statische Methoden"; }
738
739     /*! this function is used to produce a comma-separated list of items.
740      *  use generateMarker(i) to indicate where item i should be put.
741      */
742     virtual QCString trWriteList(int numEntries)
743     {
744       QCString result;
745       int i;
746       // the inherits list contain `numEntries' classes
747       for (i=0;i<numEntries;i++)
748       {
749         // use generateMarker to generate placeholders for the class links!
750         result+=generateMarker(i); // generate marker for entry i in the list
751                                    // (order is left to right)
752
753         if (i!=numEntries-1)  // not the last entry, so we need a separator
754         {
755           if (i<numEntries-2) // not the fore last entry
756             result+=", ";
757           else                // the fore last entry
758             result+=" und ";
759         }
760       }
761       return result;
762     }
763
764     /*! used in class documentation to produce a list of base classes,
765      *  if class diagrams are disabled.
766      */
767     virtual QCString trInheritsList(int numEntries)
768     {
769       return "Abgeleitet von "+trWriteList(numEntries)+".";
770     }
771
772     /*! used in class documentation to produce a list of super classes,
773      *  if class diagrams are disabled.
774      */
775     virtual QCString trInheritedByList(int numEntries)
776     {
777       return "Basisklasse für "+trWriteList(numEntries)+".";
778     }
779
780     /*! used in member documentation blocks to produce a list of
781      *  members that are hidden by this one.
782      */
783     virtual QCString trReimplementedFromList(int numEntries)
784     {
785       return "Erneute Implementation von "+trWriteList(numEntries)+".";
786     }
787
788     /*! used in member documentation blocks to produce a list of
789      *  all member that overwrite the implementation of this member.
790      */
791     virtual QCString trReimplementedInList(int numEntries)
792     {
793       return "Erneute Implementation in "+trWriteList(numEntries)+".";
794     }
795
796     /*! This is put above each page as a link to all members of namespaces. */
797     virtual QCString trNamespaceMembers()
798     { return "Elemente eines Namensbereiches"; }
799
800     /*! This is an introduction to the page with all namespace members */
801     virtual QCString trNamespaceMemberDescription(bool extractAll)
802     {
803       QCString result="Hier folgt die Aufzählung aller ";
804       if (!extractAll) result+="dokumentierten ";
805       result+="Namensbereichselemente mit Verweisen auf ";
806       if (extractAll)
807         result+="die Namensbereichsdokumentation für jedes Element:";
808       else
809         result+="die zugehörigen Dateien:";
810       return result;
811     }
812
813     /*! This is used in LaTeX as the title of the chapter with the
814      *  index of all namespaces.
815      */
816     virtual QCString trNamespaceIndex()
817     { return "Verzeichnis der Namensbereiche"; }
818
819     /*! This is used in LaTeX as the title of the chapter containing
820      *  the documentation of all namespaces.
821      */
822     virtual QCString trNamespaceDocumentation()
823     { return "Dokumentation der Namensbereiche"; }
824
825 //////////////////////////////////////////////////////////////////////////
826 // new since 0.49-990522
827 //////////////////////////////////////////////////////////////////////////
828
829     /*! This is used in the documentation before the list of all
830      *  namespaces in a file.
831      */
832     virtual QCString trNamespaces()
833     { return "Namensbereiche"; }
834
835 //////////////////////////////////////////////////////////////////////////
836 // new since 0.49-990728
837 //////////////////////////////////////////////////////////////////////////
838
839     /*! This is put at the bottom of a class documentation page and is
840      *  followed by a list of files that were used to generate the page.
841      */
842     virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType,
843         bool single)
844     { // single is true implies a single file
845       QCString result=(QCString)"Die Dokumentation für diese";
846       switch(compType)
847       {
848         case ClassDef::Class:      result+=" Klasse"; break;
849         case ClassDef::Struct:     result+=" Struktur"; break;
850         case ClassDef::Union:      result+=" Variante"; break;
851         case ClassDef::Interface:  result+=" Schnittstelle"; break;
852         case ClassDef::Protocol:   result+="s Protokoll"; break;
853         case ClassDef::Category:   result+=" Kategorie"; break;
854         case ClassDef::Exception:  result+=" Ausnahme"; break;
855         default: break;
856       }
857       result+=" wurde erzeugt aufgrund der Datei";
858       if (single) result+=":"; else result+="en:";
859       return result;
860     }
861
862 //////////////////////////////////////////////////////////////////////////
863 // new since 0.49-990901
864 //////////////////////////////////////////////////////////////////////////
865
866     /*! This is used as the heading text for the retval command. */
867     virtual QCString trReturnValues()
868     { return "Rückgabewerte"; }
869
870     /*! This is in the (quick) index as a link to the main page (index.html)
871      */
872     virtual QCString trMainPage()
873     { return "Hauptseite"; }
874
875     /*! This is used in references to page that are put in the LaTeX
876      *  documentation. It should be an abbreviation of the word page.
877      */
878     virtual QCString trPageAbbreviation()
879     { return "S."; }
880
881 //////////////////////////////////////////////////////////////////////////
882 // new since 0.49-991003
883 //////////////////////////////////////////////////////////////////////////
884
885     virtual QCString trDefinedAtLineInSourceFile()
886     {
887       return "Definiert in Zeile @0 der Datei @1.";
888     }
889
890     virtual QCString trDefinedInSourceFile()
891     {
892       return "Definiert in Datei @0.";
893     }
894
895 //////////////////////////////////////////////////////////////////////////
896 // new since 0.49-991205
897 //////////////////////////////////////////////////////////////////////////
898
899     virtual QCString trDeprecated()
900     {
901       return "Veraltet";
902     }
903
904 //////////////////////////////////////////////////////////////////////////
905 // new since 1.0.0
906 //////////////////////////////////////////////////////////////////////////
907
908     /*! this text is put before a collaboration diagram */
909     virtual QCString trCollaborationDiagram(const char *clName)
910     {
911       return (QCString)"Zusammengehörigkeiten von "+clName+":";
912     }
913
914     /*! this text is put before an include dependency graph */
915     virtual QCString trInclDepGraph(const char *fName)
916     {
917       return (QCString)"Include-Abhängigkeitsdiagramm für "+fName+":";
918     }
919
920     /*! header that is put before the list of constructor/destructors. */
921     virtual QCString trConstructorDocumentation()
922     {
923       return "Beschreibung der Konstruktoren und Destruktoren";
924     }
925
926     /*! Used in the file documentation to point to the corresponding sources. */
927     virtual QCString trGotoSourceCode()
928     {
929       return "gehe zum Quellcode dieser Datei";
930     }
931
932     /*! Used in the file sources to point to the corresponding documentation. */
933     virtual QCString trGotoDocumentation()
934     {
935       return "gehe zur Dokumentation dieser Datei";
936     }
937
938     /*! Text for the \\pre command */
939     virtual QCString trPrecondition()
940     {
941       return "Vorbedingung";
942     }
943
944     /*! Text for the \\post command */
945     virtual QCString trPostcondition()
946     {
947       return "Nachbedingung";
948     }
949
950     /*! Text for the \\invariant command */
951     virtual QCString trInvariant()
952     {
953       return "Invariante";
954     }
955
956     /*! Text shown before a multi-line variable/enum initialization */
957     virtual QCString trInitialValue()
958     {
959       return "Initialisierung:";
960     }
961
962     /*! Text used the source code in the file index */
963     virtual QCString trCode()
964     {
965       return "code";
966     }
967
968     virtual QCString trGraphicalHierarchy()
969     {
970       return "Grafische Darstellung der Klassenhierarchie";
971     }
972
973     virtual QCString trGotoGraphicalHierarchy()
974     {
975       return "gehe zur grafischen Darstellung der Klassenhierarchie";
976     }
977
978     virtual QCString trGotoTextualHierarchy()
979     {
980       return "gehe zur textbasierten Darstellung der Klassenhierarchie";
981     }
982
983     virtual QCString trPageIndex()
984     {
985       return "Seitenindex";
986     }
987
988 //////////////////////////////////////////////////////////////////////////
989 // new since 1.1.0
990 //////////////////////////////////////////////////////////////////////////
991
992     //RK: had to change here because of the new command \remark
993     virtual QCString trNote()
994     {
995       return "Zu beachten";
996     }
997
998     virtual QCString trPublicTypes()
999     {
1000       return "Öffentliche Typen";
1001     }
1002
1003     virtual QCString trPublicAttribs()
1004     {
1005       if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
1006       {
1007         return "Datenfelder";
1008       }
1009       else
1010       {
1011         return "Öffentliche Attribute";
1012       }
1013     }
1014
1015     virtual QCString trStaticPublicAttribs()
1016     {
1017       return "Statische öffentliche Attribute";
1018     }
1019
1020     virtual QCString trProtectedTypes()
1021     {
1022       return "Geschützte Typen";
1023     }
1024
1025     virtual QCString trProtectedAttribs()
1026     {
1027       return "Geschützte Attribute";
1028     }
1029
1030     virtual QCString trStaticProtectedAttribs()
1031     {
1032       return "Statische, geschützte Attribute";
1033     }
1034
1035     virtual QCString trPrivateTypes()
1036     {
1037       return "Private Typen";
1038     }
1039
1040     virtual QCString trPrivateAttribs()
1041     {
1042       return "Private Attribute";
1043     }
1044
1045     virtual QCString trStaticPrivateAttribs()
1046     {
1047       return "Statische, private Attribute";
1048     }
1049
1050 //////////////////////////////////////////////////////////////////////////
1051 // new since 1.1.3
1052 //////////////////////////////////////////////////////////////////////////
1053
1054     /*! Used as a marker that is put before a \\todo item */
1055     virtual QCString trTodo()
1056     {
1057       return "Noch zu erledigen";
1058     }
1059
1060     /*! Used as the header of the todo list */
1061     virtual QCString trTodoList()
1062     {
1063       return "Ausstehende Aufgaben";
1064     }
1065
1066 //////////////////////////////////////////////////////////////////////////
1067 // new since 1.1.4
1068 //////////////////////////////////////////////////////////////////////////
1069
1070     virtual QCString trReferencedBy()
1071     {
1072       return "Wird benutzt von";
1073     }
1074
1075     virtual QCString trRemarks()
1076     {
1077       return "Bemerkungen";
1078     }
1079
1080     virtual QCString trAttention()
1081     {
1082       return "Achtung";
1083     }
1084
1085     virtual QCString trInclByDepGraph()
1086     {
1087       return "Dieser Graph zeigt, welche Datei direkt oder "
1088              "indirekt diese Datei enthält:";
1089     }
1090
1091     virtual QCString trSince()
1092     {
1093       return "Seit";
1094     }
1095
1096 //////////////////////////////////////////////////////////////////////////
1097 // new since 1.1.5
1098 //////////////////////////////////////////////////////////////////////////
1099
1100     /*! title of the graph legend page */
1101     virtual QCString trLegendTitle()
1102     {
1103       return "Erklärung des Graphen";
1104     }
1105
1106     /*! page explaining how the dot graph's should be interpreted
1107      *  The %A in the text below are to prevent link to classes called "A".
1108      */
1109     virtual QCString trLegendDocs()
1110     {
1111       return
1112         "Diese Seite erklärt die Interpretation der von doxygen "
1113         "erzeugten Graphen.<p>\n"
1114         "Beispiel:\n"
1115         "\\code\n"
1116         "/*! Wegen Verkürzung unsichtbare Klasse */\n"
1117         "class Invisible { };\n\n"
1118         "/*! Klasse verkürzt dargestellt, Vererbungsbeziehung ist versteckt */\n"
1119         "class Truncated : public Invisible { };\n\n"
1120         "/* Nicht mit doxygen-Kommentaren dokumentierte Klasse */\n"
1121         "class Undocumented { };\n\n"
1122         "/*! Mithilfe öffentlicher Vererbung vererbte Klasse */\n"
1123         "class PublicBase : public Truncated { };\n\n"
1124         "/*! Eine Template-Klasse */\n"
1125         "template<class T> class Templ { };\n\n"
1126         "/*! Mithilfe geschützter Vererbung vererbte Klasse */\n"
1127         "class ProtectedBase { };\n\n"
1128         "/*! Mithilfe privater Vererbung vererbte Klasse */\n"
1129         "class PrivateBase { };\n\n"
1130         "/*! Von der Klasse Inherited benutzte Klasse */\n"
1131         "class Used { };\n\n"
1132         "/*! Superklasse, die von mehreren anderen Klassen erbt */\n"
1133         "class Inherited : public PublicBase,\n"
1134         "                  protected ProtectedBase,\n"
1135         "                  private PrivateBase,\n"
1136         "                  public Undocumented,\n"
1137         "                  public Templ<int>\n"
1138         "{\n"
1139         "  private:\n"
1140         "    Used *m_usedClass;\n"
1141         "};\n"
1142         "\\endcode\n"
1143         "Dies liefert den folgenden Graphen:"
1144         "<p><center><img alt=\"\" src=\"graph_legend."+getDotImageExtension()+"\"></center></p>\n"
1145         "<p>\n"
1146         "Die Rechtecke in obigem Graphen bedeuten:\n"
1147         "</p>\n"
1148         "<ul>\n"
1149         "<li>Ein grau gefülltes Rechteck stellt die Struktur oder "
1150         "Klasse dar, für die der Graph erzeugt wurde.</li>\n"
1151         "<li>Ein Rechteck mit schwarzem Rahmen kennzeichnet eine dokumentierte "
1152         "Struktur oder Klasse.</li>\n"
1153         "<li>Ein Rechteck mit grauem Rahmen kennzeichnet eine undokumentierte "
1154         "Struktur oder Klasse.</li>\n"
1155         "<li>Ein Rechteck mit rotem Rahmen kennzeichnet eine dokumentierte "
1156         "Struktur oder Klasse, für die nicht alle Vererbungs-/"
1157         "Enthaltenseinsbeziehungen dargestellt werden. Ein Graph wird gekürzt, "
1158         "wenn er nicht in die angegebenen Schranken passt.</li>\n"
1159         "</ul>\n"
1160         "<p>\n"
1161         "Die Pfeile bedeuten:\n"
1162         "</p>\n"
1163         "<ul>\n"
1164         "<li>Ein dunkelblauer Pfeil stellt eine öffentliche Vererbungsbeziehung "
1165         "zwischen zwei Klassen dar.</li>\n"
1166         "<li>Ein dunkelgrüner Pfeil stellt geschützte Vererbung dar.</li>\n"
1167         "<li>Ein dunkelroter Pfeil stellt private Vererbung dar.</li>\n"
1168         "<li>Ein gestrichelter violetter Pfeil bedeutet, dass eine Klasse in "
1169         "einer anderen enthalten ist oder von einer anderen benutzt wird. Am "
1170         "Pfeil stehen die Variable(n), mit deren Hilfe auf die Struktur oder "
1171         "Klasse an der Pfeilspitze zugegriffen werden kann.</li>\n"
1172         "<li>Ein gestrichelter gelber Pfeil kennzeichnet eine Verknüpfung "
1173         "zwischen einer Template-Instanz und der Template-Klasse von welcher "
1174         "es abstammt. Neben dem Pfeil sind die Template-Parameter aufgeführt.</li>\n"
1175         "</ul>\n";
1176     }
1177
1178     /*! text for the link to the legend page */
1179     virtual QCString trLegend()
1180     {
1181       return "Legende";
1182     }
1183
1184 //////////////////////////////////////////////////////////////////////////
1185 // new since 1.2.0
1186 //////////////////////////////////////////////////////////////////////////
1187
1188     /*! Used as a marker that is put before a test item */
1189     virtual QCString trTest()
1190     {
1191       return "Test";
1192     }
1193
1194     /*! Used as the header of the test list */
1195     virtual QCString trTestList()
1196     {
1197       return "Test-Liste";
1198     }
1199
1200 //////////////////////////////////////////////////////////////////////////
1201 // new since 1.2.2
1202 //////////////////////////////////////////////////////////////////////////
1203
1204     /*! Used as a section header for IDL properties */
1205     virtual QCString trProperties()
1206     {
1207       return "Propertys";
1208     }
1209
1210     /*! Used as a section header for IDL property documentation */
1211     virtual QCString trPropertyDocumentation()
1212     {
1213       return "Dokumentation der Propertys";
1214     }
1215
1216 //////////////////////////////////////////////////////////////////////////
1217 // new since 1.2.4
1218 //////////////////////////////////////////////////////////////////////////
1219
1220     /*! Used for Java classes in the summary section of Java packages */
1221     virtual QCString trClasses()
1222     {
1223       if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
1224       {
1225         return "Datenstrukturen";
1226       }
1227       else
1228       {
1229         return "Klassen";
1230       }
1231     }
1232
1233     /*! Used as the title of a Java package */
1234     virtual QCString trPackage(const char *name)
1235     {
1236       return (QCString)"Paket "+name;
1237     }
1238
1239     /*! Title of the package index page */
1240     virtual QCString trPackageList()
1241     {
1242       return "Paketliste";
1243     }
1244
1245     /*! The description of the package index page */
1246     virtual QCString trPackageListDescription()
1247     {
1248       return "Hier folgen die Pakete mit einer Kurzbeschreibung (wenn verfügbar):";
1249     }
1250
1251     /*! The link name in the Quick links header for each page */
1252     virtual QCString trPackages()
1253     {
1254       return "Pakete";
1255     }
1256
1257     /*! Text shown before a multi-line define */
1258     virtual QCString trDefineValue()
1259     {
1260       return "Wert:";
1261     }
1262
1263 //////////////////////////////////////////////////////////////////////////
1264 // new since 1.2.5
1265 //////////////////////////////////////////////////////////////////////////
1266
1267     /*! Used as a marker that is put before a \\bug item */
1268     virtual QCString trBug()
1269     {
1270       return "Fehler";
1271     }
1272
1273     /*! Used as the header of the bug list */
1274     virtual QCString trBugList()
1275     {
1276       return "Liste der bekannten Fehler";
1277     }
1278
1279 //////////////////////////////////////////////////////////////////////////
1280 // new since 1.2.6-20010422
1281 //////////////////////////////////////////////////////////////////////////
1282
1283     /*! Used as ansicpg for RTF file. See translator_en.h for details. */
1284     virtual QCString trRTFansicp()
1285     {
1286       return "1252";
1287     }
1288
1289     /*! Used as ansicpg for RTF fcharset
1290      *  \see trRTFansicp() for a table of possible values.
1291      */
1292     virtual QCString trRTFCharSet()
1293     {
1294       return "0";
1295     }
1296
1297     /*! Used as header RTF general index */
1298     virtual QCString trRTFGeneralIndex()
1299     {
1300       return "Index";
1301     }
1302
1303 //////////////////////////////////////////////////////////////////////////
1304 // new since 1.2.7
1305 //////////////////////////////////////////////////////////////////////////
1306
1307     /*! This is used for translation of the word that will possibly
1308      *  be followed by a single name or by a list of names
1309      *  of the category.
1310      */
1311     virtual QCString trClass(bool, bool singular)
1312     {
1313       QCString result("Klasse");
1314       if (!singular)  result+="n";
1315       return result;
1316     }
1317
1318     /*! This is used for translation of the word that will possibly
1319      *  be followed by a single name or by a list of names
1320      *  of the category.
1321      */
1322     virtual QCString trFile(bool, bool singular)
1323     {
1324       QCString result("Datei");
1325       if (!singular)  result+="en";
1326       return result;
1327     }
1328
1329     /*! This is used for translation of the word that will possibly
1330      *  be followed by a single name or by a list of names
1331      *  of the category.
1332      */
1333     virtual QCString trNamespace(bool, bool singular)
1334     {
1335       QCString result("Namensbereich");
1336       if (!singular)  result+="e";
1337       return result;
1338     }
1339
1340     /*! This is used for translation of the word that will possibly
1341      *  be followed by a single name or by a list of names
1342      *  of the category.
1343      */
1344     virtual QCString trGroup(bool, bool singular)
1345     {
1346       QCString result("Gruppe");
1347       if (!singular)  result+="n";
1348       return result;
1349     }
1350
1351     /*! This is used for translation of the word that will possibly
1352      *  be followed by a single name or by a list of names
1353      *  of the category.
1354      */
1355     virtual QCString trPage(bool, bool singular)
1356     {
1357       QCString result("Seite");
1358       if (!singular)  result+="n";
1359       return result;
1360     }
1361
1362     /*! This is used for translation of the word that will possibly
1363      *  be followed by a single name or by a list of names
1364      *  of the category.
1365      */
1366     virtual QCString trMember(bool, bool singular)
1367     {
1368       QCString result("Element");
1369       if (!singular)  result+="e";
1370       return result;
1371     }
1372
1373     /*! This is used for translation of the word that will possibly
1374      *  be followed by a single name or by a list of names
1375      *  of the category.
1376      */
1377     virtual QCString trGlobal(bool first_capital, bool singular)
1378     {
1379       QCString result((first_capital ? "Global" : "global")); // FIXME
1380       if (!singular)  result+="";
1381       return result;
1382     }
1383
1384 //////////////////////////////////////////////////////////////////////////
1385 // new since 1.2.7-20010524
1386 //////////////////////////////////////////////////////////////////////////
1387
1388     /*! This text is generated when the \\author command is used and
1389      *  for the author section in man pages.
1390      */
1391     virtual QCString trAuthor(bool, bool singular)
1392     {
1393       QCString result("Autor");
1394       if (!singular)  result+="en";
1395       return result;
1396     }
1397
1398 //////////////////////////////////////////////////////////////////////////
1399 // new since 1.2.11
1400 //////////////////////////////////////////////////////////////////////////
1401
1402     /*! This text is put before the list of members referenced by a member
1403      */
1404     virtual QCString trReferences()
1405     {
1406       return "Benutzt";
1407     }
1408
1409 //////////////////////////////////////////////////////////////////////////
1410 // new since 1.2.13
1411 //////////////////////////////////////////////////////////////////////////
1412
1413     /*! used in member documentation blocks to produce a list of
1414      *  members that are implemented by this one.
1415      */
1416     virtual QCString trImplementedFromList(int numEntries)
1417     {
1418       return "Implementiert " + trWriteList(numEntries) + ".";
1419     }
1420
1421     /*! used in member documentation blocks to produce a list of
1422      *  all members that implement this abstract member.
1423      */
1424     virtual QCString trImplementedInList(int numEntries)
1425     {
1426       return "Implementiert in " + trWriteList(numEntries) + ".";
1427     }
1428
1429 //////////////////////////////////////////////////////////////////////////
1430 // new since 1.2.16
1431 //////////////////////////////////////////////////////////////////////////
1432
1433     /*! used in RTF documentation as a heading for the Table
1434      *  of Contents.
1435      */
1436     virtual QCString trRTFTableOfContents()
1437     {
1438       return "Inhaltsverzeichnis";
1439     }
1440
1441 //////////////////////////////////////////////////////////////////////////
1442 // new since 1.2.17
1443 //////////////////////////////////////////////////////////////////////////
1444
1445     /*! Used as the header of the list of item that have been
1446      *  flagged deprecated
1447      */
1448     virtual QCString trDeprecatedList()
1449     {
1450       return "Veraltete Elemente";
1451     }
1452
1453 //////////////////////////////////////////////////////////////////////////
1454 // new since 1.2.18
1455 //////////////////////////////////////////////////////////////////////////
1456
1457     /*! Used as a header for declaration section of the events found in
1458      * a C# program
1459      */
1460     virtual QCString trEvents()
1461     {
1462       return "Ereignisse";
1463     }
1464
1465     /*! Header used for the documentation section of a class' events. */
1466     virtual QCString trEventDocumentation()
1467     {
1468       return "Ereignisdokumentation";
1469     }
1470
1471 //////////////////////////////////////////////////////////////////////////
1472 // new since 1.3
1473 //////////////////////////////////////////////////////////////////////////
1474
1475     /*! Used as a heading for a list of Java class types with package scope.
1476      */
1477     virtual QCString trPackageTypes()
1478     {
1479       return "Pakettypen";
1480     }
1481
1482     /*! Used as a heading for a list of Java class functions with package
1483      * scope.
1484      */
1485     virtual QCString trPackageMembers()
1486     {
1487       return "Paketfunktionen";
1488     }
1489
1490     /*! Used as a heading for a list of static Java class functions with
1491      *  package scope.
1492      */
1493     virtual QCString trStaticPackageMembers()
1494     {
1495       return "Statische Paketfunktionen";
1496     }
1497
1498     /*! Used as a heading for a list of Java class variables with package
1499      * scope.
1500      */
1501     virtual QCString trPackageAttribs()
1502     {
1503       return "Paketattribute";
1504     }
1505
1506     /*! Used as a heading for a list of static Java class variables with
1507      * package scope.
1508      */
1509     virtual QCString trStaticPackageAttribs()
1510     {
1511       return "Statische Paketattribute";
1512     }
1513
1514 //////////////////////////////////////////////////////////////////////////
1515 // new since 1.3.1
1516 //////////////////////////////////////////////////////////////////////////
1517
1518     /*! Used in the quick index of a class/file/namespace member list page
1519      *  to link to the unfiltered list of all members.
1520      */
1521     virtual QCString trAll()
1522     {
1523       return "Alle";
1524     }
1525     /*! Put in front of the call graph for a function. */
1526     virtual QCString trCallGraph()
1527     {
1528       return "Hier ist ein Graph, der zeigt, was diese Funktion aufruft:";
1529     }
1530
1531 //////////////////////////////////////////////////////////////////////////
1532 // new since 1.3.3
1533 //////////////////////////////////////////////////////////////////////////
1534
1535     /*! This string is used as the title for the page listing the search
1536      *  results.
1537      */
1538     virtual QCString trSearchResultsTitle()
1539     {
1540       return "Suchergebnisse";
1541     }
1542     /*! This string is put just before listing the search results. The
1543      *  text can be different depending on the number of documents found.
1544      *  Inside the text you can put the special marker $num to insert
1545      *  the number representing the actual number of search results.
1546      *  The @a numDocuments parameter can be either 0, 1 or 2, where the
1547      *  value 2 represents 2 or more matches. HTML markup is allowed inside
1548      *  the returned string.
1549      */
1550     virtual QCString trSearchResults(int numDocuments)
1551     {
1552       if (numDocuments==0)
1553       {
1554         return "Es wurden keine Dokumente zu Ihrer Suchanfrage gefunden.";
1555       }
1556       else if (numDocuments==1)
1557       {
1558         return "Es wurde <b>1</b> Dokument zu Ihrer Suchanfrage gefunden.";
1559       }
1560       else
1561       {
1562         return "Es wurden <b>$num</b> Dokumente zu Ihrer Suchanfrage "
1563            "gefunden. Die besten Treffer werden zuerst angezeigt.";
1564       }
1565     }
1566     /*! This string is put before the list of matched words, for each search
1567      *  result. What follows is the list of words that matched the query.
1568      */
1569     virtual QCString trSearchMatches()
1570     {
1571       return "Treffer:";
1572     }
1573
1574 //////////////////////////////////////////////////////////////////////////
1575 // new since 1.3.8
1576 //////////////////////////////////////////////////////////////////////////
1577
1578     /*! This is used in HTML as the title of page with source code for file filename
1579      */
1580     virtual QCString trSourceFile(QCString& filename)
1581     {
1582       return filename + " Quellcode";
1583     }
1584
1585 //////////////////////////////////////////////////////////////////////////
1586 // new since 1.3.9
1587 //////////////////////////////////////////////////////////////////////////
1588
1589     /*! This is used as the name of the chapter containing the directory
1590      *  hierarchy.
1591      */
1592     virtual QCString trDirIndex()
1593     { return "Verzeichnishierarchie"; }
1594
1595     /*! This is used as the name of the chapter containing the documentation
1596      *  of the directories.
1597      */
1598     virtual QCString trDirDocumentation()
1599     { return "Verzeichnisdokumentation"; }
1600
1601     /*! This is used as the title of the directory index and also in the
1602      *  Quick links of an HTML page, to link to the directory hierarchy.
1603      */
1604     virtual QCString trDirectories()
1605     { return "Verzeichnisse"; }
1606
1607     /*! This returns a sentences that introduces the directory hierarchy.
1608      *  and the fact that it is sorted alphabetically per level
1609      */
1610     virtual QCString trDirDescription()
1611     { return "Diese Verzeichnishierarchie ist -mit Einschränkungen- "
1612          "alphabetisch sortiert:";
1613     }
1614
1615     /*! This returns the title of a directory page. The name of the
1616      *  directory is passed via \a dirName.
1617      */
1618     virtual QCString trDirReference(const char *dirName)
1619     { QCString result=dirName; result+="-Verzeichnisreferenz"; return result; }
1620
1621     /*! This returns the word directory with or without starting capital
1622      *  (\a first_capital) and in sigular or plural form (\a singular).
1623      */
1624     virtual QCString trDir(bool, bool singular)
1625     {
1626       QCString result("Verzeichnis");
1627       if (!singular) result+="se";
1628       return result;
1629     }
1630
1631 //////////////////////////////////////////////////////////////////////////
1632 // new since 1.4.1
1633 //////////////////////////////////////////////////////////////////////////
1634
1635     /*! This text is added to the documentation when the \\overload command
1636      *  is used for a overloaded function.
1637      */
1638     virtual QCString trOverloadText()
1639     {
1640        return "Dies ist eine überladene Methode, die der Bequemlichkeit "
1641               "wegen bereitgestellt wird. Sie unterscheidet sich von der "
1642               "obigen Funktion nur in den Argumenten die sie unterstützt.";
1643     }
1644
1645 //////////////////////////////////////////////////////////////////////////
1646 // new since 1.4.6
1647 //////////////////////////////////////////////////////////////////////////
1648
1649     /*! This is used to introduce a caller (or called-by) graph */
1650     virtual QCString trCallerGraph()
1651     {
1652       return "Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:";
1653     }
1654
1655     /*! This is used in the documentation of a file/namespace before the list
1656      *  of documentation blocks for enumeration values
1657      */
1658     virtual QCString trEnumerationValueDocumentation()
1659     { return "Dokumentation der Aufzählungswerte"; }
1660
1661 //////////////////////////////////////////////////////////////////////////
1662 // new since 1.5.4 (mainly for Fortran)
1663 //////////////////////////////////////////////////////////////////////////
1664
1665     /*! header that is put before the list of member subprograms (Fortran). */
1666     virtual QCString trMemberFunctionDocumentationFortran()
1667     { return "Elementfunktionen/Unterroutinen-Dokumentation"; }
1668
1669     /*! This is put above each page as a link to the list of annotated data types (Fortran). */
1670     virtual QCString trCompoundListFortran()
1671     { return "Datentyp-Liste"; }
1672
1673     /*! This is put above each page as a link to all members of compounds (Fortran). */
1674     virtual QCString trCompoundMembersFortran()
1675     { return "Datenfelder"; }
1676
1677     /*! This is an introduction to the annotated compound list (Fortran). */
1678     virtual QCString trCompoundListDescriptionFortran()
1679       { return "Hier folgen die Datentypen mit Kurzbeschreibungen:"; }
1680
1681     /*! This is an introduction to the page with all data types (Fortran). */
1682     virtual QCString trCompoundMembersDescriptionFortran(bool extractAll)
1683     {
1684       QCString result="Hier folgt eine Liste aller ";
1685       if (!extractAll)
1686       {
1687         result+="dokumentierten ";
1688       }
1689       result+="Datentypelemente";
1690       result+=" mit Links ";
1691       if (!extractAll)
1692       {
1693          result+="zur Datenstruktur-Dokumentation für jedes Element";
1694       }
1695       else
1696       {
1697          result+="zu den Datentypen, zu denen sie gehören:";
1698       }
1699       return result;
1700     }
1701
1702     /*! This is used in LaTeX as the title of the chapter with the
1703      * annotated compound index (Fortran).
1704      */
1705     virtual QCString trCompoundIndexFortran()
1706     { return "Datentyp-Index"; }
1707
1708     /*! This is used in LaTeX as the title of the chapter containing
1709      *  the documentation of all data types (Fortran).
1710      */
1711     virtual QCString trTypeDocumentation()
1712     { return "Datentyp-Dokumentation"; }
1713
1714     /*! This is used in the documentation of a file as a header before the
1715      *  list of (global) subprograms (Fortran).
1716      */
1717     virtual QCString trSubprograms()
1718     { return "Funktionen/Unterroutinen"; }
1719
1720     /*! This is used in the documentation of a file/namespace before the list
1721      *  of documentation blocks for subprograms (Fortran)
1722      */
1723     virtual QCString trSubprogramDocumentation()
1724     { return "Funktionen/Unterroutinen-Dokumentation"; }
1725
1726     /*! This is used in the documentation of a file/namespace/group before
1727      *  the list of links to documented compounds (Fortran)
1728      */
1729      virtual QCString trDataTypes()
1730     { return "Datentypen"; }
1731
1732     /*! used as the title of page containing all the index of all modules (Fortran). */
1733     virtual QCString trModulesList()
1734     { return "Modulliste"; }
1735
1736     /*! used as an introduction to the modules list (Fortran) */
1737     virtual QCString trModulesListDescription(bool extractAll)
1738     {
1739       QCString result="Hier folgt eine Liste aller ";
1740       if (!extractAll) result+="dokumentierten ";
1741       result+="Module mit ihren Kurzbeschreibungen:";
1742       return result;
1743     }
1744
1745     /*! used as the title of the HTML page of a module/type (Fortran) */
1746     virtual QCString trCompoundReferenceFortran(const char *clName,
1747                                     ClassDef::CompoundType compType,
1748                                     bool isTemplate)
1749     {
1750       QCString result=(QCString)clName;
1751       result += "-";
1752       switch(compType)
1753       {
1754         case ClassDef::Class:      result+="Modul"; break;
1755         case ClassDef::Struct:     result+="Typ"; break;
1756         case ClassDef::Union:      result+="Union"; break;
1757         case ClassDef::Interface:  result+="Interface"; break;
1758         case ClassDef::Protocol:   result+="Protokoll"; break;
1759         case ClassDef::Category:   result+="Kategorie"; break;
1760         case ClassDef::Exception:  result+="Ausnahmen"; break;
1761         default: break;
1762       }
1763       if (isTemplate) result+="-Template";
1764       result+="-Referenz";
1765       return result;
1766     }
1767     /*! used as the title of the HTML page of a module (Fortran) */
1768     virtual QCString trModuleReference(const char *namespaceName)
1769     {
1770       QCString result=namespaceName;
1771       result+="-Modul-Referenz";
1772       return result;
1773     }
1774
1775     /*! This is put above each page as a link to all members of modules. (Fortran) */
1776     virtual QCString trModulesMembers()
1777     { return "Modul-Elemente"; }
1778
1779     /*! This is an introduction to the page with all modules members (Fortran) */
1780     virtual QCString trModulesMemberDescription(bool extractAll)
1781     {
1782       QCString result="Hier folgt eine Liste aller ";
1783       if (!extractAll) result+="dokumentierten ";
1784       result+="Modulelemente mit Links ";
1785       if (extractAll)
1786       {
1787         result+="zur Moduldokumentation für jedes Element:";
1788       }
1789       else
1790       {
1791         result+="zu den Modulen, zu denen sie gehören:";
1792       }
1793       return result;
1794     }
1795
1796     /*! This is used in LaTeX as the title of the chapter with the
1797      *  index of all modules (Fortran).
1798      */
1799     virtual QCString trModulesIndex()
1800     { return "Modul-Index"; }
1801
1802     /*! This is used for translation of the word that will possibly
1803      *  be followed by a single name or by a list of names
1804      *  of the category.
1805      */
1806     virtual QCString trModule(bool /*first_capital*/, bool singular)
1807     {
1808       QCString result("Modul");
1809       if (!singular)  result+="e";
1810       return result;
1811     }
1812
1813     /*! This is put at the bottom of a module documentation page and is
1814      *  followed by a list of files that were used to generate the page.
1815      */
1816     virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType,
1817         bool single)
1818     {
1819       // single is true implies a single file
1820       QCString result=(QCString)"Die Dokumentation für ";
1821       switch(compType)
1822       {
1823         case ClassDef::Class:      result+="dieses Modul"; break;
1824         case ClassDef::Struct:     result+="diesen Typ"; break;
1825         case ClassDef::Union:      result+="diese Union"; break;
1826         case ClassDef::Interface:  result+="dieses Interface"; break;
1827         case ClassDef::Protocol:   result+="dieses Protokoll"; break;
1828         case ClassDef::Category:   result+="diese Kategorie"; break;
1829         case ClassDef::Exception:  result+="diese Ausnahme"; break;
1830         default: break;
1831       }
1832       if (single)
1833         result+=" wurde aus der folgenden Datei erzeugt:";
1834       else
1835         result+=" wurde aus den folgenden Dateien erzeugt:";
1836       return result;
1837     }
1838
1839     /*! This is used for translation of the word that will possibly
1840      *  be followed by a single name or by a list of names
1841      *  of the category.
1842      */
1843     virtual QCString trType(bool /*first_capital*/, bool singular)
1844     {
1845       QCString result("Typ");
1846       if (!singular)  result+="en";
1847       return result;
1848     }
1849
1850     /*! This is used for translation of the word that will possibly
1851      *  be followed by a single name or by a list of names
1852      *  of the category.
1853      */
1854     virtual QCString trSubprogram(bool /*first_capital*/, bool singular)
1855     {
1856       QCString result("Unterprogramm");
1857       if (!singular)  result+="e";
1858       return result;
1859     }
1860
1861     /*! C# Type Constraint list */
1862     virtual QCString trTypeConstraints()
1863     {
1864       return "Type Constraints";
1865     }
1866
1867 //////////////////////////////////////////////////////////////////////////
1868 // new since 1.6.0 (mainly for the new search engine)
1869 //////////////////////////////////////////////////////////////////////////
1870
1871     /*! directory relation for \a name */
1872     virtual QCString trDirRelation(const char *name)
1873     {
1874       return "Bezug " + QCString(name);
1875     }
1876
1877     /*! Loading message shown when loading search results */
1878     virtual QCString trLoading()
1879     {
1880       return "Lade ...";
1881     }
1882
1883     /*! Label used for search results in the global namespace */
1884     virtual QCString trGlobalNamespace()
1885     {
1886       return "Globaler Namensbereich";
1887     }
1888
1889     /*! Message shown while searching */
1890     virtual QCString trSearching()
1891     {
1892       return "Suche ...";
1893     }
1894
1895     /*! Text shown when no search results are found */
1896     virtual QCString trNoMatches()
1897     {
1898       return "Keine Treffer";
1899     }
1900
1901 //////////////////////////////////////////////////////////////////////////
1902 // new since 1.6.3 (missing items for the directory pages)
1903 //////////////////////////////////////////////////////////////////////////
1904
1905     /*! when clicking a directory dependency label, a page with a
1906      *  table is shown. The heading for the first column mentions the
1907      *  source file that has a relation to another file.
1908      */
1909     virtual QCString trFileIn(const char *name)
1910     {
1911       return (QCString)"Datei in "+name;
1912     }
1913
1914     /*! when clicking a directory dependency label, a page with a
1915      *  table is shown. The heading for the second column mentions the
1916      *  destination file that is included.
1917      */
1918     virtual QCString trIncludesFileIn(const char *name)
1919     {
1920       return (QCString)"Include-Dateien in "+name;
1921     }
1922
1923     /** Compiles a date string.
1924      *  @param year Year in 4 digits
1925      *  @param month Month of the year: 1=January
1926      *  @param day Day of the Month: 1..31
1927      *  @param dayOfWeek Day of the week: 1=Monday..7=Sunday
1928      *  @param hour Hour of the day: 0..23
1929      *  @param minutes Minutes in the hour: 0..59
1930      *  @param seconds Seconds within the minute: 0..59
1931      *  @param includeTime Include time in the result string?
1932      */
1933     virtual QCString trDateTime(int year,int month,int day,int dayOfWeek,
1934                                 int hour,int minutes,int seconds,
1935                                 bool includeTime)
1936     {
1937       static const char *days[]   = { "Mon","Die","Mit","Don","Fre","Sam","Son" };
1938       static const char *months[] = { "Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez" };
1939       QCString sdate;
1940       sdate.sprintf("%s %s %d %d",days[dayOfWeek-1],months[month-1],day,year);
1941       if (includeTime)
1942       {
1943         QCString stime;
1944         stime.sprintf(" %.2d:%.2d:%.2d",hour,minutes,seconds);
1945         sdate+=stime;
1946       }
1947       return sdate;
1948     }
1949
1950 //////////////////////////////////////////////////////////////////////////
1951 // new since 1.7.5
1952 //////////////////////////////////////////////////////////////////////////
1953
1954     /*! Header for the page with bibliographic citations */
1955     virtual QCString trCiteReferences()
1956     { return "Literaturverzeichnis"; }
1957
1958     /*! Text for copyright paragraph */
1959     virtual QCString trCopyright()
1960     { return "Copyright"; }
1961
1962     /*! Header for the graph showing the directory dependencies */
1963     virtual QCString trDirDepGraph(const char *name)
1964     { return QCString("Diagramm der Verzeichnisabhängigkeiten für ")+name+":"; }
1965
1966 //////////////////////////////////////////////////////////////////////////
1967 // new since 1.8.0
1968 //////////////////////////////////////////////////////////////////////////
1969
1970     /*! Detail level selector shown for hierarchical indices */
1971     virtual QCString trDetailLevel()
1972     { return "Detailebene"; }
1973
1974     /*! Section header for list of template parameters */
1975     virtual QCString trTemplateParameters()
1976     { return "Template-Parameter"; }
1977
1978     /*! Used in dot graph when UML_LOOK is enabled and there are many fields */
1979     virtual QCString trAndMore(const QCString &number)
1980     { return "und "+number+" mehr ..."; }
1981
1982     /*! Used file list for a Java enum */
1983     virtual QCString trEnumGeneratedFromFiles(bool single)
1984     { QCString result = "Die Dokumentation für diesen enum wurde aus ";
1985       if (single) 
1986         result += "der folgenden Datei";
1987       else
1988         result += "den folgenden Dateien";
1989       result+=" generiert:";
1990       return result;
1991     }
1992
1993     /*! Header of a Java enum page (Java enums are represented as classes). */
1994     virtual QCString trEnumReference(const char *name)
1995     { return QCString(name)+" Enum-Referenz"; }
1996
1997     /*! Used for a section containing inherited members */
1998     virtual QCString trInheritedFrom(const char *members,const char *what)
1999     { return QCString(members)+" geerbt von "+what; }
2000
2001     /*! Header of the sections with inherited members specific for the
2002      *  base class(es)
2003      */
2004     virtual QCString trAdditionalInheritedMembers()
2005     { return "Weitere Geerbte Elemente"; }
2006
2007 //////////////////////////////////////////////////////////////////////////
2008 // new since 1.8.2
2009 //////////////////////////////////////////////////////////////////////////
2010
2011     /*! Used as a tooltip for the toggle button thatappears in the
2012      *  navigation tree in the HTML output when GENERATE_TREEVIEW is
2013      *  enabled. This tooltip explains the meaning of the button.
2014      */
2015     virtual QCString trPanelSynchronisationTooltip(bool enable)
2016     {
2017       QCString opt = enable ? "einzuschalten" : "auszuschalten";
2018       return "Klicken um Panelsynchronisation "+opt;
2019     }
2020
2021     /*! Used in a method of an Objective-C class that is declared in a
2022      *  a category. Note that the @1 marker is required and is replaced
2023      *  by a link.
2024      */
2025     virtual QCString trProvidedByCategory()
2026     {
2027       return "Bestandteil der Kategorie @0.";
2028     }
2029
2030     /*! Used in a method of an Objective-C category that extends a class.
2031      *  Note that the @1 marker is required and is replaced by a link to
2032      *  the class method.
2033      */
2034     virtual QCString trExtendsClass()
2035     {
2036       return "Erweitert Klasse @0.";
2037     }
2038
2039     /*! Used as the header of a list of class methods in Objective-C.
2040      *  These are similar to static public member functions in C++.
2041      */
2042     virtual QCString trClassMethods()
2043     {
2044       return "Klassenmethoden";
2045     }
2046
2047     /*! Used as the header of a list of instance methods in Objective-C.
2048      *  These are similar to public member functions in C++.
2049      */
2050     virtual QCString trInstanceMethods()
2051     {
2052       return "Instanzmethoden";
2053     }
2054
2055     /*! Used as the header of the member functions of an Objective-C class.
2056      */
2057     virtual QCString trMethodDocumentation()
2058     {
2059       return "Methodendokumentation";
2060     }
2061
2062     /*! Used as the title of the design overview picture created for the
2063      *  VHDL output.
2064      */
2065     virtual QCString trDesignOverview()
2066     {
2067       return "Übersicht";
2068     }
2069
2070 //////////////////////////////////////////////////////////////////////////
2071 // new since 1.8.4
2072 //////////////////////////////////////////////////////////////////////////
2073
2074     /** old style UNO IDL services: implemented interfaces */
2075     virtual QCString trInterfaces()
2076     { return "Exportierte Interfaces"; }
2077
2078     /** old style UNO IDL services: inherited services */
2079     virtual QCString trServices()
2080     { return "Eingebundene Dienste"; }
2081
2082     /** UNO IDL constant groups */
2083     virtual QCString trConstantGroups()
2084     { return "Konstante Gruppen"; }
2085
2086     /** UNO IDL constant groups */
2087     virtual QCString trConstantGroupReference(const char *namespaceName)
2088     {
2089       QCString result=namespaceName;
2090       result+=" Konstantengruppen-Referenz";
2091       return result;
2092     }
2093
2094     /** UNO IDL service page title */
2095     virtual QCString trServiceReference(const char *sName)
2096     {
2097       QCString result=(QCString)sName;
2098       result+=" Dienstreferenz";
2099       return result;
2100     }
2101
2102     /** UNO IDL singleton page title */
2103     virtual QCString trSingletonReference(const char *sName)
2104     {
2105       QCString result=(QCString)sName;
2106       result+=" Singleton-Referenz";
2107       return result;
2108     }
2109
2110     /** UNO IDL service page */
2111     virtual QCString trServiceGeneratedFromFiles(bool single)
2112     {
2113       QCString result=(QCString)"Die Dokumentation für diesen Dienst "
2114                                 "wurde generiert aus ";
2115       if (single) result+="folgender Datei: "; else result+="folgenden Dateien: ";
2116       return result;
2117     }
2118
2119     /** UNO IDL singleton page */
2120     virtual QCString trSingletonGeneratedFromFiles(bool single)
2121     {
2122       QCString result=(QCString)"Die Dokumentation für diesen Singleton wurde generiert aus ";
2123       if (single) result+="folgender Datei:"; else result+="folgenden Dateien:";
2124       return result;
2125     }
2126
2127 //////////////////////////////////////////////////////////////////////////
2128
2129 };
2130
2131 #endif