2009-08-30 9 views
10

मेरे कुछ प्रश्न हैं:xgettext बनाम gettext

मुझे पता है कि gettext क्या है। मैंने कुछ पदों को पढ़ा है जहां उन्होंने xgettext का उल्लेख किया था और दोनों के बीच क्या अंतर है, इस बारे में उत्सुक था।

मैं विंडोज पर xgettext कैसे स्थापित कर सकता हूं?

और अंत में, क्या किसी के पास लाइब्रेरी php-gettext http://savannah.nongnu.org/projects/php-gettext/ स्थापित करने के बारे में एक ट्यूटोरियल है (यह आमतौर पर PHP के साथ नहीं आता है) मैंने इसे एक लेख में पढ़ा है लेकिन मुझे यकीन नहीं है कि कैसे इसे विंडोज़ में काम करें। बात यह है कि, कभी-कभी जब आप परिवर्तन करते हैं, तो आपको PHP के साथ आने वाले गेटटेक्स्ट के साथ नया डेटा देखने के लिए अपाचे को पुनरारंभ करना होगा (लेकिन लाइब्रेरी के साथ आपको इसे पुनरारंभ करने की आवश्यकता नहीं है) इसलिए मैं विकास के लिए लाइब्रेरी का उपयोग करना चाहता था । धन्यवाद!

+0

आप दूसरे और तीसरे भागों को अपने प्रश्नों में तोड़ना चाहेंगे। –

उत्तर

14

प्रश्न के बारे में:

मुझे पता है कि gettext है। मैंने कुछ पदों को पढ़ा है जहां उन्होंने xgettext का उल्लेख किया था और दोनों के बीच क्या अंतर है, इस बारे में उत्सुक था।

संक्षेप में, gettext() एक समारोह है और xgettext स्रोत कोड से संदेशों को निकालने के लिए एक उपयोगिता कार्यक्रम है।

लंबे होती है, ताकि सी ++ स्रोत कोड फ़ाइल hellogt.cxx के हिस्से के रूप answerComplete C++ i18n gettext() “hello world” example करने से पता चलता है:

gettext("hello, world!") 

gettext() समारोह एक पाठ स्ट्रिंग है कि संदेश में इस्तेमाल किया जा करने के लिए एक सूचकांक के रूप में प्रयोग किया जाता है पारित हो जाता है रन-टाइम। यह उस भाषा के लिए निर्दिष्ट संदेश देता है जो कोड में या उस समय प्रोग्राम के दौरान निर्दिष्ट किया जाता है।

तो यह पता चलता है:

xgettext --package-name hellogt --package-version 1.2 --default-domain hellogt --output hellogt.pot hellogt.cxx 

जो एक उपयोगिता का निर्माण समय पर इस्तेमाल किया gettext() के लिए पारित पाठ स्ट्रिंग्स के लिए स्रोत कोड फ़ाइल hellogt.cxx जांच करने के लिए कार्यक्रम है। इन्हें निकाला जाता है और पोर्टेबल ऑब्जेक्ट टेम्पलेट फ़ाइल hellogt.pot बनाने के लिए उपयोग किया जाता है।

.pot फ़ाइल टेम्पलेट का अनुवाद द्विआधारी अनुवादित संदेश फ़ाइल hellogt.mo को gettext() द्वारा रन-टाइम पर उपयोग करने की प्रक्रिया में अनुवादकों द्वारा किया जाता है।

+0

यह सहायक है, बहुत बहुत धन्यवाद! – Kentor

-5

ऑनलाइन function reference संदर्भ मुझे बताता है कि कोई xgettext नहीं है।

शायद वे एक वाइल्डकार्ड

+0

आह ठीक है, शायद आप सही हैं – Kentor

+0

'xgettext' एक प्रीप्रोकैसिंग फ़ंक्शन है जिसे आपके स्रोत कोड फ़ाइलों को पार्स करने के लिए कहा जाता है और फ़ंक्शन 'गेटटेक्स्ट',' ngettext', 'dgettext', और अन्य लोगों के सभी तारों को निकालने के लिए कहा जाता है। तो, 'xgettext' एक फ़ंक्शन नहीं है, लेकिन एक प्रोग्राम जिसे कॉल किया जाता है। –

0

xgettext gettext का हिस्सा है जैसे 'एक्स' के इलाज

ngettext dgettext dngettext dcgettext dcngettext 

में से एक मतलब है, यह एक प्रोग्राम है जो कार्यक्रम स्रोतों से अनुवाद तार निकालता है। gettext's manual देखें।

मुझे विंडोज़, Google tells me there's a port पर इसकी उपलब्धता के बारे में पता नहीं है।

+0

क्या इससे मुझे मदद मिल सकती है -> http://stackoverflow.com/questions/1351259/php-string-variables-in-gettext-forgot-one-case-scenario? – Kentor

4

Cygwin इंस्टॉल करें और गेटटेक्स्ट-डेवेल पैकेज का चयन करें।
यह xgettext.exe

Zend फ्रेमवर्क एक gettext Zend_Translate adapter कि php gettext विस्तार की आवश्यकता नहीं है है स्थापित हो जाएगा।

संबंधित मुद्दे