Internationalization

Support multiple languages in your app | Expo Starter

iOS
Web
Android

This documentation will guide you through configure internationalization (i18n) in your project.

Step 1: Configuration

Update configuration file to support multiple languages in your app.

config.ts
const config = {
  availableAppLanguages: ["en", "fr"] as const,
  // rest of the configuration
}

Step 2: Create or update Translation Files

Create translation JSON files in a locales directory (or any other directory you prefer). For example:

./i18n/locales/en/translation.json
./i18n/locales/es/translation.json

Example translation.json (English):

{
  "welcome": "Welcome to our app!",
  "login": "Login"
}

Example translation.json (Spanish):

{
  "welcome": "¡Bienvenido a nuestra aplicación!",
  "login": "Iniciar sesión"
}

Step 5: Use Translations in Your Components

Use the useTranslation hook from react-i18next to access translations:

import React from 'react';
import { useTranslation } from 'react-i18next';
 
const WelcomeMessage = () => {
  const { t } = useTranslation();
  return <Text>{t('welcome')}</Text>;
};

You can use Sherlock to manage translations in your project. Sherlock is a VS Code extension that helps you manage translations in your codebase.

On this page

sidecard

No native development experience? No problem.

Use your existing web dev skills to get your app on the store!