---
title: plugin-i18n
---

Published as [@freesewing/plugin-i18n][1], this plugin facilitates
translation of your designs by allowing you to provide your own
language translations.

## Installation

```sh
npm install @freesewing/plugin-i18n
```

## Usage

Either [add it as a part plugins](/reference/api/part/config/plugins) in your
design, or [add it to a pattern instance with
Pattern.use()](/reference/api/pattern/use).

To import the plugin for use:
```js
import { i18nPlugin } from '@freesewing/plugin-i18n'
// or
import { pluginI18n } from '@freesewing/plugin-i18n'
```

## Notes

This plugin provides the mechanism for translation but does not come with
translations itself. For this, you can use our [i18n
package](https://www.npmjs.com/package/@freesewing/i18n).

To add your own translations, you will need to pass data to this plugin
containing translation keys and the translations for them for each language.
The data should be in the form of an `Object` structured as such:

```js
{
  strings:
    en: {
      example: "Example",
      examplePhrase: "An example phrase",
      anotherTranslationKey: "(English translation for the translation key)",
      // More translations can follow...
    },
    nl: {
      example: "Voorbeeld",
      examplePhrase: "Een voorbeeldzin",
      anotherTranslationKey: "(Dutch translation for the translation key)",
      // More translations can follow...
    },
    es: {
      example: "Ejemplo",
      examplePhrase: "Una frase de ejemplo",
      anotherTranslationKey: "(Spanish translation for the translation key)",
      // More translations can follow...
    },
    // More languages can follow...
  }
}
```

[1]: https://www.npmjs.com/package/@freesewing/plugin-i18n
