WordPress at a glance

load_plugin_textdomain() WP 1.0

Loads a plugin's translated strings.

If the path is not given then it will be the root of the plugin directory.

The .mo file should be named based on the text domain with a dash, and then the locale exactly.

  • Since 4.6.0 The function now tries to load the .mo file from the languages directory first.
Works based on: load_textdomain()

No Hooks.

Return

true/false. True when textdomain is successfully loaded, false otherwise.

Usage

load_plugin_textdomain( $domain, $deprecated, $plugin_rel_path );
$domain(string) (required)
Unique identifier for retrieving translated strings
$deprecated(string)
Use the $plugin_rel_path parameter instead.
Default: false
$plugin_rel_path(string)
Relative path to WP_PLUGIN_DIR where the .mo file resides.
Default: false

Code of load_plugin_textdomain: wp-includes/l10n.php VER 5.0.1

<?php
function load_plugin_textdomain( $domain, $deprecated = false, $plugin_rel_path = false ) {
	/**
	 * Filters a plugin's locale.
	 *
	 * @since 3.0.0
	 *
	 * @param string $locale The plugin's current locale.
	 * @param string $domain Text domain. Unique identifier for retrieving translated strings.
	 */
	$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 ) ) {
		return true;
	}

	if ( false !== $plugin_rel_path ) {
		$path = WP_PLUGIN_DIR . '/' . trim( $plugin_rel_path, '/' );
	} elseif ( false !== $deprecated ) {
		_deprecated_argument( __FUNCTION__, '2.7.0' );
		$path = ABSPATH . trim( $deprecated, '/' );
	} else {
		$path = WP_PLUGIN_DIR;
	}

	return load_textdomain( $domain, $path . '/' . $mofile );
}

Related Functions

From tag: textdomain (mo po files)

More from tag: localize (l10n i18n Internationalization localization)

More from category: Localization

No comments
    Hello, !     Log In . Register