2.0/Translations
ProcessMaker 2.0 is available in a number of different languages, but only comes with the English interface installed by default. If using ProcessMaker version 1.X, see this page.
Contents |
Installing Additional Translations
To install additional languages in ProcessMaker 2.X, download your language from the list below. Find the PO translation file for your language and click on its link to download it to your harddrive.
Unlike ProcessMaker 1.X, ProcessMaker 2.0 now supports country identifiers, so the country can be specified in the language code. In this way Chinese from Mainland China (zh-CN) can be distinguished from Traditional Chinese (zh) used in Taiwan. If a translation file is installed with the country code, then that country's flag will be displayed in the list of available languages and that country code will need to specified in the URL to change the language.
| Language | Language Code | Download | Credits | Last Update |
|---|---|---|---|---|
| English (template) | en | processmaker.en.po | 2011-07-12 | |
| Arabic† | ar ar-EG |
processmaker.ar.po processmaker.ar-EG.po |
Muhammad Elkharashy | 2010-04-30 |
| Aymara | ay ay-BO |
processmaker.ay.po processmaker.ay-BO.po |
Jose Laura Yapita | 2011-07-21 |
| Chinese (Simplified) | zh-CN | processmaker.zh-CN.po | Isaac Qin | 2010-01-12 |
| Chinese (Traditional) | zh | processmaker.zh.po | Nelson Fu | 2009-11-06 |
| Czech | cs cs-CZ |
processmaker.cs.po processmaker.cs-CZ.po |
Vratislav Benes | 2009-12-29 |
| Danish | da da-DK |
processmaker.da.po processmaker.da-DK.po |
Ian Armstrong, Ib Tromholt, Kent Andersen | 2010-11-24 |
| Dutch | nl nl-NL |
processmaker.nl.po processmaker.nl-NL.po | Martijn Burger, Roel Veldhuizen | 2011-09-13 |
| Farsi (Persian) | fa fa-IR |
processmaker.fa.po processmaker.fa-IR.po |
Ehsan Maleki Zoeram of IranBPM | 2011-11-13 |
| Finnish | fi fi-FI |
processmaker.fi.po processmaker.fi-FI.po |
Markus from Finland | 2008-09-31 |
| French (France) | fr fr-FR |
processmaker.fr.po processmaker.fr-FR.po |
Albert Janssens, Olivier Roch Vilato | 2011-07-21 |
| German (Germany) | de de-DE |
processmaker.de.po processmaker.de-DE.po |
Thomas Tikwinski, Lars Scheithauer, Josef Fuchs | 2010-08-11 |
| Hebrew (Modern)† | iw iw-IL |
processmaker.iw.po processmaker.iw-IL.po |
Guy Shkolnik | 2009-11-09 |
| Italian | it it-IT |
processmaker.it.po processmaker.it-IT.po |
Andrea Ambrosini, Fabio Graziosi | 2010-03-24 |
| Polish | pl pl-PL |
processmaker.pl.po processmaker.pl-PL.po |
Marek Górny | 2009-05-21 |
| Portuguese (Brazil) | pt pt-BR |
processmaker.pt.po processmaker.pt-BR.po |
Hans Liesenberg, José Carlos Gaspar | 2009-02-26 |
| Quechua | qu qu-BO |
processmaker.qu.po processmaker.qu-BO.po |
Irma Alvarez Ccoscco | 2011-07-21 |
| Russian | ru ru-RU |
processmaker.ru.po processmaker.ru-RU.po |
Cross Decisions | 2010-06-28 |
| Spanish (Latin America) | es | processmaker.es.po | Lesly Molina, Ruben Aguirre, Julio Cesar Laura Avendaño, Francisco Romero, Mario Aguilera, Arturo Robles, Amos Batto | 2011-07-04 |
| Swedish | sv sv-SE |
processmaker.sv.po processmaker.sv-SE.po |
iCess AB | 2011-09-21 |
After downloading the translation file, then login to ProcessMaker as the "admin" user (or any user with the PM_SETUP_ADVANCE permission in her role). Go to ADMIN > Settings > Language to see a list of installed languages.
To import a new language, click on the Import / Update button at the top of the list of languages. Click on the
button to select the PO translation file which you downloaded. ProcessMaker will accept either normal PO files or PO files which are compressed with gzip.
Then, click on Import to upload the translations and insert them in the wf_<WORKSPACE>.TRANSLATION table.
When done importing the language, a message box will indicate how many translation phrases were successfully imported.
The new language should now appear in the list of installed languages.
Note: To add a new translation to ProcessMaker or update an existing translation, see Translating ProcessMaker.
Changing to a Language
After a language has been added to the system, the user can change to that language by going to the ProcessMaker login screen and selecting it from from the Language dropdown box.
It is not necessary to logout and login just to change the language of the ProcessMaker interface. At any time, the user can simply edit the language code in the URL. Go to the web browser's location bar and edit the URL. Then, refresh the web browser screen by pressing ENTER in the location bar or pressing CTL+R, so the new language will be displayed.
For example, if a user is in the Cases List and wants to change from English to Dutch, then change "en" in the URL from:
http://example.com/sysworkflow/en/classic/cases/main
To "nl":
http://example.com/sysworkflow/nl/classic/cases/main
If the language was installed with its country code, then include that country code in the address. For example, Dutch from the Netherlands has the code "nl-NL":
http://example.com/sysworkflow/nl-NL/classic/cases/main
Designing Multilingual Processes
It is recommended to switch ProcessMaker to the same language when creating and editing processes as production users will be using when running cases. For example, if production users will be using ProcessMaker in French, then design their processes with the ProcessMaker interface switched to French.
When editing a process, the titles and descriptions for Processes, Tasks, DynaForms, Input Documents, Output Documents, and Triggers are all set according to the current system language of ProcessMaker. For example, if a task title was set while ProcessMaker was in French, then that title will be displayed to any user who enters ProcessMaker with the language set to French.
The problem is that when a user views that process when logged in with a different language, the task title will not appear, because it is set to only appear for French users. This feature allows the creation of multi-lingual processes which change language according to the language of the user, but it means that you will have to design processes in every language used by your users. Otherwise, they will see blank titles and descriptions for the various objects in the process.
Changing the Default Language
Users can change their login screen to use a language other than English, by simply changing the language code in the login URL, but it is better to change the ProcessMaker code to always redirect to that login URL, if the user just enters the IP address or domain name. Edit the file workflow/public_html/index.html with a plain text editor. It's generally found at the following location:
- Linux/UNIX:
- /opt/processmaker/workflow/public_html/index.html
- Windows:
- <INSTALL-DIRECTORY>\workflow\public_html\index.html
Change the language code in line 6 of the code:
<meta http-equiv="REFRESH" content="0;URL=/sys/en/green/login/login.html" />
For example, if changing to Spanish, use the "es" language code:
<meta http-equiv="REFRESH" content="0;URL=/sys/es/green/login/login.html" />
If only using a single workspace in ProcessMaker, it may also be a good idea to also add the workspace to the URL, so the default language for the workspace is always selected. For example, if only using the default "workflow" workspace and the login screen will be in Spanish:
<meta http-equiv="REFRESH" content="0;URL=/sysworkflow/es/green/login/login.html" />
NOTE: These changes to the source code will be overwritten each time ProcessMaker is upgraded, so they will have to be reapplied after each upgrade.
The Default in the Language Dropdown Box
To change the language which is selected by default in the Language dropdown box in the login screen, edit the JavaScript code in the workflow/engine/xmlform/login/login.xml file. Add code to select the language when the login page loads.
Change the lines from:
var dynaformOnload = function() {
setFocus (getField ('USR_USERNAME'));
if (flagHeartBeat) processHbInfo();
if (flagGettingStarted) showGettingStarted();
};
to:
var dynaformOnload = function() {
setFocus (getField ('USR_USERNAME'));
if (flagHeartBeat) processHbInfo();
if (flagGettingStarted) showGettingStarted();
getField('USER_LANG').value = "xx-YY";
};
change "xx-YY" to a language code installed on the system, such as "es" (Spanish) or "nl-NL" (Dutch from the Netherlands).
Also edit the JavaScript code in the workflow/engine/xmlform/login/sysLogin.xml file.
Change the lines from:
<JS type="javascript"><![CDATA[
setFocus (getField ('USR_USERNAME'));
to:
<JS type="javascript"><![CDATA[
getField('USER_LANG').value = "xx-YY";
setFocus (getField ('USR_USERNAME'));
Removing an Option from the Language Dropdown Box
To remove a language from the list so users can't select it from the dropdown box, use the remove() method for the USER_LANG dropdown box. Edit the JavaScript code in the workflow/engine/xmlform/login/login.xml file.
For instance to remove English from the list:
var dynaformOnload = function() {
setFocus (getField ('USR_USERNAME'));
if (flagHeartBeat) processHbInfo();
if (flagGettingStarted) showGettingStarted();
var i = getField('USER_LANG').length - 1;
for (; i >= 0; i--) {
if (getField('USER_LANG').options[i].value == "en") {
getField('USER_LANG').options.remove(i);
}
}
}
Also edit the JavaScript code in the workflow/engine/xmlform/login/sysLogin.xml file.
Change the lines from:
<JS type="javascript"><![CDATA[
setFocus (getField ('USR_USERNAME'));
to:
<JS type="javascript"><![CDATA[
var i = getField('USER_LANG').length - 1;
for (; i >= 0; i--) {
if (getField('USER_LANG').options[i].value == "en") {
getField('USER_LANG').options.remove(i);
}
}
setFocus (getField ('USR_USERNAME'));
Updating Languages
The procedure to update an existing translation and import a new one is exactly the same. To update the translation for a language, download the PO translation file from ProcessMaker's SourceForge site and login to ProcessMaker as the "admin" user (or any user with the PM_SETUP_ADVANCE permission in her role). Go to ADMIN > Settings > Language and click on the Import or Update link at the top of the list and select the PO translation file to import into ProcessMaker.
All the old translation strings in the wf_<WORKSPACE>.TRANSLATION table will be overwritten and the new translation strings will be used in the ProcessMaker interface. To see the new translation, refresh the web browser screen by pressing CTL+R or by clicking on a different ProcessMaker menu.
Deleting Languages
Only languages which have not been used when designing processes may be deleted. The reason is that deleting that language would mean loosing information for a process.
To delete a language from the ProcessMaker system, login into the ProcessMaker workspace where the language was originally installed. For example, if the language was originally installed in the "sales" workspace, then log into that workspace. Go to ADMIN > Settings > Language and select the language in the list by clicking on it so it is highlighted. Then, go to the Action menu and select the Remove option.
In the message box which appears, confirm the deletion by clicking on Yes.
When the language has been successfully deleted, a message box will appear.








