The system used for localization of this project leverages the infrastructure and data that already exists for VS Code.
These assets are applicable to Arduino IDE 2.x due to the project being built on the Eclipse Theia IDE framework. In
this way, the Arduino IDE developers and community are only responsible for internationalization and localization of the
Arduino-specific strings (e.g., "Sketchbook") used in the IDE's UI.
The unfortunate downside to this approach is that there is a hard technical limit on localization of the project to
languages for which a VS Code "language pack" is available.
It will be helpful to clearly communicate the set of languages for which we are able to ship contributions from
translators.
Likewise, it will be useful to also communicate that, we are able to ship contributions of translations of Arduino CLI
user interface strings for any language. This is due to the fact that the Arduino CLI codebase uses a completely
different internationalization system that does not impose any technical limits on the scope of localization.
Translation of the strings of the Arduino IDE UI is a valuable contribution which helps to make Arduino accessible to
everyone around the world.
Localization of the Arduino-specific strings of the IDE is done in the "Arduino IDE 2.0" project on Transifex.
Previously, the "Translation" row in the contribution methods summary table in the contributor guide entry page simply
linked to that project.
Arduino IDE also uses localized strings from several other sources:
- VS Code language packs
- Arduino CLI
Users may notice unlocalized strings or errors or areas for improvement in the existing translations and wish to
contribute translations. For this reason, it is important to also provide instructions for contributing to those other
localization data sources. The contribution methods summary table can not effectively accommodate that additional
content so a dedicated document is added for the purpose. This will also allow linking directly to that document from
related documentation or conversations.