Localization Contribution Guidelines¶
Thank you for your interest in helping us localize Blender Development for PyCharm! Our goal is to make this tool accessible to developers worldwide.
How We Handle Localization (i18n)¶
We use the standard IntelliJ Platform internationalization (i18n) mechanism. All user-facing strings (UI labels, tooltips, dialog messages, and log outputs) are stored in .properties files located in:
src/main/resources/messages/
Primary Language (English):
LangManager.propertiesTranslations:
LangManager_<language_code>.properties(e.g.,LangManager_de.propertiesfor German).
Currently Supported Languages¶
We currently have placeholder or partial translations for the following languages:
Spanish (
es)German (
de)French (
fr)Italian (
it)Japanese (
ja)Korean (
ko)Dutch (
nl)Polish (
pl)Portuguese (
pt)Russian (
ru)Chinese (Simplified) (
zh)Vietnamese (
vi)
How to Contribute¶
1. Improve Existing Translations¶
If you see a translation that is incorrect, missing, or sounds unnatural:
Locate the corresponding
LangManager_<code_here>.propertiesfile.Find the key you want to change.
Update the value (the text after the
=sign).Ensure that any placeholders like
{0},{1}are preserved and used correctly in the translation.
2. Add a New Language¶
If your language is not listed:
Create a new file named
LangManager_<your_language_code>.propertiesinsrc/main/resources/messages/.Copy the contents of
LangManager.propertiesinto it.Translate the values into your language.
3. Translate New Strings¶
When new features are added, new keys appear in the English LangManager.properties. We use automated tools to propagate these keys to other files with English placeholders. You can help by providing the actual translations for these new keys.
Technical Requirements¶
Character Encoding¶
Property files should use UTF-8 encoding.
Special characters should be handled correctly. IntelliJ IDEA handles this automatically when editing
.propertiesfiles.
Placeholders and Escaping¶
Placeholders:
{0},{1}, etc., are used for dynamic data (like version numbers or file paths). Do not translate or remove these.Single Quotes: If you need to use a literal single quote in a message that has placeholders, you must escape it with another single quote (e.g.,
It''s {0}).
Workflow¶
Open an Issue: (Optional but recommended) Let us know you are working on a specific language to avoid duplicate effort.
Fork and Branch: Create a new branch like
docs/translation-ja.Edit Files: Make your changes in the
.propertiesfiles.Verify: If you have the project set up, run
./gradlew runIdeand switch your IDE language (if applicable) to see the changes.Pull Request: Submit your PR with a description of what you improved.
AI Disclosure¶
Many of our initial translations were generated with the assistance of LLMs. While helpful, these can often be inaccurate or lack technical context. Human reviews and corrections are our highest priority!
For more information on the project architecture, see Architecture.