hook_node_info or node_type_save?
I would suggest doing as a Drupal module does: the Blog module. That is the correct code to use for a module that defines its own content type.


In the installation file, the code the Blog module uses is the following.

function blog_install() {
  // Ensure the blog node type is available.
  node_types_rebuild();
  $types = node_type_get_types();
  node_add_body_field($types['blog']);
}

In the module file, it implements the content type hooks, which are:


hook_form()
hook_node_info()
hook_view()



Another Drupal core module that implements its own content type is the Forum module. Differently from the Blog module, the Forum module adds a field to the nodes of its content type. The code it uses to set its content type is similar, though. (See forum_enable().) 

  // Ensure the forum node type is available.
  node_types_rebuild();
  $types = node_type_get_types();
  node_add_body_field($types['forum']);


Notice that Drupal core modules don't remove the content type they define, when they are uninstalled; eventually, they remove any field they attached to their content type. (See forum_uninstall().)

As side note, the string passed to t() contains English words, not in other languages.