Skip to content

Outsource Language Files

This part presents the outsourcing of the language files used for the internationalization of Squash TM and its plugins.

Language Files

Historically, the language files used for the internationalization of Squash TM are .properties files. There is a "main" file file_name.properties, and a file for every language named as such: file_name_locale.properties.

The "locale" value must be replaced with the language's code, for example en for English or fr for French.

These files contain key/values associations for every translation to be done.

File example:

report.name = SampleReport
report.name = ThisisaSampleReport,thatissuppliedwiththearchetypeasanexampleforyourowndevelopments.

These language files are used in order for Squash TM to display in the language selected from your browser.

Since Squash TM 1.11, you can outsource the management of language files. Thus, you can add new languages, and also edit the existing languages.

Outsourced Language Files

To facilitate changing the entirety or part of the language files, you can redefine the language files in squash-tm's conf/lang .

Tree view example:

Outsourced Language Files

You must put these files in a sub-repository that has the plugin's name. The name of the language files will depend on the plugin. In the table below are the name of the repositories and language files to use:

Plugin Sub-repository Language File
Redmine plugin.bugtracker.redmine messages
Bugzilla plugin.bugtracker.bugzilla bugzilla
Jira BT Server henix-tm-jira-rest-connector jira-rest
Report Qualitative coverage squash-tm-report-qualitativecoverage messages
Report requirements reports.books.requirements messages
Report testcases reports.books.testcases messages
Squash TM plugin.bugtracker.mantis mantis-bugmessages
Report std Report std messages
Report test plugin.report.test messages
Workspacewizard test plugin.workspacewizard.test messages
  • These outsourced language files are optional. In their absence, language files defined internally are used;
  • You do not have to redefine all the keys. If the key is not in the outsourced file, the internal file key is used.
  • You can add new languages to Squash or its plugins. For this, add the file file_name_locale.properties. For example, to translate Squash in Italian, add the file messages_it.properties to the folder conf/lang/core. Of course, do not forget to translate every key into Italian.

Info

Contact your organization's point of contact for Squash TM to get the list of language files to edit or translate.

Language Files in Squash TM 2.0

In Squash TM 2.0, .properties language files still exist, but now they are mostly used for messages that are quite specific, such as some backend messages. The front-end having changed with Angular, new files in json format are used for its messages, which completely changes the syntax. For every supported language (DE, ES, EN, FR) there are already (empty) custom files in the conf/lang folder.

Here is the example of a message in conf/lang/core/messages_fr.properties with the old file:

label.Actions

Here is the example of a message in conf/custom_translations_fr.json with the new file :

{
    "sqtm-core": {
        "action-word-workspace": {
            "label": {
                "short": "Actions"
            }
        }
    }
}

Info

Unfortunately, there is no way to transfer the old format's keys to the new format because these message keys have changed.