Rename Module working but does not change create module names in top right corner

I was able to change the names of the modules. Accounts = clients, contact = candidates, opportunity = jobs. and all were changed successfully. However, it is not changing at the top right where it says create…

create account - should be create client
create contact - create candidate
create opportunity - create job

I thought when I change a module name it will change it everywhere in suitecrm. Your help is appreciated.

That is kept in _headerModuleList.tpl file, usually in the Theme folder (in the tpls folder) you are using. For some reason, that drop down is hard coded in this file and not created dynamically.

You can find this in the _headerModuleList.tpl file that is in the Themes directory. Each theme can implement this directly, so go into the theme directory that you have set (SuiteP by default on the newest version) and then into the tpls directory.

Hope that helps.

under FTP:

/suitecrm/include/language/de_DE.lang.php

de_De is my language! Select the file for your language

I’m not sure if it’s the right way, but it works

I have found that the module name change is not very reliable because there is some buggy code around that uses hardcoded module names.

At times it may be language specific.

Other bugs consist in the fact that there are are plenty of strings that contain a module name inside so, if you change the module name you would also have to trace and change (probably in a non upgrade safe way) all those strings.

Making module name changes work at 100% is not simple in the first place and, when new code is added or old code is modified there must be a lot of discipline.

Additionally, since the strings (labels in SuiteCRM terminology) are spread around in myriads of separate files it is hard to maintain correct a changed module name.

Last but not least: to my knowledge SuiteCRM doesn’t give the possibility to insert reliably a prefetched string inside another string. For example:
(please note that the following label doesn’t actually exist: I made it up just for the purpose of creating an example)

LBL_ACCOUNTS_INSTRUCTIONS: This is the Accounts Module, in which you store information about each Account in your list.

As you see, the above label contains twice the word Account in both its plural and singular forms.

A more correct approach would be:

MODULE_0001_NAME: Accounts
MODULE_0001_NAME_PLURAL: Accounts
MODULE_0001_NAME_SINGULAR: Account

And the above label would then have to be:

LBL_ACCOUNTS_INSTRUCTIONS: This is the {MODULE_0001_NAME} Module, in which you store information about each {MODULE_0001_NAME_SINGULAR} in your list.

The programme would have to replace these references just before rendering. SuiteCRM doesn’t handle these situations currently.

The above refers to labels but it isn’t the only situation where you may incur into problems. The worst may happen when the code mentions a module name.

for example:

if ($module == ‘Accounts’)
… do something …

Unfortunately these pieces of buggy code may exist with certain modules.

1 Like

This is what a search for “Create Opportunity” looks like in SuiteCRM code:


/var/www/html/modules/Home/language/en_us.lang.php:69:    'LNK_NEW_OPPORTUNITY' => 'Create Opportunity',

/var/www/html/modules/Charts/language/en_us.lang.php:97:    'LNK_NEW_OPPORTUNITY' => 'Create Opportunity',

/var/www/html/modules/Leads/language/en_us.lang.php:202:    'LNK_NEW_OPPORTUNITY' => 'Create Opportunity',

/var/www/html/modules/Users/language/en_us.lang.php:597:    'LBL_QUICK_OPPORTUNITY' => 'Create Opportunity',

/var/www/html/modules/Prospects/language/en_us.lang.php:138:    'LNK_NEW_OPPORTUNITY' => 'Create Opportunity',

/var/www/html/modules/Contacts/language/en_us.lang.php:188:    'LNK_NEW_OPPORTUNITY' => 'Create Opportunity',

/var/www/html/modules/Opportunities/language/en_us.lang.php:114:    'LBL_NEW_FORM_TITLE' => 'Create Opportunity',
/var/www/html/modules/Opportunities/language/en_us.lang.php:115:    'LNK_NEW_OPPORTUNITY' => 'Create Opportunity',

/var/www/html/modules/Help/language/en_us.lang.php:57:  'LNK_NEW_OPPORTUNITY' => 'Create Opportunity',

/var/www/html/modules/AOS_Quotes/language/en_us.lang.php:194:    'LBL_CREATE_OPPORTUNITY' => 'Create Opportunity',

/var/www/html/modules/AOS_Quotes/metadata/detailviewdefs.php:43:                'name' => 'Create Opportunity',

/var/www/html/include/language/en_us.lang.php:1823:    'LBL_QUOTE_TO_OPPORTUNITY_LABEL' => 'Create Opportunity from Quote',
/var/www/html/include/language/en_us.lang.php:1824:    'LBL_QUOTE_TO_OPPORTUNITY_TITLE' => 'Create Opportunity from Quote',
/var/www/html/include/language/en_us.lang.php:2115:    'LBL_CREATE_OPPORTUNITY' => 'Create Opportunity',
/var/www/html/include/language/en_us.lang.php:3921:$app_strings['LBL_QUICK_OPPORTUNITY'] = 'Create Opportunity';

This should be enough to show the difficulties that amariussi explained. Either you go into customizing a ton of strings, or your module name changes won’t be very convincing.

I prefer to let humans do the translation in their head. I know it’s not very fancy, but if you tell your workforce that “account = client, contact = candidate, opportunity = job”, they will frown for about 10 minutes, and then work happily with those concepts for the next few years without giving it a thought.

This has an added advantage: they can Google a lot of online documentation and help forums that help them with the default SuiteCRM concepts. This is the reason I use to convince management that I don’t want to rename the concepts.

1 Like