iPhoneでタイ語辞書 2011
以前のエントリでiPhoneでタイ語辞書を使う方法を投稿しましたが、だいぶネタが古くなったので最近の状況をご紹介します。
まず、使っているのはEBPocket Pro。600円ですが、その価値はあるかと。
このアプリはEPWING形式の辞書およびPDIC形式の辞書を直接開けるのが特徴です。
EPWING形式の辞書は英辞朗や広辞苑などCD-ROM版が多数出版されていて、日本語の紹介サイトも充実しています。
泰日、日泰辞書はこちらにあるPDIC用辞書を使えます。とくさんは2000円払ってメンバーシップシェア版を使っています。
そして、このアプリは多数の辞書を串刺し検索ができ、日本語から英語、タイ語など一度に検索してくれるのでとても便利です。しかも検索が早いです。
今、入れている辞書はEDICT2(標準の英和)、英辞朗V.127(英和、和英)、広辞苑 第六版、PDD百科事典、PDICタイ(泰日、日泰)、WordNet2.0(英英)、そしてLEXiTRON2.6(泰英、英泰)です。
英辞朗は本家からデータをダウンロード(1980円)、テキスト形式のファイルからEBStudioを使ってEPWING形式に変換。変換後のサイズはなんと900MBという怒級のサイズに。
広辞苑もEPWING形式をネットで***して、導入。こちらは460MB。
WordNet2.0も同様にEPWING形式をダウンロード。200MB。
PDD百科事典もネットでダウンロード。72MB。
大変だったのはLEXiTRON。
これはNECTECというタイの情報処理関係の総本山がアップデートし、無償で公開している辞書データで、英泰が8万語、泰英が5万語ほど登録されています。
発音記号や類語、用例、反対語なども登録されており、PDICタイで泰日で検索するより正確な意味が理解できる気がします。
で、こちらはデータのダウンロードだけはできず、検索ソフトと一体でダウンロードandインストールします。 インストールするとアプリのフォルダにApatch Derbyという形式のデータベースファイルが作られます。多分c:¥program files¥lexitron dictionary 2.6¥lexitrondatabase¥以下。
DerbyはSQLiteと同じようなスタンドアロンで使え,組み込みアプリ向けのRDBシステムらしいです。
このDerbyファイルを開くため、Apatch Derbyのバイナリ(zipファイル)をこちらからダウンロード。今日時点では10.6.2.1が最新のようです。
解凍してインストールすると、スタンドアロンで実行、参照、編集が出来るアプリが揃います。
一応以下ではc:¥program files¥derbyにインストールされたものとします。
ローカルでDBを開くには、1. Derbyのパスを通す。 2. ijを起動 3.データベースに接続という手順が必要です。
また、オリジナルが壊れると、困るのでlexitrondatabaseフォルダ以下をそっくりDerbyフォルダにコピーしておきます。
ものぐさな自分のためにバッチファイルを作る事にしました。
内容はこんな感じ
set DERBY_HOME=c:\program files\derby
set JAVA_HOME=c:¥program files¥java¥jre6
set PATH=%DERBY_HOME%¥bin;%PATH%
ij sqlcommand.sql > output.txt
最後の行はijに直接クエリーファイルを渡しています。
クエリーの中身は当該辞書ファイルをエクスポートしやすいように整形したVIEWを作って、ストアドプロシージャでエクスポートするというものです。
また、クエリーの仲でユーザ定義関数というのを作っていますが、これはDerbyのなかにReplaceというコマンドが無かったため仕方なくjavaで関数を作ったものです。
クエリーはこちら
--ローカルファイルの場所を指定してスタンドアロンモードで開く。
connect 'jdbc:derby:c:\program files\derby\lexitrondatabase';
--Replace関数を定義する。replace.classファイルを同じフォルダに置いておく事。
create function Replace(orgStr VARCHAR(1024), oldStr VARCHAR(50),
newStr VARCHAR(50)) RETURNS VARCHAR(1024)
PARAMETER STYLE JAVA NO SQL LANGUAGE JAVA
EXTERNAL NAME 'replace.replace';--英泰辞書のビューを作成する。
CREATE VIEW E2T (WORD,TRANS) AS SELECT REPLACE(REPLACE(SENTRY,'#1',''),'#',' #') ,
REPLACE('[' || SCAT || '] ' || TENTRY || CASE WHEN LENGTH(TRELATE)>1 THEN '
<i>Rel</i> ' || TRELATE ELSE '' END || CASE WHEN LENGTH(SSYN)>1 THEN '
<i>Syn</i> ' || SSYN ELSE '' END || CASE WHEN LENGTH(SANT)>1 THEN '
<i>Ant</i> ' || SANT ELSE '' END,'"','')
FROM DICT2_SENSE;--英泰辞書をエクスポートする。
CALL SYSCS_UTIL.SYSCS_EXPORT_TABLE (null,'E2T', 'LEXiTRON_2.6_ET.CSV', null, null, 'UTF8');
--泰英辞書のビューを作成する。CREATE VIEW T2E (WORD,TRANS,EXP,LEVEL,MEMORY,MODIFY,PRON) AS SELECT
REPLACE(REPLACE(SENTRY,'#1',''),'#',' #'),
REPLACE('[' || SCAT || '] ' || TENTRY || CASE WHEN LENGTH(TRELATE)>1 THEN '
<i>Rel</i> ' || TRELATE ELSE '' END || CASE WHEN LENGTH(SSYN)>1 THEN '
<i>Syn</i> ' || SSYN ELSE '' END || CASE WHEN LENGTH(SANT)>1 THEN '
<i>Ant</i> ' || SANT ELSE '' END,'"',''),REPLACE(SSAMPLE,'"',''),'','','',SIPA
FROM DICT1_SENSE;--泰英辞書をエクスポートする。
CALL SYSCS_UTIL.SYSCS_EXPORT_TABLE (null, 'T2E', 'LEXiTRON_2.6_TE.CSV', null, null, 'UTF8');
--オリジナルの英泰辞書をエクスポートする。
CALL SYSCS_UTIL.SYSCS_EXPORT_TABLE (null, 'DICT2_SENSE','ORIGINAL_ENTH.CSV', null, null, 'UTF8');
--オリジナルの泰英辞書をエクスポートする。
CALL SYSCS_UTIL.SYSCS_EXPORT_TABLE (null, 'DICT1_SENSE','ORIGINAL_THEN.CSV', null, null, 'UTF8');
--ビューと関数を削除
DROP VIEW E2T;
DROP VIEW T2E;
drop function Replace;disconnect;
exit;
javaの関数はこちら
public class replace {
public static String replace (String orgStr, String oldStr, String newStr) {
return orgStr.replace(oldStr, newStr);
}
}
コンパイル済みのreplace.classはこちら(0.4kb)
これで、PDICに読ませるためのCSVファイルが出来ました。
っと、忘れてた、タイ英はこのまま読ませられますが、英タイはもう一工夫必要だった。
それは出来たCSVファイルの先頭にword,transを追加する事。
これをしないと辞書インポート中にエラーになります。
PDICはユニコード版を使います。タイ文字を使うんだから当然ですよね。
ユニコード版の最新は5.4.23です。ダウンロードはこちら
辞書のインポートはファイルー辞書設定(詳細)をクリック。
開いたダイアログの右側のペインで右クリックー既存辞書の追加ー開いたファイル選択ダイアログで、ファイルタイプをCSVに、先ほどのバッチファイルで作成したファイルを選択(多分LEXiTRON_2.6_ET.CSVとLEXiTRON_2.6_TE.CSV)を一つずつインポート。
これで、多分My DocumentsのPDICフォルダにLEXiTRON_2.6_ET.dicとLEXiTRON_2.6_TE.dicができるはずなので、これをiPhoneにFTPで転送。転送先はEBpocket以下。
LEXiTRONデータは無償配布可と思われるのでここにPDIC形式に変換済みのものを置いておきます。
よかったらダウンして使ってみてください。
LEXiTRON Dictionary ver 2.6 PDIC format <Available on PBPocket for iOS>Download Here
英タイ(Endlish-Thai) LEXiTRON_2.6_ET.dic 6.78MB
タイ英(Thai-English) LEXiTRON_2.6_TE.dic 7.26MB
追記 2011/1/31
コメントにいただきました、タイ語Wikipediaですが、EBPocketで表示できるようですが、文字コード or フォントの問題で母音,声調記号が正しく表示できないようです。
EPWingはたしかS_JISの文字コードしか扱わなかったはずですのでこのような結果になるのでは?
私もLEXiTRONをEPWINGに変換しようと試行錯誤しましたがユニコードを扱えないという制約を乗り越えることができずPDIC形式にしました。
ご参考になりましたでしょうか?

LEXiTRONはこんな風に表示されます。

PDICタイはこんな感じです。

追記 2011/5/1
GoogleDocsからダウンロードできない不具合が発生しているようなのでMEGAUPLOADにも置く事にしました。
LEXiTRON_2.6_ET
LEXiTRON_2.6_TE


















最近のコメント