Skip to content

OwnerPlugins/TranslationProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Translation Tool v2.0 – C# & Enigma2 Plugin Manager

Views

Donate Ko-fi Donate PayPal

Version License Download

Translation Tool is a Windows desktop application that simplifies the translation workflow for C# projects and Enigma2 plugins. It extracts translatable strings, translates them using Google Translate, and compiles them into the required format – all with a user-friendly GUI.


✨ Features

🔹 C# Project Mode

  • Scans .cs files recursively for GetTranslation("...") keys.
  • Translates keys into 95+ languages using Google Translate API.
  • Generates .lng files ready for use in your application.
  • Preserves existing translations and removes obsolete keys.

🔹 Enigma2 Plugin Mode

  • Extracts strings from .py files and setup.xml.
  • Generates/updates .pot and .po files.
  • Auto-translates empty msgstr entries.
  • Compiles .mo files ready for Enigma2 devices.

🔹 General Features

  • Dual Mode: Switch between C# and Enigma2 modes.
  • Language Selection: Choose from over 90 languages.
  • Select / Unselect All: Quickly manage language selection.
  • Smart Cache: Saves translations locally to avoid repeated API calls.
  • Import Cache: Import translations from Python scripts.
  • Delete Cache: Clear the cache to force re-translation.
  • Progress Monitor: Real-time progress, status, and elapsed time.
  • Stop Button: Cancel operations at any time.
  • Save Log: Export the log to a text file.
  • Custom Output Folder: Choose where to save translated files.
  • Logo Click: Click the logo to open the GitHub repository.

📸 Screenshots


Preview 1

Preview 2

Preview 3

📥 Requirements

  • Windows (7, 8, 10, 11)
  • .NET 10.0 Runtime (or newer)
  • No Python required – everything is self-contained in C#.

🚀 How to Use

For C# Projects

  1. Launch the tool and select "C# Translation Project" from the Mode dropdown.
  2. Click "Browse..." and select your project folder (containing .cs files).
  3. (Optional) Choose a custom output folder.
  4. Click "Select Languages" and choose the languages you need.
  5. Click "Start" to begin extraction and translation.
  6. Find your .lng files in the output folder.

For Enigma2 Plugins

  1. Launch the tool and select "Enigma2 Plugin Manager" from the Mode dropdown.
  2. Click "Browse..." and select your plugin folder (containing __init__.py and locale/).
  3. Select the languages you want.
  4. Use the buttons:
    • Extract Strings – Scan Python and XML files.
    • Auto Translate – Translate empty msgstr entries.
    • Compile .mo – Compile .po files to .mo.
    • Full Update – Run all steps in one click.
  5. Monitor progress and wait for completion.

⚙️ Output Format

C# Projects

Each language gets its own .lng file (e.g., Italiano.lng, Deutsch.lng) with the format:

Key1: Translated text
Key2: Another translation

Enigma2 Plugins

The tool generates the standard gettext structure:

plugin/locale/
├── it/
│   └── LC_MESSAGES/
│       ├── plugin.po
│       └── plugin.mo
└── de/
    └── LC_MESSAGES/
        ├── plugin.po
        └── plugin.mo

🛠️ Cache Management

  • Use Cache: Enable/disable the translation cache.
  • Delete Cache: Remove all cached translations (forces re-translation).
  • Import Cache: Import translations from a Python script's translation_cache.json file. This is useful if you already have translations from the Python version.

📁 Project Structure

TranslationProject/
├── TranslationProject.exe        # Main executable
├── Google-AI.png                 # Logo (optional)
├── app.ico                       # Application icon
├── translation_cache.json        # Cache file (auto-generated)
└── locale/                       # Enigma2 translation files
    ├── it/
    │   └── LC_MESSAGES/
    │       ├── plugin.po
    │       └── plugin.mo
    └── ...

🔧 Changelog

Version 2.0 – 2026-06-18

  • Added: Full Enigma2 plugin support (extract, translate, compile).
  • Added: Dual mode selector (C# / Enigma2).
  • Added: Language selection dialog with Select All / Unselect All.
  • Added: Progress monitor with status, counter, and timer.
  • Added: Stop button to cancel operations.
  • Added: Import/Delete cache functionality.
  • Added: Save log to file.
  • Added: Logo with clickable link to GitHub.
  • Improved: Cache handling and performance.
  • Fixed: Various UI and stability issues.

Version 1.0 – Initial Release

  • Extract GetTranslation("...") keys from C# projects.
  • Translate into 95+ languages using Google Translate.
  • Generate .lng files.
  • Persistent cache to avoid repeated translations.
  • GUI with real-time log and progress bar.

💬 Support


📜 License

This project is licensed under the GPLv3 License – see the LICENSE file for details.


🙏 Credits

Special thanks to the Enigma2 community, CORVOBOYS, and all testers for their support and feedback.


Enjoy! 😊

– Lululla © 2026

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages