Joomla Platform  13.1
Documentation des API du framework Joomla Platform
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Pages
Référence de la classe JLanguageHelper

Liste de tous les membres

Fonctions membres publiques statiques

static createLanguageList ($actualLanguage, $basePath=JPATH_BASE, $caching=false, $installed=false)
static detectLanguage ()
static getLanguages ($key= 'default')

Description détaillée

Définition à la ligne 19 du fichier helper.php.


Documentation des fonctions membres

static JLanguageHelper::createLanguageList (   $actualLanguage,
  $basePath = JPATH_BASE,
  $caching = false,
  $installed = false 
)
static

Builds a list of the system languages which can be used in a select option

Paramètres:
string$actualLanguageClient key for the area
string$basePathBase path to use
boolean$cachingTrue if caching is used
boolean$installedGet only installed languages
Renvoie:
array List of system languages
Depuis:
11.1

Définition à la ligne 33 du fichier helper.php.

Références JFactory\getDbo(), et JLanguage\getKnownLanguages().

Référencé par JFormFieldLanguage\getOptions().

{
$list = array();
// Cache activation
$langs = JLanguage::getKnownLanguages($basePath);
if ($installed)
{
$query = $db->getQuery(true)
->select('element')
->from('#__extensions')
->where('type=' . $db->quote('language'))
->where('state=0')
->where('enabled=1')
->where('client_id=' . ($basePath == JPATH_ADMINISTRATOR ? 1 : 0));
$db->setQuery($query);
$installed_languages = $db->loadObjectList('element');
}
foreach ($langs as $lang => $metadata)
{
if (!$installed || array_key_exists($lang, $installed_languages))
{
$option = array();
$option['text'] = $metadata['name'];
$option['value'] = $lang;
if ($lang == $actualLanguage)
{
$option['selected'] = 'selected="selected"';
}
$list[] = $option;
}
}
return $list;
}

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

static JLanguageHelper::detectLanguage ( )
static

Tries to detect the language.

Renvoie:
string locale or null if not found
Depuis:
11.1

Définition à la ligne 82 du fichier helper.php.

{
if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))
{
$browserLangs = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
$systemLangs = self::getLanguages();
foreach ($browserLangs as $browserLang)
{
// Slice out the part before ; on first step, the part before - on second, place into array
$browserLang = substr($browserLang, 0, strcspn($browserLang, ';'));
$primary_browserLang = substr($browserLang, 0, 2);
foreach ($systemLangs as $systemLang)
{
// Take off 3 letters iso code languages as they can't match browsers' languages and default them to en
$Jinstall_lang = $systemLang->lang_code;
if (strlen($Jinstall_lang) < 6)
{
if (strtolower($browserLang) == strtolower(substr($systemLang->lang_code, 0, strlen($browserLang))))
{
return $systemLang->lang_code;
}
elseif ($primary_browserLang == substr($systemLang->lang_code, 0, 2))
{
$primaryDetectedLang = $systemLang->lang_code;
}
}
}
if (isset($primaryDetectedLang))
{
return $primaryDetectedLang;
}
}
}
return null;
}
static JLanguageHelper::getLanguages (   $key = 'default')
static

Get available languages

Paramètres:
string$keyArray key
Renvoie:
array An array of published languages
Depuis:
11.1

Définition à la ligne 132 du fichier helper.php.

Références JFactory\getApplication(), JFactory\getCache(), JFactory\getDbo(), et JLanguage\getKnownLanguages().

{
static $languages;
if (empty($languages))
{
// Installation uses available languages
if (JFactory::getApplication()->getClientId() == 2)
{
$languages[$key] = array();
$knownLangs = JLanguage::getKnownLanguages(JPATH_BASE);
foreach ($knownLangs as $metadata)
{
// Take off 3 letters iso code languages as they can't match browsers' languages and default them to en
$obj = new stdClass;
$obj->lang_code = $metadata['tag'];
$languages[$key][] = $obj;
}
}
else
{
$cache = JFactory::getCache('com_languages', '');
if (!$languages = $cache->get('languages'))
{
$query = $db->getQuery(true)
->select('*')
->from('#__languages')
->where('published=1')
->order('ordering ASC');
$db->setQuery($query);
$languages['default'] = $db->loadObjectList();
$languages['sef'] = array();
$languages['lang_code'] = array();
if (isset($languages['default'][0]))
{
foreach ($languages['default'] as $lang)
{
$languages['sef'][$lang->sef] = $lang;
$languages['lang_code'][$lang->lang_code] = $lang;
}
}
$cache->store($languages, 'languages');
}
}
}
return $languages[$key];
}

+ Voici le graphe d'appel pour cette fonction :


La documentation de cette classe a été générée à partir du fichier suivant :