# Documentation - [Introduction](/docs): Compile-time i18n — no keys, no runtime, no catalog to load - [Comparison](/docs/comparison): How best-i18n relates to Lingui, next-intl, Paraglide, svelte-i18n and @solid-primitives/i18n — with measured numbers - Integrations - [Vite](/docs/integrations/vite): best-i18n/vite — for Vite and everything built on it - [TanStack Start](/docs/integrations/tanstack-start): TanStack Start on the Vite plugin, with per-request locale middleware - [Svelte](/docs/integrations/svelte): Svelte 5 and SvelteKit on the Vite plugin, with svelte:true - [Solid](/docs/integrations/solid): Reactive translations and request isolation in SolidStart v2 - [Vue](/docs/integrations/vue): Vue 3 on the Vite plugin with vue:true, and Nuxt 4 through the best-i18n/nuxt module - [Rolldown](/docs/integrations/rolldown): best-i18n/rolldown — for Rolldown without Vite around it - [Next.js](/docs/integrations/nextjs): best-i18n/next — App Router, Turbopack or webpack - [Static export](/docs/integrations/nextjs-static-export): The base locale unprefixed without a proxy — @best-i18n/next-unprefixed-locale, on its own or through createI18nPlugin - [Plain JavaScript](/docs/integrations/plain-javascript): No framework required — a bundler plugin and the t macro is the whole system - [Writing messages](/docs/writing-messages): The t and useI18n macros, plurals, context and markup - [Extract and translate](/docs/extraction): The i18n-extract CLI and the PO workflow - [Locale resolution and URLs](/docs/server): Per-request locale binding, the resolution chain and URL helpers - [Limitations](/docs/limitations): The edges of the design, stated plainly - Errors - [A macro in a dependency array](/docs/errors/dependency-array): Why `[t]` is refused, and what to depend on instead - [Thanks](/docs/thanks): The projects best-i18n inherited its ideas from, and the ones it stands on - [llms.txt](/llms.txt) # 文档 - [介绍](/zh/docs): 编译期 i18n——没有 key,没有运行时,没有需要加载的 catalog - [对比](/zh/docs/comparison): best-i18n 与 Lingui、next-intl、Paraglide、svelte-i18n、@solid-primitives/i18n 的关系——附实测数字 - 集成 - [Vite](/zh/docs/integrations/vite): best-i18n/vite——用于 Vite 以及构建在它之上的一切 - [TanStack Start](/zh/docs/integrations/tanstack-start): TanStack Start 跑在 Vite 插件上,加一个按请求绑定 locale 的中间件 - [Svelte](/zh/docs/integrations/svelte): Svelte 5 与 SvelteKit 跑在 Vite 插件上,只多一个 svelte:true - [Solid](/zh/docs/integrations/solid): SolidStart v2 的响应式翻译与请求语言隔离 - [Vue](/zh/docs/integrations/vue): Vue 3 跑在 Vite 插件上只多一个 vue:true,Nuxt 4 通过 best-i18n/nuxt 模块接入 - [Rolldown](/zh/docs/integrations/rolldown): best-i18n/rolldown——不带 Vite、单独使用 Rolldown 时用 - [Next.js](/zh/docs/integrations/nextjs): best-i18n/next——App Router,Turbopack 或 webpack - [静态导出](/zh/docs/integrations/nextjs-static-export): 没有 proxy 也让基础语言不带前缀——@best-i18n/next-unprefixed-locale,单独使用或通过 createI18nPlugin 使用 - [纯 JavaScript](/zh/docs/integrations/plain-javascript): 不需要框架——一个打包器插件加 t 宏就是整个系统 - [编写消息](/zh/docs/writing-messages): t 和 useI18n 宏、复数、上下文与内嵌标记 - [提取与翻译](/zh/docs/extraction): i18n-extract CLI 与 PO 工作流 - [locale 解析与 URL](/zh/docs/server): 按请求绑定 locale、解析链与 URL 辅助函数 - [限制](/zh/docs/limitations): 设计的边界,直白地说 - 报错 - [依赖数组里的宏](/zh/docs/errors/dependency-array): 为什么 `[t]` 会被拒绝,以及该依赖什么 - [致谢](/zh/docs/thanks): best-i18n 的想法继承自哪些项目,又站在哪些项目之上 - [llms.txt](/llms.txt)