Neos\Neos\Service\TransliterationService::transliterate PHP Method

transliterate() public method

Accepts language parameter that maps to a configurable array of special transliteration rules if present.
public transliterate ( string $text, string $language = null ) : string
$text string Text to transliterate
$language string Optional language for specific rules (falls back to current locale if not provided)
return string
    public function transliterate($text, $language = null)
    {
        $language = $language ?: $this->localizationService->getConfiguration()->getCurrentLocale()->getLanguage();
        if (isset($this->transliterationRules[$language])) {
            // Apply special transliteration (not supported in library)
            $text = strtr($text, $this->transliterationRules[$language]);
        }
        // Transliterate (transform 北京 to 'Bei Jing')
        if (preg_match('/[\\x80-\\xff]/', $text) && Transliterator::validUtf8($text)) {
            $text = Transliterator::utf8ToAscii($text);
        }
        return $text;
    }

Usage Example

 /**
  * Generates a URI path segment for a given node taking it's language dimension into account
  *
  * @param NodeInterface $node Optional node to determine language dimension
  * @param string $text Optional text
  * @return string
  */
 public function generateUriPathSegment(NodeInterface $node = null, $text = null)
 {
     if ($node) {
         $text = $text ?: $node->getLabel() ?: $node->getName();
         $dimensions = $node->getContext()->getDimensions();
         if (array_key_exists('language', $dimensions) && $dimensions['language'] !== array()) {
             $locale = new Locale($dimensions['language'][0]);
             $language = $locale->getLanguage();
         }
     } elseif (strlen($text) === 0) {
         throw new Exception('Given text was empty.', 1457591815);
     }
     $text = $this->transliterationService->transliterate($text, isset($language) ? $language : null);
     return Transliterator::urlize($text);
 }
TransliterationService