Orb/Doxygen/src/translator_vi.h
changeset 3 d8fccb2cd802
parent 0 42188c7ea2d9
child 4 468f4c8d3d5b
equal deleted inserted replaced
2:932c358ece3e 3:d8fccb2cd802
       
     1 /******************************************************************************
       
     2  *
       
     3  * 
       
     4  *
       
     5  * Copyright (C) 1997-2008 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_VI_H
       
    19 #define TRANSLATOR_VI_H
       
    20 
       
    21 /*
       
    22  * 17 Oct 2008 : Translation to Vietnamese by
       
    23  *               Đặng Minh Tuấn <tuanvietkey@gmail.com>
       
    24  *
       
    25  */
       
    26 
       
    27 
       
    28 /*! 
       
    29  When defining a translator class for the new language, follow
       
    30  the description in the documentation.  One of the steps says
       
    31  that you should copy the translator_en.h (this) file to your
       
    32  translator_xx.h new file.  Your new language should use the
       
    33  Translator class as the base class.  This means that you need to
       
    34  implement exactly the same (pure virtual) methods as the
       
    35  TranslatorEnglish does.  Because of this, it is a good idea to
       
    36  start with the copy of TranslatorEnglish and replace the strings
       
    37  one by one.
       
    38 
       
    39  It is not necessary to include "translator.h" or
       
    40  "translator_adapter.h" here.  The files are included in the
       
    41  language.cpp correctly.  Not including any of the mentioned
       
    42  files frees the maintainer from thinking about whether the
       
    43  first, the second, or both files should be included or not, and
       
    44  why.  This holds namely for localized translators because their
       
    45  base class is changed occasionaly to adapter classes when the
       
    46  Translator class changes the interface, or back to the
       
    47  Translator class (by the local maintainer) when the localized
       
    48  translator is made up-to-date again.
       
    49 */
       
    50 class TranslatorVietnamese : public TranslatorAdapter_1_6_0
       
    51 {
       
    52   public:
       
    53 
       
    54     // --- Language control methods -------------------
       
    55     
       
    56     /*! Used for identification of the language. The identification 
       
    57      * should not be translated. It should be replaced by the name 
       
    58      * of the language in English using lower-case characters only
       
    59      * (e.g. "czech", "japanese", "russian", etc.). It should be equal to 
       
    60      * the identification used in language.cpp.
       
    61      */
       
    62     virtual QCString idLanguage()
       
    63     { return "vietnamese"; }
       
    64     
       
    65     /*! Used to get the LaTeX command(s) for the language support. 
       
    66      *  This method should return string with commands that switch
       
    67      *  LaTeX to the desired language.  For example 
       
    68      *  <pre>"\\usepackage[german]{babel}\n"
       
    69      *  </pre>
       
    70      *  or
       
    71      *  <pre>"\\usepackage{polski}\n"
       
    72      *  "\\usepackage[latin2]{inputenc}\n"
       
    73      *  "\\usepackage[T1]{fontenc}\n"
       
    74      *  </pre>
       
    75      * 
       
    76      * The English LaTeX does not use such commands.  Because of this
       
    77      * the empty string is returned in this implementation.
       
    78      */
       
    79     virtual QCString latexLanguageSupportCommand()
       
    80     {
       
    81       return "";
       
    82     }
       
    83 
       
    84     /*! return the language charset. This will be used for the HTML output */
       
    85     virtual QCString idLanguageCharset()
       
    86     {
       
    87       return "utf-8";
       
    88     }
       
    89 
       
    90     // --- Language translation methods -------------------
       
    91 
       
    92     /*! used in the compound documentation before a list of related functions. */
       
    93     virtual QCString trRelatedFunctions()
       
    94     { return "Những hàm liên quan"; }
       
    95 
       
    96     /*! subscript for the related functions. */
       
    97     virtual QCString trRelatedSubscript()
       
    98     { return "(Chú ý những hàm này không phải là hàm thành viên.)"; }
       
    99 
       
   100     /*! header that is put before the detailed description of files, classes and namespaces. */
       
   101     virtual QCString trDetailedDescription()
       
   102     { return "Mô tả chi tiết"; }
       
   103 
       
   104     /*! header that is put before the list of typedefs. */
       
   105     virtual QCString trMemberTypedefDocumentation()
       
   106     { return "Thông tin về Member Typedef"; }
       
   107     
       
   108     /*! header that is put before the list of enumerations. */
       
   109     virtual QCString trMemberEnumerationDocumentation()
       
   110     { return "Thông tin về Member Enumeration"; }
       
   111     
       
   112     /*! header that is put before the list of member functions. */
       
   113     virtual QCString trMemberFunctionDocumentation()
       
   114     { return "Thông tin về hàm thành viên"; }
       
   115     
       
   116     /*! header that is put before the list of member attributes. */
       
   117     virtual QCString trMemberDataDocumentation()
       
   118     { 
       
   119       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
       
   120       {
       
   121         return "Thông tin về trường"; 
       
   122       }
       
   123       else
       
   124       {
       
   125         return "Thông tin về Member Data"; 
       
   126       }
       
   127     }
       
   128 
       
   129     /*! this is the text of a link put after brief descriptions. */
       
   130     virtual QCString trMore() 
       
   131     { return "Tiếp..."; }
       
   132 
       
   133     /*! put in the class documentation */
       
   134     virtual QCString trListOfAllMembers()
       
   135     { return "Liệt kê tất cả các thành viên."; }
       
   136 
       
   137     /*! used as the title of the "list of all members" page of a class */
       
   138     virtual QCString trMemberList()
       
   139     { return "Danh sách thành viên"; }
       
   140 
       
   141     /*! this is the first part of a sentence that is followed by a class name */
       
   142     virtual QCString trThisIsTheListOfAllMembers()
       
   143     { return "Danh sách các thành viên đầy đủ cho "; }
       
   144 
       
   145     /*! this is the remainder of the sentence after the class name */
       
   146     virtual QCString trIncludingInheritedMembers()
       
   147     { return ", cùng với tất cả các thành viên kế thừa."; }
       
   148     
       
   149     /*! this is put at the author sections at the bottom of man pages.
       
   150      *  parameter s is name of the project name.
       
   151      */
       
   152     virtual QCString trGeneratedAutomatically(const char *s)
       
   153     { QCString result="Được tạo ra bởi Doxygen";
       
   154       if (s) result+=(QCString)" cho "+s;
       
   155       result+=" từ mã nguồn."; 
       
   156       return result;
       
   157     }
       
   158 
       
   159     /*! put after an enum name in the list of all members */
       
   160     virtual QCString trEnumName()
       
   161     { return "tên enum"; }
       
   162     
       
   163     /*! put after an enum value in the list of all members */
       
   164     virtual QCString trEnumValue()
       
   165     { return "giá trị enum"; }
       
   166     
       
   167     /*! put after an undocumented member in the list of all members */
       
   168     virtual QCString trDefinedIn()
       
   169     { return "được định nghĩa trong"; }
       
   170 
       
   171     // quick reference sections
       
   172 
       
   173     /*! This is put above each page as a link to the list of all groups of 
       
   174      *  compounds or files (see the \\group command).
       
   175      */
       
   176     virtual QCString trModules()
       
   177     { return "Các Modules"; }
       
   178     
       
   179     /*! This is put above each page as a link to the class hierarchy */
       
   180     virtual QCString trClassHierarchy()
       
   181     { return "Kiến trúc Class"; }
       
   182     
       
   183     /*! This is put above each page as a link to the list of annotated classes */
       
   184     virtual QCString trCompoundList()
       
   185     { 
       
   186       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
       
   187       {
       
   188         return "Cấu trúc cơ sở dữ liệu (Data Structures)";
       
   189       }
       
   190       else
       
   191       {
       
   192         return "Danh mục các Class"; 
       
   193       }
       
   194     }
       
   195     
       
   196     /*! This is put above each page as a link to the list of documented files */
       
   197     virtual QCString trFileList()
       
   198     { return "Danh mục File"; }
       
   199 
       
   200     /*! This is put above each page as a link to all members of compounds. */
       
   201     virtual QCString trCompoundMembers()
       
   202     { 
       
   203       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
       
   204       {
       
   205         return "Các trường dữ liệu"; 
       
   206       }
       
   207       else
       
   208       {
       
   209         return "Các thành viên của Class"; 
       
   210       }
       
   211     }
       
   212 
       
   213     /*! This is put above each page as a link to all members of files. */
       
   214     virtual QCString trFileMembers()
       
   215     { 
       
   216       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
       
   217       {
       
   218         return "Toàn cục"; 
       
   219       }
       
   220       else
       
   221       {
       
   222         return "File thành viên"; 
       
   223       }
       
   224     }
       
   225 
       
   226     /*! This is put above each page as a link to all related pages. */
       
   227     virtual QCString trRelatedPages()
       
   228     { return "Các trang liên quan"; }
       
   229 
       
   230     /*! This is put above each page as a link to all examples. */
       
   231     virtual QCString trExamples()
       
   232     { return "Các ví dụ"; }
       
   233 
       
   234     /*! This is put above each page as a link to the search engine. */
       
   235     virtual QCString trSearch()
       
   236     { return "Tìm kiếm"; }
       
   237 
       
   238     /*! This is an introduction to the class hierarchy. */
       
   239     virtual QCString trClassHierarchyDescription()
       
   240     { return "Danh sách kế thừa đã được sắp xếp theo ABC, "
       
   241              "nhưng chưa đầy đủ:";
       
   242     }
       
   243 
       
   244     /*! This is an introduction to the list with all files. */
       
   245     virtual QCString trFileListDescription(bool extractAll)
       
   246     {
       
   247       QCString result="Danh mục đầy đủ tất cả các ";
       
   248       if (!extractAll) result+="(đã được biên soạn) ";
       
   249       result+="files cùng với các mô tả tóm tắt:";
       
   250       return result;
       
   251     }
       
   252 
       
   253     /*! This is an introduction to the annotated compound list. */
       
   254     virtual QCString trCompoundListDescription()
       
   255     { 
       
   256       
       
   257       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
       
   258       {
       
   259         return "Đây là cấu trúc cơ sở dữ liệu với mô tả tóm tắt:"; 
       
   260       }
       
   261       else
       
   262       {
       
   263         return "Đây là các classes, structs, "
       
   264                "unions và interfaces với các mô tả tóm tắt:"; 
       
   265       }
       
   266     }
       
   267 
       
   268     /*! This is an introduction to the page with all class members. */
       
   269     virtual QCString trCompoundMembersDescription(bool extractAll)
       
   270     {
       
   271       QCString result="Danh mục tất cả các ";
       
   272       if (!extractAll)
       
   273       {
       
   274         result+="(đã được mô tả) ";
       
   275       }
       
   276       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
       
   277       {
       
   278         result+="struct và union fields";
       
   279       }
       
   280       else
       
   281       {
       
   282         result+="class members";
       
   283       }
       
   284       result+=" cùng với các các liên kết đến ";
       
   285       if (!extractAll) 
       
   286       {
       
   287         if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
       
   288         {
       
   289           result+="Thông tin về struct/union cho từng trường:";
       
   290         }
       
   291         else
       
   292         {
       
   293           result+="Thông tin về class cho từng thành viên:";
       
   294         }
       
   295       }
       
   296       else 
       
   297       {
       
   298         if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
       
   299         {
       
   300           result+="các structures/unions thuộc:";
       
   301         }
       
   302         else
       
   303         {
       
   304           result+="các lớp thuộc:";
       
   305         }
       
   306       }
       
   307       return result;
       
   308     }
       
   309 
       
   310     /*! This is an introduction to the page with all file members. */
       
   311     virtual QCString trFileMembersDescription(bool extractAll)
       
   312     {
       
   313       QCString result="Danh sách tất cả các ";
       
   314       if (!extractAll) result+="(đã được mô tat) ";
       
   315       
       
   316       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
       
   317       {
       
   318         result+="functions, variables, defines, enums, và typedefs";
       
   319       }
       
   320       else
       
   321       {
       
   322         result+="các file thành viên";
       
   323       }
       
   324       result+=" cùng với links tới ";
       
   325       if (extractAll) 
       
   326         result+="các files thuộc:";
       
   327       else 
       
   328         result+="tài liệu:";
       
   329       return result;
       
   330     }
       
   331 
       
   332     /*! This is an introduction to the page with the list of all examples */
       
   333     virtual QCString trExamplesDescription()
       
   334     { return "Danh sách tất cả các ví dụ:"; }
       
   335 
       
   336     /*! This is an introduction to the page with the list of related pages */
       
   337     virtual QCString trRelatedPagesDescription()
       
   338     { return "Danh sách tất cả các trang Thông tin có liên quan:"; }
       
   339 
       
   340     /*! This is an introduction to the page with the list of class/file groups */
       
   341     virtual QCString trModulesDescription()
       
   342     { return "Danh sách tất cả các thành viên:"; }
       
   343 
       
   344     // index titles (the project name is prepended for these) 
       
   345 
       
   346     /*! This is used in HTML as the title of index.html. */
       
   347     virtual QCString trDocumentation()
       
   348     { return "Thông tin"; }
       
   349 
       
   350     /*! This is used in LaTeX as the title of the chapter with the 
       
   351      * index of all groups.
       
   352      */
       
   353     virtual QCString trModuleIndex()
       
   354     { return "Chỉ mục (Index) Module"; }
       
   355 
       
   356     /*! This is used in LaTeX as the title of the chapter with the 
       
   357      * class hierarchy.
       
   358      */
       
   359     virtual QCString trHierarchicalIndex()
       
   360     { return "Hierarchical Index"; }
       
   361 
       
   362     /*! This is used in LaTeX as the title of the chapter with the 
       
   363      * annotated compound index.
       
   364      */
       
   365     virtual QCString trCompoundIndex()
       
   366     {
       
   367       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
       
   368       { 
       
   369         return "Index cấu trúc cơ sở dữ liệu";
       
   370       }
       
   371       else
       
   372       {
       
   373         return "Class Index"; 
       
   374       }
       
   375     }
       
   376 
       
   377     /*! This is used in LaTeX as the title of the chapter with the
       
   378      * list of all files.
       
   379      */
       
   380     virtual QCString trFileIndex() 
       
   381     { return "File Index"; }
       
   382 
       
   383     /*! This is used in LaTeX as the title of the chapter containing
       
   384      *  the documentation of all groups.
       
   385      */
       
   386     virtual QCString trModuleDocumentation()
       
   387     { return "Thông tin về các Module"; }
       
   388 
       
   389     /*! This is used in LaTeX as the title of the chapter containing
       
   390      *  the documentation of all classes, structs and unions.
       
   391      */
       
   392     virtual QCString trClassDocumentation()
       
   393     { 
       
   394       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
       
   395       {
       
   396         return "Thông tin về cấu trúc cơ sở dữ liệu"; 
       
   397       }
       
   398       else
       
   399       {
       
   400         return "Thông tin về Class"; 
       
   401       }
       
   402     }
       
   403 
       
   404     /*! This is used in LaTeX as the title of the chapter containing
       
   405      *  the documentation of all files.
       
   406      */
       
   407     virtual QCString trFileDocumentation()
       
   408     { return "Thông tin về File"; }
       
   409 
       
   410     /*! This is used in LaTeX as the title of the chapter containing
       
   411      *  the documentation of all examples.
       
   412      */
       
   413     virtual QCString trExampleDocumentation()
       
   414     { return "Thông tin về các ví dụ"; }
       
   415 
       
   416     /*! This is used in LaTeX as the title of the chapter containing
       
   417      *  the documentation of all related pages.
       
   418      */
       
   419     virtual QCString trPageDocumentation()
       
   420     { return "Trang Thông tin"; }
       
   421 
       
   422     /*! This is used in LaTeX as the title of the document */
       
   423     virtual QCString trReferenceManual()
       
   424     { return "Thông tin tham chiếu"; }
       
   425     
       
   426     /*! This is used in the documentation of a file as a header before the 
       
   427      *  list of defines
       
   428      */
       
   429     virtual QCString trDefines()
       
   430     { return "Định nghĩa"; }
       
   431 
       
   432     /*! This is used in the documentation of a file as a header before the 
       
   433      *  list of function prototypes
       
   434      */
       
   435     virtual QCString trFuncProtos()
       
   436     { return "Function Prototypes"; }
       
   437 
       
   438     /*! This is used in the documentation of a file as a header before the 
       
   439      *  list of typedefs
       
   440      */
       
   441     virtual QCString trTypedefs()
       
   442     { return "Typedefs"; }
       
   443 
       
   444     /*! This is used in the documentation of a file as a header before the 
       
   445      *  list of enumerations
       
   446      */
       
   447     virtual QCString trEnumerations()
       
   448     { return "Enumerations"; }
       
   449 
       
   450     /*! This is used in the documentation of a file as a header before the 
       
   451      *  list of (global) functions
       
   452      */
       
   453     virtual QCString trFunctions()
       
   454     { return "Các hàm"; }
       
   455 
       
   456     /*! This is used in the documentation of a file as a header before the 
       
   457      *  list of (global) variables
       
   458      */
       
   459     virtual QCString trVariables()
       
   460     { return "Các biến"; }
       
   461 
       
   462     /*! This is used in the documentation of a file as a header before the 
       
   463      *  list of (global) variables
       
   464      */
       
   465     virtual QCString trEnumerationValues()
       
   466     { return "Enumerator"; }
       
   467     
       
   468     /*! This is used in the documentation of a file before the list of
       
   469      *  documentation blocks for defines
       
   470      */
       
   471     virtual QCString trDefineDocumentation()
       
   472     { return "Thông tin về định nghĩa"; }
       
   473 
       
   474     /*! This is used in the documentation of a file/namespace before the list 
       
   475      *  of documentation blocks for function prototypes
       
   476      */
       
   477     virtual QCString trFunctionPrototypeDocumentation()
       
   478     { return "Thông tin về Function Prototype"; }
       
   479 
       
   480     /*! This is used in the documentation of a file/namespace before the list 
       
   481      *  of documentation blocks for typedefs
       
   482      */
       
   483     virtual QCString trTypedefDocumentation()
       
   484     { return "Thông tin về Typedef"; }
       
   485 
       
   486     /*! This is used in the documentation of a file/namespace before the list 
       
   487      *  of documentation blocks for enumeration types
       
   488      */
       
   489     virtual QCString trEnumerationTypeDocumentation()
       
   490     { return "Thông tin về Enumeration Type"; }
       
   491 
       
   492     /*! This is used in the documentation of a file/namespace before the list 
       
   493      *  of documentation blocks for functions
       
   494      */
       
   495     virtual QCString trFunctionDocumentation()
       
   496     { return "Thông tin về hàm"; }
       
   497 
       
   498     /*! This is used in the documentation of a file/namespace before the list 
       
   499      *  of documentation blocks for variables
       
   500      */
       
   501     virtual QCString trVariableDocumentation()
       
   502     { return "Thông tin về các biến"; }
       
   503 
       
   504     /*! This is used in the documentation of a file/namespace/group before 
       
   505      *  the list of links to documented compounds
       
   506      */
       
   507     virtual QCString trCompounds()
       
   508     { 
       
   509       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
       
   510       {
       
   511         return "Cấu trúc cơ sở dữ liệu"; 
       
   512       }
       
   513       else
       
   514       {
       
   515         return "Classes"; 
       
   516       }
       
   517     }
       
   518 
       
   519     /*! This is used in the standard footer of each page and indicates when 
       
   520      *  the page was generated 
       
   521      */
       
   522     virtual QCString trGeneratedAt(const char *date,const char *projName)
       
   523     { 
       
   524       QCString result=(QCString)"Được biên soạn vào "+date;
       
   525       if (projName) result+=(QCString)" cho mã nguồn dự án "+projName;
       
   526       result+=(QCString)" bởi";
       
   527       return result;
       
   528     }
       
   529     /*! This is part of the sentence used in the standard footer of each page.
       
   530      */
       
   531     virtual QCString trWrittenBy()
       
   532     {
       
   533       return "được viết bởi";
       
   534     }
       
   535 
       
   536     /*! this text is put before a class diagram */
       
   537     virtual QCString trClassDiagram(const char *clName)
       
   538     {
       
   539       return (QCString)"Sơ đồ kế thừa cho "+clName+":";
       
   540     }
       
   541     
       
   542     /*! this text is generated when the \\internal command is used. */
       
   543     virtual QCString trForInternalUseOnly()
       
   544     { return "Chỉ cho sử dụng nội bộ."; }
       
   545 
       
   546     /*! this text is generated when the \\warning command is used. */
       
   547     virtual QCString trWarning()
       
   548     { return "Lưu ý"; }
       
   549 
       
   550     /*! this text is generated when the \\version command is used. */
       
   551     virtual QCString trVersion()
       
   552     { return "Phiên bản"; }
       
   553 
       
   554     /*! this text is generated when the \\date command is used. */
       
   555     virtual QCString trDate()
       
   556     { return "Ngày"; }
       
   557 
       
   558     /*! this text is generated when the \\return command is used. */
       
   559     virtual QCString trReturns()
       
   560     { return "Giá trị trả về"; }
       
   561 
       
   562     /*! this text is generated when the \\sa command is used. */
       
   563     virtual QCString trSeeAlso()
       
   564     { return "Xem thêm"; }
       
   565 
       
   566     /*! this text is generated when the \\param command is used. */
       
   567     virtual QCString trParameters()
       
   568     { return "Các tham số"; }
       
   569 
       
   570     /*! this text is generated when the \\exception command is used. */
       
   571     virtual QCString trExceptions()
       
   572     { return "Exceptions"; }
       
   573     
       
   574     /*! this text is used in the title page of a LaTeX document. */
       
   575     virtual QCString trGeneratedBy()
       
   576     { return "Được biên soạn bởi"; }
       
   577 
       
   578 //////////////////////////////////////////////////////////////////////////
       
   579 // new since 0.49-990307
       
   580 //////////////////////////////////////////////////////////////////////////
       
   581     
       
   582     /*! used as the title of page containing all the index of all namespaces. */
       
   583     virtual QCString trNamespaceList()
       
   584     { return "Danh sách Namespace"; }
       
   585 
       
   586     /*! used as an introduction to the namespace list */
       
   587     virtual QCString trNamespaceListDescription(bool extractAll)
       
   588     {
       
   589       QCString result="Danh sách tất cả các ";
       
   590       if (!extractAll) result+="(đã được biên tập) ";
       
   591       result+="namespaces với mô tả tóm tắt:";
       
   592       return result;
       
   593     }
       
   594 
       
   595     /*! used in the class documentation as a header before the list of all
       
   596      *  friends of a class
       
   597      */
       
   598     virtual QCString trFriends()
       
   599     { return "Friends"; }
       
   600     
       
   601 //////////////////////////////////////////////////////////////////////////
       
   602 // new since 0.49-990405
       
   603 //////////////////////////////////////////////////////////////////////////
       
   604     
       
   605     /*! used in the class documentation as a header before the list of all
       
   606      * related classes 
       
   607      */
       
   608     virtual QCString trRelatedFunctionDocumentation()
       
   609     { return "Thông tin về Friends và các hàm liên quan"; }
       
   610     
       
   611 //////////////////////////////////////////////////////////////////////////
       
   612 // new since 0.49-990425
       
   613 //////////////////////////////////////////////////////////////////////////
       
   614 
       
   615     /*! used as the title of the HTML page of a class/struct/union */
       
   616     virtual QCString trCompoundReference(const char *clName,
       
   617                                     ClassDef::CompoundType compType,
       
   618                                     bool isTemplate)
       
   619     {
       
   620       QCString result=(QCString)clName;
       
   621       switch(compType)
       
   622       {
       
   623         case ClassDef::Class:      result+=" Class"; break;
       
   624         case ClassDef::Struct:     result+=" Struct"; break;
       
   625         case ClassDef::Union:      result+=" Union"; break;
       
   626         case ClassDef::Interface:  result+=" Interface"; break;
       
   627         case ClassDef::Protocol:   result+=" Protocol"; break;
       
   628         case ClassDef::Category:   result+=" Category"; break;
       
   629         case ClassDef::Exception:  result+=" Exception"; break;
       
   630       }
       
   631       if (isTemplate) result+=" Template";
       
   632       result+=" Tham chiếu";
       
   633       return result;
       
   634     }
       
   635 
       
   636     /*! used as the title of the HTML page of a file */
       
   637     virtual QCString trFileReference(const char *fileName)
       
   638     {
       
   639       QCString result=fileName;
       
   640       result+=" File Tham chiếu"; 
       
   641       return result;
       
   642     }
       
   643 
       
   644     /*! used as the title of the HTML page of a namespace */
       
   645     virtual QCString trNamespaceReference(const char *namespaceName)
       
   646     {
       
   647       QCString result=namespaceName;
       
   648       result+=" Namespace Tham chiếu";
       
   649       return result;
       
   650     }
       
   651     
       
   652     virtual QCString trPublicMembers()
       
   653     { return "Các hàm thành viên Public"; }
       
   654     virtual QCString trPublicSlots()
       
   655     { return "Public Slots"; }
       
   656     virtual QCString trSignals()
       
   657     { return "Signals"; }
       
   658     virtual QCString trStaticPublicMembers()
       
   659     { return "Các hàm Static Public"; }
       
   660     virtual QCString trProtectedMembers()
       
   661     { return "Các hàm thành viên Protected"; }
       
   662     virtual QCString trProtectedSlots()
       
   663     { return "Protected Slots"; }
       
   664     virtual QCString trStaticProtectedMembers()
       
   665     { return "Các hàm thành viên Static Protected"; }
       
   666     virtual QCString trPrivateMembers()
       
   667     { return "Các hàm thành viên Private"; }
       
   668     virtual QCString trPrivateSlots()
       
   669     { return "Private Slots"; }
       
   670     virtual QCString trStaticPrivateMembers()
       
   671     { return "Các hàm thành viên Static Private"; }
       
   672     
       
   673     /*! this function is used to produce a comma-separated list of items.
       
   674      *  use generateMarker(i) to indicate where item i should be put.
       
   675      */
       
   676     virtual QCString trWriteList(int numEntries)
       
   677     {
       
   678       QCString result;
       
   679       int i;
       
   680       // the inherits list contain `numEntries' classes
       
   681       for (i=0;i<numEntries;i++) 
       
   682       {
       
   683         // use generateMarker to generate placeholders for the class links!
       
   684         result+=generateMarker(i); // generate marker for entry i in the list 
       
   685                                    // (order is left to right)
       
   686         
       
   687         if (i!=numEntries-1)  // not the last entry, so we need a separator
       
   688         {
       
   689           if (i<numEntries-2) // not the fore last entry 
       
   690             result+=", ";
       
   691           else                // the fore last entry
       
   692             result+=", và ";
       
   693         }
       
   694       }
       
   695       return result; 
       
   696     }
       
   697     
       
   698     /*! used in class documentation to produce a list of base classes,
       
   699      *  if class diagrams are disabled.
       
   700      */
       
   701     virtual QCString trInheritsList(int numEntries)
       
   702     {
       
   703       return "Kế thừa "+trWriteList(numEntries)+".";
       
   704     }
       
   705 
       
   706     /*! used in class documentation to produce a list of super classes,
       
   707      *  if class diagrams are disabled.
       
   708      */
       
   709     virtual QCString trInheritedByList(int numEntries)
       
   710     {
       
   711       return "Được kế thừa bởi "+trWriteList(numEntries)+".";
       
   712     }
       
   713 
       
   714     /*! used in member documentation blocks to produce a list of 
       
   715      *  members that are hidden by this one.
       
   716      */
       
   717     virtual QCString trReimplementedFromList(int numEntries)
       
   718     {
       
   719       return "Được thực thi lại từ "+trWriteList(numEntries)+".";
       
   720     }
       
   721 
       
   722     /*! used in member documentation blocks to produce a list of
       
   723      *  all member that overwrite the implementation of this member.
       
   724      */
       
   725     virtual QCString trReimplementedInList(int numEntries)
       
   726     {
       
   727       return "Được thực thi lại trong "+trWriteList(numEntries)+".";
       
   728     }
       
   729 
       
   730     /*! This is put above each page as a link to all members of namespaces. */
       
   731     virtual QCString trNamespaceMembers()
       
   732     { return "Thành viên Namespace"; }
       
   733 
       
   734     /*! This is an introduction to the page with all namespace members */
       
   735     virtual QCString trNamespaceMemberDescription(bool extractAll)
       
   736     { 
       
   737       QCString result="Danh sách tất cả các ";
       
   738       if (!extractAll) result+="(đã được biên soạn) ";
       
   739       result+="các thành viên namespace cùng với link tới ";
       
   740       if (extractAll) 
       
   741         result+="Thông tin namespace cho từng thành viên:";
       
   742       else 
       
   743         result+=" namespaces mà phụ thuộc bởi:";
       
   744       return result;
       
   745     }
       
   746     /*! This is used in LaTeX as the title of the chapter with the 
       
   747      *  index of all namespaces.
       
   748      */
       
   749     virtual QCString trNamespaceIndex()
       
   750     { return "Namespace Index"; }
       
   751 
       
   752     /*! This is used in LaTeX as the title of the chapter containing
       
   753      *  the documentation of all namespaces.
       
   754      */
       
   755     virtual QCString trNamespaceDocumentation()
       
   756     { return "Thông tin về Namespace"; }
       
   757 
       
   758 //////////////////////////////////////////////////////////////////////////
       
   759 // new since 0.49-990522
       
   760 //////////////////////////////////////////////////////////////////////////
       
   761 
       
   762     /*! This is used in the documentation before the list of all
       
   763      *  namespaces in a file.
       
   764      */
       
   765     virtual QCString trNamespaces()
       
   766     { return "Namespaces"; }
       
   767 
       
   768 //////////////////////////////////////////////////////////////////////////
       
   769 // new since 0.49-990728
       
   770 //////////////////////////////////////////////////////////////////////////
       
   771 
       
   772     /*! This is put at the bottom of a class documentation page and is
       
   773      *  followed by a list of files that were used to generate the page.
       
   774      */
       
   775     virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType,
       
   776         bool single)
       
   777     { // here s is one of " Class", " Struct" or " Union"
       
   778       // single is true implies a single file
       
   779       QCString result=(QCString)"Thông tin cho ";
       
   780       switch(compType)
       
   781       {
       
   782         case ClassDef::Class:      result+="class"; break;
       
   783         case ClassDef::Struct:     result+="struct"; break;
       
   784         case ClassDef::Union:      result+="union"; break;
       
   785         case ClassDef::Interface:  result+="interface"; break;
       
   786         case ClassDef::Protocol:   result+="protocol"; break;
       
   787         case ClassDef::Category:   result+="category"; break;
       
   788         case ClassDef::Exception:  result+="exception"; break;
       
   789       }
       
   790       result+=" được biên soạn từ các file sau đây";
       
   791       if (single) result+=":"; else result+=":";
       
   792       return result;
       
   793     }
       
   794 
       
   795     /*! This is in the (quick) index as a link to the alphabetical compound
       
   796      * list.
       
   797      */
       
   798     virtual QCString trAlphabeticalList()
       
   799     { return "Danh sách theo ABC"; }
       
   800 
       
   801 //////////////////////////////////////////////////////////////////////////
       
   802 // new since 0.49-990901
       
   803 //////////////////////////////////////////////////////////////////////////
       
   804 
       
   805     /*! This is used as the heading text for the retval command. */
       
   806     virtual QCString trReturnValues()
       
   807     { return "Các giá trị trả về"; }
       
   808 
       
   809     /*! This is in the (quick) index as a link to the main page (index.html)
       
   810      */
       
   811     virtual QCString trMainPage()
       
   812     { return "Tranh chính"; }
       
   813 
       
   814     /*! This is used in references to page that are put in the LaTeX 
       
   815      *  documentation. It should be an abbreviation of the word page.
       
   816      */
       
   817     virtual QCString trPageAbbreviation()
       
   818     { return "tr."; }
       
   819 
       
   820 //////////////////////////////////////////////////////////////////////////
       
   821 // new since 0.49-991003
       
   822 //////////////////////////////////////////////////////////////////////////
       
   823 
       
   824     virtual QCString trDefinedAtLineInSourceFile()
       
   825     {
       
   826       return "Định nghĩa tại dòng @0 trong file @1.";
       
   827     }
       
   828     virtual QCString trDefinedInSourceFile()
       
   829     {
       
   830       return "Định nghĩa trong file @0.";
       
   831     }
       
   832 
       
   833 //////////////////////////////////////////////////////////////////////////
       
   834 // new since 0.49-991205
       
   835 //////////////////////////////////////////////////////////////////////////
       
   836 
       
   837     virtual QCString trDeprecated()
       
   838     {
       
   839       return "Không tán thành";
       
   840     }
       
   841 
       
   842 //////////////////////////////////////////////////////////////////////////
       
   843 // new since 1.0.0
       
   844 //////////////////////////////////////////////////////////////////////////
       
   845 
       
   846     /*! this text is put before a collaboration diagram */
       
   847     virtual QCString trCollaborationDiagram(const char *clName)
       
   848     {
       
   849       return (QCString)"Sơ đồ liên kết cho "+clName+":";
       
   850     }
       
   851     /*! this text is put before an include dependency graph */
       
   852     virtual QCString trInclDepGraph(const char *fName)
       
   853     {
       
   854       return (QCString)"Kèm theo graph phụ thuộc cho "+fName+":";
       
   855     }
       
   856     /*! header that is put before the list of constructor/destructors. */
       
   857     virtual QCString trConstructorDocumentation()
       
   858     {
       
   859       return "Thông tin về Constructor và Destructor"; 
       
   860     }
       
   861     /*! Used in the file documentation to point to the corresponding sources. */
       
   862     virtual QCString trGotoSourceCode()
       
   863     {
       
   864       return "Tới mã nguồn của file này.";
       
   865     }
       
   866     /*! Used in the file sources to point to the corresponding documentation. */
       
   867     virtual QCString trGotoDocumentation()
       
   868     {
       
   869       return "Tới Thông tin của file này.";
       
   870     }
       
   871     /*! Text for the \\pre command */
       
   872     virtual QCString trPrecondition()
       
   873     {
       
   874       return "Điều kiện trước";
       
   875     }
       
   876     /*! Text for the \\post command */
       
   877     virtual QCString trPostcondition()
       
   878     {
       
   879       return "Điều kiện sau";
       
   880     }
       
   881     /*! Text for the \\invariant command */
       
   882     virtual QCString trInvariant()
       
   883     {
       
   884       return "Bất biến";
       
   885     }
       
   886     /*! Text shown before a multi-line variable/enum initialization */
       
   887     virtual QCString trInitialValue()
       
   888     {
       
   889       return "Giá trị khởi tạo:";
       
   890     }
       
   891     /*! Text used the source code in the file index */
       
   892     virtual QCString trCode()
       
   893     {
       
   894       return "mã nguồn";
       
   895     }
       
   896     virtual QCString trGraphicalHierarchy()
       
   897     {
       
   898       return "Kiến trúc đồ họa của Class";
       
   899     }
       
   900     virtual QCString trGotoGraphicalHierarchy()
       
   901     {
       
   902       return "Tới kiến trúc đồ họa của Class";
       
   903     }
       
   904     virtual QCString trGotoTextualHierarchy()
       
   905     {
       
   906       return "Tới kiến trúc text của Class";
       
   907     }
       
   908     virtual QCString trPageIndex()
       
   909     {
       
   910       return "Chỉ mục trang";
       
   911     }
       
   912 
       
   913 //////////////////////////////////////////////////////////////////////////
       
   914 // new since 1.1.0
       
   915 //////////////////////////////////////////////////////////////////////////
       
   916     
       
   917     virtual QCString trNote()
       
   918     {
       
   919       return "Ghi chú";
       
   920     }
       
   921     virtual QCString trPublicTypes()
       
   922     {
       
   923       return "Public Types";
       
   924     }
       
   925     virtual QCString trPublicAttribs()
       
   926     {
       
   927       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
       
   928       {
       
   929         return "các trường đữ liệu";
       
   930       }
       
   931       else
       
   932       {
       
   933         return "Các thuộc tính Public";
       
   934       }
       
   935     }
       
   936     virtual QCString trStaticPublicAttribs()
       
   937     {
       
   938       return "Các thuộc tính Static Public";
       
   939     }
       
   940     virtual QCString trProtectedTypes()
       
   941     {
       
   942       return "Các kiểu Protected";
       
   943     }
       
   944     virtual QCString trProtectedAttribs()
       
   945     {
       
   946       return "các thuộc tính Protected";
       
   947     }
       
   948     virtual QCString trStaticProtectedAttribs()
       
   949     {
       
   950       return "Các thuộc tính Static Protected";
       
   951     }
       
   952     virtual QCString trPrivateTypes()
       
   953     {
       
   954       return "Các kiểu Private";
       
   955     }
       
   956     virtual QCString trPrivateAttribs()
       
   957     {
       
   958       return "Các thuộc tính Private";
       
   959     }
       
   960     virtual QCString trStaticPrivateAttribs()
       
   961     {
       
   962       return "Các thuộc tính Static Private";
       
   963     }
       
   964 
       
   965 //////////////////////////////////////////////////////////////////////////
       
   966 // new since 1.1.3
       
   967 //////////////////////////////////////////////////////////////////////////
       
   968 
       
   969     /*! Used as a marker that is put before a \\todo item */
       
   970     virtual QCString trTodo()
       
   971     {
       
   972       return "Mục tiêu";
       
   973     }
       
   974     /*! Used as the header of the todo list */
       
   975     virtual QCString trTodoList()
       
   976     {
       
   977       return "Danh sách hàng mục cần thực hiện";
       
   978     }
       
   979 
       
   980 //////////////////////////////////////////////////////////////////////////
       
   981 // new since 1.1.4
       
   982 //////////////////////////////////////////////////////////////////////////
       
   983 
       
   984     virtual QCString trReferencedBy()
       
   985     {
       
   986       return "Tham chiếu bởi";
       
   987     }
       
   988     virtual QCString trRemarks()
       
   989     {
       
   990       return "Ghi chú";
       
   991     }
       
   992     virtual QCString trAttention()
       
   993     {
       
   994       return "Chú ý";
       
   995     }
       
   996     virtual QCString trInclByDepGraph()
       
   997     {
       
   998       return "Đồ thị này biểu thị những file nào trực tiếp hoặc"
       
   999              "không trực tiếp bao gồm file này:";
       
  1000     }
       
  1001     virtual QCString trSince()
       
  1002     {
       
  1003       return "Từ";
       
  1004     }
       
  1005     
       
  1006 //////////////////////////////////////////////////////////////////////////
       
  1007 // new since 1.1.5
       
  1008 //////////////////////////////////////////////////////////////////////////
       
  1009 
       
  1010     /*! title of the graph legend page */
       
  1011     virtual QCString trLegendTitle()
       
  1012     {
       
  1013       return "Chú giải Graph";
       
  1014     }
       
  1015     /*! page explaining how the dot graph's should be interpreted 
       
  1016      *  The %A in the text below are to prevent link to classes called "A".
       
  1017      */
       
  1018     virtual QCString trLegendDocs()
       
  1019     {
       
  1020       return 
       
  1021         "Trang này giải nghĩa các biểu đồ được biên soạn bởi "
       
  1022         " doxygen.<p>\n"
       
  1023         "Hãy xem xét các ví dụ sau:\n"
       
  1024         "\\code\n"
       
  1025         "/*! Các lướp không thấy được bởi sự cắt ngắn */\n"
       
  1026         "Lớp không nhìn thấy class { };\n\n"
       
  1027         "/*! class bị cắt, quan hệ kế thừa bị ẩn */\n"
       
  1028         "class bị cắt : bị ẩn toàn cục { };\n\n"
       
  1029         "/* Class không được mô tả với các chú giải doxygen */\n"
       
  1030         "class không được mô tả { };\n\n"
       
  1031         "/*! Class được kế thừa sử dụng các kế thừa public */\n"
       
  1032         "class PublicBase : public Truncated { };\n\n"
       
  1033         "/*!  template class */\n"
       
  1034         "template<class T> class Templ { };\n\n"
       
  1035         "/*! Class được kế thừa sử dụng kế thừa protected */\n"
       
  1036         "class ProtectedBase { };\n\n"
       
  1037         "/*! Class được kế thừa sử dụng kế thừa protected private */\n"
       
  1038         "class PrivateBase { };\n\n"
       
  1039         "/*! Class được sử dụng bởi các class kế thừa */\n"
       
  1040         "class được sử dụng { };\n\n"
       
  1041         "/*! Super class kế thừa một số các class khác */\n"
       
  1042         "class được kế thừa : public PublicBase,\n"
       
  1043         "                  protected ProtectedBase,\n"
       
  1044         "                  private PrivateBase,\n"
       
  1045         "                  public Undocumented,\n"
       
  1046         "                  public Templ<int>\n"
       
  1047         "{\n"
       
  1048         "  private:\n"
       
  1049         "    Used *m_usedClass;\n"
       
  1050         "};\n"
       
  1051         "\\endcode\n"
       
  1052         "Kết quả trong biểu đồ sau đây:"
       
  1053         "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
       
  1054         "<p>\n"
       
  1055         "Các hộp trong biểu đồ trên có ý nghĩa như sau:\n"
       
  1056         "<ul>\n"
       
  1057         "<li>%Hộp màu xám biểu thị cấu trúc clas cho "
       
  1058         "biểu đồ được thể hiện.\n"
       
  1059         "<li>%Hộp có khung mầu đen biểu thị struct hoặc class được mô tả.\n"
       
  1060         "<li>%Hộp có khung mầu xám biểu thị struct hoặc class chưa được mô tả.\n"
       
  1061         "<li>%Hộp có khung mầu đỏ biểu thị struct hoặc class được mổ tả "
       
  1062         "khi mà không phải tất cả các quan hệ kế thừa/containment được biển diễn.. %Biểu đồ bị "
       
  1063         "cắt nếu nó không nằm trọn trong các biên được cho trước..\n"
       
  1064         "</ul>\n"
       
  1065         "Các mũi tên có ý nghĩa như sau::\n"
       
  1066         "<ul>\n"
       
  1067         "<li>%Mũi tên mầu xanh đậm biểu thị các quan hệ kế thừa công khai "
       
  1068         "giữa 2 class.\n"
       
  1069         "<li>%Mũi tên màu xanh lá cây đậm biểu thị kế thừa được bảo về (protected).\n"
       
  1070         "<li>%Mũi tên đỏ đậm biểu thị kế thừa dạng private.\n"
       
  1071         "<li>%Mũi tên màu hồng đứt quảng biểu thị class được sử dụng "
       
  1072         "bởi class khác. Mũi tên được gán nhãn với các giá trị "
       
  1073         "mà các calsss hoặc struct được truy cập tới.\n"
       
  1074         "<li>%Mũi tên vàng đắt quãng được thị quan hệ giữa template instance và "
       
  1075         "template class được dẫn xuất từ đó. Mũi tên được gán nhãn với "
       
  1076         "tham số của template.\n"
       
  1077         "</ul>\n";
       
  1078     }
       
  1079     /*! text for the link to the legend page */
       
  1080     virtual QCString trLegend()
       
  1081     {
       
  1082       return "Chú giải";
       
  1083     }
       
  1084     
       
  1085 //////////////////////////////////////////////////////////////////////////
       
  1086 // new since 1.2.0
       
  1087 //////////////////////////////////////////////////////////////////////////
       
  1088     
       
  1089     /*! Used as a marker that is put before a test item */
       
  1090     virtual QCString trTest()
       
  1091     {
       
  1092       return "Test";
       
  1093     }
       
  1094     /*! Used as the header of the test list */
       
  1095     virtual QCString trTestList()
       
  1096     {
       
  1097       return "Danh sách Test";
       
  1098     }
       
  1099 
       
  1100 //////////////////////////////////////////////////////////////////////////
       
  1101 // new since 1.2.1
       
  1102 //////////////////////////////////////////////////////////////////////////
       
  1103 
       
  1104     /*! Used as a section header for KDE-2 IDL methods */
       
  1105     virtual QCString trDCOPMethods()
       
  1106     {
       
  1107       return "Các hàm thành viên DCOP";
       
  1108     }
       
  1109 
       
  1110 //////////////////////////////////////////////////////////////////////////
       
  1111 // new since 1.2.2
       
  1112 //////////////////////////////////////////////////////////////////////////
       
  1113 
       
  1114     /*! Used as a section header for IDL properties */
       
  1115     virtual QCString trProperties()
       
  1116     {
       
  1117       return "Thuộc tính";
       
  1118     }
       
  1119     /*! Used as a section header for IDL property documentation */
       
  1120     virtual QCString trPropertyDocumentation()
       
  1121     {
       
  1122       return "Thông tin thuộc tính (Property)";
       
  1123     }
       
  1124 
       
  1125 //////////////////////////////////////////////////////////////////////////
       
  1126 // new since 1.2.4
       
  1127 //////////////////////////////////////////////////////////////////////////
       
  1128 
       
  1129     /*! Used for Java classes in the summary section of Java packages */
       
  1130     virtual QCString trClasses()
       
  1131     {
       
  1132       if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
       
  1133       {
       
  1134         return "Cấu trúc dữ liệu";
       
  1135       }
       
  1136       else
       
  1137       {
       
  1138         return "Classes";
       
  1139       }
       
  1140     }
       
  1141     /*! Used as the title of a Java package */
       
  1142     virtual QCString trPackage(const char *name)
       
  1143     {
       
  1144       return (QCString)"Gói "+name;
       
  1145     }
       
  1146     /*! Title of the package index page */
       
  1147     virtual QCString trPackageList()
       
  1148     {
       
  1149       return "Danh sách gói";
       
  1150     }
       
  1151     /*! The description of the package index page */
       
  1152     virtual QCString trPackageListDescription()
       
  1153     {
       
  1154       return "Danh sách các gói cùng với mô tả tóm tắt (khi có thể có):";
       
  1155     }
       
  1156     /*! The link name in the Quick links header for each page */
       
  1157     virtual QCString trPackages()
       
  1158     {
       
  1159       return "Các gói";
       
  1160     }
       
  1161     /*! Text shown before a multi-line define */
       
  1162     virtual QCString trDefineValue()
       
  1163     {
       
  1164       return "Giá trị:";
       
  1165     }
       
  1166     
       
  1167 //////////////////////////////////////////////////////////////////////////
       
  1168 // new since 1.2.5
       
  1169 //////////////////////////////////////////////////////////////////////////
       
  1170     
       
  1171     /*! Used as a marker that is put before a \\bug item */
       
  1172     virtual QCString trBug()
       
  1173     {
       
  1174       return "Lỗi";
       
  1175     }
       
  1176     /*! Used as the header of the bug list */
       
  1177     virtual QCString trBugList()
       
  1178     {
       
  1179       return "Danh sách lỗi";
       
  1180     }
       
  1181 
       
  1182 //////////////////////////////////////////////////////////////////////////
       
  1183 // new since 1.2.6
       
  1184 //////////////////////////////////////////////////////////////////////////
       
  1185 
       
  1186     /*! Used as ansicpg for RTF file 
       
  1187      * 
       
  1188      * The following table shows the correlation of Charset name, Charset Value and 
       
  1189      * <pre>
       
  1190      * Codepage number:
       
  1191      * Charset Name       Charset Value(hex)  Codepage number
       
  1192      * ------------------------------------------------------
       
  1193      * DEFAULT_CHARSET           1 (x01)
       
  1194      * SYMBOL_CHARSET            2 (x02)
       
  1195      * OEM_CHARSET             255 (xFF)
       
  1196      * ANSI_CHARSET              0 (x00)            1252
       
  1197      * RUSSIAN_CHARSET         204 (xCC)            1251
       
  1198      * EE_CHARSET              238 (xEE)            1250
       
  1199      * GREEK_CHARSET           161 (xA1)            1253
       
  1200      * TURKISH_CHARSET         162 (xA2)            1254
       
  1201      * BALTIC_CHARSET          186 (xBA)            1257
       
  1202      * HEBREW_CHARSET          177 (xB1)            1255
       
  1203      * ARABIC _CHARSET         178 (xB2)            1256
       
  1204      * SHIFTJIS_CHARSET        128 (x80)             932
       
  1205      * HANGEUL_CHARSET         129 (x81)             949
       
  1206      * GB2313_CHARSET          134 (x86)             936
       
  1207      * CHINESEBIG5_CHARSET     136 (x88)             950
       
  1208      * </pre>
       
  1209      * 
       
  1210      */
       
  1211     virtual QCString trRTFansicp()
       
  1212     {
       
  1213       return "1252";
       
  1214     }
       
  1215     
       
  1216 
       
  1217     /*! Used as ansicpg for RTF fcharset 
       
  1218      *  \see trRTFansicp() for a table of possible values.
       
  1219      */
       
  1220     virtual QCString trRTFCharSet()
       
  1221     {
       
  1222       return "0";
       
  1223     }
       
  1224 
       
  1225     /*! Used as header RTF general index */
       
  1226     virtual QCString trRTFGeneralIndex()
       
  1227     {
       
  1228       return "Chỉ số";
       
  1229     }
       
  1230    
       
  1231     /*! This is used for translation of the word that will possibly
       
  1232      *  be followed by a single name or by a list of names 
       
  1233      *  of the category.
       
  1234      */
       
  1235     virtual QCString trClass(bool first_capital, bool singular)
       
  1236     { 
       
  1237       QCString result((first_capital ? "Class" : "class"));
       
  1238       if (!singular)  result+="es";
       
  1239       return result; 
       
  1240     }
       
  1241 
       
  1242     /*! This is used for translation of the word that will possibly
       
  1243      *  be followed by a single name or by a list of names 
       
  1244      *  of the category.
       
  1245      */
       
  1246     virtual QCString trFile(bool first_capital, bool singular)
       
  1247     { 
       
  1248       QCString result((first_capital ? "File" : "file"));
       
  1249       if (!singular)  result+="s";
       
  1250       return result; 
       
  1251     }
       
  1252 
       
  1253     /*! This is used for translation of the word that will possibly
       
  1254      *  be followed by a single name or by a list of names 
       
  1255      *  of the category.
       
  1256      */
       
  1257     virtual QCString trNamespace(bool first_capital, bool singular)
       
  1258     { 
       
  1259       QCString result((first_capital ? "Namespace" : "namespace"));
       
  1260       if (!singular)  result+="s";
       
  1261       return result; 
       
  1262     }
       
  1263 
       
  1264     /*! This is used for translation of the word that will possibly
       
  1265      *  be followed by a single name or by a list of names 
       
  1266      *  of the category.
       
  1267      */
       
  1268     virtual QCString trGroup(bool first_capital, bool singular)
       
  1269     { 
       
  1270       QCString result((first_capital ? "Group" : "group"));
       
  1271       if (!singular)  result+="s";
       
  1272       return result; 
       
  1273     }
       
  1274 
       
  1275     /*! This is used for translation of the word that will possibly
       
  1276      *  be followed by a single name or by a list of names 
       
  1277      *  of the category.
       
  1278      */
       
  1279     virtual QCString trPage(bool first_capital, bool singular)
       
  1280     { 
       
  1281       QCString result((first_capital ? "Trang" : "trang"));
       
  1282       if (!singular)  result+="";
       
  1283       return result; 
       
  1284     }
       
  1285 
       
  1286     /*! This is used for translation of the word that will possibly
       
  1287      *  be followed by a single name or by a list of names 
       
  1288      *  of the category.
       
  1289      */
       
  1290     virtual QCString trMember(bool first_capital, bool singular)
       
  1291     { 
       
  1292       QCString result((first_capital ? "Member" : "member"));
       
  1293       if (!singular)  result+="s";
       
  1294       return result; 
       
  1295     }
       
  1296    
       
  1297     /*! This is used for translation of the word that will possibly
       
  1298      *  be followed by a single name or by a list of names 
       
  1299      *  of the category.
       
  1300      */
       
  1301     virtual QCString trGlobal(bool first_capital, bool singular)
       
  1302     { 
       
  1303       QCString result((first_capital ? "Global" : "global"));
       
  1304       if (!singular)  result+="s";
       
  1305       return result; 
       
  1306     }
       
  1307 
       
  1308 //////////////////////////////////////////////////////////////////////////
       
  1309 // new since 1.2.7
       
  1310 //////////////////////////////////////////////////////////////////////////
       
  1311 
       
  1312     /*! This text is generated when the \\author command is used and
       
  1313      *  for the author section in man pages. */
       
  1314     virtual QCString trAuthor(bool first_capital, bool singular)
       
  1315     {                                                                         
       
  1316       QCString result((first_capital ? "Tác giả" : "tác giả"));
       
  1317       if (!singular)  result+="";
       
  1318       return result; 
       
  1319     }
       
  1320 
       
  1321 //////////////////////////////////////////////////////////////////////////
       
  1322 // new since 1.2.11
       
  1323 //////////////////////////////////////////////////////////////////////////
       
  1324 
       
  1325     /*! This text is put before the list of members referenced by a member
       
  1326      */
       
  1327     virtual QCString trReferences()
       
  1328     {
       
  1329       return "Tham chiếu";
       
  1330     }
       
  1331 
       
  1332 //////////////////////////////////////////////////////////////////////////
       
  1333 // new since 1.2.13
       
  1334 //////////////////////////////////////////////////////////////////////////
       
  1335 
       
  1336     /*! used in member documentation blocks to produce a list of 
       
  1337      *  members that are implemented by this one.
       
  1338      */
       
  1339     virtual QCString trImplementedFromList(int numEntries)
       
  1340     {
       
  1341       return "Thực hiện "+trWriteList(numEntries)+".";
       
  1342     }
       
  1343 
       
  1344     /*! used in member documentation blocks to produce a list of
       
  1345      *  all members that implement this abstract member.
       
  1346      */
       
  1347     virtual QCString trImplementedInList(int numEntries)
       
  1348     {
       
  1349       return "Được thực hiện trong "+trWriteList(numEntries)+".";
       
  1350     }
       
  1351 
       
  1352 //////////////////////////////////////////////////////////////////////////
       
  1353 // new since 1.2.16
       
  1354 //////////////////////////////////////////////////////////////////////////
       
  1355 
       
  1356     /*! used in RTF documentation as a heading for the Table
       
  1357      *  of Contents.
       
  1358      */
       
  1359     virtual QCString trRTFTableOfContents()
       
  1360     {
       
  1361       return "Mục lục";
       
  1362     }
       
  1363 
       
  1364 //////////////////////////////////////////////////////////////////////////
       
  1365 // new since 1.2.17
       
  1366 //////////////////////////////////////////////////////////////////////////
       
  1367 
       
  1368     /*! Used as the header of the list of item that have been 
       
  1369      *  flagged deprecated 
       
  1370      */
       
  1371     virtual QCString trDeprecatedList()
       
  1372     {
       
  1373       return "Danh sách Deprecated";
       
  1374     }
       
  1375 
       
  1376 //////////////////////////////////////////////////////////////////////////
       
  1377 // new since 1.2.18
       
  1378 //////////////////////////////////////////////////////////////////////////
       
  1379 
       
  1380     /*! Used as a header for declaration section of the events found in 
       
  1381      * a C# program
       
  1382      */
       
  1383     virtual QCString trEvents()
       
  1384     {
       
  1385       return "Sự kiện";
       
  1386     }
       
  1387     /*! Header used for the documentation section of a class' events. */
       
  1388     virtual QCString trEventDocumentation()
       
  1389     {
       
  1390       return "Thông tin về sự kiện";
       
  1391     }
       
  1392 
       
  1393 //////////////////////////////////////////////////////////////////////////
       
  1394 // new since 1.3
       
  1395 //////////////////////////////////////////////////////////////////////////
       
  1396 
       
  1397     /*! Used as a heading for a list of Java class types with package scope.
       
  1398      */
       
  1399     virtual QCString trPackageTypes()
       
  1400     { 
       
  1401       return "Kiểu gói";
       
  1402     }
       
  1403     /*! Used as a heading for a list of Java class functions with package 
       
  1404      * scope. 
       
  1405      */
       
  1406     virtual QCString trPackageMembers()
       
  1407     { 
       
  1408       return "Các hàm Package";
       
  1409     }
       
  1410     /*! Used as a heading for a list of static Java class functions with 
       
  1411      *  package scope.
       
  1412      */
       
  1413     virtual QCString trStaticPackageMembers()
       
  1414     { 
       
  1415       return "Các hàm Static Package";
       
  1416     }
       
  1417     /*! Used as a heading for a list of Java class variables with package 
       
  1418      * scope.
       
  1419      */
       
  1420     virtual QCString trPackageAttribs()
       
  1421     { 
       
  1422       return "Các thuộc tính Package";
       
  1423     }
       
  1424     /*! Used as a heading for a list of static Java class variables with 
       
  1425      * package scope.
       
  1426      */
       
  1427     virtual QCString trStaticPackageAttribs()
       
  1428     { 
       
  1429       return "Các thuộc tính Static Package";
       
  1430     }
       
  1431     
       
  1432 //////////////////////////////////////////////////////////////////////////
       
  1433 // new since 1.3.1
       
  1434 //////////////////////////////////////////////////////////////////////////
       
  1435 
       
  1436     /*! Used in the quick index of a class/file/namespace member list page 
       
  1437      *  to link to the unfiltered list of all members.
       
  1438      */
       
  1439     virtual QCString trAll()
       
  1440     {
       
  1441       return "Tất cả";
       
  1442     }
       
  1443     /*! Put in front of the call graph for a function. */
       
  1444     virtual QCString trCallGraph()
       
  1445     {
       
  1446       return "Biểu đồ các lời gọi cho hàm này:";
       
  1447     }
       
  1448 
       
  1449 //////////////////////////////////////////////////////////////////////////
       
  1450 // new since 1.3.3
       
  1451 //////////////////////////////////////////////////////////////////////////
       
  1452 
       
  1453     /*! When the search engine is enabled this text is put in the header 
       
  1454      *  of each page before the field where one can enter the text to search 
       
  1455      *  for. 
       
  1456      */
       
  1457     virtual QCString trSearchForIndex()
       
  1458     {
       
  1459       return "Tìm kiếm cho";
       
  1460     }
       
  1461     /*! This string is used as the title for the page listing the search
       
  1462      *  results.
       
  1463      */
       
  1464     virtual QCString trSearchResultsTitle()
       
  1465     {
       
  1466       return "Kết quả tìm kiếm";
       
  1467     }
       
  1468     /*! This string is put just before listing the search results. The
       
  1469      *  text can be different depending on the number of documents found.
       
  1470      *  Inside the text you can put the special marker $num to insert
       
  1471      *  the number representing the actual number of search results.
       
  1472      *  The @a numDocuments parameter can be either 0, 1 or 2, where the 
       
  1473      *  value 2 represents 2 or more matches. HTML markup is allowed inside
       
  1474      *  the returned string.
       
  1475      */
       
  1476     virtual QCString trSearchResults(int numDocuments)
       
  1477     {
       
  1478       if (numDocuments==0)
       
  1479       {
       
  1480         return "Không có tài liệu nào thỏa mãn các truy vấn của bạn.";
       
  1481       }
       
  1482       else if (numDocuments==1)
       
  1483       {
       
  1484         return "Tìm thấy <b>1</b> tài liệu thỏa mã truy vấn của bạn.";
       
  1485       }
       
  1486       else 
       
  1487       {
       
  1488         return "Tìm thấy tất cả <b>$num</b> tài liệu thỏa mã truy vấn của bạn. "
       
  1489                "Hiển thị những thỏa mãn tốt nhất trước.";
       
  1490       }
       
  1491     }
       
  1492     /*! This string is put before the list of matched words, for each search 
       
  1493      *  result. What follows is the list of words that matched the query.
       
  1494      */
       
  1495     virtual QCString trSearchMatches()
       
  1496     {
       
  1497       return "Các kết quả thỏa mãn đk:";
       
  1498     }
       
  1499 
       
  1500 //////////////////////////////////////////////////////////////////////////
       
  1501 // new since 1.3.8
       
  1502 //////////////////////////////////////////////////////////////////////////
       
  1503 
       
  1504     /*! This is used in HTML as the title of page with source code for file filename
       
  1505      */
       
  1506     virtual QCString trSourceFile(QCString& filename)
       
  1507     {
       
  1508       return filename + " File nguồn";
       
  1509     }
       
  1510 
       
  1511 //////////////////////////////////////////////////////////////////////////
       
  1512 // new since 1.3.9
       
  1513 //////////////////////////////////////////////////////////////////////////
       
  1514 
       
  1515     /*! This is used as the name of the chapter containing the directory
       
  1516      *  hierarchy.
       
  1517      */
       
  1518     virtual QCString trDirIndex()
       
  1519     { return "Cấu trúc thư mục"; }
       
  1520 
       
  1521     /*! This is used as the name of the chapter containing the documentation
       
  1522      *  of the directories.
       
  1523      */
       
  1524     virtual QCString trDirDocumentation()
       
  1525     { return "Thông tin về thư mục"; }
       
  1526 
       
  1527     /*! This is used as the title of the directory index and also in the
       
  1528      *  Quick links of an HTML page, to link to the directory hierarchy.
       
  1529      */
       
  1530     virtual QCString trDirectories()
       
  1531     { return "Các thư mục"; }
       
  1532 
       
  1533     /*! This returns a sentences that introduces the directory hierarchy. 
       
  1534      *  and the fact that it is sorted alphabetically per level
       
  1535      */
       
  1536     virtual QCString trDirDescription()
       
  1537     { return "Thư mục đã được sắp xếp theo al-pha-bê, "
       
  1538              "nhưng chưa đầy đủ:";
       
  1539     }
       
  1540 
       
  1541     /*! This returns the title of a directory page. The name of the
       
  1542      *  directory is passed via \a dirName.
       
  1543      */
       
  1544     virtual QCString trDirReference(const char *dirName)
       
  1545     { QCString result=dirName; result+=" Tham chiếu thư mục"; return result; }
       
  1546 
       
  1547     /*! This returns the word directory with or without starting capital
       
  1548      *  (\a first_capital) and in sigular or plural form (\a singular).
       
  1549      */
       
  1550     virtual QCString trDir(bool first_capital, bool singular)
       
  1551     { 
       
  1552       QCString result((first_capital ? "Thư mục" : "thư mục"));
       
  1553       if (singular) result+=""; else result+="";
       
  1554       return result; 
       
  1555     }
       
  1556 
       
  1557 //////////////////////////////////////////////////////////////////////////
       
  1558 // new since 1.4.1
       
  1559 //////////////////////////////////////////////////////////////////////////
       
  1560 
       
  1561     /*! This text is added to the documentation when the \\overload command
       
  1562      *  is used for a overloaded function.
       
  1563      */
       
  1564     virtual QCString trOverloadText()
       
  1565     {
       
  1566        return "Hàm thành viên dạng overloaded, "
       
  1567               "được chỉ ra cho việc tra cứu dễ dàng. Nó khác với hàm ở trên"
       
  1568               "chỉ ở chỗ những tham số nào nó chấp nhận.";
       
  1569     }
       
  1570 
       
  1571 //////////////////////////////////////////////////////////////////////////
       
  1572 // new since 1.4.6
       
  1573 //////////////////////////////////////////////////////////////////////////
       
  1574 
       
  1575     /*! This is used to introduce a caller (or called-by) graph */
       
  1576     virtual QCString trCallerGraph()
       
  1577     {
       
  1578       return "Biểu đồ các lời gọi cho hàm này:";
       
  1579     }
       
  1580 
       
  1581     /*! This is used in the documentation of a file/namespace before the list 
       
  1582      *  of documentation blocks for enumeration values
       
  1583      */
       
  1584     virtual QCString trEnumerationValueDocumentation()
       
  1585     { return "Thông tin Enumerator"; }
       
  1586 
       
  1587 //////////////////////////////////////////////////////////////////////////
       
  1588 // new since 1.5.4 (mainly for Fortran)
       
  1589 //////////////////////////////////////////////////////////////////////////
       
  1590     
       
  1591     /*! header that is put before the list of member subprograms (Fortran). */
       
  1592     virtual QCString trMemberFunctionDocumentationFortran()
       
  1593     { return "Thông tin về các hàm và các thủ tục thành viên"; }
       
  1594 
       
  1595     /*! This is put above each page as a link to the list of annotated data types (Fortran). */    
       
  1596     virtual QCString trCompoundListFortran()
       
  1597     { return "Danh sách kiêu dữ liệu"; }
       
  1598 
       
  1599     /*! This is put above each page as a link to all members of compounds (Fortran). */
       
  1600     virtual QCString trCompoundMembersFortran()
       
  1601     { return "Trường dữ liệu"; }
       
  1602 
       
  1603     /*! This is an introduction to the annotated compound list (Fortran). */
       
  1604     virtual QCString trCompoundListDescriptionFortran()
       
  1605     { return "Kiểu dữ liệu với các mô tả tóm tắt:"; }
       
  1606 
       
  1607     /*! This is an introduction to the page with all data types (Fortran). */
       
  1608     virtual QCString trCompoundMembersDescriptionFortran(bool extractAll)
       
  1609     {
       
  1610       QCString result="Danh sách tất cả ";
       
  1611       if (!extractAll)
       
  1612       {
       
  1613         result+="(đã được mô tả) ";
       
  1614       }
       
  1615       result+="các kiểu dữ liệu thành viên";
       
  1616       result+=" cùng với liên kết với ";
       
  1617       if (!extractAll) 
       
  1618       {
       
  1619          result+="Thông tin cấu trúc dữ liệu cho từng thành viên";
       
  1620       }
       
  1621       else 
       
  1622       {
       
  1623          result+=" các kiểu dữ liệu thuộc:";
       
  1624       }
       
  1625       return result;
       
  1626     }
       
  1627 
       
  1628     /*! This is used in LaTeX as the title of the chapter with the 
       
  1629      * annotated compound index (Fortran).
       
  1630      */
       
  1631     virtual QCString trCompoundIndexFortran()
       
  1632     { return "Chỉ mục kiểu dữ liệu"; }
       
  1633 
       
  1634     /*! This is used in LaTeX as the title of the chapter containing
       
  1635      *  the documentation of all data types (Fortran).
       
  1636      */
       
  1637     virtual QCString trTypeDocumentation()
       
  1638     { return "Thông tin về kiểu dữ liệu"; }
       
  1639 
       
  1640     /*! This is used in the documentation of a file as a header before the 
       
  1641      *  list of (global) subprograms (Fortran).
       
  1642      */
       
  1643     virtual QCString trSubprograms()
       
  1644     { return "Functions/Subroutines"; }
       
  1645 
       
  1646     /*! This is used in the documentation of a file/namespace before the list 
       
  1647      *  of documentation blocks for subprograms (Fortran)
       
  1648      */
       
  1649     virtual QCString trSubprogramDocumentation()
       
  1650     { return "Thông tin về Function/Subroutine"; }
       
  1651 
       
  1652     /*! This is used in the documentation of a file/namespace/group before 
       
  1653      *  the list of links to documented compounds (Fortran)
       
  1654      */
       
  1655      virtual QCString trDataTypes()
       
  1656     { return "Kiểu dữ liệu"; }
       
  1657     
       
  1658     /*! used as the title of page containing all the index of all modules (Fortran). */
       
  1659     virtual QCString trModulesList()
       
  1660     { return "Danh sách Modules"; }
       
  1661 
       
  1662     /*! used as an introduction to the modules list (Fortran) */
       
  1663     virtual QCString trModulesListDescription(bool extractAll)
       
  1664     {
       
  1665       QCString result="Danh sách tất cả ";
       
  1666       if (!extractAll) result+="(đã được mô tả) ";
       
  1667       result+="các module với mô tả tóm tắt:";
       
  1668       return result;
       
  1669     }
       
  1670 
       
  1671     /*! used as the title of the HTML page of a module/type (Fortran) */
       
  1672     virtual QCString trCompoundReferenceFortran(const char *clName,
       
  1673                                     ClassDef::CompoundType compType,
       
  1674                                     bool isTemplate)
       
  1675     {
       
  1676       QCString result=(QCString)clName;
       
  1677       switch(compType)
       
  1678       {
       
  1679         case ClassDef::Class:      result+=" Module"; break;
       
  1680         case ClassDef::Struct:     result+=" Type"; break;
       
  1681         case ClassDef::Union:      result+=" Union"; break;
       
  1682         case ClassDef::Interface:  result+=" Interface"; break;
       
  1683         case ClassDef::Protocol:   result+=" Protocol"; break;
       
  1684         case ClassDef::Category:   result+=" Category"; break;
       
  1685         case ClassDef::Exception:  result+=" Exception"; break;
       
  1686       }
       
  1687       if (isTemplate) result+=" Template";
       
  1688       result+=" Tham chiếu";
       
  1689       return result;
       
  1690     }
       
  1691     /*! used as the title of the HTML page of a module (Fortran) */
       
  1692     virtual QCString trModuleReference(const char *namespaceName)
       
  1693     {
       
  1694       QCString result=namespaceName;
       
  1695       result+=" Tham chiếu Module";        
       
  1696       return result;
       
  1697     }
       
  1698     
       
  1699     /*! This is put above each page as a link to all members of modules. (Fortran) */
       
  1700     virtual QCString trModulesMembers()
       
  1701     { return "Thành viên Module"; }
       
  1702 
       
  1703     /*! This is an introduction to the page with all modules members (Fortran) */
       
  1704     virtual QCString trModulesMemberDescription(bool extractAll)
       
  1705     { 
       
  1706       QCString result="Danh sách tất cả ";
       
  1707       if (!extractAll) result+="(đã được mô tả) ";
       
  1708       result+="các module thành viên cùng với liên kết tới ";
       
  1709       if (extractAll) 
       
  1710       {
       
  1711         result+="Thông tin module cho từng thành viên:";
       
  1712       }
       
  1713       else 
       
  1714       {
       
  1715         result+="các module thuộc:";
       
  1716       }
       
  1717       return result;
       
  1718     }
       
  1719 
       
  1720     /*! This is used in LaTeX as the title of the chapter with the 
       
  1721      *  index of all modules (Fortran).
       
  1722      */
       
  1723     virtual QCString trModulesIndex()
       
  1724     { return "Chỉ mục các Module"; }
       
  1725     
       
  1726     /*! This is used for translation of the word that will possibly
       
  1727      *  be followed by a single name or by a list of names 
       
  1728      *  of the category.
       
  1729      */
       
  1730     virtual QCString trModule(bool first_capital, bool singular)
       
  1731     {       
       
  1732       QCString result((first_capital ? "Module" : "module"));
       
  1733       if (!singular)  result+="";
       
  1734       return result; 
       
  1735     }
       
  1736     /*! This is put at the bottom of a module documentation page and is
       
  1737      *  followed by a list of files that were used to generate the page.
       
  1738      */
       
  1739     virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType,
       
  1740         bool single)
       
  1741     { // here s is one of " Module", " Struct" or " Union"
       
  1742       // single is true implies a single file
       
  1743       QCString result=(QCString)"Thông tin cho ";
       
  1744       switch(compType)
       
  1745       {
       
  1746         case ClassDef::Class:      result+="module"; break;
       
  1747         case ClassDef::Struct:     result+="type"; break;
       
  1748         case ClassDef::Union:      result+="union"; break;
       
  1749         case ClassDef::Interface:  result+="interface"; break;
       
  1750         case ClassDef::Protocol:   result+="protocol"; break;
       
  1751         case ClassDef::Category:   result+="category"; break;
       
  1752         case ClassDef::Exception:  result+="exception"; break;
       
  1753       }
       
  1754       result+=" được biên soạn từ các file sau đây";
       
  1755       if (single) result+=":"; else result+="s:";
       
  1756       return result;
       
  1757     }
       
  1758     /*! This is used for translation of the word that will possibly
       
  1759      *  be followed by a single name or by a list of names 
       
  1760      *  of the category.
       
  1761      */
       
  1762     virtual QCString trType(bool first_capital, bool singular)
       
  1763     { 
       
  1764       QCString result((first_capital ? "Kiểu" : "kiểu"));
       
  1765       if (!singular)  result+="";
       
  1766       return result; 
       
  1767     }
       
  1768     /*! This is used for translation of the word that will possibly
       
  1769      *  be followed by a single name or by a list of names 
       
  1770      *  of the category.
       
  1771      */
       
  1772     virtual QCString trSubprogram(bool first_capital, bool singular)
       
  1773     { 
       
  1774       QCString result((first_capital ? "Chương trình con" : "chương trình con"));
       
  1775       if (!singular)  result+="";
       
  1776       return result; 
       
  1777     }
       
  1778 
       
  1779     /*! C# Type Constraint list */
       
  1780     virtual QCString trTypeConstraints()
       
  1781     {
       
  1782       return "Ràng buộc của kiểu (Type)";
       
  1783     }
       
  1784 
       
  1785 };
       
  1786 
       
  1787 #endif