function l10n_update_import_form in Localization update 7.2
Form constructor for the translation import screen.
See also
l10n_update_import_form_submit()
File
- ./
l10n_update.bulk.inc, line 15 - Mass import-export and batch import functionality for Gettext .po files.
Code
function l10n_update_import_form($form, &$form_state) {
drupal_static_reset('language_list');
$languages = language_list();
// Initialize a language list to the ones available, including English if we
// are to translate Drupal to English as well.
$existing_languages = array();
foreach ($languages as $langcode => $language) {
if ($langcode != 'en' || l10n_update_english()) {
$existing_languages[$langcode] = $language->name;
}
}
// If we have no languages available, present the list of predefined languages
// only. If we do have already added languages, set up two option groups with
// the list of existing and then predefined languages.
form_load_include($form_state, 'inc', 'language', 'language.admin');
if (empty($existing_languages)) {
$language_options = language_admin_predefined_list();
$default = key($language_options);
}
else {
$default = key($existing_languages);
$language_options = array(
t('Existing languages') => $existing_languages,
t('Languages not yet added') => language_admin_predefined_list(),
);
}
$validators = array(
'file_validate_extensions' => array(
'po',
),
'file_validate_size' => array(
file_upload_max_size(),
),
);
$form['file'] = array(
'#type' => 'file',
'#title' => t('Translation file'),
'#description' => theme('file_upload_help', array(
'description' => t('A Gettext Portable Object file.'),
'upload_validators' => $validators,
)),
'#size' => 50,
'#upload_validators' => $validators,
'#attributes' => array(
'class' => array(
'file-import-input',
),
),
'#attached' => array(
'js' => array(
drupal_get_path('module', 'locale') . '/locale.bulk.js' => array(),
),
),
);
$form['langcode'] = array(
'#type' => 'select',
'#title' => t('Language'),
'#options' => $language_options,
'#default_value' => $default,
'#attributes' => array(
'class' => array(
'langcode-input',
),
),
);
$form['customized'] = array(
'#title' => t('Treat imported strings as custom translations'),
'#type' => 'checkbox',
);
$form['overwrite_options'] = array(
'#type' => 'container',
'#tree' => TRUE,
);
$form['overwrite_options']['not_customized'] = array(
'#title' => t('Overwrite non-customized translations'),
'#type' => 'checkbox',
'#states' => array(
'checked' => array(
':input[name="customized"]' => array(
'checked' => TRUE,
),
),
),
);
$form['overwrite_options']['customized'] = array(
'#title' => t('Overwrite existing customized translations'),
'#type' => 'checkbox',
);
$form['actions'] = array(
'#type' => 'actions',
);
$form['actions']['submit'] = array(
'#type' => 'submit',
'#value' => t('Import'),
);
return $form;
}