Multiple arrays with same id in translation files


Supose I have a dropdown with custom values in custom/include/en_us.lang.php:

$GLOBALS['app_list_strings']['fruit']=array (
    'apple' => 'Apple',
    'banana' => 'Banana'

Everything is ok for now. Now I edit the dropdown through the UI, and make the value lowercase, this would be the new content of the file:

$GLOBALS['app_list_strings']['fruit']=array (
    'apple' => 'Apple',
    'banana' => 'Banana'
$GLOBALS['app_list_strings']['fruit']=array (
    'apple' => 'apple',
    'banana' => 'banana'

Every time I edit the DropDown, it generates a new array. The UI is alright because Suite always get the last array, but the real case is that my DropDown has 300 values and gets edited regularly. In one week I got 300 arrays with same keys. Obviously, this is not sustainable…

Do you guess what I am doing wrong?

Many thanks!


I’ve tried to replicate this locally and unfortunately the Array seems to be getting updated, rather than a new copy being built.

Would you be able to provide some more information around this?

ie: What version of SuiteCRM you’re on
Are both the dropdown field & list custom?
Are you aware of any customizations to your instance that might be causing some sort of conflict around this?
Do you see this with any other dropdown list, or just this one?


  • SuiteCRM Version 7.11.10
  • Reproduced in a shared hosting server (PRE/PRO) and in a docker (DEV)
  • config.php
      array (
        'dir_mode' => 1517,
        'file_mode' => 493,
        'user' => '<USER>',
        'group' => '<USER>',
  • Custom DropDown inserted in custom fields.
  • Multilingual SuiteCRM (both translation files get duplicated arrays).
  • This behaviour only occurs in a particular dropdown (400 options); on other custom dropdowns, the array is maintained correctly.
  • Another strange thing is that, when I update the corrupted dropdown, it also gets updated all other languages; while if I edit other custom dropdowns, it only updates the file of its own language, leaving the rest untouched.

The array is in this style:

$GLOBALS['app_list_strings']['my_sectors_list']=array (
  '1_solo' => 'SOLO',
  '2_fruits' => 'FRUITS',
  '2__banana' => 'Banana',
  '2__apple' => 'Apple',
  '2__watermelon' => 'Watermelon',

And so on.