OS X and its included programs are fully localized to a variety of common languages, allowing for full translation of the OS to these languages right out of the box. Language preferences can be set up in the Language & Text system preferences if not done when the initial OS X setup assistant runs, and should work when the system is next started; however, sometimes odd problems may happen with the incorrect language showing in some situations.
Even if the system is set to a specific language, that language will only be used if support for it is available. Localization support in programs is up to the individual developer, so if that program is only available in English, for example, then setting the system to French or Chinese will have no effect and the program will still only display in English.
This may be confusing for some folks, especially since Apple offers a variety of languages in the system preferences beyond what the system is localized for. For instance, Apple does not provide a Gujarati translation of OS X, but you can set Gujarati to be at the top of the language list in the system preferences. All this does is make it so any application that is localized in Gujarati will display in that language. Otherwise the system will go down the list until it finds a localization that matches.
Global versus local app settings
In addition to the system settings for language preference, individual applications may be set to use specific localizations, depending on the version of OS X you are using. In versions of OS X prior to Snow Leopard you could set custom language options for an application by getting information on it. With this option, even if a language is set in the System Preferences you could still have a specific program open and displaying in another language.
Beyond the specific settings and support for languages, sometimes odd problems may happen that result in an application or the system showing the incorrect language. These are usually a problem with the way the program's language settings were cached, and can likely be cleared by clearing the application caches on the system using a maintenance tool like those listed in our general maintenance recommendations. If simply clearing the application caches does not fix the problem, try performing a full general maintenance routine to clear all caches and temporary files, and then set up the system's language settings again once the system has loaded.