Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. AbstractUnicodeString.php

function AbstractUnicodeString::getLocaleTransliterator

3 calls to AbstractUnicodeString::getLocaleTransliterator()
AbstractUnicodeString::localeLower in vendor/symfony/string/AbstractUnicodeString.php
AbstractUnicodeString::localeTitle in vendor/symfony/string/AbstractUnicodeString.php
AbstractUnicodeString::localeUpper in vendor/symfony/string/AbstractUnicodeString.php

File

vendor/symfony/string/AbstractUnicodeString.php, line 636

Class

AbstractUnicodeString
Represents a string of abstract Unicode characters.

Namespace

Symfony\Component\String

Code

private function getLocaleTransliterator(string $locale, string $id) : ?\Transliterator {
    $rule = $locale . '-' . $id;
    if (\array_key_exists($rule, self::$transliterators)) {
        return self::$transliterators[$rule];
    }
    if (null !== ($transliterator = self::$transliterators[$rule] = \Transliterator::create($rule))) {
        return $transliterator;
    }
    // Try to find a parent locale (nl_BE -> nl)
    if (false === ($i = strpos($locale, '_'))) {
        return null;
    }
    $parentRule = substr_replace($locale, '-' . $id, $i);
    // Parent locale was already cached, return and store as current locale
    if (\array_key_exists($parentRule, self::$transliterators)) {
        return self::$transliterators[$rule] = self::$transliterators[$parentRule];
    }
    // Create transliterator based on parent locale and cache the result on both initial and parent locale values
    $transliterator = \Transliterator::create($parentRule);
    return self::$transliterators[$rule] = self::$transliterators[$parentRule] = $transliterator;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal