Problem/Motivation
If you attempt to use a field language filter, such as "Content Body:language" in Views, it doesn't work. You get a PDO error like this from the query:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'node__body.language' in 'where clause': SELECT COUNT(*) AS expression FROM (SELECT 1 AS expression FROM {node} node INNER JOIN {node_field_data} node_field_data ON node.nid = node_field_data.nid LEFT JOIN {node__body} node__body ON node.nid = node__body.entity_id AND node__body.deleted = :views_join_condition_0 WHERE (( (node_field_data.status = :db_condition_placeholder_0) AND (node_field_data.type IN (:db_condition_placeholder_1)) AND (node__body.language IN (:db_condition_placeholder_2)) ))) subquery; Array ( [:db_condition_placeholder_0] => 1 [:db_condition_placeholder_1] => article [:db_condition_placeholder_2] => fr [:views_join_condition_0] => 0 )
The problem is that the field data tables have a column called "langcode" not "language". This is set up in field_views_field_default_views_data().
This problem would also occur if you use the Field, Sort, or Argument on the field language of any field. It is not specific to the Body field.
Proposed resolution
The language value for a field is closely tied to the entity translation language. There are two cases:
a) If the field is translatable, then the field language value for a particular translation is the entity translation language.
b) If the field is not translatable (whether or not the entity as a whole is translatable), presumably the field is language-neutral, and the field language value would be the same as the original entitys language (the translation source).
In case (a), we do not need to be able to filter, sort, or display the field language, because we can filter, sort, or display the language of the entity translation.
In case (b), we do not need to be able to filter, sort, or display the field language, because we can filter, sort, or display the language of the original entity.
So, we currently have one :language Views field, filter, sort, and argument per field, and they don't work. Rather than fixing the database problem and making these work, we should just get rid of the clutter and remove the ability to display, filter, or sort an entity view on the field language.
Remaining tasks
a) Agree on the best course of action: either fix the database column or remove the field language support entirely.
b) There have been patches submitted to both fix the database column problem (comment #1) and remove the language support (comment #15). If we are going to fix the problem, then the patch in #1 needs tests. If we are removing the problem, then the patch in #15 should be sufficient.
User interface changes
If we remove support for field language, these options will not be available when making Views. However, they weren't really available before because if you tried to use them, you got a PDO error.
API changes
See UI changes.