English Japanese Kawa.netxp [Ajax] 中国語の漢字にピンインのローマ字ルビ

(デモページはこちらです)
デモページは ajax で実装しています。また、ウェブサービス API としても利用できます。
サーバ側の Perl/CGI とは、 POX over HTTPで通信します。

本ウェブサービスの技術仕様

このページでは、HTTP POST メソッドで Perl/CGI を呼び出して、 結果を JavaScript で画面上に表示しています。
サーバ内部では、 cxterm に含まれる辞書ファイル PY.tit(北京語用)、CTLauBig5.tit(広東語用)を利用して、 ピン音を付与した XML ファイルを生成します。

内部で使用している変換モジュール本体 Lingua::ZH::Romanize::Pinyin も公開しています。

リクエスト仕様

サーバ側 CGI の URL は
http://www.kawa.net/works/ajax/romanize/romanize.cgi
です。POST メソッドで以下の引数を指定してアクセスします。

mode=モード&ie=文字コード&q=クエリ

モードは、mode=pinyin(北京語)または mode=cantonese(広東語)のいずれかです。
文字コードは、ie=UTF-8 が標準です。 ie=BIG5 とか ie=GB2312 も使えるかも?
クエリは、中国語を URL エンコードした文字列を指定します。

レスポンス仕様(POX over HTTP)

サーバからのレスポンスは、POX (Plain Old XML/オレオレ言語) です。

<?xml version="1.0" encoding="UTF-8" ?>
<ul>
  <li>
    <span title="ni">你</span>
    <span title="hao">好</span>
  </li>
</ul>

<ul> 要素がドキュメントルートです。
クエリ1行ごとに <li> 要素が登場します。
漢字1文字ごとに <span> 要素が登場します。
<span title="~"> 属性として、ローマ字(ピンイン)が入ります。
漢字以外の文字列については、title 属性ナシの <span> 要素に入ります。

HTML 準拠の <ul> <li> <span> 要素のみを使用しているので、 そのコードのままブラウザで表示させようと思えば、表示できます。

動作確認に便利な中国語サイト

日本語環境で中国語を入力するのは大変なので、コピー&ペーストなどするのが現実的かと。

もちろん、日本の漢字もほとんどが中国語にも存在する漢字なので、 自分の名前(川崎有亮など)を試すのも吉。

コメントはこちらに by AjaxCom

その他のページへのリンク

Kawa.netxp © Copyright 2003-2010 Yusuke Kawasaki