load_muplugin_textdomain()
Load the translated strings for a plugin residing in the mu-plugins directory.
Uses: load_textdomain()
Hooks from the function
Return
true|false
. True when textdomain is successfully loaded, false otherwise.
Usage
load_muplugin_textdomain( $domain, $mu_plugin_rel_path );
- $domain(string) (required)
- Text domain. Unique identifier for retrieving translated strings.
- $mu_plugin_rel_path(string)
- Relative to WPMU_PLUGIN_DIR directory in which the .mo file resides.
Default: empty string
Examples
#1 Register a translation file for the MU plugin
The translation file must be in the plugin directory and must be named like: my-plugin-fr_FR.mo
.
add_action( 'muplugins_loaded', 'myplugin_init' ); function myplugin_init(){ load_muplugin_textdomain( 'my-plugin', dirname( plugin_basename( __FILE__ ) ) ); }
#2 If you want to place the .mo file in the subfolder lang:
We may change the translation file place. For example, let's place it into the lang
subfolder of the plugin. The file must be named like: my-plugin-ru_RU.mo
.
add_action( 'muplugins_loaded', 'myplugin_init' ); function myplugin_init() { load_muplugin_textdomain( 'my-plugin', dirname( plugin_basename( __FILE__ ) ) . '/lang/' ); }
Notes
- Global. WP_Textdomain_Registry. $wp_textdomain_registry WordPress Textdomain Registry.
Changelog
Since 3.0.0 | Introduced. |
Since 4.6.0 | The function now tries to load the .mo file from the languages directory first. |
load_muplugin_textdomain() load muplugin textdomain code WP 6.1.1
function load_muplugin_textdomain( $domain, $mu_plugin_rel_path = '' ) { /** @var WP_Textdomain_Registry $wp_textdomain_registry */ global $wp_textdomain_registry; /** This filter is documented in wp-includes/l10n.php */ $locale = apply_filters( 'plugin_locale', determine_locale(), $domain ); $mofile = $domain . '-' . $locale . '.mo'; // Try to load from the languages directory first. if ( load_textdomain( $domain, WP_LANG_DIR . '/plugins/' . $mofile, $locale ) ) { return true; } $path = WPMU_PLUGIN_DIR . '/' . ltrim( $mu_plugin_rel_path, '/' ); $wp_textdomain_registry->set_custom_path( $domain, $path ); return load_textdomain( $domain, $path . '/' . $mofile, $locale ); }