ManuceTraduire un fichierTraduire une application Angular en espagnol

Traduire une application Angular en espagnol

Pour traduire une application Angular en espagnol, déposez le fichier produit par <code>ng extract-i18n</code> (messages.xlf, en XLIFF 1.2 ou 2.0). Manuce remplit les cibles en espagnol, conserve les balises d’interpolation et rend le même fichier, prêt à devenir votre messages.es.xlf, avec un rapport des chaînes non traduites.

Déposer mon fichier Voir les tarifs

Combien ça coûte

Pour les fichiers de langue d'une application Angular totalisant environ 2 500 mots, vers l’espagnol :

Essentiel
15 €

Comprendre, usage interne.

Professionnel
45 €

Prêt à transmettre, par le spécialiste technique.

Premium
88 €

Relecture croisée. Pour ce qui engage.

Prix pour une langue, mise en page d'origine comprise. TVA non applicable, article 293 B du CGI. Le devis exact, calculé sur le nombre de mots de votre fichier, s'affiche avant paiement.

Ce que contient messages.xlf et ce qui part en traduction

Angular ne traduit pas vos composants : il extrait les textes marqués i18n dans les gabarits et les chaînes $localize du code TypeScript, puis les regroupe dans un fichier XLIFF. Chaque unité contient une source et, après traduction, une cible. C’est uniquement ce texte qui est traduit.

Les éléments dynamiques apparaissent sous forme de balises. En XLIFF 1.2, une phrase comme « Bonjour {{ name }} » devient Bonjour <x id="INTERPOLATION" equiv-text="{{ name }}"/> ; en XLIFF 2.0, la balise est un <ph>. Ces balises restent intactes dans la cible espagnole : Hola, <x id="INTERPOLATION" equiv-text="{{ name }}"/>. Leur position, elle, peut changer, car l’espagnol n’ordonne pas toujours la phrase comme la langue source.

Les expressions ICU (plural, select) sont traduites branche par branche ; les mots-clés one, other ou =0 ne bougent pas.

Particularités de l’espagnol dans une interface Angular

  • Longueur : le texte espagnol est plus long que l’anglais, à peu près comme le français. « Sign in » devient « Iniciar sesión », « Settings » devient « Configuración ». Les boutons à largeur fixe et les onglets serrés sont les premiers à déborder.
  • Ponctuation inversée : une question s’ouvre par ¿ et une exclamation par ¡, par exemple ¿Eliminar este archivo?. Si une question est assemblée dans le code à partir de deux chaînes $localize, le ¿ et le ? se retrouvent dans deux unités différentes : mieux vaut une seule chaîne avec interpolation.
  • Pluriels : les règles CLDR de l’espagnol comptent trois catégories, one, many et other. La catégorie many concerne les grands nombres ronds (« un millón de usuarios », avec « de »). Si votre ICU ne prévoit que =1 et other, Angular retombe sur other.
  • Genre : « Bienvenido » ou « Bienvenida » ; un select sur le genre de l’utilisateur évite les formes du type « Bienvenido/a ».
  • Registre et variante : tutoiement (tú) ou vouvoiement (usted), vosotros en Espagne contre ustedes en Amérique latine, « ordenador » contre « computadora ». Décidez de votre marché avant de traduire.
  • Formats : dates, nombres et devises ne passent pas par la traduction mais par les données de locale d’Angular (DatePipe, CurrencyPipe). Avec es, « 1234.5 » s’affiche « 1234,5 » ou « 1.234,5 » selon le nombre de chiffres.

Ce que Manuce rend exactement, et ce qu’il ne fait pas

Vous récupérez le même fichier XLIFF, dans le même format : indentation, ordre des unités, guillemets, commentaires, fins de ligne, encodage et BOM sont conservés. Seules les valeurs changent, c’est-à-dire les cibles.

Chaque valeur traduite est comparée à la source : mêmes interpolations, mêmes balises. Si un écart persiste, la valeur source est gardée et le rapport l’indique. Vous savez donc précisément quelle chaîne relire plutôt que de découvrir un {{ count }} manquant à l’exécution.

Ne sont pas traduits : les identifiants (@@login.title par exemple), les valeurs vides, les URL, les adresses email, les nombres, les couleurs, les formats de date et tout ce qui est marqué non traduisible. Le prix porte sur les mots des valeurs, balises et identifiants exclus.

Manuce ne modifie pas votre angular.json, ne compile pas l’application et n’ajoute pas de branche many qui n’existe pas dans la source. Il ne produit pas non plus de traduction assermentée, ce qui peut compter si vos conditions générales doivent être certifiées.

Préparer le fichier avant le dépôt

  • Relancez ng extract-i18n juste avant la traduction, pour que le fichier reflète le code actuel.
  • Donnez des identifiants stables (i18n="@@cart.empty") : sans eux, un simple changement de texte source génère un nouvel identifiant et la traduction espagnole devient orpheline.
  • Ajoutez une description aux chaînes ambiguës (i18n="bouton d’enregistrement|...") : « Save » peut donner « Guardar » ou « Ahorrar ». Ces notes servent aussi à vos relecteurs.
  • Regroupez les fragments de phrase en une seule unité avec interpolation, surtout pour les questions.
  • Vérifiez que les ICU de pluriel couvrent au moins one et other.

Pour un ensemble d’environ 2 500 mots, l’extrait gratuit permet de juger le registre choisi avant de payer.

Vérifier dans l’application après traduction

  1. Renommez ou copiez le fichier en messages.es.xlf et contrôlez l’attribut de langue cible (target-language en 1.2, trgLang en 2.0).
  2. Déclarez la locale es (ou es-MX, es-419) dans la configuration i18n du projet et lancez une compilation : une balise cassée s’y signale immédiatement.
  3. Parcourez les écrans les plus denses : barre de navigation, boutons de formulaire, tableaux.
  4. Testez les pluriels avec 0, 1 et 2 éléments, et les messages de confirmation pour repérer ¿ et ¡.
  5. Lisez le rapport et traitez les chaînes restées en langue source.

En pratique

  1. Lancez ng extract-i18n pour obtenir un messages.xlf à jour.
  2. Déposez le fichier sur Manuce, choisissez l’espagnol et consultez le devis et l’extrait gratuit.
  3. Récupérez le fichier traduit et le rapport des chaînes laissées telles quelles.
  4. Enregistrez-le en messages.es.xlf, déclarez la locale es et compilez pour tester.

Questions fréquentes

Faut-il envoyer messages.xlf ou un messages.es.xlf déjà copié ?

Les deux conviennent, tant que c’est le fichier XLIFF issu de ng extract-i18n. Manuce remplit les cibles et rend le même fichier. Pensez ensuite à vérifier l’attribut de langue cible.

Les {{ interpolations }} et les ICU sont-ils préservés ?

Oui. Les balises d’interpolation sont conservées et chaque valeur est comparée à la source. En cas d’écart persistant, la valeur source est gardée et le rapport le signale.

Espagnol d’Espagne ou d’Amérique latine ?

Les différences portent sur le vocabulaire (ordenador, computadora) et sur vosotros ou ustedes. Choisissez votre marché principal et faites relire les termes clés ; pour deux variantes, prévoyez deux fichiers de locale distincts.

Pourquoi l’espagnol a-t-il une catégorie de pluriel « many » ?

Le CLDR la réserve aux grands nombres ronds, comme un million. Angular retombe sur la branche other si many est absente, donc une ICU avec one et other reste fonctionnelle.

Les dates et les montants seront-ils au format espagnol ?

Oui, mais grâce aux données de locale d’Angular, pas à la traduction. Manuce ne touche pas aux formats de date ni aux nombres présents dans le fichier.

Le spécialiste qui s’en charge

Ce sujet est confié à Dédale, le spécialiste technique. Voir comment il travaille.

Testez sur votre fichier, gratuitement

Un extrait de votre fichier traduit au niveau choisi, avant tout paiement. Vous jugez, puis vous décidez.

Déposer mon fichier