PDA

View Full Version : ساخت نرم افزار های فارسی برای آندروید



CYCLOPS
یک شنبه 08 اسفند 1389, 06:33 صبح
سلام به همه دوستان

کسی اطلاع داره برای نوشتن برنامه ی فارسی تو آندروید چه محدودیت هایی وجود داره؟؟
چطور باید شبیه ساز یا کیبردش رو فارسی کرد؟؟
از Right To Left در چه سطح ساپورت میشه و ...
خواهشا اگر کسی در این زمینه اطلاعاتی داره اینجا مطرحش کنه

پیشاپیش از توجهتون متشکرم :چشمک:

mahdi68
یک شنبه 08 اسفند 1389, 12:49 عصر
سلام
کلا تا نسخه 2.2 در حالت عادی از فارسی ساپورت نمیکنه . نوشته های فارسی جدا جدا نشون میده . من برای حل این مشکل از تصویر به جای متن استفاده کردم یعنی متنی که میخوام نمایش بدم تو فتوشاپ ساختم و بعد در برنامه نمایش دادم البته این روش بهینه و درست نیست . روش دیگه هم استفاده از CMS هایی مثل polish هست که تو اون میشه از BitMap Font استفاده کرد

CYCLOPS
یک شنبه 08 اسفند 1389, 16:42 عصر
سلام
ممنون از پاسخت دوست عزیز
نسخه 2.3 هم همین وضع هست ؟؟
شنیدم از عربی ساپورت میکنه این کمکی نمیکنه ؟؟

mahdi68
یک شنبه 08 اسفند 1389, 17:39 عصر
سلام
تا جایی که من اطلاع دارم نسخه 3.0 یا همون Honeycomb این مشکل وجود نداره و از زبان های RTL به صورت کامل پشتیبانی میکنه

vcldeveloper
یک شنبه 08 اسفند 1389, 17:40 عصر
نسخه 2.3 هم همین وضع هست ؟؟
تا جایی که اطلاع دارم، تا قبل از Honeycomb خبری از پشتیبانی از فارسی نیست. کلا اندروید با راست-به-چپ مشکل داره. شرکت هایی مثل سامسونگ که گوشی هاشون مشکل راست-به-چپ یا پشتیبانی از فارسی نداره، به خاطر تغییراتی هست که خودشان اعمال می کنند، نه قابلیت های اولیه خودِ اندروید.

CYCLOPS
یک شنبه 08 اسفند 1389, 20:25 عصر
در مورد فارسی کردن آندروید اینجور که من پیگیری کردم و متوجه شدم باید دستگاه اصطلاحا Root بشه و یه سری فونت فارسی ttf تو پوشه ی فونت دستگاه کپی بشه ولی نکته جالب اینجاست که گویا این کار هم لازم نیست و شاید قضیه از این حرفا (BitMap Font که mahdi68 (http://barnamenevis.org/member.php?66857-mahdi68) عزیز گفت و یا روت کردن و کپی فونت) راحت تر باشه چون آقای کیا تو برنامه دیکشنری از پشتیبانی فارسی به شکل قشنگی استفاده کردن فقط من متوجه نشدم که چطور پیاده سازیش کردن متن زیر که مربوط به تاپیک دیکشنری ایشون هست رو اینجا میذارم تا بخونید ببینید شما چیزی دستگیرتون میشه ؟؟

دیکشنری اندروید فارسی به انگلیسی و بلعکس به همراه ترجمه آنلاین و تلفظ کلمات (http://barnamenevis.org/showthread.php?243261-%D8%AF%DB%8C%DA%A9%D8%B4%D9%86%D8%B1%DB%8C-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C-%D8%A8%D9%87-%D8%A7%D9%86%DA%AF%D9%84%DB%8C%D8%B3%DB%8C-%D9%88-%D8%A8%D9%84%D8%B9%DA%A9%D8%B3-%D8%A8%D9%87-%D9%87%D9%85%D8%B1%D8%A7%D9%87-%D8%AA%D8%B1%D8%AC%D9%85%D9%87-%D8%A2%D9%86%D9%84%D8%A7%DB%8C%D9%86-%D9%88-%D8%AA%D9%84%D9%81%D8%B8-%DA%A9%D9%84%D9%85%D8%A7%D8%AA&p=1082361&viewfull=1#post1082361)


یه دایرکتوری بنام persiandicfonts روی مموری کارت بسازید
هر فونتی رو که توی گوشیتون هست یا توی ویندوزتون هست و فکر میکنید خیلی باحاله و هیچ مشکلی با فارسی نداره و از خانواده فونتهای true type هم هست(یعنی پسوندش ttf هست) رو به persianfont.ttf تغییر نام بدید و به توی این دایرکتوری که ساختید کپی کنید
برنامه جدید رو که ورژن 1.5 شد رو نصب و اجرا کنید
برنامه از فونت شما برای متون استفاده میکنه.اگر هم دایرکتوری و فایل فونت رو پاک کنید و یا برنامه به هر دلیلی اونو پیدا نکنه(مسیر اشتباه از طرف شما) هیچ مشکلی براش بوجود نمیاد و مانند ورژن دومی که گذاشته بودم از فونت داخلی برنامه به اسم DroidSansArabic.ttf استفاده میکنه

CYCLOPS
جمعه 13 اسفند 1389, 11:02 صبح
دوستان کسی به نتیجه ای نرسید؟؟

morteza57
چهارشنبه 17 فروردین 1390, 15:03 عصر
من هم متاسفانه همین مشکل رو دارم و هنوز به نتیجه ای نرسید. دوستان اگر کسی راه حلی پیدا کرده لطفا بگه تا ما هم استفاده کنیم. یعنی این همه برنامه نویس ایرانی اندروید دارن واسه خارجی ها برنامه می نویسند؟ یا فقط از عکس استفاده می کنند؟
ممنون

kia1349
سه شنبه 23 فروردین 1390, 11:54 صبح
سلام.تاخير بنده رو ببخشيد.خيلي خيلي سرم شلوغه و ماموريت هاي طولاني مدت هم ميرم
من در مورد فارسي سازي براتون يه توضيحاتي با پيام خصوصي دادم.اگر مفيد بود ميتونيد براي استفاده دوستان همينجا درجش كنيد.به خدا وقت نميكنم وگرنه ميومدم مو به مو براتون توضيح ميدادم
كلا سه راه هست
1-استفاده از يه فونت كه فارسي رو خوب ساپورت كنه مثل DroidSansArabic.ttf كه من توي دايركتوري فونت برنامه ديكشنري گذاشتمش(نسخ هاي زيادي از اين فونت هست ولي اوني كه من گذاشتم هم فونتش با كلاس تره و هم هيچ اشكالي نداره).ميتونيد اين فونت رو توي پروژه تون بزاريد و ازش استفاده كنيد.امكان داره حروف رو جدا جدا ببينيد كه بايد با تكنيك reshaping مسئله رو حل كنيد.همون كاري كه توي برنامه mirsal انجام شده(_برنامه خوندن و نوشتن sms توي گوشيهاي اندرويدي كه فارسي رو ساپورت نميكنن).
2-استفاده از كدهاي يونيكد كه هر سيستمي ميتونه با اين كدها معادل فارسيشو درست نشون بده مثلا كد اعداد صفر تا نه اينهاست
"\u0660", "\u0661",
"\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667",
"\u0668", "\u0669",

3-استفاده از canvas و نشون دادن فونتها بصورت bitmap كه خفن سرعت رو كم ميكنه(بيشتر توي j2me ازش استفاده ميشه و خيلي استاندارد نيست)

CYCLOPS
سه شنبه 23 فروردین 1390, 23:09 عصر
سلام.تاخير بنده رو ببخشيد.خيلي خيلي سرم شلوغه و ماموريت هاي طولاني مدت هم ميرم
من در مورد فارسي سازي براتون يه توضيحاتي با پيام خصوصي دادم.اگر مفيد بود ميتونيد براي استفاده دوستان همينجا درجش كنيد.به خدا وقت نميكنم وگرنه ميومدم مو به مو براتون توضيح ميدادم
كلا سه راه هست
1-استفاده از يه فونت كه فارسي رو خوب ساپورت كنه مثل DroidSansArabic.ttf كه من توي دايركتوري فونت برنامه ديكشنري گذاشتمش(نسخ هاي زيادي از اين فونت هست ولي اوني كه من گذاشتم هم فونتش با كلاس تره و هم هيچ اشكالي نداره).ميتونيد اين فونت رو توي پروژه تون بزاريد و ازش استفاده كنيد.امكان داره حروف رو جدا جدا ببينيد كه بايد با تكنيك reshaping مسئله رو حل كنيد.همون كاري كه توي برنامه mirsal انجام شده(_برنامه خوندن و نوشتن sms توي گوشيهاي اندرويدي كه فارسي رو ساپورت نميكنن).
2-استفاده از كدهاي يونيكد كه هر سيستمي ميتونه با اين كدها معادل فارسيشو درست نشون بده مثلا كد اعداد صفر تا نه اينهاست
"\u0660", "\u0661",
"\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667",
"\u0668", "\u0669",

3-استفاده از canvas و نشون دادن فونتها بصورت bitmap كه خفن سرعت رو كم ميكنه(بيشتر توي j2me ازش استفاده ميشه و خيلي استاندارد نيست)

منم از همین روشی که آقای رضا کیا عزیز گفتند (راه اول) استفاده کردم فکر کنم بهترین راه است و دیگه نیاز نیست نگران روت بودن گوشی و ورژن سیستم عامل و ... باشید در تکمیل پست ایشون عینا متن پیغام خصوصی ایشون رو براتون میذارم مطمئنم به دردتون میخوره



يه تكنيكي هست بنام reshaping
اين كلاس به شما امكان ميده توي بعضي از گوشيها كه فارسي دارن ولي كاركترهاي فارسي به هم چسبيده نيستن رو به هم بچسبونيد.كاري كه توي برنامه mirsal انجام شده
دوم:شما ميتونيد يه فولدر بنام font در پوشه assets پروژه تون ايجاد كنيد و فونت مناسبي رو كه خوب عمل كنه در اون قرار بديد
يه فولدر فونت هم روي گوشي ايجاد ميكنيد و تعدادي از فونتهاي خوب رو توش ميريزيد
اگر كاربر فونتي رو از دايركتوري فونتها انتخاب كرد شما بايد مشخصات اون فونت رو توي فايل تنظيمات prefernce هاي برنامه ذخيره كنيد
حالا موقعي كه ميخواهيد يه textview رو با يه فونت خاصي نمايش بديد كافيه يه شرط بزاريد كه اگر كاربر فونتي رو به دلخواه از پوشه فونت توي گوشي انتخاب كرده ، اون تكست با اون فونت نمايش داده بشه وگرنه شما تكست ويو رو با فونت داخلي تنظيم ميكنيد و نمايش ميديد
توضیحات تکمیلی اینکه :
با استفاده از Typeface ها و متد getAssests برای ساخت یه شی از نوع Typeface میتونید اینکار رو انجام بدید برای reshape هم سرچ کنید کلاس جاوا رو پیدا میکنید که برای عربی نویسی هست و البته از گ چ پ ژ هم پشتیبانی میکنه (کلمه های انگلیسی و bold شده همین خط رو سرچ کنید همه چی دستگیرتون میشه)

موفق باشید

Unknownlive
پنج شنبه 15 اردیبهشت 1390, 22:42 عصر
به نظرم اخر به نتیجه ای نرسیده بحث به نظر شما روش قطعی برای حل این مشکل چیه دوستان ؟ رام 2.3 که مشکلی نداره درسته ؟ 3 هم که حل شده.اگه برنامه رو فارسی بنویسیم و روی گلاکسی تب سامسونگ که فارسی ساپورت ظاهرا هست بریزیم مشکلی هم هست ؟

hamed_hossani
جمعه 04 شهریور 1390, 13:56 عصر
http://farsitel.com/fa/faq.html

reza66i
شنبه 26 آذر 1390, 13:53 عصر
سلام
من یه سایت پیدا کردمکه یه نرم افزار کاملا فارسی برای ساخت برنامه روی اندروید ارائه می ده در ضمن اصلا مشکل فارسی سازی نداره و برنامه های تولید شده توسطش مشکل فارسی نداره در ضمن لینک مستقیم دانلود برنامش توی سایت androidmaker.ir (http://androidmaker.ir) l موجود هست راحت می تونید دانلودش کنید.

daszarrin
یک شنبه 09 بهمن 1390, 16:43 عصر
دوستان یک لطفی کنند از این برنامه هایی که نوشتند یک مثال روی وب قرار بدند
این کدهای هگز به چه صورت در متن استفاده میشن؟

srfarzad
دوشنبه 22 اسفند 1390, 11:46 صبح
سلام.تاخير بنده رو ببخشيد.خيلي خيلي سرم شلوغه و ماموريت هاي طولاني مدت هم ميرم
من در مورد فارسي سازي براتون يه توضيحاتي با پيام خصوصي دادم.اگر مفيد بود ميتونيد براي استفاده دوستان همينجا درجش كنيد.به خدا وقت نميكنم وگرنه ميومدم مو به مو براتون توضيح ميدادم
كلا سه راه هست
1-استفاده از يه فونت كه فارسي رو خوب ساپورت كنه مثل DroidSansArabic.ttf كه من توي دايركتوري فونت برنامه ديكشنري گذاشتمش(نسخ هاي زيادي از اين فونت هست ولي اوني كه من گذاشتم هم فونتش با كلاس تره و هم هيچ اشكالي نداره).ميتونيد اين فونت رو توي پروژه تون بزاريد و ازش استفاده كنيد.امكان داره حروف رو جدا جدا ببينيد كه بايد با تكنيك reshaping مسئله رو حل كنيد.همون كاري كه توي برنامه mirsal انجام شده(_برنامه خوندن و نوشتن sms توي گوشيهاي اندرويدي كه فارسي رو ساپورت نميكنن).
2-استفاده از كدهاي يونيكد كه هر سيستمي ميتونه با اين كدها معادل فارسيشو درست نشون بده مثلا كد اعداد صفر تا نه اينهاست
"\u0660", "\u0661",
"\u0662", "\u0663", "\u0664", "\u0665", "\u0666", "\u0667",
"\u0668", "\u0669",

3-استفاده از canvas و نشون دادن فونتها بصورت bitmap كه خفن سرعت رو كم ميكنه(بيشتر توي j2me ازش استفاده ميشه و خيلي استاندارد نيست)

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