रूबी ऑन रेल्स I18n: डेवलपर - विकसित, ग्राहक - भरता है। सेवा बाकी का ध्यान रखेगी

तृतीय-पक्ष सेवाओं के साथ रेल में अंतर्राष्ट्रीयकरण का प्रबंधन


मेरे पसंदीदा रेल घटकों में से एक I18n वर्ग और शब्दकोश फ़ाइलों (en.yml, ru.yml, आदि) का उपयोग करके अंतर्राष्ट्रीयकरण और स्थानीयकरण का आयोजन कर रहा है। लेकिन अगर आप "वैक्यूम में गोलाकार प्रोजेक्ट" नहीं लेते हैं, लेकिन डेवलपर्स के एक समूह के साथ एक वास्तविक एप्लिकेशन और रिपॉजिटरी में शाखाओं का एक गुच्छा है, तो कभी-कभी सिर अलग-अलग शाखाओं / संस्करणों को मिलाते समय संघर्ष को हल करने के लिए सूजते हैं जो किसी तरह स्थानीय फाइलों में उत्पन्न होते हैं। कैसे हो? यहां हमें याद दिलाया जाता है और विभिन्न तृतीय-पक्ष सेवाएं अपने रत्नों के साथ आती हैं।

99Translations

पहली अंतर्राष्ट्रीयकरण प्रबंधन सेवा जो मुझे मिली थी, वह थी 99 ट्रान्सलेशन , जो सर्वर को एक विशेष लोकेल फाइल 'मास्टर.लाइल' को अपलोड करने की क्षमता प्रदान करती थी (फाइल में केवल कुंजियाँ होनी चाहिए) और वहाँ इसे स्थापित किया गया था और अन्य इंस्टॉल किए गए स्थानों पर कुंजियाँ जोड़ी गई थीं। इसके अलावा, नई कुंजी की जानकारी जिसके लिए अनुवाद की आवश्यकता है, डैशबोर्ड पर प्रदर्शित की गई थी। पूर्ण (या आंशिक) शब्दकोशों को भरने के बाद, उन्हें सर्वर से उठाया जा सकता है और आसानी से भंडार के लिए प्रतिबद्ध हो सकता है।

मैं पिछले तनाव में क्यों बात कर रहा हूँ? क्योंकि यह सेवा 31 मार्च, 2012 को गुमनामी में डूब जाएगी और वास्तविक परियोजनाओं में इसका उपयोग करना अनुचित है। यहाँ यह केवल एक उदाहरण के रूप में प्रदान किया गया है।

पेशेवरों:
- कार्यक्रम की दृष्टि से उपयोग की सादगी और स्पष्टता, अधिक कुछ नहीं।
- चाबियों का 1 फ़ाइल-कीपर: कोई विरोध नहीं, सभी स्थानों के लिए आवेदन पृष्ठों पर अंतर्राष्ट्रीयकरण की उपस्थिति में मजबूत आत्मविश्वास (पढ़ें, कोई 'अनुवाद गायब नहीं' संदेश), बशर्ते कि आपने इसे मास्टर में जोड़ा।

विपक्ष:
- आप एक साथ कई स्थानों के लिए वेब इंटरफेस के माध्यम से अनुवाद दर्ज नहीं कर सकते
- हालांकि, अतिभारित वेब इंटरफेस (यह मुझे अनावश्यक टैब के एक गुच्छा के साथ थोड़ा बेमानी लग रहा था)।

LocaleApp

LocaleApp ने तुरंत अपने "ताजगी" (अभी भी बीटा में) और रेल-उन्मुख के साथ मेरा ध्यान आकर्षित किया। डैशबोर्ड को देखने और वहां थोड़ा समय बिताने के बाद, मुझे एहसास हुआ कि इंटरफ़ेस सहज है, और एक साथ कई स्थानों को भरने की क्षमता अनुवादक / ग्राहक के जीवन को बहुत आसान बना देती है (परिणामस्वरूप, यह डेवलपर के स्वास्थ्य और मनोदशा में सुधार करता है)।

फिर यह अधिक दिलचस्प है: जब एप्लिकेशन को डेवलपमेंट मोड में लॉन्च किया जाता है, तो सेवा द्वारा प्रदान किया गया मणि स्वचालित रूप से सर्वर से लोकेशन का अनुरोध करता है (यह हर अनुरोध पर ऐसा करता है, जो एप्लिकेशन को कुछ हद तक धीमा कर देता है) और रेंडरिंग प्रक्रिया के दौरान लापता कुंजी को ट्रैक करता है। यदि वे पाए जाते हैं, तो वह यह सुनिश्चित करेगा कि उन्हें शब्दकोशों में जोड़ा जाए। सुविधाजनक है, है ना? खैर, डैशबोर्ड पर जाकर, आप देख सकते हैं कि प्रत्येक स्थान कितना भरा हुआ है और क्या जोड़ा जाना चाहिए।

पेशेवरों:
- एक साथ कई स्थानों को भरने की क्षमता।
- स्वचालित रूप से हर अनुरोध के साथ नवीनतम अंतर्राष्ट्रीयकरण डाउनलोड करें।
- स्थानीयकरण फ़ाइलों में स्वचालित रूप से अज्ञात कुंजियाँ जोड़ें।
- अच्छा लग इंटरफ़ेस।
- एक उत्कृष्ट स्टार्ट-अप: वेब इंटरफ़ेस के माध्यम से परियोजना में एक नया स्थान जोड़ने पर, आपको पहले से अनुवादित सभी मानक कुंजी (महीनों, दिन, दिनांक और समय के प्रारूप और बहुत कुछ) के नाम मिलते हैं।
- फ्री-टू-प्ले बीटा: कोशिश करने और समझने का एक अवसर है कि क्या हमें इसकी आवश्यकता है।

विपक्ष:
- पृष्ठभूमि प्रक्रियाएं डेवलपर को परेशान करती हैं और एप्लिकेशन को धीमा कर देती हैं (लेकिन, सौभाग्य से, वे आसानी से अक्षम हो जाते हैं - मणि के लिए प्रलेखन देखें)।
- कभी-कभी लापता अनुवाद के लिए अनुरोध कार्यक्षेत्र के साथ गलत तरीके से काम करते हैं: I18n.t ('कुंजी' ,: गुंजाइश =>: some_scope) और यह स्वचालित रूप से उन्हें गलत नामस्थान में जोड़ता है ('कुंजी' को वैश्विक कुंजी के रूप में जोड़ा जाएगा)। खैर, बीटा बीटा है। हमें उम्मीद है कि यह तय हो गया है।
- इस तथ्य के कारण कि आप किसी भी शब्दकोश फ़ाइल को सर्वर पर अपलोड कर सकते हैं, लंबे समय से हटाए गए कुंजी कभी-कभी "पुनर्जीवित" होने लगते हैं। इसलिए, वेब इंटरफ़ेस के माध्यम से ऐसा करना बेहतर है।

PS ऐसी सेवाओं का मुख्य प्लस यह है कि सभी शाखाओं और सभी डेवलपर्स के पास एक ही स्थानीय फाइल है और शाखाओं / संस्करणों को मिलाते समय, आप प्रोग्राम कोड की तुलना करने पर ध्यान केंद्रित कर सकते हैं, न कि एक या दूसरी भाषा में अनुवाद की सुविधाओं पर (हालांकि यह कुछ लोगों को लग सकता है) ऋण)। महत्वपूर्ण भी है
तथ्य यह है कि आप अनुवादकों को रिपॉजिटरी और स्रोतों से दूर रखते हैं, लेकिन वे बदले में, स्थानों के अधिपति हैं।

अद्यतन: हटाए गए संक्षिप्तीकरण।

Source: https://habr.com/ru/post/In140702/


All Articles