Custom messages are created using the Custom Messages page within System Settings in Designer (for global messages) or using the Custom Messages page within an object definition (for object-specific messages). They consist of an i18n key and default text. The i18n key takes two forms:
•custom.common.someUniqueKey—for global messages, where "someUniqueKey" is the only portion of the key that is actually entered by the solution developer.
•custom.INVC.someUniqueKey—for object-specific messages (object INVC, in this example), where "someUniqueKey" is the only portion of the key that is actually entered by the solution developer.
Custom messages are exported to the localization spreadsheet and you can supply alternate locales' text to the messages in that spreadsheet.
Custom messages can be used in custom actions to provide localized error messages.
Localized text for custom messages is available through the API methods: localize() and localizeNumber().