You are here

function _i18n_node_form_node_form_alter in Internationalization 7

Implements hook_form_BASE_FORM_ID_alter(). Called by i18n_node_form_node_form_alter

1 string reference to '_i18n_node_form_node_form_alter'
i18n_node_form_node_form_alter in i18n_node/i18n_node.module
Implements hook_form_BASE_FORM_ID_alter().

File

i18n_node/i18n_node.module, line 523
Internationalization (i18n) module - Node type handling

Code

function _i18n_node_form_node_form_alter($form, &$form_state) {
  $node = $form['#node'];
  if (i18n_node_type_enabled($node)) {
    if (!empty($form['language']['#options'])) {
      $form['language']['#options'] = i18n_node_language_list($node, TRUE, TRUE);
    }
  }
  elseif (variable_get('i18n_node_default_language_none', 0) && !isset($form['#node']->nid)) {

    // Only do this if the language is really disabled
    if (variable_get('language_content_type_' . $node->type, 0) == 0) {

      // Override locale module setting default language to nodes. It is already in form_state.
      $form['language']['#value'] = $form_state['values']['language'] = LANGUAGE_NONE;
    }
  }

  // Translate field names for title and body for the node edit form.
  if (!empty($form['title']['#title'])) {
    $form['title']['#title'] = i18n_node_translate_type($node->type, 'title_label', $form['title']['#title']);
  }
  if (!empty($form['body_field']['body']['#title'])) {
    $form['body_field']['body']['#title'] = i18n_node_translate_type($node->type, 'body', $form['body_field']['body']['#title']);
  }

  // Translate page title for node/add/% and node/%/edit pages.
  if (empty($node->nid) && strpos($_GET['q'], 'node/add/' . str_replace('_', '-', $node->type)) === 0) {
    drupal_set_title(t('Create @name', array(
      '@name' => i18n_node_type_name($node->type),
    )), PASS_THROUGH);
  }
  elseif (!empty($node->nid) && $_GET['q'] == 'node/' . $node->nid . '/edit') {
    drupal_set_title(t('<em>Edit @type</em> @title', array(
      '@type' => i18n_node_type_name($node->type),
      '@title' => $node->title,
    )), PASS_THROUGH);
  }
  return $form;
}