PDA

View Full Version : سوال: اینتر فیس نرم افزار بصورت فارسی و انگلیسی



ehsan248
جمعه 02 مرداد 1388, 14:53 عصر
سلام
نرم افزار هایی که دو اینترفیس فارسی و انگلیسی دارن چجوری این کار رو می کنند ؟؟
روال خاصی داره !!!
راه بهینه واسه اینکار چجوریه ???????!
ارث بری از فرم های Abstract یا جور دیگه ای ؟؟؟؟؟؟؟؟

sd.CSharpProgrammer
جمعه 02 مرداد 1388, 21:51 عصر
سلام
يه جايي ديدم از كلاسي بنام Resource استفاده ميشد. يعني اطلاعات هر زبان رو در يك ريسورس ذخيره ميكردن و بعد براي انتخاب زبان مورد نظر اونارو لود ميكردن. چون خودم با اين كلاسها تاحالا كار نكردم اگه يه سرچ تو اينترنت بزني يا تو msdn بگردي حتماً پيداش ميكني.

موفق باشي

samirdev
شنبه 03 مرداد 1388, 03:27 صبح
شما ابتدا برنامه را در حالت انگلیسی طراحی کنید. بعد از آن یک فرم را که می خواهید فارسی کنید را باز کنید و در Properties window به دنبال Language بگردید و آن را برابر Persian(Iran) قراردهید حال فرم در مد فارسی قرار می گیرد عناوین و متون را به معادل فارسی تغییر دهید. حال اگر کد زیر را اجرا کنید برنامه در مد فارسی بالا می آید .

System.Threading.Thread.CurrentThread.CurrentUICul ture = new System.Globalization.CultureInfo("fa-Ir");

نکته : این کد باید قبل از باز شدن فرم احرا شود وگرنه کار نمی کند.

Open-Source
شنبه 03 مرداد 1388, 10:16 صبح
به نظر من یه فایل ini یا xml کنار برنامه قرار بدید و برنامه خصوصیاتش رو از درون اینها دریافت کند.

اینجوری یه انعطاف پذیری بدست میاد که میشه بعدا فقط با تغییر این فایل ها(مثلا اضافه کردن یه زبون جدید-یا تغییر یه خصوصیت) بدون درگیری با کد برنامه ویژگی های را اعمال کرد.

Unknownlive
شنبه 03 مرداد 1388, 10:36 صبح
جواب شما در کتاب ناقوس هست یه ترفند گفته که شما Language فرم را در دو حالت FA و EN طراحی کنید بعد در Form_Load با یک روش خاص هر حالت را که خاصی صدا می زنه البته در VB.NET گفته !!!

antisocial
شنبه 03 مرداد 1388, 11:47 صبح
به نظر من بهترین روش استفاده از appconfig هست.و در کارهای حرفه ای هم تا اونجایی که من دیدم از این روش استفاده میشه.روی sa کلیک راست کنید newItem و یک فایل applicationconfigurationfile اضافه کنید که زبان این فایل به صورت xml هست و سپس تمام اینترفیس های فرم هاتون رو به صورت runtime ازین فایل بخونید .
البته برای خوندنش به یک سری دستورات احتیاج دارید که همش رو به راحتی با یک جستجو میتوانید به دست بیارید. بهترین منبع codeproject.com
موفق باشید

kiosksoft
شنبه 03 مرداد 1388, 14:57 عصر
سلام
نرم افزار هایی که دو اینترفیس فارسی و انگلیسی دارن چجوری این کار رو می کنند ؟؟
روال خاصی داره !!!
راه بهینه واسه اینکار چجوریه ???????!
ارث بری از فرم های Abstract یا جور دیگه ای ؟؟؟؟؟؟؟؟

دوست عزیز

راه های متفاوتی برای پیاده سازی برنامه ها بصورت چند زبانه هستش . از نمونه برنامه های ذیل استفاده نمایید و یا اینکه ایده بگیرید.

این هم از مایکروسافت :
http://support.microsoft.com/kb/315838

در آدرس ذیل نیز مفصل توضیح داده :
http://www.supinfo-projects.com/fr/2005/app_multilingue_csharp/3/


منبع مثال : CodeProject.com

haririan_ali
سه شنبه 08 تیر 1389, 01:28 صبح
چطوری میشه توی url فارسی را بدون اینکه کد بشه تایپ کرد ؟

Ali_Hashemi
سه شنبه 08 تیر 1389, 02:35 صبح
در حقیقت تا یک نرم افزار دو زبانه انگلیسی و فارسی رو پیاده سازی نکنید , از مشکلات این کار با خبر نخواهید بود. این یه کار پیچیده و زمانبره و باید روشهای خودتون رو به کار بببرید.
مثالهای ارائه شده فقط برای نشون دادن روش کاره و چندان قابل استفاده نیست.
این کار پیچیده ایه , به دو دلیل : اول اینکه جهت نوشتار در فارسی و انگلیسی با هم فرق میکنه.
دوم اینکه محاسبه و نمایش تاریخ در فارسی و انگلیسی با هم متفاوته.
در یک برنامه استاندار باید این کارها انجام بشه :
-تمام کپشن فرمها , کلید ها و .. باید به صورت داینامیک بر اساس زبان انتخابی تغییر کنند.
- همین عمل باید برای منو ها , TollTip ها و پیغامهای خطا/ هشدار و ... انجام بشه
-محاسبات و نمایش تاریخ بر اساس زبان انتخابی انجام بشه.
-مهمترین و مشکل ترین قسمت اینه که وقتی زبان غیر فارسی انتخاب میشه , همه چیدمان فرمها باید برعکس بشه! یعنی در حالت فارسی مثلا در سمت راست یه Label داریم وسمت چپ اون یک TextBox , در حالت انگلیسی باید برعکس بشه و از سمت چپ ابتدا Label قرار بگیره و سپس TextBox
این مسئله آخر چندان که به نظر میرسه ساده نیست.
من بر حسب تجربه به روشهای خوبی رسیده ام , ولی از دوستان با تجربه و مدیران میخوام که اگر تجربه این کار رو دارند یا روش بهینه ای برای انجام این کار سراغ دارند دریغ نفرمایند.:لبخندساده:

don_alen
جمعه 17 دی 1389, 02:39 صبح
Hi dears
This is best soulition (http://geekswithblogs.net/mapfel/archive/2008/11/01/126465.aspx) who i find. enjoy