/****************************************************************************** * * * * Copyright (C) 1997-2007 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby * granted. No representations are made about the suitability of this software * for any purpose. It is provided "as is" without express or implied warranty. * See the GNU General Public License for more details. * * Documents produced by Doxygen are derivative works derived from the * input used in their production; they are not affected by this license. * * The translation into Ukrainian was provided by * Olexij Tkatchenko (olexij.tkatchenko@parcs.de) */ #ifndef TRANSLATOR_UA_H #define TRANSLATOR_UA_H class TranslatorUkrainian : public TranslatorAdapter_1_4_1 { private: /*! The Decode() inline assumes the source written in the Koi8-U encoding (maintainer dependent). */ inline QCString decode(const QCString & sInput) { //#ifdef _WIN32 // return Koi8RToWindows1251(sInput); //#else return sInput; //#endif } public: /*! Used for identification of the language. */ virtual QCString idLanguage() { return "ukrainian"; } /* Used to get the command(s) for the language support. */ virtual QCString latexLanguageSupportCommand() { //#ifdef _WIN32 // return "\\usepackage[cp1251]{inputenc}\n\\usepackage[ukrainian]{babel}\n"; //#else return "\\usepackage[T2A]{fontenc}\n\\usepackage[ukrainian]{babel}\n"; //#endif } /*! return the language charset. This will be used for the HTML output */ virtual QCString idLanguageCharset() { //#ifdef _WIN32 // return "Windows-1251"; //#else return "koi8-u"; //#endif } // --- Language translation methods ------------------- /*! used in the compound documentation before a list of related functions. */ virtual QCString trRelatedFunctions() { return decode("Спор╕днен╕ фукц╕╖"); } /*! subscript for the related functions. */ virtual QCString trRelatedSubscript() { return decode("(не методи компонент)"); } /*! header that is put before the detailed description of files, classes and namespaces. */ virtual QCString trDetailedDescription() { return decode("Детальний опис"); } /*! header that is put before the list of typedefs. */ virtual QCString trMemberTypedefDocumentation() { return decode("Опис тип╕в користувача"); } /*! header that is put before the list of enumerations. */ virtual QCString trMemberEnumerationDocumentation() { return decode("Опис перел╕к╕в користувача"); } /*! header that is put before the list of member functions. */ virtual QCString trMemberFunctionDocumentation() { return decode("Опис метод╕в компонент"); } /*! header that is put before the list of member attributes. */ virtual QCString trMemberDataDocumentation() { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { return decode( "Поля" ); } else { return decode( "Компонентн╕ дан╕" ); } } /*! this is the text of a link put after brief descriptions. */ virtual QCString trMore() { return decode("Детальн╕ше..."); } /*! put in the class documentation */ /* Dosn't use when optimization for C is on. */ virtual QCString trListOfAllMembers() { return decode( "Список вс╕х елемент╕в" ); } /*! used as the title of the "list of all members" page of a class */ /* Dosn't use when optimization for C is on. */ virtual QCString trMemberList() { return decode( "Cписок елемент╕в" ); } /*! this is the first part of a sentence that is followed by a class name */ /* Dosn't use when optimization for C is on. */ virtual QCString trThisIsTheListOfAllMembers() { return decode("Повний список елемент╕в"); } /*! this is the remainder of the sentence after the class name */ /* Dosn't use when optimization for C is on. */ virtual QCString trIncludingInheritedMembers() { return decode(", включаючи вс╕ успадкован╕ елементи"); } /*! this is put at the author sections at the bottom of man pages. * parameter s is name of the project name. */ virtual QCString trGeneratedAutomatically(const char *s) { QCString result=decode("Автоматично створено за допомогою Doxygen"); if (s) result+=decode(" для ")+s; result+=decode(" з тексту програми."); return result; } /*! put after an enum name in the list of all members */ virtual QCString trEnumName() { return decode("Перел╕к"); } /*! put after an enum value in the list of all members */ virtual QCString trEnumValue() { return decode("Елемент перел╕ку"); } /*! put after an undocumented member in the list of all members */ virtual QCString trDefinedIn() { return decode("визначено в "); } // quick reference sections /*! This is put above each page as a link to the list of all groups of * compounds or files (see the \\group command). */ virtual QCString trModules() { return decode("Програмн╕ модул╕"); } /*! This is put above each page as a link to the class hierarchy */ virtual QCString trClassHierarchy() { return decode("╤╓рарх╕я клас╕в"); } /*! This is put above each page as a link to the list of annotated classes */ virtual QCString trCompoundList() { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { return decode( "Структури даних" ); } else { return decode( "Класи" ); } } /*! This is put above each page as a link to the list of documented files */ virtual QCString trFileList() { return decode("Файли"); } /*! This is put above each page as a link to the list of all verbatim headers */ virtual QCString trHeaderFiles() { return decode("Заголовочн╕ файли"); } /*! This is put above each page as a link to all members of compounds. */ virtual QCString trCompoundMembers() { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { return decode( "Поля структур" ); } else { return decode( "Елементи клас╕в" ); } } /*! This is put above each page as a link to all members of files. */ /*??*/ virtual QCString trFileMembers() { return decode( "Елементи файлу" ); } /*! This is put above each page as a link to all related pages. */ virtual QCString trRelatedPages() /* ?? Вариант перевода "См. также: " более удачный, но не в заголовке, как в данном случае. */ { return decode("Додаткова ╕нформац╕я"); } /*! This is put above each page as a link to all examples. */ virtual QCString trExamples() { return decode("Приклади"); } /*! This is put above each page as a link to the search engine. */ virtual QCString trSearch() { return decode("Пошук"); } /*! This is an introduction to the class hierarchy. */ virtual QCString trClassHierarchyDescription() { return decode("Список успадкувань впорядковано наближено до алфав╕ту"); } /*! This is an introduction to the list with all files. */ virtual QCString trFileListDescription(bool extractAll) { QCString result="Повний список "; if (!extractAll) result+="документованих "; result+="файл╕в."; return decode(result); } /*! This is an introduction to the annotated compound list. */ virtual QCString trCompoundListDescription() { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { return decode( "Структури даних з коротким описом." ); } else { return decode( "Класи, структури, об'╓днання та ╕нтерфейси з коротким описом." ); } } /*! This is an introduction to the page with all class members. */ virtual QCString trCompoundMembersDescription(bool extractAll) { QCString result="Список вс╕х "; if(!extractAll) result+="документоаних "; if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) result+="елемент╕в структур даних з посиланням на "; else result+="елемент╕в клас╕в даних з посиланням на "; if(extractAll) { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) result+="документац╕ю по структур╕/об'╓днанню кожного елементу."; else result+="документац╕ю по класу кожного елементу."; } else { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) result += "в╕дпов╕дн╕ структури"; else result += "в╕дпов╕дн╕ класи"; result+=", до яких вони належать."; } return decode( result ); } /*! This is an introduction to the page with all file members. */ virtual QCString trFileMembersDescription(bool extractAll) { QCString result="Список вс╕х "; if (!extractAll) result+="документованих "; if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { result+="функц╕й, зм╕нних, макроозначень, " "перел╕к╕в ╕ означень тип╕в"; } else { result+="елемент╕в файл╕в "; } result+=" з посиланям на "; if (extractAll) result+="файли, до яких вони належать."; else result+="документац╕ю."; return decode( result ); } /*! This is an introduction to the page with the list of all header files. */ virtual QCString trHeaderFilesDescription() { return decode("Повний список заголовочних файл╕в."); } /*! This is an introduction to the page with the list of all examples */ virtual QCString trExamplesDescription() { return decode("Повний список приклад╕в."); } /*! This is an introduction to the page with the list of related pages */ virtual QCString trRelatedPagesDescription() { return decode("Повний список додаткових опис╕в."); } /*! This is an introduction to the page with the list of class/file groups */ virtual QCString trModulesDescription() { return decode("Повний список модул╕в."); } /*! This sentences is used in the annotated class/file lists if no brief * description is given. */ virtual QCString trNoDescriptionAvailable() { return decode("Опис в╕дсутн╕й"); } // index titles (the project name is prepended for these) /*! This is used in HTML as the title of index.html. */ virtual QCString trDocumentation() { return decode("Документац╕я"); } /*! This is used in LaTeX as the title of the chapter with the * index of all groups. */ virtual QCString trModuleIndex() { return decode("Алфав╕тний покажчик модул╕в"); } /*! This is used in LaTeX as the title of the chapter with the * class hierarchy. */ virtual QCString trHierarchicalIndex() { return decode("╤╓рарх╕чний покажчик клас╕в"); } /*! This is used in LaTeX as the title of the chapter with the * annotated compound index. */ virtual QCString trCompoundIndex() { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { return decode( "Алфав╕тний покажчик структур даних" ); } else { return decode( "Алфав╕тний покажчик клас╕в" ); } } /*! This is used in LaTeX as the title of the chapter with the * list of all files. */ virtual QCString trFileIndex() { return decode( "Покажчик файлв" ); } /*! This is used in LaTeX as the title of the chapter containing * the documentation of all groups. */ virtual QCString trModuleDocumentation() { return decode("Програмн╕ Модул╕"); } /*! This is used in LaTeX as the title of the chapter containing * the documentation of all classes, structs and unions. */ virtual QCString trClassDocumentation() { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { return decode( "Структури даних" ); } else { return decode( "Класи" ); } } /*! This is used in LaTeX as the title of the chapter containing * the documentation of all files. */ virtual QCString trFileDocumentation() { return decode("Файли"); } /*! This is used in LaTeX as the title of the chapter containing * the documentation of all examples. */ virtual QCString trExampleDocumentation() { return decode("Приклади"); } /*! This is used in LaTeX as the title of the chapter containing * the documentation of all related pages. */ virtual QCString trPageDocumentation() { return decode("Документац╕я по тем╕"); } /*! This is used in LaTeX as the title of the document */ virtual QCString trReferenceManual() { return decode("Дов╕дковий пос╕бник"); } /*! This is used in the documentation of a file as a header before the * list of defines */ virtual QCString trDefines() { return decode("Макроозначення"); } /*! This is used in the documentation of a file as a header before the * list of function prototypes */ virtual QCString trFuncProtos() { return decode("Прототипи фукц╕й"); } /*! This is used in the documentation of a file as a header before the * list of typedefs */ virtual QCString trTypedefs() { return decode("Означення тип╕в"); } /*! This is used in the documentation of a file as a header before the * list of enumerations */ virtual QCString trEnumerations() { return decode("Перел╕ки"); } /*! This is used in the documentation of a file as a header before the * list of (global) functions */ virtual QCString trFunctions() { return decode("Функц╕╖"); } /*! This is used in the documentation of a file as a header before the * list of (global) variables */ virtual QCString trVariables() { return decode("Зм╕нн╕"); } /*! This is used in the documentation of a file as a header before the * list of (global) variables */ virtual QCString trEnumerationValues() { return decode("Елементи перел╕к╕в"); } /*! This is used in the documentation of a file before the list of * documentation blocks for defines */ virtual QCString trDefineDocumentation() { return decode("Опис макроозначень"); } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for function prototypes */ virtual QCString trFunctionPrototypeDocumentation() { return decode("Опис прототип╕в функц╕й"); } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for typedefs */ virtual QCString trTypedefDocumentation() { return decode("Опис означень тип╕в"); } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for enumeration types */ virtual QCString trEnumerationTypeDocumentation() { return decode("Опис перел╕к╕в"); } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for enumeration values */ virtual QCString trEnumerationValueDocumentation() { return decode("Опис елемент╕в перел╕ку"); } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for functions */ virtual QCString trFunctionDocumentation() { return decode("Опис функц╕й"); } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for variables */ virtual QCString trVariableDocumentation() { return decode("Опис зм╕нних"); } /*! This is used in the documentation of a file/namespace/group before * the list of links to documented compounds */ virtual QCString trCompounds() { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { return decode( "Структури даних" ); } else { return decode( "Класи" ); } } /*! This is used in the documentation of a group before the list of * links to documented files */ /*! This is used in the standard footer of each page and indicates when * the page was generated */ virtual QCString trGeneratedAt(const char *date,const char *projName) { QCString result=decode("Документац╕я "); if (projName) result+=decode("до ")+projName; result+=decode(" створена ")+date; result+=decode(" системою"); return result; } /*! This is part of the sentence used in the standard footer of each page. */ virtual QCString trWrittenBy() { return decode("Автор:"); } /*! this text is put before a class diagram */ virtual QCString trClassDiagram(const char *clName) { return decode("Схема успадкувань для ")+clName; } /*! this text is generated when the \\internal command is used. */ virtual QCString trForInternalUseOnly() { return decode("Т╕льки для внутр╕шнього користування"); } /*! this text is generated when the \\reimp command is used. */ virtual QCString trReimplementedForInternalReasons() /*??*/ { return decode("Зм╕нено з внутр╕шн╕х причин. Зм╕ни не торкаються API."); } /*! this text is generated when the \\warning command is used. */ virtual QCString trWarning() { return decode("Застереження"); } /*! this text is generated when the \\bug command is used. */ virtual QCString trBugsAndLimitations() { return decode("Помилки та обмеження застосування"); } /*! this text is generated when the \\version command is used. */ virtual QCString trVersion() { return decode("Верс╕я"); } /*! this text is generated when the \\date command is used. */ virtual QCString trDate() { return decode("Дата"); } /*! this text is generated when the \\return command is used. */ virtual QCString trReturns() { return decode("Поверта╓"); } /*! this text is generated when the \\sa command is used. */ virtual QCString trSeeAlso() { return decode("Див. також"); } /*! this text is generated when the \\param command is used. */ virtual QCString trParameters() { return decode("Аргументи"); } /*! this text is generated when the \\exception command is used. */ virtual QCString trExceptions() { return decode("Обробка виняткових ситуац╕й"); } /*! this text is used in the title page of a LaTeX document. */ virtual QCString trGeneratedBy() { return decode("Створено системою"); } ////////////////////////////////////////////////////////////////////////// // new since 0.49-990307 ////////////////////////////////////////////////////////////////////////// /*! used as the title of page containing all the index of all namespaces. */ virtual QCString trNamespaceList() { return decode("Прост╕р ╕мен"); } /*! used as an introduction to the namespace list */ virtual QCString trNamespaceListDescription(bool extractAll) { QCString result="Повний перел╕к "; if (!extractAll) result+="документованих "; result+="простор╕в ╕мен."; return decode(result); } /*! used in the class documentation as a header before the list of all * friends of a class */ virtual QCString trFriends() { return decode("Дружн╕ класи"); } ////////////////////////////////////////////////////////////////////////// // new since 0.49-990405 ////////////////////////////////////////////////////////////////////////// /*! used in the class documentation as a header before the list of all * related classes */ virtual QCString trRelatedFunctionDocumentation() { return decode("Документация до дружн╕х клас╕в та в╕дпов╕дних функц╕й"); } ////////////////////////////////////////////////////////////////////////// // new since 0.49-990425 ////////////////////////////////////////////////////////////////////////// /*! used as the title of the HTML page of a class/struct/union */ virtual QCString trCompoundReference(const char *clName, ClassDef::CompoundType compType, bool isTemplate) { QCString result; if (isTemplate) { result="Шаблон "; switch(compType) { case ClassDef::Class: result+="класу"; break; case ClassDef::Struct: result+="структури"; break; case ClassDef::Union: result+="об'╓днання"; break; case ClassDef::Interface: result+="╕нтерфейсу"; break; case ClassDef::Protocol: result+="протоколу"; break; case ClassDef::Category: result+="категор╕╖"; break; case ClassDef::Exception: result+="Виняток"; break; } } else { switch(compType) { case ClassDef::Class: result+="Клас"; break; case ClassDef::Struct: result+="Структура"; break; case ClassDef::Union: result+="Об'╓днання"; break; case ClassDef::Interface: result+="╤нтерфейс"; break; case ClassDef::Protocol: result+="Протокол"; break; case ClassDef::Category: result+="Категор╕я"; break; case ClassDef::Exception: result+="Виняток"; break; } } result+=" "; return decode(result)+clName; } /*! used as the title of the HTML page of a file */ virtual QCString trFileReference(const char *fileName) { return decode("Файл ")+fileName; } /*! used as the title of the HTML page of a namespace */ virtual QCString trNamespaceReference(const char *namespaceName) { return decode("Прост╕р ╕мен ")+namespaceName; } virtual QCString trPublicMembers() { return decode("Загальнодоступн╕ елементи"); } virtual QCString trPublicSlots() { return decode("Загальнодоступн╕ слоти"); } virtual QCString trSignals() { return decode("Сигнали"); } virtual QCString trStaticPublicMembers() { return decode("Загальнодоступн╕ статичн╕ елементи"); } virtual QCString trProtectedMembers() { return decode("Захищен╕ елементи"); } virtual QCString trProtectedSlots() { return decode("Захищен╕ слоти"); } virtual QCString trStaticProtectedMembers() { return decode("Захищен╕ статичн╕ елементи"); } virtual QCString trPrivateMembers() { return decode("Приватн╕ елементи"); } virtual QCString trPrivateSlots() { return decode("Приватн╕ слоти"); } virtual QCString trStaticPrivateMembers() { return decode("Приватн╕ статичн╕ елементи"); } /*! this function is used to produce a comma-separated list of items. * use generateMarker(i) to indicate where item i should be put. */ virtual QCString trWriteList(int numEntries) { QCString result; int i; // the inherits list contain `numEntries' classes for (i=0;i