I have three editable text fields in my app. When user enters text in the first text field, the English keyboard should show up, in the second - Spanish, in third - Chinese, etc. Everything else in the app should stay in English.

If possible, the languages could be selected dynamically by the user from the list of available locales (I don't need help with selecting the language): https://docs.flutter.io/flutter/flutter_localizations/GlobalMaterialLocalizations-class.html

The closest that I found to what I want is described here: https://medium.com/saugo360/managing-locale-in-flutter-7693a9d4d6ac

but I wonder if there is a way to make it less intrusive: like making it a property of the TextEditingController

Solution 1: Yevgeniy Gendelman

This shouldn't be done by the application.

Keyboards are installed by user and user knows how to switch between them.