Internationalization allows for the text content of an application to be translated across multiple languages without changing the source code. This is done by extracting each piece of text content into a generic template for each supported language.