I just discovered that the it seems that taxonomy terms don't have a proper language fallback.
The reason is that we assume that the fallback is done by the locale module itself. And while that works for nodes it seems to fail on taxonomy terms.
The reason seems to be that the locale module only handles language fallback on entity types with registered locale translation handler (Condition: field_has_translation_handler($context['entity_type'], 'locale')).
Unfortunately the locale translation handler is only registered for nodes not for terms.
Thus terms are ignored in locale_field_language_alter() and because we assume that locale handles all the fallback cases besides unpublished translations they are also ignored in entity_translation_field_language_alter().
Attached patch adds an elseif to catch entity translations where the locale module missed.
| Comment | File | Size | Author |
|---|---|---|---|
| entity_translation-language-fallback-fix.patch | 657 bytes | das-peter |
Comments
Comment #1
plachSomewhere in my mind I was aware of this, but never posted an issue. The approach looks good, just let me test the patch and then I'll commit it.
Comment #2
plachCommitted, thanks!