diff --git content_profile.module content_profile.module
index 5095ddb..91ba3be 100644
--- content_profile.module
+++ content_profile.module
@@ -43,8 +43,8 @@ function content_profile_menu() {
   }
   foreach (content_profile_get_types('names') as $type => $type_name) {
     $items['user/%user/profile/'. $type] = array(
-      'title callback' => 'check_plain',
-      'title' => drupal_ucfirst($type_name),
+      'title callback' => 'cp_tt',
+      'title arguments' => array("type:$type:title", check_plain(drupal_ucfirst($type_name))),
       'page callback' => 'content_profile_page_edit',
       'page arguments' => array($type, 1),
       'access callback' => 'content_profile_page_access',
@@ -54,7 +54,23 @@ function content_profile_menu() {
       'file path' => drupal_get_path('module', 'node'),
       'type' => content_profile_get_settings($type, 'edit_tab') == 'top' ? MENU_LOCAL_TASK : MENU_CALLBACK,
     );
+    if (module_exists('translation')) {
+      $items['user/%user/profile_translation/'. $type] = array(
+        'title' => t('Translate @type_name', array('@type_name' => drupal_ucfirst($type_name))),
+        // do not run through t() again
+        'title callback' => FALSE,
+        'page callback' => 'content_profile_translation_node_overview',
+        'page arguments' => array($type, 1),
+        'access callback' => '_content_profile_translation_tab_access',
+        'access arguments' => array($type, 1),
+        'weight' => content_profile_get_settings($type, 'weight'),
+        'file' => 'translation.pages.inc',
+        'file path' => drupal_get_path('module', 'translation'),
+        'type' => content_profile_get_settings($type, 'edit_tab') == 'top' ? MENU_LOCAL_TASK : MENU_CALLBACK,
+      );
+    }
   }
+
   return $items;
 }
 
@@ -96,6 +112,44 @@ function content_profile_page_edit($type, $account) {
   return drupal_get_form($type .'_node_form', $node);
 }
 
+/**
+ * Translates profile output to translation module overview page.
+ */
+function content_profile_translation_node_overview($type, $account) {
+  $node = content_profile_load($type, $account->uid);
+  if (!$node) {
+    $node = array('uid' => $account->uid, 'name' => (isset($account->name) ? $account->name : ''), 'type' => $type, 'language' => '');
+  }
+  return translation_node_overview($node);
+}
+
+/**
+ * tt() wrapper that checks for i18n module availability
+ * if i18n not available it returns the string unchanged
+ */
+function cp_tt($name, $string, $langcode = NULL, $update = FALSE) {
+  static $i18n_enabled;
+  if(!isset($i18n_enabled)) {
+    $i18n_enabled = function_exists('tt');
+    //$i18n_enabled = module_exists('i18n');
+  }
+  if($i18n_enabled) {
+    return tt($name, $string, $langcode, $update);
+  }
+  return $string;
+}
+
+/**
+ * Check translation access.
+ */
+function _content_profile_translation_tab_access($type, $account) {
+  $node = content_profile_load($type, $account->uid);
+  if (!$node) {
+    $node = array('uid' => $account->uid, 'name' => (isset($account->name) ? $account->name : ''), 'type' => $type, 'language' => '');
+  }
+  return _translation_tab_access($node);
+}
+ 
 
 /**
  * Implementation of hook_views_api().
diff --git content_profile.theme.inc content_profile.theme.inc
index fa0a351..ed51250 100644
--- content_profile.theme.inc
+++ content_profile.theme.inc
@@ -12,7 +12,7 @@
 function theme_content_profile_display_add_link($element) {
   $type = $element['#content_type'];
   $uid = $element['#admin'] ? 'uid='. intval($element['#uid']) .'&' : '';
-  $text = t($element['#admin'] ? "Create the user's @profile_node." : "Create your @profile_node.", array('@profile_node' => node_get_types('name', $type)));
+  $text = t($element['#admin'] ? "Create the user's @profile_node." : "Create your @profile_node.", array('@profile_node' => t(node_get_types('name', $type))));
   return l($text, content_profile_get_add_path($type, $element['#uid']), array('query' => $uid . drupal_get_destination()));
 }
 
@@ -44,8 +44,9 @@ function content_profile_preprocess_content_profile_display_view(&$variables) {
   $path = drupal_get_path('module', 'content_profile') .'/content_profile.css';
   drupal_add_css($path, 'module', 'all', FALSE);
 
-  $variables['title'] = check_plain(node_get_types('name', $node->type));
-
+  $type = $node->type;
+  $variables['title'] = cp_tt("type:$type:title", check_plain(node_get_types('name', $type)));
+  
   $tabs = array();
   if ($element['#edit_link']) {
     $tabs[] = theme('content_profile_display_tab_view', $node);
