_get_path_to_translation_from_lang_dir()WP 4.7.0

Deprecated since 6.1.0. It is no longer supported and may be removed in future releases. It is recommended to replace this function with the same one.

Gets the path to a translation file in the languages directory for the current locale.

Holds a cached list of available .mo files to improve performance.

Internal function — this function is designed to be used by the kernel itself. It is not recommended to use this function in your code.

No Hooks.

Returns

String|false. The path to the translation file or false if no translation file was found.

Usage

_get_path_to_translation_from_lang_dir( $domain );
$domain(string) (required)
Text domain. Unique identifier for retrieving translated strings.

Notes

Changelog

Since 4.7.0 Introduced.
Deprecated since 6.1.0

_get_path_to_translation_from_lang_dir() code WP 6.9.1

function _get_path_to_translation_from_lang_dir( $domain ) {
	_deprecated_function( __FUNCTION__, '6.1.0', 'WP_Textdomain_Registry' );

	static $cached_mofiles = null;

	if ( null === $cached_mofiles ) {
		$cached_mofiles = array();

		$locations = array(
			WP_LANG_DIR . '/plugins',
			WP_LANG_DIR . '/themes',
		);

		foreach ( $locations as $location ) {
			$mofiles = glob( $location . '/*.mo' );
			if ( $mofiles ) {
				$cached_mofiles = array_merge( $cached_mofiles, $mofiles );
			}
		}
	}

	$locale = determine_locale();
	$mofile = "{$domain}-{$locale}.mo";

	$path = WP_LANG_DIR . '/plugins/' . $mofile;
	if ( in_array( $path, $cached_mofiles, true ) ) {
		return $path;
	}

	$path = WP_LANG_DIR . '/themes/' . $mofile;
	if ( in_array( $path, $cached_mofiles, true ) ) {
		return $path;
	}

	return false;
}