J'ai besoin d'extraire les messages des fichiers .po. Y a-t-il un module python pour faire ça? J'écris un analyseur, mais cela dépend de la plate-forme (comme \ r \ n, \ n), alors peut-être y a-t-il un moyen normal de le faire?analyse des fichiers gettext .po avec python
Répondre
Babel comprend un analyseur de fichiers .po écrit en Python:
Le module gettext intégré fonctionne uniquement avec des fichiers binaires .mo.
Utilisez le module builtin gettext: http://docs.python.org/library/gettext.html
Il est apparu pour moi que le premier résultat de recherche dans Google après avoir fourni python gettext
. Si vous vous demandiez si c'est ce que vous avez cherché, alors oui, c'est.
Dans la plupart des cas, vous n'avez pas besoin d'analyser vous-même les fichiers .po
. Les développeurs donnent aux traducteurs un fichier modèle .pot
, ils le renomment en xx_XX.po
et traduisent les chaînes. Ensuite, vous en tant que développeur il suffit de « compiler » qu'ils .mo
fichiers à l'aide gettext
outils GNU (ou son implémentation Python, pygettext
)
Mais, si vous voulez/besoin d'analyser le po-vous des fichiers, au lieu de les compiler, je vous suggère fortement d'utiliser polib
, une bibliothèque python bien connue pour gérer les fichiers po
. Il est utilisé par plusieurs projets de grande envergure, tels que Mercurial et le moteur de traduction Launchpad Ubuntu:
maison paquet PyPI: http://pypi.python.org/pypi/polib/
référentiel de code: https://bitbucket.org/izi/polib/wiki/Home
Documentation: http://polib.readthedocs.org
Le module d'importation est un fichier unique, avec une licence MIT, donc vous pouvez facilement l'incorporer dans votre code comme ceci:
import polib
po = polib.pofile('path/to/catalog.po')
for entry in po:
print entry.msgid, entry.msgstr
Il ne peut pas être plus facile que cela;)
de @saeedgnu: vous pourriez peut-être aider à l'améliorer? 'polib' est la bibliothèque la plus utilisée pour manipuler les fichiers po, et elle est activement maintenue, donc toutes les améliorations bénéficieront à un * lot * de logiciels. – MestreLion
Je pense que ça devait être ainsi, le programme qui l'utilise peut ajouter des entrées après chargement du fichier po (ou création d'un nouvel objet pofile), tout est en mémoire – saeedgnu
- 1. fusion de deux fichiers PO usinf getText
- 2. Zend GetText et fichiers .mo .po
- 3. Comment utiliser python gettext avec les fichiers PO de http://translationproject.org?
- 4. Conversion de fichiers de langue CodeIgniter en .po (pour gettext)
- 5. Comment faire un en-tête pour les fichiers gettext .po?
- 6. erreur Gettext alors que « make update-po »
- 7. Gettext: Comment mettre à jour les fichiers po et pot après la modification de la source
- 8. Gérer des fichiers de traduction séparés (.po) dans Django
- 9. Création de nouveaux fichiers po avec un éditeur po
- 10. Mise à jour des fichiers .po sans redémarrage léger
- 11. Python et analyse des fichiers unicode
- 12. Utilisation de GetText avec Yii
- 13. Python gettext - ne pas traduire
- 14. Existe-t-il un outil pour convertir les fichiers i18n yaml au format gettext po?
- 15. Utilisation de Babel: comment protéger les commentaires des traducteurs (et les anciennes traductions) dans les fichiers GNU gettext PO?
- 16. Traduit automatiquement les fichiers .po?
- 17. Comment travailler efficacement avec les fichiers PO gettext lors de petites éditions de grandes valeurs de texte
- 18. Python: analyse pdf avec des images
- 19. Internationalisation Python (gettext)
- 20. Traduire des fichiers XSL avec PHP et gettext
- 21. Existe-t-il un éditeur gettext .po pour fonctionner sur le serveur web?
- 22. analyse des fichiers OBJ
- 23. Python: analyse de fréquence de fichiers son
- 24. surcharger les fichiers gettext .mo
- 25. Ajouter manuellement des clés de traduction gettext
- 26. Quelqu'un a-t-il eu des problèmes avec l'analyse de fichiers gettext .mo de CVS?
- 27. Analyse récursive des fichiers avec xgettext
- 28. Analyse des fichiers téléchargés avec Antivirus SDK
- 29. Analyse des fichiers .dmp
- 30. analyse des fichiers (Java)
'gettext' est génial, mais il ne fonctionne qu'avec les fichiers compilés' mo', pas de texte clair ONES 'po' – MestreLion