summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2010-02-16 21:11:17 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2010-02-16 21:11:17 (GMT)
commit20e951b95073ef5c1b76e9336c6281928e5c5a4d (patch)
tree524eebded0dbf9efbc5b02ab15856f10f914ff99 /doc
parentd5dec476be2805b7b82893dcb5c147473b6740c4 (diff)
downloadDoxygen-20e951b95073ef5c1b76e9336c6281928e5c5a4d.zip
Doxygen-20e951b95073ef5c1b76e9336c6281928e5c5a4d.tar.gz
Doxygen-20e951b95073ef5c1b76e9336c6281928e5c5a4d.tar.bz2
Release-1.6.2-20100216
Diffstat (limited to 'doc')
-rw-r--r--doc/language.doc2
-rw-r--r--doc/translator.py43
-rw-r--r--doc/translator_report.txt72
3 files changed, 108 insertions, 9 deletions
diff --git a/doc/language.doc b/doc/language.doc
index 484f9ee..43f1eaa 100644
--- a/doc/language.doc
+++ b/doc/language.doc
@@ -23,7 +23,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 1.6.1), 38 languages
+Currently (version 1.6.2), 38 languages
are supported (sorted alphabetically):
Afrikaans, Arabic, Brazilian Portuguese, Catalan, Chinese, Chinese
Traditional, Croatian, Czech, Danish, Dutch, English, Esperanto,
diff --git a/doc/translator.py b/doc/translator.py
index 95ee485..409b9ec 100644
--- a/doc/translator.py
+++ b/doc/translator.py
@@ -173,7 +173,7 @@ class Transl:
self.missingMethods = None # list of prototypes to be implemented
self.implementedMethods = None # list of implemented required methods
self.adaptMinClass = None # The newest adapter class that can be used
-
+ self.isDecodedTranslator = None # Flag related to internal usage of UTF-8
def __tokenGenerator(self):
"""Generator that reads the file and yields tokens as 4-tuples.
@@ -1094,6 +1094,13 @@ class Transl:
else:
self.missingMethods.append(p)
+ # Set the least important note first if the translator is decoded.
+ # If yes, then it means that the implementation should be switched
+ # to UTF-8 later (suggestion).
+ self.isDecodedTranslator = self.classId in self.manager.decodedTranslators
+ if self.isDecodedTranslator:
+ self.note = 'Reimplementation using UTF-8 suggested.'
+
# Check whether adapter must be used or suggest the newest one.
# Change the status and set the note accordingly.
if self.baseClassId != 'Translator':
@@ -1277,10 +1284,44 @@ class TrManager:
self.numLang = None # excluding coupled En-based
self.doxVersion = None # Doxygen version
+ # Capture the knowledge about translators that are not implemented
+ # to use UTF-8 internally.
+ self.decodedTranslators = self.getDecodedTranslators()
+
# Build objects where each one is responsible for one translator.
self.__build()
+ def getDecodedTranslators(self):
+ """Parses language.cpp to find what translators do not use UTF-8 yet"""
+ decodedTranslators = []
+
+ # Regular expression to detect the lines like
+ # theTranslator=new TranslatorDecoder(new TranslatorSwedish);
+ rex = re.compile(r'^\s*theTranslator\s*=\s*new\s+.*$')
+
+ # Regular expression to get the (optional) TranslatorDecoder and TranslatorXXX
+ rex2 = re.compile(r'\bTranslator\w+')
+
+ # Parse the lines in the specific source code.
+ f = open(os.path.join(self.src_path, 'language.cpp'), 'rU')
+ for line in f:
+ if rex.match(line):
+ lst = rex2.findall(line)
+ if lst[0] == 'TranslatorDecoder':
+ decodedTranslators.append(lst[1])
+ f.close()
+
+ # Display warning when all translator implementations were converted
+ # to UTF-8.
+ if len(decodedTranslators) == 0:
+ print 'This script should be updated. All translators do use UTF-8'
+ print 'internally. The TranslatorDecoder adapter should be removed'
+ print 'from the code and its usage should not be checked any more.'
+
+ return decodedTranslators
+
+
def __build(self):
"""Find the translator files and build the objects for translators."""
diff --git a/doc/translator_report.txt b/doc/translator_report.txt
index 40ad6d0..08458e4 100644
--- a/doc/translator_report.txt
+++ b/doc/translator_report.txt
@@ -1,4 +1,4 @@
-(1.6.1)
+(1.6.2)
Doxygen supports the following 38 languages (sorted alphabetically):
@@ -19,13 +19,13 @@ alphabetically). This means that they derive from the Translator class
and they implement all 221 of the required methods. Anyway, there
still may be some details listed even for them:
- TranslatorBrazilian
+ TranslatorBrazilian -- Reimplementation using UTF-8 suggested.
TranslatorCzech
TranslatorDutch
TranslatorEnglish
- TranslatorFrench -- The MAX_DOT_GRAPH_HEIGHT found in trLegendDocs()
- TranslatorKorean
- TranslatorPolish -- Remove the obsolete methods (never used).
+ TranslatorFrench -- Reimplementation using UTF-8 suggested.
+ TranslatorKorean -- Reimplementation using UTF-8 suggested.
+ TranslatorPolish -- Reimplementation using UTF-8 suggested.
----------------------------------------------------------------------
The following translator classes need some maintenance (the most
@@ -36,34 +36,80 @@ must be implemented to become up-to-date:
TranslatorVietnamese 1.6.0 5 methods to implement (2 %)
TranslatorTurkish 1.6.0 5 methods to implement (2 %)
TranslatorSwedish 1.6.0 5 methods to implement (2 %)
+ Note: Reimplementation using UTF-8 suggested.
+
TranslatorSpanish 1.6.0 5 methods to implement (2 %)
+ Note: Reimplementation using UTF-8 suggested.
+
TranslatorSerbian 1.6.0 5 methods to implement (2 %)
+ Note: Reimplementation using UTF-8 suggested.
+
TranslatorSerbianCyrilic 1.6.0 5 methods to implement (2 %)
TranslatorRussian 1.6.0 5 methods to implement (2 %)
+ Note: Reimplementation using UTF-8 suggested.
+
TranslatorRomanian 1.6.0 5 methods to implement (2 %)
+ Note: Reimplementation using UTF-8 suggested.
+
TranslatorPersian 1.6.0 5 methods to implement (2 %)
+ Note: Reimplementation using UTF-8 suggested.
+
TranslatorMacedonian 1.6.0 5 methods to implement (2 %)
TranslatorJapanese 1.6.0 5 methods to implement (2 %)
+ Note: Reimplementation using UTF-8 suggested.
+
TranslatorItalian 1.6.0 5 methods to implement (2 %)
TranslatorGerman 1.6.0 5 methods to implement (2 %)
+ Note: Reimplementation using UTF-8 suggested.
+
TranslatorFinnish 1.6.0 5 methods to implement (2 %)
TranslatorEsperanto 1.6.0 5 methods to implement (2 %)
TranslatorCroatian 1.6.0 5 methods to implement (2 %)
+ Note: Reimplementation using UTF-8 suggested.
+
TranslatorChinese 1.6.0 5 methods to implement (2 %)
+ Note: Reimplementation using UTF-8 suggested.
+
TranslatorChinesetraditional 1.6.0 5 methods to implement (2 %)
+ Note: Reimplementation using UTF-8 suggested.
+
TranslatorCatalan 1.6.0 5 methods to implement (2 %)
TranslatorAfrikaans 1.6.0 5 methods to implement (2 %)
+ Note: Reimplementation using UTF-8 suggested.
+
TranslatorGreek 1.5.4 27 methods to implement (12 %)
+ Note: Reimplementation using UTF-8 suggested.
+
TranslatorDanish 1.5.4 27 methods to implement (12 %)
+ Note: Reimplementation using UTF-8 suggested.
+
TranslatorSlovene 1.4.6 29 methods to implement (13 %)
+ Note: Reimplementation using UTF-8 suggested.
+
TranslatorNorwegian 1.4.6 28 methods to implement (12 %)
+ Note: Reimplementation using UTF-8 suggested.
+
TranslatorLithuanian 1.4.6 29 methods to implement (13 %)
+ Note: Reimplementation using UTF-8 suggested.
+
TranslatorIndonesian 1.4.6 28 methods to implement (12 %)
+ Note: Reimplementation using UTF-8 suggested.
+
TranslatorHungarian 1.4.6 29 methods to implement (13 %)
+ Note: Reimplementation using UTF-8 suggested.
+
TranslatorArabic 1.4.6 28 methods to implement (12 %)
+ Note: Reimplementation using UTF-8 suggested.
+
TranslatorUkrainian 1.4.1 29 methods to implement (13 %)
+ Note: Reimplementation using UTF-8 suggested.
+
TranslatorPortuguese 1.3.3 40 methods to implement (18 %)
+ Note: Reimplementation using UTF-8 suggested.
+
TranslatorSlovak 1.2.18 49 methods to implement (22 %)
+ Note: Reimplementation using UTF-8 suggested.
+
----------------------------------------------------------------------
The following translator classes derive directly from the
@@ -71,8 +117,8 @@ TranslatorEnglish. The class identifier has the suffix 'En' that says
that this is intentional. Usually, there is also a non-English based
version of the translator for the language:
- TranslatorJapaneseEn implements 5 methods
- TranslatorKoreanEn implements 5 methods
+ TranslatorJapaneseEn implements 5 methods -- Reimplementation using UTF-8 suggested.
+ TranslatorKoreanEn implements 5 methods -- Reimplementation using UTF-8 suggested.
======================================================================
WARNING: The following translator methods are declared in the
@@ -154,6 +200,12 @@ TranslatorArabic (TranslatorAdapter_1_4_6) 28 methods to implement (12 %)
virtual QCString trNoDescriptionAvailable()
+TranslatorBrazilian (Translator)
+-------------------
+
+ Implements 221 of the required methods (100 %).
+
+
TranslatorCatalan (TranslatorAdapter_1_6_0) 5 methods to implement (2 %)
-----------------
@@ -483,6 +535,12 @@ TranslatorJapaneseEn (TranslatorEnglish) 216 methods to implement (97 %)
virtual QCString latexLanguageSupportCommand()
+TranslatorKorean (Translator)
+----------------
+
+ Implements 221 of the required methods (100 %).
+
+
TranslatorKoreanEn (TranslatorEnglish) 216 methods to implement (97 %)
------------------