Showing posts with label 英語. Show all posts
Showing posts with label 英語. Show all posts

27 Mar 2011

英辞郎 を StarDict と Android で使う

英辞郎は、前にもちょっとだけ触れたが、見出し語の数182万 (Ver.128時点) を誇るスーパー電子英和/和英辞書である (正確には辞書データ)。

検索ソフトは StarDict が最強。複数辞書の串刺し検索ができるし、Windows と Linux の両方で使える。
Android 端末には、ColorDict。StarDict の辞書データがそのまま使えて、やはり串刺し検索もできる。

大昔に変換したデータを今まで使い回していたのだが、英辞郎の最新版を何年かぶりで購入したら、辞書データの変換のしかたをすっかり忘れていた。改めて一からやり直したので、ここにまとめておく。
なお、変換を行った環境は Windows XP である。Ubuntu 等の Linux でも、ほぼ同じ手順でできるはず。

準備するもの:
ActivePerl (使った版数は v5.12.2.1202)
StarDict Editor (Linux の場合は StarDict Tools)

辞書データ変換手順:

1. 文末の Perl スクリプトで、英辞郎のデータを、StarDict Editor が読み込める形式に変換する。
Perl スクリプトのファイル名: eiji2sd.pl
英辞郎データのファイル名: EIJI-128.TXT
出力先のファイル名: eiji-128-sd.txt
とすると、コマンドプロンプトから、
C:\>perl eiji2sd.pl EIJI-128.TXT > eiji-128-sd.txt

2. StarDict Editor で、上で変換したファイルを、さらに StarDict 形式に変換する。

StarDict の設定:
1. 上でできあがった .dict, .idx, .ifo の 3つのファイルを、C:\Program Files\StarDict\dic に入れる。
2. StarDict を起動して、Manage Dictionary の Dict List タブに今入れた辞書が表示されているのを確認し、Manage Dict タブでその辞書にチェックを入れ (自動的に入っているはず) 好みで表示順を設定する。

ColorDict (Android) の設定:
1. 上でできあがった .dict, .idx, .ifo の 3つのファイルを、/sdcard/dictdata に入れる。
2. ColorDict を起動すると、Indexing dictionaries と表示されてしばらく待たされる。終わったら、Dicts タブに今入れた辞書が表示されているのを確認し、好みで表示順などを設定する。

おまけ:
.ifo ファイルを編集して、bookname= の行を例えば bookname=英辞郎英和 v128 のようにしておくと、それが、StarDict や ColorDict の辞書一覧と画面に表示されるようになる。必ず utf-8 の BOM 無し で保存すること。

なお、Linux の StarDict Tools では、dictzip で .dict ファイルを .dict.dz に圧縮できるが、Android の ColorDict はこの圧縮形式に対応していないので注意。


英辞郎→StartDict Editor TAB 形式 変換 Perl スクリプト
(注意1: 文字コードは utf8 で保存すること)
(注意2: 和英辞郎には、見出し語に "文章" が入っているが、それはこのスクプリトで取り除いている。StarDict がクラッシュするので、試行錯誤で見つけた解決策。なので、根本的な真の原因かどうかはわからない。)



use strict;
use utf8;
use Encode;


my ($key, $value, $word, $class, $prevword, $in) = ('', '', '', '', '');
my %desc;
my %classvalue = (
'語源' => 23,
'名' => 22,
'代' => 21,
'動' => 20,
'自他動' => 19,
'他動' => 18,
'自動' => 17,
'形' => 16,
'副' => 15,
'助動' => 14,
'前' => 13,
'助' => 12,
'接続' => 11,
'接頭' => 10,
'接尾' => 9,
'間' => 8,
'句動' => 7,
'句他動' => 6,
'句自動' => 5,
'略' => 4,
'人名' => 3,
'地名' => 2,
'組織' => 1
);


while (<>) {
chomp;
$in = decode('cp932', $_);
if ( ($key, $value) = ($in =~ m/^■(.+) : (.+)$/) ) {
if ( $key =~ m/^([^\{]*[^\{\s])\s+\{([^\}]+)\}$/ ) {
($word, $class) = ($1, $2);
}
else {
($word, $class) = ($key, '-');
}

$value =~ s/\\/\\\\/g;
$value =~ s/■・/\\n   /g;
$value =~ s/■/\\n/g;
$value =~ s/([a-zA-Z]+)・/$1‧/g;


# $value =~ s/{[ぁ-ゔ/()・_ー ]+}//g; # to remove (most of) FURIGANAs
# $value =~ s/【@】([^、【]+、)+//; # to remove KANA pronunciations


if ( $word !~ m/[。、]/ ) { # to remove sentences, i.e. non-words, in order to avoid StarDict crashing
if ( ($word ne $prevword) && ($prevword ne '') ) {
flush($prevword, %desc);
undef %desc;
}
$desc{$class} = $value;
$prevword = $word;
}
}
else {
print STDERR encode('cp932', "irregular line[$.]: $in\n");
}
($key, $value, $word, $class) = ('', '', '', '');
}
flush($prevword, %desc);


sub flush {
my ($word, %desc) = @_;
my ($key);

print encode('utf8', "$word\t");
if ( $desc{'-'} ) {
print encode('utf8', "$desc{'-'}\\n");
delete $desc{'-'};
}
foreach $key (sort byclass keys %desc) {
print encode('utf8', "〖$key〗$desc{$key}\\n");
}
print "\n";
}


sub byclass {
my ($as, $ac, $am) = ( $a =~ m/^(?:([0-9]+)\-)?([^\-\s]+)(?:\-([0-9]+))?/ );
my ($bs, $bc, $bm) = ( $b =~ m/^(?:([0-9]+)\-)?([^\-\s]+)(?:\-([0-9]+))?/ );
my @diffs = ($as - $bs, $ac - $bc, $classvalue{$bc} - $classvalue{$ac}, $ac cmp $bc, $am - $bm);
my $diff;


foreach $diff (@diffs) {
if ($diff != 0) {
return $diff;
}
}
return 0;
}

27 Jan 2009

VISUWORDS + おすすめオンライン辞書

英文を書いていると、似たような意味の単語がいくつもあるんだけどここではどれを使うといいんだろうとか、同じ言葉の繰り返しがいやで同じ意味の他の単語が欲しいとか、この単語だと意味はだいたい合ってるんだけどちょっとニュアンスが違うんだよなーとかいう場合がままある。こういう場合に役立つ類義語辞典 (シソーラス / Thesaurus) はいくつかあるが、いくつもの単語の間を行ったりきたりするのはそれなりに面倒だし、だんだんわけも分からなくなってくる。

そういう時には、類義語の関係をグラフィカルに図に表してくれる便利なツールがある。私が最初使っていたのは Visual Thesaurus だが、基本的に有料サービスで、無料利用には回数制限がある。

最近見つけたのが VISUWORDS。これはこのごろ流行りのオープンソースで、利用も無料 (寄付は歓迎されている)。左の図のように、検索語と類義語の関係をグラフィカルに表示してくれる。類義語をダブルクリックするとさらにその先の枝が生える。マウスホイールを回すとズームする。本来の機能とは関係ないが、単語が、モグワイが分裂する時みたいにぼよんぼよんと出現した後うにょうにょと広がっていく気持ちの悪い動きは、何度も見ているうちに病み付きになる:-)

他に、普通の(?) 辞書としておすすめなのが、英和・和英ではもう言わずもがなの 英辞郎 (ALC 提供のオンライン版はこっち)。圧倒的な語彙は、契約関係の用語などビジネス用語は余裕で網羅して、まずミスヒットすることはない。(が、英国特有の表現がたまに載っていない。英国恐るべし...。)

Dictionary Thesaurus

英英辞典とシソーラスなら、Merriam Webster がおすすめ。ここのいいところは、ほとんどの単語に音声データがついていること。発音が分からない単語も一耳(!)瞭然でとても便利。おまけで、こういう widget もある→

にほんブログ村 英語ブログへ click! ←にほんブログ村ランキング参加中!

4 Aug 2008

Van Gogh の発音

そういえば、Van Gogh の発音は (無理にカタカナで書くと)

  • 米: ヴァン ゴー
  • 英: ヴァン ゴフ

だったりする。英国英語の方が、元のオランダ語に近いようだ。

27 Jul 2008

英国の英語

英国で見かける英語、英国人の話す英語は、なんか変。いや、英語は英国が本家だろうって?

まぁ、単に我々日本人がどっぷり米国英語に浸りすぎているだけなのかもしれない。私は「外国に行ったら "toilet" は便器のことですよ、トイレは "restroom" とか "bathroom" と言いましょう」と習った記憶があるのだが、初めて英国に来た時に、トイレの入口に力一杯 "Toilet" と書いてあって面食らった。

日常よく使う単語でも米国英語と英国英語で意味が違ったりするので、こっちが話す分には英国人はわかっていて通じるから支障ないが、こっちが聞いたり読んだりする場合は知っていないととまどう。いくつか例をあげてみたら、空港から地下鉄でホテルに入る、みたいな感じになった:-)

単語意味
米国英語英国英語
荷車carttrolley"No trolley beyond this point" = この先荷車禁止
地下鉄subwayundergroundsubwayは地下
列に並ぶmake linequeue"Queue here" と書いてある所に並ぼう
現金自動受払機ATMcash machine.
(通貨の) お札billnote自販機のお札入口には "Notes" と書いてある
片道one waysingle切符売場で "Single or return ?"ときかれたらこのこと
往復round tripreturn
出口exitway out.
予約reservationbooking米国でも "double booking" みたいに使うこともある
携帯電話cell phonemobile (phone).
郵便番号zip codepostcode.

英国の高校では IT の授業で「IT 用語はみんな米国英語ですからねー、みなさん気をつけましょう」と最初に教えるそうである。でないと、"<div align=centre>" とか書いてしまう子が続出するらしい。

でも、うちの子が学校のテストで米国綴りで書いて×をもらってきたのにはちょっと驚いた。外国人も多い学校なのに、米国人がいたら怒るぞ。翻って、日本に帰った時に学校で英国式に綴ったら×をもらわないか心配...

ちなみに、英国以外のヨーロッパの各国でも、英語標記する場合は英国英語が使われるのが普通。

26 Jul 2008

オススメ英語 podcast

私が「愛聴」している英語の podcast をご紹介したい。

The Bob and Rob show

日本在住の英国人 Rob と米国人 Bob のかけあい漫才 英語トーク。

英国英語と米国英語の違いを紹介する "Both sides of the pond" というコーナーもある。

話し速度は、英語初心者の方にはちょっとしんどいかもしれないが、比較的ゆっくりで発音も明瞭なので、これからリスニングを鍛えたい方にはオススメ。

配信は、非会員は2週間に1回、有料の会員は1週間に1回。iTunes から登録可能。

--

追記(2008/12/01): 残念ながら、2008年9月で終了してしまった。過去コンテンツの購入は現在も可能。(一部無料)

A8 #1

adds by Google

A8 #2

amazon

scouter

scouter: fisheater