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