函数文档

get_translations_for_domain()

💡 云策文档标注

概述

get_translations_for_domain() 函数用于获取指定文本域的 Translations 实例。如果不存在,则返回一个空的 NOOP_Translations 实例。

关键要点

  • 函数返回一个 Translations 或 NOOP_Translations 实例,用于处理翻译字符串。
  • 参数 $domain 是必需的文本域标识符,用于唯一检索翻译。
  • 函数内部检查全局变量 $l10n 和 _load_textdomain_just_in_time() 来加载翻译。
  • 如果未找到翻译,会创建并返回一个 NOOP_Translations 实例。

代码示例

function get_translations_for_domain( $domain ) {
	global $l10n;
	if ( isset( $l10n[ $domain ] ) || ( _load_textdomain_just_in_time( $domain ) && isset( $l10n[ $domain ] ) ) ) {
		return $l10n[ $domain ];
	}

	static $noop_translations = null;
	if ( null === $noop_translations ) {
		$noop_translations = new NOOP_Translations();
	}

	$l10n[ $domain ] = &$noop_translations;

	return $noop_translations;
}

注意事项

  • 函数自 WordPress 2.8.0 版本引入。
  • 相关函数包括 _load_textdomain_just_in_time()、translate() 等,用于辅助翻译加载和检索。

📄 原文内容

Returns the Translations instance for a text domain.

Description

If there isn’t one, returns empty Translations instance.

Parameters

$domainstringrequired
Text domain. Unique identifier for retrieving translated strings.

Return

Translations|NOOP_Translations A Translations instance.

Source

function get_translations_for_domain( $domain ) {
	global $l10n;
	if ( isset( $l10n[ $domain ] ) || ( _load_textdomain_just_in_time( $domain ) && isset( $l10n[ $domain ] ) ) ) {
		return $l10n[ $domain ];
	}

	static $noop_translations = null;
	if ( null === $noop_translations ) {
		$noop_translations = new NOOP_Translations();
	}

	$l10n[ $domain ] = &$noop_translations;

	return $noop_translations;
}

Changelog

Version Description
2.8.0 Introduced.