Formats / Rails YAML

Du YAML Rails, avec la clé racine de langue écrite pour vous

Un fichier de langue Rails ressemble à du YAML imbriqué ordinaire. Deux détails décident si le fichier que vous récupérez se charge dans la langue voulue.

.yml / .yaml

La clé racine est la langue, et elle doit changer à la sortie

Rails enveloppe tout un fichier de langue dans une clé de premier niveau : en: dans le fichier anglais, fr: dans le français. Copiez le fichier anglais, traduisez chaque valeur, oubliez la racine, et Rails charge vos textes français comme une deuxième copie de l'anglais.

Linguiqo lit la clé racine comme la langue et non comme une partie de chaque clé, si bien que cart.empty dans en.yml et cart.empty dans fr.yml sont reconnus comme le même texte. À l'export, la racine est écrite comme la langue exportée, avec l'orthographe de votre fichier : pt-BR reste pt-BR.

Un fichier dont l'unique clé de premier niveau n'est pas une langue, comme app: dans un catalogue Symfony, garde cette clé exactement telle qu'elle était.

Les clés imbriquées deviennent une adresse par texte

Chaque niveau d'imbrication devient un point : le traducteur voit checkout.cart.empty, le même nom que votre code passe à t(). À l'export, les points redeviennent une imbrication et une liste reste une liste : errors: [First, Second] revient comme une liste, pas comme un hash aux clés 0 et 1.

Les valeurs longues ne sont jamais coupées sur plusieurs lignes et les caractères accentués sont écrits tels quels plutôt qu'en séquences d'échappement, pour que le fichier reste lisible dans un diff.

Les interpolations sont vérifiées, pas seulement copiées

Une traduction qui oublie %{count} ou renomme %{name} en %{nom} affiche une variable littérale ou lève une erreur à l'exécution. Linguiqo reconnaît l'interpolation Rails comme une variable, et les contrôles de qualité signalent une traduction dont les variables ne correspondent pas au texte source.

Questions

Puis-je importer du .yaml comme du .yml ?

Oui. Les deux extensions sont reconnues, et le format est détecté à partir du nom du fichier lors de l'envoi.

Comment sont gérées les clés de pluriel de Rails ?

Un hash de pluriel comme items: { one: ..., other: ... } arrive sous forme de textes séparés, items.one et items.other, et repart avec la même imbrication. Linguiqo n'ajoute pas les formes supplémentaires dont une langue comme le tchèque ou le polonais a besoin ; pour ces langues, ajoutez les clés few et many au fichier source.

Une clé avec contexte survit-elle ?

YAML n'a pas de champ pour le contexte, donc chaque clé contient un texte. Si un projet a deux textes sous une même clé, l'export indique lequel serait laissé de côté avant d'écrire le fichier.

Importez un fichier Rails YAML et voyez par vous-même

La démo lit un vrai fichier à vous et montre le résultat. Sans compte, et tout est supprimé au bout de deux heures.

Ouvrir la démo

Ce qu'est Linguiqo