Fix for UBSan build
[platform/upstream/doxygen.git] / src / translator_ca.h
1 /******************************************************************************
2  *
3  * 
4  *
5  * Copyright (C) 1997-2012 by Dimitri van Heesch.
6  *
7  * Permission to use, copy, modify, and distribute this software and its
8  * documentation under the terms of the GNU General Public License is hereby 
9  * granted. No representations are made about the suitability of this software 
10  * for any purpose. It is provided "as is" without express or implied warranty.
11  * See the GNU General Public License for more details.
12  *
13  * Documents produced by Doxygen are derivative works derived from the
14  * input used in their production; they are not affected by this license.
15  *
16  */
17
18 #ifndef TRANSLATOR_CA_H
19 #define TRANSLATOR_CA_H
20
21 /*! 
22  When defining a translator class for the new language, follow
23  the description in the documentation.  One of the steps says
24  that you should copy the translator_en.h (this) file to your
25  translator_xx.h new file.  Your new language should use the
26  Translator class as the base class.  This means that you need to
27  implement exactly the same (pure virtual) methods as the
28  TranslatorEnglish does.  Because of this, it is a good idea to
29  start with the copy of TranslatorEnglish and replace the strings
30  one by one.
31
32  It is not necessary to include "translator.h" or
33  "translator_adapter.h" here.  The files are included in the
34  language.cpp correctly.  Not including any of the mentioned
35  files frees the maintainer from thinking about whether the
36  first, the second, or both files should be included or not, and
37  why.  This holds namely for localized translators because their
38  base class is changed occasionaly to adapter classes when the
39  Translator class changes the interface, or back to the
40  Translator class (by the local maintainer) when the localized
41  translator is made up-to-date again.
42 */
43 class TranslatorCatalan : public TranslatorAdapter_1_8_0
44 {
45   public:
46
47     // --- Language control methods -------------------
48     
49     /*! Used for identification of the language. The identification 
50      * should not be translated. It should be replaced by the name 
51      * of the language in English using lower-case characters only
52      * (e.g. "czech", "japanese", "russian", etc.). It should be equal to 
53      * the identification used in language.cpp.
54      */
55     virtual QCString idLanguage()
56     { return "catalan"; }
57     
58     /*! Used to get the LaTeX command(s) for the language support. 
59      *  This method should return string with commands that switch
60      *  LaTeX to the desired language.  For example 
61      *  <pre>"\\usepackage[german]{babel}\n"
62      *  </pre>
63      *  or
64      *  <pre>"\\usepackage{polski}\n"
65      *  "\\usepackage[latin2]{inputenc}\n"
66      *  "\\usepackage[T1]{fontenc}\n"
67      *  </pre>
68      * 
69      * The English LaTeX does not use such commands.  Because of this
70      * the empty string is returned in this implementation.
71      */
72     virtual QCString latexLanguageSupportCommand()
73     {
74       //return "\\usepackage[catalan]{babel}\n\\usepackage[latin1]{inputenc}";
75       return "\\usepackage[catalan]{babel}\n";
76     }
77
78     /*! return the language charset. This will be used for the HTML output */
79     virtual QCString idLanguageCharset()
80     {
81       return "utf-8";
82     }
83
84     // --- Language translation methods -------------------
85
86     /*! used in the compound documentation before a list of related functions. */
87     virtual QCString trRelatedFunctions()
88     { return "Funcions Associades"; }
89
90     /*! subscript for the related functions. */
91     virtual QCString trRelatedSubscript()
92     { return "(Remarcar que aquestes funcions no són funcions membre.)"; }
93
94     /*! header that is put before the detailed description of files, classes and namespaces. */
95     virtual QCString trDetailedDescription()
96     { return "Descripció Detallada"; }
97
98     /*! header that is put before the list of typedefs. */
99     virtual QCString trMemberTypedefDocumentation()
100     { return "Documentació de les Definicions de Tipus Membre"; }
101     
102     /*! header that is put before the list of enumerations. */
103     virtual QCString trMemberEnumerationDocumentation()
104     { return "Documentació de les Enumeracions Membre"; }
105     
106     /*! header that is put before the list of member functions. */
107     virtual QCString trMemberFunctionDocumentation()
108     { return "Documentació de les Funcions Membre"; }
109     
110     /*! header that is put before the list of member attributes. */
111     virtual QCString trMemberDataDocumentation()
112     { 
113       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
114       {
115         return "Documentació dels Camps"; 
116       }
117       else
118       {
119         return "Documentació de les Dades Membre"; 
120       }
121     }
122
123     /*! this is the text of a link put after brief descriptions. */
124     virtual QCString trMore() 
125     { return "Més..."; }
126
127     /*! put in the class documentation */
128     virtual QCString trListOfAllMembers()
129     { return "Llista de tots els membres"; }
130
131     /*! used as the title of the "list of all members" page of a class */
132     virtual QCString trMemberList()
133     { return "Llista dels Membres"; }
134
135     /*! this is the first part of a sentence that is followed by a class name */
136     virtual QCString trThisIsTheListOfAllMembers()
137     { return "Aquesta és la llista complerta dels membres de "; }
138
139     /*! this is the remainder of the sentence after the class name */
140     virtual QCString trIncludingInheritedMembers()
141     { return ", incloent tots els membres heretats."; }
142     
143     /*! this is put at the author sections at the bottom of man pages.
144      *  parameter s is name of the project name.
145      */
146     virtual QCString trGeneratedAutomatically(const char *s)
147     { QCString result="Generat automàticament per Doxygen";
148       if (s) result+=(QCString)" per a "+s;
149       result+=" a partir del codi font."; 
150       return result;
151     }
152
153     /*! put after an enum name in the list of all members */
154     virtual QCString trEnumName()
155     { return "nom de la enum"; }
156     
157     /*! put after an enum value in the list of all members */
158     virtual QCString trEnumValue()
159     { return "valors de la enum"; }
160     
161     /*! put after an undocumented member in the list of all members */
162     virtual QCString trDefinedIn()
163     { return "definit a"; }
164
165     // quick reference sections
166
167     /*! This is put above each page as a link to the list of all groups of 
168      *  compounds or files (see the \\group command).
169      */
170     virtual QCString trModules()
171     { return "Mòduls"; }
172     
173     /*! This is put above each page as a link to the class hierarchy */
174     virtual QCString trClassHierarchy()
175     { return "Jerarquia de Classes"; }
176     
177     /*! This is put above each page as a link to the list of annotated classes */
178     virtual QCString trCompoundList()
179     { 
180       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
181       {
182         return "Estructures de Dades";
183       }
184       else
185       {
186         return "Llista de Classes"; 
187       }
188     }
189     
190     /*! This is put above each page as a link to the list of documented files */
191     virtual QCString trFileList()
192     { return "Llista dels Fitxers"; }
193
194     /*! This is put above each page as a link to all members of compounds. */
195     virtual QCString trCompoundMembers()
196     { 
197       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
198       {
199         return "Camps de Dades"; 
200       }
201       else
202       {
203         return "Membres de Classes"; 
204       }
205     }
206
207     /*! This is put above each page as a link to all members of files. */
208     virtual QCString trFileMembers()
209     { 
210       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
211       {
212         return "Globals"; 
213       }
214       else
215       {
216         return "Membres de Fitxers";
217       }
218     }
219
220     /*! This is put above each page as a link to all related pages. */
221     virtual QCString trRelatedPages()
222     { return "Pàgines Relacionades"; }
223
224     /*! This is put above each page as a link to all examples. */
225     virtual QCString trExamples()
226     { return "Exemples"; }
227
228     /*! This is put above each page as a link to the search engine. */
229     virtual QCString trSearch()
230     { return "Cerca"; }
231
232     /*! This is an introduction to the class hierarchy. */
233     virtual QCString trClassHierarchyDescription()
234     { return "Aquesta llista d'herència està ordenada toscament, "
235              "però no completa, de forma alfabètica:";
236     }
237
238     /*! This is an introduction to the list with all files. */
239     virtual QCString trFileListDescription(bool extractAll)
240     {
241       QCString result="Aquesta és la llista de tots els fitxers ";
242       if (!extractAll) result+="documentats ";
243       result+="acompanyats amb breus descripcions:";
244       return result;
245     }
246
247     /*! This is an introduction to the annotated compound list. */
248     virtual QCString trCompoundListDescription()
249     { 
250       
251       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
252       {
253         return "Aquestes són les estructures de dades acompanyades amb breus descripcions:"; 
254       }
255       else
256       {
257         return "Aquestes són les classes, estructures, "
258                "unions i interfícies acompanyades amb breus descripcions:"; 
259       }
260     }
261
262     /*! This is an introduction to the page with all class members. */
263     virtual QCString trCompoundMembersDescription(bool extractAll)
264     {
265       QCString result="Aquesta és la llista de tots els ";
266       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
267       {
268         result+="camps d'estructures i unions";
269       }
270       else
271       {
272         result+="membres de classe";
273       }
274       if (!extractAll)
275       {
276         result+=" documentats";
277       }
278       result+=" amb enllaços a ";
279       if (!extractAll) 
280       {
281         if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
282         {
283           result+="la documentació de l'estructura/unió per a cada camp:";
284         }
285         else
286         {
287           result+="la documentació de la classe per a cada membre:";
288         }
289       }
290       else 
291       {
292         if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
293         {
294           result+="les estructures/unions a que pertanyen:";
295         }
296         else
297         {
298           result+="les classes a que pertanyen:";
299         }
300       }
301       return result;
302     }
303     /*! This is an introduction to the page with all file members. */
304     virtual QCString trFileMembersDescription(bool extractAll)
305     {
306       QCString result="Aquesta és la llista de ";
307       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
308       {
309         result+="totes les funcions, variables, definicions, enumeracions, i definicions de tipus";
310         if (!extractAll) result+=" documentades";
311       }
312       else
313       {
314         result+="tots els membres de fitxers";
315         if (!extractAll) result+=" documentats";
316       }
317       result+=" amb enllaços ";
318       if (extractAll) 
319         result+="als fitxers als quals corresponen:";
320       else 
321         result+="a la documentació:";
322       return result;
323     }
324
325     /*! This is an introduction to the page with the list of all examples */
326     virtual QCString trExamplesDescription()
327     { return "Aquesta és la llista de tots els exemples:"; }
328
329     /*! This is an introduction to the page with the list of related pages */
330     virtual QCString trRelatedPagesDescription()
331     { return "Aquesta és la llista de totes les pàgines de documentació associades:"; }
332
333     /*! This is an introduction to the page with the list of class/file groups */
334     virtual QCString trModulesDescription()
335     { return "Aquesta és la llista de mòduls:"; }
336     
337     // index titles (the project name is prepended for these) 
338
339
340     /*! This is used in HTML as the title of index.html. */
341     virtual QCString trDocumentation()
342     { return ": Documentació"; }
343
344     /*! This is used in LaTeX as the title of the chapter with the 
345      * index of all groups.
346      */
347     virtual QCString trModuleIndex()
348     { return "Índex de Mòduls"; }
349
350     /*! This is used in LaTeX as the title of the chapter with the 
351      * class hierarchy.
352      */
353     virtual QCString trHierarchicalIndex()
354     { return "Índex Jeràrquic"; }
355
356     /*! This is used in LaTeX as the title of the chapter with the 
357      * annotated compound index.
358      */
359     virtual QCString trCompoundIndex()
360     {
361       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
362       { 
363         return "Índex d'Estructures de Dades";
364       }
365       else
366       {
367         return "Índex de Classes"; 
368       }
369     }
370
371     /*! This is used in LaTeX as the title of the chapter with the
372      * list of all files.
373      */
374     virtual QCString trFileIndex() 
375     { return "Índex de Fitxers"; }
376
377     /*! This is used in LaTeX as the title of the chapter containing
378      *  the documentation of all groups.
379      */
380     virtual QCString trModuleDocumentation()
381     { return "Documentació dels Mòduls"; }
382
383     /*! This is used in LaTeX as the title of the chapter containing
384      *  the documentation of all classes, structs and unions.
385      */
386     virtual QCString trClassDocumentation()
387     { 
388       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
389       {
390         return "Documentació de les Estructures de Dades";
391       }
392       else
393       {
394         return "Documentació de les Classes"; 
395       }
396     }
397
398     /*! This is used in LaTeX as the title of the chapter containing
399      *  the documentation of all files.
400      */
401     virtual QCString trFileDocumentation()
402     { return "Documentació dels Fitxers"; }
403
404     /*! This is used in LaTeX as the title of the chapter containing
405      *  the documentation of all examples.
406      */
407     virtual QCString trExampleDocumentation()
408     { return "Documentació dels Exemples"; }
409
410     /*! This is used in LaTeX as the title of the chapter containing
411      *  the documentation of all related pages.
412      */
413     virtual QCString trPageDocumentation()
414     { return "Documentació de les Pàgines"; }
415
416     /*! This is used in LaTeX as the title of the document */
417     virtual QCString trReferenceManual()
418     { return "Manual de Referència"; }
419     
420     /*! This is used in the documentation of a file as a header before the 
421      *  list of defines
422      */
423     virtual QCString trDefines()
424     { return "Definicions"; }
425
426     /*! This is used in the documentation of a file as a header before the 
427      *  list of function prototypes
428      */
429     virtual QCString trFuncProtos()
430     { return "Prototipus de Funcions"; }
431
432     /*! This is used in the documentation of a file as a header before the 
433      *  list of typedefs
434      */
435     virtual QCString trTypedefs()
436     { return "Definicions de Tipus"; }
437
438     /*! This is used in the documentation of a file as a header before the 
439      *  list of enumerations
440      */
441     virtual QCString trEnumerations()
442     { return "Enumeracions"; }
443
444     /*! This is used in the documentation of a file as a header before the 
445      *  list of (global) functions
446      */
447     virtual QCString trFunctions()
448     { return "Funcions"; }
449
450     /*! This is used in the documentation of a file as a header before the 
451      *  list of (global) variables
452      */
453     virtual QCString trVariables()
454     { return "Variables"; }
455
456     /*! This is used in the documentation of a file as a header before the 
457      *  list of (global) variables
458      */
459     virtual QCString trEnumerationValues()
460     { return "Valors de les Enumeracions"; }
461     
462     /*! This is used in the documentation of a file before the list of
463      *  documentation blocks for defines
464      */
465     virtual QCString trDefineDocumentation()
466     { return "Documentació de les Definicions"; }
467
468     /*! This is used in the documentation of a file/namespace before the list 
469      *  of documentation blocks for function prototypes
470      */
471     virtual QCString trFunctionPrototypeDocumentation()
472     { return "Documentació de les Funcions Prototipus"; }
473
474     /*! This is used in the documentation of a file/namespace before the list 
475      *  of documentation blocks for typedefs
476      */
477     virtual QCString trTypedefDocumentation()
478     { return "Documentació de les Definicions de Tipus"; }
479
480     /*! This is used in the documentation of a file/namespace before the list 
481      *  of documentation blocks for enumeration types
482      */
483     virtual QCString trEnumerationTypeDocumentation()
484     { return "Documentació dels Tipus de les Enumeracions"; }
485
486     /*! This is used in the documentation of a file/namespace before the list 
487      *  of documentation blocks for functions
488      */
489     virtual QCString trFunctionDocumentation()
490     { return "Documentació de les Funcions"; }
491
492     /*! This is used in the documentation of a file/namespace before the list 
493      *  of documentation blocks for variables
494      */
495     virtual QCString trVariableDocumentation()
496     { return "Documentació de les Variables"; }
497
498     /*! This is used in the documentation of a file/namespace/group before 
499      *  the list of links to documented compounds
500      */
501     virtual QCString trCompounds()
502     { 
503       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
504       {
505         return "Estructures de Dades"; 
506       }
507       else
508       {
509         return "Classes";
510       }
511     }
512
513     /*! This is used in the standard footer of each page and indicates when 
514      *  the page was generated 
515      */
516     virtual QCString trGeneratedAt(const char *date,const char *projName)
517     { 
518       QCString result=(QCString)"Generat a "+date;
519       if (projName) result+=(QCString)" per a "+projName;
520       result+=(QCString)" per";
521       return result;
522     }
523     /*! This is part of the sentence used in the standard footer of each page.
524      */
525     virtual QCString trWrittenBy()
526     {
527       return "escrit per";
528     }
529
530     /*! this text is put before a class diagram */
531     virtual QCString trClassDiagram(const char *clName)
532     {
533       return (QCString)"Diagrama d'Herència per a "+clName+":";
534     }
535     
536     /*! this text is generated when the \\internal command is used. */
537     virtual QCString trForInternalUseOnly()
538     { return "Tan sols per a ús intern."; }
539
540     /*! this text is generated when the \\warning command is used. */
541     virtual QCString trWarning()
542     { return "Atenció"; }
543
544     /*! this text is generated when the \\version command is used. */
545     virtual QCString trVersion()
546     { return "Versió"; }
547
548     /*! this text is generated when the \\date command is used. */
549     virtual QCString trDate()
550     { return "Data"; }
551
552     /*! this text is generated when the \\return command is used. */
553     virtual QCString trReturns()
554     { return "Retorna"; }
555
556     /*! this text is generated when the \\sa command is used. */
557     virtual QCString trSeeAlso()
558     { return "Mireu també"; }
559
560     /*! this text is generated when the \\param command is used. */
561     virtual QCString trParameters()
562     { return "Paràmetres"; }
563
564     /*! this text is generated when the \\exception command is used. */
565     virtual QCString trExceptions()
566     { return "Excepcions"; }
567     
568     /*! this text is used in the title page of a LaTeX document. */
569     virtual QCString trGeneratedBy()
570     { return "Generat per"; }
571
572 //////////////////////////////////////////////////////////////////////////
573 // new since 0.49-990307
574 //////////////////////////////////////////////////////////////////////////
575     
576     /*! used as the title of page containing all the index of all namespaces. */
577     virtual QCString trNamespaceList()
578     { return "Llista dels Espais de Noms"; }
579
580     /*! used as an introduction to the namespace list */
581     virtual QCString trNamespaceListDescription(bool extractAll)
582     {
583       QCString result="Aquests són tots els espais de noms ";
584       if (!extractAll) result+="documentats ";
585       result+="amb breus descripcions:";
586       return result;
587     }
588
589     /*! used in the class documentation as a header before the list of all
590      *  friends of a class
591      */
592     virtual QCString trFriends()
593     { return "Classes Amigues"; }
594     
595 //////////////////////////////////////////////////////////////////////////
596 // new since 0.49-990405
597 //////////////////////////////////////////////////////////////////////////
598     
599     /*! used in the class documentation as a header before the list of all
600      * related classes 
601      */
602     virtual QCString trRelatedFunctionDocumentation()
603     { return "Documentació de funcions amigues i relacionades"; }
604     
605 //////////////////////////////////////////////////////////////////////////
606 // new since 0.49-990425
607 //////////////////////////////////////////////////////////////////////////
608
609     /*! used as the title of the HTML page of a class/struct/union */
610     virtual QCString trCompoundReference(const char *clName,
611                                     ClassDef::CompoundType compType,
612                                     bool isTemplate)
613     {
614       QCString result="Referència de";
615       switch(compType)
616       {
617         case ClassDef::Class:      result+=" la Classe "; break;
618         case ClassDef::Struct:     result+=" l'Estructura "; break;
619         case ClassDef::Union:      result+=" la Unió "; break;
620         case ClassDef::Interface:  result+=" la Interfície "; break;
621         case ClassDef::Protocol:   result+="l Protocol "; break;
622         case ClassDef::Category:   result+=" la Categoria "; break;
623         case ClassDef::Exception:  result+=" l'Excepció "; break;
624       }
625       if (isTemplate) result+="Template ";
626       result+=(QCString)clName;
627       return result;
628     }
629
630     /*! used as the title of the HTML page of a file */
631     virtual QCString trFileReference(const char *fileName)
632     {
633       QCString result="Referència del Fitxer ";
634       result+=fileName; 
635       return result;
636     }
637
638     /*! used as the title of the HTML page of a namespace */
639     virtual QCString trNamespaceReference(const char *namespaceName)
640     {
641       QCString result="Referència de l'Espai de Noms ";
642       result+=namespaceName;
643       return result;
644     }
645     
646     virtual QCString trPublicMembers()
647     { return "Mètodes públics"; }
648     virtual QCString trPublicSlots()
649     { return "Slots públics"; }
650     virtual QCString trSignals()
651     { return "Senyals"; }
652     virtual QCString trStaticPublicMembers()
653     { return "Mètodes Públics Estàtics"; }
654     virtual QCString trProtectedMembers()
655     { return "Mètodes Protegits"; }
656     virtual QCString trProtectedSlots()
657     { return "Slots Protegits"; }
658     virtual QCString trStaticProtectedMembers()
659     { return "Mètodes Protegits Estàtics"; }
660     virtual QCString trPrivateMembers()
661     { return "Mètodes Privats"; }
662     virtual QCString trPrivateSlots()
663     { return "Slots Privats"; }
664     virtual QCString trStaticPrivateMembers()
665     { return "Mètodes Privats Estàtics"; }
666     
667     /*! this function is used to produce a comma-separated list of items.
668      *  use generateMarker(i) to indicate where item i should be put.
669      */
670     virtual QCString trWriteList(int numEntries)
671     {
672       QCString result;
673       int i;
674       // the inherits list contain `numEntries' classes
675       for (i=0;i<numEntries;i++) 
676       {
677         // use generateMarker to generate placeholders for the class links!
678         result+=generateMarker(i); // generate marker for entry i in the list 
679                                    // (order is left to right)
680         
681         if (i!=numEntries-1)  // not the last entry, so we need a separator
682         {
683           if (i<numEntries-2) // not the fore last entry 
684             result+=", ";
685           else                // the fore last entry
686             result+=" i ";
687         }
688       }
689       return result; 
690     }
691     
692     /*! used in class documentation to produce a list of base classes,
693      *  if class diagrams are disabled.
694      */
695     virtual QCString trInheritsList(int numEntries)
696     {
697       return "Hereta de "+trWriteList(numEntries)+".";
698     }
699
700     /*! used in class documentation to produce a list of super classes,
701      *  if class diagrams are disabled.
702      */
703     virtual QCString trInheritedByList(int numEntries)
704     {
705       return "Heretat per "+trWriteList(numEntries)+".";
706     }
707
708     /*! used in member documentation blocks to produce a list of 
709      *  members that are hidden by this one.
710      */
711     virtual QCString trReimplementedFromList(int numEntries)
712     {
713       return "Reimplementat de "+trWriteList(numEntries)+".";
714     }
715
716     /*! used in member documentation blocks to produce a list of
717      *  all member that overwrite the implementation of this member.
718      */
719     virtual QCString trReimplementedInList(int numEntries)
720     {
721       return "Reimplementat a "+trWriteList(numEntries)+".";
722     }
723
724     /*! This is put above each page as a link to all members of namespaces. */
725     virtual QCString trNamespaceMembers()
726     { return "Membres de l'Espai de Noms"; }
727
728     /*! This is an introduction to the page with all namespace members */
729     virtual QCString trNamespaceMemberDescription(bool extractAll)
730     { 
731       QCString result="Aquesta és la llista de tots els membres de l'espai de noms ";
732       if (!extractAll) result+="documentats ";
733       result+="amb enllaços a ";
734       if (extractAll) 
735         result+="la documentació de l'espai de noms de cada membre:";
736       else 
737         result+="l'espai de noms al qual corresponen:";
738       return result;
739     }
740     /*! This is used in LaTeX as the title of the chapter with the 
741      *  index of all namespaces.
742      */
743     virtual QCString trNamespaceIndex()
744     { return "Índex d'Espais de Noms"; }
745
746     /*! This is used in LaTeX as the title of the chapter containing
747      *  the documentation of all namespaces.
748      */
749     virtual QCString trNamespaceDocumentation()
750     { return "Documentació de l'Espai de Noms"; }
751
752 //////////////////////////////////////////////////////////////////////////
753 // new since 0.49-990522
754 //////////////////////////////////////////////////////////////////////////
755
756     /*! This is used in the documentation before the list of all
757      *  namespaces in a file.
758      */
759     virtual QCString trNamespaces()
760     { return "Espais de Noms"; }
761
762 //////////////////////////////////////////////////////////////////////////
763 // new since 0.49-990728
764 //////////////////////////////////////////////////////////////////////////
765
766     /*! This is put at the bottom of a class documentation page and is
767      *  followed by a list of files that were used to generate the page.
768      */
769     virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType,
770         bool single)
771     { // here s is one of " Class", " Struct" or " Union"
772       // single is true implies a single file
773       QCString result=(QCString)"La documentació d'aquest";
774       switch(compType)
775       {
776         case ClassDef::Class:      result+="a classe"; break;
777         case ClassDef::Struct:     result+="a estructura"; break;
778         case ClassDef::Union:      result+="a unió"; break;
779         case ClassDef::Interface:  result+="a interfície"; break;
780         case ClassDef::Protocol:   result+=" protocol"; break;
781         case ClassDef::Category:   result+="a categoria"; break;
782         case ClassDef::Exception:  result+="a excepció"; break;
783       }
784       result+=" es va generar a partir del";
785       if (!single) result+="s";
786       result+=" següent";
787       if (!single) result+="s";
788       result+=" fitxer";
789       if (!single) result+="s:"; else result+=":";
790       return result;
791     }
792
793     /*! This is in the (quick) index as a link to the alphabetical compound
794      * list.
795      */
796     virtual QCString trAlphabeticalList()
797     { return "Llista Alfabètica"; }
798
799 //////////////////////////////////////////////////////////////////////////
800 // new since 0.49-990901
801 //////////////////////////////////////////////////////////////////////////
802
803     /*! This is used as the heading text for the retval command. */
804     virtual QCString trReturnValues()
805     { return "Valors de retorn"; }
806
807     /*! This is in the (quick) index as a link to the main page (index.html)
808      */
809     virtual QCString trMainPage()
810     { return "Pàgina principal"; }
811
812     /*! This is used in references to page that are put in the LaTeX 
813      *  documentation. It should be an abbreviation of the word page.
814      */
815     virtual QCString trPageAbbreviation()
816     { return "p."; }
817
818 //////////////////////////////////////////////////////////////////////////
819 // new since 0.49-991003
820 //////////////////////////////////////////////////////////////////////////
821
822     virtual QCString trDefinedAtLineInSourceFile()
823     {
824       return "Definició a la línia @0 del fitxer @1.";
825     }
826     virtual QCString trDefinedInSourceFile()
827     {
828       return "Definició al fitxer @0.";
829     }
830
831 //////////////////////////////////////////////////////////////////////////
832 // new since 0.49-991205
833 //////////////////////////////////////////////////////////////////////////
834
835     virtual QCString trDeprecated()
836     {
837       return "Antiquat";
838     }
839
840 //////////////////////////////////////////////////////////////////////////
841 // new since 1.0.0
842 //////////////////////////////////////////////////////////////////////////
843
844     /*! this text is put before a collaboration diagram */
845     virtual QCString trCollaborationDiagram(const char *clName)
846     {
847       return (QCString)"Diagrama de col·laboració per a "+clName+":";
848     }
849     /*! this text is put before an include dependency graph */
850     virtual QCString trInclDepGraph(const char *fName)
851     {
852       return (QCString)"Inclou el graf de dependències per a "+fName+":";
853     }
854     /*! header that is put before the list of constructor/destructors. */
855     virtual QCString trConstructorDocumentation()
856     {
857       return "Documentació del Constructor i el Destructor"; 
858     }
859     /*! Used in the file documentation to point to the corresponding sources. */
860     virtual QCString trGotoSourceCode()
861     {
862       return "Veure el codi d'aquest fitxer.";
863     }
864     /*! Used in the file sources to point to the corresponding documentation. */
865     virtual QCString trGotoDocumentation()
866     {
867       return "Veure la documentació d'aquest fitxer.";
868     }
869     /*! Text for the \\pre command */
870     virtual QCString trPrecondition()
871     {
872       return "Precondició";
873     }
874     /*! Text for the \\post command */
875     virtual QCString trPostcondition()
876     {
877       return "Postcondició";
878     }
879     /*! Text for the \\invariant command */
880     virtual QCString trInvariant()
881     {
882       return "Invariant";
883     }
884     /*! Text shown before a multi-line variable/enum initialization */
885     virtual QCString trInitialValue()
886     {
887       return "Valor inicial:";
888     }
889     /*! Text used the source code in the file index */
890     virtual QCString trCode()
891     {
892       return "codi";
893     }
894     virtual QCString trGraphicalHierarchy()
895     {
896       return "Jerarquia Gràfica de la Classe";
897     }
898     virtual QCString trGotoGraphicalHierarchy()
899     {
900       return "Veure la jerarquia gràfica de la classe";
901     }
902     virtual QCString trGotoTextualHierarchy()
903     {
904       return "Veure la jerarquia textual de la classe";
905     }
906     virtual QCString trPageIndex()
907     {
908       return "Índex de Pàgines";
909     }
910
911 //////////////////////////////////////////////////////////////////////////
912 // new since 1.1.0
913 //////////////////////////////////////////////////////////////////////////
914     
915     virtual QCString trNote()
916     {
917       return "Nota";
918     }
919     virtual QCString trPublicTypes()
920     {
921       return "Tipus Públics";
922     }
923     virtual QCString trPublicAttribs()
924     {
925       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
926       {
927         return "Camps de Dades";
928       }
929       else
930       {
931         return "Atributs Públics";
932       }
933     }
934     virtual QCString trStaticPublicAttribs()
935     {
936       return "Atributs Públics Estàtics";
937     }
938     virtual QCString trProtectedTypes()
939     {
940       return "Tipus Protegits";
941     }
942     virtual QCString trProtectedAttribs()
943     {
944       return "Atributs Protegits";
945     }
946     virtual QCString trStaticProtectedAttribs()
947     {
948       return "Atributs Protegits Estàtics";
949     }
950     virtual QCString trPrivateTypes()
951     {
952       return "Tipus Privats";
953     }
954     virtual QCString trPrivateAttribs()
955     {
956       return "Atributs Privats";
957     }
958     virtual QCString trStaticPrivateAttribs()
959     {
960       return "Atributs Privats Estàtics";
961     }
962
963 //////////////////////////////////////////////////////////////////////////
964 // new since 1.1.3
965 //////////////////////////////////////////////////////////////////////////
966
967     /*! Used as a marker that is put before a \\todo item */
968     virtual QCString trTodo()
969     {
970       return "Per fer";
971     }
972     /*! Used as the header of the todo list */
973     virtual QCString trTodoList()
974     {
975       return "Llista de coses per fer";
976     }
977
978 //////////////////////////////////////////////////////////////////////////
979 // new since 1.1.4
980 //////////////////////////////////////////////////////////////////////////
981
982     virtual QCString trReferencedBy()
983     {
984       return "Referenciat a";
985     }
986     virtual QCString trRemarks()
987     {
988       return "Remarca";
989     }
990     virtual QCString trAttention()
991     {
992       return "Atenció";
993     }
994     virtual QCString trInclByDepGraph()
995     {
996       return "Aquest gràfic mostra quins fitxers inclouen, "
997              "de forma directa o indirecta, aquest fitxer:";
998     }
999     virtual QCString trSince()
1000     {
1001       return "Des de";
1002     }
1003     
1004 //////////////////////////////////////////////////////////////////////////
1005 // new since 1.1.5
1006 //////////////////////////////////////////////////////////////////////////
1007
1008     /*! title of the graph legend page */
1009     virtual QCString trLegendTitle()
1010     {
1011       return "Llegenda del Gràfic";
1012     }
1013     /*! page explaining how the dot graph's should be interpreted 
1014      *  The %A in the text below are to prevent link to classes called "A".
1015      */
1016     virtual QCString trLegendDocs()
1017     {
1018       return 
1019         "Aquesta pàgina explica com s'interpreten els gràfics generats per doxygen.<p>\n"
1020         "Considera aquest exemple:\n"
1021         "\\code\n"
1022         "/*! Classe invisible per culpa del retall */\n"
1023         "class Invisible { };\n\n"
1024         "/*! Classe truncada, l'herència està amagada */\n"
1025         "class Truncated : public Invisible { };\n\n"
1026         "/* Classe no documentada amb comentaris doxygen */\n"
1027         "class Undocumented { };\n\n"
1028         "/*! Classe heredada amb herència pública */\n"
1029         "class PublicBase : public Truncated { };\n\n"
1030         "/*! Una classe Template */\n"
1031         "template<class T> class Templ { };\n\n"
1032         "/*! Classe heredada utilitzant herència protegida */\n"
1033         "class ProtectedBase { };\n\n"
1034         "/*! Classe heredada utiltzant herència privada */\n"
1035         "class PrivateBase { };\n\n"
1036         "/*! Classe usada per la classe heretada */\n"
1037         "class Used { };\n\n"
1038         "/*! Super classe que hereda una quantitat de classes */\n"
1039         "class Inherited : public PublicBase,\n"
1040         "                  protected ProtectedBase,\n"
1041         "                  private PrivateBase,\n"
1042         "                  public Undocumented,\n"
1043         "                  public Templ<int>\n"
1044         "{\n"
1045         "  private:\n"
1046         "    Used *m_usedClass;\n"
1047         "};\n"
1048         "\\endcode\n"
1049         "Resultarà el gràfic següent:"
1050         "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
1051         "<p>\n"
1052         "Les caixes del gràfic superior tenen aquesta interpretació:\n"
1053         "<ul>\n"
1054         "<li>Una caixa negra plena represent l'estructura o classe per la qual el gràfic s'ha generat.\n"
1055         "<li>Una caixa de vora negra representa una estructura o classe documentada.\n"
1056         "<li>Una caixa de vora verda representa una estructura o classe indocumentada.\n"
1057         "<li>Una caixa de vora vermalla representa una estructura o classe documentada de la qual "
1058         "no es mostren totes les relacions d'herència/inclusió. Un gràfic és truncat si no s'ajusta als límits.\n"
1059         "</ul>\n"
1060         "Les sagetes tenen aquest significat:\n"
1061         "<ul>\n"
1062         "<li>Una sageta blau fosc remarca una relació d'herència de tipus pública entre dues classes.\n"
1063         "<li>Una sageta verd fosc remarca una relació d'herència de tipus protegida entre dues classes.\n"
1064         "<li>Una sageta roig fosc remarca una relació d'herència de tipus privada entre dues classes.\n"
1065         "<li>Una sageta puntejada de color porpra indica que una classe és continguda o usada per una altra classe."
1066         " La sageta s'etiqueta amb la variable o variables a través de les quals la classe o estructura apuntada és accessible.\n"
1067         "<li>Una sageta puntejada de color groc indica la relació entre una instància template i la classe template de què ha set instanciada."
1068         " La sageta s'etiqueta amb els paràmetres template de la instància.\n"
1069         "</ul>\n";
1070     }
1071     /*! text for the link to the legend page */
1072     virtual QCString trLegend()
1073     {
1074       return "llegenda";
1075     }
1076     
1077 //////////////////////////////////////////////////////////////////////////
1078 // new since 1.2.0
1079 //////////////////////////////////////////////////////////////////////////
1080     
1081     /*! Used as a marker that is put before a test item */
1082     virtual QCString trTest()
1083     {
1084       return "Prova";
1085     }
1086     /*! Used as the header of the test list */
1087     virtual QCString trTestList()
1088     {
1089       return "Llista de proves";
1090     }
1091
1092 //////////////////////////////////////////////////////////////////////////
1093 // new since 1.2.1
1094 //////////////////////////////////////////////////////////////////////////
1095
1096     /*! Used as a section header for KDE-2 IDL methods */
1097     virtual QCString trDCOPMethods()
1098     {
1099       return "Mètodes DCOP";
1100     }
1101
1102 //////////////////////////////////////////////////////////////////////////
1103 // new since 1.2.2
1104 //////////////////////////////////////////////////////////////////////////
1105
1106     /*! Used as a section header for IDL properties */
1107     virtual QCString trProperties()
1108     {
1109       return "Propietats";
1110     }
1111     /*! Used as a section header for IDL property documentation */
1112     virtual QCString trPropertyDocumentation()
1113     {
1114       return "Documentació de les Propietats";
1115     }
1116
1117 //////////////////////////////////////////////////////////////////////////
1118 // new since 1.2.4
1119 //////////////////////////////////////////////////////////////////////////
1120
1121     /*! Used for Java classes in the summary section of Java packages */
1122     virtual QCString trClasses()
1123     {
1124       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
1125       {
1126         return "Estructures de Dades";
1127       }
1128       else
1129       {
1130         return "Classes";
1131       }
1132     }
1133     /*! Used as the title of a Java package */
1134     virtual QCString trPackage(const char *name)
1135     {
1136       return (QCString)"Paquet "+name;
1137     }
1138     /*! Title of the package index page */
1139     virtual QCString trPackageList()
1140     {
1141       return "Llista de Paquets";
1142     }
1143     /*! The description of the package index page */
1144     virtual QCString trPackageListDescription()
1145     {
1146       return "Aquesta és la llista de paquets, amb una breu descripció (si se'n disposa):";
1147     }
1148     /*! The link name in the Quick links header for each page */
1149     virtual QCString trPackages()
1150     {
1151       return "Paquets";
1152     }
1153     /*! Text shown before a multi-line define */
1154     virtual QCString trDefineValue()
1155     {
1156       return "Valor:";
1157     }
1158     
1159 //////////////////////////////////////////////////////////////////////////
1160 // new since 1.2.5
1161 //////////////////////////////////////////////////////////////////////////
1162     
1163     /*! Used as a marker that is put before a \\bug item */
1164     virtual QCString trBug()
1165     {
1166       return "Error";
1167     }
1168     /*! Used as the header of the bug list */
1169     virtual QCString trBugList()
1170     {
1171       return "Llista d'Errors";
1172     }
1173
1174 //////////////////////////////////////////////////////////////////////////
1175 // new since 1.2.6
1176 //////////////////////////////////////////////////////////////////////////
1177
1178     /*! Used as ansicpg for RTF file 
1179      * 
1180      * The following table shows the correlation of Charset name, Charset Value and 
1181      * <pre>
1182      * Codepage number:
1183      * Charset Name       Charset Value(hex)  Codepage number
1184      * ------------------------------------------------------
1185      * DEFAULT_CHARSET           1 (x01)
1186      * SYMBOL_CHARSET            2 (x02)
1187      * OEM_CHARSET             255 (xFF)
1188      * ANSI_CHARSET              0 (x00)            1252
1189      * RUSSIAN_CHARSET         204 (xCC)            1251
1190      * EE_CHARSET              238 (xEE)            1250
1191      * GREEK_CHARSET           161 (xA1)            1253
1192      * TURKISH_CHARSET         162 (xA2)            1254
1193      * BALTIC_CHARSET          186 (xBA)            1257
1194      * HEBREW_CHARSET          177 (xB1)            1255
1195      * ARABIC _CHARSET         178 (xB2)            1256
1196      * SHIFTJIS_CHARSET        128 (x80)             932
1197      * HANGEUL_CHARSET         129 (x81)             949
1198      * GB2313_CHARSET          134 (x86)             936
1199      * CHINESEBIG5_CHARSET     136 (x88)             950
1200      * </pre>
1201      * 
1202      */
1203     virtual QCString trRTFansicp()
1204     {
1205       return "1252";
1206     }
1207     
1208
1209     /*! Used as ansicpg for RTF fcharset 
1210      *  \see trRTFansicp() for a table of possible values.
1211      */
1212     virtual QCString trRTFCharSet()
1213     {
1214       return "0";
1215     }
1216
1217     /*! Used as header RTF general index */
1218     virtual QCString trRTFGeneralIndex()
1219     {
1220       return "Índex";
1221     }
1222    
1223     /*! This is used for translation of the word that will possibly
1224      *  be followed by a single name or by a list of names 
1225      *  of the category.
1226      */
1227     virtual QCString trClass(bool first_capital, bool singular)
1228     { 
1229       QCString result((first_capital ? "Classe" : "classe"));
1230       if (!singular)  result+="s";
1231       return result; 
1232     }
1233
1234     /*! This is used for translation of the word that will possibly
1235      *  be followed by a single name or by a list of names 
1236      *  of the category.
1237      */
1238     virtual QCString trFile(bool first_capital, bool singular)
1239     { 
1240       QCString result((first_capital ? "Fitxer" : "fitxer"));
1241       if (!singular)  result+="s";
1242       return result; 
1243     }
1244
1245     /*! This is used for translation of the word that will possibly
1246      *  be followed by a single name or by a list of names 
1247      *  of the category.
1248      */
1249     virtual QCString trNamespace(bool first_capital, bool singular)
1250     { 
1251       QCString result((first_capital ? "Namespace" : "namespace"));
1252       if (!singular)  result+="s";
1253       return result; 
1254     }
1255
1256     /*! This is used for translation of the word that will possibly
1257      *  be followed by a single name or by a list of names 
1258      *  of the category.
1259      */
1260     virtual QCString trGroup(bool first_capital, bool singular)
1261     { 
1262       QCString result((first_capital ? "Grup" : "grup"));
1263       if (!singular)  result+="s";
1264       return result; 
1265     }
1266
1267     /*! This is used for translation of the word that will possibly
1268      *  be followed by a single name or by a list of names 
1269      *  of the category.
1270      */
1271     virtual QCString trPage(bool first_capital, bool singular)
1272     { 
1273       QCString result((first_capital ? "Pàgin" : "pàgin"));
1274       if (!singular)  result+="es"; else result+="a";
1275       return result; 
1276     }
1277
1278     /*! This is used for translation of the word that will possibly
1279      *  be followed by a single name or by a list of names 
1280      *  of the category.
1281      */
1282     virtual QCString trMember(bool first_capital, bool singular)
1283     { 
1284       QCString result((first_capital ? "Membre" : "membre"));
1285       if (!singular)  result+="s";
1286       return result; 
1287     }
1288    
1289     /*! This is used for translation of the word that will possibly
1290      *  be followed by a single name or by a list of names 
1291      *  of the category.
1292      */
1293     virtual QCString trGlobal(bool first_capital, bool singular)
1294     { 
1295       QCString result((first_capital ? "Global" : "global"));
1296       if (!singular)  result+="s";
1297       return result; 
1298     }
1299
1300 //////////////////////////////////////////////////////////////////////////
1301 // new since 1.2.7
1302 //////////////////////////////////////////////////////////////////////////
1303
1304     /*! This text is generated when the \\author command is used and
1305      *  for the author section in man pages. */
1306     virtual QCString trAuthor(bool first_capital, bool singular)
1307     {                                                                         
1308       QCString result((first_capital ? "Autor" : "autor"));
1309       if (!singular)  result+="s";
1310       return result; 
1311     }
1312
1313 //////////////////////////////////////////////////////////////////////////
1314 // new since 1.2.11
1315 //////////////////////////////////////////////////////////////////////////
1316
1317     /*! This text is put before the list of members referenced by a member
1318      */
1319     virtual QCString trReferences()
1320     {
1321       return "Referències";
1322     }
1323
1324 //////////////////////////////////////////////////////////////////////////
1325 // new since 1.2.13
1326 //////////////////////////////////////////////////////////////////////////
1327
1328     /*! used in member documentation blocks to produce a list of 
1329      *  members that are implemented by this one.
1330      */
1331     virtual QCString trImplementedFromList(int numEntries)
1332     {
1333       return "Implementa "+trWriteList(numEntries)+".";
1334     }
1335
1336     /*! used in member documentation blocks to produce a list of
1337      *  all members that implement this abstract member.
1338      */
1339     virtual QCString trImplementedInList(int numEntries)
1340     {
1341       return "Implementat a "+trWriteList(numEntries)+".";
1342     }
1343
1344 //////////////////////////////////////////////////////////////////////////
1345 // new since 1.2.16
1346 //////////////////////////////////////////////////////////////////////////
1347
1348     /*! used in RTF documentation as a heading for the Table
1349      *  of Contents.
1350      */
1351     virtual QCString trRTFTableOfContents()
1352     {
1353       return "Taula de Continguts";
1354     }
1355
1356 //////////////////////////////////////////////////////////////////////////
1357 // new since 1.2.17
1358 //////////////////////////////////////////////////////////////////////////
1359
1360     /*! Used as the header of the list of item that have been 
1361      *  flagged deprecated 
1362      */
1363     virtual QCString trDeprecatedList()
1364     {
1365       return "Llista d'Antiquats";
1366     }
1367
1368 //////////////////////////////////////////////////////////////////////////
1369 // new since 1.2.18
1370 //////////////////////////////////////////////////////////////////////////
1371
1372     /*! Used as a header for declaration section of the events found in 
1373      * a C# program
1374      */
1375     virtual QCString trEvents()
1376     {
1377       return "Esdeveniments";
1378     }
1379     /*! Header used for the documentation section of a class' events. */
1380     virtual QCString trEventDocumentation()
1381     {
1382       return "Documentació dels Esdeveniments";
1383     }
1384
1385 //////////////////////////////////////////////////////////////////////////
1386 // new since 1.3
1387 //////////////////////////////////////////////////////////////////////////
1388
1389     /*! Used as a heading for a list of Java class types with package scope.
1390      */
1391     virtual QCString trPackageTypes()
1392     { 
1393       return "Tipus de paquets";
1394     }
1395     /*! Used as a heading for a list of Java class functions with package 
1396      * scope. 
1397      */
1398     virtual QCString trPackageMembers()
1399     { 
1400       return "Funcions de Paquet";
1401     }
1402     /*! Used as a heading for a list of static Java class functions with 
1403      *  package scope.
1404      */
1405     virtual QCString trStaticPackageMembers()
1406     { 
1407       return "Funcions Estàtiques de Paquet";
1408     }
1409     /*! Used as a heading for a list of Java class variables with package 
1410      * scope.
1411      */
1412     virtual QCString trPackageAttribs()
1413     { 
1414       return "Atributs de Paquet";
1415     }
1416     /*! Used as a heading for a list of static Java class variables with 
1417      * package scope.
1418      */
1419     virtual QCString trStaticPackageAttribs()
1420     { 
1421       return "Atributs Estàtics de Paquet";
1422     }
1423     
1424 //////////////////////////////////////////////////////////////////////////
1425 // new since 1.3.1
1426 //////////////////////////////////////////////////////////////////////////
1427
1428     /*! Used in the quick index of a class/file/namespace member list page 
1429      *  to link to the unfiltered list of all members.
1430      */
1431     virtual QCString trAll()
1432     {
1433       return "Tot";
1434     }
1435     /*! Put in front of the call graph for a function. */
1436     virtual QCString trCallGraph()
1437     {
1438       return "Gràfic de crides d'aquesta funció:";
1439     }
1440
1441 //////////////////////////////////////////////////////////////////////////
1442 // new since 1.3.3
1443 //////////////////////////////////////////////////////////////////////////
1444
1445     /*! When the search engine is enabled this text is put in the header 
1446      *  of each page before the field where one can enter the text to search 
1447      *  for. 
1448      */
1449     virtual QCString trSearchForIndex()
1450     {
1451       return "Buscar";
1452     }
1453     /*! This string is used as the title for the page listing the search
1454      *  results.
1455      */
1456     virtual QCString trSearchResultsTitle()
1457     {
1458       return "Resultats de la Búsqueda";
1459     }
1460     /*! This string is put just before listing the search results. The
1461      *  text can be different depending on the number of documents found.
1462      *  Inside the text you can put the special marker $num to insert
1463      *  the number representing the actual number of search results.
1464      *  The @a numDocuments parameter can be either 0, 1 or 2, where the 
1465      *  value 2 represents 2 or more matches. HTML markup is allowed inside
1466      *  the returned string.
1467      */
1468     virtual QCString trSearchResults(int numDocuments)
1469     {
1470       if (numDocuments==0)
1471       {
1472         return "No s'ha trobat cap document.";
1473       }
1474       else if (numDocuments==1)
1475       {
1476         return "Trobat <b>1</b> document.";
1477       }
1478       else 
1479       {
1480         return "Trobats <b>$num</b> documents. "
1481                "Mostrant els millors resultats primer.";
1482       }
1483     }
1484     /*! This string is put before the list of matched words, for each search 
1485      *  result. What follows is the list of words that matched the query.
1486      */
1487     virtual QCString trSearchMatches()
1488     {
1489       return "Resultats:";
1490     }
1491
1492 //////////////////////////////////////////////////////////////////////////
1493 // new since 1.3.8
1494 //////////////////////////////////////////////////////////////////////////
1495
1496     /*! This is used in HTML as the title of page with source code for file filename
1497      */
1498     virtual QCString trSourceFile(QCString& filename)
1499     {
1500       return "Fitxer de Codi " + filename;
1501     }
1502
1503 //////////////////////////////////////////////////////////////////////////
1504 // new since 1.3.9
1505 //////////////////////////////////////////////////////////////////////////
1506
1507     /*! This is used as the name of the chapter containing the directory
1508      *  hierarchy.
1509      */
1510     virtual QCString trDirIndex()
1511     { return "Jerarquia de Directoris"; }
1512
1513     /*! This is used as the name of the chapter containing the documentation
1514      *  of the directories.
1515      */
1516     virtual QCString trDirDocumentation()
1517     { return "Documentació dels Directoris"; }
1518
1519     /*! This is used as the title of the directory index and also in the
1520      *  Quick links of a HTML page, to link to the directory hierarchy.
1521      */
1522     virtual QCString trDirectories()
1523     { return "Directoris"; }
1524
1525     /*! This returns a sentences that introduces the directory hierarchy. 
1526      *  and the fact that it is sorted alphabetically per level
1527      */
1528     virtual QCString trDirDescription()
1529     { return "Aquesta jerarquia de directoris està ordenada toscament, "
1530              "però no completa, de forma alfabètica:";
1531     }
1532
1533     /*! This returns the title of a directory page. The name of the
1534      *  directory is passed via \a dirName.
1535      */
1536     virtual QCString trDirReference(const char *dirName)
1537     { QCString result="Referència del Directori "; result+=dirName; return result; }
1538
1539     /*! This returns the word directory with or without starting capital
1540      *  (\a first_capital) and in sigular or plural form (\a singular).
1541      */
1542     virtual QCString trDir(bool first_capital, bool singular)
1543     { 
1544       QCString result((first_capital ? "Directori" : "directori"));
1545       if (!singular) result+="s";
1546       return result; 
1547     }
1548
1549 //////////////////////////////////////////////////////////////////////////
1550 // new since 1.4.1
1551 //////////////////////////////////////////////////////////////////////////
1552
1553     /*! This text is added to the documentation when the \\overload command
1554      *  is used for a overloaded function.
1555      */
1556     virtual QCString trOverloadText()
1557     {
1558        return "Aquesta és una funció membre sobrecarregada, "
1559               "proveïda per conveniència. Es diferencia de la funció "
1560               "anterior només en els arguments que accepta.";
1561     }
1562
1563 //////////////////////////////////////////////////////////////////////////
1564 // new since 1.4.6
1565 //////////////////////////////////////////////////////////////////////////
1566
1567     /*! This is used to introduce a caller (or called-by) graph */
1568     virtual QCString trCallerGraph()
1569     {
1570       return "Gràfic de crides a aquesta funció:";
1571     }
1572
1573     /*! This is used in the documentation of a file/namespace before the list 
1574      *  of documentation blocks for enumeration values
1575      */
1576     virtual QCString trEnumerationValueDocumentation()
1577     { return "Documentació de les Enumeracions"; }
1578
1579 //////////////////////////////////////////////////////////////////////////
1580 // new since 1.5.4 (mainly for Fortran)
1581 //////////////////////////////////////////////////////////////////////////
1582     
1583     /*! header that is put before the list of member subprograms (Fortran). */
1584     virtual QCString trMemberFunctionDocumentationFortran()
1585     { return "Documentació de les Funcions/Subrutines Membre"; }
1586
1587     /*! This is put above each page as a link to the list of annotated data types (Fortran). */    
1588     virtual QCString trCompoundListFortran()
1589     { return "Llista de Tipus de Dades"; }
1590
1591     /*! This is put above each page as a link to all members of compounds (Fortran). */
1592     virtual QCString trCompoundMembersFortran()
1593     { return "Camps de Dades"; }
1594
1595     /*! This is an introduction to the annotated compound list (Fortran). */
1596     virtual QCString trCompoundListDescriptionFortran()
1597     { return "Aquests són els tipus de dades acompanyats amb breus descripcions:"; }
1598
1599     /*! This is an introduction to the page with all data types (Fortran). */
1600     virtual QCString trCompoundMembersDescriptionFortran(bool extractAll)
1601     {
1602       QCString result="Aquesta és la llista de tots els membres de tipus de dades";
1603       if (!extractAll)
1604       {
1605         result+=" documentats";
1606       }
1607       result+=" amb enllaços a ";
1608       if (!extractAll) 
1609       {
1610         result+="la documentació del tipus de dades per a cada membre:";
1611       }
1612       else 
1613       {
1614         result+="els tipus de dades a que pertanyen:";
1615       }
1616       return result;
1617     }
1618
1619     /*! This is used in LaTeX as the title of the chapter with the 
1620      * annotated compound index (Fortran).
1621      */
1622     virtual QCString trCompoundIndexFortran()
1623     { return "Índex de Tipus de Dades"; }
1624
1625     /*! This is used in LaTeX as the title of the chapter containing
1626      *  the documentation of all data types (Fortran).
1627      */
1628     virtual QCString trTypeDocumentation()
1629     { return "Documentació dels Tipus de Dades"; }
1630
1631     /*! This is used in the documentation of a file as a header before the 
1632      *  list of (global) subprograms (Fortran).
1633      */
1634     virtual QCString trSubprograms()
1635     { return "Funcions/Subrutines"; }
1636
1637     /*! This is used in the documentation of a file/namespace before the list 
1638      *  of documentation blocks for subprograms (Fortran)
1639      */
1640     virtual QCString trSubprogramDocumentation()
1641     { return "Documentació de les Funcions/Subrutines"; }
1642
1643     /*! This is used in the documentation of a file/namespace/group before 
1644      *  the list of links to documented compounds (Fortran)
1645      */
1646      virtual QCString trDataTypes()
1647     { return "Tipus de Dades"; }
1648     
1649     /*! used as the title of page containing all the index of all modules (Fortran). */
1650     virtual QCString trModulesList()
1651     { return "Llista de Mòduls"; }
1652
1653     /*! used as an introduction to the modules list (Fortran) */
1654     virtual QCString trModulesListDescription(bool extractAll)
1655     {
1656       QCString result="Aquesta és la llista de tots els mòduls ";
1657       if (!extractAll) result+="documentats ";
1658       result+="amb breus descripcions:";
1659       return result;
1660     }
1661
1662     /*! used as the title of the HTML page of a module/type (Fortran) */
1663     virtual QCString trCompoundReferenceFortran(const char *clName,
1664                                     ClassDef::CompoundType compType,
1665                                     bool isTemplate)
1666     {
1667       QCString result="Referència de";
1668       switch(compType)
1669       {
1670         case ClassDef::Class:      result+=" el Mòdul "; break;
1671         case ClassDef::Struct:     result+=" el Tipus "; break;
1672         case ClassDef::Union:      result+=" la Unió "; break;
1673         case ClassDef::Interface:  result+=" la Interfície "; break;
1674         case ClassDef::Protocol:   result+="l Protocol "; break;
1675         case ClassDef::Category:   result+=" la Categoria "; break;
1676         case ClassDef::Exception:  result+=" l'Excepció "; break;
1677       }
1678       if (isTemplate) result+="Template ";
1679       result+=(QCString)clName;
1680       return result;
1681     }
1682
1683     /*! used as the title of the HTML page of a module (Fortran) */
1684     virtual QCString trModuleReference(const char *namespaceName)
1685     {
1686       QCString result="Referència del Mòdul ";
1687       result+=namespaceName;
1688       return result;
1689     }
1690     
1691     /*! This is put above each page as a link to all members of modules. (Fortran) */
1692     virtual QCString trModulesMembers()
1693     { return "Membres del Mòdul"; }
1694
1695     /*! This is an introduction to the page with all modules members (Fortran) */
1696     virtual QCString trModulesMemberDescription(bool extractAll)
1697     {
1698       QCString result="Aquesta és la llista de tots els membres del mòdul";
1699       if (!extractAll)
1700       {
1701         result+=" documentats";
1702       }
1703       result+=" amb enllaços a ";
1704       if (!extractAll) 
1705       {
1706         result+="la documentació del mòdul per a cada membre:";
1707       }
1708       else 
1709       {
1710         result+="els mòduls a que pertanyen:";
1711       }
1712       return result;
1713     }
1714
1715     /*! This is used in LaTeX as the title of the chapter with the 
1716      *  index of all modules (Fortran).
1717      */
1718     virtual QCString trModulesIndex()
1719     { return "Índex de Mòduls"; }
1720     
1721     /*! This is used for translation of the word that will possibly
1722      *  be followed by a single name or by a list of names 
1723      *  of the category.
1724      */
1725     virtual QCString trModule(bool first_capital, bool singular)
1726     {       
1727       QCString result((first_capital ? "Mòdul" : "mòdul"));
1728       if (!singular)  result+="s";
1729       return result; 
1730     }
1731     /*! This is put at the bottom of a module documentation page and is
1732      *  followed by a list of files that were used to generate the page.
1733      */
1734     virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType,
1735         bool single)
1736     { // here s is one of " Module", " Struct" or " Union"
1737       // single is true implies a single file
1738       QCString result=(QCString)"La documentació d'aquest";
1739       switch(compType)
1740       {
1741         case ClassDef::Class:      result+=" mòdul"; break;
1742         case ClassDef::Struct:     result+=" tipus"; break;
1743         case ClassDef::Union:      result+="a unió"; break;
1744         case ClassDef::Interface:  result+="a interfície"; break;
1745         case ClassDef::Protocol:   result+=" protocol"; break;
1746         case ClassDef::Category:   result+="a categoria"; break;
1747         case ClassDef::Exception:  result+="a excepció"; break;
1748       }
1749       result+=" es va generar a partir del";
1750       if (!single) result+="s";
1751       result+=" següent";
1752       if (!single) result+="s";
1753       result+=" fitxer";
1754       if (!single) result+="s:"; else result+=":";
1755       return result;
1756     }
1757
1758     /*! This is used for translation of the word that will possibly
1759      *  be followed by a single name or by a list of names 
1760      *  of the category.
1761      */
1762     virtual QCString trType(bool first_capital, bool)
1763     { 
1764       QCString result((first_capital ? "Tipus" : "tipus"));
1765       //if (!singular)  result+="s";
1766       return result; 
1767     }
1768     /*! This is used for translation of the word that will possibly
1769      *  be followed by a single name or by a list of names 
1770      *  of the category.
1771      */
1772     virtual QCString trSubprogram(bool first_capital, bool singular)
1773     { 
1774       QCString result((first_capital ? "Subprogram" : "subprogram"));
1775       if (!singular)  result+="es";
1776       else            result+="a";
1777       return result; 
1778     }
1779
1780     /*! C# Type Constraint list */
1781     virtual QCString trTypeConstraints()
1782     {
1783       return "Restriccions de Tipus";
1784     }
1785
1786 //////////////////////////////////////////////////////////////////////////
1787 // new since 1.6.0 (mainly for the new search engine)
1788 //////////////////////////////////////////////////////////////////////////
1789
1790     /*! directory relation for \a name */
1791     virtual QCString trDirRelation(const char *name)
1792     {
1793       return QCString(name)+" Relació";
1794     }
1795
1796     /*! Loading message shown when loading search results */
1797     virtual QCString trLoading()
1798     {
1799       return "Carregant...";
1800     }
1801
1802     /*! Label used for search results in the global namespace */
1803     virtual QCString trGlobalNamespace()
1804     {
1805       return "Espai de Noms Global";
1806     }
1807
1808     /*! Message shown while searching */
1809     virtual QCString trSearching()
1810     {
1811       return "Cercant...";
1812     }
1813
1814     /*! Text shown when no search results are found */
1815     virtual QCString trNoMatches()
1816     {
1817       return "Cap coincidència";
1818     }
1819
1820 //////////////////////////////////////////////////////////////////////////
1821 // new since 1.6.3 (missing items for the directory pages)
1822 //////////////////////////////////////////////////////////////////////////
1823
1824     /*! introduction text for the directory dependency graph */
1825     virtual QCString trDirDependency(const char *name)
1826     {
1827       return (QCString)"Graf de dependència de directoris per a "+name;
1828     }
1829
1830     /*! when clicking a directory dependency label, a page with a
1831      *  table is shown. The heading for the first column mentions the
1832      *  source file that has a relation to another file.
1833      */
1834     virtual QCString trFileIn(const char *name)
1835     {
1836       return (QCString)"Fitxer a "+name;
1837     }
1838
1839     /*! when clicking a directory dependency label, a page with a
1840      *  table is shown. The heading for the second column mentions the
1841      *  destination file that is included.
1842      */
1843     virtual QCString trIncludesFileIn(const char *name)
1844     {
1845       return (QCString)"Inclou fitxer a "+name;
1846     }
1847
1848     /** Compiles a date string. 
1849      *  @param year Year in 4 digits
1850      *  @param month Month of the year: 1=January
1851      *  @param day Day of the Month: 1..31
1852      *  @param dayOfWeek Day of the week: 1=Monday..7=Sunday
1853      *  @param hour Hour of the day: 0..23
1854      *  @param minutes Minutes in the hour: 0..59
1855      *  @param seconds Seconds within the minute: 0..59
1856      *  @param includeTime Include time in the result string?
1857      */
1858     virtual QCString trDateTime(int year,int month,int day,int dayOfWeek,
1859                                 int hour,int minutes,int seconds,
1860                                 bool includeTime)
1861     {
1862       static const char *days[]   = { "Dl","Dt","Dc","Dj","Dv","Ds","Dg" };
1863       static const char *months[] = { "Gen","Feb","Mar","Abr","Mai","Jun","Jul","Ago","Sep","Oct","Nov","Dec" };
1864       QCString sdate;
1865       sdate.sprintf("%s %s %d %d",days[dayOfWeek-1],months[month-1],day,year);
1866       if (includeTime)
1867       {
1868         QCString stime;
1869         stime.sprintf(" %.2d:%.2d:%.2d",hour,minutes,seconds);
1870         sdate+=stime;
1871       }
1872       return sdate;
1873     }
1874
1875 //////////////////////////////////////////////////////////////////////////
1876 // new since 1.7.5
1877 //////////////////////////////////////////////////////////////////////////
1878
1879     /*! Header for the page with bibliographic citations */
1880     virtual QCString trCiteReferences()
1881     { return "Referències Bibliogràfiques"; }
1882
1883     /*! Text for copyright paragraph */
1884     virtual QCString trCopyright()
1885     { return "Copyright"; }
1886
1887     /*! Header for the graph showing the directory dependencies */
1888     virtual QCString trDirDepGraph(const char *name)
1889     { return QCString("Graf de dependència de directoris per a ")+name+":"; }
1890
1891 };
1892
1893 #endif