Мультиязычность и мультидоменность на modx revo можно запилить с помощью плагина от bezumkin. Это решение- совсем не костыль, а вполне себе годнота. 

Итак. Схема такая: под каждый домен или язык у нас свой контекст. 

Создаем плагин и подписываем его на event OnHandleRequest

<?php
if ($modx->event->name != 'OnHandleRequest' || $modx->context->key == 'mgr') {return;}

$host = $_SERVER['HTTP_HOST'];
// Выбираем контекст с настройкой http_host
$q = $modx->newQuery('modContextSetting', array('key' => 'http_host', 'value' => $host));
$q->select('context_key');
$tstart = microtime(true);
if ($q->prepare() && $q->stmt->execute()) {
	$modx->queryTime += microtime(true) - $tstart;
	$modx->executedQueries++;
	if ($context = $q->stmt->fetch(PDO::FETCH_COLUMN)) {
		if ($context != 'web') {
			$modx->switchContext($context);
		}
	}
}

Вот и все. В настройках нужных контекстов указываем домен в ключ http_host. Так же указываем ключи base_url, cultureKey, error_page, site_start, site_status, site_url, unauthorized_page.