ManuceTraduire un fichierTraduire une application .NET en chinois simplifié

Traduire une application .NET en chinois simplifié

Déposez le fichier .resx de référence de votre application .NET : Manuce traduit les valeurs en chinois simplifié et vous rend le même fichier XML, prêt à devenir <code>Strings.zh-Hans.resx</code>. Les variables comme <code>{0}</code> ou <code>{1:N2}</code> sont contrôlées chaîne par chaîne, et un rapport liste ce qui n'a pas été traduit.

Déposer mon fichier Voir les tarifs

Combien ça coûte

Pour les fichiers de langue d'une application .NET totalisant environ 2 000 mots, vers le chinois :

Essentiel
19 €

Comprendre, usage interne.

Professionnel
58 €

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

Premium
112 €

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 en chinois

Le chinois simplifié s'écrit en hanzi, sans espace entre les mots, avec une ponctuation pleine chasse. Une valeur comme Nom du fichier : devient 文件名:, avec un deux-points large qui fait partie de la chaîne. Les points de suspension s'écrivent …… et les guillemets “ ”.

En nombre de caractères, le texte est deux à trois fois plus court. Chaque caractère est cependant plus large et plus haut qu'une lettre latine : la place occupée à l'écran varie peu. Un bouton prévu pour Enregistrer accueille sans peine 保存, mais un libellé long sur une ligne ne gagne presque rien.

Les pluriels disparaissent. Le chinois n'a qu'une catégory CLDR, other : {0} fichier(s) devient {0} 个文件, avec un classificateur (个) entre le nombre et le nom. Si votre code choisit entre FileCount_One et FileCount_Other, les deux clés recevront la même forme, ce qui est correct.

Enfin, l'ordre des mots change souvent : la variable glisse en milieu ou en fin de phrase. C'est pourquoi les chaînes doivent rester des formats composites complets plutôt que des morceaux concaténés dans le code.

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

Dans un fichier .resx, Manuce traduit le contenu des éléments data/value. Les commentaires (comment) ne sont pas traduits : ils servent de contexte, et c'est souvent là qu'on précise si Open est un verbe de bouton ou un état. Les ressources non textuelles restent intactes.

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. Chaque valeur traduite est comparée à la source : si Il reste {0} jours avant le {1:d} perd {1:d} en route et que l'écart persiste, la valeur source est gardée et le rapport le signale.

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.

Ce que Manuce ne fait pas :

  • il ne renomme pas le fichier et ne compile pas l'assembly satellite ;
  • il ne touche pas aux chaînes écrites en dur dans le code C# ;
  • il ne redimensionne pas vos formulaires : les tailles et positions stockées dans un .resx de formulaire restent celles d'origine ;
  • il ne produit pas de chinois traditionnel dans la même commande : pour Taïwan ou Hong Kong, c'est une langue distincte.

Le chinois est une langue à supplément (coefficient ×1,6 sur le prix au mot) ; le décompte porte sur les mots des valeurs, clés et balises exclues.

Nommer le fichier et choisir la culture

Une fois le fichier livré, renommez-le avec le suffixe de culture. Le choix le plus robuste est la culture neutre zh-Hans : Strings.zh-Hans.resx. Une machine réglée sur zh-CN ou zh-SG remonte vers zh-Hans par le mécanisme de repli des ressources, alors qu'un fichier Strings.zh-CN.resx ne servirait pas Singapour.

Les dates, nombres et devises ne doivent pas être écrits dans les chaînes : laissez {0:d} ou {0:C} et c'est CultureInfo qui produira 2025/3/14 ou ¥1,234.00. Manuce laisse ces formats tels quels, ce qui est voulu.

Pour tester, forcez CultureInfo.CurrentUICulture = new CultureInfo("zh-Hans") au démarrage plutôt que de changer la langue de Windows.

Polices, touches d'accès et mise en page

Une police latine n'a pas les caractères chinois. Si votre application WinForms ou WPF impose une police embarquée, les libellés risquent de s'afficher en carrés ou de basculer sur une police de secours mal assortie. Prévoyez une police qui couvre le chinois, par exemple Microsoft YaHei sous Windows, au moins pour cette culture.

Les touches d'accès demandent une vérification manuelle. En chinois, l'usage est de garder la lettre latine entre parenthèses : &Fichier devient 文件(&F). Relisez les menus et boutons qui contiennent & après livraison.

Côté mise en page, surveillez surtout la hauteur : les hanzi sont plus denses et un Label à hauteur fixe peut rogner le bas des caractères à petite taille. Le chinois peut se couper entre deux caractères quelconques, donc le retour à la ligne automatique fonctionne, mais il faut éviter qu'il coupe juste avant un : ou un 。.

Préparer le fichier et vérifier le résultat

Avant le dépôt :

  • partez du .resx neutre (sans suffixe de culture), qui contient toutes les clés ;
  • remplacez les concaténations du type "Bonjour " + nom par une ressource Bonjour {0} : le chinois place le nom autrement ;
  • ajoutez un commentaire aux chaînes courtes et ambiguës (Close, Clear, Run) ;
  • marquez comme non traduisibles les noms de produit et codes techniques.

Après livraison, lisez le rapport : une chaîne restée dans la langue source a une raison indiquée, souvent une variable perdue. Lancez l'application en zh-Hans, parcourez chaque écran et contrôlez les messages formatés avec des valeurs réelles, par exemple 1 et 25 dans {0} 个文件. L'extrait gratuit, un paragraphe traduit au niveau choisi, permet de juger le ton avant de payer.

En pratique

  1. Rassemblez le fichier .resx neutre de votre projet .NET, commentaires compris.
  2. Déposez-le sur Manuce : devis immédiat sur le nombre exact de mots et extrait gratuit.
  3. Récupérez le .resx traduit et le rapport des chaînes laissées telles quelles.
  4. Renommez le fichier en Strings.zh-Hans.resx, ajoutez-le au projet et compilez.
  5. Testez l'interface en culture zh-Hans : polices, touches d'accès, libellés tronqués.

Questions fréquentes

Faut-il nommer le fichier zh-CN ou zh-Hans ?

La culture neutre zh-Hans couvre la Chine continentale et Singapour grâce au repli des ressources .NET. Un fichier zh-CN ne servirait que les postes réglés sur zh-CN. Manuce rend le fichier sous le nom déposé : c'est à vous d'ajouter le suffixe.

Manuce traduit-il aussi en chinois traditionnel ?

Oui, mais comme une langue distincte, avec son propre fichier. Pour Taïwan ou Hong Kong, commandez le chinois traditionnel en plus et nommez ce second fichier zh-Hant. Commander plusieurs langues ensemble ouvre droit à la remise de commande.

Les .resx de formulaires WinForms localisables sont-ils pris en charge ?

Les valeurs textuelles sont traduites et les ressources non textuelles, comme les tailles, positions ou images, restent intactes. Manuce n'ajuste donc pas la mise en page : si un contrôle doit être agrandi, faites-le dans le concepteur pour la culture chinoise.

Que deviennent les chaînes écrites directement dans le code C# ?

Elles ne sont pas traduites, puisque Manuce ne traite que le fichier de ressources. Déplacez-les d'abord dans le .resx sous forme de clés, puis déposez le fichier.

Les dates et montants seront-ils au format chinois ?

Les formats de date ne sont pas traduits et les variables comme {0:d} sont conservées. C'est la culture zh-Hans de .NET qui produit l'affichage chinois à l'exécution, à condition que vos chaînes ne contiennent pas de date écrite en dur.

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