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