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