wpseek.com
A WordPress-centric search engine for devs and theme authors
_load_textdomain_just_in_time is private and should not be used in themes or plugins directly.
_load_textdomain_just_in_time › WordPress Function
Since4.6.0
Deprecatedn/a
› _load_textdomain_just_in_time ( $domain )
Access: |
|
Parameters: |
|
Returns: |
|
Defined at: |
|
Codex: |
Loads plugin and theme text domains just-in-time.
When a textdomain is encountered for the first time, we try to load the translation file fromwp-content/languages
, removing the need
to call load_plugin_textdomain() or load_theme_textdomain().Related Functions: load_textdomain, unload_textdomain, load_theme_textdomain, load_plugin_textdomain, load_script_textdomain
Source
function _load_textdomain_just_in_time( $domain ) { /** @var WP_Textdomain_Registry $wp_textdomain_registry */ global $l10n_unloaded, $wp_textdomain_registry; $l10n_unloaded = (array) $l10n_unloaded; // Short-circuit if domain is 'default' which is reserved for core. if ( 'default' === $domain || isset( $l10n_unloaded[ $domain ] ) ) { return false; } if ( ! $wp_textdomain_registry->has( $domain ) ) { return false; } $locale = determine_locale(); $path = $wp_textdomain_registry->get( $domain, $locale ); if ( ! $path ) { return false; } if ( ! doing_action( 'after_setup_theme' ) && ! did_action( 'after_setup_theme' ) ) { _doing_it_wrong( __FUNCTION__, sprintf( /* translators: 1: The text domain. 2: 'init'. */ __( 'Translation loading for the %1$s domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the %2$s action or later.' ), '<code>' . $domain . '</code>', '<code>init</code>' ), '6.7.0' ); } // Themes with their language directory outside of WP_LANG_DIR have a different file name. $template_directory = trailingslashit( get_template_directory() ); $stylesheet_directory = trailingslashit( get_stylesheet_directory() ); if ( str_starts_with( $path, $template_directory ) || str_starts_with( $path, $stylesheet_directory ) ) { $mofile = "{$path}{$locale}.mo"; } else { $mofile = "{$path}{$domain}-{$locale}.mo"; } return load_textdomain( $domain, $mofile, $locale ); }