Add localization (i18n) support, starting with Simplified Chinese (zh-cn)
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- typescript, vscode
Research direction
Start with extensions/vscode-containers/package.json, extension/package.nls.json, and the existing l10n.t() calls in extensions/vscode-containers/src and packages/vscode-docker-registries/src. Check how Dev Containers structures its localization files and how the registry package is bundled; then define the extraction and translation workflow for zh-cn and cover the listed remaining literals. Done means manifest and runtime strings load in Simplified Chinese and new runtime strings can be exported.
Written by the indexing model from the issue text.
Description
The current release of Container Tools ships no translations. With the Chinese (Simplified) Language Pack, VS Code itself is in Chinese, but everything this extension adds (view and command names, setting descriptions, quick picks, notifications, error messages) is English.
I'd like to request localization support, with Simplified Chinese (zh-cn) first. Other VS Code display languages could follow.
What I checked
- The current Marketplace build,
ms-azuretools.vscode-containers2.5.3, containsextension/package.nls.json(English, 369 keys) and no other localization files. There is nopackage.nls.<locale>.json, nol10n/folder, and no"l10n"field inpackage.json, so VS Code has nothing to load for any non-English display language. - The source is mostly prepared for it. At
cb1dcf0(main),package.jsonuses 367%key%placeholders defined inpackage.nls.json, and the shipped code has 446l10n.t()calls in 145 files (extensions/vscode-containers/srcandpackages/vscode-docker-registries/src, tests excluded)..github/skills/code-review/rubric.mdalso asks that every user-facing string be localized. - I found no
@vscode/l10n-devdependency, no script that exportsbundle.l10n.json, and no translated files in the repo. - Dev Containers (
ms-vscode-remote.remote-containers0.471.0) is the closest comparison. It shipspackage.nls.<locale>.jsonandl10n/bundle.l10n.<locale>.jsonfor 13 languages, includingzh-cnandzh-tw, and sets"l10n": "./l10n". - I searched issues, pull requests and discussions in this repo for "i18n", "l10n", "localization", "translation" and "Chinese" and found no existing request. The closest are #582 and #583, which moved the container client labels into
package.nls.jsonso they can be localized.
Request
- Ship translated resources:
package.nls.<locale>.jsonfor the manifest andl10n/bundle.l10n.<locale>.jsonfor runtime strings, with"l10n": "./l10n"inpackage.json. Start withzh-cn. - Add an extraction step (for example
@vscode/l10n-dev export) so new strings reach the bundle. It needs to coverpackages/vscode-docker-registries, which is bundled from source. - Wrap the strings that are still literals. A few I noticed at
cb1dcf0:extensions/vscode-containers/package.json: the debugger label and the launch snippet labels and descriptionsextensions/vscode-containers/src/utils/multiSelectNodes.ts:51extensions/vscode-containers/src/commands/registries/deleteRemoteImage.ts:41extensions/vscode-containers/src/commands/registries/azure/createAzureRegistry.ts:57
Questions
- Is localization planned? Could Container Tools use the same Microsoft localization process as Dev Containers?
- If not, would you accept community translations as pull requests, and in what form (files, review process)?
- Dominant language
- TypeScript
- Stars
- 147
- Forks
- 93
- Avg merge
- 9h 16m
- Merged PRs (30d)
- 14
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from microsoft/vscode-containers
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
microsoft/vscode-containers#655 ·
Maintainers usually reply within 1 day
-
Compose Down fails for projects started with multiple --env-file argumentsPossibly taken @sylvesterkaczmarek claimed this 2 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
microsoft/vscode-containers#653 ·
Maintainers usually reply within 1 day
-
.NET AT-CTI blocked external
Difficulty 4/5 3-5 days Newbie friendliness 45/100
microsoft/vscode-containers#623 · 2 comments · 1 reaction ·
Maintainers usually reply within 1 day
-
.NET AT-CTI blocked external
Difficulty 3/5 1-2 days Newbie friendliness 72/100
microsoft/vscode-containers#605 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
engineering
Difficulty 4/5 3-5 days Newbie friendliness 38/100
microsoft/vscode-containers#594 · 1 comment ·
Maintainers usually reply within 1 day
All issues in microsoft/vscode-containers
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
backnotprop/plannotator#2914 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
dsh-tauri-desk/deepseek-harness-desktop#1477 · 1 comment ·
-
[docs] RELEASE.md: wrong branch name, no check that the prepare PR merged with the right subject, manual publish stepPossibly taken @albertteoh claimed this today. Opendocumentation
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
jaegertracing/jaeger-ui#4739 ·
Maintainers usually reply within 1 day