How to render a menu_block in a specific language (i18n) I have a special menu that is part of the page. I include it in the template like

$block = module_invoke('menu_block', 'block_view', DEF_BOOKLETS_MBID);
print render($block['content']);


Menu's are part of the interface, not of the content. If I use i18n, the translated menu will appear fine if the interface language switches. 

However, the client does not want that. The interface is supposed to be one language, but the content can switch languages. That works too - apart from the menu block inside the content.

Is there a way to render a menu_block inside a template in the current content language ?
ok - this is extremely ugly, but seems to work

global $language,$language_content;
$org_language = $language;
$language = $language_content;
$block = module_invoke('menu_block', 'block_view', IAF_BOOKLETS_MBID);
$language = $org_language;

print render($block['content']);


Feel free to boo me on this one :-D