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 );
}