> ## Documentation Index
> Fetch the complete documentation index at: https://hercules.app/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Internationalization

> Add multi-language support. Language switcher, locale URLs, RTL support. Support 100+ languages.

Add internationalization to your Hercules app to support different languages and locales.

<div className="screenshot sunset">
  <img src="https://mintcdn.com/zeus-0f6dadbf/0l0xH9EhAVborksz/images/apps/internationalization-switcher.png?fit=max&auto=format&n=0l0xH9EhAVborksz&q=85&s=1439d3b7410737308b2671c16c560bb8" alt="Internationalization switcher" className="w-full rounded-xl" style={{ maxWidth: "300px" }} width="526" height="408" data-path="images/apps/internationalization-switcher.png" />
</div>

### How do I add internationalization?

Tell Hercules with a prompt like:

```text Add internationalization wrap theme={}
Allow my app to support English, Spanish, Japanese, and Arabic
```

Hercules will configure your app with full internationalization support including language detection, URL routing, and translated content.

### How does it work?

Once internationalization is enabled, your app will:

1. **Show a language switcher:** Users use a dropdown to select their preferred language from anywhere in your app
2. **Prefix URLs with the locale:** Your URLs will always include the language code e.g.
   * `myapp.com/` becomes `myapp.com/en`
   * `myapp.com/about` becomes `myapp.com/en/about`
3. **Serve translated content:** All text content will be displayed in the user's chosen language

### What languages can Hercules support?

Hercules comfortably supports the top 100 languages including English, French, Spanish, German, Arabic, Chinese, Japanese, Portuguese, and many more.

### When should I add internationalization?

We recommend adding internationalization **after finalizing your text content**.

Translations cost credits to generate. It's more efficient to finalize your copy first, then translate everything in one go rather than re-translating every time you make a change.

**Recommended approach:**

1. Build and finalize your app in your base language
2. Review all copy and make final edits
3. Add internationalization and translate to all target languages at once

Alternatively, you can develop with only your base language enabled, then add additional languages when you're ready to launch internationally.

### Additional FAQ

<AccordionGroup>
  <Accordion title="Can it support right-to-left (RTL) languages?">
    Yes. Hercules fully supports right-to-left languages like Arabic, Hebrew, and Persian. When a user selects an RTL language, your app's layout will automatically adjust.
  </Accordion>

  <Accordion title="Can it format numbers and dates for different locales?">
    Yes. Just tell Hercules the formatting standards you want and it will follow them. This includes
    number formats (1,000 vs 1.000), date formats (MM/DD/YYYY vs DD/MM/YYYY), and currency symbols.
  </Accordion>

  <Accordion title="Will Hercules keep translations up to date?">
    Yes. Once internationalization is set up, Hercules will try to keep translations up to date when
    you make changes to your content. However, for the most cost-effective approach, we recommend
    batching content changes before triggering new translations.
  </Accordion>

  <Accordion title="Can I manually edit translations?">
    Yes. Tell Hercules any specific translations you'd like to override to ensure it matches your brand voice and terminology.
  </Accordion>
</AccordionGroup>
