کامبیز اسدزاده
جمعه 15 مهر 1390, 23: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;
}
یه دستوری باشه که کیس هارو خودکار بخونه و دیگه لازم نباشه ما تعریف کنیم که آقا زبان فلان رو لود کن !
از راهنماییتون ممنون
یه سوال داشتم
من الان تویه یکی از پروژه هام چند زبانه کردنشو انجام دادم ولی خیلی استاندارد نیست یعنی نمیشه در آینده فایل زبان رو که آپدیت میکنیم مورد استفاده قرار بدیم مثلا من یخوام تویه هسته سیستم یه تابعی چیزی بنویسم که فایل 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;
}
یه دستوری باشه که کیس هارو خودکار بخونه و دیگه لازم نباشه ما تعریف کنیم که آقا زبان فلان رو لود کن !
از راهنماییتون ممنون