Theme internationalization and localization

This step is very important otherwise your theme will not be translated when displaying posts or pages in a language different than your WordPress default language.

Check with the theme author that the theme is internationalized (meaning that it is ready for translation) and localized (meaning translated) to the languages you need. If it’s not the case, either you have the possibility to ask him to do the work (great!) or you will have to do it yourself. You can refer to the theme developer handbook.

Internationalization (I18n) means editing php files of your theme and requires limited programming competence. Localization (L10n) means only creating new .po and .mo files and requires only linguistic competence. I personally use poedit to do this. But you can also use a free plugin, Loco Translate.

Check that your theme includes the following line (or something similar) in the file header.php:
<html <?php language_attributes(); ?>>
This line must be placed just after the DOCTYPE line and above the <head> line. It is not mandatory but some browsers and robots use this line to detect your page language.