日本語でiTunesを使うとジャンルが勝手に書き換わる
日本語でiTunesを使っていると、ジャンルが勝手に日本語に書き換わるわけです。それが嫌でずっと英語で使っていたんですが、iTunesのバージョンを上げる度に日本語を切るのもメンドクサイわけです。ジャンルに関しては、ものすごく細かく分けていて、邦楽のロックであれば「ロック」だし、洋楽のロックであれば「Rock」となっています。
アーティスト数が少なければ、ジャンルなんかどうでもいいんですが、アーティスト数が300を越えた辺りからiPodでの操作が困難になってくるので、ジャンル→アーティスト→アルバムという追い方になってくるわけです。
これが勝手に書き換わるというのは、音楽ライフにおいて死活問題です。これを回避するにはどうしたらいいか。
iTunesというか、Appleソフトウェアにはローカライズ用のファイルがあって、English.lprojとか、Japanese.lprojとか、そんなディレクトリがあって、Localizable.stringsというファイルがあります。どうやら、ジャンルが書き換わるのもここらへんが影響しているのは間違いなさそう。この.stringsファイルは”Key” = “Value”というフォーマットになっているので、日本語のジャンルに対応するValueを英語のValueに書き換えてしまえば、勝手にジャンルが書き換わることはありません。
んで、肝心のジャンルに対応するKeyは9200番台です。9200.***、9201.***、9202.***がジャンルのKeyです。ここの値をコピー&ペーストで・・・メンドクセ。バージョン上がる度にコピー&ペーストというのは、非効率的です。ネットしたりネットしたりネットリしたり、忙しいんです。
ということで、ジャンルだけを書き換えたLocalizable.stringsを作るスクリプトを書きました。Macのみで動きます。iTunes 8.1で動作確認しています。Windowsユーザーのことは知りませんが、定数を変えれば動くかもしれません。(iTunes 8.2だとおかしくなるっぽいので削除)
あくまで自分用というスタンスで作っているので、使用は自己責任でお願いしますね。転んでも泣かないように。
使い方
- ターミナルを起動
- ダウンロードしたディレクトリに移動(cd [ダウンロード先])
- スクリプトを実行(ruby genre.rb)
実行後に、Applications/iTunes/Contents/Resources/Japanese.lprojにLocalizable.strings.bakというファイルができます。これはスクリプト実行前のバックアップファイルです。バックアップファイルがすでに存在している場合(例えば2度目の実行とか)は、バックアップファイルは作成しません。
Localizable.stringsの9200番台が日本語から英語に書き換わっている(はず)です。