هذا هو منفذ Laravel لحزمة ملحق Twig Intl.
يمكن استخدام الحزمة في أي تطبيق قائم على Laravel للتعامل بسرعة مع التدويل من خلال توفير وظائف مساعدة في قوالب Blade أو قاعدة تعليمات Laravel.
استخدام الملحن:
composer require bakame/laravel-intl-formatter
لتحرير التكوين الافتراضي، يجب عليك نشر تكوين الحزمة إلى دليل تكوين التطبيق الخاص بك:
php artisan vendor:publish --provider= " BakameLaravelIntl " --tag=config
سيتم نشر ملف التكوين على config/bakame-intl-formatter.php
في دليل التطبيق الخاص بك.
يرجى الرجوع إلى ملف التكوين للحصول على نظرة عامة على الخيارات المتاحة.
بمجرد التثبيت، توفر الحزمة وظائف المساعدة العامة التالية:
إرجاع اسم البلد بناءً على رمزه المكون من حرفين/خمسة أحرف؛
country name: {{ country_name ( $country , $locale ) } }
echo view ( $ templatePath , [ ' country ' => ' FR ' , ' locale ' => ' NL ' ])-> render ();
// country name: Frankrijk
إرجاع اسم العملة بالنظر إلى رمزها المكون من ثلاثة أحرف؛
currency name: {{ currency_name ( $currency , $locale ) } }
echo view ( $ templatePath , [ ' currency ' => ' JPY ' , ' locale ' => ' PT ' ])-> render ();
// currency name: Iene japonês
إرجاع رمز العملة بالنظر إلى رمزه المكون من ثلاثة أحرف؛
currency symbol: {{ currency_symbol ( $currency , $locale ) } }
echo view ( $ templatePath , [ ' currency ' => ' JPY ' , ' locale ' => ' PT ' ])-> render ();
// currency symbol: JP¥
إرجاع رمز العملة بالنظر إلى رمزه المكون من ثلاثة أحرف؛
language name: {{ language_name ( $language , $locale ) } }
echo view ( $ templatePath , [ ' language ' => ' it ' , ' locale ' => ' nl ' ])-> render ();
// language name: Italiaans
إرجاع رمز العملة بالنظر إلى رمزه المكون من ثلاثة أحرف؛
locale name: {{ locale_name ( $data , $locale ) } }
echo view ( $ templatePath , [ ' data ' => ' sw ' , ' locale ' => ' nl ' ])-> render ();
// locale name: Swahili
إرجاع اسم المنطقة الزمنية بالنظر إلى معرفها؛
timezone name: {{ locale_name ( $data , $locale ) } }
echo view ( $ templatePath , [ ' timezone ' => ' Asia/Tokyo ' , ' locale ' => ' es ' ])-> render ();
// timezone name: hora de Japón (Tokio)
إرجاع معرفات المنطقة الزمنية لرمز البلد المحدد؛
country timezones: {{ implde ( " , " , country_timezones ( $country )) } }
$ content = view ( $ templatePath , [ ' country ' => ' CD ' , ' locale ' => ' es ' ])-> render ();
echo $ content , PHP_EOL ; // country timezones: Africa/Kinshasa, Africa/Lubumbashi
تنسيق رقم كعملة؛
format currency: {{ format_currency ( $amount , $currency , $attrs , $locale ) } }
$ templateData = [
' amount ' => 100.356 ,
' currency ' => ' USD ' ,
' locale ' => ' ES ' ,
' attrs ' => [
' fraction_digit ' => 1 ,
' rounding_mode ' => ' floor ' ,
]
];
echo view ( $ templatePath , $ templateData )-> render ();
// format currency: 100,3 US$
تنسيق رقم؛
format number: {{ format_number ( $number , $locale , $attrs ) } }
$ templateData = [
' number ' => 100.356 ,
' locale ' => ' nl ' ,
' style ' => ' spellout ' ,
' type ' => ' double ' ,
' attrs ' => [
' fraction_digit ' => 1 ,
' rounding_mode ' => ' floor ' ,
]
];
echo view ( $ templatePath , $ templateData )-> render ();
// format number: honderd komma drie
تنسيقات التاريخ والوقت؛
format datetime: {{ format_datetime ( $date , $locale , $timezone , $dateFormat , $timeFormat , $pattern , $calendar ) } }
$ templateData = [
' date ' => ' yesterday ' ,
' dateFormat ' => ' full ' ,
' timeFormat ' => ' full ' ,
' pattern ' => '' ,
' timezone ' => ' Africa/Lubumbashi ' ,
' calendar ' => ' gregorian ' ,
' locale ' => ' sw ' ,
];
echo view ( $ templatePath , $ templateData )-> render ();
// format datetime: Alhamisi, 2 Juni 2022 00:00:00 Saa za Afrika ya Kati
تنسيق جزء التاريخ من التاريخ والوقت؛
format date: {{ format_date ( $date , $locale , $timezone , $dateFormat , $pattern , $calendar ) } }
$ templateData = [
' date ' => ' yesterday ' ,
' dateFormat ' => ' long ' ,
' pattern ' => '' ,
' timezone ' => ' Africa/Lubumbashi ' ,
' calendar ' => ' gregorian ' ,
' locale ' => ' sw ' ,
];
echo view ( $ templatePath , $ templateData )-> render ();
// format date: 2 Juni 2022
تنسيق الجزء الزمني من التاريخ والوقت؛
format time: {{ format_time ( $date , $locale , $timezone , $timeFormat , $pattern , $calendar ) } }
$ templateData = [
' date ' => ' yesterday ' ,
' dateFormat ' => ' full ' ,
' pattern ' => '' ,
' timezone ' => ' Africa/Lubumbashi ' ,
' calendar ' => ' gregorian ' ,
' locale ' => ' sw ' ,
];
echo view ( $ templatePath , $ templateData )-> render ();
// format time: 00:00:00 Saa za Afrika ya Kati
تستخدم كل وظيفة نفس الوسائط بنفس الترتيب الذي تستخدمه مرشحات/وظائف حزمة Twig Extra.
إذا لم يتم تحديد locale
في استدعاءات الوظائف، فستستخدم الوظيفة نتيجة IlluminateSupportFacadesApp::currentLocale()
كقيمة محلية سيتم استخدامها.
في PHP8+، يمكنك استخدام المعلمات المسماة لتحسين استخدامات الوظائف لأنها تميل إلى أن تحتوي على الكثير من الوسائط:
في PHP7.4
<?php
echo format_datetime ( ' 2019-08-07 23:39:12 ' , ' fr ' , null , medium', ' medium ' , '' , ' gregorian ' , ' fr ' );
في PHP8+
<?php
echo format_datetime (date: ' 2019-08-07 23:39:12 ' , locale: ' fr ' );
المساهمات هي موضع ترحيب وسيتم اعتمادها بالكامل. يرجى الاطلاع على المساهمة وقواعد السلوك للحصول على التفاصيل.
المكتبة:
لإجراء الاختبارات، قم بتشغيل الأمر التالي من مجلد المشروع.
$ composer test
إذا اكتشفت أي مشكلات متعلقة بالأمان، فيرجى إرسال بريد إلكتروني إلى [email protected] بدلاً من استخدام أداة تعقب المشكلات.
وظائف مساعدات الحزمة مستوحاة بشكل كبير من الأعمال السابقة التي قام بها Fabien Potencier على Twig Intl Extension.
رخصة معهد ماساتشوستس للتكنولوجيا (MIT). يرجى الاطلاع على ملف الترخيص لمزيد من المعلومات.