Internationalization in programming languages

Internationalization in programming languages is a concept that comprises externally stored cultural data, a set of programming tools to create such cultural data, a set of programming interfaces to access this data, and a set of programming methods that enable you to use provided interfaces to write programs that do not make any assumptions about the cultural environments they run in. Such programs modify their behavior according to the user's cultural environment, specified during the program's execution.