How to manage wordpress mo and po files?

*po file is like a template file where can be put translatable string and translated string
*mo file is machine-readable file created from po file

*po and mo files are located in wp-contents/my_theme/languages folder or on wp-content/languages folder
*po and mo files have to be named stricktly by special convention like “et.po” or “et_ET.po”
*it can be, that some files look for translation into wp-contents/my_theme/languages/et.mo file and other ones into wp-content/languages/et.mo file. It depends on how it is defined the language domain in this code. Be careful with different functions: esc_attr_x(), or printf( esc_html__( ‘Search Results for: %s’, ‘graphy’ ).

NB! Best place for mo and po files what are used by theme or plugin files is folder wp-content/languages/theme/mythemename-et.po or wp-content/languages/theme/mypluginname-et.po, then updating a theme or plugin does not cause losing translated mo and po files.

NB! If you have put into wp-config.php file define (‘WPLANG’, ‘et_ET’);, then it causes errors! You have to define language or locale from admin Settings>General>Site language !NB

So, if you need to change translation file or need to modify that – download po file, change that accordingly rules, create a mo file from that using https://po2mo.net/ and upload that file into the server.

Read more:

https://codex.wordpress.org/Installing_WordPress_in_Your_Language
http://wplang.org/translate-theme-plugin/
https://codex.wordpress.org/I18n_for_WordPress_Developers