• Модуль: translate
  • Путь к файлу: ~/bitrix/modules/translate/lib/settings.php
  • Класс: BitrixTranslateSettings
  • Вызов: Settings::getOptions
public function getOptions(string $langPath = ''): array
{
	// lazy load
	if ($this->options === null && !$this->load())
	{
		return [];
	}

	if (empty($langPath))
	{
		return $this->options;
	}
	// for all in lang/
	if ($langPath === '*' && isset($this->options['*']))
	{
		return $this->options['*'];
	}

	$options = [];
	if (isset($this->options['*']))
	{
		$options = $this->options['*'];
	}

	if (preg_match("#^(.*?/lang/)([^/]+)/+(.+)#".(TranslateConfig::isUtfMode() ? 'u' : ''), $langPath, $parts))
	{
		$langPath = $parts[3];
	}

	if (isset($this->options[$langPath]))
	{
		$options = $this->options[$langPath];
	}
	else
	{
		if (mb_strpos($langPath, '/') !== false)
		{
			$parts = explode('/', $langPath);
			$path = '';
			foreach ($parts as $part)
			{
				$path .= ($path != '' ? '/' : ''). $part;
				if (isset($this->options[$path]))
				{
					$options = $this->options[$path];
				}
			}
		}
	}

	return $options;
}