_get_path_to_translation_from_lang_dir

函数
_get_path_to_translation_from_lang_dir ( $domain )
Access
Private
参数
  • (string) $domain Text domain. Unique identifier for retrieving translated strings.
    Required:
返回值
  • (string|false) The path to the translation file or false if no translation file was found.
相关
  • _get_path_to_translation()
定义位置
相关方法
_get_path_to_translationget_translations_for_domainwp_load_translations_earlywp_get_translation_updateswp_set_script_translations
引入
4.7.0
弃用
6.1.0

_get_path_to_translation_from_lang_dir是一个WordPress函数,它返回特定文本域和语言目录的翻译文件的路径: 这个函数需要三个参数:文本域、语言目录和翻译文件的文件扩展名。它在指定的语言目录中搜索翻译文件,如果文件存在,则返回该文件的路径。

获取当前地区语言目录中的翻译文件的路径。

保存一个可用的.mo文件的缓存列表以提高性能。

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

常见问题

FAQs
查看更多 >