Implements hook_form_FORM_ID_alter for system_regional_settings().
language_system_regional_settings_form_submit()
function language_form_system_regional_settings_alter(&$form, &$form_state) {
$languages = language_list();
$default = language_default();
foreach ($languages as $key => $language) {
$language_options[$key] = $language->name;
}
$form['locale']['site_default_language'] = array(
'#type' => 'select',
'#title' => t('Default language'),
'#default_value' => $default->langcode,
'#options' => $language_options,
'#description' => t('It is not recommended to change the default language on a working site. <a href="@language-detection">Configure the Selected language</a> setting on the detection and selection page to change the fallback language for language selection.', array(
'@language-detection' => url('admin/config/regional/language/detection'),
)),
'#weight' => -1,
);
// Add submit handler to save default language.
$form['#submit'][] = 'language_system_regional_settings_form_submit';
}