It is simple as soon as you understand it.
If you want to accomplish this with Xcode 5 .x and iOS 7 or Xcode 6 .x and iOS 8 , check How do I localize my application with Xcode 5? instead of this.
I liked the SNR , but his answer was a bit short.
In addition, I see that this question is a bit outdated, and my answer may be different from older versions of Xcode. (I used Xcode v. 4.3.3)
However , I updated my answer to work with both Xcode 4.3.5 and lower + 4.4 and higher (and Xcode 5.x and 6.x here: How to localize my application using Xcode 5? ).
To get started, you must add a new "line file" in the iOS resource category.

Then create the file as "Localizable.strings". 
When the file is created, select it and open the “File inspector”.


EDIT : everything has changed (a bit) with the new Xcode 4.4, 4.5 (and higher) (to support iOS 6). If you are not using Xcode 4.4 or higher , skip this step.
{ Xcode 4.4, 4.5 (and later) method:
Click the Make Localized button. 
Now go to the main page of the project. 
And click the "+" button in the "Localization" section and select the languages you want to support.
(I will choose German / German)

Now a window will appear asking what files you want to localize, make sure that the file "Localizable.strings" is only selected and click "Finish".

}
{ Xcode 4.3.5 and below:
Click the "+" button in the "Localization" section and select the languages that you want to support.
(I will choose German / German)

}
.
.
.
.
You should now see that you have two files in the "Localizable.strings" file.

Then add localization lines to both localization files.

<T411>
Now here comes the coding part.
Here I simply UILabel and put it in the Localizable line.
Declare:
IBOutlet UILabel *testLabel;
And Inside ViewDidLoad I will set the text using NSLocalizedString :
[testLabel setText:NSLocalizedString(@"TEST", nil)];
To finish, just plug our testLabel into the "Interface Builder".

You should now be able to run the project and see a localized string. And if you change the language, you will also see a localized string change.


