Hi Adam
Thanks for your answer. I'll try to convince you (and others) that the error in question does not make sense, not even when downgraded to a warning.
There are system checks which provide great value such as django.contrib.admin checking whether templates, context processors etc. are configured correctly because it would be very confusing if the admin interface would not show messages after all.
There are other checks such as this one which do not protect the code from going wrong but that simply impose additional requirements to Django users.
I've reread the discussion in the pull request and haven't found a single reason why it is a good thing to start requiring that LANGUAGES_BIDI is specified explicitly. What is the rationale for requiring an explicit LANGUAGES_BIDI when all you want to do is restrict the overall list of languages for a single project (or the testsuite of many Django libraries for that matter)?
After all, the set of bidirectional languages does not change just because some of them aren't active inside a given project. And there is no ambiguity when inheriting LANGUAGES_BIDI from django.conf.global_settings and only overriding LANGUAGES.
Thanks,