PDA

View Full Version : نحوه ساخت و تعریف زبان برای برنامه به صورت حرفه ای



کامبیز اسدزاده
جمعه 15 مهر 1390, 22:23 عصر
سلام و خسته نباشید دوستای گلم.
یه سوال داشتم
من الان تویه یکی از پروژه هام چند زبانه کردنشو انجام دادم ولی خیلی استاندارد نیست یعنی نمیشه در آینده فایل زبان رو که آپدیت میکنیم مورد استفاده قرار بدیم مثلا من یخوام تویه هسته سیستم یه تابعی چیزی بنویسم که فایل DLL زبان رو چک کنه در صورتی که هر زبانی اضافه شده بود اون رو بتونه بخونه..

لطفا به کد من نگا کنید با این روش من 4 نوع زبانی که توی فایل Language.dll نوشتم رو تویه برنامه میخونم.
اگه مشاهده کنید میبینید که در اینصور زبانی که در داخل سوئیچ تعریف شده قابل استفاده هست میشه راهی بگین که هر زبانی که در داخل فایل زبانم اضافه کردم رو بتونم بخونم برفرض در این صورت من باید در داخل این کد در صورتی که زبان جدیدی تعریف کردم رو در انحلهم شناسایی کنم ولی نمیخوام اینجور باشه !



_System.Core.Handler.IniParser ______SETTING_INI_ = new _System.Core.Handler.IniParser(@"Configs\\config.ini");
String ___LANGUAGE;
___LANGUAGE = ______SETTING_INI_.GetSetting("Localization", "Language");

در این قسمت من از فایل زبان Language.dll زبان هامو بارگذاری میکنم.
Languages.Modules.Cms.En_Cms_Form EN_US = new Languages.Modules.Cms.En_Cms_Form();
Languages.Modules.Cms.Fa_Cms_Form FA_IR = new Languages.Modules.Cms.Fa_Cms_Form();
Languages.Modules.Cms.Tr_Cms_Form TR_TR = new Languages.Modules.Cms.Tr_Cms_Form();
Languages.Modules.Cms.Ru_Cms_Form RU_RU = new Languages.Modules.Cms.Ru_Cms_Form();

switch (___LANGUAGE)
{

case "0"://---------------English----------------//


this.Title = EN_US.WinTitle;

break;
case "1"://---------------Persian----------------//

this.Title = FA_IR.WinTitle;

break;
case "2"://---------------Turkish----------------//
this.Title = TR_TR.WinTitle;

break;
case "3"://---------------Russian----------------//

this.Title = FA_IR.WinTitle;


break;
}




یه دستوری باشه که کیس هارو خودکار بخونه و دیگه لازم نباشه ما تعریف کنیم که آقا زبان فلان رو لود کن !

از راهنماییتون ممنون

کامبیز اسدزاده
شنبه 16 مهر 1390, 05:21 صبح
انجمن به این بزرگی به پروفسور نداره ؟ باز باید خودم دستبکار بشم ؟؟؟؟؟؟؟؟؟؟ ای بابا...

کامبیز اسدزاده
شنبه 16 مهر 1390, 23:51 عصر
یکی راهنمایی کنه لطفا !

gwbasic
یک شنبه 17 مهر 1390, 07:57 صبح
من متوجه نشدم که چطوری زبان ها بارگذاری می شن و فایلهای زبانها به چه صورت هستند.
ولی یکی از راه های ساده ای که وجود داره اینه که شما از Resource File ها استفاده کنید. که به دو صورت Embedded Resource و None قابل استفاده هست. و مشکل شما رو کاملا مرتفع می کنه. اگه آشنا نیستین بگین تا توضیح بدم

علیرضا حسن زاده
یک شنبه 17 مهر 1390, 09:34 صبح
تاپیکی در مورد چند زبانه کردن برنامه تو سایت هست می تونید با جستجو پیدا کنید

کامبیز اسدزاده
یک شنبه 17 مهر 1390, 11:13 صبح
اگر توضیحات کامل رو همراه با تاپیک برام بدین ممنون میشم :) سپاسگذار

کامبیز اسدزاده
پنج شنبه 21 مهر 1390, 13:03 عصر
یکی یه پیشنهادی بده بابا من نتونستم پیدا کنم یه روش بهتر کی سراغ داره ؟؟؟

کامبیز اسدزاده
پنج شنبه 21 مهر 1390, 13:04 عصر
من متوجه نشدم که چطوری زبان ها بارگذاری می شن و فایلهای زبانها به چه صورت هستند.
ولی یکی از راه های ساده ای که وجود داره اینه که شما از Resource File ها استفاده کنید. که به دو صورت Embedded Resource و None قابل استفاده هست. و مشکل شما رو کاملا مرتفع می کنه. اگه آشنا نیستین بگین تا توضیح بدم

در این زمینه یک توضیح بدین ممنون میشم.