Example #1
0
 /**
  * {@inheritdoc}
  */
 public function getConfig(Editor $editor)
 {
     $language_list = [];
     $config = ['language_list' => 'un'];
     $settings = $editor->getSettings();
     if (isset($settings['plugins']['language'])) {
         $config = $settings['plugins']['language'];
     }
     $predefined_languages = $config['language_list'] === 'all' ? LanguageManager::getStandardLanguageList() : LanguageManager::getUnitedNationsLanguageList();
     // Generate the language_list setting as expected by the CKEditor Language
     // plugin, but key the values by the full language name so that we can sort
     // them later on.
     foreach ($predefined_languages as $langcode => $language) {
         $english_name = $language[0];
         $direction = empty($language[2]) ? NULL : $language[2];
         if ($direction === LanguageInterface::DIRECTION_RTL) {
             $language_list[$english_name] = $langcode . ':' . $english_name . ':rtl';
         } else {
             $language_list[$english_name] = $langcode . ':' . $english_name;
         }
     }
     // Sort on full language name.
     ksort($language_list);
     $config = ['language_list' => array_values($language_list)];
     return $config;
 }
Example #2
0
 /**
  * Provides a list of configs to test.
  */
 public function providerGetConfig()
 {
     return [['un', count(LanguageManager::getUnitedNationsLanguageList())], ['all', count(LanguageManager::getStandardLanguageList())]];
 }