Problem/Motivation
#2225739: Remove usage of field_info_instances(), use EntityManager::getFieldDefinitions() instead →
converts the use of field_info_instances() on the Translations local task to EntityManager::getFieldDefinitions(). That caused a test in NodeTranslationUiTest to break because that assumed that by making all configurable fields untranslatable, there would be a message about no translatable fields being there. But it was already weird right now in HEAD, because when you directly go to the URL, you can add a translation and the fields are translatable, so the overview was the only place that did the check like that.
Except now with the new method, there is one, the title, which is translatable by default.
And it is not possible to make the title untranslatable throughl the UI at least, because the UI does not allow you to make a content type translatable without having any translatable fields.
Due to that, the test has been removed. However, we should figure out if there is still a valid situtation where this could happen and if not, clean up the code to remove that check.
While looking into that, we also found a number of related bugs:
- The translations tab is always visible, even if the node type/bundle is not marked as translatable
- There used to be a "Translations of $title" page title, which no longer exists, I noticed this because Translation Management Tool assert this in our tests.
- As mentioned above, something seems to be wrong on the translation add/edit pages, everything seems to be translatable even when it's no...
Setting to major due to the local task visiblity
Proposed resolution
Check if there is still a situation where the "no translatable fields" message could be shown (no translatable base fields?), add a proper test for it if yes, remove if no longer relevant.
Fix the related bugs, possibly in separate issues?
Remaining tasks
User interface changes
API changes