Overview

ProcessMaker 3 is available by default in English, but translation files for additional languages can be installed.

Recommendations

Installing Additional Translations

To install additional languages in ProcessMaker 3, download your language from the list in the table below. Find the PO translation file for your language and click on its link to download it to your hard drive.

ProcessMaker 3.0 now supports country identifiers, so the country can be specified in the language code. For example, 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.

From version 3.0 languages have changed, even if some labels are not translated they have to contain the same number of labels than the English, that's why all languages were updated.

Language Language Code Download Credits
English en Default Language ProcessMaker Team
Spanish es
es-ES
processmaker.es.po
processmaker.es-ES.po
Pablo Barroso
Translation Script (Amos Batto)
Google Translate
Portuguese (Brazil) pt
pt-BR
processmaker.pt.po
processmaker.pt-BR.po
Pablo Barroso
Translation Script (Amos Batto)
Google Translate
French fr-FR processmaker.fr.po Sofia Mejia
Italian it
it-IT
processmaker.it.po
processmaker.it-IT.po
Pablo Barroso
Translation Script (Amos Batto)
Google Translate

Dates will be updated only if a language is updated. However, all languages are updated to version 2.5.1 since the structure and order of the labels have changed.

After downloading the translation file, then login to ProcessMaker as the "admin" user (or any user with the PM_SETUP_ADVANCE permission in their role). Go to ADMIN > Settings > Language

Note: From version 3.0.1.8. on, users must have the PM_SETUP_LANGUAGE permission assigned to their role to access the ADMIN > Settings > Language option.

and a list of installed languages will be displayed on the right side of the screen.

To import a new language, click on the "Install / Update" button at the top of the list of languages.

Then a window will be displayed to upload a new file with the proper extension. Click on the folder icon to look for the file within your computer.

Once the .po translation file has been uploaded it will look like the image below. ProcessMaker will accept either normal po files or po files which are compressed with gzip

Then, click on the "Upload" button to upload the translations and insert them in the wf_.TRANSLATION table.

When done, a message box will indicate how many translation phrases were successfully imported (first image) and if not correct, how many of them have failed (second image).

The new language recently updated should now appear in the list of installed languages as seen in the image below.

Note: To add a new translation to ProcessMaker or update an existing translation, see Translating ProcessMaker.

When a .po file is successfully updated but it has failed records as seen in the image below then the following window will be displayed.

Available Version: 3.0.1.8

Scroll down to check the errors in the uploaded file and correct them if possible.

After checking the failed records and taking note of them click on the "Ok" button to close this window.

Changing to a Language

Once a language has been added to the system, the user can change the language by going to the ProcessMaker login screen and selecting it from from the "Language" dropdown box as seen in the image below.

Take into consideration that 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. To do so, 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, go to the URL and change the "en" (which means English)

Change the "en" for the language that was uploaded which is Spanish (es) and press the ENTER key.
http://example.com/sysworkflow/en/classic/cases/main

Once clicked the whole interface language will change completely.
http://example.com/sysworkflow/es/classic/cases/main

Note: The language that is chosen in the dropdown when login in is set for the whole interface.

Right-to-Left Language Support

Available Version: From ProcessMaker 3.0.2 on.

ProcessMaker supports right-to-left functionality for languages that work in a right-to-left environment such as Hebrew, Arabic, Urdu, etc.

This feature applies to:

  • Dynaforms:
    • While running cases.
    • In Preview mode

It does NOT apply:

  • The Form Designer
  • Mobile forms

To activate this functionality, install the translation file (.po) for the RTL language and select the language when logging in into ProcessMaker.

Note: Please remember to clear the browser's cache after switching from an LTR language to an RTL one.

The content of the ProcessMaker layout will change to support the right-to-left orientation. This include entering, editing, and displaying the Dynaform's text. For example, if installing the translation file for Arabic, Processmaker will look like:

Notice that the language selected is specified in the URL.

Moreover, the DynaForm interface will display reverse text and if there is a .po customized for the current Dynaform in Arabic language it will be automatically selected.

The user will be able to write from the right and continue to the left in each one of the fields contained in a DynaForm.

Changing the Default Language

Note: When uploading or updating a new language it is recommended to erase the cache of the web browser that is being used to avoid any inconvenience with the language that is taking over the ProcessMaker interface.

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:
\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" />

Then modify the sysLoginNoWS.xml file located on the same path and add at the beginning of the JavaScript code the following line:

<! [CDATA[
getField('USER_LANG').value = "es";
......

Go back to the login page, press Ctrl + F5 to refresh changes and the new language will display first on the Language field:

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.

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();    
  <b>var i = getField('USER_LANG').length - 1;</b>
  <b>for (; i &gt;= 0; i--) {</b>
    <b>if (getField('USER_LANG').options[i].value == "en") {</b>
      <b>getField('USER_LANG').options.remove(i);</b>
    <b>}</b>
  <b>}</b>
}

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. So before deleting a language make sure that there aren't processes using this particular language.

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 and it will be highlighted as seen in the image below. Then, go to the "Actions" menu and select the "Remove" option.

A message box will appear after clicking on the "Remove" option, confirm the deletion of the language by clicking on the "Yes" button or go back to the "Language" screen by clicking on the "No" option.

The language selected will be deleted from the ProcessMaker installation.

Note: The language used by default cannot be deleted.