Index: modules/translation/translation.module =================================================================== RCS file: /cvs/drupal/drupal/modules/translation/translation.module,v retrieving revision 1.84 diff -u -p -r1.84 translation.module --- modules/translation/translation.module 9 Sep 2010 23:01:48 -0000 1.84 +++ modules/translation/translation.module 12 Sep 2010 14:08:37 -0000 @@ -384,7 +384,7 @@ function translation_node_get_translatio if (!isset($translations[$tnid])) { $translations[$tnid] = array(); $result = db_select('node', 'n') - ->fields('n', array('nid', 'title', 'language')) + ->fields('n', array('nid', 'type', 'uid', 'status', 'title', 'language')) ->condition('n.tnid', $tnid) ->addTag('node_access') ->execute(); @@ -435,8 +435,11 @@ function translation_path_get_translatio */ function translation_language_switch_links_alter(array &$links, $type, $path) { if ($type == LANGUAGE_TYPE_INTERFACE && $paths = translation_path_get_translations($path)) { + $path = explode('/', $path); + $node = node_load($path[1]); + $translations = translation_node_get_translations($node->tnid); foreach ($links as $langcode => $link) { - if (isset($paths[$langcode])) { + if (isset($paths[$langcode]) && node_access('view', $translations[$langcode])) { // Translation in a different node. $links[$langcode]['href'] = $paths[$langcode]; }