chore: drop the two TEMPORARY english-only exemptions

Author: lizhengfeng101Created Sep 18, 2026Updated Sep 18, 2026
Labelshelp wanted

Background

scripts/verify-english-only.go carries two TEMPORARY entries in allowedPrefixes. Each one says in its own comment that it should be dropped once the tree behind it is translated:

  • extensions/vscode/"the extension's comments, test names and zh-cn NLS bundle are still Chinese"
  • extensions/idea/"the IDEA plugin's comments and zh-cn UI strings are still Chinese"

This issue tracks removing both. #1417 already cleared the non-code blockers: it deleted the unreferenced extensions/vscode/prototype.html, a UI design mock that by itself accounted for 147 of the flagged lines.

Current state

Measured on main (e5d7ce06) by temporarily removing both entries and running the checker: 1240 flagged lines across 67 files.

Sub-issue Scope Lines Files
#1420 extensions/vscode/src/extension/ comments and test names 141 19
#1421 idea services/ 252 11
#1422 idea jcef/, review/, messages/, model/, toolwindow/, build.gradle.kts 252 15
#1423 idea providers/ and HostStrings.kt comments 93 3
#1424 idea src/test/ test names 448 18

Accounting: 141 + 252 + 252 + 93 + 448 = 1186 lines to translate. The remaining 54 are the 7 lines in package.nls.zh-cn.json and the 47 ZH_CN entries in HostStrings.kt, which stay Chinese behind narrow exemptions — 1186 + 54 = 1240.

What must stay Chinese

Do not translate these. They are translated content by design, not comments:

  • extensions/vscode/package.nls.zh-cn.json — the VS Code NLS bundle. Nothing in the code imports it; the platform loads it at runtime to substitute the %key% placeholders in package.json. All 9 placeholders are covered by it. Deleting or translating it silently drops the Chinese UI for command names, the sidebar title and the comment actions.
  • The 47 ZH_CN map entries in extensions/idea/.../model/HostStrings.kt (lines 81–142) — the host-side mirror of the webview i18n table. Its ext.* keys and values are meant to match the frontend.
  • extensions/idea/src/main/resources/messages/OcrBundle_zh_CN.properties — not scanned (.properties is not in scannedExts), listed here so nobody "fixes" it.
  • README.zh-CN.md and anything under docs/i18n/ — Markdown is out of scope by extension.

How to verify

With the exemption for your tree still in place, this must pass:

make check

To see your own progress, temporarily comment out the allowedPrefixes entry for the tree you are working on and run the checker directly:

go run scripts/verify-english-only.go

Your files should stop appearing in the report. Restore the entry afterwards — only the two milestone sub-issues below delete it for good.

Milestones

  • #1420 finishes extensions/vscode/ and deletes that exemption entry.
  • #1424 finishes extensions/idea/ and deletes that one. It needs #1421, #1422 and #1423 merged first.

Notes for contributors

Please translate rather than paraphrase: these comments carry real reasoning about platform behaviour (PATH resolution under nvm, JCEF fallbacks, Kotlin metadata compatibility) and that content should survive the change. Keep each pull request to the scope of a single sub-issue so it stays reviewable.

Source: alibaba/open-code-review