> For the complete documentation index, see [llms.txt](https://bsensei-script.gitbook.io/bsensei-script-documentation-officiel-fivem/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bsensei-script.gitbook.io/bsensei-script-documentation-officiel-fivem/systemes-and-gestion/bsensei-annonce-entreprise-systeme-dannonce-style/traduction.md).

# Traduction

## 🌍 Traduction

Les textes de **BSensei Annonces Entreprises** peuvent être personnalisés directement depuis le fichier `config.lua`.

Tu peux modifier les messages, les titres du menu et les textes de l’éditeur sans toucher au fonctionnement principal du script.

***

### 📁 Localisation du fichier

Les textes personnalisables se trouvent ici :

```
BSensei_annonces/config.lua
```

Ils sont regroupés dans la section :

```lua
Config.Text = {
}
```

Après chaque modification, redémarre la ressource :

```
restart BSensei_annonces
```

***

### 🔧 Structure des traductions

La configuration des textes se présente sous cette forme :

```lua
Config.Text = {
    Cooldown = "⏳ Tu dois attendre encore %s secondes avant de refaire une annonce.",
    NotAllowed = "❌ Ton entreprise ne peut pas faire d’annonces.",
    Cancel = "Annonce annulée.",
    NoMessage = "Tu dois écrire un message avant d’envoyer ton annonce.",
    MenuTitle = "Annonces Entreprises",
    MenuOptionCreate = "📰 Faire une annonce",
    MenuOptionCancel = "❌ Annuler",
    InputTitle = "Annonce Entreprise",
    InputPlaceholder = "Votre texte (max 120 caractères)"
}
```

Les éléments placés à gauche sont les clés utilisées par le script :

```
Cooldown
NotAllowed
Cancel
NoMessage
MenuTitle
MenuOptionCreate
MenuOptionCancel
InputTitle
InputPlaceholder
```

⚠️ Ne modifie pas le nom de ces clés.

Modifie uniquement les textes placés entre guillemets.

***

### ⏳ Message du cooldown

```lua
Cooldown = "⏳ Tu dois attendre encore %s secondes avant de refaire une annonce."
```

Le `%s` est automatiquement remplacé par le nombre de secondes restantes.

Exemple affiché en jeu :

```
⏳ Tu dois attendre encore 120 secondes avant de refaire une annonce.
```

Exemple personnalisé :

```lua
Cooldown = "⏳ Une annonce a déjà été publiée. Patiente encore %s secondes."
```

⚠️ Conserve obligatoirement le `%s`.

***

### 🚫 Entreprise non autorisée

```lua
NotAllowed = "❌ Ton entreprise ne peut pas faire d’annonces."
```

Ce message apparaît lorsque le métier du joueur n’est pas présent dans `Config.Jobs`.

Exemple personnalisé :

```lua
NotAllowed = "❌ Votre entreprise n’est pas autorisée à utiliser ce service."
```

***

### ❌ Annulation de l’annonce

```lua
Cancel = "Annonce annulée."
```

Exemple personnalisé :

```lua
Cancel = "La création de votre annonce a été annulée."
```

***

### 📝 Message vide

```lua
NoMessage = "Tu dois écrire un message avant d’envoyer ton annonce."
```

Ce texte apparaît lorsqu’un joueur tente d’envoyer une annonce sans contenu.

Exemple personnalisé :

```lua
NoMessage = "❌ Veuillez rédiger un message avant de publier l’annonce."
```

***

### 📢 Titre du menu

```lua
MenuTitle = "Annonces Entreprises"
```

Exemple personnalisé :

```lua
MenuTitle = "Communication des entreprises"
```

***

### 📰 Bouton de création

```lua
MenuOptionCreate = "📰 Faire une annonce"
```

Exemple personnalisé :

```lua
MenuOptionCreate = "📢 Rédiger une nouvelle annonce"
```

***

### ↩️ Bouton d’annulation

```lua
MenuOptionCancel = "❌ Annuler"
```

Exemple personnalisé :

```lua
MenuOptionCancel = "↩️ Fermer le menu"
```

***

### 🖊️ Titre de l’éditeur

```lua
InputTitle = "Annonce Entreprise"
```

Exemple personnalisé :

```lua
InputTitle = "Création de votre annonce"
```

***

### 💭 Texte indicatif

```lua
InputPlaceholder = "Votre texte (max 120 caractères)"
```

Ce texte apparaît dans la zone de rédaction avant que le joueur commence à écrire.

Exemple personnalisé :

```lua
InputPlaceholder = "Rédigez ici le message de votre entreprise..."
```

⚠️ Modifier le nombre indiqué dans ce texte ne change pas automatiquement la véritable limite de caractères.

***

### 🇫🇷 Exemple complet en français

```lua
Config.Text = {
    Cooldown = "⏳ Vous devez patienter encore %s secondes avant de publier une nouvelle annonce.",
    NotAllowed = "❌ Votre entreprise n’est pas autorisée à publier des annonces.",
    Cancel = "Création de l’annonce annulée.",
    NoMessage = "❌ Veuillez écrire un message avant de continuer.",
    MenuTitle = "Communication des entreprises",
    MenuOptionCreate = "📢 Créer une annonce",
    MenuOptionCancel = "↩️ Fermer",
    InputTitle = "Nouvelle annonce",
    InputPlaceholder = "Rédigez le message de votre entreprise..."
}
```

***

### 🇬🇧 Exemple complet en anglais

Pour utiliser le script entièrement en anglais, remplace les textes français par ceux-ci :

```lua
Config.Text = {
    Cooldown = "⏳ You must wait another %s seconds before sending another announcement.",
    NotAllowed = "❌ Your company is not allowed to publish announcements.",
    Cancel = "Announcement cancelled.",
    NoMessage = "❌ You must write a message before sending your announcement.",
    MenuTitle = "Company Announcements",
    MenuOptionCreate = "📢 Create an announcement",
    MenuOptionCancel = "↩️ Close",
    InputTitle = "New Company Announcement",
    InputPlaceholder = "Write your company announcement here..."
}
```

⚠️ Le `%s` doit rester présent dans le message du cooldown.

***

### 🌐 Ajouter une autre langue

Le script utilise les textes présents dans `Config.Text`.

Pour créer une version espagnole, allemande ou italienne, traduis simplement chaque valeur sans modifier les clés.

#### Exemple en espagnol

```lua
Config.Text = {
    Cooldown = "⏳ Debes esperar %s segundos antes de publicar otro anuncio.",
    NotAllowed = "❌ Tu empresa no puede publicar anuncios.",
    Cancel = "Anuncio cancelado.",
    NoMessage = "❌ Debes escribir un mensaje antes de enviar el anuncio.",
    MenuTitle = "Anuncios de Empresas",
    MenuOptionCreate = "📢 Crear un anuncio",
    MenuOptionCancel = "↩️ Cerrar",
    InputTitle = "Nuevo anuncio",
    InputPlaceholder = "Escribe aquí el anuncio de tu empresa..."
}
```

💡 Une seule version de `Config.Text` doit être active dans le fichier.

***

### 🖥️ Textes de l’interface NUI

La majorité des textes importants sont disponibles dans `Config.Text`.

Certains petits éléments visuels de l’éditeur peuvent également se trouver dans :

```
BSensei_annonces/html/index.html
```

ou :

```
BSensei_annonces/html/script.js
```

Tu peux notamment y retrouver certains textes liés :

* aux outils de mise en forme ;
* aux catégories d’emojis ;
* aux boutons de l’éditeur ;
* à la prévisualisation ;
* à l’envoi de l’annonce.

⚠️ Dans les fichiers HTML et JavaScript, modifie uniquement les textes visibles.

Ne renomme pas :

* les identifiants `id` ;
* les classes CSS ;
* les événements NUI ;
* les fonctions JavaScript ;
* les noms des actions envoyées au client.

***

### 🔤 Accents et caractères spéciaux

Enregistre toujours les fichiers au format :

```
UTF-8
```

Cela permet de conserver correctement :

```
é è ê à ç ù œ
```

Si des caractères étranges apparaissent, comme :

```
Ã©
Ã¨
Ã 
```

le fichier a probablement été enregistré avec un mauvais encodage.

Dans Visual Studio Code, sélectionne :

```
UTF-8
```

puis enregistre à nouveau le fichier.

***

### ⚠️ Erreurs à éviter

* Ne renomme pas les clés de `Config.Text`
* Ne supprime pas les guillemets
* Conserve les virgules entre les lignes
* Ne supprime pas le `%s` du cooldown
* Ne crée pas deux sections `Config.Text`
* Ne modifie pas les événements NUI
* Ne renomme pas les fonctions JavaScript
* Enregistre les fichiers en UTF-8
* Redémarre la ressource après chaque modification

***

### 🧪 Vérification des traductions

Après avoir modifié les textes, redémarre le script :

```
restart BSensei_annonces
```

Teste ensuite :

1. L’ouverture de `/annonce`
2. Le titre du menu
3. Le bouton de création
4. Le bouton d’annulation
5. Le texte indicatif de l’éditeur
6. L’envoi d’un message vide
7. L’utilisation avec un métier non autorisé
8. Le message de cooldown

***

➡️ **Étape suivante : Système de notifications**


---

# 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 dynamically by asking a question.

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

```
GET https://bsensei-script.gitbook.io/bsensei-script-documentation-officiel-fivem/systemes-and-gestion/bsensei-annonce-entreprise-systeme-dannonce-style/traduction.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
