40.7 Internationalisierung 

Joomla! bietet mittlerweile eine gute Unterstützung für mehrsprachige Webseiten. Da wollen wir natürlich nicht nachstehen. Unser Modul soll in der Lage sein, mit verschiedenen Sprachen umzugehen. Hier hilft die Klasse JText. Sie entscheidet, welche Sprache gerade angezeigt wird, und lädt die entsprechenden Ausgaben. In unserem Modul ist momentan nur die Begrüßung hartkodiert. Sehen wir uns an, wie man diese internationalisiert. Zunächst benötigen wir eine Sprachendatei. Diese wird für jede Sprache erstellt und wird nach folgender Konvention benannt:
sprachcode.modul.ini
In unserem Fall also für Deutsch und Englisch:
de-DE.mod_api.ini
en-GB.mod_api.ini
In der Sprachdatei finden sich sogenannte Feature-Value-Paare, und zwar jeweils eines pro Zeile. Der erste Teil ist der Zugriffsschlüssel, der üblicherweise großgeschrieben wird. Dann folgt ein Gleichheitszeichen und dann die jeweilige Übersetzung:
1 TEXT GREET=Hallo
2 TEXT GUEST=Gast
Listing 40.20 de-DE.mod_api.ini
Die englische Datei sieht dann so aus:
1 TEXT GREET=Hello
2 TEXT GUEST=visitor
Listing 40.21 en-GB.mod_api.ini
Jetzt muss die Ausgabe in der Datei default.php angepasst werden:
6 <?php echo JText::_('TEXT GREET').' '.$username?>!
Listing 40.22 Auszug aus »default.php«
Vergessen Sie nicht, die beiden Sprachdateien mit in die Beschreibungsdatei aufzunehmen:
18 </files>
19 <languages>
20 <language tag="en-GB">en-GB.mod_api.ini</language>
21 <language tag="de-DE">de-DE.mod_api.ini</language>
22 </languages>
23 <params>
Listing 40.23 Auszug aus »mod_api.xml«
Die Sprachen werden in einem eigenen Tag <languages> eingefügt. Wenn Sie das Modul jetzt neu installieren, werden diese mitkopiert.