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





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

 

عمومی سازی و بومی سازی در جاوا
زمان کنونی: 13-09-1395،07:10 ب.ظ
کاربران در حال بازدید این موضوع: 1 مهمان
نویسنده: Friga
آخرین ارسال: Friga
پاسخ: 48
بازدید: 1858

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

موضوع: عمومی سازی و بومی سازی در جاوا
ارسال: #11
RE: عمومی سازی و بومی سازی در جاوا
پست‌ها: 11,943
تاریخ عضویت: 20 اردیبهشت 1390
اعتبار: 288
حالت من: Shad
۲٫۳- Currency

هر کشور یا منطقه دارای واحد پولی جداگانه است. علاوه بر این مواردی از قبیل علامت اعداد منفی، صفر، جداکننده رقم‌ها، علامت نقطه اعشاری و مکان قرار گرفتن علامت پول ($۱۰، ۱۰ ریال) نیز در کشورها متفاوت است. متد getCurrencyInstance در کلاس java.text.NumberFormat امکان پرداختن به جزئیات شکل دهی اعداد پولی یک کشور خاص را فراهم می‌سازد.
















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


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

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

مشابه سایر ساختارهای حساس به موقعیت جغرافیایی، فیلد تاریخ نیز جزئیات خاص خود را دارد. کوتاه یا کامل بودن تاریخ، جدا کننده روز، ماه و سال و نیز ترتیب آنها در کشورهای مختلف با یکدیگر متفاوت است.
















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


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

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

کلاس java.text.Calendar بسیار نزدیک به کلاس java.util.Date است و اجازه می‌دهد سال، ماه، روز و زمان را از یک تاریخ استخراج نمایند. متد getCalendarInstance یک Calendar برای کشور مورد نظر بر می‌گرداند. تنها تقویم پیاده‌سازی توسط شرکت سان میکرو سیستم تقویم Gregorian می‌باشد. برای ساختن تقویم‌های محلی توصیه می‌شود از کلاس Calendar جاوا استفاده شود.
















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


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

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

ویژگی عمومی ساختن در JDK، مکانیزمی برای جداسازی عناصر رابط کاربر و سایر اطلاعات حساس به منطقه جغرافیایی از منطق برنامه است. این جداسازی انتقال فرآیند و تبدیل را آسان می‌سازد. بدین معنی که یک کد واحد نوشته می‌شود، در حالیکه ممکن است ۳۰ نسخه به زبان‌های مختلف از آن تولید شود.

Resource Bundle شامل یک فایل با فرمت ASCII است. نام این فایل شامل دو قسمت، نام اصلی و یک پسوند است. برای مثال برای ایجاد یک Resource Bundle با نام MyBundle برای زبانهای ژاپنی و فرانسوی دو فایل بنام‌های MyBundle_ja_JP و MyBundle_fr_FR با پسوند properties تعریف می‌شود. هر فایل Resource Bundle شامل یکسری زوج کلید / مقدار است. در هر خط بایستی یک زوج کلید / مقدار تعریف شود. مثال:

#MyResource.properties
#<key>=<value>
Text_not_found=The file could not be found
Text_Hello=Hello, world!

متد getBundle در کلاس java.util.ResourceBundle امکان دسترسی به یک Resource Bundle را فراهم می‌سازد. مثال کاملی از تعریف Locale برای زبان فارسی در انتهای این مقاله ذکر شده است.
















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


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

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

زبان جاوا با استفاده از یونی‌کد برای نمایش متن، فرآیند ذخیره سازی، دستکاری و نمایش کاراکترها را آسان ساخته است. یونی‌کد یک کارکترست ۱۶ بیتی است بدین معنی که می‌تواند ۲۱۶ کاراکتر تعریف کند. هر کاراکتر در این مجموعه منحصر بفرد است.
















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


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

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

Layout Manager در یک برنامه چند زبانه بدلیل دو مشکل اساسی در هنگام ترجمه رابط کاربر بسیار مهم است:

افزایش و کاهش طول متن ترجمه شده
موقعیت اجزاء رابط کاربر

متن ترجمه شده اغلب کوتاه‌تر یا بلندتر از متن اصلی است. Layout Manager نقش بسیار مهمی دارد چون اندازه اجزاء رابط کاربر را با توجه به طول متن استفاده شده در عنوان آن تغییر می‌دهد و همچنین جابجایی اجزاء رابط کاربر را بدلیل تغییر اندازه متن کنترل می‌کند.
















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


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

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

در این قسمت یک مثال ساده که پیغام‌هایی را به چندین زبان نمایش می‌دهد توضیح داده می‌شود. در این مثال با کلاسهای Locale و ResourceBundle جاوا آشنا می‌شوید.
















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


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

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

در نظر بگیرید که یک برنامه نوشته اید که چند پیغام را نمایش می‌دهد:

public class NotI18N {
static public void main(String[] args) {
System.out.println("Hello.");
System.out.println("How are you?");
System.out.println("Goodbye.");
}
}

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
















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


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

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

کد زیر تغییر یافته برنامه شما را نشان می‌دهد. توجه کنید که متن پیغامها از داخل کد برنامه خارج شده است:

import java.util.*;

public class I18NSample {

static public void main(String[] args) {

String language;
String country;

if (args.length != 2) {
language = new String("en");
country = new String("US");
} else {
language = new String(args[0]);
country = new String(args[1]);
}

Locale currentLocale;
ResourceBundle messages;

currentLocale = new Locale(language, country);

messages = ResourceBundle.getBundle("MessagesBundle", currentLocale);
System.out.println(messages.getString("greetings"));
System.out.println(messages.getString("inquiry"));
System.out.println(messages.getString("farewell"));
}
}

برای کامپایل و اجرای برنامه به فایلهای زیر نیاز دارید:

- I18NSample.java
- MessageBundle.properies
- MessageBundle_de_DE.properties
- MessageBundle_en_US.properties
- MessageBundle_fr_FR.properties
- MessageBundle_ar_SA.properties
















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


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

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

برنامه عمومی شده انعطاف پذیر است: این برنامه به کاربر نهایی اجازه می‌دهد کشور و زبان را بصورت پارامتر به برنامه وارد کند.

مثال زیر نتیجه اجرای برنامه را برای زبان فرانسوی (French) fr و کشور فرانسه (France) FR نشان می‌دهد:

greetings = Bonjour
farewell = Au revoir
inquiry = Comment allez-vous?

فایل MessageBundle_fr_FR.properties

% java I18NSample fr FR

Bonjour.
Comment allez-vous?
Au revoir.
خروجی برنامه

مثال بعدی نتیجه اجرای برنامه را برای زبان انگلیسی (English) en و کشور آمریکا (United States) US نشان می‌دهد:

greetings = Hello
farewell = Goodbye
inquiry = How are you?

فایل MessageBundle.properties

% java I18NSample en US

Hello.
How are you?
Goodbye.
خروجی برنامه
















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


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

24-05-1391 02:12 ب.ظ
 


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


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

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

پرش به انجمن:


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