[Prime-cvs] CVS update: prime/doc

Zurück zum Archiv-Index

Hiroyuki Komatsu komat****@users*****
2004年 12月 10日 (金) 23:42:28 JST


Index: prime/doc/usage.html
diff -u prime/doc/usage.html:1.5 prime/doc/usage.html:1.6
--- prime/doc/usage.html:1.5	Thu Jun 24 16:28:45 2004
+++ prime/doc/usage.html	Fri Dec 10 23:42:28 2004
@@ -24,6 +24,8 @@
    <a href="wiki/">Wiki</a>
    |
    <a href="emacs/">Emacs クライアント</a>
+   |
+   <a href="protocol.html">通信プロトコル</a>
    ]
   </div>
 
@@ -235,6 +237,8 @@
    <a href="wiki/">Wiki</a>
    |
    <a href="emacs/">Emacs クライアント</a>
+   |
+   <a href="protocol.html">通信プロトコル</a>
    ]
   </div>
 
@@ -244,7 +248,7 @@
   </div>
   <div class="id" align="right">
    小松 弘幸 &lt;komat****@taiya*****&gt;<br>
-   $Id: usage.html,v 1.5 2004/06/24 07:28:45 komatsu Exp $
+   $Id: usage.html,v 1.6 2004/12/10 14:42:28 komatsu Exp $
   </div>
 <!-- End of Footer ======================================== -->
 
Index: prime/doc/protocol.html
diff -u /dev/null prime/doc/protocol.html:1.1
--- /dev/null	Fri Dec 10 23:42:28 2004
+++ prime/doc/protocol.html	Fri Dec 10 23:42:28 2004
@@ -0,0 +1,353 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html lang="ja" dir="LTR">
+ <head>
+  <meta http-equiv="Content-Type" content="text/html; charset=ISO-2022-JP">
+  <title>予測入力システム: PRIME</title>
+  <link rel="stylesheet" href="http://taiyaki.org/taiyaki.css" media="all">
+ </head>
+
+ <body>
+  <h1>PRIMEの通信プロトコル</h1>
+
+  <div class="note">
+   [
+   <a href="index.html">ホーム</a>
+   |
+   <a href="prime.html">PRIME とは</a>
+   |
+   <a href="install.html">インストール</a>
+   |
+   <a href="usage.html">使い方</a>
+   |
+   <a href="dictionary.html">単語辞書</a>
+   |
+   <a href="wiki/">Wiki</a>
+   |
+   <a href="emacs/">Emacs クライアント</a>
+   |
+   通信プロトコル
+   ]
+  </div>
+
+  <p>
+   このページでは、PRIMEのクライアントを作成することを目的にした
+   通信プロトコルの説明します。
+  </p>
+
+  <h2>はじめに</h2>
+  <p>
+   クライアントが PRIME サーバと通信する方法はいくつかの方法がありますが、
+   現状では標準入出力を介した方法が一般的です。コマンドラインから実際に
+   関数を実行してみれば、挙動をすべて把握することが可能です。
+  </p>
+
+  <h2>入出力のフォーマット</h2>
+  <p>
+   PRIMEの入出力フォーマットは、基本的には改行とタブで区切られたテキスト
+   データです。
+  </p>
+
+  <h3>入力フォーマット</h3>
+  <p>
+   行末に改行を含む一行が基本単位です。一行には、関数とその関数の引数が
+   含まれます。関数と引数のそれぞれはタブで区切られます。
+  </p>
+  <p>
+   たとえば、ヘルプを表示する場合は "help\n" (引数なし) と、
+   カタカナ入力モードにするには "edit_set_mode\t1\tkatakana\n" と入力します。
+   ("1" は後述するセッション ID)
+  </p>
+  <p>
+   以降、可読性のために "edit_set_mode\t1\tkatakana\n" を
+   "edit_set_mode ( '1', 'katakana' )" のように表します。
+  </p>
+
+  <h3>出力フォーマット</h3>
+  <p>
+   以下はコマンドラインから実行した場合の出力フォーマットの例です。
+  </p>
+<pre>
+~% prime
+version          ←入力
+ok
+0.9.3
+
+taiyaki          ←入力
+error
+Unknown command: taiyaki
+Try `help' for protocol information.
+
+lookup  taiyaki  ←入力
+ok
+たいやき        たいやき        priority=10124  part=名詞       base=たいやき  basekey=たいやき
+
+</pre>
+  <p>
+   出力フォーマットも基本的に入力フォーマットと同様に改行とタブで区切られます。
+   出力データは複数行である可能性がありますが、出力データの最終行のみが空行で
+   あることが保証されています。そのため、空行を検出すれば、データの取得が
+   完了したこと判定できます。
+  </p>
+  <p>
+   出力データには正常な出力と、エラーの二種類があります。正常な出力は
+   最初の行は "ok\n" であり、エラーの場合は "error\n" です。
+  </p>
+
+  <h2>全体のながれ</h2>
+  <p>
+   全体のながれとしては、まず最初に、クライアントはクライアントごとの
+   セッション ID を取得します。その後プリエディションに関するやりとりを
+   行います。プリエディションとは、ローマ字からひらがなに変換する部分のことを
+   指します。次にメインである単語候補を取得します。そして場合によっては
+   単語の学習を行います。
+  </p>
+
+  <p>
+   処理のながれを擬似的な言語で書き表すと以下のようになります。
+  </p>
+<pre>
+session-id = session_start ( )
+context    = ""
+
+loop {
+  ユーザから入力文字列 string の取得
+
+  edit_insert ( session-id, string )
+  query = edit_get_query_string ( session-id )
+
+  set_context ( context )
+  words = lookup ( query )
+
+  words からユーザの選択した単語データ、key value part suffix rest を取得
+
+  learn_word ( key value part context suffix rest )
+  edit_erase ( session-id )
+
+  context = value + suffix + rest
+}
+
+session_end ( session-id )
+</pre>
+
+  <h2>セッション</h2>
+  <p>
+   PRIME サーバは、セッション ID を用いてクライアントごとのデータを管理します。
+   セッション ID はクライアントごとに一意に割り当てられた文字列です。
+  </p>
+  <p>
+   現在セッションは、プリエディションにのみ利用されていますが、今後、
+   単語候補の取得など全般に渡って利用される予定です。
+  </p>
+
+  <h3>セッションの開始・終了</h3>
+  <dl class="list">
+   <dt>session_start ()</dt>
+   <dd>セッションを開始し、セッション ID を返す。</dd>
+
+   <dt>session_end ( session-id )</dt>
+   <dd>session-id に割り当てられたセッションを終了し、
+    内部データを破棄する。</dd>
+  </dl>
+
+  <h2>プリエディション</h2>
+  <p>
+   プリエディションとは、ローマ字からひらがなに変換する部分のことを指します。
+   PRIME 0.8.5 / 0.9.3 以降では、サーバ側がこの機能を受け持ちます。
+   従来と同様にクライアント側で行うことも可能です。
+  </p>
+
+  <h3>プリエディションのデータ取得</h3>
+  <dl class="list">
+   <dt>edit_get_preedition ( session-id )</dt>
+   <dd>session-id に対応するセッションの現在のプリエディションを返す。
+    返り値のフォーマットは、タブで区切られた 3 つの値で、それぞれ
+    [(カーソルより左の文字列), (カーソルの右側にある一文字), (右側の残り)]
+    である。例えば、"tai[tab]y[tab]aki" や "taiyaki[tab][tab]" などが返る。
+   </dd>
+
+   <dt>edit_get_query_string ( session-id )</dt>
+   <dd>単語候補を取得する関数に渡すための文字列を返す。</dd>
+  </dl>
+
+  <h3>文字列の編集</h3>
+  <p>
+   プリエディションの編集用関数を実行したあとも、edit_get_preedition と
+   同様の返り値が返ります。
+  </p>
+  <dl class="list">
+   <dt>edit_insert ( session-id, input )</dt>
+   <dd>session-id に対応するセッションに、文字列 input を入力する。</dd>
+
+   <dt>edit_delete ( session-id )</dt>
+   <dd>カーソル位置の右側にある一文字を削除する。</dd>
+
+   <dt>edit_backspace ( session-id )</dt>
+   <dd>カーソル位置の左側にある一文字を削除する。</dd>
+
+   <dt>edit_erase ( session-id )</dt>
+   <dd>プリエディションの文字列をすべて削除する。</dd>
+  </dl>
+
+  <h3>カーソルの移動</h3>
+  <p>
+   カーソル移動を行った後も、edit_get_preedition と同様の返り値が返ります。
+  </p>
+  <dl class="list">
+   <dt>edit_cursor_right ( session-id )</dt>
+   <dd>カーソルを右にひとつ移動させる。</dd>
+
+   <dt>edit_cursor_left ( session-id )</dt>
+   <dd>カーソルを左にひとつ移動させる。</dd>
+
+   <dt>edit_cursor_right_edge ( session-id )</dt>
+   <dd>カーソルを右端に移動させる。</dd>
+
+   <dt>edit_cursor_left_edge ( session-id )</dt>
+   <dd>カーソルを左端に移動させる。</dd>
+  </dl>
+
+  <h3>入力モードの変更</h3>
+  <p>
+   入力モードとは、ひらがな入力、カタカナ入力、直接入力などのことです。
+  </p>
+  <dl class="list">
+   <dt>edit_set_mode ( session-id mode )</dt>
+   <dd>入力モードを変更する。入力モードには、
+    default (ひらがな入力), katakana, half_katakana,wide_ascii, raw (直接入力)
+    が指定可能。
+   </dd>
+  </dl>
+
+  <h2>変換処理</h2>
+  <p>
+   メインの処理となる部分です。候補データの文字列処理が面倒ではありますが、
+   内容自体は平易です。
+  </p>
+
+  <h3>出力データの例</h3>
+  <pre>
+lookup  hennkann   ←入力
+ok
+へんかんが      変換が  priority=15867  part=未知語     base=変換が     basekey=へんかんが
+へんかん        変換    priority=15867  part=サ行(する)&名詞    base=変換      basekey=へんかん
+  </pre>
+
+  <h3>出力フォーマット</h3>
+  <p>
+   出力フォーマットは一行につき一候補で、優先順位の高い順位に
+   ソートされています。
+  </p>
+  <p>
+   各行はタブによってデータが区切られています。各データは、第一項が候補の読み、
+   第二項が変換結果です。それ以降のデータは "キー=データ" というように
+   キーとデータが "=" で結ばれています。データの順番は保証されていません。
+   これらのデータは学習で使用しますので、いったんクライアント側で
+   保持しておく必要があります。(今後はセッションで管理され、
+   クライアント側での管理は必要なくなる予定です)。
+  </p>
+  <p>
+   第三項以降のデータで、"usage" や "annotation" というキーが含まれる
+   単語候補もあります。 "usage" は「看ると診るの違い」といった単語の用例を、
+   "annotaion" は「ー(長音)と-(半角マイナス)の違い」といった文字種を表します。
+   活用しなくても実害はありません。残りのデータは、現在のところ、主に
+   学習用に使われます。
+  </p>
+
+  <h3>コンテキスト</h3>
+  <p>
+   PRIME は単語候補を予測するために、コンテキストの提供をクライアントに
+   要求します。コンテキストは、現時点では直前に入力した単語の文字列と
+   同じですが、将来的には使用しているアプリケーションなども
+   受け付けるようにする予定です。
+  </p>
+  <p>
+   uim では context が別の意味で使用されていますので、uim のソースコードでは
+   prime-context という名前で、このコンテキストが処理されています。
+  </p>
+
+  <h3>関数の説明</h3>
+  <dl class="list">
+   <dt>lookup ( query )</dt>
+   <dd>単語候補を取得する、出力データの数は 1, 2 件。</dd>
+
+   <dt>lookup_all ( query )</dt>
+   <dd>すべての単語候補を取得する。</dd>
+
+   <dt>set_context ( context )</dt>
+   <dd>コンテキストを設定する。コンテキストは直前に入力した単語と、
+    現時点では、同意。</dd>
+
+   <dt>reset_context (  )</dt>
+   <dd>コンテキストをリセットする。</dd>
+  </dl>
+
+  <h2>単語の学習</h2>
+  <p>
+   単語の学習では、変換処理の時に取得したデータを利用します。
+   単語候補に含まれる、basekey, base, part, conjugation, rest と
+   コンテキストを引数に指定します。
+  </p>
+  <p>
+   単語を新規に登録する場合と、学習の場合との違いはありません。
+  </p>
+
+  <h3>関数の説明</h3>
+  <dl class="list">
+   <dt>learn_word ( key value part context suffix rest )</dt>
+   <dd>単語を学習する。
+    <table>
+     <tbody>
+       <tr><th>key</th>    <td>語幹の読み (basekey)</td></tr>
+       <tr><th>base</th>   <td>語幹 (base)</td></tr>
+       <tr><th>part</th>   <td>品詞</td></tr>
+       <tr><th>context</th><td>コンテキスト</td></tr>
+       <tr><th>suffix</th> <td>送りがな (conjugation)</td></tr>
+       <tr><th>rest</th>   <td>送りがな以降の文字列 (rest)</td></tr>
+     </tbody>
+    </table>
+    引数が分かりにくいので、修正される予定です。
+   </dd>
+  </dl>
+
+<!-- Footer ======================================== -->
+  <hr>
+  <div class="note">
+   [
+   <a href="index.html">ホーム</a>
+   |
+   <a href="prime.html">PRIME とは</a>
+   |
+   <a href="install.html">インストール</a>
+   |
+   <a href="usage.html">使い方</a>
+   |
+   <a href="dictionary.html">単語辞書</a>
+   |
+   <a href="wiki/">Wiki</a>
+   |
+   <a href="emacs/">Emacs クライアント</a>
+   |
+   通信プロトコル
+   ]
+  </div>
+
+  <div class="logo" align="right">
+   <img src="http://www.taiyaki.org/taiyaki.png" alt="www.taiyaki.org"
+	id="taiyaki" border="0">
+  </div>
+  <div class="id" align="right">
+   小松 弘幸 &lt;komat****@taiya*****&gt;<br>
+   $Id: protocol.html,v 1.1 2004/12/10 14:42:28 komatsu Exp $
+  </div>
+<!-- End of Footer ======================================== -->
+
+ </body>
+</html>
+<!--
+Local variables:
+sgml-omittag: nil
+sgml-shorttag: nil
+sgml-indent-step: 1
+sgml-indent-data: t
+End:
+-->
Index: prime/doc/prime.html
diff -u prime/doc/prime.html:1.5 prime/doc/prime.html:1.6
--- prime/doc/prime.html:1.5	Mon Jun 14 06:23:34 2004
+++ prime/doc/prime.html	Fri Dec 10 23:42:28 2004
@@ -24,6 +24,8 @@
    <a href="wiki/">Wiki</a>
    |
    <a href="emacs/">Emacs クライアント</a>
+   |
+   <a href="protocol.html">通信プロトコル</a>
    ]
   </div>
 
@@ -174,6 +176,8 @@
    <a href="wiki/">Wiki</a>
    |
    <a href="emacs/">Emacs クライアント</a>
+   |
+   <a href="protocol.html">通信プロトコル</a>
    ]
   </div>
 
@@ -183,7 +187,7 @@
   </div>
   <div class="id" align="right">
    小松 弘幸 &lt;komat****@taiya*****&gt;<br>
-   $Id: prime.html,v 1.5 2004/06/13 21:23:34 komatsu Exp $
+   $Id: prime.html,v 1.6 2004/12/10 14:42:28 komatsu Exp $
   </div>
 <!-- End of Footer ======================================== -->
 
Index: prime/doc/install.html
diff -u prime/doc/install.html:1.14 prime/doc/install.html:1.15
--- prime/doc/install.html:1.14	Thu Nov 18 20:35:34 2004
+++ prime/doc/install.html	Fri Dec 10 23:42:28 2004
@@ -24,6 +24,8 @@
    <a href="wiki/">Wiki</a>
    |
    <a href="emacs/">Emacs クライアント</a>
+   |
+   <a href="protocol.html">通信プロトコル</a>
    ]
   </div>
 
@@ -356,6 +358,8 @@
    <a href="wiki/">Wiki</a>
    |
    <a href="emacs/">Emacs クライアント</a>
+   |
+   <a href="protocol.html">通信プロトコル</a>
    ]
   </div>
 
@@ -365,7 +369,7 @@
   </div>
   <div class="id" align="right">
    小松 弘幸 &lt;komat****@taiya*****&gt;<br>
-   $Id: install.html,v 1.14 2004/11/18 11:35:34 komatsu Exp $
+   $Id: install.html,v 1.15 2004/12/10 14:42:28 komatsu Exp $
   </div>
 <!-- End of Footer ======================================== -->
 
Index: prime/doc/index.html
diff -u prime/doc/index.html:1.31 prime/doc/index.html:1.32
--- prime/doc/index.html:1.31	Sun Aug 29 21:49:29 2004
+++ prime/doc/index.html	Fri Dec 10 23:42:28 2004
@@ -24,44 +24,85 @@
    <a href="wiki/">Wiki</a>
    |
    <a href="emacs/">Emacs クライアント</a>
+   |
+   <a href="protocol.html">通信プロトコル</a>
    ]
   </div>
 
   <h2>最新版</h2>
+  <p>
+   prime-0.8.5 と prime-0.9.3 のインストールには、suikyo-2.0.0 の
+   インストールも必要になります。また、効果的な活用のために、最新版の
+   クライアントと単語辞書のインストールもお勧めします。
+  </p>
+
   <h3>prime (PRIME サーバ)</h3>
   <ul>
-   <li><a href="http://prime.sourceforge.jp/src/prime-0.8.4.tar.gz">
-     Ver 0.8.4</a>:
+   <li><a href="http://prime.sourceforge.jp/src/prime-0.8.5.tar.gz">
+     Ver 0.8.5 (安定版)</a>:
     <ul>
-     <li>sudo による実行時に、ホームディレクトリが正しく取得されない
-      問題を修正</li>
-     <li>T-Code 入力で、記号が正しくマスクされない問題を修正</li>
+     <li><em>要 suikyo-2.0.0</em></li>
+     <li>プリエディット機能の大幅な強化</li>
+     <li>単語の用例を表示 (要 prime-dict 0.8.5)</li>
+    </ul>
+   </li>
+   <li><a href="http://prime.sourceforge.jp/src/prime-0.9.3.tar.gz">
+     Ver 0.9.3 (開発版)</a>:
+    <ul>
+     <li><em>要 suikyo-2.0.0</em></li>
+     <li>プリエディット機能の大幅な強化</li>
+     <li>単語の用例を表示 (要 prime-dict 0.8.5)</li>
+     <li>UTF-8, Shift_JIS への対応 (ベータ版)</li>
+     <li>英文入力用の設定を追加 (アルファ版)</li>
+     <li>テキストファイルから辞書の作成機能 (アルファ版)</li>
     </ul>
    </li>
   </ul>
 
   <h3>prime-dict (辞書)</h3>
   <ul>
-   <li><a href="http://prime.sourceforge.jp/src/prime-dict-0.8.4.tar.gz">
-     Ver 0.8.4</a>:
+   <li><a href="http://prime.sourceforge.jp/src/prime-dict-0.8.5.tar.gz">
+     Ver 0.8.5</a>:
     <ul>
      <li>SKK Openlab 辞書を最新版に更新</li>
+     <li>cannadic 辞書を最新版に更新</li>
      <li>PRIME 辞書を最新版に更新</li>
-     <li>語彙数は 4,500語増えて 25万2,900語へ</li>
+     <li>用例項目の追加</li>
+     <li>語彙数は 2,800語増えて 25万5,700語へ (7.0MB)</li>
     </ul>
    </li>
   </ul>
 
   <h3>prime-el (Emacs クライアント)</h3>
   <ul>
-   <li><a href="http://prime.sourceforge.jp/src/prime-el-1.4.2.tar.gz">
-     Ver 1.4.2</a>:
+   <li><a href="http://prime.sourceforge.jp/src/prime-el-1.5.0.tar.gz">
+     Ver 1.5.0</a>:
+    <ul>
+     <li><em>要 prime-0.8.5 or prime-0.9.3</em></li>
+     <li>プリエディット機能の大幅な強化</li>
+     <li>単語の用例を表示 (要 prime-dict 0.8.5)</li>
+    </ul>
+   </li>
+  </ul>
+
+  <h3>uim-prime (uim クライアント)</h3>
+  <p>
+   uim クライアントは、本家 uim でも配布されていますが、リリースのタイミングが
+   異なるため、こちらでも最新版の prime.scm を配布しています。
+   uim 本体をインストールする必要もありますのでご注意ください。
+  </p>
+  <ul>
+   <li><a href="http://prime.sourceforge.jp/src/prime_2004-12-09.scm">
+     2004-12-09 版</a>:
     <ul>
-     <li>UI の細かい設定項目を追加</li>
+     <li><em>要 prime-0.8.5 or prime-0.9.3</em></li>
+     <li>プリエディット機能の大幅な強化</li>
+     <li>単語の用例を表示 (要 prime-dict 0.8.5)</li>
     </ul>
    </li>
   </ul>
 
+
   <h2>予測入力とは</h2>
   <p>
    PRIME は
@@ -205,7 +246,28 @@
 
   <h2>更新履歴</h2>
   <dl>
-   <dt>Ver 0.8.4</a>(2004-08-29)</dt>
+   <dt>Ver 0.8.5 (2004-12-09)</dt>
+   <dd>
+    <ul>
+     <li><em>要 suikyo-2.0.0</em></li>
+     <li>プリエディット機能の大幅な強化</li>
+     <li>単語の用例を表示 (要 prime-dict 0.8.5)</li>
+    </ul>
+   </dd>
+
+   <dt>Ver 0.9.3 (2004-12-09)</dt>
+   <dd>
+    <ul>
+     <li><em>要 suikyo-2.0.0</em></li>
+     <li>プリエディット機能の大幅な強化</li>
+     <li>単語の用例を表示 (要 prime-dict 0.8.5)</li>
+     <li>UTF-8, Shift_JIS への対応 (ベータ版)</li>
+     <li>英文入力用の設定を追加 (アルファ版)</li>
+     <li>テキストファイルから辞書の作成機能 (アルファ版)</li>
+    </ul>
+   </dd>
+
+   <dt>Ver 0.8.4 (2004-08-29)</dt>
    <dd>
     <ul>
      <li>sudo による実行時に、ホームディレクトリが正しく取得されない
@@ -214,14 +276,14 @@
     </ul>
    </dd>
 
-   <dt>Ver 0.8.3.1</a>(2004-06-24)</dt>
+   <dt>Ver 0.8.3.1 (2004-06-24)</dt>
    <dd>
     <ul>
      <li>学習辞書が削除されてしまうバグを修正</li>
     </ul>
    </dd>
 
-   <dt>Ver 0.8.3(2004-06-06)</dt>
+   <dt>Ver 0.8.3 (2004-06-06)</dt>
    <dd>
     <ul>
      <li>uim でのバグを修正</li>
@@ -336,6 +398,8 @@
    <a href="wiki/">Wiki</a>
    |
    <a href="emacs/">Emacs クライアント</a>
+   |
+   <a href="protocol.html">通信プロトコル</a>
    ]
   </div>
   <div class="logo" align="right">
@@ -344,7 +408,7 @@
   </div>
   <div class="id" align="right">
    小松 弘幸 &lt;komat****@taiya*****&gt;<br>
-   $Id: index.html,v 1.31 2004/08/29 12:49:29 komatsu Exp $
+   $Id: index.html,v 1.32 2004/12/10 14:42:28 komatsu Exp $
   </div>
 <!-- End of Footer ======================================== -->
 
Index: prime/doc/dictionary.html
diff -u prime/doc/dictionary.html:1.4 prime/doc/dictionary.html:1.5
--- prime/doc/dictionary.html:1.4	Mon Jun 14 06:23:34 2004
+++ prime/doc/dictionary.html	Fri Dec 10 23:42:28 2004
@@ -24,6 +24,8 @@
    <a href="wiki/">Wiki</a>
    |
    <a href="emacs/">Emacs クライアント</a>
+   |
+   <a href="protocol.html">通信プロトコル</a>
    ]
   </div>
 
@@ -124,6 +126,8 @@
    <a href="wiki/">Wiki</a>
    |
    <a href="emacs/">Emacs クライアント</a>
+   |
+   <a href="protocol.html">通信プロトコル</a>
    ]
   </div>
 
@@ -133,7 +137,7 @@
   </div>
   <div class="id" align="right">
    小松 弘幸 &lt;komat****@taiya*****&gt;<br>
-   $Id: dictionary.html,v 1.4 2004/06/13 21:23:34 komatsu Exp $
+   $Id: dictionary.html,v 1.5 2004/12/10 14:42:28 komatsu Exp $
   </div>
 <!-- End of Footer ======================================== -->
 


Prime-cvs メーリングリストの案内
Zurück zum Archiv-Index