PO या POT फ़ाइल ऑनलाइन अनुवाद करें, plurals और context के साथ
कोई .pot टेम्पलेट या आंशिक रूप से अनुवादित .po फ़ाइल अपलोड करें और हर खाली msgstr भरी हुई .po फ़ाइल वापस पाएँ। msgid और msgctxt कभी नहीं बदलते, कमेंट और references बने रहते हैं, और plural एंट्री को उतने फ़ॉर्म मिलते हैं जितने टार्गेट भाषा को चाहिए। शुरुआती स्ट्रिंग बिना अकाउंट के फ़्री हैं; पूरी फ़ाइल, 5,000 स्ट्रिंग तक, $5 में है, सिर्फ़ एक बार पेमेंट।
- खाली और fuzzy एंट्री का अनुवाद होता है; जिन एंट्री का अनुवाद आप पहले कर चुके हैं, वे जस की तस रहती हैं
- msgid_plural एंट्री को टार्गेट भाषा के लिए msgstr[0], msgstr[1] … मिलते हैं, और हेडर में Plural-Forms होता है
- msgctxt, ट्रांसलेटर कमेंट (#.) और references (#:) संदर्भ के रूप में भेजे जाते हैं और फ़ाइल में बने रहते हैं
- हर स्ट्रिंग में php-format, c-format और python-format placeholders की जाँच होती है
- WordPress प्लगइन और थीम, Django, Python, PHP और C प्रोजेक्ट के लिए काम करता है
{
"home.greeting": "Good morning, {name}Buenos días, {name}",
"home.nearby": "{count, plural, =0 {No trails near you yet} one {# trail near you} other {# trails near you}}{count, plural, =0 {Aún no hay rutas cerca de ti} one {# ruta cerca de ti} other {# rutas cerca de ti}}",
"trail.offline_done": "<b>{name}</b> is saved on this phone. You can use the map without a signal.<b>{name}</b> está guardado en este teléfono. Puedes usar el mapa sin señal.",
"trail.share_text": "I just finished {trail} with Trailbook! {km} km and {meters} m up. 🥾¡Acabo de terminar {trail} con Trailbook! {km} km y {meters} m de subida. 🥾",
"saved.empty": "You have not saved any trails yet.\nTap the heart on a trail to keep it here.Aún no has guardado ninguna ruta.\nToca el corazón en una ruta para guardarla aquí."
}
पीला: प्लेसहोल्डर और ICU प्लूरल सिंटैक्स, हर स्ट्रिंग में जाँचे गए। टील: टैग, एस्केप और इमोजी, जैसे लिखे थे वैसे ही रखे गए।
वही कीज़। वही प्लेसहोल्डर। नई भाषा।
सिर्फ़ वैल्यू बदलती हैं। फ़ाइल उसी नेस्टिंग और क्रम में es.json नाम से वापस आती है, और जिस स्ट्रिंग से कोई प्लेसहोल्डर गायब हो जाए, उसे आपके बिल्ड तक पहुँचने से पहले दोबारा अनुवाद के लिए भेजा जाता है।
इस पेज के लिए बनाया गया डेमो ऐप; स्पेनिश स्ट्रिंग टूल का असली आउटपुट हैं, 85 स्ट्रिंग वाली फ़ाइल से।
POT टेम्पलेट से PO फ़ाइल तक
.pot फ़ाइल उन स्ट्रिंग की सूची होती है जिनका प्रोजेक्ट में अनुवाद चाहिए, और उसकी हर msgstr खाली होती है। उसे अपलोड करें, भाषा चुनें, और आपको हेडर भरी हुई .po फ़ाइल मिलती है: Language, उस भाषा की Plural-Forms लाइन, और charset के रूप में UTF-8। फ़ाइल का नाम भाषा के हिसाब से बनता है, जैसे myplugin.pot से myplugin-de.po; उसे अपने प्रोजेक्ट की ज़रूरत के नाम पर रीनेम कर लें, जैसे WordPress के लिए myplugin-de_DE.po, और अपने सामान्य टूल से .mo में कंपाइल करें।
Plural forms और fuzzy एंट्री
हर भाषा में गिनती अलग तरह से चलती है। अंग्रेज़ी में दो फ़ॉर्म होते हैं; gettext में पोलिश और रूसी तीन इस्तेमाल करती हैं; अरबी छह। हर plural एंट्री के लिए अनुवादक को टार्गेट भाषा के फ़ॉर्म उदाहरण संख्याओं के साथ ("फ़ॉर्म 1: 2, 3, 4, 22") दिए जाते हैं और वह हर फ़ॉर्म के लिए एक स्ट्रिंग लिखता है। अगर आपकी .po में उसी भाषा का Plural-Forms हेडर पहले से है, तो वही नियम इस्तेमाल होता है।
fuzzy चिह्नित एंट्री का दोबारा अनुवाद होता है; fuzzy फ़्लैग और पुरानी #| msgid लाइनें हटा दी जाती हैं, जबकि php-format जैसे दूसरे फ़्लैग बने रहते हैं। पुरानी (obsolete) #~ एंट्री को छुआ नहीं जाता।
टूल कैसे काम करता है, कितना खर्च आता है और आपकी फ़ाइलें कैसे संभाली जाती हैं, यह लोकलाइज़ेशन फ़ाइल अनुवाद पेज पर है; हर टूल की कीमत कीमत पेज पर है।
आख़िरी अपडेट:
सवाल और जवाब
क्या यह मेरे मौजूदा अनुवादों को मिटा देगा?
नहीं। जिन एंट्री में msgstr पहले से है और जो fuzzy नहीं हैं, वे बिल्कुल वैसी ही रहती हैं; सिर्फ़ खाली और fuzzy एंट्री का अनुवाद होता है।
क्या इससे .mo फ़ाइल बनती है?
नहीं, आपको .po फ़ाइल मिलती है। उसे msgfmt, Poedit या अपने फ़्रेमवर्क के कमांड से कंपाइल करें, जैसे wp i18n make-mo या Django में compilemessages।
क्या printf placeholders सुरक्षित रहते हैं?
msgid में मौजूद हर %s, %d, %1$s और %(name)s अनुवाद में भी होना ज़रूरी है। जिस स्ट्रिंग में इनमें से कोई खो जाए, उसका दोबारा अनुवाद होता है; फिर भी नाकाम रहे तो उसकी msgstr जैसी थी वैसी ही रहती है (खाली, या fuzzy) और उसे लिस्ट कर दिया जाता है, ताकि gettext टूटी हुई स्ट्रिंग दिखाने के बजाय मूल टेक्स्ट पर लौट जाए।
इसकी कीमत कितनी है?
शुरुआती स्ट्रिंग फ़्री हैं। पूरी फ़ाइल, यानी 5,000 स्ट्रिंग तक, $5 में होती है, सिर्फ़ एक बार पेमेंट, कोई सब्सक्रिप्शन नहीं। छोटे जॉब इसका अपवाद हैं: 300 स्ट्रिंग तक का जॉब डाउनलोड समेत पूरा फ़्री है।