Traduire un projet Visual Studio

J’ai un gros projet écrit dans ma langue maternelle (hun) en c # avec Visual Studio 2012.

Je voudrais le traduire en anglais.

Bien sûr, si je reçois un texte en hongrois, je peux le traduire. Le problème n’est donc pas de savoir comment traduire un texte, mais comment faciliter la traduction dans son ensemble. Je n’ai pas besoin du logiciel pour changer de langue en cours d’exécution, c’est également correct si je reçois un projet différent avec une langue différente. Une solution consiste à parcourir l’ensemble du projet et à modifier toutes les étiquettes, mais cela demande beaucoup de travail et, comme je modifie l’ensemble du projet, je devrais tout recommencer.

J’ai écrit un autre programme qui trouve des étiquettes marquées “…” dans les fichiers du projet (comme ‘Form1.cs’, etc.) et je pourrais les traduire. Cela a eu beaucoup d’erreurs. Par exemple, Visual Studio divise un texte long. J’ai donc séparé ces chaînes. Il restait donc beaucoup de travail après la traduction.

Une autre idée consistait à remplacer toutes les chaînes par des éléments de tableau, par exemple au lieu d’écrire “Annuler” , d’écrire t [201] ou quelque chose du genre, pour pouvoir ensuite traduire uniquement la variable t. Mais c’est aussi beaucoup de travail et il y a un problème si j’inclus une variable dans un texte.

Par exemple, en hongrois, je pourrais écrire «2 masodperc maradt» , mais je devrais traduire cela en «secondes restantes: 2» , ou quelque chose du genre. Ensuite, je dois faire attention aux variables incluses.

Selon vous, quel est le moyen le plus simple de faire la traduction et comment les autres programmeurs le font-ils?

Par exemple, TotalCommander change la langue en une seconde, sans redémarrer ni quoi que ce soit.

Il existe une manière de construire dans .Net en utilisant des fichiers resx.

  • Vous pouvez trouver la courte introduction ici .

  • Plus sur les programmeurs stackexchange

  • MSDN est assez complet avec sa documentation sur ce sujet et c’est une bonne lecture. MSDN

Il existe de nombreux outils d’aide à la traduction basés sur la localisation .Net, mais vous pouvez également le faire directement sous VS.

  • Peut-être que ResXManager est à votre goût

Les applications .Net capables de modifier les traductions à la volée utilisent généralement une internationalisation sur mesure, par exemple pour charger des fichiers texte et actualiser l’interface graphique.

Si vous voulez faire quelque chose comme ça par vous-même, sachez que vous devez aussi redimensionner les contrôles pour que le texte tienne.

Pour votre problème avec #count texte texte et texte texte #count, vous pouvez utiliser ssortingng.Format comme.

  1. Ajouter un fichier resx à votre projet comme Localized.resx
  2. Ajoutez une propriété de chaîne “CountText” avec le texte textuel de la valeur {0}.
  3. Ajouter un deuxième resx Localized.fr.resx
  4. Ajoutez la propriété de chaîne “CountText” avec le texte de valeur {0}. vers Localized.en.resx
  5. Où vous écrivez votre progression sur l’interface graphique, utilisez ssortingng.Format (Localized.CountText, myCount);
  6. Changer la langue du programme comme indiqué dans le premier lien.
  7. .Net charge automatiquement la ressource correspondante pour une langue.

Pour connaître toutes les possibilités, en particulier lors de la traduction avec VS, vous devez absolument consulter les articles de la bibliothèque MSDN. La traduction peut devenir lourde si vous manquez quelque chose.