Skip to content

ArsenTech/i18n-translator

Repository files navigation

I18N Translator

I18N Translator

A Universal Translator that helps you localize and translate some apps into your native language. Perfect for dev-translators localizing the app!

Report bug  ·  Request Feature

version Contributors Forks Stargazers downloads project_license sponsors-badge

Issues build-status commits since latest release GitHub Created At GitHub repo size

Table of Contents
  1. About
  2. Usage Manual
  3. Versioning
  4. Sponsors
  5. Contributing
  6. Star History
  7. License

About

I18N Translator is a desktop localization tool designed to help translators and developers create, edit, and maintain application translations in multiple file formats.

It provides a simple spreadsheet-like interface for editing translation keys while preserving the original file structure whenever possible.

Whether you are translating a small application or maintaining a large localization project, I18N Translator aims to provide a fast and straightforward workflow.

Features

  • 🌍 Multi-language translation editor
  • 📂 Create and open translation projects
  • 💾 Safe saving with format-aware serialization
  • 🔍 Search and filter translation keys
  • ⚠️ Missing translation filtering
  • 📊 Translation progress tracking
  • 📁 Recent translation history
  • 🔄 Preserve XML entities and escaped characters
  • 📝 JSON support
  • 📝 XML Desktop support
  • 📝 Android XML support
  • 📝 Microsoft RESX support
  • 📝 XLIFF 2.0 support
  • 🎨 Modern desktop interface built with Tauri and React
  • 🌐 Cross-platform support
  • 📖 Glossary Support
  • 🌍 I18N Support

Future releases are planned to include automatic translation tools, transliteration, spell checking, and additional localization formats.

Planned Improvements

v1.0.1 (Next)

  • Decide whether translation keys should be sorted when saving

v1.1

  • Android XML enhancements
    • Support translatable attribute
    • Add "Translatable" table column
    • Preserve translatable="false" on save
    • Implement Translatable column settings
  • Compare difference popup
  • PO Language Support + Settings

v1.2

  • Support ICU MessageFormat & pluralization rules + Settings
  • Transliteration backend
  • Spell checking backend
    • Dictionary Support
    • Replace DEFAULT_DICTIONARIES constant with a real data
  • isDirty changes inside new backend logic
  • Settings
    • Spell Checker
      • Enable spell checking
      • Dictionary selection
      • Ignore words list
    • Translation
      • Transliteration provider

v1.3

  • Auto-Translation backend
    • Libre Translate API
    • Llama AI API
    • Google Translate API
    • Gemini API
  • isDirty changes inside new backend logic

v1.4

  • The "All Glossaries" page providing Glossaries to download and use (Marketplace)
  • Glossary Packs (Needs Rust to update the current logic)

    Example pack: en-hy (folder)

    • Gaming: game.json (e.g. Skin will be "Սկին")
    • Editing: editor.json (e.g. Track will be "Թրեք")
    • Coding: coding.json (e.g. Bug will be "Բագ")
    • index.json: Clean glossary full of literal 🇦🇲 words only

    These niche-based Glossary packs will be used if I translate something.

    Example

    • Translating Teeworlds or Neverball -> use the gaming slang (en-hy/game.json)
    • Translating Editors (Like OpenShot and Audacity) -> use the editor slang (en-hy/editor.json)

    Uses the GitHub organization to store these packs (en-hy, ru-hy, etc)

  • Glossary Settings
    • Glossary pack preferences
    • Auto-load glossary
    • Remember last glossary pack
    • Load default glossary pack
    • Apply glossary automatically during Auto-Translate
    • Clear Data => Clear glossary cache

v1.5

  • Settings
    • Appearance
      • High Contrast
      • Typography & Text
      • Color blindness filters
    • Advanced
      • Debug mode
      • Open application data directory
      • Experimental features
      • Performance settings
    • Keyboard Shortcuts
      • Customize shortcuts
    • Favorites system
      • Favorite recent translations
      • Favorite languages
      • Favorite translation providers
      • Favorite glossary entries

Nice to have

  • Extend the Installation guide to Mac and Linux Users
  • Continue writing the Troubleshooting Guide once it has new info
  • Continue writing the FAQ once it has new info
  • Acknowledge more TODOs

Built With

  • Tauri
  • React
  • ShadCN UI
  • Tailwind CSS
  • Typescript
  • Vite
  • Rust

Download

You can find the latest stable version of the I18N Translator right here

GitHub Downloads (all assets, latest release)

Usage Manual

Full documentation is available here: ➡️ Documentation

Versioning

This website follows Semantic Versioning. You can view the full Changelog for details on each website version.

Sponsors

Check out our awesome sponsors! ❤️ Sponsors List

Contributing

Contributions are Always Welcome! Please read both Code of Conduct and CONTRIBUTING.md before contributing.

Top Contributors

Top Contributors

Star History

Star History Chart

License

This project is distributed under the Apache-2.0 License. See LICENSE for more information.

Support And Follow

YouTube Patreon Codepen DeviantArt Odysee Scratch

GitHub @ArsenTech  ·  YouTube @ArsenTech  ·  Patreon ArsenTech  ·  ArsenTech's Website