ManuceTraduire un fichierTraduire une application Symfony en italien

Traduire une application Symfony en italien

Déposez le fichier de messages de votre application Symfony, au format XLIFF ou YAML, et Manuce vous rend le même fichier avec les valeurs traduites en italien. Les clés, la structure et les paramètres %name% ou {name} restent intacts. Un rapport indique chaque chaîne laissée telle quelle et pourquoi.

Déposer mon fichier Voir les tarifs

Combien ça coûte

Pour les fichiers de langue d'une application Symfony totalisant environ 3 000 mots, vers l’italien :

Essentiel
18 €

Comprendre, usage interne.

Professionnel
54 €

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

Premium
105 €

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 l’italien change dans vos messages Symfony

L’italien s’écrit en alphabet latin, de gauche à droite, et ses chaînes ont une longueur proche du français : un bouton qui tient en français tiendra en général en italien. Si votre source est en anglais, prévoyez un peu plus de place : Save devient Salva, mais Settings devient Impostazioni.

  • Le registre. Une interface professionnelle s’adresse à l’utilisateur au Lei : Inserisca la password plutôt que Inserisci la password. Beaucoup d’applications italiennes emploient aussi l’infinitif impersonnel pour les consignes courtes (Inserire la password). L’essentiel est de ne pas mélanger les deux sur un même écran.
  • Les accents. è (verbe être) porte un accent grave, perché un accent aigu. En majuscule, on écrit È et non E', une habitude de clavier qui se voit tout de suite dans un message flash.
  • L’élision devant une variable. l’utente, dell’ordine : l’article dépend du mot qui suit. Une chaîne comme Modifica dell'%item% ne fonctionne que si toutes les valeurs de %item% commencent par une voyelle. Mieux vaut reformuler : Modifica elemento: %item%.
  • L’accord. Les participes s’accordent en genre et en nombre : %count% file eliminati, mais %count% foto eliminate. Une chaîne générique partagée entre plusieurs types d’objets devra souvent être scindée en italien.

Pluriels one, many, other et apostrophe piégée en ICU

Les règles CLDR de l’italien comptent trois catégories : one, many et other. one couvre 1, other la plupart des autres nombres, et many les grands nombres ronds en millions, où l’italien ajoute di : un milione di utenti. Si votre application affiche ce genre de compteur, une chaîne ICU complète ressemble à ceci :

{count, plural, one {# utente} many {# di utenti} other {# utenti}}

Sans branche many, ICU retombe sur other : rien ne casse, la tournure est seulement moins naturelle. Avec l’ancienne syntaxe à barres de Symfony, la chaîne s’écrit {0} Nessun risultato|{1} Un risultato|]1,Inf[ %count% risultati ; les intervalles restent tels quels, seul le texte de chaque branche change.

Le piège propre à l’italien est l’apostrophe, omniprésente. En syntaxe ICU, une apostrophe droite placée juste avant une accolade ouvre une séquence littérale : dell'{name} affiche le texte {name} au lieu de la variable. Doublez l’apostrophe (dell''{name}), employez l’apostrophe typographique ’ ou reformulez. En YAML entre guillemets simples, l’apostrophe se double aussi : 'L''ordine è stato inviato'.

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

Manuce prend en charge les fichiers translations/messages.<langue>.xlf et .yaml. Vous recevez le même fichier, dans le même format, prêt à remettre dans le projet :

  • Seules les valeurs changent : indentation, ordre des clés, guillemets, commentaires, fins de ligne, encodage et BOM restent ceux de votre fichier.
  • Les paramètres %name% et {name} sont vérifiés : chaque valeur traduite est comparée à la source (variables, balises). En cas d’écart persistant, la valeur source est gardée et le rapport le dit ; vous savez donc exactement quelles chaînes reprendre.
  • Ne sont pas traduits : les clés, les valeurs vides, les URL, adresses email, nombres, couleurs, formats de date, identifiants et tout ce qui est marqué non traduisible.
  • Le rapport liste les chaînes traduites et celles laissées telles quelles, avec la raison.

Le décompte porte sur les mots des valeurs : une clé comme checkout.payment.error ou une balise <target> n’est pas comptée. Pour une interface destinée à vos clients italiens, le niveau Professionnel est le plus adapté.

Manuce ne teste pas le rendu dans vos gabarits Twig et ne produit pas de traduction assermentée : si vos conditions générales en italien doivent avoir une valeur juridique certifiée, adressez-vous à un traducteur expert.

Préparer le projet et vérifier après livraison

  • Partez de la langue la plus complète. php bin/console debug:translation fr (ou la locale de référence) signale les messages manquants ou inutilisés avant l’envoi.
  • Ne retraduisez pas les contraintes intégrées. Symfony fournit déjà des traductions italiennes pour les messages standards du composant Validator ; seuls vos messages personnalisés du domaine validators sont à traduire.
  • Réécrivez les concaténations. Repérez les chaînes qui collent un article à une variable (l'%name%) ou qui assemblent une phrase en plusieurs clés : l’accord italien les rendra fausses.
  • Après livraison, enregistrez le fichier sous messages.it.xlf ou messages.it.yaml, ajoutez it à enabled_locales, puis lancez php bin/console lint:yaml translations ou lint:xliff translations.
  • En XLIFF, la structure étant conservée, l’attribut target-language de l’élément <file> (ou trgLang en XLIFF 2.0) garde sa valeur d’origine : passez-le à it.
  • Videz le cache (cache:clear) et parcourez les écrans sensibles : formulaires, emails transactionnels, messages flash, compteurs au pluriel.

En pratique

  1. Déposez votre fichier messages au format XLIFF ou YAML et choisissez l’italien comme langue cible.
  2. Lisez l’extrait gratuit pour juger le registre et la terminologie avant de payer.
  3. Validez le devis, calculé sur les seuls mots des valeurs.
  4. Récupérez le fichier traduit et le rapport, puis enregistrez-le sous messages.it.xlf ou messages.it.yaml.
  5. Lancez lint:yaml ou lint:xliff, videz le cache et testez les écrans clés.

Questions fréquentes

Faut-il utiliser le Lei ou le tu dans une application en italien ?

Pour une application professionnelle ou un service client, le Lei est la norme : Inserisca, Verifichi. Les consignes courtes passent souvent à l’infinitif impersonnel (Inserire la password). Choisissez une convention et appliquez-la à tout le fichier.

Mes paramètres %count% et {name} risquent-ils d’être cassés ?

Chaque valeur traduite est comparée à la source, variables et balises comprises. Si un écart persiste, Manuce garde la valeur source et le rapport le signale. Restez attentif à l’apostrophe juste avant une accolade en ICU, qui doit être doublée ou remplacée par ’.

Les clés de traduction sont-elles modifiées ?

Non. Les clés, l’ordre, l’indentation, les commentaires et l’encodage sont conservés ; seules les valeurs changent. Les clés ne sont pas comptées dans le nombre de mots.

Dois-je traduire validators.it.xlf ?

Symfony fournit déjà l’italien pour les messages de ses contraintes standards. Vous n’avez à traduire que vos messages de validation personnalisés, qui peuvent être déposés de la même façon.

L’italien coûte-t-il plus cher que d’autres langues ?

Non, l’italien est au tarif de base, avec un coefficient de ×1. Si vous traduisez aussi vers d’autres langues, la remise s’applique à toute la commande : −20 % pour deux langues, jusqu’à −50 % à partir de cinq.

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