Skip to content

fix(docs-site): upgrade Docusaurus 3.10.0 → 3.10.1 to restore KO i18n - #115

Merged
jiji-hoon96 merged 1 commit into
mainfrom
fix/docs-site-i18n
Jun 11, 2026
Merged

fix(docs-site): upgrade Docusaurus 3.10.0 → 3.10.1 to restore KO i18n#115
jiji-hoon96 merged 1 commit into
mainfrom
fix/docs-site-i18n

Conversation

@jiji-hoon96

Copy link
Copy Markdown
Owner

Closes #114.

Root cause

Docusaurus 3.10.0 had a regression (facebook/docusaurus#11952) where the i18n locale path resolution used htmlLang instead of the locale key. Our config has:

```ts
localeConfigs: {
ko: { label: '한국어', htmlLang: 'ko-KR' },
},
```

So Docusaurus 3.10.0 looked for translated files at `i18n/ko-KR/...` (using `htmlLang`) instead of `i18n/ko/...` (using the locale key). When it didn't find them, it silently fell back to the EN source.

Effect on production

Every `/ko/docs/` page rendered the EN markdown content, even though the KO source files (`i18n/ko/docusaurus-plugin-content-docs/current/.md`) exist and contain full translations. Only Docusaurus's own theme chrome (skip-to-content, sidebar collapse buttons, breadcrumbs) was localized via `code.json`.

Fix

The upstream fix is facebook/docusaurus#11979, backported to 3.10.1. This PR bumps all seven `@docusaurus/*` packages from 3.10.0 → 3.10.1.

No config changes needed — `localeConfigs.ko.htmlLang: 'ko-KR'` is correct and recommended for SEO (`` attribute).

Verification

Local build `pnpm exec docusaurus build` followed by:

```bash
grep -c "Kalyx 가 존재\|완성된 상태로" build/ko/docs/intro/index.html

3.10.0 → 0

3.10.1 → 6 (after upgrade)

```

The KO intro page, comparison page, every component doc, recipe, and concepts page now renders the Korean markdown body content, not the EN fallback.

Test plan

  • Local KO build renders translated markdown (multiple unique hangul phrases from source)
  • EN build unaffected (PR is dependency-only)
  • Vercel preview: verify `/ko/docs/intro`, `/ko/docs/comparison`, `/ko/docs/components/datepicker` render Korean
  • CI typecheck/build/test all pass

🤖 Generated with Claude Code

Closes #114.

Docusaurus 3.10.0 had a regression (facebook/docusaurus#11952) where
i18n locale path resolution used `htmlLang` instead of the locale
key. Our `localeConfigs.ko.htmlLang = 'ko-KR'` caused Docusaurus to
look for files at `i18n/ko-KR/` instead of `i18n/ko/`, silently
falling back to EN source for every KO doc page.

Effect on production /ko/docs/*: only theme chrome (skip-to-content,
sidebar labels) was translated; markdown body content rendered EN
regardless of locale.

Verification (build/ko/docs/intro/index.html):
  before: 0 hangul matches for "Kalyx 가 존재", "완성된 상태로"
  after:  multiple matches for both phrases

The fix landed upstream as PR facebook/docusaurus#11979 and was
backported to 3.10.1.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 11, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
kalyx-docs-site Ready Ready Preview, Comment Jun 11, 2026 3:54pm

@coderabbitai

coderabbitai Bot commented Jun 11, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@jiji-hoon96, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 38 minutes and 45 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more credits in the billing tab to continue.

⌛ How to resolve this issue?

After more reviews become available, 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 include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: e8852fbb-780d-4f1a-8af7-443ad2f62ee1

📥 Commits

Reviewing files that changed from the base of the PR and between a934e8f and 899b78c.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (1)
  • apps/docs-site/package.json
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/docs-site-i18n

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.

@changeset-bot

changeset-bot Bot commented Jun 11, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 899b78c

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions

Copy link
Copy Markdown
Contributor
gzip
현재 15.66KB
목표 ≤ 16KB

번들 크기가 목표 이내입니다.

@jiji-hoon96
jiji-hoon96 merged commit 5838f29 into main Jun 11, 2026
16 of 17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs(i18n): KO doc pages serve EN content — Docusaurus i18n config bug

1 participant