<?php /** * * @filesource * @author Stefan Herndler * @since 1.5.0 14.09.14 17:47 */ /** * * @author Stefan Herndler * @since 1.5.0 */ class MCI_Footnotes_Language { /** * Register WordPress Hook. * * @author Stefan Herndler * @since 1.5.0 */ public static function registerHooks() { add_action('plugins_loaded', array("MCI_Footnotes_Language", "loadTextDomain")); } /** * Loads the text domain for current WordPress language if exists. Otherwise fallback "en_GB" will be loaded. * * @author Stefan Herndler * @since 1.5.0 */ public static function loadTextDomain() { // language file with localization exists if (self::load(apply_filters('plugin_locale', get_locale(), ''))) { // added 3rd (empty) parameter as a PHP-related bug fix thanks to MatKus (@matkus) in // <https://wordpress.org/support/topic/error-missing-parameter-if-using-php-7-1-or-later/> // <https://www.php.net/manual/en/migration71.incompatible.php> // "Fatal error: Uncaught ArgumentCountError: Too few arguments […]" // 2020-10-26T1609+0100 return; } // fallback to english self::load("en_GB"); } /** * Loads a specific text domain. * * @author Stefan Herndler * @since 1.5.1 * @param string $p_str_LanguageCode Language Code to load a specific text domain. * @return bool */ private static function load($p_str_LanguageCode) { return load_textdomain(MCI_Footnotes_Config::C_STR_PLUGIN_NAME, dirname(__FILE__) . "/../languages/" . $p_str_LanguageCode . '.mo'); } }