It doesn't matter whether you use a different
.po file for each Dynaform or a singe
.po file for the entire process. In each DynaForm, you need to upload the
.po file for each language that you want to support. You won't see the language change in the DynaForm Designer. When running a case, ProcessMaker will select the .po file for the language in the URL, which is also the language selected during login, but you can change it in the web browser's address bar:
http:/<domain>/sys<workspace/<lang>/<skin>/cases/main
For example, to manually change from English to Spanish, change from:
http:/example.com/sysworkspace/en/neoclassic/cases/main
to:
http:/example.com/sysworkspace/es/neoclassic/cases/main
If the system language is "en", then the English
.po file will used, and if it is "es", then the Spanish
.po file will be used. If the system language is "fr", but there is no French
.po file uploaded for the DynaForm, then the phrases used in the DynaForm Designer will be used.
The way I do it is I export all the
.po files for all the Dynaforms in a plain text editor and then cut and paste all the phrases to be translated into one
.po file for the entire process.
I do this way because I prefer to only have one .po file and I don't like having to retranslate the same phrase multiple times, because I often use the same phrase in multiple Dynaforms.
For example, if you have Form1 with:
Code: Select allmsgid ""
msgstr ""
"Project-Id-Version: PM 3.2.1\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2018-05-27 11:44+0100 \n"
"Last-Translator: Colosa<colosa@colosa.com>\n"
"Language-Team: Colosa Developers Team <developers@colosa.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer_Encoding: 8bit\n"
"X-Poedit-Language: Spanish\n"
"X-Poedit-SourceCharset: utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"File-Name: form1.es.po\n"
msgid "Client Name"
msgstr "Nombre de Cliente"
msgid "Client Address"
msgstr "Dirección de Cliente"
msgid "Telephone No."
msgstr "Número de telefono"
And form2 with:
Code: Select allmsgid ""
msgstr ""
"Project-Id-Version: PM 3.2.1\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2018-05-27 11:44+0100 \n"
"Last-Translator: Colosa<colosa@colosa.com>\n"
"Language-Team: Colosa Developers Team <developers@colosa.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer_Encoding: 8bit\n"
"X-Poedit-Language: Spanish\n"
"X-Poedit-SourceCharset: utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"File-Name: form2.es.po\n"
msgid "Product Name"
msgstr "Nombre de Producto"
msgid "Price"
msgstr "Precio"
msgid "Description"
msgstr "Descripción"
Then the combined .po file will be:
Code: Select allmsgid ""
msgstr ""
"Project-Id-Version: PM 3.2.1\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2018-05-27 11:44+0100 \n"
"Last-Translator: Colosa<colosa@colosa.com>\n"
"Language-Team: Colosa Developers Team <developers@colosa.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer_Encoding: 8bit\n"
"X-Poedit-Language: Spanish\n"
"X-Poedit-SourceCharset: utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"File-Name: productDevelopment.es.po\n"
msgid "Client Name"
msgstr "Nombre de Cliente"
msgid "Client Address"
msgstr "Dirección de Cliente"
msgid "Telephone No."
msgstr "Número de telefono"
msgid "Product Name"
msgstr "Nombre de Producto"
msgid "Price"
msgstr "Precio"
msgid "Description"
msgstr "Descripción"
Note: blank
msgid's may be deleted from the
.po file.
A
.po file may use
any filename, but it needs to have the correct language listed in the PO header:
If the language code in the URL includes the country code, then the country needs to be also listed in the .po file. For example if the URL is:
http:/example.com/sysworkspace/pr-BR/neoclassic/cases/main
Then, the
.po file should have the following lines in the header:
Code: Select all"X-Poedit-Language: Portuguese\n"
"X-Poedit-Country: Brazil\n"
If using a single
.po file for the entire process, then that
.po file need to be uploaded to
every DynaForm in the process.