Something wrong in the core handling translations

Hello guys, first of all thanks for your collaboration in this project, and for the people in translating SuiteCRM. I have this next question:

I think that there’s a core issue relating the Calendar module and additional details of items in the Calendar when using a language pack that’s not the default ‘en_us’.

How to reproduce:

1- Using SuiteCRM 7.5.3 default with english language, create a new task
2- Open Calendar module and click in the recently created task->additional_details (info button), a box will pop up
3- Using tasks as example, you will have Subject, Start, Due, Priority and Status all with their respective content filled up
4- Change the SuiteCRM language to another one, let’s use the 100% completed translation from transifex Portugal - Portugues pack
5- Again, open Calendar module and click in the recently created task->additional_details (info button), a box will pop up
6- Again, using tasks as example, you will have Subject, Start, Due, Priority and Status all filled up again except Priority and Status items

My thought are that someting in the core is not showing the $app_list_strings of the languages pack that are stated as 100% translated.

My attempts to troubleshoot this are as follows:
1- Tried to change the global $current_language to en_us even using the pt_PT as current language, it shows in english but still without content
2- If I set this line of code

if (!empty($fields['STATUS']))	$overlib_string .= '<b>' . $mod_strings['LBL_STATUS'] . '</b> ' . $app_list_strings['task_status_dom'][$fields['STATUS']] . '<br>';

to

if (!empty($fields['STATUS']))	$overlib_string .= '<b>' . $mod_strings['LBL_STATUS'] . '</b> ' . $app_list_strings['task_status_dom']['Not Started'] . '<br>';

it gets translated, I think that has something to do with the $fields of a dropdown field, but then again that ‘Not started’ is a enforced value, not the current one

Issue created at git https://github.com/salesagility/SuiteCRM/issues/1109

I hop that this gets fixed, is a long long problem in SugarCRM/SuiteCRM, ScreenShot attached

My System:
Ubuntu 14.04.4 LTS (GNU/Linux 3.19.0-51-generic x86_64)
PHP 5.5.9-1ubuntu4.14 (cli) (built: Oct 28 2015 01:34:46
Zend Engine v2.5.0, Copyright © 1998-2014 Zend Technologies
Zend OPcache v7.0.3, Copyright © 1999-2014, by Zend Technologies
Mysqld 5.5.47-0ubuntu0.14.04.1
Apache/2.4.7 (Ubuntu)
SuiteCRM Version 7.5.3
Sugar Version 6.5.23 (Build 1061)
Language Pack from Transifex pt_PT

Best regards

About the portuguese language pack: this was moved from Transifex to Crowdin.

Here are instructions on how to download the latest version:

FAQ - Updating an installed language - https://sites.google.com/site/translatingsuitecrm/faq/updatelanguage

So if you can make sure you have the latest, maybe that would help.

On that translation site, I checked and the strings for $app_list_strings[‘task_status_dom’][] are there, correctly translated.

In that line of code that you changed, can you output the value of $fields[‘STATUS’] to a logfile, or check it in a debugger, to check what it is using to index the array $app_list_strings? Thanks.

Yes, I’ve the latest language pack downloaded from Crowdin, sorry for saying the wrong name. I’ve checked also de translation and is all translated, that’s why I think that is a core related issue. I’ll debug that line of code.

Do you have the same problem or is it working for you?

Best regards

Ok I fixed it

https://github.com/salesagility/SuiteCRM/pull/1116

Best Regards

I checked and I am getting that bug too. But that is obvious now that you found the bug was actually there.

Congratulations and thanks.

As samus-haran says

All input is welcome.

and what about this fix? we are seeing great commits lately, but some fixes are left over.

best regards