00001 /****************************************************************************** 00002 * 00003 * 00004 * 00005 * Copyright (C) 1997-2008 by Dimitri van Heesch. 00006 * 00007 * Permission to use, copy, modify, and distribute this software and its 00008 * documentation under the terms of the GNU General Public License is hereby 00009 * granted. No representations are made about the suitability of this software 00010 * for any purpose. It is provided "as is" without express or implied warranty. 00011 * See the GNU General Public License for more details. 00012 * 00013 * Documents produced by Doxygen are derivative works derived from the 00014 * input used in their production; they are not affected by this license. 00015 */ 00016 00017 /* 00018 * 00019 * Nickolay Semyonov 00020 * Andrey V. Stolyarov released Feb 14, 2001 00021 * Alexandr V. Chelpanov <cav@cryptopro.ru> released Sep 25, 2004 00022 * 00023 * При переводе заголовков слова list и documentation убраны. 00024 * 00025 * Modules переведено как группы, так как модули чаще всего в русском 00026 * переводе встречается в контексте модуля как единицы трансляции, файла 00027 * и др., что в данном случае не совсем подходит, тем более что 00028 * соответствующая команда в doxygen именуется \group. 00029 * 00030 * Просьба не оптимизировать decode обрамляя результат, это может привести 00031 * к перекодировке входа в том числе русских имен файлов. 00032 * 00033 * Отдано предпочтение при переводе related functions - "относящиеся к классу 00034 * функции", а не "связанные функции", что верно до тех пор пока есть только 00035 * related to class, и нет related to template, package и т.д. Последнее 00036 * замечание касается большинства member. 00037 * 00038 * По возможности при переводе members указывается членом чего этот member 00039 * является. 00040 * 00041 * Compounds переведено как классы, см Строустрап. 00042 * 00043 * Определения помеченные ?? являются спорными. 00044 * 00045 * Благодарности: Vitaly A. Repin <vitaly@radio.hop.stu.neva.ru>, 00046 * Михаил Глушенков <bbman@mail.ru> 00047 */ 00048 00049 #ifndef TRANSLATOR_RU_H 00050 #define TRANSLATOR_RU_H 00051 00052 class TranslatorRussian : public TranslatorAdapter_1_5_4 00053 { 00054 private: 00058 inline QCString decode(const QCString & sInput) 00059 { 00060 //if (Config_getBool("USE_WINDOWS_ENCODING")) 00061 //{ 00062 // return Koi8RToWindows1251(sInput); 00063 //} 00064 //else 00065 //{ 00066 return sInput; 00067 //} 00068 } 00069 00070 public: 00072 virtual QCString idLanguage() 00073 { return "russian"; } 00074 00075 /* Used to get the command(s) for the language support. */ 00076 virtual QCString latexLanguageSupportCommand() 00077 { 00078 //if (Config_getBool("USE_WINDOWS_ENCODING")) 00079 //{ 00080 // return "\\usepackage[cp1251]{inputenc}\n\\usepackage[russian]{babel}\n"; 00081 //} 00082 //else 00083 //{ 00084 return "\\usepackage[T2A]{fontenc}\n\\usepackage[russian]{babel}\n"; 00085 //} 00086 } 00087 00089 virtual QCString idLanguageCharset() 00090 { 00091 //if (Config_getBool("USE_WINDOWS_ENCODING")) 00092 //{ 00093 // return "Windows-1251"; 00094 //} 00095 //else 00096 //{ 00097 return "koi8-r"; 00098 //} 00099 } 00100 00101 // --- Language translation methods ------------------- 00102 00104 virtual QCString trRelatedFunctions() 00105 { return decode("Относящиеся к классу функции"); } 00106 00108 virtual QCString trRelatedSubscript() 00109 { return decode("(не члены класса)"); } 00110 00112 virtual QCString trDetailedDescription() 00113 { return decode("Подробное описание"); } 00114 00116 virtual QCString trMemberTypedefDocumentation() 00117 { return decode("Определения типов"); } 00118 00120 virtual QCString trMemberEnumerationDocumentation() 00121 { return decode("Перечисления"); } 00122 00124 virtual QCString trMemberFunctionDocumentation() 00125 { return decode("Методы"); } 00126 00128 virtual QCString trMemberDataDocumentation() 00129 { 00130 if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) 00131 { 00132 return decode( "Поля" ); 00133 } 00134 else 00135 { 00136 return decode( "Данные класса" ); 00137 } 00138 } 00139 00141 virtual QCString trMore() 00142 { return decode("Подробнее..."); } 00143 00145 /* Dosn't use when optimization for C is on. */ 00146 virtual QCString trListOfAllMembers() 00147 { 00148 return decode( "Полный список членов класса" ); 00149 } 00150 00152 /* Dosn't use when optimization for C is on. */ 00153 virtual QCString trMemberList() 00154 { 00155 return decode( "Cписок членов класса" ); 00156 } 00157 00159 /* Dosn't use when optimization for C is on. */ 00160 virtual QCString trThisIsTheListOfAllMembers() 00161 { return decode("Полный список членов класса "); } 00162 00164 /* Dosn't use when optimization for C is on. */ 00165 virtual QCString trIncludingInheritedMembers() 00166 { return decode(", включая наследуемые из базового класса"); } 00167 00171 virtual QCString trGeneratedAutomatically(const char *s) 00172 { QCString result=decode("Автоматически создано Doxygen"); 00173 if (s) result+=decode(" для ")+s; 00174 result+=decode(" из исходного текста."); 00175 return result; 00176 } 00177 00179 virtual QCString trEnumName() 00180 { return decode("перечисление"); } 00181 00183 virtual QCString trEnumValue() 00184 { return decode("элементы перечисления"); } 00185 00187 virtual QCString trDefinedIn() 00188 { return decode("определено в"); } 00189 00190 // quick reference sections 00191 00195 virtual QCString trModules() 00196 { return decode("Группы"); } 00197 00199 virtual QCString trClassHierarchy() 00200 { return decode("Иерархия классов"); } 00201 00203 virtual QCString trCompoundList() 00204 { 00205 if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) 00206 { 00207 return decode( "Структуры данных" ); 00208 } 00209 else 00210 { 00211 return decode( "Классы" ); 00212 } 00213 } 00214 00216 virtual QCString trFileList() 00217 { return decode("Файлы"); } 00218 00220 virtual QCString trCompoundMembers() 00221 { 00222 if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) 00223 { 00224 return decode( "Поля структур" ); 00225 } 00226 else 00227 { 00228 return decode( "Члены классов" ); 00229 } 00230 } 00231 00233 /*??*/ 00234 virtual QCString trFileMembers() 00235 { 00236 return decode( "Список членов всех файлов" ); 00237 } 00238 00240 virtual QCString trRelatedPages() 00241 /* ?? Вариант перевода "См. также: " более удачный, но не в заголовке, 00242 как в данном случае. */ 00243 { return decode("Описания"); } 00244 00246 virtual QCString trExamples() 00247 { return decode("Примеры"); } 00248 00250 virtual QCString trSearch() 00251 { return decode("Поиск"); } 00252 00254 virtual QCString trClassHierarchyDescription() 00255 { return decode("Иерархия классов."); } 00256 00258 virtual QCString trFileListDescription(bool extractAll) 00259 { 00260 QCString result="Полный список "; 00261 if (!extractAll) result+="документированных "; 00262 result+="файлов."; 00263 return decode(result); 00264 } 00265 00267 virtual QCString trCompoundListDescription() 00268 { 00269 if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) 00270 { 00271 return decode( "Структуры данных с их кратким описанием." ); 00272 } 00273 else 00274 { 00275 return decode( "Классы с их кратким описанием." ); 00276 } 00277 } 00278 00280 virtual QCString trCompoundMembersDescription(bool extractAll) 00281 { 00282 QCString result="Список всех "; 00283 if(!extractAll) result+="документированных "; 00284 if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) 00285 result+="членов структур данных со ссылками на "; 00286 else 00287 result+="членов классов со ссылками на "; 00288 if(!extractAll) 00289 { 00290 if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) 00291 result+="документацию по структуре для каждого члена."; 00292 else 00293 result+="документацию по классу для каждого члена."; 00294 } 00295 else 00296 { 00297 if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) 00298 result += "структуры"; 00299 else 00300 result += "классы"; 00301 result+=", к которым они принадлежат."; 00302 } 00303 return decode( result ); 00304 } 00305 00307 virtual QCString trFileMembersDescription(bool extractAll) 00308 { 00309 QCString result="Список всех "; 00310 if (!extractAll) result+="документированных "; 00311 00312 if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) 00313 { 00314 result+="функций, переменных, макроопределений, " 00315 "перечислений и определений типов"; 00316 } 00317 else 00318 { 00319 result+="членов файлов "; 00320 } 00321 result+=" со ссылками на "; 00322 if (extractAll) 00323 result+="файлы, к которым они принадлежат."; 00324 else 00325 result+="документацию."; 00326 return decode( result ); 00327 } 00328 00330 virtual QCString trExamplesDescription() 00331 { return decode("Полный список примеров."); } 00332 00334 virtual QCString trRelatedPagesDescription() 00335 { return decode("Полный список дополнительных описаний."); } 00336 00338 virtual QCString trModulesDescription() 00339 { return decode("Полный список групп."); } 00340 00341 // index titles (the project name is prepended for these) 00342 00343 00345 virtual QCString trDocumentation() 00346 { return decode("Документация"); } 00347 00351 virtual QCString trModuleIndex() 00352 { return decode("Алфавитный указатель групп"); } 00353 00357 virtual QCString trHierarchicalIndex() 00358 { return decode("Иерархический список классов"); } 00359 00363 virtual QCString trCompoundIndex() 00364 { 00365 if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) 00366 { 00367 return decode( "Алфавитный указатель структур данных" ); 00368 } 00369 else 00370 { 00371 return decode( "Алфавитный указатель классов" ); 00372 } 00373 } 00374 00378 virtual QCString trFileIndex() 00379 { return decode( "Список файлов" ); } 00380 00384 virtual QCString trModuleDocumentation() 00385 { return decode("Группы"); } 00386 00390 virtual QCString trClassDocumentation() 00391 { 00392 if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) 00393 { 00394 return decode( "Структуры данных" ); 00395 } 00396 else 00397 { 00398 return decode( "Классы" ); 00399 } 00400 } 00401 00405 virtual QCString trFileDocumentation() 00406 { return decode("Файлы"); } 00407 00411 virtual QCString trExampleDocumentation() 00412 { return decode("Примеры"); } 00413 00417 virtual QCString trPageDocumentation() 00418 { return decode("Тематические описания"); } 00419 00421 virtual QCString trReferenceManual() 00422 { return decode("Оглавление"); } 00423 00427 virtual QCString trDefines() 00428 { return decode("Макросы"); } 00429 00433 virtual QCString trFuncProtos() 00434 { return decode("Прототипы функций"); } 00435 00439 virtual QCString trTypedefs() 00440 { return decode("Определения типов"); } 00441 00445 virtual QCString trEnumerations() 00446 { return decode("Перечисления"); } 00447 00451 virtual QCString trFunctions() 00452 { return decode("Функции"); } 00453 00457 virtual QCString trVariables() 00458 { return decode("Переменные"); } 00459 00463 virtual QCString trEnumerationValues() 00464 { return decode("Элементы перечислений"); } 00465 00469 virtual QCString trDefineDocumentation() 00470 { return decode("Макросы"); } 00471 00475 virtual QCString trFunctionPrototypeDocumentation() 00476 { return decode("Прототипы функций"); } 00477 00481 virtual QCString trTypedefDocumentation() 00482 { return decode("Типы"); } 00483 00487 virtual QCString trEnumerationTypeDocumentation() 00488 { return decode("Перечисления"); } 00489 00493 virtual QCString trFunctionDocumentation() 00494 { return decode("Функции"); } 00495 00499 virtual QCString trVariableDocumentation() 00500 { return decode("Переменные"); } 00501 00505 virtual QCString trCompounds() 00506 { 00507 if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) 00508 { 00509 return decode( "Структуры данных" ); 00510 } 00511 else 00512 { 00513 return decode( "Классы" ); 00514 } 00515 00516 } 00517 00524 virtual QCString trGeneratedAt(const char *date,const char *projName) 00525 { 00526 QCString result=decode("Документация "); 00527 if (projName) result+=decode("по ")+projName; 00528 result+=decode(". Последние изменения: ")+date; 00529 result+=decode(". Создано системой"); 00530 return result; 00531 } 00534 virtual QCString trWrittenBy() 00535 { 00536 return decode("Автор:"); 00537 } 00538 00540 virtual QCString trClassDiagram(const char *clName) 00541 { 00542 return decode("Граф наследования:")+clName+":"; 00543 } 00544 00546 virtual QCString trForInternalUseOnly() 00547 { return decode("Только для внутреннего использования"); } 00548 00550 virtual QCString trWarning() 00551 { return decode("Предупреждения"); } 00552 00554 virtual QCString trVersion() 00555 { return decode("Версия"); } 00556 00558 virtual QCString trDate() 00559 { return decode("Дата"); } 00560 00562 virtual QCString trReturns() 00563 { return decode("Возвращает"); } 00564 00566 virtual QCString trSeeAlso() 00567 { return decode("См. также"); } 00568 00570 virtual QCString trParameters() 00571 { return decode("Аргументы"); } 00572 00574 virtual QCString trExceptions() 00575 { return decode("Исключения"); } 00576 00578 virtual QCString trGeneratedBy() 00579 { return decode("Создано системой"); } 00580 00582 // new since 0.49-990307 00584 00586 virtual QCString trNamespaceList() 00587 { return decode("Пространства имен"); } 00588 00590 virtual QCString trNamespaceListDescription(bool extractAll) 00591 { 00592 QCString result="Полный список "; 00593 if (!extractAll) result+="документированных "; 00594 result+="пространств имен."; 00595 return decode(result); 00596 } 00597 00601 virtual QCString trFriends() 00602 { return decode("Друзья"); } 00603 00605 // new since 0.49-990405 00607 00611 virtual QCString trRelatedFunctionDocumentation() 00612 { return decode("Документация по друзьям класса и функциям, отноносящимся" 00613 " к классу"); } 00614 00616 // new since 0.49-990425 00618 00620 virtual QCString trCompoundReference(const char *clName, 00621 ClassDef::CompoundType compType, 00622 bool isTemplate) 00623 { 00624 QCString result; 00625 if (isTemplate) 00626 { 00627 result="Шаблон "; 00628 switch(compType) 00629 { 00630 case ClassDef::Class: result+="класса"; break; 00631 case ClassDef::Struct: result+="структуры"; break; 00632 case ClassDef::Union: result+="объединения"; break; 00633 case ClassDef::Interface: result+="интерфейса"; break; 00634 case ClassDef::Protocol: result+="protocol"; break; // translate me! 00635 case ClassDef::Category: result+="category"; break; // translate me! 00636 case ClassDef::Exception: result+="исключения"; break; 00637 } 00638 } 00639 else 00640 { 00641 switch(compType) 00642 { 00643 case ClassDef::Class: result+="Класс"; break; 00644 case ClassDef::Struct: result+="Структура"; break; 00645 case ClassDef::Union: result+="Объединение"; break; 00646 case ClassDef::Interface: result+="Интерфейс"; break; 00647 case ClassDef::Protocol: result+="protocol"; break; // translate me! 00648 case ClassDef::Category: result+="category"; break; // translate me! 00649 case ClassDef::Exception: result+="Исключение"; break; 00650 } 00651 } 00652 result+=" "; 00653 return decode(result)+clName; 00654 } 00655 00657 virtual QCString trFileReference(const char *fileName) 00658 { 00659 return decode("Файл ")+fileName; 00660 } 00661 00663 virtual QCString trNamespaceReference(const char *namespaceName) 00664 { 00665 return decode("Пространство имен ")+namespaceName; 00666 } 00667 00668 virtual QCString trPublicMembers() 00669 { return decode("Открытые члены"); } 00670 virtual QCString trPublicSlots() 00671 { return decode("Открытые слоты"); } 00672 virtual QCString trSignals() 00673 { return decode("Сигналы"); } 00674 virtual QCString trStaticPublicMembers() 00675 { return decode("Открытые статические члены"); } 00676 virtual QCString trProtectedMembers() 00677 { return decode("Защищенные члены"); } 00678 virtual QCString trProtectedSlots() 00679 { return decode("Защищенные слоты"); } 00680 virtual QCString trStaticProtectedMembers() 00681 { return decode("Защищенные статические члены"); } 00682 virtual QCString trPrivateMembers() 00683 { return decode("Закрытые члены"); } 00684 virtual QCString trPrivateSlots() 00685 { return decode("Закрытые слоты"); } 00686 virtual QCString trStaticPrivateMembers() 00687 { return decode("Закрытые статические члены"); } 00688 00692 virtual QCString trWriteList(int numEntries) 00693 { 00694 QCString result; 00695 int i; 00696 // the inherits list contain `numEntries' classes 00697 for (i=0;i<numEntries;i++) 00698 { 00699 // use generateMarker to generate placeholders for the class links! 00700 result+=generateMarker(i); // generate marker for entry i in the list 00701 // (order is left to right) 00702 00703 if (i!=numEntries-1) // not the last entry, so we need a separator 00704 { 00705 if (i<numEntries-2) // not the fore last entry 00706 result+=", "; 00707 else // the fore last entry 00708 result+=decode( " и " ); 00709 } 00710 } 00711 return result; 00712 } 00713 00717 virtual QCString trInheritsList(int numEntries) 00718 { 00719 return decode("Базовые классы:")+trWriteList(numEntries)+"."; 00720 } 00721 00725 virtual QCString trInheritedByList(int numEntries) 00726 { 00727 return decode("Производные классы:")+trWriteList(numEntries)+"."; 00728 } 00729 00733 virtual QCString trReimplementedFromList(int numEntries) 00734 { 00735 QCString result="Переопределяет метод"; 00736 if(numEntries>1) 00737 result+="ы предков"; 00738 else 00739 result+=" предка"; 00740 return decode(result+" ")+trWriteList(numEntries)+"."; 00741 } 00742 00746 virtual QCString trReimplementedInList(int numEntries) 00747 { 00748 return decode("Переопределяется в ")+trWriteList(numEntries)+"."; 00749 } 00750 00752 virtual QCString trNamespaceMembers() 00753 { return decode("Члены пространств имен"); } 00754 00756 virtual QCString trNamespaceMemberDescription(bool extractAll) 00757 { 00758 QCString result="Полный список "; 00759 if (!extractAll) result+="документированных "; 00760 result+="членов простанств имен."; 00761 return decode(result); 00762 } 00763 00767 virtual QCString trNamespaceIndex() 00768 { return decode("Алфавитный указатель пространств имен"); } 00769 00773 virtual QCString trNamespaceDocumentation() 00774 { return decode("Пространства имен"); } 00775 00777 // new since 0.49-990522 00779 00783 virtual QCString trNamespaces() 00784 { return decode( "Пространства имен" ); } 00785 00787 // new since 0.49-990728 00789 00793 virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType, 00794 bool single) 00795 { // here s is one of " Class", " Struct" or " Union" 00796 // single is true implies a single file 00797 QCString result=(QCString)"Объявления и описания членов "; 00798 switch(compType) 00799 { 00800 case ClassDef::Class: result+="класс"; 00801 if (single) result+='а'; else result+="ов"; 00802 break; 00803 case ClassDef::Struct: result+="структур"; 00804 if (single) result+='ы'; 00805 break; 00806 case ClassDef::Union: result+="объединени"; 00807 if (single) result+='я'; else result+='й'; 00808 break; 00809 case ClassDef::Interface: result+="интерфейс"; 00810 if (single) result+='а'; else result+="ов"; 00811 break; 00812 case ClassDef::Protocol: result+="Protocol"; // translate me! 00813 break; 00814 case ClassDef::Category: result+="Category"; // translate me! 00815 break; 00816 case ClassDef::Exception: result+="исключени"; 00817 if (single) result+='я'; else result+='й'; 00818 break; 00819 } 00820 result+=" находятся в файл"; 00821 if (single) result+="е:"; else result+="ах:"; 00822 return decode(result); 00823 } 00824 00828 virtual QCString trAlphabeticalList() 00829 { return decode("Алфавитный указатель"); } 00830 00832 // new since 0.49-990901 00834 00836 virtual QCString trReturnValues() 00837 { return decode("Возвращаемые значения"); } 00838 00841 virtual QCString trMainPage() 00842 { return decode("Титульная страница"); } 00843 00847 virtual QCString trPageAbbreviation() 00848 { return decode("стр."); } 00849 00851 // new since 0.49-991106 00853 00854 virtual QCString trDefinedAtLineInSourceFile() 00855 { 00856 return decode("См. определение в файле @1 строка @0"); 00857 } 00858 virtual QCString trDefinedInSourceFile() 00859 { 00860 return decode("См. определение в файле @0"); 00861 } 00862 00864 // new since 0.49-991205 00866 00867 virtual QCString trDeprecated() 00868 { 00869 return decode("Уст."); 00870 } 00871 00873 // new since 1.0.0 00875 00877 virtual QCString trCollaborationDiagram(const char *clName) 00878 { 00879 return (QCString)decode("Граф связей класса ")+clName+":"; 00880 } 00882 virtual QCString trInclDepGraph(const char *fName) 00883 { 00884 return decode("Граф включаемых заголовочных файлов для ")+fName+":"; 00885 } 00887 virtual QCString trConstructorDocumentation() 00888 { 00889 return decode("Конструктор(ы)"); 00890 } 00892 virtual QCString trGotoSourceCode() 00893 { 00894 return decode("См. исходные тексты."); 00895 } 00897 virtual QCString trGotoDocumentation() 00898 { 00899 return decode("См. документацию."); 00900 } 00902 virtual QCString trPrecondition() 00903 { 00904 return decode("Предусловие"); 00905 } 00907 virtual QCString trPostcondition() 00908 { 00909 return decode("Постусловие"); 00910 } 00912 virtual QCString trInvariant() 00913 { 00914 return decode("Инвариант"); 00915 } 00917 virtual QCString trInitialValue() 00918 { 00919 return decode("Инициализатор"); 00920 } 00922 virtual QCString trCode() 00923 { 00924 return decode("Исходные тексты"); 00925 } 00926 virtual QCString trGraphicalHierarchy() 00927 { 00928 return decode("Иерархия классов. Графический вид."); 00929 } 00930 virtual QCString trGotoGraphicalHierarchy() 00931 { 00932 return decode("см. графический вид."); 00933 } 00934 virtual QCString trGotoTextualHierarchy() 00935 { 00936 return decode("см. текстовый вид."); 00937 } 00938 virtual QCString trPageIndex() 00939 { 00940 return decode("Алфавитный указатель тематических описаний"); 00941 } 00942 00944 // new since 1.1.0 00946 00947 virtual QCString trNote() 00948 { 00949 return decode("Заметки"); 00950 } 00951 virtual QCString trPublicTypes() 00952 { 00953 return decode("Открытые типы"); 00954 } 00955 virtual QCString trPublicAttribs() 00956 { 00957 if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) 00958 { 00959 return decode( "Поля данных" ); 00960 } 00961 else 00962 { 00963 return decode( "Открытые атрибуты" ); 00964 } 00965 } 00966 virtual QCString trStaticPublicAttribs() 00967 { 00968 return decode("Статические открытые данные"); 00969 } 00970 virtual QCString trProtectedTypes() 00971 { 00972 return decode("Защищенные типы"); 00973 } 00974 virtual QCString trProtectedAttribs() 00975 { 00976 return decode("Защищенные данные"); 00977 } 00978 virtual QCString trStaticProtectedAttribs() 00979 { 00980 return decode("Статические защищенные данные"); 00981 } 00982 virtual QCString trPrivateTypes() 00983 { 00984 return decode("Закрытые типы"); 00985 } 00986 virtual QCString trPrivateAttribs() 00987 { 00988 return decode("Закрытые данные"); 00989 } 00990 virtual QCString trStaticPrivateAttribs() 00991 { 00992 return decode("Закрытые статические данные"); 00993 } 00994 00995 00997 // new since 1.1.3 00999 01001 virtual QCString trTodo() 01002 /*??*/ 01003 { 01004 return decode("Необходимо сделать"); 01005 } 01007 virtual QCString trTodoList() 01008 /*??*/ 01009 { 01010 return decode("Список задач"); 01011 } 01012 01014 // new since 1.1.4 01016 01017 virtual QCString trReferencedBy() 01018 { 01019 return decode("Используется в"); 01020 } 01021 virtual QCString trRemarks() 01022 { 01023 return decode("Прим."); 01024 } 01025 virtual QCString trAttention() 01026 { 01027 return decode("Внимание"); 01028 } 01029 virtual QCString trInclByDepGraph() 01030 { 01031 return decode("Граф файлов, в которые включается этот файл:"); 01032 } 01033 virtual QCString trSince() 01034 /*??*/ 01035 { 01036 return decode("Начиная с"); 01037 } 01038 01040 // new since 1.1.5 01042 01044 virtual QCString trLegendTitle() 01045 { 01046 return decode("Легенда"); 01047 } 01049 virtual QCString trLegendDocs() 01050 { 01051 return decode( 01052 "Обозначения, используемые в графах.<p>\n" 01053 "Рассмотрим следующий пример:\n" 01054 "\\code\n" 01055 "/*! Невидимый класс из-за усечения */\n" 01056 "class Invisible { };\n\n" 01057 "/*! Усеченный класс, отношение наследования скрыто */\n" 01058 "class Truncated : public Invisible { };\n\n" 01059 "/* Недокументированный класс */\n" 01060 "class Undocumented { };\n\n" 01061 "/*! Открытое наследование */\n" 01062 "class PublicBase : public Truncated { };\n\n" 01063 "/*! Шаблон класса */\n" 01064 "template<class T> class Templ {};\n\n" 01065 "/*! Защищенное наследование */\n" 01066 "class ProtectedBase { };\n\n" 01067 "/*! Закрытое наследование */\n" 01068 "class PrivateBase { };\n\n" 01069 "/*! Класс, используемый классом Inherited */\n" 01070 "class Used { };\n\n" 01071 "/*! Класс, порожденный от других классов */\n" 01072 "class Inherited : public PublicBase,\n" 01073 " protected ProtectedBase,\n" 01074 " private PrivateBase,\n" 01075 " public Undocumented,\n" 01076 " public Templ<int>\n" 01077 "{\n" 01078 " private:\n" 01079 " Used *m_usedClass;\n" 01080 "};\n" 01081 "\\endcode\n" 01082 "Если \\c MAX_DOT_GRAPH_HEIGHT в конфигурационном файле " 01083 "установлен в 240, получится следующий граф:" 01084 "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n" 01085 "<p>\n" 01086 "Прямоугольники в этом графе имеют следующее значение:\n" 01087 "<ul>\n" 01088 "<li>Заполненный черный прямоугольник представляет структуру или класс, " 01089 "для которого создан граф.\n" 01090 "<li>Прямоугольник с черной границей обозначает документированную структуру или класс.\n" 01091 "<li>Прямоугольник с серой границей обозначает недокументированную структуру или класс.\n" 01092 "<li>Прямоугольник с красной границей обозначает документированную структуру или класс, для которого\n" 01093 " не все отношения наследования/содержания показаны. Граф усечен, " 01094 "если он не поместился в указанных границах.\n" 01095 "</ul>\n" 01096 "Стрелки имеют следующее значение:\n" 01097 "<ul>\n" 01098 "<li>Темно-синяя стрелка используется для изображения отношения открытого наследования " 01099 "между двумя классами.\n" 01100 "<li>Темно-зеленая стрелка используется при защищенном наследовании.\n" 01101 "<li>Темно-красная стрелка используется при закрытом наследовании.\n" 01102 "<li>Фиолетовая стрелка используется, если класс содержится в" 01103 "другом класе или используется другим классом." 01104 "Со стрелкой указывается переменная, " 01105 "через которую доступен указываемый класс или структура. \n" 01106 "<li>Желтая стрелка используется для связи подстановки шаблона и " 01107 "шаблона, на основе которого эта подстановка выполнена. С шаблоном" 01108 "указывается параметр подстановки.\n" 01109 "</ul>\n"); 01110 } 01112 virtual QCString trLegend() 01113 { 01114 return decode("см. легенду"); 01115 } 01116 01118 // new since 1.2.0 01120 01122 virtual QCString trTest() 01123 { 01124 return decode("Тест"); 01125 } 01127 virtual QCString trTestList() 01128 { 01129 return decode("Список тестов"); 01130 } 01131 01133 // new since 1.2.1 01135 01137 virtual QCString trDCOPMethods() 01138 { 01139 return decode("DCOP Методы"); 01140 } 01141 01143 // new since 1.2.2 01145 01147 virtual QCString trProperties() 01148 { 01149 return decode("Свойства"); 01150 } 01152 virtual QCString trPropertyDocumentation() 01153 { 01154 return decode("Полный список свойств"); 01155 } 01156 01158 // new since 1.2.4 01160 01162 virtual QCString trClasses() 01163 { 01164 if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) 01165 { 01166 return decode( "Структуры данных" ); 01167 } 01168 else 01169 { 01170 return decode( "Классы" ); 01171 } 01172 } 01174 virtual QCString trPackage(const char *name) 01175 { 01176 return decode("Пакет ")+name; 01177 } 01179 virtual QCString trPackageList() 01180 { 01181 return decode("Полный список пакетов "); 01182 } 01184 virtual QCString trPackageListDescription() 01185 { 01186 return decode("Полный список документированных пакетов."); 01187 } 01189 virtual QCString trPackages() 01190 { 01191 return decode("Пакеты"); 01192 } 01194 virtual QCString trDefineValue() 01195 { 01196 return decode("Макроопределение:"); 01197 } 01198 01200 // new since 1.2.5 01202 01204 virtual QCString trBug() 01205 { 01206 return decode("Ошибка"); 01207 } 01209 virtual QCString trBugList() 01210 { 01211 return decode("Ошибки"); 01212 } 01213 01215 // new since 1.2.6 01217 01218 virtual QCString trRTFansicp() 01219 { 01220 return "1251"; 01221 } 01223 virtual QCString trRTFCharSet() 01224 { 01225 return "204"; 01226 } 01228 virtual QCString trRTFGeneralIndex() 01229 { 01230 return decode("Алфавитный указатель"); 01231 } 01232 01237 virtual QCString trClass(bool first_capital, bool singular) 01238 { 01239 if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) 01240 { 01241 QCString result((first_capital ? "Структуры данных" : "структуры данных")); 01242 return decode(result); 01243 } 01244 else 01245 { 01246 QCString result((first_capital ? "Класс" : "класс")); 01247 if(!singular) result+="ы"; 01248 return decode(result); 01249 } 01250 } 01251 01256 virtual QCString trFile(bool first_capital, bool singular) 01257 { 01258 QCString result((first_capital ? "Файл" : "файл")); 01259 if (!singular) result+="ы"; 01260 return decode(result); 01261 } 01262 01267 virtual QCString trNamespace(bool first_capital, bool singular) 01268 { 01269 QCString result((first_capital ? "Пространств" : "пространств")); 01270 result+=(singular?"о имен":"а имен"); 01271 return decode(result); 01272 } 01273 01278 virtual QCString trGroup(bool first_capital, bool singular) 01279 { 01280 QCString result((first_capital ? "Групп" : "групп")); 01281 result+=(singular ? "а" : "ы"); 01282 return decode(result); 01283 } 01284 01289 virtual QCString trPage(bool first_capital, bool singular) 01290 { 01291 QCString result((first_capital ? "Страниц" : "страниц")); 01292 result+=(singular ? "а" : "ы"); 01293 return decode(result); 01294 } 01295 01300 virtual QCString trMember(bool first_capital, bool singular) 01301 { 01302 QCString result((first_capital ? "Член" : "член")); 01303 if (!singular) result+="ы"; 01304 return decode(result); 01305 } 01306 01311 virtual QCString trGlobal(bool first_capital, bool singular) 01312 { 01313 QCString result((first_capital ? "Глобальны" : "глобальны")); 01314 result+=(singular ? "й" : "е"); 01315 return decode(result); 01316 } 01317 01319 // new since 1.2.7 01321 01324 virtual QCString trAuthor(bool first_capital, bool singular) 01325 { 01326 QCString result((first_capital ? "Автор" : "автор")); 01327 if (!singular) result+="ы"; 01328 return decode(result); 01329 } 01330 01332 // new since 1.2.11 01334 01337 virtual QCString trReferences() 01338 { 01339 return decode("Перекрестные ссылки"); 01340 } 01341 01343 // new since 1.2.13 01345 01349 virtual QCString trImplementedFromList(int numEntries) 01350 { 01351 return decode("Замещает ")+trWriteList(numEntries)+"."; 01352 } 01353 01357 virtual QCString trImplementedInList(int numEntries) 01358 { 01359 return decode("Замещается в ")+trWriteList(numEntries)+"."; 01360 } 01361 01363 // new since 1.2.16 01365 01369 virtual QCString trRTFTableOfContents() 01370 { 01371 return decode("Оглавление"); 01372 } 01373 01375 // new since 1.2.17 01377 01381 virtual QCString trDeprecatedList() 01382 { 01383 return decode( "Список устаревших определений и описаний" ); 01384 } 01385 01387 // new since 1.2.18 01389 01393 virtual QCString trEvents() 01394 { 01395 return decode( "События" ); 01396 } 01398 virtual QCString trEventDocumentation() 01399 { 01400 return decode( "Cобытия" ); 01401 } 01402 01404 // new since 1.3 01406 01409 virtual QCString trPackageTypes() 01410 { 01411 return decode( "Типы с областью видимости пакета" ); 01412 } 01416 virtual QCString trPackageMembers() 01417 { 01418 return decode( "Функции с областью видимости пакета" ); 01419 } 01423 virtual QCString trStaticPackageMembers() 01424 { 01425 return decode( "Статические функции с областью видимости пакета" ); 01426 } 01430 virtual QCString trPackageAttribs() 01431 { 01432 return decode( "Переменные с областью видимости пакета" ); 01433 } 01437 virtual QCString trStaticPackageAttribs() 01438 { 01439 return decode( "Статические переменные с областью видимости пакета" ); 01440 } 01441 01443 // new since 1.3.1 01445 01449 virtual QCString trAll() 01450 { 01451 return decode( "Указатель" ); 01452 } 01454 virtual QCString trCallGraph() 01455 { 01456 return decode( "Граф вызовов:" ); 01457 } 01458 01460 // new since 1.3.3 01462 01467 virtual QCString trSearchForIndex() 01468 { 01469 return decode( "Поиск" ); 01470 } 01474 virtual QCString trSearchResultsTitle() 01475 { 01476 return decode( "Результаты поиска" ); 01477 } 01486 virtual QCString trSearchResults(int numDocuments) 01487 { 01488 if (numDocuments==0) 01489 { 01490 return decode( "К сожалению, по Вашему запросу ничего не найдено." ); 01491 } 01492 else if( numDocuments == 1 ) 01493 { 01494 return decode( "Найден 1 документ." ); 01495 } 01496 else 01497 { 01498 return decode( "Найден(о) <b>$num</b> документ(ов). " 01499 "Документы отсортированы по релевантности." ); 01500 } 01501 } 01505 virtual QCString trSearchMatches() 01506 { 01507 return decode( "Найдено:" ); 01508 } 01509 01511 // new since 1.3.8 01513 01516 virtual QCString trSourceFile(QCString& filename) 01517 { 01518 return decode( "Исходный файл " + filename ); 01519 } 01520 01522 // new since 1.3.9 01524 01528 virtual QCString trDirIndex() 01529 { return decode( "Дерево директорий" ); } 01530 01534 virtual QCString trDirDocumentation() 01535 { return decode( "Директории" ); } 01536 01540 virtual QCString trDirectories() 01541 { return decode( "Алфавитный указатель директорий" ); } 01542 01546 virtual QCString trDirDescription() 01547 { return decode( "Дерево директорий" ); } 01548 01552 virtual QCString trDirReference(const char *dirName) 01553 { QCString result=QCString("Содержание директории ")+ dirName; return decode( result ); } 01554 01558 virtual QCString trDir(bool first_capital, bool singular) 01559 { 01560 QCString result((first_capital ? "Директори" : "директори")); 01561 if (singular) result+="я"; else result+="и"; 01562 return decode( result ); 01563 } 01564 01566 // new since 1.4.1 01568 01572 virtual QCString trOverloadText() 01573 { 01574 return decode( "Эта функция перегружена и предоставляется исключительно " 01575 "для удобства использования. Она отличается от вышеупомянутой " 01576 "только фактическими аргументами." ); 01577 } 01578 01580 // new since 1.4.6 01582 01584 virtual QCString trCallerGraph() 01585 { 01586 return decode( "Граф вызова функции:" ); 01587 } 01588 01592 virtual QCString trEnumerationValueDocumentation() 01593 { return decode( "Элементы перечислений" ); } 01594 01595 01596 }; 01597 01598 #endif