Skip to content

Package Reference

The compatibility matrix currently runs against Lingui 5 and Lingui 6 with these framework and bundler generations:

Package Tested framework and bundler combinations
lingui-for-svelte Svelte 5 + Vite 6, Svelte 5 + Vite 7, Svelte 5 + Vite 8
lingui-for-astro Astro 5 + Vite 6, Astro 6 + Vite 7, Astro 7 + Vite 8
unplugin-lingui-macro Plain Vite 6, Vite 7, and Vite 8

Astro 7 support tracks the stable release line.

Export What it contains User-facing
lingui-for-svelte setLinguiContext, getLinguiContext ✓
lingui-for-svelte/macro t, plural, select, selectOrdinal, Trans, Plural, Select, SelectOrdinal, msg, defineMessage, ph ✓
lingui-for-svelte/config defineConfig helper with framework.svelte support ✓
lingui-for-svelte/extractor svelteExtractor for lingui.config.ts; use svelteExtractor({ config }) for an explicit config source ✓
lingui-for-svelte/unplugin/* Vite, Rollup, and Rolldown plugins ✓
lingui-for-svelte/runtime Internal runtime called by compiled macro output ✗
Export What it contains User-facing
lingui-for-astro setLinguiContext, getLinguiContext ✓
lingui-for-astro/macro t, plural, select, selectOrdinal, Trans, Plural, Select, SelectOrdinal, msg, defineMessage, ph ✓
lingui-for-astro/config defineConfig helper with framework.astro support ✓
lingui-for-astro/extractor astroExtractor for lingui.config.ts; use astroExtractor({ config }) for an explicit config source ✓
lingui-for-astro/integration Astro integration for astro.config.ts ✓
lingui-for-astro/unplugin/* Vite, Rollup, and Rolldown plugins ✓
lingui-for-astro/runtime Internal runtime called by compiled macro output ✗

lingui-for-svelte/runtime and lingui-for-astro/runtime contain the low-level helpers that compiled macro output calls at runtime. Their API surface may change without a major version bump. Do not import from these paths directly.

Framework config lives in lingui.config.ts

Section titled “Framework config lives in lingui.config.ts”

Use defineConfig from lingui-for-svelte/config or lingui-for-astro/config when you need framework-specific options such as whitespace, packages, or runtimeWarnings. The framework build transform and extractor load the same config and read the relevant framework.svelte or framework.astro section. See Framework Config for how this works in single-framework and mixed-framework projects.

Plain .js and .ts files use @lingui/core/macro (official Lingui) with unplugin-lingui-macro for the build transform and @lingui/cli/api/extractors/babel for extraction. These are not part of lingui-for-*. See Plain JS/TS Setup.