原生JS使用
核心引擎为您提供运行时行为。您的应用决定如何呈现它。
每个区域的上下文
在引擎上设置默认上下文,然后在需要时为特定调用覆盖它。
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',
});变量的工作方式是一样的
const line = await engine.t('Hello {name}', {
vars: { name: 'Ada' },
});在这里也可以使用与 React 中相同的 waysParser 语法。
缓存行为
引擎在内存中保持一个翻译存储。
这意味着:
- 第一次请求新字符串或区域设置时可能会调用API
- 后续请求可以从商店中提供
- 如果翻译已经被缓存,切换回之前的语言环境是很便宜的
自带本地化控制
在原生 JavaScript 中,区域设置切换是显式的。
async function setLocale(locale) {
engine.setLocale(locale);
await render();
}这比假装核心包拥有路由或 React 状态要更合适。
何时留在核心包中
如果你想要最大控制,请留在这里。
当您想要时,请升级到 React 或 Next 包:
- JSX 翻译原语
- 内置区域设置钩子
- 适配器管理的路由和元数据