टेढ़ी दुनिया पर रवि रतलामी की तिर्यक, तकनीकी रेखाएँ...

राजेश रंजन का आलेख - अपना कंप्यूटर अपनी भाषा में - भाग 3 - इनपुट विधियाँ व भाषाई फ़ाइलें

(भाग 2 से जारी)

4. इनपुट विधि गेटटेक्सट्

इनपुट विधि

इनपुट विधि की ज़रूरत इसलिए सामने आती है कि हरेक भाषा का स्वरूप एक सा नहीं होता है और विभिन्न भाषाओं के वर्ण के रूप और आकार भिन्न भिन्न तरह से आचरण करते हैं. इनपुट विधि वास्तव में ऑपरेटिंग तंत्र अथवा किसी प्रोग्राम का हिस्सा होती है जो उपयोक्ता को उन वर्णों संकेतों को दर्ज करने में सहायक होती है जो कि उनकी इनपुट युक्ति यानी कुंजीपट पर सामान्यतः नहीं मौजूद होता है. कुछ भाषाओं में तो हज़ारों वर्ण होते हैं जिसे एक परंपरागत कुंजीपट पर फ़िट करना किसी भी तरह संभव नहीं है. इसी तरह भारतीय भाषाओं में संयुक्ताक्षर में बदलने से कई प्रकार के रूप बनते हैं.

ग़ैर लातिन वर्णों के इनपुट के लिए इनपुट विधि की ज़रूरत होती है. वास्तव में लोकलाइज़ेशन के लिए हमें इन इनपुट विधियों को सक्रिय करने की ज़रूरत होती है. लिनक्स प्लेटफ़ॉर्म पर कई इनपुट विधियाँ रही हैं. पहले की प्रमुख इनपुट विधियों में X KeyBoard Extension (XKB), X Input Method (XIM), GTK+ IM, IIIMF Framework रहे हैं. पिछले कुछ वर्षों में स्मार्ट कॉमन इनपुट मेथड (SCIM ) काफ़ी लोकप्रिय रहा है. इधर आईबस (iBus) एक बहुभाषी इनपुट विधि फ़्रेमवर्क है जिसने समुदाय में अपनी ख़ूबियों के कारण लोकप्रियता अर्जित की है.

 
  clip_image002[3]
 
  clip_image004[3]

गेटटेक्स्ट् ( Gettext)

यदि किसी भी सॉफ़्टवेयर का स्थानीयकरण किसी और भाषा में करना है, तो उन स्ट्रिंग व संदेशों को इकट्ठा करना होगा जिसे अनूदित किया जाना है. अनूदित किए जानेवाले संदेशों की पहचान के बाद उन संदेशों को एक फ़ाइल में लाना होगा ताकि उसे किसी तकनीकी अनुवादक को अनुवाद करने के लिए दिया जा सके. Gettext प्रारूप में इन फ़ाइलों को .pot एक्सटेंशन दिया जाता है और सामान्यतः उसे POT फ़ाइल कहा जाता है. POT पोर्टेबल ऑब्जेक्ट टेंपलेट का संक्षिप्ताक्षर है. यही फ़ाइल अनुवादक के लिए टेंपलेट का काम करता है. अनुवादक जब POT पर काम करना शुरू करता है तो वह POT को PO में बदल कर काम करता है.

अनुवादक अब इन फ़ाइलों के स्ट्रिंग्स या लड़ियों का बारी-बारी से अपनी भाषा में तर्जुमा कर सकता है. मूल स्ट्रिंग msgid के रूप में रहता है और अनूदित स्ट्रिंग msgstr के रूप में. इस तरह का फ़ायदा यह है कि सॉफ़्टवेयर विकास व अनुवाद दोनों काम साथ-साथ चलता रहता है. लिनक्स प्लेटफ़ॉर्म के 90 प्रतिशत से अधिक अनुप्रयोग gettext फ़्रेमवर्क के अंतर्गत स्थानीयकृत किये जाते हैं.

gettext फ़्रेमवर्क से होकर अंतरराष्ट्रीयकरण व स्थानीयकरण करने में कई चरण होते हैं. इसमें स्थानीयकरण के लिए स्रोत कोड को तैयार करना, स्ट्रिंग निकालना, उसका अनुवाद, अनुवाद को कंपाइल या समेकित करना शामिल है. स्ट्रिंग निकालने के लिए xgettext प्रोग्राम का प्रयोग किया जाता है.

ग़ैर अनूदित पीओ फ़ाइल का एक नमूना देखें:

 
 

# Copyright (C) YEAR Free Software Foundation, Inc.

# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.

#

#, fuzzy

msgid ""

msgstr ""

"Project-Id-Version: PACKAGE VERSION\n"

"POT-Creation-Date: 2002-05-28 09:28+0200\n"

"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"

"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"

"Language-Team: LANGUAGE <LL@li.org>\n"

"MIME-Version: 1.0\n"

"Content-Type: text/plain; charset=CHARSET\n"

"Content-Transfer-Encoding: 8bit\n"

अनुवाद करने के लिए हेडर में परिवर्तन अपेक्षित है जो कुछ इस तरह का होता है:

clip_image005[3]

फिर अनुवाद करके कंपाइल करना पड़ता है और कंपाइल 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/<locale-dir>/LC_MESSAGES
उदा.

cd /usr/share/locale/hi/LC_MESSAGES

· नवनिर्मित .mo फ़ाइल की यहाँ नक़ल लें और इसे पुराने .mo फ़ाइलनाम के अनुसार नाम दें (रूट अधिकार अनिवार्य)

cp filename.mo .
उदा.

cp gedit.mo . ( . मौजूदा अवस्थिति बताता है यानी /usr/share/locale/<locale-dir>/LC_MESSAGES)
mv gedit.mo gedit-2-22.mo

· इस कमांड के प्रयोग से अपने लोकेल के लिए अनुप्रयोग चलाएँ: (रूट अधिकार यहाँ ज़रूरी नहीं है)

LANG=<lang_code>.UTF-8 application name
उदा.

LANG=hi_UTF-8 gedit

जरूरी कमांड:

clip_image006[3]

जरूरी कड़ियाँ:

http://code.google.com/p/ibus/

http://en.wikipedia.org/wiki/Intelligent_Input_Bus

http://www.gnu.org/software/gettext/

http://en.wikipedia.org/wiki/GNU_gettext

 

clip_image0024_thumb

(राजेश रंजन)

राजेश रंजन विगत कई वर्षों से हिन्दी कंप्यूटरीकरण
के कार्य से जुड़े हुए हैं. वे अभी एक बहुदेशीय
सॉफ्टवेयर कंपनी रेड हैट में बतौर लैंग्वेज मेंटेनर हिन्दी
के रूप में कार्यरत हैं. वे कंप्यूटर स्थानीयकरण की कई
परियोजनाओं जैसे फेडोरा, गनोम, केडीई, ओपनऑफिस,
मोज़िला आदि से जुड़े हैं. साथ ही कंप्यूटर अनुवाद में
मानकीकरण के लिए चलाए गए एक महत्वाकांक्षी सामुदायिक
परियोजना फ़्यूल के समन्वयक भी हैं. इसके अलावे उन्होंने
मैथिली कंप्यूटिंग के कार्यों को भी अपनी देख-रेख में
मैथिली समुदाय के साथ पूरा किया है. वे प्रतिष्ठित मीडिया
समूह इंडियन एक्सप्रेस ग्रुप के जनसत्ता और लिटरेट
वर्ल्ड के साथ काम कर चुके हैं.

हिन्दी पत्रकारिता में भारतीय जनसंचार संस्थान, नई दिल्ली
से स्नातकोत्तर डिप्लोमा पाने के पहले इन्होंने नेतरहाट विद्यालय,
साइंस कॉलेज, पटना और किरोड़ीमल कॉलेज, दिल्ली जैसे
जाने-माने संस्थानों में अध्ययन किया है. भाषाई तकनीक, इंटरनेट,
कंप्यूटर पर इनके लेखादि लगातार प्रकाशित होते रहते हैं.

 

कॉपीराइट © राजेश रंजन, सर्वाधिकार सुरक्षित.

क्रियेटिव कॉमन्स एट्रीब्यूशन शेयर एलाइक लाइसेंस के अंतर्गत.

(अगले भाग 4 में जारी...)

एक टिप्पणी भेजें

राह कभी भी सरल नहींं थी,
फिर भी इच्छा संग रही थी।

आपकी अमूल्य टिप्पणियों के लिए आपका हार्दिक धन्यवाद.
कृपया ध्यान दें - स्पैम (वायरस, ट्रोजन व रद्दी साइटों इत्यादि की कड़ियों युक्त)टिप्पणियों की समस्या के कारण टिप्पणियों का मॉडरेशन लागू है. अतः आपकी टिप्पणियों को यहां पर प्रकट होने में कुछ समय लग सकता है.

अन्य रचनाएँ

[random][simplepost]

व्यंग्य

[व्यंग्य][random][column1]

विविध

[विविध][random][column1]

हिन्दी

[हिन्दी][random][column1]
[blogger][facebook]

तकनीकी

[तकनीकी][random][column1]

आपकी रूचि की और रचनाएँ -

[random][column1]

MKRdezign

संपर्क फ़ॉर्म

नाम

ईमेल *

संदेश *

Blogger द्वारा संचालित.
Javascript DisablePlease Enable Javascript To See All Widget