2010-03-25 16 views
14

विंडोज़ पर मैं निम्नलिखित है wampserver (अपाचे, MySQL, PHP) का उपयोग करते हुए:एक .po फ़ाइल कैसे उत्पन्न करें?

//test.php 
if (!defined('LC_MESSAGES')) 
define('LC_MESSAGES', 6); 

$lang = "sv"; 
putenv("LANG=$lang"); 
setlocale(LC_ALL, $lang); 

$domain = "messages"; 
bindtextdomain($domain, "./locale"); 
textdomain($domain); 

echo _("This is a string"); 

यह ठीक काम करता है, यानी यह आउटपुट जिसका मतलब है कि मैं gettext सही ढंग से सेटअप किया है "यह एक स्ट्रिंग है"।

लेकिन दुनिया में कैसे मैं .po फ़ाइल बना सकता हूं?

मैंने पोएडिट डाउनलोड किया लेकिन मैं नहीं देख सकता कि यह सॉफ्टवेयर के साथ ऐसा कैसे किया जाए।

किसी भी मदद की बहुत सराहना की जाती है!

+0

मुझे यह ट्यूटोरियल उपयोगी पाया गया [>> Gettext & PoEdit >>] (https://www.youtube.com/watch?v = -RuqVDdC1cI) –

उत्तर

7

PoEdit .po फ़ाइल बनाने का टूल है। आपको इसके साथ थोड़ा विन्यास करना है और यह सबसे आसान नहीं है। जिस तरह से इसे काम करना चाहिए वह यह है कि यह आपके स्रोत कोड में सभी टेक्स्ट पाता है जो आपके द्वारा कॉन्फ़िगर किए गए मार्कर स्ट्रिंग में लपेटा जाता है। यह स्रोत पाठ बन जाता है जिसे आप अपने अनुवादक को देते हैं। फिर वे इसे लक्षित भाषा में अनुवाद करते हैं और अनुवाद फ़ाइलों को सहेजते हैं और उन्हें आपके पास वापस कर देते हैं। फिर आप उन फ़ाइलों को अपने PHP अनुप्रयोग में एक विशेष निर्देशिका में डंप करते हैं और जब भी गेटटेक्स्ट एक्सटेंशन अनुवाद स्ट्रिंग्स में से एक को देखता है तो यह उचित अनुवाद प्राप्त करता है।

यदि आप poedit के साथ लटका हुआ है, तो आप शायद कुछ और विवरण दिखा सकते हैं। > नई सूची ... "स्रोत पथ" में -

मैं की तरह ---- test_1.php ----

<?php 
    echo _("Test phrase"); 
    echo gettext("Test phrase two"); 
    // NOTE: _ == gettext() 
?> 

फ़ाइल एक फ़ाइल:

+1

Thx, मैं इसे हल करने में कामयाब रहा। समस्या यह थी कि बेसपैथ को सेट करने के तरीके पर यह स्पष्ट नहीं था। और नया रास्ता बनाने के तरीके को समझने के लिए इंटरफ़ेस बहुत सहज है।:) – tobefound

+0

आपकी सूची फ़ाइल में पथ (पूर्ण पथ) सेटिंग्स सबसे महत्वपूर्ण हैं, अन्यथा Poedit स्रोत फ़ाइलों से 'gettext()' का उपयोग करने में सक्षम नहीं है। –

+1

@ वोल्कर। सलाह एक पहलू में गलत है: आपको * सापेक्ष * का उपयोग करना चाहिए, पूर्ण पथ नहीं, क्योंकि पूर्व अन्य मशीनों के लिए अप्राप्य होगा। अभी तक बेहतर, Poedit 1.8beta3 (या नया) का उपयोग करें जो स्रोत पथ सेट करने के लिए बिल्कुल भयानक (और मैं इसे Poedit लेखक के रूप में कह रहा हूं) इंटरफेस का उपयोग करता हूं और आपको प्रासंगिक निर्देशिकाओं को खींचने की अनुमति देता है। –

0

Poedit जैसे कई टूल हैं। PHP में, इसे Gettext extension द्वारा नियंत्रित किया जाता है।

यह भी देखें:

आप Poedit के साथ कोई समस्या है, तो कुछ जानकारी देने के लिए स्वतंत्र लग रहा है।

8
PHP के लिए

टैब, आपको नए फ़ोल्डर में क्लिक करना होगा, उस फ़ोल्डर का पथ जोड़ें जिसमें आपके पास फ़ाइल है (इस उदाहरण में test_1.php)

... उन्होंने gettext() के साथ आने वाले सभी तारों को पकड़ा या,210 ... उन समारोह के लिए उपयोगी और यहां से समझाया गया है http://www.php.net/manual/es/function.gettext.php

... आप (Xampp में उदाहरण के लिए) अपाचे का उपयोग, कृपया, जब आप चाहते हैं परीक्षण करना बंद करो और प्रारंभ (पुनरारंभ) यह तो करना gettext() के साथ परिभाषित भाषा में एक नया परिवर्तन, किसी अन्य तरीके से परिवर्तन प्रभावित नहीं होगा

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