@theia/localization-manager
TypeScript icon, indicating that this package has built-in type declarations

1.53.2 • Public • Published

theia-ext-logo

ECLIPSE THEIA - LOCALIZATION-MANAGER


Description

The @theia/localization-manager package is used easily create localizations of Theia and Theia extensions for different languages. It has two main use cases.

First, it allows to extract localization keys and default values from nls.localize calls within the codebase using the nls-extract Theia-CLI command. Take this code for example:

const hi = nls.localize('greetings/hi', 'Hello');
const bye = nls.localize('greetings/bye', 'Bye');

It will be converted into this JSON file (nls.json):

{
  "greetings": {
    "hi": "Hello",
    "bye": "Bye"
  }
}

Afterwards, any manual or automatic translation approach can be used to translate this file into other languages. These JSON files are supposed to be picked up by LocalizationContributions.

Additionally, Theia provides a simple way to translate the generated JSON files out of the box using the DeepL API. For this, a DeepL free or pro account is needed. Using the nls-localize command of the Theia-CLI, a target file can be translated into different languages. For example, when calling the command using the previous JSON file with the fr (french) language, the following nls.fr.json file will be created in the same directory as the translation source:

{
  "greetings": {
    "hi": "Bonjour",
    "bye": "Au revoir"
  }
}

Only JSON entries without corresponding translations are translated using DeepL. This ensures that manual changes to the translated files aren't overwritten and only new translation entries are actually sent to DeepL.

Use theia nls-localize --help for more information on how to use the command and supply DeepL API keys.

For more information, see the internationalization documentation.

Additional Information

License

Trademark

"Theia" is a trademark of the Eclipse Foundation https://www.eclipse.org/theia

Readme

Keywords

none

Package Sidebar

Install

npm i @theia/localization-manager

Weekly Downloads

4,417

Version

1.53.2

License

EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0

Unpacked Size

113 kB

Total Files

37

Last publish

Collaborators

  • sgraband
  • jhelming
  • jfaltermeier
  • msujew
  • eclipse-theia-bot
  • tsmaeder
  • marc.dumais
  • paul-marechal
  • bhufmann
  • vince-fugnitto
  • eclipsetheia