PDA

View Full Version : تغییر زبان برنامه در یک نرم افزار چند زبانه



حمیدرضاصادقیان
دوشنبه 10 دی 1386, 13:10 عصر
سلام دوستان.اگر بخواهیم ازداخل برنامه زبان برنامه رو تغییر بدیم باید چکار کرد؟یعنی بدون اینکه regional option رو تغییر بدیم.؟

SYNDROME
دوشنبه 10 دی 1386, 14:32 عصر
سلام دوستان.اگر بخواهیم ازداخل برنامه زبان برنامه رو تغییر بدیم باید چکار کرد؟یعنی بدون اینکه regional option رو تغییر بدیم.؟
دقیقاً منظورتان از تغییر زبان چی است؟
می خواهید کل Label ها و پیغامها تغییر کند و یا می خواهید صفحه کلید را تغییر دهید.
موفق باشید

حمیدرضاصادقیان
دوشنبه 10 دی 1386, 15:27 عصر
تغییر زبان کل برنامه .شما بوسیله resource dll wizard میتونی برای زبانهای مختلفی فرمهات رو تغییر بدی.ولی برای اینکه فرمهات با اون زبان بیاد بالا باید زبان ویندوزت رو تغییر بدی تا با زبان مورد نظر تغییر کند.حالا من میخواهم به صورت runtime زبان رو تغییر بدم.

Ahmad Chehreghani
سه شنبه 11 دی 1386, 00:10 صبح
سلام
اگه منظورتون کل برنامه تغییر زبان بده بهتره به Demos خود دلفی مراجعه کنید.
فکر کنم مثال richedit این کار رو می کنه (تو Demoهاش هست). خودش به 3 زبان تغییر میداد.

موفق و پیروز باشید.

حمیدرضاصادقیان
سه شنبه 11 دی 1386, 08:01 صبح
ممنون.ببینید اینهایی که شما میگید رو بلدم.فرض بکنید میخوام یک برنامه با سه زبان فارسی عربی و انگلیسی تهیه کنم.با Reousrce dll wizard من اینکارو کردم.وقتی که شما زبان خود ویندوز رو روی یکی از ایان سه زبان قرار بدین وقتی برنامه رو اجرا می کنید به طور پیش فرض بازبان ویندوز برنامه اجرا میشه.مثلا اگر زبان ویندوز عربی باشه برنامه شما هم با زبان عربی اجرا خواهد شد.حالا من میخوام این تغییر زبان را بدون اینکه زبان ویندوزم تغییر کنه انجام بدم.

Valadi
سه شنبه 11 دی 1386, 09:18 صبح
در حدود 1 سال پیش یکی از اعضا سورس چنین برنامه ای را در سایت قرار داده بود و فونتش هم فونت سیستمی بود به نام Farsi.fon
سرچ کن پیدا می کنی
ضمنا خودم هم داشتم اما نمی دونم کجاست

حمیدرضاصادقیان
سه شنبه 11 دی 1386, 11:32 صبح
من هرچی در این بود پیدا کردم.ولی هیچکدام سورسی نداشت.

Valadi
سه شنبه 11 دی 1386, 15:12 عصر
یک کامپونت هم هست که ابجکتهایی هم داره
مانند
TPersianLabel
TPersianButton
TPersianRadioButton
TPersianCheckBox
با 6 نوع فونت

vcldeveloper
سه شنبه 11 دی 1386, 15:53 عصر
یک کامپونت هم هست که ابجکتهایی هم داره
مانند
TPersianLabel
TPersianButton
TPersianRadioButton
TPersianCheckBox
با 6 نوع فونت
ظاهرا متوجه منظور کاربر سوال کننده نشدید.

حمیدرضاصادقیان
سه شنبه 11 دی 1386, 16:27 عصر
نه متاسفانه .خسته شدم از بس توضیح دادم.تو یکی از تاپیکها اقای جهرمی گفته بودند با یک کلک هایی میشه اینکارو انجام داد ولی توضیحی نداده بودند.

Valadi
چهارشنبه 12 دی 1386, 07:05 صبح
جناب استاد کشاورز

ظاهرا متوجه منظور کاربر سوال کننده نشدید.
مگر آقای حمید رضا صادقیان نمی خواد بدون تغییر در regional option برنامه را بصورت دو یا چند زبانه بنویسه ؟؟؟؟؟؟
کامپونتی که من معرفی کردم بدون تغییر در ویندوز میشه فارسی نوشت و آبجکتهای هم داره و 6 تا فونت هم داره ؟؟
آیا غیر از اینه ؟؟؟
ضمنا برای غیر از زبانهای فارسی و انگلیسی باید یک فونت طراحی کنه اون هم با نرم افزار Macromedia Fontographer حل میشه فقط با توجه به اینکه ساختار فونت فارسی به چه صورتیه و دیگر زبانها را براساس این ساختار درست کنه

ممنون از تذکر شما
موفق و موید باشید

Inprise
چهارشنبه 12 دی 1386, 07:17 صبح
کاربر Valadi : اخطار دوم و آخر . لطفا وقتی جواب سوالی رو نمیدونی یا دقیقا مطلب رو متوجه نشدی در اون تاپیک پست ارسال نکن . با توجه به تذکرهای قبلی دفعه بعد با این رفتار برخورد میشه .

-

جواب سوال :
http://www.lingobit.com/solutions/delphi/resource_only_delphi.html

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

http://www.multilizer.com/dev/delphi2005

حمیدرضاصادقیان
شنبه 15 دی 1386, 10:44 صبح
استاد ممنون از راهنمایی قشنگتون.مشکل حل شد.الان مشکل دیگه ای که وجود داره وقتی زبان رو به انگلیسی تغییر میدم فرمهایی که dbgrid قرار داره بهم پیغام میده Tcolumn.Title.font.font رو پیدا نمیکنه.

daffy_duck376
یک شنبه 16 دی 1386, 09:01 صبح
میتونی از این کامپوننت استفاده کنی البته اگه بتونی گیر بیاری اگه نسخه کامل پیدا کردی به منم خبر بده !

اصلا کارش برنامه های چند زبانه هستsmlpacktrial

حمیدرضاصادقیان
دوشنبه 17 دی 1386, 22:03 عصر
ممنون.این مشکل خیلی جالبه. وقتی من یک Dbgrid روی فرم قرار میدم و فقط یک ستون هم داره اونم عدد به محض اینکه برنامه رو انگلیسی میکنم بهم خطا میده.خطا هم از Tcolumn.Title.font.font می گیره.