UPD: копался по форуму, нашел более элегантное решение (http://modxcms.com/forums/index.php/topic,21754.msg134490.html#msg134490), чем то о котором писал ниже 
К сожалению, данную возможность обещают только в версии 0.9.7 (с нетерпением ждём).
А пока я решаю эту проблему так:
Убираем из этой цепочки TV, так как значение языка мы можем брать из названия корневой директории, в которой находится документ:
site
+ ru
+ en
+ lv
В моём случае мы вызываем нужный чанк с именем вида chunk_lang (например, slogan_ru) с помощью сниппета с параметром [!lang? &chnk=`ChunkName` !]. Тогда при вызове снипета из директории
ru нам будет возвращено значение
ChunkName_ru.
<?php
/* UltimateParent 2.0 beta by Jason Coward <[email protected]> */
$top= isset ($top) && intval($top) ? $top : 0;
$id= isset ($id) && intval($id) ? intval($id) : $modx->documentIdentifier;
$topLevel= isset ($topLevel) && intval($topLevel) ? intval($topLevel) : 0;
if ($id && $id != $top) {
$pid= $id;
if (!$topLevel || count($modx->getParentIds($id)) >= $topLevel) {
while ($parentIds= $modx->getParentIds($id, 1)) {
$pid= array_pop($parentIds);
if ($pid == $top) {
break;
}
$id= $pid;
if ($topLevel && count($modx->getParentIds($id)) < $topLevel) {
break;
}
}
}
}
/* END of UltimateParent */
$chnk= isset ($chnk) ? $chnk : '[*alias*]';
$docInfo = $modx->getDocument($id,'id,alias,pagetitle,menutitle,published,deleted,parent,hidemenu,description,longtitle,introtext');
$docAlias = $docInfo['alias'];
echo '{{' . $chnk . '_' . $docAlias . '}}';
?>
В связи с этим вопрос по производительности: стоит ли переписывать весь снипет, или же вызвать его через $modx->runSnippet(’snippetName’); ?
У данного метода нашлась ошибка (может знающие люди помогут): при вызове чанка этим методом, Wayfinder (да и предположительно другие сниппеты), вызывающийся из этого чанка не запускается
Также, наверное, можно воспользоваться placeholder’ ами.
Если необходимо переключение между языками, читайте в английской Вики
http://wiki.modxcms.com/index.php/How_to_make_Multi_Lingual_Site