NSLocalizedString() and Strings Tables
In many places in your applications, you create NSString instances dynamically or display string literals to the user. To display translated versions of these strings, you must create a strings table. A strings table is a file containing a list of key-value pairs for all of the strings that your application uses and their associated translations. It is a resource file that you add to your application, but you do not need to do a lot of work to get data from it.
You might use a string in your code like this:
NSString *greeting = @"Hello!"
To internationalize the string in your code, you replace literal strings with the function NSLocalizedString.