The load_plugin_textdomain function has three arguments. When called, it looks in the folder specified in the last parameter for a .mo file with a name starting with the text domain specified in the first parameter, followed by the current language set in the WordPress configuration file. If found, the translation file is loaded in memory and is used to search for translations every time the __ or _e functions are encountered during execution. The middle argument, set to a false value, is obsolete but is still needed for backward compatibility.
Once all the hooks are in place in the plugin code, and a first translation file (or template) is made available with the plugin, users can easily modify text elements to other languages, which they can use immediately. They can also provide these new translations back to the plugin author for inclusion in future updates. We added a second call to load_plugin_textdomain in the activation hook, since the init action hook is not executed when activation hooks execute.