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

# Languages

One server language for every Striga script, set in striga-core.

Every Striga script uses **one server language**, set in **striga-core**. Change it once and all scripts follow.

## Languages that ship

All Striga scripts ship these 11 languages:

| Code | Language | Code | Language   |
| ---- | -------- | ---- | ---------- |
| `ar` | Arabic   | `nl` | Dutch      |
| `de` | German   | `pl` | Polish     |
| `en` | English  | `pt` | Portuguese |
| `es` | Spanish  | `ru` | Russian    |
| `fr` | French   | `tr` | Turkish    |
| `it` | Italian  |      |            |

{% hint style="info" %}
**Arabic is right to left.** Its file has `"dir": "rtl"` in `_meta`.
{% endhint %}

***

## Set the server language

{% stepper %}
{% step %}

### Open striga-core/config.json

```json
"locale": "en"
```

{% endstep %}

{% step %}

### Put your code

For example `"locale": "tr"`.
{% endstep %}

{% step %}

### Restart the server

Every Striga script now uses that language.
{% endstep %}
{% endstepper %}

***

## One script in another language

Each script has `Config.Locale` in its `editable/config.lua`:

| Value               | What it does                                                                        |
| ------------------- | ----------------------------------------------------------------------------------- |
| `'auto'` (default)  | Follows the striga-core server language                                             |
| A code, e.g. `'tr'` | This script always uses `editable/locales/tr.json`, whatever the server language is |

***

## Change it live: /strigalocale

```
strigalocale de      # every Striga script switches to German, no restart
strigalocale         # shows the active language and the list
```

* Works from the **server console**, or in game for players with the staff ACE (`striga.staff`, see `staff.ace` in `striga-core/config.json`) or `command.strigalocale`.
* The change is **not saved**. After a restart the server uses `config.json` again.
* Scripts pinned with a code in `Config.Locale` keep their own language.

{% hint style="warning" %}
**Known limits after a live change**

* Key binding names in the FiveM settings (*Settings > Key Bindings > FiveM*) keep the old language until the next restart.
* In Striga Chat, lines over the head that are already on screen keep their old tag until they fade.
  {% endhint %}

***

## Edit a translation

Every script keeps its texts in `editable/locales/<code>.json`. These files are open: change any text you like.

* `_meta`: `name`, `dir` (`ltr` or `rtl`) and `intl` (a tag like `en-US`).
* `game`: texts the game shows (notifications, key names, commands).
* `ui`: texts in the script's screens.

Keep placeholders like `{name}` or `{n}` as they are. Missing keys fall back to English, and a missing file falls back to `en.json`.

After a change, restart that script.

## Add a new language

1. Copy `en.json` to `<code>.json` (for example `sv.json`) in the `editable/locales/` folder of each script you use, and translate it.
2. Pick one:
   * **One script:** set `Config.Locale = 'sv'` in that script's `editable/config.lua`.
   * **Whole server:** also add `sv.json` to `striga-core/locales/` (core's own texts), then set `"locale": "sv"` in `striga-core/config.json`. `/strigalocale` only accepts a code that has a file in `striga-core/locales/`.
3. Restart.

{% hint style="info" %}
Keep the files valid JSON. One missing comma breaks the whole file, and that script falls back to English.
{% endhint %}

***

## For developers

striga-core gives every script the same language tools: `GetLocale`, `LocaleText`, `LocaleUi`, `LocaleFiles`, `GetLocales` (both sides) and `SetLocale` (server). It fires `striga-core:client:locale` and `striga-core:locale` when the language changes.

{% content-ref url="/pages/AON7JVqMkR2qjgVuDmUA" %}
[Exports](/docs/striga-core/exports.md)
{% endcontent-ref %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://striga.gitbook.io/docs/languages.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
