गेटटेक्स्ट सिस्टम एक ही वाक्य के लिए अलग-अलग भाषाओं में अनुवाद वाले स्रोत टेक्स्ट फ़ाइलों से बनाए गए बाइनरी फ़ाइलों के सेट से तारों को जोड़ता है।
लुकअप कुंजी "आधार" भाषा में वाक्य है।
अपने स्रोत कोड में
आप की तरह
echo _("Hello, world!");
कुछ प्रत्येक भाषा के लिए आप कुंजी और अनुवादित संस्करण के साथ एक इसी पाठ फ़ाइल ही होगी (ध्यान दें% s कि printf कार्यों के साथ इस्तेमाल किया जा सकता)
french
msgid "Hello, world!"
msgstr "Salut, monde!"
msgid "My name is %s"
msgstr "Mon nom est %s"
italian
msgid "Hello, world!"
msgstr "Ciao, mondo!"
msgid "My name is %s"
msgstr "Il mio nome è %s"
ये मुख्य कदम आप अपने स्थानीयकरणों बनाने के लिए के माध्यम से जाने की जरूरत है
- सभी अपने पाठ उत्पादन gettext कार्य (gettext()), ngettext (, _()) का उपयोग करना चाहिए
- उपयोग xgettext (* nix) अपने php फ़ाइलें पार्स करने के लिए और आधार पुलिस पाठ फ़ाइल
- उपयोग poedit बनाने पुलिस फाइलों को अनुवाद ग्रंथों जोड़ने
- उपयोग msgfmt (* nix) पुलिस फाइल से बाइनरी मो फ़ाइल बनाने के लिए
की तरह एक निर्देशिका संरचना में मो फाइलें डाल
भाषा/de_DE/LC_MESSAGES/myPHPApp.mo
भाषा/en_EN/LC_MESSAGES/myPHPApp.mo
भाषा/it_IT/LC_MESSAGES/myPHPApp.mo
तो आप PHP स्क्रिप्ट स्थान
उदाहरण प्रयोग की जाने वाली php से जरूरत है कि सेट करना होगा मैनुअल कि भाग के लिए बहुत स्पष्ट है
<?php
// Set language to German
setlocale(LC_ALL, 'de_DE');
// Specify location of translation tables
bindtextdomain("myPHPApp", "./locale");
// Choose domain
textdomain("myPHPApp");
// Translation is looking for in ./locale/de_DE/LC_MESSAGES/myPHPApp.mo now
// Print a test message
echo gettext("Welcome to My PHP Application");
// Or use the alias _() for gettext()
echo _("Have a nice day");
?>
php पुस्तिका से
हमेशा एक अच्छा ट्यूटोरियल
स्रोत
2009-07-28 10:14:20
लेकिन इसके बाद के संस्करण के लिए देखो here PHP मैनुअल उदाहरण दिए गए स्ट्रिंग का अनुवाद नहीं प्रतीत होता है। क्या उदाहरण के साथ कुछ और करने के लिए है? –