Framework Translations

The Jmix framework subsystems come with messages.properties files containing messages in English. It means that even if you set a different locale in your project and translate your own message files, your users will still see parts of the UI in English because they are defined in the framework’s message files. This includes standard actions and data management components like filter and pagination, as well as the entire UI views of the security and other subsystems.

Translation Add-ons

With the help of our community, we provide translations of the framework messages for several languages in the form of translation add-ons. A translation add-on is a set of message files packed together in a JAR that can be added to your project as a dependency. You can find the translation add-ons created by the Jmix team and community members on the Jmix marketplace: open the Jmix tool window in Studio, select Add-ons item and click Marketplace in its context menu. In the opened Add-ons window, filter the add-ons by the Localization tag.

Translating Framework in Your Project

If you need to translate the framework messages to a different language, you can do it right in your project. Below is the recommended way to do it:

  • Clone https://github.com/jmix-framework/jmix repository and checkout a branch corresponding to the Jmix version used in your project.

  • Depending on the set of add-ons used in your project, copy all or some of the messages.properties files from the jmix-translations/content folder to the same paths under your project’s src/main/resources folder.

  • Rename messages.properties files to messages_<language>.properties (e.g., messages_fr.properties for French) and translate the messages.

Contributing Translations

If you wish to contribute to the framework translations project, feel free to submit pull requests with new languages or updates to existing translations.

Follow these steps to create a pull request:

  1. Fork the https://github.com/jmix-framework/jmix repository by clicking the Fork button on the repository page. Ensure the Copy the master branch only checkbox is selected.

  2. Clone the fork to a local folder, e.g. /work:

    cd /work
    git clone https://github.com/<your-username>/jmix.git
  3. Create a set of messages_<language>.properties files in the /work/jmix/jmix-translations/content folder. You can copy the English messages.properties files, rename them to messages_<language>.properties (e.g., messages_es.properties for Spanish), and translate the messages.

  4. Commit and push your changes to the fork:

    git add -A
    git commit -m "<your_language> translation"
    git push
  5. Go to your fork repository page https://github.com/<your-username>/jmix and click ContributeOpen pull request. On the Comparing changes page, enter the title and description, then click Create pull request.