香草JS参考

create18waysEngine(options)

@18ways/core/engine 导入。

ts
import { create18waysEngine } from '@18ways/core/engine';

常见选项:

选项类型笔记
apiKey字符串必填。
baseLocale字符串源语言环境。
区域设置字符串当前目标区域设置。
上下文字符串 | 对象默认上下文键。
初始翻译翻译可选的起始缓存。
apiUrl字符串可选的 API 基础覆盖。
fetchertypeof fetch自定义获取实现。
cacheTtlSeconds数字请求缓存的生存时间(TTL)。
origin字符串源已在服务器端请求中转发。

引擎方法

t(text, options?)

翻译一个字符串并返回解析后的值。

setLocale(locale)

更改目标区域设置。

getLocale()

读取当前目标区域设置。

getStore()

访问基础翻译存储。

TranslationStore

engine.getStore() 暴露了底层运行时状态机。store 拥有区域设置状态、 配置、已加载的译文、记住的源字符串,以及阻塞式加载状态。

常见方法:

方法笔记
获取状态()读取当前选定的区域设置、已确定的区域设置、配置和缓存的翻译。
hydrate(input)将翻译和配置合并到 store 中。适用于 SSR 或自定义引导。
dehydrate()将商店快照为一个便于合并的 hydration 载荷。
加载配置()只获取一次已接受的区域设置和回退配置,然后缓存结果。
setLocale(locale)在商店内启动区域转换。
getTranslationSync(input)同步读取:要么返回就绪值,要么返回带有回退值的挂起读取。
getTranslation(input)异步翻译读取,最终会解析为最终翻译后的字符串。
isLoading(input?)当全局或某个上下文中仍有阻塞翻译工作待处理时,返回 true
waitForIdle(input?)当阻塞的翻译工作完成后会解析。传入 timeoutMs 可在达到截止时间后停止等待,同时加载会在后台继续进行。
getIdleState(input?)返回渲染器使用的、由存储持有的定时等待状态:{timedOut, promise}
挂载(entry) / 卸载(entry)针对启用挂载感知垃圾回收的集成的可选挂载跟踪。

如果你直接使用 @18ways/core,通常会停留在 engine.t(...) 这一层。只有在你构建自己的渲染运行时或 hydration 层时,才需要用到 store。

t() 选项

选项类型笔记
区域设置字符串覆盖此调用的目标区域设置。
baseLocale字符串覆盖此调用的基础区域设置。
上下文字符串 | 对象覆盖此调用的上下文。
变量Record<string, unknown>waysParser 的变量输入。

Utility exports

核心包还导出了更低级的辅助工具,例如:

  • fetchAcceptedLocales
  • fetchConfig
  • 区域设置工具

在需要时使用它们,但引擎应该是默认的起点。

香草JS参考