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:
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 Überschneidungen 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: