--- title: i18n for Plugins --- How to internationalize your own plugin ### Create the plugins.json file The translation file for plugins should be stored in the resources path locales/*{lang}*/plugins.json All translation keys are parts of a **unique root key**. It is recommended to **use the maven artifactId of the plugin as root key** to avoid conflicts with other plugin. All translation files would be collected and merged to a single file containing all translations. Therefore it is **necessary to use a unique root key** for the translations. ***Example:*** the translation file of the svn plugin is stored in locales/en/plugins.json ```json { "scm-svn-plugin": { "information": { "checkout" : "Checkout repository" } } } ``` ### Usage in the own React components SCM-Manager use react-i18next to render translations. #### Functional components The following steps are needed to use react-i18next in the own functional components: - import react-i18next ```javascript import { useTranslation } from "react-i18next"; ``` - use the translation keys like this: ```javascript const [t] = useTranslation("plugins"); ...