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

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

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.

태그

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼