JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 400
  • Score
    100M100P100Q92883F
  • License MIT

Framework-agnostic core utilities for Better i18n

Package Exports

  • @better-i18n/core
  • @better-i18n/core/package.json

Readme

@better-i18n/core

Framework-agnostic core utilities for fetching translations from Better i18n CDN.

Installation

npm install @better-i18n/core
# or
bun add @better-i18n/core

Usage

import { createI18nCore } from '@better-i18n/core'

const i18n = createI18nCore({
  project: 'your-org/your-project',
  defaultLocale: 'en',
})

// Fetch messages for a locale
const messages = await i18n.getMessages('en')

// Get available locales
const locales = await i18n.getLocales()
// ['en', 'tr', 'de', ...]

// Get language options with metadata (for UI)
const languages = await i18n.getLanguages()
// [{ code: 'en', name: 'English', nativeName: 'English', flagUrl: '...' }, ...]

// Get manifest
const manifest = await i18n.getManifest()

Configuration

interface I18nCoreConfig {
  // Required
  project: string        // "org/project" format
  defaultLocale: string  // e.g., "en"

  // Optional
  cdnBaseUrl?: string           // default: "https://cdn.better-i18n.com"
  manifestCacheTtlMs?: number   // default: 300000 (5 minutes)
  debug?: boolean               // default: false
  logLevel?: LogLevel           // default: "warn"
  fetch?: typeof fetch          // custom fetch function
}

Used By

This package is the foundation for:

  • @better-i18n/next - Next.js integration
  • @better-i18n/use-intl - TanStack/React integration
  • @better-i18n/i18next-backend - i18next backend plugin

License

MIT