easy-i18n

Project Url: marhali/easy-i18n
Introduction: This is a IntelliJ IDE based plugin for internationalization. Supports the most common translation file types.
More: Author   ReportBugs   
Tags:
Build Version Downloads Donate
Logo

Easy I18n

Examples · Report Bug · Request Feature

This is a plugin for easier management of translation files for projects that need to be translated into different languages. Translating large projects has never been so easy with your favorite IDE! This plugin can be used for any project based on one of the formats and structures listed below. ## Features - UI Tool-Window which supports tree-view and table-view - Easily Add / Edit / Delete translations - Filter all translations with full-text-search support - Editor Assistance: translation intention, completion-contributor, key-annotation and -folding - Translation key sorting and nesting can be configured - Extensive configuration options: locales directory, preferred locale, key delimiters - Missing language translations will be indicated red - Automatically reloads translation data if any locale file was changed ## Builtin Support ### File Types JSON - JSON5 - YAML - Properties ### Folder Structure - Single Directory: All translation files are within one directory - Modularized (Locale \ Namespace) - Modularized (Namespace \ Locale) ### Language Support JavaScript / TypeScript - Vue - Java - Kotlin - PHP
  • Using IDE built-in plugin system:

    Settings/Preferences > Plugins > Marketplace > Search for "easy-i18n" > Install Plugin

  • Manually:

    Download the latest release and install it manually using Settings/Preferences > Plugins > ⚙️ > Install plugin from disk...

Configuration

  • Install plugin. See Installation section
  • Create a directory that will contain all translation files
  • Create your individual translation files (e.g. en.json, de.json). See examples if you need assistance.
  • Click on the Settings action inside the EasyI18n Tool-Window (View > Tool Windows > Easy I18n)
  • Specify locales directory
  • Select folder structure and file parser to apply to your translation files
  • Translations can now be created / edited or deleted

Screenshots

Tree View TableView KeyCompletion KeyAnnotation KeyEdit Settings

For more examples, please refer to the Examples Directory.

Roadmap

  • [X] JSON5 Support
  • [X] Configurable namespace and section separators
  • [X] Define default namespace to use if none was provided
  • [X] Enhance editor code assistance
  • [ ] XML Support
  • [X] Mark duplicate translation values
  • [ ] Python language assistance

See the open issues for a full list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Marcel Haßlinger - @marhali_de - Portfolio Website

Project Link: https://github.com/marhali/easy-i18n

Donation

If the project helps you to reduce development time, you can give me a cup of coffee :)


Plugin based on the IntelliJ Platform Plugin Template.

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools