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