iOS / Mac アプリをローカライズしましょう!

アプリのインターフェースを英語にすると日本人に馴染まないけど、かと言って日本語にして海外を完全に無視するわけにもいかない、と思うなら、ローカライズする時です!

ローカライズとはシステムの設定に応じて、インターフェースの言語を変えることです。Xcode 6からXLIFFというフォマットに出力することができたから、ローカライズは以前より簡単になりました。

まずはプロジェクトを準備する

コードをローカライズできるように

ユーザー向けの文字列をNSLocalizedStringというマクロを使えばローカライズされます、例えば:

Objective-C

// これを
NSString *title = @“Hello”;
// こうするのじゃ
NSString *title = NSLocalizedString(@“Hello”, @“title in alert”);

Swift

// これを
let title = “Hello”
// こうするのじゃ
let title = NSLocalizedString(“Hello”, comment: “title in alert”)

二番目の引数はコメントっていう、実際の動きに影響はしないが、翻訳者に見せるコメントとしては役に立ちます。例えばこの文字列はボタンなのか、タイトルなのかを書けば、翻訳者にとっても便利でしょう。

インターフェースファイルを改修する

コードよりも、storyboardやxibファイルの方がローカライズが必要な場合も多いです、そしてこういうインターフェースファイルも簡単にローカライズできます。

  1. まず左のサイドバーからプロジェクトを選択し、Info(情報)を押して、ローカライズの下にある「+」ボタンで言語を追加します。 言語を選択して追加します
  2. 次は翻訳したいインターフェースファイルを選択します。それでそのファイルはローカライズできるようになります。 ローカライズしたいファイルを選択
  3. もし新しいファイルを追加して、それをローカライズ対応にしたいなら、右のサイドバーにある「ローカライズ」ボタンを押して、言語を選択すればいいです。 これを押す

XLIFF ファイルを出力

プロジェクトの準備が終わったら、いよいよXLIFFファイルを出力できます。

  1. プロジェクトを選択します(targetじゃないです)
  2. メニューバーのEditor -> Export For Localization…を押す
  3. それでXcodeはさっき改修したコードやインターフェースファイルから文字列を抽出して、XLIFFファイルを作ります。

XLIFF ファイルの編集

ここがローカライズの肝、翻訳です。XLIFFファイルを開けるアプリやサイトはいくつもありますが、ここは私が作ったアプリ Xliffie を紹介させていただきたいと思います。

ここからコメントが読めます、翻訳のヒントになります

ファイルを開くとさっきの文字列を全て編集できます、右のサイドバーからコメントが表示されます。

プロジェクトの中の文字列です、コードに書いたコメントも拾えられます。

インターフェースファイルから文字を抽出する時、XcodeはUILabelなど情報を入れるので、翻訳に役に立つはずです。

Printf フォーマットの文字列に気を付けましょう

+ [NSString stringWithFormat:] で使われる文字列は翻訳する時気を付けないとバグになりえます、アプリが落ちたりもします。例えば「%@」がある文字列を%d変わったら、アプリは落ちます。

Xliffieはそのフォマットを検出して、間違いがありそうな場合は警告を出します。

翻訳サービスを使う時の注意点

文字列が多い場合、簡単な文字列をとりあえず Google / Bing 翻訳に任せる場合も多いです、Xliffie はこの二つのサービスと連携していて、ローカライズをスピードアップできます。ところが、こういうサービスも完璧ではないです、例えば「%@」を Google 翻訳に翻訳してもらうと、全角の「%」が返され、stringWithFormat:などを使う時に問題が起こります。こういうところも気を付けましょう。

Xliffieで翻訳サービスを使うと、フォマットは自動チェックされます。

XLIFFファイルをインポートする

翻訳し終わったら、いよいよ最終のステップ、インポートです。

  1. Editor -> Import For Localization… を押す。

  2. 変わった文字列が表示されます、問題がなければOKを押す、それであなたのアプリのローカライズは完了です!

    文字列の変化点が表示されます


Xliffie は開発者向けの XLIFF ファイルエディターです。翻訳サービスとの連携、フォマットのチェック、正規表現で検索などの機能が付いてます。