Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

Function Reference/load plugin textdomain


Loads the 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 domain followed by a dash, and then the locale exactly. For example, the locale for German is 'de_DE', and the locale for Danish is 'da_DK'. If your plugin's text domain is "my-plugin" the Danish .mo and.po files should be named "my-plugin-da_DK.mo" and "my-plugin-da_DK.po" Call this function in your plugin as early as the init action.

If you call load_plugin_textdomain multiple times for the same domain, the translations will be merged. If both sets have the same string, the translation from the original value will be taken.


<?php load_plugin_textdomain$domain$abs_rel_path__DEPRECATED$plugin_rel_path ?>


(string) (required) Unique identifier for retrieving translated strings.
Default: None
$abs_rel_path (Deprecated)
(string) (optional) Relative path to ABSPATH of a folder, where the .mo file resides. Deprecated, but still functional until 2.7
Default: false
(string) (optional) Relative path to WP_PLUGIN_DIR. This is the preferred argument to use. It takes precedence over $abs_rel_path
Default: false

Return Values

Returns true if the override_load_textdomain filter returns true or the language file was loaded successfully. Returns false, if the language file could not be loaded (it is not readable or the mo file reader can not understand it).


This example assumes that it is placed in the main plugin file, or at least a file in the plugin root. If it's not, you'll need to adjust the plugin_dir_path() call accordingly.

add_action( 'plugins_loaded', 'myplugin_load_textdomain' );
 * Load plugin textdomain.
 * @since 1.0.0
function myplugin_load_textdomain() {
  load_plugin_textdomain( 'my-plugin', false, basename( dirname( __FILE__ ) ) . '/languages' ); 


  • l10n is an abbreviation for localization.
  • l10n is derived from the 10 letters between the "l" and the "n" of localization.

Change Log

  • Since: 1.5.0
  • 2.7.0: '$abs_rel_path' parameter was deprecated.

Source File

load_plugin_textdomain() is located in wp-includes/l10n.php.



Localization: get_locale(), load_textdomain(), load_default_textdomain(), load_plugin_textdomain(), load_theme_textdomain()

See also index of Function Reference and index of Template Tags.