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