# InternationalizationSet up multilingual Thulite sites using Hugo language config, translated content paths, and i18n string files for consistent localized experiences.

Internationalization (i18n) in Thulite is powered by Hugo's multilingual mode.

## Quick setup

{{< steps >}}
{{< step >}}
Define your languages in `config/_default/languages.toml`.
{{< /step >}}
{{< step >}}
Create language-specific content directories (for example, `content/en`, `content/de`, `content/nl`).
{{< /step >}}
{{< step >}}
Add translated pages with matching paths in each language directory.
{{< /step >}}
{{< step >}}
Add UI string translations in `i18n/*.toml`.
{{< /step >}}
{{< /steps >}}

## Configure languages

In `config/_default/languages.toml`, each language has its own settings:

```toml {title="languages.toml"}
[en]
  languageName = "English"
  contentDir = "content/en"
  weight = 10

[de]
  languageName = "German"
  contentDir = "content/de"
  weight = 15
```

`contentDir` tells Hugo where to find content for each language.

## Add translated content

Keep the same relative path for each translation.

- English: `content/en/docs/getting-started.md`
- German: `content/de/docs/getting-started.md`

This keeps URLs and page structure aligned across languages.

## Translate interface strings

Store shared UI translations in `i18n` files, such as:

- `i18n/en.toml`
- `i18n/de.toml`
- `i18n/nl.toml`

Example:

```toml
[read_more]
other = "Read more"
```

Use Hugo's `i18n` function in templates to render translated strings.

## Learn more

<!-- markdownlint-disable MD034 -->

{{< card-grid >}}
{{< link-card src="svgs/simple-icons/hugo.svg" title="Multilingual mode" description="Official Hugo guide to configure and manage multilingual sites." href="https://gohugo.io/content-management/multilingual/" target="_blank" >}}
{{< /card-grid >}}

<!-- markdownlint-enable MD034 -->
