This module provides support for multilingual blocks:
These are not blocks, but metablocks that group together a number of normal blocks and choose the right one depending on language
Module developed by Jose A. Reyero, www.reyero.net
' ); break; case 'admin/modules#description' : $output = t('Manages multilingual meta-blocks. Requires i18n and locale module' ); break; } return $output; } function i18nblocks_settings(){ $output = ''; $output .= form_textfield(t('Number of metablocks'), 'i18nblocks_number', variable_get('i18nblocks_number', 1), 4, 4); return $output; } function i18nblocks_block($op = 'list', $delta = 0, $edit = array()) { switch($op) { case 'list': for($i = 1; $i<= variable_get('i18nblocks_number', 1);$i++){ $block = i18nblocks_load($i); $blocks[$i]['info'] = isset($block['name']) ? $block['name'] : t('Multilingual block ').$i; } return $blocks; case 'configure': $i18nblock =i18nblocks_load($delta); $languages = i18n_supported_languages(); $modules = array_intersect(module_list(), module_implements('block')); // Compile list of available blocks $blocklist = array('' => t(' -- ')); foreach (module_implements('block') as $module) { if($module != 'i18nblocks') { // Avoid this module's blocks, could be funny :-) $module_blocks = module_invoke($module, 'block', 'list'); foreach($module_blocks as $delta => $block) { $blocklist[$module.'_'.$delta] = $block['info']."($module)"; }; } } $output = form_textfield(t('Block name'), "i18n][name", isset($i18nblock['name']) ? $i18nblock['name'] : t('Multilingual block ').$delta, 40, 40); $output .= t('