Updated: Comment #5
The current Field Language API is completely obsoleted by the new Entity Field API and in particular the new API for entity translation.
This was discussed in Prague and there was consensus that once we are done with
field_method_invoke_multiple() functions are gone, we can safely get rid of
[edit: field_method_invoke_*() are still there atm but have been cleaned out of their "old field multilingual logic" in, so they are not blockers anymore]
The discussion was attended by: attrib, berdir, das_peter, fago, Gábor Hojtsy, plach, swentel, tstoeckler, webflo, yched.
Remaining calls (not counting functions calling each other):
- field_get_items(): already deprecated, and was really related to the old "$node->field_foo[$langcode]" syntax, so should be removed here as well.
- field_view_field() / field_view_value()
- a couple docs / @see here and there.
- none after
field_available_languages() / hook_field_available_languages()
- a couple tests
- a test
- none after
- just a stale static in field_test_entity_info_translatable()
User interface changes
The whole Field Language API will be deprecated/removed.
Original report by @yched
field.multilingual.inc has a couple functions, that predate the new API for entity translation.
They are most likely deprecated at best, obsolete/wrong at worst, but I'm not fully familiar with the new Entity translation API and code, nor with the code in that field.multilingual.inc file even in D7.
In other words: feedback and help welcome from @plach / @Gabor / @fago :-)
At least it seems that since base fields can be translatable too, those functions have no business
a) being in field.module
b) dealing with "configurable fields" only
"Collects the available language codes for the given entity type and field"
"Returns available content language codes"
"Checks whether field language fallback is enabled"
"Checks whether a field has language support"
"Checks if a module is registered as a translation handler for a given entity"
"Ensures that a given language code is valid"
"Returns the display language code for the fields attached to the given entity"
"Applies language fallback rules to the fields attached to the given entity"