Add TM-based translation workflow with contributor guide#203
Merged
Conversation
Introduce a Translation Memory workflow for translating Actionbase documentation. English is the source language; translations are generated by applying exact-match TM lookups to MDX files. - Add translation-memory.py with init/update/build/status commands - Add 36 Korean TM files with quality-reviewed translations - Add glossary (terms + preserve list) at glossary/ko.yaml - Add TRANSLATION.md documenting the full workflow - Update CONTRIBUTING.md to reference TRANSLATION.md - Add __pycache__/ to .gitignore Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… subcommand - Move tm/ → website/i18n/tm/, glossary/ → website/i18n/glossary/ - Remove legacy website/i18n/glossary.json and translation-prompt.md - Add validate subcommand (build without file writes, exit 1 on errors) - Add status --docs filter for CI affected-docs reporting - Add CI workflow with matrix-based multi-lang support and trigger mode detection - Update TRANSLATION.md paths and validate documentation Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use I18N_DIR as base path instead of OSS_ROOT for cleaner path resolution. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ontext) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add --format option to the status subcommand with two choices: - table (default): original plain-text table output - summary: markdown format for CI Job Summary Also fix hit counting to only count entries with non-empty targets, giving a more accurate picture of actual translation progress. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Restructure TRANSLATION.md to put contributor guide at the top:
- Add step-by-step example with TM init for new documents
- Add local preview instructions (validate, build, dev server)
- Add glossary reference and CI result explanation
- Use {lang} placeholders for language-neutral examples
- Move technical architecture sections to the bottom
Enhance CONTRIBUTING.md translations section with actionable
quick-start steps and status command tip.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…workflow Add workflow_dispatch 'build' input (default: true) so the workflow can be manually triggered in validate-only mode (build: false). Improve job summary output: - Use --format=summary for markdown table rendering - Handle manual dispatch gracefully (show all docs when no PR context) - workflow_dispatch input takes priority over event-based detection Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Keep only faq.yaml and introduction.yaml as representative examples. Remaining TM files will be added in a follow-up PR after the translation workflow lands on main. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Member
Author
|
@em3s Requesting your review. A few areas I'd especially appreciate feedback on:
Only 2 example TM files are included ( |
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
em3s
reviewed
Feb 25, 2026
CONTRIBUTING.md
Outdated
| ## Translations | ||
|
|
||
| We welcome documentation translations. When submitting translation PRs, please submit **one section (folder) per PR** rather than translating all pages at once. This makes reviews manageable and allows incremental progress. | ||
| We welcome documentation translations! The easiest way to start: |
Contributor
There was a problem hiding this comment.
How about just:
We welcome documentation translations.
Replace the Python TM CLI with a TypeScript equivalent run via tsx. Add js-yaml, @types/js-yaml, tsx dependencies and an npm "translate" script. Delete the original Python file. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove casual tone, add TM concept explanation, update all Python commands to npm run translate, and reduce TRANSLATION.md to approximately 70% of original volume. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add 6 missing entries to introduction.yaml (1 paragraph + 5 table rows) - Fix empty targets in faq.yaml (FAQ title, Java 17) - Rebuild ko/faq.mdx and ko/introduction.mdx from updated TM Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Generate {#english-slug} anchors on Korean headings during TM build
to preserve cross-page link compatibility. Also remove invalid
roadmap/#exploring hash from introduction TM entry.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
522f81c to
d43910f
Compare
No Python scripts remain after TypeScript port. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Move contributor workflow to CONTRIBUTING.md, keep technical process documentation in TRANSLATION.md. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Member
Author
|
Addressed offline review feedback:
|
- Remove glossary from OSS build (used only by external TM pipeline) - Move LLM model info from TM meta to --model CLI flag - Add translated-by frontmatter only when --model is set and no human contributors exist - Improve CONTRIBUTING.md with step-by-step translation guide and TM example - Remove kanana-2 from TM contributors (humans only) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove glossary path triggers and detection from translation workflow - Add --lang flag to CONTRIBUTING.md CLI examples (default: ko) - Document --lang and --model flags in TRANSLATION.md - Describe --model use case for external LLM-based TM generation Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Member
Author
|
@em3s Addressed review feedback:
|
Contributor
|
LGTM 👍 |
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
Add TM-based translation workflow for Korean docs, with contributor-friendly
documentation and CI integration.
Closes #202
Changes
website/i18n/scripts/translation-memory.py— CLI tool withinit,update,build,validate,statussubcommandsstatus --format=summaryoption for markdown output in CI Job Summarywebsite/i18n/(tm/,glossary/)translation-prompt.mdfaq.yaml,introduction.yaml) as representative samples; remaining TM files will be added in a follow-up PRTRANSLATION.md— contributor guide at the top (step-by-step example, local preview, glossary reference), technical architecture at the bottomCONTRIBUTING.mdtranslations section with actionable quick-start stepstranslation.yml):workflow_dispatchacceptsbuildinput (default: true) for validate-only runsHow to Test
🤖 Generated with Claude Code