Skip to main content

国际化

Codofly Template 使用 next-intl 提供完整的国际化支持,目前支持英文和简体中文。

next-intl 配置

基础配置

i18n.ts

中间件配置

middleware.ts

翻译文件管理

英文翻译

messages/en.json

中文翻译

messages/zh.json

多语言路由

根布局

app/[locale]/layout.tsx

页面国际化

app/[locale]/page.tsx

语言切换

语言切换组件

components/language-switcher.tsx

导航栏集成

components/navbar.tsx

内容本地化

日期和时间

lib/date-formatter.ts

数字格式化

components/price-display.tsx

复数处理

components/message-count.tsx
对应的翻译文件:

动态导入翻译

按需加载翻译

lib/translations.ts

分离翻译文件

添加新语言

步骤

  1. 添加语言到配置
i18n.ts
  1. 创建翻译文件
messages/ja.json
  1. 更新语言切换器
components/language-switcher.tsx

服务端组件翻译

API 响应本地化

app/api/messages/route.ts

最佳实践

1. 翻译键命名

2. 翻译文件结构

3. 处理缺失翻译

lib/fallback-translations.ts
建议使用专业翻译工具如 Crowdin 或 Lokalise 来管理大型项目的翻译工作。

性能优化

翻译预加载

app/[locale]/loading.tsx

静态生成

next.config.js
查看 next-intl 文档 了解更多高级功能。