Question

Comment maintenez-vous les chaînes de langues parlées de votre programme à jour? Y a-t-il un moyen peu coûteux? Où pouvez-vous trouver des personnes pour effectuer les conversions au fil du temps?

Était-ce utile?

La solution

Il existe des entreprises qui traduiront les fichiers de ressources dans les formats standard moyennant des frais. Je pense que c'est comme cela que la plupart des grandes entreprises le font.

J'ai récemment posé une question similaire ici à propos du Le meilleur moyen de structurer le code dans un projet pour supporter cela, avec mon désir supplémentaire de préserver les chaînes lisibles dans le code. Ce n’est pas standard, cependant ... vous devez généralement mettre toutes les ressources de chaîne dans un fichier séparé, y faire référence par ID dans le code et faire traduire le fichier.

Voir les fichiers .rc pour Windows C ++, les fichiers .resx pour .NET, vous ne savez pas exactement ce qui existe pour Linux / Mac / autre, mais je suis sûr qu'il existe des équivalents.

Autres conseils

Ceci est extrait de Best Software Writing I de Joel: http : //blogs.msdn.com/ericlippert/archive/2003/10/28/53298.aspx (combien d’employés Microsoft nécessite-t-il pour changer une ampoule?) et aborde à un niveau élevé la simplicité les changements ont de grandes ramifcations. Si vous considérez que MS possède de nombreuses applications internationalisées, il s’agit du processus qu’elles utilisent pour s’assurer que leurs applications restent à jour avec mille facteurs, y compris les chaînes nouvelles / modifiées ne sont pas manquées dans d’autres langues.

Pour les besoins en traduction (un domaine dans lequel j'ai un peu de connaissance!), je recommanderais OmniLingua Worldwide.

Je pense que cela dépend de votre accessibilité aux langues, ce qui dépend probablement beaucoup de la nature du projet (professionnel, loisir, etc.)

Dans mon travail amateur, les chaînes spécifiques à la localisation sont stockées dans un simple fichier JSON externe (XML ou même une simple INI fonctionnerait aussi bien, tout ce qui peut vous donner des paires clé-valeur). Cela présente les avantages d'être multiplate-forme, facile à modifier et (si cela est souhaité) de permettre à toute personne possédant les connaissances et la détermination de traduire votre application dans la langue de son choix. Pour les projets open source et autres projets similaires, cela peut s'avérer inestimable.

Pour les projets que vous ne voulez peut-être pas traduire bon gré mal gré, les ressources incorporées sont probablement un pari plus sûr, car elles sont assez faciles à échanger pour les développeurs, tout en laissant au moins un obstacle insignifiant aux traducteurs potentiels. Même dans ce cas, la méthode de stockage n'a pas besoin d'être complexe. Tous les types de fichiers donnés ou une table de chaînes native feront l'affaire.

Dans les projets sur lesquels j'ai travaillé, nous avons adopté deux approches différentes de la localisation, en fonction de la taille du projet. Pour les projets plus petits où chaque développeur "possède" " composant, il incombe au développeur de maintenir la liste de ce qui doit être traduit et dans quelles langues.

Pour les projets plus importants, nous avons étiqueté chaque chaîne avec un préfixe de langue. Par exemple, la chaîne allemande pour "Oui". est marqué comme "[de] Oui". Après localisation, la chaîne est remplacée par "Ja". Cela facilite la recherche d'éléments omis, car vous pouvez effectuer une recherche par préfixe.

Pour ce qui est des sources commerciales supplémentaires, j’ai travaillé à différents moments avec Net-Translators et BMT , le dernier en date.

Je vous recommande vivement de vous renseigner sur le fournisseur de ressources de base de données db .

Je gère une application Web de gestion de projet open source ( http://sharpforge.org/p/SharpForge .aspx ) et utilisait initialement les fichiers resx. Voici les problèmes que j'ai eus

  • Je souhaitais accéder aux ressources fortement typées de la couche BLL. Ce n'était tout simplement pas possible.
  • Les fichiers resx sont également très difficiles à gérer. Ajouter / supprimer / changer des clés de ressources peut créer toutes sortes de problèmes.
  • Enfin, je rencontrais de gros problèmes en ne sauvegardant pas les fichiers avec des éditeurs dotés de la carte de caractères / encodage correcte, ce qui effacerait tout le texte traduit. Le processus d’obtention des ressources du traducteur dans le référentiel de code aboutissait souvent à modifier le texte.

J'ai pu implémenter le fournisseur de base de données dans le cadre de l'application. Il est livré avec un éditeur auquel vous pouvez donner accès aux traducteurs. Leur traduction va directement dans l'application sans double traitement et est disponible dès le redémarrage de l'application. Il permet également de créer des objets fortement typés pour accéder au fournisseur depuis n’importe quel calque.

Une fois cette installation installée, j'ai simplement créé un projet de traduction sur getafreelancer . obtenir 25 traductions pour mon application dans un délai de deux semaines environ. Le tout pour environ 50-100 USD chacun.

Contactez-nous sur le forums Sharpforge si vous en avez un. questions sur la façon de le mettre en œuvre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top