You are here

function entity_translation_i18n_menu_node_prepare in Entity Translation 7

Implements hook_node_prepare().

Translates the menu item shown on node edit forms if the node language does not equal the language of the menu item. This means either loading the respective menu item from the translation set or localizing the item.

File

entity_translation_i18n_menu/entity_translation_i18n_menu.module, line 15
The menu specific translation functions and hook implementations.

Code

function entity_translation_i18n_menu_node_prepare($node) {
  $langcode = entity_language('node', $node);
  if (!empty($langcode) && !empty($node->menu['language']) && $node->menu['language'] != $langcode && entity_translation_i18n_menu_item($node->menu)) {
    $handler = entity_translation_get_handler('node', $node);
    $source_langcode = $handler
      ->getSourceLanguage();

    // If we are creating a translation we need to use the source language.
    entity_translation_i18n_menu_node_menu_item_translate($node, $source_langcode ? $source_langcode : $langcode);
  }
}