Cocoa アプリのローカライズ

(2005/10/07 記)

 せっかく多言語対応の OS を使っているのに、自分でプログラムを書く時はローカライズのことを考えずに英語(ないしは日本語)決め打ちで作ってしまうことが多い。要するに面倒くさいからなのだが、必要な事項を覚え書きでまとめておけば多少は面倒さが減るかもしれないので、メモしておく。

1. 文字列定数

 言うまでもなく、ソースコードに文字列を直接書き込んでしまうのが一番いけない。必要な手順は次の通り。

 Unicode ファイルを使う時の一般的な問題だが、バックスラッシュの取り扱いに注意が必要。エディタの種類・設定によっては、バックスラッシュ (0x5c) を円マーク (0xa5) で保存してしまうことがある。僕は mi 2.1.5 をデフォルト状態で使っていてハマってしまった。Xcode のエディタで編集し直してしのいだが、あとで見たら mi にもバックスラッシュを 0x5c で保存するための設定がちゃんとあった(「モードの設定」の中の「文字コード」)。

2. Nib ファイル、strings ファイルなどのローカライズ対応

 Xcode の Groups & Files カラムでファイルを選んで Get Info (command-I) し、"Make File Localizable" を押すと、そのファイルが English.lproj の中に移動され、ローカライズ対応になる。

3. AppleGlot を使う

 手動で nib ファイル、strings ファイルなどを Japanese.lproj フォルダにコピーして書き換えるのは面倒だし、間違いも多くなる。Apple 純正のローカライズツールの AppleGlot を使えば、テキストベースでローカライズができる。ちょっと使い方は複雑なのだが、わかってしまえば難しくはない。AppleGlot は Apple Developer Connection の Localization Tools のページからダウンロードできる。一般的な手順は下の通り。

 なお、この手順を考え出すにあたっては、nakamuxu さんが公開されている CotEditor のローカライズファイルに同梱されているメモを参考にしました。