Workflow and translations

Hi,

Workflows most often do not work when using non-english languages.
The reason is that SQL operators are in $app_list_strings and they have been translated by the translation community.
So, you see things like
German:
$app_list_strings[‘aow_sql_operator_list’][‘Contains’] = ‘Enthält’;
$app_list_strings[‘aow_sql_operator_list’][‘is_null’] = ‘Ist NULL’;
French:
$app_list_strings[‘aow_sql_operator_list’][‘is_null’] = ‘est nul’;

Then, of course it generates wrong queries when you do, for example:
$query[‘where’][] = ‘(’.$field.’ ‘.$app_list_strings[‘aow_sql_operator_list’][$condition->operator].’ OR ‘.$field.’ '.$app_list_strings[‘aow_sql_operator_list’][‘Equal_To’]." ‘’)";

You should use another array than $app_list_strings so that translators are not tempted to translate that.

I’ll submit an issue on GitHub.

Thanks

1 Like

Confirmed. Its the same problem as before with Reports.

Link to monitor GitHub issue
https://github.com/salesagility/SuiteCRM/issues/2457

Same problem in French, where they translated “LIKE” to “COMME” french work. So when you are trying to match a value SELECT * FROM … WHERE CONCAT LIKE…
The query becomes SELECT * FROM … WHERE CONCAT COMME…
Any clue how to change this ?

The solution is waiting to be merged:
https://github.com/salesagility/SuiteCRM/pull/2458

You can try an easy fix by installing a new language pack (today version is version 7.7.6.3)
Remember to remove the old language pack and execute an Admin/Quick repair before installing the new one