23
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Posted at

どうも、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 ファイルエディターです。翻訳サービスとの連携、フォマットのチェック、正規表現で検索などの機能が付いてます。

23
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
24

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?