روك موقعك بخمس لغات

asmicheal

احبك ربى ياقوتى
عضو مبارك
إنضم
16 يونيو 2009
المشاركات
14,498
مستوى التفاعل
232
النقاط
63
الإقامة
مصر ام الدنيا - القاهرة
اهه لا شكاوى ولا مصايب ولا مشاكل

ولا حتى حوارات

ههه


هوة الاقتراح دة موجود بعدة منتديات

:download:

أبسط وأسرع طريقة ليكون موقعك بعدة لغات .. لا يهم نوع الموقع أو طريقته .. هذه الطريقة تصلح لأي موقع ..
المطلوب
لدينا موقع محتوياته باللغة العربية ونريد أن نصنع منه نسخة باللغة الإنجليزية .. وربما نسخا بالفرنسية ولغات أخرى ..
الصعوبات
1- اتجاه الصفحة ككل سيكون مختلفا عند التحويل من أو إلى اللغة العربية ..
2- يجب تغيير كل المحتويات النصية وإتاحتها لتظهر باللغات الأخرى عن طلبها ..
3- استايلات الصفحات من أنواع الخطوط وأحجامها لا يصلح كما هو لكل اللغات ويحتاج إلى تعديل يناسب كل لغة ..
4- إذا كانت هناك أوامر طباعة محتويات باستخدام لغة برمجة (مثلا echo في لغة PHP) فيجب تغيير المحتويات المطبوعة أيضا ..
5- يجب أن يتذكر الموقع اللغة التي اختارها الزائر لتكون هي اللغة الأساسية له في كل الصفحات ..
المعلومات المستخدمة
1- معلومات عادية عن HTML ويهمنا جدا منها:

كود HTML:
<html dir="rtl"> <!-- نستخدمها لتحديد اتجاه محتويات الصفحة من اليسار لليمين أو العكس -->
2- معلومات من لغة PHP ويهمنا منها:

كود PHP:
<?
$a
= "Hello"
;
// وهي طريقة تعيين قيمة معينة لمتغير بأي اسم
$a[0] = "Number 1"
;
$a[1] = "Number 2"
;
// تعيين قيمة معينة لمتغير بأي اسم ولكن على هيئة مصفوفة متعددة العناصر
echo $a
;
// طباعة القيمة الموجودة في متغير ما
if($a == $b
) {
$c = $d
;
}
// تستخدم لتحقيق شيء ما إذا كان الشرط داخل الجملة صحيحا
setcookie("Language", "ar"
);
// وضع كوكيز بجهاز الزائر لتخزين قيمة معينة فيها
$a = $_COOKIE["Language"
];
// استدعاء القيمة التي في الكوكيز
$a = $_GET['a'
];
// معرفة القيمة التي أرسلتها الصفحة السابقة إلى هذه الصفحة بناء على اختيار الزائر
?>

3- معلومات من تقنية الستايلات CSS ومنها:

كود:
p, td {font-family: Tahoma; font-size: 12px; color: #000000}

فكرة الطريقة
تعتمد الطريقة على تخزين كل المحتويات النصية الموجودة بالموقع (الكتابات) من محتويات عادية معروضة للزوار أو مختفية مثل الستايل ووسم الهتمل الخاصة باتجاه الصفحة - تخزين كل هذه المتغيرات في متغير من نوع المصفوفة المزدوجة متعددة العناصر (يمكن الكلام صعب بس الطريقة سهلة إن شاء الله) .. وهكذا فبمجرد طلب الزائر للصفحة بلغة ما نستدعي المتغير الذي حدد على أنه خاص للغة التي طلبها الزائر ..
أما من ناحية تذكر الموقع للغة التي اختارها الزائر فسنستخدم الكوكيز ..
ملاحظات
1- الطريقة هنا سوف تكون على مراحل .. فإذا كنت تنوي أن تستفيد من هذه الطريقة فافتح برنامج التصميم الذي تستخدمه وابدأ في تنفيذ الأمثلة واحدا واحدا .. لأن المقصود هو الشرح وليس وضع الطريقة مرة واحدة ..
2- لا تأخذ الأمثلة نسخ ولصق .. اكتبها من جديد لأنه ممكن تكون هنا أخطاء إملائية ..
المثال
لنفترض أن لدينا صفحة هكذا:

كود HTML:
<html dir="ltr"> <head> <title>Internet Plus Home Page</title> <style type="text/css">body, p, td {font-family: Verdana; font-size: 14px; color: #ffffff}a {color: #ff0000}a.hover {color: #00ff00}</style> </head> <body> <p>Welcome to my website. I am glad you are here :) .</p> <p><a href="page.htm">Click here</a> to visit the other page.</p> </body> </html>
الطريقة
1- تحويل كل محتويات الصفحة إلى مصفوفة
هذا الكود سنجعله يوضع في أعلى الصفحة قبل أي محتويات أخرى بما فيها الهتمل:

كود PHP:
<?
// سنقوم بوضع محتويات الصفحة المطلوبة كما هي في مصفوفة
// ولكي نعرفها أن لغة هذه المحتويات هي الإنجليزية فسوف نستخدم حرفي: en
$a
= array();
$a[0]['en'] = "ltr";
// سوف يكون هذا العنصر هو المحدد لاتجاه الصفحة
$a[1]['en'] = "Internet Plus Home Page";
// عنوان الصفحة
$a[2]['en'] =
"body, p, td {font-family: Verdana; font-size: 14px; color: #ffffff}
a {color: #ff0000}
a.hover {color: #00ff00}"
;
// الستايل كله
$a[3]['en'] = "Welcome to my website. I am glad you are here :) ."
;
$a[4]['en'] = "Click here"
;
$a[5]['en'] = "to visit the other page."
;
?>

2- تغيير الصفحة لنجعلها تقرأ المحتويات من المصفوفة
هنا سوف نضع قبل الكود السابق سطرا يخبر الصفحة بأن اللغة المطلوبة هي الإنجليزية (ليس لدينا غيرها للمحتويات حاليا):

كود PHP:
<?
$lang
= "en"
;
?>

إذن سيمكننا استخدام المتغير الذي اسمه $lang ليكون مكان كلمة en حيث إن قيمته هي en ..
ونبدأ في تغيير الصفحة .. بدلا من كل محتوى سوف نضع المتغير الخاص بهذا المحتوى .. إذن مكان العنوان الخاص بالصفحة سنستخدم:

كود PHP:
$a[1][$lang]

مما سيجعل الصفحة تبدو بهذا المنظر (بدون الكود الذي أنشأناه في الخطوة السابقة والموجود قبل الصفحة):

كود PHP:
<html dir="<? echo $a[0][$lang]; ?>">
<head>
<title><? echo $a[1][$lang]; ?></title>
<style type="text/css">
<? echo $a[2][$lang];
?>
</style>
</head>
<body>
<p><? echo $a[3][$lang]; ?></p>
<p><a href="page.htm"><? echo $a[4][$lang]; ?></a> <? echo $a[5][$lang]; ?></p>
</body>
</html>

ببساطة وضعنا المحتويات في مصفوفة (a) ووضعنا اسم اللغة في متغير (lang) .. ولذلك فسوف تظهر الصفحة الجديدة المصنوعة بالـPHP كما كانت في السابق بالهتمل .. كل ده وانتهينا من عمل الصفحة بلغة واحدة بس هههههه
smile.gif

3- إضافة اللغات الأخرى
عايزين نضيف اللغة العربية .. طيب نرمز لها باي حروف؟ ar? أوكي .. فاكر الكود الأول اللي عملناه ووضعنا فيه كل المحتويات؟ خذ منه نسخة (copy) والصقها بعد نهاية المصفوفة الخاصة باللغة الإنجليزية .. وغير كل حروف en فيها إلى ar .. يعني يكون عندنا نسختين من المصفوفة الآن واحدة en وواحدة ar ..
غير محتويات المصفوفة الجديدة إلى الكلمات العربية المقابلة لها .. يعني ح يكون عندنا بعد كود أول خطوة:

كود PHP:
$a[0]['ar'] = "rtl";
$a[1]['ar'] = "إنترنت بلس - الصفحة الرئيسية"
;
$a[2]['ar'] =
"body, p, td {font-family: Tahoma; font-size: 12px; color: #ffffff}
a {color: #ff0000}
a.hover {color: #00ff00}"
;
$a[3]['ar'] = "أهلا بك في موقعنا .. أنا سعيد بوجودك :) ."
;
$a[4]['ar'] = "اضغط هنا"
;
$a[5]['ar'] = "لزيارة الصفحة التالية."
;

طبعا ممكن نكرر هذه الخطوة لأي عدد من اللغات .. والطريقة -يارب- تكون واضحة ..
الآن جرب شيئا صغيرا .. فاكر في الخطوة رقم 2 لما وضعنا متغير اسمه lang وقلنا قيمته en? غيره إلى قيمة تانية وهي ar .. الآن الصفحة تعرض بالعربية ومن اليمين للشمال وبخط تاهوما وكله تمام
smile.gif

4- معرفة اللغة التي يريدها الزائر
الآن يمكننا عرض الصفحة بلغة من اللغتين .. لكن يجب أن نحددها من الأول طبعا .. وده مش صح .. المفروض الزائر يختار .. يبقى أولا نضع وصلات لتغيير اللغة ولتكن في كود الصفحة نفسها .. في أي مكان بالصفحة بعد رسالة الترحيب مثلا ضع:

كود HTML:
<a href="?lang=ar">1</a><br><a href="?lang=en">2</a>
كده يظهر للزائر رقم 1 للعربي و 2 للانجليزي ..
بس برضو احنا محددين من الاول في الكود اللي اعلى الصفحة ان lang يساوي قيمة محددة .. الحل هو أننا نشيل السطر اللي فيه

كود PHP:
$lang = "ar"; // أو en

ونضع التالي:

كود PHP:
<?
if(isset($_GET['lang'])) $lang = $_GET['lang'
];
// بنشوف لو الزائر ضغط على رقم عشان يختار لغة واللا لا .. لو ايوه يبقى نخلي المتغير قيمته تكون القيمة اللي اختارها الزائر
else $lang = "ar"
;
// لو ما كانش اختارها ح نحددها احنا تكون عربي
?>

كده الزائر لما يضغط على لغة الصفحة لغتها تتغير .. جربها ..
5- تذكر اختيار الزائر
فاضل حاجة؟ ايوه .. ان الموقع كله يفتكر اختيار الزائر! بس لأنها مش مضمونة فأنا بافضل اني ارسل قيمة lang من كل صفحة للصفحة التانية مباشرة من غير تسجيل كوكيز .. لأنه بعض الناس الكوكيز عندهم مش شغالة كويس .. انما اذا احتجتها ف ح نغير الكود اللي لسه عاملينه في الخطوة السابقة ليكون:

كود PHP:
<?
if(isset($_GET['lang'
])) {
$lang = $_GET['lang'
];
setcookie("lang", $lang
);
}
elseif(isset(
$_COOKIE['lang'])) $lang = $_COOKIE['lang'
];
else
$lang = "ar"
;
?>








+




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

http://www.elhawy.com/



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



كود:
<div id="result_box" dir="ltr" style="text-align: left; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12pt; font-family: monospace; padding-top: 3px; padding-bottom: 3px"> <p style="text-align: center"><b><font color="#00FFFF">Browse Elhawy now in many languages</font></b></div> <p align="center"> <a title="English" href="http://translate.google.com/translate?client=tmpg&hl=ar&u=http://www.elhawy.com/&langpair=ar|en"> <img border="0" src="http://www.google.com/images/flags/uk_flag.gif" width="50" height="33"></a> <a title="Italian" href="http://translate.google.com/translate?client=tmpg&hl=ar&u=http://www.elhawy.com/&langpair=ar|it"> <img border="0" src="http://www.google.com/images/flags/it_flag.gif" width="50" height="33"></a> <a title="French" href="http://translate.google.com/translate?client=tmpg&hl=ar&u=http://www.elhawy.com/&langpair=ar|fr"> <img border="0" src="http://www.google.com/images/flags/fr_flag.gif" width="50" height="33"></a> <a title="Spanish" href="http://translate.google.com/translate?client=tmpg&hl=ar&u=http://www.elhawy.com/&langpair=ar|es"> <img border="0" src="http://www.google.com/images/flags/es_flag.gif" width="50" height="33"></a> <a title="German" href="http://translate.google.com/translate?client=tmpg&hl=ar&u=http://www.elhawy.com/&langpair=ar|de"> <img border="0" src="http://www.google.com/images/flags/de_flag.gif" width="50" height="33"></a> </p>


فقط قم باستبدال كلمة elhawy الى دومين موقعك
__________________

 

My Rock

خدام الكل
مدير المنتدى
إنضم
16 مارس 2005
المشاركات
27,317
مستوى التفاعل
3,163
النقاط
113
الإقامة
منقوش على كفيه
شايفة واحد في الكلية بيجي واحد يعلمه القراءة و الكتابة؟
الشرح المنقول بسيط و ممكن عمله بطرق اسهل
لكن لا توجد لدينا اي مخططات لتوسيع خدمتنا لعدة لغات حالياً، يا دوبك باللغة العربية و الوقت لا يكفينا لخدمة الجميع..
 

asmicheal

احبك ربى ياقوتى
عضو مبارك
إنضم
16 يونيو 2009
المشاركات
14,498
مستوى التفاعل
232
النقاط
63
الإقامة
مصر ام الدنيا - القاهرة
شايفة واحد في الكلية بيجي واحد يعلمه القراءة و الكتابة؟
الشرح المنقول بسيط و ممكن عمله بطرق اسهل
لكن لا توجد لدينا اي مخططات لتوسيع خدمتنا لعدة لغات حالياً، يا دوبك باللغة العربية و الوقت لا يكفينا لخدمة الجميع..


:download:

العفو يا روك
عارفة تقنياتك التكنولوجية العالية

انا اللى جاهلة بجد فى الكمبيوتر
فحبيت انقل الصورة بالضبط
 

My Rock

خدام الكل
مدير المنتدى
إنضم
16 مارس 2005
المشاركات
27,317
مستوى التفاعل
3,163
النقاط
113
الإقامة
منقوش على كفيه
كلامي كان لتلطيف الجو فقط لا اكثر.
لكن كما وضحت، لا نملك اي خطط حالية لتوسيع نطاق خدمتنا للغات اخرى..
 

asmicheal

احبك ربى ياقوتى
عضو مبارك
إنضم
16 يونيو 2009
المشاركات
14,498
مستوى التفاعل
232
النقاط
63
الإقامة
مصر ام الدنيا - القاهرة
كلامي كان لتلطيف الجو فقط لا اكثر.
لكن كما وضحت، لا نملك اي خطط حالية لتوسيع نطاق خدمتنا للغات اخرى..


:download:

مفروض اسكت واكتفى بردك الحكيم
لكن
بس
احب
ابلغك
ان كتير غير عرب
يتابعوا منتدى الكنيسة
ويراجعونى بارائهم فى مواضيع اكتبها

فمستخسرة امكانية متابعتهم
لهنا


البيت بيتك يا زعيم

دة مجرد اقتراح

وشكرا لاهتمامك وردك

اةةةةةةةةةةةةةةةةةةةةةةةةة

كل سنة وحضرتك طيب
ونشيط
وسعيد
ومنور منتدى الكنيسة على طول

وناشر لكلمة ربنا بالعالم كلة

 
أعلى