بخشی از مقاله
چکیده
با گسترش ارتباطات و فناوری اطلاعات (ICT) و استفاده روزافزون عام از کامپیوتر، لزوم بسترسازی برای بینالمللیسازی و بومیسازی برنامههای کاربردی مطرح گردید. به سرعت پشتیبانی از I18n جزﺀ اصول برنامههای ﮐﺎﺭﺑﺮﺩﻱ معتبر قرار گرفت. در پی اوجگیری امکانات سیستمعامل لینوکس و به دلیل امنیت، سرعت و مرجعآزاد١ بودن آن، بحث بومیسازی این سیستمعامل محبوب در بسیاری از کشورها آغاز گردید. به تازگی در کشور ما نیز حرکتهایی شروع شده است. در این مقاله ما به بحث در مورد مفهوم I18n و L10n خواهیم پرداخت. همچنین زمینهای از مفاهیم پایهای، کدهای کاراکترها و نکات لازم برای تهیه یک نرمافزار یا patch بینالمللی را در اختیار محققان قرار میدهد.
مقالات و مطالعات متعددی در زمینه بینالمللیسازی و بومیسازی نرمافزارها وجود دارد. این مقاله سعی دارد وضعیت فعلی و مشکلات موجود در ارتباط با بینالمللی سازی زبان فارسی را به طور اجمالی بررسی نموده و راهکارهایی برای حل آنها ارئه نماید.
کلمات کلیدی: سیستم عامل لینوکس، بومی سازی، بینالمللی سازی، کاراکترهای wide و یونیکد
١-
اکثر نرمافزارهایی که طراحی و پیادهسازی میشوند، دارای قابلیت پردازش، ورود و خروج دادههای متنی هستند. بعضی از این نرمافزارها بطور پیش فرض زبان انگلیسی (استاندارد (ASCII را مبنای متون خود درنظر میدهند. افرادی که با زبانهایی غیر از انگلیسی آشنا هستند، برای استفاده از این برنامهها به مشکل برخورد میکنند. البته نرمافزارها اغلب به همراه کد اسکی استاندارد ISO-8859-1 را پشتیبانی میکنند. اما به ندرت دیده شده است که نرمافزار یا سیستمعاملی به طور کامل زبان فارسی را پشتیبانی کند. قبل از شروع بحث اصلی معرفی مفاهیم زیر لازم میباشد :
I18n ، بین المللیسازی٢: این مفهوم به معنای تعدیل یک نرمافزار یا فناوریهای مرتبط به ﺁﻥ است، به شکلی که امکان پشتیبانی از چند زبان را داشته باشد.
L10n ، بومیسازی٣: این اصطلاح به معنای پیادهسازی یک زبان خاص برای نرمافزاری است ﮐﻪ قبلا” بینالمللی شده است.
به ترکیب دو مفهوم بالا جهانی سازی٤ اطلاق می شود. برای درک بهتر به ﺷﮑﻞ زیر توجه کنید:
Open source
Internationalization
Localization
Globalizationْ
1
2
3
4
مقایسه و مرتب سازی:
صفحه کلید:
١-١- ابعاد مسئله
I18n از جنبههای گوناگون اهمیت دارد. زبانهای مختلف و مجموعه کاراکترها به همراه تنوع فرهنگی و تفاوت قوانین و
سیاستهای کشورهای مختلف عوامل مؤثر در بینالمللی سازی و بومیسازی میباشد. I18n به مراحل زیر نیازمند است:
نویسهها و آواها ٭ نمایش نویسه و آواهای زبانهای بومیکاربران
٭ ورود نویسههای زبانهای بومی کاربران
٭ چاﭖ نویسههای هر زبان بومی برای کاربران
٭ دسته بندی و مرتب کردن کاراکترها
٭ نمایش و ورود اعداد و ارقام
٭ استفاده از قوانین حروف چینی برای هر زبان (جهت و ...)
فایلها ٭ پشتیبانی فایلهایی که با کدگذاریهای متعارف با زبانهای بومی کاربران است.
٭ استفاده کاراکترهای زبانهای بومی مختلف برای نامگذاری فایلها وغیره
نشان دادن پیغام برنامهها به زبان محلی کاربران قالب بندی ورود و نمایش تاریخ، پول رایج و ... به زبان بومی تبدیل واحدها به واحدهای بومی
٢- بومیسازی
همانطور که در تعاریف بومیسازی و بینالمللی سازی در مقدمه آمده بود، بومیسازی بر روی بستههای بینالمللی شده صورت میگیرد. در اینجا کمی عمیق تر به مسئله مینگریم. لازم به یادآوری است در بومیسازی، علاوه بر مسائل علمی، فرهنگ، اجتماع و حتی سیاست نیز تأثیر گذارند که در ادامه تاحدودی به آنها نیز اشاره خواهد شد. بومیسازی
در دو فاز مختلفاستانداردهاانجاممیشود: ۱. ۲. نرمافزارها
١. استانداردها: در ابتدای هر فعالیتی لازم است پیش زمینه آنرا مهیا ساخت. برای بومیسازی یک نرمافزار بینالمللی شده به استانداردهایی نیاز پیدا میکنید که مهمترین آنها به قرار زیر است:
مجموعه کاراکتر: ابتدائی ترین و مهمترین استاندارد، استانداردی است که یک کشور یا ناحیه خاص به مجموعه کاراکتر خود اختصاص میدهد. (اهمیت مجموعه کاراکترها در هماهنگ کردن محصولات یک کشور و سهولت در تبدیل به زبانهای مختلف در بخش قبل توضیح داده شد)
استاندارد ملی کدگذاری فارسی به تازگی و با تأخیر بسیار طولانی یونیکد اعلام شده است.
استاندارد یونیکد در مجموعه کاراکترهای فارسی دارای نواقصی است که با اعلام به این کنسرسیم قابل رفع میباشد.
در نرمافزارهای مختلف، وارد کردن اطلاعات جزﺀ لاینفک مراحل اجراﺀ، پیکربندی و
استفاده از آن میباشد. برای به کار بردن مجموعه کاراکترهای هر کشور لازم است این مجموعه کاراکترها به نوعی با صفحه کلید پشتیبانی شود و برای آن استانداردی تعیین گردد. این استاندارد در ایران و برای زبان فارسی مشخص نشده است. این موجب گسستگی در برخی امور شده است.
در بیشتر نرمافزارهایی که به نوعی با پایگاه داده و یا مجموعه دادهای در
ارتباطند، حتماﹰ با مسئله مرتب سازی سروکار خواهند داشت. از این رو برای طراحی، پیادهسازی و بومیسازی یک نرمافزار بینالمللی این