PDA

View Full Version : استفاده از چند زبان در برنامه های تحت وب جاوا



m44miri
شنبه 10 دی 1390, 09:19 صبح
یادمه قبلنا یک کامطوننتی بنام libtags-i18n وجود داشت که برای قرار دادن چند زبان در یک پروژه جاوا تحت وب کاربرد داشت.امروز رفتم از سایت apache دانلودش کنم دیدم خیلی گنده و قرمز نوشته که از سال ۲۰۱۰ بازنشسته شده. خوب ،روش دیگه ای برای این کار وجود داره؟

ناصرقلی
شنبه 10 دی 1390, 21:25 عصر
بهترین و اصولی ترین روش برای استفاده از چند زبان این است که نخست مشخص کنید که چه سرویسهایی باید به چه زبانی نوشته شوند. بعد آنها را اصولی طراحی کنید و سپس با استفاده از روشهای مختلف از جمله وب سرویس یا آر ام آی و یا ESB سرویسها یکدیگر را فراخوانی کنند.

m44miri
دوشنبه 12 دی 1390, 18:46 عصر
فکر کنم خوب متوجه منظور من نشدید.من قصد ندارم سرویسی را فراخوانی کنم و یا چند زبان برنامه نویسی روی وب سایتم داشته باشم.منظور من از زبان زبانهای گفتگو و مکالمه زنده در دنیاست.مثل ترکی .فارسی . انگیلیسی.عربی..اون ماژولی هم که بهتون گفتم برای همین کار ساخته شده بود. البته تا سال ۲۰۱۰ .الان که بازنشسته شده .جای این چیز دیگه ای وجود داره؟

hosein.zare
دوشنبه 19 دی 1390, 17:10 عصر
برای استفاده از متون چند زبانه و سوییچ کردن داینامیک بین آنها میتونید از api java.util.ResourceBundle استفاده کنید .
یک مثال ساده : دو فایل می سازم :
UIResource_en_us.properties

داخل اون مقادیرم را به صورت کلید و مقدار تعریف میکنم:


hi_word = Hello
حالا فایل دیگری در کنارش می نویسم با نام
UIResource_fa_ir.properties

و داخلش می نویسم:

hi_word = سلام
توی کد نویسی :


ResourceBundle farsiBundle = ResourceBundle.getBundle("UIResource", new Locale("fa", "ir"));
String salam = farsiBundle.getString("hi_word");

ResourceBundle english = ResourceBundle.getBundle("UIResource", new Locale("en", "us"));
String hello = farsiBundle.getString("hi_word");

فایل های باندل باید توی root سورس برنامه ات ساخته بشه . برای اطلاعات بیشتر میتونی مستنداتش را بخونی . خیلی کاملتره

در ضمن برای استفاده از باندل ها در فایل های jsp میتونی از tag lib JSTL Format استفاده کنی.

ghandon.2110
پنج شنبه 25 خرداد 1391, 11:02 صبح
نمی دونم از کدوم framework استفاده میکنین من خودم دارم با jsf چند زبانه کار میکنم اینجا (http://www.mkyong.com/jsf2/jsf-2-internationalization-example/)یه آموزش خوب و کامل میتونی پیدا کنی

همایون افشاری
سه شنبه 30 خرداد 1391, 14:49 عصر
اینجا رو نگاه کنید :
http://docs.oracle.com/javase/tutorial/i18n/index.html

بهترین و اصولی ترین روش برای استفاده از چند زبان این است که نخست مشخص کنید که چه سرویسهایی باید به چه زبانی نوشته شوند. بعد آنها را اصولی طراحی کنید و سپس با استفاده از روشهای مختلف از جمله وب سرویس یا آر ام آی و یا ESB سرویسها یکدیگر را فراخوانی کنند.
به نظرم منظورتون از ESB همون EJB باشه. البته EJB و RMI زبان های غیر جاوایی رو پشتیبانی نمی کنند (RMI در حالت خاص با iiop).