Fix for UBSan build
[platform/upstream/doxygen.git] / src / translator_fr.h
1 /******************************************************************************
2  *
3  * 
4  *
5  * Copyright (C) 1997-2012 by Dimitri van Heesch.
6  *
7  * Permission to use, copy, modify, and distribute this software and its
8  * documentation under the terms of the GNU General Public License is hereby 
9  * granted. No representations are made about the suitability of this software 
10  * for any purpose. It is provided "as is" without express or implied warranty.
11  * See the GNU General Public License for more details.
12  *
13  * Documents produced by Doxygen are derivative works derived from the
14  * input used in their production; they are not affected by this license.
15  *
16  * The translation into French was provided by
17  *   Christophe Bordeux (bordeux@lig.di.epfl.ch)
18  *   and after version 1.2.0 by Xavier Outhier (xouthier@yahoo.fr)
19  *   member of the non for profit association D2SET (http://d2set.free.fr)
20  */
21
22 /******************************************************************************
23  * History of content
24  *
25  *   Date       | Description
26  *  ============+=============================================================
27  *  2001-11-22  | Removed obsolet methods:
28  *              |  QCString latexBabelPackage()
29  *              |  QCString trAuthor()
30  *              |  QCString trAuthors()
31  *              |  QCString trFiles()
32  *              |  QCString trIncludeFile()
33  *              |  QCString trVerbatimText(const char *f)
34  * -------------+------------------------------------------------------------
35  *  2002-01-23  | Update for new since 1.2.13
36  * -------------+------------------------------------------------------------
37  *  2002-07-11  | Update for new since 1.2.16
38  * -------------+------------------------------------------------------------
39  *  2002-09-24  | Update for new since 1.2.17
40  * -------------+------------------------------------------------------------
41  *  2002-10-22  | Update for new since 1.2.18
42  * -------------+------------------------------------------------------------
43  *  2003-02-04  | Corrected typo. Thanks to Bertrand M. :)
44  * -------------+------------------------------------------------------------
45  *  2003-03-29  | Update for new since 1.3
46  * -------------+------------------------------------------------------------
47  *  2003-03-29  | Changed fonction into méthode. 
48  * -------------+------------------------------------------------------------
49  *  2003-06-06  | Fixed code page problem appeared between 1.42 and 1.43 in CVS
50  * -------------+------------------------------------------------------------
51  *  2003-06-10  | Update for new since 1.3.1
52  * -------------+------------------------------------------------------------
53  *  2003-09-12  | Update for new since 1.3.3
54  * -------------+------------------------------------------------------------
55  *  2004-04-30  | Updates by Jacques Bouchard <jacques.bouchard@noos.fr>:
56  *              | - spaces between ':' removed (should be added by the renderer)
57  *              | - missing spaces added
58  *              | - missing tests for OPTIMIZE_OUTPUT_FOR_C added
59  *              | - translations corrected
60  *              | - translator_fr.h now conforms exactly to translator_en.h
61  *              |   (try: gvim -d translator_en.h translator_fr.h)
62  * -------------+------------------------------------------------------------
63  *  2005-07-12  | Update for new since 1.4.1
64  * -------------+------------------------------------------------------------
65  *  2005-10-09  | Update for new since 1.4.6
66  *              |   Added virtual QCString trCallerGraph()
67  *              |   Removed virtual QCString trHeaderFilesDescription()
68  *              |   Removed virtual QCString trField(bool first_capital, bool singular)
69  *              |   Removed virtual QCString trPackageDocumentation()
70  *              |   Removed virtual QCString trSources()
71  *              |   Removed virtual QCString trReimplementedForInternalReasons()
72  *              |   Removed virtual QCString trInterfaces()
73  *              |   Removed virtual QCString trHeaderFiles()
74  *              |   Removed virtual QCString trBugsAndLimitations()
75  *              |   Removed virtual QCString trNoDescriptionAvailable()
76  *              |   Corrected some misspelling thanx to Christophe C.
77  * -------------+------------------------------------------------------------
78  */ 
79
80 #ifndef TRANSLATOR_FR_H
81 #define TRANSLATOR_FR_H
82
83 // When defining a translator class for the new language, follow
84 // the description in the documentation.  One of the steps says
85 // that you should copy the translator_en.h (this) file to your
86 // translator_xx.h new file.  Your new language should use the
87 // Translator class as the base class.  This means that you need to
88 // implement exactly the same (pure virtual) methods as the
89 // TranslatorEnglish does.  Because of this, it is a good idea to
90 // start with the copy of TranslatorEnglish and replace the strings
91 // one by one.
92 //
93 // It is not necessary to include "translator.h" or
94 // "translator_adapter.h" here.  The files are included in the
95 // language.cpp correctly.  Not including any of the mentioned
96 // files frees the maintainer from thinking about whether the
97 // first, the second, or both files should be included or not, and
98 // why.  This holds namely for localized translators because their
99 // base class is changed occasionaly to adapter classes when the
100 // Translator class changes the interface, or back to the
101 // Translator class (by the local maintainer) when the localized
102 // translator is made up-to-date again.
103
104 class TranslatorFrench : public TranslatorAdapter_1_8_0
105 {
106    public:
107    
108     // --- Language control methods -------------------
109     
110     /*! Used for identification of the language. The identification 
111      * should not be translated. It should be replaced by the name 
112      * of the language in English using lower-case characters only
113      * (e.g. "czech", "japanese", "russian", etc.). It should be equal to 
114      * the identification used in language.cpp.
115      */
116        virtual QCString idLanguage()
117       { return "french"; }
118    
119     /*! Used to get the LaTeX command(s) for the language support. 
120      *  This method should return string with commands that switch
121      *  LaTeX to the desired language.  For example 
122      *  <pre>"\\usepackage[german]{babel}\n"
123      *  </pre>
124      *  or
125      *  <pre>"\\usepackage{polski}\n"
126      *  "\\usepackage[latin2]{inputenc}\n"
127      *  "\\usepackage[T1]{fontenc}\n"
128      *  </pre>
129      */
130        virtual QCString latexLanguageSupportCommand()
131       {
132          return "\\usepackage[french]{babel}\n";
133       }
134    
135     /*! return the language charset. This will be used 
136         when transcoding the translatable strings in this file to UTF-8 */
137        virtual QCString idLanguageCharset()
138       {
139          return "iso-8859-1";
140       }
141    
142     // --- Language translation methods -------------------
143    
144     /*! used in the compound documentation before a list of related functions. */
145        virtual QCString trRelatedFunctions()
146       { return "Fonctions associées"; }
147    
148     /*! subscript for the related functions. */
149        virtual QCString trRelatedSubscript()
150       { return "(Notez que ce ne sont pas des fonctions membres)"; }
151    
152     /*! header that is put before the detailed description of files, classes and namespaces. */
153        virtual QCString trDetailedDescription()
154       { return "Description détaillée"; }
155    
156     /*! header that is put before the list of typedefs. */
157        virtual QCString trMemberTypedefDocumentation()
158       { return "Documentation des définitions de type membres"; }
159     
160     /*! header that is put before the list of enumerations. */
161        virtual QCString trMemberEnumerationDocumentation()
162       { return "Documentation des énumérations membres"; }
163     
164     /*! header that is put before the list of member functions. */
165        virtual QCString trMemberFunctionDocumentation()
166       { return "Documentation des fonctions membres"; }
167     
168     /*! header that is put before the list of member attributes. */
169        virtual QCString trMemberDataDocumentation()
170       { 
171          if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
172          {
173             return "Documentation des champs"; 
174          }
175          else
176          {
177             return "Documentation des données membres";
178          }
179       }
180    
181     /*! this is the text of a link put after brief descriptions. */
182        virtual QCString trMore()
183       { return "Plus de détails..."; }
184    
185     /*! put in the class documentation */
186        virtual QCString trListOfAllMembers()
187       { return "Liste de tous les membres"; }
188    
189     /*! used as the title of the "list of all members" page of a class */
190        virtual QCString trMemberList()
191       { return "Liste des membres"; }
192    
193     /*! this is the first part of a sentence that is followed by a class name */
194        virtual QCString trThisIsTheListOfAllMembers()
195       { return "Liste complète des membres de "; }
196    
197     /*! this is the remainder of the sentence after the class name */
198        virtual QCString trIncludingInheritedMembers()
199       { return ", y compris les membres hérités :"; }
200     
201     /*! this is put at the author sections at the bottom of man pages.
202      *  parameter s is name of the project name.
203      */
204        virtual QCString trGeneratedAutomatically(const char *s)
205       { QCString result="Généré automatiquement par Doxygen"; 
206          if (s) result+=(QCString)" pour "+s;
207          result+=" à partir du code source."; 
208          return result;
209       }
210    
211     /*! put after an enum name in the list of all members */
212        virtual QCString trEnumName()
213       { return "énumération"; }
214     
215     /*! put after an enum value in the list of all members */
216        virtual QCString trEnumValue()
217       { return "valeur énumérée"; }
218     
219     /*! put after an undocumented member in the list of all members */
220        virtual QCString trDefinedIn()
221       { return "défini dans"; }
222    
223     // quick reference sections
224    
225     /*! This is put above each page as a link to the list of all groups of 
226      *  compounds or files (see the \\group command).
227      */
228        virtual QCString trModules()
229       { return "Modules"; }
230     
231     /*! This is put above each page as a link to the class hierarchy */
232        virtual QCString trClassHierarchy()
233       { return "Hiérarchie des classes"; }
234     
235     /*! This is put above each page as a link to the list of annotated classes */
236        virtual QCString trCompoundList()
237       { 
238          if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
239          {
240             return "Structures de données";
241          }
242          else
243          {
244             return "Liste des classes"; 
245          }
246       }
247     
248     /*! This is put above each page as a link to the list of documented files */
249        virtual QCString trFileList()
250       { return "Liste des fichiers"; }
251    
252     /*! This is put above each page as a link to all members of compounds. */
253        virtual QCString trCompoundMembers()
254       { 
255          if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
256          {
257             return "Champs de donnée"; 
258          }
259          else
260          {
261             return "Membres de classe"; 
262          }
263       }
264    
265     /*! This is put above each page as a link to all members of files. */
266        virtual QCString trFileMembers()
267       { 
268          if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
269          {
270             return "Variables globale"; 
271          }
272          else
273          {
274             return "Membres de fichier"; 
275          }
276       }
277    
278     /*! This is put above each page as a link to all related pages. */
279        virtual QCString trRelatedPages()
280       { return "Pages associées"; }
281    
282     /*! This is put above each page as a link to all examples. */
283        virtual QCString trExamples()
284       { return "Exemples"; }
285    
286     /*! This is put above each page as a link to the search engine. */
287        virtual QCString trSearch()
288       { return "Recherche"; }
289    
290     /*! This is an introduction to the class hierarchy. */
291        virtual QCString trClassHierarchyDescription()
292       { return "Cette liste d'héritage est classée "
293              "approximativement par ordre alphabétique :";
294       }
295    
296     /*! This is an introduction to the list with all files. */
297        virtual QCString trFileListDescription(bool extractAll)
298       {
299          QCString result="Liste de tous les fichiers ";
300          if (!extractAll) result+="documentés ";
301          result+="avec une brève description :";
302          return result;
303       }
304    
305     /*! This is an introduction to the annotated compound list. */
306        virtual QCString trCompoundListDescription()
307       {
308       
309          if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
310          {
311             return "Liste des structures de données avec une brève description :"; 
312          }
313          else
314          {
315             return "Liste des classes, structures, "
316                "unions et interfaces avec une brève description :"; 
317          }
318       }
319    
320     /*! This is an introduction to the page with all class members. */
321        virtual QCString trCompoundMembersDescription(bool extractAll)
322       {
323          QCString result="Liste de tous les ";
324          if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
325          {
326             result+="champs de structure et d'union ";
327          }
328          else
329          {
330             result+="membres de classe ";
331          }
332          if (!extractAll)
333          {
334             result+="documentés ";
335          }
336          result+="avec des liens vers ";
337          if (!extractAll) 
338          {
339             if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
340             {
341                result+="la documentation de structure/union de chaque champ :";
342             }
343             else
344             {
345                result+="la documentation de classe de chaque membre :";
346             }
347          }
348          else 
349          {
350             if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
351             {
352                result+="les structures/unions auxquelles ils appartiennent :";
353             }
354             else
355             {
356                result+="les classes auxquelles ils appartiennent :";
357             }
358          }
359          return result;
360       }
361    
362     /*! This is an introduction to the page with all file members. */
363        virtual QCString trFileMembersDescription(bool extractAll)
364       {
365          QCString result="Liste ";
366       
367          if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
368          {
369             result+="de toutes les fonctions, variables, macros, enumérations, et définitions de type ";
370          }
371          else
372          {
373             result+="de tous les membres de fichier ";
374          }
375          if (!extractAll) result+="documentés ";
376          result+="avec des liens vers ";
377          if (extractAll) 
378             result+="les fichiers auxquels ils appartiennent :";
379          else 
380             result+="la documentation :";
381          return result;
382       }
383    
384     /*! This is an introduction to the page with the list of all examples */
385        virtual QCString trExamplesDescription()
386       { return "Liste de tous les exemples :"; }
387    
388     /*! This is an introduction to the page with the list of related pages */
389        virtual QCString trRelatedPagesDescription()
390       { return "Liste de toutes les pages de documentation associées :"; }
391    
392     /*! This is an introduction to the page with the list of class/file groups */
393        virtual QCString trModulesDescription()
394       { return "Liste de tous les modules :"; }
395    
396     /*! This is used in HTML as the title of index.html. */
397        virtual QCString trDocumentation()
398       { return "Documentation"; }
399    
400     /*! This is used in LaTeX as the title of the chapter with the 
401      * index of all groups.
402      */
403        virtual QCString trModuleIndex()
404       { return "Index des modules"; }
405    
406     /*! This is used in LaTeX as the title of the chapter with the 
407      * class hierarchy.
408      */
409        virtual QCString trHierarchicalIndex()
410       { return "Index hiérarchique"; }
411    
412     /*! This is used in LaTeX as the title of the chapter with the 
413      * annotated compound index.
414      */
415        virtual QCString trCompoundIndex()
416       {
417          if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
418          { 
419             return "Index des structures de données";
420          }
421          else
422          {
423             return "Index des classes"; 
424          }
425       }
426    
427     /*! This is used in LaTeX as the title of the chapter with the
428      * list of all files.
429      */
430        virtual QCString trFileIndex() 
431       { return "Index des fichiers"; }
432    
433     /*! This is used in LaTeX as the title of the chapter containing
434      *  the documentation of all groups.
435      */
436        virtual QCString trModuleDocumentation()
437       { return "Documentation des modules"; }
438    
439     /*! This is used in LaTeX as the title of the chapter containing
440      *  the documentation of all classes, structs and unions.
441      */
442        virtual QCString trClassDocumentation()
443       { 
444          if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
445          {
446             return "Documentation des structures de données"; 
447          }
448          else
449          {
450             return "Documentation des classes"; 
451          }
452       }
453    
454     /*! This is used in LaTeX as the title of the chapter containing
455      *  the documentation of all files.
456      */
457        virtual QCString trFileDocumentation()
458       { return "Documentation des fichiers"; }
459    
460     /*! This is used in LaTeX as the title of the chapter containing
461      *  the documentation of all examples.
462      */
463        virtual QCString trExampleDocumentation()
464       { return "Documentation des exemples"; }
465    
466     /*! This is used in LaTeX as the title of the chapter containing
467      *  the documentation of all related pages.
468      */
469        virtual QCString trPageDocumentation()
470       { return "Documentation des pages associées"; }
471    
472     /*! This is used in LaTeX as the title of the document */
473        virtual QCString trReferenceManual()
474       { return "Manuel de référence"; }
475     
476     /*! This is used in the documentation of a file as a header before the 
477      *  list of defines
478      */
479        virtual QCString trDefines()
480       { return "Macros"; }
481    
482     /*! This is used in the documentation of a file as a header before the 
483      *  list of function prototypes
484      */
485        virtual QCString trFuncProtos()
486       { return "Prototypes de fonction"; }
487    
488     /*! This is used in the documentation of a file as a header before the 
489      *  list of typedefs
490      */
491        virtual QCString trTypedefs()
492       { return "Définitions de type"; }
493    
494     /*! This is used in the documentation of a file as a header before the 
495      *  list of enumerations
496      */
497        virtual QCString trEnumerations()
498       { return "Énumérations"; }
499    
500     /*! This is used in the documentation of a file as a header before the 
501      *  list of (global) functions
502      */
503        virtual QCString trFunctions()
504       { return "Fonctions"; }
505    
506     /*! This is used in the documentation of a file as a header before the 
507      *  list of (global) variables
508      */
509        virtual QCString trVariables()
510       { return "Variables"; }
511    
512     /*! This is used in the documentation of a file as a header before the 
513      *  list of (global) variables
514      */
515        virtual QCString trEnumerationValues()
516       { return "Valeurs énumérées"; }
517     
518     /*! This is used in the documentation of a file before the list of
519      *  documentation blocks for defines
520      */
521        virtual QCString trDefineDocumentation()
522       { return "Documentation des macros"; }
523    
524     /*! This is used in the documentation of a file/namespace before the list 
525      *  of documentation blocks for function prototypes
526      */
527        virtual QCString trFunctionPrototypeDocumentation()
528       { return "Documentation des prototypes de fonction"; }
529    
530     /*! This is used in the documentation of a file/namespace before the list 
531      *  of documentation blocks for typedefs
532      */
533        virtual QCString trTypedefDocumentation()
534       { return "Documentation des définitions de type"; }
535    
536     /*! This is used in the documentation of a file/namespace before the list 
537      *  of documentation blocks for enumeration types
538      */
539        virtual QCString trEnumerationTypeDocumentation()
540       { return "Documentation du type de l'énumération"; }
541    
542     /*! This is used in the documentation of a file/namespace before the list 
543      *  of documentation blocks for functions
544      */
545        virtual QCString trFunctionDocumentation()
546       { return "Documentation des fonctions"; }
547    
548     /*! This is used in the documentation of a file/namespace before the list 
549      *  of documentation blocks for variables
550      */
551        virtual QCString trVariableDocumentation()
552       { return "Documentation des variables"; }
553    
554     /*! This is used in the documentation of a file/namespace/group before 
555      *  the list of links to documented compounds
556      */
557        virtual QCString trCompounds()
558       { 
559          if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
560          {
561             return "Structures de données"; 
562          }
563          else
564          {
565             return "Classes"; 
566          }
567       }
568    
569     /*! This is used in the standard footer of each page and indicates when 
570      *  the page was generated 
571      */
572        virtual QCString trGeneratedAt(const char *date,const char *projName)
573       { 
574          QCString result=(QCString)"Généré le "+date;
575          if (projName) result+=(QCString)" pour "+projName;
576          result+=(QCString)" par";
577          return result;
578       }
579     /*! This is part of the sentence used in the standard footer of each page.
580      */
581        virtual QCString trWrittenBy()
582       {
583          return "écrit par";
584       }
585    
586     /*! this text is put before a class diagram */
587        virtual QCString trClassDiagram(const char *clName)
588       {
589          return (QCString)"Graphe d'héritage de "+clName+":";
590       }
591     
592     /*! this text is generated when the \\internal command is used. */
593        virtual QCString trForInternalUseOnly()
594       { return "Pour un usage interne uniquement."; }
595    
596     /*! this text is generated when the \\warning command is used. */
597        virtual QCString trWarning()
598       { return "Avertissement"; }
599    
600     /*! this text is generated when the \\version command is used. */
601        virtual QCString trVersion()
602       { return "Version"; }
603    
604     /*! this text is generated when the \\date command is used. */
605        virtual QCString trDate()
606       { return "Date"; }
607    
608     /*! this text is generated when the \\return command is used. */
609        virtual QCString trReturns()
610       { return "Renvoie"; }
611    
612     /*! this text is generated when the \\sa command is used. */
613        virtual QCString trSeeAlso()
614       { return "Voir également"; }
615    
616     /*! this text is generated when the \\param command is used. */
617        virtual QCString trParameters()
618       { return "Paramètres"; }
619    
620     /*! this text is generated when the \\exception command is used. */
621        virtual QCString trExceptions()
622       { return "Exceptions"; }
623     
624     /*! this text is used in the title page of a LaTeX document. */
625        virtual QCString trGeneratedBy()
626       { return "Généré par"; }
627    
628    //////////////////////////////////////////////////////////////////////////
629    // new since 0.49-990307
630    //////////////////////////////////////////////////////////////////////////
631    
632     /*! used as the title of page containing all the index of all namespaces. */
633        virtual QCString trNamespaceList()
634       { return "Liste des espaces de nommage"; }
635    
636     /*! used as an introduction to the namespace list */
637        virtual QCString trNamespaceListDescription(bool extractAll)
638       {
639          QCString result="Liste de tous les espaces de nommage ";
640          if (!extractAll) result+="documentés ";
641          result+="avec une brève description:";
642          return result;
643       }
644    
645     /*! used in the class documentation as a header before the list of all
646      *  friends of a class
647      */
648        virtual QCString trFriends()
649       { return "Amis"; }
650     
651    //////////////////////////////////////////////////////////////////////////
652    // new since 0.49-990405
653    //////////////////////////////////////////////////////////////////////////
654     
655     /*! used in the class documentation as a header before the list of all
656      * related classes 
657      */
658        virtual QCString trRelatedFunctionDocumentation()
659       { return "Documentation des fonctions amies et associées"; }
660     
661    //////////////////////////////////////////////////////////////////////////
662    // new since 0.49-990425
663    //////////////////////////////////////////////////////////////////////////
664    
665     /*! used as the title of the HTML page of a class/struct/union */
666        virtual QCString trCompoundReference(const char *clName,
667                                     ClassDef::CompoundType compType,
668                                     bool isTemplate)
669       {
670          QCString result="Référence ";
671          if (isTemplate) result+="du modèle ";
672          result+="de ";
673          switch(compType)
674          {
675             case ClassDef::Class:      result+="la classe "; break;
676             case ClassDef::Struct:     result+="la structure "; break;
677             case ClassDef::Union:      result+="l'union "; break;
678             case ClassDef::Interface:  result+="l'interface "; break;
679             case ClassDef::Protocol:   result+="le protocol "; break; 
680             case ClassDef::Category:   result+="la catégorie "; break; 
681             case ClassDef::Exception:  result+="l'exception "; break;
682          }
683          result+=(QCString)clName;
684          return result;
685       }
686    
687     /*! used as the title of the HTML page of a file */
688        virtual QCString trFileReference(const char *fileName)
689       {
690          QCString result= "Référence du fichier ";
691          result+=fileName;
692          return result;
693       }
694    
695     /*! used as the title of the HTML page of a namespace */
696        virtual QCString trNamespaceReference(const char *namespaceName)
697       {
698          QCString result= "Référence de l'espace de nommage ";
699          result+=namespaceName;
700          return result;
701       }
702     
703        virtual QCString trPublicMembers()
704       { return "Fonctions membres publiques"; }
705        virtual QCString trPublicSlots()
706       { return "Connecteurs publics"; }
707        virtual QCString trSignals()
708       { return "Signaux"; }
709        virtual QCString trStaticPublicMembers()
710       { return "Fonctions membres publiques statiques"; }
711        virtual QCString trProtectedMembers()
712       { return "Fonctions membres protégées"; }
713        virtual QCString trProtectedSlots()
714       { return "Connecteurs protégés"; }
715        virtual QCString trStaticProtectedMembers()
716       { return "Fonctions membres protégées statiques"; }
717        virtual QCString trPrivateMembers()
718       { return "Fonctions membres privées"; }
719        virtual QCString trPrivateSlots()
720       { return "Connecteurs privés"; }
721        virtual QCString trStaticPrivateMembers()
722       { return "Fonctions membres privées statiques"; }
723     
724     /*! this function is used to produce a comma-separated list of items.
725      *  use generateMarker(i) to indicate where item i should be put.
726      */
727        virtual QCString trWriteList(int numEntries)
728       {
729          QCString result;
730          int i;
731       // the inherits list contain `numEntries' classes
732          for (i=0;i<numEntries;i++) 
733          {
734          // use generateMarker to generate placeholders for the class links!
735             result+=generateMarker(i); // generate marker for entry i in the list
736                                    // (order is left to right)
737          
738             if (i!=numEntries-1)  // not the last entry, so we need a separator
739             {
740                if (i<numEntries-2) // not the fore last entry
741                   result+=", ";
742                else                // the fore last entry
743                   result+=", et ";
744             }
745          }
746          return result; 
747       }
748     
749     /*! used in class documentation to produce a list of base classes,
750      *  if class diagrams are disabled.
751      */
752        virtual QCString trInheritsList(int numEntries)
753       {
754          return "Est dérivée de "+trWriteList(numEntries)+".";
755       }
756    
757     /*! used in class documentation to produce a list of super classes,
758      *  if class diagrams are disabled.
759      */
760        virtual QCString trInheritedByList(int numEntries)
761       {
762          return "Dérivée par "+trWriteList(numEntries)+".";
763       }
764    
765     /*! used in member documentation blocks to produce a list of 
766      *  members that are hidden by this one.
767      */
768        virtual QCString trReimplementedFromList(int numEntries)
769       {
770          return "Réimplémentée à partir de "+trWriteList(numEntries)+".";
771       }
772    
773     /*! used in member documentation blocks to produce a list of
774      *  all member that overwrite the implementation of this member.
775      */
776        virtual QCString trReimplementedInList(int numEntries)
777       {
778          return "Réimplémentée dans "+trWriteList(numEntries)+".";
779       }
780    
781     /*! This is put above each page as a link to all members of namespaces. */
782        virtual QCString trNamespaceMembers()
783       { return "Membres de l'espace de nommage"; }
784    
785     /*! This is an introduction to the page with all namespace members */
786        virtual QCString trNamespaceMemberDescription(bool extractAll)
787       { 
788          QCString result="Liste de tous les membres des espaces de nommage ";
789          if (!extractAll) result+="documentés ";
790          result+="avec des liens vers ";
791          if (extractAll) 
792             result+="la documentation de namespace de chaque membre :";
793          else 
794             result+="les espaces de nommage auxquels ils appartiennent :";
795          return result;
796       }
797     /*! This is used in LaTeX as the title of the chapter with the 
798      *  index of all namespaces.
799      */
800        virtual QCString trNamespaceIndex()
801       { return "Index des espaces de nommage"; }
802    
803     /*! This is used in LaTeX as the title of the chapter containing
804      *  the documentation of all namespaces.
805      */
806        virtual QCString trNamespaceDocumentation()
807       { return "Documentation des espaces de nommage"; }
808    
809    //////////////////////////////////////////////////////////////////////////
810    // new since 0.49-990522
811    //////////////////////////////////////////////////////////////////////////
812    
813     /*! This is used in the documentation before the list of all
814      *  namespaces in a file.
815      */
816        virtual QCString trNamespaces()
817       { return "Espaces de nommage"; }
818    
819    //////////////////////////////////////////////////////////////////////////
820    // new since 0.49-990728
821    //////////////////////////////////////////////////////////////////////////
822    
823     /*! This is put at the bottom of a class documentation page and is
824      *  followed by a list of files that were used to generate the page.
825      */
826        virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType,
827         bool single)
828       { // here s is one of " Class", " Struct" or " Union"
829       // single is true implies a single file
830          bool female = true;
831          QCString result=(QCString)"La documentation de ";
832          switch(compType)
833          {
834             case ClassDef::Class:      result+="cette classe"; break;
835             case ClassDef::Struct:     result+="cette structure"; break;
836             case ClassDef::Union:      result+="cette union"; break;
837             case ClassDef::Interface:  result+="cette interface"; break;
838             case ClassDef::Protocol:   result+="ce protocol"; female = false; break;
839             case ClassDef::Category:   result+="cette catégorie"; break; 
840             case ClassDef::Exception:  result+="cette exception"; break;
841          }
842          if (female) result+= " a été générée à partir ";
843          else result+=" a été généré à partir ";
844          if (single) result+="du fichier suivant :"; 
845          else result+="des fichiers suivants :";
846          return result;
847       }
848    
849     /*! This is in the (quick) index as a link to the alphabetical compound
850      * list.
851      */
852        virtual QCString trAlphabeticalList()
853       { return "Liste alphabétique"; }
854    
855    //////////////////////////////////////////////////////////////////////////
856    // new since 0.49-990901
857    //////////////////////////////////////////////////////////////////////////
858    
859     /*! This is used as the heading text for the retval command. */
860        virtual QCString trReturnValues()
861       { return "Valeurs retournées"; }
862    
863     /*! This is in the (quick) index as a link to the main page (index.html)
864      */
865        virtual QCString trMainPage()
866       { return "Page principale"; }
867    
868     /*! This is used in references to page that are put in the LaTeX
869      *  documentation. It should be an abbreviation of the word page.
870      */
871        virtual QCString trPageAbbreviation()
872       { return "p."; }
873    
874    //////////////////////////////////////////////////////////////////////////
875    // new since 0.49-991003
876    //////////////////////////////////////////////////////////////////////////
877    
878        virtual QCString trDefinedAtLineInSourceFile()
879       {
880          return "Définition à la ligne @0 du fichier @1.";
881       }
882        virtual QCString trDefinedInSourceFile()
883       {
884          return "Définition dans le fichier @0.";
885       }
886    
887    //////////////////////////////////////////////////////////////////////////
888    // new since 0.49-991205
889    //////////////////////////////////////////////////////////////////////////
890    
891        virtual QCString trDeprecated()
892       {
893          return "Obsolète";
894       }
895    
896    //////////////////////////////////////////////////////////////////////////
897    // new since 1.0.0
898    //////////////////////////////////////////////////////////////////////////
899    
900     /*! this text is put before a collaboration diagram */
901        virtual QCString trCollaborationDiagram(const char *clName)
902       {
903          return (QCString)"Graphe de collaboration de "+clName+":";
904       }
905     /*! this text is put before an include dependency graph */
906        virtual QCString trInclDepGraph(const char *fName)
907       {
908          return (QCString)"Graphe des dépendances par inclusion de "+fName+":";
909       }
910     /*! header that is put before the list of constructor/destructors. */
911        virtual QCString trConstructorDocumentation()
912       {
913          return "Documentation des constructeurs et destructeur"; 
914       }
915     /*! Used in the file documentation to point to the corresponding sources. */
916        virtual QCString trGotoSourceCode()
917       {
918          return "Aller au code source de ce fichier.";
919       }
920     /*! Used in the file sources to point to the corresponding documentation. */
921        virtual QCString trGotoDocumentation()
922       {
923          return "Aller à la documentation de ce fichier.";
924       }
925     /*! Text for the \\pre command */
926        virtual QCString trPrecondition()
927       {
928          return "Précondition";
929       }
930     /*! Text for the \\post command */
931        virtual QCString trPostcondition()
932       {
933          return "Postcondition";
934       }
935     /*! Text for the \\invariant command */
936        virtual QCString trInvariant()
937       {
938          return "Invariant";
939       }
940     /*! Text shown before a multi-line variable/enum initialization */
941        virtual QCString trInitialValue()
942       {
943          return "Valeur initiale :";
944       }
945     /*! Text used the source code in the file index */
946        virtual QCString trCode()
947       {
948          return "code";
949       }
950        virtual QCString trGraphicalHierarchy()
951       {
952          return "Graphe hiérarchique des classes";
953       }
954        virtual QCString trGotoGraphicalHierarchy()
955       {
956          return "Aller au graphe hiérarchique des classes";
957       }
958        virtual QCString trGotoTextualHierarchy()
959       {
960          return "Aller à la hiérarchie des classes en mode texte";
961       }
962        virtual QCString trPageIndex()
963       {
964          return "Index des pages";
965       }
966    
967    //////////////////////////////////////////////////////////////////////////
968    // new since 1.1.0
969    //////////////////////////////////////////////////////////////////////////
970     
971        virtual QCString trNote()
972       {
973          return "Note";
974       }
975        virtual QCString trPublicTypes()
976       {
977          return "Types publics";
978       }
979        virtual QCString trPublicAttribs()
980       {
981          if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
982          {
983             return "Champs de données";
984          }
985          else
986          {
987             return "Attributs publics";
988          }
989       }
990        virtual QCString trStaticPublicAttribs()
991       {
992          return "Attributs publics statiques";
993       }
994        virtual QCString trProtectedTypes()
995       {
996          return "Types protégés";
997       }
998        virtual QCString trProtectedAttribs()
999       {
1000          return "Attributs protégés";
1001       }
1002        virtual QCString trStaticProtectedAttribs()
1003       {
1004          return "Attributs protégés statiques";
1005       }
1006        virtual QCString trPrivateTypes()
1007       {
1008          return "Types privés";
1009       }
1010        virtual QCString trPrivateAttribs()
1011       {
1012          return "Attributs privés";
1013       }
1014        virtual QCString trStaticPrivateAttribs()
1015       {
1016          return "Attributs privés statiques";
1017       }
1018    
1019    //////////////////////////////////////////////////////////////////////////
1020    // new since 1.1.3
1021    //////////////////////////////////////////////////////////////////////////
1022    
1023     /*! Used as a marker that is put before a \\todo item */
1024        virtual QCString trTodo()
1025       {
1026          return "A faire";
1027       }
1028     /*! Used as the header of the todo list */
1029        virtual QCString trTodoList()
1030       {
1031          return "Liste des choses à faire";
1032       }
1033    
1034    //////////////////////////////////////////////////////////////////////////
1035    // new since 1.1.4
1036    //////////////////////////////////////////////////////////////////////////
1037    
1038        virtual QCString trReferencedBy()
1039       {
1040          return "Référencé par";
1041       }
1042        virtual QCString trRemarks()
1043       {
1044          return "Remarques";
1045       }
1046        virtual QCString trAttention()
1047       {
1048          return "Attention";
1049       }
1050        virtual QCString trInclByDepGraph()
1051       {
1052          return "Ce graphe montre quels fichiers incluent directement "
1053              "ou indirectement ce fichier :";
1054       }
1055        virtual QCString trSince()
1056       {
1057          return "Depuis";
1058       }
1059     
1060    //////////////////////////////////////////////////////////////////////////
1061    // new since 1.1.5
1062    //////////////////////////////////////////////////////////////////////////
1063    
1064     /*! title of the graph legend page */
1065        virtual QCString trLegendTitle()
1066       {
1067          return "Légende du graphe";
1068       }
1069     /*! page explaining how the dot graph's should be interpreted 
1070      *  The %A in the text below are to prevent link to classes called "A".
1071      */
1072        virtual QCString trLegendDocs()
1073       {
1074          return 
1075             "Cette page explique comment interpréter les graphes générés "
1076             "par doxygen.<p>\n"
1077             "Considérez l'exemple suivant :\n"
1078             "\\code\n"
1079             "/*! Classe invisible à cause d'une troncature */\n"
1080             "class Invisible { };\n\n"
1081             "/*! Classe tronquée, la relation d'héritage est masquée */\n"
1082             "class Truncated : public Invisible { };\n\n"
1083             "/*! Classe non documentée avec des commentaires Doxygen */\n"
1084             "class Undocumented { };\n\n"
1085             "/*! Classe dérivée par héritage public */\n"
1086             "class PublicBase : public Truncated { };\n\n"
1087             "/*! Un modèle de classe */\n"
1088             "template<class T> class Templ { };\n\n"
1089             "/*! Classe dérivée par héritage protégé */\n"
1090             "class ProtectedBase { };\n\n"
1091             "/*! Classe dérivée par héritage privé */\n"
1092             "class PrivateBase { };\n\n"
1093             "/*! Classe utilisée par la classe dérivée */\n"
1094             "class Used { };\n\n"
1095             "/*! Super-classe qui hérite de plusieurs autres classes */\n"
1096             "class Inherited : public PublicBase,\n"
1097             "                  protected ProtectedBase,\n"
1098             "                  private PrivateBase,\n"
1099             "                  public Undocumented,\n"
1100             "                  public Templ<int>\n"
1101             "{\n"
1102             "  private:\n"
1103             "    Used *m_usedClass;\n"
1104             "};\n"
1105             "\\endcode\n"
1106             "Si la valeur 240 est attribuée au tag \\c MAX_DOT_GRAPH_HEIGHT "
1107             "du fichier de configuration, cela génèrera le graphe suivant :"
1108             "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
1109             "<p>\n"
1110             "Les rectangles du graphe ci-dessus ont la signification suivante :\n"
1111             "<ul>\n"
1112             "<li>Un rectangle plein noir représente la structure ou la classe pour laquelle "
1113             "le graphe est généré.\n"
1114             "<li>Un rectangle avec un bord noir indique une classe ou une structure documentée.\n"
1115             "<li>Un rectangle avec un bord gris indique une classe ou une structure non documentée.\n"
1116             "<li>Un rectangle avec un bord rouge indique une structure ou une classe documentée\n"
1117             "pour laquelle des relations d'héritage ou de collaboration manquent. Un graphe est "
1118             "tronqué s'il n'entre pas dans les limites spécifiées."
1119             "</ul>\n"
1120             "Les flèches ont la signification suivante :\n"
1121             "<ul>\n"
1122             "<li>Une flèche bleu foncé est utilisée pour visualiser une relation d'héritage publique "
1123             "entre deux classes.\n"
1124             "<li>Une flèche vert foncé est utilisée pour une relation d'héritage protégée.\n"
1125             "<li>Une flèche rouge foncé est utilisée pour une relation d'héritage privée.\n"
1126             "<li>Une flèche violette en pointillés est utilisée si une classe est contenue ou "
1127             "utilisée par une autre classe. La flèche est étiquetée avec la ou les variable(s) "
1128             "qui permettent d'accéder à la classe ou structure pointée. \n"
1129             "<li>Une flèche jaune en pointillés indique une relation entre un modèle d'instance et "
1130             "le modèle de classe duquel il est instancié. La flèche est étiquetée avec "
1131             "les paramètres de modèle de l'instance.\n"
1132             "</ul>\n";
1133       }
1134     /*! text for the link to the legend page */
1135        virtual QCString trLegend()
1136       {
1137          return "légende";
1138       }
1139    
1140    //////////////////////////////////////////////////////////////////////////
1141    // new since 1.2.0
1142    //////////////////////////////////////////////////////////////////////////
1143     
1144     /*! Used as a marker that is put before a test item */
1145        virtual QCString trTest()
1146       {
1147          return "Test";
1148       }
1149     /*! Used as the header of the test list */
1150        virtual QCString trTestList()
1151       {
1152          return "Liste des tests";
1153       }
1154    
1155    //////////////////////////////////////////////////////////////////////////
1156    // new since 1.2.1
1157    //////////////////////////////////////////////////////////////////////////
1158    
1159     /*! Used as a section header for KDE-2 IDL methods */
1160        virtual QCString trDCOPMethods()
1161       {
1162          return "Fonctions membres DCOP";
1163       }
1164    
1165    //////////////////////////////////////////////////////////////////////////
1166    // new since 1.2.2
1167    //////////////////////////////////////////////////////////////////////////
1168    
1169     /*! Used as a section header for IDL properties */
1170        virtual QCString trProperties()
1171       {
1172          return "Propriétés";
1173       }
1174     /*! Used as a section header for IDL property documentation */
1175        virtual QCString trPropertyDocumentation()
1176       {
1177          return "Documentation des propriétés";
1178       }
1179    
1180    //////////////////////////////////////////////////////////////////////////
1181    // new since 1.2.4
1182    //////////////////////////////////////////////////////////////////////////
1183    
1184     /*! Used for Java classes in the summary section of Java packages */
1185        virtual QCString trClasses()
1186       {
1187          if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
1188          {
1189             return "Structures de données";
1190          }
1191          else
1192          {
1193             return "Classes";
1194          }
1195       }
1196     /*! Used as the title of a Java package */
1197        virtual QCString trPackage(const char *name)
1198       {
1199          return (QCString)"Paquetage "+name;
1200       }
1201     /*! Title of the package index page */
1202        virtual QCString trPackageList()
1203       {
1204          return "Liste des paquetages";
1205       }
1206     /*! The description of the package index page */
1207        virtual QCString trPackageListDescription()
1208       {
1209          return "Liste des paquetages avec une brève description (si disponible) :";
1210       }
1211     /*! The link name in the Quick links header for each page */
1212        virtual QCString trPackages()
1213       {
1214          return "Paquetages";
1215       }
1216     /*! Text shown before a multi-line define */
1217        virtual QCString trDefineValue()
1218       {
1219          return "Valeur :";
1220       }
1221     
1222    //////////////////////////////////////////////////////////////////////////
1223    // new since 1.2.5
1224    //////////////////////////////////////////////////////////////////////////
1225     
1226     /*! Used as a marker that is put before a \\bug item */
1227        virtual QCString trBug()
1228       {
1229          return "Bogue";
1230       }
1231     /*! Used as the header of the bug list */
1232        virtual QCString trBugList()
1233       {
1234          return "Liste des bogues";
1235       }
1236    
1237    //////////////////////////////////////////////////////////////////////////
1238    // new since 1.2.6
1239    //////////////////////////////////////////////////////////////////////////
1240    
1241     /*! Used as ansicpg for RTF file 
1242      * 
1243      * The following table shows the correlation of Charset name, Charset Value and 
1244      * <pre>
1245      * Codepage number:
1246      * Charset Name       Charset Value(hex)  Codepage number
1247      * ------------------------------------------------------
1248      * DEFAULT_CHARSET           1 (x01)
1249      * SYMBOL_CHARSET            2 (x02)
1250      * OEM_CHARSET             255 (xFF)
1251      * ANSI_CHARSET              0 (x00)            1252
1252      * RUSSIAN_CHARSET         204 (xCC)            1251
1253      * EE_CHARSET              238 (xEE)            1250
1254      * GREEK_CHARSET           161 (xA1)            1253
1255      * TURKISH_CHARSET         162 (xA2)            1254
1256      * BALTIC_CHARSET          186 (xBA)            1257
1257      * HEBREW_CHARSET          177 (xB1)            1255
1258      * ARABIC _CHARSET         178 (xB2)            1256
1259      * SHIFTJIS_CHARSET        128 (x80)             932
1260      * HANGEUL_CHARSET         129 (x81)             949
1261      * GB2313_CHARSET          134 (x86)             936
1262      * CHINESEBIG5_CHARSET     136 (x88)             950
1263      * </pre>
1264      * 
1265      */
1266        virtual QCString trRTFansicp()
1267       {
1268          return "1252";
1269       }
1270     
1271    
1272     /*! Used as ansicpg for RTF fcharset 
1273      *  \see trRTFansicp() for a table of possible values.
1274      */
1275        virtual QCString trRTFCharSet()
1276       {
1277          return "0";
1278       }
1279    
1280     /*! Used as header RTF general index */
1281        virtual QCString trRTFGeneralIndex()
1282       {
1283          return "Index";
1284       }
1285    
1286     /*! This is used for translation of the word that will possibly
1287      *  be followed by a single name or by a list of names 
1288      *  of the category.
1289      */
1290        virtual QCString trClass(bool first_capital, bool singular)
1291       { 
1292          QCString result((first_capital ? "Classe" : "classe"));
1293          if (!singular)  result+="s";
1294          return result; 
1295       }
1296    
1297     /*! This is used for translation of the word that will possibly
1298      *  be followed by a single name or by a list of names 
1299      *  of the category.
1300      */
1301        virtual QCString trFile(bool first_capital, bool singular)
1302       { 
1303          QCString result((first_capital ? "Fichier" : "fichier"));
1304          if (!singular)  result+="s";
1305          return result; 
1306       }
1307    
1308     /*! This is used for translation of the word that will possibly
1309      *  be followed by a single name or by a list of names 
1310      *  of the category.
1311      */
1312        virtual QCString trNamespace(bool first_capital, bool singular)
1313       { 
1314          QCString result((first_capital ? "Espace" : "espace"));
1315          if (!singular)  result+="s";
1316          result+=" de nommage";
1317          return result; 
1318       }
1319    
1320     /*! This is used for translation of the word that will possibly
1321      *  be followed by a single name or by a list of names 
1322      *  of the category.
1323      */
1324        virtual QCString trGroup(bool first_capital, bool singular)
1325       { 
1326          QCString result((first_capital ? "Groupe" : "groupe"));
1327          if (!singular)  result+="s";
1328          return result; 
1329       }
1330    
1331     /*! This is used for translation of the word that will possibly
1332      *  be followed by a single name or by a list of names 
1333      *  of the category.
1334      */
1335        virtual QCString trPage(bool first_capital, bool singular)
1336       { 
1337          QCString result((first_capital ? "Page" : "page"));
1338          if (!singular)  result+="s";
1339          return result; 
1340       }
1341    
1342     /*! This is used for translation of the word that will possibly
1343      *  be followed by a single name or by a list of names 
1344      *  of the category.
1345      */
1346        virtual QCString trMember(bool first_capital, bool singular)
1347       { 
1348          QCString result((first_capital ? "Membre" : "membre"));
1349          if (!singular)  result+="s";
1350          return result; 
1351       }
1352    
1353     /*! This is used for translation of the word that will possibly
1354      *  be followed by a single name or by a list of names 
1355      *  of the category.
1356      */
1357        virtual QCString trGlobal(bool first_capital, bool singular)
1358       { 
1359          QCString result((first_capital ? "Globa" : "globa"));
1360          if (!singular)  result+="ux(ales)"; else result+="l(e)";
1361          return result; 
1362       }
1363    
1364    //////////////////////////////////////////////////////////////////////////
1365    // new since 1.2.7
1366    //////////////////////////////////////////////////////////////////////////
1367    
1368     /*! This text is generated when the \\author command is used and
1369      *  for the author section in man pages. */
1370        virtual QCString trAuthor(bool first_capital, bool singular)
1371       {                                                                         
1372          QCString result((first_capital ? "Auteur" : "auteur"));
1373          if (!singular)  result+="s";
1374          return result; 
1375       }
1376    
1377    //////////////////////////////////////////////////////////////////////////
1378    // new since 1.2.11
1379    //////////////////////////////////////////////////////////////////////////
1380    
1381     /*! This text is put before the list of members referenced by a member
1382      */
1383        virtual QCString trReferences()
1384       {
1385          return "Références";
1386       }
1387    
1388    //////////////////////////////////////////////////////////////////////////
1389    // new since 1.2.13
1390    //////////////////////////////////////////////////////////////////////////
1391    
1392     /*! used in member documentation blocks to produce a list of 
1393      *  members that are implemented by this one.
1394      */
1395        virtual QCString trImplementedFromList(int numEntries)
1396       {
1397          return "Implémente "+trWriteList(numEntries)+".";
1398       }
1399    
1400     /*! used in member documentation blocks to produce a list of
1401      *  all members that implement this abstract member.
1402      */
1403        virtual QCString trImplementedInList(int numEntries)
1404       {
1405          return "Implémenté dans "+trWriteList(numEntries)+".";
1406       }
1407    
1408    //////////////////////////////////////////////////////////////////////////
1409    // new since 1.2.16
1410    //////////////////////////////////////////////////////////////////////////
1411    
1412     /*! used in RTF documentation as a heading for the Table
1413      *  of Contents.
1414      */
1415        virtual QCString trRTFTableOfContents()
1416       {
1417          return "Table des matières";
1418       }
1419    
1420    //////////////////////////////////////////////////////////////////////////
1421    // new since 1.2.17
1422    //////////////////////////////////////////////////////////////////////////
1423    
1424     /*! Used as the header of the list of item that have been 
1425      *  flagged deprecated 
1426      */
1427        virtual QCString trDeprecatedList()
1428       {
1429          return "Liste des éléments obsolètes";
1430       }
1431    
1432    //////////////////////////////////////////////////////////////////////////
1433    // new since 1.2.18
1434    //////////////////////////////////////////////////////////////////////////
1435    
1436     /*! Used as a header for declaration section of the events found in 
1437      * a C# program
1438      */
1439        virtual QCString trEvents()
1440       {
1441          return "Événements";
1442       }
1443     /*! Header used for the documentation section of a class' events. */
1444        virtual QCString trEventDocumentation()
1445       {
1446          return "Documentation des événements";
1447       }
1448    
1449    //////////////////////////////////////////////////////////////////////////
1450    // new since 1.3
1451    //////////////////////////////////////////////////////////////////////////
1452    
1453     /*! Used as a heading for a list of Java class types with package scope.
1454      */
1455        virtual QCString trPackageTypes()
1456       { 
1457          return "Types de paquetage";
1458       }
1459     /*! Used as a heading for a list of Java class functions with package 
1460      * scope. 
1461      */
1462        virtual QCString trPackageMembers()
1463       { 
1464          return "Fonctions de paquetage";
1465       }
1466     /*! Used as a heading for a list of static Java class functions with 
1467      *  package scope.
1468      */
1469        virtual QCString trStaticPackageMembers()
1470       { 
1471          return "Fonctions statiques de paquetage";
1472       }
1473     /*! Used as a heading for a list of Java class variables with package 
1474      * scope.
1475      */
1476        virtual QCString trPackageAttribs()
1477       { 
1478          return "Attributs de paquetage";
1479       }
1480     /*! Used as a heading for a list of static Java class variables with 
1481      * package scope.
1482      */
1483        virtual QCString trStaticPackageAttribs()
1484       { 
1485          return "Attributs statiques de paquetage";
1486       }
1487    
1488    //////////////////////////////////////////////////////////////////////////
1489    // new since 1.3.1
1490    //////////////////////////////////////////////////////////////////////////
1491    
1492     /*! Used in the quick index of a class/file/namespace member list page 
1493      *  to link to the unfiltered list of all members.
1494      */
1495        virtual QCString trAll()
1496       {
1497          return "Tout";
1498       }
1499     /*! Put in front of the call graph for a function. */
1500        virtual QCString trCallGraph()
1501       {
1502          return "Voici le graphe d'appel pour cette fonction :";
1503       }
1504    
1505    //////////////////////////////////////////////////////////////////////////
1506    // new since 1.3.3
1507    //////////////////////////////////////////////////////////////////////////
1508    
1509     /*! When the search engine is enabled this text is put in the header 
1510      *  of each page before the field where one can enter the text to search 
1511      *  for. 
1512      */
1513        virtual QCString trSearchForIndex()
1514       {
1515          return "Rechercher";
1516       }
1517     /*! This string is used as the title for the page listing the search
1518      *  results.
1519      */
1520        virtual QCString trSearchResultsTitle()
1521       {
1522          return "Résultats de la recherche";
1523       }
1524     /*! This string is put just before listing the search results. The
1525      *  text can be different depending on the number of documents found.
1526      *  Inside the text you can put the special marker $num to insert
1527      *  the number representing the actual number of search results.
1528      *  The @a numDocuments parameter can be either 0, 1 or 2, where the 
1529      *  value 2 represents 2 or more matches. HTML markup is allowed inside
1530      *  the returned string.
1531      */
1532        virtual QCString trSearchResults(int numDocuments)
1533       {
1534          if (numDocuments==0)
1535          {
1536             return "Désolé, aucun document ne correspond à votre requête.";
1537          }
1538          else if (numDocuments==1)
1539          {
1540             return "Trouvé <b>1</b> document correspondant à votre requête.";
1541          }
1542          else 
1543          {
1544             return "Trouvé  <b>$num</b> documents correspondant à votre requête. "
1545                "Classé par ordre de pertinence décroissant.";
1546          }
1547       }
1548     /*! This string is put before the list of matched words, for each search 
1549      *  result. What follows is the list of words that matched the query.
1550      */
1551        virtual QCString trSearchMatches()
1552       {
1553          return "Correspondances :";
1554       }
1555    
1556    //////////////////////////////////////////////////////////////////////////
1557    // new since 1.3.8
1558    //////////////////////////////////////////////////////////////////////////
1559    
1560      /*! This is used in HTML as the title of page with source code for file filename
1561       */
1562        virtual QCString trSourceFile(QCString& filename)
1563       {
1564          return " Fichier source de " + filename;
1565       }
1566    
1567    //////////////////////////////////////////////////////////////////////////
1568    // new since 1.3.9
1569    //////////////////////////////////////////////////////////////////////////
1570    
1571      /*! This is used as the name of the chapter containing the directory
1572       *  hierarchy.
1573       */
1574        virtual QCString trDirIndex()
1575       { return "Hiérarchie de répertoires"; }
1576    
1577      /*! This is used as the name of the chapter containing the documentation
1578       *  of the directories.
1579       */
1580        virtual QCString trDirDocumentation()
1581       { return "Documentation des répertoires"; }
1582    
1583      /*! This is used as the title of the directory index and also in the
1584       *  Quick links of a HTML page, to link to the directory hierarchy.
1585       */
1586        virtual QCString trDirectories()
1587       { return "Répertoires"; }
1588    
1589      /*! This returns a sentences that introduces the directory hierarchy.
1590       *  and the fact that it is sorted alphabetically per level
1591       */
1592        virtual QCString trDirDescription()
1593       { return "Cette hiérarchie de répertoire est triée approximativement, "
1594               "mais pas complètement, par ordre alphabétique :";
1595       }
1596    
1597      /*! This returns the title of a directory page. The name of the
1598       *  directory is passed via \a dirName.
1599       */
1600        virtual QCString trDirReference(const char *dirName)
1601       { QCString  result="Répertoire de référence de "; result+=dirName; return result; }
1602    
1603      /*! This returns the word directory with or without starting capital
1604       *  (\a first_capital) and in sigular or plural form (\a singular).
1605       */
1606        virtual QCString trDir(bool first_capital, bool singular)
1607       {
1608          QCString result((first_capital ? "Répertoire" : "répertoire"));
1609          if (singular) result+=""; else result+="s";
1610          return result;
1611       }
1612    
1613    //////////////////////////////////////////////////////////////////////////
1614    // new since 1.4.1
1615    //////////////////////////////////////////////////////////////////////////
1616    
1617     /*! This text is added to the documentation when the \\overload command
1618      *  is used for a overloaded function.
1619      */
1620        virtual QCString trOverloadText()
1621       {
1622          return "Ceci est une fonction membre surchargée, "
1623               "proposée par commodité. Elle diffère de la fonction "
1624               "ci-dessus uniquement par le(s) argument(s) qu'elle accepte.";
1625       }
1626
1627     //////////////////////////////////////////////////////////////////////////
1628     // new since 1.4.6
1629     //////////////////////////////////////////////////////////////////////////
1630
1631     /*! This is used to introduce a caller (or called-by) graph */
1632     virtual QCString trCallerGraph()
1633     {
1634       return "Voici le graphe des appelants de cette fonction :";
1635     }
1636
1637     /*! This is used in the documentation of a file/namespace before the list 
1638      *  of documentation blocks for enumeration values
1639      */
1640     virtual QCString trEnumerationValueDocumentation()
1641     { return "Documentation des énumérations"; }
1642
1643     //////////////////////////////////////////////////////////////////////////
1644     // new since 1.5.4 (mainly for Fortran)
1645     //////////////////////////////////////////////////////////////////////////
1646     
1647     /*! header that is put before the list of member subprograms (Fortran). */
1648     virtual QCString trMemberFunctionDocumentationFortran()
1649     { return "Documentation des fonctions/subroutines membres"; }
1650
1651     /*! This is put above each page as a link to the list of annotated data types (Fortran). */    
1652     virtual QCString trCompoundListFortran()
1653     { return "Liste des types de données"; }
1654
1655     /*! This is put above each page as a link to all members of compounds (Fortran). */
1656     virtual QCString trCompoundMembersFortran()
1657     { return "Champs de données"; }
1658
1659     /*! This is an introduction to the annotated compound list (Fortran). */
1660     virtual QCString trCompoundListDescriptionFortran()
1661     { return "Liste des types de données avec une brève description :"; }
1662
1663     /*! This is an introduction to the page with all data types (Fortran). */
1664     virtual QCString trCompoundMembersDescriptionFortran(bool extractAll)
1665     {
1666       QCString result="Liste de tous les membres de types de données ";
1667       if (!extractAll)
1668       {
1669         result+="documentés ";
1670       }
1671       result+="avec des liens vers ";
1672       if (!extractAll) 
1673       {
1674          result+="la documentation de la structure des données de chaque membre :";
1675       }
1676       else 
1677       {
1678          result+="les types des données auxquels ils appartiennent :";
1679       }
1680       return result;
1681     }
1682
1683     /*! This is used in LaTeX as the title of the chapter with the 
1684      * annotated compound index (Fortran).
1685      */
1686     virtual QCString trCompoundIndexFortran()
1687     { return "Index du type de données"; }
1688
1689     /*! This is used in LaTeX as the title of the chapter containing
1690      *  the documentation of all data types (Fortran).
1691      */
1692     virtual QCString trTypeDocumentation()
1693     { return "Documentation du type de données"; }
1694
1695     /*! This is used in the documentation of a file as a header before the 
1696      *  list of (global) subprograms (Fortran).
1697      */
1698     virtual QCString trSubprograms()
1699     { return "Fonctions/Subroutines"; }
1700
1701     /*! This is used in the documentation of a file/namespace before the list 
1702      *  of documentation blocks for subprograms (Fortran)
1703      */
1704     virtual QCString trSubprogramDocumentation()
1705     { return "Documentation de la fonction/subroutine"; }
1706
1707     /*! This is used in the documentation of a file/namespace/group before 
1708      *  the list of links to documented compounds (Fortran)
1709      */
1710      virtual QCString trDataTypes()
1711     { return "Les types de données"; }
1712     
1713     /*! used as the title of page containing all the index of all modules (Fortran). */
1714     virtual QCString trModulesList()
1715     { return "Liste des modules"; }
1716
1717     /*! used as an introduction to the modules list (Fortran) */
1718     virtual QCString trModulesListDescription(bool extractAll)
1719     {
1720       QCString result="Liste de tous les modules ";
1721       if (!extractAll) result+="documentés ";
1722       result+="avec une brève description :";
1723       return result;
1724     }
1725
1726     /*! used as the title of the HTML page of a module/type (Fortran) */
1727     virtual QCString trCompoundReferenceFortran(const char *clName,
1728                                     ClassDef::CompoundType compType,
1729                                     bool isTemplate)
1730     {
1731       QCString result="Réference ";
1732       if (isTemplate) result+="du modèle ";
1733       switch(compType)
1734       {
1735         case ClassDef::Class:      result+="du module "; break;
1736         case ClassDef::Struct:     result+="du type "; break;
1737         case ClassDef::Union:      result+="de l'union "; break;
1738         case ClassDef::Interface:  result+="de l'interface "; break;
1739         case ClassDef::Protocol:   result+="du protocole "; break;
1740         case ClassDef::Category:   result+="de la catégorie "; break;
1741         case ClassDef::Exception:  result+="de l'exception "; break;
1742       }
1743       result+=(QCString)clName;
1744       return result;
1745     }
1746     /*! used as the title of the HTML page of a module (Fortran) */
1747     virtual QCString trModuleReference(const char *namespaceName)
1748     {
1749       QCString result="Référence du module ";
1750       result+= namespaceName;        
1751       return result;
1752     }
1753     
1754     /*! This is put above each page as a link to all members of modules. (Fortran) */
1755     virtual QCString trModulesMembers()
1756     { return "Membres du module"; }
1757
1758     /*! This is an introduction to the page with all modules members (Fortran) */
1759     virtual QCString trModulesMemberDescription(bool extractAll)
1760     { 
1761       QCString result="Liste de tous les membres ";
1762       if (!extractAll) result+="documentés ";
1763       result+="du module avec des liens vers ";
1764       if (extractAll) 
1765       {
1766         result+="la documentation du module de chaque membre :";
1767       }
1768       else 
1769       {
1770         result+="les modules auxquels ils appartiennent :";
1771       }
1772       return result;
1773     }
1774
1775     /*! This is used in LaTeX as the title of the chapter with the 
1776      *  index of all modules (Fortran).
1777      */
1778     virtual QCString trModulesIndex()
1779     { return "Index des modules"; }
1780     
1781     /*! This is used for translation of the word that will possibly
1782      *  be followed by a single name or by a list of names 
1783      *  of the category.
1784      */
1785     virtual QCString trModule(bool first_capital, bool singular)
1786     {       
1787       QCString result((first_capital ? "Module" : "module"));
1788       if (!singular)  result+="s";
1789       return result; 
1790     }
1791
1792     /*! This is put at the bottom of a module documentation page and is
1793      *  followed by a list of files that were used to generate the page.
1794      */
1795     virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType,
1796         bool single)
1797     {
1798       // single is true implies a single file
1799       QCString result=(QCString)"La documentation de ";
1800       switch(compType)
1801       {
1802         case ClassDef::Class:      result+="ce module"; break;
1803         case ClassDef::Struct:     result+="ce type"; break;
1804         case ClassDef::Union:      result+="cette union"; break;
1805         case ClassDef::Interface:  result+="cette interface"; break;
1806         case ClassDef::Protocol:   result+="ce protocole"; break;
1807         case ClassDef::Category:   result+="cette catégorie"; break;
1808         case ClassDef::Exception:  result+="cette exception"; break;
1809       }
1810       result+=" a été générée à partir ";
1811       if (single) result+="du fichier suivant :"; else result+="des fichiers suivants :";
1812       return result;
1813     }
1814
1815     /*! This is used for translation of the word that will possibly
1816      *  be followed by a single name or by a list of names 
1817      *  of the category.
1818      */
1819     virtual QCString trType(bool first_capital, bool singular)
1820     { 
1821       QCString result((first_capital ? "Type" : "type"));
1822       if (!singular)  result+="s";
1823       return result; 
1824     }
1825
1826     /*! This is used for translation of the word that will possibly
1827      *  be followed by a single name or by a list of names 
1828      *  of the category.
1829      */
1830     virtual QCString trSubprogram(bool first_capital, bool singular)
1831     { 
1832       QCString result((first_capital ? "Sous-programme" : "sous-programme"));
1833       if (!singular)  result+="s";
1834       return result; 
1835     }
1836
1837     /*! C# Type Constraint list */
1838     virtual QCString trTypeConstraints()
1839     {
1840       return "Contraintes de type";
1841     }
1842
1843 //////////////////////////////////////////////////////////////////////////
1844 // new since 1.6.0 (mainly for the new search engine)
1845 //////////////////////////////////////////////////////////////////////////
1846
1847     /*! directory relation for \a name */
1848     virtual QCString trDirRelation(const char *name)
1849     {
1850       return "Relation " + QCString(name);
1851     }
1852
1853     /*! Loading message shown when loading search results */
1854     virtual QCString trLoading()
1855     {
1856       return "Chargement...";
1857     }
1858
1859     /*! Label used for search results in the global namespace */
1860     virtual QCString trGlobalNamespace()
1861     {
1862       return "Espace de nommage global";
1863     }
1864
1865     /*! Message shown while searching */
1866     virtual QCString trSearching()
1867     {
1868       return "Recherche...";
1869     }
1870
1871     /*! Text shown when no search results are found */
1872     virtual QCString trNoMatches()
1873     {
1874       return "Aucune correspondance";
1875     }
1876
1877 //////////////////////////////////////////////////////////////////////////
1878 // new since 1.6.3
1879 //////////////////////////////////////////////////////////////////////////
1880
1881     /*! introduction text for the directory dependency graph */
1882     virtual QCString trDirDependency(const char *name)
1883     {
1884       return (QCString)"Graphe des dépendances de répertoire pour "+name;
1885     }
1886
1887     /*! when clicking a directory dependency label, a page with a
1888      *  table is shown. The heading for the first column mentions the
1889      *  source file that has a relation to another file.
1890      */
1891     virtual QCString trFileIn(const char *name)
1892     {
1893       return (QCString)"Fichier dans "+name;
1894     }
1895
1896     /*! when clicking a directory dependency label, a page with a
1897      *  table is shown. The heading for the second column mentions the
1898      *  destination file that is included.
1899      */
1900     virtual QCString trIncludesFileIn(const char *name)
1901     {
1902       return (QCString)"Inclut le fichier dans "+name;
1903     }
1904
1905     /** Compiles a date string. 
1906      *  @param year Year in 4 digits
1907      *  @param month Month of the year: 1=January
1908      *  @param day Day of the Month: 1..31
1909      *  @param dayOfWeek Day of the week: 1=Monday..7=Sunday
1910      *  @param hour Hour of the day: 0..23
1911      *  @param minutes Minutes in the hour: 0..59
1912      *  @param seconds Seconds within the minute: 0..59
1913      *  @param includeTime Include time in the result string?
1914      */
1915     virtual QCString trDateTime(int year,int month,int day,int dayOfWeek,
1916                                 int hour,int minutes,int seconds,
1917                                 bool includeTime)
1918     {
1919       static const char *days[]   = { "Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi","Dimanche" };
1920       static const char *months[] = { "Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre" };
1921       QCString sdate;
1922       sdate.sprintf("%s %s %d %d",days[dayOfWeek-1],months[month-1],day,year);
1923       if (includeTime)
1924       {
1925         QCString stime;
1926         stime.sprintf(" %.2d:%.2d:%.2d",hour,minutes,seconds);
1927         sdate+=stime;
1928       }
1929       return sdate;
1930     }
1931
1932 //////////////////////////////////////////////////////////////////////////
1933 // new since 1.7.5
1934 //////////////////////////////////////////////////////////////////////////
1935
1936     /*! Header for the page with bibliographic citations */
1937     virtual QCString trCiteReferences()
1938     { return "Références bibliographiques"; }
1939
1940     /*! Text for copyright paragraph */
1941     virtual QCString trCopyright()
1942     { return "Copyright"; }
1943
1944     /*! Header for the graph showing the directory dependencies */
1945     virtual QCString trDirDepGraph(const char *name)
1946     { return QCString("Graphe des dépendances de répertoires pour ")+name+":"; }
1947
1948 };
1949
1950 #endif