Il s'agit uniquement de la description des procédures, si vous voulez découvrir le système complet, allez voir Système de localisation/traduction sur Ryzom Core.
La procédure pour traduire les différents éléments du jeu est assez simple mais demande un respect assez strict pour éviter les soucis.
Cela se passe généralement en deux passes : une pour générer la version de référence work
dans translated
puis une seconde pour générer les diff dans les différentes langues et inclure les nouveaux termes traduits.
De façon générale, il vaut mieux traduire petit à petit et éviter de conserver des fichiers en cours de travail dans diff
. Cela peut éviter d'éventuels soucis de fonctionnement du pipeline de traduction.
Il manque l'utilisation des instructions _clean
ainsi que de :
mais elles sont assez rares d'emploi.
Aller dans khanat-ressources/translation
Configurer translation_tools.cfg
Vérifier qu'on a bien translation-tools
d'installé : il s'agit d'un fichier exécutable lié à la compilation des outils NeL. Le placer dans un répertoire d'où on peut l'appeler depuis n'importe quel endroit de l'ordinateur (par exemple un répertoire /scripts_persos
à la racine de son répertoire personnel et indiqué au système comme comprenant des exécutables).
Quand on a placé de nouveaux fichiers dans le répertoire work
ou qu'on en a modifiés, on va utiliser différentes commandes des translations-tools selon les fichiers.
On ne modifie jamais manuellement aucun fichier en dehors du répertoire work
ou diff
et absolument jamais directement les fichiers générés dans translated
. C'est le meilleur moyen pour bloquer le pipeline de traduction à l'avenir.
Les commandes indiquées se lancent toujours depuis le répertoire translation
. C'est là également qu'on trouve le fichier languages.txt
(qui contient les codes des langues à gérer) et le fichier translation_tools.cfg
à adapter selon sa configuration.
Il s'agit du fichier qui sert à l'affichage des chaînes statiques dans le client (éléments d'interface généralement).
Se placer dans le répertoire translation
puis taper :
$ translation_tools make_string_diff
pour créer le diff de la version wk, aller dans le répertoire diff
et corriger/compléter.
puis retourner dans le répertoire translation
et taper
$ translation_tools merge_string_diff
Si tout va bien, le fichier dans diff
est supprimé et son contenu agrégé dans le fichier dans translated
.
On refait alors une nouvelle fois :
$ translation_tools make_string_diff
pour générer les diff
des différentes langues indiquées au système. On les modifie tous puis on relance le merge :
$ translation_tools merge_string_diff
Les autres fichiers concernent les données dynamiques pour le serveur.
On peut créer autant de fichier dans le sous-répertoire phrases
pour s'y retrouver dans sa gestion personnelle. Il faut juste vérifier qu'elles sont bien référencées dans le fichier “phrase_wk.txt” pour être prises en compte. Si on a créé de nouveaux fichiers de phrase dans le sous-répertoire phrases
, il faut les y indiquer. Il n'y aura qu'un gros fichier généré au final mais on peut en avoir autant qu'on veut à l'origine.
En dehors de cela, c'est la même procédure, en deux passes, enchaînant un make_diff puis un merge_diff à chaque fois.
$ translation_tools make_phrase_diff
puis après traduction :
$ translation_tools merge_phrase_diff
puis une seconde fois pour traduire vers les langues cible :
$ translation_tools make_phrase_diff
puis après traduction
$ translation_tools merge_phrase_diff
Pour les phrases, on doit générer un autre fichier, qu'on appelle les clauses (également en deux passes) :
$ translation_tools make_clause_diff
puis après traduction
$ translation_tools merge_clause_diff
Enfin il demeure les termes qui ne sont pas des phrases mais des objets, des titres etc. . De façon générale, tout ce qui n'est pas dans /phrases mais qui finit par words
il faut aussi taper :
Attention à l'édition de certains fichiers dynamiques, de type words
, qui sont des fichiers de format .csv, bien que notés .txt, et dont les champs sont séparés par une tabulation.
$ translation_tools make_words_diff
puis
$ translation_tools merge_words_diff