class Language in Zircon Profile 8
Same name in this branch
- 8 vendor/symfony/validator/Constraints/Language.php \Symfony\Component\Validator\Constraints\Language
 - 8 core/lib/Drupal/Core/Language/Language.php \Drupal\Core\Language\Language
 - 8 core/modules/language/src/Plugin/Condition/Language.php \Drupal\language\Plugin\Condition\Language
 - 8 core/lib/Drupal/Core/TypedData/Plugin/DataType/Language.php \Drupal\Core\TypedData\Plugin\DataType\Language
 - 8 core/modules/language/src/Plugin/migrate/source/Language.php \Drupal\language\Plugin\migrate\source\Language
 
Same name and namespace in other branches
- 8.0 core/lib/Drupal/Core/Language/Language.php \Drupal\Core\Language\Language
 
An object containing the information for an interface language.
Hierarchy
- class \Drupal\Core\Language\Language implements LanguageInterface
 
Expanded class hierarchy of Language
See also
\Drupal\Core\Language\LanguageManager::getLanguage()
51 files declare their use of Language
- AliasManagerTest.php in core/
tests/ Drupal/ Tests/ Core/ Path/ AliasManagerTest.php  - Contains \Drupal\Tests\Core\Path\AliasManagerTest.
 - ConfigEntityBaseUnitTest.php in core/
tests/ Drupal/ Tests/ Core/ Config/ Entity/ ConfigEntityBaseUnitTest.php  - Contains \Drupal\Tests\Core\Config\Entity\ConfigEntityBaseUnitTest.
 - ConfigEntityStorageTest.php in core/
tests/ Drupal/ Tests/ Core/ Config/ Entity/ ConfigEntityStorageTest.php  - Contains \Drupal\Tests\Core\Config\Entity\ConfigEntityStorageTest.
 - ConfigMapperManagerTest.php in core/
modules/ config_translation/ tests/ src/ Unit/ ConfigMapperManagerTest.php  - Contains \Drupal\Tests\config_translation\Unit\ConfigMapperManagerTest.
 - ConfigNamesMapperTest.php in core/
modules/ config_translation/ tests/ src/ Unit/ ConfigNamesMapperTest.php  - Contains \Drupal\Tests\config_translation\Unit\ConfigNamesMapperTest.
 
48 string references to 'Language'
- ConfigTestForm::form in core/
modules/ config/ tests/ config_test/ src/ ConfigTestForm.php  - Gets the actual form array to be built.
 - ConfigTranslationController::itemPage in core/
modules/ config_translation/ src/ Controller/ ConfigTranslationController.php  - Language translations overview page for a configuration name.
 - ConfigTranslationListUiTest::doBlockListTest in core/
modules/ config_translation/ src/ Tests/ ConfigTranslationListUiTest.php  - Tests the block listing for the translate operation.
 - ConfigTranslationListUiTest::doContactFormsListTest in core/
modules/ config_translation/ src/ Tests/ ConfigTranslationListUiTest.php  - Tests the contact forms listing for the translate operation.
 - ConfigTranslationListUiTest::doContentTypeListTest in core/
modules/ config_translation/ src/ Tests/ ConfigTranslationListUiTest.php  - Tests the content type listing for the translate operation.
 
File
- core/
lib/ Drupal/ Core/ Language/ Language.php, line 15  - Contains \Drupal\Core\Language\Language.
 
Namespace
Drupal\Core\LanguageView source
class Language implements LanguageInterface {
  /**
   * The values to use to instantiate the default language.
   *
   * @var array
   */
  public static $defaultValues = array(
    'id' => 'en',
    'name' => 'English',
    'direction' => self::DIRECTION_LTR,
    'weight' => 0,
    'locked' => FALSE,
  );
  // Properties within the Language are set up as the default language.
  /**
   * The human readable English name.
   *
   * @var string
   */
  protected $name = '';
  /**
   * The ID, langcode.
   *
   * @var string
   */
  protected $id = '';
  /**
   * The direction, left-to-right, or right-to-left.
   *
   * Defined using constants, either self::DIRECTION_LTR or self::DIRECTION_RTL.
   *
   * @var int
   */
  protected $direction = self::DIRECTION_LTR;
  /**
   * The weight, used for ordering languages in lists, like selects or tables.
   *
   * @var int
   */
  protected $weight = 0;
  /**
   * Locked indicates a language used by the system, not an actual language.
   *
   * Examples of locked languages are, LANGCODE_NOT_SPECIFIED, und, and
   * LANGCODE_NOT_APPLICABLE, zxx, which are usually shown in language selects
   * but hidden in places like the Language configuration and cannot be deleted.
   *
   * @var bool
   */
  protected $locked = FALSE;
  /**
   * Constructs a new class instance.
   *
   * @param array $values
   *   An array of property values, keyed by property name, used to construct
   *   the language.
   */
  public function __construct(array $values = array()) {
    // Set all the provided properties for the language.
    foreach ($values as $key => $value) {
      if (property_exists($this, $key)) {
        $this->{$key} = $value;
      }
    }
    // If some values were not set, set sane defaults of a predefined language.
    if (!isset($values['name']) || !isset($values['direction'])) {
      $predefined = LanguageManager::getStandardLanguageList();
      if (isset($predefined[$this->id])) {
        if (!isset($values['name'])) {
          $this->name = $predefined[$this->id][0];
        }
        if (!isset($values['direction']) && isset($predefined[$this->id][2])) {
          $this->direction = $predefined[$this->id][2];
        }
      }
    }
  }
  /**
   * {@inheritdoc}
   */
  public function getName() {
    return $this->name;
  }
  /**
   * {@inheritdoc}
   */
  public function getId() {
    return $this->id;
  }
  /**
   * {@inheritdoc}
   */
  public function getDirection() {
    return $this->direction;
  }
  /**
   * {@inheritdoc}
   */
  public function getWeight() {
    return $this->weight;
  }
  /**
   * {@inheritdoc}
   */
  public function isDefault() {
    return static::getDefaultLangcode() == $this
      ->getId();
  }
  /**
   * {@inheritdoc}
   */
  public function isLocked() {
    return (bool) $this->locked;
  }
  /**
   * Sort language objects.
   *
   * @param \Drupal\Core\Language\LanguageInterface[] $languages
   *   The array of language objects keyed by langcode.
   */
  public static function sort(&$languages) {
    uasort($languages, function (LanguageInterface $a, LanguageInterface $b) {
      $a_weight = $a
        ->getWeight();
      $b_weight = $b
        ->getWeight();
      if ($a_weight == $b_weight) {
        return strnatcasecmp($a
          ->getName(), $b
          ->getName());
      }
      return $a_weight < $b_weight ? -1 : 1;
    });
  }
  /**
   * Gets the default langcode.
   *
   * @return string
   *   The current default langcode.
   */
  protected static function getDefaultLangcode() {
    $language = \Drupal::service('language.default')
      ->get();
    return $language
      ->getId();
  }
}Members
| 
            Name | 
                  Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| 
            Language:: | 
                  public static | property | The values to use to instantiate the default language. | |
| 
            Language:: | 
                  protected | property | The direction, left-to-right, or right-to-left. | |
| 
            Language:: | 
                  protected | property | The ID, langcode. | |
| 
            Language:: | 
                  protected | property | Locked indicates a language used by the system, not an actual language. | |
| 
            Language:: | 
                  protected | property | The human readable English name. | |
| 
            Language:: | 
                  protected | property | The weight, used for ordering languages in lists, like selects or tables. | |
| 
            Language:: | 
                  protected static | function | Gets the default langcode. | |
| 
            Language:: | 
                  public | function | 
            Gets the text direction (left-to-right or right-to-left). Overrides LanguageInterface:: | 
                  |
| 
            Language:: | 
                  public | function | 
            Gets the ID (language code). Overrides LanguageInterface:: | 
                  |
| 
            Language:: | 
                  public | function | 
            Gets the name of the language. Overrides LanguageInterface:: | 
                  |
| 
            Language:: | 
                  public | function | 
            Gets the weight of the language. Overrides LanguageInterface:: | 
                  |
| 
            Language:: | 
                  public | function | 
            Returns whether this language is the default language. Overrides LanguageInterface:: | 
                  |
| 
            Language:: | 
                  public | function | 
            Returns whether this language is locked. Overrides LanguageInterface:: | 
                  |
| 
            Language:: | 
                  public static | function | Sort language objects. | |
| 
            Language:: | 
                  public | function | Constructs a new class instance. | |
| 
            LanguageInterface:: | 
                  constant | Language written left to right. Possible value of $language->direction. | ||
| 
            LanguageInterface:: | 
                  constant | Language written right to left. Possible value of $language->direction. | ||
| 
            LanguageInterface:: | 
                  constant | Language code referring to the default language of data, e.g. of an entity. | ||
| 
            LanguageInterface:: | 
                  constant | The language code used when the marked object has no linguistic content. | ||
| 
            LanguageInterface:: | 
                  constant | The language code used when no language is explicitly assigned (yet). | ||
| 
            LanguageInterface:: | 
                  constant | Language code referring to site's default language. | ||
| 
            LanguageInterface:: | 
                  constant | Special system language code (only applicable to UI language). | ||
| 
            LanguageInterface:: | 
                  constant | The language state used when referring to all languages. | ||
| 
            LanguageInterface:: | 
                  constant | The language state when referring to configurable languages. | ||
| 
            LanguageInterface:: | 
                  constant | The language state when referring to locked languages. | ||
| 
            LanguageInterface:: | 
                  constant | The language state used when referring to the site's default language. | ||
| 
            LanguageInterface:: | 
                  constant | The type of language used to define the content language. | ||
| 
            LanguageInterface:: | 
                  constant | The type of language used to select the user interface. | ||
| 
            LanguageInterface:: | 
                  constant | The type of language used for URLs. |