Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

どうも、b123400です。アプリをローカライズするアプリを作りましたので、ローカライズのチュートリアルを書きながら自分のアプリを宣伝させていただきます。

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

ローカライズとはシステムの設定に応じて、インターフェースの言語を変えることです。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 ファイルエディターです。翻訳サービスとの連携、フォマットのチェック、正規表現で検索などの機能が付いてます。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした