The X/Open catgets tools and interfaces use numbers as keys to the message catalog. Therefore, you can have different translations for the same string by using an unique numeric identifier as a key. However, source code maintenance could be an issue. For example, when an English message is updated, gettext() displays the updated English message in the localized environment until the updated translations are in place. This practice helps to identify the messages that need to be updated. But, in the case of catgets, the localized environment continues to display the outdated translations unless the numeric key to the message is changed along with the updated English message.
The X/Open catgets interfaces for handling messages are as follows:
Open a message catalog
Read a program message
Close a message catalog
The command-line tools used with the X/Open catgets interfaces are as follows:
Generate a formatted message catalog
Extract messages from source files