Process the custom and predefined language addition form submission.
function language_admin_add_form_submit($form, &$form_state) {
$langcode = $form_state['values']['predefined_langcode'];
if ($langcode == 'custom') {
$langcode = $form_state['values']['langcode'];
// Custom language form.
$language = new Language(array(
'langcode' => $langcode,
'name' => $form_state['values']['name'],
'direction' => $form_state['values']['direction'],
));
}
else {
$language = new Language(array(
'langcode' => $langcode,
));
}
// Save the language and inform the user that it happened.
$language = language_save($language);
drupal_set_message(t('The language %language has been created and can now be used.', array(
'%language' => $language->name,
)));
// Tell the user they have the option to add a language switcher block
// to their theme so they can switch between the languages.
drupal_set_message(t('Use one of the language switcher blocks to allow site visitors to switch between languages. You can enable these blocks on the <a href="@block-admin">block administration page</a>.', array(
'@block-admin' => url('admin/structure/block'),
)));
$form_state['redirect'] = 'admin/config/regional/language';
}