فارسی کردن فایلها - قسمت اول

آيا اين روش فارسي سازي كمكي به پيشرفت برنامه نويسي در ا?

  • خير - اين روش ضربه زيادي به پيشرفت نرم افزار مي زند

    رای: 0 0.0%
  • تفاوتي ندارد !

    رای: 0 0.0%

  • مجموع رای دهندگان
    15

Babak Sateli

Active Member
فارسی کردن فایلهای باینری ...
( قسمت اول - شیوه مقدماتی )

به طور کلی در زمان برنامه نویسی در شرکتهای معتبر که نرم افزار آنها
می تواند در کشورهای مختلف فروش داشته باشد ، از قانونی استفاده
می کنند که توسط آن می توان به راحتی زبان یک برنامه را به دلخواه
تغییر داد.
به طور مثال یکی از معروفترین برنامه ساخته شده به این روش ، یا
بهتر است بگوییم سیستم عامل ، همان ویندوز می باشد.
مایکروسافت با بهره گیری از قانون Resource String تمامی فایلهای
ویندوز را به این روش کامپایل کردند که در زمانی که احتیاج به یک
زبان خاص بود ، تنها با عوض کردن جملات و نوشته ها ، آن فایل
از نظر زبان تغییر کند.

به طور کلی ویندوز و یا اکثر برنامه های معروف از فایلهای با پسوند
DLL جهت ذخیره اطلاعات لازم برنامه استفاده می کنند. البته این
نوع فایلها توضیحات بسیار مفصلی دارند که ما فقط به بحث زبان
آن می پردازیم.
یکی از قسمتهایی که در این فایلها می شود ذخیره ساخت ،
همان نوشته ها و جملات برنامه هستند. حال فکر کنید یک برنامه
5 فایل DLL دارد که هر کدام دارای یک زبان مختلف می باشند.
البته این بحث فقط مربوط به فایلهای DLL نمی باشد و فایلهایی
نظیر EXE را نیز شامل می شود.

حال اگر بتوانیم به روشی این نوشته ها را به زبان فارسی تبدیل
کنیم ، فایل مورد نظر به زبان فارسی می شود. البته فارسی
ساختن یک فایل به همین راحتی هم نیست. چون همان طوری
که میدونید زبان فارسی از سمت راست به چپ است در حالیکه
اکثر زبانهای دنیا از سمت چپ به راست می باشند.
(غیر از ژاپنی که معلوم نیست به چه سمتی خوانده میشه !)

حال بیایید ببینیم چگونه میتونیم با ساده ترین روش این جملات
رو فارسی کنیم ؟ خوب مسلما" راحت ترین راه ، استفاده از یک
برنامه آماده می باشد.

ابتدا برنامه Resource Hacker رو از آدرس زیر دانلود و نصب کنید.
rh_icon.gif

http://www.users.on.net/johnson/resourcehacker

این را هم به خاطر داشته باشید که این برنامه بر خلاف اسمش
بسیار سودمند است. بسیاری از برنامه نویسان جهان جهت
ساخت فایلهای Resource خود از این برنامه استفاده می کنند.
پس از نصب این برنامه آن را باز کنید و کار خود را با فارسی کردن اولین فایل
ویندوز شروع می کنیم. به خاطر داشته باشید که شما می بایست یک ویندوز
جهت تایپ فارسی برای این قسمت داشته باشید.
برنامه Resource Hacker به لحاظ 32 بیتی بودنش میتونه تقریبا" 90 درصد
فایلهای ویندوز رو ویرایش کنه. پس اعمال زیر را یک به یک انجام دهید :

1) برنامه Resource Hacker را اجرا کنید.

2) سپس از منوی File گزینه Open را انتخاب نمایید تا پنجره مربوط به گشایش فایل
ظاهر شود.

3) سپس به شاخه ویندوز ( به طور مثال C:\Windows ) بروید و یکی از
فایلهای اجرایی ، مانند ماشین حساب وییندوز را باز کنید. این فایل با نام
Calc دیده می شود. ( در برخی از ویندوزها مانند ویندوز XP این فایل در شاخه
سیستمی ویندوز قرار دارد ، به طور مثال C:\Windows\System32 )

f01.jpg



4) حال در سمت چپ ، گزینه String Table را باز کنید. این همان قسمتی
است که شما می بایست در تمامی برنامه ها ، جهت فارسی کردن فایلها
ویرایش نمایید.

f02.jpg


5) یکی دیگر از قسمتهایی که می توان تغییر داد ، منوی برنامه ها می باشد
که به راحتی می توانید از سمت چپ انتخاب نمایید.
حال کار خود را با فارسی کردن یک منو ادامه می دهیم.
پس از انتخاب Menu از سمت چپ ، گزینه با کد 307 را فارسی می کنیم.
در انتها دکمه Compile Script را فشار دهید و فایل را ذخیره نمایید.

f03.jpg


6) حال برنامه ماشین حساب ویندوز خود را اجرا کنید و نتیجه را ملاحظه فرمایید.
در تصاویر زیر می توانید تفاوت را کاملا" مشاهده نمایید.

f04.gif



خوب این روش بسیار ساده و مقدماتی برای فارسی کردن فایلها می باشد.
به خاطر داشته باشید این برنامه ، و برنامه های شبیه این می توانند فایلهای
کامپایل شده به صورت Resource را ویرایش کنند که معمولا" با پسوندهای
EXE ، DLL ، OCX ، CPL ، SCR و ... شناخته می شوند. این را هم بدانید
که بسیاری از فایلهای دیگر نیز از این نوع فایلها می باشند و تنها با تغییر دادن
پسوند آنها می توان این نوع فایلها را نیز ویرایش کرد.
به طور مثال فایلهای Theme ویندوز از نوع همان DLL می باشند.

در مقالات بعدی شیوه های دیگر فارسی کردن فایلها ، به خصوص فایلهایی که
توسط این برنامه نمی توان ویرایش کرد ، مانند بازیها را برای شما نشان می دهم.

ضمنا" به عنوان یک خواهش جدی از شما مي خواهم قبل از فارسی کردن
هر فایل ، از آن ، یک فایل Backup تهیه کنید و در صورتی که آشنایی بسیار کم
به کامپیوتر دارید ، از ویرایش فایلهای ویندوز جدا" خودداری کنید.


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


موفق باشيد
 

gootik

Member
dastet dard nakone .
man 10000000.. sal donbale in maghale boodam vaghean dastet dard nakone :ورزش:
 

Babak Sateli

Active Member
خواهش مي كنم
به زودي مقالات كاملتري در اين زمينه براي دوستان و دوستداران زبان فارسي
در اين سايت مي نويسم.

با تشكر
 
بله اين روش ميشه ولي اين نرم افزار نقص هاييم داره مثلا نمي تونيد با اون منوها رو راست چن كرد اين نمونش 8) ولي مزاياي خوبيم داره اگه اونو با يه نرم افزار به اسم EXE Scope به كار ببريم مي تونه مكملاي خوبي براي همديگه ياشن .
اين طور نيست :?:
 

MnavidM

Active Member
با سلام

اين نرم افزار كه شما معرفي كرده ايد من باهاش زياد كار كردم . برنامه خوبي اما ...

اما ضرر و زيان هايي هم داره مثلا با اين برنامه ميشه حق يه برنامه نويسي رو خورد يا

قفل يه برنامه ايي رو شكست و خيلي موارد ديگه پي من توصيه مي كنم از آموزش اين نوع

برنامه ها خود داري كنيد.

حالا ديگه خود دانيد.
 

Babak Sateli

Active Member
سلام

من خودم يك برنامه نويس هستم و كاملاْ با اين نوع برنامه ها مخالف هستم.
اما در قسمتهاي آينده اين آموزش ياد مي دهم كه چه كاري انجام دهيم تا حق
برنامه نويس هم خورده نشود :wink:

به هر حال من قصدم آموزش فارسي سازي است كه البته اين قسمت توسط اين
برنامه توضيح داده شد. اما در قسمتهاي آينده توسط برنامه نويسي و ويرايش به
صورت حرفه اي توضيح مي دهم كه اگر مورد علاقه دوستان نباشد به هيچ عنوان
توضيح نخواهم داد.

با تشكر
 

Babak Sateli

Active Member
jaafar1984 گفت:
بله اين روش ميشه ولي اين نرم افزار نقص هاييم داره مثلا نمي تونيد با اون منوها رو راست چن كرد اين نمونش 8) ولي مزاياي خوبيم داره اگه اونو با يه نرم افزار به اسم EXE Scope به كار ببريم مي تونه مكملاي خوبي براي همديگه ياشن .
اين طور نيست :?:
بلي بسيار درست است. خصوصاْ زماني كه بحث ويرايش فايلهاي 16 بيتي مي رسد
برنامه Resource Hacker نمي تواند كاري انجام دهد.
اين هم لينك eXeScope كه دوستان بتوانند استفاده كنند
http://hp.vector.co.jp/authors/VA003525/Eindex.htm

با تشكر
 

Majid

مدیر سایت
عضو کادر مدیریت
سلام بابك جان

آقا خيلي توپ بود لطفا ادامه بدين

مجيد
 

behsa

Member
doste گفت:
با سلام

اين نرم افزار كه شما معرفي كرده ايد من باهاش زياد كار كردم . برنامه خوبي اما ...

اما ضرر و زيان هايي هم داره مثلا با اين برنامه ميشه حق يه برنامه نويسي رو خورد يا

قفل يه برنامه ايي رو شكست و خيلي موارد ديگه پي من توصيه مي كنم از آموزش اين نوع

برنامه ها خود داري كنيد.

حالا ديگه خود دانيد.


دوست عزيز چرا بايد هميشه نيمه ... ليوان را ببينيم؟
 

saman_sweden

Active Member
doste گفت:
با سلام

اين نرم افزار كه شما معرفي كرده ايد من باهاش زياد كار كردم . برنامه خوبي اما ...

اما ضرر و زيان هايي هم داره مثلا با اين برنامه ميشه حق يه برنامه نويسي رو خورد يا

قفل يه برنامه ايي رو شكست و خيلي موارد ديگه پي من توصيه مي كنم از آموزش اين نوع

برنامه ها خود داري كنيد.

حالا ديگه خود دانيد.
اين دوست عزيزمان قصد بدي نداره ميخواهد برنامه اي را آموزش بده
اگر شما برنامه نويس هستيد و يا ساير دوستان برنامه نويس نگران آن هستند كه حقشان ضايع ميشود ويا با تغيير ماهيت برنامه آن را از حق تملك شما در مياورد
عرض شود شما ميتوانيد اطلاعات شخصي را توي فايلها ي DLL or ocx ... شبيه آنها حاسازي كرده و به برنامه لينك دهيد و براي اينكه از برنامه هاي Decompiler نشه استفاده كرد راههاي زيادي است كه از اين مبحث خارح است
 

ithf

Member
من كه نفهميدم.

من رفتم توي اون menu و اون 1033 را انتخوب كردم اومد توي About Calendar
و اونو به اين تغير دادم

کد:
MENUITEM "302 ," در باره ماشين حساب

وقت ميزنم compile script

در پايين به من ميگي
کد:
Compiler Error in line 20 at offset 19
Invalid syntax: ?

منظورش چيه؟ شايد اون كيبورد فارسي من باشي، چرا كه من از فارسي نويس xp استفاده نميكنم

help topic را بفارسي نوشتم و وقت امتحان كردم ؟؟؟؟؟؟ نشون ميده
 

Babak Sateli

Active Member
ithf گفت:
من كه نفهميدم.

من رفتم توي اون menu و اون 1033 را انتخوب كردم اومد توي About Calendar
و اونو به اين تغير دادم

کد:
MENUITEM "302 ," در باره ماشين حساب

وقت ميزنم compile script

در پايين به من ميگي
کد:
Compiler Error in line 20 at offset 19
Invalid syntax: ?

منظورش چيه؟ شايد اون كيبورد فارسي من باشي، چرا كه من از فارسي نويس xp استفاده نميكنم

help topic را بفارسي نوشتم و وقت امتحان كردم ؟؟؟؟؟؟ نشون ميده

دوست عزيز

:idea:
كاركردن با اين برنامه به لحاظ اينكه يك محيط ويرايشگر چندزبانه ندارد يك مقدار سخت است.
به احتمال صددرصد شما يك كاراكتر را به غير از نوشته تغيير داده ايد كه باعث خطاي
كامپايل شده است ( و امكان ديگري ندارد )
پيشنهاد من به اين صورت است : كلمه اي را كه مي خواهيد فارسي كنيد دقيقاْ توسط
ماوس انتخاب كنيد و دقت كنيد كه كاراكتر بعد و قبل آن به هيچ عنوان انتخاب نشده باشند.
در هنگام انتخاب ( يا همان Select كردن ) كمات و جملات بسيار دقت كنيد.
انتخاب كاراكترهايي مانند Space كه از ديد شما بي اهميت هستند براي اين برنامه بسيار
اهميت دارند و تغيير دادن آنها باعث همان خطايي كه ديده ايد مي شود.

:idea:
اما در مورد اينكه زماني كه فارسي مي كنيد به صورت ؟؟؟؟؟؟؟؟ نمايش داده مي شود.
اگر در صفحاتي كه فارسي مي كنيد دقت كرده باشيد در بالاي هر صفحه فونت ( Font ) كه
آن صفحه استفاده مي كند را نمايش مي دهد.
تمامي اين فونت ها از قانون Unicode ( يا همان چند زبانه ) بهره مي برند.
به خاطر همين امر هست كه شما مي توانيد بيش از يك زبان ( منظورم انگليسي و فارسي )
به طور همزمان نشان دهيد.
شما مي بايست از يك صفحه كليد استاندارد فارسي ( مانند ويندوز XP ) استفاده كنيد تا
كدهاي مربوطه به درستي تايپ شوند.
در صورتي كه كاراكترهاي مربوطه از نظر ويندوز ( و فونت مربوط ) شناخته نشوند ، به جاي
نمايش دادن آنها از كاراكتر ؟؟؟؟؟ استفاده مي كند.

موفق باشيد
 

ithf

Member
babak_sateli گفت:
ithf گفت:
:idea:
اما در مورد اينكه زماني كه فارسي مي كنيد به صورت ؟؟؟؟؟؟؟؟ نمايش داده مي شود.
اگر در صفحاتي كه فارسي مي كنيد دقت كرده باشيد در بالاي هر صفحه فونت ( Font ) كه
آن صفحه استفاده مي كند را نمايش مي دهد.
تمامي اين فونت ها از قانون Unicode ( يا همان چند زبانه ) بهره مي برند.
به خاطر همين امر هست كه شما مي توانيد بيش از يك زبان ( منظورم انگليسي و فارسي )
به طور همزمان نشان دهيد.
شما مي بايست از يك صفحه كليد استاندارد فارسي ( مانند ويندوز XP ) استفاده كنيد تا
كدهاي مربوطه به درستي تايپ شوند.
در صورتي كه كاراكترهاي مربوطه از نظر ويندوز ( و فونت مربوط ) شناخته نشوند ، به جاي
نمايش دادن آنها از كاراكتر ؟؟؟؟؟ استفاده مي كند.

موفق باشيد

سلام
جپان سپاس ولي من همين قسمت آخرش را اگر توضيح بدهيد خوب ميشه
همين له گفتيد از صفحه كليد استاندارد دارسي، مانند xp
من اونو ندارم و از كجا و چي قسم ميتونم دريفاتش كنم

نوت: من اون SYNTAX ERROR را ديگر نميگيرم فقط همه چيز را؟؟؟؟؟؟ نشون ميده
 

ithf

Member
با عرض معذرت كه من اينجوري شله ام ولي من اون كاري كه گفتيد كردم و دقيق همه را انتخاب كرده

در بالا گفته كه LANG_ENGLISH و SUBG_LAN_ENGLISH_US

شايد اون مشكل منه و شايد هم اين فارسي نويسي من
:cry: ببخشيد كه درد سر دودم
 

Babak Sateli

Active Member
سلام دوست عزيزم

لطفاْ هيچ وقت معذرت خواهي نكن ، تا هر جايي كه مشكل داشته باشي من و دوستان
پيگيري خواهيم كرد تا برطرف شود.
هدف ما از اين سايت هم همين رد و بدل اطلاعات است. به هر حال تمامي ما خوشحال
مي شويم كه مشكلي رو حل كنيم. چرا كه من مظمئن هستم روزي ميرسه كه من مشكلي
دارم و شما مي توانيد آن را حل كنيد.

دوست عزيز ، خوشبختانه ويندوز XP قابليت اضافه كردن كيبورد فارسي را در خودش گنجانده
و برعكس ويندوزهاي ديگر شما لازم به نصب برنامه هاي اضافي نمي باشيد.

فقط كافيست CD ويندوز XP كه از روزي آن ويندوز خود را نصب كرده ايد را در درايو CD-ROM خود
قرار دهيد و دستورات زير را طبق شكل دنبال نماييد :

far1.jpg


ابتدا مطابق شکل از منوی Start گزینه Control Panel و سپس Regional and language Options را
انتخاب نمایید.


far2.jpg


اگر Control Panel شما به صورت منوی نباشد می توانید به راحتی از گزینه Date , Time , ...
استفاده نمایید و در نهایت گزینه Add other languages را انتخاب نمایید.


far3.jpg


حال از پنجره ای که باز می شود ابتدا قسمت Languages را انتخاب کنید.
سپس دکمه Details را فشار دهید.



far4.gif


حال دکمه Add را فشار دهید تا لیست زبانهای جدیدی که می خواهید اضافه کنید ظاهر شوند.
از لیست ظاهر شده گزینه Farsi را انتخاب کنید.

پس از این اعمال و تائید آنها توسط دکمه OK ویندوز به صورت خودکار کیبورد فارسی استاندارد
مایکروسافت را برای شما نصب خواهد کرد.

موفق باشید.
 

ithf

Member
جونم
قربونت برم
من كه اون كار را كردم ولي هنوز هم همان ؟؟؟؟؟ نشون ميده
من شرمنده شما هستم كه زحمت براي من كشيديد و اين همه رسم ها ولي هنوز هم همونه
 

Babak Sateli

Active Member
مشكلي نيست

اگر مي شود فايلي را كه فارسي كرده ايد ، در يك جا Upload كنيد و لينك آن را براي
من بفرستيد تا من مشكل كار را براي شما بگويم.
اگر من فايل شما را پس از بازكردن تونستم فارسي بخونم پس معني اش اين است كه
شما فونت مناسب استاندارد مايكروسافت نداريد كه برايتان ميفرستم.

اگر من هم اينجا به صورت ؟؟؟؟؟؟ ديدم معلوم مي شود كه كيبورد شما استاندارد
مايكروسافت نيست.

پس لطفاْ فايل را برايم بفرستيد.
 

ithf

Member
جونم
ويندوس من بنام Release Candidate 2 ميابشد
همان حرف فونت هم امكان داره

اين رو ببينيد
کد:
108 MENU
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
{
POPUP "&????"
{
	MENUITEM "&Copy\tCtrl+C",  300
	MENUITEM "&Paste\tCtrl+V",  301
}
POPUP "&????"
{
	MENUITEM "S&tandard",  305
	MENUITEM "&Scientific",  304
	MENUITEM SEPARATOR
	MENUITEM "&Hex\tF5",  306
	MENUITEM "&Decimal\tF6",  307
	MENUITEM "&Octal\tF7",  308
	MENUITEM "&Binary\tF8",  309
	MENUITEM SEPARATOR
	MENUITEM "&Qword\tF12",  310
	MENUITEM "Dwo&rd\tF2",  311
	MENUITEM "&Word\tF3",  312
	MENUITEM "B&yte\tF4",  313
	MENUITEM SEPARATOR
	MENUITEM "D&igit grouping",  303
}
POPUP "&???"
{
	MENUITEM "&Help Topics ",  317
	MENUITEM SEPARATOR
	MENUITEM "&About Calculator",  302
}
}

و كوشش ميكنم اون فايل calc.exe رو به ايميل شما بفرستم.
ممنون
 

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

بالا