1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Javaベースの翻訳メモリ"OmegaT"で、タイ語と日本語を混在使用できるようにする方法

Posted at

#OmegaTとは
まあ、検索でこの記事にたどり着いた人には必要のない文章だが、念のためこのタイトルから始めておこう。
OmegaTとは"Javaベースで開発が進められている翻訳メモリソフトウェア"である。翻訳メモリという言葉に馴染みがない人には全く知らない言葉だろうが、私もそんなに使いこなせているわけではないので

  1. マークアップとか制御情報とかが含まれているファイルの中から
  2. 異国の言葉だけを抜き出して
  3. それを文章ごとに切り分けて
  4. 文章ごとに翻訳した内容を覚えていてくれて
  5. 同じ文章には同じ翻訳を当てはめつつ
  6. 後でそれぞれ違う翻訳を付けることも出来る

という、"ズボラにはとてもありがたい翻訳支援ツール"程度の認識しかない。そして、私のOmegaTの利用法といえば、「他のツールで作り出したSRT字幕ファイルを日本語に翻訳する」という利用一択だったりもするのである。

#OmegaTの設定方法がわかりにくい理由

さて、そのOmegaTだが、設定方法はとてもわかりにくい。それは、OmegaTが「きっちり設定が出来たらあとは設定変更などいらない」ツールであることもある。特に、英語のファイルを日本語に翻訳するくらいの用途であれば、何の設定変更もなしで使えてしまうのだ。そして、私のような文字で書いてあればなんとか分かるけれどもタイ訛りで喋られたら何がなんだかわからないんだよな翻訳者がそれでも手持ちの情報を使ってなんとかしようと思った時にはまるのである。

ただ、こうやってはまると検索に難儀することになる。ほとんどの人はOmegaTではまっていないから情報がないのである。しょうがないので私も小手先の設定変更でなんとかこなしていたのだが、ついに3言語の同時表示ではまることになってしまった。そして表題のことがOmegaTの設定で解決できない理由に気がついてしまった。そう、複数言語できちんと表示する設定はOmegaTにはないのである。OmegaTはJavaで動いているから、そういうどうでもいいことはJavaで設定しなければならないのであった。これはわかりにくい。

ちなみに自分はJavaプログラミングの経験はほとんどない。野良iアプリを1,2個作って、ケータイ用Javaは完璧に理解したとうそぶくくらいの経験だ。ぜんぜん経験がないのがわかってもらえると思う。

#Javaのフォント設定はきちんとドキュメント化されているが……

さて、フォントについては
https://docs.oracle.com/javase/jp/1.5.0/guide/intl/fontconfig.html
こんなところにある。ただしJavaのドキュメントの面倒なところはどこからがプログラミングに直接関わるところで、どこからがアプリのユーザー向けかわからないところだ。

足りない脳みその私が知恵をしぼってこれを読んだ結果、わかったのは、ユーザーでもJREの入っているフォルダ内のlibフォルダにある
fontconfig.properties
をいじればなんとかなるということである。

だから、表題のことをしたい人はとりあえずOmegaTのインストールされているフォルダにあるJREの中を探して「fontconfig.properties」を探していただきたい。

そして、似た名前のファイルはあるが、そんなファイルはないことに気がつくはずだ。

#最初の状態では、設定ファイルなどない

そうなのだ。最初の状態ではJREにユーザー設定ファイルなどないのだ。ただありがたいことに、fontconfig.properties.srcなるファイルはある。これをfontconfig.propertiesにコピーリネームして置けば、最初の準備が完了する(管理者モードでfontconfig.properties.srcを開いて、fontconfig.propertiesと名前をつけて保存すればいい)。

#どこにフォントの指定をするか。

Javaは複数のOS下で動くようになっているため、論理フォントなるフォントが用意されているそうなのである。Serif,Sans-serif,Monospace,Dialog,DialogInputなる5つのフォントがそれだ。OmegaTで字体設定をやった時に、入れたような気がするフォントの他にこれらのフォント名を見たことがあると思う。おそらく何がなんだかわからない人は他のサイトを見てDialogにフォント設定しているような気がする。だから、Dialogにタイ語の設定もしておけば、Dialogでは豆腐になってしまうタイ文字もきちんとタイ語で表示されるはずなのだ。

#解決方法(使用フォントをDirectにしている場合)

具体的にはdialog.plain.ほにゃららと並んでいるところの一番下に
dialog.plain.thai=Noto Sans Thai
こう書く。
ここまで全く説明していなかったが、私のPCにはNoto Sans Thaiが既にインストールされている。
https://www.google.com/get/noto/
入っていない人は適宜自分のところに入っているタイ文字フォント名を書くか、上記ダウンロードサイトからインストールすべし。日本語フォントと違ってそんなにファイルサイズも大きくない。

で、これ以外にbold,italic,bolditalicについても適宜書く。
dialog.bold.thai=Noto Sans Thai Bold
dialog.italic.thai=Noto Sans Thai
dialog.bolditalic.thai=Noto Sans Thai Bold

そして、ここに書いたフォント名を実際のフォントファイルと関連付ける
filename.Noto_Sans_Thai=NotoSansThai-Regular.ttf
filename.Noto_Sans_Thai_Bold=NotoSansThai-Bold.ttf
これらのことを管理者モードで開いたファイルに書いたら保存する。
これでタイ語と日本語を混在使用できるようになったはずだ。

#残る謎

昔はOmegaT上の設定でDialogを選んでおけばこんなことはしなくてもタイ文字が出ていたはずなのだが、いつの間にか、タイ語フォントを選ぶと日本語が出ず、日本語フォントを選ぶとタイ語が出なくなるようになってしまっていた。それが何に起因するものなのかは調べられていない。

日本語フォントとタイ語フォントは、慣れの問題もあるが同じフォントサイズで表示すると見づらい。例えば日本語で12ポイントにしたらタイ語は16~20ポイントにしないと同等の大きさに見えない。混在使用するならこの大きさもなんとかしたいのだが、大きさの設定方法は見つけていない。

タイ語以外でも、どこの非欧米アルファベット文字でも、そのロケール名がわかれば似たような設定が出来るはずだが、タイ語以外の設定はわからない。聞かれても調べるつもりもない。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?