In Bambu Studio, languages such as English, Chinese, Dutch, French, German, Hungarian, Italian, Japanese, Korean, Spanish, Brazilian Portuguese, Spanish, and Swedish are overseen by Bambu Lab. All other languages receive contributions from our passionate community.
While we're grateful for the many patches submitted by community enthusiasts to expand language support and enhance existing translations, it's important to note that we often can't integrate these patches directly. The reasons for this are elaborated below.
In Bambu Studio, there are mainly three types of text need to be translated:
Texts displayed in the Bambu Studio regular GUI window.
Each of these texts is stored in a .po file, located in the directory bbl/i18n/[sub_language]/BambuStudio_[sub_language].po
Texts displayed on popup window using ImGui
Texts displayed by ImGui is dynamically loaded using a specific range of UTF-8 characters.
To guarantee accurate language representation in ImGui, it's essential to load the corresponding character set for that language.
Texts displayed on homepage.
The homepage is an embedded web page, The texts on the web page use their own localization method and are written in text.js file according to the entries.
Texts on regular GUI window is the most common scenario, and we are primarily discussing these texts.
For languages under Bambu Lab's purview, we collaborate with a diverse group of language translators. All translations are centrally stored an internal Localazy platform, which serves as the authoritative source for all localization efforts.
Since the majority of GitHub patches aim to modify the.po files, this clashes with our established workflow, preventing us from directly merging these contributions.
Translation work is not just about the initial effort; it also requires ongoing maintenance to ensure quality and consistency. For this reason, adhering to the prescribed guidelines is crucial. It helps streamline the process, minimize conflicts, and maintain the integrity of the translations. When submitting a translation from GitHub, please follow the guidance below for each case of translation.
When translating texts for languages maintained by Bambu Lab, submit a patch on GitHub that includes modifications to the relevant .po files. Our team of translators will review your submitted changes. If the modifications are approved, they will be integrated into our internal Localazy platform and updated through our standard process, making them part of future releases.
Please note that we can't directly merge patches if they conflict with existing .po files. Further details will be provided in the pull request, and contributors will be acknowledged in the release notes.
To request the addition of a new language, create a GitHub issue labeled 'Feature'. We will internally discuss whether to assign a dedicated translator or to rely on community contributions for translations. A response will be posted on the GitHub issue to inform you of our decision.
If community contributions are needed, we warmly invite enthusiasts to submit translation patches. When doing so, please include only the.pofile for the new language; we'll handle any additional files or modifications required for the new language.
Please submit a patch that includes only the.pofile directly to GitHub (no .mo file); we'll take care of other files and modifications before the next version's release.
We sincerely thank those who wish to contribute and make Bambu Studio even better.