[](https://github.com/marhali/easy-i18n/actions)
[](https://plugins.jetbrains.com/plugin/16316)
[](https://plugins.jetbrains.com/plugin/16316)
[](https://paypal.me/marhalide)
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: Key completion, annotation and referencing
- Translation key sorting and nesting can be configured
- Configurable locales directory & preferred locale for ui presentation
- Missing language translations will be indicated red
- Automatically reloads translation data if any locale file was changed
## Builtin Support
### File Types
**JSON** - **YAML** - **Properties**
### Folder Structure
- Single Directory: All translation files are within one directory
- Modularized (**Locale** \ **Namespace**)
- Modularized (**Namespace** \ **Locale**)
## Installation
- Using IDE built-in plugin system:
Settings/Preferences > Plugins > Marketplace > Search for "easy-i18n" >
Install Plugin
- Manually:
Download the [latest release](https://github.com/marhali/easy-i18n/releases/latest) 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






_For more examples, please refer to the [Examples Directory](https://github.com/marhali/easy-i18n/tree/main/example)._
## Roadmap
- [ ] JSON5 Support
- [ ] XML Support
- [ ] Mark duplicate translation values
See the [open issues](https://github.com/marhali/easy-i18n/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](https://twitter.com/marhali_de) - [Portfolio Website](https://marhali.de)
Project Link: [https://github.com/marhali/easy-i18n](https://github.com/marhali/easy-i18n)
## Donation
If the project helps you to reduce development time, you can give me a [cup of coffee](https://paypal.me/marhalide) :)
---
Plugin based on the [IntelliJ Platform Plugin Template][template].
[template]: https://github.com/JetBrains/intellij-platform-plugin-template