Communitygithub.com

Next.js i18n 设置 (nextjs-i18n-setup)

在一个现有的 Next.js App Router 项目中,引导并配置 next-intl 国际化方案,包括代理/中间件、路由、布局和国际化文件。

Next.js i18n 设置 (nextjs-i18n-setup) 是什么?

该 AI 技能(BIGboss248/nextjs-wordpress)专门用于为 Next.js 项目自动引导并配置 next-intl 国际化库。它支持现代 Next.js 16+(使用 proxy.ts)和 Next.js <=15(使用 middleware.ts),并遵循最新架构模式,如使用 `next/root-params` 获取区域参数。该技能会扫描项目元数据(如 `docs/project.json` 中的 `supported_languages`),然后执行一套完整的12步设置流程:安装 next-intl 包、创建路由配置(`i18n/routing.ts`)、请求处理(`i18n/request.ts`)、导航助手(`i18n/navigation.ts`)、接入 Next.js 插件、生成请求拦截器、提供起始字典文件、迁移布局与路由以使用 `[locale]` 动态段,以及类型增强。最终会生成一张详细的执行报告表,并运行验证脚本和构建命令来确保一切正确。该技能特别适用于希望快速将国际化集成到现有 Next.js App Router 项目中的开发者,支持 pnpm、yarn 等包管理器。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/BIGboss248/nextjs-wordpress/tree/HEAD/.agents/skills/nextjs-i18n-setup

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Next.js i18n 设置 (nextjs-i18n-setup) 是做什么的?

在现有的 Next.js App Router 项目中引导并搭建 next-intl,使用现代的 next/root-params、动态段 app/[locale]/,并区分 Next.js 16+(使用 proxy.ts) 与 Next.js <=15(使用 middleware.ts)。

[!TIP] 模板与样板代码: 查阅 references/templates.md 获取可用的完整代码模板。 快速执行: 将验证任务委托给轻量级子代理(Model: 'flash')。


1. 架构规则与要求

  1. 元数据约定: 确保 docs/project.json 包含以下内容:
    "dictionaries_dir": "messages",
    "dictionary_file_pattern": "[locale].json"
    
  2. Next.js 版本拦截:
    • Next.js 16+:使用 proxy.ts(或 src/proxy.ts)。迁移并移除任何旧的 middleware.ts。
    • Next.js <=15:使用 middleware.ts(或 src/middleware.ts)。
  3. 现代根参数: 在 i18n/request.ts 中使用 next/root-params(await rootParams.locale())。禁止使用已废弃的 requestLocale 和 setRequestLocale()。
  4. 导航: 从 i18n/navigation.ts 导出 Link、redirect、usePathname、useRouter(纯 TypeScript,不含 JSX)。
  5. 静态生成: 根布局 app/[locale]/layout.tsx 必须导出 generateStaticParams(),为所有支持的语言返回 { locale }。

2. 设置清单

  • 第 0 步:审计:检查 docs/project.json(supported_languages)和 package.json 中的 Next.js 版本。
  • 第 1 步:安装:运行 <pkg_mgr> add next-intl(例如 pnpm add next-intl)。
  • 第 2 步:配置元数据:确保 docs/project.json 中包含 dictionaries_dir: "messages"。
  • 第 3 步:路由:使用 defineRouting 创建 i18n/routing.ts(参见模板)。
  • 第 4 步:请求处理器:使用 next/root-params 创建 i18n/request.ts(参见模板)。
  • 第 5 步:导航辅助:创建 i18n/navigation.ts(参见模板)。
  • 第 6 步:Next.js 插件:使用 createNextIntlPlugin() 包装 next.config.ts(参见模板)。
  • 第 7 步:拦截器:创建 proxy.ts(Next 16+)或 middleware.ts(Next <=15),并包含资源过滤匹配器(参见模板)。
  • 第 8 步:起始字典:确保所有支持的语言都存在 messages/[locale].json,且具有匹配的基础键。
  • 第 9 步:迁移布局和路由:将顶级路由移动到 app/[locale]/ 下。配置动态 dir、lang、generateStaticParams 和 <NextIntlClientProvider>(参见模板)。
  • 第 10 步:类型增强:在 global.d.ts 中声明 AppConfig.Messages(参见模板)。
  • 第 11 步:导航导入:更新现有组件中的所有内部链接,使用 @/i18n/navigation。
  • 第 12 步:验证:运行验证脚本并构建:
    pwsh .agents/skills/nextjs-i18n-setup/scripts/verify-setup.ps1 -Quiet
    pnpm run build
    

3. 设置执行报告模板

## 🌐 Next.js i18n 设置执行报告

| 步骤 / 组件         | 目标文件                       | 状态                            | 备注                    |
| :----------------- | :--------------------------- | :------------------------------ | :----------------------- |
| **包**             | `package.json` (`next-intl`) | `[已实现]` / `[未触及]`          | 已安装运行时              |
| **项目配置**       | `docs/project.json`          | `[已实现]` / `[未触及]`          | 配置了消息目录            |
| **路由**           | `i18n/routing.ts`            | `[已实现]` / `[未触及]`          | 区域设置与默认值          |
| **请求**           | `i18n/request.ts`            | `[已实现]` / `[未触及]`          | next/root-params         |
| **导航**           | `i18n/navigation.ts`         | `[已实现]` / `[未触及]`          | 纯 TS 辅助函数            |
| **插件**           | `next.config.ts`             | `[已实现]` / `[未触及]`          | 已包装 withNextIntl       |
| **拦截器**         | `proxy.ts` / `middleware.ts` | `[已实现]` / `[未触及]`          | 路由匹配器                |
| **字典**           | `messages/[locale].json`     | `[已实现]` / `[未触及]`          | 起始字典                  |
| **布局**           | `app/[locale]/layout.tsx`    | `[已实现]` / `[未触及]`          | 静态参数与 Provider       |
| **类型**           | `global.d.ts`                | `[已实现]` / `[未触及]`          | AppConfig 增强            |
| **验证**           | `verify-setup.ps1` 与构建    | `[通过]`                          | 干净构建                  |

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

BIGboss248/nextjs-wordpress

Create, configure, manage, and validate Google Antigravity customizations including skills, rules, MCP servers, lifecycle hooks, plugins, and custom JSON configs. Use when adding new capabilities to Antigravity, configuring MCP servers, writing rules, creating skills, setting up hooks, or modernizing legacy workflows.

BIGboss248/nextjs-wordpress

Spawn multiple agents into a shared conversation where they debate, disagree, and converge on a solution via a shared chat.json file. Use for architecture decisions, code review debates, design trade-offs, or any problem that benefits from adversarial reasoning. Triggers on "chatroom", "agent debate", "have agents discuss", "agent chatroom", "debate this", or /agent-chatrooms. Also triggers on phrases like "have 3 agents argue about", "multi-agent discussion", or "let them debate".

BIGboss248/nextjs-wordpress

Always-active code intelligence, search, and navigation skill utilizing the codebase-memory MCP server. Enforces an index-first protocol (verifying and refreshing the knowledge graph via index_repository or index_status before searching, required because background auto_watch is disabled to eliminate editor stutter and system lag), followed by graph-first exploration (search_graph, trace_path, get_code_snippet, query_graph, get_architecture, detect_changes) instead of naive text grep or full-file reads. Always activate before searching the codebase, inspecting unknown architecture, finding symbols, or tracing callers/callees.

BIGboss248/nextjs-wordpress

>- Discover, interview, and craft comprehensive UX/UI design specifications (design-spec.md) and design tokens for web components. Triggers on "/component-design", "design component", "design section", "design UI", "wireframe component", or "create design spec".

BIGboss248/nextjs-wordpress

>- Configure and query WooCommerce APIs including WPGraphQL, WooGraphQL, and JWT auth for headless frontends. Use when connecting Next.js to WooCommerce or fetching store catalog data.

BIGboss248/nextjs-wordpress

Orchestrate parallel browser automation using multiple Chrome DevTools MCP instances. Use when a task requires doing the same browser action across many targets simultaneously (e.g., submitting contact forms, filling applications, scraping pages that need JS rendering). Spin up 1-5 parallel Chrome agents.

BIGboss248/nextjs-wordpress

Workflow for spawning an independent subagent to conduct unbiased code reviews and inject adversarial edge-case tests ([ComponentName].edge.test.tsx).

BIGboss248/nextjs-wordpress

>- Build Next.js App Router React components with Suspense skeletons, semantic OKLCH tokens, Jest + RTL unit tests, Playwright visual/hydration checks, and Tailwind logical styling. Triggers on "/nextjs-component-dev", "create component", "new component", "build component", or "develop component".

BIGboss248/nextjs-wordpress

>- Bootstrap, configure, and verify the complete Next.js App Router development environment, developer tooling, testing suites, MCP servers, Docker containerization, and CI/CD. Triggers on "/nextjs-dev-setup", "setup nextjs dev environment", "start a nextjs project", or "containerize nextjs app".

BIGboss248/nextjs-wordpress

>- Configure production health monitoring endpoints (/api/health), Docker Compose probes, and runtime metrics in Next.js App Router applications. Use when asked to "setup health check", "add health endpoint", "docker compose healthcheck nextjs", "configure health monitor", or "/nextjs-healthcheck".

BIGboss248/nextjs-wordpress

Read/write translation dictionaries (messages/[locale].json), next-intl hooks (getTranslations/useTranslations), providers (Storybook/tests/subtrees), and BiDi styling. Triggers on "/nextjs-i18n-usage", "i18n dictionary", "use translations", "read dictionary", "i18n provider", "next-intl hooks", "storybook i18n", "test i18n", "add translation keys", "localize component", "create a component", "update a component".

BIGboss248/nextjs-wordpress

>- Configure, test, and verify OpenTelemetry (OTel) observability in Next.js App Router applications. Triggers on "/nextjs-otel", "setup otel", "configure opentelemetry", "test otel", or "verify opentelemetry".

BIGboss248/nextjs-wordpress

Step-by-step workflow for designing and building Next.js App Router pages (RSC page.tsx, loading skeleton, metadata, JSON-LD schema, and dynamic static params). Triggers on "/nextjs-page-dev", "create page", "new page", "develop page", "build route", or "implement page".

BIGboss248/nextjs-wordpress

>- Orchestrate end-to-end planning for Next.js App Router projects, generating canonical specifications, design systems, and a 7-phase modular implementation roadmap in docs/plan/. Triggers on "/nextjs-plan", "plan a nextjs project", "plan nextjs app", "create nextjs project plan", "outline nextjs architecture", or "generate plan".

BIGboss248/nextjs-wordpress

Workflow and engineering standards for crafting co-located Storybook CSF3 stories ([ComponentName].stories.tsx) with interactive controls, action spies, and 4 canonical theme variants.

BIGboss248/nextjs-wordpress

>- Build Next.js e-commerce frontends backed by WooCommerce APIs, handling ISR catalogs, cart sessions, and JWT authentication. Use when building or querying Next.js stores with WooCommerce.

BIGboss248/nextjs-wordpress

Self-correcting rules engine and feedback loop that learns from user corrections, mistakes, and project-specific constraints by maintaining a persistent autofix ruleset. Scans learned rules before starting any task, resolves conflicts, and automatically appends new rules upon corrections. Triggers on user corrections ("no, do it this way", "never do X", "always use Y"), /learn, "self repair", "add rule", "update rules", or when diagnosing assumptions and bugs. CRITICAL ALWAYS-ACTIVE LIFECYCLE SKILL. Must always be kept in context, loaded at session start, and consulted before starting ANY task to read and apply active constraints from autofix.json. MUST ALWAYS be triggered immediately whenever the user provides ANY correction, preference, criticism, rejection of an approach, or adjustment ("no", "don't do X", "use Y", "remember", "prefer"), or when any mistake/bug is identified. Automatically and immediately formulates and appends the new imperative rule to the project's autofix.json ruleset file.

BIGboss248/nextjs-wordpress

Setup, automate, and execute SEO audits, CI/CD pre-push/pre-deploy checks, and ranking optimizations using the seo CLI and MCP server.

BIGboss248/nextjs-wordpress

End-to-end repository onboarding and development environment setup skill. Scans repository structure, configures project metadata (docs/project.json), sets up the codebase-memory-mcp code intelligence knowledge graph server (in workspace mcp.json and globally for AGY only), configures git hooks with Husky and Commitlint, establishes multi-stage production Docker containerization, and automates credit-optimized Release Please CI/CD with multi-arch (AMD64 & ARM64) GHCR package deployment. Triggers on "/setup-repository", "setup repository", "setup repo", "initialize repository", "new repo setup", or when preparing any repository for development and AI agent workflows.

BIGboss248/nextjs-wordpress

AI screen scaffolding, layout generation, and variant exploration workflow powered by Google Stitch (StitchMCP). Consumes a component design specification (docs/design/components/[page name]/[component name]/design-spec.md), verifies and reuses the central Stitch project in docs/project.json (or creates/persists one if absent), seeds the project's design system into Stitch, synthesizes layout prompts to generate a screen and create one variant of the given design spec file, downloads and saves Stitch JPG screenshots and HTML code files directly into docs/design/components/[page name]/[component name]/stitch/ using binary-safe PowerShell Invoke-WebRequest, outputs image prompts to the user if visual assets are needed (without calling generate_image to conserve tokens), updates design-spec.md with Stitch layout benchmarks, and audits asset download integrity with an independent subagent. Triggers on "/stitch-design", "generate stitch screen", "create stitch variant", "scaffold screen with stitch", or "stitch...

相关技能