Localization Guide

The Blender Development for PyCharm plugin aims to provide a native-feeling experience for developers worldwide. This guide covers how localization works and how you can contribute.

How Localization Works (i18n)

We use the standard IntelliJ Platform i18n mechanism. All user-facing strings are stored in .properties files in src/main/resources/messages/.

  • Primary Source: LangManager.properties (English)

  • Language Bundles: LangManager_<lang>.properties (e.g., LangManager_ja.properties)

The code uses LangManager.message("key") to retrieve strings based on the user’s IDE language.

Supported Languages

The plugin currently includes translations (some partial) for: Spanish, German, French, Italian, Japanese, Korean, Dutch, Polish, Portuguese, Russian, Simplified Chinese, and Vietnamese.

Contributing Translations

We actively seek community help to improve our translations, especially those initially generated by AI.

### 1. Improve Existing Translations If you find a translation that is incorrect or unnatural: 1. Locate the corresponding LangManager_<lang>.properties file. 2. Update the value after the = sign. 3. Preserve Placeholders: Keep {0}, {1}, etc., exactly as they are.

### 2. Add a New Language 1. Create a new LangManager_<lang>.properties file. 2. Copy the contents of the English LangManager.properties. 3. Translate the values.

Technical Requirements

  • Encoding: Files must use UTF-8.

  • Escaping: In strings with placeholders, escape literal single quotes with another single quote (e.g., It''s {0}).

Workflow

  1. Fork and Branch: Create a branch like i18n/translation-ja.

  2. Edit: Modify the .properties files.

  3. Verify: Run ./gradlew runIde to check the UI.

  4. Pull Request: Submit your changes for review.

Note

Human reviews are our highest priority to ensure technical accuracy that AI might miss!