> For the complete documentation index, see [llms.txt](https://docs.ohalee.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ohalee.com/products/modern-bedwars/languages.md).

# Languages

Modern BedWars is multi-language out of the box. Each player automatically receives messages in their **Minecraft client locale**, falling back to `en_US` for any missing key.

## Where the files live

Translations are per-module `.properties` files under each module's `languages/` folder:

```
plugins/bedwars-lobby/languages/messages_en_US.properties
plugins/bedwars-lobby/languages/messages_it_IT.properties
plugins/bedwars/languages/messages_en_US.properties
plugins/bedwars/languages/messages_it_IT.properties
plugins/bedwars-proxy/languages/messages_en_US.properties
plugins/bedwars-proxy/languages/messages_it_IT.properties
```

English (`en_US`) and Italian (`it_IT`) ship by default.

## Adding a new language

Example — French (`fr_FR`):

1. Copy `messages_en_US.properties` → `messages_fr_FR.properties`.
2. Translate the **values** (keys stay in English).
3. Drop the file in the same `languages/` folder. The plugin discovers it on reload.

Repeat per module you want translated.

{% hint style="info" %}
The standalone **service** logs in English only, by design — operators read those logs, not players.
{% endhint %}
