Skip to content

This is a IntelliJ IDE based plugin for internationalization. Supports the most common translation file types.

License

Notifications You must be signed in to change notification settings

DatzAtWork/easy-i18n

 
 

Repository files navigation

Build Version Downloads Donate


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

Installation

  • 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

  • JSON5 Support
  • Configurable namespace and section separators
  • Define default namespace to use if none was provided
  • Enhance editor code assistance
  • XML Support
  • 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.

About

This is a IntelliJ IDE based plugin for internationalization. Supports the most common translation file types.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 98.3%
  • Kotlin 1.7%