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