2021-10-17 17:34:55 +02:00
***
## title: i18n
2021-08-25 16:09:31 +02:00
[](/plugins)
2021-10-17 17:34:55 +02:00
2021-08-25 16:09:31 +02:00
[](https://www.npmjs.com/package/@freesewing/plugin -i18n)
2021-10-17 17:34:55 +02:00
[](https://deepscan.io/dashboard#view =project\&tid=2114\&pid=2993\&bid=23256)
2021-08-25 16:09:31 +02:00
[](https://github.com/freesewing/freesewing/issues?q=is%3Aissue+is%3Aopen+label%3Apkg%3Aplugin-i18n)
The **i18n** plugin provides translation for your pattern:
2021-10-17 17:34:55 +02:00
\<Example part="path\_attr" caption="An example in English" design={false} options={{locale: 'en'}} />
\<Example part="path\_attr" caption="An example in French" design={false} options={{locale: 'fr'}} />
2021-08-25 16:09:31 +02:00
It uses the [`insertText` ](/plugins#inserttext ) hook to do so.
< Note >
This plugin provides the mechanism for translation, but does not come with translations itself.
For this, you can use our [i18n package ](/reference/packages/i18n ).
< / Note >
## Installation
```bash
npm install @freesewing/plugin -i18n
```
## Usage
2021-10-17 17:34:55 +02:00
Like all [build-time plugins ](/guides/plugins/#build-time-plugins ), you load them
2021-08-25 16:09:31 +02:00
by passing them to the [`freesewing.Design` ](/reference/api#design ) constructor:
```js
import aaron from "@freesewing/aaron ";
import i18n from "@freesewing/plugin -i18n";
import translations from "@freesewing/i18n ";
const pattern = new aaron()
.use(i18nPlugin, { strings: translations });
```
You should also pass a second argument which holds your translations.
It should be structured as such:
```js
{
strings:
en: {
example: "Example"
},
nl: {
example: "Voorbeeld"
},
// More languages can follow
}
}
```