Snipp का अनुवाद

Snipp का अनुवाद इसकी कम्युनिटी द्वारा किया जाता है, और हम आपकी मदद चाहेंगे। अगर आप किसी अन्य भाषा में पारंगत हैं, तो आप मौजूदा अनुवादों को बेहतर बना सकते हैं या Snipp को किसी नई भाषा में लाने में मदद कर सकते हैं। यह गाइड वह सब कुछ कवर करती है जिसकी आपको ज़रूरत है।

इनाम

  • सार्थक योगदान आपको अपनी Snipp प्रोफ़ाइल पर खास Translator बैज दिलाते हैं।

  • आपको हमारे Discord सर्वर में Translator रोल भी मिलेगा।

  • बहुत ज़्यादा योगदान देने वालों को धन्यवाद के तौर पर Snipp PLUS मिल सकता है।

शुरू कैसे करें

शुरू करने की सबसे अच्छी जगह है हमारा Discord सर्वर जहाँ अनुवादक आपस में तालमेल बिठाते हैं, भाषाएँ चुनते हैं और मदद पाते हैं। हमें बता दें कि आप किस भाषा पर काम करना चाहते हैं ताकि किसी का काम दोहराया न जाए।

अनुवाद करने के दो तरीके

अनुवाद में योगदान देने के दो तरीके हैं। आपको जो भी सूट करे चुन लें, दोनों इस्तेमाल करना ज़रूरी नहीं है।

Crowdin

सबसे आसान विकल्प। सीधे अपने ब्राउज़र में अनुवाद करें, किसी JSON या Git की जानकारी की ज़रूरत नहीं। Crowdin हर स्ट्रिंग को उसके संदर्भ में दिखाता है और फ़ॉर्मेटिंग खुद संभाल लेता है। ज़्यादातर अनुवादकों के लिए सुझाया गया।

Crowdin खोलें

GitHub

उन डेवलपर्स के लिए जो Git के साथ सहज हैं। locale JSON फ़ाइलों को सीधे एडिट करें और एक pull request खोलें। तब बेहतर है जब आप पूरा नियंत्रण चाहते हों या कोई नई भाषा जोड़ रहे हों।

रिपॉज़िटरी खोलें

फ़ाइलें कैसे काम करती हैं

हर locale एक फ़्लैट JSON फ़ाइल है। key एक स्थिर ID है और कभी नहीं बदलती। value वह टेक्स्ट है जो उपयोगकर्ताओं को दिखता है, और आप बस उसी का अनुवाद करते हैं:

{
  "SETTINGS_PREFS_AUTO_COMPRESSION_LABEL": "Automatic Compression",
  "SETTINGS_PREFS_PARTY_MODE_LABEL": "Party Mode"
}

अंग्रेज़ी फ़ाइल ही सच्चाई का स्रोत है। बाकी हर locale में बिल्कुल वही keys होती हैं, इसलिए आप सिर्फ़ values ही बदलते हैं।

नियम

  • keys को कभी न जोड़ें, न हटाएँ, न उनका नाम बदलें। नई keys Snipp कोडबेस से आती हैं। अगर आपके locale में कोई key गायब है, तो साइट अंग्रेज़ी पर वापस लौट आती है।

  • placeholders को एक जैसा रखें। {count} या {username} जैसा टेक्स्ट रनटाइम पर बदल दिया जाता है। बिल्कुल वही placeholders रखें, हालाँकि आप अपनी भाषा के शब्द-क्रम के हिसाब से उन्हें इधर-उधर रख सकते हैं।

  • casing के तरीके से मेल खाएँ। छोटे UI लेबल हर भाषा में Title Case इस्तेमाल करते हैं। पूरे वाक्य आपकी भाषा के सामान्य वाक्य-case में होते हैं।

  • ब्रांड या तकनीकी टोकन का अनुवाद न करें। Snipp, Discord, ShareX, URL, API, PLUS और फ़ाइल एक्सटेंशन को जैसा है वैसा ही छोड़ दें।

  • इसे वैध JSON रखें। डबल कोट्स का इस्तेमाल करें, आखिरी को छोड़कर हर एंट्री के बाद एक कॉमा, और कोई ट्रेलिंग कॉमा नहीं।

  • अगर किसी value में आगे या पीछे स्पेस हैं तो उन्हें बनाए रखें। वे जानबूझकर रखे गए हैं और वाक्यों को जोड़ने के लिए इस्तेमाल होते हैं।

GitHub के ज़रिए सबमिट करना

अगर आपने GitHub वाला रास्ता चुना है, तो यह रही प्रक्रिया। Crowdin अनुवादक इस सेक्शन को छोड़ सकते हैं, आपके बदलाव Crowdin के अंदर से ही सबमिट हो जाते हैं।

अनुवाद GitHub पर i18n रिपॉज़िटरी के ज़रिए मानक fork-and-pull-request प्रक्रिया से सबमिट किए जाते हैं:

  • रिपॉज़िटरी को fork करें, फिर अपने fork को clone करें और अपने बदलाव के लिए एक नई branch बनाएँ।

  • अपनी भाषा की locale फ़ाइल एडिट करें और जिन values को बेहतर करना चाहते हैं उनका अनुवाद करें।

  • रिपॉज़िटरी की रूट से validation स्क्रिप्ट चलाएँ और सबमिट करने से पहले उसमें बताई गई हर चीज़ ठीक करें।

  • commit करें, अपने fork पर push करें, और main branch के ख़िलाफ़ एक pull request खोलें। एक मेंटेनर उसे रिव्यू करके merge करता है।

कमांड लाइन इस्तेमाल नहीं करना चाहते? GitHub का वेब एडिटर भी काम करता है। locale फ़ाइल खोलें, पेंसिल आइकन पर क्लिक करें, एडिट करें, और अपने बदलाव प्रस्तावित करें।

नई भाषा जोड़ना

Snipp अभी आपकी भाषा सपोर्ट नहीं करता? GitHub पर भाषा और उसका locale कोड प्रस्तावित करते हुए एक issue खोलें, शुरुआती बिंदु के तौर पर अंग्रेज़ी सोर्स फ़ाइल कॉपी करें, हर value का अनुवाद करें, और एक pull request खोलें। एक मेंटेनर साइट पर नई locale रजिस्टर कर देता है।

मदद के लिए तैयार हैं?

किसी भाषा को चुनने, दूसरे अनुवादकों से मिलने और शुरुआत करने के लिए हमारे Discord सर्वर से जुड़ें।

और लेख