2007年11月20日

Firefoxを多言語対応にする方法

そんなこんなで、Firefoxを多言語で使えるようにしてテストしてます。現在僕のFirefoxでは、メニューを英語や韓国語にしたりするとちゃんとその音声でメニューを読み上げてくれてるわけです。おもしろいです。

この方法を解説してみましょう。音声の入れ方は後回しにして、まずFirefoxを多言語対応にしてみましょう。知ってる人は知ってるでしょうが、その方法を書いておきます。

まず、firefoxを使っていない人は、日本語版Firefoxを持ってきて、インストールします。次のリンクです。
Mozilla Japan - Firefox

無料ダウンロード というところをクリックすれば、ダウンロードが始まるはずです。指示に従ってインストールします。


Firefoxがインストールされたら、次は「Locale Switcher」という拡張機能を組み込みます。似たような機能の「Quick Locale Switcher」というのもありますが、今回は「Locale Switcher」を入れてみます。

Firefoxで次のページを開いて、拡張機能をダウンロードして組み込みます。ページの上の方で許可を求めるメッセージが表示されるかもしれませんが、そのときは許可を与えてください。指示に従って、再起動させれば、完了です。
Locale Switcher :: Firefox Add-ons


これによりFirefoxに言語パックを切り替える機能が追加されました。言語パックとはメニューの項目名などその言語用の用意されたファイル群です。ツールメニューを開き、その中にある言語パックのサブメニューを見ると「日本語」があるはずです。


今度は、英語版Firefoxをインストールしましょう。英語を使えるようにするには、Firefoxの英語版をインストールします。先ほどの日本語版を入れたときと同じ要領です。英語版は次のページの下の方に置いてあります。
その他のシステムと言語


インストールの作業は英語での指示ですが、先ほどの日本語版をインストールしたので同じことをやれば問題ありません。起動させると、前回とは違ってメニューが英語のFirefoxが立ち上がるはずです。ツールメニューの言語パックのサブメニューを開いてみます。英語なので、表記はtoolsメニュー、Languages項目になっているはずです。メニューを開くとEnglish(United State)とJapaneseが並んでいるはずです。

ここにあるJapanese日本語を選びましょう。そしていったんFirefoxを終了させ、再び起動させます。すると馴染みの日本語メニューのFirefoxが現れます。

※追記
最初から英語でインストールするよりも、日本語で手順を知ってからやった方がわかりやすいので、このような方法にしましたが、英語の説明が読めれば、最初から英語版をインストールして下記の方法で日本語の言語パックを入れてもかまいません。
ただ、上記の方法でも英語版のみのインストールでも、英語版Firefoxを最後にインストールするとちょっと都合が悪いことがあります。それはセーフモードでの起動の時に、英語版が起動してしまうことです。この問題はもう一度日本語版Firefoxを上書きインストールすることで対処できます。
※追記終わり

いろんな言語を入れてみましょう。英語以外は拡張機能ファイルの形で言語パックが配布されています。それをさっき入れた拡張機能と同様に組み込んでいけばいいです。

各言語パックが置いてあるのは、次のリンクです。これはWindows用Firefoxのバージョン2.09用のリンクです。
ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.9/win32/xpi/

Windows以外を使っているときや既にバージョンがあがっているときは、次のリンクから対応OSの対応バージョンのxpiディレクトリまで自力でたどり着いて下さい。
ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/


たくさんのxpiファイルが並んでいるので、この中から必要なものを見つけます。複数の地域で話されている言語の場合は、言語の略語と地域の略語の組み合わせになっているはずです。例えば、ポルトガル語(pt-PT)とブラジル・ポルトガル語(pt-BR)となります。

インストールが完了すれば、これでいろんな言語でメニューが表示されるFirefoxのできあがりです。「ツール」メニューの「言語パック」にあるメニューで言語を選び、再起動させれば切り替えられるようになります。


さっき名前を出した「Quick Locale Switcher」は、より細かな指定ができる拡張機能です。「Locale Switcher」では言語パックが用意されていないロケールには切り替えられませんが、「Quick Locale Switcher」ではあらゆるロケールに切り替えることができるようになります。再起動も自動化できます。ただ今回のFire Voxで遊ぶだけならば単純な方の「Locale Switcher」で十分です。ちなみに、ロケールというのは、言語や地域ごとで決まっている表記規則の集まりのことで、言語と地域の略号によって表されるロケール名で区別されます。具体的な例として、Firefoxのメニュー文字列はロケールによって切り替わっています。
Quick Locale Switcher :: Firefox Add-ons


posted by takayan at 18:00 | Comment(0) | TrackBack(1) | Fire Vox | このブログの読者になる | 更新情報をチェックする

音声選択の修正

今回のFire Voxの改造において、どの言語の音声で発音させるかのルールは次の通りにしていました。
なお、ページの言語指定というのはHTMLタグのxml:lang属性などによる言語指定のことです。さっき読ませて分かったのですが、seesaaブログではちゃんと"ja"に指定されています。

・メニューおよびイベントの読みは、Firefoxのロケールの言語の音声。そのロケールの言語の音声が用意されていなければ、Windowsの既定の音声。
・ページの文字列の読みは、言語指定が無いときは、メニューおよびイベントの読みと同じにする。
・ページの文字列の読みは、言語指定があるときは、指定されている言語。指定されている言語の音声が見つからなければ、言語指定がないものとして扱う。
・言語指定を無視するように設定されているときは、ページの文字列の読みは、言語指定がないものとして扱う。
・ただし、ページの文字列でも、タイトル名など要素と密接なものは、やむを得ずメニューやイベントの読みの音声となっている。

よく考えてみると、このルールだと、言語指定がないときは、そのメニューに使われている文字列と同じ言語だと解釈してしまいます。

具体的に説明すると、日本語のメニューが表示されているFirefoxで日本語の文書を読んでいるときは問題はありませんが、言語指定のない外国語のページを読もうとすると(例えばYahoo!USA)、そのページも必ず日本語で読もうとしてしまいます。言語指定が無くても、英語のページは英語で読めた方がいいわけですが、今回の改造だと、英語版のFirefoxに切り替えない限り英語では読んでくれません。本家の場合は、言語指定の無いページはWindowsの既定の音声で読んでくれるので、コントロールパネルでこの設定を切り替えることで解決します。

現状ではHTMLタグに言語指定のあるページの方が少ないはずですから、この切り替えは簡単な方がいいでしょう。僕の改造のようにFirefoxのロケールを書き換えないといけないのでは困ります。せっかく、イベントの読みとページの読みを分けた意味が無くなります。つまりこの改造は改悪になっています。これは余計な改造でした。

上記の二番目のルールは、本家と同じように次のようになるべきです。

・ページの文字列の読みは、言語指定が無いときは、Windowsの既定の音声とする。

言語を指定できるようにするのもいいかもしれません。現在利用できる音声のリストを用意しておいて、メニューバーやボタンを使ってそのページを読ませる音声を選ぶようにしてもいいでしょう。この機能があると便利です。ただこのプログラムを作るのは今すぐには無理なので今回の修正では見送ります。こういう改造は別系列を作ってやるべきかもしれません。

そういうわけで、ページの文字列を思い通りの音声で読んでくれないときは面倒ですがコントロールパネルの「音声認識」で既定の声に切り替えてください。将来的にはFirefox上から切り替えられればいいなと思っています。

そういうわけで、xpiファイルを更新しました。バージョンナンバーをどうしようか決めかねてるので、今のところ同じ名前で置いておきます。

ダウンロード(clc-4-tts_bundle_v3.4_jp.xpi)



posted by takayan at 00:51 | Comment(0) | TrackBack(0) | Fire Vox | このブログの読者になる | 更新情報をチェックする
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。