Currently the module does not expose its variables (list below), so they cannot be made multilingual (cf. http://drupal.org/project/variable). For example, this means that the title of the site map page is 'Site map' regardless of the language the site map displays in.

This could be fixed rather easily by adding something like the following to site_map.module.php (I tested this and it seems to work OK):

<?php
/**
* Implements hook_variable_info().
*/
function site_map_variable_info($options) {
 
$variable['site_map_page_title'] = array(
   
'type' => 'string',
   
'title' => t('Site map title', array(), $options),
   
'description' => t('Site map page title'),
   
'default' => 'Site map',
  );
 
// add more variables if necessary
 
return $variable;
}
?>

After this is added, a variable called 'Site map title' appears in admin/config/regional/i18n/variable. Once it is made multilingual there, it can be translated in admin/config/search/sitemap.

Site map variables (I'm not sure which of these actually need to be exposed - at least site_map_page_title, maybe site_map_rss_front too?):

site_map_rss_front
site_map_page_title
site_map_css
site_map_show_rss_links
site_map_show_books
site_map_show_menus
site_map_show_vocabularies
site_map_forum_threshold
site_map_term_threshold
site_map_show_count

Comments

Clarification: the Drupal 6 method of adding variables to $conf['i18n_variables'] in settings.php no longer works in Drupal 7 (cf. http://evolvingweb.ca/story/drupal-7-multilingual-whats-new-i18n, "Multilingual Variables" - "In Drupal 7, setting the array of variables --- won't have any effect."). This is why the Variables API hook needs to be implemented.

On variables - I guess there's also a variable for the site map message (site_map_message maybe? All I can spot in the module code is the ['site_map']['variables']['message'] part of the array returned by the site_map_theme function). This would also need to be made multilingual.

Status:Active» Closed (fixed)

Committed to 7-dev.