Imported Upstream version 1.8.15
[platform/upstream/doxygen.git] / src / translator_br.h
1 /******************************************************************************
2  * Copyright (C) 1997-2018 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
14  *    Maintainer:
15  *        Fabio "FJTC" Jun Takada Chino <fjtc at brokenbits dot com dot br>
16  *    Collaborators:
17  *        Emerson Ferreira <nuskorpios at gmail dot com>
18  *    Thanks to Jorge Ramos, Fernando Carijo and others for their contributions.
19  *
20  * History:
21  * 20180612:
22  *      - Updated to 1.8.15;
23  * 20170123:
24  *  - Full translation revision;
25  *  - trLegendDocs() is now synchronized with the English version;
26  *  - Merging most of the suggestions sent by Emerson Ferreira;
27  * 20131129:
28  *  - Updated to 1.8.5;
29  *  - Translation in the method trFileMembers() fixed;
30  *  - Translation in the method trEnumerationValues() fixed;
31  * 20110628:
32  *  - Updated to 1.7.5;
33  * 20100531:
34  *  - Updated to 1.6.3;
35  * 20091218:
36  *  - Updated to 1.6.1;
37  *  - Copyright year updated;
38  *  - Translation updates suggested by Fernando Carijó added;
39  * 20080709:
40  *      - References to MAX_DOT_GRAPH_HEIGHT removed from trLegendDocs().
41  * 20080206:
42  *  - Method trTypeContraints() renamed to trTypeConstraints().
43  * 20071216:
44  *      - New methods since 1.5.4 updated.
45  * Previous history removed from this version.
46  */
47 #ifndef TRANSLATOR_BR_H
48 #define TRANSLATOR_BR_H
49
50 class TranslatorBrazilian : public TranslatorAdapter_1_8_15
51 {
52   public:
53
54     // --- Language control methods -------------------
55
56     /*! Used for identification of the language. The identification
57      * should not be translated. It should be replaced by the name
58      * of the language in English using lower-case characters only
59      * (e.g. "czech", "japanese", "russian", etc.). It should be equal to
60      * the identification used in language.cpp.
61      */
62     virtual QCString idLanguage()
63     {
64       return "brazilian";
65     }
66
67     /*! Used to get the LaTeX command(s) for the language support.
68      *  This method should return string with commands that switch
69      *  LaTeX to the desired language.  For example
70      *  <pre>"\\usepackage[german]{babel}\n"
71      *  </pre>
72      *  or
73      *  <pre>"\\usepackage{polski}\n"
74      *  "\\usepackage[latin2]{inputenc}\n"
75      *  "\\usepackage[T1]{fontenc}\n"
76      *  </pre>
77      *
78      * The English LaTeX does not use such commands.  Because of this
79      * the empty string is returned in this implementation.
80      */
81     virtual QCString latexLanguageSupportCommand()
82     {
83       return "\\usepackage[brazil]{babel}";
84     }
85
86     // --- Language translation methods -------------------
87
88     /*! used in the compound documentation before a list of related functions. */
89     virtual QCString trRelatedFunctions()
90     { return "Funções Relacionadas"; }
91
92     /*! subscript for the related functions. */
93     virtual QCString trRelatedSubscript()
94     { return "(Note que estas não são funções membros.)"; }
95
96     /*! header that is put before the detailed description of files, classes and namespaces. */
97     virtual QCString trDetailedDescription()
98     { return "Descrição detalhada"; }
99
100     /*! header that is put before the list of typedefs. */
101     virtual QCString trMemberTypedefDocumentation()
102     { return "Definições de tipos"; }
103
104     /*! header that is put before the list of enumerations. */
105     virtual QCString trMemberEnumerationDocumentation()
106     { return "Enumerações"; }
107
108     /*! header that is put before the list of member functions. */
109     virtual QCString trMemberFunctionDocumentation()
110     {
111       if (Config_getBool(OPTIMIZE_OUTPUT_JAVA))
112       {
113         return "Métodos";
114       }
115       else
116       {
117         return "Funções membros";
118       }
119     }
120
121     /*! header that is put before the list of member attributes. */
122     virtual QCString trMemberDataDocumentation()
123     {
124       if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
125       {
126         return "Campos";
127       }
128       else
129       {
130         return "Atributos";
131       }
132     }
133
134     /*! this is the text of a link put after brief descriptions. */
135     virtual QCString trMore()
136     { return "Mais..."; }
137
138     /*! put in the class documentation */
139     virtual QCString trListOfAllMembers()
140     { return "Lista de todos os Membros"; }
141
142     /*! used as the title of the "list of all members" page of a class */
143     virtual QCString trMemberList()
144     { return "Lista dos Membros"; }
145
146     /*! this is the first part of a sentence that is followed by a class name */
147     virtual QCString trThisIsTheListOfAllMembers()
148     { return "Esta é a lista de todos os membros de "; }
149
150     /*! this is the remainder of the sentence after the class name */
151     virtual QCString trIncludingInheritedMembers()
152     { return ", incluindo os membros herdados."; }
153
154     /*! this is put at the author sections at the bottom of man pages.
155      *  parameter s is name of the project name.
156      */
157     virtual QCString trGeneratedAutomatically(const char *s)
158     { QCString result="Gerado automaticamente por Doxygen";
159       if (s) result+=(QCString)" para "+s;
160       result+=" a partir do código-fonte.";
161       return result;
162     }
163
164     /*! put after an enum name in the list of all members */
165     virtual QCString trEnumName()
166     { return "Enumeração"; }
167
168     /*! put after an enum value in the list of all members */
169     virtual QCString trEnumValue()
170     { return "Valor da enumeração"; }
171
172     /*! put after an undocumented member in the list of all members */
173     virtual QCString trDefinedIn()
174     { return "definido(a) em"; }
175
176     // quick reference sections
177
178     /*! This is put above each page as a link to the list of all groups of
179      *  compounds or files (see the \\group command).
180      */
181     virtual QCString trModules()
182     { return "Módulos"; }
183
184     /*! This is put above each page as a link to the class hierarchy */
185     virtual QCString trClassHierarchy()
186     { return "Hierarquia de Classes"; }
187
188     /*! This is put above each page as a link to the list of annotated classes */
189     virtual QCString trCompoundList()
190     {
191       if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
192       {
193         return "Estruturas de Dados";
194       }
195       else
196       {
197         return "Lista de Classes";
198       }
199     }
200
201     /*! This is put above each page as a link to the list of documented files */
202     virtual QCString trFileList()
203     { return "Lista de Arquivos"; }
204
205     /*! This is put above each page as a link to all members of compounds. */
206     virtual QCString trCompoundMembers()
207     {
208       if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
209       {
210         return "Campos de Dados";
211       }
212       else
213       {
214         return "Membros de classe";
215       }
216     }
217
218     /*! This is put above each page as a link to all members of files. */
219     virtual QCString trFileMembers()
220     {
221       if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
222       {
223         return "Ítens globais";
224       }
225       else
226       {
227         return "Membros dos Arquivos";
228       }
229     }
230
231     /*! This is put above each page as a link to all related pages. */
232     virtual QCString trRelatedPages()
233     { return "Páginas relacionadas"; }
234
235     /*! This is put above each page as a link to all examples. */
236     virtual QCString trExamples()
237     { return "Exemplos"; }
238
239     /*! This is put above each page as a link to the search engine. */
240     virtual QCString trSearch()
241     { return "Busca"; }
242
243     /*! This is an introduction to the class hierarchy. */
244     virtual QCString trClassHierarchyDescription()
245     { return "Esta lista de hierarquias está parcialmente ordenada (ordem alfabética):"; }
246
247     /*! This is an introduction to the list with all files. */
248     virtual QCString trFileListDescription(bool extractAll)
249     {
250       QCString result="Esta é a lista de todos os arquivos ";
251       if (!extractAll) result+="documentados ";
252       result+="e suas respectivas descrições:";
253       return result;
254     }
255
256     /*! This is an introduction to the annotated compound list. */
257     virtual QCString trCompoundListDescription()
258     {
259       if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
260       {
261         return "Aqui estão as estruturas de dados, uniões e suas respectivas descrições:";
262       }
263       else
264       {
265         return "Aqui estão as classes, estruturas, uniões e interfaces e suas respectivas descrições:";
266       }
267     }
268
269     /*! This is an introduction to the page with all class members. */
270     virtual QCString trCompoundMembersDescription(bool extractAll)
271     {
272       QCString result="Esta é a lista de ";
273
274       if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
275       {
276         result+="todas as estruturas e campos de uniões ";
277         if (!extractAll)
278         {
279           result+="documentados";
280         }
281       }
282       else
283       {
284         result+="todos os membros de classes ";
285         if (!extractAll)
286         {
287           result+="documentados";
288         }
289       }
290       result+=" com referências para ";
291       if (!extractAll)
292       {
293         if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
294         {
295           result+="a documentação da estrutura/união de cada campo:";
296         }
297         else
298         {
299           result+="a documentação da classe de cada membro:";
300         }
301       }
302       else
303       {
304         if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
305         {
306           result+="a estrutura/união a que pertencem:";
307         }
308         else
309         {
310           result+="a classe a que pertencem:";
311         }
312       }
313       return result;
314     }
315
316     /*! This is an introduction to the page with all file members. */
317     virtual QCString trFileMembersDescription(bool extractAll)
318     {
319       QCString result="Esta é a lista de ";
320       if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
321       {
322         result+="todas as funções, variáveis, definições, enumerações e definições de tipos ";
323         if (!extractAll) result+="documentadas ";
324       }
325       else
326       {
327         result+="todos os membros dos arquivos ";
328         if (!extractAll) result+="documentados ";
329       }
330       result+="com referências para ";
331       if (extractAll)
332         result+="seus respectivos arquivos:";
333       else
334         result+="suas respectivas documentações:";
335       return result;
336     }
337
338     /*! This is an introduction to the page with the list of all examples */
339     virtual QCString trExamplesDescription()
340     { return "Esta é a lista de todos os exemplos:"; }
341
342     /*! This is an introduction to the page with the list of related pages */
343     virtual QCString trRelatedPagesDescription()
344     { return "Esta é a lista de toda a documentação relacionadas:"; }
345
346     /*! This is an introduction to the page with the list of class/file groups */
347     virtual QCString trModulesDescription()
348     { return "Esta é a lista de todos os módulos:"; }
349
350     /*! This is used in HTML as the title of index.html. */
351     virtual QCString trDocumentation()
352     {
353       // TODO In the future, I think I'll suggest the replacement of this
354       // method to something like trDocumentationOf(projPrefix). This will allow
355       // the latin construction "Documentação de ProjA"
356       return "Documentação";
357     }
358
359     /*! This is used in LaTeX as the title of the chapter with the
360      * index of all groups.
361      */
362     virtual QCString trModuleIndex()
363     { return "Índice dos Módulos"; }
364
365     /*! This is used in LaTeX as the title of the chapter with the
366      * class hierarchy.
367      */
368     virtual QCString trHierarchicalIndex()
369     { return "Índice Hierárquico"; }
370
371     /*! This is used in LaTeX as the title of the chapter with the
372      * annotated compound index.
373      */
374     virtual QCString trCompoundIndex()
375     {
376       if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
377       {
378         return "Índice das Estruturas de Dados";
379       }
380       else
381       {
382         return "Índice dos Componentes";
383       }
384     }
385
386     /*! This is used in LaTeX as the title of the chapter with the
387      * list of all files.
388      */
389     virtual QCString trFileIndex()
390     { return "Índice dos Arquivos"; }
391
392     /*! This is used in LaTeX as the title of the chapter containing
393      *  the documentation of all groups.
394      */
395     virtual QCString trModuleDocumentation()
396     { return "Módulos"; }
397
398     /*! This is used in LaTeX as the title of the chapter containing
399      *  the documentation of all classes, structs and unions.
400      */
401     virtual QCString trClassDocumentation()
402     {
403       if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
404       {
405         return "Estruturas";
406       }
407       else
408       {
409         return "Classes";
410       }
411     }
412
413     /*! This is used in LaTeX as the title of the chapter containing
414      *  the documentation of all files.
415      */
416     virtual QCString trFileDocumentation()
417     { return "Arquivos"; }
418
419     /*! This is used in LaTeX as the title of the chapter containing
420      *  the documentation of all examples.
421      */
422     virtual QCString trExampleDocumentation()
423     { return "Exemplos"; }
424
425     /*! This is used in LaTeX as the title of the chapter containing
426      *  the documentation of all related pages.
427      */
428     virtual QCString trPageDocumentation()
429     { return "Documentação Relacionada"; }
430
431     /*! This is used in LaTeX as the title of the document */
432     virtual QCString trReferenceManual()
433     { return "Guia de Referência"; }
434
435     /*! This is used in the documentation of a file as a header before the
436      *  list of defines
437      */
438     virtual QCString trDefines()
439     { return "Definições e Macros"; }
440
441     /*! This is used in the documentation of a file as a header before the
442      *  list of typedefs
443      */
444     virtual QCString trTypedefs()
445     { return "Definições de Tipos"; }
446
447     /*! This is used in the documentation of a file as a header before the
448      *  list of enumerations
449      */
450     virtual QCString trEnumerations()
451     { return "Enumerações"; }
452
453     /*! This is used in the documentation of a file as a header before the
454      *  list of (global) functions
455      */
456     virtual QCString trFunctions()
457     { return "Funções"; }
458
459     /*! This is used in the documentation of a file as a header before the
460      *  list of (global) variables
461      */
462     virtual QCString trVariables()
463     { return "Variáveis"; }
464
465     /*! This is used in the documentation of a file as a header before the
466      *  list of (global) variables
467      */
468     virtual QCString trEnumerationValues()
469     { return "Enumeradores"; }
470
471     /*! This is used in the documentation of a file before the list of
472      *  documentation blocks for defines
473      */
474     virtual QCString trDefineDocumentation()
475     { return "Definições e macros"; }
476
477     /*! This is used in the documentation of a file/namespace before the list
478      *  of documentation blocks for typedefs
479      */
480     virtual QCString trTypedefDocumentation()
481     { return "Definições dos tipos"; }
482
483     /*! This is used in the documentation of a file/namespace before the list
484      *  of documentation blocks for enumeration types
485      */
486     virtual QCString trEnumerationTypeDocumentation()
487     { return "Enumerações"; }
488
489     /*! This is used in the documentation of a file/namespace before the list
490      *  of documentation blocks for functions
491      */
492     virtual QCString trFunctionDocumentation()
493     { return "Funções"; }
494
495     /*! This is used in the documentation of a file/namespace before the list
496      *  of documentation blocks for variables
497      */
498     virtual QCString trVariableDocumentation()
499     { return "Variáveis"; }
500
501     /*! This is used in the documentation of a file/namespace/group before
502      *  the list of links to documented compounds
503      */
504     virtual QCString trCompounds()
505     {
506       if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
507       {
508         return "Estruturas de Dados";
509       }
510       else
511       {
512         return "Componentes";
513       }
514     }
515
516     /*! This is used in the standard footer of each page and indicates when
517      *  the page was generated
518      */
519     virtual QCString trGeneratedAt(const char *date,const char *projName)
520     {
521       QCString result=(QCString)"Gerado em "+date;
522       if (projName) result+=(QCString)" para "+projName;
523       result+=(QCString)" por";
524       return result;
525     }
526
527     /*! this text is put before a class diagram */
528     virtual QCString trClassDiagram(const char *clName)
529     {
530       return (QCString)"Diagrama de hierarquia para "+clName+":";
531     }
532
533     /*! this text is generated when the \\internal command is used. */
534     virtual QCString trForInternalUseOnly()
535     { return "Apenas para uso interno."; }
536
537     /*! this text is generated when the \\warning command is used. */
538     virtual QCString trWarning()
539     { return "Aviso"; }
540
541     /*! this text is generated when the \\version command is used. */
542     virtual QCString trVersion()
543     { return "Versão"; }
544
545     /*! this text is generated when the \\date command is used. */
546     virtual QCString trDate()
547     { return "Data"; }
548
549     /*! this text is generated when the \\return command is used. */
550     virtual QCString trReturns()
551     { return "Retorna"; }
552
553     /*! this text is generated when the \\sa command is used. */
554     virtual QCString trSeeAlso()
555     { return "Veja também"; }
556
557     /*! this text is generated when the \\param command is used. */
558     virtual QCString trParameters()
559     { return "Parâmetros"; }
560
561     /*! this text is generated when the \\exception command is used. */
562     virtual QCString trExceptions()
563     { return "Exceções"; }
564
565     /*! this text is used in the title page of a LaTeX document. */
566     virtual QCString trGeneratedBy()
567     { return "Gerado por"; }
568
569 //////////////////////////////////////////////////////////////////////////
570 // new since 0.49-990307
571 //////////////////////////////////////////////////////////////////////////
572
573     /*! used as the title of page containing all the index of all namespaces. */
574     virtual QCString trNamespaceList()
575     { return "Lista de Namespaces"; }
576
577     /*! used as an introduction to the namespace list */
578     virtual QCString trNamespaceListDescription(bool extractAll)
579     {
580       QCString result="Esta é a lista de todos os Namespaces ";
581       if (!extractAll) result+="documentados ";
582       result+="com suas respectivas descrições:";
583       return result;
584     }
585
586     /*! used in the class documentation as a header before the list of all
587      *  friends of a class
588      */
589     virtual QCString trFriends()
590     { return "Amigas"; }
591
592 //////////////////////////////////////////////////////////////////////////
593 // new since 0.49-990405
594 //////////////////////////////////////////////////////////////////////////
595
596     /*! used in the class documentation as a header before the list of all
597      * related classes
598      */
599     virtual QCString trRelatedFunctionDocumentation()
600     { return "Amigas e Funções Relacionadas"; }
601
602 //////////////////////////////////////////////////////////////////////////
603 // new since 0.49-990425
604 //////////////////////////////////////////////////////////////////////////
605
606     /*! used as the title of the HTML page of a class/struct/union */
607     virtual QCString trCompoundReference(const char *clName,
608                                     ClassDef::CompoundType compType,
609                                     bool isTemplate)
610     {
611       QCString result="Referência";
612       if (isTemplate) result+=" do <em>Template</em>";
613       if (compType == ClassDef::Protocol)
614       {
615         result+=" do ";
616       }
617       else
618       {
619         result+=" da ";
620       }
621       switch(compType)
622       {
623         case ClassDef::Class:      result+="Classe "; break;
624         case ClassDef::Struct:     result+="Estrutura "; break;
625         case ClassDef::Union:      result+="União "; break;
626         case ClassDef::Interface:  result+="Interface "; break;
627         case ClassDef::Protocol:   result+="Protocolo "; break;
628         case ClassDef::Category:   result+="Categoria "; break;
629         case ClassDef::Exception:  result+="Exceção "; break;
630         default: break;
631       }
632       result+=(QCString)clName;
633       return result;
634     }
635
636     /*! used as the title of the HTML page of a file */
637     virtual QCString trFileReference(const char *fileName)
638     {
639       QCString result = "Referência do Arquivo ";
640       result += fileName;
641       return result;
642     }
643
644     /*! used as the title of the HTML page of a namespace */
645     virtual QCString trNamespaceReference(const char *namespaceName)
646     {
647       QCString result ="Refência do Namespace ";
648       result += namespaceName;
649       return result;
650     }
651
652     virtual QCString trPublicMembers()
653     {
654       if (Config_getBool(OPTIMIZE_OUTPUT_JAVA))
655       {
656         return "Métodos Públicos";
657       }
658       else
659       {
660         return "Membros Públicos";
661       }
662     }
663
664     virtual QCString trPublicSlots()
665     { return "Slots Públicos"; }
666
667     virtual QCString trSignals()
668     { return "Sinais"; }
669
670     virtual QCString trStaticPublicMembers()
671     { return "Membros Públicos Estáticos"; }
672
673     virtual QCString trProtectedMembers()
674     { return "Membros Protegidos"; }
675
676     virtual QCString trProtectedSlots()
677     { return "Slots Protegidos"; }
678
679     virtual QCString trStaticProtectedMembers()
680     { return "Membros Protegidos Estáticos"; }
681
682     virtual QCString trPrivateMembers()
683     { return "Membros Privados"; }
684
685     virtual QCString trPrivateSlots()
686     { return "Slots Privados"; }
687
688     virtual QCString trStaticPrivateMembers()
689     { return "Membros Privados Estáticos"; }
690
691     /*! this function is used to produce a comma-separated list of items.
692      *  use generateMarker(i) to indicate where item i should be put.
693      */
694     virtual QCString trWriteList(int numEntries)
695     {
696       QCString result;
697       int i;
698       // the inherits list contain `numEntries' classes
699       for (i=0;i<numEntries;i++)
700       {
701         // use generateMarker to generate placeholders for the class links!
702         result+=generateMarker(i); // generate marker for entry i in the list
703                                    // (order is left to right)
704
705         if (i!=numEntries-1)  // not the last entry, so we need a separator
706         {
707           if (i<numEntries-2) // not the fore last entry
708             result+=", ";
709           else                // the fore last entry
710             result+=" e ";
711         }
712       }
713       return result;
714     }
715
716     /*! used in class documentation to produce a list of base classes,
717      *  if class diagrams are disabled.
718      */
719     virtual QCString trInheritsList(int numEntries)
720     {
721       return "Subclasse de " + trWriteList(numEntries) + ".";
722     }
723
724     /*! used in class documentation to produce a list of super classes,
725      *  if class diagrams are disabled.
726      */
727     virtual QCString trInheritedByList(int numEntries)
728     {
729       return "Superclasse de "+trWriteList(numEntries)+".";
730     }
731
732     /*! used in member documentation blocks to produce a list of
733      *  members that are hidden by this one.
734      */
735     virtual QCString trReimplementedFromList(int numEntries)
736     {
737       return "Reimplementa "+trWriteList(numEntries)+".";
738     }
739
740     /*! used in member documentation blocks to produce a list of
741      *  all member that overwrite the implementation of this member.
742      */
743     virtual QCString trReimplementedInList(int numEntries)
744     {
745       return "Reimplementado por "+trWriteList(numEntries)+".";
746     }
747
748     /*! This is put above each page as a link to all members of namespaces. */
749     virtual QCString trNamespaceMembers()
750     { return "Membros do <em>Namespace</em>"; }
751
752     /*! This is an introduction to the page with all namespace members */
753     virtual QCString trNamespaceMemberDescription(bool extractAll)
754     {
755       QCString result="Essa é a lista com todos os membros ";
756       if (!extractAll) result+="documentados ";
757       result+="do <em>Namespace</em> com referências para ";
758       if (extractAll)
759         result+="a documentação do <em>Namespace</em> para cada membro:";
760       else
761         result+="os seus respectivos <em>Namespaces</em>:";
762       return result;
763     }
764     /*! This is used in LaTeX as the title of the chapter with the
765      *  index of all namespaces.
766      */
767     virtual QCString trNamespaceIndex()
768     { return "<em>Namespaces</em>"; }
769
770     /*! This is used in LaTeX as the title of the chapter containing
771      *  the documentation of all namespaces.
772      */
773     virtual QCString trNamespaceDocumentation()
774     { return "<em>Namespace</em>"; }
775
776 //////////////////////////////////////////////////////////////////////////
777 // new since 0.49-990522
778 //////////////////////////////////////////////////////////////////////////
779
780     /*! This is used in the documentation before the list of all
781      *  namespaces in a file.
782      */
783     virtual QCString trNamespaces()
784     { return "<em>Namespaces</em>"; }
785
786 //////////////////////////////////////////////////////////////////////////
787 // new since 0.49-990728
788 //////////////////////////////////////////////////////////////////////////
789
790     /*! This is put at the bottom of a class documentation page and is
791      *  followed by a list of files that were used to generate the page.
792      */
793     virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType,
794         bool single)
795     { // here s is one of " Class", " Struct" or " Union"
796       // single is true implies a single file
797       QCString result=(QCString)"A documentação para ";
798       if (compType == ClassDef::Protocol)
799       {
800          result+= "esse ";
801       }
802       else
803       {
804          result+= "essa ";
805       }
806       switch(compType)
807       {
808         case ClassDef::Class:      result+="classe "; break;
809         case ClassDef::Struct:     result+="estrutura "; break;
810         case ClassDef::Union:      result+="união "; break;
811         case ClassDef::Interface:  result+="interface "; break;
812         case ClassDef::Protocol:   result+="protocolo "; break;
813         case ClassDef::Category:   result+="categoria "; break;
814         case ClassDef::Exception:  result+="exceção "; break;
815         default: break;
816       }
817       result+=" foi gerada a partir ";
818       if (single) result+="do seguinte arquivo:"; else result+="dos seguintes arquivos:";
819       return result;
820     }
821
822 //////////////////////////////////////////////////////////////////////////
823 // new since 0.49-990901
824 //////////////////////////////////////////////////////////////////////////
825
826     /*! This is used as the heading text for the retval command. */
827     virtual QCString trReturnValues()
828     { return "Valores Retornados"; }
829
830     /*! This is in the (quick) index as a link to the main page (index.html)
831      */
832     virtual QCString trMainPage()
833     { return "Página Principal"; }
834
835     /*! This is used in references to page that are put in the LaTeX
836      *  documentation. It should be an abbreviation of the word page.
837      */
838     virtual QCString trPageAbbreviation()
839     {
840       // Decidi mudar de página para "p." para ficar mais compacto.
841       return "p.";
842     }
843
844 //////////////////////////////////////////////////////////////////////////
845 // new since 0.49-991003
846 //////////////////////////////////////////////////////////////////////////
847
848     virtual QCString trDefinedAtLineInSourceFile()
849     {
850       return "Definição na linha @0 do arquivo @1.";
851     }
852     virtual QCString trDefinedInSourceFile()
853     {
854       return "Definição no arquivo @0.";
855     }
856
857 //////////////////////////////////////////////////////////////////////////
858 // new since 0.49-991205
859 //////////////////////////////////////////////////////////////////////////
860
861     virtual QCString trDeprecated()
862     {
863       return "Obsoleto(a)";
864     }
865
866 //////////////////////////////////////////////////////////////////////////
867 // new since 1.0.0
868 //////////////////////////////////////////////////////////////////////////
869
870     /*! this text is put before a collaboration diagram */
871     virtual QCString trCollaborationDiagram(const char *clName)
872     {
873       return (QCString)"Diagrama de colaboração para "+clName+":";
874     }
875     /*! this text is put before an include dependency graph */
876     virtual QCString trInclDepGraph(const char *fName)
877     {
878       return (QCString)"Gráfico de dependência de inclusões para "+fName+":";
879     }
880     /*! header that is put before the list of constructor/destructors. */
881     virtual QCString trConstructorDocumentation()
882     {
883       return "Construtores e Destrutores";
884     }
885     /*! Used in the file documentation to point to the corresponding sources. */
886     virtual QCString trGotoSourceCode()
887     {
888       return "Vá para o código-fonte desse arquivo.";
889     }
890     /*! Used in the file sources to point to the corresponding documentation. */
891     virtual QCString trGotoDocumentation()
892     {
893       return "Vá para a documentação desse arquivo.";
894     }
895     /*! Text for the \\pre command */
896     virtual QCString trPrecondition()
897     {
898       return "Pré-condição";
899     }
900     /*! Text for the \\post command */
901     virtual QCString trPostcondition()
902     {
903       return "Pós-condição";
904     }
905     /*! Text for the \\invariant command */
906     virtual QCString trInvariant()
907     {
908       return "Invariante";
909     }
910     /*! Text shown before a multi-line variable/enum initialization */
911     virtual QCString trInitialValue()
912     {
913       return "Valor inicial:";
914     }
915     /*! Text used the source code in the file index */
916     virtual QCString trCode()
917     {
918       return "código";
919     }
920     virtual QCString trGraphicalHierarchy()
921     {
922       return "Gráfico de Hierarquia de Classes";
923     }
924     virtual QCString trGotoGraphicalHierarchy()
925     {
926       return "Vá para o gráfico de hierarquia de classes";
927     }
928     virtual QCString trGotoTextualHierarchy()
929     {
930       return "Vá para a hierarquia de classes (texto)";
931     }
932     virtual QCString trPageIndex()
933     {
934       return "Índice da Página";
935     }
936
937 //////////////////////////////////////////////////////////////////////////
938 // new since 1.1.0
939 //////////////////////////////////////////////////////////////////////////
940
941     virtual QCString trNote()
942     {
943       return "Observação";
944     }
945     virtual QCString trPublicTypes()
946     {
947       return "Tipos Públicos";
948     }
949     virtual QCString trPublicAttribs()
950     {
951       if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
952       {
953         return "Campos de Dados";
954       }
955       else
956       {
957         return "Atributos Públicos";
958       }
959     }
960     virtual QCString trStaticPublicAttribs()
961     {
962       return "Atributos Estáticos Públicos";
963     }
964     virtual QCString trProtectedTypes()
965     {
966       return "Tipos Protegidos";
967     }
968     virtual QCString trProtectedAttribs()
969     {
970       return "Atributos Protegidos";
971     }
972     virtual QCString trStaticProtectedAttribs()
973     {
974       return "Atributos Estáticos Protegidos";
975     }
976     virtual QCString trPrivateTypes()
977     {
978       return "Tipos Privados";
979     }
980     virtual QCString trPrivateAttribs()
981     {
982       return "Atributos Privados";
983     }
984     virtual QCString trStaticPrivateAttribs()
985     {
986       return "Atributos Privados Estáticos";
987     }
988
989 //////////////////////////////////////////////////////////////////////////
990 // new since 1.1.3
991 //////////////////////////////////////////////////////////////////////////
992
993     /*! Used as a marker that is put before a todo item */
994     virtual QCString trTodo()
995     {
996       return "Atividades futuras";
997     }
998     /*! Used as the header of the todo list */
999     virtual QCString trTodoList()
1000     {
1001       return "Lista de atividades futuras";
1002     }
1003
1004 //////////////////////////////////////////////////////////////////////////
1005 // new since 1.1.4
1006 //////////////////////////////////////////////////////////////////////////
1007
1008     virtual QCString trReferencedBy()
1009     {
1010       return "Referenciado(a) por";
1011     }
1012     virtual QCString trRemarks()
1013     {
1014       return "Anotações";
1015     }
1016     virtual QCString trAttention()
1017     {
1018       return "Atenção";
1019     }
1020     virtual QCString trInclByDepGraph()
1021     {
1022       return "Este grafo mostra quais arquivos estão direta ou indiretamente relacionados com esse arquivo:";
1023     }
1024     virtual QCString trSince()
1025     {
1026       return "Desde";
1027     }
1028
1029 //////////////////////////////////////////////////////////////////////////
1030 // new since 1.1.5
1031 //////////////////////////////////////////////////////////////////////////
1032
1033     /*! title of the graph legend page */
1034     virtual QCString trLegendTitle()
1035     {
1036       return "Legenda do Grafo";
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 os grafos gerados pelo doxygen.<p>\n"
1045         "Considere o seguinte exemplo:\n"
1046         "\\code\n"
1047         "/*! Classe oculta por causa da truncagem */\n"
1048         "class Invisible { };\n\n"
1049         "/*! Classe Truncated, relação de herança está oculta */\n"
1050         "class Truncated : public Invisible { };\n\n"
1051         "/* Classe não documentada com os comentários do Doxygen */\n"
1052         "class Undocumented { };\n\n"
1053         "/*! Classe possui que possui uma relação de herança pública */\n"
1054         "class PublicBase : public Truncated { };\n\n"
1055         "/*! Um template de classe */\n"
1056         "template<class T> class Templ { };\n\n"
1057         "/*! Classe possui que possui uma relação de herança protegida  */\n"
1058         "class ProtectedBase { };\n\n"
1059         "/*! Classe possui que possui uma relação de herança privada  */\n"
1060         "class PrivateBase { };\n\n"
1061         "/*! Classe utilizada pela classe Inherited */\n"
1062         "class Used { };\n\n"
1063         "/*! Super classe que herda outras classes */\n"
1064         "class Inherited : public PublicBase,\n"
1065         "                  protected ProtectedBase,\n"
1066         "                  private PrivateBase,\n"
1067         "                  public Undocumented,\n"
1068         "                  public Templ<int>\n"
1069         "{\n"
1070         "  private:\n"
1071         "    Used *m_usedClass;\n"
1072         "};\n"
1073         "\\endcode\n"
1074         "Isto irá gerar o seguinte gráfo:"
1075         "<p><center><img src=\"graph_legend."+getDotImageExtension()+"\"></center>\n"
1076         "<p>\n"
1077         "As caixas no grafo acima possuem os seguintes significados:\n"
1078         "</p>\n"
1079         "<ul>\n"
1080         "<li>Uma caixa cinza denota a estrutura ou a classe que gerou"
1081         "este grafo.</li>\n"
1082         "<li>Uma caixa com a borda preta denota uma estrutura ou classe documentada.</li>\n"
1083         "<li>Uma caixa com a borda cinza denota uma estrutura ou classe não documentada.</li>\n"
1084         "<li>Uma caixa com a borda vermelha denota uma estrutura ou classe na"
1085         "qual nem todas as relações são mostradas. Um grafo é truncado quando "
1086         "esse não cabe no espaço especificado.</li>\n"
1087         "</ul>\n"
1088         "<p>\n"
1089         "As setas possuem os seguintes significados:\n"
1090         "</p>\n"
1091         "<ul>\n"
1092         "<li>Uma seta azul escura denota a relação de herança pública entre "
1093         "duas classes.</li>\n"
1094         "<li>Uma seta verde escura denota a relação de herança protegida entre "
1095         "duas classes.</li>\n"
1096         "<li>Uma seta vermelha escura denota a relação de herança privada entre "
1097         "duas classes.</li>\n"
1098         "<li>Uma seta pontilhada púrpura denota a relação de uso e/ou agragação "
1099         "por outra classe/estrutura. A etiqueta da seta denota o nome do(s) campo(s) "
1100         "que representa(m) este apontamento.</li>\n"
1101         "<li>Uma seta pontilhada amarela denota a relação de instanciação de uma "
1102         "<em>template</em>. A etiqueta da seta denota os parâmetros de instanciação "
1103         "desta <em>template</em>.</li>\n"
1104         "</ul>\n";
1105     }
1106     /*! text for the link to the legend page */
1107     virtual QCString trLegend()
1108     {
1109       return "legenda";
1110     }
1111
1112 //////////////////////////////////////////////////////////////////////////
1113 // new since 1.2.0
1114 //////////////////////////////////////////////////////////////////////////
1115
1116     /*! Used as a marker that is put before a test item */
1117     virtual QCString trTest()
1118     {
1119       return "Teste";
1120     }
1121     /*! Used as the header of the test list */
1122     virtual QCString trTestList()
1123     {
1124       return "Lista de Testes";
1125     }
1126
1127 //////////////////////////////////////////////////////////////////////////
1128 // new since 1.2.2
1129 //////////////////////////////////////////////////////////////////////////
1130
1131     /*! Used as a section header for IDL properties */
1132     virtual QCString trProperties()
1133     {
1134       return "Propriedades";
1135     }
1136     /*! Used as a section header for IDL property documentation */
1137     virtual QCString trPropertyDocumentation()
1138     {
1139       return "Propriedades";
1140     }
1141
1142 //////////////////////////////////////////////////////////////////////////
1143 // new since 1.2.4
1144 //////////////////////////////////////////////////////////////////////////
1145
1146     /*! Used for Java classes in the summary section of Java packages */
1147     virtual QCString trClasses()
1148     {
1149       if (Config_getBool(OPTIMIZE_OUTPUT_FOR_C))
1150       {
1151         return "Estruturas de Dados";
1152       }
1153       else
1154       {
1155         return "Classes";
1156       }
1157     }
1158     /*! Used as the title of a Java package */
1159     virtual QCString trPackage(const char *name)
1160     {
1161       return (QCString)"Pacote "+name;
1162     }
1163     /*! Title of the package index page */
1164     virtual QCString trPackageList()
1165     {
1166       return "Lista de Pacotes";
1167     }
1168     /*! The description of the package index page */
1169     virtual QCString trPackageListDescription()
1170     {
1171       return "Esta é a lista com os pacotes e suas respectivas descrições (quando disponíveis):";
1172     }
1173     /*! The link name in the Quick links header for each page */
1174     virtual QCString trPackages()
1175     {
1176       return "Pacotes";
1177     }
1178     /*! Text shown before a multi-line define */
1179     virtual QCString trDefineValue()
1180     {
1181       return "Valor:";
1182     }
1183
1184 //////////////////////////////////////////////////////////////////////////
1185 // new since 1.2.5
1186 //////////////////////////////////////////////////////////////////////////
1187
1188     /*! Used as a marker that is put before a \\bug item */
1189     virtual QCString trBug()
1190     {
1191       return "Bug";
1192     }
1193     /*! Used as the header of the bug list */
1194     virtual QCString trBugList()
1195     {
1196       return "Lista de Bugs";
1197     }
1198
1199 //////////////////////////////////////////////////////////////////////////
1200 // new since 1.2.6
1201 //////////////////////////////////////////////////////////////////////////
1202
1203     /*! Used as ansicpg for RTF file
1204      *
1205      * The following table shows the correlation of Charset name, Charset Value and
1206      * <pre>
1207      * Codepage number:
1208      * Charset Name       Charset Value(hex)  Codepage number
1209      * ------------------------------------------------------
1210      * DEFAULT_CHARSET           1 (x01)
1211      * SYMBOL_CHARSET            2 (x02)
1212      * OEM_CHARSET             255 (xFF)
1213      * ANSI_CHARSET              0 (x00)            1252
1214      * RUSSIAN_CHARSET         204 (xCC)            1251
1215      * EE_CHARSET              238 (xEE)            1250
1216      * GREEK_CHARSET           161 (xA1)            1253
1217      * TURKISH_CHARSET         162 (xA2)            1254
1218      * BALTIC_CHARSET          186 (xBA)            1257
1219      * HEBREW_CHARSET          177 (xB1)            1255
1220      * ARABIC _CHARSET         178 (xB2)            1256
1221      * SHIFTJIS_CHARSET        128 (x80)             932
1222      * HANGEUL_CHARSET         129 (x81)             949
1223      * GB2313_CHARSET          134 (x86)             936
1224      * CHINESEBIG5_CHARSET     136 (x88)             950
1225      * </pre>
1226      *
1227      */
1228     virtual QCString trRTFansicp()
1229     {
1230       return "1252";
1231     }
1232
1233
1234     /*! Used as ansicpg for RTF fcharset
1235      *  \see trRTFansicp() for a table of possible values.
1236      */
1237     virtual QCString trRTFCharSet()
1238     {
1239       return "0";
1240     }
1241
1242     /*! Used as header RTF general index */
1243     virtual QCString trRTFGeneralIndex()
1244     {
1245       return "Sumário";
1246     }
1247
1248     /*! This is used for translation of the word that will possibly
1249      *  be followed by a single name or by a list of names
1250      *  of the category.
1251      */
1252     virtual QCString trClass(bool first_capital, bool singular)
1253     {
1254       QCString result((first_capital ? "Classe" : "classe"));
1255       if (!singular)  result+="s";
1256       return result;
1257     }
1258
1259     /*! This is used for translation of the word that will possibly
1260      *  be followed by a single name or by a list of names
1261      *  of the category.
1262      */
1263     virtual QCString trFile(bool first_capital, bool singular)
1264     {
1265       QCString result((first_capital ? "Arquivo": "arquivo"));
1266       if (!singular)  result+="s";
1267       return result;
1268     }
1269
1270     /*! This is used for translation of the word that will possibly
1271      *  be followed by a single name or by a list of names
1272      *  of the category.
1273      */
1274     virtual QCString trNamespace(bool first_capital, bool singular)
1275     {
1276       QCString result((first_capital ? "Namespace" : "namespace"));
1277       if (!singular)  result+="s";
1278       return result;
1279     }
1280
1281     /*! This is used for translation of the word that will possibly
1282      *  be followed by a single name or by a list of names
1283      *  of the category.
1284      */
1285     virtual QCString trGroup(bool first_capital, bool singular)
1286     {
1287       QCString result((first_capital ? "Grupo" : "grupo"));
1288       if (!singular)  result+="s";
1289       return result;
1290     }
1291
1292     /*! This is used for translation of the word that will possibly
1293      *  be followed by a single name or by a list of names
1294      *  of the category.
1295      */
1296     virtual QCString trPage(bool first_capital, bool singular)
1297     {
1298       QCString result((first_capital ? "Página" : "página"));
1299       if (!singular)  result+="s";
1300       return result;
1301     }
1302
1303     /*! This is used for translation of the word that will possibly
1304      *  be followed by a single name or by a list of names
1305      *  of the category.
1306      */
1307     virtual QCString trMember(bool first_capital, bool singular)
1308     {
1309       QCString result((first_capital ? "Membro" : "membro"));
1310       if (!singular)  result+="s";
1311       return result;
1312     }
1313
1314     /*! This is used for translation of the word that will possibly
1315      *  be followed by a single name or by a list of names
1316      *  of the category.
1317      */
1318     virtual QCString trGlobal(bool first_capital, bool singular)
1319     {
1320       QCString result((first_capital ? "Globa" : "globa"));
1321       if (!singular){
1322         result+="is";
1323       }else{
1324         result+="l";
1325       }
1326       return result;
1327     }
1328
1329 //////////////////////////////////////////////////////////////////////////
1330 // new since 1.2.7
1331 //////////////////////////////////////////////////////////////////////////
1332
1333     /*! This text is generated when the \\author command is used and
1334      *  for the author section in man pages. */
1335     virtual QCString trAuthor(bool first_capital, bool singular)
1336     {
1337       QCString result((first_capital ? "Autor" : "autor"));
1338       if (!singular)  result+="es";
1339       return result;
1340     }
1341
1342 //////////////////////////////////////////////////////////////////////////
1343 // new since 1.2.11
1344 //////////////////////////////////////////////////////////////////////////
1345
1346     /*! This text is put before the list of members referenced by a member
1347      */
1348     virtual QCString trReferences()
1349     {
1350       return "Referencias";
1351     }
1352
1353 //////////////////////////////////////////////////////////////////////////
1354 // new since 1.2.13
1355 //////////////////////////////////////////////////////////////////////////
1356
1357     /*! used in member documentation blocks to produce a list of
1358      *  members that are implemented by this one.
1359      */
1360     virtual QCString trImplementedFromList(int numEntries)
1361     {
1362       return "Implementa "+trWriteList(numEntries)+".";
1363     }
1364
1365     /*! used in member documentation blocks to produce a list of
1366      *  all members that implementation this member.
1367      */
1368     virtual QCString trImplementedInList(int numEntries)
1369     {
1370       return "Implementado por "+trWriteList(numEntries)+".";
1371     }
1372
1373 //////////////////////////////////////////////////////////////////////////
1374 // new since 1.2.16
1375 //////////////////////////////////////////////////////////////////////////
1376
1377     /*! used in RTF documentation as a heading for the Table
1378      *  of Contents.
1379      */
1380     virtual QCString trRTFTableOfContents()
1381     {
1382       return "Sumário";
1383     }
1384
1385 //////////////////////////////////////////////////////////////////////////
1386 // new since 1.2.17
1387 //////////////////////////////////////////////////////////////////////////
1388
1389     /*! Used as the header of the list of item that have been
1390      *  flagged deprecated
1391      */
1392     virtual QCString trDeprecatedList()
1393     {
1394       return "Lista de itens obsoletos";
1395     }
1396
1397 //////////////////////////////////////////////////////////////////////////
1398 // new since 1.2.18
1399 //////////////////////////////////////////////////////////////////////////
1400
1401     /*! Used as a header for declaration section of the events found in
1402      * a C# program
1403      */
1404     virtual QCString trEvents()
1405     {
1406       return "Eventos";
1407     }
1408     /*! Header used for the documentation section of a class' events. */
1409     virtual QCString trEventDocumentation()
1410     {
1411       return "Eventos";
1412     }
1413
1414 //////////////////////////////////////////////////////////////////////////
1415 // new since 1.3
1416 //////////////////////////////////////////////////////////////////////////
1417
1418     /*! Used as a heading for a list of Java class types with package scope.
1419      */
1420     virtual QCString trPackageTypes()
1421     {
1422       return "Tipos do Pacote";
1423     }
1424     /*! Used as a heading for a list of Java class functions with package
1425      * scope.
1426      */
1427     virtual QCString trPackageMembers()
1428     {
1429       return "Funções do Pacote";
1430     }
1431     /*! Used as a heading for a list of static Java class functions with
1432      *  package scope.
1433      */
1434     virtual QCString trStaticPackageMembers()
1435     {
1436       return "Funções Estáticas do Pacote";
1437     }
1438     /*! Used as a heading for a list of Java class variables with package
1439      * scope.
1440      */
1441     virtual QCString trPackageAttribs()
1442     {
1443       return "Atributos do Pacote";
1444     }
1445     /*! Used as a heading for a list of static Java class variables with
1446      * package scope.
1447      */
1448     virtual QCString trStaticPackageAttribs()
1449     {
1450       return "Atributos Estáticos do Pacote";
1451     }
1452
1453 //////////////////////////////////////////////////////////////////////////
1454 // new since 1.3.1
1455 //////////////////////////////////////////////////////////////////////////
1456
1457     /*! Used in the quick index of a class/file/namespace member list page
1458      *  to link to the unfiltered list of all members.
1459      */
1460     virtual QCString trAll()
1461     {
1462       return "Todos";
1463     }
1464     /*! Put in front of the call graph for a function. */
1465     virtual QCString trCallGraph()
1466     {
1467       return "Este é o diagrama das funções utilizadas por essa função:";
1468     }
1469
1470 //////////////////////////////////////////////////////////////////////////
1471 // new since 1.3.3
1472 //////////////////////////////////////////////////////////////////////////
1473
1474     /*! This string is used as the title for the page listing the search
1475      *  results.
1476      */
1477     virtual QCString trSearchResultsTitle()
1478     {
1479       return "Resultado(s) da Busca";
1480     }
1481     /*! This string is put just before listing the search results. The
1482      *  text can be different depending on the number of documents found.
1483      *  Inside the text you can put the special marker $num to insert
1484      *  the number representing the actual number of search results.
1485      *  The @a numDocuments parameter can be either 0, 1 or 2, where the
1486      *  value 2 represents 2 or more matches. HTML markup is allowed inside
1487      *  the returned string.
1488      */
1489     virtual QCString trSearchResults(int numDocuments)
1490     {
1491       if (numDocuments==0)
1492       {
1493         return "Nenhum documento foi encontrado.";
1494       }
1495       else if (numDocuments==1)
1496       {
1497         return "Apenas <b>1</b> documento foi encontrado.";
1498       }
1499       else
1500       {
1501         return "<b>$num</b> documentos encontrados. "
1502                "Mostrando os melhores resultados primeiro.";
1503       }
1504     }
1505     /*! This string is put before the list of matched words, for each search
1506      *  result. What follows is the list of words that matched the query.
1507      */
1508     virtual QCString trSearchMatches()
1509     {
1510       return "Resultados:";
1511     }
1512
1513 //////////////////////////////////////////////////////////////////////////
1514 // new since 1.3.8
1515 //////////////////////////////////////////////////////////////////////////
1516
1517     /*! This is used in HTML as the title of page with source code for file filename
1518      */
1519     virtual QCString trSourceFile(QCString& filename)
1520     {
1521       return  "Código-Fonte de " + filename;
1522     }
1523
1524 //////////////////////////////////////////////////////////////////////////
1525 // new since 1.3.9
1526 //////////////////////////////////////////////////////////////////////////
1527
1528     /*! This is used as the name of the chapter containing the directory
1529      *  hierarchy.
1530      */
1531     virtual QCString trDirIndex()
1532     { return "Hierarquia de Diretórios"; }
1533
1534     /*! This is used as the name of the chapter containing the documentation
1535      *  of the directories.
1536      */
1537     virtual QCString trDirDocumentation()
1538     { return "Documentação do Diretório"; }
1539
1540     /*! This is used as the title of the directory index and also in the
1541      *  Quick links of a HTML page, to link to the directory hierarchy.
1542      */
1543     virtual QCString trDirectories()
1544     { return "Diretórios"; }
1545
1546     /*! This returns a sentences that introduces the directory hierarchy.
1547      *  and the fact that it is sorted alphabetically per level
1548      */
1549     virtual QCString trDirDescription()
1550     { return "Esta Hierarquia de Diretórios está parcialmente ordenada (ordem alfabética)"; }
1551
1552     /*! This returns the title of a directory page. The name of the
1553      *  directory is passed via \a dirName.
1554      */
1555     virtual QCString trDirReference(const char *dirName)
1556     {
1557         QCString result = "Referência do diretório ";
1558         result += dirName;
1559         return result;
1560     }
1561
1562     /*! This returns the word directory with or without starting capital
1563      *  (\a first_capital) and in sigular or plural form (\a singular).
1564      */
1565     virtual QCString trDir(bool first_capital, bool singular)
1566     {
1567       QCString result((first_capital ? "Diretório" : "diretório"));
1568       if (!singular) result+="s";
1569       return result;
1570     }
1571
1572 //////////////////////////////////////////////////////////////////////////
1573 // new since 1.4.1
1574 //////////////////////////////////////////////////////////////////////////
1575
1576     /*! This text is added to the documentation when the \\overload command
1577      *  is used for a overloaded function.
1578      */
1579     virtual QCString trOverloadText()
1580     {
1581        return "Esse é um método provido por conveniência. "
1582                 "Ele difere do método acima apenas na lista de "
1583                 "argumentos que devem ser utilizados.";
1584     }
1585
1586 //////////////////////////////////////////////////////////////////////////
1587 // new since 1.4.6
1588 //////////////////////////////////////////////////////////////////////////
1589
1590     /*! This is used to introduce a caller (or called-by) graph */
1591     virtual QCString trCallerGraph()
1592     {
1593       return "Esse é o diagrama das funções que utilizam essa função:";
1594     }
1595
1596     /*! This is used in the documentation of a file/namespace before the list
1597      *  of documentation blocks for enumeration values
1598      */
1599     virtual QCString trEnumerationValueDocumentation()
1600     { return "Documentação da enumeração"; }
1601
1602
1603 //////////////////////////////////////////////////////////////////////////
1604 // new since 1.5.4 (mainly for Fortran)
1605 //////////////////////////////////////////////////////////////////////////
1606
1607     /*! header that is put before the list of member subprograms (Fortran). */
1608     virtual QCString trMemberFunctionDocumentationFortran()
1609     { return "Documentação de Função Membro/Subrotina"; }
1610
1611     /*! This is put above each page as a link to the list of annotated data types (Fortran). */
1612     virtual QCString trCompoundListFortran()
1613     { return "Lista de Tipos de Dados"; }
1614
1615     /*! This is put above each page as a link to all members of compounds (Fortran). */
1616     virtual QCString trCompoundMembersFortran()
1617     { return "Campos de Dados"; }
1618
1619     /*! This is an introduction to the annotated compound list (Fortran). */
1620     virtual QCString trCompoundListDescriptionFortran()
1621     { return "Aqui estão os tipos de dados com descrições resumidas:"; }
1622
1623     /*! This is an introduction to the page with all data types (Fortran). */
1624     virtual QCString trCompoundMembersDescriptionFortran(bool extractAll)
1625     {
1626       QCString result="Esta é a lista de todos os membros ";
1627       if (!extractAll) result+="documentados ";
1628       result+="dos tipos de dados com links para ";
1629       if (extractAll)
1630       {
1631         result+="a documentação dos tipos de dados para cada membro:";
1632       }
1633       else
1634       {
1635         result+="os tipos de dados a que pertencem:";
1636       }
1637       return result;
1638     }
1639
1640     /*! This is used in LaTeX as the title of the chapter with the
1641      * annotated compound index (Fortran).
1642      */
1643     virtual QCString trCompoundIndexFortran()
1644     { return "Índice de Tipos de Dados"; }
1645
1646     /*! This is used in LaTeX as the title of the chapter containing
1647      *  the documentation of all data types (Fortran).
1648      */
1649     virtual QCString trTypeDocumentation()
1650     { return "Documentação dos Tipos de Dados"; }
1651
1652     /*! This is used in the documentation of a file as a header before the
1653      *  list of (global) subprograms (Fortran).
1654      */
1655     virtual QCString trSubprograms()
1656     { return "Funções/Subrotinas"; }
1657
1658     /*! This is used in the documentation of a file/namespace before the list
1659      *  of documentation blocks for subprograms (Fortran)
1660      */
1661     virtual QCString trSubprogramDocumentation()
1662     { return "Documentação da Função/Subrotina"; }
1663
1664     /*! This is used in the documentation of a file/namespace/group before
1665      *  the list of links to documented compounds (Fortran)
1666      */
1667      virtual QCString trDataTypes()
1668     { return "Tipos de Dados"; }
1669
1670     /*! used as the title of page containing all the index of all modules (Fortran). */
1671     virtual QCString trModulesList()
1672     { return "Lista de Módulos"; }
1673
1674     /*! used as an introduction to the modules list (Fortran) */
1675     virtual QCString trModulesListDescription(bool extractAll)
1676     {
1677       QCString result="Esta é a lista de todos os módulos ";
1678       if (!extractAll) result+="documentados ";
1679       result+="com descrições resumidas:";
1680       return result;
1681     }
1682
1683     /*! used as the title of the HTML page of a module/type (Fortran) */
1684     virtual QCString trCompoundReferenceFortran(const char *clName,
1685                                     ClassDef::CompoundType compType,
1686                                     bool isTemplate)
1687     {
1688       QCString result = (QCString)"Referência ";
1689
1690       if (isTemplate) result+="do <em>Template</em> ";
1691
1692       switch(compType)
1693       {
1694         case ClassDef::Class:      result+="do Modulo "; break;
1695         case ClassDef::Struct:     result+="do Tipo "; break;
1696         case ClassDef::Union:      result+="da União "; break;
1697         case ClassDef::Interface:  result+="da Interface "; break;
1698         case ClassDef::Protocol:   result+="do Protocolo "; break;
1699         case ClassDef::Category:   result+="da Categoria "; break;
1700         case ClassDef::Exception:  result+="da Exceção "; break;
1701         default: break;
1702       }
1703       result += clName;
1704
1705       return result;
1706     }
1707     /*! used as the title of the HTML page of a module (Fortran) */
1708     virtual QCString trModuleReference(const char *namespaceName)
1709     {
1710       QCString result = "Referência do Módulo ";
1711       result += namespaceName;
1712       return result;
1713     }
1714
1715     /*! This is put above each page as a link to all members of modules. (Fortran) */
1716     virtual QCString trModulesMembers()
1717     { return "Membros do Módulo"; }
1718
1719     /*! This is an introduction to the page with all modules members (Fortran) */
1720     virtual QCString trModulesMemberDescription(bool extractAll)
1721     {
1722       QCString result="Esta é a lista de todos os membros ";
1723       if (!extractAll) result+="documentados ";
1724       result+="dos módulos com links para ";
1725       if (extractAll)
1726       {
1727         result+="a documentação dos módulos para cada membro:";
1728       }
1729       else
1730       {
1731         result+="os módulos a que pertencem:";
1732       }
1733       return result;
1734     }
1735
1736     /*! This is used in LaTeX as the title of the chapter with the
1737      *  index of all modules (Fortran).
1738      */
1739     virtual QCString trModulesIndex()
1740     { return "Índice dos Módulos"; }
1741
1742     /*! This is used for translation of the word that will possibly
1743      *  be followed by a single name or by a list of names
1744      *  of the category.
1745      */
1746     virtual QCString trModule(bool first_capital, bool singular)
1747     {
1748       QCString result((first_capital ? "Módulo" : "módulo"));
1749       if (!singular)  result+="s";
1750       return result;
1751     }
1752
1753     /*! This is put at the bottom of a module documentation page and is
1754      *  followed by a list of files that were used to generate the page.
1755      */
1756     virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType,
1757         bool single)
1758     {
1759       // single is true implies a single file
1760       QCString result=(QCString)"A documentação para ";
1761       switch(compType)
1762       {
1763         case ClassDef::Class:      result+="esse modulo "; break;
1764         case ClassDef::Struct:     result+="esse tipo "; break;
1765         case ClassDef::Union:      result+="essa união "; break;
1766         case ClassDef::Interface:  result+="essa interface "; break;
1767         case ClassDef::Protocol:   result+="esso protocolo "; break;
1768         case ClassDef::Category:   result+="essa categoria "; break;
1769         case ClassDef::Exception:  result+="essa exceção "; break;
1770         default: break;
1771       }
1772
1773       result+=" foi gerada a partir do";
1774       if (single)
1775         result+=" seguinte arquivo:";
1776       else
1777         result+="s seguintes arquivos:";
1778
1779       return result;
1780     }
1781
1782     /*! This is used for translation of the word that will possibly
1783      *  be followed by a single name or by a list of names
1784      *  of the category.
1785      */
1786     virtual QCString trType(bool first_capital, bool singular)
1787     {
1788       QCString result((first_capital ? "Tipo" : "tipo"));
1789       if (!singular)  result+="s";
1790       return result;
1791     }
1792
1793     /*! This is used for translation of the word that will possibly
1794      *  be followed by a single name or by a list of names
1795      *  of the category.
1796      */
1797     virtual QCString trSubprogram(bool first_capital, bool singular)
1798     {
1799       QCString result((first_capital ? "Subrotina" : "subrotina"));
1800       if (!singular)  result+="s";
1801       return result;
1802     }
1803
1804     /*! C# Type Contraint list */
1805     virtual QCString trTypeConstraints()
1806     {
1807       return "Restrições do Tipo";
1808     }
1809
1810 //////////////////////////////////////////////////////////////////////////
1811 // new since 1.6.0 (mainly for the new search engine)
1812 //////////////////////////////////////////////////////////////////////////
1813
1814     /*! directory relation for \a name */
1815     virtual QCString trDirRelation(const char *name)
1816     {
1817       return "Relação " + QCString(name);
1818     }
1819
1820     /*! Loading message shown when loading search results */
1821     virtual QCString trLoading()
1822     {
1823       return "Carregando...";
1824     }
1825
1826     /*! Label used for search results in the global namespace */
1827     virtual QCString trGlobalNamespace()
1828     {
1829       return "<em>Namespace</em> global";
1830     }
1831
1832     /*! Message shown while searching */
1833     virtual QCString trSearching()
1834     {
1835       return "Procurando...";
1836     }
1837
1838     /*! Text shown when no search results are found */
1839     virtual QCString trNoMatches()
1840     {
1841       return "Nenhum resultado encontrado";
1842     }
1843
1844 //////////////////////////////////////////////////////////////////////////
1845 // new since 1.6.3 (missing items for the directory pages)
1846 //////////////////////////////////////////////////////////////////////////
1847
1848     /*! when clicking a directory dependency label, a page with a
1849      *  table is shown. The heading for the first column mentions the
1850      *  source file that has a relation to another file.
1851      */
1852     virtual QCString trFileIn(const char *name)
1853     {
1854       return (QCString)"Arquivo em "+name;
1855     }
1856
1857     /*! when clicking a directory dependency label, a page with a
1858      *  table is shown. The heading for the second column mentions the
1859      *  destination file that is included.
1860      */
1861     virtual QCString trIncludesFileIn(const char *name)
1862     {
1863       return (QCString)"Inclui arquivo em "+name;
1864     }
1865
1866     /** Compiles a date string.
1867      *  @param year Year in 4 digits
1868      *  @param month Month of the year: 1=January
1869      *  @param day Day of the Month: 1..31
1870      *  @param dayOfWeek Day of the week: 1=Monday..7=Sunday
1871      *  @param hour Hour of the day: 0..23
1872      *  @param minutes Minutes in the hour: 0..59
1873      *  @param seconds Seconds within the minute: 0..59
1874      *  @param includeTime Include time in the result string?
1875      */
1876     virtual QCString trDateTime(int year,int month,int day,int dayOfWeek,
1877                                 int hour,int minutes,int seconds,
1878                                 bool includeTime)
1879     {
1880       static const char *days[]   = { "Segunda","Terça","Quarta","Quinta","Sexta","Sábado","Domingo" };
1881       static const char *months[] = { "Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro" };
1882       QCString sdate;
1883       sdate.sprintf("%s, %d de %s de %d",days[dayOfWeek-1],day,months[month-1],year);
1884       if (includeTime)
1885       {
1886         QCString stime;
1887         stime.sprintf(" %.2d:%.2d:%.2d",hour,minutes,seconds);
1888         sdate+=stime;
1889       }
1890       return sdate;
1891     }
1892
1893 //////////////////////////////////////////////////////////////////////////
1894 // new since 1.7.5
1895 //////////////////////////////////////////////////////////////////////////
1896
1897     /*! Header for the page with bibliographic citations */
1898     virtual QCString trCiteReferences()
1899     { return "Referências Bibliográficas"; }
1900
1901     /*! Text for copyright paragraph */
1902     virtual QCString trCopyright()
1903     {
1904       // Note: I will left it as is because "Direitos autorais" may not fit
1905       // in the text.
1906       return "Copyright";
1907     }
1908
1909     /*! Header for the graph showing the directory dependencies */
1910     virtual QCString trDirDepGraph(const char *name)
1911     { return QCString("Grafo de dependências do diretório ")+name+":"; }
1912
1913 //////////////////////////////////////////////////////////////////////////
1914 // new since 1.8.0
1915 //////////////////////////////////////////////////////////////////////////
1916
1917     /*! Detail level selector shown for hierarchical indices */
1918     virtual QCString trDetailLevel()
1919     { return "nível de detalhes"; }
1920
1921     /*! Section header for list of template parameters */
1922     virtual QCString trTemplateParameters()
1923     { return "Parâmetros do <em>template</em>"; }
1924
1925     /*! Used in dot graph when UML_LOOK is enabled and there are many fields */
1926     virtual QCString trAndMore(const QCString &number)
1927     { return "e "+number+" mais..."; }
1928
1929     /*! Used file list for a Java enum */
1930     virtual QCString trEnumGeneratedFromFiles(bool single)
1931     { QCString result = "A documentação para essa enumeração foi gerada a partir ";
1932       if (single) {
1933         result += "do seguinte arquivo:";
1934       } else {
1935         result += "dos seguintes arquivos:";
1936       }
1937       return result;
1938     }
1939
1940     /*! Header of a Java enum page (Java enums are represented as classes). */
1941     virtual QCString trEnumReference(const char *name)
1942     {
1943       QCString result = "Referência da enumeração ";
1944       return result + name;
1945     }
1946
1947     /*! Used for a section containing inherited members */
1948     virtual QCString trInheritedFrom(const char *members,const char *what)
1949     { return QCString(members)+" herdados de "+what; }
1950
1951     /*! Header of the sections with inherited members specific for the
1952      *  base class(es)
1953      */
1954     virtual QCString trAdditionalInheritedMembers()
1955     { return "Outros membros herdados"; }
1956
1957 //////////////////////////////////////////////////////////////////////////
1958 // new since 1.8.2
1959 //////////////////////////////////////////////////////////////////////////
1960
1961     /*! Used as a tooltip for the toggle button that appears in the
1962      *  navigation tree in the HTML output when GENERATE_TREEVIEW is
1963      *  enabled. This tooltip explains the meaning of the button.
1964      */
1965     virtual QCString trPanelSynchronisationTooltip(bool enable)
1966     {
1967       QCString opt = enable ? "ativar" : "desativar";
1968       return "clique para "+opt+" a sincronização do painel";
1969     }
1970
1971     /*! Used in a method of an Objective-C class that is declared in a
1972      *  a category. Note that the @1 marker is required and is replaced
1973      *  by a link.
1974      */
1975     virtual QCString trProvidedByCategory()
1976     {
1977       return "Provido pela categoria @0.";
1978     }
1979
1980     /*! Used in a method of an Objective-C category that extends a class.
1981      *  Note that the @1 marker is required and is replaced by a link to
1982      *  the class method.
1983      */
1984     virtual QCString trExtendsClass()
1985     {
1986       return "estende a classe @0.";
1987     }
1988
1989     /*! Used as the header of a list of class methods in Objective-C.
1990      *  These are similar to static public member functions in C++.
1991      */
1992     virtual QCString trClassMethods()
1993     {
1994       return "Métodos da classe";
1995     }
1996
1997     /*! Used as the header of a list of instance methods in Objective-C.
1998      *  These are similar to public member functions in C++.
1999      */
2000     virtual QCString trInstanceMethods()
2001     {
2002       return "Métodos da instância";
2003     }
2004
2005     /*! Used as the header of the member functions of an Objective-C class.
2006      */
2007     virtual QCString trMethodDocumentation()
2008     {
2009       return "Documentação do método";
2010     }
2011
2012     /*! Used as the title of the design overview picture created for the
2013      *  VHDL output.
2014      */
2015     virtual QCString trDesignOverview()
2016     {
2017       // I'm not sure how to accurately translate it
2018       return "Visão geral do design";
2019     }
2020
2021 //////////////////////////////////////////////////////////////////////////
2022 // new since 1.8.4
2023 //////////////////////////////////////////////////////////////////////////
2024
2025     /** old style UNO IDL services: implemented interfaces */
2026     virtual QCString trInterfaces()
2027     { return "Interfaces Exportadas"; }
2028
2029     /** old style UNO IDL services: inherited services */
2030     virtual QCString trServices()
2031     { return "Serviços Inclusos"; }
2032
2033     /** UNO IDL constant groups */
2034     virtual QCString trConstantGroups()
2035     { return "Grupos de Constantes"; }
2036
2037     /** UNO IDL constant groups */
2038     virtual QCString trConstantGroupReference(const char *namespaceName)
2039     {
2040       QCString result = "Referência do grupo de constantes ";
2041       result += namespaceName;
2042       return result;
2043     }
2044     /** UNO IDL service page title */
2045     virtual QCString trServiceReference(const char *sName)
2046     {
2047       QCString result = "Referência do serviço ";
2048       result += sName;
2049       return result;
2050     }
2051     /** UNO IDL singleton page title */
2052     virtual QCString trSingletonReference(const char *sName)
2053     {
2054       // TODO: Emerson Ferreira proposes to add emphasis around the word
2055       // Singleton but I'm not sure if this will work for non HTML generators.
2056       QCString result = "Referência do Singleton ";
2057       result += sName;
2058       return result;
2059     }
2060     /** UNO IDL service page */
2061     virtual QCString trServiceGeneratedFromFiles(bool single)
2062     {
2063       // single is true implies a single file
2064       QCString result=(QCString)"A documentação para esse serviço "
2065                                 "foi gerada a partir ";
2066       if (single) {
2067         result+="do seguinte arquivo:";
2068       } else {
2069         result+="dos seguintes arquivos:";
2070       }
2071       return result;
2072     }
2073     /** UNO IDL singleton page */
2074     virtual QCString trSingletonGeneratedFromFiles(bool single)
2075     {
2076       // single is true implies a single file
2077       QCString result=(QCString)"A documentação para esse <em>Singleton</em> "
2078                                 "foi gerada a partir ";
2079       if (single) {
2080         result+="do seguinte arquivo:";
2081       } else {
2082         result+="dos: seguintes arquivos:";
2083       }
2084
2085       return result;
2086     }
2087     //////////////////////////////////////////////////////////////////////////
2088     // new since 1.8.15
2089     //////////////////////////////////////////////////////////////////////////
2090
2091         /** VHDL design unit hierarchy */
2092         virtual QCString trDesignUnitHierarchy()
2093         { return "Hierarquia da Unidade de Design"; }
2094         /** VHDL design unit list */
2095         virtual QCString trDesignUnitList()
2096         { return "Lista de Unidades de Design"; }
2097         /** VHDL design unit members */
2098         virtual QCString trDesignUnitMembers()
2099         { return "Membros da Unidade de Design"; }
2100         /** VHDL design unit list description */
2101         virtual QCString trDesignUnitListDescription()
2102         {
2103             return "Esta é uma lista de todos os membros de unidades de design "
2104                         "com ligações para as entidades às quais pertencem:";
2105         }
2106         /** VHDL design unit index */
2107         virtual QCString trDesignUnitIndex()
2108         { return "Índice de Unidades de Design"; }
2109         /** VHDL design units */
2110         virtual QCString trDesignUnits()
2111         { return "Unidades de Design"; }
2112         /** VHDL functions/procedures/processes */
2113         virtual QCString trFunctionAndProc()
2114         { return "Funções/Procedimentos/Processos"; }
2115         /** VHDL type */
2116         virtual QCString trVhdlType(uint64 type,bool single)
2117         {
2118           switch(type)
2119           {
2120             case VhdlDocGen::LIBRARY:
2121               if (single) return "Biblioteca";
2122               else        return "Bibliotecas";
2123             case VhdlDocGen::PACKAGE:
2124               if (single) return "Pacote";
2125               else        return "Pacotes";
2126             case VhdlDocGen::SIGNAL:
2127               if (single) return "Sinal";
2128               else        return "Sinais";
2129             case VhdlDocGen::COMPONENT:
2130               if (single) return "Componente";
2131               else        return "Componentes";
2132             case VhdlDocGen::CONSTANT:
2133               if (single) return "Constante";
2134               else        return "Constantes";
2135             case VhdlDocGen::ENTITY:
2136               if (single) return "Entidade";
2137               else        return "Entidades";
2138             case VhdlDocGen::TYPE:
2139               if (single) return "Tipo";
2140               else        return "Tipos";
2141             case VhdlDocGen::SUBTYPE:
2142               if (single) return "Subtipo";
2143               else        return "Subtipos";
2144             case VhdlDocGen::FUNCTION:
2145               if (single) return "Função";
2146               else        return "Funções";
2147             case VhdlDocGen::RECORD:
2148               if (single) return "Registro";
2149               else        return "Registros";
2150             case VhdlDocGen::PROCEDURE:
2151               if (single) return "Procedimento";
2152               else        return "Procedimentos";
2153             case VhdlDocGen::ARCHITECTURE:
2154               if (single) return "Arquitetura";
2155               else        return "Arquiteturas";
2156             case VhdlDocGen::ATTRIBUTE:
2157               if (single) return "Atributo";
2158               else        return "Atributos";
2159             case VhdlDocGen::PROCESS:
2160               if (single) return "Processo";
2161               else        return "Processos";
2162             case VhdlDocGen::PORT:
2163               if (single) return "Porta";
2164               else        return "Portas";
2165             case VhdlDocGen::USE:
2166               if (single) return "cláusula de uso";
2167               else        return "cláusulas de uso";
2168             case VhdlDocGen::GENERIC:
2169               if (single) return "Generico";
2170               else        return "Genericos";
2171             case VhdlDocGen::PACKAGE_BODY:
2172               return "Corpo do Pacote";
2173             case VhdlDocGen::UNITS:
2174               return "Unidades";
2175             case VhdlDocGen::SHAREDVARIABLE:
2176               if (single) return "Variável Compartilhada";
2177               else        return "Variáveis Compartilhadas";
2178             case VhdlDocGen::VFILE:
2179               if (single) return "Arquivo";
2180               else        return "Arquivos";
2181             case VhdlDocGen::GROUP:
2182               if (single) return "Grupo";
2183               else        return "Grupos";
2184             case VhdlDocGen::INSTANTIATION:
2185                 if (single) return "Instância";
2186                 else        return "Instâncias";
2187             case VhdlDocGen::ALIAS:
2188               if (single) return "Apelido";
2189               else        return "Apelidos";
2190             case VhdlDocGen::CONFIG:
2191               if (single) return "Configuração";
2192               else        return "Configurações";
2193             case VhdlDocGen::MISCELLANEOUS:
2194               return "Outros"; // Is this correct for VHDL?
2195             case VhdlDocGen::UCF_CONST:
2196               return "Restrições";
2197             default:
2198               return "Classe";
2199           }
2200         }
2201         virtual QCString trCustomReference(const char *name)
2202         { return "Referência de " + QCString(name); }
2203 };
2204
2205 #endif