⚠ This page is served via a proxy. Original site: https://github.com
This service does not collect credentials or authentication data.
Skip to content

Conversation

@juliomuhlbauer
Copy link
Contributor

@juliomuhlbauer juliomuhlbauer commented Jan 11, 2026

Summary by CodeRabbit

Release Notes

  • Documentation
    • Added comprehensive internationalization (i18n) guide covering routing patterns, language navigation, and SEO considerations
    • Reorganized i18n content with dedicated guides across router and start frameworks
    • Enhanced integration examples demonstrating Paraglide and other i18n library patterns
    • Simplified English URL path handling in localized routing configurations

✏️ Tip: You can customize this high-level summary in your review settings.

@github-actions github-actions bot added the documentation Everything documentation related label Jan 11, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 11, 2026

Warning

Rate limit exceeded

@juliomuhlbauer has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 3 minutes and 23 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between b2a1561 and 197c69a.

📒 Files selected for processing (6)
  • docs/router/config.json
  • docs/router/framework/react/guide/internationalization-i18n.md
  • docs/start/config.json
  • docs/start/framework/react/guide/internationalization-i18n.md
  • examples/react/i18n-paraglide/README.md
  • examples/react/start-i18n-paraglide/README.md
📝 Walkthrough

Walkthrough

This PR reorganizes internationalization (i18n) documentation for React with TanStack Router, creating dedicated guides in both documentation sections and simplifying English locale routing paths in examples. It removes i18n content from the path-params guide and substantially expands the dedicated i18n guide with comprehensive patterns, Paraglide integration, and type-safety examples.

Changes

Cohort / File(s) Summary
Configuration Navigation
docs/router/config.json, docs/start/config.json
Adds "Internationalization (i18n)" navigation entries to React Guides sections, linking to the new dedicated i18n guide.
i18n Documentation Guides
docs/router/framework/react/guide/internationalization-i18n.md, docs/start/framework/react/guide/internationalization-i18n.md
Router guide substantially expanded (+351/-122) with prefix-based routing, optional parameters, advanced patterns, Paraglide integration, SEO considerations, and type safety. Start guide newly created (+97) covering TanStack Start-specific i18n patterns and prerendering guidance.
Removed i18n Content
docs/router/framework/react/guide/path-params.md
Entire i18n section removed (-324 lines), retaining only general path params documentation.
Example Vite Configurations
examples/react/start-i18n-paraglide/vite.config.ts, e2e/react-start/i18n-paraglide/vite.config.ts
English locale URL paths simplified: root changed from /en to /, /about from /en/about to /about, catch-all pattern adjusted correspondingly.
Example Documentation
examples/react/i18n-paraglide/README.md, examples/react/start-i18n-paraglide/README.md
Both READMEs restructured to focus on Paraglide-centric setup with simplified project initialization, streamlined URL localization examples, modernized type-safe path translation logic, and consolidated prerendering workflows.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Poem

🐰 Hoppy hopping through the languages we go,
English paths now shorter, with less /en in tow,
Paraglide guides bloom in our docs so bright,
Internationalization's done just right! ✨🌍

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main change: splitting i18n documentation into separate guides for router and start frameworks.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@nx-cloud
Copy link

nx-cloud bot commented Jan 11, 2026

🤖 Nx Cloud AI Fix Eligible

An automatically generated fix could have helped fix failing tasks for this run, but Self-healing CI is disabled for this workspace. Visit workspace settings to enable it and get automatic fixes in future runs.

To disable these notifications, a workspace admin can disable them in workspace settings.


View your CI Pipeline Execution ↗ for commit 197c69a

Command Status Duration Result
nx affected --targets=test:eslint,test:unit,tes... ❌ Failed 1m 11s View ↗
nx run-many --target=build --exclude=examples/*... ✅ Succeeded 1s View ↗

☁️ Nx Cloud last updated this comment at 2026-01-11 17:53:07 UTC

@pkg-pr-new
Copy link

pkg-pr-new bot commented Jan 11, 2026

More templates

@tanstack/arktype-adapter

npm i https://pkg.pr.new/TanStack/router/@tanstack/arktype-adapter@6363

@tanstack/eslint-plugin-router

npm i https://pkg.pr.new/TanStack/router/@tanstack/eslint-plugin-router@6363

@tanstack/history

npm i https://pkg.pr.new/TanStack/router/@tanstack/history@6363

@tanstack/nitro-v2-vite-plugin

npm i https://pkg.pr.new/TanStack/router/@tanstack/nitro-v2-vite-plugin@6363

@tanstack/react-router

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-router@6363

@tanstack/react-router-devtools

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-router-devtools@6363

@tanstack/react-router-ssr-query

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-router-ssr-query@6363

@tanstack/react-start

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-start@6363

@tanstack/react-start-client

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-start-client@6363

@tanstack/react-start-server

npm i https://pkg.pr.new/TanStack/router/@tanstack/react-start-server@6363

@tanstack/router-cli

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-cli@6363

@tanstack/router-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-core@6363

@tanstack/router-devtools

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-devtools@6363

@tanstack/router-devtools-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-devtools-core@6363

@tanstack/router-generator

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-generator@6363

@tanstack/router-plugin

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-plugin@6363

@tanstack/router-ssr-query-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-ssr-query-core@6363

@tanstack/router-utils

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-utils@6363

@tanstack/router-vite-plugin

npm i https://pkg.pr.new/TanStack/router/@tanstack/router-vite-plugin@6363

@tanstack/solid-router

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-router@6363

@tanstack/solid-router-devtools

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-router-devtools@6363

@tanstack/solid-router-ssr-query

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-router-ssr-query@6363

@tanstack/solid-start

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-start@6363

@tanstack/solid-start-client

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-start-client@6363

@tanstack/solid-start-server

npm i https://pkg.pr.new/TanStack/router/@tanstack/solid-start-server@6363

@tanstack/start-client-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-client-core@6363

@tanstack/start-fn-stubs

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-fn-stubs@6363

@tanstack/start-plugin-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-plugin-core@6363

@tanstack/start-server-core

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-server-core@6363

@tanstack/start-static-server-functions

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-static-server-functions@6363

@tanstack/start-storage-context

npm i https://pkg.pr.new/TanStack/router/@tanstack/start-storage-context@6363

@tanstack/valibot-adapter

npm i https://pkg.pr.new/TanStack/router/@tanstack/valibot-adapter@6363

@tanstack/virtual-file-routes

npm i https://pkg.pr.new/TanStack/router/@tanstack/virtual-file-routes@6363

@tanstack/vue-router

npm i https://pkg.pr.new/TanStack/router/@tanstack/vue-router@6363

@tanstack/vue-router-devtools

npm i https://pkg.pr.new/TanStack/router/@tanstack/vue-router-devtools@6363

@tanstack/vue-router-ssr-query

npm i https://pkg.pr.new/TanStack/router/@tanstack/vue-router-ssr-query@6363

@tanstack/vue-start

npm i https://pkg.pr.new/TanStack/router/@tanstack/vue-start@6363

@tanstack/vue-start-client

npm i https://pkg.pr.new/TanStack/router/@tanstack/vue-start-client@6363

@tanstack/vue-start-server

npm i https://pkg.pr.new/TanStack/router/@tanstack/vue-start-server@6363

@tanstack/zod-adapter

npm i https://pkg.pr.new/TanStack/router/@tanstack/zod-adapter@6363

commit: 197c69a

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 6

🤖 Fix all issues with AI agents
In @docs/router/config.json:
- Line 330: The "to" path value contains a typo: change the string
"framework/react/guide/Internationalization-18n" to
"framework/react/guide/Internationalization-i18n" so the navigation link
resolves correctly; update the "to" field where that exact value appears in the
config JSON.

In @docs/start/config.json:
- Line 182: The link target string
"framework/react/guide/Internationalization-i18n" has a capitalization mismatch
with the actual file name; update the config entry to use the lowercase path
"framework/react/guide/internationalization-i18n" so the route matches the
actual filename (adjust the value for the key that currently contains "to":
"framework/react/guide/Internationalization-i18n").

In @docs/start/framework/react/guide/internationalization-i18n.md:
- Around line 47-49: Correct the typo in the documentation heading by changing
"Set the lang atribute in html" to "Set the lang attribute in html" (refers to
the instruction about setting lang in __root.tsx); update the phrase wherever
present in this markdown to replace "atribute" with "attribute".

In @examples/react/i18n-paraglide/README.md:
- Line 47: The README sentence "If you use TanStack Start and do not need
offline capabilities, you don`t need to use the shouldRedirect logic, only
paraglideMiddleware in the TanStack Start Paraglide integration guide." has a
backtick in "don`t" — replace the backtick with a proper apostrophe so it reads
"don't"; update that line in examples/react/i18n-paraglide/README.md where the
sentence appears.

In @examples/react/start-i18n-paraglide/README.md:
- Around line 124-126: Fix the typo in the README sentence: change "Set the lang
atribute in html at __root.tsx:" to "Set the lang attribute in html at
__root.tsx:" so "atribute" is corrected to "attribute" in the HTML Language
Attribute section.
- Line 112: The heading "#### Server Middleware (SSR)" violates the markdown
heading sequence after the "## Type-safe Translated Pathnames" section; change
"#### Server Middleware (SSR)" to "### Server Middleware (SSR)" to restore
proper h2→h3 progression, or alternatively change the subsections under
"Type-safe Translated Pathnames" to be h3 so the current h4 becomes valid—update
the heading text "Server Middleware (SSR)" accordingly in the README.
🧹 Nitpick comments (2)
examples/react/i18n-paraglide/README.md (1)

100-109: Consider adding a comment about the locale order.

The examples show English and Spanish locales, but the order might not be obvious to readers. It would be helpful to clarify which locale is the base locale and how the order affects the routing behavior, especially since the vite config changes in this PR remove the /en prefix.

docs/start/framework/react/guide/internationalization-i18n.md (1)

18-18: Verify link format for internal documentation references.

Lines 18 and 33 use absolute URLs to tanstack.com. Per the coding guidelines, internal documentation references should use relative links to the docs/ folder format (e.g., ./guide/data-loading). Verify if these should be converted to relative links pointing to the companion i18n guide in the router documentation.

Also applies to: 33-33

📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d87a631 and b2a1561.

📒 Files selected for processing (9)
  • docs/router/config.json
  • docs/router/framework/react/guide/internationalization-i18n.md
  • docs/router/framework/react/guide/path-params.md
  • docs/start/config.json
  • docs/start/framework/react/guide/internationalization-i18n.md
  • e2e/react-start/i18n-paraglide/vite.config.ts
  • examples/react/i18n-paraglide/README.md
  • examples/react/start-i18n-paraglide/README.md
  • examples/react/start-i18n-paraglide/vite.config.ts
💤 Files with no reviewable changes (1)
  • docs/router/framework/react/guide/path-params.md
🧰 Additional context used
📓 Path-based instructions (3)
**/*.{ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

Use TypeScript strict mode with extensive type safety for all code

Files:

  • examples/react/start-i18n-paraglide/vite.config.ts
  • e2e/react-start/i18n-paraglide/vite.config.ts
**/*.{js,ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

Implement ESLint rules for router best practices using the ESLint plugin router

Files:

  • examples/react/start-i18n-paraglide/vite.config.ts
  • e2e/react-start/i18n-paraglide/vite.config.ts
docs/**/*.{md,mdx}

📄 CodeRabbit inference engine (AGENTS.md)

Use relative links to docs/ folder format (e.g., ./guide/data-loading) for internal documentation references

Files:

  • docs/start/framework/react/guide/internationalization-i18n.md
  • docs/router/framework/react/guide/internationalization-i18n.md
🧠 Learnings (9)
📓 Common learnings
Learnt from: schiller-manuel
Repo: TanStack/router PR: 6211
File: e2e/react-start/i18n-paraglide/src/server.ts:6-6
Timestamp: 2025-12-24T22:47:44.320Z
Learning: In TanStack Router projects using `inlang/paraglide-js`, the callback passed to `paraglideMiddleware` should use `() => handler.fetch(req)` (referencing the outer `req`) instead of `({ request }) => handler.fetch(request)`. This is intentional because the router needs the untouched URL to perform its own rewrite logic with `deLocalizeUrl`/`localizeUrl`. The middleware's processed request would delocalize the URL and interfere with the router's rewrite handling.
Learnt from: CR
Repo: TanStack/router PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-06T15:03:07.223Z
Learning: Applies to **/*.{js,ts,tsx} : Implement ESLint rules for router best practices using the ESLint plugin router
📚 Learning: 2025-12-24T22:47:44.320Z
Learnt from: schiller-manuel
Repo: TanStack/router PR: 6211
File: e2e/react-start/i18n-paraglide/src/server.ts:6-6
Timestamp: 2025-12-24T22:47:44.320Z
Learning: In TanStack Router projects using `inlang/paraglide-js`, the callback passed to `paraglideMiddleware` should use `() => handler.fetch(req)` (referencing the outer `req`) instead of `({ request }) => handler.fetch(request)`. This is intentional because the router needs the untouched URL to perform its own rewrite logic with `deLocalizeUrl`/`localizeUrl`. The middleware's processed request would delocalize the URL and interfere with the router's rewrite handling.

Applied to files:

  • examples/react/i18n-paraglide/README.md
  • examples/react/start-i18n-paraglide/README.md
  • docs/router/framework/react/guide/internationalization-i18n.md
📚 Learning: 2025-12-21T12:52:35.231Z
Learnt from: Sheraff
Repo: TanStack/router PR: 6171
File: packages/router-core/src/new-process-route-tree.ts:898-898
Timestamp: 2025-12-21T12:52:35.231Z
Learning: In `packages/router-core/src/new-process-route-tree.ts`, the matching logic intentionally allows paths without trailing slashes to match index routes with trailing slashes (e.g., `/a` can match `/a/` route), but not vice-versa (e.g., `/a/` cannot match `/a` layout route). This is implemented via the condition `!pathIsIndex || node.kind === SEGMENT_TYPE_INDEX` and is a deliberate design decision to provide better UX by being permissive with missing trailing slashes.

Applied to files:

  • examples/react/i18n-paraglide/README.md
  • examples/react/start-i18n-paraglide/README.md
  • docs/router/framework/react/guide/internationalization-i18n.md
📚 Learning: 2025-09-28T21:41:45.233Z
Learnt from: nlynzaad
Repo: TanStack/router PR: 5284
File: e2e/react-start/basic/server.js:50-0
Timestamp: 2025-09-28T21:41:45.233Z
Learning: In Express v5, catch-all routes must use named wildcards. Use `/*splat` to match everything except root path, or `/{*splat}` (with braces) to match including root path. The old `*` syntax is not allowed and will cause "Missing parameter name" errors. This breaking change requires explicit naming of wildcard parameters.

Applied to files:

  • examples/react/i18n-paraglide/README.md
  • examples/react/start-i18n-paraglide/README.md
📚 Learning: 2025-10-14T18:59:33.990Z
Learnt from: FatahChan
Repo: TanStack/router PR: 5475
File: e2e/react-start/basic-prerendering/src/routes/redirect/$target/via-beforeLoad.tsx:8-0
Timestamp: 2025-10-14T18:59:33.990Z
Learning: In TanStack Router e2e test files, when a route parameter is validated at the route level (e.g., using zod in validateSearch or param validation), switch statements on that parameter do not require a default case, as the validation ensures only expected values will reach the switch.

Applied to files:

  • docs/router/framework/react/guide/internationalization-i18n.md
📚 Learning: 2025-09-22T00:56:53.426Z
Learnt from: nlynzaad
Repo: TanStack/router PR: 5182
File: e2e/react-router/basic-file-based/tests/non-nested-paths.spec.ts:167-172
Timestamp: 2025-09-22T00:56:53.426Z
Learning: In TanStack Router, underscores are intentionally stripped from route segments during path parsing, but preserved in base path segments. This is the expected behavior implemented in PR #5182.

Applied to files:

  • docs/router/framework/react/guide/internationalization-i18n.md
📚 Learning: 2025-12-06T15:03:07.223Z
Learnt from: CR
Repo: TanStack/router PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-06T15:03:07.223Z
Learning: Applies to **/*.{js,ts,tsx} : Implement ESLint rules for router best practices using the ESLint plugin router

Applied to files:

  • docs/router/framework/react/guide/internationalization-i18n.md
📚 Learning: 2025-12-06T15:03:07.223Z
Learnt from: CR
Repo: TanStack/router PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-06T15:03:07.223Z
Learning: Implement type-safe routing with search params and path params

Applied to files:

  • docs/router/framework/react/guide/internationalization-i18n.md
📚 Learning: 2025-10-01T18:30:26.591Z
Learnt from: schiller-manuel
Repo: TanStack/router PR: 5330
File: packages/router-core/src/router.ts:2231-2245
Timestamp: 2025-10-01T18:30:26.591Z
Learning: In `packages/router-core/src/router.ts`, the `resolveRedirect` method intentionally strips the router's origin from redirect URLs when they match (e.g., `https://foo.com/bar` → `/bar` for same-origin redirects) while preserving the full URL for cross-origin redirects. This logic should not be removed or simplified to use `location.publicHref` directly.

Applied to files:

  • docs/router/framework/react/guide/internationalization-i18n.md
🪛 LanguageTool
docs/start/framework/react/guide/internationalization-i18n.md

[style] ~47-~47: This phrase is redundant (‘L’ stands for ‘language’). Use simply “HTML”.
Context: ...=> handler.fetch(req)) }, } ``` #### HTML Language Attribute Set the lang atribute in htm...

(ACRONYM_TAUTOLOGY)


[grammar] ~49-~49: Ensure spelling is correct
Context: ...# HTML Language Attribute Set the lang atribute in html at __root.tsx: ```tsx import...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

examples/react/start-i18n-paraglide/README.md

[style] ~124-~124: This phrase is redundant (‘L’ stands for ‘language’). Use simply “HTML”.
Context: ...=> handler.fetch(req)) }, } ``` #### HTML Language Attribute Set the lang atribute in htm...

(ACRONYM_TAUTOLOGY)


[grammar] ~126-~126: Ensure spelling is correct
Context: ...# HTML Language Attribute Set the lang atribute in html at __root.tsx: ```tsx import...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

docs/router/framework/react/guide/internationalization-i18n.md

[grammar] ~147-~147: Use a hyphen to join words.
Context: ... also create more sophisticated language switching logic: ```tsx function Advanc...

(QB_NEW_EN_HYPHEN)

🪛 markdownlint-cli2 (0.18.1)
examples/react/start-i18n-paraglide/README.md

112-112: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4

(MD001, heading-increment)

🔇 Additional comments (6)
e2e/react-start/i18n-paraglide/vite.config.ts (1)

20-20: LGTM! English locale now uses root paths without prefix.

The changes simplify English URL paths by removing the /en prefix, making English the default/base locale. This is a common i18n pattern where the primary locale is served without a prefix while other locales (like German at /de) retain their prefix.

Also applies to: 27-27, 34-34

examples/react/i18n-paraglide/README.md (1)

54-55: Verify the import path is correct.

The import uses @reland/i18n/runtime which doesn't match the Paraglide setup shown earlier in the document (which uses ./paraglide/runtime). This might be example code from a different project or could be a mistake.

Should this import be ./paraglide/runtime to match the setup in lines 23 and 37, or is @reland/i18n/runtime an intentional path alias/package reference?

examples/react/start-i18n-paraglide/vite.config.ts (1)

20-20: LGTM! Consistent with e2e configuration.

The URL localization changes match the updates in e2e/react-start/i18n-paraglide/vite.config.ts, establishing a consistent pattern where English serves as the default locale without a URL prefix while German retains the /de prefix.

Also applies to: 27-27, 34-34

examples/react/start-i18n-paraglide/README.md (1)

39-39: Verify the @reland/i18n/runtime import.

The code imports from @reland/i18n/runtime, which doesn't appear to be a valid package in the TanStack ecosystem. This import statement appears in multiple places (lines 39, 402, 440 in File 3). Verify if this should reference Paraglide's locale utilities instead or if it's a placeholder that needs to be corrected.

🤔 What should this import be?

Based on the Paraglide integration context, this might need to be:

  • A custom locale type definition
  • An import from @inlang/paraglide-js or similar
  • Or left as-is if it's a custom application module

Please verify and update if necessary.

Also applies to: 402-402, 440-440

docs/router/framework/react/guide/internationalization-i18n.md (2)

402-402: Verify the @reland/i18n/runtime import.

The code imports from @reland/i18n/runtime (lines 402, 448-456), which doesn't appear to be a valid package. This same import issue appears in File 2 as well. Verify if this should reference a custom locale type, Paraglide's utilities, or another source. Ensure the import is updated to match your actual i18n library setup.

Also applies to: 448-456


147-147: Minor grammar note: Consider hyphenation in "language switching".

Static analysis suggests "language switching" could be hyphenated as "language-switching" in certain contexts. However, this is a stylistic choice and not critical. The current usage is acceptable in documentation.

- Compiler feedback for routing mistakes
You can use the `localizeHref` function to map the routes to localized versions and import into the pages option in the TanStack Start plugin. For this to work you will need to compile paraglide before the build with the CLI.
#### Server Middleware (SSR)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix markdown heading level structure.

Line 112 starts a section with #### Server Middleware (SSR), but this violates the markdown heading increment rule (MD001). The preceding section "## Type-safe Translated Pathnames" is at h2, so the next heading should be h3, not h4. This creates a gap in the heading hierarchy.

📝 Proposed fix
-#### Server Middleware (SSR)
+### Server Middleware (SSR)

Alternatively, restructure the "Type-safe Translated Pathnames" section to use h3 headings for its subsections.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
#### Server Middleware (SSR)
### Server Middleware (SSR)
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

112-112: Heading levels should only increment by one level at a time
Expected: h3; Actual: h4

(MD001, heading-increment)

🤖 Prompt for AI Agents
In @examples/react/start-i18n-paraglide/README.md at line 112, The heading "####
Server Middleware (SSR)" violates the markdown heading sequence after the "##
Type-safe Translated Pathnames" section; change "#### Server Middleware (SSR)"
to "### Server Middleware (SSR)" to restore proper h2→h3 progression, or
alternatively change the subsections under "Type-safe Translated Pathnames" to
be h3 so the current h4 becomes valid—update the heading text "Server Middleware
(SSR)" accordingly in the README.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Everything documentation related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant