В Drupal (начиная с версии 8 и выше, включая 10 и 11), чтобы получить код языка по умолчанию сайта (например, en
, ru
, fr
), используйте следующий способ:
1 2 3 |
$default_language_code = \Drupal::languageManager() ->getDefaultLanguage() ->getId(); |
Подробности запроса:
\Drupal::languageManager()
— обращение к языковому менеджеру.getDefaultLanguage()
— возвращает объектLanguageInterface
для языка по умолчанию.getId()
— возвращает языковой код (например,'en'
,'ru'
).
Альтернатива через DI (Dependency Injection)
Если вы пишете сервис или контроллер, лучше использовать DI:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
use Drupal\Core\Language\LanguageManagerInterface; class MyService { protected $languageManager; public function __construct(LanguageManagerInterface $language_manager) { $this->languageManager = $language_manager; } public function getDefaultLangCode() { return $this->languageManager->getDefaultLanguage()->getId(); } } |