DF-828: pilot Korean translations (3 pages, hand-translated) - #209
Conversation
Not a sample of bulk output. These are the quality bar engines get scored against in the DF-827 bake-off, and the proof the DF-826 spec is achievable before we ask an engine to hit it. Bulk translation of the remaining 292 pages is intentionally held until the engine decision lands. Chosen to exercise the patterns that break machine translation: - what-is-mixpanel.mdx — unused /snippets/*.jsx import, <Frame> wrapping a raw <iframe> with five boolean JSX attributes, same-page #fragment links, escaped \$2.50 - data-structure/concepts.mdx — 44-line JSON fence that is 27 lines of English commentary, 4- and 2-column tables with <br /> and inline code in cells, 8 internal links - quickstart/capture-events/autocapture.mdx — snippet import, code fences with trailing whitespace preserved All three pass validate-mdx-parity.mjs on strictest settings (--link-prefix --require-anchors --allow-code-comments) with zero warnings. They settled two things the spec could not settle in the abstract: heading anchors are solvable by convention, and code comments needed an explicit rule because concepts.mdx would otherwise leave its most important explanation in English. Staged under i18n/pilot/ so they are inert — no route, no build impact. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Confidence Score: 4/5The PR appears safe to merge, with a non-blocking glossary-consistency issue in two Korean reference pages. The translated pages remain inert and preserve their source structure and technical meaning; only the glossary’s first-use bilingual terminology convention needs correction. Files Needing Attention: i18n/pilot/ko/docs/what-is-mixpanel.mdx and i18n/pilot/ko/docs/data-structure/concepts.mdx
|
| Filename | Overview |
|---|---|
| i18n/pilot/README.md | Documents the pilot’s purpose, validation commands, preservation decisions, and intentionally inert deployment state. |
| i18n/pilot/ko/docs/data-structure/concepts.mdx | Preserves MDX and executable JSON structure, but first-use report names do not follow the glossary’s bilingual convention. |
| i18n/pilot/ko/docs/quickstart/capture-events/autocapture.mdx | Faithfully translates the prose while preserving the import and JavaScript examples. |
| i18n/pilot/ko/docs/what-is-mixpanel.mdx | Preserves JSX, assets, links, and anchors, but the first 코호트 occurrence omits its English gloss. |
Reviews (1): Last reviewed commit: "DF-828: pilot Korean translations — thre..." | Re-trigger Greptile
|  | ||
| </Frame> | ||
|
|
||
| 속성을 사용하면 사용자 그룹(즉 [코호트](/ko/docs/users/cohorts))을 만들 수 있고, 특정 이벤트나 사용자를 필터링할 수도 있습니다. 이러한 기능 덕분에 트렌드와 새로운 고객 인사이트를 손쉽게 발견할 수 있습니다. |
There was a problem hiding this comment.
Missing first-use English terms
The first occurrences of 코호트 here and 퍼널, 리텐션, and 브레이크다운 in concepts.mdx omit the glossary-required English terms in parentheses. This makes the reference translations inconsistent with the terminology convention required by the automatically discovered DF-826.
Source Used: Linear — [M2] Define Korean translation scope, preservation spec, and glossary
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Documents in
i18n/cross-reference each other, so relative links to files added later in the stackresolve once the stack has landed. The final state is link-checked; every relative link resolves.
Operational sequencing — none of this happens on merge
Merging this stack changes nothing a reader sees.
docs.jsonis untouched, no workflow is installed, andno
ko/tree exists at the repo root. Turning Korean on is a separate, deliberate sequence:docs.jsonlanguagesarray;cp i18n/nav/ko.json ./ko.jsondocs/+guides/intoko/gt.config.jsonto root,translate.ymlto.github/workflows/, setGT_API_KEY+GT_PROJECT_ID/koSteps 3 and 6 are the only ones that change live behaviour. Both are reversible by reverting one file.
Three pages, hand-translated. Not a sample of bulk output.
Adds:
pilot/README.md,pilot/ko/docs/**(3.mdx)Why only three
These are the quality bar engines get scored against in the DF-827 bake-off, and the proof the DF-826 spec is achievable before we ask an engine to hit it.
Bulk translation of the remaining 292 pages is intentionally held until the engine decision lands. Running 295 pages through the wrong engine — or through any engine before confirming whether Mintlify's built-in translations are already on (DF-823) — is the expensive mistake this issue can make.
Chosen to exercise what breaks machine translation
what-is-mixpanel.mdx/snippets/*.jsximport,<Frame>wrapping a raw<iframe>with 5 boolean JSX attrs, same-page#fragmentlinks, escaped\$2.50data-structure/concepts.mdx<br />and inline code in cells, 8 internal linksquickstart/capture-events/autocapture.mdxAll three pass the validator on strictest settings, zero warnings:
What they settled
Heading anchors are solvable by convention —
## 이벤트의 구조 [#anatomy-of-an-event]keeps/ko/docs/...#anatomy-of-an-eventresolving, so cross-locale deep links stay portable.Code comments needed an explicit rule —
concepts.mdxwould otherwise leave the most important explanation on the page in English.Inert
Staged under
i18n/pilot/— no route, no build impact. Promote oncedocs.jsoncarries thelanguagesarray (DF-824):mkdir -p ko && cp -r i18n/pilot/ko/docs ko/Reviewing
This one genuinely needs a Korean reader. The structure is machine-verified; what needs human eyes is whether the Korean is any good — terminology against
i18n/glossary/ko.csv, register (-합니다 / -하세요), and particles after Latin words.