# Internationalization

Mantis supports four types of international languages ('**en**' - English, '**fr**' - French, '**ro**' - Romanian, '**zh**' - Chinese). You can switch language from the header bar. We internationalize the main menu for all four languages, When you change it from the header, you will see the effect there. If you want to configure one more language or set a default language then continue reading below\...

## How does it work?

Data for locale files exist at **`src\utils\locales`**

{% code title=".json file" %}

```javascript
{
  "accordion": "Accordion",
  "account-profile": "Account Profile",
  "add-new-product": "Add New Product",
  ...
  ...
}
```

{% endcode %}

To change Locale, open the file **`src\config.js`** file and set language

{% tabs %}
{% tab title="JavaScript" %}
{% code title="config.js" %}

```javascript
const config = {
    ...
    i18n: 'en', // 'en' - English, 'fr' - French, 'ro' - Romanian, 'zh' - Chinese
    ...
}
```

{% endcode %}
{% endtab %}

{% tab title="TypeScript" %}

```typescript
import { PaletteMode } from '@material-ui/core';

const config: {
    ...
    i18n: string;
    ...    
    };
} = {
    ...
    // 'en' - English, 'fr' - French, 'ro' - Romanian, 'zh' - Chinese
    i18n: 'en',
    ...
};

export default config;
```

{% endtab %}
{% endtabs %}

Open file **`App.js`** and apply **IntlProvider**

{% tabs %}
{% tab title="JavaScript" %}
{% code title="App.js" %}

```javascript

...
...

// ===========================|| APP ||=========================== //

const App = () => (
...
      <Locales>
      ...      
      </Locales>
...
);

export default App;
```

{% endcode %}
{% endtab %}

{% tab title="TypeScript" %}

```typescript

...
...

// ===========================|| APP ||=========================== //

const App = () => (
...
      <Locales>
      ...      
      </Locales>
...
);

export default App;
```

{% endtab %}
{% endtabs %}
