Fix for UBSan build
[platform/upstream/doxygen.git] / src / translator_es.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_ES_H
19 #define TRANSLATOR_ES_H
20
21 /*! 
22  * translator_es.h modified by Lucas Cruz (7-julio-2000)
23  * Some notes:
24  * - It's posible that some sentences haven't got meaning because  
25  * some words haven't got translate in spanish.
26  * Updated from 1.3.8 to 1.4.6 by Guillermo Ballester Valor (May-05-2006)
27  * Updated to 1.5.1 by Bartomeu Creus Navarro (22-enero-2007)
28  * Updated to 1.5.5 by Bartomeu Creus Navarro (5-febrero-2008)
29  * Updated to 1.5.8 by Bartomeu Creus Navarro (10-abril-2009)
30  * Updated to 1.6.3 by Bartomeu Creus Navarro (3-marzo-2010)
31  * Updated to 1.6.4 by Bartomeu Creus Navarro (26-mayo-2010) [(16-jun-2010) grabado en UTF-8]
32  * Updated to 1.8.0 by Bartomeu Creus Navarro (11-abril-2012)
33  * Updated to 1.8.2 by Bartomeu Creus Navarro (01-julio-2012)
34  */
35
36 class TranslatorSpanish : public Translator
37 {
38   public:
39
40     // --- Language control methods -------------------
41     
42     /*! Used for identification of the language. The identification 
43      * should not be translated. It should be replaced by the name 
44      * of the language in English using lower-case characters only
45      * (e.g. "czech", "japanese", "russian", etc.). It should be equal to 
46      * the identification used in language.cpp.
47      */
48     virtual QCString idLanguage()
49     { return "spanish"; }
50     
51     /*! Used to get the LaTeX command(s) for the language support. 
52      *  This method should return string with commands that switch
53      *  LaTeX to the desired language.  For example 
54      *  <pre>"\\usepackage[german]{babel}\n"
55      *  </pre>
56      *  or
57      *  <pre>"\\usepackage{polski}\n"
58      *  "\\usepackage[latin2]{inputenc}\n"
59      *  "\\usepackage[T1]{fontenc}\n"
60      *  </pre>
61      * 
62      * The English LaTeX does not use such commands.  Because of this
63      * the empty string is returned in this implementation.
64      */
65     virtual QCString latexLanguageSupportCommand()
66     {
67       return "\\usepackage[spanish]{babel}";
68     }
69
70     /*! return the language charset. This will be used for the HTML output */
71     virtual QCString idLanguageCharset()
72     {
73       return "utf-8";
74     }
75
76     // --- Language translation methods -------------------
77
78     /*! used in the compound documentation before a list of related functions. */
79     virtual QCString trRelatedFunctions()
80     { return "Funciones relacionadas"; }
81
82     /*! subscript for the related functions. */
83     virtual QCString trRelatedSubscript()
84     { return "(Observar que estas no son funciones miembro.)"; }
85
86     /*! header that is put before the detailed description of files, classes and namespaces. */
87     virtual QCString trDetailedDescription()
88     { return "Descripción detallada"; }
89
90     /*! header that is put before the list of typedefs. */
91     virtual QCString trMemberTypedefDocumentation()
92     { return "Documentación de los 'Typedef' miembros de la clase"; }
93     
94     /*! header that is put before the list of enumerations. */
95     virtual QCString trMemberEnumerationDocumentation()
96     { return "Documentación de las enumeraciones miembro de la clase"; }
97     
98     /*! header that is put before the list of member functions. */
99     virtual QCString trMemberFunctionDocumentation()
100     { return "Documentación de las funciones miembro"; }
101     
102     /*! header that is put before the list of member attributes. */
103     virtual QCString trMemberDataDocumentation()
104     { 
105       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
106       {
107         return "Documentación de los campos"; 
108       }
109       else
110       {
111         return "Documentación de los datos miembro"; 
112       }
113     }
114
115     /*! this is the text of a link put after brief descriptions. */
116     virtual QCString trMore() 
117     { return "Más..."; }
118
119     /*! put in the class documentation */
120     virtual QCString trListOfAllMembers()
121     { return "Lista de todos los miembros"; }
122
123     /*! used as the title of the "list of all members" page of a class */
124     virtual QCString trMemberList()
125     { return "Lista de los miembros"; }
126
127     /*! this is the first part of a sentence that is followed by a class name */
128     virtual QCString trThisIsTheListOfAllMembers()
129     { return "Lista completa de los miembros de "; }
130
131     /*! this is the remainder of the sentence after the class name */
132     virtual QCString trIncludingInheritedMembers()
133     { return ", incluyendo todos los heredados:"; }
134     
135     /*! this is put at the author sections at the bottom of man pages.
136      *  parameter s is name of the project name.
137      */
138     virtual QCString trGeneratedAutomatically(const char *s)
139     { QCString result="Generado automáticamente por Doxygen";
140       if (s) result+=(QCString)" para "+s;
141       result+=" del código fuente."; 
142       return result;
143     }
144
145     /*! put after an enum name in the list of all members */
146     virtual QCString trEnumName()
147     { return "nombre de la enumeración"; }
148     
149     /*! put after an enum value in the list of all members */
150     virtual QCString trEnumValue()
151     { return "valor enumerado"; }
152     
153     /*! put after an undocumented member in the list of all members */
154     virtual QCString trDefinedIn()
155     { return "definido en"; }
156
157     // quick reference sections
158
159     /*! This is put above each page as a link to the list of all groups of 
160      *  compounds or files (see the \\group command).
161      */
162     virtual QCString trModules()
163     { return "Módulos"; }
164     
165     /*! This is put above each page as a link to the class hierarchy */
166     virtual QCString trClassHierarchy()
167     { return "Jerarquía de la clase"; }
168     
169     /*! This is put above each page as a link to the list of annotated classes */
170     virtual QCString trCompoundList()
171     { 
172       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
173       {
174         return "Estructura de datos";
175       }
176       else
177       {
178         return "Lista de clases"; 
179       }
180     }
181     
182     /*! This is put above each page as a link to the list of documented files */
183     virtual QCString trFileList()
184     { return "Lista de archivos"; }
185
186     /*! This is put above each page as a link to all members of compounds. */
187     virtual QCString trCompoundMembers()
188     { 
189     if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
190       {
191         return "Campos de datos"; 
192       }
193       else
194       {
195         return "Miembros de las clases"; 
196       }
197     }
198
199     /*! This is put above each page as a link to all members of files. */
200     virtual QCString trFileMembers()
201     { 
202       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
203       {
204         return "Globales"; 
205       }
206       else
207       {
208         return "Miembros de los ficheros";
209       }
210     }
211
212     /*! This is put above each page as a link to all related pages. */
213     virtual QCString trRelatedPages()
214     { return "Páginas relacionadas"; }
215
216     /*! This is put above each page as a link to all examples. */
217     virtual QCString trExamples()
218     { return "Ejemplos"; }
219
220     /*! This is put above each page as a link to the search engine. */
221     virtual QCString trSearch()
222     { return "Buscar"; }
223
224     /*! This is an introduction to the class hierarchy. */
225     virtual QCString trClassHierarchyDescription()
226     { return "Esta lista de herencias esta ordenada "
227               "aproximadamente por orden alfabético:";
228     }
229
230     /*! This is an introduction to the list with all files. */
231     virtual QCString trFileListDescription(bool extractAll)
232     {
233       QCString result="Lista de todos los archivos ";
234       if (!extractAll) result+="documentados y ";
235       result+="con descripciones breves:";
236       return result;
237     }
238
239     /*! This is an introduction to the annotated compound list. */
240     virtual QCString trCompoundListDescription()
241     {
242       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
243       {
244         return "Lista de estructuras con una breve descripción:"; 
245       }
246       else
247       {
248        return "Lista de las clases, estructuras, "
249              "uniones e interfaces con una breve descripción:"; 
250       }
251     }
252
253     /*! This is an introduction to the page with all class members. */
254     virtual QCString trCompoundMembersDescription(bool extractAll)
255     {
256       QCString result="Lista de todos los ";
257       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
258       {
259         result+="campos de estructuras y uniones";
260       }
261       else
262       {
263         result+="campos de clases";
264       }
265       if (!extractAll)
266       {
267         result+=" documentados";
268       }
269       result+=" con enlaces a ";
270       if (!extractAll) 
271       {
272         if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
273         {
274           result+="la documentación de la estructura/unión para cada campo:";
275         }
276         else
277         {
278           result+="la documentación de la clase para cada miembro:";
279         }
280       }
281       else 
282       {
283         if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
284         {
285           result+="las estructuras/uniones a que pertenecen:";
286         }
287         else
288         {
289           result+="las classes a que pertenecen:";
290         }
291       }
292       return result;
293     }
294
295     /*! This is an introduction to the page with all file members. */
296     virtual QCString trFileMembersDescription(bool extractAll)
297     {
298       QCString result="Lista de ";
299       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
300       {
301         result+="todas las funciones, variables, 'defines', enumeraciones y 'typedefs'";
302       }
303       else
304       {
305         result+="todos los mienbros de los ficheros";
306       }
307       if (!extractAll) result+=" documentados";
308       result+=" con enlaces ";
309       if (extractAll) 
310         result+="a los ficheros a los que corresponden:";
311       else 
312         result+="a la documentación:";
313       return result;
314     }
315
316     /*! This is an introduction to the page with the list of all examples */
317     virtual QCString trExamplesDescription()
318     { return "Lista de todos los ejemplos:"; }
319
320     /*! This is an introduction to the page with the list of related pages */
321     virtual QCString trRelatedPagesDescription()
322     { return "Lista de toda la documentación relacionada:"; }
323
324     /*! This is an introduction to the page with the list of class/file groups */
325     virtual QCString trModulesDescription()
326     { return "Lista de todos los módulos:"; }
327
328     // index titles (the project name is prepended for these) 
329
330     /*! This is used in HTML as the title of index.html. */
331     virtual QCString trDocumentation()
332     { return "Documentación"; }
333
334     /*! This is used in LaTeX as the title of the chapter with the 
335      * index of all groups.
336      */
337     virtual QCString trModuleIndex()
338     { return "Indice de módulos"; }
339
340     /*! This is used in LaTeX as the title of the chapter with the 
341      * class hierarchy.
342      */
343     virtual QCString trHierarchicalIndex()
344     { return "Indice jerárquico"; }
345
346     /*! This is used in LaTeX as the title of the chapter with the 
347      * annotated compound index.
348      */
349     virtual QCString trCompoundIndex()
350     {
351       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
352       { 
353         return "Índice de estructura de datos";
354       }
355       else
356       {
357         return "Índice de clases"; 
358       }
359     }
360
361     /*! This is used in LaTeX as the title of the chapter with the
362      * list of all files.
363      */
364     virtual QCString trFileIndex() 
365     { return "Indice de archivos"; }
366
367     /*! This is used in LaTeX as the title of the chapter containing
368      *  the documentation of all groups.
369      */
370     virtual QCString trModuleDocumentation()
371     { return "Documentación de módulos"; }
372
373     /*! This is used in LaTeX as the title of the chapter containing
374      *  the documentation of all classes, structs and unions.
375      */
376     virtual QCString trClassDocumentation()
377     {
378       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
379       {
380         return "Documentación de las estructuras de datos";
381       }
382       else
383       {
384         return "Documentación de las clases"; 
385       }
386     }
387
388     /*! This is used in LaTeX as the title of the chapter containing
389      *  the documentation of all files.
390      */
391     virtual QCString trFileDocumentation()
392     { return "Documentación de archivos"; }
393
394     /*! This is used in LaTeX as the title of the chapter containing
395      *  the documentation of all examples.
396      */
397     virtual QCString trExampleDocumentation()
398     { return "Documentación de ejemplos"; }
399
400     /*! This is used in LaTeX as the title of the chapter containing
401      *  the documentation of all related pages.
402      */
403     virtual QCString trPageDocumentation()
404     { return "Documentación de páginas"; }
405
406     /*! This is used in LaTeX as the title of the document */
407     virtual QCString trReferenceManual()
408     { return "Manual de referencia"; }
409     
410     /*! This is used in the documentation of a file as a header before the 
411      *  list of defines
412      */
413     virtual QCString trDefines()
414     { return "'defines'"; }
415
416     /*! This is used in the documentation of a file as a header before the 
417      *  list of function prototypes
418      */
419     virtual QCString trFuncProtos()
420     { return "Funciones prototipo"; }
421
422     /*! This is used in the documentation of a file as a header before the 
423      *  list of typedefs
424      */
425     virtual QCString trTypedefs()
426     { return "'typedefs'"; }
427
428     /*! This is used in the documentation of a file as a header before the 
429      *  list of enumerations
430      */
431     virtual QCString trEnumerations()
432     { return "Enumeraciones"; }
433
434     /*! This is used in the documentation of a file as a header before the 
435      *  list of (global) functions
436      */
437     virtual QCString trFunctions()
438     { return "Funciones"; }
439
440     /*! This is used in the documentation of a file as a header before the 
441      *  list of (global) variables
442      */
443     virtual QCString trVariables()
444     { return "Variables"; }
445
446     /*! This is used in the documentation of a file as a header before the 
447      *  list of (global) variables
448      */
449     virtual QCString trEnumerationValues()
450     { return "Valores de enumeraciones"; }
451     
452     /*! This is used in the documentation of a file before the list of
453      *  documentation blocks for defines
454      */
455     virtual QCString trDefineDocumentation()
456     { return "Documentación de los 'defines'"; }
457
458     /*! This is used in the documentation of a file/namespace before the list 
459      *  of documentation blocks for function prototypes
460      */
461     virtual QCString trFunctionPrototypeDocumentation()
462     { return "Documentación de las funciones prototipo"; }
463
464     /*! This is used in the documentation of a file/namespace before the list 
465      *  of documentation blocks for typedefs
466      */
467     virtual QCString trTypedefDocumentation()
468     { return "Documentación de los 'typedefs'"; }
469
470     /*! This is used in the documentation of a file/namespace before the list 
471      *  of documentation blocks for enumeration types
472      */
473     virtual QCString trEnumerationTypeDocumentation()
474     { return "Documentación de las enumeraciones"; }
475
476     /*! This is used in the documentation of a file/namespace before the list 
477      *  of documentation blocks for functions
478      */
479     virtual QCString trFunctionDocumentation()
480     { return "Documentación de las funciones"; }
481
482     /*! This is used in the documentation of a file/namespace before the list 
483      *  of documentation blocks for variables
484      */
485     virtual QCString trVariableDocumentation()
486     { return "Documentación de las variables"; }
487
488     /*! This is used in the documentation of a file/namespace/group before 
489      *  the list of links to documented compounds
490      */
491     virtual QCString trCompounds()
492     { 
493       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
494       {
495         return "Estructuras de datos"; 
496       }
497       else
498       {
499         return "Clases";
500       }
501     }
502
503     /*! This is used in the standard footer of each page and indicates when 
504      *  the page was generated 
505      */
506     virtual QCString trGeneratedAt(const char *date,const char *projName)
507     { 
508       QCString result=(QCString)"Generado el "+date;
509       if (projName) result+=(QCString)" para "+projName;
510       result+=(QCString)" por";
511       return result;
512     }
513
514     /*! This is part of the sentence used in the standard footer of each page.
515      */
516     virtual QCString trWrittenBy()
517     {
518       return "escrito por";
519     }
520
521     /*! this text is put before a class diagram */
522     virtual QCString trClassDiagram(const char *clName)
523     {
524       return (QCString)"Diagrama de herencias de "+clName;
525     }
526     
527     /*! this text is generated when the \\internal command is used. */
528     virtual QCString trForInternalUseOnly()
529     { return "Sólo para uso interno."; }
530
531     /*! this text is generated when the \\warning command is used. */
532     virtual QCString trWarning()
533     { return "Atención"; }
534
535     /*! this text is generated when the \\version command is used. */
536     virtual QCString trVersion()
537     { return "Versión"; }
538
539     /*! this text is generated when the \\date command is used. */
540     virtual QCString trDate()
541     { return "Fecha"; }
542
543     /*! this text is generated when the \\return command is used. */
544     virtual QCString trReturns()
545     { return "Devuelve"; }
546
547     /*! this text is generated when the \\sa command is used. */
548     virtual QCString trSeeAlso()
549     { return "Ver también"; }
550
551     /*! this text is generated when the \\param command is used. */
552     virtual QCString trParameters()
553     { return "Parámetros"; }
554
555     /*! this text is generated when the \\exception command is used. */
556     virtual QCString trExceptions()
557     { return "Excepciones"; }
558
559     /*! this text is used in the title page of a LaTeX document. */
560     virtual QCString trGeneratedBy()
561     { return "Generado por"; }
562
563 //////////////////////////////////////////////////////////////////////////
564 // new since 0.49-990307
565 //////////////////////////////////////////////////////////////////////////
566
567     /*! used as the title of page containing all the index of all namespaces. */
568     virtual QCString trNamespaceList()
569     { return "Lista de 'namespaces'"; }
570
571     /*! used as an introduction to the namespace list */
572     virtual QCString trNamespaceListDescription(bool extractAll)
573     {
574       QCString result="Lista de ";
575       if (!extractAll) result+="toda la documentación de ";
576       result+="los 'namespaces', con una breve descripción:";
577       return result;
578     }
579
580     /*! used in the class documentation as a header before the list of all
581      *  friends of a class
582      */
583     virtual QCString trFriends()
584     { return "Amigas"; }
585
586 //////////////////////////////////////////////////////////////////////////
587 // new since 0.49-990405
588 //////////////////////////////////////////////////////////////////////////
589
590     /*! used in the class documentation as a header before the list of all
591      * related classes 
592      */
593     virtual QCString trRelatedFunctionDocumentation()
594     { return "Documentación de las funciones relacionadas y clases amigas"; }
595
596 //////////////////////////////////////////////////////////////////////////
597 // new since 0.49-990425
598 //////////////////////////////////////////////////////////////////////////
599
600     /*! used as the title of the HTML page of a class/struct/union */
601     virtual QCString trCompoundReference(const char *clName,
602                                          ClassDef::CompoundType compType,
603                                          bool isTemplate)
604     {
605       QCString result="Referencia de";
606       if (isTemplate) result+=" la plantilla de";
607       switch(compType)
608       {
609         case ClassDef::Class:      result+=" la Clase "; break;
610         case ClassDef::Struct:     result+=" la Estructura "; break;
611         case ClassDef::Union:      result+=" la Unión "; break;
612         case ClassDef::Interface:  result+=" la Interfaz "; break;
613         case ClassDef::Protocol:   result+="l Protocolo "; break;
614         case ClassDef::Category:   result+=" la Categoria "; break;
615         case ClassDef::Exception:  result+=" la Excepción "; break;
616       }
617       result+=(QCString)clName;
618       return result;
619     }
620
621     /*! used as the title of the HTML page of a file */
622     virtual QCString trFileReference(const char *fileName)
623     {
624       QCString result="Referencia del Archivo ";
625       result+=fileName;
626       return result;
627     }
628
629     /*! used as the title of the HTML page of a namespace */
630     virtual QCString trNamespaceReference(const char *namespaceName)
631     {
632       QCString result="Referencia del Namespace ";
633       result+=namespaceName;
634       return result;
635     }
636
637     virtual QCString trPublicMembers()
638     { return "Métodos públicos"; }
639
640     virtual QCString trPublicSlots()
641     { return "Slots públicos"; }
642
643     virtual QCString trSignals()
644     { return "Señales"; }
645
646     virtual QCString trStaticPublicMembers()
647     { return "Métodos públicos estáticos"; }
648
649     virtual QCString trProtectedMembers()
650     { return "Métodos protegidos"; }
651
652     virtual QCString trProtectedSlots()
653     { return "Slots protegidos"; }
654
655     virtual QCString trStaticProtectedMembers()
656     { return "Métodos protegidos estáticos"; }
657
658     virtual QCString trPrivateMembers()
659     { return "Métodos privados"; }
660
661     virtual QCString trPrivateSlots()
662     { return "Slots privados"; }
663
664     virtual QCString trStaticPrivateMembers()
665     { return "Métodos privados estáticos"; }
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+=" y ";
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 "Herencias "+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 "Heredado por "+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 "Reimplementado 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 "Reimplementado en "+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 "Miembros del Namespace "; }
727
728     /*! This is an introduction to the page with all namespace members */
729     virtual QCString trNamespaceMemberDescription(bool extractAll)
730     { 
731       QCString result="Lista de ";
732       if (!extractAll) result+="toda la documentación de ";
733       result+="los miembros del namespace con enlace a ";
734       if (extractAll) 
735         result+="los namespace de cada miembro:";
736       else 
737         result+="la documentación de los namespaces pertenecientes a:";
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 "Indice de namespaces"; }
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ón de namespaces"; }
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 "Namespaces"; }
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ón para est";
774       switch(compType)
775       {
776         case ClassDef::Class:      result+="a clase"; break;
777         case ClassDef::Struct:     result+="a estructura"; break;
778         case ClassDef::Union:      result+="a unión"; break;
779         case ClassDef::Interface:  result+="e interfaz"; break;
780         case ClassDef::Protocol:   result+="e protocolo"; break;
781         case ClassDef::Category:   result+="a categoría"; break;
782         case ClassDef::Exception:  result+="a excepción"; break;
783       }
784       result+=" fue generada a partir de";
785       if (single) result+="l siguiente fichero:"; 
786       else result+=" los siguientes ficheros:";
787       return result;
788     }
789
790     /*! This is in the (quick) index as a link to the alphabetical compound
791      * list.
792      */
793     virtual QCString trAlphabeticalList()
794     { return "Lista alfabética"; }
795
796 //////////////////////////////////////////////////////////////////////////
797 // new since 0.49-990901
798 //////////////////////////////////////////////////////////////////////////
799
800     /*! This is used as the heading text for the retval command. */
801     virtual QCString trReturnValues()
802     { return "Valores devueltos"; }
803
804     /*! This is in the (quick) index as a link to the main page (index.html)
805      */
806     virtual QCString trMainPage()
807     { return "Página principal"; }
808
809     /*! This is used in references to page that are put in the LaTeX 
810      *  documentation. It should be an abbreviation of the word page.
811      */
812     virtual QCString trPageAbbreviation()
813     { return "p."; }
814
815 //////////////////////////////////////////////////////////////////////////
816 // new since 0.49-991003
817 //////////////////////////////////////////////////////////////////////////
818
819     virtual QCString trDefinedAtLineInSourceFile()
820     {
821       return "Definición en la línea @0 del archivo @1.";
822     }
823     virtual QCString trDefinedInSourceFile()
824     {
825       return "Definición en el archivo @0.";
826     }
827
828 //////////////////////////////////////////////////////////////////////////
829 // new since 0.49-991205
830 //////////////////////////////////////////////////////////////////////////
831
832     virtual QCString trDeprecated()
833     {
834     return "Obsoleto"; 
835     }
836
837 //////////////////////////////////////////////////////////////////////////
838 // new since 1.0.0
839 //////////////////////////////////////////////////////////////////////////
840
841     /*! this text is put before a collaboration diagram */
842     virtual QCString trCollaborationDiagram(const char *clName)
843     {
844       return (QCString)"Diagrama de colaboración para "+clName+":";
845     }
846
847     /*! this text is put before an include dependency graph */
848     virtual QCString trInclDepGraph(const char *fName)
849     {
850       return (QCString)"Dependencia gráfica adjunta para "+fName+":";
851     }
852
853     /*! header that is put before the list of constructor/destructors. */
854     virtual QCString trConstructorDocumentation()
855     {
856       return "Documentación del constructor y destructor"; 
857     }
858
859     /*! Used in the file documentation to point to the corresponding sources. */
860     virtual QCString trGotoSourceCode()
861     {
862       return "Ir al código fuente de este archivo.";
863     }
864
865     /*! Used in the file sources to point to the corresponding documentation. */
866     virtual QCString trGotoDocumentation()
867     {
868       return "Ir a la documentación de este archivo.";
869     }
870
871     /*! Text for the \\pre command */
872     virtual QCString trPrecondition()
873     {
874       return "Precondición";
875     }
876
877     /*! Text for the \\post command */
878     virtual QCString trPostcondition()
879     {
880       return "Postcondición";
881     }
882
883     /*! Text for the \\invariant command */
884     virtual QCString trInvariant()
885     {
886       return "Invariante";
887     }
888
889     /*! Text shown before a multi-line variable/enum initialization */
890     virtual QCString trInitialValue()
891     {
892       return "Valor inicial:";
893     }
894
895     /*! Text used the source code in the file index */
896     virtual QCString trCode()
897     {
898       return "código";
899     }
900
901     virtual QCString trGraphicalHierarchy()
902     {
903       return "Representación gráfica de la clase";
904     }
905
906     virtual QCString trGotoGraphicalHierarchy()
907     {
908       return "Ir a la representación gráfica de la jerarquía de la clase";
909     }
910
911     virtual QCString trGotoTextualHierarchy()
912     {
913       return "Ir a la jerarquía textual de la clase";
914     }
915
916     virtual QCString trPageIndex()
917     {
918       return "Página indice";
919     }
920
921 //////////////////////////////////////////////////////////////////////////
922 // new since 1.1.0
923 //////////////////////////////////////////////////////////////////////////
924
925     virtual QCString trNote()
926     {
927       return "Nota";
928     }
929
930     virtual QCString trPublicTypes()
931     {
932       return "Tipos públicos";
933     }
934
935     virtual QCString trPublicAttribs()
936     {
937       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
938       {
939         return "Campos de datos";
940       }
941       else
942       {
943         return "Atributos públicos";
944       }
945     }
946
947     virtual QCString trStaticPublicAttribs()
948     {
949       return "Atributos públicos estáticos";
950     }
951
952     virtual QCString trProtectedTypes()
953     {
954       return "Tipos protegidos";
955     }
956
957     virtual QCString trProtectedAttribs()
958     {
959       return "Atributos protegidos";
960     }
961
962     virtual QCString trStaticProtectedAttribs()
963     {
964       return "Atributos protegidos estáticos";
965     }
966
967     virtual QCString trPrivateTypes()
968     {
969       return "Tipos privados";
970     }
971
972     virtual QCString trPrivateAttribs()
973     {
974       return "Atributos privados";
975     }
976
977     virtual QCString trStaticPrivateAttribs()
978     {
979       return "Atributos privados estáticos";
980     }
981
982 //////////////////////////////////////////////////////////////////////////
983 // new since 1.1.3
984 //////////////////////////////////////////////////////////////////////////
985
986     /*! Used as a marker that is put before a \\todo item */
987     virtual QCString trTodo()
988     {
989       return "Tareas pendientes";
990     }
991
992     /*! Used as the header of the todo list */
993     virtual QCString trTodoList()
994     {
995       return "Lista de tareas pendientes";
996     }
997
998 //////////////////////////////////////////////////////////////////////////
999 // new since 1.1.4
1000 //////////////////////////////////////////////////////////////////////////
1001
1002     virtual QCString trReferencedBy()
1003     {
1004       return "Referenciado por";
1005     }
1006
1007     virtual QCString trRemarks()
1008     {
1009       return "Comentarios";
1010     }
1011
1012     virtual QCString trAttention()
1013     {
1014       return "Atención";
1015     }
1016
1017     virtual QCString trInclByDepGraph()
1018     {
1019       return "Gráfico de los archivos que directa o "
1020               "indirectamente incluyen a este archivo:";
1021     }
1022
1023     virtual QCString trSince()
1024     {
1025       return "Desde";
1026     }
1027
1028 //////////////////////////////////////////////////////////////////////////
1029 // new since 1.1.5
1030 //////////////////////////////////////////////////////////////////////////
1031
1032     /*! title of the graph legend page */
1033     QCString trLegendTitle()
1034     {
1035       return "Colores y flechas del Gráfico";
1036     }
1037
1038     /*! page explaining how the dot graph's should be interpreted 
1039      *  The %A in the text below are to prevent link to classes called "A".
1040      */
1041     virtual QCString trLegendDocs()
1042     {
1043       return 
1044         "Esta página explica como interpretar los gráficos que son generados "
1045         "por doxygen.<p>\n"
1046         "Considere el siguiente ejemplo:\n"
1047         "\\code\n"
1048         "/*! Clase invisible por truncamiento */\n"  
1049         "class Invisible { };\n\n"
1050         "/*! Clase truncada, relación de herencia escondida */\n"
1051         "class Truncated : public Invisible { };\n\n"
1052         "/* Clase no documentada con comentarios de doxygen */\n"
1053         "class Undocumented { };\n\n"
1054         "/*! Clase que es heredera usando herencia publica */\n"
1055         "class PublicBase : public Truncated { };\n\n"
1056         "/*! Clase plantilla */\n"
1057         "template<class T> class Templ { };\n\n"
1058         "/*! Clase que es heredera usando herencia protegida  */\n"
1059         "class ProtectedBase { };\n\n"
1060         "/*! Clase que es heredera usando herencia privada  */\n"
1061         "class PrivateBase { };\n\n"
1062         "/*! Clase que es usada por la clase heredada */\n"
1063         "class Used { };\n\n"
1064         "/*! Super-Clase que hereda de varias otras clases */\n"
1065         "class Inherited : public PublicBase,\n"
1066         "                  protected ProtectedBase,\n"
1067         "                  private PrivateBase,\n"
1068         "                  public Undocumented,\n"
1069         "                  public Templ<int>\n"
1070         "{\n"
1071         "  private:\n"
1072         "    Used *m_usedClass;\n"
1073         "};\n"
1074         "\\endcode\n"
1075         "Dará como resultado el siguiente gráfico:"
1076         "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center></p>\n"
1077         "<p>\n"
1078         "Las cajas en el gráfico arriba tienen el siguiente significado:\n"
1079         "</p>\n"
1080         "<ul>\n"
1081         "<li>Una caja llena gris representa la estructura o clase para la cuál"
1082         "se generó el gráfico.\n"
1083         "<li>Una caja con borde negro señala una estructura o clase documentada.\n"
1084         "<li>Una caja con borde griz señala una estructura o clase no documentada.\n"
1085         "<li>una caja con borde rojo señala una estructura o clase documentada"
1086         " de la cuál no toda las relaciones de jerarquía/contenido son "
1087         "mostradas. El gráfico sera truncado si este no calza dentro de los "
1088         "límites especificados."
1089         "</ul>\n"
1090         "<p>\n"
1091         "Las flechas tienen el siguiente significado:\n"
1092         "</p>\n"
1093         "<ul>\n"
1094         "<li>Una flecha azul oscuro es usada para visualizar una relación herencia publica entre dos clases.\n"
1095         "<li>Una flecha verde oscuro es usada para herencia protegida.\n"
1096         "<li>Una flecha rojo oscuro es usada para herencia privada.\n"
1097         "<li>Una flecha segmentada púrpura se usa si la clase es contenida o "
1098         "usada por otra clase. La flecha está etiquetada por la variable "
1099         "con que se accede a la clase o estructura apuntada. \n"  
1100         "<li>Una flecha segmentada amarilla indica la relación entre una instancia template y la clase template de la que se ha instanciado."
1101         " La flecha se etiqueta con los parámetros con que se llama al template.\n"
1102         "</ul>\n";
1103     }
1104
1105     /*! text for the link to the legend page */
1106     virtual QCString trLegend()
1107     {
1108       return "significado de colores y flechas";
1109     }
1110     
1111 //////////////////////////////////////////////////////////////////////////
1112 // new since 1.2.0
1113 //////////////////////////////////////////////////////////////////////////
1114
1115     /*! Used as a marker that is put before a test item */
1116     virtual QCString trTest()
1117     {
1118       return "Prueba";
1119     }
1120
1121     /*! Used as the header of the test list */
1122     virtual QCString trTestList()
1123     {
1124       return "Lista de pruebas";
1125     }
1126
1127 //////////////////////////////////////////////////////////////////////////
1128 // new since 1.2.1
1129 //////////////////////////////////////////////////////////////////////////
1130
1131     /*! Used as a section header for KDE-2 IDL methods */
1132     virtual QCString trDCOPMethods()
1133     {
1134       return "Métodos DCOP";
1135     }
1136
1137 //////////////////////////////////////////////////////////////////////////
1138 // new since 1.2.2
1139 //////////////////////////////////////////////////////////////////////////
1140
1141     /*! Used as a section header for IDL properties */
1142     virtual QCString trProperties()
1143     {
1144       return "Propiedades";
1145     }
1146
1147     /*! Used as a section header for IDL property documentation */
1148     virtual QCString trPropertyDocumentation()
1149     {
1150       return "Documentación de propiedades";
1151     }
1152
1153 //////////////////////////////////////////////////////////////////////////
1154 // new since 1.2.4
1155 //////////////////////////////////////////////////////////////////////////
1156
1157     /*! Used for Java classes in the summary section of Java packages */
1158     virtual QCString trClasses()
1159     {
1160       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
1161       {
1162         return "Estructuras de Datos";
1163       }
1164       else
1165       {
1166         return "Clases";
1167       }
1168     }
1169
1170     /*! Used as the title of a Java package */
1171     virtual QCString trPackage(const char *name)
1172     {
1173       return (QCString)"Paquetes "+name;
1174     }
1175
1176     /*! Title of the package index page */
1177     virtual QCString trPackageList()
1178     {
1179       return "Lista de Paquetes ";
1180     }
1181
1182     /*! The description of the package index page */
1183     virtual QCString trPackageListDescription()
1184     {
1185       return "Aquí van los paquetes con una breve descripción (si etá disponible):";
1186     }
1187
1188     /*! The link name in the Quick links header for each page */
1189     virtual QCString trPackages()
1190     {
1191       return "Paquetes";
1192     }
1193
1194     /*! Text shown before a multi-line define */
1195     virtual QCString trDefineValue()
1196     {
1197       return "Valor:";
1198     }
1199
1200 //////////////////////////////////////////////////////////////////////////
1201 // new since 1.2.5
1202 //////////////////////////////////////////////////////////////////////////
1203
1204     /*! Used as a marker that is put before a \\bug item */
1205     virtual QCString trBug()
1206     {
1207       return "Bug";
1208     }
1209
1210     /*! Used as the header of the bug list */
1211     virtual QCString trBugList()
1212     {
1213       return "Lista de bugs";
1214     }
1215
1216 //////////////////////////////////////////////////////////////////////////
1217 // new since 1.2.6
1218 //////////////////////////////////////////////////////////////////////////
1219
1220     /*! Used as ansicpg for RTF file 
1221      * 
1222      * The following table shows the correlation of Charset name, Charset Value and 
1223      * <pre>
1224      * Codepage number:
1225      * Charset Name       Charset Value(hex)  Codepage number
1226      * ------------------------------------------------------
1227      * DEFAULT_CHARSET           1 (x01)
1228      * SYMBOL_CHARSET            2 (x02)
1229      * OEM_CHARSET             255 (xFF)
1230      * ANSI_CHARSET              0 (x00)            1252
1231      * RUSSIAN_CHARSET         204 (xCC)            1251
1232      * EE_CHARSET              238 (xEE)            1250
1233      * GREEK_CHARSET           161 (xA1)            1253
1234      * TURKISH_CHARSET         162 (xA2)            1254
1235      * BALTIC_CHARSET          186 (xBA)            1257
1236      * HEBREW_CHARSET          177 (xB1)            1255
1237      * ARABIC _CHARSET         178 (xB2)            1256
1238      * SHIFTJIS_CHARSET        128 (x80)             932
1239      * HANGEUL_CHARSET         129 (x81)             949
1240      * GB2313_CHARSET          134 (x86)             936
1241      * CHINESEBIG5_CHARSET     136 (x88)             950
1242      * </pre>
1243      * 
1244      */
1245     virtual QCString trRTFansicp()
1246     {
1247       return "1252";
1248     }
1249     
1250
1251     /*! Used as ansicpg for RTF fcharset 
1252      *  \see trRTFansicp() for a table of possible values.
1253      */
1254     virtual QCString trRTFCharSet()
1255     {
1256       return "0";
1257     }
1258
1259     /*! Used as header RTF general index */
1260     virtual QCString trRTFGeneralIndex()
1261     {
1262       return "Índice";
1263     }
1264
1265     /*! This is used for translation of the word that will possibly
1266      *  be followed by a single name or by a list of names 
1267      *  of the category.
1268      */
1269     virtual QCString trClass(bool first_capital, bool singular)
1270     { 
1271       QCString result((first_capital ? "Clase" : "clase"));
1272       if (!singular)  result+="s";
1273       return result; 
1274     }
1275
1276     /*! This is used for translation of the word that will possibly
1277      *  be followed by a single name or by a list of names 
1278      *  of the category.
1279      */
1280     virtual QCString trFile(bool first_capital, bool singular)
1281     { 
1282       QCString result((first_capital ? "Archivo" : "archivo"));
1283       if (!singular)  result+="s";
1284       return result; 
1285     }
1286
1287     /*! This is used for translation of the word that will possibly
1288      *  be followed by a single name or by a list of names 
1289      *  of the category.
1290      */
1291     virtual QCString trNamespace(bool first_capital, bool singular)
1292     { 
1293       QCString result((first_capital ? "Namespace" : "namespace"));
1294       if (!singular)  result+="s";
1295       return result; 
1296     }
1297
1298     /*! This is used for translation of the word that will possibly
1299      *  be followed by a single name or by a list of names 
1300      *  of the category.
1301      */
1302     virtual QCString trGroup(bool first_capital, bool singular)
1303     { 
1304       QCString result((first_capital ? "Grupo" : "grupo"));
1305       if (!singular)  result+="s";
1306       return result; 
1307     }
1308
1309     /*! This is used for translation of the word that will possibly
1310      *  be followed by a single name or by a list of names 
1311      *  of the category.
1312      */
1313     virtual QCString trPage(bool first_capital, bool singular)
1314     { 
1315       QCString result((first_capital ? "Página" : "página"));
1316       if (!singular)  result+="s";
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 trMember(bool first_capital, bool singular)
1325     { 
1326       QCString result((first_capital ? "Miembro" : "miembro"));
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 trGlobal(bool first_capital, bool singular)
1336     { 
1337       QCString result((first_capital ? "Global" : "global"));
1338       if (!singular)  result+="es";
1339       return result; 
1340     }
1341
1342 //////////////////////////////////////////////////////////////////////////
1343 // new since 1.2.7
1344 //////////////////////////////////////////////////////////////////////////
1345
1346     /*! This text is generated when the \\author command is used and
1347      *  for the author section in man pages. */
1348     virtual QCString trAuthor(bool first_capital, bool singular)
1349     {                                                                         
1350       QCString result((first_capital ? "Autor" : "autor"));
1351       if (!singular)  result+="es";
1352       return result; 
1353     }
1354
1355 //////////////////////////////////////////////////////////////////////////
1356 // new since 1.2.11
1357 //////////////////////////////////////////////////////////////////////////
1358
1359     /*! This text is put before the list of members referenced by a member
1360      */
1361     virtual QCString trReferences()
1362     {
1363       return "Hace referencia a";
1364     }
1365
1366 //////////////////////////////////////////////////////////////////////////
1367 // new since 1.2.13
1368 //////////////////////////////////////////////////////////////////////////
1369
1370     /*! used in member documentation blocks to produce a list of 
1371      *  members that are implemented by this one.
1372      */
1373     virtual QCString trImplementedFromList(int numEntries)
1374     {
1375       return "Implementa "+trWriteList(numEntries)+".";
1376     }
1377
1378     /*! used in member documentation blocks to produce a list of
1379      *  all members that implement this abstract member.
1380      */
1381     virtual QCString trImplementedInList(int numEntries)
1382     {
1383       return "Implementado en "+trWriteList(numEntries)+".";
1384     }
1385
1386 //////////////////////////////////////////////////////////////////////////
1387 // new since 1.2.16
1388 //////////////////////////////////////////////////////////////////////////
1389
1390     /*! used in RTF documentation as a heading for the Table
1391      *  of Contents.
1392      */
1393     virtual QCString trRTFTableOfContents()
1394     {
1395       return "Tabla de contenidos";
1396     }
1397
1398 //////////////////////////////////////////////////////////////////////////
1399 // new since 1.2.17
1400 //////////////////////////////////////////////////////////////////////////
1401
1402     /*! Used as the header of the list of item that have been 
1403      *  flagged deprecated 
1404      */
1405     virtual QCString trDeprecatedList()
1406     {
1407       return "Lista de obsoletos";
1408     }
1409
1410 //////////////////////////////////////////////////////////////////////////
1411 // new since 1.2.18
1412 //////////////////////////////////////////////////////////////////////////
1413
1414     /*! Used as a header for declaration section of the events found in 
1415      * a C# program
1416      */
1417     virtual QCString trEvents()
1418     {
1419       return "Eventos";
1420     }
1421
1422     /*! Header used for the documentation section of a class' events. */
1423     virtual QCString trEventDocumentation()
1424     {
1425       return "Documentación de los eventos";
1426     }
1427
1428 //////////////////////////////////////////////////////////////////////////
1429 // new since 1.3
1430 //////////////////////////////////////////////////////////////////////////
1431
1432     /*! Used as a heading for a list of Java class types with package scope.
1433      */
1434     virtual QCString trPackageTypes()
1435     { 
1436       return "Tipos del 'package'";
1437     }
1438
1439     /*! Used as a heading for a list of Java class functions with package 
1440      * scope. 
1441      */
1442     virtual QCString trPackageMembers()
1443     { 
1444       return "Funciones del 'package'";
1445     }
1446
1447     /*! Used as a heading for a list of static Java class functions with 
1448      *  package scope.
1449      */
1450     virtual QCString trStaticPackageMembers()
1451     { 
1452       return "Funciones estáticas del 'package'";
1453     }
1454
1455     /*! Used as a heading for a list of Java class variables with package 
1456      * scope.
1457      */
1458     virtual QCString trPackageAttribs()
1459     { 
1460       return "Atributos del 'package'";
1461     }
1462
1463     /*! Used as a heading for a list of static Java class variables with 
1464      * package scope.
1465      */
1466     virtual QCString trStaticPackageAttribs()
1467     { 
1468       return "Atributos Estáticos del 'package'";
1469     }
1470
1471 //////////////////////////////////////////////////////////////////////////
1472 // new since 1.3.1
1473 //////////////////////////////////////////////////////////////////////////
1474
1475     /*! Used in the quick index of a class/file/namespace member list page 
1476      *  to link to the unfiltered list of all members.
1477      */
1478     virtual QCString trAll()
1479     {
1480       return "Todo";
1481     }
1482
1483     /*! Put in front of the call graph for a function. */
1484     virtual QCString trCallGraph()
1485     {
1486       return "Gráfico de llamadas para esta función:";
1487     }
1488
1489 //////////////////////////////////////////////////////////////////////////
1490 // new since 1.3.3
1491 //////////////////////////////////////////////////////////////////////////
1492
1493     /*! When the search engine is enabled this text is put in the header 
1494      *  of each page before the field where one can enter the text to search 
1495      *  for. 
1496      */
1497     virtual QCString trSearchForIndex()
1498     {
1499       return "Buscar";
1500     }
1501
1502     /*! This string is used as the title for the page listing the search
1503      *  results.
1504      */
1505     virtual QCString trSearchResultsTitle()
1506     {
1507       return "Resultados de la Búsqueda";
1508     }
1509
1510     /*! This string is put just before listing the search results. The
1511      *  text can be different depending on the number of documents found.
1512      *  Inside the text you can put the special marker $num to insert
1513      *  the number representing the actual number of search results.
1514      *  The @a numDocuments parameter can be either 0, 1 or 2, where the 
1515      *  value 2 represents 2 or more matches. HTML markup is allowed inside
1516      *  the returned string.
1517      */
1518     virtual QCString trSearchResults(int numDocuments)
1519     {
1520       if (numDocuments==0)
1521       {
1522         return "Disculpe, no se encontraron documentos que coincidan con su búsqueda.";
1523       }
1524       else if (numDocuments==1)
1525       {
1526         return "Se encontró <b>1</b> documento que coincide con su búsqueda.";
1527       }
1528       else 
1529       {
1530         return "Se encontraron <b>$num</b> documentos que coinciden con su búsqueda. "
1531                 "Se muestran los mejores resultados primero.";
1532       }
1533     }
1534
1535     /*! This string is put before the list of matched words, for each search 
1536      *  result. What follows is the list of words that matched the query.
1537      */
1538     virtual QCString trSearchMatches()
1539     {
1540       return "Coincidencias:";
1541     }
1542
1543 //////////////////////////////////////////////////////////////////////////
1544 // new since 1.3.8
1545 //////////////////////////////////////////////////////////////////////////
1546
1547     /*! This is used in HTML as the title of page with source code for file filename
1548      */
1549     virtual QCString trSourceFile(QCString& filename)
1550     {
1551       return "Fichero Fuente " + filename;
1552     }
1553
1554 //////////////////////////////////////////////////////////////////////////
1555 // new since 1.3.9
1556 //////////////////////////////////////////////////////////////////////////
1557
1558     /*! This is used as the name of the chapter containing the directory
1559      *  hierarchy.
1560      */
1561     virtual QCString trDirIndex()
1562     { return "Jerarquía de directorios"; }
1563
1564     /*! This is used as the name of the chapter containing the documentation
1565      *  of the directories.
1566      */
1567     virtual QCString trDirDocumentation()
1568     { return "Documentación de directorios"; }
1569
1570     /*! This is used as the title of the directory index and also in the
1571      *  Quick links of an HTML page, to link to the directory hierarchy.
1572      */
1573     virtual QCString trDirectories()
1574     { return "Directorios"; }
1575
1576     /*! This returns a sentences that introduces the directory hierarchy. 
1577      *  and the fact that it is sorted alphabetically per level
1578      */
1579     virtual QCString trDirDescription()
1580     { return "La jeraquía de este directorio está ordenada"
1581               " alfabéticamente, de manera aproximada:";
1582     }
1583
1584     /*! This returns the title of a directory page. The name of the
1585      *  directory is passed via \a dirName.
1586      */
1587     virtual QCString trDirReference(const char *dirName)
1588     {
1589       QCString result="Referencia del directorio ";
1590       result+=dirName;
1591       return result;
1592     }
1593
1594     /*! This returns the word directory with or without starting capital
1595      *  (\a first_capital) and in sigular or plural form (\a singular).
1596      */
1597     virtual QCString trDir(bool first_capital, bool singular)
1598     { 
1599       QCString result((first_capital ? "Directorio" : "directorio"));
1600       if (!singular) result+="s";
1601       return result; 
1602     }
1603
1604 //////////////////////////////////////////////////////////////////////////
1605 // new since 1.4.1
1606 //////////////////////////////////////////////////////////////////////////
1607
1608     /*! This text is added to the documentation when the \\overload command
1609      *  is used for a overloaded function.
1610      */
1611     virtual QCString trOverloadText()
1612     {
1613        return "Esta es una función miembro sobrecargada que se "
1614                "suministra por conveniencia. Difiere de la anterior "
1615                "función solamente en los argumentos que acepta.";
1616     }
1617
1618 //////////////////////////////////////////////////////////////////////////
1619 // new since 1.4.6
1620 //////////////////////////////////////////////////////////////////////////
1621
1622     /*! This is used to introduce a caller (or called-by) graph */
1623     virtual QCString trCallerGraph()
1624     {
1625       return "Gráfico de llamadas a esta función:";
1626     }
1627
1628     /*! This is used in the documentation of a file/namespace before the list 
1629      *  of documentation blocks for enumeration values
1630      */
1631     virtual QCString trEnumerationValueDocumentation()
1632     { return "Documentación de los valores de la enumeración"; }
1633
1634 //////////////////////////////////////////////////////////////////////////
1635 // new since 1.5.4 (mainly for Fortran)
1636 //////////////////////////////////////////////////////////////////////////
1637     // De parte de Bartomeu:
1638     //    No conozco el Fortran, salvo un par de ejercicios en la universidad
1639     // hace muchos años. Por lo tanto, las traducciones son del inglés
1640     // al español, no de un usuario de Fortran que puede que haya cosas que no
1641     // traduzca o traduzca de otra forma. Que los usuarios de Fortran disculpen
1642     // y espero se animen a mejorar mi traducción.
1643
1644     /*! header that is put before the list of member subprograms (Fortran). */
1645     virtual QCString trMemberFunctionDocumentationFortran()
1646     { return "Documetación de miembros Function/Subroutine"; }
1647
1648     /*! This is put above each page as a link to the list of annotated data types (Fortran). */    
1649     virtual QCString trCompoundListFortran()
1650     { return "Lista de tipos de datos"; }
1651
1652     /*! This is put above each page as a link to all members of compounds (Fortran). */
1653     virtual QCString trCompoundMembersFortran()
1654     { return "Etiquetas de datos"; }
1655
1656     /*! This is an introduction to the annotated compound list (Fortran). */
1657     virtual QCString trCompoundListDescriptionFortran()
1658     { return "Aquí están los tipos de datos con una breve descripción:"; }
1659
1660     /*! This is an introduction to the page with all data types (Fortran). */
1661     virtual QCString trCompoundMembersDescriptionFortran(bool extractAll)
1662     {
1663       QCString result="Aquí está una lista de todos ";
1664       result+="los miembros de los tipos de datos ";
1665       if (!extractAll)
1666       {
1667         result+="documentados ";
1668       }
1669       result+="con enlaces a ";
1670       if (!extractAll) 
1671       {
1672          result+="la documentación de la estructura de datos para cada miembro";
1673       }
1674       else 
1675       {
1676          result+="los tipos de dato a que pertenece:";
1677       }
1678       return result;
1679     }
1680
1681     /*! This is used in LaTeX as the title of the chapter with the 
1682      * annotated compound index (Fortran).
1683      */
1684     virtual QCString trCompoundIndexFortran()
1685     { return "Índice de tipos de datos"; }
1686
1687     /*! This is used in LaTeX as the title of the chapter containing
1688      *  the documentation of all data types (Fortran).
1689      */
1690     virtual QCString trTypeDocumentation()
1691     { return "Documentación de tipos de datos"; }
1692
1693     /*! This is used in the documentation of a file as a header before the 
1694      *  list of (global) subprograms (Fortran).
1695      */
1696     virtual QCString trSubprograms()
1697     { return "Funciones/Subprogramas"; }
1698
1699     /*! This is used in the documentation of a file/namespace before the list 
1700      *  of documentation blocks for subprograms (Fortran)
1701      */
1702     virtual QCString trSubprogramDocumentation()
1703     { return "Documentación de Funciones/Subprogramas"; }
1704
1705     /*! This is used in the documentation of a file/namespace/group before 
1706      *  the list of links to documented compounds (Fortran)
1707      */
1708      virtual QCString trDataTypes()
1709     { return "Tipos de datos"; }
1710
1711     /*! used as the title of page containing all the index of all modules (Fortran). */
1712     virtual QCString trModulesList()
1713     { return "Lista de módulos"; }
1714
1715     /*! used as an introduction to the modules list (Fortran) */
1716     virtual QCString trModulesListDescription(bool extractAll)
1717     {
1718       QCString result="Lista de todos los módulos ";
1719       if (!extractAll) result+="documentados ";
1720       result+="con una breve descripción:";
1721       return result;
1722     }
1723
1724     /*! used as the title of the HTML page of a module/type (Fortran) */
1725     virtual QCString trCompoundReferenceFortran(const char *clName,
1726                                     ClassDef::CompoundType compType,
1727                                     bool isTemplate)
1728     {
1729       QCString result="Referencia de";
1730       if (isTemplate) result+=" la plantilla de";
1731       switch(compType)
1732       {
1733         case ClassDef::Class:      result+="l módulo"; break;
1734         case ClassDef::Struct:     result+="l tipo"; break;
1735         case ClassDef::Union:      result+=" la unión"; break;
1736         case ClassDef::Interface:  result+=" la interfaz"; break;
1737         case ClassDef::Protocol:   result+="l protocolo"; break;
1738         case ClassDef::Category:   result+=" la categoría"; break;
1739         case ClassDef::Exception:  result+=" la excepción"; break;
1740       }
1741       result+=(QCString)clName;
1742       return result;
1743     }
1744
1745     /*! used as the title of the HTML page of a module (Fortran) */
1746     virtual QCString trModuleReference(const char *namespaceName)
1747     {
1748       QCString result="Referencia módulo ";
1749       result+=namespaceName;        
1750       return result;
1751     }
1752
1753     /*! This is put above each page as a link to all members of modules. (Fortran) */
1754     virtual QCString trModulesMembers()
1755     { return "Miembros módulo"; }
1756
1757     /*! This is an introduction to the page with all modules members (Fortran) */
1758     virtual QCString trModulesMemberDescription(bool extractAll)
1759     { 
1760       QCString result="Lista de todos los miembros del módulo ";
1761       if (!extractAll) result+="documentados ";
1762       result+="con enlaces ";
1763       if (extractAll) 
1764       {
1765         result+="a la documentación del módulo para cada uno:";
1766       }
1767       else 
1768       {
1769         result+="al módulo al que pertenecen:";
1770       }
1771       return result;
1772     }
1773
1774     /*! This is used in LaTeX as the title of the chapter with the 
1775      *  index of all modules (Fortran).
1776      */
1777     virtual QCString trModulesIndex()
1778     { return "Índice de módulos"; }
1779     
1780     /*! This is used for translation of the word that will possibly
1781      *  be followed by a single name or by a list of names 
1782      *  of the category.
1783      */
1784     virtual QCString trModule(bool first_capital, bool singular)
1785     {       
1786       QCString result((first_capital ? "Módulo" : "módulo"));
1787       if (!singular)  result+="s";
1788       return result;
1789     }
1790
1791     /*! This is put at the bottom of a module documentation page and is
1792      *  followed by a list of files that were used to generate the page.
1793      */
1794     virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType,
1795                                                  bool single)
1796     { // here s is one of " Module", " Struct" or " Union"
1797       // single is true implies a single file
1798       QCString result=(QCString)"La documentación para est";
1799       switch(compType)
1800       {
1801         case ClassDef::Class:      result+="e módulo"; break;
1802         case ClassDef::Struct:     result+="e tipo"; break;
1803         case ClassDef::Union:      result+="a unión"; break;
1804         case ClassDef::Interface:  result+="e interfaz"; break;
1805         case ClassDef::Protocol:   result+="e protocolo"; break;
1806         case ClassDef::Category:   result+="a categoría"; break;
1807         case ClassDef::Exception:  result+="a excepción"; break;
1808       }
1809       result+=" fue generada de";
1810       if (single) result+="l siguiente fichero:";
1811       else result+=" los siguientes ficheros:";
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 ? "Tipo" : "tipo"));
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 ? "Subprograma" : "subprograma"));
1833       if (!singular)  result+="s";
1834       return result; 
1835     }
1836
1837     /*! C# Type Constraint list */
1838     virtual QCString trTypeConstraints()
1839     {
1840       return "Restriciones de tipo";
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 QCString(name)+" relación";
1851     }
1852
1853     /*! Loading message shown when loading search results */
1854     virtual QCString trLoading()
1855     {
1856       return "Cargando...";
1857     }
1858
1859     /*! Label used for search results in the global namespace */
1860     virtual QCString trGlobalNamespace()
1861     {
1862       return "Namespace global";
1863     }
1864
1865     /*! Message shown while searching */
1866     virtual QCString trSearching()
1867     {
1868       return "Buscando...";
1869     }
1870
1871     /*! Text shown when no search results are found */
1872     virtual QCString trNoMatches()
1873     {
1874       return "Nada coincide";
1875     }
1876
1877 //////////////////////////////////////////////////////////////////////////
1878 // new since 1.6.3 (missing items for the directory pages)
1879 //////////////////////////////////////////////////////////////////////////
1880
1881     /*! introduction text for the directory dependency graph */
1882     virtual QCString trDirDependency(const char *name)
1883     {
1884       return (QCString)"Gráfico de dependencias para el directorio "+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)"Fichero en "+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)"Incluye ficheros en "+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[]   = { "Lunes","Martes","Miércoles","Jueves",
1920                                                                           "Viernes","Sábado","Domingo" };
1921       static const char *months[] = { "Enero","Febrero","Marzo","Abril",
1922                                                                           "Mayo","Junio","Julio","Agosto",
1923                                                                           "Septiembre","Octubre","Noviembre","Diciembre" };
1924       QCString sdate;
1925       sdate.sprintf("%s, %d de %s de %d",days[dayOfWeek-1],day,months[month-1],year);
1926       if (includeTime)
1927       {
1928         QCString stime;
1929         stime.sprintf(" %.2d:%.2d:%.2d",hour,minutes,seconds);
1930         sdate+=stime;
1931       }
1932       return sdate;
1933     }
1934
1935 //////////////////////////////////////////////////////////////////////////
1936 // new since 1.7.5
1937 //////////////////////////////////////////////////////////////////////////
1938
1939     /*! Header for the page with bibliographic citations */
1940     virtual QCString trCiteReferences()
1941     { return "Referencias bibliográficas"; }
1942
1943     /*! Text for copyright paragraph */
1944     virtual QCString trCopyright()
1945     { return "Copyright"; }
1946
1947     /*! Header for the graph showing the directory dependencies */
1948     virtual QCString trDirDepGraph(const char *name)
1949     { return QCString("Gráfico de dependencias de directorios para ")+name+":"; }
1950
1951 //////////////////////////////////////////////////////////////////////////
1952 // new since 1.8.0
1953 //////////////////////////////////////////////////////////////////////////
1954
1955     /*! Detail level selector shown for hierarchical indices */
1956     virtual QCString trDetailLevel()
1957     { return "detalle nivel"; }
1958
1959     /*! Section header for list of template parameters */
1960     virtual QCString trTemplateParameters()
1961     { return "Parámetros del template"; }
1962
1963     /*! Used in dot graph when UML_LOOK is enabled and there are many fields */
1964     virtual QCString trAndMore(const QCString &number)
1965     { return "y "+number+" más..."; }
1966
1967     /*! Used file list for a Java enum */
1968     virtual QCString trEnumGeneratedFromFiles(bool single)
1969     { QCString result = "La documentación para este enum ha sido generada a partir de";
1970       if (single)
1971           result += "l siguiente fichero:";
1972       else
1973           result += " los siguientes ficheros:";
1974       return result;
1975     }
1976
1977     /*! Header of a Java enum page (Java enums are represented as classes). */
1978     virtual QCString trEnumReference(const char *name)
1979     { return QCString("Referencia del enum ") + QCString(name); }
1980
1981     /*! Used for a section containing inherited members */
1982     virtual QCString trInheritedFrom(const char *members,const char *what)
1983     { return QCString(members)+" heredados desde "+what; }
1984
1985     /*! Header of the sections with inherited members specific for the 
1986      *  base class(es) 
1987      */
1988     virtual QCString trAdditionalInheritedMembers()
1989     { return "Otros miembros heredados"; }
1990
1991 //////////////////////////////////////////////////////////////////////////
1992 // new since 1.8.2
1993 //////////////////////////////////////////////////////////////////////////
1994
1995     /*! Used as a tooltip for the toggle button that appears in the
1996      *  navigation tree in the HTML output when GENERATE_TREEVIEW is 
1997      *  enabled. This tooltip explains the meaning of the button.
1998      */
1999     virtual QCString trPanelSynchronisationTooltip(bool enable)
2000     {
2001       QCString opt = enable ? "habilitar" : "deshabilitar";
2002       return "click en "+opt+" sincronización";
2003     }
2004
2005     /*! Used in a method of an Objective-C class that is declared in a
2006      *  a category. Note that the @1 marker is required and is replaced
2007      *  by a link.
2008      */
2009     virtual QCString trProvidedByCategory()
2010     {
2011       return "Proporcionado por categoría @1.";
2012     }
2013
2014     /*! Used in a method of an Objective-C category that extends a class.
2015      *  Note that the @1 marker is required and is replaced by a link to
2016      *  the class method.
2017      */
2018     virtual QCString trExtendsClass()
2019     {
2020       return "Extiende la clase @1.";
2021     }
2022
2023     /*! Used as the header of a list of class methods in Objective-C.
2024      *  These are similar to static public member functions in C++.
2025      */
2026     virtual QCString trClassMethods()
2027     {
2028       return "Métodos de la clase";
2029     }
2030
2031     /*! Used as the header of a list of instance methods in Objective-C.
2032      *  These are similar to public member functions in C++.
2033      */
2034     virtual QCString trInstanceMethods()
2035     {
2036       return "Métodos de instancia";
2037     }
2038
2039     /*! Used as the header of the member functions of an Objective-C class.
2040      */
2041     virtual QCString trMethodDocumentation()
2042     {
2043       return "Método de documentación";
2044     }
2045
2046     /*! Used as the title of the design overview picture created for the
2047      *  VHDL output.
2048      */
2049     virtual QCString trDesignOverview()
2050     {
2051       return "Diseño información general";
2052     }
2053
2054 //////////////////////////////////////////////////////////////////////////
2055
2056 };
2057
2058 #endif