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.properties`` * **Translations:** ``LangManager_.properties`` (e.g., ``LangManager_de.properties`` for 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: 1. Locate the corresponding ``LangManager_.properties`` file. 2. Find the key you want to change. 3. Update the value (the text after the ``=`` sign). 4. 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: 1. Create a new file named ``LangManager_.properties`` in ``src/main/resources/messages/``. 2. Copy the contents of ``LangManager.properties`` into it. 3. 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 ``.properties`` files. 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 -------- 1. **Open an Issue:** (Optional but recommended) Let us know you are working on a specific language to avoid duplicate effort. 2. **Fork and Branch:** Create a new branch like ``docs/translation-ja``. 3. **Edit Files:** Make your changes in the ``.properties`` files. 4. **Verify:** If you have the project set up, run ``./gradlew runIde`` and switch your IDE language (if applicable) to see the changes. 5. **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 :doc:`../core-concepts/architecture`.