Internationalization and localization

The MMC uses the GNU gettext system to produce multi-lingual messages. If you are not famliar with GNU gettext, please read the GNU gettext manual.

Two special PHP methods are needed to translate the interface:

  • _($msg): the underscore is a PHP alias for the gettext($msg) method. The gettext method looks up a message in the current text domain. The default text domain is the one from the MMC “base” module. In other words, the _(“$msg”) method can be only used to translate strings from the MMC “base” module.

  • _T($msg, $module): this function looks up a message for a given module. So if you create MMC web module called “module1”, to translate a message you write:

    echo _T("This is a message to translate", "module1");
    

    As the module name is already in the URL to be displayed (see How MMC pages are displayed, if you don’t specify a module name it can be automatically guessed.