Traductions
Tous les textes dans Dokos sont traductibles. Si vous trouvez un mot non traductible, veuillez ouvrir un ticket sur Gitlab.
Traductions
Tous les textes dans Dokos sont traductibles.
Si vous trouvez un mot non traductible, veuillez ouvrir un ticket sur Gitlab.
Mécanisme de traduction
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:
- Les mots composant les types de documents
- Les mots dans les fichier Python
- Les mots dans les fichier Javascript
- Les mots dans les fichier HTML
- Les mots dans les fichier VueJs
Version 1
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:
Version 2
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.
API Python
Les chaînes de caractères traduisibles sont annotées en utilisant la méthode _
(tiret bas).
frappe._(chaîne de caractères, contexte)
frappe.("Apply") = "Appliquer"
frappe.("Apply", "Job Offer") = "Postuler"
API Javascript
Les chaînes de caractères traduisibles sont annotées en utilisant la méthode __
(double tiret bas).
__(string, [replace], context)
__("Apply", null, "Job Offer") = Postuler
__("Monthly on day {}", date_day) = Mensuellement le jour
Contextes automatiques
Chaque champ associé à un type de document aura automatiquement le nom du type de document passé en contexte.
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
Format de fichier
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,
Corriger des traductions existantes
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.
Traduire de nouveaux mots
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:
Etape 1 - Obtenir toutes les phrases non traduites
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
Etape 2 - Traduisez le fichier
Traduisez toutes les phrases dans le fichier JSON généré.
Etape 3 - Mettez à jour les traductions existantes
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
Etape 4 - Migrez votre application pour terminer la mise à jour
Afin de voir les phrases traduites sur votre site, lancez:
bench migrate
Etape 5 - Proposez une merge request
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 !
Ajouter une nouvelle langue
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
.