# Gasket Intl Quick Start Guide
Get up and running with internationalization in your Gasket app in minutes.
These packages can be used for a variety of apps, including APIs, however
this document will focus on use with React components in a Next.js App.
## Prerequisites
- A Gasket app created with `create-gasket-app`
- Node.js 20 or higher
## Step 1: Install Packages
```bash
npm install @gasket/plugin-intl @gasket/intl @gasket/react-intl
```
## Step 2: Configure Gasket
Add the intl plugin to your `gasket.js`:
```js
// gasket.js
import { makeGasket } from '@gasket/core';
import pluginIntl from '@gasket/plugin-intl';
export default makeGasket({
plugins: [
pluginIntl
// ... your other plugins
],
intl: {
locales: ['en-US', 'es-ES', 'fr-FR'],
defaultLocale: 'en-US'
}
});
```
## Step 3: Create Locale Files
Create your locale files in the `locales/` directory:
```
locales/
├── en-US.json
├── es-ES.json
└── fr-FR.json
```
**locales/en-US.json:**
```json
{
"welcome": "Welcome to our app!",
"hello": "Hello, {name}!",
"navigation": {
"home": "Home",
"about": "About"
}
}
```
**locales/es-ES.json:**
```json
{
"welcome": "¡Bienvenido a nuestra aplicación!",
"hello": "¡Hola, {name}!",
"navigation": {
"home": "Inicio",
"about": "Acerca de"
}
}
```
## Step 4: Set Up Your App Component
**pages/_app.js (Next.js):**
```jsx
import { useRouter } from 'next/router';
import { IntlProvider } from 'react-intl';
import { withMessagesProvider } from '@gasket/react-intl';
import intlManager from '../intl.js'; // Generated by the plugin
const IntlMessagesProvider = withMessagesProvider(intlManager)(IntlProvider);
export default function App({ Component, pageProps }) {
const router = useRouter();
return (