Tuesday, April 29, 2008

അക്കക്രമീകരണം മലയാളത്തില്‍

ഓഫീസില്‍ നിന്നിറങ്ങാറാവുമ്പോള്‍ വീട്ടില്‍ നിന്നും ഫോണ്‍ വിളി വന്നാല്‍ ഒന്നുറപ്പിക്കാം: ഇന്നും ഇന്ത്യന്‍ സ്റ്റോറില്‍ നിന്നും എന്തോ വാങ്ങാനുണ്ടു്!

“എന്താ?” ഞാന്‍ സ്നേഹത്തോടെ ആരായും.
“തിരിച്ചു വരുന്ന വഴിയ്ക്കു് ഇന്ത്യന്‍ സ്റ്റോറില്‍ ഒന്നു കേറാമോ?”
“തീര്‍ച്ചയായും. ഇന്നു കണ്ടില്ലല്ലോ എന്നു് കടക്കാരനു തോന്നരുതല്ലോ!”
“ഓ, തമാശ കളഞ്ഞിട്ടു് ഇതൊന്നു എഴുതി എടുക്കൂ.”
“പറഞ്ഞോളൂ...”

സാധാരണ ഗതിയില്‍ ഒന്നോ രണ്ടോ സാധനത്തിലൊതുങ്ങുന്ന ലിസ്റ്റു് നീണ്ടു നീണ്ടു പോകുന്നതു കണ്ടപ്പോള്‍ ഞാന്‍ പറഞ്ഞു: “അതൊരു മെയിലായിട്ടു് അയച്ചു തന്നാല്‍ മതി.”

മലയാളത്തില്‍ വന്ന ലിസ്റ്റിന്‍റെ നീളം കണ്ടു് ഒന്നു ഞെട്ടിയ ശേഷം, മൊത്തം എത്ര സാധനം ഉണ്ടെന്നറിയാന്‍ ലിസ്റ്റെടുത്തു് വേഡിലിട്ടൂ് ഓട്ടോമാറ്റിക് നമ്പറിംഗ് (സ്വയപ്രേരിത അക്കക്രമീകരണം?) ഇട്ടു നോക്കി. ഒന്നും രണ്ടുമല്ല, 11 ഐറ്റംസ്‌!

ലിസ്റ്റു കണ്ടപ്പോഴാണു് പലപ്പോഴും തോന്നിയിട്ടുള്ള, എന്നാല്‍ ഇതുവരെ ശ്രദ്ധിക്കാന്‍ സമയം കിട്ടാതിരുന്ന, ഒരു കാര്യം ശ്രദ്ധിച്ചതു്: മലയാളം ലിസ്റ്റായിരുന്നിട്ടു കൂടി അക്കക്രമീകരണത്തിനു് അറബിക് അക്കങ്ങള്‍ (1, 2, 3, തുടങ്ങിയവ) ആണു് ഉപയോഗിച്ചിരിക്കുന്നതു്.



എന്തായിരിക്കും ഇതിന്‍റെ കാരണം? ഒരു പക്ഷേ, ഇതു് വേഡിന്‍റെ ലീലാവിലാസമാവാമെന്നു ശങ്കിച്ചു്, പണ്ടു ചെയ്തതുപോലെ വേഡിന്‍റെ കീബോഡ് മലയാളമാക്കി നോക്കി.



എന്നിട്ടുണ്ടോ വല്ല മാറ്റവും?

ഈ പരീക്ഷണത്തില്‍ നിന്നും അക്കക്രമീകരണത്തിനുപയോഗിക്കുന്ന അക്കങ്ങള്‍ ഏതുരീതിയിലുള്ളതാവണമെന്ന തീരുമാനത്തില്‍ വേഡിനു വലിയ പങ്കില്ലെന്ന നിഗമനത്തില്‍ എത്തിച്ചേര്‍ന്നു. അപ്പോള്‍ പിന്നെ ഇതു നിയന്ത്രിക്കുന്നതു് വിന്‍ഡോസ് തന്നെയാവും. “നമുക്കു കണ്ടുപിടിക്കാം” എന്ന പഴയ മൂന്നാം ക്ലാസ് സയന്‍സ് പുസ്തകത്തിലെ വാചകം വീണ്ടും ഓര്‍ത്തു. എന്നാല്‍ പിന്നെ, കണ്ടുപിടിച്ചു കളയാം.

വിന്‍‍ഡോസില്‍, യൂസര്‍ ലൊകായ്ല്‍ (user locale) സെറ്റിംഗ് ആണു് സമയത്തിനും തീയതിക്കും അക്കക്രമീകരണങ്ങള്‍ക്കും നാണയമൂല്യത്തിനും മറ്റും മറ്റും എന്തൊക്കെ രീതികള്‍ ഉപയോഗിക്കണം എന്നു തീരുമാനിക്കുന്നതു്.

The user locale determines which default settings a user wants to use for formatting dates, times, currency, and large numbers. The user locale is not the language. The only influence the user locale has on the language is on the names of the days and months. For example, if you use the long date format to display "November 25, 1998," the "November" string will change based on the user locale.

- MSDN KB Article

ആഹാ! അപ്പോള്‍ അവനാണു വില്ലന്‍. എന്നാല്‍ പിന്നെ യൂസര്‍ ലൊകായ്ല്‍ മാറ്റി നോക്കാം എന്നു കരുതിയതും, ഫോണ്‍ വന്നല്ലോ!

“ഹലോ കടയിലെത്തിയോ? ഒരു സാധനം കൂടി വാങ്ങാനുണ്ടു്.”
“അതേ, ഞാന്‍ കുറച്ചു കഴിഞ്ഞേ ഇറങ്ങുകയുള്ളൂ. കടയിലെത്തുമ്പോള്‍ വിളിക്കാം.”
“ഉടനേ ഇറങ്ങുന്നെന്നു പറഞ്ഞതാണല്ലോ. ആശാരിപ്പണിയാണോ?”
“ഹേയ് അല്ല. കസ്റ്റമര്‍ എസ്കലേയ്ഷന്‍ കേയ്സാണു്. വീപി ഇന്‍‍വോള്‍വ്ഡ്, ഹൈ വിസിബിലിറ്റി.”
“ഇന്നു വരുന്നില്ലേ?”
“കോണ്‍ഫറന്‍സ് കോള്‍ നടക്കുന്നു. എന്നാലും ഞാന്‍ പെട്ടെന്നു് ഇറങ്ങാന്‍ നോക്കാം!”

അങ്ങനെ, സംഭാഷണം ഒരു വഴിക്കാക്കി, ഞാന്‍ വീണ്ടും സ്വയപ്രേരിത അക്കക്രമീകരണം മലയാളത്തിലാക്കാനുള്ള പ്രവൃത്തി തുടര്‍ന്നു.

Control Panel തുറന്നു്, Clock, Language, and Region എന്ന വിഭാഗത്തില്‍ നിന്നും Change Keyboards or other input methods എന്ന ലിങ്കില്‍ ക്ലിക് ചെയ്തു. അപ്പോള്‍ Regional and Language Options എന്ന ഡയലോഗ് പൊന്തി വന്നു. നേരേ Formats എന്ന റ്റാബിലേയ്ക്കു വിട്ടു. അവിടെ Current format ആയി ഉണ്ടായിരുന്ന English (United States) മാറ്റി Malayalam (India) ആക്കി.

(വിന്‍‍ഡോസ് XP ആണു് ഉപയോഗിക്കുന്നതെങ്കില്‍, Control Panel-ല്‍ നിന്നും Regional and Language Options എടുക്കുക. Regional Options റ്റാബില്‍ ഫോര്‍മാറ്റ് Malayalam (India) ആക്കുക.)



അതിനു ശേഷം വീണ്ടും പഴയ ലിസ്റ്റു നോക്കാന്‍ ചെന്നു. ഒരു വ്യത്യാസവുമില്ല!



ശ്ശെടാ, ഇതെന്തൊരു മറിമായം? അപ്പോഴാണു് മറ്റൊരു സൂത്രപ്പണിയെപ്പറ്റി ഓര്‍മ്മ വന്നതു്. ഒരു ചെറിയ കാര്യം കൂടി ചെയ്യാനുണ്ടു്. വീണ്ടും Regional and Language Options ഡയലോഗ് എടുത്തു് Formats റ്റാബിലേയ്ക്കു പോയി. അവിടെ ഇപ്പോള്‍ Current format Malayalam (India) ആണു്. ഈ ഡയലോഗിലുള്ള Customize this format... എന്ന ബട്ടണ്‍ അമര്‍ത്തി. തുടര്‍ന്നു വന്ന ഡയലോഗില്‍ Numbers റ്റാബില്‍ Use native digits എന്നതിന്‍റെ സെറ്റിംഗ് Never എന്നതില്‍ നിന്നും National എന്നാക്കി മാറ്റി.



വീണ്ടും പഴയ ലിസ്റ്റിലേയ്ക്കു്. ഹായ്, ഹായ്!



ഓട്ടോമാറ്റിക് നമ്പരുകള്‍ മാത്രമല്ല, സകല അക്കങ്ങളും മാറ്റി വേഡ് പ്രത്യക്ഷമായിരിക്കുന്നു. ചിത്രത്തില്‍ നോക്കിയാല്‍, ഫോണ്ട് വലിപ്പം, പേയ്ജ് എണ്ണം, വാക്കുകളുടെ എണ്ണം, സൂം ശതമാനം, ഡോക്യുമെന്‍റിന്‍റെ പേരിലെ അക്കം എന്നിവയെല്ലാം മലയാളത്തിലായതായി കാണാം. വെളുക്കാന്‍ തേച്ചതു പാണ്ടായതു പോലെ. ഈ മാറ്റം നടത്തിയാല്‍, വേഡു മാത്രമല്ല, അക്കങ്ങള്‍ കാണിക്കുന്ന മിക്ക പ്രോഗ്രാമുകളും സകല അക്കങ്ങളും ഈ രീതിയില്‍ പ്രദര്‍ശിപ്പിക്കും. ശ്രമിച്ചു നോക്കൂ!

(പിന്‍‍കുറിപ്പു്: ഈ പരീക്ഷണം നടത്തിയതിന്‍റെ ഫലമായാണു് ഞാന്‍ ഈ ബഗ്ഗ് ശ്രദ്ധിക്കുന്നതു്.)

10 പ്രതികരണങ്ങൾ:

  1. Rajeend U R

    സമ്മതിച്ചിരിക്കുന്നു ചേട്ടാ....
    അറിയാത്തതുകൊണ്ടു ചോദിക്കുകയാ... ആ കാണിച്ചിരിക്കുന്നത് മലയാളം അക്കം തന്നെയാണോ?

  2. cibu cj

    കാപ്ലാന്‍ സന്തോഷിന്റെ മേലും കേറി പെരുമാറിയോ.. ഇതാണ് പറയുന്നത്‌ സീയെല്‍‌ഡിയാറുപയോഗിക്കണം സീയെല്‍‌ഡിയാറുപയോഗിക്കണം എന്നു് :)

  3. Umesh::ഉമേഷ്

    ഇതെന്താ മലയാളം പത്തിന്റെ ഒന്നു പൂജ്യത്തിന്റെ മുകളില്‍ കോഴി മുട്ടയുടെ മുകളിലെന്നതു പോലെ അടയിരിക്കുന്നതു്?

    (“കോഴി മുട്ടയുടെ മുകളിലെന്നതു പോലെ” എന്നതു് ആവശ്യമില്ലായിരുന്നു, അല്ലേ? പോട്ടേ...)

    അല്ലാ, ഭാര്യയ്ക്കു മലയാളം ടൈപ്പു ചെയ്യാന്‍ അറിയാമോ? മലയാളം കീബോര്‍ഡാണോ കീമാനാണോ ഉപയോഗിക്കുന്നതു്?

    കൊറിക്കാന്‍ എന്താണു വാങ്ങിയതു്? കൊള്‍സ്ട്രോള്‍ സൂക്ഷിക്കണേ...

  4. cibu cj

    സന്തോഷിന് തനതുലിപിയെ പറ്റി ഒരു വാഴക്കയും അറിയാത്തതിനാല്‍ മൈക്രോച്ചേട്ടന്‍ പറ്റിച്ചതല്ലേ. ദേ ഇവിടെ നോക്കൂ കാര്‍ന്നോമ്മാരെങ്ങനെയാ‍ണ് സംഖ്യകളെഴുതിയിരുന്നതെന്നറിയാന്‍ :)

  5. സന്തോഷ്

    സിബൂ, സീയെല്‍ഡീയാറിന്‍റെ മുഴുവന്‍ കഥയും അറിയുമോ? IBM കാശുണ്ടാക്കിയതുള്‍പ്പെടെ? :)

    ബഗ്ഗ് റിപ്പോര്‍ട്ടു ചെയ്തിട്ടു അറിയിപ്പു കൊടുത്തവരില്‍ മൈക്കിള്‍ കാപ്ലാനുമുണ്ടായിരുന്നു. അയാളതു പോസ്റ്റുമെന്നു ഞാന്‍ കരുതിയോ? അതിനോടൊപ്പം പറഞ്ഞ ബാക്കി കാര്യങ്ങളൊട്ടു പുള്ളി ബ്ലോഗിയുമില്ല.

    ഉമേഷേ, ഭാര്യ കീമാന്‍റെ ആളാ. മലയാളം കീബോഡും സാഹായത്തിനു On-Screen Keyboard പ്രോഗ്രാമും മതിയെന്നു പറഞ്ഞിട്ടു സമ്മതിക്കേണ്ടേ?

  6. ശ്രീ

    കൊള്ളാം. നല്ല പരീക്ഷണം തന്നെ.
    :)

  7. മൂര്‍ത്തി

    എപ്പോഴെങ്കിലും ആവശ്യം വന്നാല്‍ ഉപയോഗിക്കാം..

  8. സന്തോഷ്

    പറയാന്‍ മറന്നു, മുട്ടയുടെ മുകളിലെ കോഴിയേയും റിപ്പോര്‍ട്ടു ചെയ്തിട്ടുണ്ടു്.

  9. Science Uncle - സയന്‍സ് അങ്കിള്‍

    മൈക്രോസോഫ്റ്റില്‍ അപ്പോള്‍ ഇങ്ങനെ ‘നമുക്കു കണ്ടുപിടിക്കാം’ രീതിയിലാ‍ണ് ബഗ്ഗ് ഫിക്സ് ചെയുന്നത്! അല്ലേ?

    -സയന്‍സ് അങ്കിള്‍

  10. സന്തോഷ്

    സയന്‍സ് അങ്കിളേ, മൈക്രോസോഫ്റ്റിലല്ല, എവിടെ ആയാലും കാരണം കണ്ടുപിടിച്ചുവേണം ബഗ്ഗുകള്‍ ഫിക്സ് ചെയ്യാന്‍. :)