iPhoneアプリのメニュー・ラベルの文字列を変更する方法

iPhoneアプリでメニューのラベル文字列を変更したいと思ったことはないでしょうか?たとえば、ツイッター・クライアントの1つである”Twittelator”ではタイムラインのことを英語で”Friends”、日本語で”フレンド”と表記していますが、個人的には違和感があります。これを”タイムライン”と修正することができます。

注意喚起情報
この方法はいわゆる脱獄(JailBreak)は不要ですが、操作方法を誤ると当該アプリのデータまたは設定内容が失われる可能性がありますので注意してください。
脱獄と違ってシステム領域には影響しないので文鎮化することはまずないでしょう。

始める前に母艦に準備するソフトウェア
iPhone Explorer(フリーウェア)を http://www.macroplant.com/iphoneexplorer/ からダウンロードし母艦にインストールします。

Property List Editorをインストールします。TwittelatorのLocalizable.stringsはバイナリフォーマットのためテキストエディタだと編集できませんので専用エディタが必要になります。テキストエディタで編集できる場合もありますが、plistを修正する場合はこの専用エディタを使った方がよいでしょう。

Mac版 – Apple: PlistEdit Pro 1.5
Windows版 – plist Editor for Windows (Freeware)

  1. iPhoneを母艦に接続します
    iPod touch、iPadでは確認していませんが同じ方法で変更できると思います。

  2. iPhoneからLocalizable.stringsを母艦側にコピーします
    iPhone Explorerを起動し、Apps>Twittelator.app>Japanese.lprojから”Localizable.strings”をドラッグ&ドロップで母艦にコピーします。iPhone側のLocalizable.stringsはファイル名を変更し、”Localizable_org.strings”のように元に戻せるようにバックアップを置いておきます。

  3. Property List Editorで編集します
    母艦にコピーした”Localizable.strings”を開きます。ファイルの拡張子は”.strings”ですが中身はplistと同じなのでそのままで問題ありません。Win版もMac版のいずれのProperty List Editorも検索機能を実装しているので、変更したい文字列を簡単に探すことができます。今回の例では「フレンド」という文字列で検索し「タイムライン」に変更し、保存します。

    MacのProperty List Editor

    Windows7のProperty List Editor

  4. iPhone ExplorerでiPhone側に戻します
    母艦で編集した”Localizable.strings”をiPhone Explorerを使ってiPhone側の同じ場所に戻します。

  5. アプリを起動します
    修正が反映されていない場合は、iOSのマルチタスキング機能によりバックグラウンドでサスペンド状態になっている可能性がありますので、プルプル削除で完全に終了させてからアプリを起動します。

    修正前

    修正後

    デフォルト状態への復元する場合は…
    iPhone Explorerを使って、該当するアプリの”Localizable.strings”を削除し、バックアップしていた”Localizable_org.strings”をファイル名を変更して”Localizable.strings”に戻して、アプリを再起動します。元に戻らない場合はバックグラウンドでサスペンド状態になっている可能性がありますので完全に終了してから起動します。
    ※アプリを削除して再インストールしても復元できますが、アプリの設定内容やデータが初期化されますので注意してください。

    留意事項
    アプリのアップデートを適用した場合は上記内容は初期化されます。
    参考:代助のブログ「iPhoneアプリの言語メニューを個別に英語表記にする方法」