文档 JavaScript (Vanilla)

JavaScript (Vanilla)

在任何不带框架的 JavaScript 或 TypeScript 项目中使用 i1n。

设置

将 i1n 安装为依赖项 (npm install i1n) 并运行 i1n init 来配置您的项目。CLI 会在 locales/ 目录中设置嵌套的 JSON 格式。

i1n SDK 可在任何 JavaScript 或 TypeScript 环境中运行 — Node.js、浏览器、Deno 或 Bun。无需框架或构建工具依赖。

用法

从 i1n 导入 init 和 t。使用您的区域设置和翻译资源调用 init(),然后使用 t() 获取翻译后的字符串。变量使用 {var}、{{var}} 或 %{var} 语法进行插值。

使用 setLocale() 在运行时切换语言。复数形式通过 _zero、_one 和 _other 键后缀支持。生成的 i1n.d.ts 文件在您使用 TypeScript 时提供完整的自动完成功能。

桥接模式

如果您的项目已在使用自定义翻译函数或查找系统,请使用 registerI1n((key, params) => yourFunction(key, params)) 进行连接。这能为任何现有设置添加 i1n 的类型安全自动补全功能。

桥接模式可与任何接受键和可选参数并返回字符串的函数配合使用。这使得 i1n 可以与任何自定义 i18n 解决方案兼容,无论使用何种框架。

main.js
import { init, t } from 'i1n'

init({
  locale: 'en_us',
  resources: {
    en_us: { greeting: 'Hello {name}' },
    es_es: { greeting: 'Hola {name}' }
  }
})

t('greeting', { name: 'World' }) // "Hello World"
Bridge Mode — main.js
import { registerI1n } from 'i1n'

// Connect any custom translation function
registerI1n((key, params) => myCustomLookup(key, params))

相关