عمومی سازی و بومی سازی در جاوا - تالار گفتمان آذر فروم





دعوت به همکاری با آذر فروم

 

عمومی سازی و بومی سازی در جاوا
زمان کنونی: 19-09-1395،03:12 ب.ظ
کاربران در حال بازدید این موضوع: 1 مهمان
نویسنده: Friga
آخرین ارسال: Friga
پاسخ: 48
بازدید: 1860

 
 
رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5

موضوع: عمومی سازی و بومی سازی در جاوا
ارسال: #1
عمومی سازی و بومی سازی در جاوا
پست‌ها: 11,943
تاریخ عضویت: 20 اردیبهشت 1390
اعتبار: 288
حالت من: Shad
۱- مقدمه

عمومی سازی به فرآیند طراحی یک نرم افزار بمنظور تطبیق با زبانها و کشورهای مختلف بدون نیاز به تغییر در کد برنامه گفته می‌شود. یک برنامه عمومی شده دارای مشخصات زیر است:

در کنار یکسری اطلاعات بومی شده، برنامه می تواند در هر کشور و به هر زبانی اجرا شود.
عناصر متنی مانند پیغامها و عنوان اجزا رابط کاربر، در داخل کد برنامه (hard coding) مشخص نمی‌شوند، بلکه در یک منبع خارج از کد برنامه ذخیره و بصورت دینامیک بازیابی می‌شوند.
پشتیبانی از زبانهای جدید بدون نیاز به کامپایل مجدد برنامه.
اطلاعات حساس به منطقه جغرافیایی از قبیل تاریخ، پول و اعداد مطابق با استانداردهای تعریف شده در کشور کاربر نهایی نمایش داده می‌شود.
به آسانی قابل بومی سازی است.

بومی سازی به فرآیند تطبیق نرم افزار برای یک منطقه یا زبان خاص با اضافه کردن اجزا مربوط به آن منطقه و نیز ترجمه پیغامها گفته می‌شود. معمولا” بیشترین زمان فاز بومی سازی صرف ترجمه متن می‌شود . سایر اطلاعات از قبیل صدا و تصویر در صورت نیاز بومی سازی می‌شود. تیم بومی ساز نرم افزار همچنین امکان نمایش اطلاعاتی از قبیل تاریخ، اعداد و پول را برای یک منطقه خاص فراهم می آورند.
















دورمچم به جای ساعت یکنوار مشکی بستم
تا همه بفهمن من از همه هر چه زمانو متعلق به زمان است بیزارم
من هم روزی قلبی داشتم
که توسط مردمانی ازمیان شما شکست و شکست تا سنگی شد
واکنون روزگاریست که شیطان فریاد میزند..
انسان پیدا کنید سجده خواهم کرد...


=====ஜ۩۞۩ஜ=====

24-05-1391 02:04 ب.ظ
 
ارسال: #2
RE: عمومی سازی و بومی سازی در جاوا
پست‌ها: 11,943
تاریخ عضویت: 20 اردیبهشت 1390
اعتبار: 288
حالت من: Shad
۱٫۱- Internationalization

عمومی سازی در حوزه برنامه نویسی عبارتست از فرآیند طراحی و نوشتن یک برنامه بطوریکه بتوان بصورت سراسری و در کشورهای مختلف از آن استفاده کرد.

یک برنامه عمومی شده قابلیت پشتیبانی زبانهای مختلف و پارامترهای وابسته مانند تاریخ، زمان، پول و… را بدون نیاز به تغییر کد برنامه دارا می‌باشد. این ایده تحت عنوان (soft coding) یا جداسازی اجزاء رابط کاربر از کد منطق برنامه نیز مطرح می‌شود.

[عکس: 11113.jpg]


به جای کلمه Internationalization از مخفف آن I18N استفاده می‌شود. توضیح اینکه بین کاراکترهای شروع و پایان این کلمه ۱۸ کاراکتر وجود دارد. بنابراین برای سهولت از کلمه I18N و همچنین از I18N’d به جای Internationalizationed استفاده می‌شود.
















دورمچم به جای ساعت یکنوار مشکی بستم
تا همه بفهمن من از همه هر چه زمانو متعلق به زمان است بیزارم
من هم روزی قلبی داشتم
که توسط مردمانی ازمیان شما شکست و شکست تا سنگی شد
واکنون روزگاریست که شیطان فریاد میزند..
انسان پیدا کنید سجده خواهم کرد...


=====ஜ۩۞۩ஜ=====

24-05-1391 02:04 ب.ظ
 
ارسال: #3
RE: عمومی سازی و بومی سازی در جاوا
پست‌ها: 11,943
تاریخ عضویت: 20 اردیبهشت 1390
اعتبار: 288
حالت من: Shad
۲- عمومی سازی و بومی سازی در زبان جاوا
برخلاف سایر زبانهای برنامه‌نویسی، برنامه‌نویسان جاوا از امکانات و قابلیت‌های خوبی برای I18N برخوردار هستند.
















دورمچم به جای ساعت یکنوار مشکی بستم
تا همه بفهمن من از همه هر چه زمانو متعلق به زمان است بیزارم
من هم روزی قلبی داشتم
که توسط مردمانی ازمیان شما شکست و شکست تا سنگی شد
واکنون روزگاریست که شیطان فریاد میزند..
انسان پیدا کنید سجده خواهم کرد...


=====ஜ۩۞۩ஜ=====

24-05-1391 02:05 ب.ظ
 
ارسال: #4
RE: عمومی سازی و بومی سازی در جاوا
پست‌ها: 11,943
تاریخ عضویت: 20 اردیبهشت 1390
اعتبار: 288
حالت من: Shad
۱٫۲- پشتیبانی یونی‌کد (Unicode Support)

کاراکترست (Character Set) زبان جاوا بر مبنای یونی‌کد (Unicode) است، بدین منظور نوع داده‌ای char برای تطابق با یونی‌کد، دو بایتی (۱۶ بیت) در نظر گرفته شده است. بنابراین نوع داده‌ای String که با استفاده از char ساخته می‌شود نیز یونی‌کد را پشتیبانی می‌کند. یونی‌کد طوری تعریف شده است که مقادیر ۰ تا ۱۲۷ برای استاندارد ASCII و ۰ تا ۲۵۵ برای استاندارد ISO 8859-1 (Latin-1) را در برمی‌گیرد. به دلیل شروع شدن دو استاندارد با عدد صفر، برنامه‌نویسانی که از قابلیت‌های I18N استفاده نمی‌کنند یا آشنا نیستند نیز می‌توانند بدون نیاز به شناخت یونی‌کد، برنامه‌هایی بنویسند که یونی‌کد را پشتیبانی کند، اما برنامه‌نویسانی که در محیط ویندوز برنامه می‌نویسند بایستی از تفاوت‌های استاندارد ISO 8859-1 و Windows Latin-1 (CP1252) آگاهی داشته باشند.

طول ۱۶ بیتی نوع داده‌ای char امکان ذخیره سازی مقادیر ۰ تا ۶۵۵۳۵ را فراهم می‌سازد. یک مقدار یونی‌کد با ‘\u’ شروع و یک مقدار هگزادسیمال (مبنای ۱۶) از ۰۰۰۰ تا FFFF پس از آن قرار می‌گیرد. دو خط مثال زیر، کاراکتر a را تعریف می‌کند:

char c1 = 'a'
char c2 = '\u0061'

نسخه JDK 1.3 یونی‌کد ۲٫۱ و نسخه JDK 1.4 یونی‌کد ۳٫۰ را پشتیبانی می‌کند.

سؤالی که مطرح می‌شود این است که آیا همه پلاتفرم‌ها یونی‌کد را پشتیبانی می‌کنند؟ جواب: در جاوا تمام استریم‌ها (Stream) که کاراکترها را پشتیبانی می‌کنند (java.io.Reader و java.io.Writer) به صورت اتوماتیک یک لایه مخفی که وظیفه تبدیل یونی‌کد به Encoding خاص سیستم عامل و بالعکس را انجام می‌دهند را فراخوانی می‌سازند. از طرف دیگر کلاسهای java.io.InputStreamReader و java.io.OutputStreamWriter دارای متدهایی برای تبدیل Encoding می‌باشند.
















دورمچم به جای ساعت یکنوار مشکی بستم
تا همه بفهمن من از همه هر چه زمانو متعلق به زمان است بیزارم
من هم روزی قلبی داشتم
که توسط مردمانی ازمیان شما شکست و شکست تا سنگی شد
واکنون روزگاریست که شیطان فریاد میزند..
انسان پیدا کنید سجده خواهم کرد...


=====ஜ۩۞۩ஜ=====

24-05-1391 02:06 ب.ظ
 
ارسال: #5
RE: عمومی سازی و بومی سازی در جاوا
پست‌ها: 11,943
تاریخ عضویت: 20 اردیبهشت 1390
اعتبار: 288
حالت من: Shad
۲٫۲- Locale

Locale در زبان جاوا مجموعه‌ای از کلاسها برای سفارشی کردن، تغییر، نمایش و شکل دهی اطلاعات است. این کلاسها روی انتخاب زبان، تقویم، تاریخ و زمان تأثیر می‌گذارند. یک شیء از کلاس java.util.Locale نشان‌دهنده یک ناحیه جغرافیائی خاص با زبان آن ناحیه می‌باشد.
















دورمچم به جای ساعت یکنوار مشکی بستم
تا همه بفهمن من از همه هر چه زمانو متعلق به زمان است بیزارم
من هم روزی قلبی داشتم
که توسط مردمانی ازمیان شما شکست و شکست تا سنگی شد
واکنون روزگاریست که شیطان فریاد میزند..
انسان پیدا کنید سجده خواهم کرد...


=====ஜ۩۞۩ஜ=====

24-05-1391 02:07 ب.ظ
 
ارسال: #6
RE: عمومی سازی و بومی سازی در جاوا
پست‌ها: 11,943
تاریخ عضویت: 20 اردیبهشت 1390
اعتبار: 288
حالت من: Shad
۳٫۲- Language

زبانهای قابل استفاده در Locale طبق استاندارد ISO 639 می‌باشد. جدول زیر چند مثال از نام زبان و کد تعریف شده را نشان می‌دهد. یک کد زبان با جزئیات آن زبان در نواحی مختلف استفاده نمی‌شود، برای مثال ممکن است Canadian French و Swiss French دارای گرامر و قوانین و واژه‌های متفاوت باشند ولی برای هر دو این زبانها کد fr در نظر گرفته می‌شود. به همین دلیل تنها زبانهای عمومی تعریف شده‌اند:

کد زبان زبان
en English
fr French
zh Chinese
ja Japanese
ar Arabic
















دورمچم به جای ساعت یکنوار مشکی بستم
تا همه بفهمن من از همه هر چه زمانو متعلق به زمان است بیزارم
من هم روزی قلبی داشتم
که توسط مردمانی ازمیان شما شکست و شکست تا سنگی شد
واکنون روزگاریست که شیطان فریاد میزند..
انسان پیدا کنید سجده خواهم کرد...


=====ஜ۩۞۩ஜ=====

24-05-1391 02:07 ب.ظ
 
ارسال: #7
RE: عمومی سازی و بومی سازی در جاوا
پست‌ها: 11,943
تاریخ عضویت: 20 اردیبهشت 1390
اعتبار: 288
حالت من: Shad
4.2- Country

کشورهای قابل استفاده در Locale طبق استاندارد ISO 3165 می‌باشد. کد کشور در این استاندارد ۲ رقمی و با حروف بزرگ تعریف شده است. جدول زیر تعدادی از کشورهای تعریف شده را نشان می‌دهد.

کد کشور کشور
US United States
FR France
CA Canada
SA Saudi Arabia
















دورمچم به جای ساعت یکنوار مشکی بستم
تا همه بفهمن من از همه هر چه زمانو متعلق به زمان است بیزارم
من هم روزی قلبی داشتم
که توسط مردمانی ازمیان شما شکست و شکست تا سنگی شد
واکنون روزگاریست که شیطان فریاد میزند..
انسان پیدا کنید سجده خواهم کرد...


=====ஜ۩۞۩ஜ=====

24-05-1391 02:07 ب.ظ
 
ارسال: #8
RE: عمومی سازی و بومی سازی در جاوا
پست‌ها: 11,943
تاریخ عضویت: 20 اردیبهشت 1390
اعتبار: 288
حالت من: Shad
5.2- Variant

Variant یک پسوند اختیاری برای یک Locale می‌باشد. Variant یک Locale سفارشی تعریف می‌کند که با Language و Country قابل ساخت نیست. از Variant می‌توان برای اضافه کردن یک مشخصه اضافی برای تعریف Locale استفاده کرد. برای مثال en _ us نشاندهنده English (United States) است اما en_us_ca برای تعریف English (U.S.A, California) یا en_us_mac برای تعریف English (U.S.A, Macintosh) می‌باشد.
















دورمچم به جای ساعت یکنوار مشکی بستم
تا همه بفهمن من از همه هر چه زمانو متعلق به زمان است بیزارم
من هم روزی قلبی داشتم
که توسط مردمانی ازمیان شما شکست و شکست تا سنگی شد
واکنون روزگاریست که شیطان فریاد میزند..
انسان پیدا کنید سجده خواهم کرد...


=====ஜ۩۞۩ஜ=====

24-05-1391 02:07 ب.ظ
 
ارسال: #9
RE: عمومی سازی و بومی سازی در جاوا
پست‌ها: 11,943
تاریخ عضویت: 20 اردیبهشت 1390
اعتبار: 288
حالت من: Shad
۳- استفاده از Locale در جاوا

کلاس Locale دو سازنده (Constructor) دارد:

Locale (String language, String country)
Locale (String language, String country, String variant)
مثال:
Locale mylocale = new Locale (“en”, “US”)
در مثال بالا en زبان انگلیسی و US کشور آمریکا را تعریف می‌کند.
















دورمچم به جای ساعت یکنوار مشکی بستم
تا همه بفهمن من از همه هر چه زمانو متعلق به زمان است بیزارم
من هم روزی قلبی داشتم
که توسط مردمانی ازمیان شما شکست و شکست تا سنگی شد
واکنون روزگاریست که شیطان فریاد میزند..
انسان پیدا کنید سجده خواهم کرد...


=====ஜ۩۞۩ஜ=====

24-05-1391 02:08 ب.ظ
 
ارسال: #10
RE: عمومی سازی و بومی سازی در جاوا
پست‌ها: 11,943
تاریخ عضویت: 20 اردیبهشت 1390
اعتبار: 288
حالت من: Shad
۱٫۳- Number

عبارت ۱,۲۳۴ چه عددی را نشان می‌دهد؟ جواب به منطقه و کشور بستگی دارد. در آمریکا این عبارت معنی “یک هزار و دویست و سی و چهار” را دارد اما در فرانسه این عبارت به معنی “یک و دویست و سی و چهار هزارم” است. بنابراین در نظر گرفتن قوانین نمایش اعداد و جدا کننده‌ها بسیار مهم بنظر می‌رسد. کلاس java.text.NumberFormat تعریف چگونگی نمایش اعداد برای یک منطقه خاص را به عهده دارد.
















دورمچم به جای ساعت یکنوار مشکی بستم
تا همه بفهمن من از همه هر چه زمانو متعلق به زمان است بیزارم
من هم روزی قلبی داشتم
که توسط مردمانی ازمیان شما شکست و شکست تا سنگی شد
واکنون روزگاریست که شیطان فریاد میزند..
انسان پیدا کنید سجده خواهم کرد...


=====ஜ۩۞۩ஜ=====

24-05-1391 02:08 ب.ظ
 


[-]
پاسخ سریع
پیام
پاسخ خود را برای این پیام در اینجا بنویسید.


کد تصویری
royalfuns
(غیر حساس به بزرگی و کوچکی حروف)
لطفاً کد نشان داده شده در تصویر را وارد نمایید. این اقدام جهت جلوگیری از ارسال‌های خودکار ضروری می‌باشد.

موضوعات مشابه ...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  onUnLoad Event در جاوا اسکریپت Friga 0 286 28-05-1391 02:45 ب.ظ
آخرین ارسال: Friga
  انواع اعداد اعشاری جاوا Friga 7 588 28-05-1391 02:43 ب.ظ
آخرین ارسال: Friga
  استفاده از پرانتزها در جاوا Friga 0 274 28-05-1391 02:38 ب.ظ
آخرین ارسال: Friga
  عملگرهای منطقی بولی Boolean در جاوا Friga 5 521 28-05-1391 02:32 ب.ظ
آخرین ارسال: Friga
  عملگر انتساب The Assignment Operator در جاوا Friga 0 321 28-05-1391 02:29 ب.ظ
آخرین ارسال: Friga

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان