Adding support for a second language in any web application is a tricky affair. It increases a bit of overhead every time some change is made to the application, and this increases with the number of languages. There can be a number of things that need to be taken care of, apart from just changing the text as per the language. Some of the major ones are currency, number, time and date formatting, and so on.
Flask-Babel, an extension that adds i18n and l10n support to any Flask application, provides some tools and techniques to make this process simpler and easy to implement.
In this chapter, we will be using this extension extensively to understand the concepts mentioned.