Tous les textes dans Dokos sont traductibles.
Si vous trouvez un mot non traductible, veuillez ouvrir un ticket sur Gitlab.
Dokos est composé de plusieurs niveaux de données traductibles. Certaines chaînes de caractère traductibles sont disponibles dans des fichiers Python ou Javascript et certaines données enregistrées dans la base de données ont aussi besoin d'être traduites dans l'interface utilisateur pour être lisibles par tous les utilisateurs.
Les catégories principales de données traductibles sont:
Afin de permettre les traductions contextuelles pour les langues ayant plusieurs signification pour le même mot, nous avons décidé de permettre différentes traductions pour chacune de ces catégories et, dans le cas des fichiers de code, pour chaque fichier composant le système.
Ces traductions sont disponibles dans des fichiers JSON, disponibles dans le dossier {nom de l'application}/translations/
Chaque fichier traductible est listé dans le fichier de traduction JSON:
Avec les mots traductibles correspondants:
Dans la version 2 (et plus) de Dodock/Dokos nous avons décidé d'implémenter l'API contextuelle de Frappe.
Chaque chaîne de caractères dans le système peut être traduite telle quelle ou associée à un contexte pour la différencier des chaînes de caractères identiques dans d'autres parties du logiciel.
Les chaînes de caractères traduisibles sont annotées en utilisant la méthode _ (tiret bas).
frappe._(chaîne de caractères, contexte)
Les chaînes de caractères traduisibles sont annotées en utilisant la méthode __ (double tiret bas).
__(string, [replace], context)
Chaque champ associé à un type de document aura automatiquement le nom du type de document passé en contexte.
Les traductions sont disponibles dans un fichier CSV de la forme:
chaîne traduisible, traduction, contexte,
S'il n'y a pas de contexte, le format peut être:
chaîne traduisible, traduction,
En utilisant Dokos, vous vous rendez-compte qu'un mot ou une phrase est mal traduite dans votre langue. Vous avez deux options:
Si vous souhaitez mettre à jour des mots ou phrases correspondant à la dernière mise à jour de Dokos, vous pouvez aussi récupérer la liste de toutes les chaînes de caractères non encore traduites, les traduires et les fusionner avec les traductions existantes:
bench get-untranslated {code de la langue} {chemin vers un fichier temporaire}.json --app {l'application que vous souhaitez traduire}
Ex. bench get-untranslated fr /home/dokos_fr.json --app dokos
Traduisez toutes les phrases dans le fichier JSON généré.
Fusionnez vos nouvelles traductions avec les traductions existantes en utilisant la commande suivante:
bench update-translations {code de la langue} {chemin vers un fichier temporaire}.json {l'application que vous souhaitez traduire}
Ex. bench update-translations fr /home/dokos_fr.json dokos
Afin de voir les phrases traduites sur votre site, lancez:
bench migrate
Une fois vos traductions finalisées, n'oubliez pas de contribuer au projet en ouvrant une merge request. Cela ne prend que quelques minutes, mais aide énormément à améliorer le logiciel pour tout le monde !
Afin d'ajouter une nouvelle langue à Dokos, vous pouvez utiliser la commande suivante:
bench new-language {code de la langue} {application}
Ex. bench new-language de dokos
Un nouveau fichier contenant tous les mots/phrases traductibles sera créé dans le dossier translations.