• Модуль: translate
  • Путь к файлу: ~/bitrix/modules/translate/lib/componentbase.php
  • Класс: BitrixTranslateComponentBase
  • Вызов: ComponentBase::getCompatibleLanguages
protected function getCompatibleLanguages()
{
	static $languages = array();
	if (empty($languages))
	{
		$currentEncoding = LocalizationTranslation::getCurrentEncoding();
		$currentLang = Loc::getCurrentLang();
		$limitEncoding = !($currentEncoding == 'utf-8' || LocalizationTranslation::useTranslationRepository());

		$isEncodingCompatible = function ($langId) use ($limitEncoding, $currentEncoding, $currentLang)
		{
			$compatible = true;
			if ($limitEncoding)
			{
				$compatible = (
					$langId == $currentLang ||
					TranslateConfig::getCultureEncoding($langId) == $currentEncoding ||
					$langId == 'en'
				);
			}

			return $compatible;
		};

		$enabledLanguages = $this->getLanguages();
		foreach ($enabledLanguages as $langId)
		{
			if ($limitEncoding && !$isEncodingCompatible($langId))
			{
				continue;
			}
			$languages[] = $langId;
		}
	}

	return $languages;
}