Traduire une application Flutter en italien : les fichiers .arb
Pour traduire une application Flutter en italien, il suffit de déposer votre fichier .arb de référence. Manuce rend le même fichier avec les valeurs en italien, @@locale passé à it, les placeholders et les messages ICU vérifiés, et la catégorie de pluriel many ajoutée. Restent à votre charge : déclarer la langue dans le projet et vérifier l'affichage à l'écran.
Combien ça coûte
Pour les fichiers de langue d'une application Flutter totalisant environ 2 000 mots, vers l’italien :
Comprendre, usage interne.
Prêt à transmettre, par le spécialiste technique.
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 les chaînes d'une app Flutter
L'italien a une longueur proche du français. Il est donc nettement plus long que l'anglais si votre fichier source est app_en.arb. « Save » devient Salva, mais « Settings » devient Impostazioni et « Sign out » Esci dall'account ou Disconnetti. Dans une Row à largeur fixe ou une barre d'onglets, c'est là qu'apparaissent les bandes jaunes et noires de débordement en mode debug.
- Registre. La traduction suit le registre formel (Lei) : Inserisca il codice. Beaucoup d'applications italiennes grand public tutoient (Inserisci il codice) ou emploient l'infinitif neutre (Inserire il codice). C'est un choix éditorial à trancher avant la publication, et à vérifier à la relecture si votre marque tutoie.
- Accents. è, più, perché, città. En début de phrase, la majuscule correcte est
È, pasE'. Si vous embarquez une police personnalisée réduite à un sous-ensemble de caractères, vérifiez que les voyelles accentuées y figurent. - Genre et accord. Le participe s'accorde avec le nom : file eliminato, mais foto eliminata et foto eliminate. Une chaîne qui insère un nom variable dans une phrase toute faite peut donc tomber faux selon le mot inséré.
- Apostrophes. L'italien en contient beaucoup : l'utente, un'immagine, dell'app. Elles comptent dans les messages ICU (voir plus bas).
Pluriels one, many, other et placeholders ICU
Les catégories de pluriel CLDR de l'italien sont one, many et other. Un fichier source anglais ne contient en général que one et other : Manuce ajoute la catégorie manquante dans la valeur italienne. Par exemple :
{count, plural, =0{Nessun file} one{{count} file eliminato} many{{count} file eliminati} other{{count} file eliminati}}
La branche many ne concerne que les très grands nombres ronds (les millions). Avec un compteur affiché en chiffres, elle reprend le texte de other ; elle ne se distingue que pour une forme écrite en toutes lettres comme un milione di file.
- Placeholders.
{name},{count}ou{date}restent intacts, mais leur position peut changer : {count} photos shared by {name} devient {name} ha condiviso {count} foto. Chaque valeur traduite est comparée à la source ; si un placeholder manque et que l'écart persiste, la valeur source est conservée et le rapport le signale. - Select. Les branches
selectexistantes sont traduites, par exemple{gender, select, female{Benvenuta} male{Benvenuto} other{Le diamo il benvenuto}}. Si votre source dit seulement Welcome, {name}, il n'y a pas de branche par genre dans le fichier : relisez cette chaîne, une tournure neutre comme Le diamo il benvenuto, {name} évite un accord au hasard. - Apostrophe et échappement. Si votre configuration de génération active l'échappement par apostrophe simple, le
'de l'utente peut être lu comme le début d'un texte cité dans un message ICU. Vérifiez ce réglage dansl10n.yamlet testez une chaîne avec apostrophe après génération.
Ce que Manuce rend exactement, et ce qu'il ne fait pas
Vous déposez votre fichier .arb source ; vous récupérez 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 sont conservés ;
@@localepasse àit;- les clés
@(métadonnées) sont ignorées, mais leurs descriptions servent de contexte : une description « bouton qui vide le panier » aide à choisir Svuota plutôt que Cancella ; - ne sont pas traduits : les clés, les valeurs vides, les URL, les adresses email, les nombres, les couleurs, les formats de date, les identifiants et tout ce qui est marqué non traduisible ;
- un rapport accompagne le fichier : chaînes traduites, chaînes laissées telles quelles et pourquoi.
Le décompte porte sur les mots des valeurs, clés et balises exclues. Manuce ne touche pas à votre code Dart : il n'ajoute pas it à supportedLocales et ne lance pas flutter gen-l10n. Les libellés des widgets Material (boutons du sélecteur de date, par exemple Annulla) ne sont pas dans vos .arb : ils viennent du package flutter_localizations. Enfin, il ne s'agit pas d'une traduction assermentée : si des conditions d'utilisation doivent être certifiées, il faut passer par un traducteur expert.
Préparer le fichier et vérifier l'app en italien
Avant le dépôt :
- Partez d'un seul fichier de référence, en général
app_en.arb, complet et à jour. - Renseignez les descriptions des chaînes courtes ou ambiguës : « Share » (verbe ou nom ?), « Open » (action ou état ?). En italien, Condividi et Condivisione, Apri et Aperto ne s'échangent pas.
- Évitez la concaténation en Dart :
'Delete ' + itemne peut pas s'accorder en italien. Préférez un message avec placeholder. - Marquez comme non traduisibles les noms de produits ou de formules que vous gardez tels quels.
Après réintégration du fichier sous app_it.arb :
- déclarez
Locale('it')danssupportedLocaleset, pour iOS, ajoutez l'italien aux langues déclarées dansInfo.plist; - lancez l'app avec l'appareil réglé en italien et parcourez les zones étroites : onglets, boutons,
AppBar, boîtes de dialogue ; - testez les pluriels avec 0, 1 et 2 ;
- vérifiez que dates et nombres passent par
intlavec la localeit: 12 marzo 2025 (mois en minuscules), 1.234,50 ; ces formats ne relèvent pas de la traduction ; - lisez le rapport : une chaîne restée en anglais y est listée avec sa raison.
En pratique
- Déposez votre fichier .arb de référence (par exemple app_en.arb) : le devis s'affiche aussitôt, calculé sur les mots des valeurs.
- Choisissez l'italien et le niveau, puis lisez l'extrait gratuit avant de payer.
- Récupérez le fichier traduit, avec @@locale à it, et le rapport des chaînes laissées telles quelles.
- Enregistrez-le sous app_it.arb, lancez flutter gen-l10n et testez l'app réglée en italien.
Questions fréquentes
Mes pluriels n'ont que one et other : cela pose-t-il problème en italien ?
Non. Manuce ajoute la catégorie many attendue par CLDR pour l'italien dans la valeur traduite. Pour un compteur affiché en chiffres, son texte est en général identique à celui de other, mais la branche est présente.
Mes placeholders {name} et {count} risquent-ils d'être traduits ou cassés ?
Ils sont conservés et chaque valeur traduite est comparée à la source. Leur position dans la phrase peut changer, ce qui est normal en italien. Si un écart persiste, la valeur source est gardée et le rapport l'indique.
La traduction utilise-t-elle tu ou Lei ?
Elle suit le registre formel Lei. Beaucoup d'applications italiennes tutoient ou utilisent l'infinitif sur les boutons ; si c'est votre choix, prévoyez une relecture de ces chaînes.
Pourquoi le sélecteur de date affiche-t-il encore des boutons en anglais ?
Ces libellés ne sont pas dans vos fichiers .arb : ils sont fournis par le package flutter_localizations. Ajoutez ses délégués de localisation et Locale('it') à votre configuration pour qu'ils passent en italien.
Faut-il renommer le fichier rendu ?
Le contenu est prêt, avec @@locale à it, mais c'est à vous de l'enregistrer sous le nom attendu par votre configuration, en général app_it.arb dans le dossier de vos fichiers de langue. Relancez ensuite la génération des localisations.
Le spécialiste qui s’en charge
Ce sujet est confié à Dédale, le spécialiste technique. Voir comment il travaille.
Le même fichier, vers une autre langue
Vers l’italien, d’autres fichiers
À lire aussi
Testez sur votre fichier, gratuitement
Un extrait de votre fichier traduit au niveau choisi, avant tout paiement. Vous jugez, puis vous décidez.