Skip to content

Commit f83e133

Browse files
committed
refactor(translations): enhance final review process and grading criteria for Co-op Translator PRs
1 parent 3dc5ebc commit f83e133

1 file changed

Lines changed: 62 additions & 30 deletions

File tree

.github/workflows/translation-polisher.md

Lines changed: 62 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -97,16 +97,20 @@ Do not edit:
9797
- Example: compare `translations/es/03-development-workflows/README.md` with `03-development-workflows/README.md`.
9898
3. Focus on files changed by the pull request, not every translated file in the repository.
9999
4. Preserve Markdown structure exactly unless a link or heading fix is required.
100-
5. Run the deterministic cleanup script after edits:
100+
5. Apply the shared quality rules and the language quality profile for each target language present in the pull request.
101+
6. Run the deterministic cleanup script after edits:
101102

102103
```bash
103104
node .github/scripts/fix-translated-markdown.js "<language-codes>"
104105
```
105106

106-
6. Review your final diff. If it contains anything outside `translations/**/*.md`, revert those changes.
107-
7. Push your changes to the target pull request branch using the safe output.
108-
8. Add the `translation-polished` label.
109-
9. Add a short pull request comment summarizing what was polished and which languages were touched.
107+
7. Perform a final review of each changed target-language file against its English source file. Grade each language using A, A-, B+, B, B-, C, D, or F.
108+
8. Continue improving the translation until every target language you touched earns **A- or higher**.
109+
9. If any target language remains below A- after reasonable polishing, do not push changes and do not add the `translation-polished` label. Add a pull request comment explaining the blocking issues and the current grade.
110+
10. Review your final diff. If it contains anything outside `translations/**/*.md`, revert those changes.
111+
11. Push your changes to the target pull request branch using the safe output only when every touched language is A- or higher.
112+
12. Add the `translation-polished` label only when every touched language is A- or higher.
113+
13. Add a short pull request comment summarizing what was polished, which languages were touched, and the final grade for each touched language.
110114

111115
## Quality checklist
112116

@@ -123,46 +127,74 @@ For every translated Markdown file you edit:
123127
- Do not remove the Co-op Translator disclaimer.
124128
- Do not edit translation metadata.
125129

126-
## Language style guidance
130+
## Final translation review rubric
131+
132+
Before pushing, review each touched language against the corresponding English source and assign a grade.
133+
134+
Grade **A- or higher** only when all of these are true:
135+
136+
- The translation preserves the meaning, scope, warnings, and calls to action from the English source.
137+
- The Markdown structure, links, images, headings, tables, badges, and code blocks are intact.
138+
- Human-facing prose, navigation labels, table headings, and link labels are translated where appropriate.
139+
- Product names, commands, file paths, URLs, package names, and UI labels are preserved when they should be.
140+
- The text sounds natural to a technical learner in the target language, not like a literal sentence-by-sentence translation.
141+
- Terminology is consistent within the file and across the same target language.
142+
- The tone remains beginner-friendly, practical, and encouraging.
143+
144+
Use **B+ or lower** if any visible learner-facing text remains unnecessarily in English, if phrasing is noticeably awkward, if terminology is inconsistent, or if important nuance is missing. Keep polishing until the grade is A- or higher.
145+
146+
## Language quality profiles
147+
148+
Apply the profile only when that language is present in the pull request.
149+
150+
### Shared rules for all languages
151+
152+
- Preserve product names such as **GitHub Copilot CLI**, **GitHub Codespaces**, and **Azure AI Foundry** unless an official localized name is clearly standard in the target-language ecosystem.
153+
- Preserve commands, code, file paths, URLs, badge URLs, package names, branch names, and repository names.
154+
- Translate human-facing link labels, table headings, navigation labels, and instructional prose.
155+
- Keep English technical terms only when they are common in the target language, are official UI labels, or are product/feature names.
156+
- Prefer natural beginner-friendly phrasing over literal translation.
157+
- Use consistent terminology within each file and across the same language.
158+
- Do not over-localize acronyms or terms that target-language developers normally use in English.
127159

128160
### Spanish (`es`)
129161

130-
Use clear, neutral Spanish that works for a broad technical audience.
162+
- Use clear, neutral Spanish for a broad technical audience.
163+
- Prefer natural active voice over passive constructions.
164+
- Localize beginner-facing concepts such as issue and pull request when clarity improves, but keep GitHub UI terms in English when they refer to the UI label.
165+
- Keep common technical acronyms such as API.
166+
- Avoid overly literal phrasing. For example, prefer natural wording such as `potenciar`, `colega experto`, and `donde se encuentra cada una` when the sentence context calls for it.
131167

132-
Prefer:
168+
### Korean (`ko`)
133169

134-
- `potenciar` over `supercargar`
135-
- `colega experto` over `colega conocedor`
136-
- `dónde se encuentra cada una` over `donde vive cada una`
137-
- `solicitudes de incorporación de cambios` or `pull requests` consistently, instead of mixing `PRs` and `pull requests`
138-
- `incidencias` or `issues` consistently, depending on context
139-
- `habilidades` for generic skills, but keep `Skills` when referring to the GitHub Copilot feature name if that matches the course terminology
170+
- Use polite, clear technical Korean appropriate for educational documentation.
171+
- Keep product names in English unless there is a clear official Korean name.
172+
- Prefer commonly used Korean developer terminology for concepts, but do not translate CLI commands, file paths, Git branch names, package names, or GitHub UI labels that learners must recognize.
173+
- Avoid overly formal or machine-translated sentence endings; keep instructions direct and approachable.
140174

141-
Translate common link labels:
175+
### Japanese (`ja`)
142176

143-
- `Create one free` -> `Crea una gratis`
144-
- `Free offering` -> `Oferta gratuita`
145-
- `Monthly subscription` -> `Suscripción mensual`
146-
- `Free for students/teachers` -> `Gratis para estudiantes/profesores`
147-
- `Quick Start` -> `Inicio rápido`
148-
- `First Steps` -> `Primeros pasos`
149-
- `Context and Conversations` -> `Contexto y conversaciones`
150-
- `Development Workflows` -> `Flujos de trabajo de desarrollo`
151-
- `Create Specialized AI Assistants` -> `Crear asistentes de IA especializados`
152-
- `Automate Repetitive Tasks` -> `Automatizar tareas repetitivas`
153-
- `Connect to GitHub, Databases & APIs` -> `Conectar con GitHub, bases de datos y APIs`
154-
- `Putting It All Together` -> `Poniéndolo todo junto`
177+
- Use clear technical Japanese with a polite instructional tone.
178+
- Keep product names in English unless there is a clear official Japanese name.
179+
- Prefer standard Japanese developer terms and natural sentence structure.
180+
- Avoid overly literal English word order.
181+
- Do not translate commands, file paths, Git branch names, package names, or GitHub UI labels that learners must recognize.
155182

156-
### Korean (`ko`), Japanese (`ja`), and Simplified Chinese (`zh-CN`)
183+
### Simplified Chinese (`zh-CN`)
157184

158-
If these languages are present in the PR, polish for natural technical learning content in that language. Keep product names such as **GitHub Copilot CLI**, **GitHub Codespaces**, and **Azure AI Foundry** unchanged unless the official localized name is clearly used in the source ecosystem.
185+
- Use Simplified Chinese.
186+
- Use clear mainland Chinese technical documentation style.
187+
- Keep product names in English unless there is a clear official Simplified Chinese name.
188+
- Avoid Taiwan/Hong Kong traditional terminology.
189+
- Do not translate commands, file paths, Git branch names, package names, or GitHub UI labels that learners must recognize.
159190

160191
## Pull request comment
161192

162193
After polishing, add a concise comment with:
163194

164195
1. The pull request number reviewed.
165196
2. The languages touched.
166-
3. A short summary of improvements, such as link-label translation, terminology consistency, and readability polish.
197+
3. The final grade for each touched language. Only report `A-` or higher as accepted.
198+
4. A short summary of improvements, such as link-label translation, terminology consistency, and readability polish.
167199

168200
If no changes are needed, use a no-op and do not comment.

0 commit comments

Comments
 (0)