next intl
v3.25.1
Next.js 的國際化 (i18n)
國際化 (i18n) 是使用者體驗的重要組成部分,因此next-intl
為您提供了正確處理語言細微差別所需的所有部分。
ICU 訊息語法:使用插值、基數和序數複數、基於枚舉的標籤選擇和富文本來本地化您的訊息。
日期、時間和數字:套用適當的格式,無需擔心伺服器/用戶端差異(例如時區)。
類型安全:透過訊息鍵的自動完成來加快開發速度,並透過編譯時檢查儘早發現拼字錯誤。
基於 Hooks 的 API :學習可在整個程式碼庫中使用的單一 API,將翻譯轉換為純字串或富文本。
Next.js 原生且注重效能:應用程式路由器、伺服器元件、靜態渲染 — 為正確的工作選擇正確的工具,next-intl 無所不在。
國際化路由:為每種語言提供唯一的路徑名,並可選擇在地化路徑名以優化搜尋引擎。
// UserProfile.tsximport {useTranslations} from 'next-intl'; 匯出預設函數 UserProfile({user}) { const t = useTranslations('UserProfile'); return (<section> <h1>{t('title', {firstName: user.firstName})}</h1> <p>{t('membership', {memberSince: user.memberSince})}</p > <p>{t('追蹤者', {count: user.numFollowers})}</p></section> );}
// en.json{ "UserProfile": {"title": "{firstName} 的個人資料","membership": "自{memberSince, date, short} 以來成為會員","followers": "{count,plural, ↵ =0 {沒有追蹤者還} ↵ =1 {一個追蹤者} ↵ 其他 {# 追蹤者} ↵ }" }}
託管在 Vercel