2.0/Translations

From ProcessMaker
Jump to: navigation, search

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
ProcessMaker 2.0 currently does not support the "rtl" skin for right-to-left languages such as Arabic and Hebrew, so that the translation will not appear with the correct orientation.


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.

SelectLanguageMenu.png

To import a new language, click on the Import / Update button at the top of the list of languages. Click on the SelectFileButton.png 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.

ImportLanguageDialog.png

Then, click on Import to upload the translations and insert them in the wf_<WORKSPACE>.TRANSLATION table.

ImportLanguageProgessBar.png

When done importing the language, a message box will indicate how many translation phrases were successfully imported.

ImportLanguageMessageBox.png

The new language should now appear in the list of installed languages.

InstalledLanguagesList.png

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.

SelectLanguageAtLogin.png

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.

RemoveLanguageMenu.png

In the message box which appears, confirm the deletion by clicking on Yes.

ConfirmLanguageDeletion.png

When the language has been successfully deleted, a message box will appear.

FinishedLanguageDeletion.png

Personal tools
Namespaces

Variants
Actions
Navigation
translations
Toolbox