[PR #3799] [MERGED] fix(i18n): correct Korean website translations #5906

Closed
opened 2026-10-31 01:10:20 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/3799
Author: @hi2242
Created: 10/15/2026
Status: ✅ Merged
Merged: 10/16/2026
Merged by: @morluto

Base: main ← Head: fix/ko-website-translations


📝 Commits (2)

  • 8ab1705 fix(i18n): correct Korean website translations
  • e5f0e35 fix(i18n): resolve Korean catalog merge conflicts

📊 Changes

1 file changed (+1169 additions, -1173 deletions)

View changed files

📝 website/locales/ko/messages.po (+1169 -1173)

📄 Description

Summary

Fixes #3798. Correct 1,116 Korean website translations so readers can follow the setup instructions, analysis guides, reconstruction essays, and case studies.

Problem and expected behavior

The catalog translates Git as 자식 (child), CTF as the Fair Trade Commission, and IPC as 2015 년, and loses technical details in other passages. Korean should convey the English source accurately and naturally.

Change and scope

Edit only website/locales/ko/messages.po: correct terminology and omissions, improve sentence flow and spacing, and remove trailing periods from 19 heading entries. Overall active translation length changes from 76,307 to 75,719 characters (about 0.8% shorter). Preserve English keys, named placeholders, source references, comments, flags, metadata, and obsolete entries.

This is an AI-assisted documentation correction within the existing contribution scope.

Contract and boundary impact

  • Semantic owner and earliest changed stage: Korean gettext msgstr values, before static page rendering.
  • Contribution scope fit and linked maintainer decision: documentation correction; a capability scope decision is not applicable.
  • CLI and MCP/tool-catalog contract: unchanged.
  • Provider, bridge, target-format, or platform compatibility: unchanged.
  • Evidence, artifact, provenance, or reconstruction contract: unchanged; source references and technical evidence values remain preserved.
  • Target selection, authority, upstream behavior, and cleanup details: not applicable to translated prose.
  • Generated metadata, package, or installation impact: none; generated preview files are uncommitted.

Expected effects:

  • Documentation or usability only; no target interaction.

Evidence and regression coverage

  • Tests added or updated: none; use existing catalog/rendering checks for this prose change.
  • Base evidence: the mistranslations above are source-derived findings in the original catalog, not provider runtime reproductions.
  • User-visible CLI/MCP output: not applicable.
  • Remaining proof gaps: interactive browser layout and interaction were not checked; real-provider verification is not applicable to this translation-only diff. Local build prerequisites and the previous incomplete automated checks are now resolved as detailed below.

Current merge-resolution validation

Merged main at 819469514 in e5f0e35ba. Retained main's newer reviewed Korean corrections where both branches changed a translation; applied the 895 remaining PR corrections. The earlier 1,116-change and character-count figures below describe the original head, before this merge resolution. Relative to current main, only website/locales/ko/messages.po changes.

Executed on macOS with Node 24.18.0 and Python 3.14:

  • Strict Korean translation check: 1,728/1,728 translated, no missing/fuzzy entries.
  • scripts/website.py check: passed; 380 reading pages, 382 HTML pages, 26,087 local references and all 19 regression tests.
  • npm run check:fast: passed; typecheck and lint (also passed in the pre-push hook).
  • Parsed catalog comparison: all 1,972 active/obsolete entries, English keys, placeholders, comments, references, flags, ordering and metadata preserved from current main; only the 895 selected active translations differ.
  • Diff whitespace check: passed. Interactive browser/layout checks were not run for this resolution; provider verification is not applicable.

Original-head validation (before merge resolution)

Executed against final head 8ab17051a3bdfca2298b2478c52ffcdd98333253 on Windows with Python 3.13.1, Node 24.18.0 and npm 11.16.0. npm ci --no-audit --no-fund installed the locked dependencies without changing package manifests. Native Cairo 1.18.6, CairoSVG 2.9.1, and DejaVu Sans 2.37 are available. PYTHONUTF8=1 is set for child Python processes; the native DLL directory is exposed through CAIROCFFI_DLL_DIRECTORIES and PATH.

  • website/.venv/Scripts/python.exe -X utf8 scripts/website.py check — passed: 380 reading pages built in 20 languages; social-card.png generated at 1200 × 630; 382 HTML pages, 26,087 local references, SVG/ZIP assets, sharing/search metadata and sitemap verified; all 16 regression tests passed
  • npm run check — passed: all 6 Turbo tasks and architecture guards. Lint reported 0 errors and 1,428 warnings in existing source.
  • npm run check:fast — passed: typecheck and lint, 2/2 tasks successful.
  • website/.venv/Scripts/python.exe -X utf8 scripts/website.py translations check --language ko --strict — passed: 1,728/1,728 translated, no missing/fuzzy entries.
  • PO comparison against the pinned base — only 1,116 active translation values changed; English keys, placeholders, comments, source references, flags, metadata, ordering, and obsolete entries preserved. Active translation length remains 76,307 → 75,719 characters.
  • git diff d69acc3455c33f90a2fc4381db43d38b6af50622..HEAD --check — passed. No new tracked changes were needed for dependency setup or validation; generated artifacts and local toolchains are not part of the PR.

These final-head results supersede the earlier missing-Cairo/missing-PNG and unrun-npm entries. The initial full-check retry exposed CP949 decoding in child tests on Windows; exporting PYTHONUTF8=1 allowed the full check to run in UTF-8. The check does not establish interactive visual/browser or provider behavior.

Compatibility, safety, and release

  • Breaking changes or migration steps: none.
  • Real Hopper/Ghidra, browser, or OS coverage: no provider or interactive browser checks; catalog/rendered-output checks on Windows with Python 3.13.1.
  • Package or release metadata impact: none.
  • Security, privacy, process, or containment review: the diff contains translated website text only and adds no target interaction.

Author readiness

Human owner: @hi2242 (PR author; human review and readiness pending).

  • I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work.
  • I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps.
  • I declare this PR ready for initial maintainer review.

Before merge

  • This PR addresses a concrete problem or an agreed enhancement.
  • Material scope and authority questions are resolved, and any required maintainer scope decision covers the final diff.
  • The PR has one focused outcome and the title follows type(scope): outcome.
  • Related issue is linked, or the reason for not linking one is stated above.
  • Tests cover changed observable behavior and meaningful failure paths.
  • Owning docs, contracts, and generated metadata are updated where needed.
  • User-visible CLI/MCP changes include representative output.
  • I checked the final diff for secrets, unrelated cleanup, and unsupported claims.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/3799 **Author:** [@hi2242](https://github.com/hi2242) **Created:** 10/15/2026 **Status:** ✅ Merged **Merged:** 10/16/2026 **Merged by:** [@morluto](https://github.com/morluto) **Base:** `main` ← **Head:** `fix/ko-website-translations` --- ### 📝 Commits (2) - [`8ab1705`](https://github.com/morluto/rea/commit/8ab17051a3bdfca2298b2478c52ffcdd98333253) fix(i18n): correct Korean website translations - [`e5f0e35`](https://github.com/morluto/rea/commit/e5f0e35ba25b710486afe880aeec20d04f52e2ab) fix(i18n): resolve Korean catalog merge conflicts ### 📊 Changes **1 file changed** (+1169 additions, -1173 deletions) <details> <summary>View changed files</summary> 📝 `website/locales/ko/messages.po` (+1169 -1173) </details> ### 📄 Description ## Summary Fixes #3798. Correct 1,116 Korean website translations so readers can follow the setup instructions, analysis guides, reconstruction essays, and case studies. ## Problem and expected behavior The catalog translates Git as `자식` (child), CTF as the Fair Trade Commission, and IPC as `2015 년`, and loses technical details in other passages. Korean should convey the English source accurately and naturally. ## Change and scope Edit only `website/locales/ko/messages.po`: correct terminology and omissions, improve sentence flow and spacing, and remove trailing periods from 19 heading entries. Overall active translation length changes from 76,307 to 75,719 characters (about 0.8% shorter). Preserve English keys, named placeholders, source references, comments, flags, metadata, and obsolete entries. This is an AI-assisted documentation correction within the existing [contribution scope](https://github.com/morluto/rea/blob/main/CONTRIBUTING.md#contribution-scope). ## Contract and boundary impact - Semantic owner and earliest changed stage: Korean gettext `msgstr` values, before static page rendering. - Contribution scope fit and linked maintainer decision: documentation correction; a capability scope decision is not applicable. - CLI and MCP/tool-catalog contract: unchanged. - Provider, bridge, target-format, or platform compatibility: unchanged. - Evidence, artifact, provenance, or reconstruction contract: unchanged; source references and technical evidence values remain preserved. - Target selection, authority, upstream behavior, and cleanup details: not applicable to translated prose. - Generated metadata, package, or installation impact: none; generated preview files are uncommitted. Expected effects: - [x] Documentation or usability only; no target interaction. ## Evidence and regression coverage - Tests added or updated: none; use existing catalog/rendering checks for this prose change. - Base evidence: the mistranslations above are source-derived findings in the original catalog, not provider runtime reproductions. - User-visible CLI/MCP output: not applicable. - Remaining proof gaps: interactive browser layout and interaction were not checked; real-provider verification is not applicable to this translation-only diff. Local build prerequisites and the previous incomplete automated checks are now resolved as detailed below. ## Current merge-resolution validation Merged main at `819469514` in `e5f0e35ba`. Retained main's newer reviewed Korean corrections where both branches changed a translation; applied the 895 remaining PR corrections. The earlier 1,116-change and character-count figures below describe the original head, before this merge resolution. Relative to current main, only `website/locales/ko/messages.po` changes. Executed on macOS with Node 24.18.0 and Python 3.14: - Strict Korean translation check: 1,728/1,728 translated, no missing/fuzzy entries. - `scripts/website.py check`: passed; 380 reading pages, 382 HTML pages, 26,087 local references and all 19 regression tests. - `npm run check:fast`: passed; typecheck and lint (also passed in the pre-push hook). - Parsed catalog comparison: all 1,972 active/obsolete entries, English keys, placeholders, comments, references, flags, ordering and metadata preserved from current main; only the 895 selected active translations differ. - Diff whitespace check: passed. Interactive browser/layout checks were not run for this resolution; provider verification is not applicable. ## Original-head validation (before merge resolution) Executed against final head `8ab17051a3bdfca2298b2478c52ffcdd98333253` on Windows with Python 3.13.1, Node 24.18.0 and npm 11.16.0. `npm ci --no-audit --no-fund` installed the locked dependencies without changing package manifests. Native Cairo 1.18.6, CairoSVG 2.9.1, and DejaVu Sans 2.37 are available. `PYTHONUTF8=1` is set for child Python processes; the native DLL directory is exposed through `CAIROCFFI_DLL_DIRECTORIES` and `PATH`. - `website/.venv/Scripts/python.exe -X utf8 scripts/website.py check` — passed: 380 reading pages built in 20 languages; `social-card.png` generated at 1200 × 630; 382 HTML pages, 26,087 local references, SVG/ZIP assets, sharing/search metadata and sitemap verified; all 16 regression tests passed - `npm run check` — passed: all 6 Turbo tasks and architecture guards. Lint reported 0 errors and 1,428 warnings in existing source. - `npm run check:fast` — passed: typecheck and lint, 2/2 tasks successful. - `website/.venv/Scripts/python.exe -X utf8 scripts/website.py translations check --language ko --strict` — passed: 1,728/1,728 translated, no missing/fuzzy entries. - PO comparison against the pinned base — only 1,116 active translation values changed; English keys, placeholders, comments, source references, flags, metadata, ordering, and obsolete entries preserved. Active translation length remains 76,307 → 75,719 characters. - `git diff d69acc3455c33f90a2fc4381db43d38b6af50622..HEAD --check` — passed. No new tracked changes were needed for dependency setup or validation; generated artifacts and local toolchains are not part of the PR. These final-head results supersede the earlier missing-Cairo/missing-PNG and unrun-npm entries. The initial full-check retry exposed CP949 decoding in child tests on Windows; exporting `PYTHONUTF8=1` allowed the full check to run in UTF-8. The check does not establish interactive visual/browser or provider behavior. ## Compatibility, safety, and release - Breaking changes or migration steps: none. - Real Hopper/Ghidra, browser, or OS coverage: no provider or interactive browser checks; catalog/rendered-output checks on Windows with Python 3.13.1. - Package or release metadata impact: none. - Security, privacy, process, or containment review: the diff contains translated website text only and adds no target interaction. ## Author readiness Human owner: @hi2242 (PR author; human review and readiness pending). - [x] I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work. - [x] I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps. - [x] I declare this PR ready for initial maintainer review. ## Before merge - [ ] This PR addresses a concrete problem or an agreed enhancement. - [ ] Material scope and authority questions are resolved, and any required maintainer scope decision covers the final diff. - [ ] The PR has one focused outcome and the title follows `type(scope): outcome`. - [ ] Related issue is linked, or the reason for not linking one is stated above. - [ ] Tests cover changed observable behavior and meaningful failure paths. - [ ] Owning docs, contracts, and generated metadata are updated where needed. - [ ] User-visible CLI/MCP changes include representative output. - [ ] I checked the final diff for secrets, unrelated cleanup, and unsupported claims. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-31 01:10:20 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#5906
No description provided.