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