تحتوي هذه الحزمة على خاصية HasTranslations
لجعل نماذج Eloquent قابلة للترجمة. يتم تخزين الترجمات بتنسيق json. ليست هناك حاجة إلى طاولة إضافية للاحتفاظ بها.
use Illuminate Database Eloquent Model ;
use Spatie Translatable HasTranslations ;
class NewsItem extends Model
{
use HasTranslations;
// ...
}
بعد تطبيق السمة على النموذج يمكنك القيام بالأشياء التالية:
$ newsItem = new NewsItem ;
$ newsItem
-> setTranslation ( ' name ' , ' en ' , ' Name in English ' )
-> setTranslation ( ' name ' , ' nl ' , ' Naam in het Nederlands ' )
-> save ();
$ newsItem -> name ; // Returns 'Name in English' given that the current app locale is 'en'
$ newsItem -> getTranslation ( ' name ' , ' nl ' ); // returns 'Naam in het Nederlands'
app ()-> setLocale ( ' nl ' );
$ newsItem -> name ; // Returns 'Naam in het Nederlands'
// If you want to query records based on locales, you can use the `whereLocale` and `whereLocales` methods.
NewsItem:: whereLocale ( ' name ' , ' en ' )-> get (); // Returns all news items with a name in English
NewsItem:: whereLocales ( ' name ' , [ ' en ' , ' nl ' ])-> get (); // Returns all news items with a name in English or Dutch
// Returns all news items that has name in English with value `Name in English`
NewsItem:: query ()-> whereJsonContainsLocale ( ' name ' , ' en ' , ' Name in English ' )-> get ();
// Returns all news items that has name in English or Dutch with value `Name in English`
NewsItem:: query ()-> whereJsonContainsLocales ( ' name ' , [ ' en ' , ' nl ' ], ' Name in English ' )-> get ();
// The last argument is the "operand" which you can tweak to achieve something like this:
// Returns all news items that has name in English with value like `Name in...`
NewsItem:: query ()-> whereJsonContainsLocale ( ' name ' , ' en ' , ' Name in% ' , ' like ' )-> get ();
// Returns all news items that has name in English or Dutch with value like `Name in...`
NewsItem:: query ()-> whereJsonContainsLocales ( ' name ' , [ ' en ' , ' nl ' ], ' Name in% ' , ' like ' )-> get ();
نحن نستثمر الكثير من الموارد في إنشاء أفضل الحزم مفتوحة المصدر في فئتها. يمكنك دعمنا عن طريق شراء أحد منتجاتنا المدفوعة.
نحن نقدر بشدة إرسالك لنا بطاقة بريدية من مسقط رأسك، مع ذكر الحزمة (الحزم) التي تستخدمها. ستجد عنواننا على صفحة الاتصال لدينا. ننشر جميع البطاقات البريدية المستلمة على جدار البطاقات البريدية الافتراضية لدينا.
جميع الوثائق متاحة على موقع الوثائق لدينا.
composer test
يرجى الاطلاع على المساهمة للحصول على التفاصيل.
إذا وجدت خطأً يتعلق بالأمان، فيرجى إرسال بريد إلكتروني إلى العنوان [email protected] بدلاً من استخدام أداة تعقب المشكلات.
أنت حر في استخدام هذه الحزمة، ولكن إذا وصلت إلى بيئة الإنتاج الخاصة بك، فإننا نقدر بشدة إرسالك لنا بطاقة بريدية من مسقط رأسك، مع ذكر الحزمة (الحزم) التي تستخدمها.
عنواننا هو: سباتي، كرويكسترات 22، 2018 أنتويرب، بلجيكا.
ننشر جميع البطاقات البريدية المستلمة على موقع شركتنا.
خطرت لنا فكرة تخزين الترجمات بتنسيق json في عمود من محمد سعيد. تم استخدام أجزاء من الملف التمهيدي لحزمة متعددة اللغات الخاصة به في هذا الملف التمهيدي.
رخصة معهد ماساتشوستس للتكنولوجيا (MIT). يرجى الاطلاع على ملف الترخيص لمزيد من المعلومات.