---
title: i18n
---
[](/plugins)
[](https://www.npmjs.com/package/@freesewing/plugin-i18n)
[](https://deepscan.io/dashboard#view=project&tid=2114&pid=2993&bid=23256)
[](https://github.com/freesewing/freesewing/issues?q=is%3Aissue+is%3Aopen+label%3Apkg%3Aplugin-i18n)
The **i18n** plugin provides translation for your pattern:
It uses the [`insertText`](/plugins#inserttext) hook to do so.
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).
## Installation
```bash
npm install @freesewing/plugin-i18n
```
## Usage
Like all [build-time plugins](/guides/plugins/#build-time-plugins), you load them
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
}
}
```