Localize ‘plist' and ‘NSLocalizedString' in an iOS Project

This page shows how to identify strings in the project code that need to be translated.

Choose your operating system:

Windows

macOS

Linux

There may be situations where you want to deploy your iOS project with different languages. If you are localizing your iOS project, you must identify and translate any strings in your code. This is a requirement for submitting your iOS app. In this How-To, you will learn how to create files that translate strings in your code.

Steps

  1. Create a folder for each language in the {UEProjectDir}/Build/IOS/Resources/Localization/ directory. Name each folder {LanguageCode}.lproj . For example, EN.lproj , where EN is the language code for English; FR.lproj , where FR is the language code for French; JA.lproj , where JA is the language code for Japanese, and so on.

    The language codes used here are the two character codes used in the ISO 639-2 standard .

  2. In each language folder, create a text file named InfoPlist.strings . The InfoPlist.strings file translates all strings in the info.plist file of your iOS project.

  3. In each language folder, create a text file named Localizable.strings . The Localizable.strings file translates all strings in all the code files of your iOS project.

For example, for an application named "Lovely Game" your object-c code contains the following lines:

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

The following table shows some examples of how you modify the InfoPlist.strings file and Localizable.strings file for various languages.

Language

InfoPlist.strings File Code

Localizable.strings File Code

English

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

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

Chinese

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

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

French

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

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

End Result

The [UEProjectDir]/Build/IOS/Resources/Localization/ folder, created using this How-To, is copied when the Unreal Engine packages your project to create an .IPA file. Your packaged iOS project will have all strings translated, and so your iOS project will be ready to submit to Apple.

언리얼 엔진 문서의 미래를 함께 만들어주세요! 더 나은 서비스를 제공할 수 있도록 문서 사용에 대한 피드백을 주세요.
설문조사에 참여해 주세요
건너뛰기