Example #1
0
 /**
  * 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;
 }
Example #2
0
 /**
  * Wraps the transliteration service.
  *
  * @return \Drupal\Component\Transliteration\TransliterationInterface
  */
 protected function transliteration()
 {
     if (!$this->transliteration) {
         $this->transliteration = \Drupal::transliteration();
     }
     return $this->transliteration;
 }
Example #3
0
 /**
  * {@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;
 }
Example #4
0
 /**
  * Tests the transliteration() method.
  *
  * @covers ::transliteration
  */
 public function testTransliteration()
 {
     $this->setMockContainerService('transliteration');
     $this->assertNotNull(\Drupal::transliteration());
 }