Traduire une application .NET en espagnol : vos fichiers .resx
Déposez les fichiers .resx de votre application .NET : Manuce traduit en espagnol les valeurs des éléments <data> et rend le même fichier, clés, commentaires, encodage et ressources non textuelles intacts. Un rapport indique chaque chaîne laissée telle quelle et pourquoi. Il vous reste à nommer le fichier pour la bonne culture et à vérifier l'interface.
Combien ça coûte
Pour les fichiers de langue d'une application .NET totalisant environ 2 000 mots, vers l’espagnol :
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 qui change quand une interface .NET passe à l'espagnol
L'espagnol est plus long que l'anglais et proche du français en longueur. Dans une application WinForms ou WPF aux libellés de largeur fixe, Settings devient Configuración, Sign in devient Iniciar sesión : les boutons et les colonnes dimensionnés pour l'anglais débordent ou tronquent.
Trois points propres à l'espagnol à trancher avant de lancer la traduction :
- La ponctuation d'ouverture. Toute question ou exclamation commence par
¿ou¡:Delete this file?devient¿Eliminar este archivo?. Si votre code ajoute lui-même le point d'interrogation à la fin d'une chaîne, le signe d'ouverture ne pourra pas être placé correctement. - Le registre.
Introduce tu contraseña(tutoiement, fréquent dans les applications grand public en Espagne) ouIntroduzca su contraseña(vouvoiement, plus courant dans les logiciels professionnels et en Amérique latine). Mélanger les deux dans une même interface se remarque immédiatement. - La variante.
ordenadoroucomputadora,ficheroouarchivo,móviloucelular: décidez si vous visez l'Espagne, le Mexique ou un espagnol neutre.
Les nombres et les dates, eux, relèvent de la culture .NET et non de la traduction : avec es-ES, {0:N2} affiche 1.234,56 ; avec es-MX, 1,234.56. Ne figez jamais un format dans une valeur de ressource.
Chaînes composites, pluriels et genre grammatical
Les espaces réservés de String.Format sont positionnels, ce qui laisse l'espagnol réordonner la phrase : {0} of {1} items selected devient {0} de {1} elementos seleccionados, et {1:d} garde son spécificateur de format. Chaque {n} de la source doit se retrouver dans la valeur traduite, ni plus ni moins.
Les .resx n'ont pas de mécanisme de pluriel : on utilise en général une clé par forme, par exemple FilesCount_One et FilesCount_Other. Les catégories CLDR de l'espagnol sont one, many et other. One couvre 1 (1 archivo), other couvre 0 et le reste (0 archivos, 3 archivos), et many concerne les millions ronds, qui prennent « de » : 1 millón de archivos. Si votre logique de pluriel ne distingue que 1 et le reste, prévoyez au moins ce cas si vos compteurs peuvent l'atteindre.
Le genre est le piège le plus fréquent dans le code .NET qui assemble des libellés. New {0} donne Nueva carpeta mais Nuevo documento ; {0} saved donne Carpeta guardada mais Documento guardado. Une seule valeur ne peut pas couvrir les deux : créez une clé par objet (NewFolder, NewDocument) plutôt qu'un gabarit commun.
Ce que Manuce rend, et ce qu'il ne fait pas
Dans un .resx, Manuce traduit les valeurs des éléments <data> et lit les <comment> comme contexte. Le fichier rendu est le même : indentation, ordre des clés, guillemets, commentaires, fins de ligne, encodage et BOM conservés ; seules les valeurs changent. Les accents et le ñ s'écrivent dans l'encodage d'origine du fichier.
Ne sont pas traduits : les clés, les valeurs vides, les URL, les adresses email, les nombres, les couleurs, les formats de date comme dd/MM/yyyy, les identifiants et tout ce qui est marqué non traduisible. Les ressources non textuelles restent intactes, y compris, dans un .resx de formulaire WinForms, les entrées de taille ou de position des contrôles.
Chaque valeur traduite est comparée à la source : si un {0} ou une balise manque ou s'ajoute et que l'écart persiste, la valeur source est gardée et le rapport le signale. Vous savez donc exactement quelles chaînes restent en anglais ou en français.
Ce que Manuce ne fait pas : il ne redimensionne pas les contrôles, ne renomme pas le fichier, ne compile pas d'assembly satellite et ne modifie pas votre code (concaténations, logique de pluriel). Il ne produit pas non plus de traduction assermentée : si votre application embarque un contrat de licence ou des conditions générales à valeur juridique, faites-les valider à part.
Préparer les .resx et vérifier le résultat
Avant le dépôt :
- Remplacez les concaténations (
"Delete " + name + "?") par une valeur complète avec espace réservé :Delete {0}?, traduisible en¿Eliminar {0}?. - Renseignez les commentaires des entrées ambiguës :
Openest-il un verbe de bouton (Abrir) ou un état (Abierto,Abierta) ? Précisez-y aussi le registre et la variante voulus. - Marquez comme non traduisibles les noms de produit et les codes internes.
Après la livraison :
- Enregistrez le fichier sous le nom de la culture :
Strings.es.resxpour un espagnol commun,Strings.es-ES.resxouStrings.es-MX.resxpour une variante. .NET remonte dees-MXàes, puis aux ressources neutres. - Lisez le rapport et traitez les chaînes laissées en source.
- Lancez l'application avec
CurrentUICulturefixée sures-ESet parcourez les écrans : libellés coupés,¿manquant, registre incohérent. - Vérifiez les touches d'accès des menus :
&Archivoet&Ayudautilisent la même lettre ; on écrit souventAy&uda.
En pratique
- Remplacez les concaténations par des valeurs complètes avec {0} et commentez les entrées ambiguës.
- Déposez vos fichiers .resx : le devis s'affiche sur le nombre exact de mots des valeurs, et un extrait gratuit vous montre la qualité.
- Récupérez le .resx traduit et le rapport des chaînes laissées telles quelles.
- Nommez le fichier Strings.es.resx (ou es-ES, es-MX), recompilez et testez l'interface en culture espagnole.
Questions fréquentes
Faut-il viser l'espagnol d'Espagne ou d'Amérique latine ?
Cela dépend de vos utilisateurs. Un fichier Strings.es.resx sert de base commune, et .NET l'utilise pour es-ES comme pour es-MX en l'absence de fichier plus précis. Si vous avez besoin des deux variantes, prévoyez deux fichiers distincts et indiquez la variante voulue dans les commentaires.
Les .resx des formulaires WinForms peuvent-ils être traduits ?
Oui : les valeurs textuelles sont traduites et les ressources non textuelles, comme les tailles et positions des contrôles, restent intactes. Comme l'espagnol est plus long que l'anglais, vérifiez ensuite les libellés à largeur fixe ; Manuce ne redimensionne pas les contrôles.
Que se passe-t-il si un {0} disparaît dans la traduction ?
Chaque valeur traduite est comparée à la source. Si l'écart sur une variable ou une balise persiste, la valeur source est conservée et le rapport le signale, pour que vous puissiez traiter cette chaîne vous-même.
Les clés et les commentaires sont-ils comptés dans le prix ?
Non. Le prix porte sur les mots des valeurs ; les clés et les balises sont exclues. Les commentaires servent de contexte à la traduction et sont rendus tels quels.
Comment gérer les pluriels espagnols dans un .resx ?
Les .resx n'ont pas de pluriel natif : prévoyez une clé par forme dans votre code. L'espagnol a les catégories one, many et other ; many concerne les millions ronds (« 1 millón de archivos »). Manuce traduit chaque clé fournie mais ne modifie pas votre logique de sélection.
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’espagnol, 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.