Registry / web-framework / vite-plugin-i18n

vite-plugin-i18n

JSON →
library1.0.2jsnpmunverified

A Vite plugin for internationalization (i18n) that integrates seamlessly with Vite's build process. Version 1.0.2 provides a simple way to manage translation files, auto-generate type-safe i18n functions, and optimize bundle size by tree-shaking unused translations. It supports JSON, YAML, and TypeScript translation files with hot-reload in development. Compared to alternatives like i18next or vue-i18n, it offers a lower overhead and tighter Vite integration. Release cadence is irregular with limited community adoption.

npm install vite-plugin-i18n
INSTALL
IMPORT
SIG · VITE-PLUGIN-I18N
V
vite-plugin-i18n
web-frameworkjavascriptv1.0.2
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18223 runs
build_error
glibc
node 18223 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

i18nPlugin
import i18nPlugin from 'vite-plugin-i18n'
const i18nPlugin = require('vite-plugin-i18n')
ESM-only; CommonJS require will fail. Use import.
defineI18n
import { defineI18n } from 'vite-plugin-i18n'
import defineI18n from 'vite-plugin-i18n'
defineI18n is a named export, not default. Check docs for correct usage.
useI18n
import { useI18n } from 'vite-plugin-i18n'
import useI18n from 'vite-plugin-i18n'
Named export for runtime usage.

Configures the plugin in vite.config.ts, then defines and uses i18n functions in a component.

import i18nPlugin from 'vite-plugin-i18n'; import { defineConfig } from 'vite'; export default defineConfig({ plugins: [ i18nPlugin({ locales: ['en', 'fr', 'de'], defaultLocale: 'en', messagesDir: 'src/locales', typesOutput: 'src/types/i18n.d.ts' }) ] }); // In a component: import { defineI18n } from 'vite-plugin-i18n'; const { t } = defineI18n(); console.log(t('hello'));
Debug
Known issues
breakingThe plugin requires Vite >= 2.0 and may not work with Vite 3+ without adjustments.
fix
Check compatibility with your Vite version; consider using an alternative like @intlify/vite-plugin-vue-i18n for newer Vite.
affects: >=1.0.0
deprecatedSome older configuration options like 'messagesDir' are deprecated in favor of 'localesDir'.
fix
Use 'localesDir' instead of 'messagesDir'.
affects: >=1.0.0
gotchaThe plugin generates type definitions only if 'typesOutput' is specified; otherwise, no types are emitted.
fix
Set 'typesOutput' to a file path to enable auto-generated types.
affects: >=1.0.0
gotchaNon-ASCII characters in locale files may cause encoding issues on Windows.
fix
Save locale files as UTF-8 with BOM or use Unicode escape sequences.
affects: >=1.0.0
Errors
Common errors & fixes
Cannot find module 'vite-plugin-i18n' or its corresponding type declarations.
Package not installed or TypeScript cannot locate types.
fix
Run 'npm install vite-plugin-i18n' and ensure 'tsconfig.json' includes 'node_modules/@types'.
TypeError: i18nPlugin is not a function
Using CommonJS require instead of ESM import.
fix
Change 'const i18nPlugin = require(...)' to 'import i18nPlugin from ...'.
[vite] Internal server error: Plugin 'vite-plugin-i18n' failed to load
Configuration mismatch or missing required options.
fix
Check that 'locales' array and 'defaultLocale' are provided in plugin options.
Upgrade
Version history
1.0.2latest on npm
Audit
Dependencies
viteoptionalPeer dependency required as it's a Vite plugin
Agent activity
12 hits · last 30 days
node
10
OpenAI (training)
1
Resources
vite-plugin-i18n — npm install vite-plugin-i18n · libregistry