Ähnlich der PHP-Methode

echo JText::_('TPL_BEEZ3_ALTCLOSE');

kann man In Joomla-Javascript mit JText und Sprachplatzhaltern aus *.ini-Dateien arbeiten. Am Beispiel eines alerts:

alert(Joomla.JText._('TPL_BEEZ3_ALTCLOSE'));

Grundbedingung ist das Laden der

/media/system/js/core.js

in Joomla:

JHtml::_('behavior.core');

 DAS LADEN DER core.js ERLEDIGT JOOMLA IN NEUEREN VERSIONEN OHNE ZUTUN, WENN MAN FOLGENDE script()-Methode verwendet.

Nun muss man die Sprachplatzhalter in's JavaScript laden. man verwendet in PHP-Umgebung die Joomla-Methode

JText::script('TPL_BEEZ3_ALTOPEN');
JText::script('TPL_BEEZ3_TEXTRIGHTOPEN');

Siehe bspw. im Beez3-Template Zeile

require __DIR__ . '/jsstrings.php';

und den Inhalt der Datei (Zeilen 13-25):

 

Im Quelltext der HTML-Seite findet man dadurch automatisch Folgendes, also Sprachplatzhalter versus Übersetzung wie in den INI-Sprachdateien gefunden, die nun via Joomla.JText._('TPL_BEEZ3_ALTCLOSE') in JavaScript verwendet werden können

FOLGENDER AUTOMATISCH GENERIERTER JAVASCRIPT-CODE HAT SICH IN NEUEREN JOOMLA-VERSIONEN GEÄNDERT! TROTZDEM FINDET MAN IM SEITEN-QUELLTEXT DIE SPRACHPLATZHALTER FÜR JAVASCRIPT.


(function() {
 var strings = {"TPL_BEEZ3_ALTCLOSE":"Mach dies","TPL_BEEZ3_TEXTRIGHTOPEN":"Mach das"};
 if (typeof Joomla == 'undefined') {
  Joomla = {};
  Joomla.JText = strings;
 }
 else {
  Joomla.JText.load(strings);
 }
})();

Für Debugzwecke kann man in PHP-Umgebung das Array aller zuvor geladener, in Javascript verfügbaren Strings so erhalten:

$allAvailable = JText::getScriptStrings();
echo 'DEBUG ' . print_r($allAvailable,true); exit;

Folgender früher üblicher Aufruf dafür wird ab Joomla 4 nicht mehr funktionieren

$allAvailable = JText::script();