diff --git a/modules/field.views.inc b/modules/field.views.inc index d97806ab45baf510f5b858aa339281c8b0b18257..5e1e84936e4701ee89be62979acba3106cb5450f 100644 --- a/modules/field.views.inc +++ b/modules/field.views.inc @@ -394,6 +394,45 @@ function field_views_field_default_views_data($field) { 'field_name' => $field['field_name'], ); } + + // Expose additional language column for translatable fields. + if (!empty($field['translatable'])) { + $title_language = t('@label (!name:language)', array('@label' => $label, '!name' => $field['field_name'])); + $title_short_language = t('@label:language', array('@label' => $label)); + + $data[$table]['language'] = array( + 'group' => $group, + 'title' => $title_language, + 'title short' => $title_short_language, + 'help' => t('Language - Appears in: @bundles.', array('@bundles' => implode(', ', $bundles_names))), + ); + $data[$table]['language']['field'] = array( + 'id' => 'language', + ); + $data[$table]['language']['argument'] = array( + 'field' => 'language', + 'table' => $table, + 'id' => 'language', + 'additional fields' => $additional_fields, + 'empty field name' => t(''), + 'field_name' => $field['field_name'], + ); + $data[$table]['language']['filter'] = array( + 'field' => 'language', + 'table' => $table, + 'id' => 'language', + 'additional fields' => $additional_fields, + 'field_name' => $field['field_name'], + 'allow empty' => TRUE, + ); + $data[$table]['language']['sort'] = array( + 'field' => 'language', + 'table' => $table, + 'id' => 'standard', + 'additional fields' => $additional_fields, + 'field_name' => $field['field_name'], + ); + } } }