So-net無料ブログ作成

Firefox のプリントダイアログの日本語化 [Xcode]

ちょっと一休み。と言うほど、ハイペースでやってる訳じゃあない(と言うか、むしろ超スローペースな)んですが、今回は他の話題を・・。

と言うことで、Macで何かを印刷する時に表示されるプリントダイアログ。 Firefox で実行すると下記の様に表示されます。見ての通り、設定項目は日本語化されていません。

print_dialog.png
英語


まあ、私はいいんですが、「何が書いてあるんかさっぱりわからん」と言う人がいたので、日本語化してみることにしました。

とりあえず、ネットで検索してみたんですが、うまく情報がひっかかりません。誰もやってないのか、キーワードの選択が悪かったのかよくわかりませんが、仕方が無いので、自分でトライしてみました。ここでの方法は Interface Builder を利用しています。Interface Builder は、Xcode Toolsに含まれていて、Xcode Tools をインストールすれば、一緒にインストールされています。なお、Xcode Tools は MacOS X のインストール DVD に添付されていますし、最新版はApple Developer Conectionでダウンロードできます(要登録・無料)。

さて、何からすればいいかが良くわかりませんが、手がかりとしては、ダイアログに表示されている文字列です。まあ、ファイル名のことも考えて、「Print」と言う文字列で Firefox.app の中を検索しました。

0905_search_result.png
これか!?


4つのファイルがひっかかりましたが、該当するものが入っていたのは選択している「PrintPDE.nib」でした。このファイルが含まれていたフォルダのパスは「Firefox.app/Contents/Plug-Ins/PrintPDE.plugin/Contents/Resources/English.lproj/」です。

MacOS X ではアプリケーション上で表示されている文字列は基本的にリソースとしてソースとは別管理されていて、言語毎に用意することができます。なので、おそらく自分で追加が可能なはずです。このフォルダを開いてみると中には「PrintPDE.nib」の他に「Localizable.strings」が入っていました。

0905_english_lproj.png
ファイルが2つ


まず、「Localizable.strings」をテキストエディタで見たところ、ダイアログで表示されている様な文字列が含まれていました。これらの文字列を日本語に変えていけばいいはずですが、先ほども書きました通り言語毎にリソースを作成することができます。これらのファイルが入っているフォルダの名前は「English.lproj」。まあ、英語のリソースなんでしょう。英語のリソースを日本語に変えるのはお行儀が悪いので、このフォルダを複製して「Japanese.lproj」とリネームし、日本語のリソースを作成してしまいます。ちなみに、言語毎のリソースの内、英語はたぶん必須で、現在設定されている言語(私の場合「日本語」で設定)のリソースが無い場合は、そちらが選択されるものと思われます。

0905_japanese_lproj.png
「複製」で作成


まずは、「Localizable.strings」の方を編集します。これはテキストファイルなので、テキストエディタ(私はCotEditorを利用させていただいています。って、今調べたらバージョンがあがってる!)で開いて編集を行います。文字コードは「UTF-16」、改行は「LF」の様です。

各項目は例えば、次の様に左辺にキーワード、右辺に表示文字列となっている様です。

"As laid out on the screen" = "As laid out on the screen";


これを次の様に右辺のみ日本語に変更します。(私が訳してるので、合ってるかどうか微妙かも・・)

"As laid out on the screen" = "画面表示に従う";


で、ここで変えた内容は「一覧」の所で表示されるものの様です。私は中途半端にしか変えていませんが、全ての文字列が変更できる様です。

0905_summary.png
「一覧」表示


さて、肝心のトップページ(?)の部分です。Finderで先ほどの「PrintPDE.nib」をダブルクリックするとInterface Builderが立ち上がり、次の様な画面が表示されます。

0905_print_pde.png
プリントダイアログの定義ファイル


この状態でメニューバーの「Tools」→「Strings」を選択すると文字列定義の一覧が表示されます。

0905_strings.png
わからないところは触らない


ここで、「Value」の項目を日本語に変えていくのですが、各項目がどこに影響するのかが良くわかっていないので、冒頭のプリントダイアログで表示されている文字列(例えば、「Print Selection Only」とか)のみを変更しました。下手して動かなくなったら嫌ですからね・・。

と言うことで、日本語化した結果がこちら。

0905_print_dialog_ja.png
一応、読めます


まあ、これで一応、日本語化できました。一応、こちらに結果のファイルを公開しておきます。全ての動作確認をしたわけではないので、動作が変なところと、また、訳に変なところがあったとしたら、ご容赦を。この記事にコメントを入れていただけるとありがたいです。

ブログを作る(無料) powered by So-netブログ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

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