chore(docs): remove i18n and the five translated locales - #7247
Merged
Conversation
The docs shipped `es`, `fr`, `de`, `ja`, and `zh` alongside `en` through fumadocs i18n and a lingo.dev translation pipeline. Neither is used any more, so this removes the locale layer end to end rather than leaving a vestigial `en` directory behind it. - Delete the five translated content trees (995 files) and flatten `content/docs/en/**` up to `content/docs/**`. - Delete `lib/i18n.ts`, `i18n.json`, `i18n.lock`, and the `i18n.cache` gitignore entry; drop `createI18nMiddleware` from `proxy.ts` and the `i18n` option from the source loader. - Collapse `app/[lang]/**` into `app/**`, merging the locale layout's html/body shell into the root layout. The OpenAPI virtual pages moved off `baseDir: 'en/api-reference/(generated)'`, which was the `en` segment the dir parser used to consume. - Strip locale branching from the sitemap, `llms.txt`, `llms-full.txt`, the `llms.mdx` route, the sidebar's active-path matching, structured data, and the hreflang/`alternateLocale` metadata. - Simplify the search route to English-only: one `english` text-search config, unconditional vector search, and no locale-prefix filtering of `sourceDocument`. The docs-embeddings job already runs with `--clear`, so the now-unprefixed paths are rewritten on the next run. - Repoint every script, test, and the CI path filter at `content/docs`, and de-loop the API-reference sidebar checks over the six locales. The execution-guide wire-shape test covered only the removed locales; it is retargeted at the English guides, which already satisfy it. `check:audits` (39 audits), the docs build (666 paths), the docs and OpenAPI suites, and the netsuite docs-path test all pass.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
|
Too many files changed for review (1511 files, 500 file limit). |
Collaborator
Author
There was a problem hiding this comment.
1 issue found across 1511 files
Confidence score: 3/5
apps/docs/app/api/search/route.tscan return stale locale-prefixed embedding rows if the app deploys before the embedding rebuild completes, exposing translated pages and outdated/en/...links in search results; coordinate deployment with the rebuild or exclude stale rows until it finishes.
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="apps/docs/app/api/search/route.ts">
<violation number="1" location="apps/docs/app/api/search/route.ts:136">
P2: When the new app is deployed before the embedding rebuild finishes, this loop includes stale locale-prefixed rows that still exist in `docs_embeddings`. Those results expose translated pages and old `/en/...` links that no longer resolve; filter to live unprefixed documents or rebuild the index before promoting this route.</violation>
</file>
Note: This PR contains a large number of files. cubic selects up to 200 of the highest-priority eligible files for this review, so some files may not have been reviewed.
Fix all with cubic | Re-trigger cubic
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
es,fr,de,ja, andzhdocs content trees (995 files) and flattenedcontent/docs/en/**up tocontent/docs/**lib/i18n.ts,i18n.json,i18n.lock, thei18n.cachegitignore entry,createI18nMiddlewareinproxy.ts, and thei18noption on the source loaderapp/[lang]/**intoapp/**, merging the locale layout's html/body shell into the root layout. The OpenAPI virtual pages moved offbaseDir: 'en/api-reference/(generated)'— thatensegment was the locale the dir parser consumedllms.txt,llms-full.txt, thellms.mdxroute, the sidebar's active-path matching, structured data, and the hreflang /alternateLocalemetadataenglishtext-search config, unconditional vector search, and no locale-prefix filtering ofsourceDocument. That filter was already inert —sourceDocumentis relative to the chunker'sdocsPath, so it has always been an unprefixed section path (workflows/blocks/agent.mdx), and it stays byte-identical here because the pages and thedocsPathdefault moved down the same level togethercontent/docs, and de-looped the API-reference sidebar checks over the six localesType of Change
Testing
bun run check:audits— 39/39 passapps/docsbuild — succeeds, 666 paths prerendered, no locale prefixesapps/docsvitest, the OpenAPI suite (143 tests), and the netsuite docs-path test all passbun run lint,check-block-registry, andapps/docstype-check cleandocs-manifest,agent-stream-docs,generate:cli-docs,docs:check,check:openapiChecklist