What is Internationalization?
Internationalization is the process of contriving products in such a way that they meet the requirements of the users in all target geographies of the business. The products should be adaptable enough to be easily modified and can be readily used by users across the globe.
What is Software Internationalization?
Software internationalization (I18N) is a process of developing a software that can adapt to the different languages, region-specific distinctiveness and various text and data formats specific to their target locale. Internationalization of software, tool or an application is a continuous process. This isn’t as easy as it may sound and involves a spectrum of processes to ensure continuous scanning and testing of umpteen lines of codes as they are developed and rectifying the errors. As today’s software development cycles are driven by agile methodologies, internationalization has become a continuous process now. This practice can be termed as agile internationalization or agile localization process.
The process of Continuous Integration with Jenkins
In larger projects in an enterprise, continuous coding is carried out by the developers and code commits are made several times during a day. With each commit, the codes are built and tested before deployment. Once deployed successfully, the code is pushed to production. This is a continuous process circling as Develop – Commit – Build – Test – Deploy.
Jenkins is the most popular continuous integration tool. Apart from being an open-source automation tool written in Java with plugins built for continuous integration, Jenkins is used to build and test developed projects continuously. This makes it easier for developers to integrate changes to the project and making it easier for users to obtain a fresh build. It also allows you to continuously deliver your software by integrating with a large number of testing and deployment technologies. On top of this, Jenkins is a highly configurable system. Hence, it can be considered as the best platform for continuous internationalization.
Continuous Software internationalization and localization with Jenkins
By integrating an internationalization software with Jenkins, members involved in the project development cycle can easily set up control over the development process. With this, the code scanning can be scheduled multiple times in a day to detect the errors in the codes. Once the errors are detected, they can be reported instantly so that it can be rectified without any time lost.
The benefits of the integration of the internationalization process with Jenkins:
- High quality and bug-free code
- Assurance of code compliance
- Immediate detection of I18N errors in the codes
- Setting up rules for externalization of codes as and when needed
- Reduced cost and effort for localization testing
- Easier roll-back in case of any major I18N issues in the code
- Overall development speeds up with more agile and robust codes
Prudle Labs offers its product P-I18N, a tool that helps in continuous internationalization of source codes as well as continuous localization. It is a .net CLI application which can be integrated with build server like Jenkins. Through its continuous localization features, users can:
- Integrate P-I18N on build servers to perform a continuous scan of source code
- Generate I18N scan report and share with stakeholders automatically
- Generate resource file automatically
- Automatic file allocation for translation on P-TMS (Prudle’s Translation Management System)
- Automatic extraction of a translated file from P-TMS