अनुवाद तैयार करने का सबसे अच्छा तरीका क्या है?
इसका शुरुआत से अनुवाद नहीं किया जाता है, लेकिन इसे आसानी से अनुवाद किया जा सकता है, इसलिए विभिन्न संस्कृतियों के साथी डेवलपर्स प्लगइन के स्थानीयकरण प्रक्रिया में भाग ले सकते हैं।
अनुवाद तैयार करने का सबसे अच्छा तरीका क्या है?
इसका शुरुआत से अनुवाद नहीं किया जाता है, लेकिन इसे आसानी से अनुवाद किया जा सकता है, इसलिए विभिन्न संस्कृतियों के साथी डेवलपर्स प्लगइन के स्थानीयकरण प्रक्रिया में भाग ले सकते हैं।
जवाबों:
टेक्स्ट आउटपुट का उपयोग echo
या print()
उत्पादन न करें , इसके बजाय वर्डप्रेस फ़ंक्शंस का उपयोग करें __()
और _e()
:
/** Not localization friendly */
echo "Welcome to my plugin";
// OR
print("Welcome to my plugin");
/** Localization friendly */
_e('Welcome to my plugin', 'my-plugin');
// OR
$my_text = __('Welcome to my plugin', 'my-plugin');
echo $my_text;
_e()
और __()
अनुवाद प्रदान करेगा - वर्तमान भाषा में - पहले पैरामीटर के रूप में प्रदान किए गए पाठ का। _e()
पाठ को आउटपुट करेगा जबकि __()
इसे वापस करेगा।
दूसरा पैरामीटर टेक्स्ट डोमेन है , आप इसका उपयोग वर्डप्रेस को यह बताने के लिए करेंगे कि पहले पैरामीटर के रूप में प्रदान किया गया टेक्स्ट इस प्लगइन का है, आप किसी भी नाम का उपयोग कर सकते हैं, लेकिन मैं उसी नाम का उपयोग करना पसंद करता हूं, जैसा कि मैंने प्लगइन के लिए उपयोग किया है। निर्देशिका की फ़ाइल, मुझे यह अधिक सहज लगती है।
के साथ __()
और sprintf()
:
/** Get the username */
$username = 'Magictrick';
/** Not localization friendly */
echo "Hello $username";
/** Localization friendly */
printf(__('Hello %s', 'my-plugin'), $username);
// OR
$my_text = sprintf(__('Hello %s', 'my-plugin'), $username);
echo $my_text;
परिभाषाएं
ओपन Poedit और एक नई सूची बनाने (फ़ाइल> नया Catallog ...) इन सेटिंग के साथ:
.
..
, (हम भाषा फ़ाइल को एक प्लगइन उपनिर्देशिका में संग्रहीत करेंगे जिसे भाषा कहा जाता है)__
और_e
कैटलॉग को सेव करें और अपडेट बटन दबाकर ट्रांसलेटेबल टेक्स्ट के लिए अपनी प्लगइन फाइल्स को स्कैन करें। जब अद्यतन उस कैटलॉग के पास समाप्त हो जाता है, तो आपको उस फ़ाइल को अपडेट करने की आवश्यकता नहीं होगी जब तक कि आप अपने प्लगइन में नई ट्रांसलेटेबल स्ट्रिंग्स (यानी संलग्न या ) जोड़ न दें ।/my_wordpress_blog/wp-content/plugins/my-plugin/languages/my-plugin.pot
__()
_e()
अब पहला अनुवाद बनाते हैं (मैं fr_FR का उपयोग करूंगा):
Podeit का उपयोग करना , POT फ़ाइल से एक कैटलॉग बनाएं (फ़ाइल फ़ाइल POT से नई सूची ...) :
कैटलॉग के रूप में सहेजें । कुछ या सभी स्ट्रिंग्स का अनुवाद करें, .po फ़ाइल को फिर से सहेजें , .po और .mo दोनों फ़ाइलों को अपलोड करें।/my_wordpress_blog/wp-content/plugins/my-plugin/languages/my-plugin-fr_FR.po
ध्यान दें कि जब भी आप को बचाने के लिए एक पुलिस फाइल एक mo फ़ाइल ही नाम के साथ उत्पन्न होता है, पुलिस फाइल के फ़ाइल नाम महत्वपूर्ण है , यह प्लगइन पाठ डोमेन (मेरी-प्लगइन) और भाषा लोकेल के संयोजन से बना है ( fr_FR), हमेशा प्लगइन्स के लिए अपनी .po फ़ाइलों को इस तरह से नाम दें: [टेक्सटोमैन] - [लोकेल] .po , यहाँ कुछ उदाहरण दिए गए हैं:
wpcf7-it_IT.po
wpcf7-pt_BR.po
wpcf7-ar.po
... हाँ!जब भी प्लगइन को नए टेक्स्ट के साथ अपडेट किया जाता है, तो पो फाइल को अपडेट करें, नए स्ट्रिंग्स का अनुवाद करें और .po -mo फाइलों को फिर से लोड करें।
कहीं न कहीं आपके प्लगइन में, आपको वर्डप्रेस को अपनी .mo फ़ाइल का उपयोग करने के लिए कहना होगा, आप इस कोड का उपयोग अपने प्लगइन की शुरुआत में कर सकते हैं:
function my_plugin_init() {
load_plugin_textdomain( 'my-plugin', false, 'my-plugin/languages' );
}
add_action('init', 'my_plugin_init');
फ़ंक्शन my-plugin
के 1 और 3 पैरामीटर में अपने प्लगइन नाम के साथ बदलें load_plugin_textdomain
।
कुछ कारणों से यह काम नहीं कर सकता है:
_e('my text')
साथ बदलें _e('my text', 'my-plugin')
)नबील का जवाब काफी हद तक पूरा हो गया है, लेकिन एक आसान बदलाव प्रदान किया गया है:
आपका प्लगइन WordPress.org plugin repository पर है
आप यह चाहते हैं कि आपका प्लगइन केवल वर्डप्रेस 4.6 या उच्चतर के साथ काम करे।
कदम ये हैं:
अपने प्लगइन की readme.txt फ़ाइल में, जोड़ें
Requires at least: 4.6
। Https://developer.wordpress.org/plugins/wordpress-org/how-your-readme-txt-Street/ देखें
यदि यह पहले से ही नहीं है, तो अपने प्लगइन को WordPress प्लगइन रिपॉजिटरी में अपलोड करें। Https://wordpress.org/plugins/developers/add/ देखें ।
अपने प्लगइन का स्लग / टेक्स्ट डोमेन खोजें। ऐसा करने के लिए, वर्डप्रेस प्लगइन रिपॉजिटरी पर अपने प्लगइन के पेज पर जाएं। URL https://wordpress.org/plugins/your-plugin-slug/ जैसा होगा । URL का अंतिम भाग, "आपका प्लगइन-स्लग", आपके प्लगइन का स्लग है। यही आप अनुवाद कार्यों के पाठ डोमेन के लिए उपयोग करते हैं।
अपने प्लगइन में वर्डप्रेस अनुवाद कार्यों का उपयोग करें (जैसे __e(‘hello’, ‘my-plugin-domain’);
)। बस पिछले चरण में अधिग्रहित सही प्लगइन टेक्स्ट डोमेन का उपयोग करना सुनिश्चित करें। अधिक जानकारी के लिए https://developer.wordpress.org/plugins/internationalization/how-to-internationalize-your-plugin/ देखें ।
यदि आप उपरोक्त चरण करते हैं, तो वर्डप्रेस इसका ध्यान रखेगा:
(मेरे ब्लॉग पोस्ट का उत्तर यहां दें: https://cmljnelson.blog/2019/01/01/the-really-lazy-way-to-translate-a-wordpress-plugin/ )