_get_path_to_translation_from_lang_dir()WP 4.7.0

Deprecated from version 6.1.0. It is no longer supported and can 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.

Return

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.5.2

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