Monday, October 15, 2007

සිංහලකරණය

සිංහලකරණය යනු මෘදුකාංගයක් හෝ මෘදුකාංග පද්ධතියක් හෝ වෙනත් යමක් සිංහලට දේශීයකරණය කිරීමයි. නමුත්, එසේ කිරීමේදී සිංහල සමාජයට ආවේණික සංස්කෘතිමය, සමාජමය හා අනෙකුත් කාරණා සැලකිල්ලට ගැනීම අනිවාර්‍යයෙන් ම කලයුතුය. එමනිසා සිංහලකරණය යනු හුදෙක් සිංහලට දේශීයකරණය කිරීමට වඩා පුලුල්ව යොදාගතයුතු සංකල්පයකි. බාහිර ලෝකයෙන්, විශේෂයෙන් ම බටහිරින් අප ලබාගත් බොහෝ දැනුම අපගේ ම කරගෙන ඒවායේ නියමුවන් බවට පත්වීමටත් එම ක්ෂේත්‍ර තුල ඔවුන් හා කරට කර සිටීමටත් අප අපොහොසත් වුයේ ඉහත සඳහන් පරිදි අපට ආවේණික සංස්කෘතික හා සමාජ මූලයන් තුලට ඒවා උකහා නොගෙන මතුපිටින් පමණක් ඒවා ග්‍රහණය කරගැනීමයි. එමනිසා සිංහලකරණයේ යෙදෙනවිට සැමවිටම අපගේ සමාජ සංස්කෘතික කාරණා ද සැලකිල්ලට ගනිමින් චිරස්ථායී දැනුමක් ගොඩනැගීම කෙරෙහි අවධානය යොමුකල යුතු වේ. මෘදුකාංගකරණයේදී සිංහලකරණය සඳහා ඉහත සඳහන් ආකාරයේ ප්‍රවේශයක් ලබාගැනීමෙන් ජනතාවට පරිඝණක තාක්‍ෂණයේ මහඟු ප්‍රතිඵල අත්පත් කර දීමට අදිටන් කරගනිමු.

ජාත්‍යන්තරකරණය හා දේශීයකරණය

මෘදුකාංග නිර්‍මාණකරණයේදී යම් මෘදුකාංගයක් ඉතා පහසුවෙන් වෙනත් භාෂා වලට පරිවර්තණය කල හැකි ආකාරයෙන් සැලසුම් කිරීම හා නිර්‍මාණය කිරීම ජාත්‍යන්තරකරණය (internationalization) ලෙසත් මෙලෙස ජාත්‍යන්තරකරණය කරණ ලද මෘදුකාංගයක් යම්කිසි භාෂාවකින් භාවිතා කිරීමට හැකිවන පරිදි තවදුරටත් සකස් කිරීම දේශීයකරණය (localization) ලෙසත් හඳුන්වයි.

ඔබ දන්නා පරිදි අප මෘදුකාංගයක් භාවිතයේදී මෘදුකාංගය සමඟ සන්නිවේදනය කිරීමට ක්‍රම කීපයක් භාවිතා කරයි. මේවා මූලික වශයෙන් input හා output වශයෙන් වර්‍ගීකරණය කරයි. පරිඝණය යතුරු පුවරුව භාවිතා කරමින් දත්ත ඇතුලුකිරීම, මූසිකය භාවිතයෙන් මෘදුකාංගය හැසිරවීම ආදිය inputs වන අතර දර්ශණ තිරය මඟින් හා මුද්‍රණ යන්ත්‍රයකින් දත්ත ලබාගැනීම outputs වේ. යම් මෘදුකාංගයක් කිසියම් භාෂාවකින් භාවිතා කලහැකිවීමට නම් එම භාෂාවෙන් එහි inputs ලබාදීමත් outputs ලබාගැනීමත් කලහැකිවිය යුතුය. ඊට අමතරව මෘදුකාංගය තුල ඇති සියලු ක්‍රියාකාරකම් එම භාෂාවට අනුගත වන ආකාරයට සිදුවිය යුතුය. උදාහරණයක් ලෙස ආකරාදි පිලිවෙලට වචන සකස්කිරීමේදී අදාල භාෂාවට අනුව එය කලයුතුය, මුදල් වගීය සඳහා භාවිතා කරන සංකේතය, දශම ස්ථානය නිරූපණය කිරීමට යොදාගන්නා සංකේතය ආදියද රටින් රටට, භාෂාවෙන් භාෂාවට වෙනස් ව්ය හැක. එනිසා ඒවාද නියමිත ආකාරයට යොදාගත යුතුය. ඉහත කරුණු සලකා බැලීමේදී මෘදුකාංගය භාවිතාකරන්නාගේ භාෂාමය හා එයට සම්බන්ධ අනෙකුත් අවශ්‍යතා ඔහුගේ භාෂාව අනුවත්, ඔහු ජීවත්වන රට හෝ ප්‍රදේශය අනුවත් වෙනස් විය හැකි බව පැහැදිලි වේ. උදාහරණයක් ලෙස ප්‍රංශයේ ජීවත්වන ප්‍රංශ භාෂාව කතාකරන්නෙකු සඳහා ප්‍රංශ භාෂාවෙන් මෘදුකාංගය සකස් කලයුතු අතර මුදල් සඳහා ෆෑන්ක් භාවිතා කල යුතුයි. නමුත් කැනඩාවේ ජීවත්වන ප්‍රංශ භාෂාව කතාකරන්නෙක් සඳහා එම මෘදුකාංගය සැකසීමේදී මුදල් වර්‍ගය ලෙස කැනඩා ඩොලර් යොදාගත යුතුයි. ඉහත සියලු කරුණු සලකා බලා ජාත්‍යන්තරකරණය හා දේශීයකරණය පහසුකරගැනීම සඳහා විවිධ තාක්ෂණ ක්‍රම ගනනාවක් හඳුන්වාදී ඇති අතර එයින් මූලිකම තාක්ෂණක්‍රමය වන ලෝකලි(locale) තාක්ෂණය ගැන මීලඟට විමසා බලමු.

ලෝකලි තාක්ෂණය
ඉහත අප සාකච්ඡා කල පරිදි පරිඝණක භාවිතාකරන්නන් දෙදෙනෙකුගේ භාෂාමය අවශ්‍යතාවයන් අනන්‍යව හඳුනාගැනීම සඳහා ඔහුගේ භාෂාවත් ඔහු ජීවත්වන රට හෝ ප්‍රදේශයත් සැලකිල්ලට ගත යුතුය. ලෝකලි එකක් යනු භාෂාවකත් රටක හෝ ප්‍රදේශයකත් එකතුවකි. ඇමෙරිකාවේ වෙසෙන ඉංග්‍රීසි කතාකරන්නෙක් සඳහා ලෝකලි එක en_US ලෙස නම්කරයි. එසේම ලංකාවේ වෙසෙන සිංහල කතාකරන්නෙක් සඳහා ලෝකලි එක si_LK වේ. එනිසා යම් මෘදුකාංගයක් සිංහලට දේශීයකරණය කිරීමට වඩා තාක්ෂණික වශයෙන් වඩාත් උචිත වදන එම මෘදුකාංගය si_LK ලෝකලි එකට සකස්කිරීමයි. ලෝකලි එකක මූලික අංග ගනනාවක් ඇති අතර ඒවායින් ප්‍රධානතම අංග වන්නේ,
1)භාෂාව
2)ඉලක්කම් නිරූපණය
3)දිනය හා වේලාව නිරූපණය (මාස, දවස්, පෙරවරු, පස්වරු ආදිය සඳහා යොදාගන්නා වචන ඇතුලුව)
4)මුදල් ඒකකය නිරූපණය
5)දශමස්ථානය ආදී සලකුණු නිරූපණය
7)ආකරාදී පිලිවෙලට සකස්කිරීමේ ක්‍රමවේදය
මේවාට අමතරව ලෝකලි එකට අනුකූලව වෙනත් දේ වෙනස් විය යුතුනම් ඒවාද ඇතුලත් විය යුතුය.

ලෝකලි තාක්ෂණය අද බහුතරයක් මෘදුකාංග වල යොදාගෙන තිබේ. මෙහෙයුම් පද්ධති, පරිඝණක භාෂා, ‍ඩේටා බේසස්, වෙබ් සරවර්ස්, වෙබ් බ්‍රව්සර්ස්, ඇප්ලිකේෂන් සර්වර්ස් ආදී මෙකී නොකී සෑම දෙයකම වගේ ලෝකලි තාක්ෂණය යොදාගෙන ඇත. එනම් මේ මොහොතේ ඔබගේ මෙහෙයුම් පද්ධතිය ක්‍රියාත්ම වන්නේ නිෂ්චිත ලෝකලියකට අනුකූලවයි. යුනික්ස් මෙහෙයුම් පද්ධතියක නම් echo $LANG විධානය භාවිතා කර ඔබට ඔබේ ලෝකලිය කුමක්ද යන්න සොයාගත හැකිය. වින්ඩෝස් වල නම් කොන්ට්‍රෝල් පැනලය තුල ඇති රීජනල් ඇන්ඩ් ලැන්ග්වේජ් සෙටින්ග්ස් වලිනි මෙය බලාගත හැකිය. මෙහෙයුම් පද්ධතිය මත ස්ථාපනය කර ඇති සමහරක් මෘදුකාංග ක්‍රියාත්මක වීමේදී මෙහෙයුම් පද්ධතියේ ලෝකලිය කුමක්ද යන්නත් එය සම්බන්ධ වෙනත් තොරතුරුත් ලබාගෙන ඒවාට අනුව ක්‍රියාත්මක වෙයි. තවත් සමහර මෘදුකාංග මෙහෙයුම් පද්ධතිය මත යැපීමක් නැතිව තමාගේම ලෝකලියක් භාවිතා කරයි. බොහෝ නූතන පරිඝණක භාෂා ද ලෝකලි තාක්ෂණය භාවිතා කරයි. උදාහරණයක් ලෙස ජාවා වර්චුවල් මැෂින් එක ධාවනය වෙද්දී එය නිෂ්චිත ලෝකලි එකක් භාවිතා කරන අතර ආකරාදී පිලිවෙලට සකස්කිරීමේම, දිනය හා වේලාව නිරූපණය කිරීම ආදියේදී එය අදාල ලෝකලිය භාවිතා කරයි.

ජාත්‍යන්තරකරණය හා දේශීයකරණය සඳහා ලෝකලි තාක්ෂණය යොදාගැනීම
මෘදුකාංගයක් ජාත්‍යන්තරකරණය කිරීමේදී මූලික වශයෙන්ම සිදුකලයුත්තේ ලෝකලි එක මත වෙනස්වල දේවල් හා එසේ වෙනස් නොවන එනම් සියලු ලෝකලි වලට පොදු දේවල් වෙන්කර ඒවා වෙන් වෙන්ව තබාගැනීමයි. එවිට ලෝකලි මත වෙනස් නොවන මූලික පද්ධතිය සමඟ විවිධ ලෝකලි වලට අදාල ලෝකලි මත වෙනස්වන කොටස් වල එකතුවක් ලෙස මෘදුකාංගය සැලසුම් කල හැකිය. මෙසේ සකස් කල මෘදුකාංගයක් දේශීයකරණය කිරීමේදී සිදුකරන්නේ එම ලෝකලියට අදාලව ඉහත වෙනස්වන කොටස පමණක් අලුතින් එකතුකිරීමයි. බොහෝවිට මෙලෙස අලුතින් එක් කරන්නට සිදුවන්නේ තිර මුහුනත්වල භාවිතාවන විධාන, උපදෙස් හා තොරතුරුයි. මෙය ඉතාමත් පහසු කාර්‍යයක් වන අතර මේ සඳහා resource bundle නමින් හඳුන්වන ගොනුවක් බොහෝවිට භාවිත කරයි. resource bundle එකක් සාමාන්‍යයෙන් පහත දැක්වෙන ස්වරූපය ගනී.

file=ගොනුව
open=විවෘත කරන්න

මෙමනිසා ජාත්‍යන්තරකරණය කරණ ලද මෘදුකාංගයක තිර මුහුනත් සිංහලට දේශීයකරණය කිරීමේදී කලයුතුවන්නේ හුදෙක් ඉහත ආකාරයට resource bundle එකක් සාදා අවශ්‍ය ස්ථානයට පිටපත් කිරීම පමණි.