عبد الواحد الحدادي نشر 21 أغسطس 2020 أرسل تقرير نشر 21 أغسطس 2020 مرحبا بكم؛ لديّ سؤال من فضلكم، كيف يمكنني جعل الموقع يعمل بعدة لغات ؟ هل هناك لغات برمجية تقوم بذلك ؟ وما هي هذه اللغات إن وُجدت ؟ وشكراً مسبقاً . 1 اقتباس
2 ماجد قطوسة نشر 21 أغسطس 2020 أرسل تقرير نشر 21 أغسطس 2020 أهلاً بك أخ عبد الواحد . يمكن تنفيذ ذلك بأكثر من طريقة و على أكثر من لغة (javascrept , php) بحيث يقسم الموضوع الى قسمين :- إتاجه اللغة (من اليمين الى اليسار ، أو من اليسار الى اليمين) ترجمة النصوص و الكلمات الموجودة داخل الموقع . بحيث عندما يختار المستخدم خيار اللغة العربية يتم تحويله الى خوارزمية تعكس إتجاه الصفحة بحيث تصبح من اليمين الى اليسار و ذلك من خلال استخدام ال html css و يتم ايضا تحول النصوص الى اللغة العربية . و كذلك يمكنك استخدام إضافات الوردبريس (إذا كنت تعمل على وردبريس ) لإضافة أكثر من لغة على موقعك . و هناك طريقة أخرى تستخدم في المواقع الكبيرة التي تحتوي عدد كبير من البيانات و الصفحات ، و هي طريقة الـ hosting بحيث يكون لديك نسختين من الموقع (نسخة باللغة العربية و نسخة باللغة الانجليزية ) و عندما يختار المستخدم اللغة العربية يتم تحويله الى مسار الموقع باللغة العربية مثال (mywebsite.com/ar) و الانجليزية يكون بالشكل التالي (mywebsite.com/en) لتتعرف أكثر قم بقراءة هذا المقال المنشور على حسوب . 2 اقتباس
0 ياسين عناية نشر 22 سبتمبر 2020 أرسل تقرير نشر 22 سبتمبر 2020 (معدل) على سبيل المثال في php laravel، يتم التعامل مع تغيير لغة الموقع بالإعتماد على قيمة المتغير local الموجود في ملف app.php، و تكون قيمته الإفتراضية en، أي أنه لغة إنجليزية 'locale' => 'en', لتغيير اللغة في الموقع يجب في البداية أن نوفر التصاميم و ملفات الـ css الخاصة باللغة العربية حتى يكون الموقع متوافق و غير عشوائي، سأشرح لك الآن بالخطوات كيف تتم تلك العملية : 1. نقوم بوضع جميع الروابط الخاصة بملفات الـ css العربية و الإنجليزية في ملف خاص و نقوم بفحص قيمة الـ locale و على أساسها نحدد ما سيتم إستدعاءه ( ملفات اللغة العربية أم الإجليزية )، و هنا سوف نستخدم الدالة getlocale وهي خاصة لإستدعاء قيمة الـ locale من ملف app.php @if(app()->getlocale() == 'ar') <link rel="stylesheet" href="{{asset('dist/css/ar.css')}}"> @elseif((app()->getlocale() == 'en') ){ <link rel="stylesheet" href="{{asset('dist/css/en.css')}}"> @endif 2. نقوم بإنشاء route خاص بإختيار اللغة Route::get('/localization/{lang}','LocalizationController@change')->name('lang'); 3. عند طلب هذا الـ route، نقوم بإرسال نوع اللغة المطلوب على شكل string و نقوم بتخزينه في session هنا سنرسل القيمة في الـ route <ul class="treeview-menu"> <li><a href="{{route('local.lang','en')}}"><i class="fa fa-circle-o"></i> English </a></li> <li><a href="{{route('local.lang','ar')}}"><i class="fa fa-circle-o"></i> Arabic </a></li> </ul> هنا يتم تخزين القيمة المرسلة في الـ session <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Session; class LocalizationController extends Controller { public function change($lang = 'en'){ Session::put('local',$lang); return redirect()->back(); } } 4. نقوم بإنشاء middleware، وظيفته هو أن يتحقق من القيمة المرسلة في الـ Session ومن ثم نضع هذه القيمة في ملف الـ app.php للمتغير locale public function handle($request, Closure $next) { if(Session::has('local')){ app()->setlocale(Session::get('local')); } return $next($request); } بالتالي عند طلب هذا الـ route و إرسال قيمة جديدة و تخزينها سيتم تحديث الصفحة بالتالي سيتم إستدعاء ملفات الـ css بناءًا على قيمة الـ locale. تم التعديل في 22 سبتمبر 2020 بواسطة ياسين عناية 1 اقتباس
السؤال
عبد الواحد الحدادي
مرحبا بكم؛
لديّ سؤال من فضلكم، كيف يمكنني جعل الموقع يعمل بعدة لغات ؟ هل هناك لغات برمجية تقوم بذلك ؟ وما هي هذه اللغات إن وُجدت ؟
وشكراً مسبقاً .
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.