class LanguageOptions

Options provider to list all languages enabled on the site.

Hierarchy

Expanded class hierarchy of LanguageOptions

1 file declares its use of LanguageOptions
OptionsProviderTest.php in tests/src/Functional/OptionsProvider/OptionsProviderTest.php

File

src/TypedData/Options/LanguageOptions.php, line 14

Namespace

Drupal\rules\TypedData\Options
View source
class LanguageOptions extends OptionsProviderBase implements ContainerInjectionInterface {
    
    /**
     * The language_manager service.
     *
     * @var \Drupal\Core\Language\LanguageManagerInterface
     */
    protected $languageManager;
    
    /**
     * Constructs a LanguageOptions object.
     *
     * @param \Drupal\Core\Language\LanguageManagerInterface $language_manager
     *   The language_manager service.
     */
    public function __construct(LanguageManagerInterface $language_manager) {
        $this->languageManager = $language_manager;
    }
    
    /**
     * {@inheritdoc}
     */
    public static function create(ContainerInterface $container) {
        return new static($container->get('language_manager'));
    }
    
    /**
     * {@inheritdoc}
     */
    public function getPossibleOptions(AccountInterface $account = NULL) {
        $languages = $this->languageManager
            ->getLanguages(LanguageInterface::STATE_CONFIGURABLE);
        $default = $this->languageManager
            ->getDefaultLanguage()
            ->getId();
        $options = [
            LanguageInterface::LANGCODE_NOT_SPECIFIED => $this->t('Not specified'),
        ];
        foreach ($languages as $langcode => $language) {
            $options[$langcode] = $language->getName() . ($langcode == $default ? ' - default' : '') . ' (' . $langcode . ')';
        }
        // Sort the result by value for ease of locating and selecting.
        asort($options);
        return $options;
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
LanguageOptions::$languageManager protected property The language_manager service.
LanguageOptions::create public static function Instantiates a new instance of this class. Overrides ContainerInjectionInterface::create
LanguageOptions::getPossibleOptions public function Returns an array of possible values with labels for display. Overrides OptionsProviderInterface::getPossibleOptions
LanguageOptions::__construct public function Constructs a LanguageOptions object.
OptionsProviderBase::getPossibleValues public function Returns an array of possible values. Overrides OptionsProviderInterface::getPossibleValues
OptionsProviderBase::getSettableOptions public function Returns an array of settable values with labels for display. Overrides OptionsProviderInterface::getSettableOptions
OptionsProviderBase::getSettableValues public function Returns an array of settable values. Overrides OptionsProviderInterface::getSettableValues
StringTranslationTrait::$stringTranslation protected property The string translation service. 3
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.