ばば抜き(解説)

トップ / ソフト・ゲームを作るには / 自作ソフトの解説 / 直訳君(解説)

直訳君

 直訳君は英和直訳ソフトです。 ほとんど使えないソフトですが、仕組みが簡単なのでここで紹介します。 (翻訳ソフト以外のソフトにおいて)意外と応用できると思います。

> 直訳君 ダウンロード

和訳の仕組み

 このソフトでは、 Replace という文字を置換する関数を使って英単語を日本語単語に直すことで和訳をしています。 例えば cat を 猫 に置き換えれば、文章中のcatという文字は全て 猫 に置き換わります。 これを、いろいろな単語で順番に行っていくだけです。

ファイルを読み込む

 しかし、この仕組みではコードが非常に長くなり、コードを見直すのが面倒になります。例えば、
 cat を 猫 に置き換ろ。
 dog を 犬 に置き換ろ。
 bird を 鳥 に置き換ろ。
 I を 私は に置き換ろ。
 my を 私の に置き換ろ。
 ...
となって、置き換える文字が増えれば増えるほど、行数が多くなります。

 そこでひとつの方法としては、これらをファイルに保存しておいてそれを読み込むという手があります。 例えば、Dictionary.txtなどのファイルに、以下のようなものを保存しておきます。

 cat 猫
 dog 犬
 bird 鳥
 I 私は
 my 私の

 これをプログラム中からファイルを読み込んで、読み込んだ内容を元に置き換えをします。

 この方法の方が優れている点は、例えば、「Replaceではなくもっと良い方法で翻訳しよう」 と考えた時に、すべてReplaceを使って書いているとReplace関数の部分を全て書き換えなければならなくなりますが、 ファイルから読み込む場合、ファイルから読み込んだ後のReplaceの1ヶ所だけを書き換えればよくなり、 一度作った英語と日本語テキストファイルをそのまま使うことができます。

翻訳

 「直訳君」の場合お遊びで作ったソフトなので、 あまり「翻訳」ということは考えていませんが、 本当に翻訳をしようとした場合はその言語について考えた方が良いと思います。

言語について

 翻訳をするためには翻訳する元となる言語と翻訳後の言語の両方の性質、共通点、相違点などを調べることで、 より精度・効率のよいソフトを作ることができます。 これはについては、プログラミングよりは言語について学んだ方がいいと思います。

 これは私の勝手な考察ですが、 たとえば、「日本語と韓国語」や「英語とドイツ語」のように文法や構造が比較的似ている言語では、 文字を置き換えるだけでも、結構意味が通じると思います。 逆に、「日本語と英語」のように文法がぜんぜん違うものは、 単語の品詞を調べて修飾関係などを考えないとなかなか上手くいかないのではないかと思います。

 このように、いろいろと考えてみることでよりよい方法が見つかると思います。

トップ / ソフト・ゲームを作るには / 自作ソフトの解説 / 直訳君(解説)

トップページ

2006/6/17 更新