2.8. क्षेत्र और भाषा। Drupal का अंग्रेज़ी से अन्य भाषा में अनुवाद।
Drupal में अनुवाद (translation) की व्यापक संभावनाएँ मौजूद हैं। आइए देखें कि आप साइट में एक नई भाषा जैसे कि जर्मन (German) कैसे जोड़ सकते हैं। इसके लिए आपको Regions and language कॉन्फ़िगरेशन पर जाना होगा। इससे पहले निम्नलिखित मॉड्यूल्स सक्षम (enable) होने चाहिए — Language, Configuration Translation, Content Translation, और Interface Translation।
आइए इस अनुभाग (section) की सभी सेटिंग्स को क्रम से समझें।
क्षेत्रीय सेटिंग्स (Regional settings)
यहाँ सब कुछ स्पष्ट है, लेकिन मेरा मानना है कि सप्ताह का पहला दिन Monday में बदलना बेहतर रहेगा। आप उपयोगकर्ता को पंजीकरण (registration) के दौरान समय क्षेत्र (time zone) चुनने का विकल्प भी दे सकते हैं, या इसे हटा भी सकते हैं। यह तब आवश्यक होता है जब साइट में समय-संबंधित कार्यक्षमता होती है, जैसे कि Events, जिनकी तिथि प्रत्येक उपयोगकर्ता के स्थानीय समय क्षेत्र के अनुसार प्रदर्शित की जाती है।
दिनांक और समय प्रारूप (Date and time formats)
हम एडमिन पैनल के माध्यम से अपनी स्वयं की तिथि प्रारूप (date format) निर्धारित कर सकते हैं। समाचारों में अक्सर तारीख को दिन-महीना-वर्ष के रूप में प्रदर्शित करने की आवश्यकता होती है। चलिए ऐसा ही करते हैं।
+Add format पर क्लिक करें और समाचारों के लिए एक नया प्रारूप जोड़ें। हमारे प्रारूप के लिए दिनांक स्ट्रिंग होगी d-m-Y।
आप दिनांक स्ट्रिंग के बारे में अधिक जानकारी PHP की date() फ़ंक्शन मैनुअल में पढ़ सकते हैं:
http://php.net/manual/ru/function.date.php
अब हम इस प्रारूप का उपयोग सभी Date प्रकार के फ़ील्ड्स और अन्य दिनांक आउटपुट के लिए कर सकते हैं।
भाषाएँ (Languages)
अब हम German भाषा जोड़ते हैं।
भाषा जोड़ने के बाद Drupal अनुवादों को अपडेट करना शुरू कर देगा। इसके लिए इंटरनेट की आवश्यकता होगी और इसमें कुछ समय लगेगा।
बस इतना ही — हमने साइट में एक नई भाषा जोड़ दी है। अब आप इसे सक्षम करके देख सकते हैं कि सब कुछ सही काम कर रहा है या नहीं।
अब हम अंग्रेज़ी भाषा को वापस डिफ़ॉल्ट के रूप में सेट करेंगे। यदि आप Detection and selection टैब पर जाएँ, तो आप यह चुन सकते हैं कि साइट पर भाषा कैसे निर्धारित की जाए। सबसे अच्छा विकल्प है Page URL के माध्यम से।
यदि आप जर्मन भाषा के संपादन पृष्ठ पर जाएँ:
तो वहाँ एक Language code सेटिंग होती है। यह कोड पेज के URL में जोड़ा जाता है ताकि यह निर्धारित किया जा सके कि यह पेज किस भाषा के लिए है। उदाहरण के लिए:
http://site/de/node/10
यह जर्मन भाषा के लिए होगा।
http://site/en/node/10
यह अंग्रेज़ी के लिए होगा, लेकिन यदि यह डिफ़ॉल्ट भाषा है तो भाषा कोड छोड़ा जा सकता है:
http://site/node/10
यह भी अंग्रेज़ी भाषा के लिए ही होगा।
इसके अलावा, यदि आप किसी कंटेंट टाइप (जैसे Articles) के एडिट पेज पर जाएँ:
/admin/structure/types/manage/article
तो आप एक चेकबॉक्स सक्षम कर सकते हैं ताकि नोड बनाते समय भाषा चयन (language selection) उपलब्ध हो।
हम न केवल नोड्स बल्कि ब्लॉक्स, उपयोगकर्ताओं (users), टिप्पणियों (comments) और साइट की अन्य entities के लिए भी भाषा चुन सकते हैं।
अब जब हम एक ब्लॉक जोड़ते हैं, तो हम यह चुन सकते हैं कि वह ब्लॉक किस भाषा के लिए जोड़ा जा रहा है।
यूज़र इंटरफ़ेस अनुवाद (User Interface Translation)
आपने शायद ध्यान दिया होगा कि Drupal इंटरफ़ेस का 100% अनुवाद नहीं करता:
बची हुई पंक्तियों (lines) का अनुवाद हम मैन्युअल रूप से कर सकते हैं। इसके लिए यह पथ खोलें:
/admin/config/regional/translate
यहाँ हम आवश्यक अंग्रेज़ी वाक्यांश दर्ज करते हैं और Drupal उस वाक्यांश वाली सभी पंक्तियाँ ढूँढ लेता है। फिर हम अनुवाद लिखते हैं और पेज के नीचे जाकर Save translation पर क्लिक करते हैं।
इस प्रकार हम Drupal के सभी इंटरफ़ेस टेक्स्ट का अनुवाद कर सकते हैं।
हम Drupal के अनुवादों को मैन्युअल रूप से भी एक्सपोर्ट (Export) कर सकते हैं और अपनी अनुवाद फ़ाइल (.po) को अन्य साइट्स पर अपलोड कर सकते हैं।
Drupal एक .po फ़ाइल बनाता है जिसे आप अन्य साइटों पर उपयोग कर सकते हैं — बस उसे Import टैब के माध्यम से अपलोड करें।
अंत में, हमारे पास Settings टैब होता है जहाँ हम अनुवाद अपडेट्स की जाँच (translation updates check) निर्धारित कर सकते हैं। उदाहरण के लिए, आप हर महीने जाँच को सक्षम कर सकते हैं। Drupal आपको लगातार अनुवाद न की गई पंक्तियाँ दिखाता रहेगा, क्योंकि किसी भी भाषा में 100% अनुवाद कभी नहीं होता। जब भी कोई नया मॉड्यूल जोड़ा जाता है, तो नई अनुवाद-रहित पंक्तियाँ दिखाई देती हैं।