You are here

protected function PhpTransliteration::readLanguageOverrides in Drupal 9

Same name in this branch
  1. 9 core/lib/Drupal/Core/Transliteration/PhpTransliteration.php \Drupal\Core\Transliteration\PhpTransliteration::readLanguageOverrides()
  2. 9 core/lib/Drupal/Component/Transliteration/PhpTransliteration.php \Drupal\Component\Transliteration\PhpTransliteration::readLanguageOverrides()
Same name and namespace in other branches
  1. 8 core/lib/Drupal/Component/Transliteration/PhpTransliteration.php \Drupal\Component\Transliteration\PhpTransliteration::readLanguageOverrides()

Reads in language overrides for a language code.

The data is read from files named "$langcode.php" in PhpTransliteration::$dataDirectory. These files should set up an array variable $overrides with an element whose key is $langcode and whose value is an array whose keys are character codes, and whose values are their transliterations in this language. The character codes can be for any valid Unicode character, independent of the number of bytes.

Parameters

$langcode: Code for the language to read.

2 calls to PhpTransliteration::readLanguageOverrides()
PhpTransliteration::readLanguageOverrides in core/lib/Drupal/Core/Transliteration/PhpTransliteration.php
Overrides \Drupal\Component\Transliteration\PhpTransliteration::readLanguageOverrides().
PhpTransliteration::replace in core/lib/Drupal/Component/Transliteration/PhpTransliteration.php
Replaces a single Unicode character using the transliteration database.
1 method overrides PhpTransliteration::readLanguageOverrides()
PhpTransliteration::readLanguageOverrides in core/lib/Drupal/Core/Transliteration/PhpTransliteration.php
Overrides \Drupal\Component\Transliteration\PhpTransliteration::readLanguageOverrides().

File

core/lib/Drupal/Component/Transliteration/PhpTransliteration.php, line 279

Class

PhpTransliteration
Implements transliteration without using the PECL extensions.

Namespace

Drupal\Component\Transliteration

Code

protected function readLanguageOverrides($langcode) {

  // Figure out the file name to use by sanitizing the language code,
  // just in case.
  $file = $this->dataDirectory . '/' . preg_replace('/[^a-zA-Z\\-]/', '', $langcode) . '.php';

  // Read in this file, which should set up a variable called $overrides,
  // which will be local to this function.
  if (is_file($file)) {
    include $file;
  }
  if (!isset($overrides) || !is_array($overrides)) {
    $overrides = [
      $langcode => [],
    ];
  }
  $this->languageOverrides[$langcode] = $overrides[$langcode];
}