के साथ पार्सिंग मुझे .po फ़ाइलों से संदेशों को निकालने की आवश्यकता है। क्या ऐसा करने के लिए कोई अजगर-मॉड्यूल है? मैं एक पार्सर लिखता हूं, लेकिन यह मंच पर निर्भर करता है (जैसे \ r \ n, \ n), तो शायद दा के लिए कुछ सामान्य तरीका है?पार्सिंग gettext .po फाइलों को पाइथन
उत्तर
कोलाहल एक पुलिस फाइलों पार्सर पायथन में लिखा भी शामिल है।
उपयोग builtin gettext मॉड्यूल: http://docs.python.org/library/gettext.html
यह python gettext
प्रदान करने के बाद गूगल में पहले खोज परिणाम के रूप में मेरे लिए दिखाई दिया। अगर आपको आश्चर्य हुआ कि क्या आपने यही खोजा है, तो हाँ, यह है।
निर्मित gettext मॉड्यूल केवल बाइनरी mo फाइलों के साथ काम करता है:
ज्यादातर मामलों में आपको .po
फ़ाइलों को स्वयं पार्स करने की आवश्यकता नहीं है। डेवलपर अनुवादकों को .pot
टेम्पलेट फ़ाइल देते हैं, वे इसे xx_XX.po
पर नामित करते हैं और तारों का अनुवाद करते हैं। तो फिर तुम डेवलपर केवल पो, अपने आप को फाइल के बजाय उन्हें संकलन की पार्स करने के लिए की जरूरत है जीएनयू के gettext
उपकरण (या इसके अजगर कार्यान्वयन, pygettext
)
का उपयोग कर .mo
फ़ाइलें करने के लिए उन्हें "संकलन" करने के लिए है के रूप में लेकिन, अगर आप चाहते हैं /, मैं फ़ाइलों को संभालने के लिए एक प्रसिद्ध पायथन पुस्तकालय, polib
का उपयोग करने के लिए दृढ़ता से सुझाव देता है।
PyPi पैकेज घर: http://pypi.python.org/pypi/polib/
कोड भंडार: https://bitbucket.org/izi/polib/wiki/Home
प्रलेखन: http://polib.readthedocs.org
यह मर्क्युरियल और Ubuntu के लॉन्चपैड अनुवाद इंजन के रूप में कई बड़े पैमाने पर परियोजनाओं, द्वारा किया जाता है आयात मॉड्यूल एक फ़ाइल है, एमआईटी लाइसेंस के साथ, ताकि आप आसानी से इसे अपने कोड में शामिल कर सकें:
import polib
po = polib.pofile('path/to/catalog.po')
for entry in po:
print entry.msgid, entry.msgstr
ऐसा नहीं है कि तुलना में आसान नहीं हो सकता है;)
@saeedgnu साथ काम करता है: हो सकता है आप कर सकते थे इसे सुधारने में मदद करें? 'polib' पीओ फाइलों में हेरफेर करने के लिए सबसे व्यापक रूप से उपयोग की जाने वाली लाइब्रेरी है, और इसे सक्रिय रूप से बनाए रखा जाता है, इसलिए किसी भी सुधार से सॉफ्टवेयर के एक * बहुत * लाभ होगा – MestreLion
मुझे लगता है कि यह इस तरह से होना था, इसका उपयोग करने वाला प्रोग्राम कुछ प्रविष्टियों को जोड़ सकता है पीओ फ़ाइल लोड करना (या एक नया पोफाइल ऑब्जेक्ट बनाना), यह सब स्मृति में है – saeedgnu
- 1. संस्करण नियंत्रण के तहत Gettext .po फ़ाइलें
- 2. .po फ़ाइलें और gettext वीएस JSON और कस्टम i18n पुस्तकालय?
- 3. .po फाइलों में त्रुटियों का पता लगाने
- 4. कैसे क्यूटी के .ts फ़ाइलों को GNU gettext पुलिस फाइलों कन्वर्ट करने के लिए?
- 5. सी में वैकल्पिक gettext lib?
- 6. gettext .mo फ़ाइल को .po फ़ाइल में परिवर्तित करने के लिए कैसे करें
- 7. ऑनलाइन संपादन gettext फ़ाइलें?
- 8. पायथन के भीतर से पाइथन कोड पार्सिंग?
- 9. एक .po फ़ाइल कैसे उत्पन्न करें?
- 10. पाइथन एकाधिक फाइलों पर लॉगिंग
- 11. पाइथन के साथ 'टाइम स्ट्रिंग' पार्सिंग?
- 12. xgettext बनाम gettext
- 13. क्या मैं छोटे टेक्स्ट परिवर्तनों के लिए gettext की .po फ़ाइलों में स्वचालित रूप से संदेश अपडेट कर सकता हूं?
- 14. वेबड्राइवर getText अपवाद फेंकता
- 15. क्या कोई तोड़ सकता है कि स्थानीयकरण फ़ाइल (.mo, .po) पीढ़ी कैसे काम करती है?
- 16. PHP gettext फ़ंक्शन केवल orignal untranslated स्ट्रिंग
- 17. एंड्रॉइड getText संपादन टेक्स्ट क्षेत्र
- 18. gettext में एकाधिक बहुवचन रूपों()
- 19. जावा एचटीएमएल पार्सिंग
- 20. पाइथन
- 21. पारंपरिक चीनी चरित्र को PHP गेटटेक्स्ट एक्सटेंशन (पीओईडीटी में निर्मित .po और .mo फाइलों) में काम करने के लिए पारंपरिक चीनी चरित्र नहीं बना सकता है
- 22. पार्सिंग स्नॉर्ट्स के साथ पार्सिंग
- 23. माइक्रोसॉफ्ट ऑफिस 2007 फाइलों को पार्सिंग और जेनरेट करना (.docx, .xlsx, .pptx)
- 24. पाइथन
- 25. PHP: क्या gettext को LC_MESSAGES dirs की आवश्यकता होती है?
- 26. मैं php gettext को डीबग कैसे कर सकता हूं?
- 27. PHP में gettext जैसे जावास्क्रिप्ट में अनुवाद?
- 28. पायथन में समीकरण पार्सिंग
- 29. जेएसओएन को टीएलिस्टबॉक्स में पार्सिंग
- 30. .NET: स्थानीय मुद्रा को पार्सिंग
'gettext' भयानक है, लेकिन यह केवल संकलित' mo' फ़ाइलें, नहीं सादे पाठ 'po' लोगों – MestreLion