Localization is the process of translating and adapting both the content (text and style) and the presentation (graphical and technical components) of an EXISTING product according to the language and cultural characteristics of the target audience or region for which it is intended.
Localization and Internationalization are complimentary activities, with one we can display cultural information like units, dates in the user’s preferred locale and the other, let’s us display text in the user’s preferred language.
The first step is to find out what languages your application is going to support and gather all the text (in different languages), images, videos, sounds and put them in a resource file or in a language directory. To translate text into different languages you can a tool that Google provides here http://translate.google.com/#en|es|
Preparing for Internationalization
In our sample app, we are going to support three languages English, Hindi and Gujarati. Create a new project in Xcode, does not matter what template you select.
After you have created your project, open the project location in Finder and create three directories called en.lproj,gu.lproj and hi.lproj. These three directories become the language project for your application. All the English language resources will stored in the folder en.lproj, the Gujarati language resources will be stored in gu.lproj, and the Hindi language resources will be stored in hi.lproj folder. The resource files that contain the localizable string are called “strings” file and their default name is “Localizable.strings”. So, we will create two new strings file in Xcode, select Resources and click on File -> New File -> Other (under Mac OS X) -> Strings file and click on Next, name your file “Localizable.strings” and save it in en.lproj directory. Repeat the same process by saving it in gu.lproj directory and hi.lproj directory. This is how the files look like in Xcode, since Xcode is smart enough to figure out that the file is localized for three different languages.