原生JS使用

核心引擎为您提供运行时行为。您的应用决定如何呈现它。

每个区域的上下文

在引擎上设置默认上下文,然后在需要时为特定调用覆盖它。

ts
const engine = create18waysEngine({
  apiKey: 'pk_dummy_demo_token',
  baseLocale: 'en-GB',
  locale: 'fr-FR',
  context: 'app',
});
 
const payNow = await engine.t('Pay now', {
  context: 'checkout.button',
});

变量的工作方式是一样的

ts
const line = await engine.t('Hello {name}', {
  vars: { name: 'Ada' },
});

在这里也可以使用与 React 中相同的 waysParser 语法。

缓存行为

引擎在内存中保持一个翻译存储。

这意味着:

  • 第一次请求新字符串或区域设置时可能会调用API
  • 后续请求可以从商店中提供
  • 如果翻译已经被缓存,切换回之前的语言环境是很便宜的

自带本地化控制

在原生 JavaScript 中,区域设置切换是显式的。

ts
async function setLocale(locale) {
  engine.setLocale(locale);
  await render();
}

这比假装核心包拥有路由或 React 状态要更合适。

何时留在核心包中

如果你想要最大控制,请留在这里。

当您想要时,请升级到 React 或 Next 包:

  • JSX 翻译原语
  • 内置区域设置钩子
  • 适配器管理的路由和元数据
Vanilla JS 用法