developping apps in arabic language تطوير البرمجيات بالعربية، المسائل...

57
ة ي ب ر لع ا ب ات ي ج م ر لب ر ا ي و ط ت ق! ئ را ط ل ! ل وا ئ سا م ل ا ي ق رو. طه ر ر! ي ا. ر ج ل ا ة ي ب وما ل ع م ل ل ا ي ل ع ل ا ة ي. ن ط و ل ا مدرسة ل اTaha . zerrouki@gmail ب ي در ي ل ل ل. غ و. غ م ج م

Upload: linuxscout

Post on 12-Aug-2015

29 views

Category:

Engineering


6 download

TRANSCRIPT

Page 1: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

البرمجيات تطويربالعربية

والطرائق المسائل

زروقي طهالجزائر للمعلوماتية العليا الوطنية المدرسة

Taha.zerrouki@gmail

للتدريب غوغل مخيم

Page 2: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

اإلشكالية

بالعربية البرمجيات تطوير أهمية المتعلقة التقنية المسائل

Page 3: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

بالعربية البرمجيات تطوير أهمية

Page 4: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

المسائل أهم

الترميز مع التعامل الترميز اختيار الويب صفحات ترميز النظام إعداد البرمجي التعاملاليونيكود

النص عرض اليسار إلى اليمين من الكتابة األحرف تشبيك

Page 5: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

الترميز

Page 6: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

العربية ترميز

ISO-8859-6  UTF-8 1256 وندوز

(CP 1256)

ترميز

اللغات - متعدد

العربية يشملوالفرنسية واإلنجليزية

Page 7: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

األخرى اللغات في التراميز مسألة

فقط بالعربية متعلقة غير

Page 8: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

الويب صفحات ترميز

Page 9: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

Windows 1256

Page 10: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

UTF-8

Page 11: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

الملف HTMLترميز

ملف في الترميز نضع HTMLلتحديد <head> <META http-equiv="Content-Type"

content="text/html; charset=UTF-8"> </head>

Page 12: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

الملفات ترميز

Page 13: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

ملف ترميز

Page 14: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

ملف ترميز

Page 15: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

التشغيل نظام إعداد

Page 16: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

النظام إعداد

تلقائيا العربية يدعم ال كان إذا النظام إعداد غريبة رموز ظهور الحروف تقطKع

Page 17: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

وندوز على البرامج عرض مشاكل

Page 18: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

النظام إعداد

إقليمية إعدادات العربية مثل النصوص تمكين

Page 19: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

النظام إعداد

التي البرمجيات مع للتعامل تحديد يونيكود، تستخدم ال التلقائي الترميز

Page 20: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

الموحKد العالمي الترميز

Unicode

Page 21: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

Unicode

لتعريف تستخدم عالمية رموز مجموعة هيأغلب في المستخدمة والحروف الرموز جميع

العالم لغات من .تباي 4إلى 1يستخدم لإلثراء قابلUnicode.org

Page 22: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

Unicode

Page 23: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

يونيكود تمثيل

لترميز حاليا تستخدم رئيسية أنواع ثالثة :Unicode هناكUTF-8

يستخدم حيث الويب، مبرمجي لدى المفضل بايت 1وهوترميز في موجودة الرموز كانت وتستخدم ASCII إذا ،2

المعقدة 4إلى للرموز .بايتUTF-16

إما يستخدم الترميز الرموز 2هذا كانت إذا للترميز بايتفي بايت 4و( Basic Multilingual Plane) BMP موجودة

موجودة الغير .للرموزUTF-32 : الدوام 4يستخدم على .بايت

Page 24: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

يونيكود تمثيل

A א 好

Code point U+0041 U+05D0 U+597D U+233B4

UTF-8 41 D7 90 E5 A5 BD F0 A3 8E B4

UTF-16 00 41 05 D0 59 7D D8 4C DF B4

UTF-32 00 00 00 41 00 00 05 D0 00 00 59 7D 00 02 33 B4

Page 25: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

اليونيكود في العربية الحروف

األساسية العربية القرآنية العالمات الموسعة العربية

الفارسيةاألردوالبشتوالكردية اإلفريقية اللغات

مثل ال، لمالتراكيب

Page 26: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

اليونيكود في القرآنية العالمات

Page 27: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

التحكم أحرف

Page 28: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

التراميز مع التعامل

Page 29: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

Python

شفافة بطريقة اليونيكود مع بيثون يتعامل #!/usr/bin/python # -*- coding=utf-8 -*- string=u"العربية" print len)string) print string[3]

>>7 ر<<

Page 30: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

PHP

Php لذا اليونيكود، مع شفافة بطريقة يتعامل الأو معها، للتعامل والمكتبات الدوال لبعض نحتاج

. بايتات سلسلة باعتبارها مثل المكتبات ببعض mbstringاالستعانة مكتبةar-php

Page 31: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

Ar-PHP.org

مشروع العربية PHPمزايا واللغة •العربي للنص اآللي التلخيص

الكلمة• ساق بداللة البحثالمتصلة• العربية الحروف إظهار معالجة

الهجرية• أو بالعربية التواريخ عرضللكلمات• اللفظية الترجمة

: العربية• األرقام كتابة التفقيط

Page 32: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

MySQL

استعالم إضافةMYSQL مباشرة ينفذ كي هذا: البيانات بقواعد االتصال بعد

set character_set_server='utf8'; set names 'utf8’;

Page 33: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

MySQL

بلغة phpأو <?php mysql_connect)$db_hostname, $db_username,

$db_password); mysql_query)"set character_set_server='utf8'"); mysql_query)"set names 'utf8'"); // The rest of you php code! ?>

Page 34: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

العرض

Page 35: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

العرض

االتجاه ثنائية الحروف تشبيك

Page 36: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

االتجاه ثنائية

Page 37: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

االتجاهات

المنغولية

Page 38: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

االتجاهات

الصينيةاليابانيةالكورية

Page 39: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

HTMLاالتجاه

االتجاه محدد استعمال dir = LTR | RTL

LTR: Left-to-right text or table. RTL: Right-to-left text or table.

<p dir=‘rtl’> <html dir=‘rtl’>

Page 40: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

CSS

div{direction:rtl;}

Direction : rtl, ltr , inherit

Page 41: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

التحكم أحرف

Page 42: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

مثال

<title>&#x202B; تجريبي( (المشروع &#x202C;</title>

PDFRLE

Page 43: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

العرض

االتجاه ثنائية

الحروف تشبيك

Page 44: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

الحروف تشبيك

السياق حسب المناسب الحرف شكل اختيار الخط مستوى على عادة يجرى

Page 45: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

الهندية في الحروف تشابك

Page 46: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

العربية تدعم ال التي البرامج

في النظام إعدادات تستخدم ال البرامج بعضالحروف مع التعامل

Page 47: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

العربية تدعم ال التي البرامج

وسيطة برامج استعمال

http://tadween.sourceforge.net/

Page 48: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

برمجيا

يوفر ما تستخدم ال التي التطبيقات بعض لتطويرالرسومية المعالجة محرك لها أي التشغيل، نظام

: مثل الخاص والرسم التصميم برامجاأللعاب

بمكتبات Bidiنستعين GNU Fribidi : fribidi.org Python friBidi : pyfribidi.sf.net

Page 49: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

BiDiخوارزمية

0 1 2 3 4 5 6

ا ل ع ر ب ي ة

في الذاكرة

في العرض

العربية معالجة

Page 50: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

الستعمال pyfribidiمثال

،عربية كلمات لعبةالحروف اجمع

الكلمات يلتكو نعلى المطلوبة

الشاشة

http://arabicwordslide.sf.nethttp://arabicwordslide.sf.net

Page 51: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

pyfribidi

pyfribidi import log2vis

self.image = self.font.render)log2vis)_SCORE+" %d" % self.score), 1, )255,255,255))

Bidi)s) Shape)s)

Page 52: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

التحكم التشبيك أحرف في

: الهجري التاريخ هـ 1433كتاب

= + ـ ـهه + ه =ZWJه

Zero width joinerU+200D

Page 53: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

التحكم التشبيك أحرف في

تبرا الكيس مألت ـت كنـ ما الصبر لوال ويك

Page 54: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

التحكم التشبيك أحرف في

اآللي لإلعالم العليا الوطنية المدرسة

. . . آ. إ ع و مموعإآ•

Zero width non joiner

Page 55: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

مشاريع

Page 56: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

مشاريعنا

Page 57: Developping apps in arabic language تطوير البرمجيات بالعربية، المسائل والطرائق

لالتصال

مدونتيhttp://blog.tahadz.com

لالتصال[email protected]

مدونتي على المشاريع وروابط معلومات