/** * Get the transliteration object. * * @return \Drupal\Core\Transliteration\PhpTransliteration * The transliteration object. */ protected function getTransliteration() { if (!isset($this->transliteration)) { $this->transliteration = \Drupal::transliteration(); } return $this->transliteration; }
/** * Wraps the transliteration service. * * @return \Drupal\Component\Transliteration\TransliterationInterface */ protected function transliteration() { if (!$this->transliteration) { $this->transliteration = \Drupal::transliteration(); } return $this->transliteration; }
/** * {@inheritdoc} */ public function getMachineNameSuggestion() { $definition = $this->getPluginDefinition(); $admin_label = $definition['admin_label']; // @todo This is basically the same as what is done in // \Drupal\system\MachineNameController::transliterate(), so it might make // sense to provide a common service for the two. $transliteration_service = \Drupal::transliteration(); $transliterated = $transliteration_service->transliterate($admin_label, LanguageInterface::LANGCODE_DEFAULT, '_'); $replace_pattern = '[^a-z0-9_.]+'; $transliterated = Unicode::strtolower($transliterated); if (isset($replace_pattern)) { $transliterated = preg_replace('@' . $replace_pattern . '@', '', $transliterated); } return $transliterated; }
/** * Tests the transliteration() method. * * @covers ::transliteration */ public function testTransliteration() { $this->setMockContainerService('transliteration'); $this->assertNotNull(\Drupal::transliteration()); }