symfony_translation-1.0.0-alpha1/src/Translator/Translator.php

src/Translator/Translator.php
<?php

namespace Drupal\symfony_translation\Translator;

use Drupal\Core\Language\LanguageManagerInterface;
use Symfony\Component\Translation\Translator as TranslatorBase;

/**
 * A translator that gets its locale information from the Drupal language manager.
 */
class Translator extends TranslatorBase {

  protected LanguageManagerInterface $languageManager;

  /**
   * Sets the language manager.
   *
   * @param \Drupal\Core\Language\LanguageManagerInterface $languageManager
   *   The language manager.
   */
  public function setLanguageManager(LanguageManagerInterface $languageManager): void {
    $this->languageManager = $languageManager;
  }

  /**
   * {@inheritdoc}
   */
  public function getLocale(): string {
    if (!isset($this->languageManager)) {
      return parent::getLocale();
    }

    return $this->languageManager->getCurrentLanguage()->getId();
  }

  /**
   * {@inheritdoc}
   */
  public function getFallbackLocales(): array {
    if (!isset($this->languageManager)) {
      return parent::getFallbackLocales();
    }

    return $this->languageManager->getFallbackCandidates();
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc