اعمل على مشروع كبير وظهرت الحاجة لادخال لغات جديدة (من اليسار الى اليمين) فهل من طريقة سهلة لتحويل التصميم بدون الكثير من العمل ؟؟
مساعدة - موقع متعدد اللغات
هديه منى لك :)
ضع كود ال css الخاص بك ثم علم على كل من
swap_ltr_rtl_in_url
swap_left_right_in_url
ثم RUN ليتم تحويل الكود الخاص بال css
أسهل وأسرع طريقة وجدتها هي الانعكاس و لكن تحتاج بعض التعديلات
حيث تصنع كلاس وسمه reflect أو flip مثلا ثم استدعه من أجل الصفحة أو من أجل الأجزاء التي تتطلب الانعكاس
مع عكس النصوص مرتين لأن لتصحيح انعكاس النصوص
وكذلك الترجمة فقد جعلت الترجمة تتحول بدون عمل تحديث أو الانتقال لمجلد آخر
أي نفس التصميم تماما
وقمت بتطبيقها على الموقع التالي :
فالقالب أجنبي ولكني قمت بتركيبه على مشروع ASP.Net و عملت مسألة اللغتين و قلب الاتجاهات
الكلاسات هي
.flip {
-moz-transform: scaleX(-1);
-o-transform: scaleX(-1);
-webkit-transform: scaleX(-1);
transform: scaleX(-1);
filter: FlipH;
-ms-filter: "FlipH";
/*-webkit-transition: all 1s;
-moz-transition: all 1s;
transition: all 1s;*/
}
.flip-text {
-moz-transform: scaleX(-1);
-o-transform: scaleX(-1);
-webkit-transform: scaleX(-1);
transform: scaleX(-1);
filter: FlipH;
-ms-filter: "FlipH";
text-align: right;
display: inline-block;
}
جرب هذا:
دوما استخدم ملفات ستايل css منفصلة ، وعند تغيير اللغة ضمن ملف css خاص باللغة او على الاقل خاص بنوعية اللغة مثلا للغات من اليسار الى اليمين يكون ملف الستايل style-ltr.css وللغات من اليمين لليسار style-rtl.css.
استخدم متغيرات للغة بدلا من كتابة الكلام مباشرة داخل html ، يمكنك استخدام نظام للقوالب وذلك لكتابة متغيرات اللغة وبعدها التعويض عنها بقيمها الحقيقية ، مثلا يمكن استخدام mustache او smarty او استخدام ملفات منفصلة للغة تحتوي على المتغيرات او استخدام مكتبات خاصة بذلك.
هذا ما يدور في ذهني الان.
هناك أيضا طريقة أخرى بدل استخدام mustache أو smarty وهي باستخدام أكواد الترجمة المدمجة مع ملفات الترجمة يعني بدل ما يكتب التالي
<h1>text here</h1>
يكتب
<h1> <?php _e('text here'); ?> </h1>
مع إعداد ملفات الترجمة، هذه هي الطريقة المستعملة في ووردبريس وهي طريقة عامة في php لتخصيص المواقع للترجمة حسب الطلب
التعليقات