Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Localize Code #2041

Closed
18 tasks done
egamma opened this issue Jan 15, 2016 · 12 comments
Closed
18 tasks done

Localize Code #2041

egamma opened this issue Jan 15, 2016 · 12 comments
Assignees
Labels
plan-item VS Code - planned item for upcoming
Milestone

Comments

@egamma
Copy link
Member

egamma commented Jan 15, 2016

Today we have the Monaco editor localized. This plan item captures how we get to a localized VS Code.

We need to localize both the core and the extensions we bundle.

Core + Helper Apps

The core includes the main process, renderer, and extension host. All these components use AMD and we will use the same localization approach as is used in the Monaco editor (nls.localize).

The core includes some built-in languages like PHP, CSS, JSON. Each of these languages comes with strings that are used as documentation for Intellisense or validation (PHP built-in functions, CSS attribute descriptions, JSON schema descriptions from http://schemastore.org/json/). We will not externalize and translate these strings initially.

Tasks:

  • Provide a tslint rule to check for non-externalized strings. @dbaeumer
  • Externalize the remaining strings. Major areas of the workbench are already localized, but there are gaps. @Microsoft/vscode
  • Review the places where we expose exception messages directly to the user (e.g. editor, explorer, git, search) and ensure that a higher-level translatable error message is shown in the UI, which incluldes the raw error as detail in parenthesis. @bpasero
  • Localize the Search App. @dbaeumer
  • Localize the Git App @dbaeumer
  • Plugin Host @dbaeumer
  • Main @dbaeumer
  • Renderer @dbaeumer

Extensions

Extensions are implemented using the CommonJS modules and the AMD based externalization used in the Code cannot be use. The goal is to use the same file format for the language bundles used for the Core and extensions.

An extensions has contributes strings in the package.json and from the code. We need a localization support for both.

Tasks:

  • Localization support for the package.json.
  • Provide a node localization module that uses the same file format as for the core and that can be used by extensions..
  • Provide nls-checking tool to check for non-localized strings for the bundled extensions
  • Externalize bundled extensions (with user visible strings)
    • TypeScript
    • JSON
    • ❓ others

Debug Adapters

  • Support that messages from the debug adapter can be localized @weinand

Development Tasks

  • Support pseudo localization for testing.
  • Document the localization support so that the community can contribute translations.
  • Tools to enable contributions of translations.
  • Support install/update localized Code versions.

Roadmap

  • January
    • Core + Apps is localized
    • Demo Code in German (minus extensions)
  • February
    • Bundled extensions are localized
    • Bundled debug adapter are localized
    • Demo Code in German with a localized extension
@egamma egamma added the plan-item VS Code - planned item for upcoming label Jan 15, 2016
@egamma egamma added this to the Backlog milestone Jan 15, 2016
@egamma egamma mentioned this issue Jan 15, 2016
59 tasks
@egamma egamma changed the title Localize Localize Code Jan 15, 2016
@egamma egamma mentioned this issue Feb 1, 2016
97 tasks
@eliashdezr
Copy link

Is there a way to turn off localization? I want the editor to be always on English.

@bgashler1
Copy link
Contributor

@eliashdezr: yes, there will be a setting or command that you can run that will let you turn off localization.

@akamud
Copy link
Contributor

akamud commented Mar 22, 2016

I see the localization is now released in insiders channel, how can we contribute to other languages?

@dbaeumer
Copy link
Member

@akamud we are working on the details to allow to contribute additional languages. We aren't there yet.

@akamud
Copy link
Contributor

akamud commented May 26, 2016

http://static1.squarespace.com/static/53951756e4b00bb4cdae2705/t/565bab83e4b05079e4bcc313/1448848265740/?format=original

@dbaeumer
Copy link
Member

@akamud unfortunately not.

@sean-mcmanus
Copy link
Contributor

How can we add localized strings to our C/C++ extension? I can't find any documentation.

@dbaeumer
Copy link
Member

@sean-mcmanus: there are two npm module that we use to localize the extension we ship in VS Code in the box. The are: vscode-nls and vscode-nls-dev. The typescript extension in the vscode source tree (https://github.com/Microsoft/vscode/tree/master/extensions/typescript) is a good example to copy from to see how to use the two npm modules.

@akamud
Copy link
Contributor

akamud commented Oct 6, 2016

Any progress on this? I see in 1.5.3 there is now support for 9 languages in VS Code. How can we help expand this?

@rafaelcpalmeida
Copy link

@egamma Any updates on how we can contribute with translations?

@egamma
Copy link
Member Author

egamma commented Feb 20, 2017

@rafaelcpalmeida @akamud we will do another investigation on this topic during our March iteration.

@dbaeumer
Copy link
Member

We opened VS Code translations up for contributions. See our VS Code project on Transifex.

@vscodebot vscodebot bot locked and limited conversation to collaborators Nov 18, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
plan-item VS Code - planned item for upcoming
Projects
None yet
Development

No branches or pull requests

7 participants