السلام عليكم ورحمة الله وبركاته اخواني ...
نعم ... فكرة انشاء كلاس لكائن متعدد القيم , موقع متعدد اللغات او موقع متعدد الستايل نفس حركة منتديات vb بخصوص القائمة المنسدلة التي يتم منها تغيير لغة الموقع او الستايل اسفل صفحة المنتدى , لكن بدنا نعملها بدون قواعد بيانات ...
الفكرة نظريا بخصوص تعدد اللغات :
نقوم بتعمل مجلد فيه عدة ملفات كل ملف خاص بلغة ... ونقوم بتعريف جميع المصطلحات الي بدنا ياها داخل ملف اللغة + اتجاه الخط ...
بعدها نقوم بتعريف متغير داخل صفحة الاتصال في السكربت او البرنامج او داخل جدول الاتصال في قاعدة البيانات ( بس هون ممكن نستعمل قاعدة البيانات ) .
طبعا بعد تعريف المتغير نقوم بعمل انكلود لمتغير اللغة في كل صفحة .
لحد هون كلشي تمام وفش اي مشكلة ... لكن بدنا نعمل حساب انو الوحيد الي رح يقدر يعدل متغير اللغة ان كان عن طريق ملف الاتصال او قاعدة البيانات هو المدير فقط !!
تطبيق الفكرة برمجيا :
1- عمل مجلد نسميه lang وبداخله نعمل ملف جديد ونسمي مثلا arabic.php واسا بدنا نعرف بعض المتغيرات داخل الملف لتوضيح الفكرة للجميع :
كود PHP:
<?php
$lang_charset = "windows-1256";
$lang_text_dir = "rtl";
define( "LANG_homepage" , "الرئيسية" );
define( "LANG_login" , "تسجيل دخول" );
define( "LANG_logout" , "تسجيل خروج" );
?>
2- تعريف متغير اللغة في ملف الارتباط او في قاعدة البيانات :
- في ملف الارتباط :
كود PHP:
$lang = "lang/arabic.php";
- في قاعدة البيانات :
كود PHP:
@mysql_query("INSERT INTO db_config_table(lang)" . "VALUES('arabic.php')") OR die ( mysql_error() );
3- احتواء ملف اللغة في كل ملف :
- بحالة ملف ارتباط :
كود PHP:
include_once( "lang/" . $lang );
- بحالة قاعدة البيانات :
كود PHP:
$lang = mysql_query("SELECT lang FROM db_config_table");
include_once( "lang/" $lang );
------------------------------------------
السؤال الي بطرح نفسو اسا : كيف ممكن نخلي اي مستخدم يغير متغير اللغة بكيفو بدون ما يأثر على باقي الزوار وبدون استخدام جدول خاص باللغة في قاعدة البيانات ؟؟!!!
ملاحظة : البعض منكم ممكن يقول ممكن هالشي بواسطة قاعدة البيانات وبدون استعمال جدول مخصص وانما نستعمل حقل واحد فقط !! اقول هالشي صعب ليش ؟؟ لانو لو اعطينا لكل زائر يغير قيمة حقل ملف اللغة في القاعدة فعدنها سوف يدخل كل زائر ويختار اللغة العربية ... بعدها يجي اجنبي يختار انجليزي يرجع العربي بعد ساعة يلاقي اللغة انجليزي !! هذه اكيد مسخرة .
اقتراحي النظري : عند دخول زائر جديد يسجل له الموقع جلسة جديدة وينزل على جهازه ملف كوكيز فيه رقم الجلسة ومتغي اللغة الاخير ... بحيث لما يدخل كل مرة على الموقع تكون له لغتو الخاصة الا اذا تم حذف الكوكي .
وطبعا فكرة الستايل المتعدد شبيهة %90 تقريبا نفس المشكلة ونفس الحلول ان شاء الله سوف تكون .
وبعد ما عرضت عليكم الفكرة مع التطبيق مع المشكلة مع الاقتراح ... هاتو لنشوف نقاش حلو وبالاخر نطلع بنتيجة وكلاس مشترك وانا دخلت شبكة مامبو وكنت افكر رح الاقي حل لا ما لقيت ... يلا نبدع هون ونعمل اشي حلو ...
بستنا الاقتراحات والحلول ...
سلامات يا شطار