Information for Translators

If you would like to learn more about translating the xTuple ERP user interface, then this article provides all the information you will need to get started.


Note: Translators must have a GitHub account, as well as access to xTuple's repositories. Many of the links in this article require that access. If you are a translator seeing repo access, please contact us.

xTuple ERP is a C++ application whose user interface has been designed to be fully translatable. All labels within the application are pulled into simple translation files (i.e., .ts files). These translation files, containing hundreds of strings in English, may then be translated into other languages, using free translation software such as Qt Linguist. The Qt Linguist software can also be used to generate the binary .qm files which xTuple ERP needs in order to be able to render a translated user interface.

Many translation files in many languages already exist for xTuple ERP. These .ts files are stored in an open repository on xTuple's GitHub site. The xTuple translation files are all at different stages of completion. Some are nearly 100% complete, while others are only 10% done. At a minimum, each file includes translations for most of the application menus (as of xTuple ERP version 4.0.3). Users are welcome and invited to download and work with these translation files. Please fork our Qt Client repository on GitHub and contribute your changes back using pull requests.

If you would like to start a new translation file for a language xTuple does not already have a translation file for, then please take a moment to review our article Starting a New Translation Project. This article explains the process and best practices for starting a new translation project. The article also explains the requirements you must meet to have a new language project accepted by xTuple.

Working with Translation Files

This section assumes you have a GitHub account and that you want to update existing translation files. To work with an already existing translation file, here are the steps to follow:

  1. Navigate your browser to the /share/dict/ subdirectory in the xtuple/qt-client repository.
  2. Be sure to choose either the most current branch of the code — or select a tagged version of your choosing (e.g., v4.10.0).
  3. Locate the translation file you want to work on.
  4. Translation files follow standardized country code conventions: xTuple.code.ts.
    • For example, the translation file for Chinese is "xTuple.zh.ts."
  5. Download the translation file you want, or locate it within your fork.
  6. Open the .ts file within Qt Linguist.
  7. Using Qt Linguist, update the translation file with your changes.
  8. Review your work by creating a .qm file using the "release" feature in Qt Linguist.
  9. Save your updates to the .ts file.
  10. Enter a pull request to have your .ts file changes incorporated into the source code repository.
  11. Wait for feedback and/or acceptance of your pull request.