Contribuer

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: Fichiers traductibles

Avec les mots traductibles correspondants: Mots traductibles

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)

Exemple d'une traduction française
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)

Exemple d'une traduction française __("Apply") = Appliquer
__("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 = 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

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.


CC-BY-SA 3.0