用于客户端本地化的国际化实用程序。有关服务器端文档,请参阅 如何国际化您的插件。

安装

安装模块:

npm install @wordpress/i18n --save

此包假设您的代码将在 ES2015+ 环境中运行。如果您使用的环境对这类语言特性和 API 的支持有限或完全不支持,您应该在代码中包含 @wordpress/babel-preset-default 随附的 polyfill。

用法

import { sprintf, _n } from '@wordpress/i18n';

sprintf( _n( '%d hat', '%d hats', 4, 'text-domain' ), 4 );
// 4 hats

完整示例请参阅 区块编辑器手册中的国际化部分。

API

createI18n

创建 i18n 实例

参数

  • initialData [LocaleData< TextDomain >]: 区域设置数据配置。
  • initialDomain [TextDomain]: 应用配置的文本域。
  • hooks [Hooks]: Hooks 实现。

返回

  • I18n< TextDomain >: I18n 实例。

defaultI18n

I18n 的默认单例实例。

getLocaleData

按文本域返回 Jed 格式的 JSON 对象形状的区域设置数据。

相关

参数

  • domain [ string | undefined ]: 要获取数据的文本域。

返回

  • LocaleData: 区域设置数据。

hasTranslation

检查给定字符串(单数形式)是否有翻译。

参数

  • single string: 要查找的字符串的单数形式。
  • context string: 供翻译者使用的上下文信息。
  • domain string: 检索已翻译文本的文本域。

返回

  • boolean: 翻译是否存在。

isRTL

检查当前区域设置是否为 RTL(从右到左)。

RTL (Right To Left) 是一个区域设置属性,表示文本是从右向左书写。例如,he 区域设置(希伯来语)指定了从右到左。阿拉伯语(ar)是另一种常见的 RTL 书写语言。与 RTL 相反的是 LTR(从左到右),用于包括英语(en, en-US, en-GB 等)、西班牙语(es)和法语(fr)在内的其他语言。

返回

  • boolean: 区域设置是否为 RTL。

resetLocaleData

重置所有当前 Tannin 实例的区域设置数据,并为指定的文本域设置区域设置数据。接受 Jed 格式的 JSON 对象形状的数据。

相关

参数

  • data [LocaleData]: 区域设置数据配置。
  • domain [string | undefined]: 应用配置的文本域。

setLocaleData

按文本域将区域设置数据合并到 Tannin 实例中。接受 Jed 格式的 JSON 对象形状的数据。

相关

参数

  • data [LocaleData ]: 区域设置数据配置。
  • domain [string | undefined]: 应用配置的文本域。

sprintf

返回格式化后的字符串。

相关

参数

  • format T | TransformedText< T >: 要生成的字符串格式。
  • args DistributeSprintfArgs< T >: 应用于格式的参数。

返回

  • TransformedText< T >: 格式化后的字符串。

subscribe

订阅区域设置数据的变化

参数

  • callback SubscribeCallback: 订阅回调函数

返回

  • UnsubscribeCallback: 取消订阅回调函数

_n

根据提供的数字翻译并检索单数或复数形式。

相关

参数

  • single Single: 如果数字为单数时使用的文本。
  • plural Plural: 如果数字为复数时使用的文本。
  • number number: 用于比较以确定使用单数还是复数形式的数字。
  • domain string | undefined: 检索已翻译文本的文本域。

返回

  • TransformedText<Single | Plural>: 翻译后的单数或复数形式。

_nx

根据提供的数字翻译并检索单数或复数形式,并带有 gettext 上下文。

相关

参数

  • single Single: 如果数字为单数时使用的文本。
  • single Single: 如果数字为单数时使用的文本。
  • plural Plural: 如果数字为复数时使用的文本。
  • number number: 用于比较以确定使用单数还是复数形式的数字。
  • context string: 供翻译者使用的上下文信息。
  • domain [string | undefined]: 检索已翻译文本的文本域。

返回

  • TransformedText<Single | Plural>: 翻译后的单数或复数形式。

_x

检索带有 gettext 上下文的已翻译字符串。

相关

参数

  • text Text: 要翻译的文本。
  • context string: 供翻译者使用的上下文信息。
  • domain string | undefined: 检索已翻译文本的文本域。

返回

  • TransformedText<Text>: 不含管道的翻译上下文字符串。

__

检索文本的翻译。

相关

参数

  • text Text: 要翻译的文本。
  • domain string | undefined: 检索已翻译文本的文本域。

返回

  • TransformedText<Text>: 翻译后的文本。

为此包做出贡献

这是 Gutenberg 项目的一个独立包。该项目被组织为一个 monorepo(单体仓库)。它由多个自包含的软件包组成,每个包都有特定的用途。此 monorepo 中的包发布到 npm,并被 WordPress 以及其他软件项目使用。

要了解有关为此包或整个 Gutenberg 做出贡献的更多信息,请阅读项目的主要 贡献者指南。