Internationalization is the practice of building or modifying software to support multiple languages, character sets, currencies and other cultural or regional conventions, ideally from a single code base. In a general sense, the word also refers to equivalent activities for online content, such as document design and content development.
In general, internationalization activities are performed during the product development cycle, as a precursor to localization.