اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

لا يوجد كود محدد يقوم بعمل هذا الشيء لجميع المواقع, بل أنت تقوم بتصميم الموقع بما يتناسب مع اتجاه الموقع, فمثلا اذا كان الموقع باللغة العربية نحتاج أن نجعل اتجاه الكتابة من اليمين الى اليسار باستخدام css كالتالي

html{
	direction:rtl
}

ثم بعد ذلك نحتاج أن نقوم بتصميم العناصر ووضع تنسيقاتها بما يتناسب مع شكل التصميم ولغة التصميم, لو كان لديك موقع باللغة الانجليزية وتحتاج أن تحوله للغة العربية تحتاج أن تغير الكثير في تنسيقاته بحيث تحول التنسيقات التالية

float:right		=> float:left والعكس
margin-right	=> margin-left والعكس

وبالطبع تستطيع وضع التنسيقات التي تريد والتي تراها مناسبة

  • 0
نشر

هناك العديد من الطرق لعمل ذلك :

إما عبر إستخدام الصفة dir في عناصر HTML

أو عن طريق إستخدام الخاصية direction في CSS

أو حتى عن طريق JavaScript ليتحقق من لغة محتوى عناصر HTML وإضافة الكود المناسب بناءً على لغة نص العنصر

لكن إذا كان الموقع يحتوي على لغات متعددة فيجب أن يكون الأمر تلقائياً بسحب لغة النص الموجود في العنصر

في HTML5 والذي هي أحدث نسخة من HTML يمكنك إستخدام هذه الخاصية وإستخدام هذا الكود

<html dir="auto">

والمتصفح سيقوم تلقائياً بالتعرف على نوع النص الموجود ويقوم بتحديد الإتجاه بناءً على أول نص عناصر HTML

  • 0
نشر

بالنسبة لتغير إتجاه عرض الموقع (من اليمين إلى اليسار أو من اليسار إلى اليمين) فيمكن عمل ذلك من خلال خاصية direction في CSS كالتالي:

/* لتغير إتجاه كامل الموقع */
html {
	direction: rtl; /* Right To Left */
}

/* كما يمكن تغير إتجاه عنصر معين فقط كالتالي*/
.post-container {
	direction: rtl;
}

عند إستخدام الخاصية السابقة قد تواجه الكثير من المشاكل والأخطاء في الموقع، وذلك بسبب خواص مثل margin و padding و float والتي يكون لها إتجاه معين (يمين أو يسار) وعند تغير إتجاه الموقع من خلال خاصية direction فإنك يجب أن تقوم بتغير قيمة هذه الخواص وغيرها من الخواص يدويًا وسيختلف هذا الأمر بالطبع من موقع إلى آخر، إن لم يكن لديك خبرة بالأمور البرمجة فيمكنك أن تقوم بتوظيف مستقل من أحد مواقع العمل الحر ليقوم بتغير إتجاه الموقع.

أما بالنسبة إلى تغير لغة الموقع (من العربية إلى الإنجليزية على سبيل المثال)، فيجب أن تقوم بعمل الكثير من التغيرات أولها أن تقوم بتجميع كل نصوص الموقع في ملف json مثلًا أو في قاعدة بيانات، وتقوم بعمل مثل هذا الملف مرة أخرى بلغة مختلفة بشرط أن يتفق الملفان في المفاتيح، كالتالي:

// en.json
{
    "website title": "Website Name",
    "description": "a blog about technology"
}
// ar.json
{
    "website title": "اسم الموقع",
    "description": "مدونة تتحدث حول التكنولوجيا"
}

يوجد العديد من المكتبات والحزم التي تقوم بعمل هذا الأمر ويختلف الأمر حسب التقنيات المستخدمة في إنشاء الموقع (ووردبريس، Laravel، Express.js)، ومن أمثلة هذه الحزم والمكتبات:

  • react-i18next
  • laravel-localization
  • multilingual 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...