/****************************************************************************** * * * * 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. * */ #ifndef TRANSLATOR_SR_H #define TRANSLATOR_SR_H // translation by Dejan D. M. Milosavljevic ;; // // 10x 2 Ivana Miletic for grammatical consultation. // UTF-8 patch by Nenad Bulatovic // translation update by Andrija M. Bosnjakovic class TranslatorSerbian : public Translator { private: QCString decode(const QCString& sInput) { //#ifdef _WIN32 // return ISO88592ToWin1250(sInput); //#else return sInput; //#endif } public: // --- Language control methods ------------------- /*! Used for identification of the language. The identification * should not be translated. It should be replaced by the name * of the language in English using lower-case characters only * (e.g. "czech", "japanese", "russian", etc.). It should be equal to * the identification used in language.cpp. */ virtual QCString idLanguage() { return "serbian"; } /*! Used to get the LaTeX command(s) for the language support. * This method should return string with commands that switch * LaTeX to the desired language. For example *
"\\usepackage[german]{babel}\n"
     *  
* or *
"\\usepackage{polski}\n"
     *  "\\usepackage[latin2]{inputenc}\n"
     *  "\\usepackage[T1]{fontenc}\n"
     *  
* * The English LaTeX does not use such commands. Because of this * the empty string is returned in this implementation. */ virtual QCString latexLanguageSupportCommand() { QCString result="\\usepackage[serbian]{babel}\n"; return result; } /*! return the language charset. This will be used for the HTML output */ virtual QCString idLanguageCharset() { //#ifdef _WIN32 // { return "windows-1250"; } //#else { return "UTF-8"; } //#endif } // --- Language translation methods ------------------- /*! used in the compound documentation before a list of related functions. */ virtual QCString trRelatedFunctions() //! Čini se da je ovako manje loše nego "Povezane funkcije", //! što uopšte ne izgleda dobro jer ta kartica sadrži prijatelje i globalne funkcije { return decode( "Relevantne funkcije" ); } /*! subscript for the related functions. */ virtual QCString trRelatedSubscript() { return decode( "(To nisu funkcije članice.)" ); } /*! header that is put before the detailed description of files, classes and namespaces. */ virtual QCString trDetailedDescription() { return decode( "Opširniji opis" ); } /*! header that is put before the list of typedefs. */ virtual QCString trMemberTypedefDocumentation() { return decode( "Dokumentacija unutrašnjih definicija tipa" ); } /*! header that is put before the list of enumerations. */ virtual QCString trMemberEnumerationDocumentation() //! Ovo je u skladu sa "unutrašnja klasa" što se može videti u knjizi. { return decode( "Dokumentacija unutrašnjih nabrajanja" ); } /*! header that is put before the list of member functions. */ virtual QCString trMemberFunctionDocumentation() { return decode( "Dokumentacija funkcija članica" ); } /*! header that is put before the list of member attributes. */ virtual QCString trMemberDataDocumentation() { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { return decode( "Dokumentacija polja" ); } else { return decode( "Dokumentacija atributa" ); } } /*! this is the text of a link put after brief descriptions. */ virtual QCString trMore() { return decode( "Još..." ); } /*! put in the class documentation */ virtual QCString trListOfAllMembers() { return decode( "Spisak svih članova." ); } /*! used as the title of the "list of all members" page of a class */ virtual QCString trMemberList() { return decode( "Spisak članova" ); } /*! this is the first part of a sentence that is followed by a class name */ virtual QCString trThisIsTheListOfAllMembers() { return decode( "Ovo je spisak svih članova " ); } /*! this is the remainder of the sentence after the class name */ virtual QCString trIncludingInheritedMembers() { return decode( ", uključujući nasleđene članove." ); } /*! 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="Napravljeno automatski korišćenjem alata Doxygen"; if( s ) result+=(QCString)" za projekat " + s; result+=" od izvornog koda."; return decode( result ); } /*! put after an enum name in the list of all members */ virtual QCString trEnumName() { return decode( "ime nabrajanja " ); } /*! put after an enum value in the list of all members */ virtual QCString trEnumValue() { return decode( "vrednost nabrojane konstante" ); } /*! put after an undocumented member in the list of all members */ virtual QCString trDefinedIn() { return decode( "definicija u" ); } // 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( "Moduli" ); } /*! This is put above each page as a link to the class hierarchy */ virtual QCString trClassHierarchy() { return decode( "Hijerarhija klasa" ); } /*! 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( "Spisak struktura" ); } else { return decode( "Spisak klasa" ); } } /*! This is put above each page as a link to the list of documented files */ virtual QCString trFileList() { return decode( "Spisak datoteka" ); } /*! 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( "Sva polja struktura" ); } else { return decode( "Svi članovi klasa" ); } } /*! This is put above each page as a link to all members of files. */ virtual QCString trFileMembers() { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { return decode( "Članovi datoteke" ); } else { return decode( "Članovi datoteke" ); } } /*! This is put above each page as a link to all related pages. */ virtual QCString trRelatedPages() { return decode( "Stranice koje imaju veze sa ovom stranicom" ); } /*! This is put above each page as a link to all examples. */ virtual QCString trExamples() { return decode( "Primeri" ); } /*! This is put above each page as a link to the search engine. */ virtual QCString trSearch() { return decode( "Traži" ); } /*! This is an introduction to the class hierarchy. */ virtual QCString trClassHierarchyDescription() { return decode( "Hijerahija klasa uređena približno " "po abecedi:" ); } /*! This is an introduction to the list with all files. */ virtual QCString trFileListDescription(bool extractAll) { QCString result="Spisak svih "; if (!extractAll) result+="dokumentovanih "; result+="datoteka, sa kratkim opisima:"; return decode( result ); } /*! This is an introduction to the annotated compound list. */ virtual QCString trCompoundListDescription() { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { return decode( "Spisak struktura sa kratkim opisima:" ); } else { return decode( "Spisak klasa, struktura, " "unija i interfejsa sa kratkim opisima:" ); } } /*! This is an introduction to the page with all class members. */ virtual QCString trCompoundMembersDescription(bool extractAll) { QCString result="Spisak svih "; if (!extractAll) { result+="dokumentovanih "; } if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { result+="članova struktura/unija"; } else { result+="članova klasa"; } result+=" sa vezama ka "; if (extractAll) { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { result+="dokumentaciji svakog polja strukture/unije:"; } else { result+="dokumentaciji svakog člana klase:"; } } else { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { result+="strukturama/unijama kojima pripadaju:"; } else { result+="klasama kojima pripadaju:"; } } return decode( result ); } /*! This is an introduction to the page with all file members. */ virtual QCString trFileMembersDescription(bool extractAll) { QCString result="Spisak svih "; if (!extractAll) result+="dokumentovanih "; if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { result+="funkcija, promenljivih, makro zamena, nabrajanja i definicija tipa"; } else { result+="članova"; } result+=" sa vezama ka "; if (extractAll) result+="datotekama u kojima se nalaze:"; else result+="dokumentaciji:"; return decode( result ); } /*! This is an introduction to the page with the list of all examples */ virtual QCString trExamplesDescription() { return decode( "Spisak svih primera:" ); } /*! This is an introduction to the page with the list of related pages */ virtual QCString trRelatedPagesDescription() { return decode( "Spisak stranica koje imaju veze sa ovom stranicom:" ); } /*! This is an introduction to the page with the list of class/file groups */ virtual QCString trModulesDescription() { return decode( "Spisak svih modula:" ); } // 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("Dokumentacija" ); } /*! This is used in LaTeX as the title of the chapter with the * index of all groups. */ virtual QCString trModuleIndex() { return decode( "Indeks modula" ); } /*! This is used in LaTeX as the title of the chapter with the * class hierarchy. */ virtual QCString trHierarchicalIndex() { return decode( "Hijerarhijski sadržaj" ); } /*! 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( "Spisak struktura/unija" ); } else { return decode( "Spisak klasa" ); } } /*! This is used in LaTeX as the title of the chapter with the * list of all files. */ virtual QCString trFileIndex() { return decode( "Indeks datoteka" ); } /*! This is used in LaTeX as the title of the chapter containing * the documentation of all groups. */ virtual QCString trModuleDocumentation() { return decode( "Dokumentacija modula" ); } /*! 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( "Dokumentacija stuktura/unija" ); } else { return decode( "Dokumentacija klasa" ); } } /*! This is used in LaTeX as the title of the chapter containing * the documentation of all files. */ virtual QCString trFileDocumentation() { return decode( "Dokumentacija datoteke" ); } /*! This is used in LaTeX as the title of the chapter containing * the documentation of all examples. */ virtual QCString trExampleDocumentation() { return decode( "Dokumentacija primera" ); } /*! This is used in LaTeX as the title of the chapter containing * the documentation of all related pages. */ virtual QCString trPageDocumentation() { return decode( "Dokumentacija stranice" ); } /*! This is used in LaTeX as the title of the document */ virtual QCString trReferenceManual() { return decode( "Priručnik" ); } /*! This is used in the documentation of a file as a header before the * list of defines */ virtual QCString trDefines() { return decode( "Makro zamene" ); } /*! This is used in the documentation of a file as a header before the * list of function prototypes */ virtual QCString trFuncProtos() { return decode( "Deklaracije funkcija" ); } /*! This is used in the documentation of a file as a header before the * list of typedefs */ virtual QCString trTypedefs() { return decode( "Definicije tipa" ); } /*! This is used in the documentation of a file as a header before the * list of enumerations */ virtual QCString trEnumerations() { return decode( "Nabrajanja" ); } /*! This is used in the documentation of a file as a header before the * list of (global) functions */ virtual QCString trFunctions() { return decode( "Funkcije" ); } /*! This is used in the documentation of a file as a header before the * list of (global) variables */ virtual QCString trVariables() { return decode( "Promenljive" ); } /*! This is used in the documentation of a file as a header before the * list of (global) variables */ virtual QCString trEnumerationValues() { return decode( "Vrednosti nabrojanih konstanti" ); } /*! This is used in the documentation of a file before the list of * documentation blocks for defines */ virtual QCString trDefineDocumentation() { return decode( "Dokumentacija makro zamene" ); } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for function prototypes */ virtual QCString trFunctionPrototypeDocumentation() { return decode( "Dokumentacija deklaracije funkcije" ); } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for typedefs */ virtual QCString trTypedefDocumentation() { return decode( "Dokumentacija definicije tipa" ); } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for enumeration types */ virtual QCString trEnumerationTypeDocumentation() { return decode( "Dokumentacija nabrajanja" ); } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for functions */ virtual QCString trFunctionDocumentation() { return decode( "Dokumentacija funkcije" ); } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for variables */ virtual QCString trVariableDocumentation() { return decode( "Dokumentacija promenljive" ); } /*! 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( "Strukture i unije" ); } else { return decode( "Klase, strukture i unije" ); } } /*! 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=(QCString)"[" + date + "] Napravljeno automatski "; if ( projName ) result+=(QCString)" za projekat " + projName; result+=(QCString)" upotrebom "; return decode( result ); } /*! This is part of the sentence used in the standard footer of each page. */ virtual QCString trWrittenBy() { return decode( "napisao" ); } /*! this text is put before a class diagram */ virtual QCString trClassDiagram(const char *clName) { return decode( QCString("Dijagram nasleđivanja za klasu ") + clName + ":" ); } /*! this text is generated when the \\internal command is used. */ virtual QCString trForInternalUseOnly() { return decode( "Samo za unutrašnju upotrebu." ); } /*! this text is generated when the \\warning command is used. */ virtual QCString trWarning() { return decode( "Upozorenje" ); } /*! this text is generated when the \\version command is used. */ virtual QCString trVersion() { return decode( "Verzija" ); } /*! this text is generated when the \\date command is used. */ virtual QCString trDate() { return decode( "Datum" ); } /*! this text is generated when the \\return command is used. */ virtual QCString trReturns() { return decode( "Vrednost funkcije" ); } /*! this text is generated when the \\sa command is used. */ virtual QCString trSeeAlso() { return decode( "Takođe pogledati" ); } /*! this text is generated when the \\param command is used. */ virtual QCString trParameters() { return decode( "Parametri" ); } /*! this text is generated when the \\exception command is used. */ virtual QCString trExceptions() { return decode( "Izuzeci" ); } /*! this text is used in the title page of a LaTeX document. */ virtual QCString trGeneratedBy() { return decode( "Napravio" ); } ////////////////////////////////////////////////////////////////////////// // new since 0.49-990307 ////////////////////////////////////////////////////////////////////////// /*! used as the title of page containing all the index of all namespaces. */ virtual QCString trNamespaceList() { return decode( "Spisak prostora imena" ); } /*! used as an introduction to the namespace list */ virtual QCString trNamespaceListDescription(bool extractAll) { QCString result="Spisak svih "; if (!extractAll) result+="dokumentovanih "; result+="prostora imena sa kratkim opisom:"; 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( "Prijatelji" ); } ////////////////////////////////////////////////////////////////////////// // 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( "Dokumentacija prijatelja i relevantnih funkcija" ); } ////////////////////////////////////////////////////////////////////////// // 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( "Dokumentacija " ); switch(compType) { case ClassDef::Class: result+="klase "; break; case ClassDef::Struct: result+="strukture "; break; case ClassDef::Union: result+="unije "; break; case ClassDef::Interface: result+="interfejsa "; break; case ClassDef::Protocol: result+="protokola "; break; case ClassDef::Category: result+="kategorije "; break; case ClassDef::Exception: result+="izuzetka "; break; } if (isTemplate) result += "šablona "; result += clName; return decode( result ); } /*! used as the title of the HTML page of a file */ virtual QCString trFileReference(const char *fileName) { QCString result = "Opis datoteke "; result += fileName; return decode( result ); } /*! used as the title of the HTML page of a namespace */ virtual QCString trNamespaceReference(const char *namespaceName) { QCString result="Opis prostora imena "; result += namespaceName; return decode( result ); } virtual QCString trPublicMembers() { return decode("Javni članovi"); } virtual QCString trPublicSlots() { return decode( "Javni slotovi" ); } virtual QCString trSignals() { return decode( "Signali" ); } virtual QCString trStaticPublicMembers() { return decode("Zajednički javni članovi"); } virtual QCString trProtectedMembers() { return decode("Zaštićeni članovi"); } virtual QCString trProtectedSlots() { return decode("Zaštićeni slotovi"); } virtual QCString trStaticProtectedMembers() { return decode("Zajednički zaštićeni članovi"); } virtual QCString trPrivateMembers() { return decode("Privatni članovi"); } virtual QCString trPrivateSlots() { return decode("Privatni slotovi"); } virtual QCString trStaticPrivateMembers() { return decode("Zajednički privatni članovi"); } /*! 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