---
title: Internationalization in Symfony
description: Learn how to set up basic internationalization using field-level translation within your Symfony project.
url: https://storyblok.com/docs/guides/symfony/internationalization
---

# Internationalization in Symfony

Implement a basic field-level translation in a Symfony project.

## Setup

In your space, open **Settings** → **Internationalization** → **Languages** and add `es` (Spanish).

1.  In the `article` content type block, set the `title` and `content` fields as **Translatable**.
2.  Open each article, select the Spanish language, and add translations to every field. You can also use [AI Translations](https://www.storyblok.com/docs/editor-guides/ai-translations).

> [!NOTE]
> Enable Storyblok's AI features, and use [AI translations](https://www.storyblok.com/docs/manuals/ai-assistance#ai-translations).

## **Add the language prefix**

In the code editor, update the route configuration to support the language path.

config/routes/storyblok.yaml

```plaintext
resource: '@StoryblokBundle/config/routes/webhook.php'
storyblok_content_type:
resource: '@StoryblokBundle/config/routes/content_type.php'
    prefix:
        es: '/es'
        en: ''
```

The Symfony bundle automatically handles the multilingual routing and fetches the content that matches the locale prefix.

To configure the language in the controller logic or the templates, access the current locale using the `request` object.

## Related resources

[Concept: Internationalization](/docs/concepts/internationalization)

[Symfony Locale Handling](https://symfony.com/doc/current/translation/locale.html)

  

## Pagination

-   [Previous: Content Modeling in Symfony](/docs/guides/symfony/content-modeling)
