മലയാളത്തിനായുള്ള ലിപ്യന്തരണം

കഴിഞ്ഞ പോസ്റ്റിൽ ലിപ്യന്തരണത്തിനുള്ള ജാവസ്ക്രിപ്റ്റ് പ്രോഗ്രാം നിർമ്മിച്ചതിനെകുറിച്ച് പറഞ്ഞിരുന്നു. പൊതുപയോഗത്തിനുള്ളതും ഏതെങ്കിലും ഭാഷയുമായി ബന്ധിക്കപ്പെട്ടതല്ലത്തതുമായ പ്രോഗ്രാമാണത്. ഏത് ഭാഷയിലേക്കുള്ള ലിപ്യന്തരമാണോ ഉദ്ദേശിക്കുന്നത് അതിനനുസരിച്ചുള്ള റെഗുലർ എക്സ്പ്രഷൻ നിയമങ്ങളുടെ പട്ടിക തയ്യാറാക്കി നൽകി പ്രോഗ്രാമിനു നൽകേണ്ടതുണ്ട്. കഴിഞ്ഞ പോസ്റ്റെഴുതുമ്പോൾ തന്നെ മലയാളത്തിനുള്ള പട്ടിക ഉൾപ്പെടുത്തിയിരുന്നുവെങ്കിലും അത് പൂർണ്ണമായിരുന്നില്ല. നിലവിൽ ആ പട്ടിക മെച്ചപ്പെടുത്തുകയും പൂർണ്ണമാക്കുകയും ചെയ്തു. കഴിഞ്ഞ പതിപ്പിൽ മലയാളം നിയമങ്ങളുടെ പട്ടിക പ്രധാന പ്രോഗ്രാമിന്റെ അതേ ഫയലയിൽ മുകൾ ഭാഗത്തായാണ് നൽകിയിരുന്നത്. പ്രോഗ്രാമിന് ഭാഷയുമായി ബന്ധമില്ലാത്തതിനാൽ തന്നെ ആ പട്ടിക നീക്കം ചെയ്ത് പുതിയ ഫയലിലാക്കി. ഒന്നിലധികം ഭാഷകളിലേക്കുള്ള ലിപ്യന്തരണം ഒരേ സമയത്ത് ലഭ്യമാക്കുന്നതിനുള്ള മുന്നോടിയായാണ് അങ്ങനെ ചെയ്തിരിക്കുന്നത് (ചില കീ കോമ്പിനേഷനുകൾ വഴി ഭാഷ മാറ്റാനുള്ള സൗകര്യം ചേർക്കാൻ ആലോചനയുണ്ട്).

മലയാളത്തിനുള്ള പട്ടിക: ml_rules.js
പ്രോഗ്രാം: transli.js

നിലവിലെ വിന്യാസം പ്രാകാരം മലയാളത്തിലെ വ്യത്യസ്ത അക്ഷരങ്ങൾ ടൈപ്പ് ചെയ്യുന്നതിന് എതൊക്കെ ഇംഗ്ലീഷ് കീകൾ ടൈപ്പുചെയ്യണം എന്നത് വ്യക്തമാക്കുന്ന പട്ടിക താഴെ ചിത്രത്തിൽ നൽകിയിരിക്കുന്നു. ബ്ലോഗിന്റെ താഴെയുള്ള ടെക്സ്റ്റ്ബോക്സിൽ ടൈപ്പുചെയ്തുനോക്കി പരീക്ഷിക്കാവുന്നതാണ്.

മൊഴി സ്കീം

മൊഴി സ്കീം

മലയാളം അക്കങ്ങൾ

ഇക്കാലത്ത് അക്കങ്ങളായി മലയാളികൾ പൊതുവേ അറബിക് അക്കങ്ങൾ തന്നെയാണ് ഉപയോഗിക്കുന്നത്. അതുകൊണ്ടുതന്നെ ഇവിടേയും സാധാരണഗതിയിൽ അക്കങ്ങൾ ടൈപ്പ് ചെയ്താൽ അറബിക് അക്കങ്ങൾ തന്നെയാണ് വരിക. എന്നിരുന്നാലും മലയാളം അക്കങ്ങൾ ടൈപ്പ് ചെയ്യേണ്ടതായി വന്നേക്കം, അത്തരം അവസരങ്ങളിൽ ആവശ്യമുള്ള അക്കത്തിനുമുൻപ് ബാക്ക്സ്ലാഷ്() ടൈപ്പ് ചെയ്താൽ മതി. ഉദാഹരണത്തിന് 8 എന്ന് ടൈപ്പ് ചെയ്താൽ ൮ എന്ന് വരും, എട്ട് എന്ന മലയാളം അക്കമാണിത്.

രക്ഷപ്പെടൽ (Escaping)

മലയാളം ടൈപ്പ് ചെയ്തുകൊണ്ടിരിക്കുമ്പോൾ തന്നെ ഇംഗ്ലീഷ് അക്ഷരങ്ങൾ ചേർക്കേണ്ടതായി വരും അത്തരം സന്ദർഭങ്ങളിൽ ബാക്ക്സ്ലാഷ് ടൈപ്പ് ചെയ്ത് ഇഷ്ടമുള്ള ഇംഗ്ലീഷ് അക്ഷരം ടൈപ്പ് ചെയ്യുക അന്നേരം ബാക്ക്സ്ലാഷ് അപ്രത്യക്ഷമാകുകയും ടൈപ്പ് ചെയ്ത ഇംഗ്ലീഷ് അക്ഷരം പ്രത്യക്ഷമാകുകയും ചെയ്യും. അതായത് N എന്ന് ചേർക്കണമെന്നിരിക്കട്ടെ, അതുനുവേണ്ടീ N എന്ന് ടൈപ്പ് ചെയ്താൽ മതി.

പഴയ ചില്ലുകൾ

n, L എന്നൊക്കെ ടൈപ്പ് ചെയ്താൽ പുതിയ എൻകോഡിങ്ങ് രീതിയിലുള്ള ചില്ലുകളായ ൻ, ൾ എന്നൊക്കെയാണ് വരിക. പഴയ ചില്ലുകൾ വരുത്താൻ ചില്ലിനായി ടൈപ്പ് ചെയ്തതിനുശേഷം ബാക്ക്സ്ലാഷ് ടൈപ്പുചെയ്യുക. അതായത് n, L എന്നിങ്ങനെ ടൈപ്പ്ചെയ്യുക അപ്പോൾ ന്‍, ള്‍ എന്നിങ്ങനെ പഴയ ചില്ലുകൾ വന്നുകൊള്ളും.

ലിപ്യന്തരണം നിർത്തിവെക്കാൻ

ഇംഗ്ലീഷിലെ ഒന്നോ രണ്ടോ അക്ഷരങ്ങൾ ടൈപ്പുചെയ്യുന്നതിനുവേണ്ടി മുൻപു പറഞ്ഞപോലെ ബാക്ക്സ്ലാഷ് ഉപയോഗിക്കാവുന്നതാണ്. ഉദാഹരണത്തിന് ml എന്ന് വേണമെന്നിരിക്കട്ടെ അപ്പോൾ ml എന്ന് ടൈപ്പ് ചെയ്താൽ മതി. എന്ന വലിയതോതിൽ ഇംഗ്ലീഷിൽ ചേർക്കണമെങ്കിൽ  ലിപ്യന്തരണം നിർത്തിവെക്കേണ്ടി വരും. അതിനായി മൂന്ന് മാർഗങ്ങളാണ് ഉൾപ്പെടുത്തിയിട്ടുള്ളത്. രണ്ടെണ്ണം പൂർണ്ണമായി നിർത്തുന്നതിനും ഒന്ന് താൽക്കാലികമായി നിർത്തുന്നതിനും. ഒന്നാമത്തെ രീതി കണ്ട്രോൾ കീയും M കീയും ഞെക്കിയുള്ള കുറുക്കു വഴിയാണ്. പക്ഷെ ഇത് എല്ലാം ബ്രൗസറിലും പ്രവർത്തിക്കാറില്ല. നിലവിൽ ഫയർഫോക്സിൽ മാത്രമാണ് പ്രവർത്തിക്കുന്നതായി ഉറപ്പുള്ളത്. അതല്ലെങ്കിൽ ചെക്ക്ബോക്സ് വഴി ചെക്ക്ബോക്സിലെ ടിക്ക് ഒഴിവാക്കി കാര്യം സാധിക്കാം. ഇതുകൂടാതെ മൂന്നാമത്തെ വഴിയാണ് <> എന്ന് ടൈപ്പ് ചെയ്തുള്ള രീതി (രണ്ട് ആങ്കിൾ ബ്രായ്ക്കറ്റുകൾ). മലയാളത്തിൽ ടൈപ്പ് ചെയ്തുകൊണ്ടിരിക്കെ <> എന്ന് ടൈപ്പ് ചെയ്താൽ അത് അപ്രത്യക്ഷമാകുകയും മലയാളം ടൈപ്പ് ചെയ്യപ്പെടുന്നത് നിലക്കുകയും സാധാരണഗതിയിൽ ഇംഗ്ലീഷിൽ ടൈപ്പ് ചെയ്യാവുന്ന രീതിയിലായിത്തീരുകയും ചെയ്യും. <> എന്ന് വീണ്ടും ടൈപ്പ് ചെയ്താൽ മലയാളം ടൈപ്പ് ചെയ്യുന്നത് തുടരുന്നതണ്. എന്നാൽ കണ്ട്രോൾ + M വഴിയോ ചെക്ക്ബോക്സ് വഴിയോ ലിപ്യന്തരണം നിറുത്തിയിട്ടുണ്ടെങ്കിൽ <> എന്ന് ടൈപ്പ് ചെയ്താൽ ലിപ്യന്തരണം തുടങ്ങില്ല. അതായത് ലിപ്യന്തരം നടന്നുകൊണ്ടിരിക്കെ താൽക്കാലികമായി നിറുത്താൻ <> ഉപയോഗിക്കാമെന്നർത്ഥം. അതല്ലാതെ പൂർണ്ണമായി നിറുത്തണമെങ്കിൽ കണ്ട്രോൾ+M, അല്ലെങ്കിൽ ചെക്ക്ബോക്സ് ഉപയോഗിക്കുക.

മലയാളം വാക്കുകൾ എങ്ങനെ ഇംഗ്ലീഷ് അക്ഷരങ്ങൾ ഉപയോഗിച്ച് ടൈപ്പ് ചെയ്യാം എന്നതിന് ചില ഉദാഹരണങ്ങൾ:

  • പ്രകൃതി ദുരന്തം - prakRthi durantham
  • ശിങ്കാരി മേളം - Sinkaari mELam
  • കൺകുളിർക്കെ - kaNkuLirkke
  • പുനഃസ്ഥാപിച്ചു - punaHsthhaapicchu
  • വിന്യാസം - vinyaasam
  • ആനമുടി - aanamuTi
  • ഇംഗ്ലീഷുഭാഷ - imgleeshubhaasha
  • കൊച്ചി - kocchi
  • ദാരിദ്ര്യം - daaridryam

കുറിപ്പ്: തമിഴ്, ഹിന്ദി എന്നീ ഭാഷകളിലേക്കു കൂടി ലിപ്യന്തരണം സാധ്യമാക്കണം എന്നുദ്ദേശ്യമുണ്ട്.