Commit a82ce326 authored by Dimitri van Heesch's avatar Dimitri van Heesch

Merge pull request #28 from pepr/master

French and Russian translators updated
parents d65f3313 ffdd1bf7
......@@ -73,6 +73,9 @@
/doc/Makefile
/doc/translator_report.txt
/doxygen_docs
/doxygen.tag
/examples/*/html
/html
/latex
......@@ -3,13 +3,13 @@ ATTENTION! This is the template for generating language.doc. If you want to
change the language.doc, make the changes here and inside maintainers.txt.
/******************************************************************************
* %(editnote)s
* %(editnote)s
*
* Copyright (C) 1997-2013 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
* 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.
*
......@@ -26,7 +26,7 @@ text fragments, generated by doxygen, can be produced in languages other
than English (the default). The output language is chosen through the
configuration file (with default name and known as Doxyfile).
Currently (version %(doxVersion)s), %(numLangStr)s languages
Currently (version %(doxVersion)s), %(numLangStr)s languages
are supported (sorted alphabetically):
%(supportedLangReadableStr)s.
......@@ -38,10 +38,10 @@ when the translator was updated.
%(informationTable)s
Most people on the list have indicated that they were also busy
doing other things, so if you want to help to speed things up please
doing other things, so if you want to help to speed things up please
let them (or me) know.
If you want to add support for a language that is not yet listed
If you want to add support for a language that is not yet listed
please read the next section.
......@@ -52,12 +52,12 @@ This short HOWTO explains how to add support for the new language to Doxygen:
Just follow these steps:
<ol>
<li>Tell me for which language you want to add support. If no one else
is already working on support for that language, you will be
assigned as the maintainer for the language.
<li>Create a copy of translator_en.h and name it
is already working on support for that language, you will be
assigned as the maintainer for the language.
<li>Create a copy of translator_en.h and name it
translator_\<your_2_letter_country_code\>.h
I'll use xx in the rest of this document.
<li>Add definition of the symbol for your language in the configure
<li>Add definition of the symbol for your language in the configure
at two places in the script:
<ol>
<li>After the <code>f_langs=</code> is statement, in lower case.
......@@ -66,7 +66,7 @@ at two places in the script:
The rerun the configure script such that is generates src/lang_cfg.h.
This file should now contain a \#define for your language code.
<li>Edit language.cpp:
Add a
Add a
\verbatim
#ifdef LANG_xx
#include<translator_xx.h>
......@@ -83,31 +83,31 @@ This file should now contain a \#define for your language code.
{
theTranslator = new TranslatorYourLanguage;
}
#endif
#endif
\endverbatim
after the <code>if { ... }</code>. I.e., it must be placed after the code
for creating the English translator at the beginning, and before the
<code>else { ... }</code> part that creates the translator for the
for creating the English translator at the beginning, and before the
<code>else { ... }</code> part that creates the translator for the
default language (English again).
<li>Edit libdoxygen.pro.in and add \c translator_xx.h to
<li>Edit libdoxygen.pro.in and add \c translator_xx.h to
the \c HEADERS line.
<li>Edit <code>translator_xx.h</code>:
<ul>
<li>Rename <code>TRANSLATOR_EN_H</code> to <code>TRANSLATOR_XX_H</code>
twice (i.e. in the \c \#ifndef and \c \#define preprocessor commands at
<li>Rename <code>TRANSLATOR_EN_H</code> to <code>TRANSLATOR_XX_H</code>
twice (i.e. in the \c \#ifndef and \c \#define preprocessor commands at
the beginning of the file).
<li>Rename TranslatorEnglish to TranslatorYourLanguage
<li>In the member <code>idLanguage()</code> change "english" into the
<li>Rename TranslatorEnglish to TranslatorYourLanguage
<li>In the member <code>idLanguage()</code> change "english" into the
name of your language (use lower case characters only). Depending
on the language you may also wish to change the member functions
on the language you may also wish to change the member functions
latexLanguageSupportCommand(), idLanguageCharset() and others
(you will recognize them when you start the work).
<li>Edit all the strings that are returned by the member functions that
start with tr.
<li>Edit all the strings that are returned by the member functions that
start with tr.
Try to match punctuation and capitals!
To enter special characters (with accents) you can:
<ul>
<li> Enter them directly if your keyboard supports that and you are
<li> Enter them directly if your keyboard supports that and you are
using a Latin-1 font. Doxygen will translate the
characters to proper \f$\mbox{\LaTeX}\f$ and leave the
HTML and man output for what it is (which is fine, if
......@@ -116,9 +116,9 @@ This file should now contain a \#define for your language code.
See the HTML specification for the codes.
</ul>
</ul>
<li>Run configure and make again from the root of the distribution,
<li>Run configure and make again from the root of the distribution,
in order to regenerated the Makefiles.
<li>Now you can use <code>OUTPUT_LANGUAGE = your_language_name</code>
<li>Now you can use <code>OUTPUT_LANGUAGE = your_language_name</code>
in the config file to generate output in your language.
<li>Send <code>translator_xx.h</code> to me so I can add it to doxygen.
Send also your name and e-mail address to be included in the
......@@ -138,7 +138,7 @@ until all language maintainers have translated the new sentences and
sent the results would not be very practical. The following text
describes the usage of translator adapters to solve the problem.
<b>The role of Translator Adapters.</b>
<b>The role of Translator Adapters.</b>
Whenever the \c Translator class interface changes in the new
release, the new class \c TranslatorAdapter_x_y_z is added to the \c
translator_adapter.h file (here x, y, and z are numbers that
......@@ -154,7 +154,7 @@ TranslatorAdapter_x_y_z class may use the obsolete method to get the
result which is as close as possible to the older result in the
target language. If it is not possible, the result (the default
translation) is obtained using the English translator, which is (by
definition) always up-to-date.
definition) always up-to-date.
<b>For example,</b> when the new \c trFile() method with
parameters (to determine the capitalization of the first letter and
......@@ -184,7 +184,7 @@ of the translator adapter classes:
The \c trFiles() is not present in the \c TranslatorEnglish class,
because it was removed as obsolete. However, it was used until now
and its call was replaced by
and its call was replaced by
\verbatim
trFile(true, false)
......@@ -250,15 +250,15 @@ translator adapter classes.
<b>To simplify the maintenance of the language translator classes</b>
for the supported languages, the \c translator.py Python
script was developed (located in \c doxygen/doc directory).
script was developed (located in \c doxygen/doc directory).
It extracts the important information about obsolete and
new methods from the source files for each of the languages.
new methods from the source files for each of the languages.
The information is stored in the translator report ASCII file
(\c %(translatorReportFileName)s).
(\c %(translatorReportFileName)s).
\htmlonly If you compiled this documentation
from sources and if you have also doxygen sources available the
link %(translatorReportLink)s should be valid.\endhtmlonly
link %(translatorReportLink)s should be valid.\endhtmlonly
Looking at the base class of the language translator, the script
guesses also the status of the translator -- see the last column of
......@@ -281,7 +281,7 @@ expected, you can always decide use some suitable translator adapter to
finish the changes later and still make your translator working.
<b>The most radical way of updating the language translator</b> is
to make your translator class derive directly
to make your translator class derive directly
from the abstract class \c Translator and provide translations for the
methods that are required to be implemented -- the compiler will
tell you if you forgot to implement some of them. If you are in
......@@ -294,7 +294,7 @@ because the adapter classes do implement also the obsolete methods
In other words, the up-to-date language translators do not need the
\c TranslatorAdapter_x_y_z classes at all, and you do not need to
implement anything else than the methods required by the Translator
class (i.e. the pure virtual methods of the \c Translator -- they
class (i.e. the pure virtual methods of the \c Translator -- they
end with <code>=0;</code>).
If everything compiles fine, try to run \c translator.py, and have a
......@@ -329,7 +329,7 @@ report shorter (also produced faster) -- it will contain only the
information related to your translator. Once you reach the state when
the base class should be changed to some newer adapter, you will see
the note in the translator report.
Warning: Don't forget to compile Doxygen to discover, whether it is
compilable. The \c translator.py does not check if everything is
correct with respect to the compiler. Because of that, it may lie
......@@ -344,7 +344,7 @@ When doing so, all the missing methods will be replaced by the
English translation. This means that not-implemented methods will
always return the English result. Such translators are marked using
word \c obsolete. You should read it <b>really obsolete</b>. No
guess about the last update can be done.
guess about the last update can be done.
Often, it is possible to construct better result from the obsolete
methods. Because of that, the translator adapter classes should be
......
......@@ -127,6 +127,7 @@ Ionut Dumitrascu: reddumy at yahoo dot com
Alexandru Iosup: aiosup at yahoo dot com
TranslatorRussian
Brilliantov Kirill Vladimirovich: brilliantov at byterg dot ru
Alexandr Chelpanov: cav at cryptopro dot ru
TranslatorSerbian
......
......@@ -1076,9 +1076,8 @@ class TranslatorFrench : public Translator
" Used *m_usedClass;\n"
"};\n"
"\\endcode\n"
"Si la valeur 240 est attribuée au tag \\c MAX_DOT_GRAPH_HEIGHT "
"du fichier de configuration, cela génèrera le graphe suivant :"
"<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"Cela aboutira au graphe suivant :"
"<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center></p>\n"
"<p>\n"
"Les rectangles du graphe ci-dessus ont la signification suivante :\n"
"<ul>\n"
......@@ -1870,7 +1869,7 @@ class TranslatorFrench : public Translator
static const char *days[] = { "Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi","Dimanche" };
static const char *months[] = { "Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre" };
QCString sdate;
sdate.sprintf("%s %s %d %d",days[dayOfWeek-1],months[month-1],day,year);
sdate.sprintf("%s %d %s %d",days[dayOfWeek-1],day,months[month-1],year);
if (includeTime)
{
QCString stime;
......@@ -1903,37 +1902,37 @@ class TranslatorFrench : public Translator
/*! Detail level selector shown for hierarchical indices */
virtual QCString trDetailLevel()
{ return "detail level"; }
{ return "Niveau de détails"; }
/*! Section header for list of template parameters */
virtual QCString trTemplateParameters()
{ return "Template Parameters"; }
{ return "Paramètres du template"; }
/*! Used in dot graph when UML_LOOK is enabled and there are many fields */
virtual QCString trAndMore(const QCString &number)
{ return "and "+number+" more..."; }
{ return "et "+number+" de plus..."; }
/*! Used file list for a Java enum */
virtual QCString trEnumGeneratedFromFiles(bool single)
{ QCString result = "The documentation for this enum was generated from the following file";
if (!single) result += "s";
result+=":";
{ QCString result = "La documentation pour cette énumération a été générée à partir ";
if (!single) result += "du fichier suivant"; else result += "des fichiers suivants";
result+=" :";
return result;
}
/*! Header of a Java enum page (Java enums are represented as classes). */
virtual QCString trEnumReference(const char *name)
{ return QCString(name)+" Enum Reference"; }
{ return QCString(name)+" Référence de l'énumération"; }
/*! Used for a section containing inherited members */
virtual QCString trInheritedFrom(const char *members,const char *what)
{ return QCString(members)+" inherited from "+what; }
{ return QCString(members)+" hérités de "+what; }
/*! Header of the sections with inherited members specific for the
* base class(es)
*/
virtual QCString trAdditionalInheritedMembers()
{ return "Additional Inherited Members"; }
{ return "Membres hérités additionnels"; }
//////////////////////////////////////////////////////////////////////////
// new since 1.8.2
......@@ -1945,8 +1944,8 @@ class TranslatorFrench : public Translator
*/
virtual QCString trPanelSynchronisationTooltip(bool enable)
{
QCString opt = enable ? "enable" : "disable";
return "click to "+opt+" panel synchronisation";
QCString opt = enable ? "activer" : "désactiver";
return "cliquez pour "+opt+" la synchronisation du panel";
}
/*! Used in a method of an Objective-C class that is declared in a
......@@ -1955,7 +1954,7 @@ class TranslatorFrench : public Translator
*/
virtual QCString trProvidedByCategory()
{
return "Provided by category @1.";
return "Déclarée dans la catégorie @1.";
}
/*! Used in a method of an Objective-C category that extends a class.
......@@ -1964,7 +1963,7 @@ class TranslatorFrench : public Translator
*/
virtual QCString trExtendsClass()
{
return "Extends class @1.";
return "Dérive la classe @1.";
}
/*! Used as the header of a list of class methods in Objective-C.
......@@ -1972,7 +1971,7 @@ class TranslatorFrench : public Translator
*/
virtual QCString trClassMethods()
{
return "Class Methods";
return "Méthodes de classe";
}
/*! Used as the header of a list of instance methods in Objective-C.
......@@ -1980,14 +1979,14 @@ class TranslatorFrench : public Translator
*/
virtual QCString trInstanceMethods()
{
return "Instance Methods";
return "Méthodes d'instance";
}
/*! Used as the header of the member functions of an Objective-C class.
*/
virtual QCString trMethodDocumentation()
{
return "Method Documentation";
return "Documentation des méthodes";
}
/*! Used as the title of the design overview picture created for the
......@@ -1995,7 +1994,7 @@ class TranslatorFrench : public Translator
*/
virtual QCString trDesignOverview()
{
return "Design Overview";
return "Vue d'ensemble";
}
//////////////////////////////////////////////////////////////////////////
......@@ -2004,53 +2003,53 @@ class TranslatorFrench : public Translator
/** old style UNO IDL services: implemented interfaces */
virtual QCString trInterfaces()
{ return "Exported Interfaces"; }
{ return "Interfaces exportées"; }
/** old style UNO IDL services: inherited services */
virtual QCString trServices()
{ return "Included Services"; }
{ return "Services inclus"; }
/** UNO IDL constant groups */
virtual QCString trConstantGroups()
{ return "Constant Groups"; }
{ return "Groupes constants"; }
/** UNO IDL constant groups */
virtual QCString trConstantGroupReference(const char *namespaceName)
{
QCString result=namespaceName;
result+=" Constant Group Reference";
QCString result="Référence du groupe constant ";
result+=namespaceName;
return result;
}
/** UNO IDL service page title */
virtual QCString trServiceReference(const char *sName)
{
QCString result=(QCString)sName;
result+=" Service Reference";
QCString result="Référence du service ";
result+=(QCString)sName;
return result;
}
/** UNO IDL singleton page title */
virtual QCString trSingletonReference(const char *sName)
{
QCString result=(QCString)sName;
result+=" Singleton Reference";
QCString result="Référence du singleton ";
result+=(QCString)sName;
return result;
}
/** UNO IDL service page */
virtual QCString trServiceGeneratedFromFiles(bool single)
{
// single is true implies a single file
QCString result=(QCString)"The documentation for this service "
"was generated from the following file";
if (single) result+=":"; else result+="s:";
QCString result=(QCString)"La documentation pour ce service "
"a été générée par ";
if (single) result+="le fichier suivant :"; else result+="les fichiers suivants :";
return result;
}
/** UNO IDL singleton page */
virtual QCString trSingletonGeneratedFromFiles(bool single)
{
// single is true implies a single file
QCString result=(QCString)"The documentation for this singleton "
"was generated from the following file";
if (single) result+=":"; else result+="s:";
QCString result=(QCString)"La documentation pour ce singleton "
"a été générée par ";
if (single) result+="le fichier suivant :"; else result+="les fichiers suivants :";
return result;
}
......@@ -2058,4 +2057,4 @@ class TranslatorFrench : public Translator
};
#endif
#endif
\ No newline at end of file
......@@ -26,7 +26,7 @@
#ifndef TRANSLATOR_RU_H
#define TRANSLATOR_RU_H
class TranslatorRussian : public TranslatorAdapter_1_7_5
class TranslatorRussian : public Translator
{
public:
/*! Used for identification of the language. */
......@@ -1794,6 +1794,181 @@ class TranslatorRussian : public TranslatorAdapter_1_7_5
}
return sdate;
}
///////////////////////////////////////////////////////////////////////
// new since 1.7.5
///////////////////////////////////////////////////////////////////////
/*! Header for the page with bibliographic citations */
virtual QCString trCiteReferences()
{ return "Библиографические ссылки"; }
/*! Text for copyright paragraph */
virtual QCString trCopyright()
{ return "Авторство"; }
/*! Header for the graph showing the directory dependencies */
virtual QCString trDirDepGraph(const char *name)
{ return QCString("Директория графа зависимостей ")+name+":"; }
///////////////////////////////////////////////////////////////////////
// new since 1.8.0
///////////////////////////////////////////////////////////////////////
/*! Detail level selector shown for hierarchical indices */
virtual QCString trDetailLevel()
{ return "уровень детализации"; }
/*! Section header for list of template parameters */
virtual QCString trTemplateParameters()
{ return "Параметры шаблона"; }
/*! Used in dot graph when UML_LOOK is enabled and there are many fields */
virtual QCString trAndMore(const QCString &number)
{ return "и "+number+" больше..."; }
/*! Used file list for a Java enum */
virtual QCString trEnumGeneratedFromFiles(bool single)
{ QCString result = "Документация для этого перечисления сгенерерирована из файл";
if (!single) result += "ов";
result+="а:";
return result;
}
/*! Header of a Java enum page (Java enums are represented as classes). */
virtual QCString trEnumReference(const char *name)
{ return QCString(name)+" Ссылки на перечисление"; }
/*! Used for a section containing inherited members */
virtual QCString trInheritedFrom(const char *members,const char *what)
{ return QCString(members)+" унаследованные от "+what; }
/*! Header of the sections with inherited members specific for the
* base class(es)
*/
virtual QCString trAdditionalInheritedMembers()
{ return "Дополнительные унаследованные члены"; }
///////////////////////////////////////////////////////////////////////
// new since 1.8.2
///////////////////////////////////////////////////////////////////////
/*! Used as a tooltip for the toggle button that appears in the
* navigation tree in the HTML output when GENERATE_TREEVIEW is
* enabled. This tooltip explains the meaning of the button.
*/
virtual QCString trPanelSynchronisationTooltip(bool enable)
{
QCString opt = enable ? "включить" : "выключить";
return "нажмите на "+opt+" для синхронизации панелей";
}
/*! Used in a method of an Objective-C class that is declared in a
* a category. Note that the @1 marker is required and is replaced
* by a link.
*/
virtual QCString trProvidedByCategory()
{
return "По группам @1.";
}
/*! Used in a method of an Objective-C category that extends a class.
* Note that the @1 marker is required and is replaced by a link to
* the class method.
*/
virtual QCString trExtendsClass()
{
return "Расширяет класс @1.";
}
/*! Used as the header of a list of class methods in Objective-C.
* These are similar to static public member functions in C++.
*/
virtual QCString trClassMethods()
{
return "Методы класса";
}
/*! Used as the header of a list of instance methods in Objective-C.
* These are similar to public member functions in C++.
*/
virtual QCString trInstanceMethods()
{
return "Методы экземпляра";
}
/*! Used as the header of the member functions of an Objective-C class.
*/
virtual QCString trMethodDocumentation()
{
return "Документация метода";
}
/*! Used as the title of the design overview picture created for the
* VHDL output.
*/
virtual QCString trDesignOverview()
{
return "Обзор дизайна";
}
///////////////////////////////////////////////////////////////////////
// new since 1.8.4
///////////////////////////////////////////////////////////////////////
/** old style UNO IDL services: implemented interfaces */
virtual QCString trInterfaces()
{ return "Экспортируемые интерфейсы"; }
/** old style UNO IDL services: inherited services */
virtual QCString trServices()
{ return "Включённые сервисы"; }
/** UNO IDL constant groups */
virtual QCString trConstantGroups()
{ return "Постоянные группы"; }
/** UNO IDL constant groups */
virtual QCString trConstantGroupReference(const char *namespaceName)
{
QCString result=namespaceName;
result+=" Ссылка на постоянную группу";
return result;
}
/** UNO IDL service page title */
virtual QCString trServiceReference(const char *sName)
{
QCString result=(QCString)sName;
result+=" Ссылка на сервис";
return result;
}
/** UNO IDL singleton page title */
virtual QCString trSingletonReference(const char *sName)
{
QCString result=(QCString)sName;
result+=" Ссылка на одиночку";
return result;
}
/** UNO IDL service page */
virtual QCString trServiceGeneratedFromFiles(bool single)
{
// single is true implies a single file
QCString result=(QCString)"Документация для этого сервиса "
"сгенерированна из следующего файл";
if (single) result+="а:"; else result+="ов:";
return result;
}
/** UNO IDL singleton page */
virtual QCString trSingletonGeneratedFromFiles(bool single)
{
// single is true implies a single file
QCString result=(QCString)"Документация по этому одиночке "
"сгенерированна из следующего файл";
if (single) result+="а:"; else result+="ов:";
return result;
}
///////////////////////////////////////////////////////////////////////
};
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment