export default {
dashboard: {
greeting: "你好,{name: string}!",
membership: "{role, select, admin {管理員} pro {專業版會員} other {普通會員}}",
cart: "{count, plural, =0 {購物車暫無商品} other {購物車共有 # 件商品}}",
discount: "限時促銷:<badge>全館 8 折</badge>",
invoice: "結算總額:{amount, number, currency}",
delivery: "預計送達:{time}",
},
} as const;即時預覽
你好,開發者!
專業版會員購物車共有 3 件商品結算總額:¥899.50
預計送達:2天後
型別安全
支援翻譯鍵名、命名空間及插值參數的 TypeScript 型別推導,並即時驗證跨語言詞典結構的一致性。
零執行階段依賴
基於 TypeScript 與 Web 標準 Intl API 建構,完全無需額外的程式碼生成建置步驟。 Minified + Gzipped: < 5 kB
ICU Message Format 支援
支援複數規則、序數詞、條件分支(select)與富文字標籤對應,無需引入任何外部解析器。
框架無關
適用於 Astro、Next.js、React、Vue、Svelte、Node.js、Bun 及 Cloudflare Workers 等多種環境。
基準測試
網路傳輸大小基準測試
模擬多語言 Web 應用程式在首頁預先渲染與客戶端水合(Hydration)時,瀏覽器實際下載的全部國際化資源網路傳輸大小。
首頁網路傳輸大小 (KB)
Playwright Headless Chromium · Real HTTP Transfer Size
paraglide中介軟體分割
-91%36.3 KB
ts-intl隨需分割
-86%57.8 KB
paraglide預設全量
-82%76.6 KB
i18nextHTTP 動態載入
-55%188.7 KB
ts-intl預設全量
-14%360.0 KB
i18next預設全量
Baseline420.4 KB
執行階段大小與依賴考量
i18next 包含獨立解析器與外掛程式執行階段,帶來固定的基本大小開銷;ts-intl 零第三方依賴,核心執行階段僅約 2 KB,在隨需分割模式下僅傳輸當前語言的字典分塊。
編譯型與執行階段方案機制差異
Paraglide 將每條訊息編譯為獨立函式並支援 Tree-shaking 未使用的詞條;ts-intl 作為輕量執行階段方案無需程式碼生成,透過標準動態 import 避免多語言字典合併打包。