Discussion about the internationalization and localization of ProcessMaker

Moderator: amosbatto

By gosmart
Anyone working on it? Probably not, but just checking.

I am thinking about translating only "Cases" part, for start.
Admins usually know English.

Is it feasible?
Is there part related to it (in .po fle) or phrases are mixed?
User avatar
By amosbatto
Hi gosmart,
Nobody is currently working on a Croatian translation that I know of. We would be delighted if you could translate the CASES menu of Processmaker. The phrases in the PO translation file are all intermixed, but you could look up the phrases from the CASES menu and just translate those. I wrote a handy script called instrans.php which can be used to automatically insert English in all the untranslated phrases in other parts of the interface.
By gosmart

You confused me a bit with your script. I think English is the best choice for start.

I just wanted to copy http://processmaker.com/wiki/processmaker.en.po, rename it to processmaker.hr.po and use poedit.
However, that link goes to http://wiki.processmaker.com/index.php/Main_Page.

If I export .po from PM installation, I get "msgfmt: Found 3 fatal errors" when I try to save it with PO edit.
User avatar
By amosbatto
I just downloaded the English PO file and opened it with Poedit 1.4.2 and changed a few translations and saved it without any errors. There is no problem with the file. You probably introduced some errors when editing the file. When you save the file, it should tell you exactly what line the errors appear on. Open the file with a plain text editor (like notepad++ if using windows or vim if using Linux/UNIX) and go to those lines and find the errors. If you can't figure it out, post your po translation file and I will take a look at it.
By gosmart
There was no problem with saviong .po file from PoEdit. Problem appeared when I tried to import it to PM.

I downloaded again processmaker.en.po from sourceforge and tried again and it works. I have probably did something with Wordpad or Notepad initially.

When I change it's country and language some translations are missing. Eg. on cases menu ID_TO_REASSIGN and ID_ADVANCEDSEARCH.

Like it's an old po file from time before those features were added.
By gosmart
I tried to get processmaker.en.po from pmos-1.2-2740.tar.gz and when I try to export that one I get error messages as explained in bug report above.

So, conclusion is:
1. processmaker.en.po from sourceforge works but is missing translations for new features (it has very old timestamp)
2. processmaker.en.po from pmos-1.2-2740.tar.gz can't be imported (see bug above!) Even PoEdit reports problem with it.

PoEdit I am using is 1.4.3. (latest)
By gosmart
Within msgid string "" there are "Submit" and "table" strings in lines .
See WronGPOEntries attachment!
Because of this mess I lost my Process and Cases names. See LostCasesAndProcessNames.bmp!

Any idea how to resolve this?
It has probably lost referential integrity to cases, tasks and processes names when I deleted English from Languages.
Maybe even deleted if cascading delete based on referential integrity was executed on database.
(97.5 KiB) Downloaded 1624 times
WrongPOEntries.jpg (50.09 KiB) Viewed 4453 times
User avatar
By amosbatto
With every new release new translations are added. What you should do is after upgrading ProcessMaker, go to ADMIN (which was called SETUP) > LANGUAGES, and click on the export link for English. This will create an up-to-date PO file. Then start editing that po file. I am going to change the wiki information, so people do it that way. (Sorry about the problems--we are learning the right way to do this as well.)
By gosmart
I tried to do it that way (export-change-import) but it failed (as reported in bug).

In a meantime, while I was experimenting, I deleted all languages from installation.
When I found out error in PO file and uploaded it back, my Processes, Cases and Tasks in process designer lost their labels. :(
I guess that when I uploaded new en.po it got different primary key in DB and somehow lost references to fields.

I created new test process and it's values are displayed correctly.

I found out that wf_<X>.content table is messed up.
Field CON_VALUE is empty for my old processes, and rows with CON_CATEGORY LIKE 'TAS_%' do not exist for old processes.

Any suggestion? What could I do to populate that?
User avatar
By amosbatto
Attached is my exported English translation. Uncompress it and then go to ADMIN > LANGUAGES, select English and click on "Import or Update" to import it and repopulate the English translation. Then export it, rename it to your language and start the translation again.
(59.9 KiB) Downloaded 112 times
By gosmart
Thanks Amosbatto!

I have already managed to restore en language and even working on hr one.
However, my process, task, step etc data is missing. (as I explained above, in content table)

I have uploaded processes from PM library and for them that is restored.
I am afraid that there is no help for my processes, since I don't have backup of pm files. :(
Fortunately, nothing too important.

To reproduce it try:
1. Create some processes (even by importing them)
2. Run some cases
3. Delete all languages in Admin
4. Go to cases page

In my case it was missing all labels

This is potentially dangerous for all. At least it should be documented.
User avatar
By amosbatto
Now that's a *feature*! :-)

OK, I think that I understand what is happening. The titles and descriptions for cases, tasks and processes are stored in the CONTENT table with the language code which you were using when you created them. For instance, if you created a case when you were using the English interface for ProcessMaker, then the case title and description were recorded in the CONTENT table along with the code "en". When you delete the English Language, ProcessMaker goes through the CONTENT table and deletes all entries which have the "en" language code. So all your case titles dissappear. The cases still exist in the database, but they now have no titles.

I filed a bug report about this. See: http://bugs.processmaker.com/view.php?id=4020

Thanks for catching this. I'm shocked that nobody has noticed it before. I hope that nobody has lost any sensitive data because of this *feature*.
By gosmart
Nobody was stupid enough to delete all languages and not to have backup of your processes. :)

For the processes I was able to restore from pm files, case and task labels returned.
By gosmart
Did as suggested in http://forum.processmaker.com/viewtopic.php?f=13&t=1606

I keep getting "Notice: Undefined offset: 1 in C:\Program Files\ProcessMaker\apps\processmaker\htdocs\workflow\engine\classes\class.languages.php on line 86"
PoEdit could save the file.

Can you check? I have seen you have reported a bug for PoEdit. Maybe I am hitting it, but ...
I use PoEdit 1.4.3.
(62.16 KiB) Downloaded 113 times
By gosmart
Now I get additionaly "Notice: Undefined offset: 1 in /var/www/vhosts/rkr.hr/subdomains/pcm/httpdocs/workflow/engine/classes/class.languages.php on line 98"
(62.76 KiB) Downloaded 109 times
User avatar
By SwondeR
Hello everyone, Im new to the forum but I read it frequently.
I have a problem with the translation of a component and some modules for creating a site like yahoo answers. The translation files of the modules .ini do not exist, how can I do the translation in other languages​​?
Sorry for my english

Hi Amo, I have a multiple files uploader, and I w[…]

response from the Sales team

i have the same problem https://cleanmaster.[…]

Standalone Install Windows

yes thanks for sharign https://ovo.fyi/redtub[…]

BPM about

What is the difference between bpm and erp? Why sh[…]