محلی کردن نرم افزار های کامپیوتری در مقوله های متفاوتی مطرحه :
1-globalization یا جهانی سازی : یعنی طراحی برتامه برای فرهنگ های مختلف از قبیل واحد پول - زمان - تقویم(بسیار مهم)....در جاوا متاسفانه امکانات فرهنگ فارسی مثل تقویم و یا متد های فرمت برای واحد های زمانی ایرانی به صورت استاندارد وجود نداره.اما میشه Impelement کزد. وشده یه نمونه از تقویم جلالی که من در Sourceforge پیدا کردم :
http://sourceforge.net/project/platf...group_id=90969
در Classpath برنامه یا خود جاوا کپیش کنید و
کد:
import java.util.Date; import com.ibm.icu.util.TimeZone; import com.ibm.icu.util.ULocale; import com.ibm.icu.text.DateFormat; import com.ghasemkiani.util.icu.PersianCalendar; // ... PersianCalendar pc = new PersianCalendar(TimeZone.getTimeZone("Asia/Tehran")); DateFormat df = pc.getDateTimeFormat(DateFormat.FULL, DateFormat.DEFAULT, new ULocale("fa", "IR", "")); String result = df.format(new Date()); // ...
تاریخ و زمان رو به هجری شمسی خواهید داشت.
2-localization یا محلی سازی : که فکر میکنم منظور شما هم همین باشه.و یکی از کارهاش امکان استفاده از منابعی به زبان محلی مورد نظر ما در برنامه هست. جاوا به نظر من پشتیبانی فوق العاده ای از محلی سازی داره.در جاوا بدون هیچ مشکلی در حین کامپایل و Runtime در هر پلت فرمی با استفاده از UTF-8 تمامی رشته ها به زبان مورد نظر مثلا UTF-8 به خوبی نمایش داده میشن.این واقعا نسبت به زبانی مثل c یا ++C که نیاز به کاراهای اظافی برای localization دارن عالیه(دوستانی که برنامه های فارسی به این زبانه نوشتن منو درک میکنن!) منتها چند نکته باید مد نظر قرار بگیره : اول : Source editor شما باید هر چی رو که شما تایپ میکنید با فرمت UTF اینکد کنه!برای مثال در Note pad اگر فایلها رو به صورت ASCI ایجاد کنید با فرمت ASCI پیشفرض ویندوزبه ISO ذخیره میشنن.برنامه شما بامشکلاتی احتمالی در سیستم خودتون مواجه میشن.که حالت های مختلفی داره.اگر با IDE کارمیکنید حتما اینکدینگ سورس ادیتورتون رو به UTF ست کنید.البته JBuilde 2006 به نظر من مشکل ذاتی با فارسی تایپ کردن در Source editor داره.من اپدیت هم کردم بی فایده بود.KB Layout هم تغیر دادم.تمام Issue هاش رو هم مطالعه کردم.فایده نداشت.با NB -JB2007 این مشکل رو نداشتم.
امیدوارم مفید بوده باشه.