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:
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.