3 namespace Drupal\language;
5 use Drupal\Core\Language\LanguageInterface;
6 use Drupal\Core\Language\LanguageManagerInterface;
9 * Common interface for language negotiation services.
11 interface ConfigurableLanguageManagerInterface extends LanguageManagerInterface {
14 * Rebuild the container to register services needed on multilingual sites.
16 public static function rebuildServices();
19 * Returns the language negotiator.
21 * @return \Drupal\language\LanguageNegotiatorInterface
22 * The language negotiator.
24 public function getNegotiator();
27 * Injects the language negotiator.
29 * @param \Drupal\language\LanguageNegotiatorInterface $negotiator
30 * The language negotiator.
32 public function setNegotiator(LanguageNegotiatorInterface $negotiator);
35 * Returns all the defined language types including fixed ones.
37 * A language type maybe configurable or fixed. A fixed language type is a
38 * type whose language negotiation methods are module-defined and not altered
39 * through the user interface.
42 * An array of language type machine names.
44 public function getDefinedLanguageTypes();
47 * Stores language types configuration.
49 * @param array $config
50 * An indexed array with the following keys_
51 * - configurable: an array of configurable language type names.
52 * - all: an array of all the defined language type names.
54 public function saveLanguageTypesConfiguration(array $config);
57 * Updates locked system language weights.
59 public function updateLockedLanguageWeights();
62 * Gets a language config override object.
64 * @param string $langcode
65 * The language code for the override.
67 * The language configuration object name.
69 * @return \Drupal\language\Config\LanguageConfigOverride
70 * The language config override object.
72 public function getLanguageConfigOverride($langcode, $name);
75 * Gets a language configuration override storage object.
77 * @param string $langcode
78 * The language code for the override.
80 * @return \Drupal\Core\Config\StorageInterface
81 * A storage object to use for reading and writing the
82 * configuration override.
84 public function getLanguageConfigOverrideStorage($langcode);
87 * Returns the standard language list excluding already configured languages.
90 * A list of standard language names keyed by langcode.
92 public function getStandardLanguageListWithoutConfigured();
95 * Gets the negotiated language method ID.
98 * (optional) The language type; e.g., the interface or the content
102 * The negotiated language method ID.
104 public function getNegotiatedLanguageMethod($type = LanguageInterface::TYPE_INTERFACE);