In my opinion, Salesforce.com is not ready to be used in multi-language environments. You can translate nearly everything displayed in the interface. But some key elements cannot be translated, and that’s blocking real multi-lingual support.
The names of objects are displayed a lot by default in the interface of Salesforce.net. For the built-in objects that is not a problem, since they are translated. Ans you can also change their translation in Setup –> Customize –> Tab Names and Labels –> Rename Tabs and Labels. On that same page, you can renamed the label displayed for your custom objects. However, this is not a translation. The name you enter is used for all languages.
By default, every custom object that you create has a field called “name”. You can change the label that is displayed for this field, but that label is used in all languages. You’re not able to translate it. You can ignore that field by giving it the auto-number type, but the value of the name field is being used as the title of its page. My idea was to create 2 fields (“first name” and “last name”) and have the 2 values concatenated in the name field using a trigger. That works but it’s not user friendly for 2 reasons:
- When the name field is of type text, you cannot remove it from the edit layout. And on top of that, the user has to fill something in to be able to save the record.
- When you set the name field to the auto-number type, you can remove it from the edit layout. But your trigger function is no longer allowed to change its value.
So my idea was not really working.
You can easily place lists with related items on your pages. When creating these related lists, you are asked for the label displayed above the related list on the page. You can change that label, but you cannot translate it.
These are 3 dominant elements in the Salesforce.com interface that you cannot translate. If you know of any work-arounds, please feel free to mention them in your comments.