Problem z tłumaczeniem menu generowanego przez taxonomy_menu?

Taxonomy Menu w Drupalu bardzo ułatwia życie – generuje menu na podstawie taxonomy… Jednak przejście na entity translations odbija się czasem czkawką i tak jest tutaj. Najprostsze rozwiązanie? W szablonie zaimplementować funkcję tłumaczącą menu:


function MY_THEME_translated_menu_link_alter(&$item, $map) {
  if (module_exists('entity_translation')) {
    // In case of localized terms, use term translation for menu title.
    if ($item['module'] == 'taxonomy_menu') {
      $t = _taxonomy_menu_get_item($item['mlid']);
      // Only translate when term exist (may per example occur with stray menu item)
      if ($t) {
        // Get the taxonomy term
        $term = taxonomy_term_load($t->tid);
        //Get the language
        global $language;
        $lang = $language->language;
        //check for the Title field (name_field)
        if (isset($term->name_field[$lang])) {
          $item['title'] = $item['link_title'] = $term->name_field[$lang][0]['value'];
        }
        //check for the Description field (description_field)
        if (isset($term->description_field[$lang])) {
          $item['options']['attributes']['title'] = $item['localized_options']['attributes']['title'] = $term->description_field[$lang][0]['value'];
        }
      }
    }
  }
}

Więcej: https://drupal.org/node/1665308#comment-7410224