When creating a term under a language-specific vocabulary, the term is not saved with that vocabulary's language as we would expect. The term form properly informs the user that "The vocabulary already has a language", but saves the new term in the database with an empty language field.
To fix this, replace the code below (from function i18n_taxonomy_form_term()):
// If vocabulary has language, this should be the one for the term
if ($vocabulary->language) {
$edit['language'] = $vocabulary->language;
$output = form_item(t('Language'),$languages[$vocabulary->language],t('The vocabulary already has a language.'));
}
... with the following:
// If vocabulary has language, this should be the one for the term
if ($vocabulary->language) {
$output = form_hidden('language', $vocabulary->language);
$output .= form_item(t('Language'),$languages[$vocabulary->language],t('The vocabulary already has a language.'));
}
Comments
Comment #1
jose reyero commentedComment #2
(not verified) commented