JavaScript (Vanilla)
Use i1n em qualquer projeto JavaScript ou TypeScript sem um framework.
Configuração
Instale o i1n como uma dependência (npm install i1n) e execute o i1n init para configurar seu projeto. A CLI configura o formato JSON aninhado no diretório locales/.
O i1n SDK funciona em qualquer ambiente JavaScript ou TypeScript — Node.js, navegador, Deno ou Bun. Nenhuma dependência de framework ou ferramenta de build é necessária.
Uso
Importe init e t de i1n. Chame init() com sua locale e recursos de tradução, então use t() para recuperar strings traduzidas. Variáveis são interpoladas com a sintaxe {var}, {{var}} ou %{var}.
Use setLocale() para alternar idiomas em tempo de execução. A pluralização é suportada por meio dos sufixos de chave _zero, _one e _other. O arquivo i1n.d.ts gerado fornece preenchimento automático completo se você usar TypeScript.
Modo Bridge
Se o seu projeto já utiliza uma função de tradução personalizada ou um sistema de busca, conecte-o com registerI1n((key, params) => yourFunction(key, params)). Isso adiciona o autocompletar type-safe do i1n a qualquer configuração existente.
O Modo Bridge funciona com qualquer função que receba uma chave e parâmetros opcionais e retorne uma string. Isso torna o i1n compatível com qualquer solução i18n personalizada, independentemente do framework.
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" import { registerI1n } from 'i1n'
// Connect any custom translation function
registerI1n((key, params) => myCustomLookup(key, params))