@fluenti/vite-plugin
import { defineConfig } from 'vite'import fluenti from '@fluenti/vite-plugin'
export default defineConfig({ plugins: [fluenti()],})Options
Section titled “Options”fluenti({ framework: 'auto', // 'vue' | 'solid' | 'auto' catalogDir: 'src/locales/compiled', configPath: './fluenti.config.ts',})| Option | Type | Default | Description |
|---|---|---|---|
framework | 'vue' | 'solid' | 'auto' | 'auto' | Framework detection mode |
catalogDir | string | 'src/locales/compiled' | Compiled catalogs directory |
configPath | string? | — | Path to fluenti config |
What it does
Section titled “What it does”The plugin provides five sub-plugins:
- fluenti:virtual — Resolves
virtual:fluenti/messages/{locale}imports - fluenti:vue-template — Pre-transforms
v-tdirectives in Vue SFCs - fluenti:script-transform — Transforms
t\`andt()` macros in scripts - fluenti:build-split — Code-splitting transforms for production builds
- fluenti:dev — HMR support for catalog changes
Virtual modules
Section titled “Virtual modules”import messages from 'virtual:fluenti/messages/en'import messages from 'virtual:fluenti/messages/zh-CN'Script transforms
Section titled “Script transforms”The plugin transforms tagged template and function call macros at build time.
Vue mode:
t`Hello ${name}` → computed(() => __i18n.t('hash', { name: unref(name) }))Solid mode:
t`Hello ${name()}` → createMemo(() => __i18n.t('hash', { name: name() }))