Garry's Mod

Garry's Mod

Florian's Script - Character System
 This topic has been pinned, so it's probably important
Florian #  [developer] Mar 6, 2020 @ 12:11pm
[FR] Comment ajouter des traductions supplémentaires ?
Cet addon est publié avec deux langues traduites par défaut, néanmoins vous pouvez facilement ajouter de nouvelles langues de traduction. Il y a deux manières de faire.

  1. En ajoutant de nouvelles traductions dans le fichier "fscript_translations.lua" dans le dossier de l'addon.
  2. En utilisant l'événement "FScript.OnLoadScriptTranslations".

Si vous n'avez pas envie de modifier le fichier de traduction et que vous voulez "externaliser" les modifications (un peu comme le darkrp modification), utiliser l'événement, si vous êtes assez aguerri, alors faites-le directement dans le fichier.

Méthode 1 : Ajouter des traductions via le fichier "fscript_translations.lua".

Ce fichier se trouve dans le dossier "lua" de l'addon. Tout en bas du fichier, vous verrez marquer plusieurs fois "ADD YOUR TRANSLATIONS HERE, NOT FURTHER DOWN.", vous devrez insérer vos traductions ici et non pas plus bas. Il suffit donc de copier/coller une des deux traductions originales et vous pouvez commencer !

FScript.Lang["FR"] = { TooManyCharacters = "Vous avez atteint la limite maximale de personnages pouvant être crées.", MustBeAlive = "Vous devez être obligatoirement vivant pour pouvoir faire cette action.", MustPlayCharacter = "Vous devez jouer un personnage pour pouvoir faire cette action.", [...] }

Méthode 2 : Ajouter des traductions via l'événement "FScript.OnLoadScriptTranslations".

Pour cette méthode, vous devrez créer un fichier qui pourra être lu par le serveur et par le client donc par exemple dans "lua/autorun" et qui peut s'appeler "mestraductions_fscript.lua".

hook.Add("FScript.OnLoadScriptTranslations", "MesTraductions_FScript", function() FScript.Lang["FR"] = { TooManyCharacters = "Vous avez atteint la limite maximale de personnages pouvant être crées.", MustBeAlive = "Vous devez être obligatoirement vivant pour pouvoir faire cette action.", MustPlayCharacter = "Vous devez jouer un personnage pour pouvoir faire cette action.", [...] } end)

Une fois le fichier créé, vous devrez ajouter un déclencheur (hook.Add) comme le fait l'exemple ci-dessus puis copier à l'intérieur une des deux traductions originales pour pouvoir la traduire dans une autre.

FScript.Lang["FR"] ← LES DEUX LETTRES ENTRE GUILLEMETS !

Ce que j'indique en gras est le code ISO du pays de votre traduction, en effet chaque pays possède un code d'identification international, vous pouvez les retrouver ici[fr.wikipedia.org]. Si vous voulez traduire en espagnol, alors le code sera "ES", en italien "IT", etc...

Vous trouvez ça difficile ? Malheureusement, je n'ai pas d'alternative à ce système pour permettre d'adapter la langue du script en fonction de la langue du serveur.

N'oubliez que si des traductions sont manquantes ou invalides, votre traduction ne sera pas chargée et une erreur s'affichera dans la console (plus probablement au démarrage de votre serveur). Également, si la langue de votre serveur ne possède pas de traduction dans le script, le script chargera toujours la langue anglaise.
Last edited by Florian #; Mar 7, 2020 @ 5:54am