# Languages

## 🌍 Language Support

Complete multi-language system with easy extensibility.

***

### Changing Language

```lua
Config.Locale = 'en'    -- English
Config.Locale = 'tr'    -- Turkish
```

Built-in Languages Code Language Status en English Complete tr Turkish Complete How Translation Works The Translate() function is available on both client and server:

```lua
-- Simple key
Translate('event_started')
-- Returns: "Event started!"

-- With string parameter
Translate('airdrop_claimed_by', 'John')
-- Returns: "📦 John opened the airdrop crate!"

-- With number parameter
Translate('treasure_hint_received', 2)
-- Returns: "🗺️ Hint #2 received! Search area narrowed."
```

### Adding a New Language

#### Step 1

Open config.lua and find Config.Locale\_Strings

#### Step 2

Copy the entire \['en'] block

#### Step 3

Change the key to your language code:

```lua
['de'] = {
```

#### Step 4

Translate all string values:

```lua
['de'] = {
    event_started = 'Event gestartet!',
    event_ended = 'Event beendet!',
    -- ... translate all keys
},
```

#### Step 5

Set the locale:

```lua
Config.Locale = 'de'
```

### All Translation Keys

#### General

| Key                         | EN Default                    |
| --------------------------- | ----------------------------- |
| event\_started              | Event started!                |
| event\_ended                | Event has ended!              |
| event\_joining              | Joining event...              |
| event\_reward               | Your reward: %s               |
| event\_no\_active           | No active events.             |
| event\_already\_active      | An event is already active.   |
| event\_not\_enough\_players | Not enough players. (Min: %s) |
| event\_force\_stopped       | Event stopped by admin.       |
| event\_time\_left           | Time left: %s minutes         |
| no\_permission              | You do not have permission.   |

#### Airdrop

| Key                       | EN Default                         |
| ------------------------- | ---------------------------------- |
| airdrop\_cracking         | Cracking the safe... (%s seconds)  |
| airdrop\_cracked          | Safe cracked!                      |
| airdrop\_open\_prompt     | \[E] Open Crate (%ss)              |
| airdrop\_cracking\_text   | ⏳ Cracking...                      |
| airdrop\_too\_far         | Too far from the crate! Cancelled. |
| airdrop\_already\_claimed | This crate is already claimed!     |
| airdrop\_claimed\_by      | 📦 %s opened the airdrop crate!    |

#### Hotzone

| Key                   | EN Default                          |
| --------------------- | ----------------------------------- |
| hotzone\_entered      | You entered the hotzone!            |
| hotzone\_left         | You left the hotzone.               |
| hotzone\_reward\_tick | +%s$ earned!                        |
| hotzone\_stay\_earn   | 🔥 HOTZONE - Stay in zone and earn! |

#### Convoy

| Key                   | EN Default                              |
| --------------------- | --------------------------------------- |
| convoy\_destroyed     | Convoy destroyed!                       |
| convoy\_escaped       | Convoy escaped!                         |
| convoy\_under\_attack | ⚠️ Convoy under attack! Guards engaged! |
| convoy\_reward        | 🏆 Convoy destroyed! Rewards given.     |
| convoy\_destroyed\_by | 🚛💥 %s destroyed the armored convoy!   |
| convoy\_reached       | 🚛 Convoy reached its destination!      |
| convoy\_stuck         | Vehicle stuck, rerouting...             |

#### Treasure

| Key                      | EN Default                                   |
| ------------------------ | -------------------------------------------- |
| treasure\_digging        | Digging...                                   |
| treasure\_found          | You found the treasure!                      |
| treasure\_hint           | Hint: The treasure is near %s!               |
| treasure\_dig\_prompt    | \[E] Dig                                     |
| treasure\_digging\_text  | ⛏️ Digging...                                |
| treasure\_too\_far       | Too far from treasure! Cancelled.            |
| treasure\_not\_close     | Not close enough to the treasure!            |
| treasure\_already\_found | This treasure is already found!              |
| treasure\_found\_by      | 🗺️🏆 %s found the treasure!                 |
| treasure\_hunt\_ended    | 🗺️ Treasure hunt ended! Nobody found it.    |
| treasure\_hint\_received | 🗺️ Hint #%d received! Search area narrowed. |
| treasure\_signal\_strong | 📡 SIGNAL VERY STRONG!                       |
| treasure\_dir\_north     | ↑ Go North                                   |
| treasure\_dir\_south     | ↓ Go South                                   |
| treasure\_dir\_east      | → Go East                                    |
| treasure\_dir\_west      | ← Go West                                    |

#### Announcements

| Key                | EN Default                                   |
| ------------------ | -------------------------------------------- |
| announce\_airdrop  | A supply crate has dropped from the sky!     |
| announce\_hotzone  | Hotzone is active! Enter the zone and earn!  |
| announce\_convoy   | An armored convoy is on the move!            |
| announce\_treasure | A treasure has been buried! Find it and win! |
| end\_airdrop       | Airdrop has expired.                         |
| end\_hotzone       | Hotzone has ended.                           |
| end\_convoy        | Convoy reached destination or was destroyed. |
| end\_treasure      | Treasure hunt has ended.                     |

#### Other

| Key      | EN Default     |
| -------- | -------------- |
| gps\_set | GPS route set! |


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://elena-scripts.gitbook.io/elenascripts/core-systems/el-events/languages.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
