Wikipedia says: Localization is the process of translating a product into different languages or adapting a language for a specific country or region. There are several techniques that developer can use to localize an application. The most common ones are using arrays and gettext. I will try to explain both and how to use them.
They provide code examples for each method - arrays containing literal strings matching one-for-one with their English counterparts and the gettext method where language files are created and handled outside of the codebase. Gettext does require support to be loading into your installation (might not be by default).