From bc681c7440c7bfe30236bf5a36a82e4390462c9d Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Wed, 4 Sep 2013 09:49:28 +0200 Subject: Regenerated language.doc --- doc/language.doc | 81 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 41 insertions(+), 40 deletions(-) diff --git a/doc/language.doc b/doc/language.doc index 570bf4c..2e04667 100644 --- a/doc/language.doc +++ b/doc/language.doc @@ -1,11 +1,11 @@ /****************************************************************************** - * Do not edit this file. It was generated by the translator.py script. + * Do not edit this file. It was generated by the translator.py script. * * 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. * @@ -22,7 +22,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.8.4), 40 languages +Currently (version 1.8.5), 40 languages are supported (sorted alphabetically): Afrikaans, Arabic, Armenian, Brazilian Portuguese, Catalan, Chinese, Chinese Traditional, Croatian, Czech, Danish, Dutch, English, @@ -245,9 +245,9 @@ when the translator was updated. Russian - Alexandr Chelpanov - cav at cryptopro dot ru - 1.7.5 + Brilliantov Kirill Vladimirovich
Alexandr Chelpanov + brilliantov at byterg dot ru
cav at cryptopro dot ru + up-to-date Serbian @@ -406,7 +406,8 @@ when the translator was updated. Romanian & Ionut Dumitrascu & {\tt\tiny reddumy at yahoo dot com} & up-to-date \\ ~ & Alexandru Iosup & {\tt\tiny aiosup at yahoo dot com} & ~ \\ \hline - Russian & Alexandr Chelpanov & {\tt\tiny cav at cryptopro dot ru} & 1.7.5 \\ + Russian & Brilliantov Kirill Vladimirovich & {\tt\tiny brilliantov at byterg dot ru} & up-to-date \\ + ~ & Alexandr Chelpanov & {\tt\tiny cav at cryptopro dot ru} & ~ \\ \hline Serbian & Dejan Milosavljevic & {\tt\tiny [unreachable] dmilos at email dot com} & 1.6.0 \\ \hline @@ -436,10 +437,10 @@ when the translator was updated. 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. @@ -450,12 +451,12 @@ This short HOWTO explains how to add support for the new language to Doxygen: Just follow these steps:
  1. 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. -
  2. 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. +
  3. Create a copy of translator_en.h and name it translator_\.h I'll use xx in the rest of this document. -
  4. Add definition of the symbol for your language in the configure +
  5. Add definition of the symbol for your language in the configure at two places in the script:
    1. After the f_langs= is statement, in lower case. @@ -464,7 +465,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.
    2. Edit language.cpp: - Add a + Add a \verbatim #ifdef LANG_xx #include @@ -481,31 +482,31 @@ This file should now contain a \#define for your language code. { theTranslator = new TranslatorYourLanguage; } -#endif +#endif \endverbatim after the if { ... }. I.e., it must be placed after the code - for creating the English translator at the beginning, and before the - else { ... } part that creates the translator for the + for creating the English translator at the beginning, and before the + else { ... } part that creates the translator for the default language (English again). -
    3. Edit libdoxygen.pro.in and add \c translator_xx.h to +
    4. Edit libdoxygen.pro.in and add \c translator_xx.h to the \c HEADERS line.
    5. Edit translator_xx.h:
        -
      • Rename TRANSLATOR_EN_H to TRANSLATOR_XX_H - twice (i.e. in the \c \#ifndef and \c \#define preprocessor commands at +
      • Rename TRANSLATOR_EN_H to TRANSLATOR_XX_H + twice (i.e. in the \c \#ifndef and \c \#define preprocessor commands at the beginning of the file). -
      • Rename TranslatorEnglish to TranslatorYourLanguage -
      • In the member idLanguage() change "english" into the +
      • Rename TranslatorEnglish to TranslatorYourLanguage +
      • In the member idLanguage() 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). -
      • Edit all the strings that are returned by the member functions that - start with tr. +
      • 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:
          -
        • Enter them directly if your keyboard supports that and you are +
        • 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 @@ -514,9 +515,9 @@ This file should now contain a \#define for your language code. See the HTML specification for the codes.
      -
    6. Run configure and make again from the root of the distribution, +
    7. Run configure and make again from the root of the distribution, in order to regenerated the Makefiles. -
    8. Now you can use OUTPUT_LANGUAGE = your_language_name +
    9. Now you can use OUTPUT_LANGUAGE = your_language_name in the config file to generate output in your language.
    10. Send translator_xx.h to me so I can add it to doxygen. Send also your name and e-mail address to be included in the @@ -536,7 +537,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. -The role of Translator Adapters. +The role of Translator Adapters. 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 @@ -552,7 +553,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. For example, when the new \c trFile() method with parameters (to determine the capitalization of the first letter and @@ -582,7 +583,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) @@ -648,16 +649,16 @@ translator adapter classes. To simplify the maintenance of the language translator classes 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 translator_report.txt). +(\c translator_report.txt). \htmlonly If you compiled this documentation from sources and if you have also doxygen sources available the link doxygen/doc/translator_report.txt should be valid.\endhtmlonly +>doxygen/doc/translator_report.txt 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 @@ -680,7 +681,7 @@ expected, you can always decide use some suitable translator adapter to finish the changes later and still make your translator working. The most radical way of updating the language translator 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 @@ -693,7 +694,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 =0;). If everything compiles fine, try to run \c translator.py, and have a @@ -728,7 +729,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 @@ -743,7 +744,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 really obsolete. 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 -- cgit v0.12 From 7a1b7e7716e8e33ef45470be48843b98dd972299 Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Wed, 4 Sep 2013 09:53:55 +0200 Subject: Bug 707353 - Accept IDs using unicode(non ASCII) characters in python codes --- src/pycode.l | 4 ++-- src/pyscanner.l | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pycode.l b/src/pycode.l index 36d8d35..176cbdd 100644 --- a/src/pycode.l +++ b/src/pycode.l @@ -860,8 +860,8 @@ B [ \t]* NEWLINE \n DIGIT [0-9] -LETTER [A-Za-z] -NONEMPTY [A-Za-z0-9_] +LETTER [A-Za-z\x80-\xFF] +NONEMPTY [A-Za-z0-9_\x80-\xFF] EXPCHAR [#(){}\[\],:.%/\\=`*~|&<>!;+-] NONEMPTYEXP [^ \t\n:] PARAMNONEMPTY [^ \t\n():] diff --git a/src/pyscanner.l b/src/pyscanner.l index 69523d2..3bcfda3 100644 --- a/src/pyscanner.l +++ b/src/pyscanner.l @@ -461,8 +461,8 @@ OCTNUMBER "0"[0-7]+[lL]? NUMBER {DIGIT}+[lLjJ]? INTNUMBER {HEXNUMBER}|{OCTNUMBER}|{NUMBER} FLOATNUMBER {DIGIT}+"."{DIGIT}+([eE][+\-]?{DIGIT}+)?[jJ]? -LETTER [A-Za-z] -NONEMPTY [A-Za-z0-9_] +LETTER [A-Za-z\x80-\xFF] +NONEMPTY [A-Za-z0-9_\x80-\xFF] EXPCHAR [#(){}\[\],:.%/\\=`*~|&<>!;+-] NONEMPTYEXP [^ \t\n:] PARAMNONEMPTY [^ \t\n():] -- cgit v0.12 From a2faaf45bf92eabf436f5c92408ff00fa88fd4c9 Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Wed, 4 Sep 2013 11:21:16 +0200 Subject: Bug 707431 - Cannot @ref or @link C++ operator overloads --- src/doctokenizer.l | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/doctokenizer.l b/src/doctokenizer.l index 3c924cf..52e30ac 100644 --- a/src/doctokenizer.l +++ b/src/doctokenizer.l @@ -386,7 +386,7 @@ HTMLKEYU "STRONG"|"CENTER"|"TABLE"|"CAPTION"|"SMALL"|"CODE"|"DFN"|"VAR"|"IMG"|" HTMLKEYW {HTMLKEYL}|{HTMLKEYU} REFWORD2 ("#"|"::")?((({ID}{TEMPLPART}?)|{ANONNS})("."|"#"|"::"|"-"|"/"))*({ID}{TEMPLPART}?(":")?){FUNCARG}? REFWORD3 ({ID}":")*{ID}":"? -REFWORD {LABELID}|{REFWORD2}|{REFWORD3} +REFWORD {LABELID}|{REFWORD2}|{REFWORD3}|{LNKWORD2} %option noyywrap %option yylineno -- cgit v0.12 From 64ebc4f67d56b93f512c1ed935f1d9188cfbf554 Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Wed, 4 Sep 2013 16:52:33 +0200 Subject: Bug 707102 - update the Japanese translation --- doc/maintainers.txt | 3 +- src/translator_jp.h | 943 ++++++++++++++++++++++++++++++++++------------------ 2 files changed, 623 insertions(+), 323 deletions(-) diff --git a/doc/maintainers.txt b/doc/maintainers.txt index 3016290..f954c20 100644 --- a/doc/maintainers.txt +++ b/doc/maintainers.txt @@ -85,9 +85,10 @@ Alessandro Falappa: alessandro at falappa dot net Ahmed Aldo Faisal: aaf23 at cam dot ac dot uk TranslatorJapanese +Suzumizaki-Kimikata: (search 鈴見咲君高) Hiroki Iseri: goyoki at gmail dot com Ryunosuke Satoh: sun594 at hotmail dot com -Kenji Nagamatsu: naga at joyful dot club dot ne dot jp +Kenji Nagamatsu: [unreachable] naga at joyful dot club dot ne dot jp Iwasa Kazmi: [unreachable] iwasa at cosmo-system dot jp TranslatorKorean diff --git a/src/translator_jp.h b/src/translator_jp.h index 22b9cd7..febf353 100644 --- a/src/translator_jp.h +++ b/src/translator_jp.h @@ -22,17 +22,54 @@ * First Translation * by Kenji Nagamatsu * 1.2.12) - * Update and Shift-Jis(_WIN32) + * Update and Shift-Jis(_WIN32) -> converted UTF-8 at version 1.8.5 * by Ryunosuke Sato (30-Dec-2001) * 1.5.8) * Translation for 1.5.8. * by Hiroki Iseri (18-Feb-2009) + * 1.8.5) + * Translation Added for 1.8.4 and revised + * by Suzumizaki-Kimitaka (30-Aug-2013) */ - +/* +Messages for translators written in Japanese: +1.8.5 への追加にあたって過去の翻訳者三名への連絡を試みたところ、 +井芹さん(Hiroki Iseri)さんからメールのお返事をいただけました。 +その際教えていただいた過去の経緯によりますと当時連絡可能だった方々は +揃って従来訳から改変追加して構わない旨を表明されていたとのことです。 +Doxygen の開発の方でもそれはそれでいーんじゃん?みたいな感じだったようで。 + +井芹さんも同様の見解で、私(鈴見咲=Suzumizaki-Kimitaka)も +今後この翻訳に関わり続けられるかは非常に怪しいところですので +将来の追加訳・既存訳改良は臆することなく進めていってよいのでは +ないかと思います。無論作業の衝突があるのは不経済ですので現在進行形で +活発に更新している方がいないかの簡単な確認(MLとかGitとか)をやるのも +いいでしょうし、それでも偶然衝突したら不運を諦めて相互に調整しましょう。 + +当面なさそうですが訳語の選択で喧嘩になることもあるかもしれません。 +そのときは gettext を利用するようなパッチを作って doxygen の開発に +適用を求めるのが一番ではないかなと思います。 + +1.6.0以前の既存の訳についても多少弄りました。 +特に structure を構造体ではなく構成としていたのはあんまりでしたので。 +ほか、C++ での利用前提で改変したところもありますが、それが他の言語で +問題のようでしたらお手数掛けて申し訳ないですが相応に再修正しちゃって +構いません。 + +その際 doc/maintainers.txt を修正してから python doc/translator.py を +実行する点にご注意下さい。私のところに search 鈴見咲君高 と書いたのは +同姓同名がまず考えられないというのが大前提ですのでこちらもご注意。 + +"詳解"の語が厳しすぎると思う向きはありましょうが、その程度には書けと。 +明記されてないけど使われてる動作や戻り値が想定内なのか想定外なのか +わからんのはメンテで困るじゃないですか。 + +(2013-08-30, 鈴見咲君高) +*/ #ifndef TRANSLATOR_JP_H #define TRANSLATOR_JP_H -class TranslatorJapanese : public TranslatorAdapter_1_6_0 +class TranslatorJapanese : public Translator { public: virtual QCString idLanguage() @@ -45,57 +82,57 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 /*! used in the compound documentation before a list of related functions. */ virtual QCString trRelatedFunctions() - { return "関連する関数"; } + { return "関連関数"; } /*! subscript for the related functions. */ virtual QCString trRelatedSubscript() - { return "(これらはメソッドでないことに注意)"; } + { return "(これらはメソッドではありません)"; } /*! header that is put before the detailed description of files, classes and namespaces. */ virtual QCString trDetailedDescription() - { return "説明"; } + { return "詳解"; } /*! header that is put before the list of typedefs. */ virtual QCString trMemberTypedefDocumentation() - { return "型定義"; } + { return "型定義メンバ詳解"; } /*! header that is put before the list of enumerations. */ virtual QCString trMemberEnumerationDocumentation() - { return "列挙型"; } + { return "列挙型メンバ詳解"; } /*! header that is put before the list of member functions. */ virtual QCString trMemberFunctionDocumentation() { - if( Config_getBool("OPTIMIZE_OUTPUT_JAVA")) - { - return "メソッド"; - } - else - { - return "関数"; - } - } + if( Config_getBool("OPTIMIZE_OUTPUT_JAVA")) + { + return "メソッド詳解"; + } + else + { + return "関数詳解"; + } + } /*! header that is put before the list of member attributes. */ virtual QCString trMemberDataDocumentation() { if( Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - { - return "構造体"; - } + { + return "フィールド詳解"; + } else - { - return "変数"; - } + { + return "メンバ詳解"; + } } /*! this is the text of a link put after brief descriptions. */ - virtual QCString trMore() - { return "[詳細]"; } + virtual QCString trMore() + { return "[詳解]"; } /*! put in the class documentation */ virtual QCString trListOfAllMembers() - { return "すべてのメンバ一覧"; } + { return "全メンバ一覧"; } /*! used as the title of the "list of all members" page of a class */ virtual QCString trMemberList() @@ -103,33 +140,35 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 /*! this is the first part of a sentence that is followed by a class name */ virtual QCString trThisIsTheListOfAllMembers() - { return "これは全メンバの一覧です。"; } + { return "継承メンバを含む "; } + /* trIncludingInheritedMembers に続くように定義すること */ /*! this is the remainder of the sentence after the class name */ virtual QCString trIncludingInheritedMembers() - { return "継承メンバも含んでいます。"; } + { return " の全メンバ一覧です。"; } + /* trThisIsTheListOfAllMembers から続くように定義すること */ /*! 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; - if (s) result=(QCString)s+"の"; - result+="ソースから Doxygen により生成しました。"; + { QCString result = "Doxygen により"; + if (s) result=(QCString)" "+s+"の"; + result+="ソースコードから抽出しました。"; return result; } /*! put after an enum name in the list of all members */ virtual QCString trEnumName() - { return "Enum"; } + { return "列挙名"; } /*! put after an enum value in the list of all members */ virtual QCString trEnumValue() - { return "Enum 値"; } + { return "列挙値"; } /*! put after an undocumented member in the list of all members */ virtual QCString trDefinedIn() - { return "次で定義されています。"; } + { return "定義場所: "; } // quick reference sections @@ -147,55 +186,51 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 virtual QCString trCompoundList() { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - { - return "データ構造"; - } + { + return "データ構造"; + } else - { - return "構成"; - } + { + return "クラス一覧"; + } } /*! This is put above each page as a link to the list of documented files */ virtual QCString trFileList() { return "ファイル一覧"; } - /*! This is put above each page as a link to the list of all verbatim headers */ - virtual QCString trHeaderFiles() - { return "ヘッダファイル"; } - /*! 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 "データフィールド"; - } + { + return "データフィールド"; + } else - { - return "構成メンバ"; - } + { + return "クラスメンバ"; + } } /*! 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 "グローバル"; - } + { + return "大域各種"; + } else - { - return "ファイルメンバ"; - } + { + return "ファイルメンバ"; + } } /*! This is put above each page as a link to all related pages. */ virtual QCString trRelatedPages() - { return "関連ページ"; } + { return "諸情報"; } /*! This is put above each page as a link to all examples. */ virtual QCString trExamples() - { return "例"; } + { return "各種例"; } /*! This is put above each page as a link to the search engine. */ virtual QCString trSearch() @@ -203,93 +238,127 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 /*! This is an introduction to the class hierarchy. */ virtual QCString trClassHierarchyDescription() - { return "この継承一覧はおおまかにはソートされていますが、" - "完全にアルファベット順でソートされてはいません。"; + { + return "クラス階層一覧です。大雑把に文字符号順で並べられています。"; } /*! This is an introduction to the list with all files. */ - virtual QCString trFileListDescription(bool /*extractAll*/) + virtual QCString trFileListDescription(bool extractAll) { - QCString result="これは"; - result+="ファイル一覧です。"; - return result; + /* 概要がついているのは見ればわかるので省略 */ + /* extractAll こと EXTRACT_ALL はすべての詳解が存在することを + 実際の有無を度外視してユーザーが保証する設定なので + 詳解がなければこの関数が返す文字列は当然に矛盾を起こす。 + */ + if (extractAll) + { + return "ファイル一覧です。"; + } + return "詳解が付けられているファイルの一覧です。"; } + /*! This is an introduction to the annotated compound list. */ virtual QCString trCompoundListDescription() { + /* 概要がついているのは見ればわかるので省略 */ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - { - return "データ構造の説明です。"; - } + { + return "データ構造一覧です。"; + } else - { - return "クラス、構造体、共用体、インタフェースの説明です。"; - } + { + return "クラス・構造体・共用体・インターフェースの一覧です。"; + } } /*! This is an introduction to the page with all class members. */ virtual QCString trCompoundMembersDescription(bool extractAll) { - QCString result="これは"; - if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - { - result+="フィールドの一覧でそれぞれ"; - if (extractAll) result+="が属している構造体/共用体"; - } + const bool forC = Config_getBool("OPTIMIZE_OUTPUT_FOR_C"); + QCString result; + if (forC) + { + result = "構造体・共用体の"; + } + if (extractAll) + { + result += "全"; + } + else + { + result += "詳解あり"; + } + if (forC) + { + result += "フィールド"; + } + else + { + result += "クラスメンバ"; + } + if (!extractAll && !forC) + { + result += "の"; + } + result += "一覧です。"; + if (!extractAll) + { + if (forC) + { + result+="各フィールド詳解"; + } + else + { + result+="各クラスメンバ詳解"; + } + } else - { - result+="クラスメンバの一覧で、それぞれ"; - if (extractAll) result+="が属しているクラス"; - } - result+="の説明へリンクしています。"; + { + if (forC) + { + result+="各フィールドが属する構造体・共用体"; + } + else + { + result+="各メンバが属するクラス"; + } + } + result += "へのリンクがあります。"; return result; } /*! This is an introduction to the page with all file members. */ virtual QCString trFileMembersDescription(bool /*extractAll*/) { - QCString result="これは"; + QCString result; if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - { - result+="関数、変数、マクロ、Enum、Typedef の"; - } + { + result+="関数・変数・マクロ・列挙・型定義"; + } else - { - result+="ファイルメンバの"; - } - result+="一覧です。それぞれが属しているファイルの説明へリンクしています。"; + { + result+="ファイル直下のメンバ"; + } + result+="一覧です。各々詳解があればそこへリンクしています。"; return result; } - /*! This is an introduction to the page with the list of all header files. */ - virtual QCString trHeaderFilesDescription() - { return "APIを構成するヘッダファイルです。"; } - /*! This is an introduction to the page with the list of all examples */ virtual QCString trExamplesDescription() - { return "すべての例の一覧です。"; } + { return "各種例の一覧です。"; } /*! This is an introduction to the page with the list of related pages */ virtual QCString trRelatedPagesDescription() - { return "関連ページの一覧です。"; } + { return "諸情報の一覧です。"; } /*! This is an introduction to the page with the list of class/file groups */ virtual QCString trModulesDescription() - { return "すべてのモジュールの一覧です。"; } - - /*! This sentences is used in the annotated class/file lists if no brief - * description is given. - */ - virtual QCString trNoDescriptionAvailable() - { return "ドキュメントが記述されていません。"; } - - // index titles (the project name is prepended for these) - + { return "全モジュールの一覧です。"; } /*! This is used in HTML as the title of index.html. */ virtual QCString trDocumentation() - { return "ドキュメント"; } + { return "詳解"; } /*! This is used in LaTeX as the title of the chapter with the * index of all groups. @@ -309,13 +378,13 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 virtual QCString trCompoundIndex() { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - { - return "データ構造索引"; - } + { + return "データ構造索引"; + } else - { - return "構成索引"; - } + { + return "クラス索引"; + } } /*! This is used in LaTeX as the title of the chapter with the @@ -328,7 +397,7 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 * the documentation of all groups. */ virtual QCString trModuleDocumentation() - { return "モジュール"; } + { return "モジュール詳解"; } /*! This is used in LaTeX as the title of the chapter containing * the documentation of all classes, structs and unions. @@ -336,32 +405,32 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 virtual QCString trClassDocumentation() { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - { - return "データ構造"; - } + { + return "データ構造詳解"; + } else - { - return "クラス"; - } + { + return "クラス詳解"; + } } /*! This is used in LaTeX as the title of the chapter containing * the documentation of all files. */ virtual QCString trFileDocumentation() - { return "ファイル"; } + { return "ファイル詳解"; } /*! This is used in LaTeX as the title of the chapter containing * the documentation of all examples. */ virtual QCString trExampleDocumentation() - { return "例"; } + { return "各例詳解"; } /*! This is used in LaTeX as the title of the chapter containing * the documentation of all related pages. */ virtual QCString trPageDocumentation() - { return "ページ"; } + { return "ページ詳解"; } /*! This is used in LaTeX as the title of the document */ virtual QCString trReferenceManual() @@ -401,36 +470,36 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 * list of (global) variables */ virtual QCString trEnumerationValues() - { return "列挙型の値"; } + { return "列挙値"; } /*! This is used in the documentation of a file before the list of * documentation blocks for defines */ virtual QCString trDefineDocumentation() - { return "マクロ定義"; } + { return "マクロ定義詳解"; } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for typedefs */ virtual QCString trTypedefDocumentation() - { return "型定義"; } + { return "型定義詳解"; } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for enumeration types */ virtual QCString trEnumerationTypeDocumentation() - { return "列挙型"; } + { return "列挙型詳解"; } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for functions */ virtual QCString trFunctionDocumentation() - { return "関数"; } + { return "関数詳解"; } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for variables */ virtual QCString trVariableDocumentation() - { return "変数"; } + { return "変数詳解"; } /*! This is used in the documentation of a file/namespace/group before * the list of links to documented compounds @@ -438,48 +507,39 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 virtual QCString trCompounds() { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - { - return "データ構造"; - } + { + return "データ構造"; + } else - { - return "構成"; - } + { + return "クラス"; + } } /*! 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; - if (projName) result+=(QCString)projName+"に対して"; - result+=(QCString)date+"に生成されました。"; + QCString result = (QCString)date+"作成"; + if (projName) result+=(QCString)" - " + projName; + result+=" / 構成: "; return result; } /*! this text is put before a class diagram */ virtual QCString trClassDiagram(const char *clName) { - return (QCString)clName+"に対する継承グラフ"; + return (QCString)clName+" の継承関係図"; } /*! this text is generated when the \\internal command is used. */ virtual QCString trForInternalUseOnly() - { return "内部使用のみ。"; } - - /*! this text is generated when the \\reimp command is used. */ - virtual QCString trReimplementedForInternalReasons() - { return "内部的な理由により再実装されましたが、APIには影響しません。"; - } + { return "内部処理用です。"; } /*! this text is generated when the \\warning command is used. */ virtual QCString trWarning() { return "警告"; } - /*! this text is generated when the \\bug command is used. */ - virtual QCString trBugsAndLimitations() - { return "バグと制限"; } - /*! this text is generated when the \\version command is used. */ virtual QCString trVersion() { return "バージョン"; } @@ -506,7 +566,7 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 /*! this text is used in the title page of a LaTeX document. */ virtual QCString trGeneratedBy() - { return "作成:"; } + { return "構築:"; } ////////////////////////////////////////////////////////////////////////// // new since 0.49-990307 @@ -514,12 +574,16 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 /*! used as the title of page containing all the index of all namespaces. */ virtual QCString trNamespaceList() - { return "ネームスペース一覧"; } + { return "名前空間一覧"; } /*! used as an introduction to the namespace list */ - virtual QCString trNamespaceListDescription(bool /*extractAll*/) + virtual QCString trNamespaceListDescription(bool extractAll) { - return "ネームスペースの一覧です。"; + if (extractAll) + { + return "全名前空間の一覧です。"; + } + return "詳解が付いた名前空間の一覧です。"; } /*! used in the class documentation as a header before the list of all @@ -536,7 +600,7 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 * related classes */ virtual QCString trRelatedFunctionDocumentation() - { return "フレンドと関連する関数"; } + { return "フレンドと関連関数の詳解"; } ////////////////////////////////////////////////////////////////////////// // new since 0.49-990425 @@ -547,58 +611,57 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 ClassDef::CompoundType compType, bool isTemplate) { - QCString result=""; + QCString result=(QCString)clName+" "; 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; + 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; default: break; } - if (isTemplate) result+="テンプレート "; - result+=(QCString)clName; + if (isTemplate) result+="テンプレート"; return result; } /*! used as the title of the HTML page of a file */ virtual QCString trFileReference(const char *fileName) { - QCString result=""+(QCString)fileName; + QCString result=(QCString)fileName+" ファイル"; return result; } /*! used as the title of the HTML page of a namespace */ virtual QCString trNamespaceReference(const char *namespaceName) { - QCString result="ネームスペース "+(QCString)namespaceName; + QCString result=(QCString)namespaceName+" 名前空間"; return result; } /* these are for the member sections of a class, struct or union */ virtual QCString trPublicMembers() - { return "Public メソッド"; } + { return "公開メンバ関数"; } virtual QCString trPublicSlots() - { return "Public スロット"; } + { return "公開スロット"; } virtual QCString trSignals() { return "シグナル"; } virtual QCString trStaticPublicMembers() - { return "Static Public メソッド"; } + { return "静的公開メンバ関数"; } virtual QCString trProtectedMembers() - { return "Protected メソッド"; } + { return "限定公開メンバ関数"; } virtual QCString trProtectedSlots() - { return "Protected スロット"; } + { return "限定公開スロット"; } virtual QCString trStaticProtectedMembers() - { return "Static Protected メソッド"; } + { return "静的限定公開メンバ関数"; } virtual QCString trPrivateMembers() - { return "Private メソッド"; } + { return "非公開メンバ関数"; } virtual QCString trPrivateSlots() - { return "Private スロット"; } + { return "非公開スロット"; } virtual QCString trStaticPrivateMembers() - { return "Static Private メソッド"; } + { return "静的非公開メンバ関数"; } /*! this function is used to produce a comma-separated list of items. * use generateMarker(i) to indicate where item i should be put. @@ -616,12 +679,15 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 if (i!=numEntries-1) // not the last entry, so we need a separator { - if (i 60 ) + { + QCString countStr; + countStr.sprintf(" (計%d項目)", numEntries); + result += countStr; + } return result; } @@ -646,7 +712,7 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 */ virtual QCString trReimplementedFromList(int numEntries) { - return trWriteList(numEntries)+"を再定義しています。"; + return trWriteList(numEntries)+"を再実装しています。"; } /*! used in member documentation blocks to produce a list of @@ -654,22 +720,26 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 */ virtual QCString trReimplementedInList(int numEntries) { - return trWriteList(numEntries)+"で再定義されています。"; + return trWriteList(numEntries)+"で再実装されています。"; } /*! This is put above each page as a link to all members of namespaces. */ virtual QCString trNamespaceMembers() - { return "ネームスペースメンバ"; } + { return "名前空間メンバ"; } /*! This is an introduction to the page with all namespace members */ virtual QCString trNamespaceMemberDescription(bool extractAll) { - QCString result="これは"; - result+="ネームスペースの一覧です。それぞれ"; + QCString result="これは"; + result+="名前空間の一覧です。それぞれ"; if (extractAll) - result+="のネームスペース"; + { + result+="の名前空間"; + } else - result+="が属しているネームスペース"; + { + result+="が属している名前空間"; + } result+="へリンクしています。"; return result; } @@ -677,13 +747,13 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 * index of all namespaces. */ virtual QCString trNamespaceIndex() - { return "ネームスペース索引"; } + { return "名前空間索引"; } /*! This is used in LaTeX as the title of the chapter containing * the documentation of all namespaces. */ virtual QCString trNamespaceDocumentation() - { return "ネームスペース"; } + { return "名前空間詳解"; } ////////////////////////////////////////////////////////////////////////// // new since 0.49-990522 @@ -693,7 +763,7 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 * namespaces in a file. */ virtual QCString trNamespaces() - { return "ネームスペース"; } + { return "名前空間"; } ////////////////////////////////////////////////////////////////////////// // new since 0.49-990728 @@ -703,7 +773,7 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 * followed by a list of files that were used to generate the page. */ virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType, - bool) + bool /*single*/) { // here s is one of " Class", " Struct" or " Union" // single is true implies a single file QCString result=(QCString)"この"; @@ -718,7 +788,7 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 case ClassDef::Exception: result+="例外"; break; default: break; } - result+="の説明は次のファイルから生成されました:"; + result+="詳解は次のファイルから抽出されました:"; return result; } @@ -733,7 +803,7 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 /*! This is in the (quick) index as a link to the main page (index.html) */ virtual QCString trMainPage() - { return "メインページ"; } + { return "総合概要"; } /*! This is used in references to page that are put in the LaTeX * documentation. It should be an abbreviation of the word page. @@ -745,17 +815,13 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 // new since 0.49-991003 ////////////////////////////////////////////////////////////////////////// - virtual QCString trSources() - { - return "ソース"; - } virtual QCString trDefinedAtLineInSourceFile() { - return " @1 の @0 行で定義されています。"; + return " @1 の @0 行目に定義があります。"; } virtual QCString trDefinedInSourceFile() { - return " @0 で定義されています。"; + return " @0 に定義があります。"; } ////////////////////////////////////////////////////////////////////////// @@ -766,35 +832,31 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 { return "非推奨"; } - -////////////////////////////////////////////////////////////////////////// -// new since 1.1.0 -////////////////////////////////////////////////////////////////////////// - + /*! this text is put before a collaboration diagram */ virtual QCString trCollaborationDiagram(const char *clName) { - return (QCString)clName+"のコラボレーション図"; + return (QCString)clName+" 連携図"; } /*! this text is put before an include dependency graph */ virtual QCString trInclDepGraph(const char *fName) { - return (QCString)fName+"のインクルード依存関係図"; + return (QCString)fName+" の依存先関係図:"; } /*! header that is put before the list of constructor/destructors. */ virtual QCString trConstructorDocumentation() { - return "コンストラクタとデストラクタ"; + return "構築子と解体子"; } /*! Used in the file documentation to point to the corresponding sources. */ virtual QCString trGotoSourceCode() { - return "ソースコードを見る。"; + return "[ソースコード]"; } /*! Used in the file sources to point to the corresponding documentation. */ virtual QCString trGotoDocumentation() { - return "説明を見る。"; + return "[詳解]"; } /*! Text for the \\pre command */ virtual QCString trPrecondition() @@ -827,17 +889,16 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 } virtual QCString trGotoGraphicalHierarchy() { - return "クラス階層図を見る。"; + return "[クラス階層図]"; } virtual QCString trGotoTextualHierarchy() { - return "クラス階層図を見る。"; + return "[クラス階層表]"; } virtual QCString trPageIndex() { return "ページ索引"; } - ////////////////////////////////////////////////////////////////////////// // new since 1.1.0 ////////////////////////////////////////////////////////////////////////// @@ -848,46 +909,46 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 } virtual QCString trPublicTypes() { - return "Public 型"; + return "公開型"; } virtual QCString trPublicAttribs() { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - { - return "変数"; - } + { + return "フィールド"; + } else - { - return "Public 変数"; - } + { + return "公開変数類"; + } } virtual QCString trStaticPublicAttribs() { - return "Static Public 変数"; + return "静的公開変数類"; } virtual QCString trProtectedTypes() { - return "Protected 型"; + return "限定公開型"; } virtual QCString trProtectedAttribs() { - return "Protected 変数"; + return "限定公開変数類"; } virtual QCString trStaticProtectedAttribs() { - return "Static Protected 変数"; + return "静的限定公開変数類"; } virtual QCString trPrivateTypes() { - return "Private 型"; + return "非公開型"; } virtual QCString trPrivateAttribs() { - return "Private 変数"; + return "非公開変数類"; } virtual QCString trStaticPrivateAttribs() { - return "Static Private 変数"; + return "静的非公開変数類"; } ////////////////////////////////////////////////////////////////////////// @@ -897,12 +958,12 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 /*! Used as a marker that is put before a todo item */ virtual QCString trTodo() { - return "TODO"; + return "todo"; } /*! Used as the header of the todo list */ virtual QCString trTodoList() { - return "TODO一覧"; + return "todo一覧"; } ////////////////////////////////////////////////////////////////////////// @@ -915,7 +976,7 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 } virtual QCString trRemarks() { - return "意見"; + return "注釈"; } virtual QCString trAttention() { @@ -923,8 +984,7 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 } virtual QCString trInclByDepGraph() { - return "このグラフは、どのファイルから直接、間接的に" - "インクルードされているかを示しています。"; + return "被依存関係図:"; } virtual QCString trSince() { @@ -944,25 +1004,24 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 virtual QCString trLegendDocs() { return - "このページでは、doxygen で生成されたグラフをどのようにみたらよいかを" - "説明します。

      \n" - "次の例を考えてみます。\n" + "Doxygen が生成したグラフを読み方について。

      \n" + "次のコード例をご覧ください。\n" "\\code\n" - "/*! 省略されて見えないクラス */\n" + "/*! 全体の大きさの関係で見えなくなるクラスです。 */\n" "class Invisible { };\n\n" - "/*! 省略されたクラス(継承関係は隠されている) */\n" + "/*! 表示を切り捨てられたクラス(Invisibleクラスの分が見えません) */\n" "class Truncated : public Invisible { };\n\n" - "/* doxygen コメントによるドキュメントがないクラス */\n" + "/* Doxygen 用のコメントコードがないクラス */\n" "class Undocumented { };\n\n" - "/*! public で継承されたクラス */\n" + "/*! 公開継承されているクラス */\n" "class PublicBase : public Truncated { };\n\n" "/*! A template class */\n" "template class Templ { };\n\n" - "/*! protected で継承されたクラス */\n" + "/*! 限定公開で継承されているクラス */\n" "class ProtectedBase { };\n\n" - "/*! private で継承されたクラス */\n" + "/*! 非公開継承されているクラス */\n" "class PrivateBase { };\n\n" - "/*! 継承されたクラスで使われているクラス */\n" + "/*! Inherited クラス内で使われているクラス */\n" "class Used { };\n\n" "/*! 複数のクラスを継承している上位クラス */\n" "class Inherited : public PublicBase,\n" @@ -975,28 +1034,28 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 " Used *m_usedClass;\n" "};\n" "\\endcode\n" - "設定ファイル中で、タグ \\c MAX_DOT_GRAPH_HEIGHT が 200 にセットされた" - "場合、次のようなグラフとなります。" + "\\c MAX_DOT_GRAPH_" /* わざわざちょん切っているのは doc/translator.py の検出回避のため */ + "HEIGHT タグに 200 を与えた設定ファイル" + "を使うと、次のようなグラフとなります。" "

      \n" "

      \n" - "上のグラフ内のボックスには次のような意味があります。\n" + "グラフ内の矩形は構造体やクラスを表しています。色の意味は次の通りです。\n" "

        \n" - "
      • 黒く塗りつぶされたボックスは、このグラフに対応する構造体やクラスを" - "表します。\n" - "
      • 黒枠のボックスはドキュメントがある構造体やクラスを表します。\n" - "
      • 灰色の枠のボックスはドキュメントがない構造体やクラスを表します。\n" - "
      • 赤枠のボックスはドキュメントがある構造体やクラスを表しますが、" - "指定されたサイズに収まらないために継承・包含関係をすべて図示する" - "ことができなかったことを示します。" + "
      • 中を黒く塗られた四角は、図が注目している起点です。
      • \n" + "
      • 黒枠は詳解があることを示しています。
      • \n" + "
      • 灰色枠で示されたクラス等には詳解がありません。
      • \n" + "
      • 赤枠で示されたものは詳解を持つクラスですが、" + "指定された大きさに収まらないことから一部の継承・包含関係が" + "省略されていることを表します。
      • \n" "
      \n" - "矢印には次のような意味があります。\n" + "

      矢印の意味は次の通りです。

      \n" "
        \n" - "
      • 青い矢印は二つのクラス間の public 継承関係を示します。\n" - "
      • 緑の矢印は protected 継承関係を示します。\n" - "
      • 赤の矢印は private 継承関係を示します。\n" - "
      • 紫の破線矢印は、そのクラスが他のクラスに含まれていたり、" - "利用されていることを示します。また、矢印が指しているクラスや構造体を" - "どの変数でアクセスできるかを矢印のラベルとして示しています。\n" + "
      • 青い矢印は二つのクラス間の公開継承関係を示します。
      • \n" + "
      • 緑の矢印は限定公開の継承関係を示します。
      • \n" + "
      • 赤の矢印は非公開の継承関係を示します。
      • \n" + "
      • 紫の破線矢印は、そのクラスが他のクラスに含まれているか、" + "利用されていることを示します。また、矢印のラベルは矢の先にあるクラス等を" + "アクセスしている矢の根本のメンバを表しています。
      • \n" "
      \n"; } /*! text for the link to the legend page */ @@ -1032,7 +1091,7 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 /*! Used as a section header for IDL property documentation */ virtual QCString trPropertyDocumentation() { - return "プロパティ"; + return "プロパティ詳解"; } @@ -1040,27 +1099,22 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 // new since 1.2.4 ////////////////////////////////////////////////////////////////////////// - /*! Used for Java interfaces in the summary section of Java packages */ - virtual QCString trInterfaces() - { - return "インターフェース"; - } /*! Used for Java classes in the summary section of Java packages */ virtual QCString trClasses() { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) - { - return "データ構造"; - } + { + return "データ構造"; + } else - { - return "クラス"; - } + { + return "クラス"; + } } /*! Used as the title of a Java package */ virtual QCString trPackage(const char *name) { - return (QCString)"パッケージ "+name; + return (QCString)name+" パッケージ"; } /*! Title of the package index page */ virtual QCString trPackageList() @@ -1070,19 +1124,15 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 /*! The description of the package index page */ virtual QCString trPackageListDescription() { - return "これはパッケージ一覧です。"; + return "パッケージ一覧です。"; } /*! The link name in the Quick links header for each page */ virtual QCString trPackages() { return "パッケージ"; } - /*! Used as a chapter title for Latex & RTF output */ - virtual QCString trPackageDocumentation() - { - return "パッケージ"; - } - /*! Text shown before a multi-line define */ + + /*! Text shown before a multi-line define */ virtual QCString trDefineValue() { return "値:"; @@ -1177,7 +1227,7 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 */ virtual QCString trNamespace(bool /*first_capital*/, bool /*singular*/) { - return "ネームスペース"; + return "名前空間"; } /*! This is used for translation of the word that will possibly @@ -1211,18 +1261,9 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 * be followed by a single name or by a list of names * of the category. */ - virtual QCString trField(bool /*first_capital*/, bool /*singular*/) - { - return "フィールド"; - } - - /*! This is used for translation of the word that will possibly - * be followed by a single name or by a list of names - * of the category. - */ virtual QCString trGlobal(bool /*first_capital*/, bool /*singular*/) { - return "グローバル"; + return "大域各種"; } ////////////////////////////////////////////////////////////////////////// @@ -1233,7 +1274,7 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 * for the author section in man pages. */ virtual QCString trAuthor(bool /*first_capital*/, bool /*singular*/) { - return "作者"; + return "著者"; } ////////////////////////////////////////////////////////////////////////// @@ -1304,7 +1345,7 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 /*! Header used for the documentation section of a class' events. */ virtual QCString trEventDocumentation() { - return "イベント"; + return "イベント詳解"; } ////////////////////////////////////////////////////////////////////////// @@ -1329,7 +1370,7 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 */ virtual QCString trStaticPackageMembers() { - return "スタティック関数"; + return "静的関数"; } /*! Used as a heading for a list of Java class variables with package * scope. @@ -1343,7 +1384,7 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 */ virtual QCString trStaticPackageAttribs() { - return "スタティック変数"; + return "静的変数"; } ////////////////////////////////////////////////////////////////////////// @@ -1360,7 +1401,7 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 /*! Put in front of the call graph for a function. */ virtual QCString trCallGraph() { - return "関数の呼び出しグラフ:"; + return "呼び出し関係図:"; } ////////////////////////////////////////////////////////////////////////// @@ -1386,16 +1427,16 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 { if (numDocuments==0) { - return "入力された条件にマッチするドキュメントがありませんでした."; + return "入力条件を満たす文書がありません。"; } else if (numDocuments==1) { - return "入力された条件にマッチするドキュメントが 1 件みつかりました."; + return "入力条件を満たす文書が 1 件ありました."; } else { - return "入力された条件にマッチするドキュメントが $num 件みつかりました. " - "最も一致しているものから表示されます."; + return "入力条件を満たす文書が $num 件ありました. " + "一致度の高いものから表示されます."; } } /*! This string is put before the list of matched words, for each search @@ -1403,7 +1444,7 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 */ virtual QCString trSearchMatches() { - return "マッチした単語:"; + return "照合語:"; } ////////////////////////////////////////////////////////////////////////// @@ -1431,7 +1472,7 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 * of the directories. */ virtual QCString trDirDocumentation() - { return "ディレクトリ構成"; } + { return "ディレクトリ詳解"; } /*! This is used as the title of the directory index and also in the * Quick links of an HTML page, to link to the directory hierarchy. @@ -1482,15 +1523,14 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 /*! This is used to introduce a caller (or called-by) graph */ virtual QCString trCallerGraph() { - // return "Here is the caller graph for this function:"; - return "呼出しグラフ:"; + return "被呼び出し関係図:"; } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for enumeration values */ virtual QCString trEnumerationValueDocumentation() - { return "列挙型"; } + { return "列挙型詳解"; } ////////////////////////////////////////////////////////////////////////// @@ -1499,11 +1539,11 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 /*! header that is put before the list of member subprograms (Fortran). */ virtual QCString trMemberFunctionDocumentationFortran() - { return "関数/サブルーチン"; } + { return "メンバ関数/サブルーチン詳解"; } /*! This is put above each page as a link to the list of annotated data types (Fortran). */ virtual QCString trCompoundListFortran() - { return "データ型"; } + { return "データ型一覧"; } /*! This is put above each page as a link to all members of compounds (Fortran). */ virtual QCString trCompoundMembersFortran() @@ -1511,19 +1551,19 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 /*! This is an introduction to the annotated compound list (Fortran). */ virtual QCString trCompoundListDescriptionFortran() - { return "これはデータ型の一覧です"; } + { return "これはデータ型の一覧です:"; } /*! This is an introduction to the page with all data types (Fortran). */ virtual QCString trCompoundMembersDescriptionFortran(bool extractAll) { - QCString result="これは"; - result+="フィールドの一覧です。それぞれ"; - if (extractAll) - { - result+="が属しているデータ型"; - } - result+="の説明へリンクしています。"; - return result; + QCString result="これは"; + result+="フィールドの一覧です。それぞれ"; + if (extractAll) + { + result+="が属しているデータ型"; + } + result+="の詳解へリンクしています。"; + return result; } /*! This is used in LaTeX as the title of the chapter with the @@ -1536,7 +1576,7 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 * the documentation of all data types (Fortran). */ virtual QCString trTypeDocumentation() - { return "データ型"; } + { return "データ型詳解"; } /*! This is used in the documentation of a file as a header before the * list of (global) subprograms (Fortran). @@ -1549,7 +1589,7 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 * of documentation blocks for subprograms (Fortran) */ virtual QCString trSubprogramDocumentation() - { return "関数/サブルーチン"; } + { return "関数/サブルーチン詳解"; } /*! This is used in the documentation of a file/namespace/group before * the list of links to documented compounds (Fortran) @@ -1564,9 +1604,16 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 /*! used as an introduction to the modules list (Fortran) */ virtual QCString trModulesListDescription(bool extractAll) { - QCString result="これは"; - if (!extractAll) result+="生成された"; - result+="モジュール一覧です"; + QCString result; + if (!extractAll) + { + result+="詳解が記されている"; + } + else + { + result+="全"; + } + result+="モジュールの一覧です"; return result; } @@ -1611,7 +1658,7 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 { result+="属しているモジュール"; } - result+="の説明へリンクしています。"; + result+="の詳解へリンクしています。"; return result; } @@ -1636,11 +1683,11 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 bool /*single*/) { // here s is one of " Module", " Struct" or " Union" // single is true implies a single file - QCString result=""; + QCString result="次のファイルから"; switch(compType) { case ClassDef::Class: result+="モジュール"; break; - case ClassDef::Struct: result+="TYPE"; break; + case ClassDef::Struct: result+="型"; break; case ClassDef::Union: result+="共用体"; break; case ClassDef::Interface: result+="インターフェース"; break; case ClassDef::Protocol: result+="プロトコル"; break; @@ -1648,7 +1695,7 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 case ClassDef::Exception: result+="例外"; break; default: break; } - result+="の説明は次のファイルから生成されました:"; + result+="の詳解が抽出されました:"; return result; } /*! This is used for translation of the word that will possibly @@ -1657,7 +1704,7 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 */ virtual QCString trType(bool /*first_capital*/, bool /*singular*/) { - QCString result = "TYPE"; + QCString result = "型"; return result; } /*! This is used for translation of the word that will possibly @@ -1676,6 +1723,258 @@ class TranslatorJapanese : public TranslatorAdapter_1_6_0 return "型制約"; } +////////////////////////////////////////////////////////////////////////// +// new since 1.6.0 (mainly for the new search engine) +////////////////////////////////////////////////////////////////////////// + + /*! directory relation for \a name */ + virtual QCString trDirRelation(const char *name) + { + return QCString(name)+" 関係"; + } + + /*! Loading message shown when loading search results */ + virtual QCString trLoading() + { + return "読み取り中…"; + } + + /*! Label used for search results in the global namespace */ + virtual QCString trGlobalNamespace() + { + return "大域名前空間"; + } + + /*! Message shown while searching */ + virtual QCString trSearching() + { + return "検索中…"; + } + + /*! Text shown when no search results are found */ + virtual QCString trNoMatches() + { + return "一致する文字列を見つけられません"; + } + +////////////////////////////////////////////////////////////////////////// +// new since 1.6.3 (missing items for the directory pages) +////////////////////////////////////////////////////////////////////////// + + /*! when clicking a directory dependency label, a page with a + * table is shown. The heading for the first column mentions the + * source file that has a relation to another file. + */ + virtual QCString trFileIn(const char *name) + { + return (QCString)name+"にあるファイル"; + } + + /*! when clicking a directory dependency label, a page with a + * table is shown. The heading for the second column mentions the + * destination file that is included. + */ + virtual QCString trIncludesFileIn(const char *name) + { + return (QCString)name+"にあるファイルを include している"; + } + + /** Compiles a date string. + * @param year Year in 4 digits + * @param month Month of the year: 1=January + * @param day Day of the Month: 1..31 + * @param dayOfWeek Day of the week: 1=Monday..7=Sunday + * @param hour Hour of the day: 0..23 + * @param minutes Minutes in the hour: 0..59 + * @param seconds Seconds within the minute: 0..59 + * @param includeTime Include time in the result string? + */ + virtual QCString trDateTime(int year,int month,int day,int dayOfWeek, + int hour,int minutes,int seconds, + bool includeTime) + { + static const char *days[] = { "月", "火", "水", "木", "金", "土", "日" }; + QCString sdate; + sdate.sprintf("%.4d年%.2d月%.2d日(%s)",year,month,day,days[dayOfWeek-1]); + if (includeTime) + { + QCString stime; + stime.sprintf(" %.2d時%.2d分%.2d秒",hour,minutes,seconds); + sdate+=stime; + } + 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) + { + return "次のファイルからこの列挙についての詳解を抽出しました:"; + } + + /*! 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("基底クラス ")+what+" に属する継承"+members; } + + /*! 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+=" Singleton 詳解"; + return result; + } + /** UNO IDL service page */ + virtual QCString trServiceGeneratedFromFiles(bool /*single*/) + { + // single is true implies a single file + return "次のファイルからこのサービスについて" + "の詳解を抽出しました:"; + } + /** UNO IDL singleton page */ + virtual QCString trSingletonGeneratedFromFiles(bool /*single*/) + { + // single is true implies a single file + return "次のファイルからこの Singleton について" + "の詳解を抽出しました:"; + } + +////////////////////////////////////////////////////////////////////////// + }; #endif -- cgit v0.12 From 23f337e64b95d3fa08f32980c866669b190c872f Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Fri, 6 Sep 2013 13:54:54 +0200 Subject: Bug 707567 - Asterisks in comment wrongly displayed for @code --- src/scanner.l | 40 +++++++++++++++++++++++++++++++++++++--- testing/014/indexpage.xml | 18 ++++++------------ 2 files changed, 43 insertions(+), 15 deletions(-) diff --git a/src/scanner.l b/src/scanner.l index 40f653a..9e2cfd5 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -191,6 +191,7 @@ static QCString g_delimiter; static int g_column; static int g_fencedSize=0; +static bool g_nestedComment=0; //----------------------------------------------------------------------------- @@ -6155,23 +6156,27 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP}) docBlockName.at(1)='}'; } g_fencedSize=0; + g_nestedComment=FALSE; BEGIN(DocCopyBlock); } "<"{PRE}">" { docBlock+=yytext; docBlockName="
      ";
                                                 g_fencedSize=0;
      +                                          g_nestedComment=FALSE;
         					  BEGIN(DocCopyBlock);
         					}
       {CMD}("verbatim"|"latexonly"|"htmlonly"|"xmlonly"|"manonly"|"dot"|"code")/[^a-z_A-Z0-9]	{ // verbatim command (which could contain nested comments!)
                                                 docBlock+=yytext;
       				          docBlockName=&yytext[1];
                                                 g_fencedSize=0;
      +                                          g_nestedComment=FALSE;
         					  BEGIN(DocCopyBlock);
         					}
       "~~~"[~]*                     {
                                                 docBlock+=yytext;
                                                 g_fencedSize=yyleng;
      +                                          g_nestedComment=FALSE;
                                                 BEGIN(DocCopyBlock);
                                               }
       {B}*""                  {
      @@ -6179,6 +6184,7 @@ OPERATOR  "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
       					  {
       					    docBlock+=yytext;
       					    docBlockName="";
      +                                            g_nestedComment=FALSE;
       					    BEGIN(DocCopyBlock);
       					  }
       					  else
      @@ -6240,12 +6246,32 @@ OPERATOR  "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
                                                   docBlock+=indent;
                                                 }
         					}
      -^{B}*+"*"/{BN}*		{ // start of a comment line
      +^{B}*"*"+/{BN}+"*"{BN}*	{ // start of a comment line with two *'s
         					  if (docBlockName=="code")
                                                 {
                                                   QCString indent;
      -                                            indent.fill(' ',computeIndent(yytext,0)-1);
      -                                            docBlock+=indent+"*";
      +                                            indent.fill(' ',computeIndent(yytext,0));
      +                                            docBlock+=indent;
      +                                          }
      +                                          else
      +					  {
      +					    REJECT;
      +					  }
      +  					}
      +^{B}*"*"+/{BN}*		{ // start of a comment line with one *
      +  					  if (docBlockName=="code")
      +                                          {
      +                                            QCString indent;
      +                                            if (g_nestedComment) // keep * it is part of the code
      +                                            {
      +                                              indent.fill(' ',computeIndent(yytext,-1));
      +                                              docBlock+=indent+"*";
      +                                            }
      +                                            else // remove * it is part of the comment block
      +                                            {
      +                                              indent.fill(' ',computeIndent(yytext,0));
      +                                              docBlock+=indent;
      +                                            }
                                                 }
                                                 else
       					  {
      @@ -6263,6 +6289,14 @@ OPERATOR  "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
         					  docBlock+=yytext;
         					}
       "/*"|"*/"|"//"		{
      +                                          if (yytext[1]=='*')
      +                                          {
      +                                            g_nestedComment=TRUE;
      +                                          }
      +                                          else if (yytext[0]=='*')
      +                                          {
      +                                            g_nestedComment=FALSE;
      +                                          }
         					  docBlock+=yytext;
       					}
       \n			{ // newline
      diff --git a/testing/014/indexpage.xml b/testing/014/indexpage.xml
      index 9662b9c..c2fe57a 100644
      --- a/testing/014/indexpage.xml
      +++ b/testing/014/indexpage.xml
      @@ -7,40 +7,34 @@
             
               
                 
      -            *
                   #commentinPython
                   
                 
                 
      -            *
      +            
                   class
                   Python:
                 
                 
      -            *
      +            
      +              
      +              
      +            
                   pass
      -            
      -          
      -          
      -            *
                 
               
             
             
               
                 
      -            *
                   //commentinacodeblock
                   
                 
                 
      -            *
      +            
                   class
                   Cpp{};
                 
      -          
      -            *
      -          
               
             
           
      -- 
      cgit v0.12
      
      
      From ec9d0e3753d2197e4138ab717182a20dd6f05f8b Mon Sep 17 00:00:00 2001
      From: Dimitri van Heesch 
      Date: Fri, 6 Sep 2013 14:43:06 +0200
      Subject: Removed japanese characters in maintainers.txt as they break the
       build
      
      ---
       doc/language.doc    | 11 ++++++-----
       doc/maintainers.txt |  2 +-
       2 files changed, 7 insertions(+), 6 deletions(-)
      
      diff --git a/doc/language.doc b/doc/language.doc
      index 2e04667..bfd5aa2 100644
      --- a/doc/language.doc
      +++ b/doc/language.doc
      @@ -173,9 +173,9 @@ when the translator was updated.
         
         
           Japanese
      -    Hiroki Iseri
      Ryunosuke Satoh
      Kenji Nagamatsu
      Iwasa Kazmi - goyoki at gmail dot com
      sun594 at hotmail dot com
      naga at joyful dot club dot ne dot jp
      [unreachable] - 1.6.0 + Suzumizaki-Kimikata
      Hiroki Iseri
      Ryunosuke Satoh
      Kenji Nagamatsu
      Iwasa Kazmi + szmml at h12u.com
      goyoki at gmail dot com
      sun594 at hotmail dot com
      [unreachable]
      [unreachable] + up-to-date JapaneseEn @@ -370,9 +370,10 @@ when the translator was updated. Italian & Alessandro Falappa & {\tt\tiny alessandro at falappa dot net} & 1.8.2 \\ ~ & Ahmed Aldo Faisal & {\tt\tiny aaf23 at cam dot ac dot uk} & ~ \\ \hline - Japanese & Hiroki Iseri & {\tt\tiny goyoki at gmail dot com} & 1.6.0 \\ + Japanese & Suzumizaki-Kimikata & {\tt\tiny szmml at h12u.com} & up-to-date \\ + ~ & Hiroki Iseri & {\tt\tiny goyoki at gmail dot com} & ~ \\ ~ & Ryunosuke Satoh & {\tt\tiny sun594 at hotmail dot com} & ~ \\ - ~ & Kenji Nagamatsu & {\tt\tiny naga at joyful dot club dot ne dot jp} & ~ \\ + ~ & Kenji Nagamatsu & {\tt\tiny [unreachable] naga at joyful dot club dot ne dot jp} & ~ \\ ~ & Iwasa Kazmi & {\tt\tiny [unreachable] iwasa at cosmo-system dot jp} & ~ \\ \hline JapaneseEn & see the Japanese language & {\tt\tiny ~} & English based \\ diff --git a/doc/maintainers.txt b/doc/maintainers.txt index f954c20..ab2c1a0 100644 --- a/doc/maintainers.txt +++ b/doc/maintainers.txt @@ -85,7 +85,7 @@ Alessandro Falappa: alessandro at falappa dot net Ahmed Aldo Faisal: aaf23 at cam dot ac dot uk TranslatorJapanese -Suzumizaki-Kimikata: (search 鈴見咲君高) +Suzumizaki-Kimikata: szmml at h12u.com Hiroki Iseri: goyoki at gmail dot com Ryunosuke Satoh: sun594 at hotmail dot com Kenji Nagamatsu: [unreachable] naga at joyful dot club dot ne dot jp -- cgit v0.12 From 48676b42611b981c1845c7426f22422b9d94cb13 Mon Sep 17 00:00:00 2001 From: albert-github Date: Fri, 6 Sep 2013 20:33:04 +0200 Subject: Bug 707554 - When I use @INCLUDE DoxyWizard is closed Current directory was not changed at the right time so the include files could not be found in the "current" directory (i.e. the directory where the Doxyfile resides too, as this directory is shown as the current directory in the doxywizard). This is also important when the doxywizard is started from a shortcut. --- addon/doxywizard/doxywizard.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/addon/doxywizard/doxywizard.cpp b/addon/doxywizard/doxywizard.cpp index 11bd8f2..ce764e0 100644 --- a/addon/doxywizard/doxywizard.cpp +++ b/addon/doxywizard/doxywizard.cpp @@ -224,9 +224,13 @@ void MainWindow::updateConfigFileName(const QString &fileName) void MainWindow::loadConfigFromFile(const QString & fileName) { - m_expert->loadConfig(fileName); - m_wizard->refresh(); + // save full path info of original file + QString absFileName = QFileInfo(fileName).absoluteFilePath(); + // updates the current directory updateConfigFileName(fileName); + // open the specified configuration file + m_expert->loadConfig(absFileName); + m_wizard->refresh(); updateLaunchButtonState(); m_modified = false; updateTitle(); -- cgit v0.12 From 2e03209d4579b239ce5abe59c8cd2a0fe7086ea0 Mon Sep 17 00:00:00 2001 From: albert-github Date: Sat, 7 Sep 2013 16:03:07 +0200 Subject: Bug 707685 - Fortran: error message when missing last EOL In case the original buffer in either fixed or free format code does not contain an EOL as last character, add it. --- src/fortranscanner.l | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) mode change 100644 => 100755 src/fortranscanner.l diff --git a/src/fortranscanner.l b/src/fortranscanner.l old mode 100644 new mode 100755 index c6b47d3..6d64cb9 --- a/src/fortranscanner.l +++ b/src/fortranscanner.l @@ -1366,7 +1366,7 @@ static const char* prepassFixedForm(const char* contents) int prevLineLength=0; int prevLineAmpOrExclIndex=-1; bool emptyLabel=TRUE; - int newContentsSize = strlen(contents)+2; // \000 and one spare character (to avoid reallocation) + int newContentsSize = strlen(contents)+3; // \000, \n (when necessary) and one spare character (to avoid reallocation) char* newContents = (char*)malloc(newContentsSize); for(int i=0, j=0;;i++,j++) { @@ -1390,6 +1390,14 @@ static const char* prepassFixedForm(const char* contents) break; case '\000': newContents[j]='\000'; + newContentsSize = strlen(newContents); + if (newContents[newContentsSize - 1] != '\n') + { + // to be on the safe side + newContents = (char*)realloc(newContents, newContentsSize+2); + newContents[newContentsSize] = '\n'; + newContents[newContentsSize + 1] = '\000'; + } return newContents; case 'C': case 'c': @@ -1425,6 +1433,15 @@ static const char* prepassFixedForm(const char* contents) break; } } + + newContentsSize = strlen(newContents); + if (newContents[newContentsSize - 1] != '\n') + { + // to be on the safe side + newContents = (char*)realloc(newContents, newContentsSize+2); + newContents[newContentsSize] = '\n'; + newContents[newContentsSize + 1] = '\000'; + } return newContents; } @@ -2228,6 +2245,7 @@ level--; static void parseMain(const char *fileName,const char *fileBuf,Entry *rt) { + char *tmpBuf = NULL; initParser(); defaultProtection = Public; @@ -2258,6 +2276,14 @@ static void parseMain(const char *fileName,const char *fileBuf,Entry *rt) //clock_t end=clock(); //printf("CPU time used=%f\n", ((double) (end-start))/CLOCKS_PER_SEC); } + else if (inputString[strlen(fileBuf)-1] != '\n') + { + tmpBuf = (char *)malloc(strlen(fileBuf)+2); + strcpy(tmpBuf,fileBuf); + tmpBuf[strlen(fileBuf)]= '\n'; + tmpBuf[strlen(fileBuf)+1]= '\000'; + inputString = tmpBuf; + } yyLineNr= 1 ; yyFileName = fileName; @@ -2291,6 +2317,10 @@ static void parseMain(const char *fileName,const char *fileBuf,Entry *rt) rt->program.resize(0); delete current; current=0; moduleProcedures.clear(); + if (tmpBuf) { + free((char*)tmpBuf); + inputString=NULL; + } if (isFixedForm) { free((char*)inputString); inputString=NULL; -- cgit v0.12 From 1f44278e8612c5c2567046f5bd6a82eacccc1e2a Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Sun, 8 Sep 2013 16:10:13 +0200 Subject: Avoid accessing uninitialized memory in fileToString --- src/bufstr.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/bufstr.h b/src/bufstr.h index 427b012..cfb89c4 100644 --- a/src/bufstr.h +++ b/src/bufstr.h @@ -33,7 +33,7 @@ class BufStr BufStr(int size) : m_size(size), m_writeOffset(0), m_spareRoom(10240), m_buf(0) { - m_buf = (char *)malloc(size); + m_buf = (char *)calloc(size,1); } ~BufStr() { @@ -62,12 +62,17 @@ class BufStr } void resize( uint newlen ) { + uint oldsize = m_size; m_size=newlen; if (m_writeOffset>=m_size) // offset out of range -> enlarge { m_size=m_writeOffset+m_spareRoom; } m_buf = (char *)realloc(m_buf,m_size); + if (m_size>oldsize) + { + memset(m_buf+oldsize,0,m_size-oldsize); + } } int size() const { -- cgit v0.12 From 2bc072132313b124781215c4fc43ca4f103adcda Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Mon, 9 Sep 2013 09:19:52 +0200 Subject: testing dir was missing from 'make archive' --- Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.in b/Makefile.in index fed6560..ddbb53e 100644 --- a/Makefile.in +++ b/Makefile.in @@ -79,7 +79,7 @@ docs: FORCE pdf: docs cd latex ; $(MAKE) -DISTFILES = Doxyfile libmd5 addon tmake doc examples bin lib objects \ +DISTFILES = Doxyfile libmd5 addon tmake doc examples bin lib objects testing \ qtools src configure configure.bin Makefile.in Makefile.win_nmake.in \ Makefile.win_make.in INSTALL LANGUAGE.HOWTO LICENSE PLATFORMS \ VERSION README.md packages winbuild jquery -- cgit v0.12 From be7ce5002af548f01debf40d90640a3a28346f0a Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Mon, 9 Sep 2013 11:17:51 +0200 Subject: Bug 154880 - if "using namespace" used, call of a static member function in C++ is not recognized or recognized wrong --- src/code.l | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/code.l b/src/code.l index 3aa9837..693a20f 100644 --- a/src/code.l +++ b/src/code.l @@ -398,7 +398,7 @@ static CallContext g_theCallContext; static void pushScope(const char *s) { g_classScopeLengthStack.push(new int(g_classScope.length())); - if (g_classScope.isEmpty()) + if (g_classScope.isEmpty() || leftScopeMatch(s,g_classScope)) { g_classScope = s; } -- cgit v0.12 From 1e373422387e8c1131f887efb47cf3da6459e2ac Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Mon, 9 Sep 2013 11:51:20 +0200 Subject: Doxygen didn't allow @ref to parameters of type reference to an array. --- src/doctokenizer.l | 3 ++- src/util.cpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/doctokenizer.l b/src/doctokenizer.l index 52e30ac..a33985b 100644 --- a/src/doctokenizer.l +++ b/src/doctokenizer.l @@ -355,6 +355,7 @@ INOUT "inout"|"in"|"out"|("in"{BLANK}*","{BLANK}*"out")|("out"{BLANK}*","{BLAN PARAMIO {CMD}param{BLANK}*"["{BLANK}*{INOUT}{BLANK}*"]" TEMPCHAR [a-z_A-Z0-9.,: \t\*\&\(\)\[\]] FUNCCHAR [a-z_A-Z0-9,:\<\> \t\^\*\&\[\]] +FUNCPART {FUNCCHAR}*("("{FUNCCHAR}*")"{FUNCCHAR}*)? SCOPESEP "::"|"#"|"." TEMPLPART "<"{TEMPCHAR}*">" ANONNS "anonymous_namespace{"[^}]*"}" @@ -363,7 +364,7 @@ SCOPEKEYS ":"({ID}":")* SCOPECPP {SCOPEPRE}*(~)?{ID}{TEMPLPART}? SCOPEOBJC {SCOPEPRE}?{ID}{SCOPEKEYS}? SCOPEMASK {SCOPECPP}|{SCOPEOBJC} -FUNCARG "("{FUNCCHAR}*")"({BLANK}*("volatile"|"const"){BLANK})? +FUNCARG "("{FUNCPART}")"({BLANK}*("volatile"|"const"){BLANK})? OPNEW {BLANK}+"new"({BLANK}*"[]")? OPDEL {BLANK}+"delete"({BLANK}*"[]")? OPNORM {OPNEW}|{OPDEL}|"+"|"-"|"*"|"/"|"%"|"^"|"&"|"|"|"~"|"!"|"="|"<"|">"|"+="|"-="|"*="|"/="|"%="|"^="|"&="|"|="|"<<"|">>"|"<<="|">>="|"=="|"!="|"<="|">="|"&&"|"||"|"++"|"--"|","|"->*"|"->"|"[]"|"()" diff --git a/src/util.cpp b/src/util.cpp index cf1c1f1..e67e9fb 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -1872,7 +1872,8 @@ int findParameterList(const QString &name) } else { - return bracePos; + int bp = bracePos>0 ? name.findRev('(',bracePos-1) : -1; + return bp==-1 ? bracePos : bp; } } } while (pos!=-1); -- cgit v0.12