# easy-i18n ![Build](https://github.com/marhali/easy-i18n/workflows/Build/badge.svg) [![Version](https://img.shields.io/jetbrains/plugin/v/16316.svg)](https://plugins.jetbrains.com/plugin/16316) [![Downloads](https://img.shields.io/jetbrains/plugin/d/16316.svg)](https://plugins.jetbrains.com/plugin/16316) [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://paypal.me/marhalide) This is a plugin for easier management of translation files of projects that need to be translated into different languages. Translating large projects has never been so easy with your favorite IDE! ## Use Cases - Webapps: [Vue](https://vuejs.org/) with [vue-i18n](https://kazupon.github.io/vue-i18n/), [React](https://reactjs.org/) or any other json based technology - Java projects based on Resource-Bundle's - Projects that uses yaml, json or properties as locale file base for internationalization ## Features - UI Tool Window which supports tree- or table-view - Easily Add / Edit / Delete translations - Filter function with full-text-search support - Editor Assistance: Key completion, annotation and referencing - Key sorting and nesting can be configured - Configurable locales directory & preferred locale for ui presentation - Missing language translations will be indicated red - Quick actions: right-click or DEL to edit or delete a translation - Automatically reloads translation data if any locale file was changed ## Screenshots ![Tree View](https://raw.githubusercontent.com/marhali/easy-i18n/main/example/images/tree-view.PNG) ![TableView](https://raw.githubusercontent.com/marhali/easy-i18n/main/example/images/table-view.PNG) ![KeyCompletion](https://raw.githubusercontent.com/marhali/easy-i18n/main/example/images/key-completion.PNG) ![KeyAnnotation](https://raw.githubusercontent.com/marhali/easy-i18n/main/example/images/key-annotation.PNG) ![KeyEdit](https://raw.githubusercontent.com/marhali/easy-i18n/main/example/images/key-edit.PNG) ![Settings](https://raw.githubusercontent.com/marhali/easy-i18n/main/example/images/settings.PNG) ## Supported IO Strategies (locale files) - Json: json files inside locales directory - Namespaced Json: Multiple json files per locale directory - Yaml: yml or yaml files inside locales directory - Properties: properties files inside locales directory If there are any files in the locales folder that should not be processed, they can be ignored with the Translation file pattern option. ## 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 which will hold the locale files - Create a file for each required locale (e.g de.json, en.json) Note: Each json file must at least define an empty section (e.g. **{}**) - Click on the **Settings** Action inside the EasyI18n Tool Window - Select the created directory (optional: define the preferred locale to view) and press **Ok** - Translations can now be created / edited or deleted Examples for the configuration can be found in the [/example](https://github.com/marhali/easy-i18n/tree/main/example) folder. ## 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