इनपुट विधि व गेटटेक्सट्
इनपुट विधि
इनपुट विधि की ज़रूरत इसलिए सामने आती है कि हरेक भाषा का स्वरूप एक सा नहीं होता है और विभिन्न भाषाओं के वर्ण के रूप और आकार भिन्न भिन्न तरह से आचरण करते हैं. इनपुट विधि वास्तव में ऑपरेटिंग तंत्र अथवा किसी प्रोग्राम का हिस्सा होती है जो उपयोक्ता को उन वर्णों संकेतों को दर्ज करने में सहायक होती है जो कि उनकी इनपुट युक्ति यानी कुंजीपट पर सामान्यतः नहीं मौजूद होता है. कुछ भाषाओं में तो हज़ारों वर्ण होते हैं जिसे एक परंपरागत कुंजीपट पर फ़िट करना किसी भी तरह संभव नहीं है. इसी तरह भारतीय भाषाओं में संयुक्ताक्षर में बदलने से कई प्रकार के रूप बनते हैं.
ग़ैर लातिन वर्णों के इनपुट के लिए इनपुट विधि की ज़रूरत होती है. वास्तव में लोकलाइज़ेशन के लिए हमें इन इनपुट विधियों को सक्रिय करने की ज़रूरत होती है. लिनक्स प्लेटफ़ॉर्म पर कई इनपुट विधियाँ रही हैं. पहले की प्रमुख इनपुट विधियों में X KeyBoard Extension (XKB), X Input Method (XIM), GTK+ IM, IIIMF Framework रहे हैं. पिछले कुछ वर्षों में स्मार्ट कॉमन इनपुट मेथड (SCIM ) काफ़ी लोकप्रिय रहा है. इधर आईबस (iBus) एक बहुभाषी इनपुट विधि फ़्रेमवर्क है जिसने समुदाय में अपनी ख़ूबियों के कारण लोकप्रियता अर्जित की है.
गेटटेक्स्ट् ( Gettext)
यदि किसी भी सॉफ़्टवेयर का स्थानीयकरण किसी और भाषा में करना है, तो उन स्ट्रिंग व संदेशों को इकट्ठा करना होगा जिसे अनूदित किया जाना है. अनूदित किए जानेवाले संदेशों की पहचान के बाद उन संदेशों को एक फ़ाइल में लाना होगा ताकि उसे किसी तकनीकी अनुवादक को अनुवाद करने के लिए दिया जा सके. Gettext प्रारूप में इन फ़ाइलों को .pot एक्सटेंशन दिया जाता है और सामान्यतः उसे POT फ़ाइल कहा जाता है. POT पोर्टेबल ऑब्जेक्ट टेंपलेट का संक्षिप्ताक्षर है. यही फ़ाइल अनुवादक के लिए टेंपलेट का काम करता है. अनुवादक जब POT पर काम करना शुरू करता है तो वह POT को PO में बदल कर काम करता है.
अनुवादक अब इन फ़ाइलों के स्ट्रिंग्स या लड़ियों का बारी-बारी से अपनी भाषा में तर्जुमा कर सकता है. मूल स्ट्रिंग msgid के रूप में रहता है और अनूदित स्ट्रिंग msgstr के रूप में. इस तरह का फ़ायदा यह है कि सॉफ़्टवेयर विकास व अनुवाद दोनों काम साथ-साथ चलता रहता है. लिनक्स प्लेटफ़ॉर्म के 90 प्रतिशत से अधिक अनुप्रयोग gettext फ़्रेमवर्क के अंतर्गत स्थानीयकृत किये जाते हैं.
gettext फ़्रेमवर्क से होकर अंतरराष्ट्रीयकरण व स्थानीयकरण करने में कई चरण होते हैं. इसमें स्थानीयकरण के लिए स्रोत कोड को तैयार करना, स्ट्रिंग निकालना, उसका अनुवाद, अनुवाद को कंपाइल या समेकित करना शामिल है. स्ट्रिंग निकालने के लिए xgettext प्रोग्राम का प्रयोग किया जाता है.
ग़ैर अनूदित पीओ फ़ाइल का एक नमूना देखें:
|
अनुवाद करने के लिए हेडर में परिवर्तन अपेक्षित है जो कुछ इस तरह का होता है:
फिर अनुवाद करके कंपाइल करना पड़ता है और कंपाइल mo द्विपदीय फ़ाइल प्रारूप में करना होता है. निम्नलिखित कमांड mo फ़ाइल बनाता है...
prompt# msgfmt helloworldintl.po -o helloworldintl.mo
और निम्नलिखित जगह पर mo फ़ाइल की नक़ल रखनी पड़ती है:
/usr/share/locale/hi/LC_ MESSAGES/
विस्तार से देखें:
.po फ़ाइल को .mo में निम्नलिखित कमांड के प्रयोग से बदलें:
msgfmt -o filename.mo filename.po
उदाहरण के लिए,
उदाहरण के लिए,
msgfmt gedit.po -o gedit.mo
· LC_MESSAGES निर्देशिका में जाएँ
cd /usr/share/locale/ /LC_MESSAGES
उदा.
उदा.
cd /usr/share/locale/hi/LC_ MESSAGES
· नवनिर्मित .mo फ़ाइल की यहाँ नक़ल लें और इसे पुराने .mo फ़ाइलनाम के अनुसार नाम दें (रूट अधिकार अनिवार्य)
cp filename.mo .
उदा.
उदा.
cp gedit.mo . ( . मौजूदा अवस्थिति बताता है यानी /usr/share/locale/ /LC_MESSAGES)
mv gedit.mo gedit-2-22.mo
mv gedit.mo gedit-2-22.mo
· इस कमांड के प्रयोग से अपने लोकेल के लिए अनुप्रयोग चलाएँ: (रूट अधिकार यहाँ ज़रूरी नहीं है)
LANG=.UTF-8 application name
उदा.
उदा.
LANG=hi_UTF-8 gedit
जरूरी कमांड:
जरूरी कड़ियाँ:
No comments:
Post a Comment