iOS プロジェクトで「plist」と「NSLocalizedString」をローカライズする

このページでは、翻訳が必要なプロジェクト コード内の文字列を識別する方法を説明します。

Windows
MacOS
Linux
このページ中

iOS プロジェクトを様々な言語でデプロイしたい場合があります。iOS プロジェクトをローカライズする時は、コード内の文字列を識別して翻訳する必要があります。iOS アプリを送信する際は、これがローカライズする際の要件となります。この操作ガイドでは、コード内の文字列を翻訳するファイルの作成方法を学びます。

ステップ

  1. {UEProjectDir}/Build/IOS/Resources/Localization/ ディレクトリに各言語のフォルダを作成します。各フォルダに {LanguageCode}.lproj と名前を付けます。たとえば、EN.lproj の場合、EN が英語の言語コードで、FR.lproj では、FR がフランス語の言語コード、JA.lproj では、JA が日本語の言語コードといったようになっています。

    ここで使用されている言語コードは、「ISO 639-2 標準」で使用されている 2 つの文字コードです。

  2. 各言語フォルダに InfoPlist.strings という名前でテキスト ファイルを作成します。InfoPlist.strings ファイルは、iOS プロジェクトの info.plist ファイル内のすべての文字列を翻訳します。

  3. 各言語フォルダに Localizable.strings という名前でテキストファイルを作成します。Localizable.strings ファイルは、iOS プロジェクトのすべてのコード ファイル内のすべての文字列を翻訳します。

たとえば、 「Lovely Game」という名前のアプリケーションの場合、object-c コードには次の行が含まれています。

NSString* allRightText = NSLocalizedString(@"All right", @"All right");
NSString* cancelText = NSLocalizedString(@"Cancel", @"Cancel");

次の表は、InfoPlist.strings ファイルと Localizable.strings ファイルをさまざまな言語に変更する方法の例をいくつか示しています。

言語

InfoPlist.strings ファイルのコード

Localizable.strings ファイルのコード

英語

"CFBundleDisplayName" = "Lovely Game"; "NSCameraUsageDescription" = "The camera is needed to take a picture";

/* All right */ "All right" = "All right"; /* Cancel */ "Cancel" = "Cancel";

中国語

"CFBundleDisplayName" = "可爱的游戏"; "NSCameraUsageDescription" = "需要摄像头用于拍照";

/* OK */ "OK" = "确定";
/* Cancel */ "Cancel" = "取消";

フランス語

"CFBundleDisplayName" = "Beau Jeu"; "NSCameraUsageDescription" = "L'appareil photo est nécessaire pour prendre une photo";

/* All right */ "All right" = "D'accord";
/* Cancel */ "Cancel" = "Annuler";

最終結果

この操作ガイドを使用して作成された [UEProjectDir]/Build/IOS/Resources/Localization/ フォルダは、Unreal Engine がプロジェクトをパッケージ化して .IPA ファイルを作成するときにコピーされます。iOS プロジェクトをパッケージ化するとすべての文字列が翻訳されるので、プロジェクトは Apple に送信できる状態になります。

タグ
Select Skin
Light
Dark

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信