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

Test: new NLS implementation #216888

Closed
4 tasks done
bpasero opened this issue Jun 22, 2024 · 5 comments
Closed
4 tasks done

Test: new NLS implementation #216888

bpasero opened this issue Jun 22, 2024 · 5 comments

Comments

@bpasero
Copy link
Member

bpasero commented Jun 22, 2024

Refs: #212542

Complexity: 5

Create Issue


Setup:

Intro
The way we load english and translated messages (based on language extension packs) in core (VS Code web, desktop, server) needs to change to be ready for the future: we want to move away from our AMD loader towards an ESM. This test plan item is to ensure that we can still load english and other languages in our product without regressions.

If a message cannot be loaded we throw an error (!!! NLS MISSING...), so please watch out for that in console and logging. Since NLS is spread across all our product entry points, its possible that on such an error a process or worker stops to function very early.

Note: the changes should only impact core pieces, but not extensions. The NLS story for extensions remains as it was.

Testing (Desktop)

  • open the about dialog ("Help") and verify the commit is 43f70eca0c428e6f1a5bfad59a9b2a66f99b748d
  • briefly go through the UI and verify english words appears properly out of the box
    • test for process explorer and issue reporter windows (from Help menu)
    • test the CLI (<path to install>/bin/code --help)
      • test extension management, e.g. by listing extensions from the CLI
  • ensure that processes and workers are healthy
    • UI extensions such as GH PR are functional
    • Language extensions such as TS are functional
    • File watcher process is alive and reports events (try by changing a file externally while opened)
    • Terminal can be used
    • Extensions can be installed
    • Workers are in a running state
      • you can compare 2 files and see a diff
      • the "Output" panel shows output and links are detected
      • configure editor.experimental.asyncTokenization: true and verify text editor colorisation works
  • configure the display language to something non-english
    • verify the UI is translated to that language
    • verify the command palette can still be searched in english (i.e. we preserve original english strings there)
      • verify again that workers and processes are healthy (see above)
  • verify corrupted language packs
    • stop VS Code
    • open the userData folder and make the nls.messages.json file inside clp corrupt (e.g. remove a {)
    • start VS Code
    • it should appear in english
    • stop VS Code
    • start VS Code
    • it should appear in the language you picked before
  • verify different versions of language packs
    • for one non-english language, install different versions of the same language pack and go through updates
    • at all times you should get the translations appear and not english or corrupt state

Testing (Web)

  • open the about dialog ("Help") and verify the commit is 43f70eca0c428e6f1a5bfad59a9b2a66f99b748d
  • briefly go through the UI and verify english words appears properly out of the box
  • ensure workers are healthy
    • UI extensions such as GH PR are functional
    • you can compare 2 files and see a diff
    • the "Output" panel shows output and links are detected
    • configure editor.experimental.asyncTokenization: true and verify text editor colorisation works
  • configure the display language to something non-english
    • verify the UI is translated to that language
    • verify the command palette can still be searched in english (i.e. we preserve original english strings there)
    • verify again that workers are healthy (see above)
@bpasero
Copy link
Member Author

bpasero commented Jun 25, 2024

I will comment back here once we have a build and are ready to go.

@bpasero
Copy link
Member Author

bpasero commented Jun 25, 2024

@amunger @aeschli @eleanorjboyd good to go with this build.

Web still needs pushing.

@aeschli aeschli removed their assignment Jun 25, 2024
@bpasero
Copy link
Member Author

bpasero commented Jun 25, 2024

Web can now be tested at least with english under this URL: https://insiders.vscode.dev/?vscode-version=43f70eca0c428e6f1a5bfad59a9b2a66f99b748d

We are working on an issue that prevents us from supporting other languages via the marketplace.

@eleanorjboyd
Copy link
Member

came across this while I was testing but it was more related to the chat extension missing a few string for translation: https://github.com/microsoft/vscode-copilot/issues/6444

@eleanorjboyd eleanorjboyd removed their assignment Jun 25, 2024
@bpasero
Copy link
Member Author

bpasero commented Jun 25, 2024

https://insiders.vscode.dev/?vscode-version=43f70eca0c428e6f1a5bfad59a9b2a66f99b748d can now be tested in non-english languages 🚀

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants