Poor performance on MySQL 5.7 on joined tables ( scanning wrong table ?)
Damned if you do, damned if you don't.  The Optimizer has two choices -- filter on language in one table first, or scan on date in the other table first.

If the recent articles are in English, then using the date is better.  If you ask for some language with few articles, the other index is better.

Meanwhile, the Optimizer does not have the smarts to look in two different directions at once to decide which is better.

I would argue that the schema is not 'correct'.  Can't a publisher provide news in multiple languages?  If so, language should be in news, not in publishers.  If you make than change, then INDEX(language, date_added) would become an better index.

I have addressed the general "news" list problem with the addition and maintenance of a separate table.