When testing out ContentTranslation I was able to use it without BetaFeatures installed, but it wasn't displaying. As a result I wasted a good hour trying to work out the problem.
After exploring this some more, I noticed that $wgContentTranslationAsBetaFeature was set to true by default, but if BetaFeatures wasn't installed the feature was not loaded.
It didn't feel like BetaFeatures should be a required extension to use the ContentTranslation extension so I uploaded https://gerrit.wikimedia.org/r/c/mediawiki/extensions/ContentTranslation/+/698617 which makes the code ignore $wgContentTranslationAsBetaFeature when BetaFeatures is not available.
However this revealed another hidden dependency- GlobalPreferences. This is not listed in extension.json but I get fatals without it.
To clarify
- If GlobalPreferences is a required extension it should be declared in extension.json and CI updated per James' comment in https://gerrit.wikimedia.org/r/c/mediawiki/extensions/ContentTranslation/+/698617
- If BetaFeatures is a required extension please declare it in extension.json
- If neither are required please modify the extension to work without either.