Internationalization (sometimes referred to as i18n) is the process of designing software so it can be adapted to multiple languages and regions. Localization (or l10n) is the adaptation of software to a specific region or language.
This chapter explains how internationalization is implemented in Jenkins, as well as the tools to support both internationalization and localization.
Plugin developers internationalize a plugin by modifying the Java files and the Jelly files in the plugin. They can significantly improve the translation experience by enabling Crowdin translation support for the plugin. The steps include:
Prepare a Java source file for localization shows the detailed internationalization steps for Java source files. Advanced localization provides guidance for additional internationalization, like date formatting, time formatting, and number formatting.
The Jenkins project welcomes translations.
Translators can contribute to plugin localizations through Crowdin translations after the plugin has enabled Crowdin translation support. Crowdin simplifies translation work so that it focuses on the translation rather than the mechanics of pull requests and source files. Translators perform the following tasks with Crowdin:
Translators can contribute to Jenkins core and plugins that are not registered with Crowdin by filing pull requests on GitHub. Translators need to perform the following tasks for Jenkins core and plugins that are not registered with Crowdin:
If you want to contribute Chinese localization, please create a PR in the Simplified Chinese Plugin. More details on the Chinese localization plugin are available from JEP-216.
Refactoring the existing code to handle i18n correctly is tedious. The Jenkins Development Support plugin for IntelliJ IDEA simplifies internationalization.