function language_negotiation_info

7.x language.inc language_negotiation_info()

Returns all the defined language negotiation providers.

Return value

An array of language negotiation providers.

Related topics

5 calls to language_negotiation_info()
language_negotiation_purge in drupal-7.x/includes/language.inc
Removes any unused language negotiation providers from the configuration.
language_negotiation_set in drupal-7.x/includes/language.inc
Saves a list of language negotiation providers.
language_provider_invoke in drupal-7.x/includes/language.inc
Helper function used to cache the language negotiation providers results.
language_types_set in drupal-7.x/includes/language.inc
Updates the language type configuration.
locale_languages_configure_form in drupal-7.x/modules/locale/locale.admin.inc
Setting for language negotiation options
3 string references to 'language_negotiation_info'
language_negotiation_purge in drupal-7.x/includes/language.inc
Removes any unused language negotiation providers from the configuration.
language_types_set in drupal-7.x/includes/language.inc
Updates the language type configuration.
LocaleLanguageNegotiationInfoFunctionalTest::languageNegotiationUpdate in drupal-7.x/modules/locale/locale.test
Update language types/negotiation information.

File

drupal-7.x/includes/language.inc, line 392
Language Negotiation API.

Code

function language_negotiation_info() {
  $language_providers = &drupal_static(__FUNCTION__);

  if (!isset($language_providers)) {
    // Collect all the module-defined language negotiation providers.
    $language_providers = module_invoke_all('language_negotiation_info');

    // Add the default language negotiation provider.
    $language_providers[LANGUAGE_NEGOTIATION_DEFAULT] = array(
      'callbacks' => array('language' => 'language_from_default'),
      'weight' => 10,
      'name' => t('Default'),
      'description' => t('Use the default site language (@language_name).', array('@language_name' => language_default()->native)),
    );

    // Let other modules alter the list of language negotiation providers.
    drupal_alter('language_negotiation_info', $language_providers);
  }

  return $language_providers;
}