Add a New [content type] on each content type
In the hook that return the block content, call a function with a code similar to the following one.

function mymodule_node_add_link() {
  $node = menu_get_object();

  if (!empty($node-&gt;type)) {
    $types = node_type_get_types();
    return l(t('Add a new @name', array('@name' =&gt; $types[$node-&gt;type]-&gt;name)), 'node/add/' str_replace('_', '-', $node-&gt;type));
  }

  return '';
}


The hook calling this function should always check the value returned from the function. In the case the showed page is not a node page, menu_get_object() doesn't return a node object, and this function returns an empty string. 

Notice that every string shown in the user interface should be passed to t(). When passing a string to t(), you should avoid concatenating string, but you should use the placeholders the function supports, as in the code I shown.