अनुवाद में योगदान
WCPOS वर्तमान में 10 लोकेल के लिए अनुवाद प्रदान करता है, और कई और के लिए गुंजाइश है। योगदान का स्वागत है — आपको सब कुछ अनुवाद करने की आवश्यकता नहीं है, और आपको डेवलपर होने की भी आवश्यकता नहीं है। यह पृष्ठ बताता है कि क्या अनुवाद करना है और कहाँ।
अनुवाद रखने वाले चार स्थान
WCPOS अनुवाद योग्य स्ट्रिंग्स को चार रिपॉज़िटरी में वितरित करता है, जिनमें से प्रत्येक का अपना योगदान प्रवाह है। आप इनमें से किसी में भी स्वतंत्र रूप से योगदान कर सकते हैं।
WordPress प्लगइन (PHP स्ट्रिंग्स)
एडमिन नोटिस, सेटिंग्स पृष्ठ लेबल, त्रुटि संदेश, और WP Admin UI। GlotPress का उपयोग करके translate.wordpress.org पर अनुवाद किया जाता है — यह मानक WordPress अनुवाद प्रवाह है। कोडिंग की आवश्यकता नहीं है।
POS ऐप (React/i18next)
काउंटर पर कैशियर को दिखने वाली हर चीज़ — बटन, डायलॉग, त्रुटि संदेश, कार्ट और चेकआउट UI। अनुवाद फ़ाइलें wcpos/monorepo रिपॉज़िटरी में हैं; योगदान पुल रिक्वेस्ट के माध्यम से किया जाता है। GitHub की बुनियादी जानकारी सहायक है।
WP Admin React स्क्रीन
नई React-आधारित सेटिंग्स, स्टोर संपादक, टेम्पलेट, एक्सटेंशन, और लॉग पृष्ठ। अनुवाद wcpos/woocommerce-pos (और Pro स्क्रीन के लिए woocommerce-pos-pro) में JSON फ़ाइलों के रूप में हैं। GitHub की बुनियादी जानकारी सहायक है।
ये दस्तावेज़ (Docusaurus)
यह वही दस्तावेज़ साइट है जो आप अभी पढ़ रहे हैं। अनुवादित MDX फ़ाइलें wcpos/docs रिपॉज़िटरी में i18n/<locale>/ के अंतर्गत हैं। योगदान pull request के माध्यम से किए जाते हैं। Markdown का ज्ञान सहायक है।
WordPress प्लगइन स्ट्रिंग्स (शुरू करने के लिए सबसे आसान जगह)
यदि आपने पहले कभी किसी WordPress प्लगइन का अनुवाद नहीं किया है, तो यह सबसे आसान तरीका है:
- अपनी भाषा खोजें translate.wordpress.org/projects/wp-plugins/woocommerce-pos/ पर — WordPress द्वारा समर्थित हर लोकेल का एक उप-प्रोजेक्ट है।
- अपने WordPress.org खाते से साइन इन करें (वही जिसका उपयोग आप सहायता फ़ोरम में टिप्पणी करने के लिए करते हैं)। यदि आपके पास नहीं है तो मुफ़्त में एक बनाएँ।
- एक उप-प्रोजेक्ट चुनें — आमतौर पर ये दिखाई देंगे:
- Stable (नवीनतम रिलीज़) — वर्तमान सार्वजनिक संस्करण में शामिल स्ट्रिंग्स। यहाँ के अनुवाद प्लगइन अपडेट करने वाली हर साइट पर लागू हो जाते हैं।
- Development (trunk) — अगली रिलीज़ में आने वाली स्ट्रिंग्स। अगले संस्करण के प्रकाशन से पहले तैयार रहने के लिए इनका अनुवाद करें।
- Stable Readme / Development Readme — प्लगइन का विवरण जो WordPress.org पर दिखाई देता है।
- GlotPress UI के माध्यम से एक-एक स्ट्रिंग करके अनुवाद सबमिट करें। ये सुझावित के रूप में शुरू होते हैं जब तक कोई Project Translation Editor (PTE) उन्हें स्वीकृत नहीं करता।
- कुछ स्वीकृत अनुवादों के बाद WordPress polyglots Slack पर अनुरोध करके PTE बनें। PTE समीक्षा की प्रतीक्षा किए बिना सीधे अनुवाद स्वीकृत कर सकते हैं।
आपके अनुवाद स्वीकृत होने के बाद, वे स्वचालित रूप से आपकी भाषा के प्रत्येक WCPOS उपयोगकर्ता तक पहुँच जाते हैं — कोई कोड परिवर्तन नहीं, कोई PR नहीं।
POS ऐप अनुवाद (React UI)
कैशियर-फेसिंग UI एक React ऐप है जो अनुवादों के लिए i18next का उपयोग करता है, जिसे v1.8.8 में पुनर्निर्मित किया गया। अनुवाद फ़ाइलें wcpos/monorepo रिपॉज़िटरी (क्रॉस-प्लेटफ़ॉर्म POS कोर) में JSON के रूप में उपलब्ध हैं।
इस सेटअप में दो उपयोगी विशेषताएँ हैं:
- ऑन-डिमांड लोडिंग — रनटाइम पर केवल सक्रिय भाषा को फ़ेच किया जाता है (jsDelivr के CDN से), इसलिए कोई भाषा जोड़ने से बाकी सभी के लिए डाउनलोड का आकार नहीं बढ़ता।
- क्षेत्रीय फ़ॉलबैक — i18next JSON फ़ाइल नाम अंडरस्कोर का उपयोग करते हैं:
pt_BRका फ़ॉलबैकptहै,es_MXका फ़ॉलबैकesहै, आदि। दस्तावेज़ और वेब भाषा टैग इसके बजाय हाइफ़न का उपयोग करते हैं, जैसेpt-BRयाes-MX। अनुवाद JSON फ़ाइलों के लिए अंडरस्कोर वाला रूप और जहाँ भाषा टैग आवश्यक हों वहाँ हाइफ़न वाला रूप उपयोग करें।
योगदान करने के लिए:
- en स्रोत फ़ाइल खोजें
wcpos/monorepoमें अनुवाद पैकेज डायरेक्टरी के अंतर्गत (सटीक पथ भिन्न हो सकता है — सबसे आसान तरीका है कि रिपो पर एक issue खोलें और पूछें कि कौन सी फ़ाइल कॉपी करनी है)। - कॉपी करें
en.jsonको<your-locale>.jsoni18next JSON भाषा परंपरा का पालन करते हुए (fr.json,de.json,pt_BR.json, आदि; क्षेत्रीय फ़ाइल नामों के लिए अंडरस्कोर का उपयोग करें)। - वैल्यू का अनुवाद करें, keys और किसी भी
{{interpolation}}प्लेसहोल्डर को यथावत रखें। - पुल रिक्वेस्ट सबमिट करें मोनोरेपो के लिए। CI JSON संरचना को सत्यापित करेगा।
किसी मौजूदा अनुवाद में छोटे संपादनों के लिए, आप पेंसिल आइकन के माध्यम से सीधे GitHub पर JSON फ़ाइल संपादित कर सकते हैं — GitHub आपके लिए एक PR खोलेगा।
WP Admin React स्क्रीन
WordPress एडमिन सेटिंग्स, स्टोर संपादक, टेम्पलेट पृष्ठ, एक्सटेंशन कैटलॉग, और लॉग सभी POS ऐप के समान अनुवाद पैटर्न का उपयोग करते हैं, लेकिन ये दो अलग-अलग रिपॉज़िटरी में हैं:
- मुफ़्त एडमिन स्क्रीन —
wcpos/woocommerce-posरिपॉज़िटरी, यहाँpackages/settings/src/translations/locales/<locale>/wp-admin-settings.json(और अन्य एडमिन पैकेजों के लिए समान पथ; अंडरस्कोर लोकेल फ़ोल्डर का उपयोग करें जैसेpt_BRक्षेत्रीय JSON लोकेल के लिए)। - Pro एडमिन स्क्रीन —
wcpos/woocommerce-pos-proरिपॉज़िटरी में, उसी पैटर्न के साथ (जैसेpackages/store-edit/src/translations/locales/<locale>/wp-admin-store-edit.json, जिसमें अंडरस्कोर लोकेल फ़ोल्डर जैसेpt_BR)।
योगदान का तरीका POS ऐप जैसा ही है: कॉपी करें en.json को <your-locale>.json, अनुवाद करें, PR खोलें।
दस्तावेज़ीकरण (ये पृष्ठ)
डॉक्स साइट Docusaurus के मानक i18n सेटअप का उपयोग करती है। अनुवादित MDX फ़ाइलें wcpos/docs रिपॉज़िटरी में यहाँ स्थित हैं i18n/<locale>/docusaurus-plugin-content-docs/current/। प्रत्येक अंग्रेज़ी पृष्ठ जो यहाँ है versioned_docs/version-1.x/ का प्रत्येक सक्रिय अनुवाद लोकेल में एक संगत पृष्ठ है।
साइट में पहले से स्वचालित अनुवाद टूलिंग मौजूद है — एक pnpm translate स्क्रिप्ट है जो OpenAI / Anthropic API का उपयोग करके अंग्रेज़ी से अनुवाद का ड्राफ़्ट तैयार करती है, जिसे फिर एक मानव समीक्षक परिष्कृत करता है। इसलिए सामान्य योगदान प्रक्रिया यह है:
- एक पेज चुनें जिसका अनुवाद या सुधार आवश्यक है। साइट फ़ुटर का भाषा चयनकर्ता दिखाता है कि कौन-सी भाषाएँ सक्रिय हैं।
- संबंधित MDX फ़ाइल संपादित करें जो यहाँ स्थित है
i18n/<locale>/...GitHub पर सीधे हर पेज के नीचे दिए गए इस पेज को संपादित करें लिंक के माध्यम से। - एक pull request सबमिट करें। समीक्षक अनुवाद की सटीकता जाँचेंगे और मर्ज करेंगे।
बड़े योगदानों के लिए (पूरे सेक्शन का अनुवाद या नई लोकेल शुरू करना), पहले टीम के साथ समन्वय के लिए एक issue खोलें।
WCPOS द्वारा उपयोग किए जाने वाले लोकेल कोड
WCPOS वर्तमान में इन 10 लोकेल के साथ उपलब्ध है। डॉक्स तालिका क्षेत्रीय लोकेल के लिए हाइफ़नेटेड भाषा टैग का उपयोग करती है; i18next JSON फ़ाइलों के लिए समतुल्य अंडरस्कोर रूप का उपयोग करें, जैसे pt_BR के लिए pt-BR और zh_CN के लिए zh-CN।
| कोड | भाषा |
|---|---|
ar | अरबी (दाएँ-से-बाएँ) |
de | जर्मन |
es | स्पेनिश |
fr | फ़्रेंच |
hi-IN | हिन्दी (भारत) |
it | इतालवी |
ja | जापानी |
ko | कोरियाई |
pt-BR | पुर्तगाली (ब्राज़ील) |
zh-CN | चीनी (सरलीकृत) |
यदि आपकी भाषा सूची में नहीं है, तो जिस भी रिपॉज़िटरी से शुरू करना चाहें उसमें एक issue खोलें और हम उस locale को सेट कर देंगे।
अनुवादक सुझाव
- प्लेसहोल्डर्स को यथावत रखें। स्ट्रिंग्स में अक्सर
{{variable}},%s,%d, या<strong>टैग — आसपास के टेक्स्ट का अनुवाद करें लेकिन प्लेसहोल्डर्स को बिल्कुल वैसे ही छोड़ दें। WCPOS रनटाइम पर इनमें वास्तविक मान डालता है। - मौजूदा लहजे से मिलान करें। WCPOS के दस्तावेज़ और UI जानबूझकर व्यावहारिक और सीधे हैं। यदि अंग्रेज़ी में "Add Coupon" लिखा है, तो अनुवाद में वही क्रिया रूप होना चाहिए जो आपकी भाषा में समान बटनों पर उपयोग किया जाता है — संज्ञा नहीं।
- यदि संभव हो तो संदर्भ में परीक्षण करें। अपनी WordPress साइट को अपनी भाषा पर सेट करें, प्लगइन इंस्टॉल करें, और सत्यापित करें कि स्ट्रिंग्स वास्तविक UI पर सही दिखती हैं। संदर्भ महत्वपूर्ण है — एक स्ट्रिंग जो एक स्क्रीन पर फिट होती है, दूसरी पर अजीब तरह से रैप हो सकती है।
- कोड, URL, या तकनीकी ID का अनुवाद न करें। कूपन कोड, गेटवे ID, लोकेल कोड, फ़ाइल पथ, और शॉर्टकोड अंग्रेज़ी में ही रहने चाहिए। यदि आप अनिश्चित हैं, तो अनुवाद न करें — यह किसी ऐसी चीज़ को बिगाड़ने से सुरक्षित है जिस पर सिस्टम निर्भर करता है।
- दाएँ-से-बाएँ (RTL) भाषाओं — अरबी, हिब्रू, फ़ारसी, उर्दू — के लिए रसीद टेम्पलेट्स को भी RTL के रूप में चिह्नित करना आवश्यक है। WCPOS बंडल किए हुए RTL रसीद टेम्पलेट्स के साथ आता है; गैलरी के लिए अपनी रसीद कस्टमाइज़ करें देखें।
सहायता कहाँ माँगें
- WordPress.org polyglots Slack — Glotpress संबंधी प्रश्नों के लिए
- WCPOS Discord — WCPOS-विशिष्ट अनुवाद चर्चाओं के लिए (आमंत्रण)
- GitHub issues — रिपॉज़िटरी-विशिष्ट प्रश्नों के लिए संबंधित रिपो (
woocommerce-pos,woocommerce-pos-pro,monorepo, याdocs) पर फ़ाइल करें