Logo ACStudioACSTUDIOFIVEM DEVELOPMENT
cdt_admin / DOCUMENTATION

Traductions

Le français (fr) et l’anglais (en) fournissent les catalogues de traduction des interfaces, notifications, menus et messages. Les libellés de raccourcis tels que Ctrl+1 conservent leur notation dans les deux langues. Les textes saisis par les joueurs (messages, raisons de sanctions, notes, noms) restent tels qu’ils ont été saisis.

Choisir la langue

Dans l’interface de configuration du script, sélectionnez la langue dans les paramètres généraux puis enregistrez. Le choix est appliqué aux interfaces ouvertes et partagé avec les clients. La valeur initiale est server.defaultLocale dans la table retournée par config/server.lua (chemin server.server.defaultLocale dans le menu de configuration).

Modifier une traduction

Les textes sont des variables nommées dans locales/fr.json et locales/en.json. Conservez les clés et les paramètres ({name}, %s, %d, etc.) lorsque vous modifiez les valeurs. Les clés de la section strings servent aux textes historiques ; les autres sections regroupent les textes par fonction.

Les JSON sont lus directement par la ressource. Redémarrez cdt_admin après modification des fichiers de langue. Le français est aussi inclus comme catalogue de secours dans shared/locale_defaults.lua et nui/utils/localeDefaults.js. Dans le dépôt de développement, node tools/sync-locales.cjs régénère ces deux fichiers après modification du français ; cet outil n’est pas fourni dans le ZIP. Dans la livraison, vous pouvez modifier les JSON pour les traductions utilisées normalement ; une modification des textes de secours demande de modifier aussi ces deux fichiers source.

Ajouter une langue

  1. Copiez locales/fr.json vers un fichier portant le code de la langue, par exemple locales/pl.json.
  2. Traduisez les valeurs en conservant les clés et les paramètres.
  3. Ajoutez ["pl", "Polski"] dans le tableau de locales/languages.json.
  4. Redémarrez la ressource : cette langue apparaît dans le sélecteur.

Une traduction absente utilise automatiquement le texte français. Seuls le français et l’anglais sont fournis dans cette version.

Ajouter de nouveaux textes

Une variable peut être ajoutée dans chaque dictionnaire :

"custom": {
  "greeting": "Bonjour {name}"
}

Dans Lua : require('shared.locales').t('custom.greeting', { name = playerName }).

Dans l’interface JavaScript : locale('custom.greeting', { name: playerName }), importé depuis nui/utils/locales.js. Utilisez textContent pour afficher ce texte ; pour les modèles HTML existants, trHtml protège les paramètres insérés.

Pour un texte HTML statique : <span data-locale="custom.greeting"></span> (sans paramètre dynamique).

Vérifier les catalogues

Les commandes suivantes sont réservées au dépôt de développement : tools/ et tests/ ne sont pas inclus dans le ZIP. Installez les dépendances des outils avec npm install --prefix tools, puis lancez :

node tools/validate-locales.cjs
node tests/localization-ui.cjs
lua tests/localization.lua

Le jeu charge les traductions depuis les fichiers de la ressource, sans service de traduction externe.

← Tous les guides