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)
Exemple d'une traduction française
frappe.("Apply") = "Appliquer"
frappe.("Apply", "Job Offer") = "Postuler"
Les chaînes de caractères traduisibles sont annotées en utilisant la méthode __
(double tiret bas).
__(string, [replace], context)
Exemple d'une traduction française
__("Apply") = Appliquer
__("Apply", null, "Job Offer") = Postuler
__("Monthly on day {}", [date_day]) = Mensuellement le [jour]
Chaque champ associé à un type de document aura automatiquement le nom du type de document passé en contexte.
To = A (en général)
To = Unité de mesure finale (dans le type de document Facteur de conversion de l'unité de mesure)Cela se traduira par deux lignes dans le fichier csv:
To,A
To,Unité de mesure finale,UOM Conversion Factor
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:
Créer un ticket sur Gitlab décrivant le mot ou la phrase mal traduite et en fournissant la traduction correcte.
Soyez, s'il vous plaît, très précis (une impression écran est toujours la bienvenue) et gardez en tête que notre équipe ne parle peut-être pas votre langue et aura des difficultés à faire la correction si votre description n'est pas assez précise.
Allez sur le code source de dokos ou de dodock.
Trouvez le fichier correspondant à votre langue, éditez le et proposez une merge request.
Cette option est recommandée si vous prévoyez de modifier un grand nombre de traductions en une fois.
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
.