Search code examples
iosobjective-cxcodelocalizationitunes

Change Single Language of Xcode Project


How do you change the default language used by your project without doing localization? What if I want my app to be in Japanese or Italian? Is it enough to just use Japanese or Italian texts? How do I change the language displayed on iTunes to say that it's in Japanese or Italian?


Solution

  • Generally, the resources that you put in the main folder are assumed to be in the Default language, which is set in iTunes Connect when you add or edit the application. The setting is on the Application page and if it's not correctly set after adding it, click the Edit at the top of the page to be able to change it with the drop-down menu.

    If you're going to localize at all, you'll want to make sure to change the localization native language, you'll need to change the key in the Info.plist corresponding to Localization native development region (a.k.a. CFBundleDevelopmentRegion in raw form) to match the language you are using for the raw files. The value of the tag should match the original localization language directory base (so en if you have an english lproj directory named en.lproj). This language will be used in the event that one of the other localizations is missing for the specific resource. Recommendations these days point to using the 2-letter version of the language (i.e. en instead of English, jp instead of Japanese, etc) as best-practice.

    If you're building a Japanese-only app, you could just put all the resources in the top level. If you're going to have Japanese and any other language, you should put the language-specific Japanese resources in jp.lproj and set the CFBundleDevelopmentRegion to jp. Any unlocalized resources (standard images, etc.) can be stored in the main application folder.

    By the way, same general rules in OS X as well, except that wherever I mentioned "main application folder" above, the files would be within the Resources folder.