Skip to content

Support Simplified Chinese localization for the pack's own UI #1790

Open

Description

Suggestion

Add Simplified Chinese (zh-cn) translations for the strings the pack contributes itself.

With the Chinese (Simplified) Language Pack installed, the "Get Started with Java Development" notification still has an English title, next to a badge that VS Code has translated. The title is walkthrough.title in package.nls.json. The Marketplace build 0.31.2026101207 contains package.nls.json and no other package.nls.*.json, and main has never had a package.nls.zh-cn.json, so VS Code has nothing to load for zh-cn.

A package.nls.zh-cn.json for the nine existing keys would translate the walkthrough title and description, but not much more, because most of the pack's text is not behind a key. On main (caf653f):

  • package.json: the 8 walkthrough step titles, the 13 command titles, the 2 javaShortcuts titles, the descriptions of the 3 java.help.* settings (plus the enum descriptions of java.help.firstView), the configuration title and the displayName of the formatter settings editor are plain strings, not %key% references.
  • src: 28 vscode.window.show*Message calls in 8 files, all with English text.
  • The 8 webview pages (Overview, Help Center, Tips for Beginners, Extensions Guide, Install JDK, Java Runtime, Project Settings, Formatter Settings) have their text inline in the sources.
  • Nothing in src uses vscode.l10n, and @vscode/l10n is not in dependencies. engines.vscode is ^1.74.0, so the API is available.

The manifest part (move the literals behind keys, add package.nls.zh-cn.json) is small and could go in first. The messages and webviews are a bigger change and could follow separately.

Use Cases

Chinese-speaking users running VS Code with the Chinese (Simplified) Language Pack. Language Support for Java, Debugger for Java, Maven for Java and Project Manager for Java ship package.nls.zh-cn.json, and Test Runner for Java ships package.nls.zh.json, so their commands and settings show Chinese. The pack's own commands, walkthrough, settings and pages stay English. Gradle for Java has no localization at all (microsoft/vscode-gradle#1136).

#62 and #542 are closed as completed. The list in #62 covers Language Support, the debugger, Maven, the test runner and the dependency viewer, but not the pack's own UI.

Examples

The first walkthrough step in package.json today (excerpt):

{
  "id": "java.runtime",
  "title": "Get your runtime ready",
  "description": "%walkthrough.java.runtime%"
}

The description is a key, the title is not. Once the title is a key as well, zh-cn only needs matching lines in package.nls.zh-cn.json, and the notification and the walkthrough show Chinese the way the Maven commands do now. Maven for Java is a small reference: its package.nls.zh-cn.json has every key of its package.nls.json (https://github.com/microsoft/vscode-maven/blob/035cd0c63b0d867259fd74421573f02970794ba7/package.nls.zh-cn.json).

Activity

  1. issuelens commented on Nov 5, 2026

    @issuelens

    Thanks for the detailed breakdown. The current main branch confirms the core gap: package.nls.json contains the walkthrough strings, there is no package.nls.zh-cn.json, and many manifest titles and settings descriptions are still literal English strings.

    #62 and #542 are related localization reports, but they tracked the broader Java extension set rather than this pack’s own contributed UI, so this request is distinct rather than a duplicate. The proposed manifest-first scope is a focused initial increment; runtime messages and webview content can be evaluated separately as broader follow-up work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions