Security update to Drupal 8.4.6
[yaffs-website] / web / core / modules / language / src / ConfigurableLanguageManagerInterface.php
1 <?php
2
3 namespace Drupal\language;
4
5 use Drupal\Core\Language\LanguageInterface;
6 use Drupal\Core\Language\LanguageManagerInterface;
7
8 /**
9  * Common interface for language negotiation services.
10  */
11 interface ConfigurableLanguageManagerInterface extends LanguageManagerInterface {
12
13   /**
14    * Rebuild the container to register services needed on multilingual sites.
15    */
16   public static function rebuildServices();
17
18   /**
19    * Returns the language negotiator.
20    *
21    * @return \Drupal\language\LanguageNegotiatorInterface
22    *   The language negotiator.
23    */
24   public function getNegotiator();
25
26   /**
27    * Injects the language negotiator.
28    *
29    * @param \Drupal\language\LanguageNegotiatorInterface $negotiator
30    *   The language negotiator.
31    */
32   public function setNegotiator(LanguageNegotiatorInterface $negotiator);
33
34   /**
35    * Returns all the defined language types including fixed ones.
36    *
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.
40    *
41    * @return array
42    *   An array of language type machine names.
43    */
44   public function getDefinedLanguageTypes();
45
46   /**
47    * Stores language types configuration.
48    *
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.
53    */
54   public function saveLanguageTypesConfiguration(array $config);
55
56   /**
57    * Updates locked system language weights.
58    */
59   public function updateLockedLanguageWeights();
60
61   /**
62    * Gets a language config override object.
63    *
64    * @param string $langcode
65    *   The language code for the override.
66    * @param string $name
67    *   The language configuration object name.
68    *
69    * @return \Drupal\language\Config\LanguageConfigOverride
70    *   The language config override object.
71    */
72   public function getLanguageConfigOverride($langcode, $name);
73
74   /**
75    * Gets a language configuration override storage object.
76    *
77    * @param string $langcode
78    *   The language code for the override.
79    *
80    * @return \Drupal\Core\Config\StorageInterface
81    *   A storage object to use for reading and writing the
82    *   configuration override.
83    */
84   public function getLanguageConfigOverrideStorage($langcode);
85
86   /**
87    * Returns the standard language list excluding already configured languages.
88    *
89    * @return array
90    *   A list of standard language names keyed by langcode.
91    */
92   public function getStandardLanguageListWithoutConfigured();
93
94   /**
95    * Gets the negotiated language method ID.
96    *
97    * @param string $type
98    *   (optional) The language type; e.g., the interface or the content
99    *   language.
100    *
101    * @return string
102    *   The negotiated language method ID.
103    */
104   public function getNegotiatedLanguageMethod($type = LanguageInterface::TYPE_INTERFACE);
105
106 }