2 votes

Meilleure pratique pour diviser les fichiers de ressources dans MVC

J'ai configuré mon site MVC et je suis prêt à utiliser le multilinguisme grâce à cet article : http://www.ryadel.com/en/setup-a-multi-language-website-using-asp-net-mvc/

Quelle est la meilleure pratique pour diviser mes fichiers de ressources ? Dois-je utiliser un grand fichier de ressources par langue ou dois-je avoir un fichier de ressources par page que j'utilise ?

Tout commentaire est apprécié

3voto

Stefan Points 7640

Clause de non-responsabilité : basée sur ma propre expérience ;

En bref : n'utiliser qu'un seul fichier, il y a moins de frais généraux lorsqu'on a affaire à des traducteurs qui ne sont pas des studios visuels et qui ne sont pas des traducteurs xml.

J'avais l'habitude de diviser les formulaires, les pages, etc. en plusieurs fichiers.

Au début, cela semble être un bon moyen de donner un peu de structure à ces fichiers : une page, un fichier.

L'avantage est que vous n'avez pas un gros fichier, contenant toutes sortes de clés. Vous avez des fichiers courts et il est relativement facile de repérer les clés inutilisées.

Mais...

Même dans le cadre de projets plus importants, il est difficile pour moi de gérer cette situation. Je m'explique ;

En général, je ne fais pas toutes les traductions moi-même. Bien sûr, je peux gérer ma langue maternelle et, avec un correcteur orthographique, mon anglais n'est pas terrible. Mais lorsqu'il s'agit de langues étrangères (pour moi), habituellement une autre personne s'occupera des traductions pour moi. Cette personne n'a pas toujours l'expérience de Visual Studio et ne sait pas comment manipuler tout type de format XML. (comme le resx sont).

Lorsqu'un projet évolue, les clés vont et viennent. Ainsi, la synchronisation de toutes les clés au cours du développement du projet n'est pas la priorité absolue ; les clés manquantes seront remplacées par la langue par défaut. Pour aggraver les choses, lors des versions bêta ou des mises à jour, vous constaterez que des efforts seront faits pour effectuer certaines traductions initiales qui changeront avec le temps ou deviendront obsolètes.

Donc, comme toujours : le changement viendra .

Maintenant, pour gérer ces changements, si j'utilise des fichiers séparés, je devrai faire ce qui suit pour obtenir les traductions. Note ; le traducteur n'a pas d'expérience de visual studio ou de xml.

pour chaque fichier

  • supprimer toutes les clés de la langue cible (pour supprimer les clés obsolètes qui n'ont pas été maintenues)
  • copier les clés dans excel
  • copier la traduction commune dans le fichier excel
  • structurez ceci de manière à pouvoir le recoller dans les fichiers resx cibles.
  • envoyer le fichier au traducteur et prendre un café en attendant la réponse
  • copier la traduction dans chaque fichier resx

Ensuite, vous avez terminé.

Alors, fatigué de tous ces copier/coller, j'ai récemment fait ce qui suit :

Utilisez un préfixe pour cibler la page ; par exemple : HOME_Title et mettre le tout dans un seul fichier.

Le processus de traduction est maintenant réduit à ceci :

pour un (1) dossier

  • supprimer toutes les clés du fichier de langue étrangère pour se débarrasser des clés obsolètes.
  • copier les clés et la traduction commune vers excel (une action)
  • envoyer le fichier au traducteur et essayer un thé pour changer en attendant la réponse.
  • copier la traduction, avec une seule action dans votre énorme resx fichier.

Pour moi, cela fonctionne mieux, car je ne me soucie pas de la taille du fichier et je trouve le processus de traduction plus structuré. Cela peut prendre plus de temps pour le traducteur car il a plus de clés à traiter en cas de modifications mineures. Mais vous pouvez gérer cela par préfixe si vous le souhaitez. Et d'ailleurs, parfois, un plus grand contexte permet d'obtenir une meilleure traduction. En général, le traducteur a une certaine relation avec le produit.

Donc, pour moi, je mettrais tout ça dans un seul dossier.

1voto

Peter B Points 69

La seule réponse est "cela dépend". Si le nombre total de textes est faible, vous ne voulez probablement qu'un seul fichier resx par langue. Si cela devient trop désordonné / trop grand, divisez-les en unités logiques.

Dans le passé, j'ai utilisé un ensemble de fichiers pour les textes généraux (Submit, OK, Cancel, Login, Search, Error) et un ensemble de fichiers pour les textes spécifiques au domaine (Customer, Product, Basket, Sold out, Payment). Le premier ensemble de fichiers est alors un candidat possible à la réutilisation pour d'autres projets.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X