Alle Module für pragmaMX sollten für eine Mehrsprachigkeit ausgelegt sein. Dazu ist erforderlich, dass innerhalb des Ausgabe KEINE Klartext-Ausgaben erfolgen dürfen. Alle Ausgaben haben über Konstanten zu erfolgen. Die Sprachkonstanten werden in den Sprachdateien innerhalb des Modules abgelegt.

Die Sprachdateien befinden sich im Unterordner languages/ des Modulordners und haben folgenden Aufbau:

// gegen Direktaufruf sichern
defined('mxMainFileLoaded') or die('access denied');
// evtl. Konstanten erst abfragen
if (!defined("_ADD") ) define("_ADD","New");
if (!defined("_HELP") ) define("_HELP","Help");
define("_XYZ_INDEX","MODUL-Index");
/* ^ ^ ^
Präfix Name Übersetzung */

Die Konstanten müssen in allen Dateien der verschiedenen Sprachversionen gleichermaßen vorkommen und sollten einen Unterstrich '_' am Anfang und einen Modulspezifischen Präfix (siehe obenstehenden Code) besitzen, damit keine Über­schneidungen der Sprachkonstanten des Moduls mit anderen Modulen oder dem System zustande kommen.

Die Namensgebung der Sprachdateien entspricht folgender Regelung:

[prefix.]lang-[sprache].php

[prefix] - optional, kann eine modulspezifische Differenzierung enthalten

[sprache] - enthält die Sprachbezeichnung

  • english für Englisch
  • german für Deutsch Sie
  • german_ du für Deutsch – DU
  • french für Französisch
  • danish für Dänisch
  • turkish für Türkisch

Eingebunden werden die Sprachdateien immer mittels

mxGetLangfile ();

Sollten modulspezifische Zusatzdateien existieren, so können diese Dateien auch, wie folgt eingebunden werden:

mxGetLangfile( $mymodulname ,‘[prefix].lang-*.php‘);