Fa چند زبانه کردن برنامه

Majid741

Member
با سلام به همه
یه سوال...
چجوری میشه توی بیلدر برنامه ای درست کنیم که چند زبانه باشه
یعنی هم فارسی و هم انگلیسی!
مثلا با یک فایل متنی ini
خواهش می کنم هر کی میدونه بگه!....
ممنون
 

NARANJTORANJ

Well-Known Member
سلام

راه های زیادی واسه این کار هست

ساده ترینش فکر کنم این باشه که

شما برای برنامتون 2 نوع زبان بنویسین
مثلا

برای دکمه نصب

inistall
و
برای زبان بعدی
نصب

کاربر هر کدوم از زبان ها رو انتخاب کرد
اون یکی text هایی که نوشته هیدن بشن

البته راهای دیگه ای هست که از طریق textbox میتونید تکس ها رو تغییر بدین
اگر توی تالار سرچ کنید گیر میاد توضیحاتش
 

BlueMMB

Well-Known Member
ممنون از نارنج ترنج عزیز .
دوست عزیز شما می تونید تمام کلماتی که تو صقحه دارین رو تو یه فایل متنی به صورت آرایه ذخیره کنین البته به دو زبان و هر زبان در یک فایل متنی جدا .

بعد شما می تونید با لود کردن فایل با توجه به زبان انتخاب شده توسط کاربر در شروع پروژه ، اونها رو با دستور GetArrayItem به ابزار های موجود در صفحه ارسال کنید .

اگه توضیح بیشتری خواستین حتما بگین .
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
این مثال رو ببینید میتونه کمکتون کنه: چندزبانه کردن پروژه

البته پیشنهاد میکنم از این روش استفاده نکنید، چون یک فایل اسکریپت خارجی رو اجرا میکنه، که کاربر میتونه تغییرش بده و یکسری اسکریپت رو اجرا کنه !
میتونید مثل این مثال یک فولدر خاص رو برای وجود فایل های با پسوند خاص که فایل زبان هست رو چک کنه، برای تعیین زبان های موجود.

و در اون فایلها، یا بصورت فایلمتنی ساده باشه که بصورت خط به خط لود بشه و تغییرات صورت بگیره (خودتون میدونید که هر سطر مربوط به کدوم دکمه هست، و یا با دستورات شرطی یکسری مشخصات که در اون خط وجود داره رو چک کنید

و یا هم بصورت فایل ini باشه و با پلاگین Plugy، اون فایل رو مورد پردازش قرار بدید.
 

Majid741

Member
ممنون از راهنمایی های همه مخصوصا جناب nevercom عزیز
البته پیشنهاد میکنم از این روش استفاده نکنید، چون یک فایل اسکریپت خارجی رو اجرا میکنه، که کاربر میتونه تغییرش بده و یکسری اسکریپت رو اجرا کنه !
خب یه چیز بهتری بگذارید اگه بشه با یه نمونه بگید ممنون می شم
مثلا متن ها و دکمه ها و خلاصه هر عنصری که هست تبدیل به زبان دلخواه ما بشه ...
---------
جناب NARANJTORANJ
میشه یه نمونه بزارید؟؟؟
ممنون میشم... شرمنده
--------
 

Majid741

Member
آقا هیچکس نیست یه کمکی به ما بکنه؟؟
بابا یه نفر یه مسلمون پیدا بشه یه آموزش با یه نمونه از این بحث چند زبانه کردن برا ما بزاره
خدا خیرش بده...
 

BlueMMB

Well-Known Member
سلام .
ببینید شما می تونید ابزارهای توی فرم رو تو زمان طراحی به زبانی که فکر می کنین بیشتر ازش استفاده میشه مثلا فارسی بنویسین اگه کاربر فارسی رو انتخاب کرد که هیچی همون فایل بدون هیچ تغییری اجرا بشه ولی اگه انگلیسی رو انتخاب کرد یه فایلی باشه که کلمات توش به زبان انگلیسی نوشته شده باشن مثلا فرض کنید این کلمات تو پروژتون استفاده شده باشه :
فایل - تغییر - نمایش - حذف - خروج

شما باید تو فایل متنی خارج از پزوژه اینجوری اطلاعات رو ذخیره بکنین :
کد:
File#Edit#View#Delete#Exit#
و تو قسمتی که می خواینزبان انگلیسی رو جایگزین کنین باید این کد رو بنویسین :

کد:
SFF$=StrFromFile(<SrcDir>\Eng.txt,1,1)
val$=GetArrayItem(SFF$,#,1)
LoadText("FileTxt","val$")
val$=GetArrayItem(SFF$,#,2)
LoadText("EditTxt","val$")
val$=GetArrayItem(SFF$,#,3)
LoadText("ViewTxt","val$")
val$=GetArrayItem(SFF$,#,4)
LoadText("DelTxt","val$")
val$=GetArrayItem(SFF$,#,5)
LoadText("ExitTxt","val$")


این روش یه روش کلیه و درحد مثال و اگه شما بخواین پروژتون رو دو زبانه بکنین باید روش کار کنین ممکنه سخت باشه چون معمولا فقط پنج تا تکست تو پروژه نیست و خیلی بیشتره که باید اونها رو دونه دونه مشخص کنید البته راه های دیگه ای هم هست که کارتون راحت تر بشه مثلا ابزارها یا همون تکست ها رو هم آرایه بندی بکنین یعنی اسمهاشون رو دنبالهدار بکنین اون موقع کارتون راحت ترمیشه مثلا اون موقع باید این کد رو بنویسین :

کد:
SFF$=StrFromFile(<SrcDir>\Eng.txt,1,1)
For i=1 to 5
val$=GetArrayItem(SFF$,#,i)
LoadText("Text[i]","val$")
Next i
خب طبیعیه خیلی راحت تر میشه فقط باید در شماره گذاریهاشون بیشتر دقت بکنین .

دوست عزیز من خودم این روش رو بلدم و مطمئن باشین اگه خودمم همین الان یه پروژه ی چند زبانه بسازم از این روش استفاده می کنم . امیدوارم به دردتون بخوره و مشکلتون حل بشه ولی اگه بازم مشکلی بود در خدمتتون هستم .
 

m javad

کاربر متخصص
البته پیشنهاد میکنم از این روش استفاده نکنید، چون یک فایل اسکریپت خارجی رو اجرا میکنه، که کاربر میتونه تغییرش بده و یکسری اسکریپت رو اجرا کنه !
فایل اسکریپت رو داخل فایل اصلیت embeded کنی این مشکلت حل میشه!
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
خب مزیت استفاده از یک فایل برای تغییر زبان این هست که میشه هر زبان دیگه ای، که با همون ساختار باشه رو به برنامه اضافه کرد، وگرنه اگر قرار باشه که فایل Embedd بشه که نیاز نیست اصلاً فایلی ساخته بشه !
همون دستورات رو داخل یک فایل اسکریپت بنویسن و اجراش کنن !

با توجه به این، اون روش چندان مناسب و استاندارد نیست، بهتر هست تحت یک فایل باشه و محتویات فایل توسط برنامه تفسیر بشه.
 

جدیدترین ارسال ها

بالا