2015-08-17 17:00:26 -07:00
< ? php
namespace Drupal\language ;
use Drupal\Core\Language\LanguageInterface ;
use Drupal\Core\Language\LanguageManagerInterface ;
/**
* Common interface for language negotiation services .
*/
interface ConfigurableLanguageManagerInterface extends LanguageManagerInterface {
/**
* Rebuild the container to register services needed on multilingual sites .
*/
public static function rebuildServices ();
/**
* Returns the language negotiator .
*
* @ return \Drupal\language\LanguageNegotiatorInterface
* The language negotiator .
*/
public function getNegotiator ();
/**
* Injects the language negotiator .
*
* @ param \Drupal\language\LanguageNegotiatorInterface $negotiator
* The language negotiator .
*/
public function setNegotiator ( LanguageNegotiatorInterface $negotiator );
/**
* Returns all the defined language types including fixed ones .
*
* A language type maybe configurable or fixed . A fixed language type is a
* type whose language negotiation methods are module - defined and not altered
* through the user interface .
*
* @ return array
* An array of language type machine names .
*/
public function getDefinedLanguageTypes ();
/**
* Stores language types configuration .
*
2016-03-02 12:40:24 -08:00
* @ param array $config
2015-08-17 17:00:26 -07:00
* An indexed array with the following keys_
* - configurable : an array of configurable language type names .
* - all : an array of all the defined language type names .
*/
public function saveLanguageTypesConfiguration ( array $config );
/**
* Updates locked system language weights .
*/
public function updateLockedLanguageWeights ();
/**
* Gets a language config override object .
*
* @ param string $langcode
* The language code for the override .
* @ param string $name
* The language configuration object name .
*
* @ return \Drupal\language\Config\LanguageConfigOverride
* The language config override object .
*/
public function getLanguageConfigOverride ( $langcode , $name );
/**
* Gets a language configuration override storage object .
*
* @ param string $langcode
* The language code for the override .
*
2017-04-13 15:53:35 +01:00
* @ return \Drupal\Core\Config\StorageInterface
2015-08-17 17:00:26 -07:00
* A storage object to use for reading and writing the
* configuration override .
*/
public function getLanguageConfigOverrideStorage ( $langcode );
/**
* Returns the standard language list excluding already configured languages .
*
* @ return array
* A list of standard language names keyed by langcode .
*/
public function getStandardLanguageListWithoutConfigured ();
/**
* Gets the negotiated language method ID .
*
* @ param string $type
* ( optional ) The language type ; e . g . , the interface or the content
* language .
*
* @ return string
* The negotiated language method ID .
*/
public function getNegotiatedLanguageMethod ( $type = LanguageInterface :: TYPE_INTERFACE );
}