PDA

View Full Version : مقاله: چطوري فرم هاي Multi Language داشته باشيم



Dariuosh
پنج شنبه 10 مرداد 1387, 06:22 صبح
سلام
عيدتون مبارک

تا حالا شده بخواين برنامه ايي رو که نوشتين به يه برنامه چند زبونه تبديل کنيد يعني مثلاً به کاربرتون اين امکان رو بدين که خودش زبونه برنامه رو انتخاب کنه واز برنامه شما لذت ببره مثل اکثر برنامه هايي که جديداً ازشون استفاده ميکنيم

برايه اين کار شما مجبوريد که زحمته زيادي رو متحمل بشيد !

اول بايد Propertyيه Localizable فرم مورده نظرتون رو از حالت پيش فرض False به True تغيير بديد بعدش بايد Language که يکي ديگر از Propertyهاي فرم هست رو به زبون مورده نظرتون تغيير بديد مثلاً Persian (Iran) به محض انتخاب زبان جديد شما اين امکان رو پيدا ميکنيد که تمامه تنظيماته ظاهري فرمتون رو عوض کنيد از متن Lableها يا منو ها تا Size يا Location کنترلهاي موجود رو فرمتون
در واقع VS با تغيير Language محيط جديدي رو برايه طراحي در اختيار شما قرار ميده

حالا برايه استفاده يا بهتره بگم سوئيچ به UI جديمون کافيه که CurrentUICulture رو به زبونه انتخابيمون تغيير بديم
اينطوري ---- Persian (Iran)


System.Threading.Thread.CurrentThread.CurrentUICul ture = New System.Globalization.CultureInfo("fa-IR")

برا برگشتن به حالت پيش فرض هم


System.Threading.Thread.CurrentThread.CurrentUICul ture = New System.Globalization.CultureInfo("en-US")



موفق باشيد

Dariuosh
پنج شنبه 10 مرداد 1387, 06:42 صبح
اينم يه مثال

Dariuosh
جمعه 11 مرداد 1387, 00:58 صبح
ليست CultureInfoها (http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.aspx)

Dariuosh
جمعه 11 مرداد 1387, 01:14 صبح
يکي ديگه از چيزايي که تو Localizable کردن برنامه اهميت داره ، تعويض به موقع زبون نوشتاري برنامس ، يعني اون موقع که قراره کاربر فارسي تايپ کنه صفحه کليد فارسي باشه و اون موقع که قرار Eng بنويسه صفحه کليد Eng باشه
در واقع منظورم اينه که Alt + Shift رو حذف کنيم

برا فارسي کردن کافيه


Dim faCultureInfo = New System.Globalization.CultureInfo("fa-IR", False)
System.Windows.Forms.InputLanguage.CurrentInputLan guage = System.Windows.Forms.InputLanguage.FromCulture(faC ultureInfo)

Dariuosh
جمعه 11 مرداد 1387, 01:21 صبح
مثال برا عوض کردن زبون

kooroush
یک شنبه 02 اسفند 1388, 15:24 عصر
من که یک برنامه در این زمینه گرفتم ولی هیچی نفهمیدم .
en/fa داشت

ramin_280
دوشنبه 19 تیر 1391, 18:18 عصر
این کدها را در VS.net 2010 اجرا کردم اما جواب نداد اما فکر کنم culture برای زبان فارسی عوض شده.