Naamvallen in Drupal

Via Drupals t() functie kan je in modules heel gemakkelijk strings (tekenreeksen) gebruiken die door anderen vertaald kunnen worden. Met placeholders (zie bovenstaande link voor uitleg) kan je gemakkelijk vaste waardes, zoals getallen, invoegen in een te vertalen string. Naast getallen kan je ook strings via placeholders invoegen, zoals in de Drupal Core gebeurt met gebruikersnamen. De volgende code geeft een situatie weer die voor problemen zorgt:

<?
t("Hello @name!", array('@name' => $account->name));
?>

In het Engels en het Nederlands zou dit respectievelijk "Hello Marcus!" en "Hallo Marcus!" worden, maar wat als je nou een taal hebt die met naamvallen werkt? In zo'n taal zou @name een vocatief zijn. Bovenstaande zin zou naar het Latijn vertaald worden met "Ave Marci!". Hey! Daar heb je het probleem! Marcus wordt ineens Marci. Nou is Latijn een taal die toch niemand meer spreekt, maar er zijn genoeg levende talen die wél naamvallen gebruiken.

Hoe ga je hiermee om? Wat is een zowel gemakkelijke als effectieve manier om dit probleem op te lossen? Ís het überhaubt op te lossen...?