How do I insert a localized menu item?
The array returned from hook_menu() is cached, and each implementation of hook_menu() is only invoked when the cache is cleared, which what happens, for example, when a module is disabled/enabled.

If the users are redirected to a different node depending on the currently set language, then the code should be similar to the following one.

function mymodule_menu() {
  $item['mymodule_path'] = array(
    'title' =&gt; 'Contact Us',
    'page callback' =&gt; 'mymodule_redirect',
    'access callback' =&gt; TRUE,
    'menu_name' =&gt; 'main-menu',
    'type' =&gt; MENU_NORMAL_ITEM,
  );

  return $items;
} 

function mymodule_redirect() {
  global $language;

  switch ($language-&gt;language) {
    case 'en':
      $goto = 'node/285';
      break;

    case 'pl':
      $goto = 'node/286';
      break;

    // ...
  }

  if (isset($goto)) {
    drupal_goto($goto);
  }
}


The alternative would be:


Create a link through the user interface (admin/structure/menu/manage/main-menu/add)


Use the following code to alter where the link takes

function mymodule_menu_link_alter(&amp;$item) {
  if ($item['module'] == 'menu' &amp;&amp; $item['link_title'] == t('Contact us')) {
    $item['options']['alter'] = TRUE;
  }
}

function mymodule_translated_menu_link_alter(&amp;$item, $map) {
  global $language;

  if ($item['module'] == 'menu' &amp;&amp; $item['link_title'] == t('Contact us')) {
    switch ($language-&gt;language) {
      case 'pl':
        $item['link_path'] = 'node/286';
        break;

      // ...
    }
  }
}



The first hook is necessary, or hook_translated_menu_link_alter() is not invoked.

The module could also programmatically add the link to the main menu. In this case, the code I would implement is similar to the following one.

function mymodule_enable() {
  $item = array(
    'link_path' =&gt; 'node/285',
    'link_title' =&gt; t('Contact us'),
    'menu_name' =&gt; 'main-menu',
    'mlid' =&gt; 0,
    'plid' =&gt; 0,
    'module' =&gt; 'mymodule',
  );

  menu_link_save($item);
}

function mymodule_menu_link_alter(&amp;$item) {
  if ($item['module'] == 'mymodule' &amp;&amp; $item['link_title'] == t('Contact us')) {
    $item['options']['alter'] = TRUE;
  }
}

function mymodule_translated_menu_link_alter(&amp;$item, $map) {
  global $language;

  if ($item['module'] == 'mymodule' &amp;&amp; $item['link_title'] == t('Contact us')) {
    switch ($language-&gt;language) {
      case 'pl':
        $item['link_path'] = 'node/286';
        break;

      // ...
    }
  }
}