Fix for UBSan build
[platform/upstream/doxygen.git] / src / translator_br.h
1 /******************************************************************************
2  * Copyright (C) 1997-2012 by Dimitri van Heesch.
3  *
4  * Permission to use, copy, modify, and distribute this software and its
5  * documentation under the terms of the GNU General Public License is hereby
6  * granted. No representations are made about the suitability of this software
7  * for any purpose. It is provided "as is" without express or implied warranty.
8  * See the GNU General Public License for more details.
9  *
10  * Documents produced by Doxygen are derivative workns derived from the
11  * input used in their production; they are not affected by this license.
12  *
13  * Brazilian Portuguese translation version 20100531
14  *    Maintainer: Fabio "FJTC" Jun Takada Chino <jun-chino at uol.com.br>
15  *    Thanks to Jorge Ramos, Fernando Carijo and others for their contributions.
16  *
17  * History:
18  *   20110628:
19  *      - Updated to 1.7.5;
20  *   20100531:
21  *      - Updated to 1.6.3;
22  *   20091218:
23  *      - Updated to 1.6.1;
24  *      - Copyright year updated;
25  *      - Translation updates suggested by Fernando Carijó added;
26  *   20080709:
27  *      - References to MAX_DOT_GRAPH_HEIGHT removed from trLegendDocs().
28  *   20080206:
29  *      - Method trTypeContraints() renamed to trTypeConstraints().
30  *   20071216:
31  *      - New methods since 1.5.4 updated. 
32  *   Previous history removed from this version.
33  */
34 #ifndef TRANSLATOR_BR_H
35 #define TRANSLATOR_BR_H
36
37 class TranslatorBrazilian : public TranslatorAdapter_1_8_0
38 {
39   public:
40
41     // --- Language control methods -------------------
42
43     /*! Used for identification of the language. May resemble
44      * the string returned by latexBabelPackage(), but it is not used
45      * for the same purpose. The identification should not be translated.
46      * It should be replaced by the name of the language in English
47      * (e.g. Czech, Japanese, Russian, etc.). It should be equal to
48      * the identification in language.h.
49      */
50     virtual QCString idLanguage()
51     {
52       return "brazil";
53     }
54
55     /*! Used to get the command(s) for the language support. This method
56      *  was designed for languages which do not prefer babel package.
57      *  If this methods returns empty string, then the latexBabelPackage()
58      *  method is used to generate the command for using the babel package.
59      */
60     virtual QCString latexLanguageSupportCommand()
61     {
62       return "\\usepackage[brazil]{babel}";
63     }
64
65     /*! return the language charset. This will be used for the HTML output */
66     virtual QCString idLanguageCharset()
67     {
68       return "utf-8";
69     }
70
71     // --- Language translation methods -------------------
72
73     /*! used in the compound documentation before a list of related functions. */
74     virtual QCString trRelatedFunctions()
75     { return "Funções Relacionadas"; }
76
77     /*! subscript for the related functions. */
78     virtual QCString trRelatedSubscript()
79     { return "(Note que estas não são funções membros.)"; }
80
81     /*! header that is put before the detailed description of files, classes and namespaces. */
82     virtual QCString trDetailedDescription()
83     { return "Descrição Detalhada"; }
84
85     /*! header that is put before the list of typedefs. */
86     virtual QCString trMemberTypedefDocumentation()
87     { return "Definições de Tipos"; }
88
89     /*! header that is put before the list of enumerations. */
90     virtual QCString trMemberEnumerationDocumentation()
91     { return "Enumerações"; }
92
93     /*! header that is put before the list of member functions. */
94     virtual QCString trMemberFunctionDocumentation()
95     { return "Métodos"; }
96
97     /*! header that is put before the list of member attributes. */
98     virtual QCString trMemberDataDocumentation()
99     {
100       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
101       {
102         return "Campos";
103       }
104       else
105       {
106         return "Atributos";
107       }
108     }
109
110     /*! this is the text of a link put after brief descriptions. */
111     virtual QCString trMore()
112     { return "Mais..."; }
113
114     /*! put in the class documentation */
115     virtual QCString trListOfAllMembers()
116     { return "Lista de todos os Membros"; }
117
118     /*! used as the title of the "list of all members" page of a class */
119     virtual QCString trMemberList()
120     { return "Lista dos Membros"; }
121
122     /*! this is the first part of a sentence that is followed by a class name */
123     virtual QCString trThisIsTheListOfAllMembers()
124     { return "Esta é a lista de todos os membros de "; }
125
126     /*! this is the remainder of the sentence after the class name */
127     virtual QCString trIncludingInheritedMembers()
128     { return ", incluindo os membros herdados."; }
129
130     /*! this is put at the author sections at the bottom of man pages.
131      *  parameter s is name of the project name.
132      */
133     virtual QCString trGeneratedAutomatically(const char *s)
134     { QCString result="Gerado automaticamente por Doxygen";
135       if (s) result+=(QCString)" para "+s;
136       result+=" a partir de seu código-fonte.";
137       return result;
138     }
139
140     /*! put after an enum name in the list of all members */
141     virtual QCString trEnumName()
142     { return "[Enumeração]"; }
143
144     /*! put after an enum value in the list of all members */
145     virtual QCString trEnumValue()
146     { return "[Valor enumerado]"; }
147
148     /*! put after an undocumented member in the list of all members */
149     virtual QCString trDefinedIn()
150     { return "definido(a) em"; }
151
152     // quick reference sections
153
154     /*! This is put above each page as a link to the list of all groups of
155      *  compounds or files (see the \\group command).
156      */
157     virtual QCString trModules()
158     { return "Módulos"; }
159
160     /*! This is put above each page as a link to the class hierarchy */
161     virtual QCString trClassHierarchy()
162     { return "Hierarquia de Classes"; }
163
164     /*! This is put above each page as a link to the list of annotated classes */
165     virtual QCString trCompoundList()
166     {
167       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
168       {
169         return "Estruturas de Dados";
170       }
171       else
172       {
173         return "Lista de Componentes";
174       }
175     }
176
177     /*! This is put above each page as a link to the list of documented files */
178     virtual QCString trFileList()
179     { return "Lista de Arquivos"; }
180
181     /*! This is put above each page as a link to all members of compounds. */
182     virtual QCString trCompoundMembers()
183     {
184       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
185       {
186         return "Campos de Dados";
187       }
188       else
189       {
190         return "Componentes Membros";
191       }
192     }
193
194     /*! This is put above each page as a link to all members of files. */
195     virtual QCString trFileMembers()
196     {
197       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
198       {
199         return "Globais";
200       }
201       else
202       {
203         return "Arquivos Membros";
204       }
205     }
206
207     /*! This is put above each page as a link to all related pages. */
208     virtual QCString trRelatedPages()
209     { return "Páginas relacionadas"; }
210
211     /*! This is put above each page as a link to all examples. */
212     virtual QCString trExamples()
213     { return "Exemplos"; }
214
215     /*! This is put above each page as a link to the search engine. */
216     virtual QCString trSearch()
217     { return "Busca"; }
218
219     /*! This is an introduction to the class hierarchy. */
220     virtual QCString trClassHierarchyDescription()
221     { return "Esta lista de hierarquias está parcialmente ordenada (ordem alfabética):"; }
222
223     /*! This is an introduction to the list with all files. */
224     virtual QCString trFileListDescription(bool extractAll)
225     {
226       QCString result="Esta é a lista de todos os arquivos ";
227       if (!extractAll) result+="documentados ";
228       result+="e suas respectivas descrições:";
229       return result;
230     }
231
232     /*! This is an introduction to the annotated compound list. */
233     virtual QCString trCompoundListDescription()
234     {
235
236       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
237       {
238         return "Aqui estão as estruturas de dados, uniões e suas respectivas descrições:";
239       }
240       else
241       {
242         return "Aqui estão as classes, estruturas, uniões e interfaces e suas respectivas descrições:";
243       }
244     }
245
246     /*! This is an introduction to the page with all class members. */
247     virtual QCString trCompoundMembersDescription(bool extractAll)
248     {
249       QCString result="Esta é a lista de ";
250       
251       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
252       {
253         result+="todas as estruturas e campos de uniões ";
254         if (!extractAll)
255         {
256           result+="documentas";
257         }
258       }
259       else
260       {
261         result+="todos os membros de classes ";
262         if (!extractAll)
263         {
264           result+="documentos";
265         }
266       }
267       result+=" com referências para ";
268       if (!extractAll)
269       {
270         if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
271         {
272           result+="a documentação da estrutura/união de cada campo:";
273         }
274         else
275         {
276           result+="a documentação da classe de cada membro:";
277         }
278       }
279       else
280       {
281         if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
282         {
283           result+="a estrutura/união a que pertencem:";
284         }
285         else
286         {
287           result+="a classe a que pertencem:";
288         }
289       }
290       return result;
291     }
292
293     /*! This is an introduction to the page with all file members. */
294     virtual QCString trFileMembersDescription(bool extractAll)
295     {
296       QCString result="Esta é a lista de ";
297       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
298       {
299         result+="todas as funções, variáveis, definições, enumerações e definições de tipos ";
300         if (!extractAll) result+="documentadas ";
301       }
302       else
303       {
304         result+="todos os membros dos arquivos ";
305         if (!extractAll) result+="documentados ";
306       }
307       result+="com referências para ";
308       if (extractAll)
309         result+="seus respectivos arquivos:";
310       else
311         result+="suas respectivas documentações:";
312       return result;
313     }
314
315     /*! This is an introduction to the page with the list of all examples */
316     virtual QCString trExamplesDescription()
317     { return "Esta é a lista com todos os exemplos:"; }
318
319     /*! This is an introduction to the page with the list of related pages */
320     virtual QCString trRelatedPagesDescription()
321     { return "Esta é a lista com toda a documentação relacionadas:"; }
322
323     /*! This is an introduction to the page with the list of class/file groups */
324     virtual QCString trModulesDescription()
325     { return "Esta é a lista com todos os módulos:"; }
326
327     /*! This is used in HTML as the title of index.html. */
328     virtual QCString trDocumentation()
329     { return "\nDocumentação"; }
330
331     /*! This is used in LaTeX as the title of the chapter with the
332      * index of all groups.
333      */
334     virtual QCString trModuleIndex()
335     { return "Índice dos Módulos"; }
336
337     /*! This is used in LaTeX as the title of the chapter with the
338      * class hierarchy.
339      */
340     virtual QCString trHierarchicalIndex()
341     { return "Índice Hierárquico"; }
342
343     /*! This is used in LaTeX as the title of the chapter with the
344      * annotated compound index.
345      */
346     virtual QCString trCompoundIndex()
347     {
348       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
349       {
350         return "Índice das Estruturas de Dados";
351       }
352       else
353       {
354         return "Índice dos Componentes";
355       }
356     }
357
358     /*! This is used in LaTeX as the title of the chapter with the
359      * list of all files.
360      */
361     virtual QCString trFileIndex()
362     { return "Índice dos Arquivos"; }
363
364     /*! This is used in LaTeX as the title of the chapter containing
365      *  the documentation of all groups.
366      */
367     virtual QCString trModuleDocumentation()
368     { return "Módulos"; }
369
370     /*! This is used in LaTeX as the title of the chapter containing
371      *  the documentation of all classes, structs and unions.
372      */
373     virtual QCString trClassDocumentation()
374     {
375       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
376       {
377         return "Estruturas";
378       }
379       else
380       {
381         return "Classes";
382       }
383     }
384
385     /*! This is used in LaTeX as the title of the chapter containing
386      *  the documentation of all files.
387      */
388     virtual QCString trFileDocumentation()
389     { return "Arquivos"; }
390
391     /*! This is used in LaTeX as the title of the chapter containing
392      *  the documentation of all examples.
393      */
394     virtual QCString trExampleDocumentation()
395     { return "Exemplos"; }
396
397     /*! This is used in LaTeX as the title of the chapter containing
398      *  the documentation of all related pages.
399      */
400     virtual QCString trPageDocumentation()
401     { return "Documentação Relacionada"; }
402
403     /*! This is used in LaTeX as the title of the document */
404     virtual QCString trReferenceManual()
405     { return "Guia de Referência"; }
406
407     /*! This is used in the documentation of a file as a header before the
408      *  list of defines
409      */
410     virtual QCString trDefines()
411     { return "Definições e Macros"; }
412
413     /*! This is used in the documentation of a file as a header before the
414      *  list of function prototypes
415      */
416     virtual QCString trFuncProtos()
417     { return "Protótipos de Funções"; }
418
419     /*! This is used in the documentation of a file as a header before the
420      *  list of typedefs
421      */
422     virtual QCString trTypedefs()
423     { return "Definições de Tipos"; }
424
425     /*! This is used in the documentation of a file as a header before the
426      *  list of enumerations
427      */
428     virtual QCString trEnumerations()
429     { return "Enumerações"; }
430
431     /*! This is used in the documentation of a file as a header before the
432      *  list of (global) functions
433      */
434     virtual QCString trFunctions()
435     { return "Funções"; }
436
437     /*! This is used in the documentation of a file as a header before the
438      *  list of (global) variables
439      */
440     virtual QCString trVariables()
441     { return "Variáveis"; }
442
443     /*! This is used in the documentation of a file as a header before the
444      *  list of (global) variables
445      */
446     virtual QCString trEnumerationValues()
447     { return "Valores enumerados"; }
448
449     /*! This is used in the documentation of a file before the list of
450      *  documentation blocks for defines
451      */
452     virtual QCString trDefineDocumentation()
453     { return "Definições e macros"; }
454
455     /*! This is used in the documentation of a file/namespace before the list
456      *  of documentation blocks for function prototypes
457      */
458     virtual QCString trFunctionPrototypeDocumentation()
459     { return "Protótipos das funções"; }
460
461     /*! This is used in the documentation of a file/namespace before the list
462      *  of documentation blocks for typedefs
463      */
464     virtual QCString trTypedefDocumentation()
465     { return "Definições dos tipos"; }
466
467     /*! This is used in the documentation of a file/namespace before the list
468      *  of documentation blocks for enumeration types
469      */
470     virtual QCString trEnumerationTypeDocumentation()
471     { return "Enumerações"; }
472
473     /*! This is used in the documentation of a file/namespace before the list
474      *  of documentation blocks for functions
475      */
476     virtual QCString trFunctionDocumentation()
477     { return "Funções"; }
478
479     /*! This is used in the documentation of a file/namespace before the list
480      *  of documentation blocks for variables
481      */
482     virtual QCString trVariableDocumentation()
483     { return "Variáveis"; }
484
485     /*! This is used in the documentation of a file/namespace/group before
486      *  the list of links to documented compounds
487      */
488     virtual QCString trCompounds()
489     {
490       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
491       {
492         return "Estruturas de Dados";
493       }
494       else
495       {
496         return "Componentes";
497       }
498     }
499
500     /*! This is used in the standard footer of each page and indicates when
501      *  the page was generated
502      */
503     virtual QCString trGeneratedAt(const char *date,const char *projName)
504     {
505       QCString result=(QCString)"Gerado em "+date;
506       if (projName) result+=(QCString)" para "+projName;
507       result+=(QCString)" por";
508       return result;
509     }
510     /*! This is part of the sentence used in the standard footer of each page.
511      */
512     virtual QCString trWrittenBy()
513     {
514       return "escrito por";
515     }
516
517     /*! this text is put before a class diagram */
518     virtual QCString trClassDiagram(const char *clName)
519     {
520       return (QCString)"Diagrama de Hierarquia para "+clName+":";
521     }
522
523     /*! this text is generated when the \\internal command is used. */
524     virtual QCString trForInternalUseOnly()
525     { return "Apenas para uso interno."; }
526
527     /*! this text is generated when the \\warning command is used. */
528     virtual QCString trWarning()
529     { return "Aviso"; }
530
531     /*! this text is generated when the \\version command is used. */
532     virtual QCString trVersion()
533     { return "Versão"; }
534
535     /*! this text is generated when the \\date command is used. */
536     virtual QCString trDate()
537     { return "Data"; }
538
539     /*! this text is generated when the \\return command is used. */
540     virtual QCString trReturns()
541     { return "Retorna"; }
542
543     /*! this text is generated when the \\sa command is used. */
544     virtual QCString trSeeAlso()
545     { return "Veja também"; }
546
547     /*! this text is generated when the \\param command is used. */
548     virtual QCString trParameters()
549     { return "Parâmetros"; }
550
551     /*! this text is generated when the \\exception command is used. */
552     virtual QCString trExceptions()
553     { return "Exceções"; }
554
555     /*! this text is used in the title page of a LaTeX document. */
556     virtual QCString trGeneratedBy()
557     { return "Gerado por"; }
558
559 //////////////////////////////////////////////////////////////////////////
560 // new since 0.49-990307
561 //////////////////////////////////////////////////////////////////////////
562
563     /*! used as the title of page containing all the index of all namespaces. */
564     virtual QCString trNamespaceList()
565     { return "Lista de Namespaces"; }
566
567     /*! used as an introduction to the namespace list */
568     virtual QCString trNamespaceListDescription(bool extractAll)
569     {
570       QCString result="Esta é a lista de todos os Namespaces ";
571       if (!extractAll) result+="documentados ";
572       result+="com suas respectivas descrições:";
573       return result;
574     }
575
576     /*! used in the class documentation as a header before the list of all
577      *  friends of a class
578      */
579     virtual QCString trFriends()
580     { return "Amigas"; }
581
582 //////////////////////////////////////////////////////////////////////////
583 // new since 0.49-990405
584 //////////////////////////////////////////////////////////////////////////
585
586     /*! used in the class documentation as a header before the list of all
587      * related classes
588      */
589     virtual QCString trRelatedFunctionDocumentation()
590     { return "Amigas e Funções Relacionadas"; }
591
592 //////////////////////////////////////////////////////////////////////////
593 // new since 0.49-990425
594 //////////////////////////////////////////////////////////////////////////
595
596     /*! used as the title of the HTML page of a class/struct/union */
597     virtual QCString trCompoundReference(const char *clName,
598                                     ClassDef::CompoundType compType,
599                                     bool isTemplate)
600     {
601       QCString result="Referência da";
602       if (isTemplate) result+=" Template de";
603       switch(compType)
604       {
605         case ClassDef::Class:      result+=" Classe "; break;
606         case ClassDef::Struct:     result+=" Estrutura "; break;
607         case ClassDef::Union:      result+=" União "; break;
608         case ClassDef::Interface:  result+=" Interface "; break;
609         case ClassDef::Protocol:   result+=" Protocolo "; break;
610         case ClassDef::Category:   result+=" Categoria "; break;
611         case ClassDef::Exception:  result+=" Exceção "; break;
612       }
613       result+=(QCString)clName;
614       return result;
615     }
616
617     /*! used as the title of the HTML page of a file */
618     virtual QCString trFileReference(const char *fileName)
619     {
620       QCString result = "Referência do Arquivo ";
621       result += fileName;
622       return result;
623     }
624
625     /*! used as the title of the HTML page of a namespace */
626     virtual QCString trNamespaceReference(const char *namespaceName)
627     {
628       QCString result ="Refência do Namespace ";
629       result += namespaceName;
630       return result;
631     }
632
633     virtual QCString trPublicMembers()
634     { return "Métodos Públicos"; }
635     virtual QCString trPublicSlots()
636     { return "Slots Públicos"; }
637     virtual QCString trSignals()
638     { return "Sinais"; }
639     virtual QCString trStaticPublicMembers()
640     { return "Métodos Públicos Estáticos"; }
641     virtual QCString trProtectedMembers()
642     { return "Métodos Protegidos"; }
643     virtual QCString trProtectedSlots()
644     { return "Slots Protegidos"; }
645     virtual QCString trStaticProtectedMembers()
646     { return "Métodos Protegidos Estáticos"; }
647     virtual QCString trPrivateMembers()
648     { return "Métodos Privados"; }
649     virtual QCString trPrivateSlots()
650     { return "Slots Privados"; }
651     virtual QCString trStaticPrivateMembers()
652     { return "Métodos Privados Estáticos"; }
653
654     /*! this function is used to produce a comma-separated list of items.
655      *  use generateMarker(i) to indicate where item i should be put.
656      */
657     virtual QCString trWriteList(int numEntries)
658     {
659       QCString result;
660       int i;
661       // the inherits list contain `numEntries' classes
662       for (i=0;i<numEntries;i++)
663       {
664         // use generateMarker to generate placeholders for the class links!
665         result+=generateMarker(i); // generate marker for entry i in the list
666                                    // (order is left to right)
667
668         if (i!=numEntries-1)  // not the last entry, so we need a separator
669         {
670           if (i<numEntries-2) // not the fore last entry
671             result+=", ";
672           else                // the fore last entry
673             result+=" e ";
674         }
675       }
676       return result;
677     }
678
679     /*! used in class documentation to produce a list of base classes,
680      *  if class diagrams are disabled.
681      */
682     virtual QCString trInheritsList(int numEntries)
683     {
684       return "Herdeiro de " + trWriteList(numEntries) + ".";
685     }
686
687     /*! used in class documentation to produce a list of super classes,
688      *  if class diagrams are disabled.
689      */
690     virtual QCString trInheritedByList(int numEntries)
691     {
692       return "Superclasse de "+trWriteList(numEntries)+".";
693     }
694
695     /*! used in member documentation blocks to produce a list of
696      *  members that are hidden by this one.
697      */
698     virtual QCString trReimplementedFromList(int numEntries)
699     {
700       return "Reimplementação de "+trWriteList(numEntries)+".";
701     }
702
703     /*! used in member documentation blocks to produce a list of
704      *  all member that overwrite the implementation of this member.
705      */
706     virtual QCString trReimplementedInList(int numEntries)
707     {
708       return "Reimplementado por "+trWriteList(numEntries)+".";
709     }
710
711     /*! This is put above each page as a link to all members of namespaces. */
712     virtual QCString trNamespaceMembers()
713     { return "Membros do Namespace"; }
714
715     /*! This is an introduction to the page with all namespace members */
716     virtual QCString trNamespaceMemberDescription(bool extractAll)
717     {
718       QCString result="Esta é a lista com todos os membros do Namespace ";
719       if (!extractAll) result+="documentados ";
720       result+="com referências para ";
721       if (extractAll)
722         result+="a documentação de seus respectivos Namespaces:";
723       else
724         result+="os seus respectivos namespaces:";
725       return result;
726     }
727     /*! This is used in LaTeX as the title of the chapter with the
728      *  index of all namespaces.
729      */
730     virtual QCString trNamespaceIndex()
731     { return "Namespaces"; }
732
733     /*! This is used in LaTeX as the title of the chapter containing
734      *  the documentation of all namespaces.
735      */
736     virtual QCString trNamespaceDocumentation()
737     { return "Namespaces"; }
738
739 //////////////////////////////////////////////////////////////////////////
740 // new since 0.49-990522
741 //////////////////////////////////////////////////////////////////////////
742
743     /*! This is used in the documentation before the list of all
744      *  namespaces in a file.
745      */
746     virtual QCString trNamespaces()
747     { return "Namespaces"; }
748
749 //////////////////////////////////////////////////////////////////////////
750 // new since 0.49-990728
751 //////////////////////////////////////////////////////////////////////////
752
753     /*! This is put at the bottom of a class documentation page and is
754      *  followed by a list of files that were used to generate the page.
755      */
756     virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType,
757         bool single)
758     { // here s is one of " Class", " Struct" or " Union"
759       // single is true implies a single file
760       QCString result=(QCString)"A documentação para esta ";
761       switch(compType)
762       {
763         case ClassDef::Class:      result+="classe "; break;
764         case ClassDef::Struct:     result+="estrutura "; break;
765         case ClassDef::Union:      result+="união "; break;
766         case ClassDef::Interface:  result+="interface "; break;
767         case ClassDef::Protocol:   result+="protocolo "; break;
768         case ClassDef::Category:   result+="categoria "; break;
769         case ClassDef::Exception:  result+="exceção "; break;
770       }
771       result+=" foi gerada a partir ";
772       if (single) result+="do seguinte arquivo:"; else result+="dos seguintes arquivos:";
773       return result;
774     }
775
776     /*! This is in the (quick) index as a link to the alphabetical compound
777      * list.
778      */
779     virtual QCString trAlphabeticalList()
780     { return "Lista Alfabética"; }
781
782 //////////////////////////////////////////////////////////////////////////
783 // new since 0.49-990901
784 //////////////////////////////////////////////////////////////////////////
785
786     /*! This is used as the heading text for the retval command. */
787     virtual QCString trReturnValues()
788     { return "Valores Retornados"; }
789
790     /*! This is in the (quick) index as a link to the main page (index.html)
791      */
792     virtual QCString trMainPage()
793     { return "Página Principal"; }
794
795     /*! This is used in references to page that are put in the LaTeX
796      *  documentation. It should be an abbreviation of the word page.
797      */
798     virtual QCString trPageAbbreviation()
799     { return "pag."; }
800
801 //////////////////////////////////////////////////////////////////////////
802 // new since 0.49-991003
803 //////////////////////////////////////////////////////////////////////////
804
805     virtual QCString trDefinedAtLineInSourceFile()
806     {
807       return "Definição na linha @0 do arquivo @1.";
808     }
809     virtual QCString trDefinedInSourceFile()
810     {
811       return "Definição no arquivo @0.";
812     }
813
814 //////////////////////////////////////////////////////////////////////////
815 // new since 0.49-991205
816 //////////////////////////////////////////////////////////////////////////
817
818     virtual QCString trDeprecated()
819     {
820       /*
821       * This note is for brazilians only.
822       * Esta é uma boa tradução para "deprecated"?
823       */
824       return "Descontinuado(a)";
825     }
826
827 //////////////////////////////////////////////////////////////////////////
828 // new since 1.0.0
829 //////////////////////////////////////////////////////////////////////////
830
831     /*! this text is put before a collaboration diagram */
832     virtual QCString trCollaborationDiagram(const char *clName)
833     {
834       return (QCString)"Diagrama de colaboração para "+clName+":";
835     }
836     /*! this text is put before an include dependency graph */
837     virtual QCString trInclDepGraph(const char *fName)
838     {
839       return (QCString)"Gráfico de dependência de inclusões para "+fName+":";
840     }
841     /*! header that is put before the list of constructor/destructors. */
842     virtual QCString trConstructorDocumentation()
843     {
844       return "Construtores & Destrutores";
845     }
846     /*! Used in the file documentation to point to the corresponding sources. */
847     virtual QCString trGotoSourceCode()
848     {
849       return "Vá para o código-fonte deste arquivo.";
850     }
851     /*! Used in the file sources to point to the corresponding documentation. */
852     virtual QCString trGotoDocumentation()
853     {
854       return "Vá para a documentação deste arquivo.";
855     }
856     /*! Text for the \\pre command */
857     virtual QCString trPrecondition()
858     {
859       return "Pré-Condição";
860     }
861     /*! Text for the \\post command */
862     virtual QCString trPostcondition()
863     {
864       return "Pós-Condição";
865     }
866     /*! Text for the \\invariant command */
867     virtual QCString trInvariant()
868     {
869       return "Invariante";
870     }
871     /*! Text shown before a multi-line variable/enum initialization */
872     virtual QCString trInitialValue()
873     {
874       return "Valor Inicial:";
875     }
876     /*! Text used the source code in the file index */
877     virtual QCString trCode()
878     {
879       return "código";
880     }
881     virtual QCString trGraphicalHierarchy()
882     {
883       return "Gráfico de Hierarquia de Classes";
884     }
885     virtual QCString trGotoGraphicalHierarchy()
886     {
887       return "Vá para o Gráfico de Hierarquia de Classes";
888     }
889     virtual QCString trGotoTextualHierarchy()
890     {
891       return "Vá para a Hierarquia de Classes (texto)";
892     }
893     virtual QCString trPageIndex()
894     {
895       return "Índice da Página";
896     }
897
898 //////////////////////////////////////////////////////////////////////////
899 // new since 1.1.0
900 //////////////////////////////////////////////////////////////////////////
901
902     virtual QCString trNote()
903     {
904       return "Observação";
905     }
906     virtual QCString trPublicTypes()
907     {
908       return "Tipos Públicos";
909     }
910     virtual QCString trPublicAttribs()
911     {
912       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
913       {
914         return "Campos de Dados";
915       }
916       else
917       {
918         return "Atributos Públicos";
919       }
920     }
921     virtual QCString trStaticPublicAttribs()
922     {
923       return "Atributos Estáticos Públicos";
924     }
925     virtual QCString trProtectedTypes()
926     {
927       return "Tipos Protegidos";
928     }
929     virtual QCString trProtectedAttribs()
930     {
931       return "Atributos Protegidos";
932     }
933     virtual QCString trStaticProtectedAttribs()
934     {
935       return "Atributos Estáticos Protegidos";
936     }
937     virtual QCString trPrivateTypes()
938     {
939       return "Tipos Privados";
940     }
941     virtual QCString trPrivateAttribs()
942     {
943       return "Atributos Privados";
944     }
945     virtual QCString trStaticPrivateAttribs()
946     {
947       return "Atributos Privados Estáticos";
948     }
949
950 //////////////////////////////////////////////////////////////////////////
951 // new since 1.1.3
952 //////////////////////////////////////////////////////////////////////////
953
954     /*! Used as a marker that is put before a todo item */
955     virtual QCString trTodo()
956     {
957       return "Futuras Atividades";
958     }
959     /*! Used as the header of the todo list */
960     virtual QCString trTodoList()
961     {
962       return "Lista de Futuras Atividades";
963     }
964
965 //////////////////////////////////////////////////////////////////////////
966 // new since 1.1.4
967 //////////////////////////////////////////////////////////////////////////
968
969     virtual QCString trReferencedBy()
970     {
971       return "Referenciado por";
972     }
973     virtual QCString trRemarks()
974     {
975       return "Anotações";
976     }
977     virtual QCString trAttention()
978     {
979       return "Atenção";
980     }
981     virtual QCString trInclByDepGraph()
982     {
983       return "Este grafo mostra quais arquivos estão direta ou indiretamente relacionados com este arquivo:";
984     }
985     virtual QCString trSince()
986     {
987       return "Desde";
988     }
989
990 //////////////////////////////////////////////////////////////////////////
991 // new since 1.1.5
992 //////////////////////////////////////////////////////////////////////////
993
994     /*! title of the graph legend page */
995     virtual QCString trLegendTitle()
996     {
997       return "Legenda do Grafo";
998     }
999     /*! page explaining how the dot graph's should be interpreted */
1000     virtual QCString trLegendDocs()
1001     {
1002       return
1003         "Esta página explica como interpretar os grafos gerados pelo doxygen.<p>\n"
1004         "Considere o seguinte exemplo:\n"
1005         "\\code\n"
1006         "/*! Invisible class because of truncation */\n"
1007         "class Invisible { };\n\n"
1008         "/*! Truncated class, inheritance relation is hidden */\n"
1009         "class Truncated : public Invisible { };\n\n"
1010         "/* Class not documented with doxygen comments */\n"
1011         "class Undocumented { };\n\n"
1012         "/*! Class that is inherited using public inheritance */\n"
1013         "class PublicBase : public Truncated { };\n\n"
1014         "/*! A template class */\n"
1015         "template<class T> class Templ { };\n\n"
1016         "/*! Class that is inherited using protected inheritance */\n"
1017         "class ProtectedBase { };\n\n"
1018         "/*! Class that is inherited using private inheritance */\n"
1019         "class PrivateBase { };\n\n"
1020         "/*! Class that is used by the Inherited class */\n"
1021         "class Used { };\n\n"
1022         "/*! Super class that inherits a number of other classes */\n"
1023         "class Inherited : public PublicBase,\n"
1024         "                  protected ProtectedBase,\n"
1025         "                  private PrivateBase,\n"
1026         "                  public Undocumented,\n"
1027         "                  public Templ<int>\n"
1028         "{\n"
1029         "  private:\n"
1030         "    Used *m_usedClass;\n"
1031         "};\n"
1032         "\\endcode\n"
1033         "Isto irá gerar o seguinte gráfo:"
1034         "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
1035         "<p>\n"
1036         "As caixas no grafo acima tem as seguintes interpretações:\n"
1037         "<ul>\n"
1038         "<li>Uma caixa inteiramente preta representa a estrutura ou a classe para qual "
1039         "o grafo foi gerado.\n"
1040         "<li>Uma caixa com bordas pretas denota uma estrutura ou classe documentada.\n"
1041         "<li>Uma caixa com bordas cinzas denota uma estrutura ou classe não documentada.\n"
1042
1043         "<li>Uma caixa com bordas vermelhas denota uma estrutura ou classe documentada para\n"
1044         "a qual nem todas as heranças ou componentes são mostradas no grafo. Um grafo é "
1045         "truncado quando este é maior que o tamanho especificado."
1046         "</ul>\n"
1047         "As setas tem os seguintes significados:\n"
1048         "<ul>\n"
1049         "<li>Uma seta azul escura é utilizada para denotar uma relação de herança "
1050         "pública entre duas classes.\n"
1051         "<li>Uma seta verde escura é utilizada para denotar uma herança protegida.\n"
1052         "<li>Uma seta vermelho escura é utilizada para denotar uma herança privada.\n"
1053         "<li>Uma seta púrpura pontilhada é usada se uma classe está contida ou é utilizada"
1054         "por outra classe. A seta é marcada com a(s) variável(eis) "
1055         "através das quais a classe ou estrutura apontada está acessível. \n"
1056         "</ul>\n";
1057     }
1058     /*! text for the link to the legend page */
1059     virtual QCString trLegend()
1060     {
1061       return "legenda";
1062     }
1063
1064 //////////////////////////////////////////////////////////////////////////
1065 // new since 1.2.0
1066 //////////////////////////////////////////////////////////////////////////
1067
1068     /*! Used as a marker that is put before a test item */
1069     virtual QCString trTest()
1070     {
1071       return "Teste";
1072     }
1073     /*! Used as the header of the test list */
1074     virtual QCString trTestList()
1075     {
1076       return "Lista de Testes";
1077     }
1078
1079 //////////////////////////////////////////////////////////////////////////
1080 // new since 1.2.1
1081 //////////////////////////////////////////////////////////////////////////
1082
1083     /*! Used as a section header for KDE-2 IDL methods */
1084     virtual QCString trDCOPMethods()
1085     {
1086       return "Métodos DCOP";
1087     }
1088
1089 //////////////////////////////////////////////////////////////////////////
1090 // new since 1.2.2
1091 //////////////////////////////////////////////////////////////////////////
1092
1093     /*! Used as a section header for IDL properties */
1094     virtual QCString trProperties()
1095     {
1096       return "Propriedades";
1097     }
1098     /*! Used as a section header for IDL property documentation */
1099     virtual QCString trPropertyDocumentation()
1100     {
1101       return "Propriedades";
1102     }
1103
1104 //////////////////////////////////////////////////////////////////////////
1105 // new since 1.2.4
1106 //////////////////////////////////////////////////////////////////////////
1107
1108     /*! Used for Java classes in the summary section of Java packages */
1109     virtual QCString trClasses()
1110     {
1111       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
1112       {
1113         return "Estruturas de Dados";
1114       }
1115       else
1116       {
1117         return "Classes";
1118       }
1119     }
1120     /*! Used as the title of a Java package */
1121     virtual QCString trPackage(const char *name)
1122     {
1123       return (QCString)"Pacote "+name;
1124     }
1125     /*! Title of the package index page */
1126     virtual QCString trPackageList()
1127     {
1128       return "Lista de Pacotes";
1129     }
1130     /*! The description of the package index page */
1131     virtual QCString trPackageListDescription()
1132     {
1133       return "Esta é a lista com os pacotes e suas respectivas descrições (se disponíveis):";
1134     }
1135     /*! The link name in the Quick links header for each page */
1136     virtual QCString trPackages()
1137     {
1138       return "Pacotes";
1139     }
1140     /*! Text shown before a multi-line define */
1141     virtual QCString trDefineValue()
1142     {
1143       return "Valor:";
1144     }
1145
1146 //////////////////////////////////////////////////////////////////////////
1147 // new since 1.2.5
1148 //////////////////////////////////////////////////////////////////////////
1149
1150     /*! Used as a marker that is put before a \\bug item */
1151     virtual QCString trBug()
1152     {
1153       return "Problema";
1154     }
1155     /*! Used as the header of the bug list */
1156     virtual QCString trBugList()
1157     {
1158       return "Lista de Problemas";
1159     }
1160
1161 //////////////////////////////////////////////////////////////////////////
1162 // new since 1.2.6
1163 //////////////////////////////////////////////////////////////////////////
1164
1165     /*! Used as ansicpg for RTF file
1166      *
1167      * The following table shows the correlation of Charset name, Charset Value and
1168      * <pre>
1169      * Codepage number:
1170      * Charset Name       Charset Value(hex)  Codepage number
1171      * ------------------------------------------------------
1172      * DEFAULT_CHARSET           1 (x01)
1173      * SYMBOL_CHARSET            2 (x02)
1174      * OEM_CHARSET             255 (xFF)
1175      * ANSI_CHARSET              0 (x00)            1252
1176      * RUSSIAN_CHARSET         204 (xCC)            1251
1177      * EE_CHARSET              238 (xEE)            1250
1178      * GREEK_CHARSET           161 (xA1)            1253
1179      * TURKISH_CHARSET         162 (xA2)            1254
1180      * BALTIC_CHARSET          186 (xBA)            1257
1181      * HEBREW_CHARSET          177 (xB1)            1255
1182      * ARABIC _CHARSET         178 (xB2)            1256
1183      * SHIFTJIS_CHARSET        128 (x80)             932
1184      * HANGEUL_CHARSET         129 (x81)             949
1185      * GB2313_CHARSET          134 (x86)             936
1186      * CHINESEBIG5_CHARSET     136 (x88)             950
1187      * </pre>
1188      *
1189      */
1190     virtual QCString trRTFansicp()
1191     {
1192       return "1252";
1193     }
1194
1195
1196     /*! Used as ansicpg for RTF fcharset
1197      *  \see trRTFansicp() for a table of possible values.
1198      */
1199     virtual QCString trRTFCharSet()
1200     {
1201       return "0";
1202     }
1203
1204     /*! Used as header RTF general index */
1205     virtual QCString trRTFGeneralIndex()
1206     {
1207       return "Índice";
1208     }
1209
1210     /*! This is used for translation of the word that will possibly
1211      *  be followed by a single name or by a list of names
1212      *  of the category.
1213      */
1214     virtual QCString trClass(bool first_capital, bool singular)
1215     {
1216       QCString result((first_capital ? "Classe" : "classe"));
1217       if (!singular)  result+="s";
1218       return result;
1219     }
1220
1221     /*! This is used for translation of the word that will possibly
1222      *  be followed by a single name or by a list of names
1223      *  of the category.
1224      */
1225     virtual QCString trFile(bool first_capital, bool singular)
1226     {
1227       QCString result((first_capital ? "Arquivo": "arquivo"));
1228       if (!singular)  result+="s";
1229       return result;
1230     }
1231
1232     /*! This is used for translation of the word that will possibly
1233      *  be followed by a single name or by a list of names
1234      *  of the category.
1235      */
1236     virtual QCString trNamespace(bool first_capital, bool singular)
1237     {
1238       QCString result((first_capital ? "Namespace" : "namespace"));
1239       if (!singular)  result+="s";
1240       return result;
1241     }
1242
1243     /*! This is used for translation of the word that will possibly
1244      *  be followed by a single name or by a list of names
1245      *  of the category.
1246      */
1247     virtual QCString trGroup(bool first_capital, bool singular)
1248     {
1249       QCString result((first_capital ? "Grupo" : "grupo"));
1250       if (!singular)  result+="s";
1251       return result;
1252     }
1253
1254     /*! This is used for translation of the word that will possibly
1255      *  be followed by a single name or by a list of names
1256      *  of the category.
1257      */
1258     virtual QCString trPage(bool first_capital, bool singular)
1259     {
1260       QCString result((first_capital ? "Página" : "página"));
1261       if (!singular)  result+="s";
1262       return result;
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 trMember(bool first_capital, bool singular)
1270     {
1271       QCString result((first_capital ? "Membro" : "membro"));
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 trGlobal(bool first_capital, bool singular)
1281     {
1282       QCString result((first_capital ? "Globa" : "globa"));
1283       if (!singular){
1284         result+="is";
1285       }else{
1286         result+="l";
1287       }
1288       return result;
1289     }
1290
1291 //////////////////////////////////////////////////////////////////////////
1292 // new since 1.2.7
1293 //////////////////////////////////////////////////////////////////////////
1294
1295     /*! This text is generated when the \\author command is used and
1296      *  for the author section in man pages. */
1297     virtual QCString trAuthor(bool first_capital, bool singular)
1298     {
1299       QCString result((first_capital ? "Autor" : "autor"));
1300       if (!singular)  result+="es";
1301       return result;
1302     }
1303
1304 //////////////////////////////////////////////////////////////////////////
1305 // new since 1.2.11
1306 //////////////////////////////////////////////////////////////////////////
1307
1308     /*! This text is put before the list of members referenced by a member
1309      */
1310     virtual QCString trReferences()
1311     {
1312       return "Referências";
1313     }
1314
1315 //////////////////////////////////////////////////////////////////////////
1316 // new since 1.2.13
1317 //////////////////////////////////////////////////////////////////////////
1318
1319     /*! used in member documentation blocks to produce a list of
1320      *  members that are implemented by this one.
1321      */
1322     virtual QCString trImplementedFromList(int numEntries)
1323     {
1324       return "Implementa "+trWriteList(numEntries)+".";
1325     }
1326
1327     /*! used in member documentation blocks to produce a list of
1328      *  all members that implementation this member.
1329      */
1330     virtual QCString trImplementedInList(int numEntries)
1331     {
1332       return "Implementado por "+trWriteList(numEntries)+".";
1333     }
1334
1335 //////////////////////////////////////////////////////////////////////////
1336 // new since 1.2.16
1337 //////////////////////////////////////////////////////////////////////////
1338
1339     /*! used in RTF documentation as a heading for the Table
1340      *  of Contents.
1341      */
1342     virtual QCString trRTFTableOfContents()
1343     {
1344       return "Conteúdo";
1345     }
1346
1347 //////////////////////////////////////////////////////////////////////////
1348 // new since 1.2.17
1349 //////////////////////////////////////////////////////////////////////////
1350
1351     /*! Used as the header of the list of item that have been
1352      *  flagged deprecated
1353      */
1354     virtual QCString trDeprecatedList()
1355     {
1356       return "Lista de Descontinuados(as)";
1357     }
1358
1359 //////////////////////////////////////////////////////////////////////////
1360 // new since 1.2.18
1361 //////////////////////////////////////////////////////////////////////////
1362
1363     /*! Used as a header for declaration section of the events found in
1364      * a C# program
1365      */
1366     virtual QCString trEvents()
1367     {
1368       return "Eventos";
1369     }
1370     /*! Header used for the documentation section of a class' events. */
1371     virtual QCString trEventDocumentation()
1372     {
1373       return "Eventos";
1374     }
1375
1376 //////////////////////////////////////////////////////////////////////////
1377 // new since 1.3
1378 //////////////////////////////////////////////////////////////////////////
1379
1380     /*! Used as a heading for a list of Java class types with package scope.
1381      */
1382     virtual QCString trPackageTypes()
1383     {
1384       return "Tipos do Pacote";
1385     }
1386
1387     /*! Used as a heading for a list of Java class functions with package
1388      * scope.
1389      */
1390     virtual QCString trPackageMembers()
1391     {
1392       return "Funções do Pacote";
1393     }
1394
1395     /*! Used as a heading for a list of static Java class functions with
1396      *  package scope.
1397      */
1398     virtual QCString trStaticPackageMembers()
1399     {
1400       return "Funções Estáticas do Pacote";
1401     }
1402
1403     /*! Used as a heading for a list of Java class variables with package
1404      * scope.
1405      */
1406     virtual QCString trPackageAttribs()
1407     {
1408       return "Atributos do Pacote";
1409     }
1410
1411     /*! Used as a heading for a list of static Java class variables with
1412      * package scope.
1413      */
1414     virtual QCString trStaticPackageAttribs()
1415     {
1416       return "Atributos Estáticos do Pacote";
1417     }
1418
1419 //////////////////////////////////////////////////////////////////////////
1420 // new since 1.3.1
1421 //////////////////////////////////////////////////////////////////////////
1422
1423     /*! Used in the quick index of a class/file/namespace member list page
1424      *  to link to the unfiltered list of all members.
1425      */
1426     virtual QCString trAll()
1427     {
1428       return "Todos";
1429     }
1430     /*! Put in front of the call graph for a function. */
1431     virtual QCString trCallGraph()
1432     {
1433       return "Este é o diagrama das funções utilizadas por esta função:";
1434     }
1435
1436 //////////////////////////////////////////////////////////////////////////
1437 // new since 1.3.3
1438 //////////////////////////////////////////////////////////////////////////
1439
1440     /*! When the search engine is enabled this text is put in the header
1441      *  of each page before the field where one can enter the text to search
1442      *  for.
1443      */
1444     virtual QCString trSearchForIndex()
1445     {
1446       return "Procurar por";
1447     }
1448     /*! This string is used as the title for the page listing the search
1449      *  results.
1450      */
1451     virtual QCString trSearchResultsTitle()
1452     {
1453       return "Resultado da Busca";
1454     }
1455     /*! This string is put just before listing the search results. The
1456      *  text can be different depending on the number of documents found.
1457      *  Inside the text you can put the special marker $num to insert
1458      *  the number representing the actual number of search results.
1459      *  The @a numDocuments parameter can be either 0, 1 or 2, where the
1460      *  value 2 represents 2 or more matches. HTML markup is allowed inside
1461      *  the returned string.
1462      */
1463     virtual QCString trSearchResults(int numDocuments)
1464     {
1465       if (numDocuments==0)
1466       {
1467         return "Nenhum documento foi encontrado.";
1468       }
1469       else if (numDocuments==1)
1470       {
1471         return "Apenas <b>1</b> documento foi encontrado.";
1472       }
1473       else
1474       {
1475         return "<b>$num</b> documentos encontrados. "
1476                "Os melhores resultados vem primeiro.";
1477       }
1478     }
1479     /*! This string is put before the list of matched words, for each search
1480      *  result. What follows is the list of words that matched the query.
1481      */
1482     virtual QCString trSearchMatches()
1483     {
1484       return "Resultados:";
1485     }
1486     
1487 //////////////////////////////////////////////////////////////////////////
1488 // new since 1.3.8
1489 //////////////////////////////////////////////////////////////////////////
1490
1491     /*! This is used in HTML as the title of page with source code for file filename
1492      */
1493     virtual QCString trSourceFile(QCString& filename)
1494     {
1495       return  "Código-Fonte de " + filename;
1496     }
1497
1498 //////////////////////////////////////////////////////////////////////////
1499 // new since 1.3.9
1500 //////////////////////////////////////////////////////////////////////////
1501
1502     /*! This is used as the name of the chapter containing the directory
1503      *  hierarchy.
1504      */
1505     virtual QCString trDirIndex()
1506     { return "Hierarquia de Diretórios"; }
1507
1508     /*! This is used as the name of the chapter containing the documentation
1509      *  of the directories.
1510      */
1511     virtual QCString trDirDocumentation()
1512     { return "Documentação do Directório"; }
1513
1514     /*! This is used as the title of the directory index and also in the
1515      *  Quick links of a HTML page, to link to the directory hierarchy.
1516      */
1517     virtual QCString trDirectories()
1518     { return "Diretórios"; }
1519
1520     /*! This returns a sentences that introduces the directory hierarchy. 
1521      *  and the fact that it is sorted alphabetically per level
1522      */
1523     virtual QCString trDirDescription()
1524     { return "Esta Hierarquia de Diretórios está parcialmente ordenada (ordem alfabética)"; }
1525
1526     /*! This returns the title of a directory page. The name of the
1527      *  directory is passed via \a dirName.
1528      */
1529     virtual QCString trDirReference(const char *dirName)
1530     {
1531         QCString result = "Referência do diretório ";
1532         result += dirName;
1533         return result;
1534     }
1535
1536     /*! This returns the word directory with or without starting capital
1537      *  (\a first_capital) and in sigular or plural form (\a singular).
1538      */
1539     virtual QCString trDir(bool first_capital, bool singular)
1540     { 
1541       QCString result((first_capital ? "Diretório" : "diretório"));
1542       if (!singular) result+="s";
1543       return result; 
1544     }
1545 //////////////////////////////////////////////////////////////////////////
1546 // new since 1.4.1
1547 //////////////////////////////////////////////////////////////////////////
1548
1549     /*! This text is added to the documentation when the \\overload command
1550      *  is used for a overloaded function.
1551      */
1552     virtual QCString trOverloadText()
1553     {
1554        return "Este é um método provido por conveniência. "
1555                 "Ele difere do método acima apenas na lista de "
1556                 "argumentos que devem ser utilizados.";
1557     }    
1558
1559 //////////////////////////////////////////////////////////////////////////
1560 // new since 1.4.6
1561 //////////////////////////////////////////////////////////////////////////
1562
1563     /*! This is used to introduce a caller (or called-by) graph */
1564     virtual QCString trCallerGraph()
1565     {
1566       return "Este é o diagrama das funções que utilizam esta função:";
1567     }
1568
1569     /*! This is used in the documentation of a file/namespace before the list 
1570      *  of documentation blocks for enumeration values
1571      */
1572     virtual QCString trEnumerationValueDocumentation()
1573     { return "Documentação da enumeração"; }
1574
1575   
1576 //////////////////////////////////////////////////////////////////////////
1577 // new since 1.5.4 (mainly for Fortran)
1578 //////////////////////////////////////////////////////////////////////////
1579     
1580     /*! header that is put before the list of member subprograms (Fortran). */
1581     virtual QCString trMemberFunctionDocumentationFortran()
1582     { return "Documentação de Função Membro/Subrotina"; }
1583
1584     /*! This is put above each page as a link to the list of annotated data types (Fortran). */    
1585     virtual QCString trCompoundListFortran()
1586     { return "Lista de Tipos de Dados"; }
1587
1588     /*! This is put above each page as a link to all members of compounds (Fortran). */
1589     virtual QCString trCompoundMembersFortran()
1590     { return "Campos de Dados"; }
1591
1592     /*! This is an introduction to the annotated compound list (Fortran). */
1593     virtual QCString trCompoundListDescriptionFortran()
1594     { return "Aqui estão os tipos de dados com descrições resumidas:"; }
1595
1596     /*! This is an introduction to the page with all data types (Fortran). */
1597     virtual QCString trCompoundMembersDescriptionFortran(bool extractAll)
1598     {
1599       QCString result="Esta é a lista de todos os membros ";
1600       if (!extractAll) result+="documentados ";
1601       result+="dos tipos de dados com links para ";
1602       if (extractAll) 
1603       {
1604         result+="a documentação dos tipos de dados para cada membro:";
1605       }
1606       else 
1607       {
1608         result+="os tipos de dados a que pertencem:";
1609       }
1610       return result;
1611     }
1612
1613     /*! This is used in LaTeX as the title of the chapter with the 
1614      * annotated compound index (Fortran).
1615      */
1616     virtual QCString trCompoundIndexFortran()
1617     { return "Índice de Tipos de Dados"; }
1618
1619     /*! This is used in LaTeX as the title of the chapter containing
1620      *  the documentation of all data types (Fortran).
1621      */
1622     virtual QCString trTypeDocumentation()
1623     { return "Documentação dos Tipos de Dados"; }
1624
1625     /*! This is used in the documentation of a file as a header before the 
1626      *  list of (global) subprograms (Fortran).
1627      */
1628     virtual QCString trSubprograms()
1629     { return "Funções/Subrotinas"; }
1630
1631     /*! This is used in the documentation of a file/namespace before the list 
1632      *  of documentation blocks for subprograms (Fortran)
1633      */
1634     virtual QCString trSubprogramDocumentation()
1635     { return "Documentação da Função/Subrotina"; }
1636
1637     /*! This is used in the documentation of a file/namespace/group before 
1638      *  the list of links to documented compounds (Fortran)
1639      */
1640      virtual QCString trDataTypes()
1641     { return "Tipos de Dados"; }
1642     
1643     /*! used as the title of page containing all the index of all modules (Fortran). */
1644     virtual QCString trModulesList()
1645     { return "Lista de Módulos"; }
1646
1647     /*! used as an introduction to the modules list (Fortran) */
1648     virtual QCString trModulesListDescription(bool extractAll)
1649     {
1650       QCString result="Esta é a lista de todos os módulos ";
1651       if (!extractAll) result+="documentados ";
1652       result+="com descrições resumidas:";
1653       return result;
1654     }
1655
1656     /*! used as the title of the HTML page of a module/type (Fortran) */
1657     virtual QCString trCompoundReferenceFortran(const char *clName,
1658                                     ClassDef::CompoundType compType,
1659                                     bool isTemplate)
1660     {
1661       QCString result = (QCString)"Referência ";
1662
1663       if (isTemplate) result+="da Template ";
1664       
1665       switch(compType)
1666       {
1667         case ClassDef::Class:      result+="do Modulo "; break;
1668         case ClassDef::Struct:     result+="do Tipo "; break;
1669         case ClassDef::Union:      result+="da União "; break;
1670         case ClassDef::Interface:  result+="da Interface "; break;
1671         case ClassDef::Protocol:   result+="do Protocolo "; break;
1672         case ClassDef::Category:   result+="da Categoria "; break;
1673         case ClassDef::Exception:  result+="da Exceção "; break;
1674       }
1675       result += clName; 
1676      
1677       return result;
1678     }
1679     /*! used as the title of the HTML page of a module (Fortran) */
1680     virtual QCString trModuleReference(const char *namespaceName)
1681     {
1682       QCString result = "Referência do Módulo ";
1683       result += namespaceName;        
1684       return result;
1685     }
1686     
1687     /*! This is put above each page as a link to all members of modules. (Fortran) */
1688     virtual QCString trModulesMembers()
1689     { return "Membros do Módulo"; }
1690
1691     /*! This is an introduction to the page with all modules members (Fortran) */
1692     virtual QCString trModulesMemberDescription(bool extractAll)
1693     { 
1694       QCString result="Esta é a lista de todos os membros ";
1695       if (!extractAll) result+="documentados ";
1696       result+="dos módulos com links para ";
1697       if (extractAll) 
1698       {
1699         result+="a documentação dos módulos para cada membro:";
1700       }
1701       else 
1702       {
1703         result+="os módulos a que pertencem:";
1704       }
1705       return result;
1706     }
1707
1708     /*! This is used in LaTeX as the title of the chapter with the 
1709      *  index of all modules (Fortran).
1710      */
1711     virtual QCString trModulesIndex()
1712     { return "Índice dos Módulos"; }
1713     
1714     /*! This is used for translation of the word that will possibly
1715      *  be followed by a single name or by a list of names 
1716      *  of the category.
1717      */
1718     virtual QCString trModule(bool first_capital, bool singular)
1719     {       
1720       QCString result((first_capital ? "Modulo" : "modulo"));
1721       if (!singular)  result+="s";
1722       return result; 
1723     }
1724     /*! This is put at the bottom of a module documentation page and is
1725      *  followed by a list of files that were used to generate the page.
1726      */
1727     virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType,
1728         bool single)
1729     { // here s is one of " Module", " Struct" or " Union"
1730       // single is true implies a single file
1731       QCString result=(QCString)"A documentação para ";
1732       switch(compType)
1733       {
1734         case ClassDef::Class:      result+="este modulo "; break;
1735         case ClassDef::Struct:     result+="este tipo "; break;
1736         case ClassDef::Union:      result+="esta união "; break;
1737         case ClassDef::Interface:  result+="esta interface "; break;
1738         case ClassDef::Protocol:   result+="esto protocolo "; break;
1739         case ClassDef::Category:   result+="esta categoria "; break;
1740         case ClassDef::Exception:  result+="esta exceção "; break;
1741       }
1742       
1743       result+=" foi gerada a partir do";
1744       if (single) 
1745         result+=" seguinte arquivo:";
1746       else
1747         result+="s seguintes arquivos:";
1748       
1749       return result;
1750     }
1751     /*! This is used for translation of the word that will possibly
1752      *  be followed by a single name or by a list of names 
1753      *  of the category.
1754      */
1755     virtual QCString trType(bool first_capital, bool singular)
1756     { 
1757       QCString result((first_capital ? "Tipo" : "tipo"));
1758       if (!singular)  result+="s";
1759       return result; 
1760     }
1761     /*! This is used for translation of the word that will possibly
1762      *  be followed by a single name or by a list of names 
1763      *  of the category.
1764      */
1765     virtual QCString trSubprogram(bool first_capital, bool singular)
1766     { 
1767       QCString result((first_capital ? "Subprograma" : "subprograma"));
1768       if (!singular)  result+="s";
1769       return result; 
1770     }
1771
1772     /*! C# Type Contraint list */
1773     virtual QCString trTypeConstraints()
1774     {
1775       return "Restrições do Tipo";
1776     }    
1777
1778 //////////////////////////////////////////////////////////////////////////
1779 // new since 1.6.0 (mainly for the new search engine)
1780 //////////////////////////////////////////////////////////////////////////
1781
1782     /*! directory relation for \a name
1783      */
1784     virtual QCString trDirRelation(const char *name)
1785     {
1786       return "Relação " + QCString(name);
1787     }
1788
1789     /*! Loading message shown when loading search results */
1790     virtual QCString trLoading()
1791     {
1792       return "Carregando...";
1793     }
1794
1795     /*! Label used for search results in the global namespace */
1796     virtual QCString trGlobalNamespace()
1797     {
1798       return "Namespace global";
1799     }
1800
1801     /*! Message shown while searching */
1802     virtual QCString trSearching()
1803     {
1804       return "Procurando...";
1805     }
1806
1807     /*! Text shown when no search results are found */
1808     virtual QCString trNoMatches()
1809     {
1810       return "Nenhuma entrada encontrada";
1811     }
1812
1813 //////////////////////////////////////////////////////////////////////////
1814 // new since 1.6.3 (missing items for the directory pages)
1815 //////////////////////////////////////////////////////////////////////////
1816
1817     /*! introduction text for the directory dependency graph */
1818     virtual QCString trDirDependency(const char *name)
1819     {
1820       return (QCString)"Grafo de dependência de diretórios para "+name;
1821     }
1822
1823     /*! when clicking a directory dependency label, a page with a
1824      *  table is shown. The heading for the first column mentions the
1825      *  source file that has a relation to another file.
1826      */
1827     virtual QCString trFileIn(const char *name)
1828     {
1829       return (QCString)"Arquivo em "+name;
1830     }
1831
1832     /*! when clicking a directory dependency label, a page with a
1833      *  table is shown. The heading for the second column mentions the
1834      *  destination file that is included.
1835      */
1836     virtual QCString trIncludesFileIn(const char *name)
1837     {
1838       return (QCString)"Inclui arquivo em "+name;
1839     }
1840
1841     /** Compiles a date string. 
1842      *  @param year Year in 4 digits
1843      *  @param month Month of the year: 1=January
1844      *  @param day Day of the Month: 1..31
1845      *  @param dayOfWeek Day of the week: 1=Monday..7=Sunday
1846      *  @param hour Hour of the day: 0..23
1847      *  @param minutes Minutes in the hour: 0..59
1848      *  @param seconds Seconds within the minute: 0..59
1849      *  @param includeTime Include time in the result string?
1850      */
1851     virtual QCString trDateTime(int year,int month,int day,int dayOfWeek,
1852                                 int hour,int minutes,int seconds,
1853                                 bool includeTime)
1854     {
1855       static const char *days[]   = { "Segunda","Terça","Quarta","Quinta","Sexta","Sábado","Domingo" };
1856       static const char *months[] = { "Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro" };
1857       QCString sdate;
1858       sdate.sprintf("%s, %d de %s de %d",days[dayOfWeek-1],day,months[month-1],year);
1859       if (includeTime)
1860       {
1861         QCString stime;
1862         stime.sprintf(" %.2d:%.2d:%.2d",hour,minutes,seconds);
1863         sdate+=stime;
1864       }
1865       return sdate;
1866     }
1867     
1868 //////////////////////////////////////////////////////////////////////////
1869 // new since 1.7.5
1870 //////////////////////////////////////////////////////////////////////////
1871
1872     /*! Header for the page with bibliographic citations */
1873     virtual QCString trCiteReferences()
1874     { return "Referências Bibliográficas"; }
1875
1876     /*! Text for copyright paragraph */
1877     virtual QCString trCopyright()
1878     {
1879       // Note: I will left it as is because "Direitos autorais" may not fit
1880       // in the text.
1881       return "Copyright";
1882     }
1883
1884     /*! Header for the graph showing the directory dependencies */
1885     virtual QCString trDirDepGraph(const char *name)
1886     { return QCString("Grafo de dependências do diretório ")+name+":"; }    
1887 };
1888 #endif