Atheer Bis نشر 3 مارس أرسل تقرير نشر 3 مارس الان انا سويت موقع مايُقارب ٤٠٪ منه وفي نص عملي تم طلبي من قِبل الجهة المستفيدة ان الموقع يكون يدعم اللغتين عربي وانجليزي وانا فقط مسويه بالانجليزي هل في طريقة لاضافة اللغة العربية بدون مااعيد الشغل من البداية ؟ مع العِلم انّ منزله بعض من القوالب اللي تدعم اللغة الانجليزية فقط اقتباس
0 محمد عاطف17 نشر 3 مارس أرسل تقرير نشر 3 مارس فى الاصدار رقم 10 من لارافيل يمكنك استخدام هذا الامر لانشاء ملفات الترجمة php artisan lang:publish سيقوم بانشاء مجلد lang وبداخله مجلد en يحتوى على ملفات الترجمة . ناتى الان لاضافة لغه جديدة لنفترض مثلا اللغة العربية ستقوم بانشاء مجلد جديد يسمى ar فى مجلد lang وتضع نفس الملفات فى مجلد en ولكن تقوم بترجمتها . واذا اردت اضافة ملف جديد يجب اضافة فى جميع المجلدات فى مجلد lang . ثانيا لاستخدام الترجمة نستخدم الدالة __() وبين الاقواس نضع اسم الملف ثم نقطة ثم المفتاح الخاص بالترجمة ..فمثلا {{__('validation.string')}} هنا نخبر لارافيل ان تقوم باستخراج الترجمة من ملف validation و مفتاح يسمى string . لنفترض ان هذا هو ملف ال validation فى مجلد en <?php return [ "string" => "english" ] ?> و هذا هو ملف ال validation فى مجلد ar <?php return [ "string" => "عربى" ] ?> اذا لارافيل سيقوم بطباعة كلمة عربى اذا كانت اللغه العربية و طباعة كلمة english اذا كانت اللغه الانجليزية . ناتى الان كيف سيعرف لارافيل اللغة الان . Route::get('/test/{locale}', function (string $locale) { if (! in_array($locale, ['en', 'ar'])) { abort(400); } App::setLocale($locale); }); هنا فى تعريف ال route نستخدم local حيث هو نوع اللغه فاذا كان العنوان test/en اذا اللغه الانجليزية واذا كان test/ar فاذا اللغه العربية. لذلك لن تقوم باعادة جميع الشغل فقط ملفات ال views ستقوم باستخدام الدالة __() للترجمة وبالنسبة للقوالب ستختلف فقط فى طريقة العرض من اليسار الى اليمين فيجب عليك استخدام قالب يدعم الاتجاهين . 1 اقتباس
0 Taha Khaled2 نشر 3 مارس أرسل تقرير نشر 3 مارس با الاضافه الي التعليق السابق يجب ايضا الترجمه لا تكون علي النصوص الثابته فقط ايضا من المفترض ان تكون علي البيانات التي تاتي من قاعدة البيانات فيجب كل حقل باللغه الانجليزيه اضافة حقل اخر ولاكن للغه العربيه لاحظ الكود التالي public function up() { Schema::create('colors', function (Blueprint $table) { $table->bigIncrements('id'); $table->string('name_en', 50); $table->string('color_code',50)->nullable(); }); } هذه الجدول به حقل واحد فقط لحفظ الاسم فاما سيكون باللغه العربيه او باللغه الانجليزيه فيجب تحدبث الجدول بهذه الطريقه Schema::create('colors', function (Blueprint $table) { $table->bigIncrements('id'); $table->string('name_en', 50); $table->string('name_ar', 50); $table->string('color_code',50)->nullable(); $table->index('name_en'); $table->index('name_ar'); }); الان بعد تعديل الجدول ستلاحظ زياد حقل اخر للغه العربيه فهنا عند اضا لون سيتم كتابة اسمه بكلتا اللغتان وعند المستخدم اختيار اللغه العربيه سيرجع لك البينات باللغه العربيه والعكس صحيح 1 اقتباس
0 Atheer Bis نشر 3 مارس الكاتب أرسل تقرير نشر 3 مارس بتاريخ 8 ساعة قال محمد_عاطف: فى الاصدار رقم 10 من لارافيل يمكنك استخدام هذا الامر لانشاء ملفات الترجمة php artisan lang:publish سيقوم بانشاء مجلد lang وبداخله مجلد en يحتوى على ملفات الترجمة . ناتى الان لاضافة لغه جديدة لنفترض مثلا اللغة العربية ستقوم بانشاء مجلد جديد يسمى ar فى مجلد lang وتضع نفس الملفات فى مجلد en ولكن تقوم بترجمتها . واذا اردت اضافة ملف جديد يجب اضافة فى جميع المجلدات فى مجلد lang . ثانيا لاستخدام الترجمة نستخدم الدالة __() وبين الاقواس نضع اسم الملف ثم نقطة ثم المفتاح الخاص بالترجمة ..فمثلا {{__('validation.string')}} هنا نخبر لارافيل ان تقوم باستخراج الترجمة من ملف validation و مفتاح يسمى string . لنفترض ان هذا هو ملف ال validation فى مجلد en <?php return [ "string" => "english" ] ?> و هذا هو ملف ال validation فى مجلد ar <?php return [ "string" => "عربى" ] ?> اذا لارافيل سيقوم بطباعة كلمة عربى اذا كانت اللغه العربية و طباعة كلمة english اذا كانت اللغه الانجليزية . ناتى الان كيف سيعرف لارافيل اللغة الان . Route::get('/test/{locale}', function (string $locale) { if (! in_array($locale, ['en', 'ar'])) { abort(400); } App::setLocale($locale); }); هنا فى تعريف ال route نستخدم local حيث هو نوع اللغه فاذا كان العنوان test/en اذا اللغه الانجليزية واذا كان test/ar فاذا اللغه العربية. لذلك لن تقوم باعادة جميع الشغل فقط ملفات ال views ستقوم باستخدام الدالة __() للترجمة وبالنسبة للقوالب ستختلف فقط فى طريقة العرض من اليسار الى اليمين فيجب عليك استخدام قالب يدعم الاتجاهين . فين اكتب الامر هذا الامر php artisan lang:publish ؟ 1 اقتباس
0 Mustafa Suleiman نشر 3 مارس أرسل تقرير نشر 3 مارس بتاريخ 8 دقائق مضت قال Atheer Bis: فين اكتب الامر هذا الامر php artisan lang:publish ؟ أي أوامر خاصة بالمشروع نقوم بتنفيذها في منفذ الأوامر (التيرمنال) في مسار المجلد الرئيسي للمشروع الذي يوجد به ملف package.json و composer.json 1 اقتباس
0 Atheer Bis نشر 3 مارس الكاتب أرسل تقرير نشر 3 مارس بتاريخ 2 دقائق مضت قال Mustafa Suleiman: أي أوامر خاصة بالمشروع نقوم بتنفيذها في منفذ الأوامر (التيرمنال) في مسار المجلد الرئيسي للمشروع الذي يوجد به ملف package.json و composer.json جربت ولا ضبط / الملف package.json و composer.json موجودة داخل الـ cm 1 اقتباس
0 Mustafa Suleiman نشر 3 مارس أرسل تقرير نشر 3 مارس بتاريخ 4 دقائق مضت قال Atheer Bis: جربت ولا ضبط / الملف package.json و composer.json موجودة داخل الـ cm لديك مشكلة في مسار متغير البيئة لمترجم php لديك، حيث لا يتم التعرف على أمر php، عليك إضافة مجلد php الذي يقع في المسار التالي: c:\xampp\php إلى System variables كالتالي: نبحث عن System variables في شريط البحث بالأسفل في الويندوز، ثم: ثم غلق منفذ الأوامر في vscode من خلال الضغط على أيقونة سلة المهملات وإعادة تشغيله لقراءة متغيرات البيئة الجديدة. 1 اقتباس
0 Atheer Bis نشر 3 مارس الكاتب أرسل تقرير نشر 3 مارس (معدل) جميل شكرا لك تم التعديل في 3 مارس بواسطة Atheer Bis اقتباس
السؤال
Atheer Bis
الان انا سويت موقع مايُقارب ٤٠٪ منه وفي نص عملي تم طلبي من قِبل الجهة المستفيدة ان الموقع يكون يدعم اللغتين عربي وانجليزي وانا فقط مسويه بالانجليزي
هل في طريقة لاضافة اللغة العربية بدون مااعيد الشغل من البداية ؟ مع العِلم انّ منزله بعض من القوالب اللي تدعم اللغة الانجليزية فقط
7 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.