__()
फ़ंक्शन में एक दूसरा तर्क है । इसे उस डोमेन पर सेट किया जाना चाहिए जिसे आप अपने प्लगइन या थीम के लिए उपयोग कर रहे हैं। नीचे दिए गए उदाहरणों में मैं उपयोग करता हूं 'text_domain'
। आपका डोमेन स्ट्रिंग अद्वितीय होना चाहिए। यह किसी अन्य डोमेन स्ट्रिंग से मेल नहीं खाना चाहिए। 'default'
वर्डप्रेस डोमेन नाम पर एक पाठ डोमेन तर्क चूक का उपयोग नहीं करना । अधिक जानकारी के लिए लिंक देखें।
हमेशा स्ट्रिंग ( 'text_domain'
) का उपयोग करें । इसमें स्ट्रिंग के साथ कभी भी वैरिएबल, फंक्शन या कंटीन्यू का इस्तेमाल न करें। अधिकांश (सभी?) अनुवाद कार्यक्रम इसे स्ट्रिंग के बिना नहीं देखेंगे।
तुम्हारा कोड:
echo __( 'Hello ' . $first . ' you own me money.' );
स्ट्रिंग में चर शामिल न करें।
एक बेहतर तरीका:
echo sprintf( __( 'Hello %s you own me money.', 'text_domain' ), $first );
या केवल:
printf( __( 'Hello %s you own me money.', 'text_domain' ), $first );
%s
प्लेसहोल्डर मानव अनुवादक कि एक स्ट्रिंग वहाँ में जा रहा है बताता है। %d
संख्या के लिए उपयोग करें । अन्य प्लेसहोल्डर भी हैं ।
(यह वाक्य व्याकरणिक रूप से गलत अंग्रेजी है। 'Hello %s, you owe me money.'
या तो 'Hello %s, you own my money.'
आप जिस अर्थ के लिए इच्छुक थे, उसका उपयोग करें ।)
तुम्हारा कोड:
$html = '<div><p>Top: ' . $t_margin . '</p>' . <p>Bottom: ' . $b_margin . '</p></div>';
HTML का अनुवाद न करें। यह किसी भी भाषा में समान है।
एक बेहतर तरीका:
$html = sprintf( '<div><p>%s</p><p>%s</p></div>', __( 'Top: ', 'text_domain' ) . $t_margin, __( 'Bottom: ', 'text_domain' ) . $b_margin );
या इसे कई लाइनों में तोड़ दें:
$html = sprintf(
'<div><p>%s</p><p>%s</p></div>',
__( 'Top: ', 'text_domain' ) . $t_margin,
__( 'Bottom: ', 'text_domain' ) . $b_margin
);
यदि यह स्पष्ट नहीं है कि आप इन शब्दों के संदर्भ को समझाने के लिए किस शीर्ष और नीचे का उपयोग कर रहे हैं _x()
।
आप अन्य अनुवाद मामलों को यहां पा सकते हैं: अंतर्राष्ट्रीयकरण: आप शायद गलत कर रहे हैं