Virtually all of the foundation’s projects use the old language pattern scheme. This creates some problems in the support of these templates, since everything needs to be corrected manually.
As far as I know, only the Russian and French Wikipedia is trying to completely abandon the old scheme.
In the Russian Wikipedia came to the following decision:
* Added the following code to https://ru.wikipedia.org/wiki/MediaWiki:Babel-portal, //{{#invoke:Languages|name|$1}}//, which calls [[https://ru.wikipedia.org/wiki/Module:Languages/data|Languages/data]], that stores names of articles matched by the language code. This is not necessary if this task is approved: T228597.
* Moved the standard [[https://ru.wikipedia.org/wiki/Template:Babel|w:ru:Template:Babel]] template to the extension's call.
* Some [[https://ru.wikipedia.org/wiki/Template:User ru|user xx]] templates had an incorrect language code which did not conform to ISO standard or was improper. Because they were called by [[https://ru.wikipedia.org/wiki/Template:Babel|w:ru:Template:Babel]], we needed to rename and to move them, and to replace the codes on the inclusions of the template with the bot.
* Moved all language and pseudo-language templates that are not part of the ISO standard to the [[https://ru.wikipedia.org/wiki/Template:User lang|w:ru:Template:User lang]] sub-pages, for example, [[https://ru.wikipedia.org/wiki/Template:User html-3|w:ru:Template:User html-3]] → [[https://ru.wikipedia.org/wiki/Template:User lang/html-3|w:ru:Template:User lang/html-3]].
* Replaced the text in [[https://ru.wikipedia.org/wiki/MediaWiki:Babel-template|w:ru:MediaWiki:Babel-template]] with //Template:User lang/$1//.
* It seemed to us that making the extension call directly on the personal page was not the best solution, so we call this extension through the [[https://ru.wikipedia.org/wiki/Template:User lang|w:ru:Template:User lang]] template now, for example, //{{user lang|en}}//.
* After updating [[https://ru.wikipedia.org/wiki/Template:User lang|w:ru:Template:User lang]] template we replaced all //{{user xx}}// templates, also not forgetting to replace those with wrong language codes.
* Created a notification about updating the language scheme ([[w:ru:Template:Editnotice/oldLanguageTemplates/en]]) and added it to [[https://ru.wikipedia.org/wiki/MediaWiki:Editnotice-10/en|w:ru:MediaWiki:Editnotice-10/en]]. Before that, we added it to //Titleblacklist//, but then decided to abandon this idea.
* Removed all the language //{{user xx}}// templates.