Fix for UBSan build
[platform/upstream/doxygen.git] / src / translator_cn.h
1 /******************************************************************************
2  *
3  * 
4  *
5  * Copyright (C) 1997-2012 by Dimitri van Heesch.
6  *
7  * Permission to use, copy, modify, and distribute this software and its
8  * documentation under the terms of the GNU General Public License is hereby 
9  * granted. No representations are made about the suitability of this software 
10  * for any purpose. It is provided "as is" without express or implied warranty.
11  * See the GNU General Public License for more details.
12  *
13  * Documents produced by Doxygen are derivative works derived from the
14  * input used in their production; they are not affected by this license.
15  *
16  */
17
18 #ifndef TRANSLATOR_CN_H
19 #define TRANSLATOR_CN_H
20
21 /*!
22    If you want insert a space whenever Chinese meets English charactors, set
23    CN_SPC to " ", else null.
24 */
25 #define CN_SPC " "
26
27 class TranslatorChinese : public TranslatorAdapter_1_8_2
28 {
29   public:
30     /*! Used for identification of the language. The identification
31      * should not be translated. It should be replaced by the name
32      * of the language in English using lower-case characters only
33      * (e.g. "czech", "japanese", "russian", etc.). It sould be equal to
34      * the identification used in the language.cpp.
35      */
36     
37     virtual QCString idLanguage()
38     { return "chinese"; }
39
40     /*! Used to get the LaTeX command(s) for the language support. 
41      * This method should return string with commands that switch
42      * LaTeX to the desired language.  For example 
43      * <pre>"\\usepackage[german]{babel}\n"
44      * </pre>
45      * or
46      * <pre>"\\usepackage{polski}\n"
47      * "\\usepackage[latin2]{inputenc}\n"
48      * "\\usepackage[T1]{fontenc}\n"
49      * </pre>
50      * 
51      * The English LaTeX does not use such commands.  Because of this
52      * the empty string is returned in this implementation.
53      */
54     virtual QCString latexLanguageSupportCommand()
55     {
56       return "";
57     }
58
59
60     /*! return the language charset. This will be used for the HTML output */
61     virtual QCString idLanguageCharset()
62     { return "UTF-8"; }
63
64     /*! used in the compound documentation before a list of related functions. 
65      */
66     virtual QCString trRelatedFunctions()
67     { return "相关函数"; }
68
69     /*! subscript for the related functions. */
70     virtual QCString trRelatedSubscript()
71     { return "(请注意: 这些不是成员函数.)"; }
72
73     /*! header that is put before the detailed description of files, 
74      * classes and namespaces. 
75      */
76     virtual QCString trDetailedDescription()
77     { return "详细描述"; }
78
79     /*! header that is put before the list of typedefs. */
80     virtual QCString trMemberTypedefDocumentation()
81     { return "成员类型定义说明"; }
82
83     /*! header that is put before the list of enumerations. */
84     virtual QCString trMemberEnumerationDocumentation()
85     { return "成员枚举类型说明"; }
86
87     /*! header that is put before the list of member function. */
88     virtual QCString trMemberFunctionDocumentation()
89     { return "成员函数说明"; }
90
91     /*! header that is put before the list of member attributes. */
92     virtual QCString trMemberDataDocumentation()
93     { 
94       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
95       {
96         return "结构体成员变量说明"; 
97       }
98       else
99       {
100         return "类成员变量说明"; 
101       }
102     }
103
104     /*! this is the text of a link put after brief descriptions. */
105     virtual QCString trMore()
106     { return "更多..."; }
107
108     /*! put in the class documention */
109     virtual QCString trListOfAllMembers()
110     { return "所有成员列表"; }
111
112     /*! used as the title of the "list of all members" page of a class */
113     virtual QCString trMemberList()
114     { return "成员列表"; }
115
116     /*! this is the first part of a sentence that is followed by a class name */
117     virtual QCString trThisIsTheListOfAllMembers()
118     { return "成员的完整列表,这些成员属于"CN_SPC; }
119
120     /*! this is the remainder of the sentence after the class name */
121     virtual QCString trIncludingInheritedMembers()
122     { return ",包括所有继承而来的类成员"; }
123
124     /*! this is put at the author sections at the bottom of man pages.
125      *  parameter s is name of the project name.
126      */
127     virtual QCString trGeneratedAutomatically(const char *s)
128     { QCString result;
129       result = "由"CN_SPC"Doyxgen"CN_SPC"通过分析"CN_SPC;
130       if (s) result += ((QCString)s+CN_SPC"的"CN_SPC);
131       result+= "源代码自动生成."; 
132       return result;
133     }
134
135     /*! put after an enum name in the list of all members */
136     virtual QCString trEnumName()
137     { return "枚举名称"; }
138
139     /*! put after an enum value in the list of all members */
140     virtual QCString trEnumValue()
141     { return "枚举值"; }
142
143     /*! put after an undocumented member in the list of all members */
144     virtual QCString trDefinedIn()
145     { return "定义于"CN_SPC; }
146
147     // quick reference sections
148
149     /*! This is put above each page as a link to the list of all groups of 
150      *  compounds or files (see the \\group command).
151      */
152     virtual QCString trModules()
153     { return "模块"; }
154
155     /*! This is put above each page as a link to the class hierarchy */
156      virtual QCString trClassHierarchy()
157     { return "类继承关系"; }
158
159     /*! This is put above each page as a link to the list of annotated class */
160      virtual QCString trCompoundList()
161     { 
162       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) {
163         return "结构体"; 
164       }
165       else {
166         return "类列表"; 
167       }
168     }
169
170     /*! This is put above each page as a link to the list of documented files */
171     virtual QCString trFileList()
172     { return "文件列表"; }
173
174     /*! This is put above each page as a link to all members of compounds. */
175     virtual QCString trCompoundMembers()
176     { 
177       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { 
178         return "成员变量"; 
179       }
180       else {
181         return "类成员"; 
182       }
183     }
184
185     /*! This is put above each page as a link to all member of files. */
186     virtual QCString trFileMembers()
187     { 
188       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) {
189         return "全局定义"; 
190       } else {
191         return "文件成员"; 
192       }
193     }
194
195     /*! This is put above each page as a link to all related pages. */
196     virtual QCString trRelatedPages()
197     { return "相关页面"; }
198
199     /*! This is put above each page as a link to all examples. */
200     virtual QCString trExamples()
201     { return "示例"; }
202
203     virtual QCString trSearch()
204     { return "搜索"; }
205
206     virtual QCString trClassHierarchyDescription()
207     { return "此继承关系列表按字典顺序粗略的排序:"CN_SPC; }
208
209     virtual QCString trFileListDescription(bool extractAll)
210     {
211       QCString result="这里列出了所有";
212       if (!extractAll) result+="文档化的";
213       result+="文件,并附带简要说明:";
214       return result;
215     }
216
217     virtual QCString trCompoundListDescription()
218     { 
219       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
220       {
221         return "这里列出了所有结构体,并附带简要说明:"; 
222       }
223       else
224       {
225         return "这里列出了所有类、结构、联合以及接口定义等,并附带简要说明:"; 
226       }
227     }
228
229     virtual QCString trCompoundMembersDescription(bool extractAll)
230     {
231       QCString result="这里列出了所有";
232       if (!extractAll) {
233         result+="文档化的";
234       }
235       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) {
236         result+="结构体和联合体的成员变量,并附带";
237       }
238       else {
239         result+="类成员,并附带";
240       }
241       //result+=" with links to ";
242       if (extractAll) {
243         if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) {
244           result+="结构体或联合的详细说明:";
245         }
246         else {
247           result+="类的详细说明:";
248         }
249       }
250       else {
251         if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) {
252           result+="结构或联合所属的文件:";
253         }
254         else {
255           result+="类所属的文件:";
256         }
257       }
258       return result;
259     }
260
261     virtual QCString trFileMembersDescription(bool extractAll)
262     {
263       QCString result="这里列出了所有";
264       if (!extractAll) 
265         result +="文档化的";
266       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) {
267         result +="函数,变量,宏,枚举和类型定义等,并附带";
268       } 
269       else {
270         result +="文件成员,并附带";
271       }
272
273       if (extractAll) 
274         result+="其所属的文件:";
275       else 
276         result+="其详细说明:";
277       return result;
278     }
279
280     virtual QCString trExamplesDescription()
281     { return "这里列出了所有示例:"; }
282
283     virtual QCString trRelatedPagesDescription()
284     { return "这里列出了所有相关页面:"; }
285
286     virtual QCString trModulesDescription()
287     { return "这里列出了所有模块:"; }
288
289     virtual QCString trDocumentation()
290     { return "文档"; }
291
292     virtual QCString trModuleIndex()
293     { return "模块索引"; }
294
295     virtual QCString trHierarchicalIndex()
296     { return "继承关系索引"; }
297
298     virtual QCString trCompoundIndex()
299     { 
300       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
301       {
302         return "结构体索引"; 
303       } 
304       else {
305         return "类索引"; 
306       }
307     }
308
309     virtual QCString trFileIndex() 
310     { return "文件索引"; }
311
312     virtual QCString trModuleDocumentation()
313     { return "模块说明"; }
314
315     virtual QCString trClassDocumentation()
316     { 
317       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
318       {
319         return "结构体说明";
320       }
321       else {
322         return "类说明"; 
323       }
324     }
325
326     virtual QCString trFileDocumentation()
327     { return "文件说明"; }
328
329     virtual QCString trExampleDocumentation()
330     { return "示例说明"; }
331
332     virtual QCString trPageDocumentation()
333     { return "页面说明"; }
334
335     virtual QCString trReferenceManual()
336     { return "参考手册"; }
337
338     virtual QCString trDefines()
339     { return "宏定义"; }
340
341     virtual QCString trFuncProtos()
342     { return "函数原型"; }
343
344     virtual QCString trTypedefs()
345     { return "类型定义"; }
346
347     virtual QCString trEnumerations()
348     { return "枚举"; }
349
350     virtual QCString trFunctions()
351     { return "函数"; }
352
353     virtual QCString trVariables()
354     { return "变量"; }
355
356     virtual QCString trEnumerationValues()
357     { return "枚举值"; }
358
359
360     virtual QCString trDefineDocumentation()
361     { return "宏定义说明"; }
362
363      virtual QCString trFunctionPrototypeDocumentation()
364     { return "函数原型说明"; }
365
366     virtual QCString trTypedefDocumentation()
367     { return "类型定义说明"; }
368
369     virtual QCString trEnumerationTypeDocumentation()
370     { return "枚举类型说明"; }
371
372     virtual QCString trFunctionDocumentation()
373     { return "函数说明"; }
374
375     virtual QCString trVariableDocumentation()
376     { return "变量说明"; }
377
378     virtual QCString trCompounds()
379     { 
380       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
381       { 
382         return "结构体";
383       }
384       else {
385         return "类"; 
386       }
387     }
388
389     virtual QCString trGeneratedAt(const char *date,const char *projName)
390     { QCString result=(QCString)"生成于"CN_SPC+date;
391       if (projName) result+=(QCString)CN_SPC", 为"CN_SPC+projName;
392       result+=(QCString)"使用"CN_SPC;
393       return result;
394     }
395
396     virtual QCString trWrittenBy()
397     {
398       return "作者";
399     }
400
401     virtual QCString trClassDiagram(const char *clName)
402     {
403       return (QCString)"类"CN_SPC+clName+CN_SPC"继承关系图:";
404     }
405
406      virtual QCString trForInternalUseOnly()
407     { return "仅限内部使用."; }
408
409      virtual QCString trWarning()
410     { return "警告"; }
411
412      virtual QCString trVersion()
413     { return "版本"; }
414
415      virtual QCString trDate()
416     { return "日期"; }
417
418      virtual QCString trReturns()
419     { return "返回"; }
420
421      virtual QCString trSeeAlso()
422     { return "参见"; }
423
424      virtual QCString trParameters()
425     { return "参数"; }
426
427      virtual QCString trExceptions()
428     { return "异常"; }
429
430      virtual QCString trGeneratedBy()
431     { return "制作者"; }
432     
433 //////////////////////////////////////////////////////////////////////////
434 // new since 0.49-990307 
435 //////////////////////////////////////////////////////////////////////////
436     
437      virtual QCString trNamespaceList()
438     { return "命名空间列表"; }
439
440      virtual QCString trNamespaceListDescription(bool extractAll)
441     {
442        QCString result="这里列出了所有";
443       if (!extractAll) result+="文档化的";
444       result+="命名空间定义,附带简要说明:";
445       return result;
446     }
447
448      virtual QCString trFriends()
449     { return "友元"; }
450
451 //////////////////////////////////////////////////////////////////////////
452 // new since 0.49-990405
453 //////////////////////////////////////////////////////////////////////////
454     
455      virtual QCString trRelatedFunctionDocumentation()
456     { return "友元及相关函数文档"; }
457     
458 //////////////////////////////////////////////////////////////////////////
459 // new since 0.49-990425
460 //////////////////////////////////////////////////////////////////////////
461
462      virtual QCString trCompoundReference(const char *clName,
463                                  ClassDef::CompoundType compType,
464                                  bool isTemplate)
465       // used as the title of the HTML page of a class/struct/union
466     {
467        QCString result=(QCString)clName;
468       if (isTemplate) result+=CN_SPC"模板";
469       switch(compType)
470       {
471         case ClassDef::Class:  result+="类"; break;
472         case ClassDef::Struct: result+="结构体"; break;
473         case ClassDef::Union:  result+="联合体"; break;
474         case ClassDef::Interface:  result+="接口"; break;
475         case ClassDef::Protocol:   result+="协议"; break;
476         case ClassDef::Category:   result+="分类"; break;
477         case ClassDef::Exception:  result+="异常"; break;
478       }
479       result+=CN_SPC"参考";
480       return result;
481     }
482
483     /*! used as the title of the HTML page of a file */
484     virtual QCString trFileReference(const char *fileName)
485     {
486       QCString result=fileName;
487       result+=CN_SPC"文件参考"; 
488       return result;
489     }
490
491     /*! used as the title of the HTML page of a namespace */
492     virtual QCString trNamespaceReference(const char *namespaceName)
493     { QCString result=namespaceName;
494       result+=CN_SPC"命名空间参考";
495       return result;
496     }
497     
498     // these are for the member sections of a class, struct or union 
499     virtual QCString trPublicMembers()
500     { return "Public 成员函数"; }
501
502     virtual QCString trPublicSlots()
503     { return "Public 槽"; }
504
505     virtual QCString trSignals()
506     { return "信号"; }
507
508     virtual QCString trStaticPublicMembers()
509     { return "静态 Public 成员函数"; }
510
511     virtual QCString trProtectedMembers()
512     { return "Protected 成员函数"; }
513
514     virtual QCString trProtectedSlots()
515     { return "Protected 槽"; }
516
517     virtual QCString trStaticProtectedMembers()
518     { return "静态 Protected 成员函数"; }
519     
520     virtual QCString trPrivateMembers()
521     { return "Private 成员函数"; }
522     
523     virtual QCString trPrivateSlots()
524     { return "Private 槽"; }
525     
526     virtual QCString trStaticPrivateMembers()
527     { return "静态 Private 成员函数"; }
528     
529     // end of member sections 
530     virtual QCString trWriteList(int numEntries)
531     {
532       // this function is used to produce a comma-separated list of items.
533       // use generateMarker(i) to indicate where item i should be put.
534       QCString result;
535       int i;
536       // the inherits list contain `numEntries' classes
537       for (i=0;i<numEntries;i++) 
538       {
539         // use generateMarker to generate placeholders for the class links!
540         result+=generateMarker(i); // generate marker for entry i in the list 
541                                    // (order is left to right)
542         
543         if (i!=numEntries-1)  // not the last entry, so we need a separator
544         {
545           if (i<numEntries-2) // not the fore last entry 
546             result+=",";
547           else                // the fore last entry
548             result+=CN_SPC", 以及"CN_SPC;
549         }
550       }
551       return result; 
552     }
553     
554     /*! used in class documentation to produce a list of base classes,
555      *  if class diagrams are disabled.
556      */
557     virtual QCString trInheritsList(int numEntries)
558     { return "继承自"CN_SPC+trWriteList(numEntries)+CN_SPC".";  }
559
560     /*! used in class documentation to produce a list of super classes,
561      *  if class diagrams are disabled.
562      */
563     virtual QCString trInheritedByList(int numEntries)
564     {
565       return "被"CN_SPC+trWriteList(numEntries)+CN_SPC"继承.";
566     }
567     
568     /*! used in member documentation blocks to produce a list of 
569      *  members that are hidden by this one.
570      */
571     virtual QCString trReimplementedFromList(int numEntries)
572     {
573       return "重载"CN_SPC+trWriteList(numEntries)+CN_SPC".";
574     }
575     
576     /*! used in member documentation blocks to produce a list of
577      *  all member that overwrite the implementation of this member.
578      */
579     virtual QCString trReimplementedInList(int numEntries)
580     {
581       return "被"CN_SPC+trWriteList(numEntries)+CN_SPC"重载.";
582     }
583
584     /*! This is put above each page as a link to all members of namespaces. */
585     virtual QCString trNamespaceMembers()
586     { return "命名空间成员"; }
587     
588     /*! This is an introduction to the page with all namespace members */
589     virtual QCString trNamespaceMemberDescription(bool extractAll)
590     { 
591        QCString result="这里列出了所有";
592       if (!extractAll) result+="文档化的";
593       result+="命名空间成员,并附带";
594       if (extractAll) 
595         result+="其说明文档:";
596       else 
597         result+="其所属的文件:";
598       return result;
599     }
600
601     /*! This is used in LaTeX as the title of the chapter with the 
602      *  index of all namespaces.
603      */
604     virtual QCString trNamespaceIndex()
605     { return "命名空间索引"; }
606
607     /*! This is used in LaTeX as the title of the chapter containing
608      *  the documentation of all namespaces.
609      */
610     virtual QCString trNamespaceDocumentation()
611     { return "命名空间文档"; }
612
613 //////////////////////////////////////////////////////////////////////////
614 // new since 0.49-990522
615 //////////////////////////////////////////////////////////////////////////
616
617     /*! This is used in the documentation before the list of all
618      *  namespaces in a file.
619      */
620     virtual QCString trNamespaces()
621     {
622       return "命名空间";
623     }
624
625 //////////////////////////////////////////////////////////////////////////
626 // new since 0.49-990728
627 //////////////////////////////////////////////////////////////////////////
628
629     /*! This is put at the bottom of a class documentation page and is
630      *  followed by a list of files that were used to generate the page.
631      */
632     virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType,
633         bool)
634     { // here s is one of " Class", " Struct" or " Union"
635       // single is true implies a single file
636        QCString result=(QCString)"该";
637       switch(compType)
638       {
639         case ClassDef::Class:      result+="类"; break;
640         case ClassDef::Struct:     result+="结构体"; break;
641         case ClassDef::Union:      result+="联合体"; break;
642         case ClassDef::Interface:  result+="接口"; break;
643         case ClassDef::Protocol:   result+="协议"; break;
644         case ClassDef::Category:   result+="分类"; break;
645         case ClassDef::Exception:  result+="异常"; break;
646       }
647       result+="的文档由以下文件生成:";
648       return result;
649     }
650
651     /*! This is in the (quick) index as a link to the alphabetical compound
652      * list.
653      */
654     virtual QCString trAlphabeticalList()
655     { return "按字典顺序排序的列表"; }
656
657 //////////////////////////////////////////////////////////////////////////
658 // new since 0.49-990901
659 //////////////////////////////////////////////////////////////////////////
660
661     /*! This is used as the heading text for the retval command. */
662     virtual QCString trReturnValues()
663     { return "返回值"; }
664
665     /*! This is in the (quick) index as a link to the main page (index.html)
666      */
667     virtual QCString trMainPage()
668     { return "首页"; }
669
670     /*! This is used in references to page that are put in the LaTeX 
671      *  documentation. It should be an abbreviation of the word page.
672      */
673     virtual QCString trPageAbbreviation()
674     { return "p."; }
675
676 //////////////////////////////////////////////////////////////////////////
677 // new since 0.49-991106
678 //////////////////////////////////////////////////////////////////////////
679
680     virtual QCString trDefinedAtLineInSourceFile()
681     {
682       return "在文件"CN_SPC"@1"CN_SPC"第"CN_SPC"@0"CN_SPC"行定义.";
683     }
684
685     virtual QCString trDefinedInSourceFile()
686     {
687       return "在文件"CN_SPC"@0"CN_SPC"中定义.";
688     }
689
690 //////////////////////////////////////////////////////////////////////////
691 // new since 0.49-991205
692 //////////////////////////////////////////////////////////////////////////
693
694     virtual QCString trDeprecated()
695     {
696       return "弃用";
697     }
698
699 //////////////////////////////////////////////////////////////////////////
700 // new since 1.0.0
701 //////////////////////////////////////////////////////////////////////////
702
703     /*! this text is put before a collaboration diagram */
704     virtual QCString trCollaborationDiagram(const char *clName)
705     {
706       return (QCString)clName+CN_SPC"的协作图:";
707     }
708
709     /*! this text is put before an include dependency graph */
710     virtual QCString trInclDepGraph(const char *fName)
711     {
712       return (QCString)fName+CN_SPC"的引用(Include)关系图:";
713     }
714
715     /*! header that is put before the list of constructor/destructors. */
716     virtual QCString trConstructorDocumentation()
717     {
718       return "构造及析构函数说明"; 
719     }
720
721     /*! Used in the file documentation to point to the corresponding sources. */
722     virtual QCString trGotoSourceCode()
723     {
724       return "浏览源代码.";
725     }
726
727     /*! Used in the file sources to point to the corresponding documentation. */
728     virtual QCString trGotoDocumentation()
729     {
730       return "浏览该文件的文档.";
731     }
732
733     /*! Text for the \\pre command */
734     virtual QCString trPrecondition()
735     {
736       return "前置条件";
737     }
738
739     /*! Text for the \\post command */
740     virtual QCString trPostcondition()
741     {
742       return "后置条件";
743     }
744
745     /*! Text for the \\invariant command */
746     virtual QCString trInvariant()
747     {
748       return "不变性";
749     }
750
751     /*! Text shown before a multi-line variable/enum initialization */
752     virtual QCString trInitialValue()
753     {
754       return "初始值:";
755     }
756
757     /*! Text used the source code in the file index */
758     virtual QCString trCode()
759     {
760       return "代码";
761     }
762
763     virtual QCString trGraphicalHierarchy()
764     {
765       return "类继承关系图";
766     }
767
768     virtual QCString trGotoGraphicalHierarchy()
769     {
770       return "浏览类继承关系图";
771     }
772
773     virtual QCString trGotoTextualHierarchy()
774     {
775       return "浏览类继承关系表";
776     }
777
778     virtual QCString trPageIndex()
779     {
780       return "页面索引";
781     }
782
783 //////////////////////////////////////////////////////////////////////////
784 // new since 1.1.0
785 //////////////////////////////////////////////////////////////////////////
786     
787     virtual QCString trNote()
788     {
789       return "注解";
790     }
791
792     virtual QCString trPublicTypes()
793     {
794       return "Public 类型";
795     }
796
797     virtual QCString trPublicAttribs()
798     {
799        if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
800        { 
801          return "成员变量";
802        }
803        else {
804          return "Public 属性";
805        }
806     }
807
808     virtual QCString trStaticPublicAttribs()
809     {
810       return "静态 Public 属性";
811     }
812
813     virtual QCString trProtectedTypes()
814     {
815       return "Protected 类型";
816     }
817
818     virtual QCString trProtectedAttribs()
819     {
820       return "Protected 属性";
821     }
822
823     virtual QCString trStaticProtectedAttribs()
824     {
825       return "静态 Protected 属性";
826     }
827
828     virtual QCString trPrivateTypes()
829     {
830       return "Private 类型";
831     }
832
833     virtual QCString trPrivateAttribs()
834     {
835       return "Private 属性";
836     }
837
838     virtual QCString trStaticPrivateAttribs()
839     {
840       return "静态 Private 属性";
841     }
842
843
844 //////////////////////////////////////////////////////////////////////////
845 // new since 1.1.3
846 //////////////////////////////////////////////////////////////////////////
847
848     /*! Used as a marker that is put before a todo item */
849     virtual QCString trTodo()
850     {
851       return "待办事项";
852     }
853
854     /*! Used as the header of the todo list */
855     virtual QCString trTodoList()
856     {
857       return "待办事项列表";
858     }
859
860 //////////////////////////////////////////////////////////////////////////
861 // new since 1.1.4
862 //////////////////////////////////////////////////////////////////////////
863
864     virtual QCString trReferencedBy()
865     {
866       return "参考自";
867     }
868
869     virtual QCString trRemarks()
870     {
871       return "备注";
872     }
873
874     virtual QCString trAttention()
875     {
876       return "注意";
877     }
878
879     virtual QCString trInclByDepGraph()
880     {
881       return "此图展示该文件直接或间接的被哪些文件引用了:";
882     }
883
884     virtual QCString trSince()
885     {
886       return "自从";
887     }
888     
889 //////////////////////////////////////////////////////////////////////////
890 // new since 1.1.5
891 //////////////////////////////////////////////////////////////////////////
892
893     /*! title of the graph legend page */
894     virtual QCString trLegendTitle()
895     {
896       return "图例";
897     }
898
899     /*! page explaining how the dot graph's should be interpreted */
900     virtual QCString trLegendDocs()
901     {
902       return "本页将向您解释如何理解由"CN_SPC"doxygen"CN_SPC"生成的图.<p>\n"
903         "考虑如下例子:\n"
904         "\\code\n"
905         "/*! 由于截断而使 Invisible 不可见 */\n"
906         "class Invisible { };\n\n"
907         "/*! Truncated 的继承关系将被隐藏 */\n"
908         "class Truncated : public Invisible { };\n\n"
909         "/* 没有被doxygen文档化的类 */\n"
910         "class Undocumented { };\n\n"
911         "/*! public 继承关系的类 */\n"
912         "class PublicBase : public Truncated { };\n\n"
913         "/*! 一个模板类 */\n"
914         "template<class T> class Templ { };\n\n"
915         "/*! protected 继承关系的类 */\n"
916         "class ProtectedBase { };\n\n"
917         "/*! private 继承关系的类 */\n"
918         "class PrivateBase { };\n\n"
919         "/*! 被 Inherited 使用的类 */\n"
920         "class Used { };\n\n"
921         "/*! 继承自其它若干类的超级类 */\n"
922         "class Inherited : public PublicBase,\n"
923         "                  protected ProtectedBase,\n"
924         "                  private PrivateBase,\n"
925         "                  public Undocumented,\n"
926         "                  public Templ<int>\n"
927         "{\n"
928         "  private:\n"
929         "    Used *m_usedClass;\n"
930         "};\n"
931         "\\endcode\n"
932         "结果将会生成以下图:"
933         "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center></p>\n"
934         "<p>\n"
935         "上图中的矩形有如下意义:\n"
936         "</p>\n"
937         "<ul>\n"
938         "<li>%灰色填充的矩形 表示上图是由该结构体或类生成.</li>\n"
939         "<li>%黑色边框的矩形 表示已经被文档化的结构体或类.</li>\n"
940         "<li>%灰色边框的矩形 表示未被文档化的结构体或类.</li>\n"
941         "<li>%红色边框的矩形 表示该结构体或类的关系没有被完全显示."
942         "%如果生成的图不能调整到制定的尺寸,有一些关系就会被截断而不显示出来.</li>\n"
943         "</ul>\n"
944         "<p>\n"
945         "箭头有如下意义:\n"
946         "</p>\n"
947         "<ul>\n"
948         "<li>%深蓝色的箭头被用于展示 public 的继承关系.</li>\n"
949         "<li>%深绿色的箭头表示 protected 的继承关系.</li>\n"
950         "<li>%深红色的箭头说明了是 privated 的继承关系.</li>\n"
951         "<li>%紫色虚线箭头用来表示两个类之间的聚合关系. 被箭头指向的类的类型的变量,可以通过箭头旁标明的变量去访问.</li>\n"
952         "<li>%黄色虚线箭头表示模板类实例和模板类之间的关系. 箭头旁边标明了模板类实例化的参数.</li>\n"
953         "</ul>\n";
954     }
955     
956     /*! text for the link to the legend page */
957     virtual QCString trLegend()
958     {
959       return "图例";
960     }
961
962 //////////////////////////////////////////////////////////////////////////
963 // new since 1.2.0
964 //////////////////////////////////////////////////////////////////////////
965     
966     /*! Used as a marker that is put before a test item */
967     virtual QCString trTest()
968     {
969       return "测试";
970     }
971
972     /*! Used as the header of the test list */
973     virtual QCString trTestList()
974     {
975       return "测试列表";
976     }
977
978 //////////////////////////////////////////////////////////////////////////
979 //// new since 1.2.1
980 ////////////////////////////////////////////////////////////////////////////
981     /*! Used as a section header for KDE-2 IDL methods */
982     virtual QCString trDCOPMethods()
983     {
984       return "DCOP"CN_SPC"成员函数";
985     }
986
987 //////////////////////////////////////////////////////////////////////////
988 //// new since 1.2.2
989 ////////////////////////////////////////////////////////////////////////////
990
991     /*! Used as a section header for IDL properties */
992     virtual QCString trProperties()
993     {
994       return "属性";
995     }
996
997     /*! Used as a section header for IDL property documentation */
998     virtual QCString trPropertyDocumentation()
999     {
1000       return "属性说明";
1001     }
1002
1003 //////////////////////////////////////////////////////////////////////////
1004 // new since 1.2.4
1005 //////////////////////////////////////////////////////////////////////////
1006
1007     /*! Used for Java classes in the summary section of Java packages */
1008     virtual QCString trClasses()
1009     {
1010       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
1011       {
1012         return "结构体";
1013       }
1014       else
1015       {
1016         return "类";
1017       }
1018     }
1019
1020     /*! Used as the title of a Java package */
1021     virtual QCString trPackage(const char *name)
1022     {
1023       return (QCString)"包"CN_SPC+name;
1024     }
1025     
1026     /*! Title of the package index page */
1027     virtual QCString trPackageList()
1028     {
1029       return "包列表";
1030     }
1031
1032     /*! The description of the package index page */
1033     virtual QCString trPackageListDescription()
1034     {
1035        return "这里列出所有的包,附带简要说明(如果有的话):"; 
1036     }
1037
1038     /*! The link name in the Quick links header for each page */
1039     virtual QCString trPackages()
1040     {
1041       return "包";
1042     }
1043
1044     /*! Text shown before a multi-line define */
1045     virtual QCString trDefineValue()
1046     {
1047       return "值:";
1048     }
1049
1050 ////////////////////////////////////////////////////////////////////////////
1051 //// new since 1.2.6
1052 ////////////////////////////////////////////////////////////////////////////
1053     virtual QCString trBug ()
1054     {
1055       return "Bug";
1056     }
1057
1058     virtual QCString trBugList ()
1059     {
1060       return "Bug"CN_SPC"列表";
1061     }
1062
1063 //////////////////////////////////////////////////////////////////////////
1064 // new since 1.2.6
1065 //////////////////////////////////////////////////////////////////////////
1066
1067     /*! Used as ansicpg for RTF file 
1068      * 
1069      * The following table shows the correlation of Charset name, Charset Value and 
1070      * <pre>
1071      * Codepage number:
1072      * Charset Name       Charset Value(hex)  Codepage number
1073      * ------------------------------------------------------
1074      * DEFAULT_CHARSET           1 (x01)
1075      * SYMBOL_CHARSET            2 (x02)
1076      * OEM_CHARSET             255 (xFF)
1077      * ANSI_CHARSET              0 (x00)            1252
1078      * RUSSIAN_CHARSET         204 (xCC)            1251
1079      * EE_CHARSET              238 (xEE)            1250
1080      * GREEK_CHARSET           161 (xA1)            1253
1081      * TURKISH_CHARSET         162 (xA2)            1254
1082      * BALTIC_CHARSET          186 (xBA)            1257
1083      * HEBREW_CHARSET          177 (xB1)            1255
1084      * ARABIC _CHARSET         178 (xB2)            1256
1085      * SHIFTJIS_CHARSET        128 (x80)             932
1086      * HANGEUL_CHARSET         129 (x81)             949
1087      * GB2313_CHARSET          134 (x86)             936
1088      * CHINESEBIG5_CHARSET     136 (x88)             950
1089      * </pre>
1090      * 
1091      */
1092     virtual QCString trRTFansicp()
1093     {
1094       return "936";
1095     }
1096
1097     /*! Used as ansicpg for RTF fcharset 
1098      *  \see trRTFansicp() for a table of possible values.
1099      */
1100     virtual QCString trRTFCharSet()
1101     {
1102       return "134";
1103     }
1104
1105
1106     /*! Used as header RTF general index */
1107     virtual QCString trRTFGeneralIndex()
1108     {
1109       return "索引";
1110     }
1111
1112    
1113     /*! This is used for translation of the word that will possibly
1114      *  be followed by a single name or by a list of names 
1115      *  of the category.
1116      */
1117     virtual QCString trClass(bool /*first_capital*/, bool /*singular*/)
1118     { 
1119       /*
1120        QCString result((first_capital ? "Class" : "class"));
1121       if (!singular)  result+="es";
1122       return result; 
1123       */
1124       return "类";
1125     }
1126
1127     /*! This is used for translation of the word that will possibly
1128      *  be followed by a single name or by a list of names 
1129      *  of the category.
1130      */
1131     virtual QCString trFile(bool /*first_capital*/, bool /*singular*/)
1132     { 
1133       /*
1134        QCString result((first_capital ? "File" : "file"));
1135       if (!singular)  result+="s";
1136       return result; 
1137       */
1138       return "文件";
1139
1140     }
1141
1142     /*! This is used for translation of the word that will possibly
1143      *  be followed by a single name or by a list of names 
1144      *  of the category.
1145      */
1146     virtual QCString trNamespace(bool /*first_capital*/, bool /*singular*/)
1147     { 
1148       /*
1149        QCString result((first_capital ? "Namespace" : "namespace"));
1150       if (!singular)  result+="s";
1151       return result; 
1152       */
1153       return "命名空间";
1154     }
1155
1156     /*! This is used for translation of the word that will possibly
1157      *  be followed by a single name or by a list of names 
1158      *  of the category.
1159      */
1160     virtual QCString trGroup(bool /*first_capital*/, bool /*singular*/)
1161     { 
1162       /*
1163        QCString result((first_capital ? "Group" : "group"));
1164       if (!singular)  result+="s";
1165       return result; 
1166       */
1167       return "组";
1168     }
1169
1170     /*! This is used for translation of the word that will possibly
1171      *  be followed by a single name or by a list of names 
1172      *  of the category.
1173      */
1174     virtual QCString trPage(bool /*first_capital*/, bool /*singular*/)
1175     { 
1176       /*
1177        QCString result((first_capital ? "Page" : "page"));
1178       if (!singular)  result+="s";
1179       return result; 
1180       */
1181       return "页";
1182     }
1183
1184     /*! This is used for translation of the word that will possibly
1185      *  be followed by a single name or by a list of names 
1186      *  of the category.
1187      */
1188     virtual QCString trMember(bool /*first_capital*/, bool /*singular*/)
1189     { 
1190       /*
1191        QCString result((first_capital ? "Member" : "member"));
1192       if (!singular)  result+="s";
1193       return result; 
1194       */
1195       return "成员";
1196     }
1197    
1198     /*! This is used for translation of the word that will possibly
1199      *  be followed by a single name or by a list of names 
1200      *  of the category.
1201      */
1202     virtual QCString trGlobal(bool /*first_capital*/, bool /*singular*/)
1203     { 
1204       /*
1205        QCString result((first_capital ? "Global" : "global"));
1206       if (!singular)  result+="s";
1207       return result; 
1208       */
1209       return "全局";
1210     }
1211
1212 //////////////////////////////////////////////////////////////////////////
1213 // new since 1.2.7
1214 //////////////////////////////////////////////////////////////////////////
1215
1216     /*! This text is generated when the \\author command is used and
1217      *  for the author section in man pages. */
1218     virtual QCString trAuthor(bool /*first_capital*/, bool /*singular*/)
1219     {                                                                         
1220       /*
1221        QCString result((first_capital ? "Author" : "author"));
1222       if (!singular)  result+="s";
1223       return result; 
1224       */
1225       return "作者";
1226     }
1227
1228 //////////////////////////////////////////////////////////////////////////
1229 // new since 1.2.11
1230 //////////////////////////////////////////////////////////////////////////
1231
1232     /*! This text is put before the list of members referenced by a member
1233      */
1234     virtual QCString trReferences()
1235     {
1236       return "参考";
1237     }
1238
1239 //////////////////////////////////////////////////////////////////////////
1240 // new since 1.2.13
1241 //////////////////////////////////////////////////////////////////////////
1242
1243     /*! used in member documentation blocks to produce a list of 
1244      *  members that are implemented by this one.
1245      */
1246     virtual QCString trImplementedFromList(int numEntries)
1247     {
1248       /* return "Implements "+trWriteList(numEntries)+"."; */
1249       return "实现了"CN_SPC+trWriteList(numEntries)+".";
1250     }
1251
1252     /*! used in member documentation blocks to produce a list of
1253      *  all members that implement this abstract member.
1254      */
1255     virtual QCString trImplementedInList(int numEntries)
1256     {
1257       /* return "Implemented in "+trWriteList(numEntries)+"."; */
1258       return "在"CN_SPC+trWriteList(numEntries)+CN_SPC"内被实现.";
1259     }
1260
1261 //////////////////////////////////////////////////////////////////////////
1262 // new since 1.2.16
1263 //////////////////////////////////////////////////////////////////////////
1264
1265     /*! used in RTF documentation as a heading for the Table
1266      *  of Contents.
1267      */
1268     virtual QCString trRTFTableOfContents()
1269     {
1270       /* return "Table of Contents"; */
1271       return "目录";
1272     }
1273
1274 //////////////////////////////////////////////////////////////////////////
1275 // new since 1.2.17
1276 //////////////////////////////////////////////////////////////////////////
1277
1278     /*! Used as the header of the list of item that have been 
1279      *  flagged deprecated 
1280      */
1281     virtual QCString trDeprecatedList()
1282     {
1283       return "弃用列表";
1284     }
1285
1286 //////////////////////////////////////////////////////////////////////////
1287 // new since 1.2.18
1288 //////////////////////////////////////////////////////////////////////////
1289
1290     /*! Used as a header for declaration section of the events found in 
1291      * a C# program
1292      */
1293     virtual QCString trEvents()
1294     {
1295       return "事件";
1296     }
1297     
1298     /*! Header used for the documentation section of a class' events. */
1299     virtual QCString trEventDocumentation()
1300     {
1301       return "事件说明";
1302     }
1303
1304 //////////////////////////////////////////////////////////////////////////
1305 // new since 1.3
1306 //////////////////////////////////////////////////////////////////////////
1307
1308     /*! Used as a heading for a list of Java class types with package scope.
1309      */
1310     virtual QCString trPackageTypes()
1311     { 
1312       return "包类型";
1313     }
1314     
1315     /*! Used as a heading for a list of Java class functions with package 
1316      * scope. 
1317      */
1318     virtual QCString trPackageMembers()
1319     { 
1320       return "包函数";
1321     }
1322     
1323     /*! Used as a heading for a list of static Java class functions with 
1324      *  package scope.
1325      */
1326     virtual QCString trStaticPackageMembers()
1327     { 
1328       return "静态包函数";
1329     }
1330     
1331     /*! Used as a heading for a list of Java class variables with package 
1332      * scope.
1333      */
1334     virtual QCString trPackageAttribs()
1335     { 
1336       return "包属性";
1337     }
1338     
1339     /*! Used as a heading for a list of static Java class variables with 
1340      * package scope.
1341      */
1342     virtual QCString trStaticPackageAttribs()
1343     {
1344       return "静态包属性";
1345     }
1346     
1347 //////////////////////////////////////////////////////////////////////////
1348 // new since 1.3.1
1349 //////////////////////////////////////////////////////////////////////////
1350
1351     /*! Used in the quick index of a class/file/namespace member list page 
1352      *  to link to the unfiltered list of all members.
1353      */
1354     virtual QCString trAll()
1355     {
1356       return "全部";
1357     }
1358     
1359     /*! Put in front of the call graph for a function. */
1360     virtual QCString trCallGraph()
1361     {
1362       return "函数调用图:";
1363     }
1364
1365 //////////////////////////////////////////////////////////////////////////
1366 // new since 1.3.3
1367 //////////////////////////////////////////////////////////////////////////
1368
1369     /*! When the search engine is enabled this text is put in the header 
1370      *  of each page before the field where one can enter the text to search 
1371      *  for. 
1372      */
1373     virtual QCString trSearchForIndex()
1374     {
1375       return "搜索"CN_SPC;
1376     }
1377     /*! This string is used as the title for the page listing the search
1378      *  results.
1379      */
1380     virtual QCString trSearchResultsTitle()
1381     {
1382       return "搜索结果";
1383     }
1384     
1385     /*! This string is put just before listing the search results. The
1386      *  text can be different depending on the number of documents found.
1387      *  Inside the text you can put the special marker $num to insert
1388      *  the number representing the actual number of search results.
1389      *  The @a numDocuments parameter can be either 0, 1 or 2, where the 
1390      *  value 2 represents 2 or more matches. HTML markup is allowed inside
1391      *  the returned string.
1392      */
1393     virtual QCString trSearchResults(int numDocuments)
1394     {
1395       if (numDocuments==0)
1396       {
1397         return "抱歉,未找到与您查询相符的文档.";
1398       }
1399       else if (numDocuments==1)
1400       {
1401         return "找到<b>1</b>篇与您查询相符的文档.";
1402       }
1403       else 
1404       {
1405         return "找到<b>$num</b>篇与您查询相符的文档."
1406                "优先显示最符合的文档.";
1407       }
1408     }
1409     /*! This string is put before the list of matched words, for each search 
1410      *  result. What follows is the list of words that matched the query.
1411      */
1412     virtual QCString trSearchMatches()
1413     {
1414       return "符合的结果:";
1415     }
1416
1417 //////////////////////////////////////////////////////////////////////////
1418 // new since 1.3.8
1419 //////////////////////////////////////////////////////////////////////////
1420
1421     /*! This is used in HTML as the title of page with source code for file filename
1422      */
1423     virtual QCString trSourceFile(QCString& filename)
1424     {
1425       /* return filename + " Source File"; */
1426       return filename + CN_SPC"源文件";
1427     }
1428 //////////////////////////////////////////////////////////////////////////
1429 // new since 1.3.9
1430 //////////////////////////////////////////////////////////////////////////
1431
1432     /*! This is used as the name of the chapter containing the directory
1433      *  hierarchy.
1434      */
1435     virtual QCString trDirIndex()
1436     {
1437       return "目录结构";
1438     }
1439
1440     /*! This is used as the name of the chapter containing the documentation
1441      *  of the directories.
1442      */
1443     virtual QCString trDirDocumentation()
1444     {
1445       return "目录说明";
1446     }
1447
1448                 /*! This is used as the title of the directory index and also in the
1449      *  Quick links of an HTML page, to link to the directory hierarchy.
1450      */
1451     virtual QCString trDirectories()
1452     { return "目录"; }
1453
1454     /*! This returns a sentences that introduces the directory hierarchy. 
1455      *  and the fact that it is sorted alphabetically per level
1456      */
1457     virtual QCString trDirDescription()
1458     {
1459       return "此继承关系列表按字典顺序粗略的排序:"CN_SPC;
1460     }
1461
1462     /*! This returns the title of a directory page. The name of the
1463      *  directory is passed via \a dirName.
1464      */
1465     virtual QCString trDirReference(const char *dirName)
1466     {
1467       QCString result=dirName;
1468       result+=CN_SPC"目录参考"; 
1469       return result;
1470     }
1471
1472     /*! This returns the word directory with or without starting capital
1473      *  (\a first_capital) and in sigular or plural form (\a singular).
1474      */
1475     virtual QCString trDir(bool /*first_capital*/, bool /*singular*/)
1476     { 
1477       return "目录";
1478     }
1479     
1480 //////////////////////////////////////////////////////////////////////////
1481 // new since 1.4.1
1482 //////////////////////////////////////////////////////////////////////////
1483
1484     /*! This text is added to the documentation when the \\overload command
1485      *  is used for a overloaded function.
1486      */
1487     virtual QCString trOverloadText()
1488     {
1489       return "这是为便于使用而提供的一个重载成员函数."
1490              "与上面的函数相比,它接受不同类型的参数.";
1491     }
1492
1493 //////////////////////////////////////////////////////////////////////////
1494 // new since 1.4.6
1495 //////////////////////////////////////////////////////////////////////////
1496
1497     /*! This is used to introduce a caller (or called-by) graph */
1498     virtual QCString trCallerGraph()
1499     {
1500       return "这是这个函数的调用关系图:";
1501     }
1502
1503     /*! This is used in the documentation of a file/namespace before the list 
1504      *  of documentation blocks for enumeration values
1505      */
1506     virtual QCString trEnumerationValueDocumentation()
1507     { 
1508       return "枚举变量说明";
1509     }
1510
1511 //////////////////////////////////////////////////////////////////////////
1512 // new since 1.5.4 (mainly for Fortran)
1513 //////////////////////////////////////////////////////////////////////////
1514     
1515     /*! header that is put before the list of member subprograms (Fortran). */
1516     virtual QCString trMemberFunctionDocumentationFortran()
1517     { return "成员函数/子程序说明"; }
1518
1519     /*! This is put above each page as a link to the list of annotated data types (Fortran). */    
1520     virtual QCString trCompoundListFortran()
1521     { return "数据类型列表"; }
1522
1523     /*! This is put above each page as a link to all members of compounds (Fortran). */
1524     virtual QCString trCompoundMembersFortran()
1525     { return "数据项"; }
1526
1527     /*! This is an introduction to the annotated compound list (Fortran). */
1528     virtual QCString trCompoundListDescriptionFortran()
1529     { return "带简要描述的数据类型列表:"; }
1530
1531     /*! This is an introduction to the page with all data types (Fortran). */
1532     virtual QCString trCompoundMembersDescriptionFortran(bool extractAll)
1533     {
1534       QCString result="这里列出了所有";
1535       if (!extractAll)
1536       {
1537         result+="文档化的";
1538       }
1539       result+="数据类型成员,并附带";
1540       //result+=" with links to ";
1541       if (!extractAll) 
1542       {
1543         result+="其说明文档:";
1544       }
1545       else 
1546       {
1547         result+="其所属的文件:";
1548       }
1549       return result;
1550     }
1551
1552     /*! This is used in LaTeX as the title of the chapter with the 
1553      * annotated compound index (Fortran).
1554      */
1555     virtual QCString trCompoundIndexFortran()
1556     { return "数据类型索引"; }
1557
1558
1559     /*! This is used in LaTeX as the title of the chapter containing
1560      *  the documentation of all data types (Fortran).
1561      */
1562     virtual QCString trTypeDocumentation()
1563     { return "数据类型文档"; }
1564
1565     /*! This is used in the documentation of a file as a header before the 
1566      *  list of (global) subprograms (Fortran).
1567      */
1568     virtual QCString trSubprograms()
1569     { return "函数/子程序"; }
1570
1571     /*! This is used in the documentation of a file/namespace before the list 
1572      *  of documentation blocks for subprograms (Fortran)
1573      */
1574     virtual QCString trSubprogramDocumentation()
1575     { return "函数/子程序说明"; }
1576
1577
1578     /*! This is used in the documentation of a file/namespace/group before 
1579      *  the list of links to documented compounds (Fortran)
1580      */
1581      virtual QCString trDataTypes()
1582     { return "数据类型"; }
1583     
1584     /*! used as the title of page containing all the index of all modules (Fortran). */
1585     virtual QCString trModulesList()
1586     { return "模块列表"; }
1587
1588     /*! used as an introduction to the modules list (Fortran) */
1589     virtual QCString trModulesListDescription(bool extractAll)
1590     {
1591       QCString result="这里列出了所有";
1592       if (!extractAll) result+="文档化的";
1593       result+="模块,并附带简要说明:";
1594       return result;
1595     }
1596
1597     /*! used as the title of the HTML page of a module/type (Fortran) */
1598     virtual QCString trCompoundReferenceFortran(const char *clName,
1599                                     ClassDef::CompoundType compType,
1600                                     bool isTemplate)
1601     {
1602       QCString result=(QCString)clName;
1603       switch(compType)
1604       {
1605         case ClassDef::Class:      result+=CN_SPC"模块"; break;
1606         case ClassDef::Struct:     result+=CN_SPC"类型"; break;
1607         case ClassDef::Union:      result+=CN_SPC"联合体"; break;
1608         case ClassDef::Interface:  result+=CN_SPC"接口"; break;
1609         case ClassDef::Protocol:   result+=CN_SPC"协议"; break;
1610         case ClassDef::Category:   result+=CN_SPC"目录"; break;
1611         case ClassDef::Exception:  result+=CN_SPC"异常"; break;
1612       }
1613       if (isTemplate) result+="模板"CN_SPC;
1614       result+="参考手册";
1615       return result;
1616     }
1617     
1618     /*! used as the title of the HTML page of a module (Fortran) */
1619     virtual QCString trModuleReference(const char *namespaceName)
1620     {
1621       QCString result=namespaceName;  
1622       result += CN_SPC"模块参考手册";
1623       return result;
1624     }
1625     
1626     /*! This is put above each page as a link to all members of modules. (Fortran) */
1627     virtual QCString trModulesMembers()
1628     { return "模块成员"; }
1629
1630     /*! This is an introduction to the page with all modules members (Fortran) */
1631     virtual QCString trModulesMemberDescription(bool extractAll)
1632     { 
1633       // QCString result="Here is a list of all ";
1634       // if (!extractAll) result+="documented ";
1635       // result+="module members with links to ";
1636       // if (extractAll) 
1637       // {
1638       //   result+="the module documentation for each member:";
1639       // }
1640       // else 
1641       // {
1642       //   result+="the modules they belong to:";
1643       // }
1644       // return result;
1645       if(!extractAll) {
1646         return "这里是有文档的模块成员列表,含有到每个成员所在模块的文档的链接:";
1647       } else {
1648         return "这里是模块成员列表,含有到成员所属的模块的链接:";
1649       }
1650     }
1651
1652     /*! This is used in LaTeX as the title of the chapter with the 
1653      *  index of all modules (Fortran).
1654      */
1655     virtual QCString trModulesIndex()
1656     // { return "Modules Index"; }
1657     { return "模块索引"; }
1658     
1659     /*! This is used for translation of the word that will possibly
1660      *  be followed by a single name or by a list of names 
1661      *  of the category.
1662      */
1663     virtual QCString trModule(bool, bool)
1664     {       
1665       // QCString result((first_capital ? "Module" : "module"));
1666       // if (!singular)  result+="s";
1667       // return result; 
1668       return "模块";
1669     }
1670     /*! This is put at the bottom of a module documentation page and is
1671      *  followed by a list of files that were used to generate the page.
1672      */
1673     virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType,
1674         bool)
1675     { 
1676       QCString result="该";
1677       switch(compType)
1678       {
1679         case ClassDef::Class:      result+=CN_SPC"模块"; break;
1680         case ClassDef::Struct:     result+=CN_SPC"结构体"; break;
1681         case ClassDef::Union:      result+=CN_SPC"联合体"; break;
1682         case ClassDef::Interface:  result+=CN_SPC"接口"; break;
1683         case ClassDef::Protocol:   result+=CN_SPC"协议"; break;
1684         case ClassDef::Category:   result+=CN_SPC"目录"; break;
1685         case ClassDef::Exception:  result+=CN_SPC"异常"; break;
1686       }
1687       result+=CN_SPC"的文档由以下文件生成:";
1688       return result;
1689     }
1690     
1691     /*! This is used for translation of the word that will possibly
1692      *  be followed by a single name or by a list of names 
1693      *  of the category.
1694      */
1695     virtual QCString trType(bool, bool)
1696     { 
1697       return "类型";
1698     }
1699     
1700     /*! This is used for translation of the word that will possibly
1701      *  be followed by a single name or by a list of names 
1702      *  of the category.
1703      */
1704     virtual QCString trSubprogram(bool, bool)
1705     { 
1706       return "子程序";
1707     }
1708
1709     /*! C# Type Constraint list */
1710     virtual QCString trTypeConstraints()
1711     {
1712       return "类型限制";
1713     }
1714   
1715 //////////////////////////////////////////////////////////////////////////
1716 // new since 1.6.0
1717 //////////////////////////////////////////////////////////////////////////
1718   virtual QCString trDirRelation(const char *name)
1719   {
1720     // return QCString(name)+" Relation";
1721     // unsure
1722     return QCString(name)+CN_SPC"关系";
1723   }
1724   
1725     virtual QCString trLoading()
1726   {
1727     return "载入中...";
1728   }
1729     
1730   virtual QCString trGlobalNamespace()
1731   {
1732     return "全局命名空间";
1733   }
1734   
1735     virtual QCString trSearching()
1736   {
1737     return "搜索中...";
1738   }
1739     
1740   virtual QCString trNoMatches()
1741   {
1742     return "未找到";
1743   }
1744
1745 //////////////////////////////////////////////////////////////////////////
1746 // new since 1.6.3
1747 //////////////////////////////////////////////////////////////////////////
1748
1749   virtual QCString trDirDependency(const char *name)
1750   {
1751     return QCString(name)+CN_SPC"的目录依赖关系图";
1752   }
1753     
1754   virtual QCString trFileIn(const char *name)
1755   {
1756     return (QCString)"文件在"+CN_SPC+name;
1757   }
1758   
1759   virtual QCString trIncludesFileIn(const char *name)
1760   {
1761     return (QCString)"在"CN_SPC+name+CN_SPC"中引用";
1762   }
1763
1764   virtual QCString trDateTime(int year,int month,int day,int dayOfWeek,
1765                                 int hour,int minutes,int seconds,
1766                                 bool includeTime)
1767   {
1768     static const char *days[]   = { "一","二","三","四","五","六","日" };
1769       static const char *months[] = { "一","二","三","四","五","六","七","八","九","十","十一","十二" };
1770       
1771     QCString sdate;
1772       
1773     sdate.sprintf("%d年"CN_SPC"%s月"CN_SPC"%d日"CN_SPC"星期%s",year, months[month-1], day, days[dayOfWeek-1]);
1774       
1775     if (includeTime)
1776     {
1777       QCString stime;
1778       stime.sprintf(" %.2d:%.2d:%.2d",hour,minutes,seconds);
1779       sdate+=stime;
1780     }
1781     return sdate;
1782   }
1783     
1784 //////////////////////////////////////////////////////////////////////////
1785 // new since 1.7.5
1786 //////////////////////////////////////////////////////////////////////////
1787
1788     /*! Header for the page with bibliographic citations */
1789     virtual QCString trCiteReferences()
1790     { return "参考书目"; }
1791
1792     /*! Text for copyright paragraph */
1793     virtual QCString trCopyright()
1794     { return "版权所有"; }
1795
1796     /*! Header for the graph showing the directory dependencies */
1797     virtual QCString trDirDepGraph(const char *name)
1798     {
1799       return QCString(name)+CN_SPC"的目录依赖关系图";
1800     } 
1801     
1802 //////////////////////////////////////////////////////////////////////////
1803 // new since 1.8.0
1804 //////////////////////////////////////////////////////////////////////////  
1805
1806     /*! Detail level selector shown for hierarchical indices */
1807     virtual QCString trDetailLevel()
1808     { return "详情级别"; }
1809
1810     /*! Section header for list of template parameters */
1811     virtual QCString trTemplateParameters()
1812     { return "模板参数"; }
1813
1814     /*! Used in dot graph when UML_LOOK is enabled and there are many fields */
1815     virtual QCString trAndMore(const QCString &number)
1816     { return "和"CN_SPC+number+CN_SPC"更多..."; }
1817
1818     /*! Used file list for a Java enum */
1819     virtual QCString trEnumGeneratedFromFiles(bool /*single*/)
1820     { return "枚举说明文档从下列文件生成:"; }
1821
1822     /*! Header of a Java enum page (Java enums are represented as classes). */
1823     virtual QCString trEnumReference(const char *name)
1824     { return QCString(name)+CN_SPC"枚举类型参考"; }
1825
1826     /*! Used for a section containing inherited members */
1827     virtual QCString trInheritedFrom(const char *members,const char *what)
1828     { return QCString(members)+CN_SPC"继承自"CN_SPC+what; }
1829
1830     /*! Header of the sections with inherited members specific for the 
1831      *  base class(es) 
1832      */
1833     virtual QCString trAdditionalInheritedMembers()
1834     { return "额外继承的成员函数"; }
1835
1836 //////////////////////////////////////////////////////////////////////////
1837 };
1838
1839 #endif
1840