Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Webi18n #385

Closed
wants to merge 2 commits into from
Closed

Webi18n #385

wants to merge 2 commits into from

Conversation

laem
Copy link
Contributor

@laem laem commented Oct 4, 2018

Désolé, ecore une PR juste commencée

Notre système de traduction de la base de règles n'est pas génial aujourd'hui. Externalize.js génère externalized.yaml avec des traductions de google quand elles n'ont pas été traduites par nos soins. On fait cette opération de mise à jour avec un script nodejs donc. De plus, on gère relativement bien les clefs de premier niveau dans une règle, mais pas les éléments plus complexes, comme les suggestions et les contrôles. La structure de externalized.yaml n'est as adaptée à ces derniers.

Au lieu de ça, il faudrait créer une page /i18n sur le site qui liste, règle par règle, le nombre d'oublis de traduction. Les règles traduites seraient une duplication de base.yaml, dans laquelle on traduirait les éléments qu'il faut traduire (nom, titre, description, suggestion.texte,valeur etc.). On doit donc éviter dans la base d'utiliser des clefs d'objet yaml come textes à afficher à l'utilisateur, d'où le commit 2edf324. On peut utiliser deep-diff pour repérer les trous (élément présent dans base.yaml mais pas traduite dans base.en.yaml, et afficher les résultats sur i18n. On améliore la traduction, le script de comparaison se relance, et ainsi de suite. La page /i18n représente l'état de la traduction.

#357

@laem laem changed the base branch from master to controle-SMIC October 4, 2018 12:42
@johangirod
Copy link
Contributor

johangirod commented Oct 19, 2018

Si on choisi d'utiliser locize.io pour nos traductions #412, je verrais bien le flow suivant, à chaque build de prod :

  • Génération automatique d'un fichier de traduction namespacé depuis base.yaml (fr.yaml)
  • Envoie du fichier de trad sur locize.io
  • Récupération du fichier de trads anglaises depuis locize.io (en.yaml)
  • Si une trad est manquante, le build fail.

Ça permet de s'assurer que notre moteur est toujours bien traduit. Cette étape de build pourrait également être lancée avant chaque publication du moteur sur npm.

@mquandalle
Copy link
Contributor

Je me permet de fermer parce que la PR n'a pas bougé depuis un moment, on pourra ré-ouvrir ultérieurement.

@mquandalle mquandalle closed this Jan 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants