J'ai fait des recherches sur xliff strong> et Cependant, jusqu'à présent, je n'ai pas pu trouver une bonne solution de la manière d'utiliser les fichiers XLIFF ou PO dans .NET (C # / ASP.NET) strong> Projets. Je m'attendrais à ce qu'une sorte de Cependant, de nombreux outils prennent en charge la conversion de fichiers Si vous avez une expérience de mise en œuvre de L10N via XLIFF ou PO dans des projets .NET strong> - Veuillez fournir des conseils et partager les meilleures pratiques sur la façon dont cela fonctionne. P>
PS: Je préférerais utiliser le format XLIFF, car je le trouve plus propre et plus de caractéristique, mais PO est également une option. P> xliff / po => resx code> convertisseur, mais jusqu'à présent, n'en avez pas encore trouvé un. P>
4 Réponses :
PO et les fichiers XLIFF fonctionnent généralement différemment: p>
PO Les fichiers PO sont des fichiers de ressources complétés dans un format binaire, puis consultés à l'aide de bibliothèques GetText (). Parfois, PO est utilisé comme format d'extraction comme XLIFF, mais ce n'est pas son objectif initial. P> li>
XLIFF est des fichiers d'extraction créés en extrayant votre fichier de ressources (E.G. RESX) dans XLIFF, puis fusionnés dans le format d'origine. P> LI> ul>
Donc pour XLIFF Vous devriez rechercher un outil Les outils qui extraient / fusionnent des fichiers XLIFF sont généralement appelés filtres. Il existe de nombreux outils de traduction commerciale qui accepteront Xliff, et certains peuvent également créer XLIFF (Swordfish, Trados Studio, etc.). P>
Il existe également quelques outils à source ouverte pouvant extraire / fusionner XLIFF: FILE2XLIFF4J par exemple (mais je ne pense pas qu'il prend en charge RESX). P>
Rainbow, à partir du projet Okapi, supporte RESX. L'ancienne version .NET (Rainbow 5: Okapi sur Sourceforge) a un filtre dédié au fichier RESX et peut très bien les gérer; Même avec des données binaires. Il peut s'expliquer par un problème avec des contrôles tiers (voir http: //okapi.sourceforge .NET / RELEASE / FILTRES / AIDE / NETRES.HTM Pour plus de détails). P>
La nouvelle version Java (Rainbow 6: http://code.google.com/p/okapi / ) Support RESX via son filtre XML et fonctionne bien avec une resex simple, mais si vous avez des données binaires dans elles, le texte de ces entrées ne sera pas extrait. p>
- -ys p> RESX -> XLIFF -> RESX CODE> plutôt que
XLIF -> RESX CODE>. P>.
Très bonne réponse! Merci de préciser cela pour moi. Je vais creuser davantage pour déterminer la meilleure approche pour minimiser les efforts sur L10N pour la combinaison de projets .NET et Java.
Vous pouvez également considérer le package i18n par Daniel Crenna , disponible auprès de Nuget . Il utilise des fichiers PO comme magasin par défaut pour le texte localisé. P>
J'ai utilisé PO pour gérer un projet .NET après que les fichiers .resx ont commencé à sortir de la main. Je l'ai utilisé "comme format d'extraction comme xliff" (voir Yves commentaire ) em>. Nos fichiers .resx existants ont été exportés / fusionnés une fois en un fichier .po par langue, qui est ensuite devenu nos fichiers de langue faisant autorité à partir duquel tous les fichiers RESX seraient automatiquement générés. P>
Les projets que je ne suis pas ne sont pas ASP, donc je ne connais pas le paquet mentionné par McW0933, mais la mise en œuvre de RESGEN.EXE de Mono a une capacité de conversion RESX Simple PO <=>. Toutefois, afin de préserver les commentaires existants et d'ajouter automatiquement le texte d'origine sous forme de commentaires supplémentaires, j'ai étendu l'outil de conversion de Mono au point où celui que j'utilise est essentiellement réécrit. P>
i Mettez le convertisseur étendu .Po <=> .resx sur Github . P>
Quant à choisir .Po pour gérer les traductions d'un projet C #, .po est simple et sympathique, mais il existe des inconvénients de l'utiliser d'une manière qui diffère légèrement de son utilisation d'origine dans GetText, et je n'ai pas L'expérience de dire s'il s'agissait d'un meilleur choix que XLIFF, mais de pouvoir gérer les traductions et automatiser les tâches était beaucoup mieux que de traiter avec les fichiers RESX, comme si nous étions dans le passé. P>
inconvénients mineurs d'utiliser un peu différemment à son intention: p>
Le projet que j'ai écrit à l'origine Resgenex pour avoir deux fichiers .resx et un fichier .isl pour chaque langue prise en charge, mais il vous sera bientôt besoin de gérer toutes les traductions d'un projet .NET contenant plusieurs fichiers RESX pour chaque classe le code. Lorsque cela se produit, je déciderai si je devrais continuer à utiliser .Po ou si je devrais utiliser Xliff ou autre chose. Si je continue à utiliser .Po, je vais nettoyer ResGenex et il est probablement nécessaire d'ajouter plus de fonctionnalités, comme la possibilité d'ajouter automatiquement le nom de montage et les préfixes de nom de classe aux msgstras. P>
Consultez Tâches XLIFF . L'outil génère xliff code> à partir de
RESX code> et des assemblages satellites à partir de
xliff code>. P>
Toute raison pour laquelle vous ne pouvez pas utiliser les fichiers de ressources directement?
Nous voulons utiliser un format unique pour les traductions entre différents projets de notre société, ce sont des projets C # et Java et les partagent pour minimiser la duplication et les coûts supplémentaires pour des traductions séparées pour différents projets.